From c1d8729ee3ca9c97d25bfd30fb1fda6b01e1810f Mon Sep 17 00:00:00 2001 From: gontard Date: Tue, 26 Sep 2023 08:16:23 +0200 Subject: [PATCH 0001/1301] Unset notify configuration as required --- .changelog/33624.txt | 3 + .../service/cognitoidp/risk_configuration.go | 4 +- .../cognitoidp/risk_configuration_test.go | 80 +++++++++++++++++++ 3 files changed, 85 insertions(+), 2 deletions(-) create mode 100644 .changelog/33624.txt diff --git a/.changelog/33624.txt b/.changelog/33624.txt new file mode 100644 index 000000000000..5189cc9403ef --- /dev/null +++ b/.changelog/33624.txt @@ -0,0 +1,3 @@ +```release-note:bug +resource/aws_cognito_risk_configuration: fix to make the notify setting optional. +``` diff --git a/internal/service/cognitoidp/risk_configuration.go b/internal/service/cognitoidp/risk_configuration.go index 51f6dc7f1726..4509e47a9d09 100644 --- a/internal/service/cognitoidp/risk_configuration.go +++ b/internal/service/cognitoidp/risk_configuration.go @@ -121,7 +121,7 @@ func ResourceRiskConfiguration() *schema.Resource { }, "notify_configuration": { Type: schema.TypeList, - Required: true, + Optional: true, MaxItems: 1, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ @@ -207,7 +207,7 @@ func ResourceRiskConfiguration() *schema.Resource { }, "source_arn": { Type: schema.TypeString, - Required: true, + Optional: true, ValidateFunc: verify.ValidARN, }, }, diff --git a/internal/service/cognitoidp/risk_configuration_test.go b/internal/service/cognitoidp/risk_configuration_test.go index f19c22648b41..c6fe4801a153 100644 --- a/internal/service/cognitoidp/risk_configuration_test.go +++ b/internal/service/cognitoidp/risk_configuration_test.go @@ -137,6 +137,61 @@ func TestAccCognitoIDPRiskConfiguration_compromised(t *testing.T) { }) } +func TestAccCognitoIDPRiskConfiguration_takeover_without_notification(t *testing.T) { + ctx := acctest.Context(t) + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_cognito_risk_configuration.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t); testAccPreCheckIdentityProvider(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, cognitoidentityprovider.EndpointsID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckRiskConfigurationDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccRiskConfigurationConfig_takeover_without_notification(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckRiskConfigurationExists(ctx, resourceName), + /* + resource "aws_cognito_risk_configuration" "test" { + user_pool_id = aws_cognito_user_pool.test.id + + account_takeover_risk_configuration { + actions { + medium_action { + event_action = "MFA_REQUIRED" + notify = false + } + high_action { + event_action = "BLOCK" + notify = false + } + } + } + } + */ + resource.TestCheckResourceAttrPair(resourceName, "user_pool_id", "aws_cognito_user_pool.test", "id"), + resource.TestCheckResourceAttr(resourceName, "account_takeover_risk_configuration.#", "1"), + resource.TestCheckResourceAttr(resourceName, "account_takeover_risk_configuration.0.actions.#", "1"), + resource.TestCheckResourceAttr(resourceName, "account_takeover_risk_configuration.0.actions.0.medium_action.#", "1"), + resource.TestCheckResourceAttr(resourceName, "account_takeover_risk_configuration.0.actions.0.medium_action.0.event_action", "MFA_REQUIRED"), + resource.TestCheckResourceAttr(resourceName, "account_takeover_risk_configuration.0.actions.0.medium_action.0.notify", "false"), + resource.TestCheckResourceAttr(resourceName, "account_takeover_risk_configuration.0.actions.0.high_action.#", "1"), + resource.TestCheckResourceAttr(resourceName, "account_takeover_risk_configuration.0.actions.0.high_action.0.event_action", "BLOCK"), + resource.TestCheckResourceAttr(resourceName, "account_takeover_risk_configuration.0.actions.0.high_action.0.notify", "false"), + resource.TestCheckResourceAttr(resourceName, "compromised_credentials_risk_configuration.#", "0"), + resource.TestCheckResourceAttr(resourceName, "risk_exception_configuration.#", "0"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + func TestAccCognitoIDPRiskConfiguration_disappears(t *testing.T) { ctx := acctest.Context(t) rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -407,3 +462,28 @@ resource "aws_cognito_user_pool" "test" { } `, rName) } + +func testAccRiskConfigurationConfig_takeover_without_notification(rName string) string { + return fmt.Sprintf(` +resource "aws_cognito_risk_configuration" "test" { + user_pool_id = aws_cognito_user_pool.test.id + + account_takeover_risk_configuration { + actions { + medium_action { + event_action = "MFA_REQUIRED" + notify = false + } + high_action { + event_action = "BLOCK" + notify = false + } + } + } +} + +resource "aws_cognito_user_pool" "test" { + name = %[1]q +} +`, rName) +} From def6cbe7763fc62d61c64a39a60e653202ff1268 Mon Sep 17 00:00:00 2001 From: Rajpal Yalla Date: Mon, 30 Jun 2025 14:28:29 -0500 Subject: [PATCH 0002/1301] add deletion protection to dynamodb table resource replica --- .changelog/43237.txt | 3 + internal/service/dynamodb/table.go | 38 +++ internal/service/dynamodb/table_test.go | 241 +++++++++++--------- website/docs/r/dynamodb_table.html.markdown | 3 +- 4 files changed, 171 insertions(+), 114 deletions(-) create mode 100644 .changelog/43237.txt diff --git a/.changelog/43237.txt b/.changelog/43237.txt new file mode 100644 index 000000000000..642114586fe2 --- /dev/null +++ b/.changelog/43237.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/aws_dynamodb_table: Add `deletion_protection_enabled` argument to `replica` block +``` diff --git a/internal/service/dynamodb/table.go b/internal/service/dynamodb/table.go index 6db10c007b88..978b30e3328e 100644 --- a/internal/service/dynamodb/table.go +++ b/internal/service/dynamodb/table.go @@ -305,6 +305,11 @@ func resourceTable() *schema.Resource { Optional: true, Default: false, }, + "deletion_protection_enabled": { + Type: schema.TypeBool, + Optional: true, + Default: false, + }, names.AttrPropagateTags: { Type: schema.TypeBool, Optional: true, @@ -1449,6 +1454,12 @@ func createReplicas(ctx context.Context, conn *dynamodb.Client, tableName string if err = updatePITR(ctx, conn, tableName, tfMap["point_in_time_recovery"].(bool), nil, tfMap["region_name"].(string), timeout); err != nil { return fmt.Errorf("updating replica (%s) point in time recovery: %w", tfMap["region_name"].(string), err) } + + if v, ok := tfMap["deletion_protection_enabled"].(bool); ok { + if err = updateReplicaDeletionProtection(ctx, conn, tableName, tfMap["region_name"].(string), v, timeout); err != nil { + return fmt.Errorf("updating replica (%s) deletion protection: %w", tfMap["region_name"].(string), err) + } + } } return nil @@ -1559,6 +1570,24 @@ func updatePITR(ctx context.Context, conn *dynamodb.Client, tableName string, en return nil } +func updateReplicaDeletionProtection(ctx context.Context, conn *dynamodb.Client, tableName, region string, enabled bool, timeout time.Duration) error { + log.Printf("[DEBUG] Updating DynamoDB deletion protection to %v (%s)", enabled, region) + input := dynamodb.UpdateTableInput{ + TableName: aws.String(tableName), + DeletionProtectionEnabled: aws.Bool(enabled), + } + optFn := func(o *dynamodb.Options) { o.Region = region } + if _, err := conn.UpdateTable(ctx, &input, optFn); err != nil { + return fmt.Errorf("updating deletion protection: %w", err) + } + + if _, err := waitReplicaActive(ctx, conn, tableName, region, timeout, replicaPropagationDelay); err != nil { + return fmt.Errorf("waiting for deletion protection update: %w", err) + } + + return nil +} + func updateReplica(ctx context.Context, conn *dynamodb.Client, d *schema.ResourceData) error { oRaw, nRaw := d.GetChange("replica") o := oRaw.(*schema.Set) @@ -1633,6 +1662,14 @@ func updateReplica(ctx context.Context, conn *dynamodb.Client, d *schema.Resourc break } + // just update deletion protection + if ma["deletion_protection_enabled"].(bool) != mr["deletion_protection_enabled"].(bool) { + if err := updateReplicaDeletionProtection(ctx, conn, d.Id(), ma["region_name"].(string), ma["deletion_protection_enabled"].(bool), d.Timeout(schema.TimeoutUpdate)); err != nil { + return fmt.Errorf("updating replica (%s) deletion protection: %w", ma["region_name"].(string), err) + } + break + } + // nothing changed, assuming propagate_tags changed so do nothing here break } @@ -1985,6 +2022,7 @@ func enrichReplicas(ctx context.Context, conn *dynamodb.Client, arn, tableName s tfMap[names.AttrStreamARN] = aws.ToString(table.LatestStreamArn) tfMap["stream_label"] = aws.ToString(table.LatestStreamLabel) + tfMap["deletion_protection_enabled"] = table.DeletionProtectionEnabled if table.SSEDescription != nil { tfMap[names.AttrKMSKeyARN] = aws.ToString(table.SSEDescription.KMSMasterKeyArn) diff --git a/internal/service/dynamodb/table_test.go b/internal/service/dynamodb/table_test.go index 058cedc76f5e..6df268f53b8c 100644 --- a/internal/service/dynamodb/table_test.go +++ b/internal/service/dynamodb/table_test.go @@ -22,7 +22,6 @@ import ( sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" "github.com/hashicorp/terraform-plugin-testing/knownvalue" - "github.com/hashicorp/terraform-plugin-testing/plancheck" "github.com/hashicorp/terraform-plugin-testing/statecheck" "github.com/hashicorp/terraform-plugin-testing/terraform" "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" @@ -1524,11 +1523,6 @@ func TestAccDynamoDBTable_GsiUpdateNonKeyAttributes_emptyPlan(t *testing.T) { resource.TestCheckTypeSetElemAttr(resourceName, "global_secondary_index.*.non_key_attributes.*", "AnotherAttribute"), resource.TestCheckTypeSetElemAttr(resourceName, "global_secondary_index.*.non_key_attributes.*", "RandomAttribute"), ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), - }, - }, }, { ResourceName: resourceName, @@ -1536,15 +1530,9 @@ func TestAccDynamoDBTable_GsiUpdateNonKeyAttributes_emptyPlan(t *testing.T) { ImportStateVerify: true, }, { - Config: testAccTableConfig_gsiMultipleNonKeyAttributes(rName, reorderedAttributes), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - PostApplyPostRefresh: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - }, + Config: testAccTableConfig_gsiMultipleNonKeyAttributes(rName, reorderedAttributes), + PlanOnly: true, + ExpectNonEmptyPlan: false, }, }, }) @@ -1569,11 +1557,6 @@ func TestAccDynamoDBTable_TTL_enabled(t *testing.T) { Check: resource.ComposeAggregateTestCheckFunc( testAccCheckInitialTableExists(ctx, resourceName, &table), ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), - }, - }, ConfigStateChecks: []statecheck.StateCheck{ statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("ttl"), knownvalue.ListExact([]knownvalue.Check{ knownvalue.ObjectExact(map[string]knownvalue.Check{ @@ -1589,15 +1572,9 @@ func TestAccDynamoDBTable_TTL_enabled(t *testing.T) { ImportStateVerify: true, }, { - Config: testAccTableConfig_timeToLive_unset(rName), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - PostApplyPostRefresh: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - }, + Config: testAccTableConfig_timeToLive_unset(rName), + PlanOnly: true, + ExpectNonEmptyPlan: false, }, }, }) @@ -1622,11 +1599,6 @@ func TestAccDynamoDBTable_TTL_disabled(t *testing.T) { Check: resource.ComposeAggregateTestCheckFunc( testAccCheckInitialTableExists(ctx, resourceName, &table), ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), - }, - }, ConfigStateChecks: []statecheck.StateCheck{ statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("ttl"), knownvalue.ListExact([]knownvalue.Check{ knownvalue.ObjectExact(map[string]knownvalue.Check{ @@ -1642,15 +1614,9 @@ func TestAccDynamoDBTable_TTL_disabled(t *testing.T) { ImportStateVerify: true, }, { - Config: testAccTableConfig_timeToLive_unset(rName), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - PostApplyPostRefresh: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - }, + Config: testAccTableConfig_timeToLive_unset(rName), + PlanOnly: true, + ExpectNonEmptyPlan: false, }, }, }) @@ -2135,11 +2101,6 @@ func TestAccDynamoDBTable_Replica_single(t *testing.T) { acctest.CheckResourceAttrRegionalARNFormat(ctx, resourceName, names.AttrARN, "dynamodb", "table/{name}"), testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{}), ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), - }, - }, ConfigStateChecks: []statecheck.StateCheck{ statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ knownvalue.ObjectExact(map[string]knownvalue.Check{ @@ -2166,11 +2127,6 @@ func TestAccDynamoDBTable_Replica_single(t *testing.T) { Check: resource.ComposeAggregateTestCheckFunc( testAccCheckInitialTableExists(ctx, resourceName, &conf), ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), - }, - }, ConfigStateChecks: []statecheck.StateCheck{ statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{})), }, @@ -2180,11 +2136,6 @@ func TestAccDynamoDBTable_Replica_single(t *testing.T) { Check: resource.ComposeAggregateTestCheckFunc( testAccCheckInitialTableExists(ctx, resourceName, &conf), ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), - }, - }, ConfigStateChecks: []statecheck.StateCheck{ statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ knownvalue.ObjectExact(map[string]knownvalue.Check{ @@ -2201,15 +2152,8 @@ func TestAccDynamoDBTable_Replica_single(t *testing.T) { }, }, { - Config: testAccTableConfig_replica1(rName), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - PostApplyPostRefresh: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - }, + Config: testAccTableConfig_replica1(rName), + PlanOnly: true, }, }, }) @@ -3190,6 +3134,66 @@ func TestAccDynamoDBTable_Replica_tagsUpdate(t *testing.T) { }) } +func TestAccDynamoDBTable_Replica_deletionProtection(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var conf awstypes.TableDescription + resourceName := "aws_dynamodb_table.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccTableConfig_replicaDeletionProtection(rName, true), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + resource.TestCheckResourceAttr(resourceName, "replica.0.deletion_protection_enabled", acctest.CtTrue), + resource.TestCheckResourceAttr(resourceName, "replica.1.deletion_protection_enabled", acctest.CtTrue), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + Config: testAccTableConfig_replicaDeletionProtection(rName, false), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + resource.TestCheckResourceAttr(resourceName, "replica.0.deletion_protection_enabled", acctest.CtFalse), + resource.TestCheckResourceAttr(resourceName, "replica.1.deletion_protection_enabled", acctest.CtFalse), + ), + }, + { + Config: testAccTableConfig_replicaDeletionProtection(rName, true), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + resource.TestCheckResourceAttr(resourceName, "replica.0.deletion_protection_enabled", acctest.CtTrue), + resource.TestCheckResourceAttr(resourceName, "replica.1.deletion_protection_enabled", acctest.CtTrue), + ), + }, + { + Config: testAccTableConfig_replicaDeletionProtection(rName, false), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + resource.TestCheckResourceAttr(resourceName, "replica.0.deletion_protection_enabled", acctest.CtFalse), + resource.TestCheckResourceAttr(resourceName, "replica.1.deletion_protection_enabled", acctest.CtFalse), + ), + }, + }, + }) +} + func TestAccDynamoDBTable_tableClassInfrequentAccess(t *testing.T) { ctx := acctest.Context(t) var table awstypes.TableDescription @@ -3248,11 +3252,6 @@ func TestAccDynamoDBTable_tableClassExplicitDefault(t *testing.T) { testAccCheckInitialTableExists(ctx, resourceName, &table), resource.TestCheckResourceAttr(resourceName, "table_class", "STANDARD"), ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), - }, - }, }, { ResourceName: resourceName, @@ -3260,15 +3259,8 @@ func TestAccDynamoDBTable_tableClassExplicitDefault(t *testing.T) { ImportStateVerify: true, }, { - Config: testAccTableConfig_class(rName, "STANDARD"), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - PostApplyPostRefresh: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - }, + Config: testAccTableConfig_class(rName, "STANDARD"), + PlanOnly: true, }, }, }) @@ -3339,27 +3331,13 @@ func TestAccDynamoDBTable_tableClass_migrate(t *testing.T) { Config: testAccTableConfig_basic(rName), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckInitialTableExists(ctx, resourceName, &table), + resource.TestCheckResourceAttr(resourceName, "table_class", ""), ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), - }, - }, - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("table_class"), knownvalue.StringExact("")), - }, }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, Config: testAccTableConfig_basic(rName), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - PostApplyPostRefresh: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - }, + PlanOnly: true, }, }, }) @@ -4603,7 +4581,7 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = data.aws_region.alternate.region + region_name = data.aws_region.alternate.name } } `, rName)) @@ -4634,7 +4612,7 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = data.aws_region.alternate.region + region_name = data.aws_region.alternate.name } } `, rName, sseEnabled)) @@ -4674,7 +4652,7 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = data.aws_region.alternate.region + region_name = data.aws_region.alternate.name kms_key_arn = aws_kms_key.awsalternate.arn } @@ -4717,11 +4695,11 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = data.aws_region.alternate.region + region_name = data.aws_region.alternate.name } replica { - region_name = data.aws_region.third.region + region_name = data.aws_region.third.name } server_side_encryption { @@ -4796,12 +4774,12 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = data.aws_region.alternate.region + region_name = data.aws_region.alternate.name kms_key_arn = aws_kms_key.%[2]s.arn } replica { - region_name = data.aws_region.third.region + region_name = data.aws_region.third.name kms_key_arn = aws_kms_key.%[3]s.arn } @@ -4848,12 +4826,12 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = data.aws_region.alternate.region + region_name = data.aws_region.alternate.name point_in_time_recovery = %[3]t } replica { - region_name = data.aws_region.third.region + region_name = data.aws_region.third.name point_in_time_recovery = %[4]t } } @@ -4914,13 +4892,13 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = data.aws_region.alternate.region + region_name = data.aws_region.alternate.name point_in_time_recovery = %[3]t kms_key_arn = aws_kms_key.alternate.arn } replica { - region_name = data.aws_region.third.region + region_name = data.aws_region.third.name point_in_time_recovery = %[4]t kms_key_arn = aws_kms_key.third.arn } @@ -4953,12 +4931,12 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = data.aws_region.alternate.region + region_name = data.aws_region.alternate.name propagate_tags = %[4]t } replica { - region_name = data.aws_region.third.region + region_name = data.aws_region.third.name propagate_tags = %[5]t } @@ -4996,11 +4974,11 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = data.aws_region.alternate.region + region_name = data.aws_region.alternate.name } replica { - region_name = data.aws_region.third.region + region_name = data.aws_region.third.name } } `, rName)) @@ -5258,7 +5236,7 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = data.aws_region.alternate.region + region_name = data.aws_region.alternate.name } stream_enabled = %[2]t @@ -5267,6 +5245,43 @@ resource "aws_dynamodb_table" "test" { `, rName, streamEnabled, viewType)) } +func testAccTableConfig_replicaDeletionProtection(rName string, deletionProtection bool) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" +} + +data "aws_region" "third" { + provider = "awsthird" +} + +resource "aws_dynamodb_table" "test" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" + + attribute { + name = "TestTableHashKey" + type = "S" + } + + replica { + region_name = data.aws_region.alternate.name + deletion_protection_enabled = %[2]t + } + + replica { + region_name = data.aws_region.third.name + deletion_protection_enabled = %[2]t + } +} +`, rName, deletionProtection)) +} + func testAccTableConfig_lsi(rName, lsiName string) string { return fmt.Sprintf(` resource "aws_dynamodb_table" "test" { diff --git a/website/docs/r/dynamodb_table.html.markdown b/website/docs/r/dynamodb_table.html.markdown index 0402f202566d..bfc068992cba 100644 --- a/website/docs/r/dynamodb_table.html.markdown +++ b/website/docs/r/dynamodb_table.html.markdown @@ -159,7 +159,7 @@ resource "aws_dynamodb_table" "example" { } resource "aws_dynamodb_tag" "example" { - resource_arn = replace(aws_dynamodb_table.example.arn, data.aws_region.current.region, data.aws_region.alternate.name) + resource_arn = replace(aws_dynamodb_table.example.arn, data.aws_region.current.name, data.aws_region.alternate.name) key = "Architect" value = "Gigi" } @@ -264,6 +264,7 @@ The following arguments are optional: **Note:** This attribute will _not_ be populated with the ARN of _default_ keys. **Note:** Changing this value will recreate the replica. * `point_in_time_recovery` - (Optional) Whether to enable Point In Time Recovery for the replica. Default is `false`. +* `deletion_protection_enabled` - (Optional) Whether deletion protection is enabled (true) or disabled (false) on the replica. Default is `false`. * `propagate_tags` - (Optional) Whether to propagate the global table's tags to a replica. Default is `false`. Changes to tags only move in one direction: from global (source) to replica. From d77170354ad757db39e474f999e52f16a37edf8a Mon Sep 17 00:00:00 2001 From: Rajpal Yalla Date: Mon, 30 Jun 2025 14:33:06 -0500 Subject: [PATCH 0003/1301] update PR number for changelog file --- .changelog/{43237.txt => 43240.txt} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .changelog/{43237.txt => 43240.txt} (100%) diff --git a/.changelog/43237.txt b/.changelog/43240.txt similarity index 100% rename from .changelog/43237.txt rename to .changelog/43240.txt From 33ad79dbeeb148014b039d3752264e703ee06101 Mon Sep 17 00:00:00 2001 From: Rajpal Yalla Date: Mon, 30 Jun 2025 15:34:17 -0500 Subject: [PATCH 0004/1301] remove unintened changes --- internal/service/dynamodb/table_test.go | 149 ++++++++++++++++++------ 1 file changed, 113 insertions(+), 36 deletions(-) diff --git a/internal/service/dynamodb/table_test.go b/internal/service/dynamodb/table_test.go index 6df268f53b8c..3ff36efb0b90 100644 --- a/internal/service/dynamodb/table_test.go +++ b/internal/service/dynamodb/table_test.go @@ -22,6 +22,7 @@ import ( sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" "github.com/hashicorp/terraform-plugin-testing/statecheck" "github.com/hashicorp/terraform-plugin-testing/terraform" "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" @@ -1523,6 +1524,11 @@ func TestAccDynamoDBTable_GsiUpdateNonKeyAttributes_emptyPlan(t *testing.T) { resource.TestCheckTypeSetElemAttr(resourceName, "global_secondary_index.*.non_key_attributes.*", "AnotherAttribute"), resource.TestCheckTypeSetElemAttr(resourceName, "global_secondary_index.*.non_key_attributes.*", "RandomAttribute"), ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, }, { ResourceName: resourceName, @@ -1530,9 +1536,15 @@ func TestAccDynamoDBTable_GsiUpdateNonKeyAttributes_emptyPlan(t *testing.T) { ImportStateVerify: true, }, { - Config: testAccTableConfig_gsiMultipleNonKeyAttributes(rName, reorderedAttributes), - PlanOnly: true, - ExpectNonEmptyPlan: false, + Config: testAccTableConfig_gsiMultipleNonKeyAttributes(rName, reorderedAttributes), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, }, }, }) @@ -1557,6 +1569,11 @@ func TestAccDynamoDBTable_TTL_enabled(t *testing.T) { Check: resource.ComposeAggregateTestCheckFunc( testAccCheckInitialTableExists(ctx, resourceName, &table), ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, ConfigStateChecks: []statecheck.StateCheck{ statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("ttl"), knownvalue.ListExact([]knownvalue.Check{ knownvalue.ObjectExact(map[string]knownvalue.Check{ @@ -1572,9 +1589,15 @@ func TestAccDynamoDBTable_TTL_enabled(t *testing.T) { ImportStateVerify: true, }, { - Config: testAccTableConfig_timeToLive_unset(rName), - PlanOnly: true, - ExpectNonEmptyPlan: false, + Config: testAccTableConfig_timeToLive_unset(rName), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, }, }, }) @@ -1599,6 +1622,11 @@ func TestAccDynamoDBTable_TTL_disabled(t *testing.T) { Check: resource.ComposeAggregateTestCheckFunc( testAccCheckInitialTableExists(ctx, resourceName, &table), ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, ConfigStateChecks: []statecheck.StateCheck{ statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("ttl"), knownvalue.ListExact([]knownvalue.Check{ knownvalue.ObjectExact(map[string]knownvalue.Check{ @@ -1614,9 +1642,15 @@ func TestAccDynamoDBTable_TTL_disabled(t *testing.T) { ImportStateVerify: true, }, { - Config: testAccTableConfig_timeToLive_unset(rName), - PlanOnly: true, - ExpectNonEmptyPlan: false, + Config: testAccTableConfig_timeToLive_unset(rName), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, }, }, }) @@ -2101,6 +2135,11 @@ func TestAccDynamoDBTable_Replica_single(t *testing.T) { acctest.CheckResourceAttrRegionalARNFormat(ctx, resourceName, names.AttrARN, "dynamodb", "table/{name}"), testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{}), ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, ConfigStateChecks: []statecheck.StateCheck{ statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ knownvalue.ObjectExact(map[string]knownvalue.Check{ @@ -2127,6 +2166,11 @@ func TestAccDynamoDBTable_Replica_single(t *testing.T) { Check: resource.ComposeAggregateTestCheckFunc( testAccCheckInitialTableExists(ctx, resourceName, &conf), ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + }, + }, ConfigStateChecks: []statecheck.StateCheck{ statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{})), }, @@ -2136,6 +2180,11 @@ func TestAccDynamoDBTable_Replica_single(t *testing.T) { Check: resource.ComposeAggregateTestCheckFunc( testAccCheckInitialTableExists(ctx, resourceName, &conf), ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + }, + }, ConfigStateChecks: []statecheck.StateCheck{ statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ knownvalue.ObjectExact(map[string]knownvalue.Check{ @@ -2152,8 +2201,15 @@ func TestAccDynamoDBTable_Replica_single(t *testing.T) { }, }, { - Config: testAccTableConfig_replica1(rName), - PlanOnly: true, + Config: testAccTableConfig_replica1(rName), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, }, }, }) @@ -3252,6 +3308,11 @@ func TestAccDynamoDBTable_tableClassExplicitDefault(t *testing.T) { testAccCheckInitialTableExists(ctx, resourceName, &table), resource.TestCheckResourceAttr(resourceName, "table_class", "STANDARD"), ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, }, { ResourceName: resourceName, @@ -3259,8 +3320,15 @@ func TestAccDynamoDBTable_tableClassExplicitDefault(t *testing.T) { ImportStateVerify: true, }, { - Config: testAccTableConfig_class(rName, "STANDARD"), - PlanOnly: true, + Config: testAccTableConfig_class(rName, "STANDARD"), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, }, }, }) @@ -3331,13 +3399,27 @@ func TestAccDynamoDBTable_tableClass_migrate(t *testing.T) { Config: testAccTableConfig_basic(rName), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckInitialTableExists(ctx, resourceName, &table), - resource.TestCheckResourceAttr(resourceName, "table_class", ""), ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("table_class"), knownvalue.StringExact("")), + }, }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, Config: testAccTableConfig_basic(rName), - PlanOnly: true, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, }, }, }) @@ -4581,7 +4663,7 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = data.aws_region.alternate.name + region_name = data.aws_region.alternate.region } } `, rName)) @@ -4612,7 +4694,7 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = data.aws_region.alternate.name + region_name = data.aws_region.alternate.region } } `, rName, sseEnabled)) @@ -4652,7 +4734,7 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = data.aws_region.alternate.name + region_name = data.aws_region.alternate.region kms_key_arn = aws_kms_key.awsalternate.arn } @@ -4695,11 +4777,11 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = data.aws_region.alternate.name + region_name = data.aws_region.alternate.region } replica { - region_name = data.aws_region.third.name + region_name = data.aws_region.third.region } server_side_encryption { @@ -4774,12 +4856,12 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = data.aws_region.alternate.name + region_name = data.aws_region.alternate.region kms_key_arn = aws_kms_key.%[2]s.arn } replica { - region_name = data.aws_region.third.name + region_name = data.aws_region.third.region kms_key_arn = aws_kms_key.%[3]s.arn } @@ -4826,12 +4908,12 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = data.aws_region.alternate.name + region_name = data.aws_region.alternate.region point_in_time_recovery = %[3]t } replica { - region_name = data.aws_region.third.name + region_name = data.aws_region.third.region point_in_time_recovery = %[4]t } } @@ -4892,13 +4974,13 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = data.aws_region.alternate.name + region_name = data.aws_region.alternate.region point_in_time_recovery = %[3]t kms_key_arn = aws_kms_key.alternate.arn } replica { - region_name = data.aws_region.third.name + region_name = data.aws_region.third.region point_in_time_recovery = %[4]t kms_key_arn = aws_kms_key.third.arn } @@ -4931,12 +5013,12 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = data.aws_region.alternate.name + region_name = data.aws_region.alternate.region propagate_tags = %[4]t } replica { - region_name = data.aws_region.third.name + region_name = data.aws_region.third.region propagate_tags = %[5]t } @@ -4974,11 +5056,11 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = data.aws_region.alternate.name + region_name = data.aws_region.alternate.region } replica { - region_name = data.aws_region.third.name + region_name = data.aws_region.third.region } } `, rName)) @@ -5236,7 +5318,7 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = data.aws_region.alternate.name + region_name = data.aws_region.alternate.region } stream_enabled = %[2]t @@ -5252,28 +5334,23 @@ func testAccTableConfig_replicaDeletionProtection(rName string, deletionProtecti data "aws_region" "alternate" { provider = "awsalternate" } - data "aws_region" "third" { provider = "awsthird" } - resource "aws_dynamodb_table" "test" { name = %[1]q hash_key = "TestTableHashKey" billing_mode = "PAY_PER_REQUEST" stream_enabled = true stream_view_type = "NEW_AND_OLD_IMAGES" - attribute { name = "TestTableHashKey" type = "S" } - replica { region_name = data.aws_region.alternate.name deletion_protection_enabled = %[2]t } - replica { region_name = data.aws_region.third.name deletion_protection_enabled = %[2]t From 156d712012639cb12ee14e85df28faac1ce8d723 Mon Sep 17 00:00:00 2001 From: Rajpal Yalla Date: Mon, 30 Jun 2025 15:36:12 -0500 Subject: [PATCH 0005/1301] remove unintented changes --- website/docs/r/dynamodb_table.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/r/dynamodb_table.html.markdown b/website/docs/r/dynamodb_table.html.markdown index bfc068992cba..c8af2a69bb43 100644 --- a/website/docs/r/dynamodb_table.html.markdown +++ b/website/docs/r/dynamodb_table.html.markdown @@ -159,7 +159,7 @@ resource "aws_dynamodb_table" "example" { } resource "aws_dynamodb_tag" "example" { - resource_arn = replace(aws_dynamodb_table.example.arn, data.aws_region.current.name, data.aws_region.alternate.name) + resource_arn = replace(aws_dynamodb_table.example.arn, data.aws_region.current.name, data.aws_region.alternate.region) key = "Architect" value = "Gigi" } From 2189531317b8a0e9a87d6d29216227c14b9c0080 Mon Sep 17 00:00:00 2001 From: Rajpal Yalla Date: Mon, 30 Jun 2025 15:38:39 -0500 Subject: [PATCH 0006/1301] remove unintented changes --- website/docs/r/dynamodb_table.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/r/dynamodb_table.html.markdown b/website/docs/r/dynamodb_table.html.markdown index c8af2a69bb43..c7d3b5288d3f 100644 --- a/website/docs/r/dynamodb_table.html.markdown +++ b/website/docs/r/dynamodb_table.html.markdown @@ -159,7 +159,7 @@ resource "aws_dynamodb_table" "example" { } resource "aws_dynamodb_tag" "example" { - resource_arn = replace(aws_dynamodb_table.example.arn, data.aws_region.current.name, data.aws_region.alternate.region) + resource_arn = replace(aws_dynamodb_table.example.arn, data.aws_region.current.region, data.aws_region.alternate.name) key = "Architect" value = "Gigi" } From e64e5151ec045712cb30bc7f848d224fa063104d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Mon, 7 Jul 2025 14:55:52 -0400 Subject: [PATCH 0007/1301] Add 'TestAccBatchComputeEnvironment_updateLaunchTemplateID'. --- .../service/batch/compute_environment_test.go | 137 ++++++++++++++++++ 1 file changed, 137 insertions(+) diff --git a/internal/service/batch/compute_environment_test.go b/internal/service/batch/compute_environment_test.go index 829d6145c220..ec4488f89b2f 100644 --- a/internal/service/batch/compute_environment_test.go +++ b/internal/service/batch/compute_environment_test.go @@ -1594,6 +1594,107 @@ func TestAccBatchComputeEnvironment_updateLaunchTemplate(t *testing.T) { }) } +// https://github.com/hashicorp/terraform-provider-aws/issues/39470. +func TestAccBatchComputeEnvironment_updateLaunchTemplateID(t *testing.T) { + ctx := acctest.Context(t) + var ce awstypes.ComputeEnvironmentDetail + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_batch_compute_environment.test" + launchTemplateResourceName := "aws_launch_template.test" + + user_data1 := "foo" + user_data2 := "bar" + + initialTemplateContent := fmt.Sprintf(` + locals { + user_data_foo = <<-EOF + Content-Type: multipart/mixed; boundary="//" + MIME-Version: 1.0 + + --// + Content-Type: text/x-shellscript; charset="us-ascii" + MIME-Version: 1.0 + Content-Transfer-Encoding: 7bit + Content-Disposition: attachment; filename="userdata.txt" + + #!/bin/bash + echo hello + echo %[2]q + --//-- + EOF + } + + resource "aws_launch_template" "test" { + name = %[1]q + user_data = base64encode(local.user_data_foo) + } + `, rName, user_data1) + + updatedTemplateContent := fmt.Sprintf(` + locals { + user_data_foo = <<-EOF + Content-Type: multipart/mixed; boundary="//" + MIME-Version: 1.0 + + --// + Content-Type: text/x-shellscript; charset="us-ascii" + MIME-Version: 1.0 + Content-Transfer-Encoding: 7bit + Content-Disposition: attachment; filename="userdata.txt" + + #!/bin/bash + echo hello + echo %[2]q + --//-- + EOF + } + + resource "aws_launch_template" "test" { + name = %[1]q + user_data = base64encode(local.user_data_foo) + } + `, rName, user_data2) + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t); testAccPreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.BatchServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckComputeEnvironmentDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: acctest.ConfigCompose( + initialTemplateContent, + testAccComputeEnvironmentConfig_launchTemplateWithVersion(rName, `aws_launch_template.test.latest_version`), + ), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckComputeEnvironmentExists(ctx, resourceName, &ce), + acctest.CheckResourceAttrRegionalARN(ctx, resourceName, names.AttrARN, "batch", fmt.Sprintf("compute-environment/%s", rName)), + resource.TestCheckResourceAttrPair(resourceName, "compute_resources.0.launch_template.0.launch_template_id", launchTemplateResourceName, names.AttrID), + resource.TestCheckResourceAttr(resourceName, "compute_resources.0.launch_template.0.launch_template_name", ""), + ), + }, + // Swap to version 2 of the launch template + { + Config: acctest.ConfigCompose( + updatedTemplateContent, + testAccComputeEnvironmentConfig_launchTemplateWithVersion(rName, `aws_launch_template.test.latest_version`), + ), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckComputeEnvironmentExists(ctx, resourceName, &ce), + acctest.CheckResourceAttrRegionalARN(ctx, resourceName, names.AttrARN, "batch", fmt.Sprintf("compute-environment/%s", rName)), + resource.TestCheckResourceAttrPair(resourceName, "compute_resources.0.launch_template.0.launch_template_id", launchTemplateResourceName, names.AttrID), + resource.TestCheckResourceAttr(resourceName, "compute_resources.0.launch_template.0.launch_template_name", ""), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + func TestAccBatchComputeEnvironment_UpdateSecurityGroupsAndSubnets_fargate(t *testing.T) { ctx := acctest.Context(t) var ce awstypes.ComputeEnvironmentDetail @@ -2983,6 +3084,42 @@ resource "aws_batch_compute_environment" "test" { `, rName, version)) } +func testAccComputeEnvironmentConfig_launchTemplateWithVersion(rName string, version string) string { + return acctest.ConfigCompose(testAccComputeEnvironmentConfig_base(rName), fmt.Sprintf(` +resource "aws_batch_compute_environment" "test" { + name = %[1]q + + compute_resources { + allocation_strategy = "SPOT_PRICE_CAPACITY_OPTIMIZED" + instance_role = aws_iam_instance_profile.ecs_instance.arn + instance_type = [ + "c4.large", + ] + + launch_template { + launch_template_id = aws_launch_template.test.id + version = %[2]s + } + + max_vcpus = 16 + min_vcpus = 0 + security_group_ids = [ + aws_security_group.test.id + ] + spot_iam_fleet_role = aws_iam_role.ec2_spot_fleet.arn + subnets = [ + aws_subnet.test.id + ] + type = "SPOT" + } + + service_role = aws_iam_role.batch_service.arn + type = "MANAGED" + depends_on = [aws_iam_role_policy_attachment.batch_service] +} +`, rName, version)) +} + func testAccComputeEnvironmentConfig_ec2Configuration(rName string) string { return acctest.ConfigCompose(testAccComputeEnvironmentConfig_base(rName), acctest.ConfigLatestAmazonLinux2HVMEBSX8664AMI(), fmt.Sprintf(` resource "aws_batch_compute_environment" "test" { From 4ebd9b727f9d7a179057c91e512c1ac8b88cbd10 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 10 Jul 2025 11:06:11 -0400 Subject: [PATCH 0008/1301] r/aws_batch_compute_environment: If the launch template ID is unknown, ForceNew. --- internal/service/batch/compute_environment.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/internal/service/batch/compute_environment.go b/internal/service/batch/compute_environment.go index 25224cd4b4a2..83d4dddcae73 100644 --- a/internal/service/batch/compute_environment.go +++ b/internal/service/batch/compute_environment.go @@ -657,6 +657,17 @@ func resourceComputeEnvironmentCustomizeDiff(_ context.Context, diff *schema.Res } } + // If the launch template ID is unknown, ForceNew. + if v := diff.GetRawPlan().GetAttr("compute_resources"); v.IsKnown() && v.LengthInt() == 1 { + if v := v.AsValueSlice()[0].GetAttr(names.AttrLaunchTemplate); v.IsKnown() && v.LengthInt() == 1 { + if v := v.AsValueSlice()[0].GetAttr(names.AttrVersion); !v.IsKnown() { + if err := diff.ForceNew("compute_resources.0.launch_template"); err != nil { + return err + } + } + } + } + if diff.HasChange("compute_resources.0.launch_template.0.launch_template_id") { if err := diff.ForceNew("compute_resources.0.launch_template.0.launch_template_id"); err != nil { return err From 1f9989fe36414c7b46c2680533c65ec170298cf7 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 10 Jul 2025 11:22:55 -0400 Subject: [PATCH 0009/1301] Fix typo. --- internal/service/batch/compute_environment.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/batch/compute_environment.go b/internal/service/batch/compute_environment.go index 83d4dddcae73..b4f185e6d2dc 100644 --- a/internal/service/batch/compute_environment.go +++ b/internal/service/batch/compute_environment.go @@ -661,7 +661,7 @@ func resourceComputeEnvironmentCustomizeDiff(_ context.Context, diff *schema.Res if v := diff.GetRawPlan().GetAttr("compute_resources"); v.IsKnown() && v.LengthInt() == 1 { if v := v.AsValueSlice()[0].GetAttr(names.AttrLaunchTemplate); v.IsKnown() && v.LengthInt() == 1 { if v := v.AsValueSlice()[0].GetAttr(names.AttrVersion); !v.IsKnown() { - if err := diff.ForceNew("compute_resources.0.launch_template"); err != nil { + if err := diff.ForceNew("compute_resources.0.launch_template.0.launch_template_id"); err != nil { return err } } From f901307ea3133ae804d2ab4fad8634abfe3ed08e Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 10 Jul 2025 11:31:52 -0400 Subject: [PATCH 0010/1301] Simplify 'TestAccBatchComputeEnvironment_updateLaunchTemplateID'. --- .../service/batch/compute_environment_test.go | 114 ++++++------------ 1 file changed, 38 insertions(+), 76 deletions(-) diff --git a/internal/service/batch/compute_environment_test.go b/internal/service/batch/compute_environment_test.go index ec4488f89b2f..c6a6f6a22bea 100644 --- a/internal/service/batch/compute_environment_test.go +++ b/internal/service/batch/compute_environment_test.go @@ -1600,60 +1600,6 @@ func TestAccBatchComputeEnvironment_updateLaunchTemplateID(t *testing.T) { var ce awstypes.ComputeEnvironmentDetail rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_batch_compute_environment.test" - launchTemplateResourceName := "aws_launch_template.test" - - user_data1 := "foo" - user_data2 := "bar" - - initialTemplateContent := fmt.Sprintf(` - locals { - user_data_foo = <<-EOF - Content-Type: multipart/mixed; boundary="//" - MIME-Version: 1.0 - - --// - Content-Type: text/x-shellscript; charset="us-ascii" - MIME-Version: 1.0 - Content-Transfer-Encoding: 7bit - Content-Disposition: attachment; filename="userdata.txt" - - #!/bin/bash - echo hello - echo %[2]q - --//-- - EOF - } - - resource "aws_launch_template" "test" { - name = %[1]q - user_data = base64encode(local.user_data_foo) - } - `, rName, user_data1) - - updatedTemplateContent := fmt.Sprintf(` - locals { - user_data_foo = <<-EOF - Content-Type: multipart/mixed; boundary="//" - MIME-Version: 1.0 - - --// - Content-Type: text/x-shellscript; charset="us-ascii" - MIME-Version: 1.0 - Content-Transfer-Encoding: 7bit - Content-Disposition: attachment; filename="userdata.txt" - - #!/bin/bash - echo hello - echo %[2]q - --//-- - EOF - } - - resource "aws_launch_template" "test" { - name = %[1]q - user_data = base64encode(local.user_data_foo) - } - `, rName, user_data2) resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { acctest.PreCheck(ctx, t); testAccPreCheck(ctx, t) }, @@ -1662,34 +1608,27 @@ func TestAccBatchComputeEnvironment_updateLaunchTemplateID(t *testing.T) { CheckDestroy: testAccCheckComputeEnvironmentDestroy(ctx), Steps: []resource.TestStep{ { - Config: acctest.ConfigCompose( - initialTemplateContent, - testAccComputeEnvironmentConfig_launchTemplateWithVersion(rName, `aws_launch_template.test.latest_version`), - ), + Config: testAccComputeEnvironmentConfig_launchTemplateWithVersion(rName, "foo"), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckComputeEnvironmentExists(ctx, resourceName, &ce), - acctest.CheckResourceAttrRegionalARN(ctx, resourceName, names.AttrARN, "batch", fmt.Sprintf("compute-environment/%s", rName)), - resource.TestCheckResourceAttrPair(resourceName, "compute_resources.0.launch_template.0.launch_template_id", launchTemplateResourceName, names.AttrID), - resource.TestCheckResourceAttr(resourceName, "compute_resources.0.launch_template.0.launch_template_name", ""), ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, }, // Swap to version 2 of the launch template { - Config: acctest.ConfigCompose( - updatedTemplateContent, - testAccComputeEnvironmentConfig_launchTemplateWithVersion(rName, `aws_launch_template.test.latest_version`), - ), + Config: testAccComputeEnvironmentConfig_launchTemplateWithVersion(rName, "bar"), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckComputeEnvironmentExists(ctx, resourceName, &ce), - acctest.CheckResourceAttrRegionalARN(ctx, resourceName, names.AttrARN, "batch", fmt.Sprintf("compute-environment/%s", rName)), - resource.TestCheckResourceAttrPair(resourceName, "compute_resources.0.launch_template.0.launch_template_id", launchTemplateResourceName, names.AttrID), - resource.TestCheckResourceAttr(resourceName, "compute_resources.0.launch_template.0.launch_template_name", ""), ), - }, - { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionReplace), + }, + }, }, }, }) @@ -3084,8 +3023,31 @@ resource "aws_batch_compute_environment" "test" { `, rName, version)) } -func testAccComputeEnvironmentConfig_launchTemplateWithVersion(rName string, version string) string { +func testAccComputeEnvironmentConfig_launchTemplateWithVersion(rName, userDataSeed string) string { return acctest.ConfigCompose(testAccComputeEnvironmentConfig_base(rName), fmt.Sprintf(` +locals { + user_data = <<-EOF +Content-Type: multipart/mixed; boundary="//" +MIME-Version: 1.0 + +--// +Content-Type: text/x-shellscript; charset="us-ascii" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Content-Disposition: attachment; filename="userdata.txt" + +#!/bin/bash +echo hello +echo %[2]q +--//-- +EOF +} + +resource "aws_launch_template" "test" { + name = %[1]q + user_data = base64encode(local.user_data) +} + resource "aws_batch_compute_environment" "test" { name = %[1]q @@ -3098,7 +3060,7 @@ resource "aws_batch_compute_environment" "test" { launch_template { launch_template_id = aws_launch_template.test.id - version = %[2]s + version = aws_launch_template.test.latest_version } max_vcpus = 16 @@ -3117,7 +3079,7 @@ resource "aws_batch_compute_environment" "test" { type = "MANAGED" depends_on = [aws_iam_role_policy_attachment.batch_service] } -`, rName, version)) +`, rName, userDataSeed)) } func testAccComputeEnvironmentConfig_ec2Configuration(rName string) string { From cf494e957b79bd270b87d73bcdb3a3b8b0751a84 Mon Sep 17 00:00:00 2001 From: Rajpal Yalla Date: Thu, 10 Jul 2025 16:02:29 -0500 Subject: [PATCH 0011/1301] remove conflicts --- internal/service/dynamodb/table_test.go | 3867 +++++++++++++++++------ 1 file changed, 2823 insertions(+), 1044 deletions(-) diff --git a/internal/service/dynamodb/table_test.go b/internal/service/dynamodb/table_test.go index 3ff36efb0b90..67c09e2cf33a 100644 --- a/internal/service/dynamodb/table_test.go +++ b/internal/service/dynamodb/table_test.go @@ -2035,6 +2035,7 @@ func TestAccDynamoDBTable_Replica_multiple(t *testing.T) { statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ knownvalue.ObjectExact(map[string]knownvalue.Check{ names.AttrARN: tfknownvalue.RegionalARNAlternateRegionExact("dynamodb", "table/"+rName), + "consistency_mode": knownvalue.StringExact("EVENTUAL"), names.AttrKMSKeyARN: knownvalue.StringExact(""), "point_in_time_recovery": knownvalue.Bool(false), names.AttrPropagateTags: knownvalue.Bool(false), @@ -2044,6 +2045,7 @@ func TestAccDynamoDBTable_Replica_multiple(t *testing.T) { }), knownvalue.ObjectExact(map[string]knownvalue.Check{ names.AttrARN: tfknownvalue.RegionalARNThirdRegionExact("dynamodb", "table/"+rName), + "consistency_mode": knownvalue.StringExact("EVENTUAL"), names.AttrKMSKeyARN: knownvalue.StringExact(""), "point_in_time_recovery": knownvalue.Bool(false), names.AttrPropagateTags: knownvalue.Bool(false), @@ -2078,6 +2080,7 @@ func TestAccDynamoDBTable_Replica_multiple(t *testing.T) { statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ knownvalue.ObjectExact(map[string]knownvalue.Check{ names.AttrARN: tfknownvalue.RegionalARNAlternateRegionExact("dynamodb", "table/"+rName), + "consistency_mode": knownvalue.StringExact("EVENTUAL"), names.AttrKMSKeyARN: knownvalue.StringExact(""), "point_in_time_recovery": knownvalue.Bool(false), names.AttrPropagateTags: knownvalue.Bool(false), @@ -2087,6 +2090,7 @@ func TestAccDynamoDBTable_Replica_multiple(t *testing.T) { }), knownvalue.ObjectExact(map[string]knownvalue.Check{ names.AttrARN: tfknownvalue.RegionalARNThirdRegionExact("dynamodb", "table/"+rName), + "consistency_mode": knownvalue.StringExact("EVENTUAL"), names.AttrKMSKeyARN: knownvalue.StringExact(""), "point_in_time_recovery": knownvalue.Bool(false), names.AttrPropagateTags: knownvalue.Bool(false), @@ -2144,6 +2148,7 @@ func TestAccDynamoDBTable_Replica_single(t *testing.T) { statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ knownvalue.ObjectExact(map[string]knownvalue.Check{ names.AttrARN: tfknownvalue.RegionalARNAlternateRegionExact("dynamodb", "table/"+rName), + "consistency_mode": knownvalue.StringExact("EVENTUAL"), names.AttrKMSKeyARN: knownvalue.StringExact(""), "point_in_time_recovery": knownvalue.Bool(false), names.AttrPropagateTags: knownvalue.Bool(false), @@ -2189,6 +2194,7 @@ func TestAccDynamoDBTable_Replica_single(t *testing.T) { statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ knownvalue.ObjectExact(map[string]knownvalue.Check{ names.AttrARN: tfknownvalue.RegionalARNAlternateRegionExact("dynamodb", "table/"+rName), + "consistency_mode": knownvalue.StringExact("EVENTUAL"), names.AttrKMSKeyARN: knownvalue.StringExact(""), "point_in_time_recovery": knownvalue.Bool(false), names.AttrPropagateTags: knownvalue.Bool(false), @@ -3250,263 +3256,502 @@ func TestAccDynamoDBTable_Replica_deletionProtection(t *testing.T) { }) } -func TestAccDynamoDBTable_tableClassInfrequentAccess(t *testing.T) { +func TestAccDynamoDBTable_Replica_MRSC_Create(t *testing.T) { ctx := acctest.Context(t) - var table awstypes.TableDescription - resourceName := "aws_dynamodb_table.test" + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var conf, replica1, replica2 awstypes.TableDescription + resourceName := "aws_dynamodb_table.test_mrsc" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { acctest.PreCheck(ctx, t) }, + resource.Test(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), // 3 due to shared test configuration CheckDestroy: testAccCheckTableDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccTableConfig_class(rName, "STANDARD_INFREQUENT_ACCESS"), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &table), - resource.TestCheckResourceAttr(resourceName, "table_class", "STANDARD_INFREQUENT_ACCESS"), - ), - }, - { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - }, - { - Config: testAccTableConfig_class(rName, "STANDARD"), + Config: testAccTableConfig_MRSC_replica(rName), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &table), - resource.TestCheckResourceAttr(resourceName, "table_class", "STANDARD"), + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaExists(ctx, resourceName, acctest.AlternateRegion(), &replica1), + testAccCheckReplicaExists(ctx, resourceName, acctest.ThirdRegion(), &replica2), ), - }, - { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + "consistency_mode": knownvalue.StringExact((string(awstypes.MultiRegionConsistencyStrong))), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + "consistency_mode": knownvalue.StringExact((string(awstypes.MultiRegionConsistencyStrong))), + }), + })), + }, }, }, }) } -func TestAccDynamoDBTable_tableClassExplicitDefault(t *testing.T) { +func TestAccDynamoDBTable_Replica_MRSC_doubleAddCMK(t *testing.T) { ctx := acctest.Context(t) - var table awstypes.TableDescription + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var conf awstypes.TableDescription resourceName := "aws_dynamodb_table.test" + kmsKeyResourceName := "aws_kms_key.test" + kmsKey1Replica1ResourceName := "aws_kms_key.awsalternate1" + kmsKey2Replica1ResourceName := "aws_kms_key.awsalternate2" + kmsKey1Replica2ResourceName := "aws_kms_key.awsthird1" + kmsKey2Replica2ResourceName := "aws_kms_key.awsthird2" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { acctest.PreCheck(ctx, t) }, + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), // 3 due to shared test configuration CheckDestroy: testAccCheckTableDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccTableConfig_basic(rName), + Config: testAccTableConfig_replica_MRSC_AmazonManagedKey(rName), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &table), - resource.TestCheckResourceAttr(resourceName, "table_class", "STANDARD"), + testAccCheckInitialTableExists(ctx, resourceName, &conf), + resource.TestCheckResourceAttr(resourceName, "server_side_encryption.0.enabled", acctest.CtTrue), + resource.TestCheckResourceAttr(resourceName, "server_side_encryption.0.kms_key_arn", ""), ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), - }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + names.AttrKMSKeyARN: knownvalue.StringExact(""), + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + names.AttrKMSKeyARN: knownvalue.StringExact(""), + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + }), + })), }, }, { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + Config: testAccTableConfig_replica_MRSC_CMKUpdate(rName, "awsalternate1", "awsthird1"), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + resource.TestCheckResourceAttr(resourceName, "server_side_encryption.0.enabled", acctest.CtTrue), + resource.TestCheckResourceAttrPair(resourceName, "server_side_encryption.0.kms_key_arn", kmsKeyResourceName, names.AttrARN), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + names.AttrKMSKeyARN: knownvalue.NotNull(), + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + names.AttrKMSKeyARN: knownvalue.NotNull(), + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + }), + })), + statecheck.CompareValuePairs(resourceName, tfjsonpath.New("replica").AtSliceIndex(0).AtMapKey(names.AttrKMSKeyARN), kmsKey1Replica1ResourceName, tfjsonpath.New(names.AttrARN), compare.ValuesSame()), + statecheck.CompareValuePairs(resourceName, tfjsonpath.New("replica").AtSliceIndex(1).AtMapKey(names.AttrKMSKeyARN), kmsKey1Replica2ResourceName, tfjsonpath.New(names.AttrARN), compare.ValuesSame()), + }, }, { - Config: testAccTableConfig_class(rName, "STANDARD"), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - PostApplyPostRefresh: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, + Config: testAccTableConfig_replica_MRSC_CMKUpdate(rName, "awsalternate2", "awsthird2"), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + resource.TestCheckResourceAttr(resourceName, "server_side_encryption.0.enabled", acctest.CtTrue), + resource.TestCheckResourceAttrPair(resourceName, "server_side_encryption.0.kms_key_arn", kmsKeyResourceName, names.AttrARN), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + names.AttrKMSKeyARN: knownvalue.NotNull(), + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + names.AttrKMSKeyARN: knownvalue.NotNull(), + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + }), + })), + statecheck.CompareValuePairs(resourceName, tfjsonpath.New("replica").AtSliceIndex(0).AtMapKey(names.AttrKMSKeyARN), kmsKey2Replica1ResourceName, tfjsonpath.New(names.AttrARN), compare.ValuesSame()), + statecheck.CompareValuePairs(resourceName, tfjsonpath.New("replica").AtSliceIndex(1).AtMapKey(names.AttrKMSKeyARN), kmsKey2Replica2ResourceName, tfjsonpath.New(names.AttrARN), compare.ValuesSame()), }, }, }, }) } -func TestAccDynamoDBTable_tableClass_ConcurrentModification(t *testing.T) { +func TestAccDynamoDBTable_Replica_MRSC_pitr(t *testing.T) { ctx := acctest.Context(t) - var table awstypes.TableDescription + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var conf, replica1, replica2, replica3, replica4 awstypes.TableDescription resourceName := "aws_dynamodb_table.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { acctest.PreCheck(ctx, t) }, + resource.Test(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), CheckDestroy: testAccCheckTableDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccTableConfig_classConcurrent(rName, "STANDARD_INFREQUENT_ACCESS", 1), + Config: testAccTableConfig_replica_MRSC_PITR(rName, false, true, false), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &table), - resource.TestCheckResourceAttr(resourceName, "table_class", "STANDARD_INFREQUENT_ACCESS"), - resource.TestCheckResourceAttr(resourceName, "read_capacity", "1"), - resource.TestCheckResourceAttr(resourceName, "write_capacity", "1"), + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaExists(ctx, resourceName, acctest.AlternateRegion(), &replica1), + testAccCheckReplicaExists(ctx, resourceName, acctest.ThirdRegion(), &replica2), + resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.#", "1"), + resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.0.enabled", acctest.CtFalse), ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "point_in_time_recovery": knownvalue.Bool(true), + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "point_in_time_recovery": knownvalue.Bool(false), + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + }), + })), + }, }, { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - }, - { - Config: testAccTableConfig_classConcurrent(rName, "STANDARD", 5), + Config: testAccTableConfig_replica_MRSC_PITR(rName, true, false, true), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &table), - resource.TestCheckResourceAttr(resourceName, "table_class", "STANDARD"), - resource.TestCheckResourceAttr(resourceName, "read_capacity", "5"), - resource.TestCheckResourceAttr(resourceName, "write_capacity", "5"), + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaExists(ctx, resourceName, acctest.AlternateRegion(), &replica3), + testAccCheckReplicaExists(ctx, resourceName, acctest.ThirdRegion(), &replica4), + testAccCheckTableNotRecreated(&replica1, &replica3), + testAccCheckTableNotRecreated(&replica2, &replica4), + resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.#", "1"), + resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.0.enabled", acctest.CtTrue), ), - }, - { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "point_in_time_recovery": knownvalue.Bool(false), + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "point_in_time_recovery": knownvalue.Bool(true), + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + }), + })), + }, }, }, }) } -func TestAccDynamoDBTable_tableClass_migrate(t *testing.T) { +func TestAccDynamoDBTable_Replica_MRSC_pitrKMS(t *testing.T) { ctx := acctest.Context(t) - var table awstypes.TableDescription + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var conf, replica1, replica2, replica3, replica4 awstypes.TableDescription resourceName := "aws_dynamodb_table.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { acctest.PreCheck(ctx, t) }, - ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - CheckDestroy: testAccCheckTableDestroy(ctx), + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), // 3 due to shared test configuration + CheckDestroy: testAccCheckTableDestroy(ctx), Steps: []resource.TestStep{ { - ExternalProviders: map[string]resource.ExternalProvider{ - "aws": { - Source: "hashicorp/aws", - VersionConstraint: "4.57.0", - }, - }, - Config: testAccTableConfig_basic(rName), + Config: testAccTableConfig_replica_MRSC_PITRKMS(rName, false, false, false), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &table), + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaExists(ctx, resourceName, acctest.AlternateRegion(), &replica1), + testAccCheckReplicaExists(ctx, resourceName, acctest.ThirdRegion(), &replica2), + resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.#", "1"), + resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.0.enabled", acctest.CtFalse), ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), - }, - }, ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("table_class"), knownvalue.StringExact("")), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "point_in_time_recovery": knownvalue.Bool(false), + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "point_in_time_recovery": knownvalue.Bool(false), + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + }), + })), }, }, { - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - Config: testAccTableConfig_basic(rName), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - PostApplyPostRefresh: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, + Config: testAccTableConfig_replica_MRSC_PITRKMS(rName, false, true, false), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaExists(ctx, resourceName, acctest.AlternateRegion(), &replica3), + testAccCheckReplicaExists(ctx, resourceName, acctest.ThirdRegion(), &replica4), + testAccCheckTableNotRecreated(&replica1, &replica3), + testAccCheckTableNotRecreated(&replica2, &replica4), + resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.#", "1"), + resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.0.enabled", acctest.CtFalse), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "point_in_time_recovery": knownvalue.Bool(true), + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "point_in_time_recovery": knownvalue.Bool(false), + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + }), + })), + }, + }, + { + Config: testAccTableConfig_replica_MRSC_PITRKMS(rName, false, true, true), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaExists(ctx, resourceName, acctest.AlternateRegion(), &replica1), + testAccCheckReplicaExists(ctx, resourceName, acctest.ThirdRegion(), &replica2), + testAccCheckTableNotRecreated(&replica1, &replica3), + testAccCheckTableNotRecreated(&replica2, &replica4), + resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.#", "1"), + resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.0.enabled", acctest.CtFalse), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "point_in_time_recovery": knownvalue.Bool(true), + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "point_in_time_recovery": knownvalue.Bool(true), + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + }), + })), + }, + }, + { + Config: testAccTableConfig_replica_MRSC_PITRKMS(rName, true, false, true), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaExists(ctx, resourceName, acctest.AlternateRegion(), &replica3), + testAccCheckReplicaExists(ctx, resourceName, acctest.ThirdRegion(), &replica4), + testAccCheckTableNotRecreated(&replica1, &replica3), + testAccCheckTableNotRecreated(&replica2, &replica4), + resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.#", "1"), + resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.0.enabled", acctest.CtTrue), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "point_in_time_recovery": knownvalue.Bool(false), + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "point_in_time_recovery": knownvalue.Bool(true), + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + }), + })), + }, + }, + { + Config: testAccTableConfig_replica_MRSC_PITRKMS(rName, false, false, false), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaExists(ctx, resourceName, acctest.AlternateRegion(), &replica1), + testAccCheckReplicaExists(ctx, resourceName, acctest.ThirdRegion(), &replica2), + testAccCheckTableNotRecreated(&replica1, &replica3), + testAccCheckTableNotRecreated(&replica2, &replica4), + resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.#", "1"), + resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.0.enabled", acctest.CtFalse), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "point_in_time_recovery": knownvalue.Bool(false), + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "point_in_time_recovery": knownvalue.Bool(false), + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + }), + })), }, }, }, }) } -func TestAccDynamoDBTable_backupEncryption(t *testing.T) { +func TestAccDynamoDBTable_Replica_MRSC_tags_updateIsPropagated_oneOfTwo(t *testing.T) { ctx := acctest.Context(t) if testing.Short() { t.Skip("skipping long-running test in short mode") } - var confBYOK awstypes.TableDescription + var conf awstypes.TableDescription resourceName := "aws_dynamodb_table.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - kmsKeyResourceName := "aws_kms_key.test" - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { acctest.PreCheck(ctx, t) }, + resource.Test(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), CheckDestroy: testAccCheckTableDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccTableConfig_backupInitialStateEncryption(rName), + Config: testAccTableConfig_replica_MRSC_Tags(rName, "benny", "smiles", true, false), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &confBYOK), - resource.TestCheckResourceAttr(resourceName, "server_side_encryption.#", "1"), - resource.TestCheckResourceAttr(resourceName, "server_side_encryption.0.enabled", acctest.CtTrue), - resource.TestCheckResourceAttrPair(resourceName, "server_side_encryption.0.kms_key_arn", kmsKeyResourceName, names.AttrARN), + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "benny": "smiles", + }), + testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{}), ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrPropagateTags: knownvalue.Bool(true), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + names.AttrPropagateTags: knownvalue.Bool(false), + }), + })), + }, }, { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIgnore: []string{ - "restore_to_latest_time", - "restore_date_time", - "restore_source_name", + Config: testAccTableConfig_replica_MRSC_Tags(rName, "benny", "frowns", true, false), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "benny": "frowns", + }), + testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{}), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrPropagateTags: knownvalue.Bool(true), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + names.AttrPropagateTags: knownvalue.Bool(false), + }), + })), }, }, }, }) } -func TestAccDynamoDBTable_backup_overrideEncryption(t *testing.T) { +func TestAccDynamoDBTable_Replica_MRSC_tags_updateIsPropagated_twoOfTwo(t *testing.T) { ctx := acctest.Context(t) if testing.Short() { t.Skip("skipping long-running test in short mode") } - var confBYOK awstypes.TableDescription + var conf awstypes.TableDescription resourceName := "aws_dynamodb_table.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - kmsKeyResourceName := "aws_kms_key.test" - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { acctest.PreCheck(ctx, t) }, + resource.Test(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), CheckDestroy: testAccCheckTableDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccTableConfig_backupInitialStateOverrideEncryption(rName), + Config: testAccTableConfig_replica_MRSC_Tags(rName, "Structure", "Adobe", true, true), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &confBYOK), - resource.TestCheckResourceAttr(resourceName, "server_side_encryption.#", "1"), - resource.TestCheckResourceAttr(resourceName, "server_side_encryption.0.enabled", acctest.CtTrue), - resource.TestCheckResourceAttrPair(resourceName, "server_side_encryption.0.kms_key_arn", kmsKeyResourceName, names.AttrARN), + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "Structure": "Adobe", + }), + testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "Structure": "Adobe", + }), ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrPropagateTags: knownvalue.Bool(true), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + names.AttrPropagateTags: knownvalue.Bool(true), + }), + })), + }, }, { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIgnore: []string{ - "restore_to_latest_time", - "restore_date_time", - "restore_source_name", + Config: testAccTableConfig_replica_MRSC_Tags(rName, "Structure", "Steel", true, true), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "Structure": "Steel", + }), + testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "Structure": "Steel", + }), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrPropagateTags: knownvalue.Bool(true), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + names.AttrPropagateTags: knownvalue.Bool(true), + }), + })), }, }, }, }) } -// lintignore:AT002 -func TestAccDynamoDBTable_importTable(t *testing.T) { +func TestAccDynamoDBTable_Replica_MRSC_tags_propagateToAddedReplica(t *testing.T) { ctx := acctest.Context(t) if testing.Short() { t.Skip("skipping long-running test in short mode") @@ -3516,247 +3761,1414 @@ func TestAccDynamoDBTable_importTable(t *testing.T) { resourceName := "aws_dynamodb_table.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { acctest.PreCheck(ctx, t) }, + resource.Test(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), CheckDestroy: testAccCheckTableDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccTableConfig_import(rName), + Config: testAccTableConfig_replica_MRSC_TagsNext1(rName, acctest.AlternateRegion(), true), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckInitialTableExists(ctx, resourceName, &conf), - acctest.CheckResourceAttrRegionalARNFormat(ctx, resourceName, names.AttrARN, "dynamodb", "table/{name}"), - resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), - resource.TestCheckResourceAttr(resourceName, "read_capacity", "1"), - resource.TestCheckResourceAttr(resourceName, "write_capacity", "1"), - resource.TestCheckResourceAttr(resourceName, "hash_key", rName), - resource.TestCheckTypeSetElemNestedAttrs(resourceName, "attribute.*", map[string]string{ - names.AttrName: rName, - names.AttrType: "S", + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", }), - resource.TestCheckResourceAttr(resourceName, "table_class", "STANDARD"), ), - }, - }, - }) -} - -func testAccCheckTableDestroy(ctx context.Context) resource.TestCheckFunc { + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrPropagateTags: knownvalue.Bool(true), + }), + })), + }, + }, + { + Config: testAccTableConfig_replica_MRSC_TagsNext2(rName, acctest.AlternateRegion(), true, acctest.ThirdRegion(), true), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + }), + testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + }), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrPropagateTags: knownvalue.Bool(true), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + names.AttrPropagateTags: knownvalue.Bool(true), + }), + })), + }, + }, + }, + }) +} + +func TestAccDynamoDBTable_Replica_MRSC_tags_notPropagatedToAddedReplica(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var conf awstypes.TableDescription + resourceName := "aws_dynamodb_table.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccTableConfig_replica_MRSC_TagsNext1(rName, acctest.AlternateRegion(), true), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + }), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrPropagateTags: knownvalue.Bool(true), + }), + })), + }, + }, + { + Config: testAccTableConfig_replica_MRSC_TagsNext2(rName, acctest.AlternateRegion(), true, acctest.ThirdRegion(), false), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + }), + testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{}), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrPropagateTags: knownvalue.Bool(true), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + names.AttrPropagateTags: knownvalue.Bool(false), + }), + })), + }, + }, + }, + }) +} + +func TestAccDynamoDBTable_Replica_MRSC_tags_nonPropagatedTagsAreUnmanaged(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var conf awstypes.TableDescription + resourceName := "aws_dynamodb_table.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccTableConfig_replica_MRSC_Tags(rName, "Structure", "Adobe", true, true), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "Structure": "Adobe", + }), + testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "Structure": "Adobe", + }), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrPropagateTags: knownvalue.Bool(true), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + names.AttrPropagateTags: knownvalue.Bool(true), + }), + })), + }, + }, + { + Config: testAccTableConfig_replica_MRSC_Tags(rName, "Structure", "Steel", true, false), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "Structure": "Steel", + }), + testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "Structure": "Adobe", + }), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrPropagateTags: knownvalue.Bool(true), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + names.AttrPropagateTags: knownvalue.Bool(false), + }), + })), + }, + }, + }, + }) +} + +func TestAccDynamoDBTable_Replica_MRSC_tagsUpdate(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var conf awstypes.TableDescription + resourceName := "aws_dynamodb_table.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccTableConfig_replica_MRSC_TagsUpdate1(rName, acctest.AlternateRegion(), acctest.ThirdRegion()), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + }), + testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + }), + resource.TestCheckResourceAttr(resourceName, "replica.#", "2"), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ + "region_name": acctest.AlternateRegion(), + names.AttrPropagateTags: acctest.CtTrue, + }), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ + "region_name": acctest.ThirdRegion(), + names.AttrPropagateTags: acctest.CtTrue, + }), + ), + }, + { + Config: testAccTableConfig_replica_MRSC_TagsUpdate2(rName, acctest.AlternateRegion(), acctest.ThirdRegion()), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "tyDi": "Lullaby", + "Thrill": "Seekers", + }), + testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "tyDi": "Lullaby", + "Thrill": "Seekers", + }), + resource.TestCheckResourceAttr(resourceName, "replica.#", "2"), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ + "region_name": acctest.AlternateRegion(), + names.AttrPropagateTags: acctest.CtTrue, + }), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ + "region_name": acctest.ThirdRegion(), + names.AttrPropagateTags: acctest.CtTrue, + }), + ), + }, + { + Config: testAccTableConfig_replica_MRSC_TagsUpdate3(rName, acctest.AlternateRegion(), acctest.ThirdRegion()), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "tyDi": "Lullaby", + "Thrill": "Seekers", + }), + testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "tyDi": "Lullaby", + "Thrill": "Seekers", + }), + resource.TestCheckResourceAttr(resourceName, "replica.#", "2"), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ + "region_name": acctest.AlternateRegion(), + names.AttrPropagateTags: acctest.CtTrue, + }), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ + "region_name": acctest.ThirdRegion(), + names.AttrPropagateTags: acctest.CtTrue, + }), + ), + }, + { + Config: testAccTableConfig_replica_MRSC_TagsUpdate4(rName, acctest.AlternateRegion(), acctest.ThirdRegion()), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "tyDi": "Lullaby", + "Thrill": "Seekers", + "Tristan": "Joe", + "Humming": "bird", + }), + testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "tyDi": "Lullaby", + "Thrill": "Seekers", + "Tristan": "Joe", + "Humming": "bird", + }), + resource.TestCheckResourceAttr(resourceName, "replica.#", "2"), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ + "region_name": acctest.AlternateRegion(), + names.AttrPropagateTags: acctest.CtTrue, + }), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ + "region_name": acctest.ThirdRegion(), + names.AttrPropagateTags: acctest.CtTrue, + }), + ), + }, + { + Config: testAccTableConfig_replica_MRSC_TagsUpdate5(rName, acctest.AlternateRegion(), acctest.ThirdRegion()), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + }), + testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ + "Name": rName, + }), + resource.TestCheckResourceAttr(resourceName, "replica.#", "2"), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ + "region_name": acctest.AlternateRegion(), + names.AttrPropagateTags: acctest.CtTrue, + }), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ + "region_name": acctest.ThirdRegion(), + names.AttrPropagateTags: acctest.CtTrue, + }), + ), + }, + }, + }) +} + +func TestAccDynamoDBTable_Replica_MRSC_TooManyReplicas(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 4) + }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 4), // 4 due to shared test configuration + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccTableConfig_MRSC_replica_count3(rName), + ExpectError: regexache.MustCompile(`Using MultiRegionStrongConsistency supports at most 2 replicas`), + }, + }, + }) +} + +func TestAccDynamoDBTable_Replica_MRSC_NotEnoughReplicas(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 4) + }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 4), // 4 due to shared test configuration + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccTableConfig_MRSC_replica_count1(rName), + ExpectError: regexache.MustCompile(`Using MultiRegionStrongConsistency requires exactly 2 replicas`), + }, + }, + }) +} + +func TestAccDynamoDBTable_Replica_MRSC_MixedConsistencyModes(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), // 6 due to testing unsupported regionsß + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccTableConfig_MRSC_replica_mixed_consistency_mode(rName), + ExpectError: regexache.MustCompile(`Using MultiRegionStrongConsistency requires all replicas to use 'consistency_mode' set to 'STRONG'`), + }, + }, + }) +} + +func TestAccDynamoDBTable_Replica_MRSC_CreateEventuallyConsistent(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + var conf, replica1, replica2 awstypes.TableDescription + resourceName := "aws_dynamodb_table.test_mrsc" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), // 6 due to testing unsupported regionsß + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccTableConfig_MRSC_replica_eventual_consistency(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaExists(ctx, resourceName, acctest.AlternateRegion(), &replica1), + testAccCheckReplicaExists(ctx, resourceName, acctest.ThirdRegion(), &replica2), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + }), + })), + }, + }, + }, + }) +} + +// Test creation before MRSC and upgrade shows no diff.ß +func TestAccDynamoDBTable_Replica_upgradeV6_2_0(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var table awstypes.TableDescription + resourceName := "aws_dynamodb_table.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + ExternalProviders: map[string]resource.ExternalProvider{ + "aws": { + Source: "hashicorp/aws", + VersionConstraint: "6.2.0", + }, + }, + Config: testAccTableConfig_replica2_NoMultipleRegionProvider(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &table), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Config: testAccTableConfig_replica2_NoMultipleRegionProvider(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &table), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + }, + }) +} + +func TestAccDynamoDBTable_tableClassInfrequentAccess(t *testing.T) { + ctx := acctest.Context(t) + var table awstypes.TableDescription + resourceName := "aws_dynamodb_table.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccTableConfig_class(rName, "STANDARD_INFREQUENT_ACCESS"), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &table), + resource.TestCheckResourceAttr(resourceName, "table_class", "STANDARD_INFREQUENT_ACCESS"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + Config: testAccTableConfig_class(rName, "STANDARD"), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &table), + resource.TestCheckResourceAttr(resourceName, "table_class", "STANDARD"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccDynamoDBTable_tableClassExplicitDefault(t *testing.T) { + ctx := acctest.Context(t) + var table awstypes.TableDescription + resourceName := "aws_dynamodb_table.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccTableConfig_basic(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &table), + resource.TestCheckResourceAttr(resourceName, "table_class", "STANDARD"), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + Config: testAccTableConfig_class(rName, "STANDARD"), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + }, + }) +} + +func TestAccDynamoDBTable_tableClass_ConcurrentModification(t *testing.T) { + ctx := acctest.Context(t) + var table awstypes.TableDescription + resourceName := "aws_dynamodb_table.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccTableConfig_classConcurrent(rName, "STANDARD_INFREQUENT_ACCESS", 1), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &table), + resource.TestCheckResourceAttr(resourceName, "table_class", "STANDARD_INFREQUENT_ACCESS"), + resource.TestCheckResourceAttr(resourceName, "read_capacity", "1"), + resource.TestCheckResourceAttr(resourceName, "write_capacity", "1"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + Config: testAccTableConfig_classConcurrent(rName, "STANDARD", 5), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &table), + resource.TestCheckResourceAttr(resourceName, "table_class", "STANDARD"), + resource.TestCheckResourceAttr(resourceName, "read_capacity", "5"), + resource.TestCheckResourceAttr(resourceName, "write_capacity", "5"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccDynamoDBTable_tableClass_migrate(t *testing.T) { + ctx := acctest.Context(t) + var table awstypes.TableDescription + resourceName := "aws_dynamodb_table.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + ExternalProviders: map[string]resource.ExternalProvider{ + "aws": { + Source: "hashicorp/aws", + VersionConstraint: "4.57.0", + }, + }, + Config: testAccTableConfig_basic(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &table), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("table_class"), knownvalue.StringExact("")), + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Config: testAccTableConfig_basic(rName), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + }, + }) +} + +func TestAccDynamoDBTable_backupEncryption(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var confBYOK awstypes.TableDescription + resourceName := "aws_dynamodb_table.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + kmsKeyResourceName := "aws_kms_key.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccTableConfig_backupInitialStateEncryption(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &confBYOK), + resource.TestCheckResourceAttr(resourceName, "server_side_encryption.#", "1"), + resource.TestCheckResourceAttr(resourceName, "server_side_encryption.0.enabled", acctest.CtTrue), + resource.TestCheckResourceAttrPair(resourceName, "server_side_encryption.0.kms_key_arn", kmsKeyResourceName, names.AttrARN), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "restore_to_latest_time", + "restore_date_time", + "restore_source_name", + }, + }, + }, + }) +} + +func TestAccDynamoDBTable_backup_overrideEncryption(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var confBYOK awstypes.TableDescription + resourceName := "aws_dynamodb_table.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + kmsKeyResourceName := "aws_kms_key.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccTableConfig_backupInitialStateOverrideEncryption(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &confBYOK), + resource.TestCheckResourceAttr(resourceName, "server_side_encryption.#", "1"), + resource.TestCheckResourceAttr(resourceName, "server_side_encryption.0.enabled", acctest.CtTrue), + resource.TestCheckResourceAttrPair(resourceName, "server_side_encryption.0.kms_key_arn", kmsKeyResourceName, names.AttrARN), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "restore_to_latest_time", + "restore_date_time", + "restore_source_name", + }, + }, + }, + }) +} + +// lintignore:AT002 +func TestAccDynamoDBTable_importTable(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var conf awstypes.TableDescription + resourceName := "aws_dynamodb_table.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccTableConfig_import(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + acctest.CheckResourceAttrRegionalARNFormat(ctx, resourceName, names.AttrARN, "dynamodb", "table/{name}"), + resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), + resource.TestCheckResourceAttr(resourceName, "read_capacity", "1"), + resource.TestCheckResourceAttr(resourceName, "write_capacity", "1"), + resource.TestCheckResourceAttr(resourceName, "hash_key", rName), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "attribute.*", map[string]string{ + names.AttrName: rName, + names.AttrType: "S", + }), + resource.TestCheckResourceAttr(resourceName, "table_class", "STANDARD"), + ), + }, + }, + }) +} + +func testAccCheckTableDestroy(ctx context.Context) resource.TestCheckFunc { + return func(s *terraform.State) error { + conn := acctest.Provider.Meta().(*conns.AWSClient).DynamoDBClient(ctx) + + for _, rs := range s.RootModule().Resources { + if rs.Type != "aws_dynamodb_table" { + continue + } + + _, err := tfdynamodb.FindTableByName(ctx, conn, rs.Primary.ID) + + if tfresource.NotFound(err) { + continue + } + + if err != nil { + return err + } + + return fmt.Errorf("DynamoDB Table %s still exists", rs.Primary.ID) + } + + return nil + } +} + +func testAccCheckInitialTableExists(ctx context.Context, n string, v *awstypes.TableDescription) resource.TestCheckFunc { + return func(s *terraform.State) error { + rs, ok := s.RootModule().Resources[n] + if !ok { + return fmt.Errorf("Not found: %s", n) + } + + conn := acctest.Provider.Meta().(*conns.AWSClient).DynamoDBClient(ctx) + + output, err := tfdynamodb.FindTableByName(ctx, conn, rs.Primary.ID) + + if err != nil { + return err + } + + *v = *output + + return nil + } +} + +func testAccCheckTableExists(ctx context.Context, n string, v *awstypes.TableDescription) resource.TestCheckFunc { + return testAccCheckInitialTableExists(ctx, n, v) +} + +func testAccCheckTableNotRecreated(i, j *awstypes.TableDescription) resource.TestCheckFunc { + return func(s *terraform.State) error { + if !i.CreationDateTime.Equal(aws.ToTime(j.CreationDateTime)) { + return errors.New("DynamoDB Table was recreated") + } + + return nil + } +} + +func testAccCheckReplicaExists(ctx context.Context, n string, region string, v *awstypes.TableDescription) resource.TestCheckFunc { + return func(s *terraform.State) error { + rs, ok := s.RootModule().Resources[n] + if !ok { + return fmt.Errorf("Not found: %s", n) + } + + conn := acctest.Provider.Meta().(*conns.AWSClient).DynamoDBClient(ctx) + + output, err := tfdynamodb.FindTableByName(ctx, conn, rs.Primary.ID, func(o *dynamodb.Options) { + o.Region = region + }) + + if err != nil { + return err + } + + *v = *output + + return nil + } +} + +func testAccCheckReplicaTags(ctx context.Context, n string, region string, expected map[string]string) resource.TestCheckFunc { return func(s *terraform.State) error { + rs, ok := s.RootModule().Resources[n] + if !ok { + return fmt.Errorf("Not found: %s", n) + } + conn := acctest.Provider.Meta().(*conns.AWSClient).DynamoDBClient(ctx) - for _, rs := range s.RootModule().Resources { - if rs.Type != "aws_dynamodb_table" { - continue - } + newARN, err := tfdynamodb.ARNForNewRegion(rs.Primary.Attributes[names.AttrARN], region) + + if err != nil { + return err + } + + actualKVT, err := tfdynamodb.ListTags(ctx, conn, newARN, func(o *dynamodb.Options) { + o.Region = region + }) + + if err != nil && !tfawserr.ErrMessageContains(err, "UnknownOperationException", "Tagging is not currently supported in DynamoDB Local.") { + return create.Error(names.DynamoDB, create.ErrActionChecking, "Table", rs.Primary.Attributes[names.AttrARN], err) + } + + expectedKVT := tftags.New(ctx, expected) + + if !expectedKVT.Equal(actualKVT) { + return fmt.Errorf("%s: Replica in '%s' tags expected %s, got %s", n, region, expectedKVT, actualKVT) + } + + return nil + } +} + +func testAccCheckInitialTableConf(resourceName string) resource.TestCheckFunc { + return resource.ComposeAggregateTestCheckFunc( + resource.TestCheckResourceAttr(resourceName, "hash_key", "TestTableHashKey"), + resource.TestCheckResourceAttr(resourceName, "range_key", "TestTableRangeKey"), + resource.TestCheckResourceAttr(resourceName, "billing_mode", string(awstypes.BillingModeProvisioned)), + resource.TestCheckResourceAttr(resourceName, "write_capacity", "2"), + resource.TestCheckResourceAttr(resourceName, "read_capacity", "1"), + resource.TestCheckResourceAttr(resourceName, "server_side_encryption.#", "0"), + resource.TestCheckResourceAttr(resourceName, "attribute.#", "4"), + resource.TestCheckResourceAttr(resourceName, "global_secondary_index.#", "1"), + resource.TestCheckResourceAttr(resourceName, "local_secondary_index.#", "1"), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "attribute.*", map[string]string{ + names.AttrName: "TestTableHashKey", + names.AttrType: "S", + }), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "attribute.*", map[string]string{ + names.AttrName: "TestTableRangeKey", + names.AttrType: "S", + }), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "attribute.*", map[string]string{ + names.AttrName: "TestLSIRangeKey", + names.AttrType: "N", + }), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "attribute.*", map[string]string{ + names.AttrName: "TestGSIRangeKey", + names.AttrType: "S", + }), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "global_secondary_index.*", map[string]string{ + names.AttrName: "InitialTestTableGSI", + "hash_key": "TestTableHashKey", + "range_key": "TestGSIRangeKey", + "write_capacity": "1", + "read_capacity": "1", + "projection_type": "KEYS_ONLY", + }), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "local_secondary_index.*", map[string]string{ + names.AttrName: "TestTableLSI", + "range_key": "TestLSIRangeKey", + "projection_type": "ALL", + }), + ) +} - _, err := tfdynamodb.FindTableByName(ctx, conn, rs.Primary.ID) +func testAccTableConfig_basic(rName string) string { + return fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + name = %[1]q + read_capacity = 1 + write_capacity = 1 + hash_key = %[1]q - if tfresource.NotFound(err) { - continue - } + attribute { + name = %[1]q + type = "S" + } +} +`, rName) +} - if err != nil { - return err - } +func testAccTableConfig_enable_deletion_protection(rName string) string { + return fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + name = %[1]q + read_capacity = 1 + write_capacity = 1 + hash_key = %[1]q + deletion_protection_enabled = true + + attribute { + name = %[1]q + type = "S" + } +} +`, rName) +} + +func testAccTableConfig_disable_deletion_protection(rName string) string { + return fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + name = %[1]q + read_capacity = 1 + write_capacity = 1 + hash_key = %[1]q + deletion_protection_enabled = false + attribute { + name = %[1]q + type = "S" + } +} +`, rName) +} + +func testAccTableConfig_backup(rName string) string { + return fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + name = %[1]q + read_capacity = 1 + write_capacity = 1 + hash_key = "TestTableHashKey" + + attribute { + name = "TestTableHashKey" + type = "S" + } + + point_in_time_recovery { + enabled = true + } +} +`, rName) +} + +func testAccTableConfig_pitrWithCustomRecovery(rName string, recoveryPeriodInDays int) string { + return fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + name = %[1]q + read_capacity = 1 + write_capacity = 1 + hash_key = "TestTableHashKey" + + attribute { + name = "TestTableHashKey" + type = "S" + } + + point_in_time_recovery { + enabled = true + recovery_period_in_days = %[2]d + } +} +`, rName, recoveryPeriodInDays) +} + +func testAccTableConfig_billingPayPerRequest(rName string) string { + return fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + name = %[1]q + billing_mode = "PAY_PER_REQUEST" + hash_key = "TestTableHashKey" + + attribute { + name = "TestTableHashKey" + type = "S" + } +} +`, rName) +} + +func testAccTableConfig_billingPayPerRequestIgnoreChanges(rName string) string { + return fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + name = %[1]q + billing_mode = "PAY_PER_REQUEST" + hash_key = "TestTableHashKey" + + attribute { + name = "TestTableHashKey" + type = "S" + } + + lifecycle { + ignore_changes = [read_capacity, write_capacity] + } +} +`, rName) +} + +func testAccTableConfig_billingProvisioned(rName string) string { + return fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + name = %[1]q + billing_mode = "PROVISIONED" + hash_key = "TestTableHashKey" + + read_capacity = 5 + write_capacity = 5 + + attribute { + name = "TestTableHashKey" + type = "S" + } +} +`, rName) +} + +func testAccTableConfig_billingProvisionedIgnoreChanges(rName string) string { + return fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + name = %[1]q + billing_mode = "PROVISIONED" + hash_key = "TestTableHashKey" + + read_capacity = 5 + write_capacity = 5 + + attribute { + name = "TestTableHashKey" + type = "S" + } + + lifecycle { + ignore_changes = [read_capacity, write_capacity] + } +} +`, rName) +} + +func testAccTableConfig_billingPayPerRequestGSI(rName string) string { + return fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + name = %[1]q + billing_mode = "PAY_PER_REQUEST" + hash_key = "TestTableHashKey" + + attribute { + name = "TestTableHashKey" + type = "S" + } + + attribute { + name = "TestTableGSIKey" + type = "S" + } + + global_secondary_index { + name = "TestTableGSI" + hash_key = "TestTableGSIKey" + projection_type = "KEYS_ONLY" + } +} +`, rName) +} + +func testAccTableConfig_billingProvisionedGSI(rName string) string { + return fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + billing_mode = "PROVISIONED" + hash_key = "TestTableHashKey" + name = %[1]q + read_capacity = 1 + write_capacity = 1 + + attribute { + name = "TestTableHashKey" + type = "S" + } - return fmt.Errorf("DynamoDB Table %s still exists", rs.Primary.ID) - } + attribute { + name = "TestTableGSIKey" + type = "S" + } - return nil - } + global_secondary_index { + hash_key = "TestTableGSIKey" + name = "TestTableGSI" + projection_type = "KEYS_ONLY" + read_capacity = 1 + write_capacity = 1 + } +} +`, rName) } -func testAccCheckInitialTableExists(ctx context.Context, n string, v *awstypes.TableDescription) resource.TestCheckFunc { - return func(s *terraform.State) error { - rs, ok := s.RootModule().Resources[n] - if !ok { - return fmt.Errorf("Not found: %s", n) - } +func testAccTableConfig_initialState(rName string) string { + return fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + name = %[1]q + read_capacity = 1 + write_capacity = 2 + hash_key = "TestTableHashKey" + range_key = "TestTableRangeKey" - conn := acctest.Provider.Meta().(*conns.AWSClient).DynamoDBClient(ctx) + attribute { + name = "TestTableHashKey" + type = "S" + } - output, err := tfdynamodb.FindTableByName(ctx, conn, rs.Primary.ID) + attribute { + name = "TestTableRangeKey" + type = "S" + } - if err != nil { - return err - } + attribute { + name = "TestLSIRangeKey" + type = "N" + } - *v = *output + attribute { + name = "TestGSIRangeKey" + type = "S" + } - return nil - } -} + local_secondary_index { + name = "TestTableLSI" + range_key = "TestLSIRangeKey" + projection_type = "ALL" + } -func testAccCheckTableExists(ctx context.Context, n string, v *awstypes.TableDescription) resource.TestCheckFunc { - return testAccCheckInitialTableExists(ctx, n, v) + global_secondary_index { + name = "InitialTestTableGSI" + hash_key = "TestTableHashKey" + range_key = "TestGSIRangeKey" + write_capacity = 1 + read_capacity = 1 + projection_type = "KEYS_ONLY" + } } - -func testAccCheckTableNotRecreated(i, j *awstypes.TableDescription) resource.TestCheckFunc { - return func(s *terraform.State) error { - if !i.CreationDateTime.Equal(aws.ToTime(j.CreationDateTime)) { - return errors.New("DynamoDB Table was recreated") - } - - return nil - } +`, rName) } -func testAccCheckReplicaExists(ctx context.Context, n string, region string, v *awstypes.TableDescription) resource.TestCheckFunc { - return func(s *terraform.State) error { - rs, ok := s.RootModule().Resources[n] - if !ok { - return fmt.Errorf("Not found: %s", n) - } +func testAccTableConfig_initialStateEncryptionAmazonCMK(rName string, enabled bool) string { + return fmt.Sprintf(` +data "aws_kms_alias" "dynamodb" { + name = "alias/aws/dynamodb" +} - conn := acctest.Provider.Meta().(*conns.AWSClient).DynamoDBClient(ctx) +resource "aws_kms_key" "test" { + description = %[1]q + deletion_window_in_days = 7 + enable_key_rotation = true +} - output, err := tfdynamodb.FindTableByName(ctx, conn, rs.Primary.ID, func(o *dynamodb.Options) { - o.Region = region - }) +resource "aws_dynamodb_table" "test" { + name = %[1]q + read_capacity = 1 + write_capacity = 1 + hash_key = "TestTableHashKey" - if err != nil { - return err - } + attribute { + name = "TestTableHashKey" + type = "S" + } - *v = *output + server_side_encryption { + enabled = %[2]t + } +} +`, rName, enabled) +} - return nil - } +func testAccTableConfig_initialStateEncryptionBYOK(rName string) string { + return fmt.Sprintf(` +resource "aws_kms_key" "test" { + description = %[1]q + deletion_window_in_days = 7 + enable_key_rotation = true } -func testAccCheckReplicaTags(ctx context.Context, n string, region string, expected map[string]string) resource.TestCheckFunc { - return func(s *terraform.State) error { - rs, ok := s.RootModule().Resources[n] - if !ok { - return fmt.Errorf("Not found: %s", n) - } +resource "aws_dynamodb_table" "test" { + name = %[1]q + read_capacity = 2 + write_capacity = 2 + hash_key = "TestTableHashKey" - conn := acctest.Provider.Meta().(*conns.AWSClient).DynamoDBClient(ctx) + attribute { + name = "TestTableHashKey" + type = "S" + } - newARN, err := tfdynamodb.ARNForNewRegion(rs.Primary.Attributes[names.AttrARN], region) + server_side_encryption { + enabled = true + kms_key_arn = aws_kms_key.test.arn + } +} +`, rName) +} - if err != nil { - return err - } +func testAccTableConfig_addSecondaryGSI(rName string) string { + return fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + name = %[1]q + read_capacity = 2 + write_capacity = 2 + hash_key = "TestTableHashKey" + range_key = "TestTableRangeKey" - actualKVT, err := tfdynamodb.ListTags(ctx, conn, newARN, func(o *dynamodb.Options) { - o.Region = region - }) + attribute { + name = "TestTableHashKey" + type = "S" + } - if err != nil && !tfawserr.ErrMessageContains(err, "UnknownOperationException", "Tagging is not currently supported in DynamoDB Local.") { - return create.Error(names.DynamoDB, create.ErrActionChecking, "Table", rs.Primary.Attributes[names.AttrARN], err) - } + attribute { + name = "TestTableRangeKey" + type = "S" + } - expectedKVT := tftags.New(ctx, expected) + attribute { + name = "TestLSIRangeKey" + type = "N" + } - if !expectedKVT.Equal(actualKVT) { - return fmt.Errorf("%s: Replica in '%s' tags expected %s, got %s", n, region, expectedKVT, actualKVT) - } + attribute { + name = "ReplacementGSIRangeKey" + type = "N" + } - return nil - } -} + local_secondary_index { + name = "TestTableLSI" + range_key = "TestLSIRangeKey" + projection_type = "ALL" + } -func testAccCheckInitialTableConf(resourceName string) resource.TestCheckFunc { - return resource.ComposeAggregateTestCheckFunc( - resource.TestCheckResourceAttr(resourceName, "hash_key", "TestTableHashKey"), - resource.TestCheckResourceAttr(resourceName, "range_key", "TestTableRangeKey"), - resource.TestCheckResourceAttr(resourceName, "billing_mode", string(awstypes.BillingModeProvisioned)), - resource.TestCheckResourceAttr(resourceName, "write_capacity", "2"), - resource.TestCheckResourceAttr(resourceName, "read_capacity", "1"), - resource.TestCheckResourceAttr(resourceName, "server_side_encryption.#", "0"), - resource.TestCheckResourceAttr(resourceName, "attribute.#", "4"), - resource.TestCheckResourceAttr(resourceName, "global_secondary_index.#", "1"), - resource.TestCheckResourceAttr(resourceName, "local_secondary_index.#", "1"), - resource.TestCheckTypeSetElemNestedAttrs(resourceName, "attribute.*", map[string]string{ - names.AttrName: "TestTableHashKey", - names.AttrType: "S", - }), - resource.TestCheckTypeSetElemNestedAttrs(resourceName, "attribute.*", map[string]string{ - names.AttrName: "TestTableRangeKey", - names.AttrType: "S", - }), - resource.TestCheckTypeSetElemNestedAttrs(resourceName, "attribute.*", map[string]string{ - names.AttrName: "TestLSIRangeKey", - names.AttrType: "N", - }), - resource.TestCheckTypeSetElemNestedAttrs(resourceName, "attribute.*", map[string]string{ - names.AttrName: "TestGSIRangeKey", - names.AttrType: "S", - }), - resource.TestCheckTypeSetElemNestedAttrs(resourceName, "global_secondary_index.*", map[string]string{ - names.AttrName: "InitialTestTableGSI", - "hash_key": "TestTableHashKey", - "range_key": "TestGSIRangeKey", - "write_capacity": "1", - "read_capacity": "1", - "projection_type": "KEYS_ONLY", - }), - resource.TestCheckTypeSetElemNestedAttrs(resourceName, "local_secondary_index.*", map[string]string{ - names.AttrName: "TestTableLSI", - "range_key": "TestLSIRangeKey", - "projection_type": "ALL", - }), - ) + global_secondary_index { + name = "ReplacementTestTableGSI" + hash_key = "TestTableHashKey" + range_key = "ReplacementGSIRangeKey" + write_capacity = 5 + read_capacity = 5 + projection_type = "INCLUDE" + non_key_attributes = ["TestNonKeyAttribute"] + } +} +`, rName) } -func testAccTableConfig_basic(rName string) string { +func testAccTableConfig_onDemandThroughput(rName string, read, write int) string { return fmt.Sprintf(` resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = 1 - write_capacity = 1 - hash_key = %[1]q + name = %[1]q + billing_mode = "PAY_PER_REQUEST" + hash_key = "TestTableHashKey" + + on_demand_throughput { + max_read_request_units = %[2]d + max_write_request_units = %[3]d + } attribute { - name = %[1]q + name = "TestTableHashKey" type = "S" } } -`, rName) +`, rName, read, write) } -func testAccTableConfig_enable_deletion_protection(rName string) string { +func testAccTableConfig_gsiOnDemandThroughput(rName string, read, write int) string { return fmt.Sprintf(` resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = 1 - write_capacity = 1 - hash_key = %[1]q - deletion_protection_enabled = true + name = %[1]q + billing_mode = "PAY_PER_REQUEST" + hash_key = "TestTableHashKey" + + on_demand_throughput { + max_read_request_units = 10 + max_write_request_units = 10 + } + + global_secondary_index { + name = "att1-index" + hash_key = "att1" + projection_type = "ALL" + + on_demand_throughput { + max_read_request_units = %[2]d + max_write_request_units = %[3]d + } + } attribute { - name = %[1]q + name = "TestTableHashKey" type = "S" } -} -`, rName) -} -func testAccTableConfig_disable_deletion_protection(rName string) string { - return fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = 1 - write_capacity = 1 - hash_key = %[1]q - deletion_protection_enabled = false attribute { - name = %[1]q + name = "att1" type = "S" } } -`, rName) +`, rName, read, write) } -func testAccTableConfig_backup(rName string) string { +func testAccTableConfig_streamSpecification(rName string, enabled bool, viewType string) string { + if viewType != "null" { + viewType = fmt.Sprintf(`"%s"`, viewType) + } return fmt.Sprintf(` resource "aws_dynamodb_table" "test" { name = %[1]q read_capacity = 1 - write_capacity = 1 + write_capacity = 2 hash_key = "TestTableHashKey" attribute { @@ -3764,172 +5176,312 @@ resource "aws_dynamodb_table" "test" { type = "S" } - point_in_time_recovery { - enabled = true - } + stream_enabled = %[2]t + stream_view_type = %[3]s } -`, rName) +`, rName, enabled, viewType) } -func testAccTableConfig_pitrWithCustomRecovery(rName string, recoveryPeriodInDays int) string { +func testAccTableConfig_gsiUpdate(rName string) string { return fmt.Sprintf(` +variable "capacity" { + default = 1 +} + resource "aws_dynamodb_table" "test" { name = %[1]q - read_capacity = 1 - write_capacity = 1 - hash_key = "TestTableHashKey" + read_capacity = var.capacity + write_capacity = var.capacity + hash_key = "id" attribute { - name = "TestTableHashKey" + name = "id" type = "S" } - point_in_time_recovery { - enabled = true - recovery_period_in_days = %[2]d + attribute { + name = "att1" + type = "S" } -} -`, rName, recoveryPeriodInDays) -} -func testAccTableConfig_billingPayPerRequest(rName string) string { - return fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - name = %[1]q - billing_mode = "PAY_PER_REQUEST" - hash_key = "TestTableHashKey" + attribute { + name = "att2" + type = "S" + } attribute { - name = "TestTableHashKey" + name = "att3" type = "S" } + + global_secondary_index { + name = "att1-index" + hash_key = "att1" + write_capacity = var.capacity + read_capacity = var.capacity + projection_type = "ALL" + } + + global_secondary_index { + name = "att2-index" + hash_key = "att2" + write_capacity = var.capacity + read_capacity = var.capacity + projection_type = "ALL" + } + + global_secondary_index { + name = "att3-index" + hash_key = "att3" + write_capacity = var.capacity + read_capacity = var.capacity + projection_type = "ALL" + } } `, rName) } -func testAccTableConfig_billingPayPerRequestIgnoreChanges(rName string) string { +func testAccTableConfig_gsiUpdatedCapacity(rName string) string { return fmt.Sprintf(` +variable "capacity" { + default = 2 +} + resource "aws_dynamodb_table" "test" { - name = %[1]q - billing_mode = "PAY_PER_REQUEST" - hash_key = "TestTableHashKey" + name = %[1]q + read_capacity = var.capacity + write_capacity = var.capacity + hash_key = "id" attribute { - name = "TestTableHashKey" + name = "id" type = "S" } - lifecycle { - ignore_changes = [read_capacity, write_capacity] + attribute { + name = "att1" + type = "S" + } + + attribute { + name = "att2" + type = "S" + } + + attribute { + name = "att3" + type = "S" + } + + global_secondary_index { + name = "att1-index" + hash_key = "att1" + write_capacity = var.capacity + read_capacity = var.capacity + projection_type = "ALL" + } + + global_secondary_index { + name = "att2-index" + hash_key = "att2" + write_capacity = var.capacity + read_capacity = var.capacity + projection_type = "ALL" + } + + global_secondary_index { + name = "att3-index" + hash_key = "att3" + write_capacity = var.capacity + read_capacity = var.capacity + projection_type = "ALL" } } `, rName) } -func testAccTableConfig_billingProvisioned(rName string) string { +func testAccTableConfig_gsiUpdatedOtherAttributes(rName string) string { return fmt.Sprintf(` +variable "capacity" { + default = 1 +} + resource "aws_dynamodb_table" "test" { - name = %[1]q - billing_mode = "PROVISIONED" - hash_key = "TestTableHashKey" + name = %[1]q + read_capacity = var.capacity + write_capacity = var.capacity + hash_key = "id" - read_capacity = 5 - write_capacity = 5 + attribute { + name = "id" + type = "S" + } attribute { - name = "TestTableHashKey" + name = "att1" + type = "S" + } + + attribute { + name = "att2" + type = "S" + } + + attribute { + name = "att3" + type = "S" + } + + attribute { + name = "att4" type = "S" } + + global_secondary_index { + name = "att1-index" + hash_key = "att1" + write_capacity = var.capacity + read_capacity = var.capacity + projection_type = "ALL" + } + + global_secondary_index { + name = "att2-index" + hash_key = "att4" + range_key = "att2" + write_capacity = var.capacity + read_capacity = var.capacity + projection_type = "ALL" + } + + global_secondary_index { + name = "att3-index" + hash_key = "att3" + range_key = "att4" + write_capacity = var.capacity + read_capacity = var.capacity + projection_type = "INCLUDE" + non_key_attributes = ["RandomAttribute"] + } } `, rName) } -func testAccTableConfig_billingProvisionedIgnoreChanges(rName string) string { +func testAccTableConfig_gsiUpdatedNonKeyAttributes(rName string) string { return fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - name = %[1]q - billing_mode = "PROVISIONED" - hash_key = "TestTableHashKey" +variable "capacity" { + default = 1 +} - read_capacity = 5 - write_capacity = 5 +resource "aws_dynamodb_table" "test" { + name = %[1]q + read_capacity = var.capacity + write_capacity = var.capacity + hash_key = "id" attribute { - name = "TestTableHashKey" + name = "id" type = "S" } - lifecycle { - ignore_changes = [read_capacity, write_capacity] + attribute { + name = "att1" + type = "S" } -} -`, rName) -} -func testAccTableConfig_billingPayPerRequestGSI(rName string) string { - return fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - name = %[1]q - billing_mode = "PAY_PER_REQUEST" - hash_key = "TestTableHashKey" + attribute { + name = "att2" + type = "S" + } attribute { - name = "TestTableHashKey" + name = "att3" type = "S" } attribute { - name = "TestTableGSIKey" + name = "att4" type = "S" } global_secondary_index { - name = "TestTableGSI" - hash_key = "TestTableGSIKey" - projection_type = "KEYS_ONLY" + name = "att1-index" + hash_key = "att1" + write_capacity = var.capacity + read_capacity = var.capacity + projection_type = "ALL" + } + + global_secondary_index { + name = "att2-index" + hash_key = "att4" + range_key = "att2" + write_capacity = var.capacity + read_capacity = var.capacity + projection_type = "ALL" + } + + global_secondary_index { + name = "att3-index" + hash_key = "att3" + range_key = "att4" + write_capacity = var.capacity + read_capacity = var.capacity + projection_type = "INCLUDE" + non_key_attributes = ["RandomAttribute", "AnotherAttribute"] } } `, rName) } -func testAccTableConfig_billingProvisionedGSI(rName string) string { +func testAccTableConfig_gsiMultipleNonKeyAttributes(rName, attributes string) string { return fmt.Sprintf(` +variable "capacity" { + default = 1 +} + resource "aws_dynamodb_table" "test" { - billing_mode = "PROVISIONED" - hash_key = "TestTableHashKey" name = %[1]q - read_capacity = 1 - write_capacity = 1 + read_capacity = var.capacity + write_capacity = var.capacity + hash_key = "id" attribute { - name = "TestTableHashKey" + name = "id" type = "S" } attribute { - name = "TestTableGSIKey" + name = "att1" + type = "S" + } + + attribute { + name = "att2" type = "S" } global_secondary_index { - hash_key = "TestTableGSIKey" - name = "TestTableGSI" - projection_type = "KEYS_ONLY" - read_capacity = 1 - write_capacity = 1 + name = "att1-index" + hash_key = "att1" + range_key = "att2" + write_capacity = var.capacity + read_capacity = var.capacity + projection_type = "INCLUDE" + non_key_attributes = [%s] } } -`, rName) +`, rName, attributes) } -func testAccTableConfig_initialState(rName string) string { +func testAccTableConfig_lsiNonKeyAttributes(rName string) string { return fmt.Sprintf(` resource "aws_dynamodb_table" "test" { name = %[1]q - read_capacity = 1 - write_capacity = 2 hash_key = "TestTableHashKey" range_key = "TestTableRangeKey" + write_capacity = 1 + read_capacity = 1 attribute { name = "TestTableHashKey" @@ -3946,687 +5498,748 @@ resource "aws_dynamodb_table" "test" { type = "N" } - attribute { - name = "TestGSIRangeKey" - type = "S" - } - local_secondary_index { - name = "TestTableLSI" - range_key = "TestLSIRangeKey" - projection_type = "ALL" - } - - global_secondary_index { - name = "InitialTestTableGSI" - hash_key = "TestTableHashKey" - range_key = "TestGSIRangeKey" - write_capacity = 1 - read_capacity = 1 - projection_type = "KEYS_ONLY" + name = "TestTableLSI" + range_key = "TestLSIRangeKey" + projection_type = "INCLUDE" + non_key_attributes = ["TestNonKeyAttribute"] } } `, rName) } -func testAccTableConfig_initialStateEncryptionAmazonCMK(rName string, enabled bool) string { +func testAccTableConfig_timeToLive(rName, ttlAttribute string, ttlEnabled bool) string { return fmt.Sprintf(` -data "aws_kms_alias" "dynamodb" { - name = "alias/aws/dynamodb" -} - -resource "aws_kms_key" "test" { - description = %[1]q - deletion_window_in_days = 7 - enable_key_rotation = true -} - resource "aws_dynamodb_table" "test" { + hash_key = "TestTableHashKey" name = %[1]q read_capacity = 1 write_capacity = 1 - hash_key = "TestTableHashKey" attribute { name = "TestTableHashKey" type = "S" } - server_side_encryption { - enabled = %[2]t + ttl { + attribute_name = %[2]q + enabled = %[3]t } } -`, rName, enabled) +`, rName, ttlAttribute, ttlEnabled) } -func testAccTableConfig_initialStateEncryptionBYOK(rName string) string { +func testAccTableConfig_timeToLive_unset(rName string) string { return fmt.Sprintf(` -resource "aws_kms_key" "test" { - description = %[1]q - deletion_window_in_days = 7 - enable_key_rotation = true -} - resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = 2 - write_capacity = 2 hash_key = "TestTableHashKey" + name = %[1]q + read_capacity = 1 + write_capacity = 1 attribute { name = "TestTableHashKey" type = "S" } - - server_side_encryption { - enabled = true - kms_key_arn = aws_kms_key.test.arn - } } `, rName) } -func testAccTableConfig_addSecondaryGSI(rName string) string { +func testAccTableConfig_TTL_missingAttributeName(rName string, ttlEnabled bool) string { return fmt.Sprintf(` resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = 2 - write_capacity = 2 hash_key = "TestTableHashKey" - range_key = "TestTableRangeKey" + name = %[1]q + read_capacity = 1 + write_capacity = 1 attribute { name = "TestTableHashKey" type = "S" } - attribute { - name = "TestTableRangeKey" - type = "S" + ttl { + attribute_name = "" + enabled = %[2]t } +} +`, rName, ttlEnabled) +} - attribute { - name = "TestLSIRangeKey" - type = "N" - } +func testAccTableConfig_oneAttribute(rName, hashKey, attrName, attrType string) string { + return fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + name = %[1]q + read_capacity = 10 + write_capacity = 10 + hash_key = "staticHashKey" attribute { - name = "ReplacementGSIRangeKey" - type = "N" + name = "staticHashKey" + type = "S" } - local_secondary_index { - name = "TestTableLSI" - range_key = "TestLSIRangeKey" - projection_type = "ALL" + attribute { + name = %[3]q + type = %[4]q } global_secondary_index { - name = "ReplacementTestTableGSI" - hash_key = "TestTableHashKey" - range_key = "ReplacementGSIRangeKey" - write_capacity = 5 - read_capacity = 5 - projection_type = "INCLUDE" - non_key_attributes = ["TestNonKeyAttribute"] + name = "gsiName" + hash_key = %[2]q + write_capacity = 10 + read_capacity = 10 + projection_type = "KEYS_ONLY" } } -`, rName) +`, rName, hashKey, attrName, attrType) } -func testAccTableConfig_onDemandThroughput(rName string, read, write int) string { +func testAccTableConfig_twoAttributes(rName, hashKey, rangeKey, attrName1, attrType1, attrName2, attrType2 string) string { return fmt.Sprintf(` resource "aws_dynamodb_table" "test" { - name = %[1]q - billing_mode = "PAY_PER_REQUEST" - hash_key = "TestTableHashKey" - - on_demand_throughput { - max_read_request_units = %[2]d - max_write_request_units = %[3]d - } + name = %[1]q + read_capacity = 10 + write_capacity = 10 + hash_key = "staticHashKey" attribute { - name = "TestTableHashKey" + name = "staticHashKey" type = "S" } -} -`, rName, read, write) -} - -func testAccTableConfig_gsiOnDemandThroughput(rName string, read, write int) string { - return fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - name = %[1]q - billing_mode = "PAY_PER_REQUEST" - hash_key = "TestTableHashKey" - on_demand_throughput { - max_read_request_units = 10 - max_write_request_units = 10 + attribute { + name = %[4]q + type = %[5]q } - global_secondary_index { - name = "att1-index" - hash_key = "att1" - projection_type = "ALL" + attribute { + name = %[6]q + type = %[7]q + } - on_demand_throughput { - max_read_request_units = %[2]d - max_write_request_units = %[3]d - } + global_secondary_index { + name = "gsiName" + hash_key = %[2]q + range_key = %[3]q + write_capacity = 10 + read_capacity = 10 + projection_type = "KEYS_ONLY" } +} +`, rName, hashKey, rangeKey, attrName1, attrType1, attrName2, attrType2) +} + +func testAccTableConfig_unmatchedIndexes(rName, attr1, attr2 string) string { + return fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + name = %[1]q + read_capacity = 10 + write_capacity = 10 + hash_key = "staticHashKey" + range_key = %[2]q attribute { - name = "TestTableHashKey" + name = "staticHashKey" type = "S" } - attribute { - name = "att1" - type = "S" + local_secondary_index { + name = "lsiName" + range_key = %[3]q + projection_type = "KEYS_ONLY" } } -`, rName, read, write) +`, rName, attr1, attr2) } -func testAccTableConfig_streamSpecification(rName string, enabled bool, viewType string) string { - if viewType != "null" { - viewType = fmt.Sprintf(`"%s"`, viewType) - } - return fmt.Sprintf(` +func testAccTableConfig_replica0(rName string) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors + fmt.Sprintf(` resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = 1 - write_capacity = 2 - hash_key = "TestTableHashKey" + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" attribute { name = "TestTableHashKey" type = "S" } - - stream_enabled = %[2]t - stream_view_type = %[3]s } -`, rName, enabled, viewType) +`, rName)) } -func testAccTableConfig_gsiUpdate(rName string) string { - return fmt.Sprintf(` -variable "capacity" { - default = 1 +func testAccTableConfig_replica1(rName string) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" } resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = var.capacity - write_capacity = var.capacity - hash_key = "id" + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" attribute { - name = "id" + name = "TestTableHashKey" type = "S" } - attribute { - name = "att1" - type = "S" + replica { + region_name = data.aws_region.alternate.region } +} +`, rName)) +} - attribute { - name = "att2" - type = "S" - } +func testAccTableConfig_MRSC_replica_count3(rName string) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(4), // Prevent "Provider configuration not present" errors + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" +} + +data "aws_region" "third" { + provider = "awsthird" +} + +data "aws_region" "fourth" { + provider = "awsfourth" +} + +resource "aws_dynamodb_table" "test_mrsc" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" attribute { - name = "att3" + name = "TestTableHashKey" type = "S" } - global_secondary_index { - name = "att1-index" - hash_key = "att1" - write_capacity = var.capacity - read_capacity = var.capacity - projection_type = "ALL" + replica { + region_name = data.aws_region.alternate.name + consistency_mode = "STRONG" } - global_secondary_index { - name = "att2-index" - hash_key = "att2" - write_capacity = var.capacity - read_capacity = var.capacity - projection_type = "ALL" + replica { + region_name = data.aws_region.third.name + consistency_mode = "STRONG" } - global_secondary_index { - name = "att3-index" - hash_key = "att3" - write_capacity = var.capacity - read_capacity = var.capacity - projection_type = "ALL" + replica { + region_name = data.aws_region.fourth.name + consistency_mode = "STRONG" } } -`, rName) +`, rName)) } -func testAccTableConfig_gsiUpdatedCapacity(rName string) string { - return fmt.Sprintf(` -variable "capacity" { - default = 2 +func testAccTableConfig_MRSC_replica_count1(rName string) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(2), // Prevent "Provider configuration not present" errors + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" } -resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = var.capacity - write_capacity = var.capacity - hash_key = "id" +data "aws_region" "third" { + provider = "awsthird" +} - attribute { - name = "id" - type = "S" - } +data "aws_region" "fourth" { + provider = "awsfourth" +} + +resource "aws_dynamodb_table" "test_mrsc" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" attribute { - name = "att1" + name = "TestTableHashKey" type = "S" } - attribute { - name = "att2" - type = "S" + replica { + region_name = data.aws_region.alternate.name + consistency_mode = "STRONG" } +} +`, rName)) +} + +func testAccTableConfig_MRSC_replica_mixed_consistency_mode(rName string) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" +} + +data "aws_region" "third" { + provider = "awsthird" +} + +resource "aws_dynamodb_table" "test_mrsc" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" attribute { - name = "att3" + name = "TestTableHashKey" type = "S" } - global_secondary_index { - name = "att1-index" - hash_key = "att1" - write_capacity = var.capacity - read_capacity = var.capacity - projection_type = "ALL" - } - - global_secondary_index { - name = "att2-index" - hash_key = "att2" - write_capacity = var.capacity - read_capacity = var.capacity - projection_type = "ALL" + replica { + region_name = data.aws_region.alternate.name + consistency_mode = "STRONG" } - global_secondary_index { - name = "att3-index" - hash_key = "att3" - write_capacity = var.capacity - read_capacity = var.capacity - projection_type = "ALL" + replica { + region_name = data.aws_region.third.name + consistency_mode = "EVENTUAL" } } -`, rName) +`, rName)) } -func testAccTableConfig_gsiUpdatedOtherAttributes(rName string) string { - return fmt.Sprintf(` -variable "capacity" { - default = 1 +func testAccTableConfig_MRSC_replica_eventual_consistency(rName string) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" } -resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = var.capacity - write_capacity = var.capacity - hash_key = "id" +data "aws_region" "third" { + provider = "awsthird" +} - attribute { - name = "id" - type = "S" - } +resource "aws_dynamodb_table" "test_mrsc" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" attribute { - name = "att1" + name = "TestTableHashKey" type = "S" } - attribute { - name = "att2" - type = "S" + replica { + region_name = data.aws_region.alternate.name + consistency_mode = "EVENTUAL" } - attribute { - name = "att3" - type = "S" + replica { + region_name = data.aws_region.third.name + consistency_mode = "EVENTUAL" } +} +`, rName)) +} + +func testAccTableConfig_MRSC_replica(rName string) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" +} + +data "aws_region" "third" { + provider = "awsthird" +} + +resource "aws_dynamodb_table" "test_mrsc" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" attribute { - name = "att4" + name = "TestTableHashKey" type = "S" } - global_secondary_index { - name = "att1-index" - hash_key = "att1" - write_capacity = var.capacity - read_capacity = var.capacity - projection_type = "ALL" - } - - global_secondary_index { - name = "att2-index" - hash_key = "att4" - range_key = "att2" - write_capacity = var.capacity - read_capacity = var.capacity - projection_type = "ALL" + replica { + region_name = data.aws_region.alternate.name + consistency_mode = "STRONG" } - global_secondary_index { - name = "att3-index" - hash_key = "att3" - range_key = "att4" - write_capacity = var.capacity - read_capacity = var.capacity - projection_type = "INCLUDE" - non_key_attributes = ["RandomAttribute"] + replica { + region_name = data.aws_region.third.name + consistency_mode = "STRONG" } } -`, rName) +`, rName)) } -func testAccTableConfig_gsiUpdatedNonKeyAttributes(rName string) string { - return fmt.Sprintf(` -variable "capacity" { - default = 1 +func testAccTableConfig_replicaEncryptedDefault(rName string, sseEnabled bool) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" } resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = var.capacity - write_capacity = var.capacity - hash_key = "id" + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" attribute { - name = "id" + name = "TestTableHashKey" type = "S" } - attribute { - name = "att1" - type = "S" + server_side_encryption { + enabled = %[2]t } - attribute { - name = "att2" - type = "S" + replica { + region_name = data.aws_region.alternate.region } +} +`, rName, sseEnabled)) +} - attribute { - name = "att3" - type = "S" - } +func testAccTableConfig_replicaCMK(rName string) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" +} + +resource "aws_kms_key" "test" { + description = %[1]q + deletion_window_in_days = 7 + enable_key_rotation = true +} + +resource "aws_kms_key" "awsalternate" { + provider = "awsalternate" + description = %[1]q + deletion_window_in_days = 7 + enable_key_rotation = true +} + +resource "aws_dynamodb_table" "test" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" attribute { - name = "att4" + name = "TestTableHashKey" type = "S" } - global_secondary_index { - name = "att1-index" - hash_key = "att1" - write_capacity = var.capacity - read_capacity = var.capacity - projection_type = "ALL" + replica { + region_name = data.aws_region.alternate.region + kms_key_arn = aws_kms_key.awsalternate.arn } - global_secondary_index { - name = "att2-index" - hash_key = "att4" - range_key = "att2" - write_capacity = var.capacity - read_capacity = var.capacity - projection_type = "ALL" + server_side_encryption { + enabled = true + kms_key_arn = aws_kms_key.test.arn } - global_secondary_index { - name = "att3-index" - hash_key = "att3" - range_key = "att4" - write_capacity = var.capacity - read_capacity = var.capacity - projection_type = "INCLUDE" - non_key_attributes = ["RandomAttribute", "AnotherAttribute"] + timeouts { + create = "20m" + update = "20m" + delete = "20m" } } -`, rName) +`, rName)) } -func testAccTableConfig_gsiMultipleNonKeyAttributes(rName, attributes string) string { - return fmt.Sprintf(` -variable "capacity" { - default = 1 +func testAccTableConfig_replicaAmazonManagedKey(rName string) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" +} + +data "aws_region" "third" { + provider = "awsthird" } resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = var.capacity - write_capacity = var.capacity - hash_key = "id" + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" attribute { - name = "id" + name = "TestTableHashKey" type = "S" } - attribute { - name = "att1" - type = "S" + replica { + region_name = data.aws_region.alternate.region } - attribute { - name = "att2" - type = "S" + replica { + region_name = data.aws_region.third.region } - global_secondary_index { - name = "att1-index" - hash_key = "att1" - range_key = "att2" - write_capacity = var.capacity - read_capacity = var.capacity - projection_type = "INCLUDE" - non_key_attributes = [%s] + server_side_encryption { + enabled = true + } + + timeouts { + create = "20m" + update = "20m" + delete = "20m" } } -`, rName, attributes) +`, rName)) +} + +func testAccTableConfig_replica_MRSC_AmazonManagedKey(rName string) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" +} + +data "aws_region" "third" { + provider = "awsthird" } -func testAccTableConfig_lsiNonKeyAttributes(rName string) string { - return fmt.Sprintf(` resource "aws_dynamodb_table" "test" { - name = %[1]q - hash_key = "TestTableHashKey" - range_key = "TestTableRangeKey" - write_capacity = 1 - read_capacity = 1 + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" attribute { name = "TestTableHashKey" type = "S" } - attribute { - name = "TestTableRangeKey" - type = "S" + replica { + region_name = data.aws_region.alternate.name + consistency_mode = "STRONG" } - attribute { - name = "TestLSIRangeKey" - type = "N" + replica { + region_name = data.aws_region.third.name + consistency_mode = "STRONG" } - local_secondary_index { - name = "TestTableLSI" - range_key = "TestLSIRangeKey" - projection_type = "INCLUDE" - non_key_attributes = ["TestNonKeyAttribute"] + server_side_encryption { + enabled = true + } + + timeouts { + create = "20m" + update = "20m" + delete = "20m" } } -`, rName) +`, rName)) } -func testAccTableConfig_timeToLive(rName, ttlAttribute string, ttlEnabled bool) string { - return fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - hash_key = "TestTableHashKey" - name = %[1]q - read_capacity = 1 - write_capacity = 1 +func testAccTableConfig_replicaCMKUpdate(rName, keyReplica1, keyReplica2 string) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" +} - attribute { - name = "TestTableHashKey" - type = "S" - } +data "aws_region" "third" { + provider = "awsthird" +} - ttl { - attribute_name = %[2]q - enabled = %[3]t - } +resource "aws_kms_key" "test" { + description = %[1]q + deletion_window_in_days = 7 + enable_key_rotation = true } -`, rName, ttlAttribute, ttlEnabled) + +resource "aws_kms_key" "awsalternate1" { + provider = "awsalternate" + description = "%[1]s-1" + deletion_window_in_days = 7 + enable_key_rotation = true } -func testAccTableConfig_timeToLive_unset(rName string) string { - return fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - hash_key = "TestTableHashKey" - name = %[1]q - read_capacity = 1 - write_capacity = 1 +resource "aws_kms_key" "awsalternate2" { + provider = "awsalternate" + description = "%[1]s-2" + deletion_window_in_days = 7 + enable_key_rotation = true +} - attribute { - name = "TestTableHashKey" - type = "S" - } +resource "aws_kms_key" "awsthird1" { + provider = "awsthird" + description = "%[1]s-1" + deletion_window_in_days = 7 + enable_key_rotation = true } -`, rName) + +resource "aws_kms_key" "awsthird2" { + provider = "awsthird" + description = "%[1]s-2" + deletion_window_in_days = 7 + enable_key_rotation = true } -func testAccTableConfig_TTL_missingAttributeName(rName string, ttlEnabled bool) string { - return fmt.Sprintf(` resource "aws_dynamodb_table" "test" { - hash_key = "TestTableHashKey" - name = %[1]q - read_capacity = 1 - write_capacity = 1 + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" attribute { name = "TestTableHashKey" type = "S" } - ttl { - attribute_name = "" - enabled = %[2]t + replica { + region_name = data.aws_region.alternate.region + kms_key_arn = aws_kms_key.%[2]s.arn } -} -`, rName, ttlEnabled) -} -func testAccTableConfig_oneAttribute(rName, hashKey, attrName, attrType string) string { - return fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = 10 - write_capacity = 10 - hash_key = "staticHashKey" - - attribute { - name = "staticHashKey" - type = "S" + replica { + region_name = data.aws_region.third.region + kms_key_arn = aws_kms_key.%[3]s.arn } - attribute { - name = %[3]q - type = %[4]q + server_side_encryption { + enabled = true + kms_key_arn = aws_kms_key.test.arn } - global_secondary_index { - name = "gsiName" - hash_key = %[2]q - write_capacity = 10 - read_capacity = 10 - projection_type = "KEYS_ONLY" + timeouts { + create = "20m" + update = "20m" + delete = "20m" } } -`, rName, hashKey, attrName, attrType) +`, rName, keyReplica1, keyReplica2)) } -func testAccTableConfig_twoAttributes(rName, hashKey, rangeKey, attrName1, attrType1, attrName2, attrType2 string) string { - return fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = 10 - write_capacity = 10 - hash_key = "staticHashKey" +func testAccTableConfig_replica_MRSC_CMKUpdate(rName, keyReplica1, keyReplica2 string) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" +} - attribute { - name = "staticHashKey" - type = "S" - } +data "aws_region" "third" { + provider = "awsthird" +} - attribute { - name = %[4]q - type = %[5]q - } +resource "aws_kms_key" "test" { + description = %[1]q + deletion_window_in_days = 7 +} - attribute { - name = %[6]q - type = %[7]q - } +resource "aws_kms_key" "awsalternate1" { + provider = "awsalternate" + description = "%[1]s-1" + deletion_window_in_days = 7 +} - global_secondary_index { - name = "gsiName" - hash_key = %[2]q - range_key = %[3]q - write_capacity = 10 - read_capacity = 10 - projection_type = "KEYS_ONLY" - } +resource "aws_kms_key" "awsalternate2" { + provider = "awsalternate" + description = "%[1]s-2" + deletion_window_in_days = 7 } -`, rName, hashKey, rangeKey, attrName1, attrType1, attrName2, attrType2) + +resource "aws_kms_key" "awsthird1" { + provider = "awsthird" + description = "%[1]s-1" + deletion_window_in_days = 7 +} + +resource "aws_kms_key" "awsthird2" { + provider = "awsthird" + description = "%[1]s-2" + deletion_window_in_days = 7 } -func testAccTableConfig_unmatchedIndexes(rName, attr1, attr2 string) string { - return fmt.Sprintf(` resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = 10 - write_capacity = 10 - hash_key = "staticHashKey" - range_key = %[2]q + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" attribute { - name = "staticHashKey" + name = "TestTableHashKey" type = "S" } - local_secondary_index { - name = "lsiName" - range_key = %[3]q - projection_type = "KEYS_ONLY" + replica { + region_name = data.aws_region.alternate.name + kms_key_arn = aws_kms_key.%[2]s.arn + consistency_mode = "STRONG" + } + + replica { + region_name = data.aws_region.third.name + kms_key_arn = aws_kms_key.%[3]s.arn + consistency_mode = "STRONG" + } + + server_side_encryption { + enabled = true + kms_key_arn = aws_kms_key.test.arn + } + + timeouts { + create = "20m" + update = "20m" + delete = "20m" } } -`, rName, attr1, attr2) +`, rName, keyReplica1, keyReplica2)) } -func testAccTableConfig_replica0(rName string) string { +func testAccTableConfig_replicaPITR(rName string, mainPITR, replica1, replica2 bool) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" +} + +data "aws_region" "third" { + provider = "awsthird" +} + resource "aws_dynamodb_table" "test" { name = %[1]q hash_key = "TestTableHashKey" @@ -4638,11 +6251,25 @@ resource "aws_dynamodb_table" "test" { name = "TestTableHashKey" type = "S" } + + point_in_time_recovery { + enabled = %[2]t + } + + replica { + region_name = data.aws_region.alternate.region + point_in_time_recovery = %[3]t + } + + replica { + region_name = data.aws_region.third.region + point_in_time_recovery = %[4]t + } } -`, rName)) +`, rName, mainPITR, replica1, replica2)) } -func testAccTableConfig_replica1(rName string) string { +func testAccTableConfig_replica_MRSC_PITR(rName string, mainPITR, replica1, replica2 bool) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors fmt.Sprintf(` @@ -4650,6 +6277,10 @@ data "aws_region" "alternate" { provider = "awsalternate" } +data "aws_region" "third" { + provider = "awsthird" +} + resource "aws_dynamodb_table" "test" { name = %[1]q hash_key = "TestTableHashKey" @@ -4662,19 +6293,55 @@ resource "aws_dynamodb_table" "test" { type = "S" } + point_in_time_recovery { + enabled = %[2]t + } + replica { - region_name = data.aws_region.alternate.region + region_name = data.aws_region.alternate.name + point_in_time_recovery = %[3]t + consistency_mode = "STRONG" + } + + replica { + region_name = data.aws_region.third.name + point_in_time_recovery = %[4]t + consistency_mode = "STRONG" } } -`, rName)) +`, rName, mainPITR, replica1, replica2)) } -func testAccTableConfig_replicaEncryptedDefault(rName string, sseEnabled bool) string { +func testAccTableConfig_replicaPITRKMS(rName string, mainPITR, replica1, replica2 bool) string { return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors + acctest.ConfigMultipleRegionProvider(3), fmt.Sprintf(` data "aws_region" "alternate" { - provider = "awsalternate" + provider = awsalternate +} + +data "aws_region" "third" { + provider = awsthird +} + +resource "aws_kms_key" "test" { + description = %[1]q + deletion_window_in_days = 7 + enable_key_rotation = true +} + +resource "aws_kms_key" "alternate" { + provider = awsalternate + description = %[1]q + deletion_window_in_days = 7 + enable_key_rotation = true +} + +resource "aws_kms_key" "third" { + provider = awsthird + description = %[1]q + deletion_window_in_days = 7 + enable_key_rotation = true } resource "aws_dynamodb_table" "test" { @@ -4689,36 +6356,57 @@ resource "aws_dynamodb_table" "test" { type = "S" } - server_side_encryption { + point_in_time_recovery { enabled = %[2]t } + server_side_encryption { + enabled = true + kms_key_arn = aws_kms_key.test.arn + } + replica { - region_name = data.aws_region.alternate.region + region_name = data.aws_region.alternate.region + point_in_time_recovery = %[3]t + kms_key_arn = aws_kms_key.alternate.arn + } + + replica { + region_name = data.aws_region.third.region + point_in_time_recovery = %[4]t + kms_key_arn = aws_kms_key.third.arn } } -`, rName, sseEnabled)) +`, rName, mainPITR, replica1, replica2)) } -func testAccTableConfig_replicaCMK(rName string) string { +func testAccTableConfig_replica_MRSC_PITRKMS(rName string, mainPITR, replica1, replica2 bool) string { return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors + acctest.ConfigMultipleRegionProvider(3), fmt.Sprintf(` data "aws_region" "alternate" { - provider = "awsalternate" + provider = awsalternate +} + +data "aws_region" "third" { + provider = awsthird } resource "aws_kms_key" "test" { description = %[1]q deletion_window_in_days = 7 - enable_key_rotation = true } -resource "aws_kms_key" "awsalternate" { - provider = "awsalternate" +resource "aws_kms_key" "alternate" { + provider = awsalternate + description = %[1]q + deletion_window_in_days = 7 +} + +resource "aws_kms_key" "third" { + provider = awsthird description = %[1]q deletion_window_in_days = 7 - enable_key_rotation = true } resource "aws_dynamodb_table" "test" { @@ -4733,9 +6421,8 @@ resource "aws_dynamodb_table" "test" { type = "S" } - replica { - region_name = data.aws_region.alternate.region - kms_key_arn = aws_kms_key.awsalternate.arn + point_in_time_recovery { + enabled = %[2]t } server_side_encryption { @@ -4743,18 +6430,26 @@ resource "aws_dynamodb_table" "test" { kms_key_arn = aws_kms_key.test.arn } - timeouts { - create = "20m" - update = "20m" - delete = "20m" + replica { + region_name = data.aws_region.alternate.name + point_in_time_recovery = %[3]t + kms_key_arn = aws_kms_key.alternate.arn + consistency_mode = "STRONG" + } + + replica { + region_name = data.aws_region.third.name + point_in_time_recovery = %[4]t + kms_key_arn = aws_kms_key.third.arn + consistency_mode = "STRONG" } } -`, rName)) +`, rName, mainPITR, replica1, replica2)) } -func testAccTableConfig_replicaAmazonManagedKey(rName string) string { +func testAccTableConfig_replicaTags(rName, key, value string, propagate1, propagate2 bool) string { return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors + acctest.ConfigMultipleRegionProvider(3), fmt.Sprintf(` data "aws_region" "alternate" { provider = "awsalternate" @@ -4777,29 +6472,27 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = data.aws_region.alternate.region + region_name = data.aws_region.alternate.region + propagate_tags = %[4]t } replica { - region_name = data.aws_region.third.region - } - - server_side_encryption { - enabled = true + region_name = data.aws_region.third.region + propagate_tags = %[5]t } - timeouts { - create = "20m" - update = "20m" - delete = "20m" + tags = { + Name = %[1]q + Pozo = "Amargo" + %[2]s = %[3]q } } -`, rName)) +`, rName, key, value, propagate1, propagate2)) } -func testAccTableConfig_replicaCMKUpdate(rName, keyReplica1, keyReplica2 string) string { +func testAccTableConfig_replica_MRSC_Tags(rName, key, value string, propagate1, propagate2 bool) string { return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors + acctest.ConfigMultipleRegionProvider(3), fmt.Sprintf(` data "aws_region" "alternate" { provider = "awsalternate" @@ -4809,40 +6502,6 @@ data "aws_region" "third" { provider = "awsthird" } -resource "aws_kms_key" "test" { - description = %[1]q - deletion_window_in_days = 7 - enable_key_rotation = true -} - -resource "aws_kms_key" "awsalternate1" { - provider = "awsalternate" - description = "%[1]s-1" - deletion_window_in_days = 7 - enable_key_rotation = true -} - -resource "aws_kms_key" "awsalternate2" { - provider = "awsalternate" - description = "%[1]s-2" - deletion_window_in_days = 7 - enable_key_rotation = true -} - -resource "aws_kms_key" "awsthird1" { - provider = "awsthird" - description = "%[1]s-1" - deletion_window_in_days = 7 - enable_key_rotation = true -} - -resource "aws_kms_key" "awsthird2" { - provider = "awsthird" - description = "%[1]s-2" - deletion_window_in_days = 7 - enable_key_rotation = true -} - resource "aws_dynamodb_table" "test" { name = %[1]q hash_key = "TestTableHashKey" @@ -4856,32 +6515,29 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = data.aws_region.alternate.region - kms_key_arn = aws_kms_key.%[2]s.arn + region_name = data.aws_region.alternate.name + propagate_tags = %[4]t + consistency_mode = "STRONG" } replica { - region_name = data.aws_region.third.region - kms_key_arn = aws_kms_key.%[3]s.arn - } - - server_side_encryption { - enabled = true - kms_key_arn = aws_kms_key.test.arn + region_name = data.aws_region.third.name + propagate_tags = %[5]t + consistency_mode = "STRONG" } - timeouts { - create = "20m" - update = "20m" - delete = "20m" + tags = { + Name = %[1]q + Pozo = "Amargo" + %[2]s = %[3]q } } -`, rName, keyReplica1, keyReplica2)) +`, rName, key, value, propagate1, propagate2)) } -func testAccTableConfig_replicaPITR(rName string, mainPITR, replica1, replica2 bool) string { +func testAccTableConfig_replica2(rName string) string { return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors + acctest.ConfigMultipleRegionProvider(3), fmt.Sprintf(` data "aws_region" "alternate" { provider = "awsalternate" @@ -4903,55 +6559,113 @@ resource "aws_dynamodb_table" "test" { type = "S" } - point_in_time_recovery { - enabled = %[2]t + replica { + region_name = data.aws_region.alternate.region } replica { - region_name = data.aws_region.alternate.region - point_in_time_recovery = %[3]t + region_name = data.aws_region.third.region + } +} +`, rName)) +} + +func testAccTableConfig_replicaTagsNext1(rName string, region1 string, propagate1 bool) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), + fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" + + attribute { + name = "TestTableHashKey" + type = "S" } replica { - region_name = data.aws_region.third.region - point_in_time_recovery = %[4]t + region_name = %[2]q + propagate_tags = %[3]t + } + + tags = { + Name = %[1]q + Pozo = "Amargo" } } -`, rName, mainPITR, replica1, replica2)) +`, rName, region1, propagate1)) } -func testAccTableConfig_replicaPITRKMS(rName string, mainPITR, replica1, replica2 bool) string { +func testAccTableConfig_replica_MRSC_TagsNext1(rName string, region1 string, propagate1 bool) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), fmt.Sprintf(` -data "aws_region" "alternate" { - provider = awsalternate -} +resource "aws_dynamodb_table" "test" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" -data "aws_region" "third" { - provider = awsthird -} + attribute { + name = "TestTableHashKey" + type = "S" + } -resource "aws_kms_key" "test" { - description = %[1]q - deletion_window_in_days = 7 - enable_key_rotation = true + replica { + region_name = %[2]q + propagate_tags = %[3]t + } + + tags = { + Name = %[1]q + Pozo = "Amargo" + } +} +`, rName, region1, propagate1)) } -resource "aws_kms_key" "alternate" { - provider = awsalternate - description = %[1]q - deletion_window_in_days = 7 - enable_key_rotation = true +func testAccTableConfig_replicaTagsNext2(rName, region1 string, propagate1 bool, region2 string, propagate2 bool) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), + fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" + + attribute { + name = "TestTableHashKey" + type = "S" + } + + replica { + region_name = %[2]q + propagate_tags = %[3]t + } + + replica { + region_name = %[4]q + propagate_tags = %[5]t + } + + tags = { + Name = %[1]q + Pozo = "Amargo" + } } - -resource "aws_kms_key" "third" { - provider = awsthird - description = %[1]q - deletion_window_in_days = 7 - enable_key_rotation = true +`, rName, region1, propagate1, region2, propagate2)) } +func testAccTableConfig_replica_MRSC_TagsNext2(rName, region1 string, propagate1 bool, region2 string, propagate2 bool) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), + fmt.Sprintf(` resource "aws_dynamodb_table" "test" { name = %[1]q hash_key = "TestTableHashKey" @@ -4964,42 +6678,28 @@ resource "aws_dynamodb_table" "test" { type = "S" } - point_in_time_recovery { - enabled = %[2]t - } - - server_side_encryption { - enabled = true - kms_key_arn = aws_kms_key.test.arn + replica { + region_name = %[2]q + propagate_tags = %[3]t } replica { - region_name = data.aws_region.alternate.region - point_in_time_recovery = %[3]t - kms_key_arn = aws_kms_key.alternate.arn + region_name = %[4]q + propagate_tags = %[5]t } - replica { - region_name = data.aws_region.third.region - point_in_time_recovery = %[4]t - kms_key_arn = aws_kms_key.third.arn + tags = { + Name = %[1]q + Pozo = "Amargo" } } -`, rName, mainPITR, replica1, replica2)) +`, rName, region1, propagate1, region2, propagate2)) } -func testAccTableConfig_replicaTags(rName, key, value string, propagate1, propagate2 bool) string { +func testAccTableConfig_replicaTagsUpdate1(rName, region1 string) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), fmt.Sprintf(` -data "aws_region" "alternate" { - provider = "awsalternate" -} - -data "aws_region" "third" { - provider = "awsthird" -} - resource "aws_dynamodb_table" "test" { name = %[1]q hash_key = "TestTableHashKey" @@ -5013,36 +6713,53 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = data.aws_region.alternate.region - propagate_tags = %[4]t - } - - replica { - region_name = data.aws_region.third.region - propagate_tags = %[5]t + region_name = %[2]q + propagate_tags = true } tags = { - Name = %[1]q - Pozo = "Amargo" - %[2]s = %[3]q + Name = %[1]q + Pozo = "Amargo" } } -`, rName, key, value, propagate1, propagate2)) +`, rName, region1)) } -func testAccTableConfig_replica2(rName string) string { +func testAccTableConfig_replicaTagsUpdate2(rName, region1 string) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), fmt.Sprintf(` -data "aws_region" "alternate" { - provider = "awsalternate" -} +resource "aws_dynamodb_table" "test" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" -data "aws_region" "third" { - provider = "awsthird" + attribute { + name = "TestTableHashKey" + type = "S" + } + + replica { + region_name = %[2]q + propagate_tags = true + } + + tags = { + Name = %[1]q + Pozo = "Amargo" + tyDi = "Lullaby" + Thrill = "Seekers" + } +} +`, rName, region1)) } +func testAccTableConfig_replicaTagsUpdate3(rName, region1 string, region2 string) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), + fmt.Sprintf(` resource "aws_dynamodb_table" "test" { name = %[1]q hash_key = "TestTableHashKey" @@ -5056,17 +6773,26 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = data.aws_region.alternate.region + region_name = %[2]q + propagate_tags = true } replica { - region_name = data.aws_region.third.region + region_name = %[3]q + propagate_tags = true + } + + tags = { + Name = %[1]q + Pozo = "Amargo" + tyDi = "Lullaby" + Thrill = "Seekers" } } -`, rName)) +`, rName, region1, region2)) } -func testAccTableConfig_replicaTagsNext1(rName string, region1 string, propagate1 bool) string { +func testAccTableConfig_replicaTagsUpdate4(rName, region1 string, region2 string) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), fmt.Sprintf(` @@ -5084,18 +6810,27 @@ resource "aws_dynamodb_table" "test" { replica { region_name = %[2]q - propagate_tags = %[3]t + propagate_tags = true + } + + replica { + region_name = %[3]q + propagate_tags = true } tags = { - Name = %[1]q - Pozo = "Amargo" + Name = %[1]q + Pozo = "Amargo" + tyDi = "Lullaby" + Thrill = "Seekers" + Tristan = "Joe" + Humming = "bird" } } -`, rName, region1, propagate1)) +`, rName, region1, region2)) } -func testAccTableConfig_replicaTagsNext2(rName, region1 string, propagate1 bool, region2 string, propagate2 bool) string { +func testAccTableConfig_replicaTagsUpdate5(rName, region1 string, region2 string) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), fmt.Sprintf(` @@ -5113,23 +6848,22 @@ resource "aws_dynamodb_table" "test" { replica { region_name = %[2]q - propagate_tags = %[3]t + propagate_tags = true } replica { - region_name = %[4]q - propagate_tags = %[5]t + region_name = %[3]q + propagate_tags = true } tags = { Name = %[1]q - Pozo = "Amargo" } } -`, rName, region1, propagate1, region2, propagate2)) +`, rName, region1, region2)) } -func testAccTableConfig_replicaTagsUpdate1(rName, region1 string) string { +func testAccTableConfig_replica_MRSC_TagsUpdate1(rName, region1 string, region2 string) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), fmt.Sprintf(` @@ -5146,8 +6880,15 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = %[2]q - propagate_tags = true + region_name = %[2]q + propagate_tags = true + consistency_mode = "STRONG" + } + + replica { + region_name = %[3]q + propagate_tags = true + consistency_mode = "STRONG" } tags = { @@ -5155,10 +6896,10 @@ resource "aws_dynamodb_table" "test" { Pozo = "Amargo" } } -`, rName, region1)) +`, rName, region1, region2)) } -func testAccTableConfig_replicaTagsUpdate2(rName, region1 string) string { +func testAccTableConfig_replica_MRSC_TagsUpdate2(rName, region1 string, region2 string) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), fmt.Sprintf(` @@ -5175,8 +6916,15 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = %[2]q - propagate_tags = true + region_name = %[2]q + propagate_tags = true + consistency_mode = "STRONG" + } + + replica { + region_name = %[3]q + propagate_tags = true + consistency_mode = "STRONG" } tags = { @@ -5186,10 +6934,10 @@ resource "aws_dynamodb_table" "test" { Thrill = "Seekers" } } -`, rName, region1)) +`, rName, region1, region2)) } -func testAccTableConfig_replicaTagsUpdate3(rName, region1 string, region2 string) string { +func testAccTableConfig_replica_MRSC_TagsUpdate3(rName, region1 string, region2 string) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), fmt.Sprintf(` @@ -5206,13 +6954,15 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = %[2]q - propagate_tags = true + region_name = %[2]q + propagate_tags = true + consistency_mode = "STRONG" } replica { - region_name = %[3]q - propagate_tags = true + region_name = %[3]q + propagate_tags = true + consistency_mode = "STRONG" } tags = { @@ -5225,7 +6975,7 @@ resource "aws_dynamodb_table" "test" { `, rName, region1, region2)) } -func testAccTableConfig_replicaTagsUpdate4(rName, region1 string, region2 string) string { +func testAccTableConfig_replica_MRSC_TagsUpdate4(rName, region1 string, region2 string) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), fmt.Sprintf(` @@ -5242,13 +6992,15 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = %[2]q - propagate_tags = true + region_name = %[2]q + propagate_tags = true + consistency_mode = "STRONG" } replica { - region_name = %[3]q - propagate_tags = true + region_name = %[3]q + propagate_tags = true + consistency_mode = "STRONG" } tags = { @@ -5263,7 +7015,7 @@ resource "aws_dynamodb_table" "test" { `, rName, region1, region2)) } -func testAccTableConfig_replicaTagsUpdate5(rName, region1 string, region2 string) string { +func testAccTableConfig_replica_MRSC_TagsUpdate5(rName, region1 string, region2 string) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), fmt.Sprintf(` @@ -5280,13 +7032,15 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = %[2]q - propagate_tags = true + region_name = %[2]q + propagate_tags = true + consistency_mode = "STRONG" } replica { - region_name = %[3]q - propagate_tags = true + region_name = %[3]q + propagate_tags = true + consistency_mode = "STRONG" } tags = { @@ -5327,38 +7081,6 @@ resource "aws_dynamodb_table" "test" { `, rName, streamEnabled, viewType)) } -func testAccTableConfig_replicaDeletionProtection(rName string, deletionProtection bool) string { - return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(3), - fmt.Sprintf(` -data "aws_region" "alternate" { - provider = "awsalternate" -} -data "aws_region" "third" { - provider = "awsthird" -} -resource "aws_dynamodb_table" "test" { - name = %[1]q - hash_key = "TestTableHashKey" - billing_mode = "PAY_PER_REQUEST" - stream_enabled = true - stream_view_type = "NEW_AND_OLD_IMAGES" - attribute { - name = "TestTableHashKey" - type = "S" - } - replica { - region_name = data.aws_region.alternate.name - deletion_protection_enabled = %[2]t - } - replica { - region_name = data.aws_region.third.name - deletion_protection_enabled = %[2]t - } -} -`, rName, deletionProtection)) -} - func testAccTableConfig_lsi(rName, lsiName string) string { return fmt.Sprintf(` resource "aws_dynamodb_table" "test" { @@ -5392,6 +7114,38 @@ resource "aws_dynamodb_table" "test" { `, rName, lsiName) } +func testAccTableConfig_replicaDeletionProtection(rName string, deletionProtection bool) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" +} +data "aws_region" "third" { + provider = "awsthird" +} +resource "aws_dynamodb_table" "test" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" + attribute { + name = "TestTableHashKey" + type = "S" + } + replica { + region_name = data.aws_region.alternate.name + deletion_protection_enabled = %[2]t + } + replica { + region_name = data.aws_region.third.name + deletion_protection_enabled = %[2]t + } +} +`, rName, deletionProtection)) +} + func testAccTableConfig_class(rName, tableClass string) string { return fmt.Sprintf(` resource "aws_dynamodb_table" "test" { @@ -5597,3 +7351,28 @@ resource "aws_dynamodb_table" "test_restore" { } `, rName)) } + +func testAccTableConfig_replica2_NoMultipleRegionProvider(rName string) string { + return fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" + + attribute { + name = "TestTableHashKey" + type = "S" + } + + replica { + region_name = %[2]q + } + + replica { + region_name = %[3]q + } +} +`, rName, acctest.AlternateRegion(), acctest.ThirdRegion()) +} From 6047db03ed1fd70fd1ff0fcb1a7245f14272d6ac Mon Sep 17 00:00:00 2001 From: Rajpal Yalla Date: Thu, 10 Jul 2025 16:07:35 -0500 Subject: [PATCH 0012/1301] Revert "remove conflicts" This reverts commit cf494e957b79bd270b87d73bcdb3a3b8b0751a84. --- internal/service/dynamodb/table_test.go | 3891 ++++++----------------- 1 file changed, 1056 insertions(+), 2835 deletions(-) diff --git a/internal/service/dynamodb/table_test.go b/internal/service/dynamodb/table_test.go index 67c09e2cf33a..3ff36efb0b90 100644 --- a/internal/service/dynamodb/table_test.go +++ b/internal/service/dynamodb/table_test.go @@ -2035,7 +2035,6 @@ func TestAccDynamoDBTable_Replica_multiple(t *testing.T) { statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ knownvalue.ObjectExact(map[string]knownvalue.Check{ names.AttrARN: tfknownvalue.RegionalARNAlternateRegionExact("dynamodb", "table/"+rName), - "consistency_mode": knownvalue.StringExact("EVENTUAL"), names.AttrKMSKeyARN: knownvalue.StringExact(""), "point_in_time_recovery": knownvalue.Bool(false), names.AttrPropagateTags: knownvalue.Bool(false), @@ -2045,7 +2044,6 @@ func TestAccDynamoDBTable_Replica_multiple(t *testing.T) { }), knownvalue.ObjectExact(map[string]knownvalue.Check{ names.AttrARN: tfknownvalue.RegionalARNThirdRegionExact("dynamodb", "table/"+rName), - "consistency_mode": knownvalue.StringExact("EVENTUAL"), names.AttrKMSKeyARN: knownvalue.StringExact(""), "point_in_time_recovery": knownvalue.Bool(false), names.AttrPropagateTags: knownvalue.Bool(false), @@ -2080,7 +2078,6 @@ func TestAccDynamoDBTable_Replica_multiple(t *testing.T) { statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ knownvalue.ObjectExact(map[string]knownvalue.Check{ names.AttrARN: tfknownvalue.RegionalARNAlternateRegionExact("dynamodb", "table/"+rName), - "consistency_mode": knownvalue.StringExact("EVENTUAL"), names.AttrKMSKeyARN: knownvalue.StringExact(""), "point_in_time_recovery": knownvalue.Bool(false), names.AttrPropagateTags: knownvalue.Bool(false), @@ -2090,7 +2087,6 @@ func TestAccDynamoDBTable_Replica_multiple(t *testing.T) { }), knownvalue.ObjectExact(map[string]knownvalue.Check{ names.AttrARN: tfknownvalue.RegionalARNThirdRegionExact("dynamodb", "table/"+rName), - "consistency_mode": knownvalue.StringExact("EVENTUAL"), names.AttrKMSKeyARN: knownvalue.StringExact(""), "point_in_time_recovery": knownvalue.Bool(false), names.AttrPropagateTags: knownvalue.Bool(false), @@ -2148,7 +2144,6 @@ func TestAccDynamoDBTable_Replica_single(t *testing.T) { statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ knownvalue.ObjectExact(map[string]knownvalue.Check{ names.AttrARN: tfknownvalue.RegionalARNAlternateRegionExact("dynamodb", "table/"+rName), - "consistency_mode": knownvalue.StringExact("EVENTUAL"), names.AttrKMSKeyARN: knownvalue.StringExact(""), "point_in_time_recovery": knownvalue.Bool(false), names.AttrPropagateTags: knownvalue.Bool(false), @@ -2194,7 +2189,6 @@ func TestAccDynamoDBTable_Replica_single(t *testing.T) { statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ knownvalue.ObjectExact(map[string]knownvalue.Check{ names.AttrARN: tfknownvalue.RegionalARNAlternateRegionExact("dynamodb", "table/"+rName), - "consistency_mode": knownvalue.StringExact("EVENTUAL"), names.AttrKMSKeyARN: knownvalue.StringExact(""), "point_in_time_recovery": knownvalue.Bool(false), names.AttrPropagateTags: knownvalue.Bool(false), @@ -3256,502 +3250,263 @@ func TestAccDynamoDBTable_Replica_deletionProtection(t *testing.T) { }) } -func TestAccDynamoDBTable_Replica_MRSC_Create(t *testing.T) { +func TestAccDynamoDBTable_tableClassInfrequentAccess(t *testing.T) { ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - - var conf, replica1, replica2 awstypes.TableDescription - resourceName := "aws_dynamodb_table.test_mrsc" + var table awstypes.TableDescription + resourceName := "aws_dynamodb_table.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ - PreCheck: func() { - acctest.PreCheck(ctx, t) - acctest.PreCheckMultipleRegion(t, 3) - }, + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), // 3 due to shared test configuration + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, CheckDestroy: testAccCheckTableDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccTableConfig_MRSC_replica(rName), + Config: testAccTableConfig_class(rName, "STANDARD_INFREQUENT_ACCESS"), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - testAccCheckReplicaExists(ctx, resourceName, acctest.AlternateRegion(), &replica1), - testAccCheckReplicaExists(ctx, resourceName, acctest.ThirdRegion(), &replica2), + testAccCheckInitialTableExists(ctx, resourceName, &table), + resource.TestCheckResourceAttr(resourceName, "table_class", "STANDARD_INFREQUENT_ACCESS"), ), - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "region_name": knownvalue.StringExact(acctest.AlternateRegion()), - "consistency_mode": knownvalue.StringExact((string(awstypes.MultiRegionConsistencyStrong))), - }), - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "region_name": knownvalue.StringExact(acctest.ThirdRegion()), - "consistency_mode": knownvalue.StringExact((string(awstypes.MultiRegionConsistencyStrong))), - }), - })), - }, + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + Config: testAccTableConfig_class(rName, "STANDARD"), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &table), + resource.TestCheckResourceAttr(resourceName, "table_class", "STANDARD"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) } -func TestAccDynamoDBTable_Replica_MRSC_doubleAddCMK(t *testing.T) { +func TestAccDynamoDBTable_tableClassExplicitDefault(t *testing.T) { ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - - var conf awstypes.TableDescription + var table awstypes.TableDescription resourceName := "aws_dynamodb_table.test" - kmsKeyResourceName := "aws_kms_key.test" - kmsKey1Replica1ResourceName := "aws_kms_key.awsalternate1" - kmsKey2Replica1ResourceName := "aws_kms_key.awsalternate2" - kmsKey1Replica2ResourceName := "aws_kms_key.awsthird1" - kmsKey2Replica2ResourceName := "aws_kms_key.awsthird2" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { - acctest.PreCheck(ctx, t) - acctest.PreCheckMultipleRegion(t, 3) - }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), // 3 due to shared test configuration + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, CheckDestroy: testAccCheckTableDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccTableConfig_replica_MRSC_AmazonManagedKey(rName), + Config: testAccTableConfig_basic(rName), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - resource.TestCheckResourceAttr(resourceName, "server_side_encryption.0.enabled", acctest.CtTrue), - resource.TestCheckResourceAttr(resourceName, "server_side_encryption.0.kms_key_arn", ""), + testAccCheckInitialTableExists(ctx, resourceName, &table), + resource.TestCheckResourceAttr(resourceName, "table_class", "STANDARD"), ), - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - names.AttrKMSKeyARN: knownvalue.StringExact(""), - "region_name": knownvalue.StringExact(acctest.AlternateRegion()), - }), - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - names.AttrKMSKeyARN: knownvalue.StringExact(""), - "region_name": knownvalue.StringExact(acctest.ThirdRegion()), - }), - })), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, }, }, { - Config: testAccTableConfig_replica_MRSC_CMKUpdate(rName, "awsalternate1", "awsthird1"), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - resource.TestCheckResourceAttr(resourceName, "server_side_encryption.0.enabled", acctest.CtTrue), - resource.TestCheckResourceAttrPair(resourceName, "server_side_encryption.0.kms_key_arn", kmsKeyResourceName, names.AttrARN), - ), - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - names.AttrKMSKeyARN: knownvalue.NotNull(), - "region_name": knownvalue.StringExact(acctest.AlternateRegion()), - }), - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - names.AttrKMSKeyARN: knownvalue.NotNull(), - "region_name": knownvalue.StringExact(acctest.ThirdRegion()), - }), - })), - statecheck.CompareValuePairs(resourceName, tfjsonpath.New("replica").AtSliceIndex(0).AtMapKey(names.AttrKMSKeyARN), kmsKey1Replica1ResourceName, tfjsonpath.New(names.AttrARN), compare.ValuesSame()), - statecheck.CompareValuePairs(resourceName, tfjsonpath.New("replica").AtSliceIndex(1).AtMapKey(names.AttrKMSKeyARN), kmsKey1Replica2ResourceName, tfjsonpath.New(names.AttrARN), compare.ValuesSame()), - }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, { - Config: testAccTableConfig_replica_MRSC_CMKUpdate(rName, "awsalternate2", "awsthird2"), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - resource.TestCheckResourceAttr(resourceName, "server_side_encryption.0.enabled", acctest.CtTrue), - resource.TestCheckResourceAttrPair(resourceName, "server_side_encryption.0.kms_key_arn", kmsKeyResourceName, names.AttrARN), - ), - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - names.AttrKMSKeyARN: knownvalue.NotNull(), - "region_name": knownvalue.StringExact(acctest.AlternateRegion()), - }), - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - names.AttrKMSKeyARN: knownvalue.NotNull(), - "region_name": knownvalue.StringExact(acctest.ThirdRegion()), - }), - })), - statecheck.CompareValuePairs(resourceName, tfjsonpath.New("replica").AtSliceIndex(0).AtMapKey(names.AttrKMSKeyARN), kmsKey2Replica1ResourceName, tfjsonpath.New(names.AttrARN), compare.ValuesSame()), - statecheck.CompareValuePairs(resourceName, tfjsonpath.New("replica").AtSliceIndex(1).AtMapKey(names.AttrKMSKeyARN), kmsKey2Replica2ResourceName, tfjsonpath.New(names.AttrARN), compare.ValuesSame()), + Config: testAccTableConfig_class(rName, "STANDARD"), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, }, }, }, }) } -func TestAccDynamoDBTable_Replica_MRSC_pitr(t *testing.T) { +func TestAccDynamoDBTable_tableClass_ConcurrentModification(t *testing.T) { ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - - var conf, replica1, replica2, replica3, replica4 awstypes.TableDescription + var table awstypes.TableDescription resourceName := "aws_dynamodb_table.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ - PreCheck: func() { - acctest.PreCheck(ctx, t) - acctest.PreCheckMultipleRegion(t, 3) - }, + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, CheckDestroy: testAccCheckTableDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccTableConfig_replica_MRSC_PITR(rName, false, true, false), + Config: testAccTableConfig_classConcurrent(rName, "STANDARD_INFREQUENT_ACCESS", 1), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - testAccCheckReplicaExists(ctx, resourceName, acctest.AlternateRegion(), &replica1), - testAccCheckReplicaExists(ctx, resourceName, acctest.ThirdRegion(), &replica2), - resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.#", "1"), - resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.0.enabled", acctest.CtFalse), + testAccCheckInitialTableExists(ctx, resourceName, &table), + resource.TestCheckResourceAttr(resourceName, "table_class", "STANDARD_INFREQUENT_ACCESS"), + resource.TestCheckResourceAttr(resourceName, "read_capacity", "1"), + resource.TestCheckResourceAttr(resourceName, "write_capacity", "1"), ), - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "point_in_time_recovery": knownvalue.Bool(true), - "region_name": knownvalue.StringExact(acctest.AlternateRegion()), - }), - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "point_in_time_recovery": knownvalue.Bool(false), - "region_name": knownvalue.StringExact(acctest.ThirdRegion()), - }), - })), - }, }, { - Config: testAccTableConfig_replica_MRSC_PITR(rName, true, false, true), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + Config: testAccTableConfig_classConcurrent(rName, "STANDARD", 5), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - testAccCheckReplicaExists(ctx, resourceName, acctest.AlternateRegion(), &replica3), - testAccCheckReplicaExists(ctx, resourceName, acctest.ThirdRegion(), &replica4), - testAccCheckTableNotRecreated(&replica1, &replica3), - testAccCheckTableNotRecreated(&replica2, &replica4), - resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.#", "1"), - resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.0.enabled", acctest.CtTrue), + testAccCheckInitialTableExists(ctx, resourceName, &table), + resource.TestCheckResourceAttr(resourceName, "table_class", "STANDARD"), + resource.TestCheckResourceAttr(resourceName, "read_capacity", "5"), + resource.TestCheckResourceAttr(resourceName, "write_capacity", "5"), ), - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "point_in_time_recovery": knownvalue.Bool(false), - "region_name": knownvalue.StringExact(acctest.AlternateRegion()), - }), - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "point_in_time_recovery": knownvalue.Bool(true), - "region_name": knownvalue.StringExact(acctest.ThirdRegion()), - }), - })), - }, + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) } -func TestAccDynamoDBTable_Replica_MRSC_pitrKMS(t *testing.T) { +func TestAccDynamoDBTable_tableClass_migrate(t *testing.T) { ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - - var conf, replica1, replica2, replica3, replica4 awstypes.TableDescription + var table awstypes.TableDescription resourceName := "aws_dynamodb_table.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { - acctest.PreCheck(ctx, t) - acctest.PreCheckMultipleRegion(t, 3) - }, - ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), // 3 due to shared test configuration - CheckDestroy: testAccCheckTableDestroy(ctx), + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + CheckDestroy: testAccCheckTableDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccTableConfig_replica_MRSC_PITRKMS(rName, false, false, false), + ExternalProviders: map[string]resource.ExternalProvider{ + "aws": { + Source: "hashicorp/aws", + VersionConstraint: "4.57.0", + }, + }, + Config: testAccTableConfig_basic(rName), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - testAccCheckReplicaExists(ctx, resourceName, acctest.AlternateRegion(), &replica1), - testAccCheckReplicaExists(ctx, resourceName, acctest.ThirdRegion(), &replica2), - resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.#", "1"), - resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.0.enabled", acctest.CtFalse), + testAccCheckInitialTableExists(ctx, resourceName, &table), ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "point_in_time_recovery": knownvalue.Bool(false), - "region_name": knownvalue.StringExact(acctest.AlternateRegion()), - }), - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "point_in_time_recovery": knownvalue.Bool(false), - "region_name": knownvalue.StringExact(acctest.ThirdRegion()), - }), - })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("table_class"), knownvalue.StringExact("")), }, }, { - Config: testAccTableConfig_replica_MRSC_PITRKMS(rName, false, true, false), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - testAccCheckReplicaExists(ctx, resourceName, acctest.AlternateRegion(), &replica3), - testAccCheckReplicaExists(ctx, resourceName, acctest.ThirdRegion(), &replica4), - testAccCheckTableNotRecreated(&replica1, &replica3), - testAccCheckTableNotRecreated(&replica2, &replica4), - resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.#", "1"), - resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.0.enabled", acctest.CtFalse), - ), - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "point_in_time_recovery": knownvalue.Bool(true), - "region_name": knownvalue.StringExact(acctest.AlternateRegion()), - }), - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "point_in_time_recovery": knownvalue.Bool(false), - "region_name": knownvalue.StringExact(acctest.ThirdRegion()), - }), - })), - }, - }, - { - Config: testAccTableConfig_replica_MRSC_PITRKMS(rName, false, true, true), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - testAccCheckReplicaExists(ctx, resourceName, acctest.AlternateRegion(), &replica1), - testAccCheckReplicaExists(ctx, resourceName, acctest.ThirdRegion(), &replica2), - testAccCheckTableNotRecreated(&replica1, &replica3), - testAccCheckTableNotRecreated(&replica2, &replica4), - resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.#", "1"), - resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.0.enabled", acctest.CtFalse), - ), - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "point_in_time_recovery": knownvalue.Bool(true), - "region_name": knownvalue.StringExact(acctest.AlternateRegion()), - }), - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "point_in_time_recovery": knownvalue.Bool(true), - "region_name": knownvalue.StringExact(acctest.ThirdRegion()), - }), - })), - }, - }, - { - Config: testAccTableConfig_replica_MRSC_PITRKMS(rName, true, false, true), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - testAccCheckReplicaExists(ctx, resourceName, acctest.AlternateRegion(), &replica3), - testAccCheckReplicaExists(ctx, resourceName, acctest.ThirdRegion(), &replica4), - testAccCheckTableNotRecreated(&replica1, &replica3), - testAccCheckTableNotRecreated(&replica2, &replica4), - resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.#", "1"), - resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.0.enabled", acctest.CtTrue), - ), - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "point_in_time_recovery": knownvalue.Bool(false), - "region_name": knownvalue.StringExact(acctest.AlternateRegion()), - }), - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "point_in_time_recovery": knownvalue.Bool(true), - "region_name": knownvalue.StringExact(acctest.ThirdRegion()), - }), - })), - }, - }, - { - Config: testAccTableConfig_replica_MRSC_PITRKMS(rName, false, false, false), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - testAccCheckReplicaExists(ctx, resourceName, acctest.AlternateRegion(), &replica1), - testAccCheckReplicaExists(ctx, resourceName, acctest.ThirdRegion(), &replica2), - testAccCheckTableNotRecreated(&replica1, &replica3), - testAccCheckTableNotRecreated(&replica2, &replica4), - resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.#", "1"), - resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.0.enabled", acctest.CtFalse), - ), - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "point_in_time_recovery": knownvalue.Bool(false), - "region_name": knownvalue.StringExact(acctest.AlternateRegion()), - }), - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "point_in_time_recovery": knownvalue.Bool(false), - "region_name": knownvalue.StringExact(acctest.ThirdRegion()), - }), - })), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Config: testAccTableConfig_basic(rName), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, }, }, }, }) } -func TestAccDynamoDBTable_Replica_MRSC_tags_updateIsPropagated_oneOfTwo(t *testing.T) { +func TestAccDynamoDBTable_backupEncryption(t *testing.T) { ctx := acctest.Context(t) if testing.Short() { t.Skip("skipping long-running test in short mode") } - var conf awstypes.TableDescription + var confBYOK awstypes.TableDescription resourceName := "aws_dynamodb_table.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + kmsKeyResourceName := "aws_kms_key.test" - resource.Test(t, resource.TestCase{ - PreCheck: func() { - acctest.PreCheck(ctx, t) - acctest.PreCheckMultipleRegion(t, 3) - }, + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, CheckDestroy: testAccCheckTableDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccTableConfig_replica_MRSC_Tags(rName, "benny", "smiles", true, false), + Config: testAccTableConfig_backupInitialStateEncryption(rName), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ - "Name": rName, - "Pozo": "Amargo", - "benny": "smiles", - }), - testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{}), + testAccCheckInitialTableExists(ctx, resourceName, &confBYOK), + resource.TestCheckResourceAttr(resourceName, "server_side_encryption.#", "1"), + resource.TestCheckResourceAttr(resourceName, "server_side_encryption.0.enabled", acctest.CtTrue), + resource.TestCheckResourceAttrPair(resourceName, "server_side_encryption.0.kms_key_arn", kmsKeyResourceName, names.AttrARN), ), - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "region_name": knownvalue.StringExact(acctest.AlternateRegion()), - names.AttrPropagateTags: knownvalue.Bool(true), - }), - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "region_name": knownvalue.StringExact(acctest.ThirdRegion()), - names.AttrPropagateTags: knownvalue.Bool(false), - }), - })), - }, }, { - Config: testAccTableConfig_replica_MRSC_Tags(rName, "benny", "frowns", true, false), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ - "Name": rName, - "Pozo": "Amargo", - "benny": "frowns", - }), - testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{}), - ), - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "region_name": knownvalue.StringExact(acctest.AlternateRegion()), - names.AttrPropagateTags: knownvalue.Bool(true), - }), - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "region_name": knownvalue.StringExact(acctest.ThirdRegion()), - names.AttrPropagateTags: knownvalue.Bool(false), - }), - })), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "restore_to_latest_time", + "restore_date_time", + "restore_source_name", }, }, }, }) } -func TestAccDynamoDBTable_Replica_MRSC_tags_updateIsPropagated_twoOfTwo(t *testing.T) { +func TestAccDynamoDBTable_backup_overrideEncryption(t *testing.T) { ctx := acctest.Context(t) if testing.Short() { t.Skip("skipping long-running test in short mode") } - var conf awstypes.TableDescription + var confBYOK awstypes.TableDescription resourceName := "aws_dynamodb_table.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + kmsKeyResourceName := "aws_kms_key.test" - resource.Test(t, resource.TestCase{ - PreCheck: func() { - acctest.PreCheck(ctx, t) - acctest.PreCheckMultipleRegion(t, 3) - }, + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, CheckDestroy: testAccCheckTableDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccTableConfig_replica_MRSC_Tags(rName, "Structure", "Adobe", true, true), + Config: testAccTableConfig_backupInitialStateOverrideEncryption(rName), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ - "Name": rName, - "Pozo": "Amargo", - "Structure": "Adobe", - }), - testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ - "Name": rName, - "Pozo": "Amargo", - "Structure": "Adobe", - }), + testAccCheckInitialTableExists(ctx, resourceName, &confBYOK), + resource.TestCheckResourceAttr(resourceName, "server_side_encryption.#", "1"), + resource.TestCheckResourceAttr(resourceName, "server_side_encryption.0.enabled", acctest.CtTrue), + resource.TestCheckResourceAttrPair(resourceName, "server_side_encryption.0.kms_key_arn", kmsKeyResourceName, names.AttrARN), ), - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "region_name": knownvalue.StringExact(acctest.AlternateRegion()), - names.AttrPropagateTags: knownvalue.Bool(true), - }), - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "region_name": knownvalue.StringExact(acctest.ThirdRegion()), - names.AttrPropagateTags: knownvalue.Bool(true), - }), - })), - }, }, { - Config: testAccTableConfig_replica_MRSC_Tags(rName, "Structure", "Steel", true, true), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ - "Name": rName, - "Pozo": "Amargo", - "Structure": "Steel", - }), - testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ - "Name": rName, - "Pozo": "Amargo", - "Structure": "Steel", - }), - ), - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "region_name": knownvalue.StringExact(acctest.AlternateRegion()), - names.AttrPropagateTags: knownvalue.Bool(true), - }), - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "region_name": knownvalue.StringExact(acctest.ThirdRegion()), - names.AttrPropagateTags: knownvalue.Bool(true), - }), - })), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "restore_to_latest_time", + "restore_date_time", + "restore_source_name", }, }, }, }) } -func TestAccDynamoDBTable_Replica_MRSC_tags_propagateToAddedReplica(t *testing.T) { +// lintignore:AT002 +func TestAccDynamoDBTable_importTable(t *testing.T) { ctx := acctest.Context(t) if testing.Short() { t.Skip("skipping long-running test in short mode") @@ -3761,1727 +3516,420 @@ func TestAccDynamoDBTable_Replica_MRSC_tags_propagateToAddedReplica(t *testing.T resourceName := "aws_dynamodb_table.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ - PreCheck: func() { - acctest.PreCheck(ctx, t) - acctest.PreCheckMultipleRegion(t, 3) - }, + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, CheckDestroy: testAccCheckTableDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccTableConfig_replica_MRSC_TagsNext1(rName, acctest.AlternateRegion(), true), + Config: testAccTableConfig_import(rName), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckInitialTableExists(ctx, resourceName, &conf), - testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ - "Name": rName, - "Pozo": "Amargo", + acctest.CheckResourceAttrRegionalARNFormat(ctx, resourceName, names.AttrARN, "dynamodb", "table/{name}"), + resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), + resource.TestCheckResourceAttr(resourceName, "read_capacity", "1"), + resource.TestCheckResourceAttr(resourceName, "write_capacity", "1"), + resource.TestCheckResourceAttr(resourceName, "hash_key", rName), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "attribute.*", map[string]string{ + names.AttrName: rName, + names.AttrType: "S", }), + resource.TestCheckResourceAttr(resourceName, "table_class", "STANDARD"), ), - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "region_name": knownvalue.StringExact(acctest.AlternateRegion()), - names.AttrPropagateTags: knownvalue.Bool(true), - }), - })), - }, - }, - { - Config: testAccTableConfig_replica_MRSC_TagsNext2(rName, acctest.AlternateRegion(), true, acctest.ThirdRegion(), true), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ - "Name": rName, - "Pozo": "Amargo", - }), - testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ - "Name": rName, - "Pozo": "Amargo", - }), - ), - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "region_name": knownvalue.StringExact(acctest.AlternateRegion()), - names.AttrPropagateTags: knownvalue.Bool(true), - }), - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "region_name": knownvalue.StringExact(acctest.ThirdRegion()), - names.AttrPropagateTags: knownvalue.Bool(true), - }), - })), - }, - }, - }, - }) -} - -func TestAccDynamoDBTable_Replica_MRSC_tags_notPropagatedToAddedReplica(t *testing.T) { - ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - - var conf awstypes.TableDescription - resourceName := "aws_dynamodb_table.test" - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - - resource.Test(t, resource.TestCase{ - PreCheck: func() { - acctest.PreCheck(ctx, t) - acctest.PreCheckMultipleRegion(t, 3) - }, - ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), - CheckDestroy: testAccCheckTableDestroy(ctx), - Steps: []resource.TestStep{ - { - Config: testAccTableConfig_replica_MRSC_TagsNext1(rName, acctest.AlternateRegion(), true), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ - "Name": rName, - "Pozo": "Amargo", - }), - ), - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "region_name": knownvalue.StringExact(acctest.AlternateRegion()), - names.AttrPropagateTags: knownvalue.Bool(true), - }), - })), - }, - }, - { - Config: testAccTableConfig_replica_MRSC_TagsNext2(rName, acctest.AlternateRegion(), true, acctest.ThirdRegion(), false), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ - "Name": rName, - "Pozo": "Amargo", - }), - testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{}), - ), - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "region_name": knownvalue.StringExact(acctest.AlternateRegion()), - names.AttrPropagateTags: knownvalue.Bool(true), - }), - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "region_name": knownvalue.StringExact(acctest.ThirdRegion()), - names.AttrPropagateTags: knownvalue.Bool(false), - }), - })), - }, - }, - }, - }) -} - -func TestAccDynamoDBTable_Replica_MRSC_tags_nonPropagatedTagsAreUnmanaged(t *testing.T) { - ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - - var conf awstypes.TableDescription - resourceName := "aws_dynamodb_table.test" - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - - resource.Test(t, resource.TestCase{ - PreCheck: func() { - acctest.PreCheck(ctx, t) - acctest.PreCheckMultipleRegion(t, 3) - }, - ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), - CheckDestroy: testAccCheckTableDestroy(ctx), - Steps: []resource.TestStep{ - { - Config: testAccTableConfig_replica_MRSC_Tags(rName, "Structure", "Adobe", true, true), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ - "Name": rName, - "Pozo": "Amargo", - "Structure": "Adobe", - }), - testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ - "Name": rName, - "Pozo": "Amargo", - "Structure": "Adobe", - }), - ), - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "region_name": knownvalue.StringExact(acctest.AlternateRegion()), - names.AttrPropagateTags: knownvalue.Bool(true), - }), - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "region_name": knownvalue.StringExact(acctest.ThirdRegion()), - names.AttrPropagateTags: knownvalue.Bool(true), - }), - })), - }, - }, - { - Config: testAccTableConfig_replica_MRSC_Tags(rName, "Structure", "Steel", true, false), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ - "Name": rName, - "Pozo": "Amargo", - "Structure": "Steel", - }), - testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ - "Name": rName, - "Pozo": "Amargo", - "Structure": "Adobe", - }), - ), - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "region_name": knownvalue.StringExact(acctest.AlternateRegion()), - names.AttrPropagateTags: knownvalue.Bool(true), - }), - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "region_name": knownvalue.StringExact(acctest.ThirdRegion()), - names.AttrPropagateTags: knownvalue.Bool(false), - }), - })), - }, }, }, }) } -func TestAccDynamoDBTable_Replica_MRSC_tagsUpdate(t *testing.T) { - ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } +func testAccCheckTableDestroy(ctx context.Context) resource.TestCheckFunc { + return func(s *terraform.State) error { + conn := acctest.Provider.Meta().(*conns.AWSClient).DynamoDBClient(ctx) - var conf awstypes.TableDescription - resourceName := "aws_dynamodb_table.test" - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + for _, rs := range s.RootModule().Resources { + if rs.Type != "aws_dynamodb_table" { + continue + } - resource.Test(t, resource.TestCase{ - PreCheck: func() { - acctest.PreCheck(ctx, t) - acctest.PreCheckMultipleRegion(t, 3) - }, - ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), - CheckDestroy: testAccCheckTableDestroy(ctx), - Steps: []resource.TestStep{ - { - Config: testAccTableConfig_replica_MRSC_TagsUpdate1(rName, acctest.AlternateRegion(), acctest.ThirdRegion()), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ - "Name": rName, - "Pozo": "Amargo", - }), - testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ - "Name": rName, - "Pozo": "Amargo", - }), - resource.TestCheckResourceAttr(resourceName, "replica.#", "2"), - resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ - "region_name": acctest.AlternateRegion(), - names.AttrPropagateTags: acctest.CtTrue, - }), - resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ - "region_name": acctest.ThirdRegion(), - names.AttrPropagateTags: acctest.CtTrue, - }), - ), - }, - { - Config: testAccTableConfig_replica_MRSC_TagsUpdate2(rName, acctest.AlternateRegion(), acctest.ThirdRegion()), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ - "Name": rName, - "Pozo": "Amargo", - "tyDi": "Lullaby", - "Thrill": "Seekers", - }), - testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ - "Name": rName, - "Pozo": "Amargo", - "tyDi": "Lullaby", - "Thrill": "Seekers", - }), - resource.TestCheckResourceAttr(resourceName, "replica.#", "2"), - resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ - "region_name": acctest.AlternateRegion(), - names.AttrPropagateTags: acctest.CtTrue, - }), - resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ - "region_name": acctest.ThirdRegion(), - names.AttrPropagateTags: acctest.CtTrue, - }), - ), - }, - { - Config: testAccTableConfig_replica_MRSC_TagsUpdate3(rName, acctest.AlternateRegion(), acctest.ThirdRegion()), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ - "Name": rName, - "Pozo": "Amargo", - "tyDi": "Lullaby", - "Thrill": "Seekers", - }), - testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ - "Name": rName, - "Pozo": "Amargo", - "tyDi": "Lullaby", - "Thrill": "Seekers", - }), - resource.TestCheckResourceAttr(resourceName, "replica.#", "2"), - resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ - "region_name": acctest.AlternateRegion(), - names.AttrPropagateTags: acctest.CtTrue, - }), - resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ - "region_name": acctest.ThirdRegion(), - names.AttrPropagateTags: acctest.CtTrue, - }), - ), - }, - { - Config: testAccTableConfig_replica_MRSC_TagsUpdate4(rName, acctest.AlternateRegion(), acctest.ThirdRegion()), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ - "Name": rName, - "Pozo": "Amargo", - "tyDi": "Lullaby", - "Thrill": "Seekers", - "Tristan": "Joe", - "Humming": "bird", - }), - testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ - "Name": rName, - "Pozo": "Amargo", - "tyDi": "Lullaby", - "Thrill": "Seekers", - "Tristan": "Joe", - "Humming": "bird", - }), - resource.TestCheckResourceAttr(resourceName, "replica.#", "2"), - resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ - "region_name": acctest.AlternateRegion(), - names.AttrPropagateTags: acctest.CtTrue, - }), - resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ - "region_name": acctest.ThirdRegion(), - names.AttrPropagateTags: acctest.CtTrue, - }), - ), - }, - { - Config: testAccTableConfig_replica_MRSC_TagsUpdate5(rName, acctest.AlternateRegion(), acctest.ThirdRegion()), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ - "Name": rName, - }), - testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ - "Name": rName, - }), - resource.TestCheckResourceAttr(resourceName, "replica.#", "2"), - resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ - "region_name": acctest.AlternateRegion(), - names.AttrPropagateTags: acctest.CtTrue, - }), - resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ - "region_name": acctest.ThirdRegion(), - names.AttrPropagateTags: acctest.CtTrue, - }), - ), - }, - }, - }) -} - -func TestAccDynamoDBTable_Replica_MRSC_TooManyReplicas(t *testing.T) { - ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { - acctest.PreCheck(ctx, t) - acctest.PreCheckMultipleRegion(t, 4) - }, - ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 4), // 4 due to shared test configuration - CheckDestroy: testAccCheckTableDestroy(ctx), - Steps: []resource.TestStep{ - { - Config: testAccTableConfig_MRSC_replica_count3(rName), - ExpectError: regexache.MustCompile(`Using MultiRegionStrongConsistency supports at most 2 replicas`), - }, - }, - }) -} - -func TestAccDynamoDBTable_Replica_MRSC_NotEnoughReplicas(t *testing.T) { - ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { - acctest.PreCheck(ctx, t) - acctest.PreCheckMultipleRegion(t, 4) - }, - ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 4), // 4 due to shared test configuration - CheckDestroy: testAccCheckTableDestroy(ctx), - Steps: []resource.TestStep{ - { - Config: testAccTableConfig_MRSC_replica_count1(rName), - ExpectError: regexache.MustCompile(`Using MultiRegionStrongConsistency requires exactly 2 replicas`), - }, - }, - }) -} - -func TestAccDynamoDBTable_Replica_MRSC_MixedConsistencyModes(t *testing.T) { - ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { - acctest.PreCheck(ctx, t) - acctest.PreCheckMultipleRegion(t, 3) - }, - ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), // 6 due to testing unsupported regionsß - CheckDestroy: testAccCheckTableDestroy(ctx), - Steps: []resource.TestStep{ - { - Config: testAccTableConfig_MRSC_replica_mixed_consistency_mode(rName), - ExpectError: regexache.MustCompile(`Using MultiRegionStrongConsistency requires all replicas to use 'consistency_mode' set to 'STRONG'`), - }, - }, - }) -} - -func TestAccDynamoDBTable_Replica_MRSC_CreateEventuallyConsistent(t *testing.T) { - ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - var conf, replica1, replica2 awstypes.TableDescription - resourceName := "aws_dynamodb_table.test_mrsc" - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { - acctest.PreCheck(ctx, t) - acctest.PreCheckMultipleRegion(t, 3) - }, - ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), // 6 due to testing unsupported regionsß - CheckDestroy: testAccCheckTableDestroy(ctx), - Steps: []resource.TestStep{ - { - Config: testAccTableConfig_MRSC_replica_eventual_consistency(rName), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - testAccCheckReplicaExists(ctx, resourceName, acctest.AlternateRegion(), &replica1), - testAccCheckReplicaExists(ctx, resourceName, acctest.ThirdRegion(), &replica2), - ), - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "region_name": knownvalue.StringExact(acctest.AlternateRegion()), - }), - knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "region_name": knownvalue.StringExact(acctest.ThirdRegion()), - }), - })), - }, - }, - }, - }) -} - -// Test creation before MRSC and upgrade shows no diff.ß -func TestAccDynamoDBTable_Replica_upgradeV6_2_0(t *testing.T) { - ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - - var table awstypes.TableDescription - resourceName := "aws_dynamodb_table.test" - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { - acctest.PreCheck(ctx, t) - acctest.PreCheckMultipleRegion(t, 3) - }, - ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - CheckDestroy: testAccCheckTableDestroy(ctx), - Steps: []resource.TestStep{ - { - ExternalProviders: map[string]resource.ExternalProvider{ - "aws": { - Source: "hashicorp/aws", - VersionConstraint: "6.2.0", - }, - }, - Config: testAccTableConfig_replica2_NoMultipleRegionProvider(rName), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &table), - ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), - }, - }, - }, - { - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - Config: testAccTableConfig_replica2_NoMultipleRegionProvider(rName), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &table), - ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - PostApplyPostRefresh: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - }, - }, - }, - }) -} - -func TestAccDynamoDBTable_tableClassInfrequentAccess(t *testing.T) { - ctx := acctest.Context(t) - var table awstypes.TableDescription - resourceName := "aws_dynamodb_table.test" - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { acctest.PreCheck(ctx, t) }, - ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckTableDestroy(ctx), - Steps: []resource.TestStep{ - { - Config: testAccTableConfig_class(rName, "STANDARD_INFREQUENT_ACCESS"), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &table), - resource.TestCheckResourceAttr(resourceName, "table_class", "STANDARD_INFREQUENT_ACCESS"), - ), - }, - { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - }, - { - Config: testAccTableConfig_class(rName, "STANDARD"), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &table), - resource.TestCheckResourceAttr(resourceName, "table_class", "STANDARD"), - ), - }, - { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - }, - }, - }) -} - -func TestAccDynamoDBTable_tableClassExplicitDefault(t *testing.T) { - ctx := acctest.Context(t) - var table awstypes.TableDescription - resourceName := "aws_dynamodb_table.test" - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { acctest.PreCheck(ctx, t) }, - ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckTableDestroy(ctx), - Steps: []resource.TestStep{ - { - Config: testAccTableConfig_basic(rName), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &table), - resource.TestCheckResourceAttr(resourceName, "table_class", "STANDARD"), - ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), - }, - }, - }, - { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - }, - { - Config: testAccTableConfig_class(rName, "STANDARD"), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - PostApplyPostRefresh: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - }, - }, - }, - }) -} - -func TestAccDynamoDBTable_tableClass_ConcurrentModification(t *testing.T) { - ctx := acctest.Context(t) - var table awstypes.TableDescription - resourceName := "aws_dynamodb_table.test" - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { acctest.PreCheck(ctx, t) }, - ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckTableDestroy(ctx), - Steps: []resource.TestStep{ - { - Config: testAccTableConfig_classConcurrent(rName, "STANDARD_INFREQUENT_ACCESS", 1), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &table), - resource.TestCheckResourceAttr(resourceName, "table_class", "STANDARD_INFREQUENT_ACCESS"), - resource.TestCheckResourceAttr(resourceName, "read_capacity", "1"), - resource.TestCheckResourceAttr(resourceName, "write_capacity", "1"), - ), - }, - { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - }, - { - Config: testAccTableConfig_classConcurrent(rName, "STANDARD", 5), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &table), - resource.TestCheckResourceAttr(resourceName, "table_class", "STANDARD"), - resource.TestCheckResourceAttr(resourceName, "read_capacity", "5"), - resource.TestCheckResourceAttr(resourceName, "write_capacity", "5"), - ), - }, - { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - }, - }, - }) -} - -func TestAccDynamoDBTable_tableClass_migrate(t *testing.T) { - ctx := acctest.Context(t) - var table awstypes.TableDescription - resourceName := "aws_dynamodb_table.test" - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { acctest.PreCheck(ctx, t) }, - ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - CheckDestroy: testAccCheckTableDestroy(ctx), - Steps: []resource.TestStep{ - { - ExternalProviders: map[string]resource.ExternalProvider{ - "aws": { - Source: "hashicorp/aws", - VersionConstraint: "4.57.0", - }, - }, - Config: testAccTableConfig_basic(rName), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &table), - ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), - }, - }, - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("table_class"), knownvalue.StringExact("")), - }, - }, - { - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - Config: testAccTableConfig_basic(rName), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - PostApplyPostRefresh: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - }, - }, - }, - }) -} - -func TestAccDynamoDBTable_backupEncryption(t *testing.T) { - ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - - var confBYOK awstypes.TableDescription - resourceName := "aws_dynamodb_table.test" - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - kmsKeyResourceName := "aws_kms_key.test" - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { acctest.PreCheck(ctx, t) }, - ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckTableDestroy(ctx), - Steps: []resource.TestStep{ - { - Config: testAccTableConfig_backupInitialStateEncryption(rName), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &confBYOK), - resource.TestCheckResourceAttr(resourceName, "server_side_encryption.#", "1"), - resource.TestCheckResourceAttr(resourceName, "server_side_encryption.0.enabled", acctest.CtTrue), - resource.TestCheckResourceAttrPair(resourceName, "server_side_encryption.0.kms_key_arn", kmsKeyResourceName, names.AttrARN), - ), - }, - { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIgnore: []string{ - "restore_to_latest_time", - "restore_date_time", - "restore_source_name", - }, - }, - }, - }) -} - -func TestAccDynamoDBTable_backup_overrideEncryption(t *testing.T) { - ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - - var confBYOK awstypes.TableDescription - resourceName := "aws_dynamodb_table.test" - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - kmsKeyResourceName := "aws_kms_key.test" - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { acctest.PreCheck(ctx, t) }, - ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckTableDestroy(ctx), - Steps: []resource.TestStep{ - { - Config: testAccTableConfig_backupInitialStateOverrideEncryption(rName), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &confBYOK), - resource.TestCheckResourceAttr(resourceName, "server_side_encryption.#", "1"), - resource.TestCheckResourceAttr(resourceName, "server_side_encryption.0.enabled", acctest.CtTrue), - resource.TestCheckResourceAttrPair(resourceName, "server_side_encryption.0.kms_key_arn", kmsKeyResourceName, names.AttrARN), - ), - }, - { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIgnore: []string{ - "restore_to_latest_time", - "restore_date_time", - "restore_source_name", - }, - }, - }, - }) -} - -// lintignore:AT002 -func TestAccDynamoDBTable_importTable(t *testing.T) { - ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - - var conf awstypes.TableDescription - resourceName := "aws_dynamodb_table.test" - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { acctest.PreCheck(ctx, t) }, - ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckTableDestroy(ctx), - Steps: []resource.TestStep{ - { - Config: testAccTableConfig_import(rName), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - acctest.CheckResourceAttrRegionalARNFormat(ctx, resourceName, names.AttrARN, "dynamodb", "table/{name}"), - resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), - resource.TestCheckResourceAttr(resourceName, "read_capacity", "1"), - resource.TestCheckResourceAttr(resourceName, "write_capacity", "1"), - resource.TestCheckResourceAttr(resourceName, "hash_key", rName), - resource.TestCheckTypeSetElemNestedAttrs(resourceName, "attribute.*", map[string]string{ - names.AttrName: rName, - names.AttrType: "S", - }), - resource.TestCheckResourceAttr(resourceName, "table_class", "STANDARD"), - ), - }, - }, - }) -} - -func testAccCheckTableDestroy(ctx context.Context) resource.TestCheckFunc { - return func(s *terraform.State) error { - conn := acctest.Provider.Meta().(*conns.AWSClient).DynamoDBClient(ctx) - - for _, rs := range s.RootModule().Resources { - if rs.Type != "aws_dynamodb_table" { - continue - } - - _, err := tfdynamodb.FindTableByName(ctx, conn, rs.Primary.ID) - - if tfresource.NotFound(err) { - continue - } - - if err != nil { - return err - } - - return fmt.Errorf("DynamoDB Table %s still exists", rs.Primary.ID) - } - - return nil - } -} - -func testAccCheckInitialTableExists(ctx context.Context, n string, v *awstypes.TableDescription) resource.TestCheckFunc { - return func(s *terraform.State) error { - rs, ok := s.RootModule().Resources[n] - if !ok { - return fmt.Errorf("Not found: %s", n) - } - - conn := acctest.Provider.Meta().(*conns.AWSClient).DynamoDBClient(ctx) - - output, err := tfdynamodb.FindTableByName(ctx, conn, rs.Primary.ID) - - if err != nil { - return err - } - - *v = *output - - return nil - } -} - -func testAccCheckTableExists(ctx context.Context, n string, v *awstypes.TableDescription) resource.TestCheckFunc { - return testAccCheckInitialTableExists(ctx, n, v) -} - -func testAccCheckTableNotRecreated(i, j *awstypes.TableDescription) resource.TestCheckFunc { - return func(s *terraform.State) error { - if !i.CreationDateTime.Equal(aws.ToTime(j.CreationDateTime)) { - return errors.New("DynamoDB Table was recreated") - } - - return nil - } -} - -func testAccCheckReplicaExists(ctx context.Context, n string, region string, v *awstypes.TableDescription) resource.TestCheckFunc { - return func(s *terraform.State) error { - rs, ok := s.RootModule().Resources[n] - if !ok { - return fmt.Errorf("Not found: %s", n) - } - - conn := acctest.Provider.Meta().(*conns.AWSClient).DynamoDBClient(ctx) - - output, err := tfdynamodb.FindTableByName(ctx, conn, rs.Primary.ID, func(o *dynamodb.Options) { - o.Region = region - }) - - if err != nil { - return err - } - - *v = *output - - return nil - } -} - -func testAccCheckReplicaTags(ctx context.Context, n string, region string, expected map[string]string) resource.TestCheckFunc { - return func(s *terraform.State) error { - rs, ok := s.RootModule().Resources[n] - if !ok { - return fmt.Errorf("Not found: %s", n) - } - - conn := acctest.Provider.Meta().(*conns.AWSClient).DynamoDBClient(ctx) - - newARN, err := tfdynamodb.ARNForNewRegion(rs.Primary.Attributes[names.AttrARN], region) - - if err != nil { - return err - } - - actualKVT, err := tfdynamodb.ListTags(ctx, conn, newARN, func(o *dynamodb.Options) { - o.Region = region - }) - - if err != nil && !tfawserr.ErrMessageContains(err, "UnknownOperationException", "Tagging is not currently supported in DynamoDB Local.") { - return create.Error(names.DynamoDB, create.ErrActionChecking, "Table", rs.Primary.Attributes[names.AttrARN], err) - } - - expectedKVT := tftags.New(ctx, expected) - - if !expectedKVT.Equal(actualKVT) { - return fmt.Errorf("%s: Replica in '%s' tags expected %s, got %s", n, region, expectedKVT, actualKVT) - } - - return nil - } -} - -func testAccCheckInitialTableConf(resourceName string) resource.TestCheckFunc { - return resource.ComposeAggregateTestCheckFunc( - resource.TestCheckResourceAttr(resourceName, "hash_key", "TestTableHashKey"), - resource.TestCheckResourceAttr(resourceName, "range_key", "TestTableRangeKey"), - resource.TestCheckResourceAttr(resourceName, "billing_mode", string(awstypes.BillingModeProvisioned)), - resource.TestCheckResourceAttr(resourceName, "write_capacity", "2"), - resource.TestCheckResourceAttr(resourceName, "read_capacity", "1"), - resource.TestCheckResourceAttr(resourceName, "server_side_encryption.#", "0"), - resource.TestCheckResourceAttr(resourceName, "attribute.#", "4"), - resource.TestCheckResourceAttr(resourceName, "global_secondary_index.#", "1"), - resource.TestCheckResourceAttr(resourceName, "local_secondary_index.#", "1"), - resource.TestCheckTypeSetElemNestedAttrs(resourceName, "attribute.*", map[string]string{ - names.AttrName: "TestTableHashKey", - names.AttrType: "S", - }), - resource.TestCheckTypeSetElemNestedAttrs(resourceName, "attribute.*", map[string]string{ - names.AttrName: "TestTableRangeKey", - names.AttrType: "S", - }), - resource.TestCheckTypeSetElemNestedAttrs(resourceName, "attribute.*", map[string]string{ - names.AttrName: "TestLSIRangeKey", - names.AttrType: "N", - }), - resource.TestCheckTypeSetElemNestedAttrs(resourceName, "attribute.*", map[string]string{ - names.AttrName: "TestGSIRangeKey", - names.AttrType: "S", - }), - resource.TestCheckTypeSetElemNestedAttrs(resourceName, "global_secondary_index.*", map[string]string{ - names.AttrName: "InitialTestTableGSI", - "hash_key": "TestTableHashKey", - "range_key": "TestGSIRangeKey", - "write_capacity": "1", - "read_capacity": "1", - "projection_type": "KEYS_ONLY", - }), - resource.TestCheckTypeSetElemNestedAttrs(resourceName, "local_secondary_index.*", map[string]string{ - names.AttrName: "TestTableLSI", - "range_key": "TestLSIRangeKey", - "projection_type": "ALL", - }), - ) -} - -func testAccTableConfig_basic(rName string) string { - return fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = 1 - write_capacity = 1 - hash_key = %[1]q - - attribute { - name = %[1]q - type = "S" - } -} -`, rName) -} - -func testAccTableConfig_enable_deletion_protection(rName string) string { - return fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = 1 - write_capacity = 1 - hash_key = %[1]q - deletion_protection_enabled = true - - attribute { - name = %[1]q - type = "S" - } -} -`, rName) -} - -func testAccTableConfig_disable_deletion_protection(rName string) string { - return fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = 1 - write_capacity = 1 - hash_key = %[1]q - deletion_protection_enabled = false - attribute { - name = %[1]q - type = "S" - } -} -`, rName) -} - -func testAccTableConfig_backup(rName string) string { - return fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = 1 - write_capacity = 1 - hash_key = "TestTableHashKey" - - attribute { - name = "TestTableHashKey" - type = "S" - } - - point_in_time_recovery { - enabled = true - } -} -`, rName) -} - -func testAccTableConfig_pitrWithCustomRecovery(rName string, recoveryPeriodInDays int) string { - return fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = 1 - write_capacity = 1 - hash_key = "TestTableHashKey" - - attribute { - name = "TestTableHashKey" - type = "S" - } - - point_in_time_recovery { - enabled = true - recovery_period_in_days = %[2]d - } -} -`, rName, recoveryPeriodInDays) -} - -func testAccTableConfig_billingPayPerRequest(rName string) string { - return fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - name = %[1]q - billing_mode = "PAY_PER_REQUEST" - hash_key = "TestTableHashKey" - - attribute { - name = "TestTableHashKey" - type = "S" - } -} -`, rName) -} - -func testAccTableConfig_billingPayPerRequestIgnoreChanges(rName string) string { - return fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - name = %[1]q - billing_mode = "PAY_PER_REQUEST" - hash_key = "TestTableHashKey" - - attribute { - name = "TestTableHashKey" - type = "S" - } - - lifecycle { - ignore_changes = [read_capacity, write_capacity] - } -} -`, rName) -} - -func testAccTableConfig_billingProvisioned(rName string) string { - return fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - name = %[1]q - billing_mode = "PROVISIONED" - hash_key = "TestTableHashKey" - - read_capacity = 5 - write_capacity = 5 - - attribute { - name = "TestTableHashKey" - type = "S" - } -} -`, rName) -} - -func testAccTableConfig_billingProvisionedIgnoreChanges(rName string) string { - return fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - name = %[1]q - billing_mode = "PROVISIONED" - hash_key = "TestTableHashKey" - - read_capacity = 5 - write_capacity = 5 - - attribute { - name = "TestTableHashKey" - type = "S" - } - - lifecycle { - ignore_changes = [read_capacity, write_capacity] - } -} -`, rName) -} - -func testAccTableConfig_billingPayPerRequestGSI(rName string) string { - return fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - name = %[1]q - billing_mode = "PAY_PER_REQUEST" - hash_key = "TestTableHashKey" - - attribute { - name = "TestTableHashKey" - type = "S" - } - - attribute { - name = "TestTableGSIKey" - type = "S" - } - - global_secondary_index { - name = "TestTableGSI" - hash_key = "TestTableGSIKey" - projection_type = "KEYS_ONLY" - } -} -`, rName) -} - -func testAccTableConfig_billingProvisionedGSI(rName string) string { - return fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - billing_mode = "PROVISIONED" - hash_key = "TestTableHashKey" - name = %[1]q - read_capacity = 1 - write_capacity = 1 - - attribute { - name = "TestTableHashKey" - type = "S" - } - - attribute { - name = "TestTableGSIKey" - type = "S" - } - - global_secondary_index { - hash_key = "TestTableGSIKey" - name = "TestTableGSI" - projection_type = "KEYS_ONLY" - read_capacity = 1 - write_capacity = 1 - } -} -`, rName) -} - -func testAccTableConfig_initialState(rName string) string { - return fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = 1 - write_capacity = 2 - hash_key = "TestTableHashKey" - range_key = "TestTableRangeKey" - - attribute { - name = "TestTableHashKey" - type = "S" - } - - attribute { - name = "TestTableRangeKey" - type = "S" - } + _, err := tfdynamodb.FindTableByName(ctx, conn, rs.Primary.ID) - attribute { - name = "TestLSIRangeKey" - type = "N" - } + if tfresource.NotFound(err) { + continue + } - attribute { - name = "TestGSIRangeKey" - type = "S" - } + if err != nil { + return err + } - local_secondary_index { - name = "TestTableLSI" - range_key = "TestLSIRangeKey" - projection_type = "ALL" - } + return fmt.Errorf("DynamoDB Table %s still exists", rs.Primary.ID) + } - global_secondary_index { - name = "InitialTestTableGSI" - hash_key = "TestTableHashKey" - range_key = "TestGSIRangeKey" - write_capacity = 1 - read_capacity = 1 - projection_type = "KEYS_ONLY" - } -} -`, rName) + return nil + } } -func testAccTableConfig_initialStateEncryptionAmazonCMK(rName string, enabled bool) string { - return fmt.Sprintf(` -data "aws_kms_alias" "dynamodb" { - name = "alias/aws/dynamodb" -} +func testAccCheckInitialTableExists(ctx context.Context, n string, v *awstypes.TableDescription) resource.TestCheckFunc { + return func(s *terraform.State) error { + rs, ok := s.RootModule().Resources[n] + if !ok { + return fmt.Errorf("Not found: %s", n) + } -resource "aws_kms_key" "test" { - description = %[1]q - deletion_window_in_days = 7 - enable_key_rotation = true -} + conn := acctest.Provider.Meta().(*conns.AWSClient).DynamoDBClient(ctx) -resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = 1 - write_capacity = 1 - hash_key = "TestTableHashKey" + output, err := tfdynamodb.FindTableByName(ctx, conn, rs.Primary.ID) - attribute { - name = "TestTableHashKey" - type = "S" - } + if err != nil { + return err + } - server_side_encryption { - enabled = %[2]t - } -} -`, rName, enabled) -} + *v = *output -func testAccTableConfig_initialStateEncryptionBYOK(rName string) string { - return fmt.Sprintf(` -resource "aws_kms_key" "test" { - description = %[1]q - deletion_window_in_days = 7 - enable_key_rotation = true + return nil + } } -resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = 2 - write_capacity = 2 - hash_key = "TestTableHashKey" +func testAccCheckTableExists(ctx context.Context, n string, v *awstypes.TableDescription) resource.TestCheckFunc { + return testAccCheckInitialTableExists(ctx, n, v) +} - attribute { - name = "TestTableHashKey" - type = "S" - } +func testAccCheckTableNotRecreated(i, j *awstypes.TableDescription) resource.TestCheckFunc { + return func(s *terraform.State) error { + if !i.CreationDateTime.Equal(aws.ToTime(j.CreationDateTime)) { + return errors.New("DynamoDB Table was recreated") + } - server_side_encryption { - enabled = true - kms_key_arn = aws_kms_key.test.arn - } -} -`, rName) + return nil + } } -func testAccTableConfig_addSecondaryGSI(rName string) string { - return fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = 2 - write_capacity = 2 - hash_key = "TestTableHashKey" - range_key = "TestTableRangeKey" - - attribute { - name = "TestTableHashKey" - type = "S" - } +func testAccCheckReplicaExists(ctx context.Context, n string, region string, v *awstypes.TableDescription) resource.TestCheckFunc { + return func(s *terraform.State) error { + rs, ok := s.RootModule().Resources[n] + if !ok { + return fmt.Errorf("Not found: %s", n) + } - attribute { - name = "TestTableRangeKey" - type = "S" - } + conn := acctest.Provider.Meta().(*conns.AWSClient).DynamoDBClient(ctx) - attribute { - name = "TestLSIRangeKey" - type = "N" - } + output, err := tfdynamodb.FindTableByName(ctx, conn, rs.Primary.ID, func(o *dynamodb.Options) { + o.Region = region + }) - attribute { - name = "ReplacementGSIRangeKey" - type = "N" - } + if err != nil { + return err + } - local_secondary_index { - name = "TestTableLSI" - range_key = "TestLSIRangeKey" - projection_type = "ALL" - } + *v = *output - global_secondary_index { - name = "ReplacementTestTableGSI" - hash_key = "TestTableHashKey" - range_key = "ReplacementGSIRangeKey" - write_capacity = 5 - read_capacity = 5 - projection_type = "INCLUDE" - non_key_attributes = ["TestNonKeyAttribute"] - } -} -`, rName) + return nil + } } -func testAccTableConfig_onDemandThroughput(rName string, read, write int) string { - return fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - name = %[1]q - billing_mode = "PAY_PER_REQUEST" - hash_key = "TestTableHashKey" +func testAccCheckReplicaTags(ctx context.Context, n string, region string, expected map[string]string) resource.TestCheckFunc { + return func(s *terraform.State) error { + rs, ok := s.RootModule().Resources[n] + if !ok { + return fmt.Errorf("Not found: %s", n) + } - on_demand_throughput { - max_read_request_units = %[2]d - max_write_request_units = %[3]d - } + conn := acctest.Provider.Meta().(*conns.AWSClient).DynamoDBClient(ctx) - attribute { - name = "TestTableHashKey" - type = "S" - } -} -`, rName, read, write) -} + newARN, err := tfdynamodb.ARNForNewRegion(rs.Primary.Attributes[names.AttrARN], region) -func testAccTableConfig_gsiOnDemandThroughput(rName string, read, write int) string { - return fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - name = %[1]q - billing_mode = "PAY_PER_REQUEST" - hash_key = "TestTableHashKey" + if err != nil { + return err + } - on_demand_throughput { - max_read_request_units = 10 - max_write_request_units = 10 - } + actualKVT, err := tfdynamodb.ListTags(ctx, conn, newARN, func(o *dynamodb.Options) { + o.Region = region + }) - global_secondary_index { - name = "att1-index" - hash_key = "att1" - projection_type = "ALL" + if err != nil && !tfawserr.ErrMessageContains(err, "UnknownOperationException", "Tagging is not currently supported in DynamoDB Local.") { + return create.Error(names.DynamoDB, create.ErrActionChecking, "Table", rs.Primary.Attributes[names.AttrARN], err) + } - on_demand_throughput { - max_read_request_units = %[2]d - max_write_request_units = %[3]d - } - } + expectedKVT := tftags.New(ctx, expected) - attribute { - name = "TestTableHashKey" - type = "S" - } + if !expectedKVT.Equal(actualKVT) { + return fmt.Errorf("%s: Replica in '%s' tags expected %s, got %s", n, region, expectedKVT, actualKVT) + } - attribute { - name = "att1" - type = "S" - } + return nil + } } -`, rName, read, write) + +func testAccCheckInitialTableConf(resourceName string) resource.TestCheckFunc { + return resource.ComposeAggregateTestCheckFunc( + resource.TestCheckResourceAttr(resourceName, "hash_key", "TestTableHashKey"), + resource.TestCheckResourceAttr(resourceName, "range_key", "TestTableRangeKey"), + resource.TestCheckResourceAttr(resourceName, "billing_mode", string(awstypes.BillingModeProvisioned)), + resource.TestCheckResourceAttr(resourceName, "write_capacity", "2"), + resource.TestCheckResourceAttr(resourceName, "read_capacity", "1"), + resource.TestCheckResourceAttr(resourceName, "server_side_encryption.#", "0"), + resource.TestCheckResourceAttr(resourceName, "attribute.#", "4"), + resource.TestCheckResourceAttr(resourceName, "global_secondary_index.#", "1"), + resource.TestCheckResourceAttr(resourceName, "local_secondary_index.#", "1"), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "attribute.*", map[string]string{ + names.AttrName: "TestTableHashKey", + names.AttrType: "S", + }), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "attribute.*", map[string]string{ + names.AttrName: "TestTableRangeKey", + names.AttrType: "S", + }), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "attribute.*", map[string]string{ + names.AttrName: "TestLSIRangeKey", + names.AttrType: "N", + }), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "attribute.*", map[string]string{ + names.AttrName: "TestGSIRangeKey", + names.AttrType: "S", + }), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "global_secondary_index.*", map[string]string{ + names.AttrName: "InitialTestTableGSI", + "hash_key": "TestTableHashKey", + "range_key": "TestGSIRangeKey", + "write_capacity": "1", + "read_capacity": "1", + "projection_type": "KEYS_ONLY", + }), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "local_secondary_index.*", map[string]string{ + names.AttrName: "TestTableLSI", + "range_key": "TestLSIRangeKey", + "projection_type": "ALL", + }), + ) } -func testAccTableConfig_streamSpecification(rName string, enabled bool, viewType string) string { - if viewType != "null" { - viewType = fmt.Sprintf(`"%s"`, viewType) - } +func testAccTableConfig_basic(rName string) string { return fmt.Sprintf(` resource "aws_dynamodb_table" "test" { name = %[1]q read_capacity = 1 - write_capacity = 2 - hash_key = "TestTableHashKey" + write_capacity = 1 + hash_key = %[1]q attribute { - name = "TestTableHashKey" + name = %[1]q type = "S" } - - stream_enabled = %[2]t - stream_view_type = %[3]s } -`, rName, enabled, viewType) +`, rName) } -func testAccTableConfig_gsiUpdate(rName string) string { +func testAccTableConfig_enable_deletion_protection(rName string) string { return fmt.Sprintf(` -variable "capacity" { - default = 1 -} - resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = var.capacity - write_capacity = var.capacity - hash_key = "id" + name = %[1]q + read_capacity = 1 + write_capacity = 1 + hash_key = %[1]q + deletion_protection_enabled = true attribute { - name = "id" + name = %[1]q type = "S" } +} +`, rName) +} +func testAccTableConfig_disable_deletion_protection(rName string) string { + return fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + name = %[1]q + read_capacity = 1 + write_capacity = 1 + hash_key = %[1]q + deletion_protection_enabled = false attribute { - name = "att1" + name = %[1]q type = "S" } +} +`, rName) +} - attribute { - name = "att2" - type = "S" - } +func testAccTableConfig_backup(rName string) string { + return fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + name = %[1]q + read_capacity = 1 + write_capacity = 1 + hash_key = "TestTableHashKey" attribute { - name = "att3" + name = "TestTableHashKey" type = "S" } - global_secondary_index { - name = "att1-index" - hash_key = "att1" - write_capacity = var.capacity - read_capacity = var.capacity - projection_type = "ALL" - } - - global_secondary_index { - name = "att2-index" - hash_key = "att2" - write_capacity = var.capacity - read_capacity = var.capacity - projection_type = "ALL" - } - - global_secondary_index { - name = "att3-index" - hash_key = "att3" - write_capacity = var.capacity - read_capacity = var.capacity - projection_type = "ALL" + point_in_time_recovery { + enabled = true } } `, rName) } -func testAccTableConfig_gsiUpdatedCapacity(rName string) string { +func testAccTableConfig_pitrWithCustomRecovery(rName string, recoveryPeriodInDays int) string { return fmt.Sprintf(` -variable "capacity" { - default = 2 -} - resource "aws_dynamodb_table" "test" { name = %[1]q - read_capacity = var.capacity - write_capacity = var.capacity - hash_key = "id" + read_capacity = 1 + write_capacity = 1 + hash_key = "TestTableHashKey" attribute { - name = "id" + name = "TestTableHashKey" type = "S" } - attribute { - name = "att1" - type = "S" + point_in_time_recovery { + enabled = true + recovery_period_in_days = %[2]d } +} +`, rName, recoveryPeriodInDays) +} - attribute { - name = "att2" - type = "S" - } +func testAccTableConfig_billingPayPerRequest(rName string) string { + return fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + name = %[1]q + billing_mode = "PAY_PER_REQUEST" + hash_key = "TestTableHashKey" attribute { - name = "att3" + name = "TestTableHashKey" type = "S" } - - global_secondary_index { - name = "att1-index" - hash_key = "att1" - write_capacity = var.capacity - read_capacity = var.capacity - projection_type = "ALL" - } - - global_secondary_index { - name = "att2-index" - hash_key = "att2" - write_capacity = var.capacity - read_capacity = var.capacity - projection_type = "ALL" - } - - global_secondary_index { - name = "att3-index" - hash_key = "att3" - write_capacity = var.capacity - read_capacity = var.capacity - projection_type = "ALL" - } } `, rName) } -func testAccTableConfig_gsiUpdatedOtherAttributes(rName string) string { +func testAccTableConfig_billingPayPerRequestIgnoreChanges(rName string) string { return fmt.Sprintf(` -variable "capacity" { - default = 1 -} - resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = var.capacity - write_capacity = var.capacity - hash_key = "id" + name = %[1]q + billing_mode = "PAY_PER_REQUEST" + hash_key = "TestTableHashKey" attribute { - name = "id" + name = "TestTableHashKey" type = "S" } - attribute { - name = "att1" - type = "S" + lifecycle { + ignore_changes = [read_capacity, write_capacity] } +} +`, rName) +} - attribute { - name = "att2" - type = "S" - } +func testAccTableConfig_billingProvisioned(rName string) string { + return fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + name = %[1]q + billing_mode = "PROVISIONED" + hash_key = "TestTableHashKey" - attribute { - name = "att3" - type = "S" - } + read_capacity = 5 + write_capacity = 5 attribute { - name = "att4" + name = "TestTableHashKey" type = "S" } - - global_secondary_index { - name = "att1-index" - hash_key = "att1" - write_capacity = var.capacity - read_capacity = var.capacity - projection_type = "ALL" - } - - global_secondary_index { - name = "att2-index" - hash_key = "att4" - range_key = "att2" - write_capacity = var.capacity - read_capacity = var.capacity - projection_type = "ALL" - } - - global_secondary_index { - name = "att3-index" - hash_key = "att3" - range_key = "att4" - write_capacity = var.capacity - read_capacity = var.capacity - projection_type = "INCLUDE" - non_key_attributes = ["RandomAttribute"] - } } `, rName) } -func testAccTableConfig_gsiUpdatedNonKeyAttributes(rName string) string { +func testAccTableConfig_billingProvisionedIgnoreChanges(rName string) string { return fmt.Sprintf(` -variable "capacity" { - default = 1 -} - resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = var.capacity - write_capacity = var.capacity - hash_key = "id" + name = %[1]q + billing_mode = "PROVISIONED" + hash_key = "TestTableHashKey" - attribute { - name = "id" - type = "S" - } + read_capacity = 5 + write_capacity = 5 attribute { - name = "att1" + name = "TestTableHashKey" type = "S" } - attribute { - name = "att2" - type = "S" + lifecycle { + ignore_changes = [read_capacity, write_capacity] } +} +`, rName) +} + +func testAccTableConfig_billingPayPerRequestGSI(rName string) string { + return fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + name = %[1]q + billing_mode = "PAY_PER_REQUEST" + hash_key = "TestTableHashKey" attribute { - name = "att3" + name = "TestTableHashKey" type = "S" } attribute { - name = "att4" + name = "TestTableGSIKey" type = "S" } global_secondary_index { - name = "att1-index" - hash_key = "att1" - write_capacity = var.capacity - read_capacity = var.capacity - projection_type = "ALL" - } - - global_secondary_index { - name = "att2-index" - hash_key = "att4" - range_key = "att2" - write_capacity = var.capacity - read_capacity = var.capacity - projection_type = "ALL" - } - - global_secondary_index { - name = "att3-index" - hash_key = "att3" - range_key = "att4" - write_capacity = var.capacity - read_capacity = var.capacity - projection_type = "INCLUDE" - non_key_attributes = ["RandomAttribute", "AnotherAttribute"] + name = "TestTableGSI" + hash_key = "TestTableGSIKey" + projection_type = "KEYS_ONLY" } } `, rName) } -func testAccTableConfig_gsiMultipleNonKeyAttributes(rName, attributes string) string { +func testAccTableConfig_billingProvisionedGSI(rName string) string { return fmt.Sprintf(` -variable "capacity" { - default = 1 -} - resource "aws_dynamodb_table" "test" { + billing_mode = "PROVISIONED" + hash_key = "TestTableHashKey" name = %[1]q - read_capacity = var.capacity - write_capacity = var.capacity - hash_key = "id" - - attribute { - name = "id" - type = "S" - } + read_capacity = 1 + write_capacity = 1 attribute { - name = "att1" + name = "TestTableHashKey" type = "S" } attribute { - name = "att2" + name = "TestTableGSIKey" type = "S" } global_secondary_index { - name = "att1-index" - hash_key = "att1" - range_key = "att2" - write_capacity = var.capacity - read_capacity = var.capacity - projection_type = "INCLUDE" - non_key_attributes = [%s] + hash_key = "TestTableGSIKey" + name = "TestTableGSI" + projection_type = "KEYS_ONLY" + read_capacity = 1 + write_capacity = 1 } } -`, rName, attributes) +`, rName) } -func testAccTableConfig_lsiNonKeyAttributes(rName string) string { +func testAccTableConfig_initialState(rName string) string { return fmt.Sprintf(` resource "aws_dynamodb_table" "test" { name = %[1]q + read_capacity = 1 + write_capacity = 2 hash_key = "TestTableHashKey" range_key = "TestTableRangeKey" - write_capacity = 1 - read_capacity = 1 attribute { name = "TestTableHashKey" @@ -5498,748 +3946,687 @@ resource "aws_dynamodb_table" "test" { type = "N" } + attribute { + name = "TestGSIRangeKey" + type = "S" + } + local_secondary_index { - name = "TestTableLSI" - range_key = "TestLSIRangeKey" - projection_type = "INCLUDE" - non_key_attributes = ["TestNonKeyAttribute"] + name = "TestTableLSI" + range_key = "TestLSIRangeKey" + projection_type = "ALL" + } + + global_secondary_index { + name = "InitialTestTableGSI" + hash_key = "TestTableHashKey" + range_key = "TestGSIRangeKey" + write_capacity = 1 + read_capacity = 1 + projection_type = "KEYS_ONLY" } } `, rName) } -func testAccTableConfig_timeToLive(rName, ttlAttribute string, ttlEnabled bool) string { +func testAccTableConfig_initialStateEncryptionAmazonCMK(rName string, enabled bool) string { return fmt.Sprintf(` +data "aws_kms_alias" "dynamodb" { + name = "alias/aws/dynamodb" +} + +resource "aws_kms_key" "test" { + description = %[1]q + deletion_window_in_days = 7 + enable_key_rotation = true +} + resource "aws_dynamodb_table" "test" { - hash_key = "TestTableHashKey" name = %[1]q read_capacity = 1 write_capacity = 1 + hash_key = "TestTableHashKey" attribute { name = "TestTableHashKey" type = "S" } - ttl { - attribute_name = %[2]q - enabled = %[3]t + server_side_encryption { + enabled = %[2]t } } -`, rName, ttlAttribute, ttlEnabled) +`, rName, enabled) } -func testAccTableConfig_timeToLive_unset(rName string) string { +func testAccTableConfig_initialStateEncryptionBYOK(rName string) string { return fmt.Sprintf(` +resource "aws_kms_key" "test" { + description = %[1]q + deletion_window_in_days = 7 + enable_key_rotation = true +} + resource "aws_dynamodb_table" "test" { - hash_key = "TestTableHashKey" name = %[1]q - read_capacity = 1 - write_capacity = 1 + read_capacity = 2 + write_capacity = 2 + hash_key = "TestTableHashKey" attribute { name = "TestTableHashKey" type = "S" } + + server_side_encryption { + enabled = true + kms_key_arn = aws_kms_key.test.arn + } } `, rName) } -func testAccTableConfig_TTL_missingAttributeName(rName string, ttlEnabled bool) string { +func testAccTableConfig_addSecondaryGSI(rName string) string { return fmt.Sprintf(` resource "aws_dynamodb_table" "test" { - hash_key = "TestTableHashKey" name = %[1]q - read_capacity = 1 - write_capacity = 1 + read_capacity = 2 + write_capacity = 2 + hash_key = "TestTableHashKey" + range_key = "TestTableRangeKey" attribute { name = "TestTableHashKey" type = "S" } - ttl { - attribute_name = "" - enabled = %[2]t + attribute { + name = "TestTableRangeKey" + type = "S" } -} -`, rName, ttlEnabled) -} - -func testAccTableConfig_oneAttribute(rName, hashKey, attrName, attrType string) string { - return fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = 10 - write_capacity = 10 - hash_key = "staticHashKey" attribute { - name = "staticHashKey" - type = "S" + name = "TestLSIRangeKey" + type = "N" } attribute { - name = %[3]q - type = %[4]q + name = "ReplacementGSIRangeKey" + type = "N" + } + + local_secondary_index { + name = "TestTableLSI" + range_key = "TestLSIRangeKey" + projection_type = "ALL" } global_secondary_index { - name = "gsiName" - hash_key = %[2]q - write_capacity = 10 - read_capacity = 10 - projection_type = "KEYS_ONLY" + name = "ReplacementTestTableGSI" + hash_key = "TestTableHashKey" + range_key = "ReplacementGSIRangeKey" + write_capacity = 5 + read_capacity = 5 + projection_type = "INCLUDE" + non_key_attributes = ["TestNonKeyAttribute"] } } -`, rName, hashKey, attrName, attrType) +`, rName) } -func testAccTableConfig_twoAttributes(rName, hashKey, rangeKey, attrName1, attrType1, attrName2, attrType2 string) string { +func testAccTableConfig_onDemandThroughput(rName string, read, write int) string { return fmt.Sprintf(` resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = 10 - write_capacity = 10 - hash_key = "staticHashKey" - - attribute { - name = "staticHashKey" - type = "S" - } + name = %[1]q + billing_mode = "PAY_PER_REQUEST" + hash_key = "TestTableHashKey" - attribute { - name = %[4]q - type = %[5]q + on_demand_throughput { + max_read_request_units = %[2]d + max_write_request_units = %[3]d } attribute { - name = %[6]q - type = %[7]q - } - - global_secondary_index { - name = "gsiName" - hash_key = %[2]q - range_key = %[3]q - write_capacity = 10 - read_capacity = 10 - projection_type = "KEYS_ONLY" + name = "TestTableHashKey" + type = "S" } } -`, rName, hashKey, rangeKey, attrName1, attrType1, attrName2, attrType2) +`, rName, read, write) } -func testAccTableConfig_unmatchedIndexes(rName, attr1, attr2 string) string { +func testAccTableConfig_gsiOnDemandThroughput(rName string, read, write int) string { return fmt.Sprintf(` resource "aws_dynamodb_table" "test" { - name = %[1]q - read_capacity = 10 - write_capacity = 10 - hash_key = "staticHashKey" - range_key = %[2]q + name = %[1]q + billing_mode = "PAY_PER_REQUEST" + hash_key = "TestTableHashKey" + + on_demand_throughput { + max_read_request_units = 10 + max_write_request_units = 10 + } + + global_secondary_index { + name = "att1-index" + hash_key = "att1" + projection_type = "ALL" + + on_demand_throughput { + max_read_request_units = %[2]d + max_write_request_units = %[3]d + } + } attribute { - name = "staticHashKey" + name = "TestTableHashKey" type = "S" } - local_secondary_index { - name = "lsiName" - range_key = %[3]q - projection_type = "KEYS_ONLY" + attribute { + name = "att1" + type = "S" } } -`, rName, attr1, attr2) +`, rName, read, write) } -func testAccTableConfig_replica0(rName string) string { - return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors - fmt.Sprintf(` +func testAccTableConfig_streamSpecification(rName string, enabled bool, viewType string) string { + if viewType != "null" { + viewType = fmt.Sprintf(`"%s"`, viewType) + } + return fmt.Sprintf(` resource "aws_dynamodb_table" "test" { - name = %[1]q - hash_key = "TestTableHashKey" - billing_mode = "PAY_PER_REQUEST" - stream_enabled = true - stream_view_type = "NEW_AND_OLD_IMAGES" + name = %[1]q + read_capacity = 1 + write_capacity = 2 + hash_key = "TestTableHashKey" attribute { name = "TestTableHashKey" type = "S" } + + stream_enabled = %[2]t + stream_view_type = %[3]s } -`, rName)) +`, rName, enabled, viewType) } -func testAccTableConfig_replica1(rName string) string { - return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors - fmt.Sprintf(` -data "aws_region" "alternate" { - provider = "awsalternate" +func testAccTableConfig_gsiUpdate(rName string) string { + return fmt.Sprintf(` +variable "capacity" { + default = 1 } resource "aws_dynamodb_table" "test" { - name = %[1]q - hash_key = "TestTableHashKey" - billing_mode = "PAY_PER_REQUEST" - stream_enabled = true - stream_view_type = "NEW_AND_OLD_IMAGES" + name = %[1]q + read_capacity = var.capacity + write_capacity = var.capacity + hash_key = "id" attribute { - name = "TestTableHashKey" + name = "id" type = "S" } - replica { - region_name = data.aws_region.alternate.region + attribute { + name = "att1" + type = "S" } -} -`, rName)) -} - -func testAccTableConfig_MRSC_replica_count3(rName string) string { - return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(4), // Prevent "Provider configuration not present" errors - fmt.Sprintf(` -data "aws_region" "alternate" { - provider = "awsalternate" -} - -data "aws_region" "third" { - provider = "awsthird" -} - -data "aws_region" "fourth" { - provider = "awsfourth" -} - -resource "aws_dynamodb_table" "test_mrsc" { - name = %[1]q - hash_key = "TestTableHashKey" - billing_mode = "PAY_PER_REQUEST" - stream_enabled = true - stream_view_type = "NEW_AND_OLD_IMAGES" attribute { - name = "TestTableHashKey" + name = "att2" type = "S" } - replica { - region_name = data.aws_region.alternate.name - consistency_mode = "STRONG" + attribute { + name = "att3" + type = "S" } - replica { - region_name = data.aws_region.third.name - consistency_mode = "STRONG" + global_secondary_index { + name = "att1-index" + hash_key = "att1" + write_capacity = var.capacity + read_capacity = var.capacity + projection_type = "ALL" } - replica { - region_name = data.aws_region.fourth.name - consistency_mode = "STRONG" + global_secondary_index { + name = "att2-index" + hash_key = "att2" + write_capacity = var.capacity + read_capacity = var.capacity + projection_type = "ALL" } -} -`, rName)) -} -func testAccTableConfig_MRSC_replica_count1(rName string) string { - return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(2), // Prevent "Provider configuration not present" errors - fmt.Sprintf(` -data "aws_region" "alternate" { - provider = "awsalternate" + global_secondary_index { + name = "att3-index" + hash_key = "att3" + write_capacity = var.capacity + read_capacity = var.capacity + projection_type = "ALL" + } } - -data "aws_region" "third" { - provider = "awsthird" +`, rName) } -data "aws_region" "fourth" { - provider = "awsfourth" +func testAccTableConfig_gsiUpdatedCapacity(rName string) string { + return fmt.Sprintf(` +variable "capacity" { + default = 2 } -resource "aws_dynamodb_table" "test_mrsc" { - name = %[1]q - hash_key = "TestTableHashKey" - billing_mode = "PAY_PER_REQUEST" - stream_enabled = true - stream_view_type = "NEW_AND_OLD_IMAGES" +resource "aws_dynamodb_table" "test" { + name = %[1]q + read_capacity = var.capacity + write_capacity = var.capacity + hash_key = "id" attribute { - name = "TestTableHashKey" + name = "id" type = "S" } - replica { - region_name = data.aws_region.alternate.name - consistency_mode = "STRONG" + attribute { + name = "att1" + type = "S" } -} -`, rName)) -} - -func testAccTableConfig_MRSC_replica_mixed_consistency_mode(rName string) string { - return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors - fmt.Sprintf(` -data "aws_region" "alternate" { - provider = "awsalternate" -} - -data "aws_region" "third" { - provider = "awsthird" -} -resource "aws_dynamodb_table" "test_mrsc" { - name = %[1]q - hash_key = "TestTableHashKey" - billing_mode = "PAY_PER_REQUEST" - stream_enabled = true - stream_view_type = "NEW_AND_OLD_IMAGES" + attribute { + name = "att2" + type = "S" + } attribute { - name = "TestTableHashKey" + name = "att3" type = "S" } - replica { - region_name = data.aws_region.alternate.name - consistency_mode = "STRONG" + global_secondary_index { + name = "att1-index" + hash_key = "att1" + write_capacity = var.capacity + read_capacity = var.capacity + projection_type = "ALL" } - replica { - region_name = data.aws_region.third.name - consistency_mode = "EVENTUAL" + global_secondary_index { + name = "att2-index" + hash_key = "att2" + write_capacity = var.capacity + read_capacity = var.capacity + projection_type = "ALL" } -} -`, rName)) -} -func testAccTableConfig_MRSC_replica_eventual_consistency(rName string) string { - return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors - fmt.Sprintf(` -data "aws_region" "alternate" { - provider = "awsalternate" + global_secondary_index { + name = "att3-index" + hash_key = "att3" + write_capacity = var.capacity + read_capacity = var.capacity + projection_type = "ALL" + } +} +`, rName) } -data "aws_region" "third" { - provider = "awsthird" +func testAccTableConfig_gsiUpdatedOtherAttributes(rName string) string { + return fmt.Sprintf(` +variable "capacity" { + default = 1 } -resource "aws_dynamodb_table" "test_mrsc" { - name = %[1]q - hash_key = "TestTableHashKey" - billing_mode = "PAY_PER_REQUEST" - stream_enabled = true - stream_view_type = "NEW_AND_OLD_IMAGES" +resource "aws_dynamodb_table" "test" { + name = %[1]q + read_capacity = var.capacity + write_capacity = var.capacity + hash_key = "id" attribute { - name = "TestTableHashKey" + name = "id" type = "S" } - replica { - region_name = data.aws_region.alternate.name - consistency_mode = "EVENTUAL" + attribute { + name = "att1" + type = "S" } - replica { - region_name = data.aws_region.third.name - consistency_mode = "EVENTUAL" + attribute { + name = "att2" + type = "S" } -} -`, rName)) -} - -func testAccTableConfig_MRSC_replica(rName string) string { - return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors - fmt.Sprintf(` -data "aws_region" "alternate" { - provider = "awsalternate" -} -data "aws_region" "third" { - provider = "awsthird" -} - -resource "aws_dynamodb_table" "test_mrsc" { - name = %[1]q - hash_key = "TestTableHashKey" - billing_mode = "PAY_PER_REQUEST" - stream_enabled = true - stream_view_type = "NEW_AND_OLD_IMAGES" + attribute { + name = "att3" + type = "S" + } attribute { - name = "TestTableHashKey" + name = "att4" type = "S" } - replica { - region_name = data.aws_region.alternate.name - consistency_mode = "STRONG" + global_secondary_index { + name = "att1-index" + hash_key = "att1" + write_capacity = var.capacity + read_capacity = var.capacity + projection_type = "ALL" + } + + global_secondary_index { + name = "att2-index" + hash_key = "att4" + range_key = "att2" + write_capacity = var.capacity + read_capacity = var.capacity + projection_type = "ALL" } - replica { - region_name = data.aws_region.third.name - consistency_mode = "STRONG" + global_secondary_index { + name = "att3-index" + hash_key = "att3" + range_key = "att4" + write_capacity = var.capacity + read_capacity = var.capacity + projection_type = "INCLUDE" + non_key_attributes = ["RandomAttribute"] } } -`, rName)) +`, rName) } -func testAccTableConfig_replicaEncryptedDefault(rName string, sseEnabled bool) string { - return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors - fmt.Sprintf(` -data "aws_region" "alternate" { - provider = "awsalternate" +func testAccTableConfig_gsiUpdatedNonKeyAttributes(rName string) string { + return fmt.Sprintf(` +variable "capacity" { + default = 1 } resource "aws_dynamodb_table" "test" { - name = %[1]q - hash_key = "TestTableHashKey" - billing_mode = "PAY_PER_REQUEST" - stream_enabled = true - stream_view_type = "NEW_AND_OLD_IMAGES" + name = %[1]q + read_capacity = var.capacity + write_capacity = var.capacity + hash_key = "id" attribute { - name = "TestTableHashKey" + name = "id" type = "S" } - server_side_encryption { - enabled = %[2]t + attribute { + name = "att1" + type = "S" } - replica { - region_name = data.aws_region.alternate.region + attribute { + name = "att2" + type = "S" } -} -`, rName, sseEnabled)) -} - -func testAccTableConfig_replicaCMK(rName string) string { - return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors - fmt.Sprintf(` -data "aws_region" "alternate" { - provider = "awsalternate" -} - -resource "aws_kms_key" "test" { - description = %[1]q - deletion_window_in_days = 7 - enable_key_rotation = true -} - -resource "aws_kms_key" "awsalternate" { - provider = "awsalternate" - description = %[1]q - deletion_window_in_days = 7 - enable_key_rotation = true -} -resource "aws_dynamodb_table" "test" { - name = %[1]q - hash_key = "TestTableHashKey" - billing_mode = "PAY_PER_REQUEST" - stream_enabled = true - stream_view_type = "NEW_AND_OLD_IMAGES" + attribute { + name = "att3" + type = "S" + } attribute { - name = "TestTableHashKey" + name = "att4" type = "S" } - replica { - region_name = data.aws_region.alternate.region - kms_key_arn = aws_kms_key.awsalternate.arn + global_secondary_index { + name = "att1-index" + hash_key = "att1" + write_capacity = var.capacity + read_capacity = var.capacity + projection_type = "ALL" } - server_side_encryption { - enabled = true - kms_key_arn = aws_kms_key.test.arn + global_secondary_index { + name = "att2-index" + hash_key = "att4" + range_key = "att2" + write_capacity = var.capacity + read_capacity = var.capacity + projection_type = "ALL" } - timeouts { - create = "20m" - update = "20m" - delete = "20m" + global_secondary_index { + name = "att3-index" + hash_key = "att3" + range_key = "att4" + write_capacity = var.capacity + read_capacity = var.capacity + projection_type = "INCLUDE" + non_key_attributes = ["RandomAttribute", "AnotherAttribute"] } } -`, rName)) -} - -func testAccTableConfig_replicaAmazonManagedKey(rName string) string { - return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors - fmt.Sprintf(` -data "aws_region" "alternate" { - provider = "awsalternate" +`, rName) } -data "aws_region" "third" { - provider = "awsthird" +func testAccTableConfig_gsiMultipleNonKeyAttributes(rName, attributes string) string { + return fmt.Sprintf(` +variable "capacity" { + default = 1 } resource "aws_dynamodb_table" "test" { - name = %[1]q - hash_key = "TestTableHashKey" - billing_mode = "PAY_PER_REQUEST" - stream_enabled = true - stream_view_type = "NEW_AND_OLD_IMAGES" + name = %[1]q + read_capacity = var.capacity + write_capacity = var.capacity + hash_key = "id" attribute { - name = "TestTableHashKey" + name = "id" type = "S" } - replica { - region_name = data.aws_region.alternate.region - } - - replica { - region_name = data.aws_region.third.region + attribute { + name = "att1" + type = "S" } - server_side_encryption { - enabled = true + attribute { + name = "att2" + type = "S" } - timeouts { - create = "20m" - update = "20m" - delete = "20m" + global_secondary_index { + name = "att1-index" + hash_key = "att1" + range_key = "att2" + write_capacity = var.capacity + read_capacity = var.capacity + projection_type = "INCLUDE" + non_key_attributes = [%s] } } -`, rName)) -} - -func testAccTableConfig_replica_MRSC_AmazonManagedKey(rName string) string { - return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors - fmt.Sprintf(` -data "aws_region" "alternate" { - provider = "awsalternate" -} - -data "aws_region" "third" { - provider = "awsthird" +`, rName, attributes) } +func testAccTableConfig_lsiNonKeyAttributes(rName string) string { + return fmt.Sprintf(` resource "aws_dynamodb_table" "test" { - name = %[1]q - hash_key = "TestTableHashKey" - billing_mode = "PAY_PER_REQUEST" - stream_enabled = true - stream_view_type = "NEW_AND_OLD_IMAGES" + name = %[1]q + hash_key = "TestTableHashKey" + range_key = "TestTableRangeKey" + write_capacity = 1 + read_capacity = 1 attribute { name = "TestTableHashKey" type = "S" } - replica { - region_name = data.aws_region.alternate.name - consistency_mode = "STRONG" - } - - replica { - region_name = data.aws_region.third.name - consistency_mode = "STRONG" + attribute { + name = "TestTableRangeKey" + type = "S" } - server_side_encryption { - enabled = true + attribute { + name = "TestLSIRangeKey" + type = "N" } - timeouts { - create = "20m" - update = "20m" - delete = "20m" + local_secondary_index { + name = "TestTableLSI" + range_key = "TestLSIRangeKey" + projection_type = "INCLUDE" + non_key_attributes = ["TestNonKeyAttribute"] } } -`, rName)) -} - -func testAccTableConfig_replicaCMKUpdate(rName, keyReplica1, keyReplica2 string) string { - return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors - fmt.Sprintf(` -data "aws_region" "alternate" { - provider = "awsalternate" -} - -data "aws_region" "third" { - provider = "awsthird" -} - -resource "aws_kms_key" "test" { - description = %[1]q - deletion_window_in_days = 7 - enable_key_rotation = true -} - -resource "aws_kms_key" "awsalternate1" { - provider = "awsalternate" - description = "%[1]s-1" - deletion_window_in_days = 7 - enable_key_rotation = true -} - -resource "aws_kms_key" "awsalternate2" { - provider = "awsalternate" - description = "%[1]s-2" - deletion_window_in_days = 7 - enable_key_rotation = true -} - -resource "aws_kms_key" "awsthird1" { - provider = "awsthird" - description = "%[1]s-1" - deletion_window_in_days = 7 - enable_key_rotation = true -} - -resource "aws_kms_key" "awsthird2" { - provider = "awsthird" - description = "%[1]s-2" - deletion_window_in_days = 7 - enable_key_rotation = true +`, rName) } +func testAccTableConfig_timeToLive(rName, ttlAttribute string, ttlEnabled bool) string { + return fmt.Sprintf(` resource "aws_dynamodb_table" "test" { - name = %[1]q - hash_key = "TestTableHashKey" - billing_mode = "PAY_PER_REQUEST" - stream_enabled = true - stream_view_type = "NEW_AND_OLD_IMAGES" + hash_key = "TestTableHashKey" + name = %[1]q + read_capacity = 1 + write_capacity = 1 attribute { name = "TestTableHashKey" type = "S" } - replica { - region_name = data.aws_region.alternate.region - kms_key_arn = aws_kms_key.%[2]s.arn - } - - replica { - region_name = data.aws_region.third.region - kms_key_arn = aws_kms_key.%[3]s.arn + ttl { + attribute_name = %[2]q + enabled = %[3]t } +} +`, rName, ttlAttribute, ttlEnabled) +} - server_side_encryption { - enabled = true - kms_key_arn = aws_kms_key.test.arn - } +func testAccTableConfig_timeToLive_unset(rName string) string { + return fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + hash_key = "TestTableHashKey" + name = %[1]q + read_capacity = 1 + write_capacity = 1 - timeouts { - create = "20m" - update = "20m" - delete = "20m" + attribute { + name = "TestTableHashKey" + type = "S" } } -`, rName, keyReplica1, keyReplica2)) +`, rName) } -func testAccTableConfig_replica_MRSC_CMKUpdate(rName, keyReplica1, keyReplica2 string) string { - return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors - fmt.Sprintf(` -data "aws_region" "alternate" { - provider = "awsalternate" -} +func testAccTableConfig_TTL_missingAttributeName(rName string, ttlEnabled bool) string { + return fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + hash_key = "TestTableHashKey" + name = %[1]q + read_capacity = 1 + write_capacity = 1 -data "aws_region" "third" { - provider = "awsthird" -} + attribute { + name = "TestTableHashKey" + type = "S" + } -resource "aws_kms_key" "test" { - description = %[1]q - deletion_window_in_days = 7 + ttl { + attribute_name = "" + enabled = %[2]t + } } - -resource "aws_kms_key" "awsalternate1" { - provider = "awsalternate" - description = "%[1]s-1" - deletion_window_in_days = 7 +`, rName, ttlEnabled) } -resource "aws_kms_key" "awsalternate2" { - provider = "awsalternate" - description = "%[1]s-2" - deletion_window_in_days = 7 -} +func testAccTableConfig_oneAttribute(rName, hashKey, attrName, attrType string) string { + return fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + name = %[1]q + read_capacity = 10 + write_capacity = 10 + hash_key = "staticHashKey" -resource "aws_kms_key" "awsthird1" { - provider = "awsthird" - description = "%[1]s-1" - deletion_window_in_days = 7 -} + attribute { + name = "staticHashKey" + type = "S" + } -resource "aws_kms_key" "awsthird2" { - provider = "awsthird" - description = "%[1]s-2" - deletion_window_in_days = 7 + attribute { + name = %[3]q + type = %[4]q + } + + global_secondary_index { + name = "gsiName" + hash_key = %[2]q + write_capacity = 10 + read_capacity = 10 + projection_type = "KEYS_ONLY" + } +} +`, rName, hashKey, attrName, attrType) } +func testAccTableConfig_twoAttributes(rName, hashKey, rangeKey, attrName1, attrType1, attrName2, attrType2 string) string { + return fmt.Sprintf(` resource "aws_dynamodb_table" "test" { - name = %[1]q - hash_key = "TestTableHashKey" - billing_mode = "PAY_PER_REQUEST" - stream_enabled = true - stream_view_type = "NEW_AND_OLD_IMAGES" + name = %[1]q + read_capacity = 10 + write_capacity = 10 + hash_key = "staticHashKey" attribute { - name = "TestTableHashKey" + name = "staticHashKey" type = "S" } - replica { - region_name = data.aws_region.alternate.name - kms_key_arn = aws_kms_key.%[2]s.arn - consistency_mode = "STRONG" + attribute { + name = %[4]q + type = %[5]q } - replica { - region_name = data.aws_region.third.name - kms_key_arn = aws_kms_key.%[3]s.arn - consistency_mode = "STRONG" + attribute { + name = %[6]q + type = %[7]q } - server_side_encryption { - enabled = true - kms_key_arn = aws_kms_key.test.arn + global_secondary_index { + name = "gsiName" + hash_key = %[2]q + range_key = %[3]q + write_capacity = 10 + read_capacity = 10 + projection_type = "KEYS_ONLY" } +} +`, rName, hashKey, rangeKey, attrName1, attrType1, attrName2, attrType2) +} - timeouts { - create = "20m" - update = "20m" - delete = "20m" +func testAccTableConfig_unmatchedIndexes(rName, attr1, attr2 string) string { + return fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + name = %[1]q + read_capacity = 10 + write_capacity = 10 + hash_key = "staticHashKey" + range_key = %[2]q + + attribute { + name = "staticHashKey" + type = "S" + } + + local_secondary_index { + name = "lsiName" + range_key = %[3]q + projection_type = "KEYS_ONLY" } } -`, rName, keyReplica1, keyReplica2)) +`, rName, attr1, attr2) } -func testAccTableConfig_replicaPITR(rName string, mainPITR, replica1, replica2 bool) string { +func testAccTableConfig_replica0(rName string) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors fmt.Sprintf(` -data "aws_region" "alternate" { - provider = "awsalternate" -} - -data "aws_region" "third" { - provider = "awsthird" -} - resource "aws_dynamodb_table" "test" { name = %[1]q hash_key = "TestTableHashKey" @@ -6251,25 +4638,11 @@ resource "aws_dynamodb_table" "test" { name = "TestTableHashKey" type = "S" } - - point_in_time_recovery { - enabled = %[2]t - } - - replica { - region_name = data.aws_region.alternate.region - point_in_time_recovery = %[3]t - } - - replica { - region_name = data.aws_region.third.region - point_in_time_recovery = %[4]t - } } -`, rName, mainPITR, replica1, replica2)) +`, rName)) } -func testAccTableConfig_replica_MRSC_PITR(rName string, mainPITR, replica1, replica2 bool) string { +func testAccTableConfig_replica1(rName string) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors fmt.Sprintf(` @@ -6277,10 +4650,6 @@ data "aws_region" "alternate" { provider = "awsalternate" } -data "aws_region" "third" { - provider = "awsthird" -} - resource "aws_dynamodb_table" "test" { name = %[1]q hash_key = "TestTableHashKey" @@ -6293,55 +4662,19 @@ resource "aws_dynamodb_table" "test" { type = "S" } - point_in_time_recovery { - enabled = %[2]t - } - - replica { - region_name = data.aws_region.alternate.name - point_in_time_recovery = %[3]t - consistency_mode = "STRONG" - } - replica { - region_name = data.aws_region.third.name - point_in_time_recovery = %[4]t - consistency_mode = "STRONG" + region_name = data.aws_region.alternate.region } } -`, rName, mainPITR, replica1, replica2)) -} - -func testAccTableConfig_replicaPITRKMS(rName string, mainPITR, replica1, replica2 bool) string { - return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(3), - fmt.Sprintf(` -data "aws_region" "alternate" { - provider = awsalternate -} - -data "aws_region" "third" { - provider = awsthird -} - -resource "aws_kms_key" "test" { - description = %[1]q - deletion_window_in_days = 7 - enable_key_rotation = true -} - -resource "aws_kms_key" "alternate" { - provider = awsalternate - description = %[1]q - deletion_window_in_days = 7 - enable_key_rotation = true -} - -resource "aws_kms_key" "third" { - provider = awsthird - description = %[1]q - deletion_window_in_days = 7 - enable_key_rotation = true +`, rName)) +} + +func testAccTableConfig_replicaEncryptedDefault(rName string, sseEnabled bool) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" } resource "aws_dynamodb_table" "test" { @@ -6356,57 +4689,36 @@ resource "aws_dynamodb_table" "test" { type = "S" } - point_in_time_recovery { - enabled = %[2]t - } - server_side_encryption { - enabled = true - kms_key_arn = aws_kms_key.test.arn - } - - replica { - region_name = data.aws_region.alternate.region - point_in_time_recovery = %[3]t - kms_key_arn = aws_kms_key.alternate.arn + enabled = %[2]t } replica { - region_name = data.aws_region.third.region - point_in_time_recovery = %[4]t - kms_key_arn = aws_kms_key.third.arn + region_name = data.aws_region.alternate.region } } -`, rName, mainPITR, replica1, replica2)) +`, rName, sseEnabled)) } -func testAccTableConfig_replica_MRSC_PITRKMS(rName string, mainPITR, replica1, replica2 bool) string { +func testAccTableConfig_replicaCMK(rName string) string { return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(3), + acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors fmt.Sprintf(` data "aws_region" "alternate" { - provider = awsalternate -} - -data "aws_region" "third" { - provider = awsthird + provider = "awsalternate" } resource "aws_kms_key" "test" { description = %[1]q deletion_window_in_days = 7 + enable_key_rotation = true } -resource "aws_kms_key" "alternate" { - provider = awsalternate - description = %[1]q - deletion_window_in_days = 7 -} - -resource "aws_kms_key" "third" { - provider = awsthird +resource "aws_kms_key" "awsalternate" { + provider = "awsalternate" description = %[1]q deletion_window_in_days = 7 + enable_key_rotation = true } resource "aws_dynamodb_table" "test" { @@ -6421,8 +4733,9 @@ resource "aws_dynamodb_table" "test" { type = "S" } - point_in_time_recovery { - enabled = %[2]t + replica { + region_name = data.aws_region.alternate.region + kms_key_arn = aws_kms_key.awsalternate.arn } server_side_encryption { @@ -6430,26 +4743,18 @@ resource "aws_dynamodb_table" "test" { kms_key_arn = aws_kms_key.test.arn } - replica { - region_name = data.aws_region.alternate.name - point_in_time_recovery = %[3]t - kms_key_arn = aws_kms_key.alternate.arn - consistency_mode = "STRONG" - } - - replica { - region_name = data.aws_region.third.name - point_in_time_recovery = %[4]t - kms_key_arn = aws_kms_key.third.arn - consistency_mode = "STRONG" + timeouts { + create = "20m" + update = "20m" + delete = "20m" } } -`, rName, mainPITR, replica1, replica2)) +`, rName)) } -func testAccTableConfig_replicaTags(rName, key, value string, propagate1, propagate2 bool) string { +func testAccTableConfig_replicaAmazonManagedKey(rName string) string { return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(3), + acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors fmt.Sprintf(` data "aws_region" "alternate" { provider = "awsalternate" @@ -6472,27 +4777,29 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = data.aws_region.alternate.region - propagate_tags = %[4]t + region_name = data.aws_region.alternate.region } replica { - region_name = data.aws_region.third.region - propagate_tags = %[5]t + region_name = data.aws_region.third.region } - tags = { - Name = %[1]q - Pozo = "Amargo" - %[2]s = %[3]q + server_side_encryption { + enabled = true + } + + timeouts { + create = "20m" + update = "20m" + delete = "20m" } } -`, rName, key, value, propagate1, propagate2)) +`, rName)) } -func testAccTableConfig_replica_MRSC_Tags(rName, key, value string, propagate1, propagate2 bool) string { +func testAccTableConfig_replicaCMKUpdate(rName, keyReplica1, keyReplica2 string) string { return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(3), + acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors fmt.Sprintf(` data "aws_region" "alternate" { provider = "awsalternate" @@ -6502,49 +4809,38 @@ data "aws_region" "third" { provider = "awsthird" } -resource "aws_dynamodb_table" "test" { - name = %[1]q - hash_key = "TestTableHashKey" - billing_mode = "PAY_PER_REQUEST" - stream_enabled = true - stream_view_type = "NEW_AND_OLD_IMAGES" - - attribute { - name = "TestTableHashKey" - type = "S" - } - - replica { - region_name = data.aws_region.alternate.name - propagate_tags = %[4]t - consistency_mode = "STRONG" - } - - replica { - region_name = data.aws_region.third.name - propagate_tags = %[5]t - consistency_mode = "STRONG" - } +resource "aws_kms_key" "test" { + description = %[1]q + deletion_window_in_days = 7 + enable_key_rotation = true +} - tags = { - Name = %[1]q - Pozo = "Amargo" - %[2]s = %[3]q - } +resource "aws_kms_key" "awsalternate1" { + provider = "awsalternate" + description = "%[1]s-1" + deletion_window_in_days = 7 + enable_key_rotation = true } -`, rName, key, value, propagate1, propagate2)) + +resource "aws_kms_key" "awsalternate2" { + provider = "awsalternate" + description = "%[1]s-2" + deletion_window_in_days = 7 + enable_key_rotation = true } -func testAccTableConfig_replica2(rName string) string { - return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(3), - fmt.Sprintf(` -data "aws_region" "alternate" { - provider = "awsalternate" +resource "aws_kms_key" "awsthird1" { + provider = "awsthird" + description = "%[1]s-1" + deletion_window_in_days = 7 + enable_key_rotation = true } -data "aws_region" "third" { - provider = "awsthird" +resource "aws_kms_key" "awsthird2" { + provider = "awsthird" + description = "%[1]s-2" + deletion_window_in_days = 7 + enable_key_rotation = true } resource "aws_dynamodb_table" "test" { @@ -6561,48 +4857,40 @@ resource "aws_dynamodb_table" "test" { replica { region_name = data.aws_region.alternate.region + kms_key_arn = aws_kms_key.%[2]s.arn } replica { region_name = data.aws_region.third.region - } -} -`, rName)) -} - -func testAccTableConfig_replicaTagsNext1(rName string, region1 string, propagate1 bool) string { - return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(3), - fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - name = %[1]q - hash_key = "TestTableHashKey" - billing_mode = "PAY_PER_REQUEST" - stream_enabled = true - stream_view_type = "NEW_AND_OLD_IMAGES" - - attribute { - name = "TestTableHashKey" - type = "S" + kms_key_arn = aws_kms_key.%[3]s.arn } - replica { - region_name = %[2]q - propagate_tags = %[3]t + server_side_encryption { + enabled = true + kms_key_arn = aws_kms_key.test.arn } - tags = { - Name = %[1]q - Pozo = "Amargo" + timeouts { + create = "20m" + update = "20m" + delete = "20m" } } -`, rName, region1, propagate1)) +`, rName, keyReplica1, keyReplica2)) } -func testAccTableConfig_replica_MRSC_TagsNext1(rName string, region1 string, propagate1 bool) string { +func testAccTableConfig_replicaPITR(rName string, mainPITR, replica1, replica2 bool) string { return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(3), + acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" +} + +data "aws_region" "third" { + provider = "awsthird" +} + resource "aws_dynamodb_table" "test" { name = %[1]q hash_key = "TestTableHashKey" @@ -6615,57 +4903,55 @@ resource "aws_dynamodb_table" "test" { type = "S" } + point_in_time_recovery { + enabled = %[2]t + } + replica { - region_name = %[2]q - propagate_tags = %[3]t + region_name = data.aws_region.alternate.region + point_in_time_recovery = %[3]t } - tags = { - Name = %[1]q - Pozo = "Amargo" + replica { + region_name = data.aws_region.third.region + point_in_time_recovery = %[4]t } } -`, rName, region1, propagate1)) +`, rName, mainPITR, replica1, replica2)) } -func testAccTableConfig_replicaTagsNext2(rName, region1 string, propagate1 bool, region2 string, propagate2 bool) string { +func testAccTableConfig_replicaPITRKMS(rName string, mainPITR, replica1, replica2 bool) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - name = %[1]q - hash_key = "TestTableHashKey" - billing_mode = "PAY_PER_REQUEST" - stream_enabled = true - stream_view_type = "NEW_AND_OLD_IMAGES" - - attribute { - name = "TestTableHashKey" - type = "S" - } +data "aws_region" "alternate" { + provider = awsalternate +} - replica { - region_name = %[2]q - propagate_tags = %[3]t - } +data "aws_region" "third" { + provider = awsthird +} - replica { - region_name = %[4]q - propagate_tags = %[5]t - } +resource "aws_kms_key" "test" { + description = %[1]q + deletion_window_in_days = 7 + enable_key_rotation = true +} - tags = { - Name = %[1]q - Pozo = "Amargo" - } +resource "aws_kms_key" "alternate" { + provider = awsalternate + description = %[1]q + deletion_window_in_days = 7 + enable_key_rotation = true } -`, rName, region1, propagate1, region2, propagate2)) + +resource "aws_kms_key" "third" { + provider = awsthird + description = %[1]q + deletion_window_in_days = 7 + enable_key_rotation = true } -func testAccTableConfig_replica_MRSC_TagsNext2(rName, region1 string, propagate1 bool, region2 string, propagate2 bool) string { - return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(3), - fmt.Sprintf(` resource "aws_dynamodb_table" "test" { name = %[1]q hash_key = "TestTableHashKey" @@ -6678,57 +4964,42 @@ resource "aws_dynamodb_table" "test" { type = "S" } - replica { - region_name = %[2]q - propagate_tags = %[3]t + point_in_time_recovery { + enabled = %[2]t + } + + server_side_encryption { + enabled = true + kms_key_arn = aws_kms_key.test.arn } replica { - region_name = %[4]q - propagate_tags = %[5]t + region_name = data.aws_region.alternate.region + point_in_time_recovery = %[3]t + kms_key_arn = aws_kms_key.alternate.arn } - tags = { - Name = %[1]q - Pozo = "Amargo" + replica { + region_name = data.aws_region.third.region + point_in_time_recovery = %[4]t + kms_key_arn = aws_kms_key.third.arn } } -`, rName, region1, propagate1, region2, propagate2)) +`, rName, mainPITR, replica1, replica2)) } -func testAccTableConfig_replicaTagsUpdate1(rName, region1 string) string { +func testAccTableConfig_replicaTags(rName, key, value string, propagate1, propagate2 bool) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - name = %[1]q - hash_key = "TestTableHashKey" - billing_mode = "PAY_PER_REQUEST" - stream_enabled = true - stream_view_type = "NEW_AND_OLD_IMAGES" - - attribute { - name = "TestTableHashKey" - type = "S" - } - - replica { - region_name = %[2]q - propagate_tags = true - } - - tags = { - Name = %[1]q - Pozo = "Amargo" - } +data "aws_region" "alternate" { + provider = "awsalternate" } -`, rName, region1)) + +data "aws_region" "third" { + provider = "awsthird" } -func testAccTableConfig_replicaTagsUpdate2(rName, region1 string) string { - return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(3), - fmt.Sprintf(` resource "aws_dynamodb_table" "test" { name = %[1]q hash_key = "TestTableHashKey" @@ -6742,24 +5013,36 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = %[2]q - propagate_tags = true + region_name = data.aws_region.alternate.region + propagate_tags = %[4]t + } + + replica { + region_name = data.aws_region.third.region + propagate_tags = %[5]t } tags = { - Name = %[1]q - Pozo = "Amargo" - tyDi = "Lullaby" - Thrill = "Seekers" + Name = %[1]q + Pozo = "Amargo" + %[2]s = %[3]q } } -`, rName, region1)) +`, rName, key, value, propagate1, propagate2)) } -func testAccTableConfig_replicaTagsUpdate3(rName, region1 string, region2 string) string { +func testAccTableConfig_replica2(rName string) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" +} + +data "aws_region" "third" { + provider = "awsthird" +} + resource "aws_dynamodb_table" "test" { name = %[1]q hash_key = "TestTableHashKey" @@ -6773,26 +5056,17 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = %[2]q - propagate_tags = true + region_name = data.aws_region.alternate.region } replica { - region_name = %[3]q - propagate_tags = true - } - - tags = { - Name = %[1]q - Pozo = "Amargo" - tyDi = "Lullaby" - Thrill = "Seekers" + region_name = data.aws_region.third.region } } -`, rName, region1, region2)) +`, rName)) } -func testAccTableConfig_replicaTagsUpdate4(rName, region1 string, region2 string) string { +func testAccTableConfig_replicaTagsNext1(rName string, region1 string, propagate1 bool) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), fmt.Sprintf(` @@ -6810,27 +5084,18 @@ resource "aws_dynamodb_table" "test" { replica { region_name = %[2]q - propagate_tags = true - } - - replica { - region_name = %[3]q - propagate_tags = true + propagate_tags = %[3]t } tags = { - Name = %[1]q - Pozo = "Amargo" - tyDi = "Lullaby" - Thrill = "Seekers" - Tristan = "Joe" - Humming = "bird" + Name = %[1]q + Pozo = "Amargo" } } -`, rName, region1, region2)) +`, rName, region1, propagate1)) } -func testAccTableConfig_replicaTagsUpdate5(rName, region1 string, region2 string) string { +func testAccTableConfig_replicaTagsNext2(rName, region1 string, propagate1 bool, region2 string, propagate2 bool) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), fmt.Sprintf(` @@ -6848,22 +5113,23 @@ resource "aws_dynamodb_table" "test" { replica { region_name = %[2]q - propagate_tags = true + propagate_tags = %[3]t } replica { - region_name = %[3]q - propagate_tags = true + region_name = %[4]q + propagate_tags = %[5]t } tags = { Name = %[1]q + Pozo = "Amargo" } } -`, rName, region1, region2)) +`, rName, region1, propagate1, region2, propagate2)) } -func testAccTableConfig_replica_MRSC_TagsUpdate1(rName, region1 string, region2 string) string { +func testAccTableConfig_replicaTagsUpdate1(rName, region1 string) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), fmt.Sprintf(` @@ -6880,15 +5146,8 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = %[2]q - propagate_tags = true - consistency_mode = "STRONG" - } - - replica { - region_name = %[3]q - propagate_tags = true - consistency_mode = "STRONG" + region_name = %[2]q + propagate_tags = true } tags = { @@ -6896,10 +5155,10 @@ resource "aws_dynamodb_table" "test" { Pozo = "Amargo" } } -`, rName, region1, region2)) +`, rName, region1)) } -func testAccTableConfig_replica_MRSC_TagsUpdate2(rName, region1 string, region2 string) string { +func testAccTableConfig_replicaTagsUpdate2(rName, region1 string) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), fmt.Sprintf(` @@ -6916,15 +5175,8 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = %[2]q - propagate_tags = true - consistency_mode = "STRONG" - } - - replica { - region_name = %[3]q - propagate_tags = true - consistency_mode = "STRONG" + region_name = %[2]q + propagate_tags = true } tags = { @@ -6934,10 +5186,10 @@ resource "aws_dynamodb_table" "test" { Thrill = "Seekers" } } -`, rName, region1, region2)) +`, rName, region1)) } -func testAccTableConfig_replica_MRSC_TagsUpdate3(rName, region1 string, region2 string) string { +func testAccTableConfig_replicaTagsUpdate3(rName, region1 string, region2 string) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), fmt.Sprintf(` @@ -6954,15 +5206,13 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = %[2]q - propagate_tags = true - consistency_mode = "STRONG" + region_name = %[2]q + propagate_tags = true } replica { - region_name = %[3]q - propagate_tags = true - consistency_mode = "STRONG" + region_name = %[3]q + propagate_tags = true } tags = { @@ -6975,7 +5225,7 @@ resource "aws_dynamodb_table" "test" { `, rName, region1, region2)) } -func testAccTableConfig_replica_MRSC_TagsUpdate4(rName, region1 string, region2 string) string { +func testAccTableConfig_replicaTagsUpdate4(rName, region1 string, region2 string) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), fmt.Sprintf(` @@ -6992,15 +5242,13 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = %[2]q - propagate_tags = true - consistency_mode = "STRONG" + region_name = %[2]q + propagate_tags = true } replica { - region_name = %[3]q - propagate_tags = true - consistency_mode = "STRONG" + region_name = %[3]q + propagate_tags = true } tags = { @@ -7015,7 +5263,7 @@ resource "aws_dynamodb_table" "test" { `, rName, region1, region2)) } -func testAccTableConfig_replica_MRSC_TagsUpdate5(rName, region1 string, region2 string) string { +func testAccTableConfig_replicaTagsUpdate5(rName, region1 string, region2 string) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), fmt.Sprintf(` @@ -7032,15 +5280,13 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = %[2]q - propagate_tags = true - consistency_mode = "STRONG" + region_name = %[2]q + propagate_tags = true } replica { - region_name = %[3]q - propagate_tags = true - consistency_mode = "STRONG" + region_name = %[3]q + propagate_tags = true } tags = { @@ -7081,6 +5327,38 @@ resource "aws_dynamodb_table" "test" { `, rName, streamEnabled, viewType)) } +func testAccTableConfig_replicaDeletionProtection(rName string, deletionProtection bool) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" +} +data "aws_region" "third" { + provider = "awsthird" +} +resource "aws_dynamodb_table" "test" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" + attribute { + name = "TestTableHashKey" + type = "S" + } + replica { + region_name = data.aws_region.alternate.name + deletion_protection_enabled = %[2]t + } + replica { + region_name = data.aws_region.third.name + deletion_protection_enabled = %[2]t + } +} +`, rName, deletionProtection)) +} + func testAccTableConfig_lsi(rName, lsiName string) string { return fmt.Sprintf(` resource "aws_dynamodb_table" "test" { @@ -7114,38 +5392,6 @@ resource "aws_dynamodb_table" "test" { `, rName, lsiName) } -func testAccTableConfig_replicaDeletionProtection(rName string, deletionProtection bool) string { - return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(3), - fmt.Sprintf(` -data "aws_region" "alternate" { - provider = "awsalternate" -} -data "aws_region" "third" { - provider = "awsthird" -} -resource "aws_dynamodb_table" "test" { - name = %[1]q - hash_key = "TestTableHashKey" - billing_mode = "PAY_PER_REQUEST" - stream_enabled = true - stream_view_type = "NEW_AND_OLD_IMAGES" - attribute { - name = "TestTableHashKey" - type = "S" - } - replica { - region_name = data.aws_region.alternate.name - deletion_protection_enabled = %[2]t - } - replica { - region_name = data.aws_region.third.name - deletion_protection_enabled = %[2]t - } -} -`, rName, deletionProtection)) -} - func testAccTableConfig_class(rName, tableClass string) string { return fmt.Sprintf(` resource "aws_dynamodb_table" "test" { @@ -7351,28 +5597,3 @@ resource "aws_dynamodb_table" "test_restore" { } `, rName)) } - -func testAccTableConfig_replica2_NoMultipleRegionProvider(rName string) string { - return fmt.Sprintf(` -resource "aws_dynamodb_table" "test" { - name = %[1]q - hash_key = "TestTableHashKey" - billing_mode = "PAY_PER_REQUEST" - stream_enabled = true - stream_view_type = "NEW_AND_OLD_IMAGES" - - attribute { - name = "TestTableHashKey" - type = "S" - } - - replica { - region_name = %[2]q - } - - replica { - region_name = %[3]q - } -} -`, rName, acctest.AlternateRegion(), acctest.ThirdRegion()) -} From 81893d9c6fa42eb7d4f6fb278dbcd096bd15f2d4 Mon Sep 17 00:00:00 2001 From: Rajpal Yalla Date: Thu, 10 Jul 2025 16:17:42 -0500 Subject: [PATCH 0013/1301] rebase test file from main --- internal/service/dynamodb/table_test.go | 92 ------------------------- 1 file changed, 92 deletions(-) diff --git a/internal/service/dynamodb/table_test.go b/internal/service/dynamodb/table_test.go index 3ff36efb0b90..058cedc76f5e 100644 --- a/internal/service/dynamodb/table_test.go +++ b/internal/service/dynamodb/table_test.go @@ -3190,66 +3190,6 @@ func TestAccDynamoDBTable_Replica_tagsUpdate(t *testing.T) { }) } -func TestAccDynamoDBTable_Replica_deletionProtection(t *testing.T) { - ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - - var conf awstypes.TableDescription - resourceName := "aws_dynamodb_table.test" - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { - acctest.PreCheck(ctx, t) - acctest.PreCheckMultipleRegion(t, 3) - }, - ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), - CheckDestroy: testAccCheckTableDestroy(ctx), - Steps: []resource.TestStep{ - { - Config: testAccTableConfig_replicaDeletionProtection(rName, true), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - resource.TestCheckResourceAttr(resourceName, "replica.0.deletion_protection_enabled", acctest.CtTrue), - resource.TestCheckResourceAttr(resourceName, "replica.1.deletion_protection_enabled", acctest.CtTrue), - ), - }, - { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - }, - { - Config: testAccTableConfig_replicaDeletionProtection(rName, false), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - resource.TestCheckResourceAttr(resourceName, "replica.0.deletion_protection_enabled", acctest.CtFalse), - resource.TestCheckResourceAttr(resourceName, "replica.1.deletion_protection_enabled", acctest.CtFalse), - ), - }, - { - Config: testAccTableConfig_replicaDeletionProtection(rName, true), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - resource.TestCheckResourceAttr(resourceName, "replica.0.deletion_protection_enabled", acctest.CtTrue), - resource.TestCheckResourceAttr(resourceName, "replica.1.deletion_protection_enabled", acctest.CtTrue), - ), - }, - { - Config: testAccTableConfig_replicaDeletionProtection(rName, false), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - resource.TestCheckResourceAttr(resourceName, "replica.0.deletion_protection_enabled", acctest.CtFalse), - resource.TestCheckResourceAttr(resourceName, "replica.1.deletion_protection_enabled", acctest.CtFalse), - ), - }, - }, - }) -} - func TestAccDynamoDBTable_tableClassInfrequentAccess(t *testing.T) { ctx := acctest.Context(t) var table awstypes.TableDescription @@ -5327,38 +5267,6 @@ resource "aws_dynamodb_table" "test" { `, rName, streamEnabled, viewType)) } -func testAccTableConfig_replicaDeletionProtection(rName string, deletionProtection bool) string { - return acctest.ConfigCompose( - acctest.ConfigMultipleRegionProvider(3), - fmt.Sprintf(` -data "aws_region" "alternate" { - provider = "awsalternate" -} -data "aws_region" "third" { - provider = "awsthird" -} -resource "aws_dynamodb_table" "test" { - name = %[1]q - hash_key = "TestTableHashKey" - billing_mode = "PAY_PER_REQUEST" - stream_enabled = true - stream_view_type = "NEW_AND_OLD_IMAGES" - attribute { - name = "TestTableHashKey" - type = "S" - } - replica { - region_name = data.aws_region.alternate.name - deletion_protection_enabled = %[2]t - } - replica { - region_name = data.aws_region.third.name - deletion_protection_enabled = %[2]t - } -} -`, rName, deletionProtection)) -} - func testAccTableConfig_lsi(rName, lsiName string) string { return fmt.Sprintf(` resource "aws_dynamodb_table" "test" { From deba8fa8367ff6d5e2765f136a1ef828617a86a5 Mon Sep 17 00:00:00 2001 From: Rajpal Yalla Date: Thu, 10 Jul 2025 16:21:10 -0500 Subject: [PATCH 0014/1301] add test cases --- internal/service/dynamodb/table_test.go | 92 +++++++++++++++++++++++++ 1 file changed, 92 insertions(+) diff --git a/internal/service/dynamodb/table_test.go b/internal/service/dynamodb/table_test.go index 058cedc76f5e..3ff36efb0b90 100644 --- a/internal/service/dynamodb/table_test.go +++ b/internal/service/dynamodb/table_test.go @@ -3190,6 +3190,66 @@ func TestAccDynamoDBTable_Replica_tagsUpdate(t *testing.T) { }) } +func TestAccDynamoDBTable_Replica_deletionProtection(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var conf awstypes.TableDescription + resourceName := "aws_dynamodb_table.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccTableConfig_replicaDeletionProtection(rName, true), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + resource.TestCheckResourceAttr(resourceName, "replica.0.deletion_protection_enabled", acctest.CtTrue), + resource.TestCheckResourceAttr(resourceName, "replica.1.deletion_protection_enabled", acctest.CtTrue), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + Config: testAccTableConfig_replicaDeletionProtection(rName, false), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + resource.TestCheckResourceAttr(resourceName, "replica.0.deletion_protection_enabled", acctest.CtFalse), + resource.TestCheckResourceAttr(resourceName, "replica.1.deletion_protection_enabled", acctest.CtFalse), + ), + }, + { + Config: testAccTableConfig_replicaDeletionProtection(rName, true), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + resource.TestCheckResourceAttr(resourceName, "replica.0.deletion_protection_enabled", acctest.CtTrue), + resource.TestCheckResourceAttr(resourceName, "replica.1.deletion_protection_enabled", acctest.CtTrue), + ), + }, + { + Config: testAccTableConfig_replicaDeletionProtection(rName, false), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + resource.TestCheckResourceAttr(resourceName, "replica.0.deletion_protection_enabled", acctest.CtFalse), + resource.TestCheckResourceAttr(resourceName, "replica.1.deletion_protection_enabled", acctest.CtFalse), + ), + }, + }, + }) +} + func TestAccDynamoDBTable_tableClassInfrequentAccess(t *testing.T) { ctx := acctest.Context(t) var table awstypes.TableDescription @@ -5267,6 +5327,38 @@ resource "aws_dynamodb_table" "test" { `, rName, streamEnabled, viewType)) } +func testAccTableConfig_replicaDeletionProtection(rName string, deletionProtection bool) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" +} +data "aws_region" "third" { + provider = "awsthird" +} +resource "aws_dynamodb_table" "test" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" + attribute { + name = "TestTableHashKey" + type = "S" + } + replica { + region_name = data.aws_region.alternate.name + deletion_protection_enabled = %[2]t + } + replica { + region_name = data.aws_region.third.name + deletion_protection_enabled = %[2]t + } +} +`, rName, deletionProtection)) +} + func testAccTableConfig_lsi(rName, lsiName string) string { return fmt.Sprintf(` resource "aws_dynamodb_table" "test" { From 7efbad0997ae38de18e4ca6c33e3cc33e0d13d8e Mon Sep 17 00:00:00 2001 From: Rajpal Yalla Date: Thu, 10 Jul 2025 17:49:38 -0500 Subject: [PATCH 0015/1301] rebase main --- internal/service/dynamodb/table_test.go | 1795 ++++++++++++++++++++++- 1 file changed, 1741 insertions(+), 54 deletions(-) diff --git a/internal/service/dynamodb/table_test.go b/internal/service/dynamodb/table_test.go index 3ff36efb0b90..4ceba065d01a 100644 --- a/internal/service/dynamodb/table_test.go +++ b/internal/service/dynamodb/table_test.go @@ -2035,6 +2035,7 @@ func TestAccDynamoDBTable_Replica_multiple(t *testing.T) { statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ knownvalue.ObjectExact(map[string]knownvalue.Check{ names.AttrARN: tfknownvalue.RegionalARNAlternateRegionExact("dynamodb", "table/"+rName), + "consistency_mode": knownvalue.StringExact("EVENTUAL"), names.AttrKMSKeyARN: knownvalue.StringExact(""), "point_in_time_recovery": knownvalue.Bool(false), names.AttrPropagateTags: knownvalue.Bool(false), @@ -2044,6 +2045,7 @@ func TestAccDynamoDBTable_Replica_multiple(t *testing.T) { }), knownvalue.ObjectExact(map[string]knownvalue.Check{ names.AttrARN: tfknownvalue.RegionalARNThirdRegionExact("dynamodb", "table/"+rName), + "consistency_mode": knownvalue.StringExact("EVENTUAL"), names.AttrKMSKeyARN: knownvalue.StringExact(""), "point_in_time_recovery": knownvalue.Bool(false), names.AttrPropagateTags: knownvalue.Bool(false), @@ -2078,6 +2080,7 @@ func TestAccDynamoDBTable_Replica_multiple(t *testing.T) { statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ knownvalue.ObjectExact(map[string]knownvalue.Check{ names.AttrARN: tfknownvalue.RegionalARNAlternateRegionExact("dynamodb", "table/"+rName), + "consistency_mode": knownvalue.StringExact("EVENTUAL"), names.AttrKMSKeyARN: knownvalue.StringExact(""), "point_in_time_recovery": knownvalue.Bool(false), names.AttrPropagateTags: knownvalue.Bool(false), @@ -2087,6 +2090,7 @@ func TestAccDynamoDBTable_Replica_multiple(t *testing.T) { }), knownvalue.ObjectExact(map[string]knownvalue.Check{ names.AttrARN: tfknownvalue.RegionalARNThirdRegionExact("dynamodb", "table/"+rName), + "consistency_mode": knownvalue.StringExact("EVENTUAL"), names.AttrKMSKeyARN: knownvalue.StringExact(""), "point_in_time_recovery": knownvalue.Bool(false), names.AttrPropagateTags: knownvalue.Bool(false), @@ -2144,6 +2148,7 @@ func TestAccDynamoDBTable_Replica_single(t *testing.T) { statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ knownvalue.ObjectExact(map[string]knownvalue.Check{ names.AttrARN: tfknownvalue.RegionalARNAlternateRegionExact("dynamodb", "table/"+rName), + "consistency_mode": knownvalue.StringExact("EVENTUAL"), names.AttrKMSKeyARN: knownvalue.StringExact(""), "point_in_time_recovery": knownvalue.Bool(false), names.AttrPropagateTags: knownvalue.Bool(false), @@ -2189,6 +2194,7 @@ func TestAccDynamoDBTable_Replica_single(t *testing.T) { statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ knownvalue.ObjectExact(map[string]knownvalue.Check{ names.AttrARN: tfknownvalue.RegionalARNAlternateRegionExact("dynamodb", "table/"+rName), + "consistency_mode": knownvalue.StringExact("EVENTUAL"), names.AttrKMSKeyARN: knownvalue.StringExact(""), "point_in_time_recovery": knownvalue.Bool(false), names.AttrPropagateTags: knownvalue.Bool(false), @@ -3190,7 +3196,712 @@ func TestAccDynamoDBTable_Replica_tagsUpdate(t *testing.T) { }) } -func TestAccDynamoDBTable_Replica_deletionProtection(t *testing.T) { +func TestAccDynamoDBTable_Replica_MRSC_Create(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var conf, replica1, replica2 awstypes.TableDescription + resourceName := "aws_dynamodb_table.test_mrsc" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), // 3 due to shared test configuration + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccTableConfig_MRSC_replica(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaExists(ctx, resourceName, acctest.AlternateRegion(), &replica1), + testAccCheckReplicaExists(ctx, resourceName, acctest.ThirdRegion(), &replica2), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + "consistency_mode": knownvalue.StringExact((string(awstypes.MultiRegionConsistencyStrong))), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + "consistency_mode": knownvalue.StringExact((string(awstypes.MultiRegionConsistencyStrong))), + }), + })), + }, + }, + }, + }) +} + +func TestAccDynamoDBTable_Replica_MRSC_doubleAddCMK(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var conf awstypes.TableDescription + resourceName := "aws_dynamodb_table.test" + kmsKeyResourceName := "aws_kms_key.test" + kmsKey1Replica1ResourceName := "aws_kms_key.awsalternate1" + kmsKey2Replica1ResourceName := "aws_kms_key.awsalternate2" + kmsKey1Replica2ResourceName := "aws_kms_key.awsthird1" + kmsKey2Replica2ResourceName := "aws_kms_key.awsthird2" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), // 3 due to shared test configuration + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccTableConfig_replica_MRSC_AmazonManagedKey(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + resource.TestCheckResourceAttr(resourceName, "server_side_encryption.0.enabled", acctest.CtTrue), + resource.TestCheckResourceAttr(resourceName, "server_side_encryption.0.kms_key_arn", ""), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + names.AttrKMSKeyARN: knownvalue.StringExact(""), + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + names.AttrKMSKeyARN: knownvalue.StringExact(""), + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + }), + })), + }, + }, + { + Config: testAccTableConfig_replica_MRSC_CMKUpdate(rName, "awsalternate1", "awsthird1"), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + resource.TestCheckResourceAttr(resourceName, "server_side_encryption.0.enabled", acctest.CtTrue), + resource.TestCheckResourceAttrPair(resourceName, "server_side_encryption.0.kms_key_arn", kmsKeyResourceName, names.AttrARN), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + names.AttrKMSKeyARN: knownvalue.NotNull(), + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + names.AttrKMSKeyARN: knownvalue.NotNull(), + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + }), + })), + statecheck.CompareValuePairs(resourceName, tfjsonpath.New("replica").AtSliceIndex(0).AtMapKey(names.AttrKMSKeyARN), kmsKey1Replica1ResourceName, tfjsonpath.New(names.AttrARN), compare.ValuesSame()), + statecheck.CompareValuePairs(resourceName, tfjsonpath.New("replica").AtSliceIndex(1).AtMapKey(names.AttrKMSKeyARN), kmsKey1Replica2ResourceName, tfjsonpath.New(names.AttrARN), compare.ValuesSame()), + }, + }, + { + Config: testAccTableConfig_replica_MRSC_CMKUpdate(rName, "awsalternate2", "awsthird2"), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + resource.TestCheckResourceAttr(resourceName, "server_side_encryption.0.enabled", acctest.CtTrue), + resource.TestCheckResourceAttrPair(resourceName, "server_side_encryption.0.kms_key_arn", kmsKeyResourceName, names.AttrARN), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + names.AttrKMSKeyARN: knownvalue.NotNull(), + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + names.AttrKMSKeyARN: knownvalue.NotNull(), + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + }), + })), + statecheck.CompareValuePairs(resourceName, tfjsonpath.New("replica").AtSliceIndex(0).AtMapKey(names.AttrKMSKeyARN), kmsKey2Replica1ResourceName, tfjsonpath.New(names.AttrARN), compare.ValuesSame()), + statecheck.CompareValuePairs(resourceName, tfjsonpath.New("replica").AtSliceIndex(1).AtMapKey(names.AttrKMSKeyARN), kmsKey2Replica2ResourceName, tfjsonpath.New(names.AttrARN), compare.ValuesSame()), + }, + }, + }, + }) +} + +func TestAccDynamoDBTable_Replica_MRSC_pitr(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var conf, replica1, replica2, replica3, replica4 awstypes.TableDescription + resourceName := "aws_dynamodb_table.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccTableConfig_replica_MRSC_PITR(rName, false, true, false), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaExists(ctx, resourceName, acctest.AlternateRegion(), &replica1), + testAccCheckReplicaExists(ctx, resourceName, acctest.ThirdRegion(), &replica2), + resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.#", "1"), + resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.0.enabled", acctest.CtFalse), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "point_in_time_recovery": knownvalue.Bool(true), + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "point_in_time_recovery": knownvalue.Bool(false), + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + }), + })), + }, + }, + { + Config: testAccTableConfig_replica_MRSC_PITR(rName, true, false, true), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaExists(ctx, resourceName, acctest.AlternateRegion(), &replica3), + testAccCheckReplicaExists(ctx, resourceName, acctest.ThirdRegion(), &replica4), + testAccCheckTableNotRecreated(&replica1, &replica3), + testAccCheckTableNotRecreated(&replica2, &replica4), + resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.#", "1"), + resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.0.enabled", acctest.CtTrue), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "point_in_time_recovery": knownvalue.Bool(false), + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "point_in_time_recovery": knownvalue.Bool(true), + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + }), + })), + }, + }, + }, + }) +} + +func TestAccDynamoDBTable_Replica_MRSC_pitrKMS(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var conf, replica1, replica2, replica3, replica4 awstypes.TableDescription + resourceName := "aws_dynamodb_table.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), // 3 due to shared test configuration + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccTableConfig_replica_MRSC_PITRKMS(rName, false, false, false), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaExists(ctx, resourceName, acctest.AlternateRegion(), &replica1), + testAccCheckReplicaExists(ctx, resourceName, acctest.ThirdRegion(), &replica2), + resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.#", "1"), + resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.0.enabled", acctest.CtFalse), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "point_in_time_recovery": knownvalue.Bool(false), + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "point_in_time_recovery": knownvalue.Bool(false), + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + }), + })), + }, + }, + { + Config: testAccTableConfig_replica_MRSC_PITRKMS(rName, false, true, false), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaExists(ctx, resourceName, acctest.AlternateRegion(), &replica3), + testAccCheckReplicaExists(ctx, resourceName, acctest.ThirdRegion(), &replica4), + testAccCheckTableNotRecreated(&replica1, &replica3), + testAccCheckTableNotRecreated(&replica2, &replica4), + resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.#", "1"), + resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.0.enabled", acctest.CtFalse), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "point_in_time_recovery": knownvalue.Bool(true), + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "point_in_time_recovery": knownvalue.Bool(false), + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + }), + })), + }, + }, + { + Config: testAccTableConfig_replica_MRSC_PITRKMS(rName, false, true, true), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaExists(ctx, resourceName, acctest.AlternateRegion(), &replica1), + testAccCheckReplicaExists(ctx, resourceName, acctest.ThirdRegion(), &replica2), + testAccCheckTableNotRecreated(&replica1, &replica3), + testAccCheckTableNotRecreated(&replica2, &replica4), + resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.#", "1"), + resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.0.enabled", acctest.CtFalse), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "point_in_time_recovery": knownvalue.Bool(true), + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "point_in_time_recovery": knownvalue.Bool(true), + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + }), + })), + }, + }, + { + Config: testAccTableConfig_replica_MRSC_PITRKMS(rName, true, false, true), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaExists(ctx, resourceName, acctest.AlternateRegion(), &replica3), + testAccCheckReplicaExists(ctx, resourceName, acctest.ThirdRegion(), &replica4), + testAccCheckTableNotRecreated(&replica1, &replica3), + testAccCheckTableNotRecreated(&replica2, &replica4), + resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.#", "1"), + resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.0.enabled", acctest.CtTrue), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "point_in_time_recovery": knownvalue.Bool(false), + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "point_in_time_recovery": knownvalue.Bool(true), + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + }), + })), + }, + }, + { + Config: testAccTableConfig_replica_MRSC_PITRKMS(rName, false, false, false), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaExists(ctx, resourceName, acctest.AlternateRegion(), &replica1), + testAccCheckReplicaExists(ctx, resourceName, acctest.ThirdRegion(), &replica2), + testAccCheckTableNotRecreated(&replica1, &replica3), + testAccCheckTableNotRecreated(&replica2, &replica4), + resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.#", "1"), + resource.TestCheckResourceAttr(resourceName, "point_in_time_recovery.0.enabled", acctest.CtFalse), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "point_in_time_recovery": knownvalue.Bool(false), + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "point_in_time_recovery": knownvalue.Bool(false), + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + }), + })), + }, + }, + }, + }) +} + +func TestAccDynamoDBTable_Replica_MRSC_tags_updateIsPropagated_oneOfTwo(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var conf awstypes.TableDescription + resourceName := "aws_dynamodb_table.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccTableConfig_replica_MRSC_Tags(rName, "benny", "smiles", true, false), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "benny": "smiles", + }), + testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{}), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrPropagateTags: knownvalue.Bool(true), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + names.AttrPropagateTags: knownvalue.Bool(false), + }), + })), + }, + }, + { + Config: testAccTableConfig_replica_MRSC_Tags(rName, "benny", "frowns", true, false), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "benny": "frowns", + }), + testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{}), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrPropagateTags: knownvalue.Bool(true), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + names.AttrPropagateTags: knownvalue.Bool(false), + }), + })), + }, + }, + }, + }) +} + +func TestAccDynamoDBTable_Replica_MRSC_tags_updateIsPropagated_twoOfTwo(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var conf awstypes.TableDescription + resourceName := "aws_dynamodb_table.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccTableConfig_replica_MRSC_Tags(rName, "Structure", "Adobe", true, true), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "Structure": "Adobe", + }), + testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "Structure": "Adobe", + }), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrPropagateTags: knownvalue.Bool(true), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + names.AttrPropagateTags: knownvalue.Bool(true), + }), + })), + }, + }, + { + Config: testAccTableConfig_replica_MRSC_Tags(rName, "Structure", "Steel", true, true), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "Structure": "Steel", + }), + testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "Structure": "Steel", + }), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrPropagateTags: knownvalue.Bool(true), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + names.AttrPropagateTags: knownvalue.Bool(true), + }), + })), + }, + }, + }, + }) +} + +func TestAccDynamoDBTable_Replica_MRSC_tags_propagateToAddedReplica(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var conf awstypes.TableDescription + resourceName := "aws_dynamodb_table.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccTableConfig_replica_MRSC_TagsNext1(rName, acctest.AlternateRegion(), true), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + }), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrPropagateTags: knownvalue.Bool(true), + }), + })), + }, + }, + { + Config: testAccTableConfig_replica_MRSC_TagsNext2(rName, acctest.AlternateRegion(), true, acctest.ThirdRegion(), true), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + }), + testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + }), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrPropagateTags: knownvalue.Bool(true), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + names.AttrPropagateTags: knownvalue.Bool(true), + }), + })), + }, + }, + }, + }) +} + +func TestAccDynamoDBTable_Replica_MRSC_tags_notPropagatedToAddedReplica(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var conf awstypes.TableDescription + resourceName := "aws_dynamodb_table.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccTableConfig_replica_MRSC_TagsNext1(rName, acctest.AlternateRegion(), true), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + }), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrPropagateTags: knownvalue.Bool(true), + }), + })), + }, + }, + { + Config: testAccTableConfig_replica_MRSC_TagsNext2(rName, acctest.AlternateRegion(), true, acctest.ThirdRegion(), false), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + }), + testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{}), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrPropagateTags: knownvalue.Bool(true), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + names.AttrPropagateTags: knownvalue.Bool(false), + }), + })), + }, + }, + }, + }) +} + +func TestAccDynamoDBTable_Replica_MRSC_tags_nonPropagatedTagsAreUnmanaged(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var conf awstypes.TableDescription + resourceName := "aws_dynamodb_table.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccTableConfig_replica_MRSC_Tags(rName, "Structure", "Adobe", true, true), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "Structure": "Adobe", + }), + testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "Structure": "Adobe", + }), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrPropagateTags: knownvalue.Bool(true), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + names.AttrPropagateTags: knownvalue.Bool(true), + }), + })), + }, + }, + { + Config: testAccTableConfig_replica_MRSC_Tags(rName, "Structure", "Steel", true, false), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "Structure": "Steel", + }), + testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "Structure": "Adobe", + }), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrPropagateTags: knownvalue.Bool(true), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + names.AttrPropagateTags: knownvalue.Bool(false), + }), + })), + }, + }, + }, + }) +} + +func TestAccDynamoDBTable_Replica_MRSC_tagsUpdate(t *testing.T) { ctx := acctest.Context(t) if testing.Short() { t.Skip("skipping long-running test in short mode") @@ -3200,51 +3911,310 @@ func TestAccDynamoDBTable_Replica_deletionProtection(t *testing.T) { resourceName := "aws_dynamodb_table.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resource.Test(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccTableConfig_replica_MRSC_TagsUpdate1(rName, acctest.AlternateRegion(), acctest.ThirdRegion()), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + }), + testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + }), + resource.TestCheckResourceAttr(resourceName, "replica.#", "2"), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ + "region_name": acctest.AlternateRegion(), + names.AttrPropagateTags: acctest.CtTrue, + }), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ + "region_name": acctest.ThirdRegion(), + names.AttrPropagateTags: acctest.CtTrue, + }), + ), + }, + { + Config: testAccTableConfig_replica_MRSC_TagsUpdate2(rName, acctest.AlternateRegion(), acctest.ThirdRegion()), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "tyDi": "Lullaby", + "Thrill": "Seekers", + }), + testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "tyDi": "Lullaby", + "Thrill": "Seekers", + }), + resource.TestCheckResourceAttr(resourceName, "replica.#", "2"), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ + "region_name": acctest.AlternateRegion(), + names.AttrPropagateTags: acctest.CtTrue, + }), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ + "region_name": acctest.ThirdRegion(), + names.AttrPropagateTags: acctest.CtTrue, + }), + ), + }, + { + Config: testAccTableConfig_replica_MRSC_TagsUpdate3(rName, acctest.AlternateRegion(), acctest.ThirdRegion()), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "tyDi": "Lullaby", + "Thrill": "Seekers", + }), + testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "tyDi": "Lullaby", + "Thrill": "Seekers", + }), + resource.TestCheckResourceAttr(resourceName, "replica.#", "2"), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ + "region_name": acctest.AlternateRegion(), + names.AttrPropagateTags: acctest.CtTrue, + }), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ + "region_name": acctest.ThirdRegion(), + names.AttrPropagateTags: acctest.CtTrue, + }), + ), + }, + { + Config: testAccTableConfig_replica_MRSC_TagsUpdate4(rName, acctest.AlternateRegion(), acctest.ThirdRegion()), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "tyDi": "Lullaby", + "Thrill": "Seekers", + "Tristan": "Joe", + "Humming": "bird", + }), + testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ + "Name": rName, + "Pozo": "Amargo", + "tyDi": "Lullaby", + "Thrill": "Seekers", + "Tristan": "Joe", + "Humming": "bird", + }), + resource.TestCheckResourceAttr(resourceName, "replica.#", "2"), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ + "region_name": acctest.AlternateRegion(), + names.AttrPropagateTags: acctest.CtTrue, + }), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ + "region_name": acctest.ThirdRegion(), + names.AttrPropagateTags: acctest.CtTrue, + }), + ), + }, + { + Config: testAccTableConfig_replica_MRSC_TagsUpdate5(rName, acctest.AlternateRegion(), acctest.ThirdRegion()), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + testAccCheckReplicaTags(ctx, resourceName, acctest.AlternateRegion(), map[string]string{ + "Name": rName, + }), + testAccCheckReplicaTags(ctx, resourceName, acctest.ThirdRegion(), map[string]string{ + "Name": rName, + }), + resource.TestCheckResourceAttr(resourceName, "replica.#", "2"), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ + "region_name": acctest.AlternateRegion(), + names.AttrPropagateTags: acctest.CtTrue, + }), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "replica.*", map[string]string{ + "region_name": acctest.ThirdRegion(), + names.AttrPropagateTags: acctest.CtTrue, + }), + ), + }, + }, + }) +} + +func TestAccDynamoDBTable_Replica_MRSC_TooManyReplicas(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 4) + }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 4), // 4 due to shared test configuration + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccTableConfig_MRSC_replica_count3(rName), + ExpectError: regexache.MustCompile(`Using MultiRegionStrongConsistency supports at most 2 replicas`), + }, + }, + }) +} + +func TestAccDynamoDBTable_Replica_MRSC_NotEnoughReplicas(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { acctest.PreCheck(ctx, t) - acctest.PreCheckMultipleRegion(t, 3) + acctest.PreCheckMultipleRegion(t, 4) }, ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 4), // 4 due to shared test configuration CheckDestroy: testAccCheckTableDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccTableConfig_replicaDeletionProtection(rName, true), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - resource.TestCheckResourceAttr(resourceName, "replica.0.deletion_protection_enabled", acctest.CtTrue), - resource.TestCheckResourceAttr(resourceName, "replica.1.deletion_protection_enabled", acctest.CtTrue), - ), + Config: testAccTableConfig_MRSC_replica_count1(rName), + ExpectError: regexache.MustCompile(`Using MultiRegionStrongConsistency requires exactly 2 replicas`), }, + }, + }) +} + +func TestAccDynamoDBTable_Replica_MRSC_MixedConsistencyModes(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), // 6 due to testing unsupported regionsß + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + Config: testAccTableConfig_MRSC_replica_mixed_consistency_mode(rName), + ExpectError: regexache.MustCompile(`Using MultiRegionStrongConsistency requires all replicas to use 'consistency_mode' set to 'STRONG'`), }, + }, + }) +} + +func TestAccDynamoDBTable_Replica_MRSC_CreateEventuallyConsistent(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + var conf, replica1, replica2 awstypes.TableDescription + resourceName := "aws_dynamodb_table.test_mrsc" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), // 6 due to testing unsupported regionsß + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ { - Config: testAccTableConfig_replicaDeletionProtection(rName, false), + Config: testAccTableConfig_MRSC_replica_eventual_consistency(rName), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckInitialTableExists(ctx, resourceName, &conf), - resource.TestCheckResourceAttr(resourceName, "replica.0.deletion_protection_enabled", acctest.CtFalse), - resource.TestCheckResourceAttr(resourceName, "replica.1.deletion_protection_enabled", acctest.CtFalse), + testAccCheckReplicaExists(ctx, resourceName, acctest.AlternateRegion(), &replica1), + testAccCheckReplicaExists(ctx, resourceName, acctest.ThirdRegion(), &replica2), ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + }), + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + }), + })), + }, }, + }, + }) +} + +// Test creation before MRSC and upgrade shows no diff.ß +func TestAccDynamoDBTable_Replica_upgradeV6_2_0(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var table awstypes.TableDescription + resourceName := "aws_dynamodb_table.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ { - Config: testAccTableConfig_replicaDeletionProtection(rName, true), + ExternalProviders: map[string]resource.ExternalProvider{ + "aws": { + Source: "hashicorp/aws", + VersionConstraint: "6.2.0", + }, + }, + Config: testAccTableConfig_replica2_NoMultipleRegionProvider(rName), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - resource.TestCheckResourceAttr(resourceName, "replica.0.deletion_protection_enabled", acctest.CtTrue), - resource.TestCheckResourceAttr(resourceName, "replica.1.deletion_protection_enabled", acctest.CtTrue), + testAccCheckInitialTableExists(ctx, resourceName, &table), ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, }, { - Config: testAccTableConfig_replicaDeletionProtection(rName, false), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Config: testAccTableConfig_replica2_NoMultipleRegionProvider(rName), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckInitialTableExists(ctx, resourceName, &conf), - resource.TestCheckResourceAttr(resourceName, "replica.0.deletion_protection_enabled", acctest.CtFalse), - resource.TestCheckResourceAttr(resourceName, "replica.1.deletion_protection_enabled", acctest.CtFalse), + testAccCheckInitialTableExists(ctx, resourceName, &table), ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, }, }, }) @@ -4650,7 +5620,194 @@ data "aws_region" "alternate" { provider = "awsalternate" } -resource "aws_dynamodb_table" "test" { +resource "aws_dynamodb_table" "test" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" + + attribute { + name = "TestTableHashKey" + type = "S" + } + + replica { + region_name = data.aws_region.alternate.region + } +} +`, rName)) +} + +func testAccTableConfig_MRSC_replica_count3(rName string) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(4), // Prevent "Provider configuration not present" errors + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" +} + +data "aws_region" "third" { + provider = "awsthird" +} + +data "aws_region" "fourth" { + provider = "awsfourth" +} + +resource "aws_dynamodb_table" "test_mrsc" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" + + attribute { + name = "TestTableHashKey" + type = "S" + } + + replica { + region_name = data.aws_region.alternate.name + consistency_mode = "STRONG" + } + + replica { + region_name = data.aws_region.third.name + consistency_mode = "STRONG" + } + + replica { + region_name = data.aws_region.fourth.name + consistency_mode = "STRONG" + } +} +`, rName)) +} + +func testAccTableConfig_MRSC_replica_count1(rName string) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(2), // Prevent "Provider configuration not present" errors + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" +} + +data "aws_region" "third" { + provider = "awsthird" +} + +data "aws_region" "fourth" { + provider = "awsfourth" +} + +resource "aws_dynamodb_table" "test_mrsc" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" + + attribute { + name = "TestTableHashKey" + type = "S" + } + + replica { + region_name = data.aws_region.alternate.name + consistency_mode = "STRONG" + } +} +`, rName)) +} + +func testAccTableConfig_MRSC_replica_mixed_consistency_mode(rName string) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" +} + +data "aws_region" "third" { + provider = "awsthird" +} + +resource "aws_dynamodb_table" "test_mrsc" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" + + attribute { + name = "TestTableHashKey" + type = "S" + } + + replica { + region_name = data.aws_region.alternate.name + consistency_mode = "STRONG" + } + + replica { + region_name = data.aws_region.third.name + consistency_mode = "EVENTUAL" + } +} +`, rName)) +} + +func testAccTableConfig_MRSC_replica_eventual_consistency(rName string) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" +} + +data "aws_region" "third" { + provider = "awsthird" +} + +resource "aws_dynamodb_table" "test_mrsc" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" + + attribute { + name = "TestTableHashKey" + type = "S" + } + + replica { + region_name = data.aws_region.alternate.name + consistency_mode = "EVENTUAL" + } + + replica { + region_name = data.aws_region.third.name + consistency_mode = "EVENTUAL" + } +} +`, rName)) +} + +func testAccTableConfig_MRSC_replica(rName string) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" +} + +data "aws_region" "third" { + provider = "awsthird" +} + +resource "aws_dynamodb_table" "test_mrsc" { name = %[1]q hash_key = "TestTableHashKey" billing_mode = "PAY_PER_REQUEST" @@ -4663,7 +5820,13 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = data.aws_region.alternate.region + region_name = data.aws_region.alternate.name + consistency_mode = "STRONG" + } + + replica { + region_name = data.aws_region.third.name + consistency_mode = "STRONG" } } `, rName)) @@ -4797,6 +5960,53 @@ resource "aws_dynamodb_table" "test" { `, rName)) } +func testAccTableConfig_replica_MRSC_AmazonManagedKey(rName string) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" +} + +data "aws_region" "third" { + provider = "awsthird" +} + +resource "aws_dynamodb_table" "test" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" + + attribute { + name = "TestTableHashKey" + type = "S" + } + + replica { + region_name = data.aws_region.alternate.name + consistency_mode = "STRONG" + } + + replica { + region_name = data.aws_region.third.name + consistency_mode = "STRONG" + } + + server_side_encryption { + enabled = true + } + + timeouts { + create = "20m" + update = "20m" + delete = "20m" + } +} +`, rName)) +} + func testAccTableConfig_replicaCMKUpdate(rName, keyReplica1, keyReplica2 string) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors @@ -4879,6 +6089,85 @@ resource "aws_dynamodb_table" "test" { `, rName, keyReplica1, keyReplica2)) } +func testAccTableConfig_replica_MRSC_CMKUpdate(rName, keyReplica1, keyReplica2 string) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" +} + +data "aws_region" "third" { + provider = "awsthird" +} + +resource "aws_kms_key" "test" { + description = %[1]q + deletion_window_in_days = 7 +} + +resource "aws_kms_key" "awsalternate1" { + provider = "awsalternate" + description = "%[1]s-1" + deletion_window_in_days = 7 +} + +resource "aws_kms_key" "awsalternate2" { + provider = "awsalternate" + description = "%[1]s-2" + deletion_window_in_days = 7 +} + +resource "aws_kms_key" "awsthird1" { + provider = "awsthird" + description = "%[1]s-1" + deletion_window_in_days = 7 +} + +resource "aws_kms_key" "awsthird2" { + provider = "awsthird" + description = "%[1]s-2" + deletion_window_in_days = 7 +} + +resource "aws_dynamodb_table" "test" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" + + attribute { + name = "TestTableHashKey" + type = "S" + } + + replica { + region_name = data.aws_region.alternate.name + kms_key_arn = aws_kms_key.%[2]s.arn + consistency_mode = "STRONG" + } + + replica { + region_name = data.aws_region.third.name + kms_key_arn = aws_kms_key.%[3]s.arn + consistency_mode = "STRONG" + } + + server_side_encryption { + enabled = true + kms_key_arn = aws_kms_key.test.arn + } + + timeouts { + create = "20m" + update = "20m" + delete = "20m" + } +} +`, rName, keyReplica1, keyReplica2)) +} + func testAccTableConfig_replicaPITR(rName string, mainPITR, replica1, replica2 bool) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors @@ -4920,6 +6209,49 @@ resource "aws_dynamodb_table" "test" { `, rName, mainPITR, replica1, replica2)) } +func testAccTableConfig_replica_MRSC_PITR(rName string, mainPITR, replica1, replica2 bool) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), // Prevent "Provider configuration not present" errors + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" +} + +data "aws_region" "third" { + provider = "awsthird" +} + +resource "aws_dynamodb_table" "test" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" + + attribute { + name = "TestTableHashKey" + type = "S" + } + + point_in_time_recovery { + enabled = %[2]t + } + + replica { + region_name = data.aws_region.alternate.name + point_in_time_recovery = %[3]t + consistency_mode = "STRONG" + } + + replica { + region_name = data.aws_region.third.name + point_in_time_recovery = %[4]t + consistency_mode = "STRONG" + } +} +`, rName, mainPITR, replica1, replica2)) +} + func testAccTableConfig_replicaPITRKMS(rName string, mainPITR, replica1, replica2 bool) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), @@ -4985,10 +6317,120 @@ resource "aws_dynamodb_table" "test" { kms_key_arn = aws_kms_key.third.arn } } -`, rName, mainPITR, replica1, replica2)) +`, rName, mainPITR, replica1, replica2)) +} + +func testAccTableConfig_replica_MRSC_PITRKMS(rName string, mainPITR, replica1, replica2 bool) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = awsalternate +} + +data "aws_region" "third" { + provider = awsthird +} + +resource "aws_kms_key" "test" { + description = %[1]q + deletion_window_in_days = 7 +} + +resource "aws_kms_key" "alternate" { + provider = awsalternate + description = %[1]q + deletion_window_in_days = 7 +} + +resource "aws_kms_key" "third" { + provider = awsthird + description = %[1]q + deletion_window_in_days = 7 +} + +resource "aws_dynamodb_table" "test" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" + + attribute { + name = "TestTableHashKey" + type = "S" + } + + point_in_time_recovery { + enabled = %[2]t + } + + server_side_encryption { + enabled = true + kms_key_arn = aws_kms_key.test.arn + } + + replica { + region_name = data.aws_region.alternate.name + point_in_time_recovery = %[3]t + kms_key_arn = aws_kms_key.alternate.arn + consistency_mode = "STRONG" + } + + replica { + region_name = data.aws_region.third.name + point_in_time_recovery = %[4]t + kms_key_arn = aws_kms_key.third.arn + consistency_mode = "STRONG" + } +} +`, rName, mainPITR, replica1, replica2)) +} + +func testAccTableConfig_replicaTags(rName, key, value string, propagate1, propagate2 bool) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" +} + +data "aws_region" "third" { + provider = "awsthird" +} + +resource "aws_dynamodb_table" "test" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" + + attribute { + name = "TestTableHashKey" + type = "S" + } + + replica { + region_name = data.aws_region.alternate.region + propagate_tags = %[4]t + } + + replica { + region_name = data.aws_region.third.region + propagate_tags = %[5]t + } + + tags = { + Name = %[1]q + Pozo = "Amargo" + %[2]s = %[3]q + } +} +`, rName, key, value, propagate1, propagate2)) } -func testAccTableConfig_replicaTags(rName, key, value string, propagate1, propagate2 bool) string { +func testAccTableConfig_replica_MRSC_Tags(rName, key, value string, propagate1, propagate2 bool) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), fmt.Sprintf(` @@ -5013,13 +6455,15 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = data.aws_region.alternate.region - propagate_tags = %[4]t + region_name = data.aws_region.alternate.name + propagate_tags = %[4]t + consistency_mode = "STRONG" } replica { - region_name = data.aws_region.third.region - propagate_tags = %[5]t + region_name = data.aws_region.third.name + propagate_tags = %[5]t + consistency_mode = "STRONG" } tags = { @@ -5095,6 +6539,35 @@ resource "aws_dynamodb_table" "test" { `, rName, region1, propagate1)) } +func testAccTableConfig_replica_MRSC_TagsNext1(rName string, region1 string, propagate1 bool) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), + fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" + + attribute { + name = "TestTableHashKey" + type = "S" + } + + replica { + region_name = %[2]q + propagate_tags = %[3]t + } + + tags = { + Name = %[1]q + Pozo = "Amargo" + } +} +`, rName, region1, propagate1)) +} + func testAccTableConfig_replicaTagsNext2(rName, region1 string, propagate1 bool, region2 string, propagate2 bool) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), @@ -5129,6 +6602,40 @@ resource "aws_dynamodb_table" "test" { `, rName, region1, propagate1, region2, propagate2)) } +func testAccTableConfig_replica_MRSC_TagsNext2(rName, region1 string, propagate1 bool, region2 string, propagate2 bool) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), + fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" + + attribute { + name = "TestTableHashKey" + type = "S" + } + + replica { + region_name = %[2]q + propagate_tags = %[3]t + } + + replica { + region_name = %[4]q + propagate_tags = %[5]t + } + + tags = { + Name = %[1]q + Pozo = "Amargo" + } +} +`, rName, region1, propagate1, region2, propagate2)) +} + func testAccTableConfig_replicaTagsUpdate1(rName, region1 string) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), @@ -5296,21 +6803,52 @@ resource "aws_dynamodb_table" "test" { `, rName, region1, region2)) } -func testAccTableConfig_replicaStreamSpecification(rName string, streamEnabled bool, viewType string) string { - if viewType != "null" { - viewType = fmt.Sprintf(`"%s"`, viewType) - } +func testAccTableConfig_replica_MRSC_TagsUpdate1(rName, region1 string, region2 string) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), fmt.Sprintf(` -data "aws_region" "alternate" { - provider = "awsalternate" +resource "aws_dynamodb_table" "test" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" + + attribute { + name = "TestTableHashKey" + type = "S" + } + + replica { + region_name = %[2]q + propagate_tags = true + consistency_mode = "STRONG" + } + + replica { + region_name = %[3]q + propagate_tags = true + consistency_mode = "STRONG" + } + + tags = { + Name = %[1]q + Pozo = "Amargo" + } +} +`, rName, region1, region2)) } +func testAccTableConfig_replica_MRSC_TagsUpdate2(rName, region1 string, region2 string) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), + fmt.Sprintf(` resource "aws_dynamodb_table" "test" { - name = %[1]q - hash_key = "TestTableHashKey" - billing_mode = "PAY_PER_REQUEST" + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" attribute { name = "TestTableHashKey" @@ -5318,45 +6856,169 @@ resource "aws_dynamodb_table" "test" { } replica { - region_name = data.aws_region.alternate.region + region_name = %[2]q + propagate_tags = true + consistency_mode = "STRONG" } - stream_enabled = %[2]t - stream_view_type = %[3]s + replica { + region_name = %[3]q + propagate_tags = true + consistency_mode = "STRONG" + } + + tags = { + Name = %[1]q + Pozo = "Amargo" + tyDi = "Lullaby" + Thrill = "Seekers" + } } -`, rName, streamEnabled, viewType)) +`, rName, region1, region2)) } -func testAccTableConfig_replicaDeletionProtection(rName string, deletionProtection bool) string { +func testAccTableConfig_replica_MRSC_TagsUpdate3(rName, region1 string, region2 string) string { return acctest.ConfigCompose( acctest.ConfigMultipleRegionProvider(3), fmt.Sprintf(` -data "aws_region" "alternate" { - provider = "awsalternate" +resource "aws_dynamodb_table" "test" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" + + attribute { + name = "TestTableHashKey" + type = "S" + } + + replica { + region_name = %[2]q + propagate_tags = true + consistency_mode = "STRONG" + } + + replica { + region_name = %[3]q + propagate_tags = true + consistency_mode = "STRONG" + } + + tags = { + Name = %[1]q + Pozo = "Amargo" + tyDi = "Lullaby" + Thrill = "Seekers" + } } -data "aws_region" "third" { - provider = "awsthird" +`, rName, region1, region2)) +} + +func testAccTableConfig_replica_MRSC_TagsUpdate4(rName, region1 string, region2 string) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), + fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" + + attribute { + name = "TestTableHashKey" + type = "S" + } + + replica { + region_name = %[2]q + propagate_tags = true + consistency_mode = "STRONG" + } + + replica { + region_name = %[3]q + propagate_tags = true + consistency_mode = "STRONG" + } + + tags = { + Name = %[1]q + Pozo = "Amargo" + tyDi = "Lullaby" + Thrill = "Seekers" + Tristan = "Joe" + Humming = "bird" + } +} +`, rName, region1, region2)) } + +func testAccTableConfig_replica_MRSC_TagsUpdate5(rName, region1 string, region2 string) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), + fmt.Sprintf(` resource "aws_dynamodb_table" "test" { name = %[1]q hash_key = "TestTableHashKey" billing_mode = "PAY_PER_REQUEST" stream_enabled = true stream_view_type = "NEW_AND_OLD_IMAGES" + attribute { name = "TestTableHashKey" type = "S" } + + replica { + region_name = %[2]q + propagate_tags = true + consistency_mode = "STRONG" + } + replica { - region_name = data.aws_region.alternate.name - deletion_protection_enabled = %[2]t + region_name = %[3]q + propagate_tags = true + consistency_mode = "STRONG" + } + + tags = { + Name = %[1]q + } +} +`, rName, region1, region2)) +} + +func testAccTableConfig_replicaStreamSpecification(rName string, streamEnabled bool, viewType string) string { + if viewType != "null" { + viewType = fmt.Sprintf(`"%s"`, viewType) + } + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" +} + +resource "aws_dynamodb_table" "test" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + + attribute { + name = "TestTableHashKey" + type = "S" } + replica { - region_name = data.aws_region.third.name - deletion_protection_enabled = %[2]t + region_name = data.aws_region.alternate.region } + + stream_enabled = %[2]t + stream_view_type = %[3]s } -`, rName, deletionProtection)) +`, rName, streamEnabled, viewType)) } func testAccTableConfig_lsi(rName, lsiName string) string { @@ -5597,3 +7259,28 @@ resource "aws_dynamodb_table" "test_restore" { } `, rName)) } + +func testAccTableConfig_replica2_NoMultipleRegionProvider(rName string) string { + return fmt.Sprintf(` +resource "aws_dynamodb_table" "test" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" + + attribute { + name = "TestTableHashKey" + type = "S" + } + + replica { + region_name = %[2]q + } + + replica { + region_name = %[3]q + } +} +`, rName, acctest.AlternateRegion(), acctest.ThirdRegion()) +} From 8f17234ac2b35f517390a51e0cfe16ddbe3f29f3 Mon Sep 17 00:00:00 2001 From: Rajpal Yalla Date: Thu, 10 Jul 2025 18:09:52 -0500 Subject: [PATCH 0016/1301] add my test case back after my fork resync --- internal/service/dynamodb/table_test.go | 92 +++++++++++++++++++++++++ 1 file changed, 92 insertions(+) diff --git a/internal/service/dynamodb/table_test.go b/internal/service/dynamodb/table_test.go index 4ceba065d01a..8dd9dcf48bbc 100644 --- a/internal/service/dynamodb/table_test.go +++ b/internal/service/dynamodb/table_test.go @@ -4220,6 +4220,66 @@ func TestAccDynamoDBTable_Replica_upgradeV6_2_0(t *testing.T) { }) } +func TestAccDynamoDBTable_Replica_deletionProtection(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var conf awstypes.TableDescription + resourceName := "aws_dynamodb_table.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckMultipleRegion(t, 3) + }, + ErrorCheck: acctest.ErrorCheck(t, names.DynamoDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5FactoriesMultipleRegions(ctx, t, 3), + CheckDestroy: testAccCheckTableDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccTableConfig_replicaDeletionProtection(rName, true), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + resource.TestCheckResourceAttr(resourceName, "replica.0.deletion_protection_enabled", acctest.CtTrue), + resource.TestCheckResourceAttr(resourceName, "replica.1.deletion_protection_enabled", acctest.CtTrue), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + Config: testAccTableConfig_replicaDeletionProtection(rName, false), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + resource.TestCheckResourceAttr(resourceName, "replica.0.deletion_protection_enabled", acctest.CtFalse), + resource.TestCheckResourceAttr(resourceName, "replica.1.deletion_protection_enabled", acctest.CtFalse), + ), + }, + { + Config: testAccTableConfig_replicaDeletionProtection(rName, true), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + resource.TestCheckResourceAttr(resourceName, "replica.0.deletion_protection_enabled", acctest.CtTrue), + resource.TestCheckResourceAttr(resourceName, "replica.1.deletion_protection_enabled", acctest.CtTrue), + ), + }, + { + Config: testAccTableConfig_replicaDeletionProtection(rName, false), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckInitialTableExists(ctx, resourceName, &conf), + resource.TestCheckResourceAttr(resourceName, "replica.0.deletion_protection_enabled", acctest.CtFalse), + resource.TestCheckResourceAttr(resourceName, "replica.1.deletion_protection_enabled", acctest.CtFalse), + ), + }, + }, + }) +} + func TestAccDynamoDBTable_tableClassInfrequentAccess(t *testing.T) { ctx := acctest.Context(t) var table awstypes.TableDescription @@ -7021,6 +7081,38 @@ resource "aws_dynamodb_table" "test" { `, rName, streamEnabled, viewType)) } +func testAccTableConfig_replicaDeletionProtection(rName string, deletionProtection bool) string { + return acctest.ConfigCompose( + acctest.ConfigMultipleRegionProvider(3), + fmt.Sprintf(` +data "aws_region" "alternate" { + provider = "awsalternate" +} +data "aws_region" "third" { + provider = "awsthird" +} +resource "aws_dynamodb_table" "test" { + name = %[1]q + hash_key = "TestTableHashKey" + billing_mode = "PAY_PER_REQUEST" + stream_enabled = true + stream_view_type = "NEW_AND_OLD_IMAGES" + attribute { + name = "TestTableHashKey" + type = "S" + } + replica { + region_name = data.aws_region.alternate.name + deletion_protection_enabled = %[2]t + } + replica { + region_name = data.aws_region.third.name + deletion_protection_enabled = %[2]t + } +} +`, rName, deletionProtection)) +} + func testAccTableConfig_lsi(rName, lsiName string) string { return fmt.Sprintf(` resource "aws_dynamodb_table" "test" { From 372f071e011607360c9f76137ab0f8ab2d7ca7e7 Mon Sep 17 00:00:00 2001 From: ThomasZalewski Date: Fri, 18 Jul 2025 13:19:54 -0700 Subject: [PATCH 0017/1301] added support for event_api resource --- internal/service/appsync/event_api.go | 578 ++++++++++++++++++ .../appsync/event_api_identity_gen_test.go | 196 ++++++ internal/service/appsync/event_api_test.go | 553 +++++++++++++++++ internal/service/appsync/exports_test.go | 2 + internal/service/appsync/generate.go | 1 + .../service/appsync/service_package_gen.go | 10 + .../testdata/EventAPI/basic/main_gen.tf | 160 +++++ .../EventAPI/region_overide/main_gen.tf | 11 + .../EventAPI/region_override/main_gen.tf | 182 ++++++ .../appsync/testdata/tmpl/event_api_tags.gtpl | 160 +++++ .../docs/r/appsync_event_api.html.markdown | 277 +++++++++ 11 files changed, 2130 insertions(+) create mode 100644 internal/service/appsync/event_api.go create mode 100644 internal/service/appsync/event_api_identity_gen_test.go create mode 100644 internal/service/appsync/event_api_test.go create mode 100644 internal/service/appsync/testdata/EventAPI/basic/main_gen.tf create mode 100644 internal/service/appsync/testdata/EventAPI/region_overide/main_gen.tf create mode 100644 internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf create mode 100644 internal/service/appsync/testdata/tmpl/event_api_tags.gtpl create mode 100644 website/docs/r/appsync_event_api.html.markdown diff --git a/internal/service/appsync/event_api.go b/internal/service/appsync/event_api.go new file mode 100644 index 000000000000..38c5042e1837 --- /dev/null +++ b/internal/service/appsync/event_api.go @@ -0,0 +1,578 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package appsync + +import ( + "context" + "errors" + "fmt" + "time" + + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/service/appsync" + awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" + "github.com/hashicorp/terraform-plugin-framework-timeouts/resource/timeouts" + "github.com/hashicorp/terraform-plugin-framework-timetypes/timetypes" + "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" + "github.com/hashicorp/terraform-plugin-framework/path" + "github.com/hashicorp/terraform-plugin-framework/resource" + "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/int64planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/mapplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/schema/validator" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" + "github.com/hashicorp/terraform-provider-aws/internal/create" + "github.com/hashicorp/terraform-provider-aws/internal/errs" + "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" + "github.com/hashicorp/terraform-provider-aws/internal/framework" + "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" + fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" + tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" + "github.com/hashicorp/terraform-provider-aws/internal/tfresource" + "github.com/hashicorp/terraform-provider-aws/names" +) + +// @FrameworkResource("aws_appsync_event_api", name="Event API") +// @IdentityAttribute("id") +// @Testing(importStateIdAttribute="id") +// @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/appsync/types;awstypes;awstypes.Api") +func newEventApiResource(_ context.Context) (resource.ResourceWithConfigure, error) { + r := &resourceEventApi{} + + r.SetDefaultCreateTimeout(30 * time.Minute) + r.SetDefaultUpdateTimeout(30 * time.Minute) + r.SetDefaultDeleteTimeout(30 * time.Minute) + + return r, nil +} + +const ( + ResNameEventApi = "Event API" +) + +type resourceEventApi struct { + framework.ResourceWithModel[resourceEventApiModel] + framework.WithTimeouts +} + +func (r *resourceEventApi) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { + resp.Schema = schema.Schema{ + Attributes: map[string]schema.Attribute{ + names.AttrARN: framework.ARNAttributeComputedOnly(), + "id": schema.StringAttribute{ + Computed: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.UseStateForUnknown(), + }, + }, + "created": schema.StringAttribute{ + CustomType: timetypes.RFC3339Type{}, + Computed: true, + }, + "dns": schema.MapAttribute{ + CustomType: fwtypes.MapOfStringType, + Computed: true, + PlanModifiers: []planmodifier.Map{ + mapplanmodifier.UseStateForUnknown(), + }, + }, + names.AttrName: schema.StringAttribute{ + Required: true, + }, + "owner_contact": schema.StringAttribute{ + Optional: true, + }, + names.AttrTags: tftags.TagsAttribute(), + names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), + "waf_web_acl_arn": schema.StringAttribute{ + Computed: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.UseStateForUnknown(), + }, + }, + "xray_enabled": schema.BoolAttribute{ + Computed: true, + }, + }, + Blocks: map[string]schema.Block{ + "event_config": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[eventConfigModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Blocks: map[string]schema.Block{ + "auth_providers": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[authProviderModel](ctx), + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "auth_type": schema.StringAttribute{ + Required: true, + CustomType: fwtypes.StringEnumType[awstypes.AuthenticationType](), + }, + }, + Blocks: map[string]schema.Block{ + "cognito_config": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[cognitoConfigModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "aws_region": schema.StringAttribute{ + Required: true, + }, + "user_pool_id": schema.StringAttribute{ + Required: true, + }, + "app_id_client_regex": schema.StringAttribute{ + Optional: true, + }, + }, + }, + }, + "lambda_authorizer_config": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[lambdaAuthorizerConfigModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "authorizer_result_ttl_in_seconds": schema.Int64Attribute{ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Int64{ + int64planmodifier.UseStateForUnknown(), + }, + }, + "authorizer_uri": schema.StringAttribute{ + Required: true, + }, + "identity_validation_expression": schema.StringAttribute{ + Optional: true, + }, + }, + }, + }, + "openid_connect_config": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[openIDConnectConfigModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "auth_ttl": schema.Int64Attribute{ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Int64{ + int64planmodifier.UseStateForUnknown(), + }, + }, + names.AttrClientID: schema.StringAttribute{ + Optional: true, + }, + "iat_ttl": schema.Int64Attribute{ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Int64{ + int64planmodifier.UseStateForUnknown(), + }, + }, + names.AttrIssuer: schema.StringAttribute{ + Required: true, + }, + }, + }, + }, + }, + }, + }, + "connection_auth_modes": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[authModeModel](ctx), + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "auth_type": schema.StringAttribute{ + Required: true, + CustomType: fwtypes.StringEnumType[awstypes.AuthenticationType](), + }, + }, + }, + }, + "default_publish_auth_modes": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[authModeModel](ctx), + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "auth_type": schema.StringAttribute{ + Required: true, + CustomType: fwtypes.StringEnumType[awstypes.AuthenticationType](), + }, + }, + }, + }, + "default_subscribe_auth_modes": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[authModeModel](ctx), + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "auth_type": schema.StringAttribute{ + Required: true, + CustomType: fwtypes.StringEnumType[awstypes.AuthenticationType](), + }, + }, + }, + }, + "log_config": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[eventLogConfigModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "cloudwatch_logs_role_arn": schema.StringAttribute{ + Required: true, + }, + "log_level": schema.StringAttribute{ + Required: true, + CustomType: fwtypes.StringEnumType[awstypes.EventLogLevel](), + }, + }, + }, + }, + }, + }, + }, + names.AttrTimeouts: timeouts.Block(ctx, timeouts.Opts{ + Create: true, + Update: true, + Delete: true, + }), + }, + } +} + +func (r *resourceEventApi) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { + conn := r.Meta().AppSyncClient(ctx) + + var plan resourceEventApiModel + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + if resp.Diagnostics.HasError() { + return + } + + var input appsync.CreateApiInput + resp.Diagnostics.Append(flex.Expand(ctx, plan, &input)...) + if resp.Diagnostics.HasError() { + return + } + + input.Tags = getTagsIn(ctx) + + out, err := conn.CreateApi(ctx, &input) + if err != nil { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.AppSync, create.ErrActionCreating, ResNameEventApi, plan.Name.String(), err), + err.Error(), + ) + return + } + if out == nil || out.Api == nil { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.AppSync, create.ErrActionCreating, ResNameEventApi, plan.Name.String(), nil), + errors.New("empty output").Error(), + ) + return + } + + resp.Diagnostics.Append(flex.Flatten(ctx, out.Api, &plan)...) + if resp.Diagnostics.HasError() { + return + } + + createTimeout := r.CreateTimeout(ctx, plan.Timeouts) + _, err = waitEventApiCreated(ctx, conn, plan.ApiId.ValueString(), createTimeout) + if err != nil { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.AppSync, create.ErrActionWaitingForCreation, ResNameEventApi, plan.Name.String(), err), + err.Error(), + ) + return + } + + resp.Diagnostics.Append(resp.State.Set(ctx, plan)...) +} + +func (r *resourceEventApi) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { + conn := r.Meta().AppSyncClient(ctx) + + var state resourceEventApiModel + resp.Diagnostics.Append(req.State.Get(ctx, &state)...) + if resp.Diagnostics.HasError() { + return + } + + apiId := state.ApiId.ValueString() + + out, err := findEventApiByID(ctx, conn, apiId) + if tfresource.NotFound(err) { + resp.Diagnostics.Append(fwdiag.NewResourceNotFoundWarningDiagnostic(err)) + resp.State.RemoveResource(ctx) + return + } + if err != nil { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.AppSync, create.ErrActionReading, ResNameEventApi, state.ApiId.String(), err), + err.Error(), + ) + return + } + + resp.Diagnostics.Append(flex.Flatten(ctx, out, &state)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(resp.State.Set(ctx, &state)...) +} + +func (r *resourceEventApi) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { + conn := r.Meta().AppSyncClient(ctx) + + var plan, state resourceEventApiModel + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + resp.Diagnostics.Append(req.State.Get(ctx, &state)...) + if resp.Diagnostics.HasError() { + return + } + + diff, d := flex.Diff(ctx, plan, state) + resp.Diagnostics.Append(d...) + if resp.Diagnostics.HasError() { + return + } + + if diff.HasChanges() { + var input appsync.UpdateApiInput + resp.Diagnostics.Append(flex.Expand(ctx, plan, &input)...) + if resp.Diagnostics.HasError() { + return + } + + input.ApiId = plan.ApiId.ValueStringPointer() + + out, err := conn.UpdateApi(ctx, &input) + if err != nil { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.AppSync, create.ErrActionUpdating, ResNameEventApi, plan.ApiId.String(), err), + err.Error(), + ) + return + } + if out == nil || out.Api == nil { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.AppSync, create.ErrActionUpdating, ResNameEventApi, plan.ApiId.String(), nil), + errors.New("empty output").Error(), + ) + return + } + + resp.Diagnostics.Append(flex.Flatten(ctx, out.Api, &plan)...) + if resp.Diagnostics.HasError() { + return + } + } + + resp.Diagnostics.Append(resp.State.Set(ctx, &plan)...) +} + +func (r *resourceEventApi) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { + conn := r.Meta().AppSyncClient(ctx) + + var state resourceEventApiModel + resp.Diagnostics.Append(req.State.Get(ctx, &state)...) + if resp.Diagnostics.HasError() { + return + } + + input := appsync.DeleteApiInput{ + ApiId: state.ApiId.ValueStringPointer(), + } + + _, err := conn.DeleteApi(ctx, &input) + if err != nil { + if errs.IsA[*awstypes.NotFoundException](err) { + return + } + + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.AppSync, create.ErrActionDeleting, ResNameEventApi, state.ApiId.String(), err), + err.Error(), + ) + return + } + + deleteTimeout := r.DeleteTimeout(ctx, state.Timeouts) + _, err = waitEventApiDeleted(ctx, conn, state.ApiId.ValueString(), deleteTimeout) + if err != nil { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.AppSync, create.ErrActionWaitingForDeletion, ResNameEventApi, state.ApiId.String(), err), + err.Error(), + ) + return + } +} + +func (r *resourceEventApi) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { + resource.ImportStatePassthroughID(ctx, path.Root("id"), req, resp) +} + +const ( + statusDeleting = "Deleting" + statusNormal = "Normal" +) + +func waitEventApiCreated(ctx context.Context, conn *appsync.Client, id string, timeout time.Duration) (*awstypes.Api, error) { + stateConf := &retry.StateChangeConf{ + Pending: []string{}, + Target: []string{statusNormal}, + Refresh: statusEventApi(ctx, conn, id), + Timeout: timeout, + NotFoundChecks: 20, + ContinuousTargetOccurence: 2, + } + + outputRaw, err := stateConf.WaitForStateContext(ctx) + if err != nil { + fmt.Printf("[DEBUG] waitEventApiCreated: Wait failed with error: %v\n", err) + } else { + fmt.Printf("[DEBUG] waitEventApiCreated: Wait completed successfully for API: %s\n", id) + } + + if out, ok := outputRaw.(*awstypes.Api); ok { + return out, err + } + + return nil, err +} + +func waitEventApiDeleted(ctx context.Context, conn *appsync.Client, id string, timeout time.Duration) (*awstypes.Api, error) { + fmt.Printf("[DEBUG] waitEventApiDeleted: Starting wait for API deletion: %s\n", id) + stateConf := &retry.StateChangeConf{ + Pending: []string{statusDeleting, statusNormal}, + Target: []string{}, + Refresh: statusEventApi(ctx, conn, id), + Timeout: timeout, + } + + outputRaw, err := stateConf.WaitForStateContext(ctx) + if err != nil { + fmt.Printf("[DEBUG] waitEventApiDeleted: Wait failed with error: %v\n", err) + } else { + fmt.Printf("[DEBUG] waitEventApiDeleted: Wait completed successfully for API: %s\n", id) + } + + if out, ok := outputRaw.(*awstypes.Api); ok { + return out, err + } + + return nil, err +} + +func statusEventApi(ctx context.Context, conn *appsync.Client, id string) retry.StateRefreshFunc { + return func() (any, string, error) { + out, err := findEventApiByID(ctx, conn, id) + if tfresource.NotFound(err) { + return nil, "", nil + } + + if err != nil { + return nil, "", err + } + + return out, statusNormal, nil + } +} + +func findEventApiByID(ctx context.Context, conn *appsync.Client, id string) (*awstypes.Api, error) { + input := appsync.GetApiInput{ + ApiId: aws.String(id), + } + + out, err := conn.GetApi(ctx, &input) + if err != nil { + if errs.IsA[*awstypes.NotFoundException](err) { + return nil, &retry.NotFoundError{ + LastError: err, + LastRequest: &input, + } + } + return nil, err + } + + if out == nil || out.Api == nil { + return nil, tfresource.NewEmptyResultError(&input) + } + + return out.Api, nil +} + +type resourceEventApiModel struct { + framework.WithRegionModel + ApiArn types.String `tfsdk:"arn"` + ApiId types.String `tfsdk:"id"` + Created timetypes.RFC3339 `tfsdk:"created"` + Dns fwtypes.MapOfString `tfsdk:"dns"` + EventConfig fwtypes.ListNestedObjectValueOf[eventConfigModel] `tfsdk:"event_config"` + Name types.String `tfsdk:"name"` + OwnerContact types.String `tfsdk:"owner_contact"` + Tags tftags.Map `tfsdk:"tags"` + TagsAll tftags.Map `tfsdk:"tags_all"` + Timeouts timeouts.Value `tfsdk:"timeouts"` + WafWebAclArn types.String `tfsdk:"waf_web_acl_arn"` + XrayEnabled types.Bool `tfsdk:"xray_enabled"` +} + +type eventConfigModel struct { + AuthProviders fwtypes.ListNestedObjectValueOf[authProviderModel] `tfsdk:"auth_providers"` + ConnectionAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"connection_auth_modes"` + DefaultPublishAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"default_publish_auth_modes"` + DefaultSubscribeAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"default_subscribe_auth_modes"` + LogConfig fwtypes.ListNestedObjectValueOf[eventLogConfigModel] `tfsdk:"log_config"` +} + +type authProviderModel struct { + AuthType fwtypes.StringEnum[awstypes.AuthenticationType] `tfsdk:"auth_type"` + CognitoConfig fwtypes.ListNestedObjectValueOf[cognitoConfigModel] `tfsdk:"cognito_config"` + LambdaAuthorizerConfig fwtypes.ListNestedObjectValueOf[lambdaAuthorizerConfigModel] `tfsdk:"lambda_authorizer_config"` + OpenIDConnectConfig fwtypes.ListNestedObjectValueOf[openIDConnectConfigModel] `tfsdk:"openid_connect_config"` +} + +type authModeModel struct { + AuthType fwtypes.StringEnum[awstypes.AuthenticationType] `tfsdk:"auth_type"` +} + +type cognitoConfigModel struct { + AwsRegion types.String `tfsdk:"aws_region"` + UserPoolId types.String `tfsdk:"user_pool_id"` + AppIdClientRegex types.String `tfsdk:"app_id_client_regex"` +} + +type lambdaAuthorizerConfigModel struct { + AuthorizerResultTtlInSeconds types.Int64 `tfsdk:"authorizer_result_ttl_in_seconds"` + AuthorizerUri types.String `tfsdk:"authorizer_uri"` + IdentityValidationExpression types.String `tfsdk:"identity_validation_expression"` +} + +type openIDConnectConfigModel struct { + AuthTtl types.Int64 `tfsdk:"auth_ttl"` + ClientId types.String `tfsdk:"client_id"` + IatTtl types.Int64 `tfsdk:"iat_ttl"` + Issuer types.String `tfsdk:"issuer"` +} + +type eventLogConfigModel struct { + CloudWatchLogsRoleArn types.String `tfsdk:"cloudwatch_logs_role_arn"` + LogLevel fwtypes.StringEnum[awstypes.EventLogLevel] `tfsdk:"log_level"` +} diff --git a/internal/service/appsync/event_api_identity_gen_test.go b/internal/service/appsync/event_api_identity_gen_test.go new file mode 100644 index 000000000000..8eee21f74f27 --- /dev/null +++ b/internal/service/appsync/event_api_identity_gen_test.go @@ -0,0 +1,196 @@ +// Code generated by internal/generate/identitytests/main.go; DO NOT EDIT. + +package appsync_test + +import ( + "testing" + + awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" + "github.com/hashicorp/terraform-plugin-testing/config" + sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-plugin-testing/tfversion" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfknownvalue "github.com/hashicorp/terraform-provider-aws/internal/acctest/knownvalue" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccAppSyncEventAPI_Identity_Basic(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.Api + resourceName := "aws_appsync_event_api.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckEventAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/EventAPI/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckEventAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.Region()), + names.AttrID: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/EventAPI/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ImportStateKind: resource.ImportCommandWithID, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/EventAPI/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/EventAPI/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + }, + }) +} + +func TestAccAppSyncEventAPI_Identity_RegionOverride(t *testing.T) { + ctx := acctest.Context(t) + + resourceName := "aws_appsync_event_api.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: acctest.CheckDestroyNoop, + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/EventAPI/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrID: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/EventAPI/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + // TODO + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/EventAPI/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + // TODO + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/EventAPI/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + }, + }) +} diff --git a/internal/service/appsync/event_api_test.go b/internal/service/appsync/event_api_test.go new file mode 100644 index 000000000000..a2065fb7a732 --- /dev/null +++ b/internal/service/appsync/event_api_test.go @@ -0,0 +1,553 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package appsync_test + +import ( + "context" + "errors" + "fmt" + "testing" + + "github.com/YakDriver/regexache" + awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" + sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/terraform" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + "github.com/hashicorp/terraform-provider-aws/internal/conns" + "github.com/hashicorp/terraform-provider-aws/internal/create" + "github.com/hashicorp/terraform-provider-aws/internal/tfresource" + "github.com/hashicorp/terraform-provider-aws/names" + + tfappsync "github.com/hashicorp/terraform-provider-aws/internal/service/appsync" +) + +// TIP: File Structure. The basic outline for all test files should be as +// follows. Improve this resource's maintainability by following this +// outline. +// +// 1. Package declaration (add "_test" since this is a test file) +// 2. Imports +// 3. Unit tests +// 4. Basic test +// 5. Disappears test +// 6. All the other tests +// 7. Helper functions (exists, destroy, check, etc.) +// 8. Functions that return Terraform configurations + +// TIP: ==== UNIT TESTS ==== +// This is an example of a unit test. Its name is not prefixed with +// "TestAcc" like an acceptance test. +// +// Unlike acceptance tests, unit tests do not access AWS and are focused on a +// function (or method). Because of this, they are quick and cheap to run. +// +// In designing a resource's implementation, isolate complex bits from AWS bits +// so that they can be tested through a unit test. We encourage more unit tests +// in the provider. +// +// Cut and dry functions using well-used patterns, like typical flatteners and +// expanders, don't need unit testing. However, if they are complex or +// intricate, they should be unit tested. +// Unit tests would go here if needed + +// TIP: ==== ACCEPTANCE TESTS ==== +// This is an example of a basic acceptance test. This should test as much of +// standard functionality of the resource as possible, and test importing, if +// applicable. We prefix its name with "TestAcc", the service, and the +// resource name. +// +// Acceptance test access AWS and cost money to run. +func TestAccAppSyncEventApi_basic(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var eventapi awstypes.Api + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_appsync_event_api.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) + testAccPreCheck(ctx, t) + }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckEventApiDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccEventApiConfig_basic(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckEventApiExists(ctx, resourceName, &eventapi), + resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), + resource.TestCheckResourceAttrSet(resourceName, "api_id"), + resource.TestCheckResourceAttrSet(resourceName, "created"), + resource.TestCheckResourceAttrSet(resourceName, names.AttrARN), + acctest.MatchResourceAttrRegionalARN(ctx, resourceName, names.AttrARN, "appsync", regexache.MustCompile(`api/.+$`)), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "0"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncEventApi_disappears(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var eventapi awstypes.Api + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_appsync_event_api.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) + testAccPreCheck(ctx, t) + }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckEventApiDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccEventApiConfig_basic(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckEventApiExists(ctx, resourceName, &eventapi), + acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfappsync.ResourceEventApi, resourceName), + ), + ExpectNonEmptyPlan: true, + }, + }, + }) +} + +func TestAccAppSyncEventApi_eventConfigComprehensive(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var eventapi awstypes.Api + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_appsync_event_api.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) + testAccPreCheck(ctx, t) + }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckEventApiDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccEventApiConfig_eventConfigComprehensive(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckEventApiExists(ctx, resourceName, &eventapi), + resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), + resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), + resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "3"), + // Cognito auth provider + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.0.auth_type", "AMAZON_COGNITO_USER_POOLS"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.0.cognito_config.#", "1"), + resource.TestCheckResourceAttrSet(resourceName, "event_config.0.auth_providers.0.cognito_config.0.user_pool_id"), + resource.TestCheckResourceAttrSet(resourceName, "event_config.0.auth_providers.0.cognito_config.0.aws_region"), + // Lambda auth provider + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.1.auth_type", "AWS_LAMBDA"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.1.lambda_authorizer_config.#", "1"), + resource.TestCheckResourceAttrSet(resourceName, "event_config.0.auth_providers.1.lambda_authorizer_config.0.authorizer_uri"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.1.lambda_authorizer_config.0.authorizer_result_ttl_in_seconds", "300"), + // OpenID Connect auth provider + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.2.auth_type", "OPENID_CONNECT"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.2.openid_connect_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.2.openid_connect_config.0.issuer", "https://example.com"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.2.openid_connect_config.0.client_id", "test-client-id"), + // Auth modes + resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.0.auth_type", "AWS_LAMBDA"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.0.auth_type", "AWS_LAMBDA"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.0.auth_type", "AWS_LAMBDA"), + // Log config + resource.TestCheckResourceAttr(resourceName, "event_config.0.log_config.#", "1"), + resource.TestCheckResourceAttrSet(resourceName, "event_config.0.log_config.0.cloudwatch_logs_role_arn"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.log_config.0.log_level", "ERROR"), + // Tags + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "2"), + resource.TestCheckResourceAttr(resourceName, "tags.Environment", "test"), + resource.TestCheckResourceAttr(resourceName, "tags.Purpose", "event-api-testing"), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsAllPercent, "2"), + resource.TestCheckResourceAttr(resourceName, "tags_all.Environment", "test"), + resource.TestCheckResourceAttr(resourceName, "tags_all.Purpose", "event-api-testing"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncEventApi_tags(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var eventapi awstypes.Api + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_appsync_event_api.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) + testAccPreCheck(ctx, t) + }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckEventApiDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccEventApiConfig_tags1(rName, "key1", "value1"), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckEventApiExists(ctx, resourceName, &eventapi), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "1"), + resource.TestCheckResourceAttr(resourceName, "tags.key1", "value1"), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsAllPercent, "1"), + resource.TestCheckResourceAttr(resourceName, "tags_all.key1", "value1"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + Config: testAccEventApiConfig_tags2(rName, "key1", "value1updated", "key2", "value2"), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckEventApiExists(ctx, resourceName, &eventapi), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "2"), + resource.TestCheckResourceAttr(resourceName, "tags.key1", "value1updated"), + resource.TestCheckResourceAttr(resourceName, "tags.key2", "value2"), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsAllPercent, "2"), + resource.TestCheckResourceAttr(resourceName, "tags_all.key1", "value1updated"), + resource.TestCheckResourceAttr(resourceName, "tags_all.key2", "value2"), + ), + }, + { + Config: testAccEventApiConfig_tags1(rName, "key2", "value2"), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckEventApiExists(ctx, resourceName, &eventapi), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "1"), + resource.TestCheckResourceAttr(resourceName, "tags.key2", "value2"), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsAllPercent, "1"), + resource.TestCheckResourceAttr(resourceName, "tags_all.key2", "value2"), + ), + }, + }, + }) +} + +func TestAccAppSyncEventApi_update(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var eventapi awstypes.Api + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + rNameUpdated := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_appsync_event_api.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) + testAccPreCheck(ctx, t) + }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckEventApiDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccEventApiConfig_eventConfigComprehensive(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckEventApiExists(ctx, resourceName, &eventapi), + resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), + resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), + resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "3"), + ), + }, + { + Config: testAccEventApiConfig_eventConfigComprehensive(rNameUpdated), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckEventApiExists(ctx, resourceName, &eventapi), + resource.TestCheckResourceAttr(resourceName, names.AttrName, rNameUpdated), + resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), + resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "3"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func testAccCheckEventApiDestroy(ctx context.Context) resource.TestCheckFunc { + return func(s *terraform.State) error { + conn := acctest.Provider.Meta().(*conns.AWSClient).AppSyncClient(ctx) + + for _, rs := range s.RootModule().Resources { + if rs.Type != "aws_appsync_event_api" { + continue + } + + _, err := tfappsync.FindEventApiByID(ctx, conn, rs.Primary.ID) + if tfresource.NotFound(err) { + return nil + } + if err != nil { + return create.Error(names.AppSync, create.ErrActionCheckingDestroyed, tfappsync.ResNameEventApi, rs.Primary.ID, err) + } + + return create.Error(names.AppSync, create.ErrActionCheckingDestroyed, tfappsync.ResNameEventApi, rs.Primary.ID, errors.New("not destroyed")) + } + + return nil + } +} + +func testAccCheckEventApiExists(ctx context.Context, name string, eventapi *awstypes.Api) resource.TestCheckFunc { + return func(s *terraform.State) error { + rs, ok := s.RootModule().Resources[name] + if !ok { + return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameEventApi, name, errors.New("not found")) + } + + if rs.Primary.ID == "" { + return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameEventApi, name, errors.New("not set")) + } + + conn := acctest.Provider.Meta().(*conns.AWSClient).AppSyncClient(ctx) + + resp, err := tfappsync.FindEventApiByID(ctx, conn, rs.Primary.ID) + if err != nil { + return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameEventApi, rs.Primary.ID, err) + } + + *eventapi = *resp + + return nil + } +} + +func testAccEventApiConfig_basic(rName string) string { + return fmt.Sprintf(` +resource "aws_appsync_event_api" "test" { + name = %[1]q +} +`, rName) +} + +func testAccEventApiConfig_eventConfigComprehensive(rName string) string { + return fmt.Sprintf(` +resource "aws_cognito_user_pool" "test" { + name = %[1]q +} + +resource "aws_iam_role" "lambda" { + name = "%[1]s-lambda" + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "lambda_basic" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "lambda_basic" { + name = "%[1]s-lambda-basic" + role = aws_iam_role.lambda.id + policy = data.aws_iam_policy_document.lambda_basic.json +} + +resource "aws_lambda_function" "test" { + filename = "test-fixtures/lambdatest.zip" + function_name = %[1]q + role = aws_iam_role.lambda.arn + handler = "index.handler" + runtime = "nodejs18.x" + source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") + + depends_on = [aws_iam_role_policy.lambda_basic] +} + +resource "aws_lambda_permission" "appsync_invoke" { + statement_id = "AllowExecutionFromAppSync" + action = "lambda:InvokeFunction" + function_name = aws_lambda_function.test.function_name + principal = "appsync.amazonaws.com" +} + +resource "aws_iam_role" "cloudwatch" { + name = "%[1]s-cloudwatch" + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "appsync.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "cloudwatch_logs" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "cloudwatch" { + name = "%[1]s-cloudwatch-policy" + role = aws_iam_role.cloudwatch.id + policy = data.aws_iam_policy_document.cloudwatch_logs.json +} + +resource "aws_appsync_event_api" "test" { + name = %[1]q + owner_contact = "test@example.com" + + event_config { + auth_providers { + auth_type = "AMAZON_COGNITO_USER_POOLS" + cognito_config { + user_pool_id = aws_cognito_user_pool.test.id + aws_region = data.aws_region.current.name + } + } + + auth_providers { + auth_type = "AWS_LAMBDA" + lambda_authorizer_config { + authorizer_uri = aws_lambda_function.test.arn + authorizer_result_ttl_in_seconds = 300 + } + } + + auth_providers { + auth_type = "OPENID_CONNECT" + openid_connect_config { + issuer = "https://example.com" + client_id = "test-client-id" + } + } + + connection_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_publish_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_subscribe_auth_modes { + auth_type = "AWS_LAMBDA" + } + + log_config { + cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn + log_level = "ERROR" + } + } + + tags = { + Environment = "test" + Purpose = "event-api-testing" + } + + depends_on = [ + aws_lambda_permission.appsync_invoke, + aws_iam_role_policy.cloudwatch + ] +} + +data "aws_region" "current" {} +`, rName) +} + +func testAccEventApiConfig_tags1(rName, tagKey1, tagValue1 string) string { + return fmt.Sprintf(` +resource "aws_appsync_event_api" "test" { + name = %[1]q + + tags = { + %[2]q = %[3]q + } +} +`, rName, tagKey1, tagValue1) +} + +func testAccEventApiConfig_tags2(rName, tagKey1, tagValue1, tagKey2, tagValue2 string) string { + return fmt.Sprintf(` +resource "aws_appsync_event_api" "test" { + name = %[1]q + + tags = { + %[2]q = %[3]q + %[4]q = %[5]q + } +} +`, rName, tagKey1, tagValue1, tagKey2, tagValue2) +} diff --git a/internal/service/appsync/exports_test.go b/internal/service/appsync/exports_test.go index 355d234b2699..f4c61b134c4f 100644 --- a/internal/service/appsync/exports_test.go +++ b/internal/service/appsync/exports_test.go @@ -10,6 +10,7 @@ var ( ResourceDataSource = resourceDataSource ResourceDomainName = resourceDomainName ResourceDomainNameAPIAssociation = resourceDomainNameAPIAssociation + ResourceEventApi = newEventApiResource ResourceFunction = resourceFunction ResourceGraphQLAPI = resourceGraphQLAPI ResourceResolver = resourceResolver @@ -22,6 +23,7 @@ var ( FindDataSourceByTwoPartKey = findDataSourceByTwoPartKey FindDomainNameAPIAssociationByID = findDomainNameAPIAssociationByID FindDomainNameByID = findDomainNameByID + FindEventApiByID = findEventApiByID FindFunctionByTwoPartKey = findFunctionByTwoPartKey FindGraphQLAPIByID = findGraphQLAPIByID FindResolverByThreePartKey = findResolverByThreePartKey diff --git a/internal/service/appsync/generate.go b/internal/service/appsync/generate.go index a7b20c7e40a1..b0f1b3824d27 100644 --- a/internal/service/appsync/generate.go +++ b/internal/service/appsync/generate.go @@ -4,6 +4,7 @@ //go:generate go run ../../generate/listpages/main.go -ListOps=ListApiKeys,ListDomainNames,ListGraphqlApis //go:generate go run ../../generate/tags/main.go -ListTags -ServiceTagsMap -UpdateTags -KVTValues //go:generate go run ../../generate/servicepackage/main.go +//go:generate go run ../../generate/identitytests/main.go // ONLY generate directives and package declaration! Do not add anything else to this file. package appsync diff --git a/internal/service/appsync/service_package_gen.go b/internal/service/appsync/service_package_gen.go index cbd5cd493088..97e46d33c61b 100644 --- a/internal/service/appsync/service_package_gen.go +++ b/internal/service/appsync/service_package_gen.go @@ -24,6 +24,16 @@ func (p *servicePackage) FrameworkDataSources(ctx context.Context) []*inttypes.S func (p *servicePackage) FrameworkResources(ctx context.Context) []*inttypes.ServicePackageFrameworkResource { return []*inttypes.ServicePackageFrameworkResource{ + { + Factory: newEventApiResource, + TypeName: "aws_appsync_event_api", + Name: "Event API", + Region: unique.Make(inttypes.ResourceRegionDefault()), + Identity: inttypes.RegionalSingleParameterIdentity(names.AttrID), + Import: inttypes.FrameworkImport{ + WrappedImport: true, + }, + }, { Factory: newSourceAPIAssociationResource, TypeName: "aws_appsync_source_api_association", diff --git a/internal/service/appsync/testdata/EventAPI/basic/main_gen.tf b/internal/service/appsync/testdata/EventAPI/basic/main_gen.tf new file mode 100644 index 000000000000..2f93319b9cc1 --- /dev/null +++ b/internal/service/appsync/testdata/EventAPI/basic/main_gen.tf @@ -0,0 +1,160 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_cognito_user_pool" "test" { + name = var.name +} + +resource "aws_iam_role" "lambda" { + name = var.name + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "lambda_basic" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "lambda_basic" { + name = var.name + role = aws_iam_role.lambda.id + policy = data.aws_iam_policy_document.lambda_basic.json +} + +resource "aws_lambda_function" "test" { + filename = "test-fixtures/lambdatest.zip" + function_name = var.name + role = aws_iam_role.lambda.arn + handler = "index.handler" + runtime = "nodejs18.x" + source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") + + depends_on = [aws_iam_role_policy.lambda_basic] +} + +resource "aws_lambda_permission" "appsync_invoke" { + statement_id = "AllowExecutionFromAppSync" + action = "lambda:InvokeFunction" + function_name = aws_lambda_function.test.function_name + principal = "appsync.amazonaws.com" +} + +resource "aws_iam_role" "cloudwatch" { + name = var.name + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "appsync.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "cloudwatch_logs" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "cloudwatch" { + name = var.name + role = aws_iam_role.cloudwatch.id + policy = data.aws_iam_policy_document.cloudwatch_logs.json +} + +resource "aws_appsync_event_api" "test" { + name = var.name + owner_contact = "test@example.com" + + event_config { + auth_providers { + auth_type = "AMAZON_COGNITO_USER_POOLS" + cognito_config { + user_pool_id = aws_cognito_user_pool.test.id + aws_region = data.aws_region.current.name + } + } + + auth_providers { + auth_type = "AWS_LAMBDA" + lambda_authorizer_config { + authorizer_uri = aws_lambda_function.test.arn + authorizer_result_ttl_in_seconds = 300 + } + } + + auth_providers { + auth_type = "OPENID_CONNECT" + openid_connect_config { + issuer = "https://example.com" + client_id = "test-client-id" + } + } + + connection_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_publish_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_subscribe_auth_modes { + auth_type = "AWS_LAMBDA" + } + + log_config { + cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn + log_level = "ERROR" + } + } + + depends_on = [ + aws_lambda_permission.appsync_invoke, + aws_iam_role_policy.cloudwatch + ] +} + +data "aws_region" "current" {} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} diff --git a/internal/service/appsync/testdata/EventAPI/region_overide/main_gen.tf b/internal/service/appsync/testdata/EventAPI/region_overide/main_gen.tf new file mode 100644 index 000000000000..66fe562894a2 --- /dev/null +++ b/internal/service/appsync/testdata/EventAPI/region_overide/main_gen.tf @@ -0,0 +1,11 @@ +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "region" { + description = "Region to deploy resource in" + type = string + nullable = false +} \ No newline at end of file diff --git a/internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf b/internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf new file mode 100644 index 000000000000..ffa00abbbb25 --- /dev/null +++ b/internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf @@ -0,0 +1,182 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_cognito_user_pool" "test" { + name = var.name + region = var.region + +} + +resource "aws_iam_role" "lambda" { + name = var.name + region = var.region + + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "lambda_basic" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "lambda_basic" { + name = var.name + role = aws_iam_role.lambda.id + policy = data.aws_iam_policy_document.lambda_basic.json + region = var.region + +} + +resource "aws_lambda_function" "test" { + filename = "test-fixtures/lambdatest.zip" + function_name = var.name + role = aws_iam_role.lambda.arn + handler = "index.handler" + runtime = "nodejs18.x" + source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") + + depends_on = [aws_iam_role_policy.lambda_basic] + region = var.region + +} + +resource "aws_lambda_permission" "appsync_invoke" { + statement_id = "AllowExecutionFromAppSync" + action = "lambda:InvokeFunction" + function_name = aws_lambda_function.test.function_name + principal = "appsync.amazonaws.com" + region = var.region + +} + +resource "aws_iam_role" "cloudwatch" { + name = var.name + region = var.region + + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "appsync.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "cloudwatch_logs" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "cloudwatch" { + name = var.name + role = aws_iam_role.cloudwatch.id + policy = data.aws_iam_policy_document.cloudwatch_logs.json + region = var.region + +} + +resource "aws_appsync_event_api" "test" { + name = var.name + owner_contact = "test@example.com" + region = var.region + + + event_config { + auth_providers { + auth_type = "AMAZON_COGNITO_USER_POOLS" + cognito_config { + user_pool_id = aws_cognito_user_pool.test.id + aws_region = data.aws_region.current.name + } + } + + auth_providers { + auth_type = "AWS_LAMBDA" + lambda_authorizer_config { + authorizer_uri = aws_lambda_function.test.arn + authorizer_result_ttl_in_seconds = 300 + } + } + + auth_providers { + auth_type = "OPENID_CONNECT" + openid_connect_config { + issuer = "https://example.com" + client_id = "test-client-id" + } + } + + connection_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_publish_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_subscribe_auth_modes { + auth_type = "AWS_LAMBDA" + } + + log_config { + cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn + log_level = "ERROR" + } + } + + depends_on = [ + aws_lambda_permission.appsync_invoke, + aws_iam_role_policy.cloudwatch + ] +} + +data "aws_region" "current" {} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "region" { + description = "Region to deploy resource in" + type = string + nullable = false +} diff --git a/internal/service/appsync/testdata/tmpl/event_api_tags.gtpl b/internal/service/appsync/testdata/tmpl/event_api_tags.gtpl new file mode 100644 index 000000000000..7e496ebd6e5a --- /dev/null +++ b/internal/service/appsync/testdata/tmpl/event_api_tags.gtpl @@ -0,0 +1,160 @@ +resource "aws_cognito_user_pool" "test" { + name = var.name + {{- template "region" }} +} + +resource "aws_iam_role" "lambda" { + name = var.name + {{- template "region" }} + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "lambda_basic" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "lambda_basic" { + name = var.name + role = aws_iam_role.lambda.id + policy = data.aws_iam_policy_document.lambda_basic.json + {{- template "region" }} +} + +resource "aws_lambda_function" "test" { + filename = "test-fixtures/lambdatest.zip" + function_name = var.name + role = aws_iam_role.lambda.arn + handler = "index.handler" + runtime = "nodejs18.x" + source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") + + depends_on = [aws_iam_role_policy.lambda_basic] + {{- template "region" }} +} + +resource "aws_lambda_permission" "appsync_invoke" { + statement_id = "AllowExecutionFromAppSync" + action = "lambda:InvokeFunction" + function_name = aws_lambda_function.test.function_name + principal = "appsync.amazonaws.com" + {{- template "region" }} +} + +resource "aws_iam_role" "cloudwatch" { + name = var.name + {{- template "region" }} + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "appsync.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "cloudwatch_logs" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "cloudwatch" { + name = var.name + role = aws_iam_role.cloudwatch.id + policy = data.aws_iam_policy_document.cloudwatch_logs.json + {{- template "region" }} +} + +resource "aws_appsync_event_api" "test" { + name = var.name + owner_contact = "test@example.com" + {{- template "region" }} + + event_config { + auth_providers { + auth_type = "AMAZON_COGNITO_USER_POOLS" + cognito_config { + user_pool_id = aws_cognito_user_pool.test.id + aws_region = data.aws_region.current.name + } + } + + auth_providers { + auth_type = "AWS_LAMBDA" + lambda_authorizer_config { + authorizer_uri = aws_lambda_function.test.arn + authorizer_result_ttl_in_seconds = 300 + } + } + + auth_providers { + auth_type = "OPENID_CONNECT" + openid_connect_config { + issuer = "https://example.com" + client_id = "test-client-id" + } + } + + connection_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_publish_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_subscribe_auth_modes { + auth_type = "AWS_LAMBDA" + } + + log_config { + cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn + log_level = "ERROR" + } + } + + depends_on = [ + aws_lambda_permission.appsync_invoke, + aws_iam_role_policy.cloudwatch + ] +} + +data "aws_region" "current" {} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} \ No newline at end of file diff --git a/website/docs/r/appsync_event_api.html.markdown b/website/docs/r/appsync_event_api.html.markdown new file mode 100644 index 000000000000..c4dba31ff238 --- /dev/null +++ b/website/docs/r/appsync_event_api.html.markdown @@ -0,0 +1,277 @@ +--- +subcategory: "AppSync" +layout: "aws" +page_title: "AWS: aws_appsync_event_api" +description: |- + Manages an AWS AppSync Event API. +--- + +# Resource: aws_appsync_event_api + +Manages an AWS AppSync Event API. Event APIs enable real-time subscriptions and event-driven communication in AppSync applications. + +## Example Usage + +### Basic Usage + +```terraform +resource "aws_appsync_event_api" "example" { + name = "example-event-api" +} +``` + +### With Owner Contact + +```terraform +resource "aws_appsync_event_api" "example" { + name = "example-event-api" + owner_contact = "admin@example.com" +} +``` + +### With Cognito Authentication + +```terraform +resource "aws_cognito_user_pool" "example" { + name = "example-user-pool" +} + +resource "aws_appsync_event_api" "example" { + name = "example-event-api" + + event_config { + auth_providers { + auth_type = "AMAZON_COGNITO_USER_POOLS" + cognito_config { + user_pool_id = aws_cognito_user_pool.example.id + aws_region = data.aws_region.current.name + } + } + } +} + +data "aws_region" "current" {} +``` + +### With Lambda Authorizer + +```terraform +resource "aws_iam_role" "lambda" { + name = "example-lambda-role" + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" + } + } + ] + }) +} + +resource "aws_lambda_function" "example" { + filename = "lambda_authorizer.zip" + function_name = "example-authorizer" + role = aws_iam_role.lambda.arn + handler = "index.handler" + runtime = "nodejs18.x" +} + +resource "aws_appsync_event_api" "example" { + name = "example-event-api" + + event_config { + auth_providers { + auth_type = "AWS_LAMBDA" + lambda_authorizer_config { + authorizer_uri = aws_lambda_function.example.invoke_arn + authorizer_result_ttl_in_seconds = 300 + } + } + } +} +``` + +### With OpenID Connect + +```terraform +resource "aws_appsync_event_api" "example" { + name = "example-event-api" + + event_config { + auth_providers { + auth_type = "OPENID_CONNECT" + openid_connect_config { + issuer = "https://example.com" + client_id = "example-client-id" + } + } + } +} +``` + +### With Authentication Modes + +```terraform +resource "aws_appsync_event_api" "example" { + name = "example-event-api" + + event_config { + connection_auth_modes { + auth_type = "API_KEY" + } + default_publish_auth_modes { + auth_type = "API_KEY" + } + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } +} +``` + +### With CloudWatch Logging + +```terraform +resource "aws_iam_role" "cloudwatch" { + name = "example-cloudwatch-role" + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "appsync.amazonaws.com" + } + } + ] + }) +} + +resource "aws_iam_role_policy_attachment" "cloudwatch" { + policy_arn = "arn:aws:iam::aws:policy/service-role/AppSyncPushToCloudWatchLogs" + role = aws_iam_role.cloudwatch.name +} + +resource "aws_appsync_event_api" "example" { + name = "example-event-api" + + event_config { + log_config { + cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn + log_level = "ERROR" + } + } +} +``` + +## Argument Reference + +The following arguments are required: + +* `name` - (Required) Name of the Event API. + +The following arguments are optional: + +* `owner_contact` - (Optional) Contact information for the owner of the Event API. +* `event_config` - (Optional) Configuration for the Event API. See [Event Config](#event-config) below. +* `tags` - (Optional) Map of tags to assign to the resource. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +### Event Config + +The `event_config` block supports the following: + +* `auth_providers` - (Optional) List of authentication providers. See [Auth Providers](#auth-providers) below. +* `connection_auth_modes` - (Optional) List of authentication modes for connections. See [Auth Modes](#auth-modes) below. +* `default_publish_auth_modes` - (Optional) List of default authentication modes for publishing. See [Auth Modes](#auth-modes) below. +* `default_subscribe_auth_modes` - (Optional) List of default authentication modes for subscribing. See [Auth Modes](#auth-modes) below. +* `log_config` - (Optional) Logging configuration. See [Log Config](#log-config) below. + +### Auth Providers + +The `auth_providers` block supports the following: + +* `auth_type` - (Required) Type of authentication provider. Valid values: `AMAZON_COGNITO_USER_POOLS`, `AWS_LAMBDA`, `OPENID_CONNECT`, `API_KEY`. +* `cognito_config` - (Optional) Configuration for Cognito user pool authentication. Required when `auth_type` is `AMAZON_COGNITO_USER_POOLS`. See [Cognito Config](#cognito-config) below. +* `lambda_authorizer_config` - (Optional) Configuration for Lambda authorization. Required when `auth_type` is `AWS_LAMBDA`. See [Lambda Authorizer Config](#lambda-authorizer-config) below. +* `openid_connect_config` - (Optional) Configuration for OpenID Connect. Required when `auth_type` is `OPENID_CONNECT`. See [OpenID Connect Config](#openid-connect-config) below. + +### Cognito Config + +The `cognito_config` block supports the following: + +* `user_pool_id` - (Required) ID of the Cognito user pool. +* `aws_region` - (Required) AWS region where the user pool is located. +* `app_id_client_regex` - (Optional) Regular expression for matching the client ID. + +### Lambda Authorizer Config + +The `lambda_authorizer_config` block supports the following: + +* `authorizer_uri` - (Required) URI of the Lambda function for authorization. +* `authorizer_result_ttl_in_seconds` - (Optional) TTL in seconds for the authorization result cache. +* `identity_validation_expression` - (Optional) Regular expression for identity validation. + +### OpenID Connect Config + +The `openid_connect_config` block supports the following: + +* `issuer` - (Required) Issuer URL for the OpenID Connect provider. +* `client_id` - (Optional) Client ID for the OpenID Connect provider. +* `auth_ttl` - (Optional) TTL in seconds for the authentication token. +* `iat_ttl` - (Optional) TTL in seconds for the issued at time. + +### Auth Modes + +The `connection_auth_modes`, `default_publish_auth_modes`, and `default_subscribe_auth_modes` blocks support the following: + +* `auth_type` - (Required) Type of authentication. Valid values: `API_KEY`, `AWS_IAM`, `AMAZON_COGNITO_USER_POOLS`, `OPENID_CONNECT`, `AWS_LAMBDA`. + +### Log Config + +The `log_config` block supports the following: + +* `cloudwatch_logs_role_arn` - (Required) ARN of the IAM role for CloudWatch logs. +* `log_level` - (Required) Log level. Valid values: `NONE`, `ERROR`, `ALL`, `INFO`, `DEBUG`. + +## Attribute Reference + +This resource exports the following attributes in addition to the arguments above: + +* `api_id` - ID of the Event API. +* `arn` - ARN of the Event API. +* `created` - Date and time when the Event API was created. +* `dns` - DNS configuration for the Event API. +* `tags_all` - Map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). +* `waf_web_acl_arn` - ARN of the associated WAF web ACL. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +* `create` - (Default `30m`) +* `update` - (Default `30m`) +* `delete` - (Default `30m`) + +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import AppSync Event API using the `api_id`. For example: + +```terraform +import { + to = aws_appsync_event_api.example + id = "example-api-id" +} +``` + +Using `terraform import`, import AppSync Event API using the `api_id`. For example: + +```console +% terraform import aws_appsync_event_api.example example-api-id +``` From 0dacc21746e2f8bb6f099b2495f386daeaa6e715 Mon Sep 17 00:00:00 2001 From: ThomasZalewski Date: Sat, 19 Jul 2025 01:54:32 -0700 Subject: [PATCH 0018/1301] api -> API --- internal/service/appsync/event_api.go | 78 +++++++++--------- internal/service/appsync/event_api_test.go | 80 +++++++++---------- internal/service/appsync/exports_test.go | 4 +- .../service/appsync/service_package_gen.go | 2 +- 4 files changed, 82 insertions(+), 82 deletions(-) diff --git a/internal/service/appsync/event_api.go b/internal/service/appsync/event_api.go index 38c5042e1837..12df39f80d7f 100644 --- a/internal/service/appsync/event_api.go +++ b/internal/service/appsync/event_api.go @@ -40,8 +40,8 @@ import ( // @IdentityAttribute("id") // @Testing(importStateIdAttribute="id") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/appsync/types;awstypes;awstypes.Api") -func newEventApiResource(_ context.Context) (resource.ResourceWithConfigure, error) { - r := &resourceEventApi{} +func newEventAPIResource(_ context.Context) (resource.ResourceWithConfigure, error) { + r := &resourceEventAPI{} r.SetDefaultCreateTimeout(30 * time.Minute) r.SetDefaultUpdateTimeout(30 * time.Minute) @@ -51,15 +51,15 @@ func newEventApiResource(_ context.Context) (resource.ResourceWithConfigure, err } const ( - ResNameEventApi = "Event API" + ResNameEventAPI = "Event API" ) -type resourceEventApi struct { - framework.ResourceWithModel[resourceEventApiModel] +type resourceEventAPI struct { + framework.ResourceWithModel[resourceEventAPIModel] framework.WithTimeouts } -func (r *resourceEventApi) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { +func (r *resourceEventAPI) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { resp.Schema = schema.Schema{ Attributes: map[string]schema.Attribute{ names.AttrARN: framework.ARNAttributeComputedOnly(), @@ -253,10 +253,10 @@ func (r *resourceEventApi) Schema(ctx context.Context, req resource.SchemaReques } } -func (r *resourceEventApi) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { +func (r *resourceEventAPI) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { conn := r.Meta().AppSyncClient(ctx) - var plan resourceEventApiModel + var plan resourceEventAPIModel resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) if resp.Diagnostics.HasError() { return @@ -273,14 +273,14 @@ func (r *resourceEventApi) Create(ctx context.Context, req resource.CreateReques out, err := conn.CreateApi(ctx, &input) if err != nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionCreating, ResNameEventApi, plan.Name.String(), err), + create.ProblemStandardMessage(names.AppSync, create.ErrActionCreating, ResNameEventAPI, plan.Name.String(), err), err.Error(), ) return } if out == nil || out.Api == nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionCreating, ResNameEventApi, plan.Name.String(), nil), + create.ProblemStandardMessage(names.AppSync, create.ErrActionCreating, ResNameEventAPI, plan.Name.String(), nil), errors.New("empty output").Error(), ) return @@ -292,10 +292,10 @@ func (r *resourceEventApi) Create(ctx context.Context, req resource.CreateReques } createTimeout := r.CreateTimeout(ctx, plan.Timeouts) - _, err = waitEventApiCreated(ctx, conn, plan.ApiId.ValueString(), createTimeout) + _, err = waitEventAPICreated(ctx, conn, plan.ApiId.ValueString(), createTimeout) if err != nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionWaitingForCreation, ResNameEventApi, plan.Name.String(), err), + create.ProblemStandardMessage(names.AppSync, create.ErrActionWaitingForCreation, ResNameEventAPI, plan.Name.String(), err), err.Error(), ) return @@ -304,10 +304,10 @@ func (r *resourceEventApi) Create(ctx context.Context, req resource.CreateReques resp.Diagnostics.Append(resp.State.Set(ctx, plan)...) } -func (r *resourceEventApi) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { +func (r *resourceEventAPI) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { conn := r.Meta().AppSyncClient(ctx) - var state resourceEventApiModel + var state resourceEventAPIModel resp.Diagnostics.Append(req.State.Get(ctx, &state)...) if resp.Diagnostics.HasError() { return @@ -315,7 +315,7 @@ func (r *resourceEventApi) Read(ctx context.Context, req resource.ReadRequest, r apiId := state.ApiId.ValueString() - out, err := findEventApiByID(ctx, conn, apiId) + out, err := findEventAPIByID(ctx, conn, apiId) if tfresource.NotFound(err) { resp.Diagnostics.Append(fwdiag.NewResourceNotFoundWarningDiagnostic(err)) resp.State.RemoveResource(ctx) @@ -323,7 +323,7 @@ func (r *resourceEventApi) Read(ctx context.Context, req resource.ReadRequest, r } if err != nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionReading, ResNameEventApi, state.ApiId.String(), err), + create.ProblemStandardMessage(names.AppSync, create.ErrActionReading, ResNameEventAPI, state.ApiId.String(), err), err.Error(), ) return @@ -337,10 +337,10 @@ func (r *resourceEventApi) Read(ctx context.Context, req resource.ReadRequest, r resp.Diagnostics.Append(resp.State.Set(ctx, &state)...) } -func (r *resourceEventApi) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { +func (r *resourceEventAPI) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { conn := r.Meta().AppSyncClient(ctx) - var plan, state resourceEventApiModel + var plan, state resourceEventAPIModel resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) resp.Diagnostics.Append(req.State.Get(ctx, &state)...) if resp.Diagnostics.HasError() { @@ -365,14 +365,14 @@ func (r *resourceEventApi) Update(ctx context.Context, req resource.UpdateReques out, err := conn.UpdateApi(ctx, &input) if err != nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionUpdating, ResNameEventApi, plan.ApiId.String(), err), + create.ProblemStandardMessage(names.AppSync, create.ErrActionUpdating, ResNameEventAPI, plan.ApiId.String(), err), err.Error(), ) return } if out == nil || out.Api == nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionUpdating, ResNameEventApi, plan.ApiId.String(), nil), + create.ProblemStandardMessage(names.AppSync, create.ErrActionUpdating, ResNameEventAPI, plan.ApiId.String(), nil), errors.New("empty output").Error(), ) return @@ -387,10 +387,10 @@ func (r *resourceEventApi) Update(ctx context.Context, req resource.UpdateReques resp.Diagnostics.Append(resp.State.Set(ctx, &plan)...) } -func (r *resourceEventApi) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { +func (r *resourceEventAPI) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { conn := r.Meta().AppSyncClient(ctx) - var state resourceEventApiModel + var state resourceEventAPIModel resp.Diagnostics.Append(req.State.Get(ctx, &state)...) if resp.Diagnostics.HasError() { return @@ -407,24 +407,24 @@ func (r *resourceEventApi) Delete(ctx context.Context, req resource.DeleteReques } resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionDeleting, ResNameEventApi, state.ApiId.String(), err), + create.ProblemStandardMessage(names.AppSync, create.ErrActionDeleting, ResNameEventAPI, state.ApiId.String(), err), err.Error(), ) return } deleteTimeout := r.DeleteTimeout(ctx, state.Timeouts) - _, err = waitEventApiDeleted(ctx, conn, state.ApiId.ValueString(), deleteTimeout) + _, err = waitEventAPIDeleted(ctx, conn, state.ApiId.ValueString(), deleteTimeout) if err != nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionWaitingForDeletion, ResNameEventApi, state.ApiId.String(), err), + create.ProblemStandardMessage(names.AppSync, create.ErrActionWaitingForDeletion, ResNameEventAPI, state.ApiId.String(), err), err.Error(), ) return } } -func (r *resourceEventApi) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { +func (r *resourceEventAPI) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { resource.ImportStatePassthroughID(ctx, path.Root("id"), req, resp) } @@ -433,11 +433,11 @@ const ( statusNormal = "Normal" ) -func waitEventApiCreated(ctx context.Context, conn *appsync.Client, id string, timeout time.Duration) (*awstypes.Api, error) { +func waitEventAPICreated(ctx context.Context, conn *appsync.Client, id string, timeout time.Duration) (*awstypes.Api, error) { stateConf := &retry.StateChangeConf{ Pending: []string{}, Target: []string{statusNormal}, - Refresh: statusEventApi(ctx, conn, id), + Refresh: statusEventAPI(ctx, conn, id), Timeout: timeout, NotFoundChecks: 20, ContinuousTargetOccurence: 2, @@ -445,9 +445,9 @@ func waitEventApiCreated(ctx context.Context, conn *appsync.Client, id string, t outputRaw, err := stateConf.WaitForStateContext(ctx) if err != nil { - fmt.Printf("[DEBUG] waitEventApiCreated: Wait failed with error: %v\n", err) + fmt.Printf("[DEBUG] waitEventAPICreated: Wait failed with error: %v\n", err) } else { - fmt.Printf("[DEBUG] waitEventApiCreated: Wait completed successfully for API: %s\n", id) + fmt.Printf("[DEBUG] waitEventAPICreated: Wait completed successfully for API: %s\n", id) } if out, ok := outputRaw.(*awstypes.Api); ok { @@ -457,20 +457,20 @@ func waitEventApiCreated(ctx context.Context, conn *appsync.Client, id string, t return nil, err } -func waitEventApiDeleted(ctx context.Context, conn *appsync.Client, id string, timeout time.Duration) (*awstypes.Api, error) { - fmt.Printf("[DEBUG] waitEventApiDeleted: Starting wait for API deletion: %s\n", id) +func waitEventAPIDeleted(ctx context.Context, conn *appsync.Client, id string, timeout time.Duration) (*awstypes.Api, error) { + fmt.Printf("[DEBUG] waitEventAPIDeleted: Starting wait for API deletion: %s\n", id) stateConf := &retry.StateChangeConf{ Pending: []string{statusDeleting, statusNormal}, Target: []string{}, - Refresh: statusEventApi(ctx, conn, id), + Refresh: statusEventAPI(ctx, conn, id), Timeout: timeout, } outputRaw, err := stateConf.WaitForStateContext(ctx) if err != nil { - fmt.Printf("[DEBUG] waitEventApiDeleted: Wait failed with error: %v\n", err) + fmt.Printf("[DEBUG] waitEventAPIDeleted: Wait failed with error: %v\n", err) } else { - fmt.Printf("[DEBUG] waitEventApiDeleted: Wait completed successfully for API: %s\n", id) + fmt.Printf("[DEBUG] waitEventAPIDeleted: Wait completed successfully for API: %s\n", id) } if out, ok := outputRaw.(*awstypes.Api); ok { @@ -480,9 +480,9 @@ func waitEventApiDeleted(ctx context.Context, conn *appsync.Client, id string, t return nil, err } -func statusEventApi(ctx context.Context, conn *appsync.Client, id string) retry.StateRefreshFunc { +func statusEventAPI(ctx context.Context, conn *appsync.Client, id string) retry.StateRefreshFunc { return func() (any, string, error) { - out, err := findEventApiByID(ctx, conn, id) + out, err := findEventAPIByID(ctx, conn, id) if tfresource.NotFound(err) { return nil, "", nil } @@ -495,7 +495,7 @@ func statusEventApi(ctx context.Context, conn *appsync.Client, id string) retry. } } -func findEventApiByID(ctx context.Context, conn *appsync.Client, id string) (*awstypes.Api, error) { +func findEventAPIByID(ctx context.Context, conn *appsync.Client, id string) (*awstypes.Api, error) { input := appsync.GetApiInput{ ApiId: aws.String(id), } @@ -518,7 +518,7 @@ func findEventApiByID(ctx context.Context, conn *appsync.Client, id string) (*aw return out.Api, nil } -type resourceEventApiModel struct { +type resourceEventAPIModel struct { framework.WithRegionModel ApiArn types.String `tfsdk:"arn"` ApiId types.String `tfsdk:"id"` diff --git a/internal/service/appsync/event_api_test.go b/internal/service/appsync/event_api_test.go index a2065fb7a732..ffe01c6ba8ab 100644 --- a/internal/service/appsync/event_api_test.go +++ b/internal/service/appsync/event_api_test.go @@ -59,7 +59,7 @@ import ( // resource name. // // Acceptance test access AWS and cost money to run. -func TestAccAppSyncEventApi_basic(t *testing.T) { +func TestAccAppSyncEventAPI_basic(t *testing.T) { ctx := acctest.Context(t) if testing.Short() { t.Skip("skipping long-running test in short mode") @@ -77,12 +77,12 @@ func TestAccAppSyncEventApi_basic(t *testing.T) { }, ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckEventApiDestroy(ctx), + CheckDestroy: testAccCheckEventAPIDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccEventApiConfig_basic(rName), + Config: testAccEventAPIConfig_basic(rName), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventApiExists(ctx, resourceName, &eventapi), + testAccCheckEventAPIExists(ctx, resourceName, &eventapi), resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), resource.TestCheckResourceAttrSet(resourceName, "api_id"), resource.TestCheckResourceAttrSet(resourceName, "created"), @@ -100,7 +100,7 @@ func TestAccAppSyncEventApi_basic(t *testing.T) { }) } -func TestAccAppSyncEventApi_disappears(t *testing.T) { +func TestAccAppSyncEventAPI_disappears(t *testing.T) { ctx := acctest.Context(t) if testing.Short() { t.Skip("skipping long-running test in short mode") @@ -118,13 +118,13 @@ func TestAccAppSyncEventApi_disappears(t *testing.T) { }, ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckEventApiDestroy(ctx), + CheckDestroy: testAccCheckEventAPIDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccEventApiConfig_basic(rName), + Config: testAccEventAPIConfig_basic(rName), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventApiExists(ctx, resourceName, &eventapi), - acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfappsync.ResourceEventApi, resourceName), + testAccCheckEventAPIExists(ctx, resourceName, &eventapi), + acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfappsync.ResourceEventAPI, resourceName), ), ExpectNonEmptyPlan: true, }, @@ -132,7 +132,7 @@ func TestAccAppSyncEventApi_disappears(t *testing.T) { }) } -func TestAccAppSyncEventApi_eventConfigComprehensive(t *testing.T) { +func TestAccAppSyncEventAPI_eventConfigComprehensive(t *testing.T) { ctx := acctest.Context(t) if testing.Short() { t.Skip("skipping long-running test in short mode") @@ -150,12 +150,12 @@ func TestAccAppSyncEventApi_eventConfigComprehensive(t *testing.T) { }, ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckEventApiDestroy(ctx), + CheckDestroy: testAccCheckEventAPIDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccEventApiConfig_eventConfigComprehensive(rName), + Config: testAccEventAPIConfig_eventConfigComprehensive(rName), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventApiExists(ctx, resourceName, &eventapi), + testAccCheckEventAPIExists(ctx, resourceName, &eventapi), resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), @@ -204,7 +204,7 @@ func TestAccAppSyncEventApi_eventConfigComprehensive(t *testing.T) { }) } -func TestAccAppSyncEventApi_tags(t *testing.T) { +func TestAccAppSyncEventAPI_tags(t *testing.T) { ctx := acctest.Context(t) if testing.Short() { t.Skip("skipping long-running test in short mode") @@ -222,12 +222,12 @@ func TestAccAppSyncEventApi_tags(t *testing.T) { }, ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckEventApiDestroy(ctx), + CheckDestroy: testAccCheckEventAPIDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccEventApiConfig_tags1(rName, "key1", "value1"), + Config: testAccEventAPIConfig_tags1(rName, "key1", "value1"), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventApiExists(ctx, resourceName, &eventapi), + testAccCheckEventAPIExists(ctx, resourceName, &eventapi), resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "1"), resource.TestCheckResourceAttr(resourceName, "tags.key1", "value1"), resource.TestCheckResourceAttr(resourceName, acctest.CtTagsAllPercent, "1"), @@ -240,9 +240,9 @@ func TestAccAppSyncEventApi_tags(t *testing.T) { ImportStateVerify: true, }, { - Config: testAccEventApiConfig_tags2(rName, "key1", "value1updated", "key2", "value2"), + Config: testAccEventAPIConfig_tags2(rName, "key1", "value1updated", "key2", "value2"), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventApiExists(ctx, resourceName, &eventapi), + testAccCheckEventAPIExists(ctx, resourceName, &eventapi), resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "2"), resource.TestCheckResourceAttr(resourceName, "tags.key1", "value1updated"), resource.TestCheckResourceAttr(resourceName, "tags.key2", "value2"), @@ -252,9 +252,9 @@ func TestAccAppSyncEventApi_tags(t *testing.T) { ), }, { - Config: testAccEventApiConfig_tags1(rName, "key2", "value2"), + Config: testAccEventAPIConfig_tags1(rName, "key2", "value2"), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventApiExists(ctx, resourceName, &eventapi), + testAccCheckEventAPIExists(ctx, resourceName, &eventapi), resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "1"), resource.TestCheckResourceAttr(resourceName, "tags.key2", "value2"), resource.TestCheckResourceAttr(resourceName, acctest.CtTagsAllPercent, "1"), @@ -265,7 +265,7 @@ func TestAccAppSyncEventApi_tags(t *testing.T) { }) } -func TestAccAppSyncEventApi_update(t *testing.T) { +func TestAccAppSyncEventAPI_update(t *testing.T) { ctx := acctest.Context(t) if testing.Short() { t.Skip("skipping long-running test in short mode") @@ -284,12 +284,12 @@ func TestAccAppSyncEventApi_update(t *testing.T) { }, ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckEventApiDestroy(ctx), + CheckDestroy: testAccCheckEventAPIDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccEventApiConfig_eventConfigComprehensive(rName), + Config: testAccEventAPIConfig_eventConfigComprehensive(rName), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventApiExists(ctx, resourceName, &eventapi), + testAccCheckEventAPIExists(ctx, resourceName, &eventapi), resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), @@ -297,9 +297,9 @@ func TestAccAppSyncEventApi_update(t *testing.T) { ), }, { - Config: testAccEventApiConfig_eventConfigComprehensive(rNameUpdated), + Config: testAccEventAPIConfig_eventConfigComprehensive(rNameUpdated), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventApiExists(ctx, resourceName, &eventapi), + testAccCheckEventAPIExists(ctx, resourceName, &eventapi), resource.TestCheckResourceAttr(resourceName, names.AttrName, rNameUpdated), resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), @@ -315,7 +315,7 @@ func TestAccAppSyncEventApi_update(t *testing.T) { }) } -func testAccCheckEventApiDestroy(ctx context.Context) resource.TestCheckFunc { +func testAccCheckEventAPIDestroy(ctx context.Context) resource.TestCheckFunc { return func(s *terraform.State) error { conn := acctest.Provider.Meta().(*conns.AWSClient).AppSyncClient(ctx) @@ -324,37 +324,37 @@ func testAccCheckEventApiDestroy(ctx context.Context) resource.TestCheckFunc { continue } - _, err := tfappsync.FindEventApiByID(ctx, conn, rs.Primary.ID) + _, err := tfappsync.FindEventAPIByID(ctx, conn, rs.Primary.ID) if tfresource.NotFound(err) { return nil } if err != nil { - return create.Error(names.AppSync, create.ErrActionCheckingDestroyed, tfappsync.ResNameEventApi, rs.Primary.ID, err) + return create.Error(names.AppSync, create.ErrActionCheckingDestroyed, tfappsync.ResNameEventAPI, rs.Primary.ID, err) } - return create.Error(names.AppSync, create.ErrActionCheckingDestroyed, tfappsync.ResNameEventApi, rs.Primary.ID, errors.New("not destroyed")) + return create.Error(names.AppSync, create.ErrActionCheckingDestroyed, tfappsync.ResNameEventAPI, rs.Primary.ID, errors.New("not destroyed")) } return nil } } -func testAccCheckEventApiExists(ctx context.Context, name string, eventapi *awstypes.Api) resource.TestCheckFunc { +func testAccCheckEventAPIExists(ctx context.Context, name string, eventapi *awstypes.Api) resource.TestCheckFunc { return func(s *terraform.State) error { rs, ok := s.RootModule().Resources[name] if !ok { - return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameEventApi, name, errors.New("not found")) + return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameEventAPI, name, errors.New("not found")) } if rs.Primary.ID == "" { - return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameEventApi, name, errors.New("not set")) + return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameEventAPI, name, errors.New("not set")) } conn := acctest.Provider.Meta().(*conns.AWSClient).AppSyncClient(ctx) - resp, err := tfappsync.FindEventApiByID(ctx, conn, rs.Primary.ID) + resp, err := tfappsync.FindEventAPIByID(ctx, conn, rs.Primary.ID) if err != nil { - return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameEventApi, rs.Primary.ID, err) + return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameEventAPI, rs.Primary.ID, err) } *eventapi = *resp @@ -363,7 +363,7 @@ func testAccCheckEventApiExists(ctx context.Context, name string, eventapi *awst } } -func testAccEventApiConfig_basic(rName string) string { +func testAccEventAPIConfig_basic(rName string) string { return fmt.Sprintf(` resource "aws_appsync_event_api" "test" { name = %[1]q @@ -371,7 +371,7 @@ resource "aws_appsync_event_api" "test" { `, rName) } -func testAccEventApiConfig_eventConfigComprehensive(rName string) string { +func testAccEventAPIConfig_eventConfigComprehensive(rName string) string { return fmt.Sprintf(` resource "aws_cognito_user_pool" "test" { name = %[1]q @@ -527,7 +527,7 @@ data "aws_region" "current" {} `, rName) } -func testAccEventApiConfig_tags1(rName, tagKey1, tagValue1 string) string { +func testAccEventAPIConfig_tags1(rName, tagKey1, tagValue1 string) string { return fmt.Sprintf(` resource "aws_appsync_event_api" "test" { name = %[1]q @@ -539,7 +539,7 @@ resource "aws_appsync_event_api" "test" { `, rName, tagKey1, tagValue1) } -func testAccEventApiConfig_tags2(rName, tagKey1, tagValue1, tagKey2, tagValue2 string) string { +func testAccEventAPIConfig_tags2(rName, tagKey1, tagValue1, tagKey2, tagValue2 string) string { return fmt.Sprintf(` resource "aws_appsync_event_api" "test" { name = %[1]q diff --git a/internal/service/appsync/exports_test.go b/internal/service/appsync/exports_test.go index f4c61b134c4f..9945fe8fe8b7 100644 --- a/internal/service/appsync/exports_test.go +++ b/internal/service/appsync/exports_test.go @@ -10,7 +10,7 @@ var ( ResourceDataSource = resourceDataSource ResourceDomainName = resourceDomainName ResourceDomainNameAPIAssociation = resourceDomainNameAPIAssociation - ResourceEventApi = newEventApiResource + ResourceEventAPI = newEventAPIResource ResourceFunction = resourceFunction ResourceGraphQLAPI = resourceGraphQLAPI ResourceResolver = resourceResolver @@ -23,7 +23,7 @@ var ( FindDataSourceByTwoPartKey = findDataSourceByTwoPartKey FindDomainNameAPIAssociationByID = findDomainNameAPIAssociationByID FindDomainNameByID = findDomainNameByID - FindEventApiByID = findEventApiByID + FindEventAPIByID = findEventAPIByID FindFunctionByTwoPartKey = findFunctionByTwoPartKey FindGraphQLAPIByID = findGraphQLAPIByID FindResolverByThreePartKey = findResolverByThreePartKey diff --git a/internal/service/appsync/service_package_gen.go b/internal/service/appsync/service_package_gen.go index 97e46d33c61b..ea2dd46e9d4c 100644 --- a/internal/service/appsync/service_package_gen.go +++ b/internal/service/appsync/service_package_gen.go @@ -25,7 +25,7 @@ func (p *servicePackage) FrameworkDataSources(ctx context.Context) []*inttypes.S func (p *servicePackage) FrameworkResources(ctx context.Context) []*inttypes.ServicePackageFrameworkResource { return []*inttypes.ServicePackageFrameworkResource{ { - Factory: newEventApiResource, + Factory: newEventAPIResource, TypeName: "aws_appsync_event_api", Name: "Event API", Region: unique.Make(inttypes.ResourceRegionDefault()), From 5c076b708e593066ca4842725f1ff88bd990341a Mon Sep 17 00:00:00 2001 From: ThomasZalewski Date: Sat, 19 Jul 2025 02:03:39 -0700 Subject: [PATCH 0019/1301] smarterr errors --- internal/service/appsync/event_api.go | 89 ++++++++++----------------- 1 file changed, 33 insertions(+), 56 deletions(-) diff --git a/internal/service/appsync/event_api.go b/internal/service/appsync/event_api.go index 12df39f80d7f..861cc6c6eab6 100644 --- a/internal/service/appsync/event_api.go +++ b/internal/service/appsync/event_api.go @@ -9,6 +9,7 @@ import ( "fmt" "time" + "github.com/YakDriver/smarterr" "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/service/appsync" awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" @@ -25,12 +26,12 @@ import ( "github.com/hashicorp/terraform-plugin-framework/schema/validator" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" - "github.com/hashicorp/terraform-provider-aws/internal/create" "github.com/hashicorp/terraform-provider-aws/internal/errs" "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" "github.com/hashicorp/terraform-provider-aws/internal/framework" "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" + "github.com/hashicorp/terraform-provider-aws/internal/smerr" tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" @@ -257,13 +258,13 @@ func (r *resourceEventAPI) Create(ctx context.Context, req resource.CreateReques conn := r.Meta().AppSyncClient(ctx) var plan resourceEventAPIModel - resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + smerr.EnrichAppend(ctx, &resp.Diagnostics, req.Plan.Get(ctx, &plan)) if resp.Diagnostics.HasError() { return } var input appsync.CreateApiInput - resp.Diagnostics.Append(flex.Expand(ctx, plan, &input)...) + smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Expand(ctx, plan, &input)) if resp.Diagnostics.HasError() { return } @@ -272,21 +273,15 @@ func (r *resourceEventAPI) Create(ctx context.Context, req resource.CreateReques out, err := conn.CreateApi(ctx, &input) if err != nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionCreating, ResNameEventAPI, plan.Name.String(), err), - err.Error(), - ) + smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, plan.Name.String()) return } if out == nil || out.Api == nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionCreating, ResNameEventAPI, plan.Name.String(), nil), - errors.New("empty output").Error(), - ) + smerr.AddError(ctx, &resp.Diagnostics, errors.New("empty output"), smerr.ID, plan.Name.String()) return } - resp.Diagnostics.Append(flex.Flatten(ctx, out.Api, &plan)...) + smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Flatten(ctx, out.Api, &plan), smerr.ID, plan.Name.String()) if resp.Diagnostics.HasError() { return } @@ -294,21 +289,18 @@ func (r *resourceEventAPI) Create(ctx context.Context, req resource.CreateReques createTimeout := r.CreateTimeout(ctx, plan.Timeouts) _, err = waitEventAPICreated(ctx, conn, plan.ApiId.ValueString(), createTimeout) if err != nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionWaitingForCreation, ResNameEventAPI, plan.Name.String(), err), - err.Error(), - ) + smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, plan.Name.String()) return } - resp.Diagnostics.Append(resp.State.Set(ctx, plan)...) + smerr.EnrichAppend(ctx, &resp.Diagnostics, resp.State.Set(ctx, plan), smerr.ID, plan.ApiId.String()) } func (r *resourceEventAPI) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { conn := r.Meta().AppSyncClient(ctx) var state resourceEventAPIModel - resp.Diagnostics.Append(req.State.Get(ctx, &state)...) + smerr.EnrichAppend(ctx, &resp.Diagnostics, req.State.Get(ctx, &state)) if resp.Diagnostics.HasError() { return } @@ -322,40 +314,37 @@ func (r *resourceEventAPI) Read(ctx context.Context, req resource.ReadRequest, r return } if err != nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionReading, ResNameEventAPI, state.ApiId.String(), err), - err.Error(), - ) + smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, state.ApiId.String()) return } - resp.Diagnostics.Append(flex.Flatten(ctx, out, &state)...) + smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Flatten(ctx, out, &state), smerr.ID, state.ApiId.String()) if resp.Diagnostics.HasError() { return } - resp.Diagnostics.Append(resp.State.Set(ctx, &state)...) + smerr.EnrichAppend(ctx, &resp.Diagnostics, resp.State.Set(ctx, &state), smerr.ID, state.ApiId.String()) } func (r *resourceEventAPI) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { conn := r.Meta().AppSyncClient(ctx) var plan, state resourceEventAPIModel - resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) - resp.Diagnostics.Append(req.State.Get(ctx, &state)...) + smerr.EnrichAppend(ctx, &resp.Diagnostics, req.Plan.Get(ctx, &plan)) + smerr.EnrichAppend(ctx, &resp.Diagnostics, req.State.Get(ctx, &state)) if resp.Diagnostics.HasError() { return } diff, d := flex.Diff(ctx, plan, state) - resp.Diagnostics.Append(d...) + smerr.EnrichAppend(ctx, &resp.Diagnostics, d, smerr.ID, plan.ApiId.String()) if resp.Diagnostics.HasError() { return } if diff.HasChanges() { var input appsync.UpdateApiInput - resp.Diagnostics.Append(flex.Expand(ctx, plan, &input)...) + smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Expand(ctx, plan, &input), smerr.ID, plan.ApiId.String()) if resp.Diagnostics.HasError() { return } @@ -364,34 +353,28 @@ func (r *resourceEventAPI) Update(ctx context.Context, req resource.UpdateReques out, err := conn.UpdateApi(ctx, &input) if err != nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionUpdating, ResNameEventAPI, plan.ApiId.String(), err), - err.Error(), - ) + smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, plan.ApiId.String()) return } if out == nil || out.Api == nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionUpdating, ResNameEventAPI, plan.ApiId.String(), nil), - errors.New("empty output").Error(), - ) + smerr.AddError(ctx, &resp.Diagnostics, errors.New("empty output"), smerr.ID, plan.ApiId.String()) return } - resp.Diagnostics.Append(flex.Flatten(ctx, out.Api, &plan)...) + smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Flatten(ctx, out.Api, &plan), smerr.ID, plan.ApiId.String()) if resp.Diagnostics.HasError() { return } } - resp.Diagnostics.Append(resp.State.Set(ctx, &plan)...) + smerr.EnrichAppend(ctx, &resp.Diagnostics, resp.State.Set(ctx, &plan), smerr.ID, plan.ApiId.String()) } func (r *resourceEventAPI) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { conn := r.Meta().AppSyncClient(ctx) var state resourceEventAPIModel - resp.Diagnostics.Append(req.State.Get(ctx, &state)...) + smerr.EnrichAppend(ctx, &resp.Diagnostics, req.State.Get(ctx, &state)) if resp.Diagnostics.HasError() { return } @@ -406,20 +389,14 @@ func (r *resourceEventAPI) Delete(ctx context.Context, req resource.DeleteReques return } - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionDeleting, ResNameEventAPI, state.ApiId.String(), err), - err.Error(), - ) + smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, state.ApiId.String()) return } deleteTimeout := r.DeleteTimeout(ctx, state.Timeouts) _, err = waitEventAPIDeleted(ctx, conn, state.ApiId.ValueString(), deleteTimeout) if err != nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionWaitingForDeletion, ResNameEventAPI, state.ApiId.String(), err), - err.Error(), - ) + smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, state.ApiId.String()) return } } @@ -451,10 +428,10 @@ func waitEventAPICreated(ctx context.Context, conn *appsync.Client, id string, t } if out, ok := outputRaw.(*awstypes.Api); ok { - return out, err + return out, smarterr.NewError(err) } - return nil, err + return nil, smarterr.NewError(err) } func waitEventAPIDeleted(ctx context.Context, conn *appsync.Client, id string, timeout time.Duration) (*awstypes.Api, error) { @@ -474,10 +451,10 @@ func waitEventAPIDeleted(ctx context.Context, conn *appsync.Client, id string, t } if out, ok := outputRaw.(*awstypes.Api); ok { - return out, err + return out, smarterr.NewError(err) } - return nil, err + return nil, smarterr.NewError(err) } func statusEventAPI(ctx context.Context, conn *appsync.Client, id string) retry.StateRefreshFunc { @@ -488,7 +465,7 @@ func statusEventAPI(ctx context.Context, conn *appsync.Client, id string) retry. } if err != nil { - return nil, "", err + return nil, "", smarterr.NewError(err) } return out, statusNormal, nil @@ -503,16 +480,16 @@ func findEventAPIByID(ctx context.Context, conn *appsync.Client, id string) (*aw out, err := conn.GetApi(ctx, &input) if err != nil { if errs.IsA[*awstypes.NotFoundException](err) { - return nil, &retry.NotFoundError{ + return nil, smarterr.NewError(&retry.NotFoundError{ LastError: err, LastRequest: &input, - } + }) } - return nil, err + return nil, smarterr.NewError(err) } if out == nil || out.Api == nil { - return nil, tfresource.NewEmptyResultError(&input) + return nil, smarterr.NewError(tfresource.NewEmptyResultError(&input)) } return out.Api, nil From e5ac8d9420c7fc505e98c1078d18311b4db10e06 Mon Sep 17 00:00:00 2001 From: ThomasZalewski Date: Mon, 21 Jul 2025 08:45:54 -0700 Subject: [PATCH 0020/1301] tags support --- internal/service/appsync/event_api.go | 1 + .../appsync/event_api_identity_gen_test.go | 85 ++++++++ .../service/appsync/service_package_gen.go | 3 + .../testdata/EventAPI/basic/main_gen.tf | 19 +- .../EventAPI/basic_v5.100.0/main_gen.tf | 165 ++++++++++++++++ .../EventAPI/basic_v6.0.0/main_gen.tf | 165 ++++++++++++++++ .../EventAPI/region_overide/main_gen.tf | 11 -- .../EventAPI/region_override/main_gen.tf | 37 ++-- .../testdata/EventAPI/tags/main_gen.tf | 187 ++++++++++++++++++ .../EventAPI/tags/tags_computed1/main_gen.tf | 175 ++++++++++++++++ .../EventAPI/tags/tags_ignore/main_gen.tf | 185 +++++++++++++++++ .../appsync/testdata/tmpl/event_api_tags.gtpl | 31 ++- 12 files changed, 1002 insertions(+), 62 deletions(-) create mode 100644 internal/service/appsync/testdata/EventAPI/basic_v5.100.0/main_gen.tf create mode 100644 internal/service/appsync/testdata/EventAPI/basic_v6.0.0/main_gen.tf delete mode 100644 internal/service/appsync/testdata/EventAPI/region_overide/main_gen.tf create mode 100644 internal/service/appsync/testdata/EventAPI/tags/main_gen.tf create mode 100644 internal/service/appsync/testdata/EventAPI/tags/tags_computed1/main_gen.tf create mode 100644 internal/service/appsync/testdata/EventAPI/tags/tags_ignore/main_gen.tf diff --git a/internal/service/appsync/event_api.go b/internal/service/appsync/event_api.go index 861cc6c6eab6..d508df8a4a7c 100644 --- a/internal/service/appsync/event_api.go +++ b/internal/service/appsync/event_api.go @@ -38,6 +38,7 @@ import ( ) // @FrameworkResource("aws_appsync_event_api", name="Event API") +// @Tags(identifierAttribute="id") // @IdentityAttribute("id") // @Testing(importStateIdAttribute="id") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/appsync/types;awstypes;awstypes.Api") diff --git a/internal/service/appsync/event_api_identity_gen_test.go b/internal/service/appsync/event_api_identity_gen_test.go index 8eee21f74f27..c7fb5a85feef 100644 --- a/internal/service/appsync/event_api_identity_gen_test.go +++ b/internal/service/appsync/event_api_identity_gen_test.go @@ -16,6 +16,7 @@ import ( "github.com/hashicorp/terraform-plugin-testing/tfversion" "github.com/hashicorp/terraform-provider-aws/internal/acctest" tfknownvalue "github.com/hashicorp/terraform-provider-aws/internal/acctest/knownvalue" + tfstatecheck "github.com/hashicorp/terraform-provider-aws/internal/acctest/statecheck" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -194,3 +195,87 @@ func TestAccAppSyncEventAPI_Identity_RegionOverride(t *testing.T) { }, }) } + +func TestAccAppSyncEventAPI_Identity_ExistingResource(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.Api + resourceName := "aws_appsync_event_api.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckEventAPIDestroy(ctx), + Steps: []resource.TestStep{ + // Step 1: Create pre-Identity + { + ConfigDirectory: config.StaticDirectory("testdata/EventAPI/basic_v5.100.0/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckEventAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + tfstatecheck.ExpectNoIdentity(resourceName), + }, + }, + + // Step 2: v6.0 Identity set on refresh + { + ConfigDirectory: config.StaticDirectory("testdata/EventAPI/basic_v6.0.0/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckEventAPIExists(ctx, resourceName, &v), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.Region()), + names.AttrID: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), + }, + }, + + // Step 3: Current version + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/EventAPI/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.Region()), + names.AttrID: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), + }, + }, + }, + }) +} diff --git a/internal/service/appsync/service_package_gen.go b/internal/service/appsync/service_package_gen.go index ea2dd46e9d4c..274c1a90bc48 100644 --- a/internal/service/appsync/service_package_gen.go +++ b/internal/service/appsync/service_package_gen.go @@ -28,6 +28,9 @@ func (p *servicePackage) FrameworkResources(ctx context.Context) []*inttypes.Ser Factory: newEventAPIResource, TypeName: "aws_appsync_event_api", Name: "Event API", + Tags: unique.Make(inttypes.ServicePackageResourceTags{ + IdentifierAttribute: names.AttrID, + }), Region: unique.Make(inttypes.ResourceRegionDefault()), Identity: inttypes.RegionalSingleParameterIdentity(names.AttrID), Import: inttypes.FrameworkImport{ diff --git a/internal/service/appsync/testdata/EventAPI/basic/main_gen.tf b/internal/service/appsync/testdata/EventAPI/basic/main_gen.tf index 2f93319b9cc1..119c9278705a 100644 --- a/internal/service/appsync/testdata/EventAPI/basic/main_gen.tf +++ b/internal/service/appsync/testdata/EventAPI/basic/main_gen.tf @@ -2,11 +2,11 @@ # SPDX-License-Identifier: MPL-2.0 resource "aws_cognito_user_pool" "test" { - name = var.name + name = var.rName } resource "aws_iam_role" "lambda" { - name = var.name + name = var.rName assume_role_policy = jsonencode({ Version = "2012-10-17" @@ -35,14 +35,14 @@ data "aws_iam_policy_document" "lambda_basic" { } resource "aws_iam_role_policy" "lambda_basic" { - name = var.name + name = var.rName role = aws_iam_role.lambda.id policy = data.aws_iam_policy_document.lambda_basic.json } resource "aws_lambda_function" "test" { filename = "test-fixtures/lambdatest.zip" - function_name = var.name + function_name = var.rName role = aws_iam_role.lambda.arn handler = "index.handler" runtime = "nodejs18.x" @@ -59,7 +59,7 @@ resource "aws_lambda_permission" "appsync_invoke" { } resource "aws_iam_role" "cloudwatch" { - name = var.name + name = var.rName assume_role_policy = jsonencode({ Version = "2012-10-17" @@ -88,13 +88,13 @@ data "aws_iam_policy_document" "cloudwatch_logs" { } resource "aws_iam_role_policy" "cloudwatch" { - name = var.name + name = var.rName role = aws_iam_role.cloudwatch.id policy = data.aws_iam_policy_document.cloudwatch_logs.json } resource "aws_appsync_event_api" "test" { - name = var.name + name = var.rName owner_contact = "test@example.com" event_config { @@ -153,8 +153,3 @@ variable "rName" { type = string nullable = false } -variable "rName" { - description = "Name for resource" - type = string - nullable = false -} diff --git a/internal/service/appsync/testdata/EventAPI/basic_v5.100.0/main_gen.tf b/internal/service/appsync/testdata/EventAPI/basic_v5.100.0/main_gen.tf new file mode 100644 index 000000000000..14ca74e19d7e --- /dev/null +++ b/internal/service/appsync/testdata/EventAPI/basic_v5.100.0/main_gen.tf @@ -0,0 +1,165 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_cognito_user_pool" "test" { + name = var.rName +} + +resource "aws_iam_role" "lambda" { + name = var.rName + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "lambda_basic" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "lambda_basic" { + name = var.rName + role = aws_iam_role.lambda.id + policy = data.aws_iam_policy_document.lambda_basic.json +} + +resource "aws_lambda_function" "test" { + filename = "test-fixtures/lambdatest.zip" + function_name = var.rName + role = aws_iam_role.lambda.arn + handler = "index.handler" + runtime = "nodejs18.x" + source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") + + depends_on = [aws_iam_role_policy.lambda_basic] +} + +resource "aws_lambda_permission" "appsync_invoke" { + statement_id = "AllowExecutionFromAppSync" + action = "lambda:InvokeFunction" + function_name = aws_lambda_function.test.function_name + principal = "appsync.amazonaws.com" +} + +resource "aws_iam_role" "cloudwatch" { + name = var.rName + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "appsync.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "cloudwatch_logs" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "cloudwatch" { + name = var.rName + role = aws_iam_role.cloudwatch.id + policy = data.aws_iam_policy_document.cloudwatch_logs.json +} + +resource "aws_appsync_event_api" "test" { + name = var.rName + owner_contact = "test@example.com" + + event_config { + auth_providers { + auth_type = "AMAZON_COGNITO_USER_POOLS" + cognito_config { + user_pool_id = aws_cognito_user_pool.test.id + aws_region = data.aws_region.current.name + } + } + + auth_providers { + auth_type = "AWS_LAMBDA" + lambda_authorizer_config { + authorizer_uri = aws_lambda_function.test.arn + authorizer_result_ttl_in_seconds = 300 + } + } + + auth_providers { + auth_type = "OPENID_CONNECT" + openid_connect_config { + issuer = "https://example.com" + client_id = "test-client-id" + } + } + + connection_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_publish_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_subscribe_auth_modes { + auth_type = "AWS_LAMBDA" + } + + log_config { + cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn + log_level = "ERROR" + } + } + + depends_on = [ + aws_lambda_permission.appsync_invoke, + aws_iam_role_policy.cloudwatch + ] +} + +data "aws_region" "current" {} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "5.100.0" + } + } +} + +provider "aws" {} diff --git a/internal/service/appsync/testdata/EventAPI/basic_v6.0.0/main_gen.tf b/internal/service/appsync/testdata/EventAPI/basic_v6.0.0/main_gen.tf new file mode 100644 index 000000000000..2f8c60b00b92 --- /dev/null +++ b/internal/service/appsync/testdata/EventAPI/basic_v6.0.0/main_gen.tf @@ -0,0 +1,165 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_cognito_user_pool" "test" { + name = var.rName +} + +resource "aws_iam_role" "lambda" { + name = var.rName + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "lambda_basic" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "lambda_basic" { + name = var.rName + role = aws_iam_role.lambda.id + policy = data.aws_iam_policy_document.lambda_basic.json +} + +resource "aws_lambda_function" "test" { + filename = "test-fixtures/lambdatest.zip" + function_name = var.rName + role = aws_iam_role.lambda.arn + handler = "index.handler" + runtime = "nodejs18.x" + source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") + + depends_on = [aws_iam_role_policy.lambda_basic] +} + +resource "aws_lambda_permission" "appsync_invoke" { + statement_id = "AllowExecutionFromAppSync" + action = "lambda:InvokeFunction" + function_name = aws_lambda_function.test.function_name + principal = "appsync.amazonaws.com" +} + +resource "aws_iam_role" "cloudwatch" { + name = var.rName + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "appsync.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "cloudwatch_logs" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "cloudwatch" { + name = var.rName + role = aws_iam_role.cloudwatch.id + policy = data.aws_iam_policy_document.cloudwatch_logs.json +} + +resource "aws_appsync_event_api" "test" { + name = var.rName + owner_contact = "test@example.com" + + event_config { + auth_providers { + auth_type = "AMAZON_COGNITO_USER_POOLS" + cognito_config { + user_pool_id = aws_cognito_user_pool.test.id + aws_region = data.aws_region.current.name + } + } + + auth_providers { + auth_type = "AWS_LAMBDA" + lambda_authorizer_config { + authorizer_uri = aws_lambda_function.test.arn + authorizer_result_ttl_in_seconds = 300 + } + } + + auth_providers { + auth_type = "OPENID_CONNECT" + openid_connect_config { + issuer = "https://example.com" + client_id = "test-client-id" + } + } + + connection_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_publish_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_subscribe_auth_modes { + auth_type = "AWS_LAMBDA" + } + + log_config { + cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn + log_level = "ERROR" + } + } + + depends_on = [ + aws_lambda_permission.appsync_invoke, + aws_iam_role_policy.cloudwatch + ] +} + +data "aws_region" "current" {} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "6.0.0" + } + } +} + +provider "aws" {} diff --git a/internal/service/appsync/testdata/EventAPI/region_overide/main_gen.tf b/internal/service/appsync/testdata/EventAPI/region_overide/main_gen.tf deleted file mode 100644 index 66fe562894a2..000000000000 --- a/internal/service/appsync/testdata/EventAPI/region_overide/main_gen.tf +++ /dev/null @@ -1,11 +0,0 @@ -variable "rName" { - description = "Name for resource" - type = string - nullable = false -} - -variable "region" { - description = "Region to deploy resource in" - type = string - nullable = false -} \ No newline at end of file diff --git a/internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf b/internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf index ffa00abbbb25..9134dbaf3154 100644 --- a/internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf +++ b/internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf @@ -2,15 +2,15 @@ # SPDX-License-Identifier: MPL-2.0 resource "aws_cognito_user_pool" "test" { - name = var.name region = var.region + name = var.rName } resource "aws_iam_role" "lambda" { - name = var.name region = var.region + name = var.rName assume_role_policy = jsonencode({ Version = "2012-10-17" @@ -39,39 +39,39 @@ data "aws_iam_policy_document" "lambda_basic" { } resource "aws_iam_role_policy" "lambda_basic" { - name = var.name - role = aws_iam_role.lambda.id - policy = data.aws_iam_policy_document.lambda_basic.json region = var.region + name = var.rName + role = aws_iam_role.lambda.id + policy = data.aws_iam_policy_document.lambda_basic.json } resource "aws_lambda_function" "test" { + region = var.region + filename = "test-fixtures/lambdatest.zip" - function_name = var.name + function_name = var.rName role = aws_iam_role.lambda.arn handler = "index.handler" runtime = "nodejs18.x" source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") depends_on = [aws_iam_role_policy.lambda_basic] - region = var.region - } resource "aws_lambda_permission" "appsync_invoke" { + region = var.region + statement_id = "AllowExecutionFromAppSync" action = "lambda:InvokeFunction" function_name = aws_lambda_function.test.function_name principal = "appsync.amazonaws.com" - region = var.region - } resource "aws_iam_role" "cloudwatch" { - name = var.name region = var.region + name = var.rName assume_role_policy = jsonencode({ Version = "2012-10-17" @@ -100,18 +100,18 @@ data "aws_iam_policy_document" "cloudwatch_logs" { } resource "aws_iam_role_policy" "cloudwatch" { - name = var.name - role = aws_iam_role.cloudwatch.id - policy = data.aws_iam_policy_document.cloudwatch_logs.json region = var.region + name = var.rName + role = aws_iam_role.cloudwatch.id + policy = data.aws_iam_policy_document.cloudwatch_logs.json } resource "aws_appsync_event_api" "test" { - name = var.name - owner_contact = "test@example.com" region = var.region + name = var.rName + owner_contact = "test@example.com" event_config { auth_providers { @@ -164,11 +164,6 @@ resource "aws_appsync_event_api" "test" { data "aws_region" "current" {} -variable "rName" { - description = "Name for resource" - type = string - nullable = false -} variable "rName" { description = "Name for resource" type = string diff --git a/internal/service/appsync/testdata/EventAPI/tags/main_gen.tf b/internal/service/appsync/testdata/EventAPI/tags/main_gen.tf new file mode 100644 index 000000000000..10d100cb649e --- /dev/null +++ b/internal/service/appsync/testdata/EventAPI/tags/main_gen.tf @@ -0,0 +1,187 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_cognito_user_pool" "test" { + + name = var.rName +} + +resource "aws_iam_role" "lambda" { + + name = var.rName + + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "lambda_basic" { + + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "lambda_basic" { + + name = var.rName + role = aws_iam_role.lambda.id + policy = data.aws_iam_policy_document.lambda_basic.json +} + +resource "aws_lambda_function" "test" { + + filename = "test-fixtures/lambdatest.zip" + function_name = var.rName + role = aws_iam_role.lambda.arn + handler = "index.handler" + runtime = "nodejs18.x" + source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") + + depends_on = [aws_iam_role_policy.lambda_basic] +} + +resource "aws_lambda_permission" "appsync_invoke" { + + statement_id = "AllowExecutionFromAppSync" + action = "lambda:InvokeFunction" + function_name = aws_lambda_function.test.function_name + principal = "appsync.amazonaws.com" +} + +resource "aws_iam_role" "cloudwatch" { + name = var.rName + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "appsync.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "cloudwatch_logs" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "cloudwatch" { + name = var.rName + role = aws_iam_role.cloudwatch.id + policy = data.aws_iam_policy_document.cloudwatch_logs.json +} + +resource "aws_appsync_event_api" "test" { + + name = var.rName + owner_contact = "test@example.com" + + + event_config { + auth_providers { + auth_type = "AMAZON_COGNITO_USER_POOLS" + cognito_config { + user_pool_id = aws_cognito_user_pool.test.id + aws_region = data.aws_region.current.name + } + } + + auth_providers { + auth_type = "AWS_LAMBDA" + lambda_authorizer_config { + authorizer_uri = aws_lambda_function.test.arn + authorizer_result_ttl_in_seconds = 300 + } + } + + auth_providers { + auth_type = "OPENID_CONNECT" + openid_connect_config { + issuer = "https://example.com" + client_id = "test-client-id" + } + } + + connection_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_publish_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_subscribe_auth_modes { + auth_type = "AWS_LAMBDA" + } + + log_config { + cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn + log_level = "ERROR" + } + } + + depends_on = [ + aws_lambda_permission.appsync_invoke, + aws_iam_role_policy.cloudwatch + ] + + tags = { + Name = var.rName + } +} + +variable "resource_tags" { + description = "Tags to set on resource. To specify no tags, set to `null`" + # Not setting a default, so that this must explicitly be set to `null` to specify no tags + type = map(string) + nullable = true +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "unknownTagKey" { + type = string + nullable = false +} + +variable "knownTagKey" { + type = string + nullable = false +} + +variable "knownTagValue" { + type = string + nullable = false +} \ No newline at end of file diff --git a/internal/service/appsync/testdata/EventAPI/tags/tags_computed1/main_gen.tf b/internal/service/appsync/testdata/EventAPI/tags/tags_computed1/main_gen.tf new file mode 100644 index 000000000000..779ad9b88091 --- /dev/null +++ b/internal/service/appsync/testdata/EventAPI/tags/tags_computed1/main_gen.tf @@ -0,0 +1,175 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_cognito_user_pool" "test" { + + name = var.rName +} + +resource "aws_iam_role" "lambda" { + + name = var.rName + + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "lambda_basic" { + + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "lambda_basic" { + + name = var.rName + role = aws_iam_role.lambda.id + policy = data.aws_iam_policy_document.lambda_basic.json +} + +resource "aws_lambda_function" "test" { + + filename = "test-fixtures/lambdatest.zip" + function_name = var.rName + role = aws_iam_role.lambda.arn + handler = "index.handler" + runtime = "nodejs18.x" + source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") + + depends_on = [aws_iam_role_policy.lambda_basic] +} + +resource "aws_lambda_permission" "appsync_invoke" { + + statement_id = "AllowExecutionFromAppSync" + action = "lambda:InvokeFunction" + function_name = aws_lambda_function.test.function_name + principal = "appsync.amazonaws.com" +} + +resource "aws_iam_role" "cloudwatch" { + name = var.rName + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "appsync.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "cloudwatch_logs" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "cloudwatch" { + name = var.rName + role = aws_iam_role.cloudwatch.id + policy = data.aws_iam_policy_document.cloudwatch_logs.json +} + +resource "aws_appsync_event_api" "test" { + + name = var.rName + owner_contact = "test@example.com" + + + event_config { + auth_providers { + auth_type = "AMAZON_COGNITO_USER_POOLS" + cognito_config { + user_pool_id = aws_cognito_user_pool.test.id + aws_region = data.aws_region.current.name + } + } + + auth_providers { + auth_type = "AWS_LAMBDA" + lambda_authorizer_config { + authorizer_uri = aws_lambda_function.test.arn + authorizer_result_ttl_in_seconds = 300 + } + } + + auth_providers { + auth_type = "OPENID_CONNECT" + openid_connect_config { + issuer = "https://example.com" + client_id = "test-client-id" + } + } + + connection_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_publish_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_subscribe_auth_modes { + auth_type = "AWS_LAMBDA" + } + + log_config { + cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn + log_level = "ERROR" + } + } + + depends_on = [ + aws_lambda_permission.appsync_invoke, + aws_iam_role_policy.cloudwatch + ] + + tags = { + (var.unknownTagKey) = null_resource.test.id + } +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "knownTagKey" { + type = string + nullable = false +} + +variable "knownTagValue" { + type = string + nullable = false +} \ No newline at end of file diff --git a/internal/service/appsync/testdata/EventAPI/tags/tags_ignore/main_gen.tf b/internal/service/appsync/testdata/EventAPI/tags/tags_ignore/main_gen.tf new file mode 100644 index 000000000000..47c39a5a27dc --- /dev/null +++ b/internal/service/appsync/testdata/EventAPI/tags/tags_ignore/main_gen.tf @@ -0,0 +1,185 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_cognito_user_pool" "test" { + + name = var.rName +} + +resource "aws_iam_role" "lambda" { + + name = var.rName + + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "lambda_basic" { + + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "lambda_basic" { + + name = var.rName + role = aws_iam_role.lambda.id + policy = data.aws_iam_policy_document.lambda_basic.json +} + +resource "aws_lambda_function" "test" { + + filename = "test-fixtures/lambdatest.zip" + function_name = var.rName + role = aws_iam_role.lambda.arn + handler = "index.handler" + runtime = "nodejs18.x" + source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") + + depends_on = [aws_iam_role_policy.lambda_basic] +} + +resource "aws_lambda_permission" "appsync_invoke" { + + statement_id = "AllowExecutionFromAppSync" + action = "lambda:InvokeFunction" + function_name = aws_lambda_function.test.function_name + principal = "appsync.amazonaws.com" +} + +resource "aws_iam_role" "cloudwatch" { + name = var.rName + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "appsync.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "cloudwatch_logs" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "cloudwatch" { + name = var.rName + role = aws_iam_role.cloudwatch.id + policy = data.aws_iam_policy_document.cloudwatch_logs.json +} + +resource "aws_appsync_event_api" "test" { + + name = var.rName + owner_contact = "test@example.com" + + + event_config { + auth_providers { + auth_type = "AMAZON_COGNITO_USER_POOLS" + cognito_config { + user_pool_id = aws_cognito_user_pool.test.id + aws_region = data.aws_region.current.name + } + } + + auth_providers { + auth_type = "AWS_LAMBDA" + lambda_authorizer_config { + authorizer_uri = aws_lambda_function.test.arn + authorizer_result_ttl_in_seconds = 300 + } + } + + auth_providers { + auth_type = "OPENID_CONNECT" + openid_connect_config { + issuer = "https://example.com" + client_id = "test-client-id" + } + } + + connection_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_publish_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_subscribe_auth_modes { + auth_type = "AWS_LAMBDA" + } + + log_config { + cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn + log_level = "ERROR" + } + } + + depends_on = [ + aws_lambda_permission.appsync_invoke, + aws_iam_role_policy.cloudwatch + ] + + tags = var.resource_tags +} + +variable "resource_tags" { + description = "Tags to set on resource. To specify no tags, set to `null`" + # Not setting a default, so that this must explicitly be set to `null` to specify no tags + type = map(string) + nullable = true +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "unknownTagKey" { + type = string + nullable = false +} + +variable "knownTagKey" { + type = string + nullable = false +} + +variable "knownTagValue" { + type = string + nullable = false +} \ No newline at end of file diff --git a/internal/service/appsync/testdata/tmpl/event_api_tags.gtpl b/internal/service/appsync/testdata/tmpl/event_api_tags.gtpl index 7e496ebd6e5a..44dc20bff8b9 100644 --- a/internal/service/appsync/testdata/tmpl/event_api_tags.gtpl +++ b/internal/service/appsync/testdata/tmpl/event_api_tags.gtpl @@ -1,11 +1,11 @@ resource "aws_cognito_user_pool" "test" { - name = var.name {{- template "region" }} + name = var.rName } resource "aws_iam_role" "lambda" { - name = var.name {{- template "region" }} + name = var.rName assume_role_policy = jsonencode({ Version = "2012-10-17" @@ -34,35 +34,35 @@ data "aws_iam_policy_document" "lambda_basic" { } resource "aws_iam_role_policy" "lambda_basic" { - name = var.name + {{- template "region" }} + name = var.rName role = aws_iam_role.lambda.id policy = data.aws_iam_policy_document.lambda_basic.json - {{- template "region" }} } resource "aws_lambda_function" "test" { + {{- template "region" }} filename = "test-fixtures/lambdatest.zip" - function_name = var.name + function_name = var.rName role = aws_iam_role.lambda.arn handler = "index.handler" runtime = "nodejs18.x" source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") depends_on = [aws_iam_role_policy.lambda_basic] - {{- template "region" }} } resource "aws_lambda_permission" "appsync_invoke" { + {{- template "region" }} statement_id = "AllowExecutionFromAppSync" action = "lambda:InvokeFunction" function_name = aws_lambda_function.test.function_name principal = "appsync.amazonaws.com" - {{- template "region" }} } resource "aws_iam_role" "cloudwatch" { - name = var.name {{- template "region" }} + name = var.rName assume_role_policy = jsonencode({ Version = "2012-10-17" @@ -91,16 +91,16 @@ data "aws_iam_policy_document" "cloudwatch_logs" { } resource "aws_iam_role_policy" "cloudwatch" { - name = var.name + {{- template "region" }} + name = var.rName role = aws_iam_role.cloudwatch.id policy = data.aws_iam_policy_document.cloudwatch_logs.json - {{- template "region" }} } resource "aws_appsync_event_api" "test" { - name = var.name - owner_contact = "test@example.com" {{- template "region" }} + name = var.rName + owner_contact = "test@example.com" event_config { auth_providers { @@ -149,12 +149,7 @@ resource "aws_appsync_event_api" "test" { aws_lambda_permission.appsync_invoke, aws_iam_role_policy.cloudwatch ] + {{- template "tags" . }} } data "aws_region" "current" {} - -variable "rName" { - description = "Name for resource" - type = string - nullable = false -} \ No newline at end of file From a63b3e74ebe88366b7d8ef23c868ec029283a048 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 22 Jul 2025 13:25:30 -0400 Subject: [PATCH 0021/1301] TestAccTimestreamInfluxDBDBInstance_upgradeV5_90_0: Plan with '-refresh=false'. --- .../timestreaminfluxdb/db_instance_test.go | 29 ++++--------------- 1 file changed, 5 insertions(+), 24 deletions(-) diff --git a/internal/service/timestreaminfluxdb/db_instance_test.go b/internal/service/timestreaminfluxdb/db_instance_test.go index 22c413b3a2db..563573c5ae8c 100644 --- a/internal/service/timestreaminfluxdb/db_instance_test.go +++ b/internal/service/timestreaminfluxdb/db_instance_test.go @@ -519,6 +519,11 @@ func TestAccTimestreamInfluxDBDBInstance_upgradeV5_90_0(t *testing.T) { }, ErrorCheck: acctest.ErrorCheck(t, names.TimestreamInfluxDBServiceID), CheckDestroy: testAccCheckDBInstanceDestroy(ctx), + AdditionalCLIOptions: &resource.AdditionalCLIOptions{ + Plan: resource.PlanOptions{ + NoRefresh: true, + }, + }, Steps: []resource.TestStep{ { ExternalProviders: map[string]resource.ExternalProvider{ @@ -543,30 +548,6 @@ func TestAccTimestreamInfluxDBDBInstance_upgradeV5_90_0(t *testing.T) { })), }, }, - { - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - Config: testAccDBInstanceConfig_basicV5_90_0(rName, rName), - Check: resource.ComposeTestCheckFunc( - testAccCheckDBInstanceExists(ctx, resourceName, &dbInstance), - ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - PostApplyPreRefresh: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - PostApplyPostRefresh: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - }, - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("network_type"), knownvalue.StringExact(string(awstypes.NetworkTypeIpv4))), - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ - "Name": knownvalue.StringExact(rName), - })), - }, - }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, Config: testAccDBInstanceConfig_basicV5_90_0(rName, rName+"-updated"), From ebfde20715701acee02ec07000b4c7b75e547399 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 22 Jul 2025 13:29:05 -0400 Subject: [PATCH 0022/1301] r/aws_timestreaminfluxdb_db_instance: Don't mark `network_type` as ForceNew if the value is not configured. --- .changelog/#####.txt | 3 +++ internal/service/timestreaminfluxdb/db_instance.go | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 .changelog/#####.txt diff --git a/.changelog/#####.txt b/.changelog/#####.txt new file mode 100644 index 000000000000..de5d2d6e470e --- /dev/null +++ b/.changelog/#####.txt @@ -0,0 +1,3 @@ +```release-note:bug +resource/aws_timestreaminfluxdb_db_instance: Don't mark `network_type` as [ForceNew](https://developer.hashicorp.com/terraform/plugin/sdkv2/schemas/schema-behaviors#forcenew) if the value is not configured. This fixes a problem with `terraform apply -refresh=false` after upgrade from `v5.90.0` and below +``` \ No newline at end of file diff --git a/internal/service/timestreaminfluxdb/db_instance.go b/internal/service/timestreaminfluxdb/db_instance.go index 185b45cace9a..dafb9182424e 100644 --- a/internal/service/timestreaminfluxdb/db_instance.go +++ b/internal/service/timestreaminfluxdb/db_instance.go @@ -183,7 +183,7 @@ func (r *dbInstanceResource) Schema(ctx context.Context, req resource.SchemaRequ Optional: true, Computed: true, PlanModifiers: []planmodifier.String{ - stringplanmodifier.RequiresReplace(), + stringplanmodifier.RequiresReplaceIfConfigured(), stringplanmodifier.UseStateForUnknown(), }, Description: `Specifies whether the networkType of the Timestream for InfluxDB instance is From cc6e90b05cdb0ad03153bdaf051e4dea7921563e Mon Sep 17 00:00:00 2001 From: ThomasZalewski Date: Tue, 22 Jul 2025 11:23:34 -0700 Subject: [PATCH 0023/1301] template identity fix --- internal/service/appsync/event_api_test.go | 169 +++------------- internal/service/appsync/generate.go | 1 + internal/service/appsync/graphql_api.go | 1 + .../service/appsync/service_package_gen.go | 3 - .../testdata/EventAPI/basic/main_gen.tf | 135 +------------ .../EventAPI/basic_v5.100.0/main_gen.tf | 135 +------------ .../EventAPI/basic_v6.0.0/main_gen.tf | 135 +------------ .../EventAPI/region_override/main_gen.tf | 149 +------------- .../testdata/EventAPI/tags/main_gen.tf | 170 ++-------------- .../EventAPI/tags/tags_computed1/main_gen.tf | 175 ----------------- .../EventAPI/tags/tags_ignore/main_gen.tf | 185 ------------------ .../appsync/testdata/tmpl/event_api_tags.gtpl | 142 +------------- 12 files changed, 67 insertions(+), 1333 deletions(-) delete mode 100644 internal/service/appsync/testdata/EventAPI/tags/tags_computed1/main_gen.tf delete mode 100644 internal/service/appsync/testdata/EventAPI/tags/tags_ignore/main_gen.tf diff --git a/internal/service/appsync/event_api_test.go b/internal/service/appsync/event_api_test.go index ffe01c6ba8ab..d8357be48b45 100644 --- a/internal/service/appsync/event_api_test.go +++ b/internal/service/appsync/event_api_test.go @@ -9,7 +9,6 @@ import ( "fmt" "testing" - "github.com/YakDriver/regexache" awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" @@ -23,83 +22,6 @@ import ( tfappsync "github.com/hashicorp/terraform-provider-aws/internal/service/appsync" ) -// TIP: File Structure. The basic outline for all test files should be as -// follows. Improve this resource's maintainability by following this -// outline. -// -// 1. Package declaration (add "_test" since this is a test file) -// 2. Imports -// 3. Unit tests -// 4. Basic test -// 5. Disappears test -// 6. All the other tests -// 7. Helper functions (exists, destroy, check, etc.) -// 8. Functions that return Terraform configurations - -// TIP: ==== UNIT TESTS ==== -// This is an example of a unit test. Its name is not prefixed with -// "TestAcc" like an acceptance test. -// -// Unlike acceptance tests, unit tests do not access AWS and are focused on a -// function (or method). Because of this, they are quick and cheap to run. -// -// In designing a resource's implementation, isolate complex bits from AWS bits -// so that they can be tested through a unit test. We encourage more unit tests -// in the provider. -// -// Cut and dry functions using well-used patterns, like typical flatteners and -// expanders, don't need unit testing. However, if they are complex or -// intricate, they should be unit tested. -// Unit tests would go here if needed - -// TIP: ==== ACCEPTANCE TESTS ==== -// This is an example of a basic acceptance test. This should test as much of -// standard functionality of the resource as possible, and test importing, if -// applicable. We prefix its name with "TestAcc", the service, and the -// resource name. -// -// Acceptance test access AWS and cost money to run. -func TestAccAppSyncEventAPI_basic(t *testing.T) { - ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - - var eventapi awstypes.Api - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resourceName := "aws_appsync_event_api.test" - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { - acctest.PreCheck(ctx, t) - acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) - testAccPreCheck(ctx, t) - }, - ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckEventAPIDestroy(ctx), - Steps: []resource.TestStep{ - { - Config: testAccEventAPIConfig_basic(rName), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventAPIExists(ctx, resourceName, &eventapi), - resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), - resource.TestCheckResourceAttrSet(resourceName, "api_id"), - resource.TestCheckResourceAttrSet(resourceName, "created"), - resource.TestCheckResourceAttrSet(resourceName, names.AttrARN), - acctest.MatchResourceAttrRegionalARN(ctx, resourceName, names.AttrARN, "appsync", regexache.MustCompile(`api/.+$`)), - resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "0"), - ), - }, - { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - }, - }, - }) -} - func TestAccAppSyncEventAPI_disappears(t *testing.T) { ctx := acctest.Context(t) if testing.Short() { @@ -124,6 +46,16 @@ func TestAccAppSyncEventAPI_disappears(t *testing.T) { Config: testAccEventAPIConfig_basic(rName), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckEventAPIExists(ctx, resourceName, &eventapi), + resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), + resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.0.auth_type", "API_KEY"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.0.auth_type", "API_KEY"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.0.auth_type", "API_KEY"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.0.auth_type", "API_KEY"), acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfappsync.ResourceEventAPI, resourceName), ), ExpectNonEmptyPlan: true, @@ -132,7 +64,7 @@ func TestAccAppSyncEventAPI_disappears(t *testing.T) { }) } -func TestAccAppSyncEventAPI_eventConfigComprehensive(t *testing.T) { +func TestAccAppSyncEventAPI_basic(t *testing.T) { ctx := acctest.Context(t) if testing.Short() { t.Skip("skipping long-running test in short mode") @@ -204,67 +136,6 @@ func TestAccAppSyncEventAPI_eventConfigComprehensive(t *testing.T) { }) } -func TestAccAppSyncEventAPI_tags(t *testing.T) { - ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - - var eventapi awstypes.Api - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resourceName := "aws_appsync_event_api.test" - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { - acctest.PreCheck(ctx, t) - acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) - testAccPreCheck(ctx, t) - }, - ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckEventAPIDestroy(ctx), - Steps: []resource.TestStep{ - { - Config: testAccEventAPIConfig_tags1(rName, "key1", "value1"), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventAPIExists(ctx, resourceName, &eventapi), - resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "1"), - resource.TestCheckResourceAttr(resourceName, "tags.key1", "value1"), - resource.TestCheckResourceAttr(resourceName, acctest.CtTagsAllPercent, "1"), - resource.TestCheckResourceAttr(resourceName, "tags_all.key1", "value1"), - ), - }, - { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - }, - { - Config: testAccEventAPIConfig_tags2(rName, "key1", "value1updated", "key2", "value2"), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventAPIExists(ctx, resourceName, &eventapi), - resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "2"), - resource.TestCheckResourceAttr(resourceName, "tags.key1", "value1updated"), - resource.TestCheckResourceAttr(resourceName, "tags.key2", "value2"), - resource.TestCheckResourceAttr(resourceName, acctest.CtTagsAllPercent, "2"), - resource.TestCheckResourceAttr(resourceName, "tags_all.key1", "value1updated"), - resource.TestCheckResourceAttr(resourceName, "tags_all.key2", "value2"), - ), - }, - { - Config: testAccEventAPIConfig_tags1(rName, "key2", "value2"), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventAPIExists(ctx, resourceName, &eventapi), - resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "1"), - resource.TestCheckResourceAttr(resourceName, "tags.key2", "value2"), - resource.TestCheckResourceAttr(resourceName, acctest.CtTagsAllPercent, "1"), - resource.TestCheckResourceAttr(resourceName, "tags_all.key2", "value2"), - ), - }, - }, - }) -} - func TestAccAppSyncEventAPI_update(t *testing.T) { ctx := acctest.Context(t) if testing.Short() { @@ -367,6 +238,24 @@ func testAccEventAPIConfig_basic(rName string) string { return fmt.Sprintf(` resource "aws_appsync_event_api" "test" { name = %[1]q + + event_config { + auth_providers { + auth_type = "API_KEY" + } + + connection_auth_modes { + auth_type = "API_KEY" + } + + default_publish_auth_modes { + auth_type = "API_KEY" + } + + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } } `, rName) } diff --git a/internal/service/appsync/generate.go b/internal/service/appsync/generate.go index b0f1b3824d27..d707f5833eda 100644 --- a/internal/service/appsync/generate.go +++ b/internal/service/appsync/generate.go @@ -4,6 +4,7 @@ //go:generate go run ../../generate/listpages/main.go -ListOps=ListApiKeys,ListDomainNames,ListGraphqlApis //go:generate go run ../../generate/tags/main.go -ListTags -ServiceTagsMap -UpdateTags -KVTValues //go:generate go run ../../generate/servicepackage/main.go +//go:generate go run ../../generate/tagstests/main.go //go:generate go run ../../generate/identitytests/main.go // ONLY generate directives and package declaration! Do not add anything else to this file. diff --git a/internal/service/appsync/graphql_api.go b/internal/service/appsync/graphql_api.go index 13c5eb06ed6d..98b164d16d85 100644 --- a/internal/service/appsync/graphql_api.go +++ b/internal/service/appsync/graphql_api.go @@ -34,6 +34,7 @@ const ( // @SDKResource("aws_appsync_graphql_api", name="GraphQL API") // @Tags(identifierAttribute="arn") +// @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/appsync/types;awstypes;awstypes.GraphqlApi") func resourceGraphQLAPI() *schema.Resource { validateAuthorizerResultTTLInSeconds := validation.IntBetween(0, 3600) diff --git a/internal/service/appsync/service_package_gen.go b/internal/service/appsync/service_package_gen.go index 274c1a90bc48..59af60fcb49c 100644 --- a/internal/service/appsync/service_package_gen.go +++ b/internal/service/appsync/service_package_gen.go @@ -33,9 +33,6 @@ func (p *servicePackage) FrameworkResources(ctx context.Context) []*inttypes.Ser }), Region: unique.Make(inttypes.ResourceRegionDefault()), Identity: inttypes.RegionalSingleParameterIdentity(names.AttrID), - Import: inttypes.FrameworkImport{ - WrappedImport: true, - }, }, { Factory: newSourceAPIAssociationResource, diff --git a/internal/service/appsync/testdata/EventAPI/basic/main_gen.tf b/internal/service/appsync/testdata/EventAPI/basic/main_gen.tf index 119c9278705a..fe88bf39d641 100644 --- a/internal/service/appsync/testdata/EventAPI/basic/main_gen.tf +++ b/internal/service/appsync/testdata/EventAPI/basic/main_gen.tf @@ -1,153 +1,28 @@ # Copyright (c) HashiCorp, Inc. # SPDX-License-Identifier: MPL-2.0 -resource "aws_cognito_user_pool" "test" { - name = var.rName -} - -resource "aws_iam_role" "lambda" { - name = var.rName - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "lambda.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "lambda_basic" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "lambda_basic" { - name = var.rName - role = aws_iam_role.lambda.id - policy = data.aws_iam_policy_document.lambda_basic.json -} - -resource "aws_lambda_function" "test" { - filename = "test-fixtures/lambdatest.zip" - function_name = var.rName - role = aws_iam_role.lambda.arn - handler = "index.handler" - runtime = "nodejs18.x" - source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") - - depends_on = [aws_iam_role_policy.lambda_basic] -} - -resource "aws_lambda_permission" "appsync_invoke" { - statement_id = "AllowExecutionFromAppSync" - action = "lambda:InvokeFunction" - function_name = aws_lambda_function.test.function_name - principal = "appsync.amazonaws.com" -} - -resource "aws_iam_role" "cloudwatch" { - name = var.rName - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "appsync.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "cloudwatch_logs" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "cloudwatch" { - name = var.rName - role = aws_iam_role.cloudwatch.id - policy = data.aws_iam_policy_document.cloudwatch_logs.json -} - resource "aws_appsync_event_api" "test" { - name = var.rName - owner_contact = "test@example.com" + name = var.rName event_config { auth_providers { - auth_type = "AMAZON_COGNITO_USER_POOLS" - cognito_config { - user_pool_id = aws_cognito_user_pool.test.id - aws_region = data.aws_region.current.name - } - } - - auth_providers { - auth_type = "AWS_LAMBDA" - lambda_authorizer_config { - authorizer_uri = aws_lambda_function.test.arn - authorizer_result_ttl_in_seconds = 300 - } - } - - auth_providers { - auth_type = "OPENID_CONNECT" - openid_connect_config { - issuer = "https://example.com" - client_id = "test-client-id" - } + auth_type = "API_KEY" } connection_auth_modes { - auth_type = "AWS_LAMBDA" + auth_type = "API_KEY" } default_publish_auth_modes { - auth_type = "AWS_LAMBDA" + auth_type = "API_KEY" } default_subscribe_auth_modes { - auth_type = "AWS_LAMBDA" - } - - log_config { - cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn - log_level = "ERROR" + auth_type = "API_KEY" } } - - depends_on = [ - aws_lambda_permission.appsync_invoke, - aws_iam_role_policy.cloudwatch - ] } -data "aws_region" "current" {} - variable "rName" { description = "Name for resource" type = string diff --git a/internal/service/appsync/testdata/EventAPI/basic_v5.100.0/main_gen.tf b/internal/service/appsync/testdata/EventAPI/basic_v5.100.0/main_gen.tf index 14ca74e19d7e..a554107050df 100644 --- a/internal/service/appsync/testdata/EventAPI/basic_v5.100.0/main_gen.tf +++ b/internal/service/appsync/testdata/EventAPI/basic_v5.100.0/main_gen.tf @@ -1,153 +1,28 @@ # Copyright (c) HashiCorp, Inc. # SPDX-License-Identifier: MPL-2.0 -resource "aws_cognito_user_pool" "test" { - name = var.rName -} - -resource "aws_iam_role" "lambda" { - name = var.rName - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "lambda.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "lambda_basic" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "lambda_basic" { - name = var.rName - role = aws_iam_role.lambda.id - policy = data.aws_iam_policy_document.lambda_basic.json -} - -resource "aws_lambda_function" "test" { - filename = "test-fixtures/lambdatest.zip" - function_name = var.rName - role = aws_iam_role.lambda.arn - handler = "index.handler" - runtime = "nodejs18.x" - source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") - - depends_on = [aws_iam_role_policy.lambda_basic] -} - -resource "aws_lambda_permission" "appsync_invoke" { - statement_id = "AllowExecutionFromAppSync" - action = "lambda:InvokeFunction" - function_name = aws_lambda_function.test.function_name - principal = "appsync.amazonaws.com" -} - -resource "aws_iam_role" "cloudwatch" { - name = var.rName - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "appsync.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "cloudwatch_logs" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "cloudwatch" { - name = var.rName - role = aws_iam_role.cloudwatch.id - policy = data.aws_iam_policy_document.cloudwatch_logs.json -} - resource "aws_appsync_event_api" "test" { - name = var.rName - owner_contact = "test@example.com" + name = var.rName event_config { auth_providers { - auth_type = "AMAZON_COGNITO_USER_POOLS" - cognito_config { - user_pool_id = aws_cognito_user_pool.test.id - aws_region = data.aws_region.current.name - } - } - - auth_providers { - auth_type = "AWS_LAMBDA" - lambda_authorizer_config { - authorizer_uri = aws_lambda_function.test.arn - authorizer_result_ttl_in_seconds = 300 - } - } - - auth_providers { - auth_type = "OPENID_CONNECT" - openid_connect_config { - issuer = "https://example.com" - client_id = "test-client-id" - } + auth_type = "API_KEY" } connection_auth_modes { - auth_type = "AWS_LAMBDA" + auth_type = "API_KEY" } default_publish_auth_modes { - auth_type = "AWS_LAMBDA" + auth_type = "API_KEY" } default_subscribe_auth_modes { - auth_type = "AWS_LAMBDA" - } - - log_config { - cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn - log_level = "ERROR" + auth_type = "API_KEY" } } - - depends_on = [ - aws_lambda_permission.appsync_invoke, - aws_iam_role_policy.cloudwatch - ] } -data "aws_region" "current" {} - variable "rName" { description = "Name for resource" type = string diff --git a/internal/service/appsync/testdata/EventAPI/basic_v6.0.0/main_gen.tf b/internal/service/appsync/testdata/EventAPI/basic_v6.0.0/main_gen.tf index 2f8c60b00b92..44f698c5ca22 100644 --- a/internal/service/appsync/testdata/EventAPI/basic_v6.0.0/main_gen.tf +++ b/internal/service/appsync/testdata/EventAPI/basic_v6.0.0/main_gen.tf @@ -1,153 +1,28 @@ # Copyright (c) HashiCorp, Inc. # SPDX-License-Identifier: MPL-2.0 -resource "aws_cognito_user_pool" "test" { - name = var.rName -} - -resource "aws_iam_role" "lambda" { - name = var.rName - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "lambda.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "lambda_basic" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "lambda_basic" { - name = var.rName - role = aws_iam_role.lambda.id - policy = data.aws_iam_policy_document.lambda_basic.json -} - -resource "aws_lambda_function" "test" { - filename = "test-fixtures/lambdatest.zip" - function_name = var.rName - role = aws_iam_role.lambda.arn - handler = "index.handler" - runtime = "nodejs18.x" - source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") - - depends_on = [aws_iam_role_policy.lambda_basic] -} - -resource "aws_lambda_permission" "appsync_invoke" { - statement_id = "AllowExecutionFromAppSync" - action = "lambda:InvokeFunction" - function_name = aws_lambda_function.test.function_name - principal = "appsync.amazonaws.com" -} - -resource "aws_iam_role" "cloudwatch" { - name = var.rName - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "appsync.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "cloudwatch_logs" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "cloudwatch" { - name = var.rName - role = aws_iam_role.cloudwatch.id - policy = data.aws_iam_policy_document.cloudwatch_logs.json -} - resource "aws_appsync_event_api" "test" { - name = var.rName - owner_contact = "test@example.com" + name = var.rName event_config { auth_providers { - auth_type = "AMAZON_COGNITO_USER_POOLS" - cognito_config { - user_pool_id = aws_cognito_user_pool.test.id - aws_region = data.aws_region.current.name - } - } - - auth_providers { - auth_type = "AWS_LAMBDA" - lambda_authorizer_config { - authorizer_uri = aws_lambda_function.test.arn - authorizer_result_ttl_in_seconds = 300 - } - } - - auth_providers { - auth_type = "OPENID_CONNECT" - openid_connect_config { - issuer = "https://example.com" - client_id = "test-client-id" - } + auth_type = "API_KEY" } connection_auth_modes { - auth_type = "AWS_LAMBDA" + auth_type = "API_KEY" } default_publish_auth_modes { - auth_type = "AWS_LAMBDA" + auth_type = "API_KEY" } default_subscribe_auth_modes { - auth_type = "AWS_LAMBDA" - } - - log_config { - cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn - log_level = "ERROR" + auth_type = "API_KEY" } } - - depends_on = [ - aws_lambda_permission.appsync_invoke, - aws_iam_role_policy.cloudwatch - ] } -data "aws_region" "current" {} - variable "rName" { description = "Name for resource" type = string diff --git a/internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf b/internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf index 9134dbaf3154..2a5a3859bf5e 100644 --- a/internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf +++ b/internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf @@ -1,169 +1,30 @@ # Copyright (c) HashiCorp, Inc. # SPDX-License-Identifier: MPL-2.0 -resource "aws_cognito_user_pool" "test" { - region = var.region - - name = var.rName -} - -resource "aws_iam_role" "lambda" { - region = var.region - - name = var.rName - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "lambda.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "lambda_basic" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "lambda_basic" { - region = var.region - - name = var.rName - role = aws_iam_role.lambda.id - policy = data.aws_iam_policy_document.lambda_basic.json -} - -resource "aws_lambda_function" "test" { - region = var.region - - filename = "test-fixtures/lambdatest.zip" - function_name = var.rName - role = aws_iam_role.lambda.arn - handler = "index.handler" - runtime = "nodejs18.x" - source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") - - depends_on = [aws_iam_role_policy.lambda_basic] -} - -resource "aws_lambda_permission" "appsync_invoke" { - region = var.region - - statement_id = "AllowExecutionFromAppSync" - action = "lambda:InvokeFunction" - function_name = aws_lambda_function.test.function_name - principal = "appsync.amazonaws.com" -} - -resource "aws_iam_role" "cloudwatch" { - region = var.region - - name = var.rName - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "appsync.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "cloudwatch_logs" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "cloudwatch" { - region = var.region - - name = var.rName - role = aws_iam_role.cloudwatch.id - policy = data.aws_iam_policy_document.cloudwatch_logs.json -} - resource "aws_appsync_event_api" "test" { region = var.region - name = var.rName - owner_contact = "test@example.com" + name = var.rName event_config { auth_providers { - auth_type = "AMAZON_COGNITO_USER_POOLS" - cognito_config { - user_pool_id = aws_cognito_user_pool.test.id - aws_region = data.aws_region.current.name - } - } - - auth_providers { - auth_type = "AWS_LAMBDA" - lambda_authorizer_config { - authorizer_uri = aws_lambda_function.test.arn - authorizer_result_ttl_in_seconds = 300 - } - } - - auth_providers { - auth_type = "OPENID_CONNECT" - openid_connect_config { - issuer = "https://example.com" - client_id = "test-client-id" - } + auth_type = "API_KEY" } connection_auth_modes { - auth_type = "AWS_LAMBDA" + auth_type = "API_KEY" } default_publish_auth_modes { - auth_type = "AWS_LAMBDA" + auth_type = "API_KEY" } default_subscribe_auth_modes { - auth_type = "AWS_LAMBDA" - } - - log_config { - cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn - log_level = "ERROR" + auth_type = "API_KEY" } } - - depends_on = [ - aws_lambda_permission.appsync_invoke, - aws_iam_role_policy.cloudwatch - ] } -data "aws_region" "current" {} - variable "rName" { description = "Name for resource" type = string diff --git a/internal/service/appsync/testdata/EventAPI/tags/main_gen.tf b/internal/service/appsync/testdata/EventAPI/tags/main_gen.tf index 10d100cb649e..736858d6161e 100644 --- a/internal/service/appsync/testdata/EventAPI/tags/main_gen.tf +++ b/internal/service/appsync/testdata/EventAPI/tags/main_gen.tf @@ -1,168 +1,28 @@ # Copyright (c) HashiCorp, Inc. # SPDX-License-Identifier: MPL-2.0 -resource "aws_cognito_user_pool" "test" { - - name = var.rName -} - -resource "aws_iam_role" "lambda" { - - name = var.rName - - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "lambda.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "lambda_basic" { - - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "lambda_basic" { - - name = var.rName - role = aws_iam_role.lambda.id - policy = data.aws_iam_policy_document.lambda_basic.json -} - -resource "aws_lambda_function" "test" { - - filename = "test-fixtures/lambdatest.zip" - function_name = var.rName - role = aws_iam_role.lambda.arn - handler = "index.handler" - runtime = "nodejs18.x" - source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") - - depends_on = [aws_iam_role_policy.lambda_basic] -} - -resource "aws_lambda_permission" "appsync_invoke" { - - statement_id = "AllowExecutionFromAppSync" - action = "lambda:InvokeFunction" - function_name = aws_lambda_function.test.function_name - principal = "appsync.amazonaws.com" -} - -resource "aws_iam_role" "cloudwatch" { - name = var.rName - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "appsync.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "cloudwatch_logs" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "cloudwatch" { - name = var.rName - role = aws_iam_role.cloudwatch.id - policy = data.aws_iam_policy_document.cloudwatch_logs.json -} - resource "aws_appsync_event_api" "test" { - - name = var.rName - owner_contact = "test@example.com" - + name = var.rName event_config { auth_providers { - auth_type = "AMAZON_COGNITO_USER_POOLS" - cognito_config { - user_pool_id = aws_cognito_user_pool.test.id - aws_region = data.aws_region.current.name - } - } - - auth_providers { - auth_type = "AWS_LAMBDA" - lambda_authorizer_config { - authorizer_uri = aws_lambda_function.test.arn - authorizer_result_ttl_in_seconds = 300 - } - } - - auth_providers { - auth_type = "OPENID_CONNECT" - openid_connect_config { - issuer = "https://example.com" - client_id = "test-client-id" - } + auth_type = "API_KEY" } connection_auth_modes { - auth_type = "AWS_LAMBDA" + auth_type = "API_KEY" } default_publish_auth_modes { - auth_type = "AWS_LAMBDA" + auth_type = "API_KEY" } default_subscribe_auth_modes { - auth_type = "AWS_LAMBDA" + auth_type = "API_KEY" } - - log_config { - cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn - log_level = "ERROR" - } - } - - depends_on = [ - aws_lambda_permission.appsync_invoke, - aws_iam_role_policy.cloudwatch - ] - - tags = { - Name = var.rName } -} -variable "resource_tags" { - description = "Tags to set on resource. To specify no tags, set to `null`" - # Not setting a default, so that this must explicitly be set to `null` to specify no tags - type = map(string) - nullable = true + tags = var.resource_tags } variable "rName" { @@ -171,17 +31,9 @@ variable "rName" { nullable = false } -variable "unknownTagKey" { - type = string - nullable = false -} - -variable "knownTagKey" { - type = string - nullable = false +variable "resource_tags" { + description = "Tags to set on resource. To specify no tags, set to `null`" + # Not setting a default, so that this must explicitly be set to `null` to specify no tags + type = map(string) + nullable = true } - -variable "knownTagValue" { - type = string - nullable = false -} \ No newline at end of file diff --git a/internal/service/appsync/testdata/EventAPI/tags/tags_computed1/main_gen.tf b/internal/service/appsync/testdata/EventAPI/tags/tags_computed1/main_gen.tf deleted file mode 100644 index 779ad9b88091..000000000000 --- a/internal/service/appsync/testdata/EventAPI/tags/tags_computed1/main_gen.tf +++ /dev/null @@ -1,175 +0,0 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: MPL-2.0 - -resource "aws_cognito_user_pool" "test" { - - name = var.rName -} - -resource "aws_iam_role" "lambda" { - - name = var.rName - - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "lambda.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "lambda_basic" { - - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "lambda_basic" { - - name = var.rName - role = aws_iam_role.lambda.id - policy = data.aws_iam_policy_document.lambda_basic.json -} - -resource "aws_lambda_function" "test" { - - filename = "test-fixtures/lambdatest.zip" - function_name = var.rName - role = aws_iam_role.lambda.arn - handler = "index.handler" - runtime = "nodejs18.x" - source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") - - depends_on = [aws_iam_role_policy.lambda_basic] -} - -resource "aws_lambda_permission" "appsync_invoke" { - - statement_id = "AllowExecutionFromAppSync" - action = "lambda:InvokeFunction" - function_name = aws_lambda_function.test.function_name - principal = "appsync.amazonaws.com" -} - -resource "aws_iam_role" "cloudwatch" { - name = var.rName - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "appsync.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "cloudwatch_logs" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "cloudwatch" { - name = var.rName - role = aws_iam_role.cloudwatch.id - policy = data.aws_iam_policy_document.cloudwatch_logs.json -} - -resource "aws_appsync_event_api" "test" { - - name = var.rName - owner_contact = "test@example.com" - - - event_config { - auth_providers { - auth_type = "AMAZON_COGNITO_USER_POOLS" - cognito_config { - user_pool_id = aws_cognito_user_pool.test.id - aws_region = data.aws_region.current.name - } - } - - auth_providers { - auth_type = "AWS_LAMBDA" - lambda_authorizer_config { - authorizer_uri = aws_lambda_function.test.arn - authorizer_result_ttl_in_seconds = 300 - } - } - - auth_providers { - auth_type = "OPENID_CONNECT" - openid_connect_config { - issuer = "https://example.com" - client_id = "test-client-id" - } - } - - connection_auth_modes { - auth_type = "AWS_LAMBDA" - } - - default_publish_auth_modes { - auth_type = "AWS_LAMBDA" - } - - default_subscribe_auth_modes { - auth_type = "AWS_LAMBDA" - } - - log_config { - cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn - log_level = "ERROR" - } - } - - depends_on = [ - aws_lambda_permission.appsync_invoke, - aws_iam_role_policy.cloudwatch - ] - - tags = { - (var.unknownTagKey) = null_resource.test.id - } -} - -variable "rName" { - description = "Name for resource" - type = string - nullable = false -} - -variable "knownTagKey" { - type = string - nullable = false -} - -variable "knownTagValue" { - type = string - nullable = false -} \ No newline at end of file diff --git a/internal/service/appsync/testdata/EventAPI/tags/tags_ignore/main_gen.tf b/internal/service/appsync/testdata/EventAPI/tags/tags_ignore/main_gen.tf deleted file mode 100644 index 47c39a5a27dc..000000000000 --- a/internal/service/appsync/testdata/EventAPI/tags/tags_ignore/main_gen.tf +++ /dev/null @@ -1,185 +0,0 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: MPL-2.0 - -resource "aws_cognito_user_pool" "test" { - - name = var.rName -} - -resource "aws_iam_role" "lambda" { - - name = var.rName - - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "lambda.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "lambda_basic" { - - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "lambda_basic" { - - name = var.rName - role = aws_iam_role.lambda.id - policy = data.aws_iam_policy_document.lambda_basic.json -} - -resource "aws_lambda_function" "test" { - - filename = "test-fixtures/lambdatest.zip" - function_name = var.rName - role = aws_iam_role.lambda.arn - handler = "index.handler" - runtime = "nodejs18.x" - source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") - - depends_on = [aws_iam_role_policy.lambda_basic] -} - -resource "aws_lambda_permission" "appsync_invoke" { - - statement_id = "AllowExecutionFromAppSync" - action = "lambda:InvokeFunction" - function_name = aws_lambda_function.test.function_name - principal = "appsync.amazonaws.com" -} - -resource "aws_iam_role" "cloudwatch" { - name = var.rName - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "appsync.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "cloudwatch_logs" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "cloudwatch" { - name = var.rName - role = aws_iam_role.cloudwatch.id - policy = data.aws_iam_policy_document.cloudwatch_logs.json -} - -resource "aws_appsync_event_api" "test" { - - name = var.rName - owner_contact = "test@example.com" - - - event_config { - auth_providers { - auth_type = "AMAZON_COGNITO_USER_POOLS" - cognito_config { - user_pool_id = aws_cognito_user_pool.test.id - aws_region = data.aws_region.current.name - } - } - - auth_providers { - auth_type = "AWS_LAMBDA" - lambda_authorizer_config { - authorizer_uri = aws_lambda_function.test.arn - authorizer_result_ttl_in_seconds = 300 - } - } - - auth_providers { - auth_type = "OPENID_CONNECT" - openid_connect_config { - issuer = "https://example.com" - client_id = "test-client-id" - } - } - - connection_auth_modes { - auth_type = "AWS_LAMBDA" - } - - default_publish_auth_modes { - auth_type = "AWS_LAMBDA" - } - - default_subscribe_auth_modes { - auth_type = "AWS_LAMBDA" - } - - log_config { - cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn - log_level = "ERROR" - } - } - - depends_on = [ - aws_lambda_permission.appsync_invoke, - aws_iam_role_policy.cloudwatch - ] - - tags = var.resource_tags -} - -variable "resource_tags" { - description = "Tags to set on resource. To specify no tags, set to `null`" - # Not setting a default, so that this must explicitly be set to `null` to specify no tags - type = map(string) - nullable = true -} - -variable "rName" { - description = "Name for resource" - type = string - nullable = false -} - -variable "unknownTagKey" { - type = string - nullable = false -} - -variable "knownTagKey" { - type = string - nullable = false -} - -variable "knownTagValue" { - type = string - nullable = false -} \ No newline at end of file diff --git a/internal/service/appsync/testdata/tmpl/event_api_tags.gtpl b/internal/service/appsync/testdata/tmpl/event_api_tags.gtpl index 44dc20bff8b9..b2c9f2957f16 100644 --- a/internal/service/appsync/testdata/tmpl/event_api_tags.gtpl +++ b/internal/service/appsync/testdata/tmpl/event_api_tags.gtpl @@ -1,155 +1,23 @@ -resource "aws_cognito_user_pool" "test" { - {{- template "region" }} - name = var.rName -} - -resource "aws_iam_role" "lambda" { - {{- template "region" }} - name = var.rName - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "lambda.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "lambda_basic" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "lambda_basic" { - {{- template "region" }} - name = var.rName - role = aws_iam_role.lambda.id - policy = data.aws_iam_policy_document.lambda_basic.json -} - -resource "aws_lambda_function" "test" { - {{- template "region" }} - filename = "test-fixtures/lambdatest.zip" - function_name = var.rName - role = aws_iam_role.lambda.arn - handler = "index.handler" - runtime = "nodejs18.x" - source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") - - depends_on = [aws_iam_role_policy.lambda_basic] -} - -resource "aws_lambda_permission" "appsync_invoke" { - {{- template "region" }} - statement_id = "AllowExecutionFromAppSync" - action = "lambda:InvokeFunction" - function_name = aws_lambda_function.test.function_name - principal = "appsync.amazonaws.com" -} - -resource "aws_iam_role" "cloudwatch" { - {{- template "region" }} - name = var.rName - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "appsync.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "cloudwatch_logs" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "cloudwatch" { - {{- template "region" }} - name = var.rName - role = aws_iam_role.cloudwatch.id - policy = data.aws_iam_policy_document.cloudwatch_logs.json -} - resource "aws_appsync_event_api" "test" { {{- template "region" }} - name = var.rName - owner_contact = "test@example.com" + name = var.rName event_config { auth_providers { - auth_type = "AMAZON_COGNITO_USER_POOLS" - cognito_config { - user_pool_id = aws_cognito_user_pool.test.id - aws_region = data.aws_region.current.name - } - } - - auth_providers { - auth_type = "AWS_LAMBDA" - lambda_authorizer_config { - authorizer_uri = aws_lambda_function.test.arn - authorizer_result_ttl_in_seconds = 300 - } - } - - auth_providers { - auth_type = "OPENID_CONNECT" - openid_connect_config { - issuer = "https://example.com" - client_id = "test-client-id" - } + auth_type = "API_KEY" } connection_auth_modes { - auth_type = "AWS_LAMBDA" + auth_type = "API_KEY" } default_publish_auth_modes { - auth_type = "AWS_LAMBDA" + auth_type = "API_KEY" } default_subscribe_auth_modes { - auth_type = "AWS_LAMBDA" - } - - log_config { - cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn - log_level = "ERROR" + auth_type = "API_KEY" } } - - depends_on = [ - aws_lambda_permission.appsync_invoke, - aws_iam_role_policy.cloudwatch - ] {{- template "tags" . }} } - -data "aws_region" "current" {} From 2bf8ff1c5f2e97777b06ae3ce285aab28d48e9c1 Mon Sep 17 00:00:00 2001 From: ThomasZalewski Date: Wed, 23 Jul 2025 14:46:53 -0700 Subject: [PATCH 0024/1301] tags updates --- internal/service/appsync/event_api.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/appsync/event_api.go b/internal/service/appsync/event_api.go index d508df8a4a7c..042e031c8acc 100644 --- a/internal/service/appsync/event_api.go +++ b/internal/service/appsync/event_api.go @@ -38,7 +38,7 @@ import ( ) // @FrameworkResource("aws_appsync_event_api", name="Event API") -// @Tags(identifierAttribute="id") +// @Tags(identifierAttribute="arn") // @IdentityAttribute("id") // @Testing(importStateIdAttribute="id") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/appsync/types;awstypes;awstypes.Api") From 027351ebf2a15ff250411bf460511c77b25b4a5d Mon Sep 17 00:00:00 2001 From: ThomasZalewski Date: Wed, 23 Jul 2025 18:16:31 -0700 Subject: [PATCH 0025/1301] fixed identity --- internal/service/appsync/event_api.go | 1 + internal/service/appsync/event_api_test.go | 82 +++++++++---------- .../service/appsync/service_package_gen.go | 2 +- 3 files changed, 42 insertions(+), 43 deletions(-) diff --git a/internal/service/appsync/event_api.go b/internal/service/appsync/event_api.go index 042e031c8acc..bbee3febece9 100644 --- a/internal/service/appsync/event_api.go +++ b/internal/service/appsync/event_api.go @@ -307,6 +307,7 @@ func (r *resourceEventAPI) Read(ctx context.Context, req resource.ReadRequest, r } apiId := state.ApiId.ValueString() + fmt.Println("hello", apiId) out, err := findEventAPIByID(ctx, conn, apiId) if tfresource.NotFound(err) { diff --git a/internal/service/appsync/event_api_test.go b/internal/service/appsync/event_api_test.go index d8357be48b45..abf9c5c50570 100644 --- a/internal/service/appsync/event_api_test.go +++ b/internal/service/appsync/event_api_test.go @@ -22,48 +22,6 @@ import ( tfappsync "github.com/hashicorp/terraform-provider-aws/internal/service/appsync" ) -func TestAccAppSyncEventAPI_disappears(t *testing.T) { - ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - - var eventapi awstypes.Api - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resourceName := "aws_appsync_event_api.test" - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { - acctest.PreCheck(ctx, t) - acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) - testAccPreCheck(ctx, t) - }, - ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckEventAPIDestroy(ctx), - Steps: []resource.TestStep{ - { - Config: testAccEventAPIConfig_basic(rName), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventAPIExists(ctx, resourceName, &eventapi), - resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), - resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.0.auth_type", "API_KEY"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.0.auth_type", "API_KEY"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.0.auth_type", "API_KEY"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.0.auth_type", "API_KEY"), - acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfappsync.ResourceEventAPI, resourceName), - ), - ExpectNonEmptyPlan: true, - }, - }, - }) -} - func TestAccAppSyncEventAPI_basic(t *testing.T) { ctx := acctest.Context(t) if testing.Short() { @@ -185,7 +143,47 @@ func TestAccAppSyncEventAPI_update(t *testing.T) { }, }) } +func TestAccAppSyncEventAPI_disappears(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + var eventapi awstypes.Api + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_appsync_event_api.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) + testAccPreCheck(ctx, t) + }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckEventAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccEventAPIConfig_basic(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckEventAPIExists(ctx, resourceName, &eventapi), + resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), + resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.0.auth_type", "API_KEY"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.0.auth_type", "API_KEY"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.0.auth_type", "API_KEY"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.0.auth_type", "API_KEY"), + acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfappsync.ResourceEventAPI, resourceName), + ), + ExpectNonEmptyPlan: true, + }, + }, + }) +} func testAccCheckEventAPIDestroy(ctx context.Context) resource.TestCheckFunc { return func(s *terraform.State) error { conn := acctest.Provider.Meta().(*conns.AWSClient).AppSyncClient(ctx) diff --git a/internal/service/appsync/service_package_gen.go b/internal/service/appsync/service_package_gen.go index 59af60fcb49c..0814d3a4faf0 100644 --- a/internal/service/appsync/service_package_gen.go +++ b/internal/service/appsync/service_package_gen.go @@ -29,7 +29,7 @@ func (p *servicePackage) FrameworkResources(ctx context.Context) []*inttypes.Ser TypeName: "aws_appsync_event_api", Name: "Event API", Tags: unique.Make(inttypes.ServicePackageResourceTags{ - IdentifierAttribute: names.AttrID, + IdentifierAttribute: names.AttrARN, }), Region: unique.Make(inttypes.ResourceRegionDefault()), Identity: inttypes.RegionalSingleParameterIdentity(names.AttrID), From feb352f28f3f14ea408052e3bec87c8e155d7980 Mon Sep 17 00:00:00 2001 From: Alex Bacchin Date: Thu, 24 Jul 2025 21:58:34 +1000 Subject: [PATCH 0026/1301] git merge main --- internal/service/networkfirewall/exports_test.go | 2 ++ internal/service/networkfirewall/service_package_gen.go | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/internal/service/networkfirewall/exports_test.go b/internal/service/networkfirewall/exports_test.go index 08e6df8fe645..6c9f0f91a5fe 100644 --- a/internal/service/networkfirewall/exports_test.go +++ b/internal/service/networkfirewall/exports_test.go @@ -12,6 +12,7 @@ var ( ResourceResourcePolicy = resourceResourcePolicy ResourceRuleGroup = resourceRuleGroup ResourceTLSInspectionConfiguration = newTLSInspectionConfigurationResource + ResourceVPCEndpointAssociation = newVPCEndpointAssociationResource FindFirewallByARN = findFirewallByARN FindFirewallPolicyByARN = findFirewallPolicyByARN @@ -19,4 +20,5 @@ var ( FindResourcePolicyByARN = findResourcePolicyByARN FindRuleGroupByARN = findRuleGroupByARN FindTLSInspectionConfigurationByARN = findTLSInspectionConfigurationByARN + FindVPCEndpointAssociationByID = findVPCEndpointAssociationByID ) diff --git a/internal/service/networkfirewall/service_package_gen.go b/internal/service/networkfirewall/service_package_gen.go index 1f9509aa3e5f..d8901b762717 100644 --- a/internal/service/networkfirewall/service_package_gen.go +++ b/internal/service/networkfirewall/service_package_gen.go @@ -43,6 +43,15 @@ func (p *servicePackage) FrameworkResources(ctx context.Context) []*inttypes.Ser WrappedImport: true, }, }, + { + Factory: newVPCEndpointAssociationResource, + TypeName: "aws_networkfirewall_vpc_endpoint_association", + Name: "VPC Endpoint Association", + Tags: unique.Make(inttypes.ServicePackageResourceTags{ + IdentifierAttribute: "firewall_arn", + }), + Region: unique.Make(inttypes.ResourceRegionDefault()), + }, } } From 04000e347362328171867ff0b80c8be09eb50195 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 24 Jul 2025 10:01:31 -0400 Subject: [PATCH 0027/1301] Correct CHANGELOG entry file name. --- .changelog/{#####.txt => 43534.txt} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .changelog/{#####.txt => 43534.txt} (100%) diff --git a/.changelog/#####.txt b/.changelog/43534.txt similarity index 100% rename from .changelog/#####.txt rename to .changelog/43534.txt From f3ad58666bf43155a94c783bcbbd8528a5b97371 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 24 Jul 2025 12:09:46 -0400 Subject: [PATCH 0028/1301] Add 'region' to the list of top-level attributes to skip when calculating Diff. --- internal/framework/flex/diff.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/framework/flex/diff.go b/internal/framework/flex/diff.go index f30cd3cc5967..b85277aaf894 100644 --- a/internal/framework/flex/diff.go +++ b/internal/framework/flex/diff.go @@ -110,6 +110,7 @@ func implementsAttrValue(field reflect.Value) bool { func skippedFields() []string { return []string{ + "Region", "Tags", "TagsAll", "Timeouts", From 104df6278b82b161cb125b6023c82029f1af7688 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 24 Jul 2025 14:26:48 -0400 Subject: [PATCH 0029/1301] r/aws_timestreaminfluxdb_db_instance: Ensure that 'network_type' and 'port' are set after Update. --- internal/service/timestreaminfluxdb/db_instance.go | 2 ++ internal/service/timestreaminfluxdb/db_instance_test.go | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/internal/service/timestreaminfluxdb/db_instance.go b/internal/service/timestreaminfluxdb/db_instance.go index dafb9182424e..aeb77f75fe40 100644 --- a/internal/service/timestreaminfluxdb/db_instance.go +++ b/internal/service/timestreaminfluxdb/db_instance.go @@ -501,6 +501,8 @@ func (r *dbInstanceResource) Update(ctx context.Context, req resource.UpdateRequ plan.SecondaryAvailabilityZone = fwflex.StringToFrameworkLegacy(ctx, output.SecondaryAvailabilityZone) } else { + plan.NetworkType = state.NetworkType + plan.Port = state.Port plan.SecondaryAvailabilityZone = state.SecondaryAvailabilityZone } diff --git a/internal/service/timestreaminfluxdb/db_instance_test.go b/internal/service/timestreaminfluxdb/db_instance_test.go index 563573c5ae8c..3de52c71b7da 100644 --- a/internal/service/timestreaminfluxdb/db_instance_test.go +++ b/internal/service/timestreaminfluxdb/db_instance_test.go @@ -566,7 +566,7 @@ func TestAccTimestreamInfluxDBDBInstance_upgradeV5_90_0(t *testing.T) { }, }, ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("network_type"), knownvalue.StringExact(string(awstypes.NetworkTypeIpv4))), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("network_type"), knownvalue.Null()), statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ "Name": knownvalue.StringExact(rName + "-updated"), })), From ab60ad17a9c58bfa6fff49bce66b30796925293b Mon Sep 17 00:00:00 2001 From: Piers Karsenbarg Date: Thu, 24 Jul 2025 19:12:38 +0100 Subject: [PATCH 0030/1301] Fix servicequotas service quota validation for values less than current quota Previously, when creating a service quota with a value less than the current quota, the resource would be added to state without validation, causing failures on subsequent applies. Now returns a proper error message when the requested value is less than the current quota value. Fixes #43541 --- .../service/servicequotas/service_quota.go | 5 ++- .../servicequotas/service_quota_test.go | 35 +++++++++++++++++++ 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/internal/service/servicequotas/service_quota.go b/internal/service/servicequotas/service_quota.go index 51a3781ea44d..0860df854ede 100644 --- a/internal/service/servicequotas/service_quota.go +++ b/internal/service/servicequotas/service_quota.go @@ -146,7 +146,6 @@ func resourceServiceQuotaCreate(ctx context.Context, d *schema.ResourceData, met // A Service Quota will always have a default value, but will only have a current value if it has been set. defaultQuota, err := findDefaultServiceQuotaByServiceCodeAndQuotaCode(ctx, conn, serviceCode, quotaCode) - if err != nil { return sdkdiag.AppendErrorf(diags, "reading Service Quotas default Service Quota (%s/%s): %s", serviceCode, quotaCode, err) } @@ -172,12 +171,13 @@ func resourceServiceQuotaCreate(ctx context.Context, d *schema.ResourceData, met } output, err := conn.RequestServiceQuotaIncrease(ctx, &input) - if err != nil { return sdkdiag.AppendErrorf(diags, "requesting Service Quotas Service Quota (%s) increase: %s", id, err) } d.Set("request_id", output.RequestedQuota.Id) + } else if value < quotaValue { + return sdkdiag.AppendErrorf(diags, "requesting Service Quotas with value less than current: %s", err) } d.SetId(id) @@ -275,7 +275,6 @@ func resourceServiceQuotaUpdate(ctx context.Context, d *schema.ResourceData, met } output, err := conn.RequestServiceQuotaIncrease(ctx, &input) - if err != nil { return sdkdiag.AppendErrorf(diags, "requesting Service Quotas Service Quota (%s) increase: %s", d.Id(), err) } diff --git a/internal/service/servicequotas/service_quota_test.go b/internal/service/servicequotas/service_quota_test.go index 6b98f356d40e..a7d9cc770162 100644 --- a/internal/service/servicequotas/service_quota_test.go +++ b/internal/service/servicequotas/service_quota_test.go @@ -253,6 +253,26 @@ func TestAccServiceQuotasServiceQuota_permissionError(t *testing.T) { }) } +func TestAccServiceQuotasServiceQuota_valueLessThanCurrent(t *testing.T) { + ctx := acctest.Context(t) + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + testAccPreCheck(ctx, t) + testAccPreCheckServiceQuotaSet(ctx, t, setQuotaServiceCode, setQuotaQuotaCode) + }, + ErrorCheck: acctest.ErrorCheck(t, names.ServiceQuotasServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: acctest.CheckDestroyNoop, + Steps: []resource.TestStep{ + { + Config: testAccServiceQuotaConfig_valueLessThanCurrent(setQuotaServiceCode, setQuotaQuotaCode), + ExpectError: regexache.MustCompile(`requesting Service Quotas with value less than current`), + }, + }, + }) +} + // nosemgrep:ci.servicequotas-in-func-name func testAccServiceQuotaConfig_sameValue(serviceCode, quotaCode string) string { return fmt.Sprintf(` @@ -310,3 +330,18 @@ resource "aws_servicequotas_service_quota" "test" { } `, serviceCode, quotaCode)) } + +func testAccServiceQuotaConfig_valueLessThanCurrent(serviceCode, quotaCode string) string { + return fmt.Sprintf(` +data "aws_servicequotas_service_quota" "test" { + quota_code = %[1]q + service_code = %[2]q +} + +resource "aws_servicequotas_service_quota" "test" { + quota_code = data.aws_servicequotas_service_quota.test.quota_code + service_code = data.aws_servicequotas_service_quota.test.service_code + value = data.aws_servicequotas_service_quota.test.value - 1 +} +`, quotaCode, serviceCode) +} From 7b6d614f0c99932a0703dccb2a28c8e46b9eb4ba Mon Sep 17 00:00:00 2001 From: Piers Karsenbarg Date: Thu, 24 Jul 2025 20:00:20 +0100 Subject: [PATCH 0031/1301] Added to changelog --- .changelog/43545.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/43545.txt diff --git a/.changelog/43545.txt b/.changelog/43545.txt new file mode 100644 index 000000000000..936c9e2fde00 --- /dev/null +++ b/.changelog/43545.txt @@ -0,0 +1,3 @@ +```release-note:bug +resource/aws_servicequotas_service_quota: Add validation to check if new value is less than current value of quota. +``` From cf0574ad3add6fa6a31f47b10d5efba7f51c3a35 Mon Sep 17 00:00:00 2001 From: ThomasZalewski Date: Thu, 24 Jul 2025 13:27:29 -0700 Subject: [PATCH 0032/1301] test tags/identity gen --- internal/service/appsync/event_api.go | 557 ------------------ .../appsync/event_api_identity_gen_test.go | 281 --------- internal/service/appsync/event_api_test.go | 440 -------------- internal/service/appsync/exports_test.go | 4 +- .../service/appsync/service_package_gen.go | 9 +- .../testdata/EventAPI/basic/main_gen.tf | 30 - .../EventAPI/basic_v5.100.0/main_gen.tf | 40 -- .../EventAPI/basic_v6.0.0/main_gen.tf | 40 -- .../EventAPI/region_override/main_gen.tf | 38 -- .../testdata/EventAPI/tags/main_gen.tf | 39 -- .../appsync/testdata/tmpl/event_api_tags.gtpl | 23 - 11 files changed, 8 insertions(+), 1493 deletions(-) delete mode 100644 internal/service/appsync/event_api.go delete mode 100644 internal/service/appsync/event_api_identity_gen_test.go delete mode 100644 internal/service/appsync/event_api_test.go delete mode 100644 internal/service/appsync/testdata/EventAPI/basic/main_gen.tf delete mode 100644 internal/service/appsync/testdata/EventAPI/basic_v5.100.0/main_gen.tf delete mode 100644 internal/service/appsync/testdata/EventAPI/basic_v6.0.0/main_gen.tf delete mode 100644 internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf delete mode 100644 internal/service/appsync/testdata/EventAPI/tags/main_gen.tf delete mode 100644 internal/service/appsync/testdata/tmpl/event_api_tags.gtpl diff --git a/internal/service/appsync/event_api.go b/internal/service/appsync/event_api.go deleted file mode 100644 index bbee3febece9..000000000000 --- a/internal/service/appsync/event_api.go +++ /dev/null @@ -1,557 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: MPL-2.0 - -package appsync - -import ( - "context" - "errors" - "fmt" - "time" - - "github.com/YakDriver/smarterr" - "github.com/aws/aws-sdk-go-v2/aws" - "github.com/aws/aws-sdk-go-v2/service/appsync" - awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" - "github.com/hashicorp/terraform-plugin-framework-timeouts/resource/timeouts" - "github.com/hashicorp/terraform-plugin-framework-timetypes/timetypes" - "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" - "github.com/hashicorp/terraform-plugin-framework/path" - "github.com/hashicorp/terraform-plugin-framework/resource" - "github.com/hashicorp/terraform-plugin-framework/resource/schema" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/int64planmodifier" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/mapplanmodifier" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" - "github.com/hashicorp/terraform-plugin-framework/schema/validator" - "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" - "github.com/hashicorp/terraform-provider-aws/internal/errs" - "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" - "github.com/hashicorp/terraform-provider-aws/internal/framework" - "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" - fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" - "github.com/hashicorp/terraform-provider-aws/internal/smerr" - tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" - "github.com/hashicorp/terraform-provider-aws/internal/tfresource" - "github.com/hashicorp/terraform-provider-aws/names" -) - -// @FrameworkResource("aws_appsync_event_api", name="Event API") -// @Tags(identifierAttribute="arn") -// @IdentityAttribute("id") -// @Testing(importStateIdAttribute="id") -// @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/appsync/types;awstypes;awstypes.Api") -func newEventAPIResource(_ context.Context) (resource.ResourceWithConfigure, error) { - r := &resourceEventAPI{} - - r.SetDefaultCreateTimeout(30 * time.Minute) - r.SetDefaultUpdateTimeout(30 * time.Minute) - r.SetDefaultDeleteTimeout(30 * time.Minute) - - return r, nil -} - -const ( - ResNameEventAPI = "Event API" -) - -type resourceEventAPI struct { - framework.ResourceWithModel[resourceEventAPIModel] - framework.WithTimeouts -} - -func (r *resourceEventAPI) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { - resp.Schema = schema.Schema{ - Attributes: map[string]schema.Attribute{ - names.AttrARN: framework.ARNAttributeComputedOnly(), - "id": schema.StringAttribute{ - Computed: true, - PlanModifiers: []planmodifier.String{ - stringplanmodifier.UseStateForUnknown(), - }, - }, - "created": schema.StringAttribute{ - CustomType: timetypes.RFC3339Type{}, - Computed: true, - }, - "dns": schema.MapAttribute{ - CustomType: fwtypes.MapOfStringType, - Computed: true, - PlanModifiers: []planmodifier.Map{ - mapplanmodifier.UseStateForUnknown(), - }, - }, - names.AttrName: schema.StringAttribute{ - Required: true, - }, - "owner_contact": schema.StringAttribute{ - Optional: true, - }, - names.AttrTags: tftags.TagsAttribute(), - names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), - "waf_web_acl_arn": schema.StringAttribute{ - Computed: true, - PlanModifiers: []planmodifier.String{ - stringplanmodifier.UseStateForUnknown(), - }, - }, - "xray_enabled": schema.BoolAttribute{ - Computed: true, - }, - }, - Blocks: map[string]schema.Block{ - "event_config": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[eventConfigModel](ctx), - Validators: []validator.List{ - listvalidator.SizeAtMost(1), - }, - NestedObject: schema.NestedBlockObject{ - Blocks: map[string]schema.Block{ - "auth_providers": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[authProviderModel](ctx), - NestedObject: schema.NestedBlockObject{ - Attributes: map[string]schema.Attribute{ - "auth_type": schema.StringAttribute{ - Required: true, - CustomType: fwtypes.StringEnumType[awstypes.AuthenticationType](), - }, - }, - Blocks: map[string]schema.Block{ - "cognito_config": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[cognitoConfigModel](ctx), - Validators: []validator.List{ - listvalidator.SizeAtMost(1), - }, - NestedObject: schema.NestedBlockObject{ - Attributes: map[string]schema.Attribute{ - "aws_region": schema.StringAttribute{ - Required: true, - }, - "user_pool_id": schema.StringAttribute{ - Required: true, - }, - "app_id_client_regex": schema.StringAttribute{ - Optional: true, - }, - }, - }, - }, - "lambda_authorizer_config": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[lambdaAuthorizerConfigModel](ctx), - Validators: []validator.List{ - listvalidator.SizeAtMost(1), - }, - NestedObject: schema.NestedBlockObject{ - Attributes: map[string]schema.Attribute{ - "authorizer_result_ttl_in_seconds": schema.Int64Attribute{ - Optional: true, - Computed: true, - PlanModifiers: []planmodifier.Int64{ - int64planmodifier.UseStateForUnknown(), - }, - }, - "authorizer_uri": schema.StringAttribute{ - Required: true, - }, - "identity_validation_expression": schema.StringAttribute{ - Optional: true, - }, - }, - }, - }, - "openid_connect_config": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[openIDConnectConfigModel](ctx), - Validators: []validator.List{ - listvalidator.SizeAtMost(1), - }, - NestedObject: schema.NestedBlockObject{ - Attributes: map[string]schema.Attribute{ - "auth_ttl": schema.Int64Attribute{ - Optional: true, - Computed: true, - PlanModifiers: []planmodifier.Int64{ - int64planmodifier.UseStateForUnknown(), - }, - }, - names.AttrClientID: schema.StringAttribute{ - Optional: true, - }, - "iat_ttl": schema.Int64Attribute{ - Optional: true, - Computed: true, - PlanModifiers: []planmodifier.Int64{ - int64planmodifier.UseStateForUnknown(), - }, - }, - names.AttrIssuer: schema.StringAttribute{ - Required: true, - }, - }, - }, - }, - }, - }, - }, - "connection_auth_modes": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[authModeModel](ctx), - NestedObject: schema.NestedBlockObject{ - Attributes: map[string]schema.Attribute{ - "auth_type": schema.StringAttribute{ - Required: true, - CustomType: fwtypes.StringEnumType[awstypes.AuthenticationType](), - }, - }, - }, - }, - "default_publish_auth_modes": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[authModeModel](ctx), - NestedObject: schema.NestedBlockObject{ - Attributes: map[string]schema.Attribute{ - "auth_type": schema.StringAttribute{ - Required: true, - CustomType: fwtypes.StringEnumType[awstypes.AuthenticationType](), - }, - }, - }, - }, - "default_subscribe_auth_modes": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[authModeModel](ctx), - NestedObject: schema.NestedBlockObject{ - Attributes: map[string]schema.Attribute{ - "auth_type": schema.StringAttribute{ - Required: true, - CustomType: fwtypes.StringEnumType[awstypes.AuthenticationType](), - }, - }, - }, - }, - "log_config": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[eventLogConfigModel](ctx), - Validators: []validator.List{ - listvalidator.SizeAtMost(1), - }, - NestedObject: schema.NestedBlockObject{ - Attributes: map[string]schema.Attribute{ - "cloudwatch_logs_role_arn": schema.StringAttribute{ - Required: true, - }, - "log_level": schema.StringAttribute{ - Required: true, - CustomType: fwtypes.StringEnumType[awstypes.EventLogLevel](), - }, - }, - }, - }, - }, - }, - }, - names.AttrTimeouts: timeouts.Block(ctx, timeouts.Opts{ - Create: true, - Update: true, - Delete: true, - }), - }, - } -} - -func (r *resourceEventAPI) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { - conn := r.Meta().AppSyncClient(ctx) - - var plan resourceEventAPIModel - smerr.EnrichAppend(ctx, &resp.Diagnostics, req.Plan.Get(ctx, &plan)) - if resp.Diagnostics.HasError() { - return - } - - var input appsync.CreateApiInput - smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Expand(ctx, plan, &input)) - if resp.Diagnostics.HasError() { - return - } - - input.Tags = getTagsIn(ctx) - - out, err := conn.CreateApi(ctx, &input) - if err != nil { - smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, plan.Name.String()) - return - } - if out == nil || out.Api == nil { - smerr.AddError(ctx, &resp.Diagnostics, errors.New("empty output"), smerr.ID, plan.Name.String()) - return - } - - smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Flatten(ctx, out.Api, &plan), smerr.ID, plan.Name.String()) - if resp.Diagnostics.HasError() { - return - } - - createTimeout := r.CreateTimeout(ctx, plan.Timeouts) - _, err = waitEventAPICreated(ctx, conn, plan.ApiId.ValueString(), createTimeout) - if err != nil { - smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, plan.Name.String()) - return - } - - smerr.EnrichAppend(ctx, &resp.Diagnostics, resp.State.Set(ctx, plan), smerr.ID, plan.ApiId.String()) -} - -func (r *resourceEventAPI) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { - conn := r.Meta().AppSyncClient(ctx) - - var state resourceEventAPIModel - smerr.EnrichAppend(ctx, &resp.Diagnostics, req.State.Get(ctx, &state)) - if resp.Diagnostics.HasError() { - return - } - - apiId := state.ApiId.ValueString() - fmt.Println("hello", apiId) - - out, err := findEventAPIByID(ctx, conn, apiId) - if tfresource.NotFound(err) { - resp.Diagnostics.Append(fwdiag.NewResourceNotFoundWarningDiagnostic(err)) - resp.State.RemoveResource(ctx) - return - } - if err != nil { - smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, state.ApiId.String()) - return - } - - smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Flatten(ctx, out, &state), smerr.ID, state.ApiId.String()) - if resp.Diagnostics.HasError() { - return - } - - smerr.EnrichAppend(ctx, &resp.Diagnostics, resp.State.Set(ctx, &state), smerr.ID, state.ApiId.String()) -} - -func (r *resourceEventAPI) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { - conn := r.Meta().AppSyncClient(ctx) - - var plan, state resourceEventAPIModel - smerr.EnrichAppend(ctx, &resp.Diagnostics, req.Plan.Get(ctx, &plan)) - smerr.EnrichAppend(ctx, &resp.Diagnostics, req.State.Get(ctx, &state)) - if resp.Diagnostics.HasError() { - return - } - - diff, d := flex.Diff(ctx, plan, state) - smerr.EnrichAppend(ctx, &resp.Diagnostics, d, smerr.ID, plan.ApiId.String()) - if resp.Diagnostics.HasError() { - return - } - - if diff.HasChanges() { - var input appsync.UpdateApiInput - smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Expand(ctx, plan, &input), smerr.ID, plan.ApiId.String()) - if resp.Diagnostics.HasError() { - return - } - - input.ApiId = plan.ApiId.ValueStringPointer() - - out, err := conn.UpdateApi(ctx, &input) - if err != nil { - smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, plan.ApiId.String()) - return - } - if out == nil || out.Api == nil { - smerr.AddError(ctx, &resp.Diagnostics, errors.New("empty output"), smerr.ID, plan.ApiId.String()) - return - } - - smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Flatten(ctx, out.Api, &plan), smerr.ID, plan.ApiId.String()) - if resp.Diagnostics.HasError() { - return - } - } - - smerr.EnrichAppend(ctx, &resp.Diagnostics, resp.State.Set(ctx, &plan), smerr.ID, plan.ApiId.String()) -} - -func (r *resourceEventAPI) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { - conn := r.Meta().AppSyncClient(ctx) - - var state resourceEventAPIModel - smerr.EnrichAppend(ctx, &resp.Diagnostics, req.State.Get(ctx, &state)) - if resp.Diagnostics.HasError() { - return - } - - input := appsync.DeleteApiInput{ - ApiId: state.ApiId.ValueStringPointer(), - } - - _, err := conn.DeleteApi(ctx, &input) - if err != nil { - if errs.IsA[*awstypes.NotFoundException](err) { - return - } - - smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, state.ApiId.String()) - return - } - - deleteTimeout := r.DeleteTimeout(ctx, state.Timeouts) - _, err = waitEventAPIDeleted(ctx, conn, state.ApiId.ValueString(), deleteTimeout) - if err != nil { - smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, state.ApiId.String()) - return - } -} - -func (r *resourceEventAPI) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { - resource.ImportStatePassthroughID(ctx, path.Root("id"), req, resp) -} - -const ( - statusDeleting = "Deleting" - statusNormal = "Normal" -) - -func waitEventAPICreated(ctx context.Context, conn *appsync.Client, id string, timeout time.Duration) (*awstypes.Api, error) { - stateConf := &retry.StateChangeConf{ - Pending: []string{}, - Target: []string{statusNormal}, - Refresh: statusEventAPI(ctx, conn, id), - Timeout: timeout, - NotFoundChecks: 20, - ContinuousTargetOccurence: 2, - } - - outputRaw, err := stateConf.WaitForStateContext(ctx) - if err != nil { - fmt.Printf("[DEBUG] waitEventAPICreated: Wait failed with error: %v\n", err) - } else { - fmt.Printf("[DEBUG] waitEventAPICreated: Wait completed successfully for API: %s\n", id) - } - - if out, ok := outputRaw.(*awstypes.Api); ok { - return out, smarterr.NewError(err) - } - - return nil, smarterr.NewError(err) -} - -func waitEventAPIDeleted(ctx context.Context, conn *appsync.Client, id string, timeout time.Duration) (*awstypes.Api, error) { - fmt.Printf("[DEBUG] waitEventAPIDeleted: Starting wait for API deletion: %s\n", id) - stateConf := &retry.StateChangeConf{ - Pending: []string{statusDeleting, statusNormal}, - Target: []string{}, - Refresh: statusEventAPI(ctx, conn, id), - Timeout: timeout, - } - - outputRaw, err := stateConf.WaitForStateContext(ctx) - if err != nil { - fmt.Printf("[DEBUG] waitEventAPIDeleted: Wait failed with error: %v\n", err) - } else { - fmt.Printf("[DEBUG] waitEventAPIDeleted: Wait completed successfully for API: %s\n", id) - } - - if out, ok := outputRaw.(*awstypes.Api); ok { - return out, smarterr.NewError(err) - } - - return nil, smarterr.NewError(err) -} - -func statusEventAPI(ctx context.Context, conn *appsync.Client, id string) retry.StateRefreshFunc { - return func() (any, string, error) { - out, err := findEventAPIByID(ctx, conn, id) - if tfresource.NotFound(err) { - return nil, "", nil - } - - if err != nil { - return nil, "", smarterr.NewError(err) - } - - return out, statusNormal, nil - } -} - -func findEventAPIByID(ctx context.Context, conn *appsync.Client, id string) (*awstypes.Api, error) { - input := appsync.GetApiInput{ - ApiId: aws.String(id), - } - - out, err := conn.GetApi(ctx, &input) - if err != nil { - if errs.IsA[*awstypes.NotFoundException](err) { - return nil, smarterr.NewError(&retry.NotFoundError{ - LastError: err, - LastRequest: &input, - }) - } - return nil, smarterr.NewError(err) - } - - if out == nil || out.Api == nil { - return nil, smarterr.NewError(tfresource.NewEmptyResultError(&input)) - } - - return out.Api, nil -} - -type resourceEventAPIModel struct { - framework.WithRegionModel - ApiArn types.String `tfsdk:"arn"` - ApiId types.String `tfsdk:"id"` - Created timetypes.RFC3339 `tfsdk:"created"` - Dns fwtypes.MapOfString `tfsdk:"dns"` - EventConfig fwtypes.ListNestedObjectValueOf[eventConfigModel] `tfsdk:"event_config"` - Name types.String `tfsdk:"name"` - OwnerContact types.String `tfsdk:"owner_contact"` - Tags tftags.Map `tfsdk:"tags"` - TagsAll tftags.Map `tfsdk:"tags_all"` - Timeouts timeouts.Value `tfsdk:"timeouts"` - WafWebAclArn types.String `tfsdk:"waf_web_acl_arn"` - XrayEnabled types.Bool `tfsdk:"xray_enabled"` -} - -type eventConfigModel struct { - AuthProviders fwtypes.ListNestedObjectValueOf[authProviderModel] `tfsdk:"auth_providers"` - ConnectionAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"connection_auth_modes"` - DefaultPublishAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"default_publish_auth_modes"` - DefaultSubscribeAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"default_subscribe_auth_modes"` - LogConfig fwtypes.ListNestedObjectValueOf[eventLogConfigModel] `tfsdk:"log_config"` -} - -type authProviderModel struct { - AuthType fwtypes.StringEnum[awstypes.AuthenticationType] `tfsdk:"auth_type"` - CognitoConfig fwtypes.ListNestedObjectValueOf[cognitoConfigModel] `tfsdk:"cognito_config"` - LambdaAuthorizerConfig fwtypes.ListNestedObjectValueOf[lambdaAuthorizerConfigModel] `tfsdk:"lambda_authorizer_config"` - OpenIDConnectConfig fwtypes.ListNestedObjectValueOf[openIDConnectConfigModel] `tfsdk:"openid_connect_config"` -} - -type authModeModel struct { - AuthType fwtypes.StringEnum[awstypes.AuthenticationType] `tfsdk:"auth_type"` -} - -type cognitoConfigModel struct { - AwsRegion types.String `tfsdk:"aws_region"` - UserPoolId types.String `tfsdk:"user_pool_id"` - AppIdClientRegex types.String `tfsdk:"app_id_client_regex"` -} - -type lambdaAuthorizerConfigModel struct { - AuthorizerResultTtlInSeconds types.Int64 `tfsdk:"authorizer_result_ttl_in_seconds"` - AuthorizerUri types.String `tfsdk:"authorizer_uri"` - IdentityValidationExpression types.String `tfsdk:"identity_validation_expression"` -} - -type openIDConnectConfigModel struct { - AuthTtl types.Int64 `tfsdk:"auth_ttl"` - ClientId types.String `tfsdk:"client_id"` - IatTtl types.Int64 `tfsdk:"iat_ttl"` - Issuer types.String `tfsdk:"issuer"` -} - -type eventLogConfigModel struct { - CloudWatchLogsRoleArn types.String `tfsdk:"cloudwatch_logs_role_arn"` - LogLevel fwtypes.StringEnum[awstypes.EventLogLevel] `tfsdk:"log_level"` -} diff --git a/internal/service/appsync/event_api_identity_gen_test.go b/internal/service/appsync/event_api_identity_gen_test.go deleted file mode 100644 index c7fb5a85feef..000000000000 --- a/internal/service/appsync/event_api_identity_gen_test.go +++ /dev/null @@ -1,281 +0,0 @@ -// Code generated by internal/generate/identitytests/main.go; DO NOT EDIT. - -package appsync_test - -import ( - "testing" - - awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" - "github.com/hashicorp/terraform-plugin-testing/config" - sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" - "github.com/hashicorp/terraform-plugin-testing/helper/resource" - "github.com/hashicorp/terraform-plugin-testing/knownvalue" - "github.com/hashicorp/terraform-plugin-testing/plancheck" - "github.com/hashicorp/terraform-plugin-testing/statecheck" - "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" - "github.com/hashicorp/terraform-plugin-testing/tfversion" - "github.com/hashicorp/terraform-provider-aws/internal/acctest" - tfknownvalue "github.com/hashicorp/terraform-provider-aws/internal/acctest/knownvalue" - tfstatecheck "github.com/hashicorp/terraform-provider-aws/internal/acctest/statecheck" - "github.com/hashicorp/terraform-provider-aws/names" -) - -func TestAccAppSyncEventAPI_Identity_Basic(t *testing.T) { - ctx := acctest.Context(t) - - var v awstypes.Api - resourceName := "aws_appsync_event_api.test" - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - - resource.ParallelTest(t, resource.TestCase{ - TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(tfversion.Version1_12_0), - }, - PreCheck: func() { acctest.PreCheck(ctx, t) }, - ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), - CheckDestroy: testAccCheckEventAPIDestroy(ctx), - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - Steps: []resource.TestStep{ - // Step 1: Setup - { - ConfigDirectory: config.StaticDirectory("testdata/EventAPI/basic/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - }, - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventAPIExists(ctx, resourceName, &v), - ), - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), - statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ - names.AttrAccountID: tfknownvalue.AccountID(), - names.AttrRegion: knownvalue.StringExact(acctest.Region()), - names.AttrID: knownvalue.NotNull(), - }), - statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), - }, - }, - - // Step 2: Import command - { - ConfigDirectory: config.StaticDirectory("testdata/EventAPI/basic/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - }, - ImportStateKind: resource.ImportCommandWithID, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, - }, - - // Step 3: Import block with Import ID - { - ConfigDirectory: config.StaticDirectory("testdata/EventAPI/basic/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - }, - ResourceName: resourceName, - ImportState: true, - ImportStateKind: resource.ImportBlockWithID, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportPlanChecks: resource.ImportPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), - plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), - }, - }, - }, - - // Step 4: Import block with Resource Identity - { - ConfigDirectory: config.StaticDirectory("testdata/EventAPI/basic/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - }, - ResourceName: resourceName, - ImportState: true, - ImportStateKind: resource.ImportBlockWithResourceIdentity, - ImportPlanChecks: resource.ImportPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), - plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), - }, - }, - }, - }, - }) -} - -func TestAccAppSyncEventAPI_Identity_RegionOverride(t *testing.T) { - ctx := acctest.Context(t) - - resourceName := "aws_appsync_event_api.test" - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - - resource.ParallelTest(t, resource.TestCase{ - TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(tfversion.Version1_12_0), - }, - PreCheck: func() { acctest.PreCheck(ctx, t) }, - ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), - CheckDestroy: acctest.CheckDestroyNoop, - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - Steps: []resource.TestStep{ - // Step 1: Setup - { - ConfigDirectory: config.StaticDirectory("testdata/EventAPI/region_override/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - "region": config.StringVariable(acctest.AlternateRegion()), - }, - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), - statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ - names.AttrAccountID: tfknownvalue.AccountID(), - names.AttrRegion: knownvalue.StringExact(acctest.AlternateRegion()), - names.AttrID: knownvalue.NotNull(), - }), - statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), - }, - }, - - // Step 2: Import command - { - ConfigDirectory: config.StaticDirectory("testdata/EventAPI/region_override/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - "region": config.StringVariable(acctest.AlternateRegion()), - }, - ImportStateKind: resource.ImportCommandWithID, - // TODO - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, - }, - - // Step 3: Import block with Import ID - { - ConfigDirectory: config.StaticDirectory("testdata/EventAPI/region_override/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - "region": config.StringVariable(acctest.AlternateRegion()), - }, - ResourceName: resourceName, - ImportState: true, - ImportStateKind: resource.ImportBlockWithID, - // TODO - ImportPlanChecks: resource.ImportPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), - plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), - }, - }, - }, - - // Step 4: Import block with Resource Identity - { - ConfigDirectory: config.StaticDirectory("testdata/EventAPI/region_override/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - "region": config.StringVariable(acctest.AlternateRegion()), - }, - ResourceName: resourceName, - ImportState: true, - ImportStateKind: resource.ImportBlockWithResourceIdentity, - ImportPlanChecks: resource.ImportPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), - plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), - }, - }, - }, - }, - }) -} - -func TestAccAppSyncEventAPI_Identity_ExistingResource(t *testing.T) { - ctx := acctest.Context(t) - - var v awstypes.Api - resourceName := "aws_appsync_event_api.test" - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - - resource.ParallelTest(t, resource.TestCase{ - TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(tfversion.Version1_12_0), - }, - PreCheck: func() { acctest.PreCheck(ctx, t) }, - ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), - CheckDestroy: testAccCheckEventAPIDestroy(ctx), - Steps: []resource.TestStep{ - // Step 1: Create pre-Identity - { - ConfigDirectory: config.StaticDirectory("testdata/EventAPI/basic_v5.100.0/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - }, - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventAPIExists(ctx, resourceName, &v), - ), - ConfigStateChecks: []statecheck.StateCheck{ - tfstatecheck.ExpectNoIdentity(resourceName), - }, - }, - - // Step 2: v6.0 Identity set on refresh - { - ConfigDirectory: config.StaticDirectory("testdata/EventAPI/basic_v6.0.0/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - }, - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventAPIExists(ctx, resourceName, &v), - ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - PostApplyPostRefresh: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - }, - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ - names.AttrAccountID: tfknownvalue.AccountID(), - names.AttrRegion: knownvalue.StringExact(acctest.Region()), - names.AttrID: knownvalue.NotNull(), - }), - statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), - }, - }, - - // Step 3: Current version - { - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - ConfigDirectory: config.StaticDirectory("testdata/EventAPI/basic/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - }, - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - PostApplyPostRefresh: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - }, - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ - names.AttrAccountID: tfknownvalue.AccountID(), - names.AttrRegion: knownvalue.StringExact(acctest.Region()), - names.AttrID: knownvalue.NotNull(), - }), - statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), - }, - }, - }, - }) -} diff --git a/internal/service/appsync/event_api_test.go b/internal/service/appsync/event_api_test.go deleted file mode 100644 index abf9c5c50570..000000000000 --- a/internal/service/appsync/event_api_test.go +++ /dev/null @@ -1,440 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: MPL-2.0 - -package appsync_test - -import ( - "context" - "errors" - "fmt" - "testing" - - awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" - sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" - "github.com/hashicorp/terraform-plugin-testing/helper/resource" - "github.com/hashicorp/terraform-plugin-testing/terraform" - "github.com/hashicorp/terraform-provider-aws/internal/acctest" - "github.com/hashicorp/terraform-provider-aws/internal/conns" - "github.com/hashicorp/terraform-provider-aws/internal/create" - "github.com/hashicorp/terraform-provider-aws/internal/tfresource" - "github.com/hashicorp/terraform-provider-aws/names" - - tfappsync "github.com/hashicorp/terraform-provider-aws/internal/service/appsync" -) - -func TestAccAppSyncEventAPI_basic(t *testing.T) { - ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - - var eventapi awstypes.Api - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resourceName := "aws_appsync_event_api.test" - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { - acctest.PreCheck(ctx, t) - acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) - testAccPreCheck(ctx, t) - }, - ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckEventAPIDestroy(ctx), - Steps: []resource.TestStep{ - { - Config: testAccEventAPIConfig_eventConfigComprehensive(rName), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventAPIExists(ctx, resourceName, &eventapi), - resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), - resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), - resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "3"), - // Cognito auth provider - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.0.auth_type", "AMAZON_COGNITO_USER_POOLS"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.0.cognito_config.#", "1"), - resource.TestCheckResourceAttrSet(resourceName, "event_config.0.auth_providers.0.cognito_config.0.user_pool_id"), - resource.TestCheckResourceAttrSet(resourceName, "event_config.0.auth_providers.0.cognito_config.0.aws_region"), - // Lambda auth provider - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.1.auth_type", "AWS_LAMBDA"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.1.lambda_authorizer_config.#", "1"), - resource.TestCheckResourceAttrSet(resourceName, "event_config.0.auth_providers.1.lambda_authorizer_config.0.authorizer_uri"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.1.lambda_authorizer_config.0.authorizer_result_ttl_in_seconds", "300"), - // OpenID Connect auth provider - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.2.auth_type", "OPENID_CONNECT"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.2.openid_connect_config.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.2.openid_connect_config.0.issuer", "https://example.com"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.2.openid_connect_config.0.client_id", "test-client-id"), - // Auth modes - resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.0.auth_type", "AWS_LAMBDA"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.0.auth_type", "AWS_LAMBDA"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.0.auth_type", "AWS_LAMBDA"), - // Log config - resource.TestCheckResourceAttr(resourceName, "event_config.0.log_config.#", "1"), - resource.TestCheckResourceAttrSet(resourceName, "event_config.0.log_config.0.cloudwatch_logs_role_arn"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.log_config.0.log_level", "ERROR"), - // Tags - resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "2"), - resource.TestCheckResourceAttr(resourceName, "tags.Environment", "test"), - resource.TestCheckResourceAttr(resourceName, "tags.Purpose", "event-api-testing"), - resource.TestCheckResourceAttr(resourceName, acctest.CtTagsAllPercent, "2"), - resource.TestCheckResourceAttr(resourceName, "tags_all.Environment", "test"), - resource.TestCheckResourceAttr(resourceName, "tags_all.Purpose", "event-api-testing"), - ), - }, - { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - }, - }, - }) -} - -func TestAccAppSyncEventAPI_update(t *testing.T) { - ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - - var eventapi awstypes.Api - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - rNameUpdated := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resourceName := "aws_appsync_event_api.test" - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { - acctest.PreCheck(ctx, t) - acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) - testAccPreCheck(ctx, t) - }, - ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckEventAPIDestroy(ctx), - Steps: []resource.TestStep{ - { - Config: testAccEventAPIConfig_eventConfigComprehensive(rName), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventAPIExists(ctx, resourceName, &eventapi), - resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), - resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), - resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "3"), - ), - }, - { - Config: testAccEventAPIConfig_eventConfigComprehensive(rNameUpdated), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventAPIExists(ctx, resourceName, &eventapi), - resource.TestCheckResourceAttr(resourceName, names.AttrName, rNameUpdated), - resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), - resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "3"), - ), - }, - { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - }, - }, - }) -} -func TestAccAppSyncEventAPI_disappears(t *testing.T) { - ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - - var eventapi awstypes.Api - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resourceName := "aws_appsync_event_api.test" - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { - acctest.PreCheck(ctx, t) - acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) - testAccPreCheck(ctx, t) - }, - ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckEventAPIDestroy(ctx), - Steps: []resource.TestStep{ - { - Config: testAccEventAPIConfig_basic(rName), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventAPIExists(ctx, resourceName, &eventapi), - resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), - resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.0.auth_type", "API_KEY"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.0.auth_type", "API_KEY"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.0.auth_type", "API_KEY"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.0.auth_type", "API_KEY"), - acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfappsync.ResourceEventAPI, resourceName), - ), - ExpectNonEmptyPlan: true, - }, - }, - }) -} -func testAccCheckEventAPIDestroy(ctx context.Context) resource.TestCheckFunc { - return func(s *terraform.State) error { - conn := acctest.Provider.Meta().(*conns.AWSClient).AppSyncClient(ctx) - - for _, rs := range s.RootModule().Resources { - if rs.Type != "aws_appsync_event_api" { - continue - } - - _, err := tfappsync.FindEventAPIByID(ctx, conn, rs.Primary.ID) - if tfresource.NotFound(err) { - return nil - } - if err != nil { - return create.Error(names.AppSync, create.ErrActionCheckingDestroyed, tfappsync.ResNameEventAPI, rs.Primary.ID, err) - } - - return create.Error(names.AppSync, create.ErrActionCheckingDestroyed, tfappsync.ResNameEventAPI, rs.Primary.ID, errors.New("not destroyed")) - } - - return nil - } -} - -func testAccCheckEventAPIExists(ctx context.Context, name string, eventapi *awstypes.Api) resource.TestCheckFunc { - return func(s *terraform.State) error { - rs, ok := s.RootModule().Resources[name] - if !ok { - return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameEventAPI, name, errors.New("not found")) - } - - if rs.Primary.ID == "" { - return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameEventAPI, name, errors.New("not set")) - } - - conn := acctest.Provider.Meta().(*conns.AWSClient).AppSyncClient(ctx) - - resp, err := tfappsync.FindEventAPIByID(ctx, conn, rs.Primary.ID) - if err != nil { - return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameEventAPI, rs.Primary.ID, err) - } - - *eventapi = *resp - - return nil - } -} - -func testAccEventAPIConfig_basic(rName string) string { - return fmt.Sprintf(` -resource "aws_appsync_event_api" "test" { - name = %[1]q - - event_config { - auth_providers { - auth_type = "API_KEY" - } - - connection_auth_modes { - auth_type = "API_KEY" - } - - default_publish_auth_modes { - auth_type = "API_KEY" - } - - default_subscribe_auth_modes { - auth_type = "API_KEY" - } - } -} -`, rName) -} - -func testAccEventAPIConfig_eventConfigComprehensive(rName string) string { - return fmt.Sprintf(` -resource "aws_cognito_user_pool" "test" { - name = %[1]q -} - -resource "aws_iam_role" "lambda" { - name = "%[1]s-lambda" - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "lambda.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "lambda_basic" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "lambda_basic" { - name = "%[1]s-lambda-basic" - role = aws_iam_role.lambda.id - policy = data.aws_iam_policy_document.lambda_basic.json -} - -resource "aws_lambda_function" "test" { - filename = "test-fixtures/lambdatest.zip" - function_name = %[1]q - role = aws_iam_role.lambda.arn - handler = "index.handler" - runtime = "nodejs18.x" - source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") - - depends_on = [aws_iam_role_policy.lambda_basic] -} - -resource "aws_lambda_permission" "appsync_invoke" { - statement_id = "AllowExecutionFromAppSync" - action = "lambda:InvokeFunction" - function_name = aws_lambda_function.test.function_name - principal = "appsync.amazonaws.com" -} - -resource "aws_iam_role" "cloudwatch" { - name = "%[1]s-cloudwatch" - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "appsync.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "cloudwatch_logs" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "cloudwatch" { - name = "%[1]s-cloudwatch-policy" - role = aws_iam_role.cloudwatch.id - policy = data.aws_iam_policy_document.cloudwatch_logs.json -} - -resource "aws_appsync_event_api" "test" { - name = %[1]q - owner_contact = "test@example.com" - - event_config { - auth_providers { - auth_type = "AMAZON_COGNITO_USER_POOLS" - cognito_config { - user_pool_id = aws_cognito_user_pool.test.id - aws_region = data.aws_region.current.name - } - } - - auth_providers { - auth_type = "AWS_LAMBDA" - lambda_authorizer_config { - authorizer_uri = aws_lambda_function.test.arn - authorizer_result_ttl_in_seconds = 300 - } - } - - auth_providers { - auth_type = "OPENID_CONNECT" - openid_connect_config { - issuer = "https://example.com" - client_id = "test-client-id" - } - } - - connection_auth_modes { - auth_type = "AWS_LAMBDA" - } - - default_publish_auth_modes { - auth_type = "AWS_LAMBDA" - } - - default_subscribe_auth_modes { - auth_type = "AWS_LAMBDA" - } - - log_config { - cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn - log_level = "ERROR" - } - } - - tags = { - Environment = "test" - Purpose = "event-api-testing" - } - - depends_on = [ - aws_lambda_permission.appsync_invoke, - aws_iam_role_policy.cloudwatch - ] -} - -data "aws_region" "current" {} -`, rName) -} - -func testAccEventAPIConfig_tags1(rName, tagKey1, tagValue1 string) string { - return fmt.Sprintf(` -resource "aws_appsync_event_api" "test" { - name = %[1]q - - tags = { - %[2]q = %[3]q - } -} -`, rName, tagKey1, tagValue1) -} - -func testAccEventAPIConfig_tags2(rName, tagKey1, tagValue1, tagKey2, tagValue2 string) string { - return fmt.Sprintf(` -resource "aws_appsync_event_api" "test" { - name = %[1]q - - tags = { - %[2]q = %[3]q - %[4]q = %[5]q - } -} -`, rName, tagKey1, tagValue1, tagKey2, tagValue2) -} diff --git a/internal/service/appsync/exports_test.go b/internal/service/appsync/exports_test.go index 9945fe8fe8b7..d423f1d538d7 100644 --- a/internal/service/appsync/exports_test.go +++ b/internal/service/appsync/exports_test.go @@ -10,7 +10,7 @@ var ( ResourceDataSource = resourceDataSource ResourceDomainName = resourceDomainName ResourceDomainNameAPIAssociation = resourceDomainNameAPIAssociation - ResourceEventAPI = newEventAPIResource + ResourceAPI = newAPIResource ResourceFunction = resourceFunction ResourceGraphQLAPI = resourceGraphQLAPI ResourceResolver = resourceResolver @@ -23,7 +23,7 @@ var ( FindDataSourceByTwoPartKey = findDataSourceByTwoPartKey FindDomainNameAPIAssociationByID = findDomainNameAPIAssociationByID FindDomainNameByID = findDomainNameByID - FindEventAPIByID = findEventAPIByID + FindAPIByID = findAPIByID FindFunctionByTwoPartKey = findFunctionByTwoPartKey FindGraphQLAPIByID = findGraphQLAPIByID FindResolverByThreePartKey = findResolverByThreePartKey diff --git a/internal/service/appsync/service_package_gen.go b/internal/service/appsync/service_package_gen.go index 0814d3a4faf0..90ea90695144 100644 --- a/internal/service/appsync/service_package_gen.go +++ b/internal/service/appsync/service_package_gen.go @@ -25,14 +25,17 @@ func (p *servicePackage) FrameworkDataSources(ctx context.Context) []*inttypes.S func (p *servicePackage) FrameworkResources(ctx context.Context) []*inttypes.ServicePackageFrameworkResource { return []*inttypes.ServicePackageFrameworkResource{ { - Factory: newEventAPIResource, - TypeName: "aws_appsync_event_api", - Name: "Event API", + Factory: newAPIResource, + TypeName: "aws_appsync_api", + Name: "API", Tags: unique.Make(inttypes.ServicePackageResourceTags{ IdentifierAttribute: names.AttrARN, }), Region: unique.Make(inttypes.ResourceRegionDefault()), Identity: inttypes.RegionalSingleParameterIdentity(names.AttrID), + Import: inttypes.FrameworkImport{ + WrappedImport: true, + }, }, { Factory: newSourceAPIAssociationResource, diff --git a/internal/service/appsync/testdata/EventAPI/basic/main_gen.tf b/internal/service/appsync/testdata/EventAPI/basic/main_gen.tf deleted file mode 100644 index fe88bf39d641..000000000000 --- a/internal/service/appsync/testdata/EventAPI/basic/main_gen.tf +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: MPL-2.0 - -resource "aws_appsync_event_api" "test" { - name = var.rName - - event_config { - auth_providers { - auth_type = "API_KEY" - } - - connection_auth_modes { - auth_type = "API_KEY" - } - - default_publish_auth_modes { - auth_type = "API_KEY" - } - - default_subscribe_auth_modes { - auth_type = "API_KEY" - } - } -} - -variable "rName" { - description = "Name for resource" - type = string - nullable = false -} diff --git a/internal/service/appsync/testdata/EventAPI/basic_v5.100.0/main_gen.tf b/internal/service/appsync/testdata/EventAPI/basic_v5.100.0/main_gen.tf deleted file mode 100644 index a554107050df..000000000000 --- a/internal/service/appsync/testdata/EventAPI/basic_v5.100.0/main_gen.tf +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: MPL-2.0 - -resource "aws_appsync_event_api" "test" { - name = var.rName - - event_config { - auth_providers { - auth_type = "API_KEY" - } - - connection_auth_modes { - auth_type = "API_KEY" - } - - default_publish_auth_modes { - auth_type = "API_KEY" - } - - default_subscribe_auth_modes { - auth_type = "API_KEY" - } - } -} - -variable "rName" { - description = "Name for resource" - type = string - nullable = false -} -terraform { - required_providers { - aws = { - source = "hashicorp/aws" - version = "5.100.0" - } - } -} - -provider "aws" {} diff --git a/internal/service/appsync/testdata/EventAPI/basic_v6.0.0/main_gen.tf b/internal/service/appsync/testdata/EventAPI/basic_v6.0.0/main_gen.tf deleted file mode 100644 index 44f698c5ca22..000000000000 --- a/internal/service/appsync/testdata/EventAPI/basic_v6.0.0/main_gen.tf +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: MPL-2.0 - -resource "aws_appsync_event_api" "test" { - name = var.rName - - event_config { - auth_providers { - auth_type = "API_KEY" - } - - connection_auth_modes { - auth_type = "API_KEY" - } - - default_publish_auth_modes { - auth_type = "API_KEY" - } - - default_subscribe_auth_modes { - auth_type = "API_KEY" - } - } -} - -variable "rName" { - description = "Name for resource" - type = string - nullable = false -} -terraform { - required_providers { - aws = { - source = "hashicorp/aws" - version = "6.0.0" - } - } -} - -provider "aws" {} diff --git a/internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf b/internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf deleted file mode 100644 index 2a5a3859bf5e..000000000000 --- a/internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: MPL-2.0 - -resource "aws_appsync_event_api" "test" { - region = var.region - - name = var.rName - - event_config { - auth_providers { - auth_type = "API_KEY" - } - - connection_auth_modes { - auth_type = "API_KEY" - } - - default_publish_auth_modes { - auth_type = "API_KEY" - } - - default_subscribe_auth_modes { - auth_type = "API_KEY" - } - } -} - -variable "rName" { - description = "Name for resource" - type = string - nullable = false -} - -variable "region" { - description = "Region to deploy resource in" - type = string - nullable = false -} diff --git a/internal/service/appsync/testdata/EventAPI/tags/main_gen.tf b/internal/service/appsync/testdata/EventAPI/tags/main_gen.tf deleted file mode 100644 index 736858d6161e..000000000000 --- a/internal/service/appsync/testdata/EventAPI/tags/main_gen.tf +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: MPL-2.0 - -resource "aws_appsync_event_api" "test" { - name = var.rName - - event_config { - auth_providers { - auth_type = "API_KEY" - } - - connection_auth_modes { - auth_type = "API_KEY" - } - - default_publish_auth_modes { - auth_type = "API_KEY" - } - - default_subscribe_auth_modes { - auth_type = "API_KEY" - } - } - - tags = var.resource_tags -} - -variable "rName" { - description = "Name for resource" - type = string - nullable = false -} - -variable "resource_tags" { - description = "Tags to set on resource. To specify no tags, set to `null`" - # Not setting a default, so that this must explicitly be set to `null` to specify no tags - type = map(string) - nullable = true -} diff --git a/internal/service/appsync/testdata/tmpl/event_api_tags.gtpl b/internal/service/appsync/testdata/tmpl/event_api_tags.gtpl deleted file mode 100644 index b2c9f2957f16..000000000000 --- a/internal/service/appsync/testdata/tmpl/event_api_tags.gtpl +++ /dev/null @@ -1,23 +0,0 @@ -resource "aws_appsync_event_api" "test" { - {{- template "region" }} - name = var.rName - - event_config { - auth_providers { - auth_type = "API_KEY" - } - - connection_auth_modes { - auth_type = "API_KEY" - } - - default_publish_auth_modes { - auth_type = "API_KEY" - } - - default_subscribe_auth_modes { - auth_type = "API_KEY" - } - } - {{- template "tags" . }} -} From b0edac2213487d42767597c2789356c33f270af6 Mon Sep 17 00:00:00 2001 From: ThomasZalewski Date: Thu, 24 Jul 2025 13:29:11 -0700 Subject: [PATCH 0033/1301] added test files --- internal/service/appsync/api.go | 558 ++++ .../service/appsync/api_identity_gen_test.go | 281 ++ internal/service/appsync/api_tags_gen_test.go | 2320 +++++++++++++++++ internal/service/appsync/api_test.go | 440 ++++ .../appsync/graphql_api_tags_gen_test.go | 2272 ++++++++++++++++ internal/service/appsync/tags_gen_test.go | 16 + .../appsync/testdata/API/basic/main_gen.tf | 30 + .../testdata/API/basic_v5.100.0/main_gen.tf | 40 + .../testdata/API/basic_v6.0.0/main_gen.tf | 40 + .../testdata/API/region_override/main_gen.tf | 38 + .../appsync/testdata/API/tags/main_gen.tf | 39 + .../testdata/API/tagsComputed1/main_gen.tf | 43 + .../testdata/API/tagsComputed2/main_gen.tf | 54 + .../testdata/API/tags_defaults/main_gen.tf | 50 + .../testdata/API/tags_ignore/main_gen.tf | 59 + .../testdata/GraphQLAPI/tags/main_gen.tf | 23 + .../GraphQLAPI/tagsComputed1/main_gen.tf | 27 + .../GraphQLAPI/tagsComputed2/main_gen.tf | 38 + .../GraphQLAPI/tags_defaults/main_gen.tf | 34 + .../GraphQLAPI/tags_ignore/main_gen.tf | 43 + .../appsync/testdata/tmpl/api_tags.gtpl | 23 + .../testdata/tmpl/graphql_api_tags.gtpl | 8 + 22 files changed, 6476 insertions(+) create mode 100644 internal/service/appsync/api.go create mode 100644 internal/service/appsync/api_identity_gen_test.go create mode 100644 internal/service/appsync/api_tags_gen_test.go create mode 100644 internal/service/appsync/api_test.go create mode 100644 internal/service/appsync/graphql_api_tags_gen_test.go create mode 100644 internal/service/appsync/tags_gen_test.go create mode 100644 internal/service/appsync/testdata/API/basic/main_gen.tf create mode 100644 internal/service/appsync/testdata/API/basic_v5.100.0/main_gen.tf create mode 100644 internal/service/appsync/testdata/API/basic_v6.0.0/main_gen.tf create mode 100644 internal/service/appsync/testdata/API/region_override/main_gen.tf create mode 100644 internal/service/appsync/testdata/API/tags/main_gen.tf create mode 100644 internal/service/appsync/testdata/API/tagsComputed1/main_gen.tf create mode 100644 internal/service/appsync/testdata/API/tagsComputed2/main_gen.tf create mode 100644 internal/service/appsync/testdata/API/tags_defaults/main_gen.tf create mode 100644 internal/service/appsync/testdata/API/tags_ignore/main_gen.tf create mode 100644 internal/service/appsync/testdata/GraphQLAPI/tags/main_gen.tf create mode 100644 internal/service/appsync/testdata/GraphQLAPI/tagsComputed1/main_gen.tf create mode 100644 internal/service/appsync/testdata/GraphQLAPI/tagsComputed2/main_gen.tf create mode 100644 internal/service/appsync/testdata/GraphQLAPI/tags_defaults/main_gen.tf create mode 100644 internal/service/appsync/testdata/GraphQLAPI/tags_ignore/main_gen.tf create mode 100644 internal/service/appsync/testdata/tmpl/api_tags.gtpl create mode 100644 internal/service/appsync/testdata/tmpl/graphql_api_tags.gtpl diff --git a/internal/service/appsync/api.go b/internal/service/appsync/api.go new file mode 100644 index 000000000000..c4d04fff81c6 --- /dev/null +++ b/internal/service/appsync/api.go @@ -0,0 +1,558 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package appsync + +import ( + "context" + "errors" + "fmt" + "time" + + "github.com/YakDriver/smarterr" + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/service/appsync" + awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" + "github.com/hashicorp/terraform-plugin-framework-timeouts/resource/timeouts" + "github.com/hashicorp/terraform-plugin-framework-timetypes/timetypes" + "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" + "github.com/hashicorp/terraform-plugin-framework/path" + "github.com/hashicorp/terraform-plugin-framework/resource" + "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/int64planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/mapplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/schema/validator" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" + "github.com/hashicorp/terraform-provider-aws/internal/errs" + "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" + "github.com/hashicorp/terraform-provider-aws/internal/framework" + "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" + fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" + "github.com/hashicorp/terraform-provider-aws/internal/smerr" + tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" + "github.com/hashicorp/terraform-provider-aws/internal/tfresource" + "github.com/hashicorp/terraform-provider-aws/names" +) + +// @FrameworkResource("aws_appsync_api", name="API") +// @Tags(identifierAttribute="arn") +// @IdentityAttribute("id") +// @Testing(importStateIdAttribute="id") +// @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/appsync/types;awstypes;awstypes.Api") +// @Testing(preIdentityVersion="v6.3.0") +func newAPIResource(_ context.Context) (resource.ResourceWithConfigure, error) { + r := &resourceAPI{} + + r.SetDefaultCreateTimeout(30 * time.Minute) + r.SetDefaultUpdateTimeout(30 * time.Minute) + r.SetDefaultDeleteTimeout(30 * time.Minute) + + return r, nil +} + +const ( + ResNameAPI = "API" +) + +type resourceAPI struct { + framework.ResourceWithModel[resourceAPIModel] + framework.WithTimeouts +} + +func (r *resourceAPI) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { + resp.Schema = schema.Schema{ + Attributes: map[string]schema.Attribute{ + names.AttrARN: framework.ARNAttributeComputedOnly(), + "id": schema.StringAttribute{ + Computed: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.UseStateForUnknown(), + }, + }, + "created": schema.StringAttribute{ + CustomType: timetypes.RFC3339Type{}, + Computed: true, + }, + "dns": schema.MapAttribute{ + CustomType: fwtypes.MapOfStringType, + Computed: true, + PlanModifiers: []planmodifier.Map{ + mapplanmodifier.UseStateForUnknown(), + }, + }, + names.AttrName: schema.StringAttribute{ + Required: true, + }, + "owner_contact": schema.StringAttribute{ + Optional: true, + }, + names.AttrTags: tftags.TagsAttribute(), + names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), + "waf_web_acl_arn": schema.StringAttribute{ + Computed: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.UseStateForUnknown(), + }, + }, + "xray_enabled": schema.BoolAttribute{ + Computed: true, + }, + }, + Blocks: map[string]schema.Block{ + "event_config": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[eventConfigModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Blocks: map[string]schema.Block{ + "auth_providers": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[authProviderModel](ctx), + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "auth_type": schema.StringAttribute{ + Required: true, + CustomType: fwtypes.StringEnumType[awstypes.AuthenticationType](), + }, + }, + Blocks: map[string]schema.Block{ + "cognito_config": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[cognitoConfigModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "aws_region": schema.StringAttribute{ + Required: true, + }, + "user_pool_id": schema.StringAttribute{ + Required: true, + }, + "app_id_client_regex": schema.StringAttribute{ + Optional: true, + }, + }, + }, + }, + "lambda_authorizer_config": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[lambdaAuthorizerConfigModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "authorizer_result_ttl_in_seconds": schema.Int64Attribute{ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Int64{ + int64planmodifier.UseStateForUnknown(), + }, + }, + "authorizer_uri": schema.StringAttribute{ + Required: true, + }, + "identity_validation_expression": schema.StringAttribute{ + Optional: true, + }, + }, + }, + }, + "openid_connect_config": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[openIDConnectConfigModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "auth_ttl": schema.Int64Attribute{ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Int64{ + int64planmodifier.UseStateForUnknown(), + }, + }, + names.AttrClientID: schema.StringAttribute{ + Optional: true, + }, + "iat_ttl": schema.Int64Attribute{ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Int64{ + int64planmodifier.UseStateForUnknown(), + }, + }, + names.AttrIssuer: schema.StringAttribute{ + Required: true, + }, + }, + }, + }, + }, + }, + }, + "connection_auth_modes": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[authModeModel](ctx), + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "auth_type": schema.StringAttribute{ + Required: true, + CustomType: fwtypes.StringEnumType[awstypes.AuthenticationType](), + }, + }, + }, + }, + "default_publish_auth_modes": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[authModeModel](ctx), + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "auth_type": schema.StringAttribute{ + Required: true, + CustomType: fwtypes.StringEnumType[awstypes.AuthenticationType](), + }, + }, + }, + }, + "default_subscribe_auth_modes": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[authModeModel](ctx), + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "auth_type": schema.StringAttribute{ + Required: true, + CustomType: fwtypes.StringEnumType[awstypes.AuthenticationType](), + }, + }, + }, + }, + "log_config": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[eventLogConfigModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "cloudwatch_logs_role_arn": schema.StringAttribute{ + Required: true, + }, + "log_level": schema.StringAttribute{ + Required: true, + CustomType: fwtypes.StringEnumType[awstypes.EventLogLevel](), + }, + }, + }, + }, + }, + }, + }, + names.AttrTimeouts: timeouts.Block(ctx, timeouts.Opts{ + Create: true, + Update: true, + Delete: true, + }), + }, + } +} + +func (r *resourceAPI) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { + conn := r.Meta().AppSyncClient(ctx) + + var plan resourceAPIModel + smerr.EnrichAppend(ctx, &resp.Diagnostics, req.Plan.Get(ctx, &plan)) + if resp.Diagnostics.HasError() { + return + } + + var input appsync.CreateApiInput + smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Expand(ctx, plan, &input)) + if resp.Diagnostics.HasError() { + return + } + + input.Tags = getTagsIn(ctx) + + out, err := conn.CreateApi(ctx, &input) + if err != nil { + smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, plan.Name.String()) + return + } + if out == nil || out.Api == nil { + smerr.AddError(ctx, &resp.Diagnostics, errors.New("empty output"), smerr.ID, plan.Name.String()) + return + } + + smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Flatten(ctx, out.Api, &plan), smerr.ID, plan.Name.String()) + if resp.Diagnostics.HasError() { + return + } + + createTimeout := r.CreateTimeout(ctx, plan.Timeouts) + _, err = waitAPICreated(ctx, conn, plan.ApiId.ValueString(), createTimeout) + if err != nil { + smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, plan.Name.String()) + return + } + + smerr.EnrichAppend(ctx, &resp.Diagnostics, resp.State.Set(ctx, plan), smerr.ID, plan.ApiId.String()) +} + +func (r *resourceAPI) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { + conn := r.Meta().AppSyncClient(ctx) + + var state resourceAPIModel + smerr.EnrichAppend(ctx, &resp.Diagnostics, req.State.Get(ctx, &state)) + if resp.Diagnostics.HasError() { + return + } + + apiId := state.ApiId.ValueString() + fmt.Println("hello", apiId) + + out, err := findAPIByID(ctx, conn, apiId) + if tfresource.NotFound(err) { + resp.Diagnostics.Append(fwdiag.NewResourceNotFoundWarningDiagnostic(err)) + resp.State.RemoveResource(ctx) + return + } + if err != nil { + smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, state.ApiId.String()) + return + } + + smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Flatten(ctx, out, &state), smerr.ID, state.ApiId.String()) + if resp.Diagnostics.HasError() { + return + } + + smerr.EnrichAppend(ctx, &resp.Diagnostics, resp.State.Set(ctx, &state), smerr.ID, state.ApiId.String()) +} + +func (r *resourceAPI) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { + conn := r.Meta().AppSyncClient(ctx) + + var plan, state resourceAPIModel + smerr.EnrichAppend(ctx, &resp.Diagnostics, req.Plan.Get(ctx, &plan)) + smerr.EnrichAppend(ctx, &resp.Diagnostics, req.State.Get(ctx, &state)) + if resp.Diagnostics.HasError() { + return + } + + diff, d := flex.Diff(ctx, plan, state) + smerr.EnrichAppend(ctx, &resp.Diagnostics, d, smerr.ID, plan.ApiId.String()) + if resp.Diagnostics.HasError() { + return + } + + if diff.HasChanges() { + var input appsync.UpdateApiInput + smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Expand(ctx, plan, &input), smerr.ID, plan.ApiId.String()) + if resp.Diagnostics.HasError() { + return + } + + input.ApiId = plan.ApiId.ValueStringPointer() + + out, err := conn.UpdateApi(ctx, &input) + if err != nil { + smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, plan.ApiId.String()) + return + } + if out == nil || out.Api == nil { + smerr.AddError(ctx, &resp.Diagnostics, errors.New("empty output"), smerr.ID, plan.ApiId.String()) + return + } + + smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Flatten(ctx, out.Api, &plan), smerr.ID, plan.ApiId.String()) + if resp.Diagnostics.HasError() { + return + } + } + + smerr.EnrichAppend(ctx, &resp.Diagnostics, resp.State.Set(ctx, &plan), smerr.ID, plan.ApiId.String()) +} + +func (r *resourceAPI) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { + conn := r.Meta().AppSyncClient(ctx) + + var state resourceAPIModel + smerr.EnrichAppend(ctx, &resp.Diagnostics, req.State.Get(ctx, &state)) + if resp.Diagnostics.HasError() { + return + } + + input := appsync.DeleteApiInput{ + ApiId: state.ApiId.ValueStringPointer(), + } + + _, err := conn.DeleteApi(ctx, &input) + if err != nil { + if errs.IsA[*awstypes.NotFoundException](err) { + return + } + + smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, state.ApiId.String()) + return + } + + deleteTimeout := r.DeleteTimeout(ctx, state.Timeouts) + _, err = waitAPIDeleted(ctx, conn, state.ApiId.ValueString(), deleteTimeout) + if err != nil { + smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, state.ApiId.String()) + return + } +} + +func (r *resourceAPI) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { + resource.ImportStatePassthroughID(ctx, path.Root("id"), req, resp) +} + +const ( + statusDeleting = "Deleting" + statusNormal = "Normal" +) + +func waitAPICreated(ctx context.Context, conn *appsync.Client, id string, timeout time.Duration) (*awstypes.Api, error) { + stateConf := &retry.StateChangeConf{ + Pending: []string{}, + Target: []string{statusNormal}, + Refresh: statusAPI(ctx, conn, id), + Timeout: timeout, + NotFoundChecks: 20, + ContinuousTargetOccurence: 2, + } + + outputRaw, err := stateConf.WaitForStateContext(ctx) + if err != nil { + fmt.Printf("[DEBUG] waitAPICreated: Wait failed with error: %v\n", err) + } else { + fmt.Printf("[DEBUG] waitAPICreated: Wait completed successfully for API: %s\n", id) + } + + if out, ok := outputRaw.(*awstypes.Api); ok { + return out, smarterr.NewError(err) + } + + return nil, smarterr.NewError(err) +} + +func waitAPIDeleted(ctx context.Context, conn *appsync.Client, id string, timeout time.Duration) (*awstypes.Api, error) { + fmt.Printf("[DEBUG] waitAPIDeleted: Starting wait for API deletion: %s\n", id) + stateConf := &retry.StateChangeConf{ + Pending: []string{statusDeleting, statusNormal}, + Target: []string{}, + Refresh: statusAPI(ctx, conn, id), + Timeout: timeout, + } + + outputRaw, err := stateConf.WaitForStateContext(ctx) + if err != nil { + fmt.Printf("[DEBUG] waitAPIDeleted: Wait failed with error: %v\n", err) + } else { + fmt.Printf("[DEBUG] waitAPIDeleted: Wait completed successfully for API: %s\n", id) + } + + if out, ok := outputRaw.(*awstypes.Api); ok { + return out, smarterr.NewError(err) + } + + return nil, smarterr.NewError(err) +} + +func statusAPI(ctx context.Context, conn *appsync.Client, id string) retry.StateRefreshFunc { + return func() (any, string, error) { + out, err := findAPIByID(ctx, conn, id) + if tfresource.NotFound(err) { + return nil, "", nil + } + + if err != nil { + return nil, "", smarterr.NewError(err) + } + + return out, statusNormal, nil + } +} + +func findAPIByID(ctx context.Context, conn *appsync.Client, id string) (*awstypes.Api, error) { + input := appsync.GetApiInput{ + ApiId: aws.String(id), + } + + out, err := conn.GetApi(ctx, &input) + if err != nil { + if errs.IsA[*awstypes.NotFoundException](err) { + return nil, smarterr.NewError(&retry.NotFoundError{ + LastError: err, + LastRequest: &input, + }) + } + return nil, smarterr.NewError(err) + } + + if out == nil || out.Api == nil { + return nil, smarterr.NewError(tfresource.NewEmptyResultError(&input)) + } + + return out.Api, nil +} + +type resourceAPIModel struct { + framework.WithRegionModel + ApiArn types.String `tfsdk:"arn"` + ApiId types.String `tfsdk:"id"` + Created timetypes.RFC3339 `tfsdk:"created"` + Dns fwtypes.MapOfString `tfsdk:"dns"` + EventConfig fwtypes.ListNestedObjectValueOf[eventConfigModel] `tfsdk:"event_config"` + Name types.String `tfsdk:"name"` + OwnerContact types.String `tfsdk:"owner_contact"` + Tags tftags.Map `tfsdk:"tags"` + TagsAll tftags.Map `tfsdk:"tags_all"` + Timeouts timeouts.Value `tfsdk:"timeouts"` + WafWebAclArn types.String `tfsdk:"waf_web_acl_arn"` + XrayEnabled types.Bool `tfsdk:"xray_enabled"` +} + +type eventConfigModel struct { + AuthProviders fwtypes.ListNestedObjectValueOf[authProviderModel] `tfsdk:"auth_providers"` + ConnectionAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"connection_auth_modes"` + DefaultPublishAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"default_publish_auth_modes"` + DefaultSubscribeAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"default_subscribe_auth_modes"` + LogConfig fwtypes.ListNestedObjectValueOf[eventLogConfigModel] `tfsdk:"log_config"` +} + +type authProviderModel struct { + AuthType fwtypes.StringEnum[awstypes.AuthenticationType] `tfsdk:"auth_type"` + CognitoConfig fwtypes.ListNestedObjectValueOf[cognitoConfigModel] `tfsdk:"cognito_config"` + LambdaAuthorizerConfig fwtypes.ListNestedObjectValueOf[lambdaAuthorizerConfigModel] `tfsdk:"lambda_authorizer_config"` + OpenIDConnectConfig fwtypes.ListNestedObjectValueOf[openIDConnectConfigModel] `tfsdk:"openid_connect_config"` +} + +type authModeModel struct { + AuthType fwtypes.StringEnum[awstypes.AuthenticationType] `tfsdk:"auth_type"` +} + +type cognitoConfigModel struct { + AwsRegion types.String `tfsdk:"aws_region"` + UserPoolId types.String `tfsdk:"user_pool_id"` + AppIdClientRegex types.String `tfsdk:"app_id_client_regex"` +} + +type lambdaAuthorizerConfigModel struct { + AuthorizerResultTtlInSeconds types.Int64 `tfsdk:"authorizer_result_ttl_in_seconds"` + AuthorizerUri types.String `tfsdk:"authorizer_uri"` + IdentityValidationExpression types.String `tfsdk:"identity_validation_expression"` +} + +type openIDConnectConfigModel struct { + AuthTtl types.Int64 `tfsdk:"auth_ttl"` + ClientId types.String `tfsdk:"client_id"` + IatTtl types.Int64 `tfsdk:"iat_ttl"` + Issuer types.String `tfsdk:"issuer"` +} + +type eventLogConfigModel struct { + CloudWatchLogsRoleArn types.String `tfsdk:"cloudwatch_logs_role_arn"` + LogLevel fwtypes.StringEnum[awstypes.EventLogLevel] `tfsdk:"log_level"` +} diff --git a/internal/service/appsync/api_identity_gen_test.go b/internal/service/appsync/api_identity_gen_test.go new file mode 100644 index 000000000000..3ff03c50f4c4 --- /dev/null +++ b/internal/service/appsync/api_identity_gen_test.go @@ -0,0 +1,281 @@ +// Code generated by internal/generate/identitytests/main.go; DO NOT EDIT. + +package appsync_test + +import ( + "testing" + + awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" + "github.com/hashicorp/terraform-plugin-testing/config" + sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-plugin-testing/tfversion" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfknownvalue "github.com/hashicorp/terraform-provider-aws/internal/acctest/knownvalue" + tfstatecheck "github.com/hashicorp/terraform-provider-aws/internal/acctest/statecheck" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccAppSyncAPI_Identity_Basic(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/API/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.Region()), + names.AttrID: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/API/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ImportStateKind: resource.ImportCommandWithID, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/API/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/API/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + }, + }) +} + +func TestAccAppSyncAPI_Identity_RegionOverride(t *testing.T) { + ctx := acctest.Context(t) + + resourceName := "aws_appsync_api.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: acctest.CheckDestroyNoop, + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/API/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrID: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/API/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + // TODO + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/API/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + // TODO + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/API/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + }, + }) +} + +func TestAccAppSyncAPI_Identity_ExistingResource(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + // Step 1: Create pre-Identity + { + ConfigDirectory: config.StaticDirectory("testdata/API/basic_v5.100.0/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + tfstatecheck.ExpectNoIdentity(resourceName), + }, + }, + + // Step 2: v6.0 Identity set on refresh + { + ConfigDirectory: config.StaticDirectory("testdata/API/basic_v6.0.0/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.Region()), + names.AttrID: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), + }, + }, + + // Step 3: Current version + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.Region()), + names.AttrID: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), + }, + }, + }, + }) +} diff --git a/internal/service/appsync/api_tags_gen_test.go b/internal/service/appsync/api_tags_gen_test.go new file mode 100644 index 000000000000..1d710f88064d --- /dev/null +++ b/internal/service/appsync/api_tags_gen_test.go @@ -0,0 +1,2320 @@ +// Code generated by internal/generate/tagstests/main.go; DO NOT EDIT. + +package appsync_test + +import ( + "testing" + + awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" + "github.com/hashicorp/terraform-plugin-testing/config" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccAppSyncAPI_tags(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1Updated), + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1Updated), + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_null(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: nil, + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.Null(), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.Null(), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: nil, + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + ImportStateVerifyIgnore: []string{ + acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" + }, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_EmptyMap(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{}), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{}), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + ImportStateVerifyIgnore: []string{ + acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" + }, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_AddOnUpdate(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_EmptyTag_OnCreate(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_EmptyTag_OnUpdate_Add(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + acctest.CtKey2: config.StringVariable(""), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + acctest.CtKey2: knownvalue.StringExact(""), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + acctest.CtKey2: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + acctest.CtKey2: knownvalue.StringExact(""), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + acctest.CtKey2: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + acctest.CtKey2: config.StringVariable(""), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_DefaultTags_providerOnly(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1Updated), + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1Updated), + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_DefaultTags_nonOverlapping(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1Updated), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1Updated), + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1Updated), + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1Updated), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_DefaultTags_overlapping(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + acctest.CtOverlapKey2: config.StringVariable("providervalue2"), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), + acctest.CtOverlapKey2: config.StringVariable(acctest.CtResourceValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtOverlapKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtOverlapKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtOverlapKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtOverlapKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + acctest.CtOverlapKey2: config.StringVariable("providervalue2"), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), + acctest.CtOverlapKey2: config.StringVariable(acctest.CtResourceValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_DefaultTags_updateToProviderOnly(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_DefaultTags_updateToResourceOnly(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_DefaultTags_emptyResourceTag(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: nil, + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.Null(), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.Null(), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: nil, + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + ImportStateVerifyIgnore: []string{ + acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" + }, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: nil, + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.Null(), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(""), + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.Null(), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(""), + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: nil, + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + ImportStateVerifyIgnore: []string{ + "tags.resourcekey1", // The canonical value returned by the AWS API is "" + }, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_ComputedTag_OnCreate(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tagsComputed1/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable("computedkey1"), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + resource.TestCheckResourceAttrPair(resourceName, "tags.computedkey1", "null_resource.test", names.AttrID), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapSizeExact(1)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapSizeExact(1)), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTags).AtMapKey("computedkey1")), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tagsComputed1/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable("computedkey1"), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_ComputedTag_OnUpdate_Add(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tagsComputed2/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable("computedkey1"), + "knownTagKey": config.StringVariable(acctest.CtKey1), + "knownTagValue": config.StringVariable(acctest.CtValue1), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + resource.TestCheckResourceAttrPair(resourceName, "tags.computedkey1", "null_resource.test", names.AttrID), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapSizeExact(2)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapPartial(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapSizeExact(2)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapPartial(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTags).AtMapKey("computedkey1")), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tagsComputed2/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable("computedkey1"), + "knownTagKey": config.StringVariable(acctest.CtKey1), + "knownTagValue": config.StringVariable(acctest.CtValue1), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tagsComputed1/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable(acctest.CtKey1), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + resource.TestCheckResourceAttrPair(resourceName, acctest.CtTagsKey1, "null_resource.test", names.AttrID), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapSizeExact(1)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapSizeExact(1)), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTags).AtMapKey(acctest.CtKey1)), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tagsComputed1/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable(acctest.CtKey1), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + // 1: Create + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtProviderKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), // TODO: Should not be set + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + }, + }, + // 2: Update ignored tag only + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1Updated), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtProviderKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), // TODO: Should not be set + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + }, + }, + // 3: Update both tags + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1Again), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Updated), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtProviderKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), // TODO: Should not be set + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + }, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + // 1: Create + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtResourceKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), // TODO: Should not be set + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), // TODO: Should be NoOp + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + ExpectNonEmptyPlan: true, + }, + // 2: Update ignored tag + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtResourceKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), // TODO: Should not be set + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), // TODO: Should be NoOp + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + ExpectNonEmptyPlan: true, + }, + // 3: Update both tags + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Again), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2Updated), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtResourceKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Again), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), // TODO: Should not be set + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Again), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), // TODO: Should be NoOp + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Again), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + }, + }, + ExpectNonEmptyPlan: true, + }, + }, + }) +} diff --git a/internal/service/appsync/api_test.go b/internal/service/appsync/api_test.go new file mode 100644 index 000000000000..51443452624e --- /dev/null +++ b/internal/service/appsync/api_test.go @@ -0,0 +1,440 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package appsync_test + +import ( + "context" + "errors" + "fmt" + "testing" + + awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" + sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/terraform" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + "github.com/hashicorp/terraform-provider-aws/internal/conns" + "github.com/hashicorp/terraform-provider-aws/internal/create" + "github.com/hashicorp/terraform-provider-aws/internal/tfresource" + "github.com/hashicorp/terraform-provider-aws/names" + + tfappsync "github.com/hashicorp/terraform-provider-aws/internal/service/appsync" +) + +func TestAccAppSyncAPI_basic(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var api awstypes.Api + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_appsync_api.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) + testAccPreCheck(ctx, t) + }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccAPIConfig_eventConfigComprehensive(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &api), + resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), + resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), + resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "3"), + // Cognito auth provider + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.0.auth_type", "AMAZON_COGNITO_USER_POOLS"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.0.cognito_config.#", "1"), + resource.TestCheckResourceAttrSet(resourceName, "event_config.0.auth_providers.0.cognito_config.0.user_pool_id"), + resource.TestCheckResourceAttrSet(resourceName, "event_config.0.auth_providers.0.cognito_config.0.aws_region"), + // Lambda auth provider + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.1.auth_type", "AWS_LAMBDA"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.1.lambda_authorizer_config.#", "1"), + resource.TestCheckResourceAttrSet(resourceName, "event_config.0.auth_providers.1.lambda_authorizer_config.0.authorizer_uri"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.1.lambda_authorizer_config.0.authorizer_result_ttl_in_seconds", "300"), + // OpenID Connect auth provider + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.2.auth_type", "OPENID_CONNECT"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.2.openid_connect_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.2.openid_connect_config.0.issuer", "https://example.com"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.2.openid_connect_config.0.client_id", "test-client-id"), + // Auth modes + resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.0.auth_type", "AWS_LAMBDA"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.0.auth_type", "AWS_LAMBDA"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.0.auth_type", "AWS_LAMBDA"), + // Log config + resource.TestCheckResourceAttr(resourceName, "event_config.0.log_config.#", "1"), + resource.TestCheckResourceAttrSet(resourceName, "event_config.0.log_config.0.cloudwatch_logs_role_arn"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.log_config.0.log_level", "ERROR"), + // Tags + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "2"), + resource.TestCheckResourceAttr(resourceName, "tags.Environment", "test"), + resource.TestCheckResourceAttr(resourceName, "tags.Purpose", "event-api-testing"), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsAllPercent, "2"), + resource.TestCheckResourceAttr(resourceName, "tags_all.Environment", "test"), + resource.TestCheckResourceAttr(resourceName, "tags_all.Purpose", "event-api-testing"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncAPI_update(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var api awstypes.Api + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + rNameUpdated := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_appsync_api.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) + testAccPreCheck(ctx, t) + }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccAPIConfig_eventConfigComprehensive(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &api), + resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), + resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), + resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "3"), + ), + }, + { + Config: testAccAPIConfig_eventConfigComprehensive(rNameUpdated), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &api), + resource.TestCheckResourceAttr(resourceName, names.AttrName, rNameUpdated), + resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), + resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "3"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} +func TestAccAppSyncAPI_disappears(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var api awstypes.Api + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_appsync_api.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) + testAccPreCheck(ctx, t) + }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccAPIConfig_basic(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &api), + resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), + resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.0.auth_type", "API_KEY"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.0.auth_type", "API_KEY"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.0.auth_type", "API_KEY"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.0.auth_type", "API_KEY"), + acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfappsync.ResourceAPI, resourceName), + ), + ExpectNonEmptyPlan: true, + }, + }, + }) +} +func testAccCheckAPIDestroy(ctx context.Context) resource.TestCheckFunc { + return func(s *terraform.State) error { + conn := acctest.Provider.Meta().(*conns.AWSClient).AppSyncClient(ctx) + + for _, rs := range s.RootModule().Resources { + if rs.Type != "aws_appsync_api" { + continue + } + + _, err := tfappsync.FindAPIByID(ctx, conn, rs.Primary.ID) + if tfresource.NotFound(err) { + return nil + } + if err != nil { + return create.Error(names.AppSync, create.ErrActionCheckingDestroyed, tfappsync.ResNameAPI, rs.Primary.ID, err) + } + + return create.Error(names.AppSync, create.ErrActionCheckingDestroyed, tfappsync.ResNameAPI, rs.Primary.ID, errors.New("not destroyed")) + } + + return nil + } +} + +func testAccCheckAPIExists(ctx context.Context, name string, api *awstypes.Api) resource.TestCheckFunc { + return func(s *terraform.State) error { + rs, ok := s.RootModule().Resources[name] + if !ok { + return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameAPI, name, errors.New("not found")) + } + + if rs.Primary.ID == "" { + return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameAPI, name, errors.New("not set")) + } + + conn := acctest.Provider.Meta().(*conns.AWSClient).AppSyncClient(ctx) + + resp, err := tfappsync.FindAPIByID(ctx, conn, rs.Primary.ID) + if err != nil { + return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameAPI, rs.Primary.ID, err) + } + + *api = *resp + + return nil + } +} + +func testAccAPIConfig_basic(rName string) string { + return fmt.Sprintf(` +resource "aws_appsync_api" "test" { + name = %[1]q + + event_config { + auth_providers { + auth_type = "API_KEY" + } + + connection_auth_modes { + auth_type = "API_KEY" + } + + default_publish_auth_modes { + auth_type = "API_KEY" + } + + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } +} +`, rName) +} + +func testAccAPIConfig_eventConfigComprehensive(rName string) string { + return fmt.Sprintf(` +resource "aws_cognito_user_pool" "test" { + name = %[1]q +} + +resource "aws_iam_role" "lambda" { + name = "%[1]s-lambda" + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "lambda_basic" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "lambda_basic" { + name = "%[1]s-lambda-basic" + role = aws_iam_role.lambda.id + policy = data.aws_iam_policy_document.lambda_basic.json +} + +resource "aws_lambda_function" "test" { + filename = "test-fixtures/lambdatest.zip" + function_name = %[1]q + role = aws_iam_role.lambda.arn + handler = "index.handler" + runtime = "nodejs18.x" + source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") + + depends_on = [aws_iam_role_policy.lambda_basic] +} + +resource "aws_lambda_permission" "appsync_invoke" { + statement_id = "AllowExecutionFromAppSync" + action = "lambda:InvokeFunction" + function_name = aws_lambda_function.test.function_name + principal = "appsync.amazonaws.com" +} + +resource "aws_iam_role" "cloudwatch" { + name = "%[1]s-cloudwatch" + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "appsync.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "cloudwatch_logs" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "cloudwatch" { + name = "%[1]s-cloudwatch-policy" + role = aws_iam_role.cloudwatch.id + policy = data.aws_iam_policy_document.cloudwatch_logs.json +} + +resource "aws_appsync_api" "test" { + name = %[1]q + owner_contact = "test@example.com" + + event_config { + auth_providers { + auth_type = "AMAZON_COGNITO_USER_POOLS" + cognito_config { + user_pool_id = aws_cognito_user_pool.test.id + aws_region = data.aws_region.current.name + } + } + + auth_providers { + auth_type = "AWS_LAMBDA" + lambda_authorizer_config { + authorizer_uri = aws_lambda_function.test.arn + authorizer_result_ttl_in_seconds = 300 + } + } + + auth_providers { + auth_type = "OPENID_CONNECT" + openid_connect_config { + issuer = "https://example.com" + client_id = "test-client-id" + } + } + + connection_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_publish_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_subscribe_auth_modes { + auth_type = "AWS_LAMBDA" + } + + log_config { + cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn + log_level = "ERROR" + } + } + + tags = { + Environment = "test" + Purpose = "event-api-testing" + } + + depends_on = [ + aws_lambda_permission.appsync_invoke, + aws_iam_role_policy.cloudwatch + ] +} + +data "aws_region" "current" {} +`, rName) +} + +func testAccAPIConfig_tags1(rName, tagKey1, tagValue1 string) string { + return fmt.Sprintf(` +resource "aws_appsync_api" "test" { + name = %[1]q + + tags = { + %[2]q = %[3]q + } +} +`, rName, tagKey1, tagValue1) +} + +func testAccAPIConfig_tags2(rName, tagKey1, tagValue1, tagKey2, tagValue2 string) string { + return fmt.Sprintf(` +resource "aws_appsync_api" "test" { + name = %[1]q + + tags = { + %[2]q = %[3]q + %[4]q = %[5]q + } +} +`, rName, tagKey1, tagValue1, tagKey2, tagValue2) +} diff --git a/internal/service/appsync/graphql_api_tags_gen_test.go b/internal/service/appsync/graphql_api_tags_gen_test.go new file mode 100644 index 000000000000..8c99f5b13754 --- /dev/null +++ b/internal/service/appsync/graphql_api_tags_gen_test.go @@ -0,0 +1,2272 @@ +// Code generated by internal/generate/tagstests/main.go; DO NOT EDIT. + +package appsync_test + +import ( + "testing" + + awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" + "github.com/hashicorp/terraform-plugin-testing/config" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccAppSyncGraphQLAPI_tags(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1Updated), + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1Updated), + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_null(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: nil, + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + // TODO: Should be known + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: nil, + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_EmptyMap(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{}), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + // TODO: Should be known + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{}), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_AddOnUpdate(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + // TODO: Should be known + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_EmptyTag_OnCreate(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + // TODO: Should be known + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_EmptyTag_OnUpdate_Add(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + acctest.CtKey2: config.StringVariable(""), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + acctest.CtKey2: knownvalue.StringExact(""), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + acctest.CtKey2: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + acctest.CtKey2: knownvalue.StringExact(""), + })), + // TODO: Should be known + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + acctest.CtKey2: config.StringVariable(""), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + // TODO: Should be known + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_DefaultTags_providerOnly(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1Updated), + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1Updated), + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_DefaultTags_nonOverlapping(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1Updated), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1Updated), + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1Updated), + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1Updated), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_DefaultTags_overlapping(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + acctest.CtOverlapKey2: config.StringVariable("providervalue2"), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), + acctest.CtOverlapKey2: config.StringVariable(acctest.CtResourceValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtOverlapKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtOverlapKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtOverlapKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtOverlapKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + acctest.CtOverlapKey2: config.StringVariable("providervalue2"), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), + acctest.CtOverlapKey2: config.StringVariable(acctest.CtResourceValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_DefaultTags_updateToProviderOnly(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_DefaultTags_updateToResourceOnly(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_DefaultTags_emptyResourceTag(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + // TODO: Should be known + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + // TODO: Should be known + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: nil, + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtProviderValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtProviderValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: nil, + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: nil, + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: nil, + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_ComputedTag_OnCreate(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tagsComputed1/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable("computedkey1"), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + resource.TestCheckResourceAttrPair(resourceName, "tags.computedkey1", "null_resource.test", names.AttrID), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapSizeExact(1)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapSizeExact(1)), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTags)), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tagsComputed1/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable("computedkey1"), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_ComputedTag_OnUpdate_Add(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tagsComputed2/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable("computedkey1"), + "knownTagKey": config.StringVariable(acctest.CtKey1), + "knownTagValue": config.StringVariable(acctest.CtValue1), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + resource.TestCheckResourceAttrPair(resourceName, "tags.computedkey1", "null_resource.test", names.AttrID), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapSizeExact(2)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapPartial(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapSizeExact(2)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapPartial(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTags)), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tagsComputed2/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable("computedkey1"), + "knownTagKey": config.StringVariable(acctest.CtKey1), + "knownTagValue": config.StringVariable(acctest.CtValue1), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tagsComputed1/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable(acctest.CtKey1), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + resource.TestCheckResourceAttrPair(resourceName, acctest.CtTagsKey1, "null_resource.test", names.AttrID), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapSizeExact(1)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapSizeExact(1)), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTags)), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tagsComputed1/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable(acctest.CtKey1), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + Steps: []resource.TestStep{ + // 1: Create + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtProviderKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), // TODO: Should not be set + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + }, + }, + // 2: Update ignored tag only + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1Updated), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtProviderKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), // TODO: Should not be set + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + }, + }, + // 3: Update both tags + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1Again), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Updated), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtProviderKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), // TODO: Should not be set + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + }, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + Steps: []resource.TestStep{ + // 1: Create + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtResourceKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), // TODO: Should not be set + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + ExpectNonEmptyPlan: true, + }, + // 2: Update ignored tag + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtResourceKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), // TODO: Should not be set + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + ExpectNonEmptyPlan: true, + }, + // 3: Update both tags + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Again), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2Updated), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtResourceKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), // TODO: Should not be set + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Again), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Again), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Again), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + }, + }, + ExpectNonEmptyPlan: true, + }, + }, + }) +} diff --git a/internal/service/appsync/tags_gen_test.go b/internal/service/appsync/tags_gen_test.go new file mode 100644 index 000000000000..3e5d2ad45d0b --- /dev/null +++ b/internal/service/appsync/tags_gen_test.go @@ -0,0 +1,16 @@ +// Code generated by internal/generate/tagstests/main.go; DO NOT EDIT. + +package appsync_test + +import ( + "context" + + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + tfstatecheck "github.com/hashicorp/terraform-provider-aws/internal/acctest/statecheck" + tfappsync "github.com/hashicorp/terraform-provider-aws/internal/service/appsync" +) + +func expectFullResourceTags(ctx context.Context, resourceAddress string, knownValue knownvalue.Check) statecheck.StateCheck { + return tfstatecheck.ExpectFullResourceTags(tfappsync.ServicePackage(ctx), resourceAddress, knownValue) +} diff --git a/internal/service/appsync/testdata/API/basic/main_gen.tf b/internal/service/appsync/testdata/API/basic/main_gen.tf new file mode 100644 index 000000000000..cb4202095bfc --- /dev/null +++ b/internal/service/appsync/testdata/API/basic/main_gen.tf @@ -0,0 +1,30 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_appsync_api" "test" { + name = var.rName + + event_config { + auth_providers { + auth_type = "API_KEY" + } + + connection_auth_modes { + auth_type = "API_KEY" + } + + default_publish_auth_modes { + auth_type = "API_KEY" + } + + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} diff --git a/internal/service/appsync/testdata/API/basic_v5.100.0/main_gen.tf b/internal/service/appsync/testdata/API/basic_v5.100.0/main_gen.tf new file mode 100644 index 000000000000..58115748f07b --- /dev/null +++ b/internal/service/appsync/testdata/API/basic_v5.100.0/main_gen.tf @@ -0,0 +1,40 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_appsync_api" "test" { + name = var.rName + + event_config { + auth_providers { + auth_type = "API_KEY" + } + + connection_auth_modes { + auth_type = "API_KEY" + } + + default_publish_auth_modes { + auth_type = "API_KEY" + } + + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "5.100.0" + } + } +} + +provider "aws" {} diff --git a/internal/service/appsync/testdata/API/basic_v6.0.0/main_gen.tf b/internal/service/appsync/testdata/API/basic_v6.0.0/main_gen.tf new file mode 100644 index 000000000000..9fe03fa335b1 --- /dev/null +++ b/internal/service/appsync/testdata/API/basic_v6.0.0/main_gen.tf @@ -0,0 +1,40 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_appsync_api" "test" { + name = var.rName + + event_config { + auth_providers { + auth_type = "API_KEY" + } + + connection_auth_modes { + auth_type = "API_KEY" + } + + default_publish_auth_modes { + auth_type = "API_KEY" + } + + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "6.0.0" + } + } +} + +provider "aws" {} diff --git a/internal/service/appsync/testdata/API/region_override/main_gen.tf b/internal/service/appsync/testdata/API/region_override/main_gen.tf new file mode 100644 index 000000000000..77928d1520b4 --- /dev/null +++ b/internal/service/appsync/testdata/API/region_override/main_gen.tf @@ -0,0 +1,38 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_appsync_api" "test" { + region = var.region + + name = var.rName + + event_config { + auth_providers { + auth_type = "API_KEY" + } + + connection_auth_modes { + auth_type = "API_KEY" + } + + default_publish_auth_modes { + auth_type = "API_KEY" + } + + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "region" { + description = "Region to deploy resource in" + type = string + nullable = false +} diff --git a/internal/service/appsync/testdata/API/tags/main_gen.tf b/internal/service/appsync/testdata/API/tags/main_gen.tf new file mode 100644 index 000000000000..856cf507e796 --- /dev/null +++ b/internal/service/appsync/testdata/API/tags/main_gen.tf @@ -0,0 +1,39 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_appsync_api" "test" { + name = var.rName + + event_config { + auth_providers { + auth_type = "API_KEY" + } + + connection_auth_modes { + auth_type = "API_KEY" + } + + default_publish_auth_modes { + auth_type = "API_KEY" + } + + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } + + tags = var.resource_tags +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "resource_tags" { + description = "Tags to set on resource. To specify no tags, set to `null`" + # Not setting a default, so that this must explicitly be set to `null` to specify no tags + type = map(string) + nullable = true +} diff --git a/internal/service/appsync/testdata/API/tagsComputed1/main_gen.tf b/internal/service/appsync/testdata/API/tagsComputed1/main_gen.tf new file mode 100644 index 000000000000..43f59be80535 --- /dev/null +++ b/internal/service/appsync/testdata/API/tagsComputed1/main_gen.tf @@ -0,0 +1,43 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "null" {} + +resource "aws_appsync_api" "test" { + name = var.rName + + event_config { + auth_providers { + auth_type = "API_KEY" + } + + connection_auth_modes { + auth_type = "API_KEY" + } + + default_publish_auth_modes { + auth_type = "API_KEY" + } + + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } + + tags = { + (var.unknownTagKey) = null_resource.test.id + } +} + +resource "null_resource" "test" {} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "unknownTagKey" { + type = string + nullable = false +} diff --git a/internal/service/appsync/testdata/API/tagsComputed2/main_gen.tf b/internal/service/appsync/testdata/API/tagsComputed2/main_gen.tf new file mode 100644 index 000000000000..40fbd1e57600 --- /dev/null +++ b/internal/service/appsync/testdata/API/tagsComputed2/main_gen.tf @@ -0,0 +1,54 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "null" {} + +resource "aws_appsync_api" "test" { + name = var.rName + + event_config { + auth_providers { + auth_type = "API_KEY" + } + + connection_auth_modes { + auth_type = "API_KEY" + } + + default_publish_auth_modes { + auth_type = "API_KEY" + } + + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } + + tags = { + (var.unknownTagKey) = null_resource.test.id + (var.knownTagKey) = var.knownTagValue + } +} + +resource "null_resource" "test" {} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "unknownTagKey" { + type = string + nullable = false +} + +variable "knownTagKey" { + type = string + nullable = false +} + +variable "knownTagValue" { + type = string + nullable = false +} diff --git a/internal/service/appsync/testdata/API/tags_defaults/main_gen.tf b/internal/service/appsync/testdata/API/tags_defaults/main_gen.tf new file mode 100644 index 000000000000..b2ab1d518182 --- /dev/null +++ b/internal/service/appsync/testdata/API/tags_defaults/main_gen.tf @@ -0,0 +1,50 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "aws" { + default_tags { + tags = var.provider_tags + } +} + +resource "aws_appsync_api" "test" { + name = var.rName + + event_config { + auth_providers { + auth_type = "API_KEY" + } + + connection_auth_modes { + auth_type = "API_KEY" + } + + default_publish_auth_modes { + auth_type = "API_KEY" + } + + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } + + tags = var.resource_tags +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "resource_tags" { + description = "Tags to set on resource. To specify no tags, set to `null`" + # Not setting a default, so that this must explicitly be set to `null` to specify no tags + type = map(string) + nullable = true +} + +variable "provider_tags" { + type = map(string) + nullable = false +} diff --git a/internal/service/appsync/testdata/API/tags_ignore/main_gen.tf b/internal/service/appsync/testdata/API/tags_ignore/main_gen.tf new file mode 100644 index 000000000000..14110e0b6dee --- /dev/null +++ b/internal/service/appsync/testdata/API/tags_ignore/main_gen.tf @@ -0,0 +1,59 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "aws" { + default_tags { + tags = var.provider_tags + } + ignore_tags { + keys = var.ignore_tag_keys + } +} + +resource "aws_appsync_api" "test" { + name = var.rName + + event_config { + auth_providers { + auth_type = "API_KEY" + } + + connection_auth_modes { + auth_type = "API_KEY" + } + + default_publish_auth_modes { + auth_type = "API_KEY" + } + + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } + + tags = var.resource_tags +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "resource_tags" { + description = "Tags to set on resource. To specify no tags, set to `null`" + # Not setting a default, so that this must explicitly be set to `null` to specify no tags + type = map(string) + nullable = true +} + +variable "provider_tags" { + type = map(string) + nullable = true + default = null +} + +variable "ignore_tag_keys" { + type = set(string) + nullable = false +} diff --git a/internal/service/appsync/testdata/GraphQLAPI/tags/main_gen.tf b/internal/service/appsync/testdata/GraphQLAPI/tags/main_gen.tf new file mode 100644 index 000000000000..6d1bf7d6933e --- /dev/null +++ b/internal/service/appsync/testdata/GraphQLAPI/tags/main_gen.tf @@ -0,0 +1,23 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_appsync_graphql_api" "test" { + authentication_type = "API_KEY" + name = var.rName + visibility = var.rName + + tags = var.resource_tags +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "resource_tags" { + description = "Tags to set on resource. To specify no tags, set to `null`" + # Not setting a default, so that this must explicitly be set to `null` to specify no tags + type = map(string) + nullable = true +} diff --git a/internal/service/appsync/testdata/GraphQLAPI/tagsComputed1/main_gen.tf b/internal/service/appsync/testdata/GraphQLAPI/tagsComputed1/main_gen.tf new file mode 100644 index 000000000000..9f4abbf9099f --- /dev/null +++ b/internal/service/appsync/testdata/GraphQLAPI/tagsComputed1/main_gen.tf @@ -0,0 +1,27 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "null" {} + +resource "aws_appsync_graphql_api" "test" { + authentication_type = "API_KEY" + name = var.rName + visibility = var.rName + + tags = { + (var.unknownTagKey) = null_resource.test.id + } +} + +resource "null_resource" "test" {} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "unknownTagKey" { + type = string + nullable = false +} diff --git a/internal/service/appsync/testdata/GraphQLAPI/tagsComputed2/main_gen.tf b/internal/service/appsync/testdata/GraphQLAPI/tagsComputed2/main_gen.tf new file mode 100644 index 000000000000..8adb41deb270 --- /dev/null +++ b/internal/service/appsync/testdata/GraphQLAPI/tagsComputed2/main_gen.tf @@ -0,0 +1,38 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "null" {} + +resource "aws_appsync_graphql_api" "test" { + authentication_type = "API_KEY" + name = var.rName + visibility = var.rName + + tags = { + (var.unknownTagKey) = null_resource.test.id + (var.knownTagKey) = var.knownTagValue + } +} + +resource "null_resource" "test" {} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "unknownTagKey" { + type = string + nullable = false +} + +variable "knownTagKey" { + type = string + nullable = false +} + +variable "knownTagValue" { + type = string + nullable = false +} diff --git a/internal/service/appsync/testdata/GraphQLAPI/tags_defaults/main_gen.tf b/internal/service/appsync/testdata/GraphQLAPI/tags_defaults/main_gen.tf new file mode 100644 index 000000000000..ca619fa10da2 --- /dev/null +++ b/internal/service/appsync/testdata/GraphQLAPI/tags_defaults/main_gen.tf @@ -0,0 +1,34 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "aws" { + default_tags { + tags = var.provider_tags + } +} + +resource "aws_appsync_graphql_api" "test" { + authentication_type = "API_KEY" + name = var.rName + visibility = var.rName + + tags = var.resource_tags +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "resource_tags" { + description = "Tags to set on resource. To specify no tags, set to `null`" + # Not setting a default, so that this must explicitly be set to `null` to specify no tags + type = map(string) + nullable = true +} + +variable "provider_tags" { + type = map(string) + nullable = false +} diff --git a/internal/service/appsync/testdata/GraphQLAPI/tags_ignore/main_gen.tf b/internal/service/appsync/testdata/GraphQLAPI/tags_ignore/main_gen.tf new file mode 100644 index 000000000000..e5fa339029a9 --- /dev/null +++ b/internal/service/appsync/testdata/GraphQLAPI/tags_ignore/main_gen.tf @@ -0,0 +1,43 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "aws" { + default_tags { + tags = var.provider_tags + } + ignore_tags { + keys = var.ignore_tag_keys + } +} + +resource "aws_appsync_graphql_api" "test" { + authentication_type = "API_KEY" + name = var.rName + visibility = var.rName + + tags = var.resource_tags +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "resource_tags" { + description = "Tags to set on resource. To specify no tags, set to `null`" + # Not setting a default, so that this must explicitly be set to `null` to specify no tags + type = map(string) + nullable = true +} + +variable "provider_tags" { + type = map(string) + nullable = true + default = null +} + +variable "ignore_tag_keys" { + type = set(string) + nullable = false +} diff --git a/internal/service/appsync/testdata/tmpl/api_tags.gtpl b/internal/service/appsync/testdata/tmpl/api_tags.gtpl new file mode 100644 index 000000000000..95ac30831330 --- /dev/null +++ b/internal/service/appsync/testdata/tmpl/api_tags.gtpl @@ -0,0 +1,23 @@ +resource "aws_appsync_api" "test" { + {{- template "region" }} + name = var.rName + + event_config { + auth_providers { + auth_type = "API_KEY" + } + + connection_auth_modes { + auth_type = "API_KEY" + } + + default_publish_auth_modes { + auth_type = "API_KEY" + } + + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } + {{- template "tags" . }} +} diff --git a/internal/service/appsync/testdata/tmpl/graphql_api_tags.gtpl b/internal/service/appsync/testdata/tmpl/graphql_api_tags.gtpl new file mode 100644 index 000000000000..ac83faa0b022 --- /dev/null +++ b/internal/service/appsync/testdata/tmpl/graphql_api_tags.gtpl @@ -0,0 +1,8 @@ +resource "aws_appsync_graphql_api" "test" { + {{- template "region" }} + authentication_type = "API_KEY" + name = var.rName + visibility = var.rName + + {{- template "tags" . }} +} From a0e5be16d45a3d35ee36198ca6951adf05d7dbcc Mon Sep 17 00:00:00 2001 From: ThomasZalewski Date: Thu, 24 Jul 2025 13:37:00 -0700 Subject: [PATCH 0034/1301] update identity test file --- .../service/appsync/api_identity_gen_test.go | 32 ++----------------- 1 file changed, 3 insertions(+), 29 deletions(-) diff --git a/internal/service/appsync/api_identity_gen_test.go b/internal/service/appsync/api_identity_gen_test.go index 3ff03c50f4c4..8c1c3f675317 100644 --- a/internal/service/appsync/api_identity_gen_test.go +++ b/internal/service/appsync/api_identity_gen_test.go @@ -196,6 +196,7 @@ func TestAccAppSyncAPI_Identity_RegionOverride(t *testing.T) { }) } +// Resource Identity was added after v6.3.0 func TestAccAppSyncAPI_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) @@ -213,7 +214,7 @@ func TestAccAppSyncAPI_Identity_ExistingResource(t *testing.T) { Steps: []resource.TestStep{ // Step 1: Create pre-Identity { - ConfigDirectory: config.StaticDirectory("testdata/API/basic_v5.100.0/"), + ConfigDirectory: config.StaticDirectory("testdata/API/basic_v6.3.0/"), ConfigVariables: config.Variables{ acctest.CtRName: config.StringVariable(rName), }, @@ -225,34 +226,7 @@ func TestAccAppSyncAPI_Identity_ExistingResource(t *testing.T) { }, }, - // Step 2: v6.0 Identity set on refresh - { - ConfigDirectory: config.StaticDirectory("testdata/API/basic_v6.0.0/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - }, - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckAPIExists(ctx, resourceName, &v), - ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - PostApplyPostRefresh: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - }, - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ - names.AttrAccountID: tfknownvalue.AccountID(), - names.AttrRegion: knownvalue.StringExact(acctest.Region()), - names.AttrID: knownvalue.NotNull(), - }), - statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), - }, - }, - - // Step 3: Current version + // Step 2: Current version { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, ConfigDirectory: config.StaticDirectory("testdata/API/basic/"), From e5d064b1a08c6ad19a1e720db21fa6db0f99263d Mon Sep 17 00:00:00 2001 From: ThomasZalewski Date: Thu, 24 Jul 2025 13:37:17 -0700 Subject: [PATCH 0035/1301] 6.3.0 tags test --- .../testdata/API/basic_v6.3.0/main_gen.tf | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 internal/service/appsync/testdata/API/basic_v6.3.0/main_gen.tf diff --git a/internal/service/appsync/testdata/API/basic_v6.3.0/main_gen.tf b/internal/service/appsync/testdata/API/basic_v6.3.0/main_gen.tf new file mode 100644 index 000000000000..5fd2d37eba72 --- /dev/null +++ b/internal/service/appsync/testdata/API/basic_v6.3.0/main_gen.tf @@ -0,0 +1,40 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_appsync_api" "test" { + name = var.rName + + event_config { + auth_providers { + auth_type = "API_KEY" + } + + connection_auth_modes { + auth_type = "API_KEY" + } + + default_publish_auth_modes { + auth_type = "API_KEY" + } + + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "6.3.0" + } + } +} + +provider "aws" {} From 3509427ad3fe09da5fdce38d17e690384784c9eb Mon Sep 17 00:00:00 2001 From: ThomasZalewski Date: Thu, 24 Jul 2025 20:44:04 -0700 Subject: [PATCH 0036/1301] update api.go --- internal/service/appsync/api.go | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/internal/service/appsync/api.go b/internal/service/appsync/api.go index c4d04fff81c6..770aed33c521 100644 --- a/internal/service/appsync/api.go +++ b/internal/service/appsync/api.go @@ -16,7 +16,6 @@ import ( "github.com/hashicorp/terraform-plugin-framework-timeouts/resource/timeouts" "github.com/hashicorp/terraform-plugin-framework-timetypes/timetypes" "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" - "github.com/hashicorp/terraform-plugin-framework/path" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" "github.com/hashicorp/terraform-plugin-framework/resource/schema/int64planmodifier" @@ -42,7 +41,6 @@ import ( // @IdentityAttribute("id") // @Testing(importStateIdAttribute="id") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/appsync/types;awstypes;awstypes.Api") -// @Testing(preIdentityVersion="v6.3.0") func newAPIResource(_ context.Context) (resource.ResourceWithConfigure, error) { r := &resourceAPI{} @@ -59,6 +57,7 @@ const ( type resourceAPI struct { framework.ResourceWithModel[resourceAPIModel] + framework.WithImportByIdentity framework.WithTimeouts } @@ -308,7 +307,7 @@ func (r *resourceAPI) Read(ctx context.Context, req resource.ReadRequest, resp * } apiId := state.ApiId.ValueString() - fmt.Println("hello", apiId) + fmt.Println("Read api id", apiId) out, err := findAPIByID(ctx, conn, apiId) if tfresource.NotFound(err) { @@ -369,7 +368,6 @@ func (r *resourceAPI) Update(ctx context.Context, req resource.UpdateRequest, re return } } - smerr.EnrichAppend(ctx, &resp.Diagnostics, resp.State.Set(ctx, &plan), smerr.ID, plan.ApiId.String()) } @@ -404,10 +402,6 @@ func (r *resourceAPI) Delete(ctx context.Context, req resource.DeleteRequest, re } } -func (r *resourceAPI) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { - resource.ImportStatePassthroughID(ctx, path.Root("id"), req, resp) -} - const ( statusDeleting = "Deleting" statusNormal = "Normal" From 1227f3d3cfd852d7b19af40203bc77d265ae297c Mon Sep 17 00:00:00 2001 From: amazreech Date: Mon, 30 Jun 2025 12:55:40 -0400 Subject: [PATCH 0037/1301] Update ECS Service to account of AvailabilityZoneRebalancing property's deafult behavior change --- .changelog/43241.txt | 4 ++++ internal/service/ecs/service.go | 12 +++++++++--- internal/service/ecs/service_test.go | 17 ++++++++++++++--- website/docs/r/ecs_service.html.markdown | 2 +- 4 files changed, 28 insertions(+), 7 deletions(-) create mode 100644 .changelog/43241.txt diff --git a/.changelog/43241.txt b/.changelog/43241.txt new file mode 100644 index 000000000000..5e04925037b8 --- /dev/null +++ b/.changelog/43241.txt @@ -0,0 +1,4 @@ +```release-note:enhancement +resource/aws_ecs_service: Remove Terraform default for `availability_zone_rebalancing` to allow ECS to default to `ENABLED` for new resources and maintain existing service's AvailabilityZoneRebalancing value during updates when not +specified. +``` \ No newline at end of file diff --git a/internal/service/ecs/service.go b/internal/service/ecs/service.go index ed3c97dae318..b2eb868d30eb 100644 --- a/internal/service/ecs/service.go +++ b/internal/service/ecs/service.go @@ -560,9 +560,15 @@ func resourceService() *schema.Resource { Computed: true, }, "availability_zone_rebalancing": { - Type: schema.TypeString, - Optional: true, - Default: awstypes.AvailabilityZoneRebalancingDisabled, + Type: schema.TypeString, + Optional: true, + DiffSuppressFunc: func(k, old, new string, d *schema.ResourceData) bool { + // Suppress diff if resource already exists (update) and the new value is empty + if d.Id() != "" && new == "" { + return true + } + return false + }, ValidateDiagFunc: enum.Validate[awstypes.AvailabilityZoneRebalancing](), }, names.AttrCapacityProviderStrategy: { diff --git a/internal/service/ecs/service_test.go b/internal/service/ecs/service_test.go index 4105c8d7c3a8..f366ff16e790 100644 --- a/internal/service/ecs/service_test.go +++ b/internal/service/ecs/service_test.go @@ -159,7 +159,7 @@ func TestAccECSService_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "service_registries.#", "0"), resource.TestCheckResourceAttr(resourceName, "scheduling_strategy", "REPLICA"), resource.TestCheckResourceAttrPair(resourceName, "task_definition", "aws_ecs_task_definition.test", names.AttrARN), - resource.TestCheckResourceAttr(resourceName, "availability_zone_rebalancing", "DISABLED"), + resource.TestCheckResourceAttr(resourceName, "availability_zone_rebalancing", "ENABLED"), resource.TestCheckResourceAttr(resourceName, "vpc_lattice_configuration.#", "0"), ), ConfigPlanChecks: resource.ConfigPlanChecks{ @@ -186,7 +186,7 @@ func TestAccECSService_basic(t *testing.T) { acctest.CheckResourceAttrRegionalARN(ctx, resourceName, names.AttrARN, "ecs", fmt.Sprintf("service/%s/%s", clusterName, rName)), resource.TestCheckResourceAttr(resourceName, "service_registries.#", "0"), resource.TestCheckResourceAttr(resourceName, "scheduling_strategy", "REPLICA"), - resource.TestCheckResourceAttr(resourceName, "availability_zone_rebalancing", "DISABLED"), + resource.TestCheckResourceAttr(resourceName, "availability_zone_rebalancing", "ENABLED"), resource.TestCheckResourceAttr(resourceName, "vpc_lattice_configuration.#", "0"), ), ConfigPlanChecks: resource.ConfigPlanChecks{ @@ -2425,7 +2425,7 @@ func TestAccECSService_AvailabilityZoneRebalancing(t *testing.T) { Config: testAccServiceConfig_availabilityZoneRebalancing_nullUpdate(rName), Check: resource.ComposeTestCheckFunc( testAccCheckServiceExists(ctx, resourceName, &service), - resource.TestCheckResourceAttr(resourceName, "availability_zone_rebalancing", string(awstypes.AvailabilityZoneRebalancingDisabled)), + resource.TestCheckResourceAttr(resourceName, "availability_zone_rebalancing", string(awstypes.AvailabilityZoneRebalancingEnabled)), ), }, { @@ -2435,6 +2435,13 @@ func TestAccECSService_AvailabilityZoneRebalancing(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "availability_zone_rebalancing", string(awstypes.AvailabilityZoneRebalancingDisabled)), ), }, + { + Config: testAccServiceConfig_availabilityZoneRebalancing_nullUpdate(rName), + Check: resource.ComposeTestCheckFunc( + testAccCheckServiceExists(ctx, resourceName, &service), + resource.TestCheckResourceAttr(resourceName, "availability_zone_rebalancing", string(awstypes.AvailabilityZoneRebalancingDisabled)), + ), + }, { Config: testAccServiceConfig_availabilityZoneRebalancing(rName, "ENABLED"), Check: resource.ComposeTestCheckFunc( @@ -4094,6 +4101,7 @@ resource "aws_ecs_service" "test" { force_new_deployment = true name = %[1]q task_definition = aws_ecs_task_definition.test.arn + availability_zone_rebalancing = "DISABLED" ordered_placement_strategy { type = "binpack" @@ -4171,6 +4179,7 @@ resource "aws_ecs_service" "test" { cluster = aws_ecs_cluster.test.id task_definition = aws_ecs_task_definition.test.arn desired_count = 1 + availability_zone_rebalancing = "DISABLED" ordered_placement_strategy { type = "binpack" @@ -4242,6 +4251,7 @@ resource "aws_ecs_service" "test" { cluster = aws_ecs_cluster.test.id task_definition = aws_ecs_task_definition.test.arn desired_count = 1 + availability_zone_rebalancing = "DISABLED" ordered_placement_strategy { type = "random" @@ -4277,6 +4287,7 @@ resource "aws_ecs_service" "test" { cluster = aws_ecs_cluster.test.id task_definition = aws_ecs_task_definition.test.arn desired_count = 1 + availability_zone_rebalancing = "DISABLED" ordered_placement_strategy { type = "binpack" diff --git a/website/docs/r/ecs_service.html.markdown b/website/docs/r/ecs_service.html.markdown index 4e2cc9a98994..ec0cd9925d5f 100644 --- a/website/docs/r/ecs_service.html.markdown +++ b/website/docs/r/ecs_service.html.markdown @@ -128,7 +128,7 @@ The following arguments are optional: * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `alarms` - (Optional) Information about the CloudWatch alarms. [See below](#alarms). -* `availability_zone_rebalancing` - (Optional) ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. Defaults to `DISABLED`. +* `availability_zone_rebalancing` - (Optional) ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. When creating a new service, if no value is specified, it defaults to `ENABLED`. When updating an existing service, if no value is specified it defaults to the existing service's AvailabilityZoneRebalancing value. * `capacity_provider_strategy` - (Optional) Capacity provider strategies to use for the service. Can be one or more. These can be updated without destroying and recreating the service only if `force_new_deployment = true` and not changing from 0 `capacity_provider_strategy` blocks to greater than 0, or vice versa. [See below](#capacity_provider_strategy). Conflicts with `launch_type`. * `cluster` - (Optional) ARN of an ECS cluster. * `deployment_circuit_breaker` - (Optional) Configuration block for deployment circuit breaker. [See below](#deployment_circuit_breaker). From c5b8194bcce211988b7f99ec3ece7c54192b5cc5 Mon Sep 17 00:00:00 2001 From: David Glaser <112961679+djglaser@users.noreply.github.com> Date: Tue, 29 Jul 2025 11:52:56 -0400 Subject: [PATCH 0038/1301] Update ecs_service.html.markdown and changelog --- .changelog/43241.txt | 6 ++++-- website/docs/r/ecs_service.html.markdown | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.changelog/43241.txt b/.changelog/43241.txt index 5e04925037b8..49e823935748 100644 --- a/.changelog/43241.txt +++ b/.changelog/43241.txt @@ -1,4 +1,6 @@ ```release-note:enhancement -resource/aws_ecs_service: Remove Terraform default for `availability_zone_rebalancing` to allow ECS to default to `ENABLED` for new resources and maintain existing service's AvailabilityZoneRebalancing value during updates when not -specified. +resource/aws_ecs_service: Remove Terraform default for `availability_zone_rebalancing` to allow ECS to default to `ENABLED` +for new resources compatible with AvailabilityZoneRebalancing and maintain existing service's AvailabilityZoneRebalancing value +during updates when not specified. If an existing service never had an AvailabilityZoneRebalancing value set and is updated, ECS +will treat this as `DISABLED`. ``` \ No newline at end of file diff --git a/website/docs/r/ecs_service.html.markdown b/website/docs/r/ecs_service.html.markdown index ec0cd9925d5f..fa8a7a3f9b79 100644 --- a/website/docs/r/ecs_service.html.markdown +++ b/website/docs/r/ecs_service.html.markdown @@ -128,7 +128,7 @@ The following arguments are optional: * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `alarms` - (Optional) Information about the CloudWatch alarms. [See below](#alarms). -* `availability_zone_rebalancing` - (Optional) ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. When creating a new service, if no value is specified, it defaults to `ENABLED`. When updating an existing service, if no value is specified it defaults to the existing service's AvailabilityZoneRebalancing value. +* `availability_zone_rebalancing` - (Optional) ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. When creating a new service, if no value is specified, it defaults to `ENABLED` if the service is compatible with AvailabilityZoneRebalancing. When updating an existing service, if no value is specified it defaults to the existing service's AvailabilityZoneRebalancing value. If the service never had an AvailabilityZoneRebalancing value set, Amazon ECS treats this as `DISABLED`. * `capacity_provider_strategy` - (Optional) Capacity provider strategies to use for the service. Can be one or more. These can be updated without destroying and recreating the service only if `force_new_deployment = true` and not changing from 0 `capacity_provider_strategy` blocks to greater than 0, or vice versa. [See below](#capacity_provider_strategy). Conflicts with `launch_type`. * `cluster` - (Optional) ARN of an ECS cluster. * `deployment_circuit_breaker` - (Optional) Configuration block for deployment circuit breaker. [See below](#deployment_circuit_breaker). From f44bff7f3dcb1310d0c7dfaf62ef3acd21609c61 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Tue, 29 Jul 2025 15:44:08 -0400 Subject: [PATCH 0039/1301] ds/aws_wafv2_web_acl: Add resource finding --- internal/service/wafv2/web_acl_data_source.go | 94 ++++++++++++++----- 1 file changed, 70 insertions(+), 24 deletions(-) diff --git a/internal/service/wafv2/web_acl_data_source.go b/internal/service/wafv2/web_acl_data_source.go index 6ef0d75eb906..ae38b0dc0d11 100644 --- a/internal/service/wafv2/web_acl_data_source.go +++ b/internal/service/wafv2/web_acl_data_source.go @@ -14,6 +14,8 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/conns" "github.com/hashicorp/terraform-provider-aws/internal/enum" "github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag" + "github.com/hashicorp/terraform-provider-aws/internal/tfresource" + "github.com/hashicorp/terraform-provider-aws/internal/verify" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -33,8 +35,15 @@ func dataSourceWebACL() *schema.Resource { Computed: true, }, names.AttrName: { - Type: schema.TypeString, - Required: true, + Type: schema.TypeString, + Optional: true, + ExactlyOneOf: []string{names.AttrName, "resource"}, + }, + "resource": { + Type: schema.TypeString, + Optional: true, + ExactlyOneOf: []string{names.AttrName, "resource"}, + ValidateFunc: verify.ValidARN, }, names.AttrScope: { Type: schema.TypeString, @@ -49,44 +58,81 @@ func dataSourceWebACL() *schema.Resource { func dataSourceWebACLRead(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics { var diags diag.Diagnostics conn := meta.(*conns.AWSClient).WAFV2Client(ctx) + name := d.Get(names.AttrName).(string) + resourceArn := d.Get("resource").(string) + scope := awstypes.Scope(d.Get(names.AttrScope).(string)) - var foundWebACL awstypes.WebACLSummary - input := &wafv2.ListWebACLsInput{ - Scope: awstypes.Scope(d.Get(names.AttrScope).(string)), - Limit: aws.Int32(100), - } + var webACL *awstypes.WebACL + var err error - for { - resp, err := conn.ListWebACLs(ctx, input) + if resourceArn != "" { + // Use GetWebACLForResource API + webACL, err = findWebACLByResourceARN(ctx, conn, resourceArn) if err != nil { - return sdkdiag.AppendErrorf(diags, "reading WAFv2 WebACLs: %s", err) + if tfresource.NotFound(err) { + return sdkdiag.AppendErrorf(diags, "WAFv2 WebACL not found for resource: %s", resourceArn) + } + return sdkdiag.AppendErrorf(diags, "reading WAFv2 WebACL for resource (%s): %s", resourceArn, err) } - - if resp == nil || resp.WebACLs == nil { - return sdkdiag.AppendErrorf(diags, "reading WAFv2 WebACLs") + } else { + // Use existing ListWebACLs + filter by name logic + var foundWebACL awstypes.WebACLSummary + input := &wafv2.ListWebACLsInput{ + Scope: scope, + Limit: aws.Int32(100), } - for _, webACL := range resp.WebACLs { - if aws.ToString(webACL.Name) == name { - foundWebACL = webACL + for { + resp, err := conn.ListWebACLs(ctx, input) + if err != nil { + return sdkdiag.AppendErrorf(diags, "reading WAFv2 WebACLs: %s", err) + } + + if resp == nil || resp.WebACLs == nil { + return sdkdiag.AppendErrorf(diags, "reading WAFv2 WebACLs") + } + + for _, acl := range resp.WebACLs { + if aws.ToString(acl.Name) == name { + foundWebACL = acl + break + } + } + + if resp.NextMarker == nil { break } + input.NextMarker = resp.NextMarker + } + + if foundWebACL.Id == nil { + return sdkdiag.AppendErrorf(diags, "WAFv2 WebACL not found for name: %s", name) } - if resp.NextMarker == nil { - break + // Get full WebACL details using GetWebACL + getInput := &wafv2.GetWebACLInput{ + Id: foundWebACL.Id, + Name: foundWebACL.Name, + Scope: scope, } - input.NextMarker = resp.NextMarker + + getResp, err := conn.GetWebACL(ctx, getInput) + if err != nil { + return sdkdiag.AppendErrorf(diags, "reading WAFv2 WebACL (%s): %s", aws.ToString(foundWebACL.Id), err) + } + + webACL = getResp.WebACL } - if foundWebACL.Id == nil { - return sdkdiag.AppendErrorf(diags, "WAFv2 WebACL not found for name: %s", name) + if webACL == nil { + return sdkdiag.AppendErrorf(diags, "WAFv2 WebACL not found") } - d.SetId(aws.ToString(foundWebACL.Id)) - d.Set(names.AttrARN, foundWebACL.ARN) - d.Set(names.AttrDescription, foundWebACL.Description) + d.SetId(aws.ToString(webACL.Id)) + d.Set(names.AttrARN, webACL.ARN) + d.Set(names.AttrDescription, webACL.Description) + d.Set(names.AttrName, webACL.Name) return diags } From 1466309db9d215c055eb0ffe3cd28a5c1df70204 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Tue, 29 Jul 2025 15:46:17 -0400 Subject: [PATCH 0040/1301] Add changelog --- .changelog/43597.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/43597.txt diff --git a/.changelog/43597.txt b/.changelog/43597.txt new file mode 100644 index 000000000000..9b614a267470 --- /dev/null +++ b/.changelog/43597.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +data-source/aws_wafv2_web_acl: Add `resource` argument to enable finding web ACLs by resource ARN +``` \ No newline at end of file From 6f4adcd97eaa64d91952ab433bf9219340e7f4ed Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Tue, 29 Jul 2025 15:46:39 -0400 Subject: [PATCH 0041/1301] Document new argument --- website/docs/d/wafv2_web_acl.html.markdown | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/website/docs/d/wafv2_web_acl.html.markdown b/website/docs/d/wafv2_web_acl.html.markdown index e7818cad9a91..43c2a329cd01 100644 --- a/website/docs/d/wafv2_web_acl.html.markdown +++ b/website/docs/d/wafv2_web_acl.html.markdown @@ -12,6 +12,8 @@ Retrieves the summary of a WAFv2 Web ACL. ## Example Usage +### Lookup by name + ```terraform data "aws_wafv2_web_acl" "example" { name = "some-web-acl" @@ -19,12 +21,27 @@ data "aws_wafv2_web_acl" "example" { } ``` +### Lookup by associated resource + +```terraform +data "aws_wafv2_web_acl" "alb_example" { + resource = "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/my-alb/xxxxx" + scope = "REGIONAL" +} + +data "aws_wafv2_web_acl" "cloudfront_example" { + resource = "arn:aws:cloudfront::123456789012:distribution/XXX" + scope = "CLOUDFRONT" +} +``` + ## Argument Reference This data source supports the following arguments: * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `name` - (Required) Name of the WAFv2 Web ACL. +* `name` - (Optional) Name of the WAFv2 Web ACL. Exactly one of `name` or `resource` must be specified. +* `resource` - (Optional) ARN of the AWS resource associated with the Web ACL. This can be an ARN of an Application Load Balancer, Amazon API Gateway REST API, AWS AppSync GraphQL API, Amazon Cognito user pool, AWS App Runner service, AWS Verified Access instance, or AWS Amplify application. Exactly one of `name` or `resource` must be specified. * `scope` - (Required) Specifies whether this is for an AWS CloudFront distribution or for a regional application. Valid values are `CLOUDFRONT` or `REGIONAL`. To work with CloudFront, you must also specify the region `us-east-1` (N. Virginia) on the AWS provider. ## Attribute Reference @@ -34,3 +51,4 @@ This data source exports the following attributes in addition to the arguments a * `arn` - ARN of the entity. * `description` - Description of the WebACL that helps with identification. * `id` - Unique identifier of the WebACL. +* `name` - Name of the WebACL. From 50813e8ac6b00f78afeb678838af3fe838ceaf51 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Tue, 29 Jul 2025 15:46:48 -0400 Subject: [PATCH 0042/1301] Tests for new argument --- .../service/wafv2/web_acl_data_source_test.go | 179 +++++++++++++++++- 1 file changed, 177 insertions(+), 2 deletions(-) diff --git a/internal/service/wafv2/web_acl_data_source_test.go b/internal/service/wafv2/web_acl_data_source_test.go index 4a957073b1ac..64175982c01c 100644 --- a/internal/service/wafv2/web_acl_data_source_test.go +++ b/internal/service/wafv2/web_acl_data_source_test.go @@ -44,10 +44,53 @@ func TestAccWAFV2WebACLDataSource_basic(t *testing.T) { }) } +func TestAccWAFV2WebACLDataSource_resource(t *testing.T) { + ctx := acctest.Context(t) + name := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_wafv2_web_acl.test" + datasourceName := "data.aws_wafv2_web_acl.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t); testAccPreCheckScopeRegional(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.WAFV2ServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + Config: testAccWebACLDataSourceConfig_resource(name), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrPair(datasourceName, names.AttrARN, resourceName, names.AttrARN), + acctest.MatchResourceAttrRegionalARN(ctx, datasourceName, names.AttrARN, "wafv2", regexache.MustCompile(fmt.Sprintf("regional/webacl/%v/.+$", name))), + resource.TestCheckResourceAttrPair(datasourceName, names.AttrDescription, resourceName, names.AttrDescription), + resource.TestCheckResourceAttrPair(datasourceName, names.AttrID, resourceName, names.AttrID), + resource.TestCheckResourceAttrPair(datasourceName, names.AttrName, resourceName, names.AttrName), + resource.TestCheckResourceAttrPair(datasourceName, names.AttrScope, resourceName, names.AttrScope), + ), + }, + }, + }) +} + +func TestAccWAFV2WebACLDataSource_resourceNotFound(t *testing.T) { + ctx := acctest.Context(t) + name := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t); testAccPreCheckScopeRegional(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.WAFV2ServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + Config: testAccWebACLDataSourceConfig_resourceNotFound(name), + ExpectError: regexache.MustCompile(`WAFv2 WebACL not found for`), + }, + }, + }) +} + func testAccWebACLDataSourceConfig_name(name string) string { return fmt.Sprintf(` resource "aws_wafv2_web_acl" "test" { - name = "%s" + name = %[1]q scope = "REGIONAL" default_action { @@ -71,7 +114,7 @@ data "aws_wafv2_web_acl" "test" { func testAccWebACLDataSourceConfig_nonExistent(name string) string { return fmt.Sprintf(` resource "aws_wafv2_web_acl" "test" { - name = "%s" + name = %[1]q scope = "REGIONAL" default_action { @@ -91,3 +134,135 @@ data "aws_wafv2_web_acl" "test" { } `, name) } + +func testAccWebACLDataSourceConfig_resource(name string) string { + return fmt.Sprintf(` +resource "aws_lb" "test" { + name = %[1]q + internal = false + load_balancer_type = "application" + subnets = aws_subnet.test[*].id + + enable_deletion_protection = false +} + +resource "aws_vpc" "test" { + cidr_block = "10.0.0.0/16" + + tags = { + Name = %[1]q + } +} + +resource "aws_subnet" "test" { + count = 2 + + vpc_id = aws_vpc.test.id + cidr_block = "10.0.${count.index}.0/24" + availability_zone = data.aws_availability_zones.available.names[count.index] + + tags = { + Name = "%[1]s-${count.index}" + } +} + +data "aws_availability_zones" "available" { + state = "available" + + filter { + name = "opt-in-status" + values = ["opt-in-not-required"] + } +} + +resource "aws_internet_gateway" "test" { + vpc_id = aws_vpc.test.id + + tags = { + Name = %[1]q + } +} + +resource "aws_wafv2_web_acl" "test" { + name = %[1]q + scope = "REGIONAL" + + default_action { + block {} + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = "friendly-rule-metric-name" + sampled_requests_enabled = false + } +} + +resource "aws_wafv2_web_acl_association" "test" { + resource_arn = aws_lb.test.arn + web_acl_arn = aws_wafv2_web_acl.test.arn +} + +data "aws_wafv2_web_acl" "test" { + resource = aws_lb.test.arn + scope = "REGIONAL" + + depends_on = [aws_wafv2_web_acl_association.test] +} +`, name) +} + +func testAccWebACLDataSourceConfig_resourceNotFound(name string) string { + return fmt.Sprintf(` +resource "aws_lb" "test" { + name = %[1]q + internal = false + load_balancer_type = "application" + subnets = aws_subnet.test[*].id + + enable_deletion_protection = false +} + +resource "aws_vpc" "test" { + cidr_block = "10.0.0.0/16" + + tags = { + Name = %[1]q + } +} + +resource "aws_subnet" "test" { + count = 2 + + vpc_id = aws_vpc.test.id + cidr_block = "10.0.${count.index}.0/24" + availability_zone = data.aws_availability_zones.available.names[count.index] + + tags = { + Name = "%[1]s-${count.index}" + } +} + +data "aws_availability_zones" "available" { + state = "available" + + filter { + name = "opt-in-status" + values = ["opt-in-not-required"] + } +} + +resource "aws_internet_gateway" "test" { + vpc_id = aws_vpc.test.id + + tags = { + Name = %[1]q + } +} + +data "aws_wafv2_web_acl" "test" { + resource = aws_lb.test.arn + scope = "REGIONAL" +} +`, name) +} From e44c8b58185809e496e24f3469dbf5cf4c39eee9 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Tue, 29 Jul 2025 16:21:38 -0400 Subject: [PATCH 0043/1301] Rename to resource_arn --- internal/service/wafv2/web_acl_data_source.go | 12 ++++++------ internal/service/wafv2/web_acl_data_source_test.go | 8 ++++---- website/docs/d/wafv2_web_acl.html.markdown | 12 ++++++------ 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/internal/service/wafv2/web_acl_data_source.go b/internal/service/wafv2/web_acl_data_source.go index ae38b0dc0d11..7db434c17871 100644 --- a/internal/service/wafv2/web_acl_data_source.go +++ b/internal/service/wafv2/web_acl_data_source.go @@ -37,12 +37,12 @@ func dataSourceWebACL() *schema.Resource { names.AttrName: { Type: schema.TypeString, Optional: true, - ExactlyOneOf: []string{names.AttrName, "resource"}, + ExactlyOneOf: []string{names.AttrName, names.AttrResourceARN}, }, - "resource": { + names.AttrResourceARN: { Type: schema.TypeString, Optional: true, - ExactlyOneOf: []string{names.AttrName, "resource"}, + ExactlyOneOf: []string{names.AttrName, names.AttrResourceARN}, ValidateFunc: verify.ValidARN, }, names.AttrScope: { @@ -60,7 +60,7 @@ func dataSourceWebACLRead(ctx context.Context, d *schema.ResourceData, meta any) conn := meta.(*conns.AWSClient).WAFV2Client(ctx) name := d.Get(names.AttrName).(string) - resourceArn := d.Get("resource").(string) + resourceArn := d.Get(names.AttrResourceARN).(string) scope := awstypes.Scope(d.Get(names.AttrScope).(string)) var webACL *awstypes.WebACL @@ -71,9 +71,9 @@ func dataSourceWebACLRead(ctx context.Context, d *schema.ResourceData, meta any) webACL, err = findWebACLByResourceARN(ctx, conn, resourceArn) if err != nil { if tfresource.NotFound(err) { - return sdkdiag.AppendErrorf(diags, "WAFv2 WebACL not found for resource: %s", resourceArn) + return sdkdiag.AppendErrorf(diags, "WAFv2 WebACL not found for resource_arn: %s", resourceArn) } - return sdkdiag.AppendErrorf(diags, "reading WAFv2 WebACL for resource (%s): %s", resourceArn, err) + return sdkdiag.AppendErrorf(diags, "reading WAFv2 WebACL for resource_arn (%s): %s", resourceArn, err) } } else { // Use existing ListWebACLs + filter by name logic diff --git a/internal/service/wafv2/web_acl_data_source_test.go b/internal/service/wafv2/web_acl_data_source_test.go index 64175982c01c..c380e5be7f3f 100644 --- a/internal/service/wafv2/web_acl_data_source_test.go +++ b/internal/service/wafv2/web_acl_data_source_test.go @@ -204,8 +204,8 @@ resource "aws_wafv2_web_acl_association" "test" { } data "aws_wafv2_web_acl" "test" { - resource = aws_lb.test.arn - scope = "REGIONAL" + resource_arn = aws_lb.test.arn + scope = "REGIONAL" depends_on = [aws_wafv2_web_acl_association.test] } @@ -261,8 +261,8 @@ resource "aws_internet_gateway" "test" { } data "aws_wafv2_web_acl" "test" { - resource = aws_lb.test.arn - scope = "REGIONAL" + resource_arn = aws_lb.test.arn + scope = "REGIONAL" } `, name) } diff --git a/website/docs/d/wafv2_web_acl.html.markdown b/website/docs/d/wafv2_web_acl.html.markdown index 43c2a329cd01..9bfe5a69ca04 100644 --- a/website/docs/d/wafv2_web_acl.html.markdown +++ b/website/docs/d/wafv2_web_acl.html.markdown @@ -25,13 +25,13 @@ data "aws_wafv2_web_acl" "example" { ```terraform data "aws_wafv2_web_acl" "alb_example" { - resource = "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/my-alb/xxxxx" - scope = "REGIONAL" + resource_arn = "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/my-alb/xxxxx" + scope = "REGIONAL" } data "aws_wafv2_web_acl" "cloudfront_example" { - resource = "arn:aws:cloudfront::123456789012:distribution/XXX" - scope = "CLOUDFRONT" + resource_arn = "arn:aws:cloudfront::123456789012:distribution/XXX" + scope = "CLOUDFRONT" } ``` @@ -40,8 +40,8 @@ data "aws_wafv2_web_acl" "cloudfront_example" { This data source supports the following arguments: * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `name` - (Optional) Name of the WAFv2 Web ACL. Exactly one of `name` or `resource` must be specified. -* `resource` - (Optional) ARN of the AWS resource associated with the Web ACL. This can be an ARN of an Application Load Balancer, Amazon API Gateway REST API, AWS AppSync GraphQL API, Amazon Cognito user pool, AWS App Runner service, AWS Verified Access instance, or AWS Amplify application. Exactly one of `name` or `resource` must be specified. +* `name` - (Optional) Name of the WAFv2 Web ACL. Exactly one of `name` or `resource_arn` must be specified. +* `resource_arn` - (Optional) ARN of the AWS resource associated with the Web ACL. This can be an ARN of an Application Load Balancer, Amazon API Gateway REST API, AWS AppSync GraphQL API, Amazon Cognito user pool, AWS App Runner service, AWS Verified Access instance, or AWS Amplify application. Exactly one of `name` or `resource_arn` must be specified. * `scope` - (Required) Specifies whether this is for an AWS CloudFront distribution or for a regional application. Valid values are `CLOUDFRONT` or `REGIONAL`. To work with CloudFront, you must also specify the region `us-east-1` (N. Virginia) on the AWS provider. ## Attribute Reference From 05858ed1c6f1bc8c9955ee33fadce469da2d8b54 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Tue, 29 Jul 2025 16:22:24 -0400 Subject: [PATCH 0044/1301] Update changelog --- .changelog/43597.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changelog/43597.txt b/.changelog/43597.txt index 9b614a267470..e12e77a2c79a 100644 --- a/.changelog/43597.txt +++ b/.changelog/43597.txt @@ -1,3 +1,3 @@ ```release-note:enhancement -data-source/aws_wafv2_web_acl: Add `resource` argument to enable finding web ACLs by resource ARN +data-source/aws_wafv2_web_acl: Add `resource_arn` argument to enable finding web ACLs by resource ARN ``` \ No newline at end of file From 4761f4d1c042aff15b13bc5e7afca9c92ea29ce2 Mon Sep 17 00:00:00 2001 From: tabito Date: Wed, 30 Jul 2025 21:50:46 +0900 Subject: [PATCH 0045/1301] Implement revised validation for read cache size as customizeDiff function --- internal/service/fsx/lustre_file_system.go | 34 ++++++++++++++++++++-- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/internal/service/fsx/lustre_file_system.go b/internal/service/fsx/lustre_file_system.go index a2b617a4bf83..3c1ed3fe96f7 100644 --- a/internal/service/fsx/lustre_file_system.go +++ b/internal/service/fsx/lustre_file_system.go @@ -108,9 +108,8 @@ func resourceLustreFileSystem() *schema.Resource { Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ names.AttrSize: { - Type: schema.TypeInt, - Optional: true, - ValidateFunc: validation.IntBetween(32, 131072), + Type: schema.TypeInt, + Optional: true, }, "sizing_mode": { Type: schema.TypeString, @@ -343,6 +342,7 @@ func resourceLustreFileSystem() *schema.Resource { CustomizeDiff: customdiff.Sequence( resourceLustreFileSystemStorageCapacityCustomizeDiff, resourceLustreFileSystemMetadataConfigCustomizeDiff, + resourceLustreFileSystemDataReadCacheConfigurationCustomizeDiff, ), } } @@ -405,6 +405,34 @@ func resourceLustreFileSystemMetadataConfigCustomizeDiff(_ context.Context, d *s return nil } +func resourceLustreFileSystemDataReadCacheConfigurationCustomizeDiff(_ context.Context, d *schema.ResourceDiff, meta any) error { + if v, ok := d.Get("storage_type").(string); ok && v == string(awstypes.StorageTypeIntelligentTiering) { + var throughputCapacity int + if v, ok := d.Get("throughput_capacity").(int); ok && v != 0 { + throughputCapacity = v + } else { + return fmt.Errorf("Validation Error: ThroughputCapacity is a required parameter for Lustre file systems with StorageType %s", awstypes.StorageTypeIntelligentTiering) + } + + if v, ok := d.Get("data_read_cache_configuration").([]any); ok && len(v) > 0 && v[0] != nil { + config := v[0].(map[string]any) + + if sizingMode, ok := config["sizing_mode"].(string); ok && sizingMode == string(awstypes.LustreReadCacheSizingModeUserProvisioned) { + if size, ok := config[names.AttrSize].(int); ok && size > 0 { + factor := throughputCapacity / 4000 + minSize := 32 * factor + maxSize := 131072 * factor + if size < minSize || size > maxSize { + return fmt.Errorf("File systems with throughput capacity of %d MB/s support a minimum read cache size of %d GiB and maximum read cache size of %d GiB", throughputCapacity, minSize, maxSize) + } + } + } + } + } + + return nil +} + func resourceLustreFileSystemCreate(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics { var diags diag.Diagnostics conn := meta.(*conns.AWSClient).FSxClient(ctx) From e98059215e15da7986e51c6840125e23d4b2ffd5 Mon Sep 17 00:00:00 2001 From: tabito Date: Wed, 30 Jul 2025 21:51:56 +0900 Subject: [PATCH 0046/1301] add test cases for read cache size validation --- .../service/fsx/lustre_file_system_test.go | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/internal/service/fsx/lustre_file_system_test.go b/internal/service/fsx/lustre_file_system_test.go index f1f80f79d18d..4a40c8ad07c7 100644 --- a/internal/service/fsx/lustre_file_system_test.go +++ b/internal/service/fsx/lustre_file_system_test.go @@ -883,7 +883,15 @@ func TestAccFSxLustreFileSystem_intelligentTiering(t *testing.T) { CheckDestroy: testAccCheckLustreFileSystemDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccLustreFileSystemConfig_intelligentTiering(rName), + Config: testAccLustreFileSystemConfig_intelligentTiering(rName, 4000, 31), + ExpectError: regexache.MustCompile("File systems with throughput capacity of 4000 MB/s support a minimum read cache size of 32 GiB and maximum read cache size of 131072 GiB"), + }, + { + Config: testAccLustreFileSystemConfig_intelligentTiering(rName, 8000, 32), + ExpectError: regexache.MustCompile("File systems with throughput capacity of 8000 MB/s support a minimum read cache size of 64 GiB and maximum read cache size of 262144 GiB"), + }, + { + Config: testAccLustreFileSystemConfig_intelligentTiering(rName, 4000, 32), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckLustreFileSystemExists(ctx, resourceName, &filesystem), acctest.MatchResourceAttrRegionalARN(ctx, resourceName, names.AttrARN, "fsx", regexache.MustCompile(`file-system/fs-.+`)), @@ -2089,17 +2097,17 @@ resource "aws_fsx_lustre_file_system" "test" { `, rName, efaEnabled)) } -func testAccLustreFileSystemConfig_intelligentTiering(rName string) string { - return acctest.ConfigCompose(testAccLustreFileSystemConfig_base(rName), ` +func testAccLustreFileSystemConfig_intelligentTiering(rName string, throughputCapacity, cacheSize int) string { + return acctest.ConfigCompose(testAccLustreFileSystemConfig_base(rName), fmt.Sprintf(` resource "aws_fsx_lustre_file_system" "test" { subnet_ids = aws_subnet.test[*].id deployment_type = "PERSISTENT_2" storage_type = "INTELLIGENT_TIERING" - throughput_capacity = 4000 + throughput_capacity = %[1]d data_read_cache_configuration { sizing_mode = "USER_PROVISIONED" - size = 32 + size = %[2]d } metadata_configuration { @@ -2108,5 +2116,5 @@ resource "aws_fsx_lustre_file_system" "test" { } } -`) +`, throughputCapacity, cacheSize)) } From 1803a192d049ff4211c4a8f9ece153553da76dd1 Mon Sep 17 00:00:00 2001 From: tabito Date: Wed, 30 Jul 2025 22:22:10 +0900 Subject: [PATCH 0047/1301] add changelog --- .changelog/43605.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/43605.txt diff --git a/.changelog/43605.txt b/.changelog/43605.txt new file mode 100644 index 000000000000..621d5fdad6f2 --- /dev/null +++ b/.changelog/43605.txt @@ -0,0 +1,3 @@ +```release-note:bug +resource/aws_fsx_lustre_file_system: Fix validation of SSD read cache size for file systems using the Intelligent-Tiering storage class +``` From 39d037967fba38bfa48a1a08241db4e5280a4c2a Mon Sep 17 00:00:00 2001 From: Alex Bacchin Date: Wed, 30 Jul 2025 23:24:14 +1000 Subject: [PATCH 0048/1301] WIP --- .../vpc_endpoint_association.go | 437 ++++++++++++++++++ .../vpc_endpoint_association_test.go | 229 +++++++++ ...all_vpc_endpoint_association.html.markdown | 92 ++++ 3 files changed, 758 insertions(+) create mode 100644 internal/service/networkfirewall/vpc_endpoint_association.go create mode 100644 internal/service/networkfirewall/vpc_endpoint_association_test.go create mode 100644 website/docs/r/networkfirewall_vpc_endpoint_association.html.markdown diff --git a/internal/service/networkfirewall/vpc_endpoint_association.go b/internal/service/networkfirewall/vpc_endpoint_association.go new file mode 100644 index 000000000000..d58ca84cc20a --- /dev/null +++ b/internal/service/networkfirewall/vpc_endpoint_association.go @@ -0,0 +1,437 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package networkfirewall + +import ( + "context" + "errors" + "time" + + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/service/networkfirewall" + awstypes "github.com/aws/aws-sdk-go-v2/service/networkfirewall/types" + "github.com/hashicorp/terraform-plugin-framework-timeouts/resource/timeouts" + "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" + "github.com/hashicorp/terraform-plugin-framework/path" + "github.com/hashicorp/terraform-plugin-framework/resource" + "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/schema/validator" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" + "github.com/hashicorp/terraform-provider-aws/internal/create" + "github.com/hashicorp/terraform-provider-aws/internal/enum" + "github.com/hashicorp/terraform-provider-aws/internal/errs" + "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" + "github.com/hashicorp/terraform-provider-aws/internal/framework" + "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" + fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" + tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" + "github.com/hashicorp/terraform-provider-aws/internal/tfresource" + "github.com/hashicorp/terraform-provider-aws/names" +) + +// @FrameworkResource("aws_networkfirewall_vpc_endpoint_association", name="VPC Endpoint Association") +// @Tags(identifierAttribute="firewall_arn") +func newVPCEndpointAssociationResource(_ context.Context) (resource.ResourceWithConfigure, error) { + r := &resourceVPCEndpointAssociation{} + + r.SetDefaultCreateTimeout(30 * time.Minute) + r.SetDefaultDeleteTimeout(30 * time.Minute) + + return r, nil +} + +const ( + ResNameVPCEndpointAssociation = "VPC Endpoint Association" +) + +type resourceVPCEndpointAssociation struct { + framework.ResourceWithModel[resourceVPCEndpointAssociationModel] + framework.WithTimeouts + framework.WithNoUpdate +} + +func (r *resourceVPCEndpointAssociation) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { + resp.Schema = schema.Schema{ + Attributes: map[string]schema.Attribute{ + names.AttrARN: framework.ARNAttributeComputedOnly(), + names.AttrDescription: schema.StringAttribute{ + Optional: true, + }, + "firewall_arn": schema.StringAttribute{ + Required: true, + }, + names.AttrID: framework.IDAttributeDeprecatedWithAlternate(path.Root(names.AttrARN)), + names.AttrVPCID: schema.StringAttribute{ + Required: true, + }, + "vpc_endpoint_association_id": schema.StringAttribute{ + Computed: true, + }, + names.AttrTags: tftags.TagsAttribute(), + names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), + }, + Blocks: map[string]schema.Block{ + "subnet_mapping": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[subnetMappingModel](ctx), + Description: "A list of subnet mappings for the VPC endpoint association.", + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + listvalidator.SizeAtLeast(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + names.AttrIPAddressType: schema.StringAttribute{ + CustomType: fwtypes.StringEnumType[awstypes.IPAddressType](), + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.UseStateForUnknown(), + }, + }, + names.AttrSubnetID: schema.StringAttribute{ + Required: true, + }, + }, + }, + }, + "vpc_endpoint_association_status": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[vpcEndpointAssociationStatusModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + names.AttrStatus: schema.StringAttribute{ + Computed: true, + }, + }, + Blocks: map[string]schema.Block{ + "association_sync_state": schema.SetNestedBlock{ + CustomType: fwtypes.NewSetNestedObjectTypeOf[AZSyncStateModel](ctx), + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + names.AttrAvailabilityZone: schema.StringAttribute{ + Computed: true, + }, + }, + Blocks: map[string]schema.Block{ + "attachment": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[attachmentModel](ctx), + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "endpoint_id": schema.StringAttribute{ + Computed: true, + }, + names.AttrSubnetID: schema.StringAttribute{ + Computed: true, + }, + names.AttrStatus: schema.StringAttribute{ + Computed: true, + }, + names.AttrStatusMessage: schema.StringAttribute{ + Computed: true, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + names.AttrTimeouts: timeouts.Block(ctx, timeouts.Opts{ + Create: true, + Delete: true, + }), + }, + } +} + +func (r *resourceVPCEndpointAssociation) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { + conn := r.Meta().NetworkFirewallClient(ctx) + + var plan resourceVPCEndpointAssociationModel + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + if resp.Diagnostics.HasError() { + return + } + + planVpcEndpointAssociationStatusModel, diags := plan.VpcEndpointAssociationStatus.ToPtr(ctx) + // "VpcEndpointAssociationStatusModel.AZSyncState" cannot be handled by AutoFlex, since the parameter in the AWS API is a map + resp.Diagnostics.Append(diags...) + if diags.HasError() { + return + } + + var input networkfirewall.CreateVpcEndpointAssociationInput + resp.Diagnostics.Append(flex.Expand(ctx, plan, &input, flex.WithIgnoredFieldNamesAppend("VpcEndpointAssociationStatus"))...) + if resp.Diagnostics.HasError() { + return + } + input.Tags = getTagsIn(ctx) + out, err := conn.CreateVpcEndpointAssociation(ctx, &input) + if err != nil { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.NetworkFirewall, create.ErrActionCreating, ResNameVPCEndpointAssociation, "", err), + err.Error(), + ) + return + } + if out == nil || out.VpcEndpointAssociation == nil { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.NetworkFirewall, create.ErrActionCreating, ResNameVPCEndpointAssociation, "", nil), + errors.New("empty output").Error(), + ) + return + } + arn := aws.ToString(out.VpcEndpointAssociation.VpcEndpointAssociationArn) + resp.Diagnostics.Append(flex.Flatten(ctx, out.VpcEndpointAssociation, &plan, flex.WithIgnoredFieldNamesAppend("VpcEndpointAssociationStatus"))...) + if resp.Diagnostics.HasError() { + return + } + plan.VpcEndpointAssociationId = flex.StringToFramework(ctx, out.VpcEndpointAssociation.VpcEndpointAssociationId) + plan.VpcEndpointAssociationArn = flex.StringValueToFramework(ctx, arn) + plan.setID() + + createTimeout := r.CreateTimeout(ctx, plan.Timeouts) + + created, err := waitVPCEndpointAssociationCreated(ctx, conn, arn, createTimeout) + if err != nil { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.NetworkFirewall, create.ErrActionWaitingForCreation, ResNameVPCEndpointAssociation, arn, err), + err.Error(), + ) + return + } + + plan.flattenVpcEndpointAssociationStatus(ctx, created.VpcEndpointAssociationStatus) + + resp.Diagnostics.Append(resp.State.Set(ctx, plan)...) +} + +func (r *resourceVPCEndpointAssociation) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { + conn := r.Meta().NetworkFirewallClient(ctx) + + var state resourceVPCEndpointAssociationModel + resp.Diagnostics.Append(req.State.Get(ctx, &state)...) + if resp.Diagnostics.HasError() { + return + } + out, err := findVPCEndpointAssociationByID(ctx, conn, state.ID.ValueString()) + + if tfresource.NotFound(err) { + resp.Diagnostics.Append(fwdiag.NewResourceNotFoundWarningDiagnostic(err)) + resp.State.RemoveResource(ctx) + return + } + if err != nil { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.NetworkFirewall, create.ErrActionReading, ResNameVPCEndpointAssociation, state.ID.String(), err), + err.Error(), + ) + return + } + + resp.Diagnostics.Append(flex.Flatten(ctx, out.VpcEndpointAssociation, &state, flex.WithIgnoredFieldNamesAppend("VpcEndpointAssociationStatus"))...) + if resp.Diagnostics.HasError() { + return + } + + state.flattenVpcEndpointAssociationStatus(ctx, out.VpcEndpointAssociationStatus) + + setTagsOut(ctx, out.VpcEndpointAssociation.Tags) + + resp.Diagnostics.Append(resp.State.Set(ctx, &state)...) +} + +func (r *resourceVPCEndpointAssociation) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { + conn := r.Meta().NetworkFirewallClient(ctx) + + var state resourceVPCEndpointAssociationModel + resp.Diagnostics.Append(req.State.Get(ctx, &state)...) + if resp.Diagnostics.HasError() { + return + } + + input := networkfirewall.DeleteVpcEndpointAssociationInput{ + VpcEndpointAssociationArn: state.ID.ValueStringPointer(), + } + + _, err := conn.DeleteVpcEndpointAssociation(ctx, &input) + if err != nil { + if errs.IsA[*awstypes.ResourceNotFoundException](err) { + return + } + + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.NetworkFirewall, create.ErrActionDeleting, ResNameVPCEndpointAssociation, state.ID.String(), err), + err.Error(), + ) + return + } + + deleteTimeout := r.DeleteTimeout(ctx, state.Timeouts) + _, err = waitVPCEndpointAssociationDeleted(ctx, conn, state.ID.ValueString(), deleteTimeout) + if err != nil { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.NetworkFirewall, create.ErrActionWaitingForDeletion, ResNameVPCEndpointAssociation, state.ID.String(), err), + err.Error(), + ) + return + } +} + +func (r *resourceVPCEndpointAssociation) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { + resource.ImportStatePassthroughID(ctx, path.Root(names.AttrID), req, resp) +} + +func waitVPCEndpointAssociationCreated(ctx context.Context, conn *networkfirewall.Client, arn string, timeout time.Duration) (*networkfirewall.DescribeVpcEndpointAssociationOutput, error) { + stateConf := &retry.StateChangeConf{ + Pending: enum.Slice(awstypes.FirewallStatusValueProvisioning), + Target: enum.Slice(awstypes.FirewallStatusValueReady), + Refresh: statusVPCEndpointAssociation(ctx, conn, arn), + Timeout: timeout, + NotFoundChecks: 20, + ContinuousTargetOccurence: 2, + } + + outputRaw, err := stateConf.WaitForStateContext(ctx) + if out, ok := outputRaw.(*networkfirewall.DescribeVpcEndpointAssociationOutput); ok { + return out, err + } + + return nil, err +} + +func waitVPCEndpointAssociationDeleted(ctx context.Context, conn *networkfirewall.Client, arn string, timeout time.Duration) (*networkfirewall.DescribeVpcEndpointAssociationOutput, error) { + stateConf := &retry.StateChangeConf{ + Pending: enum.Slice(awstypes.FirewallStatusValueReady, awstypes.FirewallStatusValueDeleting), + Target: []string{}, + Refresh: statusVPCEndpointAssociation(ctx, conn, arn), + Timeout: timeout, + ContinuousTargetOccurence: 2, + } + + outputRaw, err := stateConf.WaitForStateContext(ctx) + if out, ok := outputRaw.(*networkfirewall.DescribeVpcEndpointAssociationOutput); ok { + return out, err + } + + return nil, err +} + +func statusVPCEndpointAssociation(ctx context.Context, conn *networkfirewall.Client, id string) retry.StateRefreshFunc { + return func() (any, string, error) { + out, err := findVPCEndpointAssociationByID(ctx, conn, id) + if tfresource.NotFound(err) { + return nil, "", nil + } + + if err != nil { + return nil, "", err + } + + return out, string(out.VpcEndpointAssociationStatus.Status), nil + } +} + +func findVPCEndpointAssociationByID(ctx context.Context, conn *networkfirewall.Client, arn string) (*networkfirewall.DescribeVpcEndpointAssociationOutput, error) { + input := networkfirewall.DescribeVpcEndpointAssociationInput{ + VpcEndpointAssociationArn: aws.String(arn), + } + + out, err := conn.DescribeVpcEndpointAssociation(ctx, &input) + if err != nil { + if errs.IsA[*awstypes.ResourceNotFoundException](err) { + return nil, &retry.NotFoundError{ + LastError: err, + LastRequest: &input, + } + } + + return nil, err + } + + if out == nil { + return nil, tfresource.NewEmptyResultError(&input) + } + + return out, nil +} + +type resourceVPCEndpointAssociationModel struct { + framework.WithRegionModel + Description types.String `tfsdk:"description"` + FirewallArn types.String `tfsdk:"firewall_arn"` + ID types.String `tfsdk:"id"` + SubnetMapping fwtypes.ListNestedObjectValueOf[subnetMappingModel] `tfsdk:"subnet_mapping"` + Tags tftags.Map `tfsdk:"tags"` + TagsAll tftags.Map `tfsdk:"tags_all"` + Timeouts timeouts.Value `tfsdk:"timeouts"` + VpcEndpointAssociationArn types.String `tfsdk:"arn"` + VpcEndpointAssociationId types.String `tfsdk:"vpc_endpoint_association_id"` + VpcEndpointAssociationStatus fwtypes.ListNestedObjectValueOf[vpcEndpointAssociationStatusModel] `tfsdk:"vpc_endpoint_association_status"` + VPCID types.String `tfsdk:"vpc_id"` +} + +func (model *resourceVPCEndpointAssociationModel) setID() { + model.ID = model.VpcEndpointAssociationArn +} + +type subnetMappingModel struct { + SubnetId types.String `tfsdk:"subnet_id"` + IPAddressType types.String `tfsdk:"ip_address_type"` +} + +type vpcEndpointAssociationStatusModel struct { + Status types.String `tfsdk:"status"` + AssociationSyncState fwtypes.SetNestedObjectValueOf[AZSyncStateModel] `tfsdk:"association_sync_state"` +} + +type AZSyncStateModel struct { + Attachment fwtypes.ListNestedObjectValueOf[attachmentModel] `tfsdk:"attachment"` + AvailabilityZone types.String `tfsdk:"availability_zone"` +} + +type attachmentModel struct { + EndpointId types.String `tfsdk:"endpoint_id"` + SubnetId types.String `tfsdk:"subnet_id"` + Status types.String `tfsdk:"status"` + StatusMessage types.String `tfsdk:"status_message"` +} + +func (m *resourceVPCEndpointAssociationModel) flattenVpcEndpointAssociationStatus(ctx context.Context, vpcEndpointAssociationStatus *awstypes.VpcEndpointAssociationStatus) { + + statusModel.Status = flex.StringValueToFramework(ctx, string(vpcEndpointAssociationStatus.Status)) + + if len(vpcEndpointAssociationStatus.AssociationSyncState) == 0 { + statusModel.AssociationSyncState = fwtypes.NewSetNestedObjectValueOfNull[AZSyncStateModel](ctx) + return + } + azSyncStates := make([]*AZSyncStateModel, 0, len(vpcEndpointAssociationStatus.AssociationSyncState)) + for az, syncState := range vpcEndpointAssociationStatus.AssociationSyncState { + azSyncState := &AZSyncStateModel{ + AvailabilityZone: flex.StringValueToFramework(ctx, az), + } + if syncState.Attachment != nil { + attachment := &attachmentModel{ + EndpointId: flex.StringToFramework(ctx, syncState.Attachment.EndpointId), + SubnetId: flex.StringToFramework(ctx, syncState.Attachment.SubnetId), + Status: flex.StringValueToFramework(ctx, string(syncState.Attachment.Status)), + StatusMessage: flex.StringToFramework(ctx, syncState.Attachment.StatusMessage), + } + azSyncState.Attachment = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, []*attachmentModel{attachment}) + } else { + azSyncState.Attachment = fwtypes.NewListNestedObjectValueOfNull[attachmentModel](ctx) + } + + azSyncStates = append(azSyncStates, azSyncState) + } + + statusModel.AssociationSyncState = fwtypes.NewSetNestedObjectValueOfSliceMust(ctx, azSyncStates) +} diff --git a/internal/service/networkfirewall/vpc_endpoint_association_test.go b/internal/service/networkfirewall/vpc_endpoint_association_test.go new file mode 100644 index 000000000000..bbbe458f4dfa --- /dev/null +++ b/internal/service/networkfirewall/vpc_endpoint_association_test.go @@ -0,0 +1,229 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package networkfirewall_test + +import ( + "context" + "errors" + "fmt" + "regexp" + "testing" + + "github.com/YakDriver/regexache" + "github.com/aws/aws-sdk-go-v2/service/networkfirewall" + sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/terraform" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + "github.com/hashicorp/terraform-provider-aws/internal/conns" + "github.com/hashicorp/terraform-provider-aws/internal/create" + tfnetworkfirewall "github.com/hashicorp/terraform-provider-aws/internal/service/networkfirewall" + "github.com/hashicorp/terraform-provider-aws/internal/tfresource" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccNetworkFirewallVPCEndpointAssociation_basic(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var vpcendpointassociation networkfirewall.DescribeVpcEndpointAssociationOutput + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_networkfirewall_vpc_endpoint_association.test" + // firewallResourceName := "aws_networkfirewall_firewall.test" + // vpcResourceName := "aws_vpc.target" + //subnetResourceName := "aws_subnet.target" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + testAccVPCEndpointAssociationPreCheck(ctx, t) + }, + ErrorCheck: acctest.ErrorCheck(t, names.NetworkFirewallServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckVPCEndpointAssociationDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccVPCEndpointAssociationConfig_basic(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckVPCEndpointAssociationExists(ctx, resourceName, &vpcendpointassociation), + // resource.TestCheckResourceAttrPair(resourceName, "firewall_arn", firewallResourceName, names.AttrARN), + // resource.TestCheckResourceAttrPair(resourceName, "vpc_id", vpcResourceName, names.AttrID), + //resource.TestCheckResourceAttrPair(resourceName, "subnet_mapping.0.subnet_id", subnetResourceName, names.AttrID), + resource.TestMatchTypeSetElemNestedAttrs(resourceName, "vpc_endpoint_association_status.0.association_sync_state.*", map[string]*regexp.Regexp{ + "attachment.0.endpoint_id": regexache.MustCompile(`vpce-`), + }), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccNetworkFirewallVPCEndpointAssociation_disappears(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var vpcendpointassociation networkfirewall.DescribeVpcEndpointAssociationOutput + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_networkfirewall_vpc_endpoint_association.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + testAccPreCheck(ctx, t) + }, + ErrorCheck: acctest.ErrorCheck(t, names.NetworkFirewallServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckVPCEndpointAssociationDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccVPCEndpointAssociationConfig_basic(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckVPCEndpointAssociationExists(ctx, resourceName, &vpcendpointassociation), + + acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfnetworkfirewall.ResourceVPCEndpointAssociation, resourceName), + ), + ExpectNonEmptyPlan: true, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, + }, + }, + }) +} + +func testAccCheckVPCEndpointAssociationDestroy(ctx context.Context) resource.TestCheckFunc { + return func(s *terraform.State) error { + conn := acctest.Provider.Meta().(*conns.AWSClient).NetworkFirewallClient(ctx) + + for _, rs := range s.RootModule().Resources { + if rs.Type != "aws_networkfirewall_vpc_endpoint_association" { + continue + } + + _, err := tfnetworkfirewall.FindVPCEndpointAssociationByID(ctx, conn, rs.Primary.ID) + if tfresource.NotFound(err) { + return nil + } + if err != nil { + return create.Error(names.NetworkFirewall, create.ErrActionCheckingDestroyed, tfnetworkfirewall.ResNameVPCEndpointAssociation, rs.Primary.ID, err) + } + + return create.Error(names.NetworkFirewall, create.ErrActionCheckingDestroyed, tfnetworkfirewall.ResNameVPCEndpointAssociation, rs.Primary.ID, errors.New("not destroyed")) + } + + return nil + } +} + +func testAccCheckVPCEndpointAssociationExists(ctx context.Context, name string, vpcendpointassociation *networkfirewall.DescribeVpcEndpointAssociationOutput) resource.TestCheckFunc { + return func(s *terraform.State) error { + rs, ok := s.RootModule().Resources[name] + if !ok { + return create.Error(names.NetworkFirewall, create.ErrActionCheckingExistence, tfnetworkfirewall.ResNameVPCEndpointAssociation, name, errors.New("not found")) + } + + if rs.Primary.ID == "" { + return create.Error(names.NetworkFirewall, create.ErrActionCheckingExistence, tfnetworkfirewall.ResNameVPCEndpointAssociation, name, errors.New("not set")) + } + + conn := acctest.Provider.Meta().(*conns.AWSClient).NetworkFirewallClient(ctx) + + resp, err := tfnetworkfirewall.FindVPCEndpointAssociationByID(ctx, conn, rs.Primary.ID) + if err != nil { + return create.Error(names.NetworkFirewall, create.ErrActionCheckingExistence, tfnetworkfirewall.ResNameVPCEndpointAssociation, rs.Primary.ID, err) + } + + *vpcendpointassociation = *resp + + return nil + } +} + +func testAccVPCEndpointAssociationPreCheck(ctx context.Context, t *testing.T) { + conn := acctest.Provider.Meta().(*conns.AWSClient).NetworkFirewallClient(ctx) + + input := &networkfirewall.ListVpcEndpointAssociationsInput{} + + _, err := conn.ListVpcEndpointAssociations(ctx, input) + + if acctest.PreCheckSkipError(err) { + t.Skipf("skipping acceptance testing: %s", err) + } + if err != nil { + t.Fatalf("unexpected PreCheck error: %s", err) + } +} + +// func testAccVPCEndpointAssociationConfig_basic(rName string) string { +// return acctest.ConfigCompose(testAccFirewallConfig_baseVPC(rName), fmt.Sprintf(` +// resource "aws_networkfirewall_firewall" "test" { +// name = %[1]q +// firewall_policy_arn = aws_networkfirewall_firewall_policy.test.arn +// vpc_id = aws_vpc.test.id + +// subnet_mapping { +// subnet_id = aws_subnet.test[0].id +// } +// } + +// resource "aws_vpc" "target" { +// cidr_block = "10.0.0.0/16" + +// tags = { +// Name = %[1]q +// } +// } + +// resource "aws_subnet" "target" { +// vpc_id = aws_vpc.target.id +// availability_zone = data.aws_availability_zones.available.names[0] +// cidr_block = cidrsubnet(aws_vpc.target.cidr_block, 8, 1) + +// tags = { +// Name = %[1]q +// } +// } +// resource "aws_networkfirewall_vpc_endpoint_association" "test" { +// firewall_arn = aws_networkfirewall_firewall.test.arn +// vpc_id = aws_vpc.target.id + +// subnet_mapping { +// subnet_id = aws_subnet.target.id +// } + +// tags = { +// Name = %[1]q +// } +// } +// `, rName)) +// } + +func testAccVPCEndpointAssociationConfig_basic(rName string) string { + return fmt.Sprintf(` +resource "aws_networkfirewall_vpc_endpoint_association" "test" { + firewall_arn = "arn:aws:network-firewall:ap-southeast-2:922421696073:firewall/tf-acc-test-3237751493501276692" + vpc_id = "vpc-08d9d6d6e21fa4afc" + + subnet_mapping { + subnet_id = "subnet-0c58d6ca32f04ce8f" + } + + tags = { + Name = %[1]q + } +} +`, rName) +} diff --git a/website/docs/r/networkfirewall_vpc_endpoint_association.html.markdown b/website/docs/r/networkfirewall_vpc_endpoint_association.html.markdown new file mode 100644 index 000000000000..fe85683f45be --- /dev/null +++ b/website/docs/r/networkfirewall_vpc_endpoint_association.html.markdown @@ -0,0 +1,92 @@ +--- +subcategory: "Network Firewall" +layout: "aws" +page_title: "AWS: aws_networkfirewall_vpc_endpoint_association" +description: |- + Manages an AWS Network Firewall VPC Endpoint Association. +--- + +# Resource: aws_networkfirewall_vpc_endpoint_association + +Manages an AWS Network Firewall VPC Endpoint Association. + +Use `aws_networkfirewall_vpc_endpoint_association` to establish new firewall endpoints in any Availability Zone where the firewall is already being used. The first use of a firewall in an Availability Zone must be defined by `aws_networkfirewall_firewall` resource and `subnet_mapping` argument. + +## Example Usage + +### Basic Usage + +```terraform +resource "aws_networkfirewall_vpc_endpoint_association" "example" { + firewall_arn = aws_networkfirewall_firewall.example.arn + vpc_id = aws_vpc.example.id + + subnet_mapping { + subnet_id = aws_subnet.example.id + } + + subnet_mapping { + subnet_id = aws_subnet.example_two.id + } + + tags = { + Name = "example endpoint" + } +} +``` + +## Argument Reference + +This resource supports the following arguments: + +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). +* `description` (Optional) - A description of the VPC endpoint association. +* `firewall_arn` (Required) - The Amazon Resource Name (ARN) that identifies the firewall. +* `subnet_mapping` (Required) - The ID for a subnet that's used in an association with a firewall. See [Subnet Mapping](#subnet-mapping) below for details. +* `vpc_id` (Required) - The unique identifier of the VPC for the endpoint association. +* `tags` - (Optional) Map of resource tags to associate with the resource. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +### Subnet Mapping + +The `subnet_mapping` block supports the following arguments: + +* `ip_address_type` - (Optional) The subnet's IP address type. Valid values: `"DUALSTACK"`, `"IPV4"`. +* `subnet_id` - (Required) The unique identifier for the subnet. + +## Attribute Reference + +This resource exports the following attributes in addition to the arguments above: + +* `arn` - ARN of the VPC Endpoint Association. +* `vpc_endpoint_association_id` - The unique identifier of the VPC endpoint association. +* `vpc_endpoint_association_status` - Nested list of information about the current status of the VPC Endpoint Association. + * `association_sync_state` - Set of subnets configured for use by the VPC Endpoint Association. + * `attachment` - Nested list describing the attachment status of the firewall's VPC Endpoint Association with a single VPC subnet. + * `endpoint_id` - The identifier of the VPC endpoint that AWS Network Firewall has instantiated in the subnet. You use this to identify the firewall endpoint in the VPC route tables, when you redirect the VPC traffic through the endpoint. + * `subnet_id` - The unique identifier of the subnet that you've specified to be used for a VPC Endpoint Association endpoint. + * `availability_zone` - The Availability Zone where the subnet is configured. +* `tags_all` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +* `create` - (Default `60m`) +* `delete` - (Default `60m`) + +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Network Firewall VPC Endpoint Association using the `example_id_arg`. For example: + +```terraform +import { + to = aws_networkfirewall_vpc_endpoint_association.example + id = "vpc_endpoint_association-id-12345678" +} +``` + +Using `terraform import`, import Network Firewall VPC Endpoint Association using the `example_id_arg`. For example: + +```console +% terraform import aws_networkfirewall_vpc_endpoint_association.example vpc_endpoint_association-id-12345678 +``` From 8cc780df0d306b130fa364c3060406289b2a31a2 Mon Sep 17 00:00:00 2001 From: tabito Date: Wed, 30 Jul 2025 22:30:17 +0900 Subject: [PATCH 0049/1301] replace `storage_type` with `names.AttrStorageType` --- internal/service/fsx/lustre_file_system.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/fsx/lustre_file_system.go b/internal/service/fsx/lustre_file_system.go index 3c1ed3fe96f7..fb23b3514ce3 100644 --- a/internal/service/fsx/lustre_file_system.go +++ b/internal/service/fsx/lustre_file_system.go @@ -406,7 +406,7 @@ func resourceLustreFileSystemMetadataConfigCustomizeDiff(_ context.Context, d *s } func resourceLustreFileSystemDataReadCacheConfigurationCustomizeDiff(_ context.Context, d *schema.ResourceDiff, meta any) error { - if v, ok := d.Get("storage_type").(string); ok && v == string(awstypes.StorageTypeIntelligentTiering) { + if v, ok := d.Get(names.AttrStorageType).(string); ok && v == string(awstypes.StorageTypeIntelligentTiering) { var throughputCapacity int if v, ok := d.Get("throughput_capacity").(int); ok && v != 0 { throughputCapacity = v From b68c3c07c4ab8277f193c377b991a8974de58b74 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 30 Jul 2025 10:12:05 -0400 Subject: [PATCH 0050/1301] r/aws_quicksight_custom_permissions: New resource. --- .changelog/#####.txt | 3 + .../service/quicksight/custom_permissions.go | 289 ++++++++++++++++++ .../service/quicksight/service_package_gen.go | 9 + 3 files changed, 301 insertions(+) create mode 100644 .changelog/#####.txt create mode 100644 internal/service/quicksight/custom_permissions.go diff --git a/.changelog/#####.txt b/.changelog/#####.txt new file mode 100644 index 000000000000..763b125bdcb7 --- /dev/null +++ b/.changelog/#####.txt @@ -0,0 +1,3 @@ +```release-note:new-resource +aws_quicksight_custom_permissions +``` \ No newline at end of file diff --git a/internal/service/quicksight/custom_permissions.go b/internal/service/quicksight/custom_permissions.go new file mode 100644 index 000000000000..75cfc572da69 --- /dev/null +++ b/internal/service/quicksight/custom_permissions.go @@ -0,0 +1,289 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package quicksight + +import ( + "context" + "fmt" + + "github.com/YakDriver/regexache" + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/service/quicksight" + awstypes "github.com/aws/aws-sdk-go-v2/service/quicksight/types" + "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" + "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator" + "github.com/hashicorp/terraform-plugin-framework/path" + "github.com/hashicorp/terraform-plugin-framework/resource" + "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/schema/validator" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" + "github.com/hashicorp/terraform-provider-aws/internal/errs" + "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" + intflex "github.com/hashicorp/terraform-provider-aws/internal/flex" + "github.com/hashicorp/terraform-provider-aws/internal/framework" + fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" + fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" + fwvalidators "github.com/hashicorp/terraform-provider-aws/internal/framework/validators" + tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" + "github.com/hashicorp/terraform-provider-aws/internal/tfresource" + "github.com/hashicorp/terraform-provider-aws/names" +) + +// @FrameworkResource("aws_quicksight_custom_permissions", name="Custom Permissions") +// @Tags(identifierAttribute="arn") +// @Testing(tagsTest=false) +func newCustomPermissionsResource(_ context.Context) (resource.ResourceWithConfigure, error) { + r := &customPermissionsResource{} + + return r, nil +} + +type customPermissionsResource struct { + framework.ResourceWithModel[customPermissionsResourceModel] +} + +func (r *customPermissionsResource) Schema(ctx context.Context, request resource.SchemaRequest, response *resource.SchemaResponse) { + response.Schema = schema.Schema{ + Attributes: map[string]schema.Attribute{ + names.AttrARN: framework.ARNAttributeComputedOnly(), + names.AttrAWSAccountID: schema.StringAttribute{ + Optional: true, + Computed: true, + Validators: []validator.String{ + fwvalidators.AWSAccountID(), + }, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.UseStateForUnknown(), + stringplanmodifier.RequiresReplace(), + }, + }, + "custom_permissions_name": schema.StringAttribute{ + Required: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 64), + stringvalidator.RegexMatches(regexache.MustCompile(`^[a-zA-Z0-9+=,.@_-]+$`), ""), + }, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplace(), + }, + }, + names.AttrTags: tftags.TagsAttribute(), + names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), + }, + Blocks: map[string]schema.Block{ + "capabilities": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[capabilitiesModel](ctx), + Validators: []validator.List{ + listvalidator.IsRequired(), + listvalidator.SizeAtLeast(1), + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "add_or_run_anomaly_detection_for_analyses": schema.StringAttribute{ + CustomType: fwtypes.StringEnumType[awstypes.CapabilityState](), + Optional: true, + }, + }, + }, + }, + }, + } +} + +func (r *customPermissionsResource) Create(ctx context.Context, request resource.CreateRequest, response *resource.CreateResponse) { + var data customPermissionsResourceModel + response.Diagnostics.Append(request.Plan.Get(ctx, &data)...) + if response.Diagnostics.HasError() { + return + } + if data.AWSAccountID.IsUnknown() { + data.AWSAccountID = fwflex.StringValueToFramework(ctx, r.Meta().AccountID(ctx)) + } + + conn := r.Meta().QuickSightClient(ctx) + + name := fwflex.StringValueFromFramework(ctx, data.CustomPermissionsName) + var input quicksight.CreateCustomPermissionsInput + response.Diagnostics.Append(fwflex.Expand(ctx, data, &input)...) + if response.Diagnostics.HasError() { + return + } + + output, err := conn.CreateCustomPermissions(ctx, &input) + + if err != nil { + response.Diagnostics.AddError(fmt.Sprintf("creating Quicksight Custom Permissions (%s)", name), err.Error()) + + return + } + + // Set values for unknowns. + data.ARN = fwflex.StringToFramework(ctx, output.Arn) + + response.Diagnostics.Append(response.State.Set(ctx, data)...) +} + +func (r *customPermissionsResource) Read(ctx context.Context, request resource.ReadRequest, response *resource.ReadResponse) { + var data customPermissionsResourceModel + response.Diagnostics.Append(request.State.Get(ctx, &data)...) + if response.Diagnostics.HasError() { + return + } + + conn := r.Meta().QuickSightClient(ctx) + + accountID, name := fwflex.StringValueFromFramework(ctx, data.AWSAccountID), fwflex.StringValueFromFramework(ctx, data.CustomPermissionsName) + output, err := findCustomPermissionsByTwoPartKey(ctx, conn, accountID, name) + + if tfresource.NotFound(err) { + response.Diagnostics.Append(fwdiag.NewResourceNotFoundWarningDiagnostic(err)) + response.State.RemoveResource(ctx) + + return + } + + if err != nil { + response.Diagnostics.AddError(fmt.Sprintf("reading Quicksight Custom Permissions (%s)", name), err.Error()) + + return + } + + // Set attributes for import. + response.Diagnostics.Append(fwflex.Flatten(ctx, output, &data)...) + if response.Diagnostics.HasError() { + return + } + + response.Diagnostics.Append(response.State.Set(ctx, &data)...) +} + +func (r *customPermissionsResource) Update(ctx context.Context, request resource.UpdateRequest, response *resource.UpdateResponse) { + var new, old customPermissionsResourceModel + response.Diagnostics.Append(request.Plan.Get(ctx, &new)...) + if response.Diagnostics.HasError() { + return + } + response.Diagnostics.Append(request.State.Get(ctx, &old)...) + if response.Diagnostics.HasError() { + return + } + + conn := r.Meta().QuickSightClient(ctx) + + diff, diags := fwflex.Diff(ctx, new, old) + response.Diagnostics.Append(diags...) + if response.Diagnostics.HasError() { + return + } + + if diff.HasChanges() { + name := fwflex.StringValueFromFramework(ctx, new.CustomPermissionsName) + var input quicksight.UpdateCustomPermissionsInput + response.Diagnostics.Append(fwflex.Expand(ctx, new, &input)...) + if response.Diagnostics.HasError() { + return + } + + _, err := conn.UpdateCustomPermissions(ctx, &input) + + if err != nil { + response.Diagnostics.AddError(fmt.Sprintf("updating Quicksight Custom Permissions (%s)", name), err.Error()) + + return + } + } + + response.Diagnostics.Append(response.State.Set(ctx, &new)...) +} + +func (r *customPermissionsResource) Delete(ctx context.Context, request resource.DeleteRequest, response *resource.DeleteResponse) { + var data customPermissionsResourceModel + response.Diagnostics.Append(request.State.Get(ctx, &data)...) + if response.Diagnostics.HasError() { + return + } + + conn := r.Meta().QuickSightClient(ctx) + + accountID, name := fwflex.StringValueFromFramework(ctx, data.AWSAccountID), fwflex.StringValueFromFramework(ctx, data.CustomPermissionsName) + input := quicksight.DeleteCustomPermissionsInput{ + AwsAccountId: aws.String(accountID), + CustomPermissionsName: aws.String(name), + } + _, err := conn.DeleteCustomPermissions(ctx, &input) + + if errs.IsA[*awstypes.ResourceNotFoundException](err) { + return + } + + if err != nil { + response.Diagnostics.AddError(fmt.Sprintf("deleting Quicksight Custom Permissions (%s)", name), err.Error()) + + return + } +} + +func (r *customPermissionsResource) ImportState(ctx context.Context, request resource.ImportStateRequest, response *resource.ImportStateResponse) { + const ( + customPermissionsIDParts = 2 + ) + parts, err := intflex.ExpandResourceId(request.ID, customPermissionsIDParts, true) + + if err != nil { + response.Diagnostics.Append(fwdiag.NewParsingResourceIDErrorDiagnostic(err)) + + return + } + + response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root(names.AttrAWSAccountID), parts[0])...) + response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root("custom_permissions_name"), parts[1])...) +} + +func findCustomPermissionsByTwoPartKey(ctx context.Context, conn *quicksight.Client, awsAccountID, customPermissionsName string) (*awstypes.CustomPermissions, error) { + input := &quicksight.DescribeCustomPermissionsInput{ + AwsAccountId: aws.String(awsAccountID), + CustomPermissionsName: aws.String(customPermissionsName), + } + + return findCustomPermissions(ctx, conn, input) +} + +func findCustomPermissions(ctx context.Context, conn *quicksight.Client, input *quicksight.DescribeCustomPermissionsInput) (*awstypes.CustomPermissions, error) { + output, err := conn.DescribeCustomPermissions(ctx, input) + + if errs.IsA[*awstypes.ResourceNotFoundException](err) { + return nil, &retry.NotFoundError{ + LastError: err, + LastRequest: input, + } + } + + if err != nil { + return nil, err + } + + if output == nil || output.CustomPermissions == nil { + return nil, tfresource.NewEmptyResultError(input) + } + + return output.CustomPermissions, nil +} + +type customPermissionsResourceModel struct { + framework.WithRegionModel + ARN types.String `tfsdk:"arn"` + AWSAccountID types.String `tfsdk:"aws_account_id"` + Capabilities fwtypes.ListNestedObjectValueOf[capabilitiesModel] `tfsdk:"capabilities"` + CustomPermissionsName types.String `tfsdk:"custom_permissions_name"` + Tags tftags.Map `tfsdk:"tags"` + TagsAll tftags.Map `tfsdk:"tags_all"` +} + +type capabilitiesModel struct { + AddOrRunAnomalyDetectionForAnalyses fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"add_or_run_anomaly_detection_for_analyses"` +} diff --git a/internal/service/quicksight/service_package_gen.go b/internal/service/quicksight/service_package_gen.go index 8aeaccd23d09..b7131d4c23ed 100644 --- a/internal/service/quicksight/service_package_gen.go +++ b/internal/service/quicksight/service_package_gen.go @@ -30,6 +30,15 @@ func (p *servicePackage) FrameworkResources(ctx context.Context) []*inttypes.Ser Name: "Account Settings", Region: unique.Make(inttypes.ResourceRegionDisabled()), }, + { + Factory: newCustomPermissionsResource, + TypeName: "aws_quicksight_custom_permissions", + Name: "Custom Permissions", + Tags: unique.Make(inttypes.ServicePackageResourceTags{ + IdentifierAttribute: names.AttrARN, + }), + Region: unique.Make(inttypes.ResourceRegionDefault()), + }, { Factory: newFolderMembershipResource, TypeName: "aws_quicksight_folder_membership", From 28d9beed1bb5ead69d880dd5b1c6193aca76190c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 30 Jul 2025 11:27:15 -0400 Subject: [PATCH 0051/1301] r/aws_quicksight_custom_permissions: Additional attributes. --- .../service/quicksight/custom_permissions.go | 34 ++++++++++++++++--- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/internal/service/quicksight/custom_permissions.go b/internal/service/quicksight/custom_permissions.go index 75cfc572da69..97565efd4354 100644 --- a/internal/service/quicksight/custom_permissions.go +++ b/internal/service/quicksight/custom_permissions.go @@ -13,6 +13,7 @@ import ( awstypes "github.com/aws/aws-sdk-go-v2/service/quicksight/types" "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator" + "github.com/hashicorp/terraform-plugin-framework/attr" "github.com/hashicorp/terraform-plugin-framework/path" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" @@ -28,6 +29,7 @@ import ( fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" fwvalidators "github.com/hashicorp/terraform-provider-aws/internal/framework/validators" + tfmaps "github.com/hashicorp/terraform-provider-aws/internal/maps" tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" @@ -83,12 +85,12 @@ func (r *customPermissionsResource) Schema(ctx context.Context, request resource listvalidator.SizeAtMost(1), }, NestedObject: schema.NestedBlockObject{ - Attributes: map[string]schema.Attribute{ - "add_or_run_anomaly_detection_for_analyses": schema.StringAttribute{ + Attributes: tfmaps.ApplyToAllValues(fwtypes.AttributeTypesMust[capabilitiesModel](ctx), func(attr.Type) schema.Attribute { + return schema.StringAttribute{ CustomType: fwtypes.StringEnumType[awstypes.CapabilityState](), Optional: true, - }, - }, + } + }), }, }, }, @@ -285,5 +287,27 @@ type customPermissionsResourceModel struct { } type capabilitiesModel struct { - AddOrRunAnomalyDetectionForAnalyses fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"add_or_run_anomaly_detection_for_analyses"` + AddOrRunAnomalyDetectionForAnalyses fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"add_or_run_anomaly_detection_for_analyses"` + CreateAndUpdateDashboardEmailReports fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"create_and_update_dashboard_email_reports"` + CreateAndUpdateDatasets fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"create_and_update_datasets"` + CreateAndUpdateDataSources fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"create_and_update_data_sources"` + CreateAndUpdateThemes fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"create_and_update_themes"` + CreateAndUpdateThresholdAlerts fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"create_and_update_threshold_alerts"` + CreateSharedFolders fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"create_shared_folders"` + CreateSPICEDataset fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"create_spice_dataset"` + ExportToCSV fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"export_to_csv"` + ExportToCSVInScheduledReports fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"export_to_csv_in_scheduled_reports"` + ExportToExcel fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"export_to_excel"` + ExportToExcelInScheduledReports fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"export_to_excel_in_scheduled_reports"` + ExportToPDF fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"export_to_pdf"` + ExportToPDFInScheduledReports fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"export_to_pdf_in_scheduled_reports"` + IncludeContentInScheduledReportsEmail fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"include_content_in_scheduled_reports_email"` + PrintReports fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"print_reports"` + RenameSharedFolders fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"rename_shared_folders"` + ShareAnalyses fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"share_analyses"` + ShareDashboards fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"share_dashboards"` + ShareDatasets fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"share_datasets"` + ShareDataSources fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"share_data_sources"` + SubscribeDashboardEmailReports fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"subscribe_dashboard_email_reports"` + ViewAccountSPICECapacity fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"view_account_spice_capacity"` } From 4d48c22d393b6b823a78f52f27acd024a35f330e Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Wed, 30 Jul 2025 11:17:42 -0500 Subject: [PATCH 0052/1301] aws_servicequotas_service_quota: fail early --- internal/service/servicequotas/service_quota.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/internal/service/servicequotas/service_quota.go b/internal/service/servicequotas/service_quota.go index 0860df854ede..8fdd0cb9cbee 100644 --- a/internal/service/servicequotas/service_quota.go +++ b/internal/service/servicequotas/service_quota.go @@ -163,7 +163,13 @@ func resourceServiceQuotaCreate(ctx context.Context, d *schema.ResourceData, met } id := serviceQuotaCreateResourceID(serviceCode, quotaCode) - if value := d.Get(names.AttrValue).(float64); value > quotaValue { + value := d.Get(names.AttrValue).(float64) + + if value < quotaValue { + return sdkdiag.AppendErrorf(diags, "requesting Service Quotas Service Quota (%s) with value less than current", id) + } + + if value > quotaValue { input := servicequotas.RequestServiceQuotaIncreaseInput{ DesiredValue: aws.Float64(value), QuotaCode: aws.String(quotaCode), @@ -176,8 +182,6 @@ func resourceServiceQuotaCreate(ctx context.Context, d *schema.ResourceData, met } d.Set("request_id", output.RequestedQuota.Id) - } else if value < quotaValue { - return sdkdiag.AppendErrorf(diags, "requesting Service Quotas with value less than current: %s", err) } d.SetId(id) From 9557a8464f8d7726510203718c96e0fc62b7379f Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Wed, 30 Jul 2025 11:37:07 -0500 Subject: [PATCH 0053/1301] aws_servicequotas_service_quota: update error regex --- internal/service/servicequotas/service_quota_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/servicequotas/service_quota_test.go b/internal/service/servicequotas/service_quota_test.go index a7d9cc770162..11a8a715d5c1 100644 --- a/internal/service/servicequotas/service_quota_test.go +++ b/internal/service/servicequotas/service_quota_test.go @@ -267,7 +267,7 @@ func TestAccServiceQuotasServiceQuota_valueLessThanCurrent(t *testing.T) { Steps: []resource.TestStep{ { Config: testAccServiceQuotaConfig_valueLessThanCurrent(setQuotaServiceCode, setQuotaQuotaCode), - ExpectError: regexache.MustCompile(`requesting Service Quotas with value less than current`), + ExpectError: regexache.MustCompile(`requesting Service Quotas Service Quota \([^)]+\) with value less than current`), }, }, }) From 276245766ea1d470ffab334370d821f57529d0bb Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 30 Jul 2025 13:56:59 -0400 Subject: [PATCH 0054/1301] r/aws_quicksight_custom_permissions: Documentation. --- ...uicksight_custom_permissions.html.markdown | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 website/docs/r/quicksight_custom_permissions.html.markdown diff --git a/website/docs/r/quicksight_custom_permissions.html.markdown b/website/docs/r/quicksight_custom_permissions.html.markdown new file mode 100644 index 000000000000..7ea7ab857dd8 --- /dev/null +++ b/website/docs/r/quicksight_custom_permissions.html.markdown @@ -0,0 +1,85 @@ +--- +subcategory: "QuickSight" +layout: "aws" +page_title: "AWS: aws_quicksight_custom_permissions" +description: |- + Manages a QuickSight custom permissions profile. +--- + +# Resource: aws_quicksight_custom_permissions + +Manages a QuickSight custom permissions profile. + +## Example Usage + +resource "aws_quicksight_custom_permissions" "example" { + custom_permissions_name = "example-permissions" + + capabilities { + print_reports = "DENY" + share_dashboards = "DENY" + } +} + +## Argument Reference + +The following arguments are required: + +* `capabilities` - (Required) Actions to include in the custom permissions profile. See [capabilities](#capabilities). +* `custom_permissions_name` - (Required, Forces new resource) Custom permissions profile name. + +The following arguments are optional: + +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). +* `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configuration block](/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +### capabilities + +* `add_or_run_anomaly_detection_for_analyses` - (Optional) The ability to add or run anomaly detection. Valid values: `DENY`. +* `create_and_update_dashboard_email_reports` - (Optional) The ability to create and update email reports. Valid values: `DENY`. +* `create_and_update_datasets` - (Optional) The ability to create and update datasets. Valid values: `DENY`. +* `create_and_update_data_sources` - (Optional) The ability to create and update data sources. Valid values: `DENY`. +* `create_and_update_themes` - (Optional) The ability to export to create and update themes. Valid values: `DENY`. +* `create_and_update_threshold_alerts` - (Optional) The ability to create and update threshold alerts. Valid values: `DENY`. +* `create_shared_folders` - (Optional) The ability to create shared folders. Valid values: `DENY`. +* `create_spice_dataset` - (Optional) The ability to create a SPICE dataset. Valid values: `DENY`. +* `export_to_csv` - (Optional) The ability to export to CSV files from the UI. Valid values: `DENY`. +* `export_to_csv_in_scheduled_reports` - (Optional) The ability to export to CSV files in scheduled email reports. Valid values: `DENY`. +* `export_to_excel` - (Optional) The ability to export to Excel files from the UI. Valid values: `DENY`. +* `export_to_excel_in_scheduled_reports` - (Optional) The ability to export to Excel files in scheduled email reports. Valid values: `DENY`. +* `export_to_pdf` - (Optional) The ability to export to PDF files from the UI. Valid values: `DENY`. +* `export_to_pdf_in_scheduled_reports` - (Optional) The ability to export to PDF files in scheduled email reports. Valid values: `DENY`. +* `include_content_in_scheduled_reports_email` - (Optional) The ability to include content in scheduled email reports. Valid values: `DENY`. +* `print_reports` - (Optional) The ability to print reports. Valid values: `DENY`. +* `rename_shared_folders` - (Optional) The ability to rename shared folders. Valid values: `DENY`. +* `share_analyses` - (Optional) The ability to share analyses. Valid values: `DENY`. +* `share_dashboards` - (Optional) The ability to share dashboards. Valid values: `DENY`. +* `share_datasets` - (Optional) The ability to share datasets. Valid values: `DENY`. +* `share_data_sources` - (Optional) The ability to share data sources. Valid values: `DENY`. +* `subscribe_dashboard_email_reports` - (Optional) The ability to subscribe to email reports. Valid values: `DENY`. +* `view_account_spice_capacity` - (Optional) The ability to view account SPICE capacity. Valid values: `DENY`. + +## Attribute Reference + +This resource exports the following attributes in addition to the arguments above: + +* `arn` - ARN of the custom permissions profile. +* `tags_all` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](/docs/providers/aws/index.html#default_tags-configuration-block). + +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import a QuickSight custom permissions profile using the AWS account ID and custom permissions profile name separated by a comma (`,`). For example: + +```terraform +import { + to = aws_quicksight_custom_permissions.example + id = "123456789012,example-permissions" +} +``` + +Using `terraform import`, import a QuickSight custom permissions profile using the AWS account ID and custom permissions profile name separated by a comma (`,`). For example: + +```console +% terraform import aws_quicksight_custom_permissions.example 123456789012,example-permissions +``` From 358cfbf2e47ad46d257092a8d8b79fcdab66669b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 30 Jul 2025 14:29:26 -0400 Subject: [PATCH 0055/1301] Add 'acctest.AttrsImportStateIdFunc'. --- internal/acctest/state_id.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/internal/acctest/state_id.go b/internal/acctest/state_id.go index 4c7792b524fe..9f10e882d072 100644 --- a/internal/acctest/state_id.go +++ b/internal/acctest/state_id.go @@ -5,9 +5,11 @@ package acctest import ( "fmt" + "strings" "github.com/hashicorp/terraform-plugin-testing/helper/resource" "github.com/hashicorp/terraform-plugin-testing/terraform" + tfslices "github.com/hashicorp/terraform-provider-aws/internal/slices" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -23,6 +25,20 @@ func AttrImportStateIdFunc(resourceName, attrName string) resource.ImportStateId } } +// AttrsImportStateIdFunc is a resource.ImportStateIdFunc that returns the values of the specified attributes concatenated with a separator +func AttrsImportStateIdFunc(resourceName, sep string, attrNames ...string) resource.ImportStateIdFunc { + return func(s *terraform.State) (string, error) { + rs, ok := s.RootModule().Resources[resourceName] + if !ok { + return "", fmt.Errorf("Not found: %s", resourceName) + } + + return strings.Join(tfslices.ApplyToAll(attrNames, func(attrName string) string { + return rs.Primary.Attributes[attrName] + }), sep), nil + } +} + // CrossRegionAttrImportStateIdFunc is a resource.ImportStateIdFunc that returns the value // of the specified attribute and appends the region func CrossRegionAttrImportStateIdFunc(resourceName, attrName string) resource.ImportStateIdFunc { From 6242fb3dfbbdca7af54b5329fe6f94063951d72b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 30 Jul 2025 14:29:45 -0400 Subject: [PATCH 0056/1301] r/aws_quicksight_custom_permissions: Initial acceptance test. --- .../quicksight/custom_permissions_test.go | 158 ++++++++++++++++++ internal/service/quicksight/exports_test.go | 2 + 2 files changed, 160 insertions(+) create mode 100644 internal/service/quicksight/custom_permissions_test.go diff --git a/internal/service/quicksight/custom_permissions_test.go b/internal/service/quicksight/custom_permissions_test.go new file mode 100644 index 000000000000..336af8d23506 --- /dev/null +++ b/internal/service/quicksight/custom_permissions_test.go @@ -0,0 +1,158 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package quicksight_test + +import ( + "context" + "fmt" + "testing" + + "github.com/YakDriver/regexache" + awstypes "github.com/aws/aws-sdk-go-v2/service/quicksight/types" + sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/terraform" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfknownvalue "github.com/hashicorp/terraform-provider-aws/internal/acctest/knownvalue" + "github.com/hashicorp/terraform-provider-aws/internal/conns" + tfquicksight "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight" + "github.com/hashicorp/terraform-provider-aws/internal/tfresource" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccQuickSightCustomPermissions_basic(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_quicksight_custom_permissions.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccCustomPermissionsConfig_basic(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), tfknownvalue.RegionalARNRegexp("quicksight", regexache.MustCompile(`custompermissions/.+`))), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrAWSAccountID), tfknownvalue.AccountID()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("capabilities"), knownvalue.ListExact([]knownvalue.Check{ + knownvalue.ObjectExact(map[string]knownvalue.Check{ + "add_or_run_anomaly_detection_for_analyses": knownvalue.Null(), + "create_and_update_dashboard_email_reports": knownvalue.Null(), + "create_and_update_datasets": knownvalue.Null(), + "create_and_update_data_sources": knownvalue.Null(), + "create_and_update_themes": knownvalue.Null(), + "create_and_update_threshold_alerts": knownvalue.Null(), + "create_shared_folders": knownvalue.Null(), + "create_spice_dataset": knownvalue.Null(), + "export_to_csv": knownvalue.Null(), + "export_to_csv_in_scheduled_reports": knownvalue.Null(), + "export_to_excel": knownvalue.Null(), + "export_to_excel_in_scheduled_reports": knownvalue.Null(), + "export_to_pdf": knownvalue.Null(), + "export_to_pdf_in_scheduled_reports": knownvalue.Null(), + "include_content_in_scheduled_reports_email": knownvalue.Null(), + "print_reports": tfknownvalue.StringExact(awstypes.CapabilityStateDeny), + "rename_shared_folders": knownvalue.Null(), + "share_analyses": knownvalue.Null(), + "share_dashboards": tfknownvalue.StringExact(awstypes.CapabilityStateDeny), + "share_datasets": knownvalue.Null(), + "share_data_sources": knownvalue.Null(), + "subscribe_dashboard_email_reports": knownvalue.Null(), + "view_account_spice_capacity": knownvalue.Null(), + }), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("custom_permissions_name"), knownvalue.StringExact(rName)), + }, + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateIdFunc: acctest.AttrsImportStateIdFunc(resourceName, ",", names.AttrAWSAccountID, "custom_permissions_name"), + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", + }, + }, + }) +} + +func testAccCheckCustomPermissionsDestroy(ctx context.Context) resource.TestCheckFunc { + return func(s *terraform.State) error { + conn := acctest.Provider.Meta().(*conns.AWSClient).QuickSightClient(ctx) + + for _, rs := range s.RootModule().Resources { + if rs.Type != "aws_quicksight_ip_restriction" { + continue + } + + _, err := tfquicksight.FindCustomPermissionsByTwoPartKey(ctx, conn, rs.Primary.Attributes[names.AttrAWSAccountID], rs.Primary.Attributes["custom_permissions_name"]) + + if tfresource.NotFound(err) { + continue + } + + if err != nil { + return err + } + + return fmt.Errorf("QuickSight Custom Permissions (%s) still exists", rs.Primary.Attributes["custom_permissions_name"]) + } + + return nil + } +} + +func testAccCheckCustomPermissionsExists(ctx context.Context, n string, v *awstypes.CustomPermissions) resource.TestCheckFunc { + return func(s *terraform.State) error { + rs, ok := s.RootModule().Resources[n] + if !ok { + return fmt.Errorf("Not found: %s", n) + } + + conn := acctest.Provider.Meta().(*conns.AWSClient).QuickSightClient(ctx) + + output, err := tfquicksight.FindCustomPermissionsByTwoPartKey(ctx, conn, rs.Primary.Attributes[names.AttrAWSAccountID], rs.Primary.Attributes["custom_permissions_name"]) + + if err != nil { + return err + } + + *v = *output + + return nil + } +} + +func testAccCustomPermissionsConfig_basic(rName string) string { + return fmt.Sprintf(` +resource "aws_quicksight_custom_permissions" "test" { + custom_permissions_name = %[1]q + + capabilities { + print_reports = "DENY" + share_dashboards = "DENY" + } +} +`, rName) +} diff --git a/internal/service/quicksight/exports_test.go b/internal/service/quicksight/exports_test.go index 3b1e6c78c1e2..4cad4a0be971 100644 --- a/internal/service/quicksight/exports_test.go +++ b/internal/service/quicksight/exports_test.go @@ -8,6 +8,7 @@ var ( ResourceAccountSettings = newAccountSettingsResource ResourceAccountSubscription = resourceAccountSubscription ResourceAnalysis = resourceAnalysis + ResourceCustomPermissions = newCustomPermissionsResource ResourceDashboard = resourceDashboard ResourceDataSet = resourceDataSet ResourceDataSource = resourceDataSource @@ -34,6 +35,7 @@ var ( FindAccountSettingsByID = findAccountSettingsByID FindAccountSubscriptionByID = findAccountSubscriptionByID FindAnalysisByTwoPartKey = findAnalysisByTwoPartKey + FindCustomPermissionsByTwoPartKey = findCustomPermissionsByTwoPartKey FindDashboardByThreePartKey = findDashboardByThreePartKey FindDataSetByTwoPartKey = findDataSetByTwoPartKey FindDataSourceByTwoPartKey = findDataSourceByTwoPartKey From 8421a62a4726288c555de773486250f2e0e206d2 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 30 Jul 2025 14:30:15 -0400 Subject: [PATCH 0057/1301] Acceptance test output: % make testacc TESTARGS='-run=TestAccQuickSightCustomPermissions_basic' PKG=quicksight make: Verifying source code with gofmt... ==> Checking that code complies with gofmt requirements... TF_ACC=1 go1.24.5 test ./internal/service/quicksight/... -v -count 1 -parallel 20 -run=TestAccQuickSightCustomPermissions_basic -timeout 360m -vet=off 2025/07/30 14:27:55 Creating Terraform AWS Provider (SDKv2-style)... 2025/07/30 14:27:55 Initializing Terraform AWS Provider (SDKv2-style)... === RUN TestAccQuickSightCustomPermissions_basic === PAUSE TestAccQuickSightCustomPermissions_basic === CONT TestAccQuickSightCustomPermissions_basic --- PASS: TestAccQuickSightCustomPermissions_basic (14.28s) PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/quicksight 19.606s testing: warning: no tests to run PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema 0.284s [no tests to run] From 4e02880f728a31f849207737231202036a1f003d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 30 Jul 2025 14:40:45 -0400 Subject: [PATCH 0058/1301] r/aws_quicksight_custom_permissions: Additional acceptance tests. --- .../quicksight/custom_permissions_test.go | 144 ++++++++++++++++++ 1 file changed, 144 insertions(+) diff --git a/internal/service/quicksight/custom_permissions_test.go b/internal/service/quicksight/custom_permissions_test.go index 336af8d23506..ebcad6311f5c 100644 --- a/internal/service/quicksight/custom_permissions_test.go +++ b/internal/service/quicksight/custom_permissions_test.go @@ -84,6 +84,7 @@ func TestAccQuickSightCustomPermissions_basic(t *testing.T) { }), })), statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("custom_permissions_name"), knownvalue.StringExact(rName)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), }, }, { @@ -97,6 +98,135 @@ func TestAccQuickSightCustomPermissions_basic(t *testing.T) { }) } +func TestAccQuickSightCustomPermissions_disappears(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_quicksight_custom_permissions.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccCustomPermissionsConfig_basic(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfquicksight.ResourceCustomPermissions, resourceName), + ), + ExpectNonEmptyPlan: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_update(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_quicksight_custom_permissions.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccCustomPermissionsConfig_basic(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), tfknownvalue.RegionalARNRegexp("quicksight", regexache.MustCompile(`custompermissions/.+`))), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrAWSAccountID), tfknownvalue.AccountID()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("capabilities"), knownvalue.ListExact([]knownvalue.Check{ + knownvalue.ObjectExact(map[string]knownvalue.Check{ + "add_or_run_anomaly_detection_for_analyses": knownvalue.Null(), + "create_and_update_dashboard_email_reports": knownvalue.Null(), + "create_and_update_datasets": knownvalue.Null(), + "create_and_update_data_sources": knownvalue.Null(), + "create_and_update_themes": knownvalue.Null(), + "create_and_update_threshold_alerts": knownvalue.Null(), + "create_shared_folders": knownvalue.Null(), + "create_spice_dataset": knownvalue.Null(), + "export_to_csv": knownvalue.Null(), + "export_to_csv_in_scheduled_reports": knownvalue.Null(), + "export_to_excel": knownvalue.Null(), + "export_to_excel_in_scheduled_reports": knownvalue.Null(), + "export_to_pdf": knownvalue.Null(), + "export_to_pdf_in_scheduled_reports": knownvalue.Null(), + "include_content_in_scheduled_reports_email": knownvalue.Null(), + "print_reports": tfknownvalue.StringExact(awstypes.CapabilityStateDeny), + "rename_shared_folders": knownvalue.Null(), + "share_analyses": knownvalue.Null(), + "share_dashboards": tfknownvalue.StringExact(awstypes.CapabilityStateDeny), + "share_datasets": knownvalue.Null(), + "share_data_sources": knownvalue.Null(), + "subscribe_dashboard_email_reports": knownvalue.Null(), + "view_account_spice_capacity": knownvalue.Null(), + }), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("custom_permissions_name"), knownvalue.StringExact(rName)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + }, + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateIdFunc: acctest.AttrsImportStateIdFunc(resourceName, ",", names.AttrAWSAccountID, "custom_permissions_name"), + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", + }, + { + Config: testAccCustomPermissionsConfig_updated(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), tfknownvalue.RegionalARNRegexp("quicksight", regexache.MustCompile(`custompermissions/.+`))), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrAWSAccountID), tfknownvalue.AccountID()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("capabilities"), knownvalue.ListExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "create_and_update_datasets": tfknownvalue.StringExact(awstypes.CapabilityStateDeny), + "create_and_update_data_sources": tfknownvalue.StringExact(awstypes.CapabilityStateDeny), + "export_to_pdf": tfknownvalue.StringExact(awstypes.CapabilityStateDeny), + "print_reports": knownvalue.Null(), + "share_dashboards": knownvalue.Null(), + }), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("custom_permissions_name"), knownvalue.StringExact(rName)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + }, + }, + }, + }) +} + func testAccCheckCustomPermissionsDestroy(ctx context.Context) resource.TestCheckFunc { return func(s *terraform.State) error { conn := acctest.Provider.Meta().(*conns.AWSClient).QuickSightClient(ctx) @@ -156,3 +286,17 @@ resource "aws_quicksight_custom_permissions" "test" { } `, rName) } + +func testAccCustomPermissionsConfig_updated(rName string) string { + return fmt.Sprintf(` +resource "aws_quicksight_custom_permissions" "test" { + custom_permissions_name = %[1]q + + capabilities { + create_and_update_datasets = "DENY" + create_and_update_data_sources = "DENY" + export_to_pdf = "DENY" + } +} +`, rName) +} From 28ac0cd123f8491938279c44e61418aeea6ee453 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 30 Jul 2025 14:40:55 -0400 Subject: [PATCH 0059/1301] Acceptance test output: % make testacc TESTARGS='-run=TestAccQuickSightCustomPermissions_' PKG=quicksight make: Verifying source code with gofmt... ==> Checking that code complies with gofmt requirements... TF_ACC=1 go1.24.5 test ./internal/service/quicksight/... -v -count 1 -parallel 20 -run=TestAccQuickSightCustomPermissions_ -timeout 360m -vet=off 2025/07/30 14:38:43 Creating Terraform AWS Provider (SDKv2-style)... 2025/07/30 14:38:44 Initializing Terraform AWS Provider (SDKv2-style)... === RUN TestAccQuickSightCustomPermissions_basic === PAUSE TestAccQuickSightCustomPermissions_basic === RUN TestAccQuickSightCustomPermissions_disappears === PAUSE TestAccQuickSightCustomPermissions_disappears === RUN TestAccQuickSightCustomPermissions_update === PAUSE TestAccQuickSightCustomPermissions_update === CONT TestAccQuickSightCustomPermissions_basic === CONT TestAccQuickSightCustomPermissions_update === CONT TestAccQuickSightCustomPermissions_disappears --- PASS: TestAccQuickSightCustomPermissions_disappears (11.10s) --- PASS: TestAccQuickSightCustomPermissions_basic (14.07s) --- PASS: TestAccQuickSightCustomPermissions_update (22.74s) PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/quicksight 28.374s testing: warning: no tests to run PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema 0.260s [no tests to run] From d2079f54d187dded14da5e65f07cf16384ac39f2 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 30 Jul 2025 14:45:30 -0400 Subject: [PATCH 0060/1301] r/aws_quicksight_custom_permissions: Generate tagging tests. --- .../service/quicksight/custom_permissions.go | 3 +- .../custom_permissions_tags_gen_test.go | 2274 +++++++++++++++++ .../CustomPermissions/tags/main_gen.tf | 25 + .../tagsComputed1/main_gen.tf | 29 + .../tagsComputed2/main_gen.tf | 40 + .../tags_defaults/main_gen.tf | 36 + .../CustomPermissions/tags_ignore/main_gen.tf | 45 + .../tmpl/custom_permissions_tags.gtpl | 9 + 8 files changed, 2460 insertions(+), 1 deletion(-) create mode 100644 internal/service/quicksight/custom_permissions_tags_gen_test.go create mode 100644 internal/service/quicksight/testdata/CustomPermissions/tags/main_gen.tf create mode 100644 internal/service/quicksight/testdata/CustomPermissions/tagsComputed1/main_gen.tf create mode 100644 internal/service/quicksight/testdata/CustomPermissions/tagsComputed2/main_gen.tf create mode 100644 internal/service/quicksight/testdata/CustomPermissions/tags_defaults/main_gen.tf create mode 100644 internal/service/quicksight/testdata/CustomPermissions/tags_ignore/main_gen.tf create mode 100644 internal/service/quicksight/testdata/tmpl/custom_permissions_tags.gtpl diff --git a/internal/service/quicksight/custom_permissions.go b/internal/service/quicksight/custom_permissions.go index 97565efd4354..9619e83c8aee 100644 --- a/internal/service/quicksight/custom_permissions.go +++ b/internal/service/quicksight/custom_permissions.go @@ -37,7 +37,8 @@ import ( // @FrameworkResource("aws_quicksight_custom_permissions", name="Custom Permissions") // @Tags(identifierAttribute="arn") -// @Testing(tagsTest=false) +// @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/quicksight/types;awstypes;awstypes.CustomPermissions") +// @Testing(skipEmptyTags=true, skipNullTags=true) func newCustomPermissionsResource(_ context.Context) (resource.ResourceWithConfigure, error) { r := &customPermissionsResource{} diff --git a/internal/service/quicksight/custom_permissions_tags_gen_test.go b/internal/service/quicksight/custom_permissions_tags_gen_test.go new file mode 100644 index 000000000000..072065dae1f4 --- /dev/null +++ b/internal/service/quicksight/custom_permissions_tags_gen_test.go @@ -0,0 +1,2274 @@ +// Code generated by internal/generate/tagstests/main.go; DO NOT EDIT. + +package quicksight_test + +import ( + "testing" + + awstypes "github.com/aws/aws-sdk-go-v2/service/quicksight/types" + "github.com/hashicorp/terraform-plugin-testing/config" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccQuickSightCustomPermissions_tags(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1Updated), + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1Updated), + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_null(t *testing.T) { + t.Skip("Resource CustomPermissions does not support null tags") + + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: nil, + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.Null(), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.Null(), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: nil, + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" + }, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_EmptyMap(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{}), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{}), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" + }, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_AddOnUpdate(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_EmptyTag_OnCreate(t *testing.T) { + t.Skip("Resource CustomPermissions does not support empty tags") + + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_EmptyTag_OnUpdate_Add(t *testing.T) { + t.Skip("Resource CustomPermissions does not support empty tags") + + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + acctest.CtKey2: config.StringVariable(""), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + acctest.CtKey2: knownvalue.StringExact(""), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + acctest.CtKey2: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + acctest.CtKey2: knownvalue.StringExact(""), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + acctest.CtKey2: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + acctest.CtKey2: config.StringVariable(""), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { + t.Skip("Resource CustomPermissions does not support empty tags") + + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_DefaultTags_providerOnly(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1Updated), + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1Updated), + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_DefaultTags_nonOverlapping(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1Updated), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1Updated), + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1Updated), + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1Updated), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_DefaultTags_overlapping(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + acctest.CtOverlapKey2: config.StringVariable("providervalue2"), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), + acctest.CtOverlapKey2: config.StringVariable(acctest.CtResourceValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtOverlapKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtOverlapKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtOverlapKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtOverlapKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + acctest.CtOverlapKey2: config.StringVariable("providervalue2"), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), + acctest.CtOverlapKey2: config.StringVariable(acctest.CtResourceValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_DefaultTags_updateToProviderOnly(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_DefaultTags_updateToResourceOnly(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_DefaultTags_emptyResourceTag(t *testing.T) { + t.Skip("Resource CustomPermissions does not support empty tags") + + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { + t.Skip("Resource CustomPermissions does not support empty tags") + + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { + t.Skip("Resource CustomPermissions does not support null tags") + + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: nil, + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.Null(), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.Null(), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: nil, + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" + }, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { + t.Skip("Resource CustomPermissions does not support null tags") + + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: nil, + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.Null(), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(""), + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.Null(), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(""), + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: nil, + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "tags.resourcekey1", // The canonical value returned by the AWS API is "" + }, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_ComputedTag_OnCreate(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tagsComputed1/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable("computedkey1"), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + resource.TestCheckResourceAttrPair(resourceName, "tags.computedkey1", "null_resource.test", names.AttrID), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapSizeExact(1)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapSizeExact(1)), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTags).AtMapKey("computedkey1")), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tagsComputed1/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable("computedkey1"), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_ComputedTag_OnUpdate_Add(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tagsComputed2/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable("computedkey1"), + "knownTagKey": config.StringVariable(acctest.CtKey1), + "knownTagValue": config.StringVariable(acctest.CtValue1), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + resource.TestCheckResourceAttrPair(resourceName, "tags.computedkey1", "null_resource.test", names.AttrID), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapSizeExact(2)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapPartial(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapSizeExact(2)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapPartial(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTags).AtMapKey("computedkey1")), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tagsComputed2/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable("computedkey1"), + "knownTagKey": config.StringVariable(acctest.CtKey1), + "knownTagValue": config.StringVariable(acctest.CtValue1), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tagsComputed1/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable(acctest.CtKey1), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + resource.TestCheckResourceAttrPair(resourceName, acctest.CtTagsKey1, "null_resource.test", names.AttrID), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapSizeExact(1)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapSizeExact(1)), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTags).AtMapKey(acctest.CtKey1)), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tagsComputed1/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable(acctest.CtKey1), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + // 1: Create + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtProviderKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), // TODO: Should not be set + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + }, + }, + // 2: Update ignored tag only + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1Updated), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtProviderKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), // TODO: Should not be set + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + }, + }, + // 3: Update both tags + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1Again), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Updated), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtProviderKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), // TODO: Should not be set + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + }, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + // 1: Create + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtResourceKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), // TODO: Should not be set + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), // TODO: Should be NoOp + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + ExpectNonEmptyPlan: true, + }, + // 2: Update ignored tag + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtResourceKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), // TODO: Should not be set + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), // TODO: Should be NoOp + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + ExpectNonEmptyPlan: true, + }, + // 3: Update both tags + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Again), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2Updated), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtResourceKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Again), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), // TODO: Should not be set + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Again), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), // TODO: Should be NoOp + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Again), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + }, + }, + ExpectNonEmptyPlan: true, + }, + }, + }) +} diff --git a/internal/service/quicksight/testdata/CustomPermissions/tags/main_gen.tf b/internal/service/quicksight/testdata/CustomPermissions/tags/main_gen.tf new file mode 100644 index 000000000000..594dc355d23f --- /dev/null +++ b/internal/service/quicksight/testdata/CustomPermissions/tags/main_gen.tf @@ -0,0 +1,25 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_quicksight_custom_permissions" "test" { + custom_permissions_name = var.rName + + capabilities { + print_reports = "DENY" + share_dashboards = "DENY" + } + + tags = var.resource_tags +} +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "resource_tags" { + description = "Tags to set on resource. To specify no tags, set to `null`" + # Not setting a default, so that this must explicitly be set to `null` to specify no tags + type = map(string) + nullable = true +} diff --git a/internal/service/quicksight/testdata/CustomPermissions/tagsComputed1/main_gen.tf b/internal/service/quicksight/testdata/CustomPermissions/tagsComputed1/main_gen.tf new file mode 100644 index 000000000000..f53246a3e309 --- /dev/null +++ b/internal/service/quicksight/testdata/CustomPermissions/tagsComputed1/main_gen.tf @@ -0,0 +1,29 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "null" {} + +resource "aws_quicksight_custom_permissions" "test" { + custom_permissions_name = var.rName + + capabilities { + print_reports = "DENY" + share_dashboards = "DENY" + } + + tags = { + (var.unknownTagKey) = null_resource.test.id + } +} +resource "null_resource" "test" {} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "unknownTagKey" { + type = string + nullable = false +} diff --git a/internal/service/quicksight/testdata/CustomPermissions/tagsComputed2/main_gen.tf b/internal/service/quicksight/testdata/CustomPermissions/tagsComputed2/main_gen.tf new file mode 100644 index 000000000000..5e0d566f8895 --- /dev/null +++ b/internal/service/quicksight/testdata/CustomPermissions/tagsComputed2/main_gen.tf @@ -0,0 +1,40 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "null" {} + +resource "aws_quicksight_custom_permissions" "test" { + custom_permissions_name = var.rName + + capabilities { + print_reports = "DENY" + share_dashboards = "DENY" + } + + tags = { + (var.unknownTagKey) = null_resource.test.id + (var.knownTagKey) = var.knownTagValue + } +} +resource "null_resource" "test" {} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "unknownTagKey" { + type = string + nullable = false +} + +variable "knownTagKey" { + type = string + nullable = false +} + +variable "knownTagValue" { + type = string + nullable = false +} diff --git a/internal/service/quicksight/testdata/CustomPermissions/tags_defaults/main_gen.tf b/internal/service/quicksight/testdata/CustomPermissions/tags_defaults/main_gen.tf new file mode 100644 index 000000000000..dcff11bb1132 --- /dev/null +++ b/internal/service/quicksight/testdata/CustomPermissions/tags_defaults/main_gen.tf @@ -0,0 +1,36 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "aws" { + default_tags { + tags = var.provider_tags + } +} + +resource "aws_quicksight_custom_permissions" "test" { + custom_permissions_name = var.rName + + capabilities { + print_reports = "DENY" + share_dashboards = "DENY" + } + + tags = var.resource_tags +} +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "resource_tags" { + description = "Tags to set on resource. To specify no tags, set to `null`" + # Not setting a default, so that this must explicitly be set to `null` to specify no tags + type = map(string) + nullable = true +} + +variable "provider_tags" { + type = map(string) + nullable = false +} diff --git a/internal/service/quicksight/testdata/CustomPermissions/tags_ignore/main_gen.tf b/internal/service/quicksight/testdata/CustomPermissions/tags_ignore/main_gen.tf new file mode 100644 index 000000000000..b67889b92a79 --- /dev/null +++ b/internal/service/quicksight/testdata/CustomPermissions/tags_ignore/main_gen.tf @@ -0,0 +1,45 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "aws" { + default_tags { + tags = var.provider_tags + } + ignore_tags { + keys = var.ignore_tag_keys + } +} + +resource "aws_quicksight_custom_permissions" "test" { + custom_permissions_name = var.rName + + capabilities { + print_reports = "DENY" + share_dashboards = "DENY" + } + + tags = var.resource_tags +} +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "resource_tags" { + description = "Tags to set on resource. To specify no tags, set to `null`" + # Not setting a default, so that this must explicitly be set to `null` to specify no tags + type = map(string) + nullable = true +} + +variable "provider_tags" { + type = map(string) + nullable = true + default = null +} + +variable "ignore_tag_keys" { + type = set(string) + nullable = false +} diff --git a/internal/service/quicksight/testdata/tmpl/custom_permissions_tags.gtpl b/internal/service/quicksight/testdata/tmpl/custom_permissions_tags.gtpl new file mode 100644 index 000000000000..40d53ea6bcde --- /dev/null +++ b/internal/service/quicksight/testdata/tmpl/custom_permissions_tags.gtpl @@ -0,0 +1,9 @@ +resource "aws_quicksight_custom_permissions" "test" { + custom_permissions_name = var.rName + + capabilities { + print_reports = "DENY" + share_dashboards = "DENY" + } +{{- template "tags" . }} +} \ No newline at end of file From 497c5537b04ccfb558bf7cb31dddac7d883cbc0d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 30 Jul 2025 14:52:29 -0400 Subject: [PATCH 0061/1301] Don't forget 'getTagsIn'. --- internal/service/quicksight/custom_permissions.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/internal/service/quicksight/custom_permissions.go b/internal/service/quicksight/custom_permissions.go index 9619e83c8aee..6254290aaaca 100644 --- a/internal/service/quicksight/custom_permissions.go +++ b/internal/service/quicksight/custom_permissions.go @@ -117,6 +117,9 @@ func (r *customPermissionsResource) Create(ctx context.Context, request resource return } + // Additional fields. + input.Tags = getTagsIn(ctx) + output, err := conn.CreateCustomPermissions(ctx, &input) if err != nil { From 26fb740af327a3797c15608dd3499b9763c53273 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 30 Jul 2025 15:02:36 -0400 Subject: [PATCH 0062/1301] Add 'testAccCustomPermissionsImportStateID'. --- .../service/quicksight/custom_permissions.go | 1 + .../custom_permissions_tags_gen_test.go | 248 +++++++++++------- .../quicksight/custom_permissions_test.go | 10 +- 3 files changed, 164 insertions(+), 95 deletions(-) diff --git a/internal/service/quicksight/custom_permissions.go b/internal/service/quicksight/custom_permissions.go index 6254290aaaca..e0a635457aa8 100644 --- a/internal/service/quicksight/custom_permissions.go +++ b/internal/service/quicksight/custom_permissions.go @@ -39,6 +39,7 @@ import ( // @Tags(identifierAttribute="arn") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/quicksight/types;awstypes;awstypes.CustomPermissions") // @Testing(skipEmptyTags=true, skipNullTags=true) +// @Testing(importStateIdFunc="testAccCustomPermissionsImportStateID", importStateIdAttribute="custom_permissions_name") func newCustomPermissionsResource(_ context.Context) (resource.ResourceWithConfigure, error) { r := &customPermissionsResource{} diff --git a/internal/service/quicksight/custom_permissions_tags_gen_test.go b/internal/service/quicksight/custom_permissions_tags_gen_test.go index 072065dae1f4..82bc2119e30b 100644 --- a/internal/service/quicksight/custom_permissions_tags_gen_test.go +++ b/internal/service/quicksight/custom_permissions_tags_gen_test.go @@ -67,9 +67,11 @@ func TestAccQuickSightCustomPermissions_tags(t *testing.T) { acctest.CtKey1: config.StringVariable(acctest.CtValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, { ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), @@ -116,9 +118,11 @@ func TestAccQuickSightCustomPermissions_tags(t *testing.T) { acctest.CtKey2: config.StringVariable(acctest.CtValue2), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, { ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), @@ -159,9 +163,11 @@ func TestAccQuickSightCustomPermissions_tags(t *testing.T) { acctest.CtKey2: config.StringVariable(acctest.CtValue2), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, { ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), @@ -190,9 +196,11 @@ func TestAccQuickSightCustomPermissions_tags(t *testing.T) { acctest.CtRName: config.StringVariable(rName), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) @@ -251,9 +259,11 @@ func TestAccQuickSightCustomPermissions_tags_null(t *testing.T) { acctest.CtKey1: nil, }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", ImportStateVerifyIgnore: []string{ acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" }, @@ -301,9 +311,11 @@ func TestAccQuickSightCustomPermissions_tags_EmptyMap(t *testing.T) { acctest.CtRName: config.StringVariable(rName), acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{}), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", ImportStateVerifyIgnore: []string{ acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" }, @@ -384,9 +396,11 @@ func TestAccQuickSightCustomPermissions_tags_AddOnUpdate(t *testing.T) { acctest.CtKey1: config.StringVariable(acctest.CtValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) @@ -445,9 +459,11 @@ func TestAccQuickSightCustomPermissions_tags_EmptyTag_OnCreate(t *testing.T) { acctest.CtKey1: config.StringVariable(""), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, { ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), @@ -476,9 +492,11 @@ func TestAccQuickSightCustomPermissions_tags_EmptyTag_OnCreate(t *testing.T) { acctest.CtRName: config.StringVariable(rName), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) @@ -574,9 +592,11 @@ func TestAccQuickSightCustomPermissions_tags_EmptyTag_OnUpdate_Add(t *testing.T) acctest.CtKey2: config.StringVariable(""), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, { ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), @@ -617,9 +637,11 @@ func TestAccQuickSightCustomPermissions_tags_EmptyTag_OnUpdate_Add(t *testing.T) acctest.CtKey1: config.StringVariable(acctest.CtValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) @@ -709,9 +731,11 @@ func TestAccQuickSightCustomPermissions_tags_EmptyTag_OnUpdate_Replace(t *testin acctest.CtKey1: config.StringVariable(""), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) @@ -767,9 +791,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_providerOnly(t *testing }), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -814,9 +840,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_providerOnly(t *testing }), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -857,9 +885,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_providerOnly(t *testing }), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -890,9 +920,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_providerOnly(t *testing acctest.CtRName: config.StringVariable(rName), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) @@ -958,9 +990,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_nonOverlapping(t *testi acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -1017,9 +1051,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_nonOverlapping(t *testi acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -1050,9 +1086,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_nonOverlapping(t *testi acctest.CtRName: config.StringVariable(rName), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) @@ -1116,9 +1154,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_overlapping(t *testing. acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -1175,9 +1215,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_overlapping(t *testing. acctest.CtOverlapKey2: config.StringVariable(acctest.CtResourceValue2), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -1226,9 +1268,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_overlapping(t *testing. acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue2), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) @@ -1316,9 +1360,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_updateToProviderOnly(t }), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) @@ -1405,9 +1451,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_updateToResourceOnly(t acctest.CtKey1: config.StringVariable(acctest.CtValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) @@ -1473,9 +1521,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_emptyResourceTag(t *tes acctest.CtKey1: config.StringVariable(""), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) @@ -1533,9 +1583,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_emptyProviderOnlyTag(t }), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) @@ -1601,9 +1653,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_nullOverlappingResource acctest.CtKey1: nil, }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", ImportStateVerifyIgnore: []string{ acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" }, @@ -1674,9 +1728,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_nullNonOverlappingResou acctest.CtResourceKey1: nil, }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", ImportStateVerifyIgnore: []string{ "tags.resourcekey1", // The canonical value returned by the AWS API is "" }, @@ -1732,9 +1788,11 @@ func TestAccQuickSightCustomPermissions_tags_ComputedTag_OnCreate(t *testing.T) acctest.CtRName: config.StringVariable(rName), "unknownTagKey": config.StringVariable("computedkey1"), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) @@ -1829,9 +1887,11 @@ func TestAccQuickSightCustomPermissions_tags_ComputedTag_OnUpdate_Add(t *testing "knownTagKey": config.StringVariable(acctest.CtKey1), "knownTagValue": config.StringVariable(acctest.CtValue1), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) @@ -1916,9 +1976,11 @@ func TestAccQuickSightCustomPermissions_tags_ComputedTag_OnUpdate_Replace(t *tes acctest.CtRName: config.StringVariable(rName), "unknownTagKey": config.StringVariable(acctest.CtKey1), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) diff --git a/internal/service/quicksight/custom_permissions_test.go b/internal/service/quicksight/custom_permissions_test.go index ebcad6311f5c..34d437f1f227 100644 --- a/internal/service/quicksight/custom_permissions_test.go +++ b/internal/service/quicksight/custom_permissions_test.go @@ -91,7 +91,7 @@ func TestAccQuickSightCustomPermissions_basic(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateIdFunc: acctest.AttrsImportStateIdFunc(resourceName, ",", names.AttrAWSAccountID, "custom_permissions_name"), + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, @@ -188,7 +188,7 @@ func TestAccQuickSightCustomPermissions_update(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateIdFunc: acctest.AttrsImportStateIdFunc(resourceName, ",", names.AttrAWSAccountID, "custom_permissions_name"), + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, { @@ -274,6 +274,12 @@ func testAccCheckCustomPermissionsExists(ctx context.Context, n string, v *awsty } } +func testAccCustomPermissionsImportStateID(n string) resource.ImportStateIdFunc { + return func(s *terraform.State) (string, error) { + return acctest.AttrsImportStateIdFunc(n, ",", names.AttrAWSAccountID, "custom_permissions_name")(s) + } +} + func testAccCustomPermissionsConfig_basic(rName string) string { return fmt.Sprintf(` resource "aws_quicksight_custom_permissions" "test" { From b269137c5ca7cb9273f2b3ac754614b6f89e6dee Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Wed, 30 Jul 2025 15:04:13 -0400 Subject: [PATCH 0063/1301] Add support for cloudfront distribution --- internal/service/wafv2/exports_test.go | 3 + internal/service/wafv2/web_acl_data_source.go | 117 +++++++++++- .../service/wafv2/web_acl_data_source_test.go | 167 ++++++++++++++++++ 3 files changed, 285 insertions(+), 2 deletions(-) diff --git a/internal/service/wafv2/exports_test.go b/internal/service/wafv2/exports_test.go index 660620dda906..bc6df9775145 100644 --- a/internal/service/wafv2/exports_test.go +++ b/internal/service/wafv2/exports_test.go @@ -22,4 +22,7 @@ var ( FindWebACLByThreePartKey = findWebACLByThreePartKey ListRuleGroupsPages = listRuleGroupsPages ListWebACLsPages = listWebACLsPages + + IsCloudFrontDistributionARN = isCloudFrontDistributionARN + CloudFrontDistributionIDFromARN = cloudFrontDistributionIDFromARN ) diff --git a/internal/service/wafv2/web_acl_data_source.go b/internal/service/wafv2/web_acl_data_source.go index 7db434c17871..519081002009 100644 --- a/internal/service/wafv2/web_acl_data_source.go +++ b/internal/service/wafv2/web_acl_data_source.go @@ -5,14 +5,20 @@ package wafv2 import ( "context" + "fmt" + "strings" "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/service/cloudfront" + cftypes "github.com/aws/aws-sdk-go-v2/service/cloudfront/types" "github.com/aws/aws-sdk-go-v2/service/wafv2" awstypes "github.com/aws/aws-sdk-go-v2/service/wafv2/types" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-provider-aws/internal/conns" "github.com/hashicorp/terraform-provider-aws/internal/enum" + "github.com/hashicorp/terraform-provider-aws/internal/errs" "github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/internal/verify" @@ -67,8 +73,13 @@ func dataSourceWebACLRead(ctx context.Context, d *schema.ResourceData, meta any) var err error if resourceArn != "" { - // Use GetWebACLForResource API - webACL, err = findWebACLByResourceARN(ctx, conn, resourceArn) + // Check if this is a CloudFront distribution ARN and scope is CLOUDFRONT + if scope == awstypes.ScopeCloudfront && isCloudFrontDistributionARN(resourceArn) { + webACL, err = findWebACLByCloudFrontDistributionARN(ctx, meta.(*conns.AWSClient), resourceArn) + } else { + // Use GetWebACLForResource API for regional resources + webACL, err = findWebACLByResourceARN(ctx, conn, resourceArn) + } if err != nil { if tfresource.NotFound(err) { return sdkdiag.AppendErrorf(diags, "WAFv2 WebACL not found for resource_arn: %s", resourceArn) @@ -136,3 +147,105 @@ func dataSourceWebACLRead(ctx context.Context, d *schema.ResourceData, meta any) return diags } + +// Helper function to detect CloudFront distribution ARNs +func isCloudFrontDistributionARN(arn string) bool { + // CloudFront distribution ARNs: arn:aws:cloudfront::account:distribution/ID + return strings.Contains(arn, ":cloudfront::") && strings.Contains(arn, ":distribution/") +} + +// Helper function to extract distribution ID from CloudFront ARN +func cloudFrontDistributionIDFromARN(arn string) (string, error) { + parts := strings.Split(arn, "/") + if len(parts) < 2 { + return "", fmt.Errorf("invalid CloudFront distribution ARN format: %s", arn) + } + return parts[len(parts)-1], nil +} + +// Helper function to find WebACL by CloudFront distribution ARN +func findWebACLByCloudFrontDistributionARN(ctx context.Context, client *conns.AWSClient, distributionARN string) (*awstypes.WebACL, error) { + // Extract distribution ID from ARN + distributionID, err := cloudFrontDistributionIDFromARN(distributionARN) + if err != nil { + return nil, err + } + + // Get CloudFront client + cfConn := client.CloudFrontClient(ctx) + + // Get distribution configuration + input := &cloudfront.GetDistributionInput{ + Id: aws.String(distributionID), + } + + output, err := cfConn.GetDistribution(ctx, input) + if err != nil { + if errs.IsA[*cftypes.NoSuchDistribution](err) { + return nil, &retry.NotFoundError{ + LastError: err, + LastRequest: input, + } + } + return nil, fmt.Errorf("getting CloudFront distribution (%s): %w", distributionID, err) + } + + if output.Distribution == nil || output.Distribution.DistributionConfig == nil { + return nil, tfresource.NewEmptyResultError(input) + } + + webACLId := aws.ToString(output.Distribution.DistributionConfig.WebACLId) + if webACLId == "" { + return nil, &retry.NotFoundError{ + Message: fmt.Sprintf("no WebACL associated with CloudFront distribution: %s", distributionID), + } + } + + // Now get the actual WebACL using WAFv2 API + wafConn := client.WAFV2Client(ctx) + + // WebACLId can be either an ARN (WAFv2) or ID (WAF Classic) + // For WAFv2, we need to extract the name and ID from the ARN + if strings.HasPrefix(webACLId, "arn:aws:wafv2:") { + return findWebACLByARN(ctx, wafConn, webACLId) + } else { + // This would be a WAF Classic ID, not supported by this data source + return nil, fmt.Errorf("CloudFront distribution (%s) is associated with WAF Classic WebACL (%s), which is not supported by this data source. Use aws_waf_web_acl data source instead", distributionID, webACLId) + } +} + +// Helper function to find WebACL by WAFv2 ARN +func findWebACLByARN(ctx context.Context, conn *wafv2.Client, webACLARN string) (*awstypes.WebACL, error) { + // Parse the ARN to extract name and ID + // WAFv2 ARN format: arn:aws:wafv2:region:account:global/webacl/name/id + parts := strings.Split(webACLARN, "/") + if len(parts) < 4 { + return nil, fmt.Errorf("invalid WAFv2 WebACL ARN format: %s", webACLARN) + } + + webACLName := parts[len(parts)-2] + webACLID := parts[len(parts)-1] + + input := &wafv2.GetWebACLInput{ + Id: aws.String(webACLID), + Name: aws.String(webACLName), + Scope: awstypes.ScopeCloudfront, // CloudFront WebACLs are always global + } + + output, err := conn.GetWebACL(ctx, input) + if err != nil { + if errs.IsA[*awstypes.WAFNonexistentItemException](err) { + return nil, &retry.NotFoundError{ + LastError: err, + LastRequest: input, + } + } + return nil, err + } + + if output.WebACL == nil { + return nil, tfresource.NewEmptyResultError(input) + } + + return output.WebACL, nil +} diff --git a/internal/service/wafv2/web_acl_data_source_test.go b/internal/service/wafv2/web_acl_data_source_test.go index c380e5be7f3f..c01ccc4553f5 100644 --- a/internal/service/wafv2/web_acl_data_source_test.go +++ b/internal/service/wafv2/web_acl_data_source_test.go @@ -11,9 +11,82 @@ import ( sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfwafv2 "github.com/hashicorp/terraform-provider-aws/internal/service/wafv2" "github.com/hashicorp/terraform-provider-aws/names" ) +func TestIsCloudFrontDistributionARN(t *testing.T) { + tests := []struct { + arn string + expected bool + }{ + { + arn: "arn:aws:cloudfront::123456789012:distribution/E12345678901234", + expected: true, + }, + { + arn: "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + expected: false, + }, + { + arn: "arn:aws:cloudfront::123456789012:origin-access-identity/E12345678901234", + expected: false, + }, + { + arn: "not-an-arn", + expected: false, + }, + } + + for _, tt := range tests { + t.Run(tt.arn, func(t *testing.T) { + result := tfwafv2.IsCloudFrontDistributionARN(tt.arn) + if result != tt.expected { + t.Errorf("isCloudFrontDistributionARN(%q) = %v, want %v", tt.arn, result, tt.expected) + } + }) + } +} + +func TestCloudFrontDistributionIDFromARN(t *testing.T) { + tests := []struct { + arn string + expectedID string + expectError bool + }{ + { + arn: "arn:aws:cloudfront::123456789012:distribution/E12345678901234", + expectedID: "E12345678901234", + }, + { + arn: "invalid-arn", + expectError: true, + }, + { + arn: "arn:aws:cloudfront::123456789012:distribution", + expectError: true, + }, + } + + for _, tt := range tests { + t.Run(tt.arn, func(t *testing.T) { + id, err := tfwafv2.CloudFrontDistributionIDFromARN(tt.arn) + if tt.expectError { + if err == nil { + t.Errorf("cloudFrontDistributionIDFromARN(%q) expected error, got nil", tt.arn) + } + } else { + if err != nil { + t.Errorf("cloudFrontDistributionIDFromARN(%q) unexpected error: %v", tt.arn, err) + } + if id != tt.expectedID { + t.Errorf("cloudFrontDistributionIDFromARN(%q) = %q, want %q", tt.arn, id, tt.expectedID) + } + } + }) + } +} + func TestAccWAFV2WebACLDataSource_basic(t *testing.T) { ctx := acctest.Context(t) name := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -87,6 +160,34 @@ func TestAccWAFV2WebACLDataSource_resourceNotFound(t *testing.T) { }) } +func TestAccWAFV2WebACLDataSource_cloudfront(t *testing.T) { + ctx := acctest.Context(t) + name := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_wafv2_web_acl.test" + datasourceName := "data.aws_wafv2_web_acl.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckWAFV2CloudFrontScope(ctx, t) + }, + ErrorCheck: acctest.ErrorCheck(t, names.WAFV2ServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + Config: testAccWebACLDataSourceConfig_cloudfront(name), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrPair(datasourceName, names.AttrARN, resourceName, names.AttrARN), + resource.TestCheckResourceAttrPair(datasourceName, names.AttrDescription, resourceName, names.AttrDescription), + resource.TestCheckResourceAttrPair(datasourceName, names.AttrID, resourceName, names.AttrID), + resource.TestCheckResourceAttrPair(datasourceName, names.AttrName, resourceName, names.AttrName), + resource.TestCheckResourceAttr(datasourceName, names.AttrScope, "CLOUDFRONT"), + ), + }, + }, + }) +} + func testAccWebACLDataSourceConfig_name(name string) string { return fmt.Sprintf(` resource "aws_wafv2_web_acl" "test" { @@ -266,3 +367,69 @@ data "aws_wafv2_web_acl" "test" { } `, name) } + +func testAccWebACLDataSourceConfig_cloudfront(name string) string { + return fmt.Sprintf(` +resource "aws_wafv2_web_acl" "test" { + name = %[1]q + scope = "CLOUDFRONT" + + default_action { + block {} + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = "friendly-rule-metric-name" + sampled_requests_enabled = false + } +} + +resource "aws_cloudfront_distribution" "test" { + web_acl_id = aws_wafv2_web_acl.test.arn + + origin { + domain_name = "www.example.com" + origin_id = "test" + + custom_origin_config { + http_port = 80 + https_port = 443 + origin_protocol_policy = "https-only" + origin_ssl_protocols = ["TLSv1.2"] + } + } + + enabled = true + + default_cache_behavior { + allowed_methods = ["GET", "HEAD"] + cached_methods = ["GET", "HEAD"] + target_origin_id = "test" + viewer_protocol_policy = "allow-all" + + forwarded_values { + query_string = false + cookies { + forward = "all" + } + } + } + + restrictions { + geo_restriction { + restriction_type = "none" + } + } + + viewer_certificate { + cloudfront_default_certificate = true + } +} + +data "aws_wafv2_web_acl" "test" { + resource_arn = aws_cloudfront_distribution.test.arn + scope = "CLOUDFRONT" +} +`, name) +} From 4a3f51e721ebc95aa158b276caf4e7649959ed2f Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Wed, 30 Jul 2025 15:05:18 -0400 Subject: [PATCH 0064/1301] Alpha args --- website/docs/d/wafv2_web_acl.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/d/wafv2_web_acl.html.markdown b/website/docs/d/wafv2_web_acl.html.markdown index 9bfe5a69ca04..e90a9b64d4fe 100644 --- a/website/docs/d/wafv2_web_acl.html.markdown +++ b/website/docs/d/wafv2_web_acl.html.markdown @@ -39,8 +39,8 @@ data "aws_wafv2_web_acl" "cloudfront_example" { This data source supports the following arguments: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `name` - (Optional) Name of the WAFv2 Web ACL. Exactly one of `name` or `resource_arn` must be specified. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `resource_arn` - (Optional) ARN of the AWS resource associated with the Web ACL. This can be an ARN of an Application Load Balancer, Amazon API Gateway REST API, AWS AppSync GraphQL API, Amazon Cognito user pool, AWS App Runner service, AWS Verified Access instance, or AWS Amplify application. Exactly one of `name` or `resource_arn` must be specified. * `scope` - (Required) Specifies whether this is for an AWS CloudFront distribution or for a regional application. Valid values are `CLOUDFRONT` or `REGIONAL`. To work with CloudFront, you must also specify the region `us-east-1` (N. Virginia) on the AWS provider. From a95fd1fc97c7299424fb012cfc91494e8465fabe Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Wed, 30 Jul 2025 15:07:11 -0400 Subject: [PATCH 0065/1301] Update changelog --- .changelog/43597.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.changelog/43597.txt b/.changelog/43597.txt index e12e77a2c79a..72970ed2001a 100644 --- a/.changelog/43597.txt +++ b/.changelog/43597.txt @@ -1,3 +1,7 @@ ```release-note:enhancement data-source/aws_wafv2_web_acl: Add `resource_arn` argument to enable finding web ACLs by resource ARN -``` \ No newline at end of file +``` + +```release-note:enhancement +data-source/aws_wafv2_web_acl: Add support for `CLOUDFRONT` `scope` web ACLs using `resource_arn` +``` From 179bf6c4db390ce55821cfb54d1ba1e6fdee9971 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Wed, 30 Jul 2025 15:08:44 -0400 Subject: [PATCH 0066/1301] Update attrs --- website/docs/d/wafv2_web_acl.html.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/website/docs/d/wafv2_web_acl.html.markdown b/website/docs/d/wafv2_web_acl.html.markdown index e90a9b64d4fe..563337705f42 100644 --- a/website/docs/d/wafv2_web_acl.html.markdown +++ b/website/docs/d/wafv2_web_acl.html.markdown @@ -51,4 +51,3 @@ This data source exports the following attributes in addition to the arguments a * `arn` - ARN of the entity. * `description` - Description of the WebACL that helps with identification. * `id` - Unique identifier of the WebACL. -* `name` - Name of the WebACL. From e1e75062d8b4dd9da6f67728d750996fca024d56 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Wed, 30 Jul 2025 15:37:16 -0400 Subject: [PATCH 0067/1301] Lint fixes --- .../service/wafv2/web_acl_data_source_test.go | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/internal/service/wafv2/web_acl_data_source_test.go b/internal/service/wafv2/web_acl_data_source_test.go index c01ccc4553f5..49bcb4583c9d 100644 --- a/internal/service/wafv2/web_acl_data_source_test.go +++ b/internal/service/wafv2/web_acl_data_source_test.go @@ -16,20 +16,21 @@ import ( ) func TestIsCloudFrontDistributionARN(t *testing.T) { + t.Parallel() tests := []struct { arn string expected bool }{ { - arn: "arn:aws:cloudfront::123456789012:distribution/E12345678901234", + arn: "arn:aws:cloudfront::123456789012:distribution/E12345678901234", //lintignore:AWSAT005 expected: true, }, { - arn: "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + arn: "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", //lintignore:AWSAT005 expected: false, }, { - arn: "arn:aws:cloudfront::123456789012:origin-access-identity/E12345678901234", + arn: "arn:aws:cloudfront::123456789012:origin-access-identity/E12345678901234", //lintignore:AWSAT005 expected: false, }, { @@ -40,6 +41,7 @@ func TestIsCloudFrontDistributionARN(t *testing.T) { for _, tt := range tests { t.Run(tt.arn, func(t *testing.T) { + t.Parallel() result := tfwafv2.IsCloudFrontDistributionARN(tt.arn) if result != tt.expected { t.Errorf("isCloudFrontDistributionARN(%q) = %v, want %v", tt.arn, result, tt.expected) @@ -49,13 +51,14 @@ func TestIsCloudFrontDistributionARN(t *testing.T) { } func TestCloudFrontDistributionIDFromARN(t *testing.T) { + t.Parallel() tests := []struct { arn string expectedID string expectError bool }{ { - arn: "arn:aws:cloudfront::123456789012:distribution/E12345678901234", + arn: "arn:aws:cloudfront::123456789012:distribution/E12345678901234", //lintignore:AWSAT005 expectedID: "E12345678901234", }, { @@ -63,13 +66,14 @@ func TestCloudFrontDistributionIDFromARN(t *testing.T) { expectError: true, }, { - arn: "arn:aws:cloudfront::123456789012:distribution", + arn: "arn:aws:cloudfront::123456789012:distribution", //lintignore:AWSAT005 expectError: true, }, } for _, tt := range tests { t.Run(tt.arn, func(t *testing.T) { + t.Parallel() id, err := tfwafv2.CloudFrontDistributionIDFromARN(tt.arn) if tt.expectError { if err == nil { @@ -387,7 +391,7 @@ resource "aws_wafv2_web_acl" "test" { resource "aws_cloudfront_distribution" "test" { web_acl_id = aws_wafv2_web_acl.test.arn - + origin { domain_name = "www.example.com" origin_id = "test" From 06036a602351c5a43d92e4182723e1e1ec99c8e8 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Wed, 30 Jul 2025 17:11:12 -0400 Subject: [PATCH 0068/1301] Add support for other partitions --- internal/service/wafv2/web_acl_data_source.go | 9 ++-- .../service/wafv2/web_acl_data_source_test.go | 51 ++++++++++++++++++- 2 files changed, 55 insertions(+), 5 deletions(-) diff --git a/internal/service/wafv2/web_acl_data_source.go b/internal/service/wafv2/web_acl_data_source.go index 519081002009..71d463823171 100644 --- a/internal/service/wafv2/web_acl_data_source.go +++ b/internal/service/wafv2/web_acl_data_source.go @@ -9,6 +9,7 @@ import ( "strings" "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/aws/arn" "github.com/aws/aws-sdk-go-v2/service/cloudfront" cftypes "github.com/aws/aws-sdk-go-v2/service/cloudfront/types" "github.com/aws/aws-sdk-go-v2/service/wafv2" @@ -150,8 +151,8 @@ func dataSourceWebACLRead(ctx context.Context, d *schema.ResourceData, meta any) // Helper function to detect CloudFront distribution ARNs func isCloudFrontDistributionARN(arn string) bool { - // CloudFront distribution ARNs: arn:aws:cloudfront::account:distribution/ID - return strings.Contains(arn, ":cloudfront::") && strings.Contains(arn, ":distribution/") + // CloudFront distribution ARNs: arn:partition:cloudfront::account:distribution/ID + return strings.Contains(arn, ":cloudfront::") && strings.Contains(arn, ":distribution/") && strings.HasPrefix(arn, "arn:") } // Helper function to extract distribution ID from CloudFront ARN @@ -206,7 +207,7 @@ func findWebACLByCloudFrontDistributionARN(ctx context.Context, client *conns.AW // WebACLId can be either an ARN (WAFv2) or ID (WAF Classic) // For WAFv2, we need to extract the name and ID from the ARN - if strings.HasPrefix(webACLId, "arn:aws:wafv2:") { + if strings.Contains(webACLId, ":wafv2:") && arn.IsARN(webACLId) { return findWebACLByARN(ctx, wafConn, webACLId) } else { // This would be a WAF Classic ID, not supported by this data source @@ -217,7 +218,7 @@ func findWebACLByCloudFrontDistributionARN(ctx context.Context, client *conns.AW // Helper function to find WebACL by WAFv2 ARN func findWebACLByARN(ctx context.Context, conn *wafv2.Client, webACLARN string) (*awstypes.WebACL, error) { // Parse the ARN to extract name and ID - // WAFv2 ARN format: arn:aws:wafv2:region:account:global/webacl/name/id + // WAFv2 ARN format: arn:partition:wafv2:region:account:global/webacl/name/id parts := strings.Split(webACLARN, "/") if len(parts) < 4 { return nil, fmt.Errorf("invalid WAFv2 WebACL ARN format: %s", webACLARN) diff --git a/internal/service/wafv2/web_acl_data_source_test.go b/internal/service/wafv2/web_acl_data_source_test.go index 49bcb4583c9d..8945cc69e1ff 100644 --- a/internal/service/wafv2/web_acl_data_source_test.go +++ b/internal/service/wafv2/web_acl_data_source_test.go @@ -18,25 +18,55 @@ import ( func TestIsCloudFrontDistributionARN(t *testing.T) { t.Parallel() tests := []struct { + name string arn string expected bool }{ { + name: "standard AWS partition", arn: "arn:aws:cloudfront::123456789012:distribution/E12345678901234", //lintignore:AWSAT005 expected: true, }, { - arn: "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", //lintignore:AWSAT005 + name: "AWS GovCloud partition", + arn: "arn:aws-us-gov:cloudfront::123456789012:distribution/E12345678901234", //lintignore:AWSAT005 + expected: true, + }, + { + name: "AWS China partition", + arn: "arn:aws-cn:cloudfront::123456789012:distribution/E12345678901234", //lintignore:AWSAT005 + expected: true, + }, + { + name: "ISOB partition", + arn: "arn:isob:cloudfront::123456789012:distribution/E12345678901234", //lintignore:AWSAT005 + expected: true, + }, + { + name: "unknown future partition", + arn: "arn:aws-new-region:cloudfront::123456789012:distribution/E12345678901234", //lintignore:AWSAT005 + expected: true, + }, + { + name: "ALB ARN", + arn: "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", //lintignore:AWSAT003,AWSAT005 expected: false, }, { + name: "CloudFront origin access identity", arn: "arn:aws:cloudfront::123456789012:origin-access-identity/E12345678901234", //lintignore:AWSAT005 expected: false, }, { + name: "not an ARN", arn: "not-an-arn", expected: false, }, + { + name: "invalid ARN format", + arn: "arn:aws:cloudfront:123456789012:distribution/E12345678901234", //lintignore:AWSAT005 + expected: false, + }, } for _, tt := range tests { @@ -53,19 +83,38 @@ func TestIsCloudFrontDistributionARN(t *testing.T) { func TestCloudFrontDistributionIDFromARN(t *testing.T) { t.Parallel() tests := []struct { + name string arn string expectedID string expectError bool }{ { + name: "standard AWS CloudFront ARN", arn: "arn:aws:cloudfront::123456789012:distribution/E12345678901234", //lintignore:AWSAT005 expectedID: "E12345678901234", }, { + name: "GovCloud CloudFront ARN", + arn: "arn:aws-us-gov:cloudfront::123456789012:distribution/E12345678901234", //lintignore:AWSAT005 + expectedID: "E12345678901234", + }, + { + name: "China CloudFront ARN", + arn: "arn:aws-cn:cloudfront::123456789012:distribution/E12345678901234", //lintignore:AWSAT005 + expectedID: "E12345678901234", + }, + { + name: "ISOB CloudFront ARN", + arn: "arn:isob:cloudfront::123456789012:distribution/E12345678901234", //lintignore:AWSAT005 + expectedID: "E12345678901234", + }, + { + name: "invalid ARN - no slash", arn: "invalid-arn", expectError: true, }, { + name: "invalid ARN - missing distribution ID", arn: "arn:aws:cloudfront::123456789012:distribution", //lintignore:AWSAT005 expectError: true, }, From f93ded1b173c505faef844c6888672300185f9c6 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Wed, 30 Jul 2025 17:37:35 -0400 Subject: [PATCH 0069/1301] Fix ARN check issues --- internal/service/wafv2/web_acl_data_source.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/wafv2/web_acl_data_source.go b/internal/service/wafv2/web_acl_data_source.go index 71d463823171..5af98cf13e59 100644 --- a/internal/service/wafv2/web_acl_data_source.go +++ b/internal/service/wafv2/web_acl_data_source.go @@ -150,9 +150,9 @@ func dataSourceWebACLRead(ctx context.Context, d *schema.ResourceData, meta any) } // Helper function to detect CloudFront distribution ARNs -func isCloudFrontDistributionARN(arn string) bool { +func isCloudFrontDistributionARN(s string) bool { // CloudFront distribution ARNs: arn:partition:cloudfront::account:distribution/ID - return strings.Contains(arn, ":cloudfront::") && strings.Contains(arn, ":distribution/") && strings.HasPrefix(arn, "arn:") + return strings.Contains(s, ":cloudfront::") && strings.Contains(s, ":distribution/") && arn.IsARN(s) } // Helper function to extract distribution ID from CloudFront ARN From 8794d3a28ce4844aef88af0db7a349c8693080ac Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Wed, 30 Jul 2025 18:19:59 -0400 Subject: [PATCH 0070/1301] Rework CF find --- internal/service/wafv2/web_acl_data_source.go | 39 ++++++------------- 1 file changed, 11 insertions(+), 28 deletions(-) diff --git a/internal/service/wafv2/web_acl_data_source.go b/internal/service/wafv2/web_acl_data_source.go index 5af98cf13e59..c17598877504 100644 --- a/internal/service/wafv2/web_acl_data_source.go +++ b/internal/service/wafv2/web_acl_data_source.go @@ -195,8 +195,8 @@ func findWebACLByCloudFrontDistributionARN(ctx context.Context, client *conns.AW return nil, tfresource.NewEmptyResultError(input) } - webACLId := aws.ToString(output.Distribution.DistributionConfig.WebACLId) - if webACLId == "" { + webACLARN := aws.ToString(output.Distribution.DistributionConfig.WebACLId) + if webACLARN == "" { return nil, &retry.NotFoundError{ Message: fmt.Sprintf("no WebACL associated with CloudFront distribution: %s", distributionID), } @@ -205,18 +205,11 @@ func findWebACLByCloudFrontDistributionARN(ctx context.Context, client *conns.AW // Now get the actual WebACL using WAFv2 API wafConn := client.WAFV2Client(ctx) - // WebACLId can be either an ARN (WAFv2) or ID (WAF Classic) - // For WAFv2, we need to extract the name and ID from the ARN - if strings.Contains(webACLId, ":wafv2:") && arn.IsARN(webACLId) { - return findWebACLByARN(ctx, wafConn, webACLId) - } else { + if !strings.Contains(webACLARN, ":wafv2:") || !arn.IsARN(webACLARN) { // This would be a WAF Classic ID, not supported by this data source - return nil, fmt.Errorf("CloudFront distribution (%s) is associated with WAF Classic WebACL (%s), which is not supported by this data source. Use aws_waf_web_acl data source instead", distributionID, webACLId) + return nil, fmt.Errorf("CloudFront distribution (%s) is associated with WAF Classic WebACL (%s), which is not supported by this data source. Use aws_waf_web_acl data source instead", distributionID, webACLARN) } -} -// Helper function to find WebACL by WAFv2 ARN -func findWebACLByARN(ctx context.Context, conn *wafv2.Client, webACLARN string) (*awstypes.WebACL, error) { // Parse the ARN to extract name and ID // WAFv2 ARN format: arn:partition:wafv2:region:account:global/webacl/name/id parts := strings.Split(webACLARN, "/") @@ -227,26 +220,16 @@ func findWebACLByARN(ctx context.Context, conn *wafv2.Client, webACLARN string) webACLName := parts[len(parts)-2] webACLID := parts[len(parts)-1] - input := &wafv2.GetWebACLInput{ - Id: aws.String(webACLID), - Name: aws.String(webACLName), - Scope: awstypes.ScopeCloudfront, // CloudFront WebACLs are always global + var webACLOut *wafv2.GetWebACLOutput + if webACLOut, err = findWebACLByThreePartKey(ctx, wafConn, webACLName, webACLID, string(awstypes.ScopeCloudfront)); err != nil { + return nil, fmt.Errorf("finding WAFv2 WebACL by ARN (%s): %w", webACLARN, err) } - - output, err := conn.GetWebACL(ctx, input) - if err != nil { - if errs.IsA[*awstypes.WAFNonexistentItemException](err) { - return nil, &retry.NotFoundError{ - LastError: err, - LastRequest: input, - } + if webACLOut == nil { + return nil, &retry.NotFoundError{ + Message: fmt.Sprintf("no WAFv2 WebACL found for ARN: %s", webACLARN), } - return nil, err - } - if output.WebACL == nil { - return nil, tfresource.NewEmptyResultError(input) } - return output.WebACL, nil + return webACLOut.WebACL, nil } From fd39da26f5be5c74edaffeb07d2c65b8100a0661 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Wed, 30 Jul 2025 18:31:41 -0400 Subject: [PATCH 0071/1301] Fix error message --- internal/service/wafv2/web_acl_data_source.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/internal/service/wafv2/web_acl_data_source.go b/internal/service/wafv2/web_acl_data_source.go index c17598877504..c300b7b2ffab 100644 --- a/internal/service/wafv2/web_acl_data_source.go +++ b/internal/service/wafv2/web_acl_data_source.go @@ -21,6 +21,7 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/enum" "github.com/hashicorp/terraform-provider-aws/internal/errs" "github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag" + pretry "github.com/hashicorp/terraform-provider-aws/internal/retry" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/internal/verify" "github.com/hashicorp/terraform-provider-aws/names" @@ -82,7 +83,7 @@ func dataSourceWebACLRead(ctx context.Context, d *schema.ResourceData, meta any) webACL, err = findWebACLByResourceARN(ctx, conn, resourceArn) } if err != nil { - if tfresource.NotFound(err) { + if pretry.NotFound(err) { return sdkdiag.AppendErrorf(diags, "WAFv2 WebACL not found for resource_arn: %s", resourceArn) } return sdkdiag.AppendErrorf(diags, "reading WAFv2 WebACL for resource_arn (%s): %s", resourceArn, err) @@ -221,12 +222,12 @@ func findWebACLByCloudFrontDistributionARN(ctx context.Context, client *conns.AW webACLID := parts[len(parts)-1] var webACLOut *wafv2.GetWebACLOutput - if webACLOut, err = findWebACLByThreePartKey(ctx, wafConn, webACLName, webACLID, string(awstypes.ScopeCloudfront)); err != nil { - return nil, fmt.Errorf("finding WAFv2 WebACL by ARN (%s): %w", webACLARN, err) + if webACLOut, err = findWebACLByThreePartKey(ctx, wafConn, webACLID, webACLName, string(awstypes.ScopeCloudfront)); err != nil { + return nil, fmt.Errorf("finding WAFv2 WebACL (%s): %w", webACLARN, err) } if webACLOut == nil { return nil, &retry.NotFoundError{ - Message: fmt.Sprintf("no WAFv2 WebACL found for ARN: %s", webACLARN), + Message: fmt.Sprintf("no WAFv2 WebACL found: %s", webACLARN), } } From 19fd8c31d9d1e380d12f2b61139f428221aa7aa5 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Wed, 30 Jul 2025 18:35:18 -0400 Subject: [PATCH 0072/1301] Unnecc newline --- internal/service/wafv2/web_acl_data_source.go | 1 - 1 file changed, 1 deletion(-) diff --git a/internal/service/wafv2/web_acl_data_source.go b/internal/service/wafv2/web_acl_data_source.go index c300b7b2ffab..3418df305c47 100644 --- a/internal/service/wafv2/web_acl_data_source.go +++ b/internal/service/wafv2/web_acl_data_source.go @@ -229,7 +229,6 @@ func findWebACLByCloudFrontDistributionARN(ctx context.Context, client *conns.AW return nil, &retry.NotFoundError{ Message: fmt.Sprintf("no WAFv2 WebACL found: %s", webACLARN), } - } return webACLOut.WebACL, nil From b10729703b00ae7b8cf7e0be6e0cdbbca6cf0c63 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Tue, 29 Jul 2025 12:21:35 -0700 Subject: [PATCH 0073/1301] Moves handling of `@Testing(destroyTakesT)` to shared parsing --- internal/generate/identitytests/main.go | 13 +++++-------- internal/generate/tagstests/main.go | 16 +++++++-------- internal/generate/tests/annotations.go | 26 +++++++++++++++++++++++++ 3 files changed, 38 insertions(+), 17 deletions(-) create mode 100644 internal/generate/tests/annotations.go diff --git a/internal/generate/identitytests/main.go b/internal/generate/identitytests/main.go index 12582f3de043..806b549eb487 100644 --- a/internal/generate/identitytests/main.go +++ b/internal/generate/identitytests/main.go @@ -397,7 +397,6 @@ type ResourceDatum struct { PackageProviderNameUpper string Name string TypeName string - DestroyTakesT bool HasExistsFunc bool ExistsTypeName string ExistsTakesT bool @@ -442,6 +441,7 @@ type ResourceDatum struct { HasV6_0RefreshError bool RequiredEnvVars []string PreIdentityVersion *version.Version + tests.CommonArgs } func (d ResourceDatum) AdditionalTfVars() map[string]string { @@ -794,14 +794,11 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { case "Testing": args := common.ParseArgs(m[3]) - if attr, ok := args.Keyword["destroyTakesT"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid destroyTakesT value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) - continue - } else { - d.DestroyTakesT = b - } + if err := tests.ParseTestingAnnotations(args, &d.CommonArgs); err != nil { + v.errs = append(v.errs, fmt.Errorf("%s: %w", fmt.Sprintf("%s.%s", v.packageName, v.functionName), err)) + continue } + if attr, ok := args.Keyword["checkDestroyNoop"]; ok { if b, err := strconv.ParseBool(attr); err != nil { v.errs = append(v.errs, fmt.Errorf("invalid checkDestroyNoop value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) diff --git a/internal/generate/tagstests/main.go b/internal/generate/tagstests/main.go index bad768b0ed81..138810348225 100644 --- a/internal/generate/tagstests/main.go +++ b/internal/generate/tagstests/main.go @@ -387,7 +387,6 @@ type ResourceDatum struct { PackageProviderNameUpper string Name string TypeName string - DestroyTakesT bool ExistsTypeName string ExistsTakesT bool FileName string @@ -418,6 +417,7 @@ type ResourceDatum struct { overrideIdentifierAttribute string OverrideResourceType string UseAlternateAccount bool + tests.CommonArgs } func (d ResourceDatum) AdditionalTfVars() map[string]tfVar { @@ -619,6 +619,12 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { case "Testing": args := common.ParseArgs(m[3]) + + if err := tests.ParseTestingAnnotations(args, &d.CommonArgs); err != nil { + v.errs = append(v.errs, fmt.Errorf("%s: %w", fmt.Sprintf("%s.%s", v.packageName, v.functionName), err)) + continue + } + if attr, ok := args.Keyword["altRegionProvider"]; ok { if b, err := strconv.ParseBool(attr); err != nil { v.errs = append(v.errs, fmt.Errorf("invalid altRegionProvider value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) @@ -628,14 +634,6 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { } } - if attr, ok := args.Keyword["destroyTakesT"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid destroyTakesT value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) - continue - } else { - d.DestroyTakesT = b - } - } if attr, ok := args.Keyword["checkDestroyNoop"]; ok { if b, err := strconv.ParseBool(attr); err != nil { v.errs = append(v.errs, fmt.Errorf("invalid checkDestroyNoop value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) diff --git a/internal/generate/tests/annotations.go b/internal/generate/tests/annotations.go new file mode 100644 index 000000000000..978082a42a5e --- /dev/null +++ b/internal/generate/tests/annotations.go @@ -0,0 +1,26 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package tests + +import ( + "fmt" + "strconv" + + "github.com/hashicorp/terraform-provider-aws/internal/generate/common" +) + +type CommonArgs struct { + DestroyTakesT bool +} + +func ParseTestingAnnotations(args common.Args, stuff *CommonArgs) error { + if attr, ok := args.Keyword["destroyTakesT"]; ok { + if b, err := strconv.ParseBool(attr); err != nil { + return fmt.Errorf("invalid destroyTakesT value %q: Should be boolean value.", attr) + } else { + stuff.DestroyTakesT = b + } + } + return nil +} From 420c491b0076e3b9e696f66bfc1c6aaf742088ad Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Tue, 29 Jul 2025 12:32:28 -0700 Subject: [PATCH 0074/1301] Moves `GoImports` --- internal/generate/identitytests/main.go | 36 +++++++++++-------------- internal/generate/tagstests/main.go | 26 +++++++----------- internal/generate/tests/annotations.go | 6 +++++ 3 files changed, 31 insertions(+), 37 deletions(-) diff --git a/internal/generate/identitytests/main.go b/internal/generate/identitytests/main.go index 806b549eb487..a66141d8fb14 100644 --- a/internal/generate/identitytests/main.go +++ b/internal/generate/identitytests/main.go @@ -415,7 +415,6 @@ type ResourceDatum struct { PreChecks []codeBlock PreChecksWithRegion []codeBlock PreCheckRegions []string - GoImports []goImport GenerateConfig bool InitCodeBlocks []codeBlock additionalTfVars map[string]string @@ -535,11 +534,6 @@ func (i identityAttribute) Name() string { return namesgen.ConstOrQuote(i.name) } -type goImport struct { - Path string - Alias string -} - type codeBlock struct { Code string } @@ -806,7 +800,7 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { } else { d.CheckDestroyNoop = b d.GoImports = append(d.GoImports, - goImport{ + tests.GoImport{ Path: "github.com/hashicorp/terraform-provider-aws/internal/acctest", }, ) @@ -818,7 +812,7 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { varName = attr } d.GoImports = append(d.GoImports, - goImport{ + tests.GoImport{ Path: "github.com/hashicorp/terraform-provider-aws/internal/acctest", }, ) @@ -835,7 +829,7 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { varName = attr } d.GoImports = append(d.GoImports, - goImport{ + tests.GoImport{ Path: "github.com/hashicorp/terraform-provider-aws/internal/acctest", }, ) @@ -857,7 +851,7 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { } } d.GoImports = append(d.GoImports, - goImport{ + tests.GoImport{ Path: "github.com/hashicorp/terraform-provider-aws/internal/acctest", }, ) @@ -914,10 +908,10 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { if attr, ok := args.Keyword["idAttrDuplicates"]; ok { d.idAttrDuplicates = attr d.GoImports = append(d.GoImports, - goImport{ + tests.GoImport{ Path: "github.com/hashicorp/terraform-plugin-testing/config", }, - goImport{ + tests.GoImport{ Path: "github.com/hashicorp/terraform-plugin-testing/tfjsonpath", }, ) @@ -984,7 +978,7 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { return endpointsConstOrQuote(s) }) d.GoImports = append(d.GoImports, - goImport{ + tests.GoImport{ Path: "github.com/hashicorp/aws-sdk-go-base/v2/endpoints", }, ) @@ -1104,7 +1098,7 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { if len(tlsKeyCN) == 0 { tlsKeyCN = "acctest.RandomDomain().String()" d.GoImports = append(d.GoImports, - goImport{ + tests.GoImport{ Path: "github.com/hashicorp/terraform-provider-aws/internal/acctest", }, ) @@ -1133,10 +1127,10 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { if !skip { if d.idAttrDuplicates != "" { d.GoImports = append(d.GoImports, - goImport{ + tests.GoImport{ Path: "github.com/hashicorp/terraform-plugin-testing/config", }, - goImport{ + tests.GoImport{ Path: "github.com/hashicorp/terraform-plugin-testing/tfjsonpath", }, ) @@ -1148,11 +1142,11 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { if !generatorSeen { d.Generator = "sdkacctest.RandomWithPrefix(acctest.ResourcePrefix)" d.GoImports = append(d.GoImports, - goImport{ + tests.GoImport{ Path: "github.com/hashicorp/terraform-plugin-testing/helper/acctest", Alias: "sdkacctest", }, - goImport{ + tests.GoImport{ Path: "github.com/hashicorp/terraform-provider-aws/internal/acctest", }, ) @@ -1204,19 +1198,19 @@ func generateTestConfig(g *common.Generator, dirPath, test string, tfTemplates * } } -func parseIdentifierSpec(s string) (string, *goImport, error) { +func parseIdentifierSpec(s string) (string, *tests.GoImport, error) { parts := strings.Split(s, ";") switch len(parts) { case 1: return parts[0], nil, nil case 2: - return parts[1], &goImport{ + return parts[1], &tests.GoImport{ Path: parts[0], }, nil case 3: - return parts[2], &goImport{ + return parts[2], &tests.GoImport{ Path: parts[0], Alias: parts[1], }, nil diff --git a/internal/generate/tagstests/main.go b/internal/generate/tagstests/main.go index 138810348225..e82c822c86ac 100644 --- a/internal/generate/tagstests/main.go +++ b/internal/generate/tagstests/main.go @@ -404,7 +404,6 @@ type ResourceDatum struct { SkipEmptyTags bool // TODO: Remove when we have a strategy for resources that have a minimum tag value length of 1 SkipNullTags bool NoRemoveTags bool - GoImports []goImport GenerateConfig bool InitCodeBlocks []codeBlock additionalTfVars map[string]tfVar @@ -442,11 +441,6 @@ func (d ResourceDatum) OverrideIdentifierAttribute() string { return namesgen.ConstOrQuote(d.overrideIdentifierAttribute) } -type goImport struct { - Path string - Alias string -} - type codeBlock struct { Code string } @@ -641,7 +635,7 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { } else { d.CheckDestroyNoop = b d.GoImports = append(d.GoImports, - goImport{ + tests.GoImport{ Path: "github.com/hashicorp/terraform-provider-aws/internal/acctest", }, ) @@ -651,7 +645,7 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { parts := strings.Split(attr, ";") varName := "rBgpAsn" d.GoImports = append(d.GoImports, - goImport{ + tests.GoImport{ Path: "github.com/hashicorp/terraform-plugin-testing/helper/acctest", Alias: "sdkacctest", }, @@ -667,7 +661,7 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { if attr, ok := args.Keyword["randomIPv4Address"]; ok { varName := "rIPv4Address" d.GoImports = append(d.GoImports, - goImport{ + tests.GoImport{ Path: "github.com/hashicorp/terraform-plugin-testing/helper/acctest", Alias: "sdkacctest", }, @@ -765,7 +759,7 @@ if err != nil { }), ", ")), }) d.GoImports = append(d.GoImports, - goImport{ + tests.GoImport{ Path: "github.com/hashicorp/aws-sdk-go-base/v2/endpoints", }, ) @@ -780,7 +774,7 @@ if err != nil { Code: "acctest.PreCheckAlternateAccount(t)", }) d.GoImports = append(d.GoImports, - goImport{ + tests.GoImport{ Path: "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema", }, ) @@ -891,7 +885,7 @@ if err != nil { if len(tlsKeyCN) == 0 { tlsKeyCN = "acctest.RandomDomain().String()" d.GoImports = append(d.GoImports, - goImport{ + tests.GoImport{ Path: "github.com/hashicorp/terraform-provider-aws/internal/acctest", }, ) @@ -923,7 +917,7 @@ if err != nil { if !generatorSeen { d.Generator = "acctest.RandomWithPrefix(t, acctest.ResourcePrefix)" d.GoImports = append(d.GoImports, - goImport{ + tests.GoImport{ Path: "github.com/hashicorp/terraform-provider-aws/internal/acctest", }, ) @@ -973,19 +967,19 @@ func generateTestConfig(g *common.Generator, dirPath, test string, withDefaults } } -func parseIdentifierSpec(s string) (string, *goImport, error) { +func parseIdentifierSpec(s string) (string, *tests.GoImport, error) { parts := strings.Split(s, ";") switch len(parts) { case 1: return parts[0], nil, nil case 2: - return parts[1], &goImport{ + return parts[1], &tests.GoImport{ Path: parts[0], }, nil case 3: - return parts[2], &goImport{ + return parts[2], &tests.GoImport{ Path: parts[0], Alias: parts[1], }, nil diff --git a/internal/generate/tests/annotations.go b/internal/generate/tests/annotations.go index 978082a42a5e..d2b7205c38dd 100644 --- a/internal/generate/tests/annotations.go +++ b/internal/generate/tests/annotations.go @@ -12,6 +12,12 @@ import ( type CommonArgs struct { DestroyTakesT bool + GoImports []GoImport +} + +type GoImport struct { + Path string + Alias string } func ParseTestingAnnotations(args common.Args, stuff *CommonArgs) error { From 1570bda6740055b3fcf699d743a30b1b602b7cc7 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Tue, 29 Jul 2025 12:37:16 -0700 Subject: [PATCH 0075/1301] Moves handling of `@Testing(checkDestroyNoop)` --- internal/generate/identitytests/main.go | 14 -------------- internal/generate/tagstests/main.go | 14 -------------- internal/generate/tests/annotations.go | 18 ++++++++++++++++-- 3 files changed, 16 insertions(+), 30 deletions(-) diff --git a/internal/generate/identitytests/main.go b/internal/generate/identitytests/main.go index a66141d8fb14..cd2f5f66652e 100644 --- a/internal/generate/identitytests/main.go +++ b/internal/generate/identitytests/main.go @@ -418,7 +418,6 @@ type ResourceDatum struct { GenerateConfig bool InitCodeBlocks []codeBlock additionalTfVars map[string]string - CheckDestroyNoop bool overrideIdentifierAttribute string OverrideResourceType string ARNNamespace string @@ -793,19 +792,6 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { continue } - if attr, ok := args.Keyword["checkDestroyNoop"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid checkDestroyNoop value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) - continue - } else { - d.CheckDestroyNoop = b - d.GoImports = append(d.GoImports, - tests.GoImport{ - Path: "github.com/hashicorp/terraform-provider-aws/internal/acctest", - }, - ) - } - } if attr, ok := args.Keyword["emailAddress"]; ok { varName := "address" if len(attr) > 0 { diff --git a/internal/generate/tagstests/main.go b/internal/generate/tagstests/main.go index e82c822c86ac..0c47fd75b363 100644 --- a/internal/generate/tagstests/main.go +++ b/internal/generate/tagstests/main.go @@ -410,7 +410,6 @@ type ResourceDatum struct { AlternateRegionProvider bool TagsUpdateForceNew bool TagsUpdateGetTagsIn bool // TODO: Works around a bug when getTagsIn() is used to pass tags directly to Update call - CheckDestroyNoop bool IsDataSource bool DataSourceResourceImplementation implementation overrideIdentifierAttribute string @@ -628,19 +627,6 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { } } - if attr, ok := args.Keyword["checkDestroyNoop"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid checkDestroyNoop value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) - continue - } else { - d.CheckDestroyNoop = b - d.GoImports = append(d.GoImports, - tests.GoImport{ - Path: "github.com/hashicorp/terraform-provider-aws/internal/acctest", - }, - ) - } - } if attr, ok := args.Keyword["randomBgpAsn"]; ok { parts := strings.Split(attr, ";") varName := "rBgpAsn" diff --git a/internal/generate/tests/annotations.go b/internal/generate/tests/annotations.go index d2b7205c38dd..ccc5d552551d 100644 --- a/internal/generate/tests/annotations.go +++ b/internal/generate/tests/annotations.go @@ -11,8 +11,9 @@ import ( ) type CommonArgs struct { - DestroyTakesT bool - GoImports []GoImport + CheckDestroyNoop bool + DestroyTakesT bool + GoImports []GoImport } type GoImport struct { @@ -21,6 +22,19 @@ type GoImport struct { } func ParseTestingAnnotations(args common.Args, stuff *CommonArgs) error { + if attr, ok := args.Keyword["checkDestroyNoop"]; ok { + if b, err := strconv.ParseBool(attr); err != nil { + return fmt.Errorf("invalid checkDestroyNoop value: %q: Should be boolean value.", attr) + } else { + stuff.CheckDestroyNoop = b + stuff.GoImports = append(stuff.GoImports, + GoImport{ + Path: "github.com/hashicorp/terraform-provider-aws/internal/acctest", + }, + ) + } + } + if attr, ok := args.Keyword["destroyTakesT"]; ok { if b, err := strconv.ParseBool(attr); err != nil { return fmt.Errorf("invalid destroyTakesT value %q: Should be boolean value.", attr) From 3e0e1c1b05029e79c7ccde2ad14c7606683458fa Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Tue, 29 Jul 2025 12:42:48 -0700 Subject: [PATCH 0076/1301] Moves `InitCodeBlocks` --- internal/generate/identitytests/main.go | 11 +++++------ internal/generate/tagstests/main.go | 7 +++---- internal/generate/tests/annotations.go | 5 +++++ 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/internal/generate/identitytests/main.go b/internal/generate/identitytests/main.go index cd2f5f66652e..90dd8384e600 100644 --- a/internal/generate/identitytests/main.go +++ b/internal/generate/identitytests/main.go @@ -416,7 +416,6 @@ type ResourceDatum struct { PreChecksWithRegion []codeBlock PreCheckRegions []string GenerateConfig bool - InitCodeBlocks []codeBlock additionalTfVars map[string]string overrideIdentifierAttribute string OverrideResourceType string @@ -802,7 +801,7 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { Path: "github.com/hashicorp/terraform-provider-aws/internal/acctest", }, ) - d.InitCodeBlocks = append(d.InitCodeBlocks, codeBlock{ + d.InitCodeBlocks = append(d.InitCodeBlocks, tests.CodeBlock{ Code: fmt.Sprintf( `domain := acctest.RandomDomainName() %s := acctest.RandomEmailAddress(domain)`, varName), @@ -819,7 +818,7 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { Path: "github.com/hashicorp/terraform-provider-aws/internal/acctest", }, ) - d.InitCodeBlocks = append(d.InitCodeBlocks, codeBlock{ + d.InitCodeBlocks = append(d.InitCodeBlocks, tests.CodeBlock{ Code: fmt.Sprintf(`%s := acctest.RandomDomainName()`, varName), }) d.additionalTfVars[varName] = varName @@ -841,10 +840,10 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { Path: "github.com/hashicorp/terraform-provider-aws/internal/acctest", }, ) - d.InitCodeBlocks = append(d.InitCodeBlocks, codeBlock{ + d.InitCodeBlocks = append(d.InitCodeBlocks, tests.CodeBlock{ Code: fmt.Sprintf(`%s := acctest.RandomDomain()`, parentName), }) - d.InitCodeBlocks = append(d.InitCodeBlocks, codeBlock{ + d.InitCodeBlocks = append(d.InitCodeBlocks, tests.CodeBlock{ Code: fmt.Sprintf(`%s := %s.RandomSubdomain()`, varName, parentName), }) d.additionalTfVars[parentName] = fmt.Sprintf("%s.String()", parentName) @@ -1089,7 +1088,7 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { }, ) } - d.InitCodeBlocks = append(d.InitCodeBlocks, codeBlock{ + d.InitCodeBlocks = append(d.InitCodeBlocks, tests.CodeBlock{ Code: fmt.Sprintf(`privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) certificatePEM := acctest.TLSRSAX509SelfSignedCertificatePEM(t, privateKeyPEM, %s)`, tlsKeyCN), }) diff --git a/internal/generate/tagstests/main.go b/internal/generate/tagstests/main.go index 0c47fd75b363..580451574365 100644 --- a/internal/generate/tagstests/main.go +++ b/internal/generate/tagstests/main.go @@ -405,7 +405,6 @@ type ResourceDatum struct { SkipNullTags bool NoRemoveTags bool GenerateConfig bool - InitCodeBlocks []codeBlock additionalTfVars map[string]tfVar AlternateRegionProvider bool TagsUpdateForceNew bool @@ -636,7 +635,7 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { Alias: "sdkacctest", }, ) - d.InitCodeBlocks = append(d.InitCodeBlocks, codeBlock{ + d.InitCodeBlocks = append(d.InitCodeBlocks, tests.CodeBlock{ Code: fmt.Sprintf("%s := sdkacctest.RandIntRange(%s,%s)", varName, parts[0], parts[1]), }) d.additionalTfVars[varName] = tfVar{ @@ -652,7 +651,7 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { Alias: "sdkacctest", }, ) - d.InitCodeBlocks = append(d.InitCodeBlocks, codeBlock{ + d.InitCodeBlocks = append(d.InitCodeBlocks, tests.CodeBlock{ Code: fmt.Sprintf(`%s, err := sdkacctest.RandIpAddress("%s") if err != nil { t.Fatal(err) @@ -876,7 +875,7 @@ if err != nil { }, ) } - d.InitCodeBlocks = append(d.InitCodeBlocks, codeBlock{ + d.InitCodeBlocks = append(d.InitCodeBlocks, tests.CodeBlock{ Code: fmt.Sprintf(`privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) certificatePEM := acctest.TLSRSAX509SelfSignedCertificatePEM(t, privateKeyPEM, %s)`, tlsKeyCN), }) diff --git a/internal/generate/tests/annotations.go b/internal/generate/tests/annotations.go index ccc5d552551d..f0fc5f8b7831 100644 --- a/internal/generate/tests/annotations.go +++ b/internal/generate/tests/annotations.go @@ -14,6 +14,7 @@ type CommonArgs struct { CheckDestroyNoop bool DestroyTakesT bool GoImports []GoImport + InitCodeBlocks []CodeBlock } type GoImport struct { @@ -21,6 +22,10 @@ type GoImport struct { Alias string } +type CodeBlock struct { + Code string +} + func ParseTestingAnnotations(args common.Args, stuff *CommonArgs) error { if attr, ok := args.Keyword["checkDestroyNoop"]; ok { if b, err := strconv.ParseBool(attr); err != nil { From 8ed32f0da23fc2c2027e8735b80d4739b24f8b7c Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Tue, 29 Jul 2025 12:51:55 -0700 Subject: [PATCH 0077/1301] Moves `tfVar` type --- internal/generate/tagstests/main.go | 34 +++++++++----------------- internal/generate/tests/annotations.go | 12 +++++++++ 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/internal/generate/tagstests/main.go b/internal/generate/tagstests/main.go index 580451574365..fc23f51fee4b 100644 --- a/internal/generate/tagstests/main.go +++ b/internal/generate/tagstests/main.go @@ -405,7 +405,7 @@ type ResourceDatum struct { SkipNullTags bool NoRemoveTags bool GenerateConfig bool - additionalTfVars map[string]tfVar + additionalTfVars map[string]tests.TFVar AlternateRegionProvider bool TagsUpdateForceNew bool TagsUpdateGetTagsIn bool // TODO: Works around a bug when getTagsIn() is used to pass tags directly to Update call @@ -417,7 +417,7 @@ type ResourceDatum struct { tests.CommonArgs } -func (d ResourceDatum) AdditionalTfVars() map[string]tfVar { +func (d ResourceDatum) AdditionalTfVars() map[string]tests.TFVar { return tfmaps.ApplyToAllKeys(d.additionalTfVars, func(k string) string { return acctestgen.ConstOrQuote(k) }) @@ -443,18 +443,6 @@ type codeBlock struct { Code string } -type tfVar struct { - GoVarName string - Type tfVarType -} - -type tfVarType string - -const ( - tfVarTypeString tfVarType = "string" - tfVarTypeInt tfVarType = "int" -) - type commonConfig struct { AdditionalTfVars []string WithRName bool @@ -542,7 +530,7 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { // Look first for tagging annotations. d := ResourceDatum{ FileName: v.fileName, - additionalTfVars: make(map[string]tfVar), + additionalTfVars: make(map[string]tests.TFVar), } tagged := false skip := false @@ -638,9 +626,9 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { d.InitCodeBlocks = append(d.InitCodeBlocks, tests.CodeBlock{ Code: fmt.Sprintf("%s := sdkacctest.RandIntRange(%s,%s)", varName, parts[0], parts[1]), }) - d.additionalTfVars[varName] = tfVar{ + d.additionalTfVars[varName] = tests.TFVar{ GoVarName: varName, - Type: tfVarTypeInt, + Type: tests.TFVarTypeInt, } } if attr, ok := args.Keyword["randomIPv4Address"]; ok { @@ -658,9 +646,9 @@ if err != nil { } `, varName, attr), }) - d.additionalTfVars[varName] = tfVar{ + d.additionalTfVars[varName] = tests.TFVar{ GoVarName: varName, - Type: tfVarTypeString, + Type: tests.TFVarTypeString, } } if attr, ok := args.Keyword["existsType"]; ok { @@ -879,13 +867,13 @@ if err != nil { Code: fmt.Sprintf(`privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) certificatePEM := acctest.TLSRSAX509SelfSignedCertificatePEM(t, privateKeyPEM, %s)`, tlsKeyCN), }) - d.additionalTfVars["certificate_pem"] = tfVar{ + d.additionalTfVars["certificate_pem"] = tests.TFVar{ GoVarName: "certificatePEM", - Type: tfVarTypeString, + Type: tests.TFVarTypeString, } - d.additionalTfVars["private_key_pem"] = tfVar{ + d.additionalTfVars["private_key_pem"] = tests.TFVar{ GoVarName: "privateKeyPEM", - Type: tfVarTypeString, + Type: tests.TFVarTypeString, } } diff --git a/internal/generate/tests/annotations.go b/internal/generate/tests/annotations.go index f0fc5f8b7831..cb5e3f8173b1 100644 --- a/internal/generate/tests/annotations.go +++ b/internal/generate/tests/annotations.go @@ -26,6 +26,18 @@ type CodeBlock struct { Code string } +type TFVar struct { + GoVarName string + Type TFVarType +} + +type TFVarType string + +const ( + TFVarTypeString TFVarType = "string" + TFVarTypeInt TFVarType = "int" +) + func ParseTestingAnnotations(args common.Args, stuff *CommonArgs) error { if attr, ok := args.Keyword["checkDestroyNoop"]; ok { if b, err := strconv.ParseBool(attr); err != nil { From 72807fb962f990251ee5ac64ec51be82e847b4c2 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Tue, 29 Jul 2025 13:23:04 -0700 Subject: [PATCH 0078/1301] Updates `additionalTfVars` for Identity tests --- internal/generate/identitytests/main.go | 38 ++++++++++++++----- .../identitytests/resource_test.go.gtpl | 6 ++- 2 files changed, 34 insertions(+), 10 deletions(-) diff --git a/internal/generate/identitytests/main.go b/internal/generate/identitytests/main.go index 90dd8384e600..f0fb8b2796b2 100644 --- a/internal/generate/identitytests/main.go +++ b/internal/generate/identitytests/main.go @@ -416,7 +416,7 @@ type ResourceDatum struct { PreChecksWithRegion []codeBlock PreCheckRegions []string GenerateConfig bool - additionalTfVars map[string]string + additionalTfVars map[string]tests.TFVar overrideIdentifierAttribute string OverrideResourceType string ARNNamespace string @@ -441,7 +441,7 @@ type ResourceDatum struct { tests.CommonArgs } -func (d ResourceDatum) AdditionalTfVars() map[string]string { +func (d ResourceDatum) AdditionalTfVars() map[string]tests.TFVar { return tfmaps.ApplyToAllKeys(d.additionalTfVars, func(k string) string { return acctestgen.ConstOrQuote(k) }) @@ -620,7 +620,7 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { d := ResourceDatum{ FileName: v.fileName, - additionalTfVars: make(map[string]string), + additionalTfVars: make(map[string]tests.TFVar), IsGlobal: false, HasExistsFunc: true, HasRegionOverrideTest: true, @@ -806,7 +806,10 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { `domain := acctest.RandomDomainName() %s := acctest.RandomEmailAddress(domain)`, varName), }) - d.additionalTfVars[varName] = varName + d.additionalTfVars[varName] = tests.TFVar{ + GoVarName: varName, + Type: tests.TFVarTypeString, + } } if attr, ok := args.Keyword["domainTfVar"]; ok { varName := "domain" @@ -821,7 +824,10 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { d.InitCodeBlocks = append(d.InitCodeBlocks, tests.CodeBlock{ Code: fmt.Sprintf(`%s := acctest.RandomDomainName()`, varName), }) - d.additionalTfVars[varName] = varName + d.additionalTfVars[varName] = tests.TFVar{ + GoVarName: varName, + Type: tests.TFVarTypeString, + } } if attr, ok := args.Keyword["subdomainTfVar"]; ok { parentName := "domain" @@ -846,8 +852,16 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { d.InitCodeBlocks = append(d.InitCodeBlocks, tests.CodeBlock{ Code: fmt.Sprintf(`%s := %s.RandomSubdomain()`, varName, parentName), }) - d.additionalTfVars[parentName] = fmt.Sprintf("%s.String()", parentName) - d.additionalTfVars[varName] = fmt.Sprintf("%s.String()", varName) + // d.additionalTfVars[parentName] = fmt.Sprintf("%s.String()", parentName) + d.additionalTfVars[parentName] = tests.TFVar{ + GoVarName: fmt.Sprintf("%s.String()", parentName), + Type: tests.TFVarTypeString, + } + // d.additionalTfVars[varName] = fmt.Sprintf("%s.String()", varName) + d.additionalTfVars[varName] = tests.TFVar{ + GoVarName: fmt.Sprintf("%s.String()", varName), + Type: tests.TFVarTypeString, + } } if attr, ok := args.Keyword["hasExistsFunction"]; ok { if b, err := strconv.ParseBool(attr); err != nil { @@ -1092,8 +1106,14 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { Code: fmt.Sprintf(`privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) certificatePEM := acctest.TLSRSAX509SelfSignedCertificatePEM(t, privateKeyPEM, %s)`, tlsKeyCN), }) - d.additionalTfVars["certificate_pem"] = "certificatePEM" - d.additionalTfVars["private_key_pem"] = "privateKeyPEM" + d.additionalTfVars["certificate_pem"] = tests.TFVar{ + GoVarName: "certificatePEM", + Type: tests.TFVarTypeString, + } + d.additionalTfVars["private_key_pem"] = tests.TFVar{ + GoVarName: "privateKeyPEM", + Type: tests.TFVarTypeString, + } } if d.IsRegionalSingleton() { diff --git a/internal/generate/identitytests/resource_test.go.gtpl b/internal/generate/identitytests/resource_test.go.gtpl index eafbbfc8778e..cde6a8206b97 100644 --- a/internal/generate/identitytests/resource_test.go.gtpl +++ b/internal/generate/identitytests/resource_test.go.gtpl @@ -252,7 +252,11 @@ ImportPlanChecks: resource.ImportPlanChecks{ {{ define "AdditionalTfVars" -}} {{ range $name, $value := .AdditionalTfVars -}} - {{ $name }}: config.StringVariable({{ $value }}), + {{ if eq $value.Type "string" -}} + {{ $name }}: config.StringVariable({{ $value.GoVarName }}), + {{- else if eq $value.Type "int" -}} + {{ $name }}: config.IntegerVariable({{ $value.GoVarName }}), + {{- end }} {{ end -}} {{ end }} From e4479ba78f9c1652490841118609a3e1e93237f3 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Tue, 29 Jul 2025 13:43:34 -0700 Subject: [PATCH 0079/1301] Moves `AdditionalTfVars` --- internal/generate/identitytests/main.go | 30 +++++++++---------------- internal/generate/tagstests/main.go | 26 +++++++++------------ internal/generate/tests/annotations.go | 17 ++++++++++---- 3 files changed, 34 insertions(+), 39 deletions(-) diff --git a/internal/generate/identitytests/main.go b/internal/generate/identitytests/main.go index f0fb8b2796b2..b73dbac4f358 100644 --- a/internal/generate/identitytests/main.go +++ b/internal/generate/identitytests/main.go @@ -26,7 +26,6 @@ import ( "github.com/dlclark/regexp2" "github.com/hashicorp/go-version" - acctestgen "github.com/hashicorp/terraform-provider-aws/internal/acctest/generate" "github.com/hashicorp/terraform-provider-aws/internal/generate/common" "github.com/hashicorp/terraform-provider-aws/internal/generate/tests" tfmaps "github.com/hashicorp/terraform-provider-aws/internal/maps" @@ -184,7 +183,7 @@ func main() { resource.GenerateConfig = true if resource.GenerateConfig { - additionalTfVars := tfmaps.Keys(resource.additionalTfVars) + additionalTfVars := tfmaps.Keys(resource.AdditionalTfVars_) slices.Sort(additionalTfVars) testDirPath := path.Join("testdata", resource.Name) @@ -416,7 +415,6 @@ type ResourceDatum struct { PreChecksWithRegion []codeBlock PreCheckRegions []string GenerateConfig bool - additionalTfVars map[string]tests.TFVar overrideIdentifierAttribute string OverrideResourceType string ARNNamespace string @@ -441,12 +439,6 @@ type ResourceDatum struct { tests.CommonArgs } -func (d ResourceDatum) AdditionalTfVars() map[string]tests.TFVar { - return tfmaps.ApplyToAllKeys(d.additionalTfVars, func(k string) string { - return acctestgen.ConstOrQuote(k) - }) -} - func (d ResourceDatum) HasIDAttrDuplicates() bool { return d.idAttrDuplicates != "" } @@ -619,8 +611,10 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { v.functionName = funcDecl.Name.Name d := ResourceDatum{ - FileName: v.fileName, - additionalTfVars: make(map[string]tests.TFVar), + FileName: v.fileName, + CommonArgs: tests.CommonArgs{ + AdditionalTfVars_: make(map[string]tests.TFVar), + }, IsGlobal: false, HasExistsFunc: true, HasRegionOverrideTest: true, @@ -806,7 +800,7 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { `domain := acctest.RandomDomainName() %s := acctest.RandomEmailAddress(domain)`, varName), }) - d.additionalTfVars[varName] = tests.TFVar{ + d.AdditionalTfVars_[varName] = tests.TFVar{ GoVarName: varName, Type: tests.TFVarTypeString, } @@ -824,7 +818,7 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { d.InitCodeBlocks = append(d.InitCodeBlocks, tests.CodeBlock{ Code: fmt.Sprintf(`%s := acctest.RandomDomainName()`, varName), }) - d.additionalTfVars[varName] = tests.TFVar{ + d.AdditionalTfVars_[varName] = tests.TFVar{ GoVarName: varName, Type: tests.TFVarTypeString, } @@ -852,13 +846,11 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { d.InitCodeBlocks = append(d.InitCodeBlocks, tests.CodeBlock{ Code: fmt.Sprintf(`%s := %s.RandomSubdomain()`, varName, parentName), }) - // d.additionalTfVars[parentName] = fmt.Sprintf("%s.String()", parentName) - d.additionalTfVars[parentName] = tests.TFVar{ + d.AdditionalTfVars_[parentName] = tests.TFVar{ GoVarName: fmt.Sprintf("%s.String()", parentName), Type: tests.TFVarTypeString, } - // d.additionalTfVars[varName] = fmt.Sprintf("%s.String()", varName) - d.additionalTfVars[varName] = tests.TFVar{ + d.AdditionalTfVars_[varName] = tests.TFVar{ GoVarName: fmt.Sprintf("%s.String()", varName), Type: tests.TFVarTypeString, } @@ -1106,11 +1098,11 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { Code: fmt.Sprintf(`privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) certificatePEM := acctest.TLSRSAX509SelfSignedCertificatePEM(t, privateKeyPEM, %s)`, tlsKeyCN), }) - d.additionalTfVars["certificate_pem"] = tests.TFVar{ + d.AdditionalTfVars_["certificate_pem"] = tests.TFVar{ GoVarName: "certificatePEM", Type: tests.TFVarTypeString, } - d.additionalTfVars["private_key_pem"] = tests.TFVar{ + d.AdditionalTfVars_["private_key_pem"] = tests.TFVar{ GoVarName: "privateKeyPEM", Type: tests.TFVarTypeString, } diff --git a/internal/generate/tagstests/main.go b/internal/generate/tagstests/main.go index fc23f51fee4b..8c80e40c74ba 100644 --- a/internal/generate/tagstests/main.go +++ b/internal/generate/tagstests/main.go @@ -25,7 +25,6 @@ import ( "time" "github.com/dlclark/regexp2" - acctestgen "github.com/hashicorp/terraform-provider-aws/internal/acctest/generate" "github.com/hashicorp/terraform-provider-aws/internal/generate/common" "github.com/hashicorp/terraform-provider-aws/internal/generate/tests" tfmaps "github.com/hashicorp/terraform-provider-aws/internal/maps" @@ -173,7 +172,7 @@ func main() { } if resource.GenerateConfig { - additionalTfVars := tfmaps.Keys(resource.additionalTfVars) + additionalTfVars := tfmaps.Keys(resource.AdditionalTfVars_) slices.Sort(additionalTfVars) testDirPath := path.Join("testdata", resource.Name) @@ -238,7 +237,7 @@ func main() { g.Fatalf("opening data source config template %q: %w", dataSourceConfigTmplFile, err) } - additionalTfVars := tfmaps.Keys(resource.additionalTfVars) + additionalTfVars := tfmaps.Keys(resource.AdditionalTfVars_) slices.Sort(additionalTfVars) testDirPath := path.Join("testdata", resource.Name) @@ -405,7 +404,6 @@ type ResourceDatum struct { SkipNullTags bool NoRemoveTags bool GenerateConfig bool - additionalTfVars map[string]tests.TFVar AlternateRegionProvider bool TagsUpdateForceNew bool TagsUpdateGetTagsIn bool // TODO: Works around a bug when getTagsIn() is used to pass tags directly to Update call @@ -417,12 +415,6 @@ type ResourceDatum struct { tests.CommonArgs } -func (d ResourceDatum) AdditionalTfVars() map[string]tests.TFVar { - return tfmaps.ApplyToAllKeys(d.additionalTfVars, func(k string) string { - return acctestgen.ConstOrQuote(k) - }) -} - func (d ResourceDatum) HasImportStateIDAttribute() bool { return d.importStateIDAttribute != "" } @@ -529,8 +521,10 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { // Look first for tagging annotations. d := ResourceDatum{ - FileName: v.fileName, - additionalTfVars: make(map[string]tests.TFVar), + FileName: v.fileName, + CommonArgs: tests.CommonArgs{ + AdditionalTfVars_: make(map[string]tests.TFVar), + }, } tagged := false skip := false @@ -626,7 +620,7 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { d.InitCodeBlocks = append(d.InitCodeBlocks, tests.CodeBlock{ Code: fmt.Sprintf("%s := sdkacctest.RandIntRange(%s,%s)", varName, parts[0], parts[1]), }) - d.additionalTfVars[varName] = tests.TFVar{ + d.AdditionalTfVars_[varName] = tests.TFVar{ GoVarName: varName, Type: tests.TFVarTypeInt, } @@ -646,7 +640,7 @@ if err != nil { } `, varName, attr), }) - d.additionalTfVars[varName] = tests.TFVar{ + d.AdditionalTfVars_[varName] = tests.TFVar{ GoVarName: varName, Type: tests.TFVarTypeString, } @@ -867,11 +861,11 @@ if err != nil { Code: fmt.Sprintf(`privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) certificatePEM := acctest.TLSRSAX509SelfSignedCertificatePEM(t, privateKeyPEM, %s)`, tlsKeyCN), }) - d.additionalTfVars["certificate_pem"] = tests.TFVar{ + d.AdditionalTfVars_["certificate_pem"] = tests.TFVar{ GoVarName: "certificatePEM", Type: tests.TFVarTypeString, } - d.additionalTfVars["private_key_pem"] = tests.TFVar{ + d.AdditionalTfVars_["private_key_pem"] = tests.TFVar{ GoVarName: "privateKeyPEM", Type: tests.TFVarTypeString, } diff --git a/internal/generate/tests/annotations.go b/internal/generate/tests/annotations.go index cb5e3f8173b1..59c393a64941 100644 --- a/internal/generate/tests/annotations.go +++ b/internal/generate/tests/annotations.go @@ -7,14 +7,23 @@ import ( "fmt" "strconv" + acctestgen "github.com/hashicorp/terraform-provider-aws/internal/acctest/generate" "github.com/hashicorp/terraform-provider-aws/internal/generate/common" + tfmaps "github.com/hashicorp/terraform-provider-aws/internal/maps" ) type CommonArgs struct { - CheckDestroyNoop bool - DestroyTakesT bool - GoImports []GoImport - InitCodeBlocks []CodeBlock + CheckDestroyNoop bool + DestroyTakesT bool + GoImports []GoImport + InitCodeBlocks []CodeBlock + AdditionalTfVars_ map[string]TFVar +} + +func (d CommonArgs) AdditionalTfVars() map[string]TFVar { + return tfmaps.ApplyToAllKeys(d.AdditionalTfVars_, func(k string) string { + return acctestgen.ConstOrQuote(k) + }) } type GoImport struct { From 7978ec097945e817721c8fa6bbaee90ba9f3eb8f Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Tue, 29 Jul 2025 13:54:43 -0700 Subject: [PATCH 0080/1301] Moves `emailAddress`, `domainTfVar`, `subdomainTfVar`, `randomBgpAsn`, and `randomIPAddress` tf vars --- internal/generate/identitytests/main.go | 70 --------------- internal/generate/tagstests/main.go | 37 -------- internal/generate/tests/annotations.go | 114 ++++++++++++++++++++++++ 3 files changed, 114 insertions(+), 107 deletions(-) diff --git a/internal/generate/identitytests/main.go b/internal/generate/identitytests/main.go index b73dbac4f358..207012357e20 100644 --- a/internal/generate/identitytests/main.go +++ b/internal/generate/identitytests/main.go @@ -785,76 +785,6 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { continue } - if attr, ok := args.Keyword["emailAddress"]; ok { - varName := "address" - if len(attr) > 0 { - varName = attr - } - d.GoImports = append(d.GoImports, - tests.GoImport{ - Path: "github.com/hashicorp/terraform-provider-aws/internal/acctest", - }, - ) - d.InitCodeBlocks = append(d.InitCodeBlocks, tests.CodeBlock{ - Code: fmt.Sprintf( - `domain := acctest.RandomDomainName() -%s := acctest.RandomEmailAddress(domain)`, varName), - }) - d.AdditionalTfVars_[varName] = tests.TFVar{ - GoVarName: varName, - Type: tests.TFVarTypeString, - } - } - if attr, ok := args.Keyword["domainTfVar"]; ok { - varName := "domain" - if len(attr) > 0 { - varName = attr - } - d.GoImports = append(d.GoImports, - tests.GoImport{ - Path: "github.com/hashicorp/terraform-provider-aws/internal/acctest", - }, - ) - d.InitCodeBlocks = append(d.InitCodeBlocks, tests.CodeBlock{ - Code: fmt.Sprintf(`%s := acctest.RandomDomainName()`, varName), - }) - d.AdditionalTfVars_[varName] = tests.TFVar{ - GoVarName: varName, - Type: tests.TFVarTypeString, - } - } - if attr, ok := args.Keyword["subdomainTfVar"]; ok { - parentName := "domain" - varName := "subdomain" - parts := strings.Split(attr, ";") - if len(parts) > 1 { - if len(parts[0]) > 0 { - parentName = parts[0] - } - if len(parts[1]) > 0 { - varName = parts[1] - } - } - d.GoImports = append(d.GoImports, - tests.GoImport{ - Path: "github.com/hashicorp/terraform-provider-aws/internal/acctest", - }, - ) - d.InitCodeBlocks = append(d.InitCodeBlocks, tests.CodeBlock{ - Code: fmt.Sprintf(`%s := acctest.RandomDomain()`, parentName), - }) - d.InitCodeBlocks = append(d.InitCodeBlocks, tests.CodeBlock{ - Code: fmt.Sprintf(`%s := %s.RandomSubdomain()`, varName, parentName), - }) - d.AdditionalTfVars_[parentName] = tests.TFVar{ - GoVarName: fmt.Sprintf("%s.String()", parentName), - Type: tests.TFVarTypeString, - } - d.AdditionalTfVars_[varName] = tests.TFVar{ - GoVarName: fmt.Sprintf("%s.String()", varName), - Type: tests.TFVarTypeString, - } - } if attr, ok := args.Keyword["hasExistsFunction"]; ok { if b, err := strconv.ParseBool(attr); err != nil { v.errs = append(v.errs, fmt.Errorf("invalid existsFunction value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) diff --git a/internal/generate/tagstests/main.go b/internal/generate/tagstests/main.go index 8c80e40c74ba..4a599d0b9682 100644 --- a/internal/generate/tagstests/main.go +++ b/internal/generate/tagstests/main.go @@ -608,43 +608,6 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { } } - if attr, ok := args.Keyword["randomBgpAsn"]; ok { - parts := strings.Split(attr, ";") - varName := "rBgpAsn" - d.GoImports = append(d.GoImports, - tests.GoImport{ - Path: "github.com/hashicorp/terraform-plugin-testing/helper/acctest", - Alias: "sdkacctest", - }, - ) - d.InitCodeBlocks = append(d.InitCodeBlocks, tests.CodeBlock{ - Code: fmt.Sprintf("%s := sdkacctest.RandIntRange(%s,%s)", varName, parts[0], parts[1]), - }) - d.AdditionalTfVars_[varName] = tests.TFVar{ - GoVarName: varName, - Type: tests.TFVarTypeInt, - } - } - if attr, ok := args.Keyword["randomIPv4Address"]; ok { - varName := "rIPv4Address" - d.GoImports = append(d.GoImports, - tests.GoImport{ - Path: "github.com/hashicorp/terraform-plugin-testing/helper/acctest", - Alias: "sdkacctest", - }, - ) - d.InitCodeBlocks = append(d.InitCodeBlocks, tests.CodeBlock{ - Code: fmt.Sprintf(`%s, err := sdkacctest.RandIpAddress("%s") -if err != nil { - t.Fatal(err) -} -`, varName, attr), - }) - d.AdditionalTfVars_[varName] = tests.TFVar{ - GoVarName: varName, - Type: tests.TFVarTypeString, - } - } if attr, ok := args.Keyword["existsType"]; ok { if typeName, importSpec, err := parseIdentifierSpec(attr); err != nil { v.errs = append(v.errs, fmt.Errorf("%s: %w", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName), err)) diff --git a/internal/generate/tests/annotations.go b/internal/generate/tests/annotations.go index 59c393a64941..6ef2fc89238e 100644 --- a/internal/generate/tests/annotations.go +++ b/internal/generate/tests/annotations.go @@ -6,6 +6,7 @@ package tests import ( "fmt" "strconv" + "strings" acctestgen "github.com/hashicorp/terraform-provider-aws/internal/acctest/generate" "github.com/hashicorp/terraform-provider-aws/internal/generate/common" @@ -68,5 +69,118 @@ func ParseTestingAnnotations(args common.Args, stuff *CommonArgs) error { stuff.DestroyTakesT = b } } + + if attr, ok := args.Keyword["emailAddress"]; ok { + varName := "address" + if len(attr) > 0 { + varName = attr + } + stuff.GoImports = append(stuff.GoImports, + GoImport{ + Path: "github.com/hashicorp/terraform-provider-aws/internal/acctest", + }, + ) + stuff.InitCodeBlocks = append(stuff.InitCodeBlocks, CodeBlock{ + Code: fmt.Sprintf( + `domain := acctest.RandomDomainName() +%s := acctest.RandomEmailAddress(domain)`, varName), + }) + stuff.AdditionalTfVars_[varName] = TFVar{ + GoVarName: varName, + Type: TFVarTypeString, + } + } + + if attr, ok := args.Keyword["domainTfVar"]; ok { + varName := "domain" + if len(attr) > 0 { + varName = attr + } + stuff.GoImports = append(stuff.GoImports, + GoImport{ + Path: "github.com/hashicorp/terraform-provider-aws/internal/acctest", + }, + ) + stuff.InitCodeBlocks = append(stuff.InitCodeBlocks, CodeBlock{ + Code: fmt.Sprintf(`%s := acctest.RandomDomainName()`, varName), + }) + stuff.AdditionalTfVars_[varName] = TFVar{ + GoVarName: varName, + Type: TFVarTypeString, + } + } + + if attr, ok := args.Keyword["subdomainTfVar"]; ok { + parentName := "domain" + varName := "subdomain" + parts := strings.Split(attr, ";") + if len(parts) > 1 { + if len(parts[0]) > 0 { + parentName = parts[0] + } + if len(parts[1]) > 0 { + varName = parts[1] + } + } + stuff.GoImports = append(stuff.GoImports, + GoImport{ + Path: "github.com/hashicorp/terraform-provider-aws/internal/acctest", + }, + ) + stuff.InitCodeBlocks = append(stuff.InitCodeBlocks, CodeBlock{ + Code: fmt.Sprintf(`%s := acctest.RandomDomain()`, parentName), + }) + stuff.InitCodeBlocks = append(stuff.InitCodeBlocks, CodeBlock{ + Code: fmt.Sprintf(`%s := %s.RandomSubdomain()`, varName, parentName), + }) + stuff.AdditionalTfVars_[parentName] = TFVar{ + GoVarName: fmt.Sprintf("%s.String()", parentName), + Type: TFVarTypeString, + } + stuff.AdditionalTfVars_[varName] = TFVar{ + GoVarName: fmt.Sprintf("%s.String()", varName), + Type: TFVarTypeString, + } + } + + if attr, ok := args.Keyword["randomBgpAsn"]; ok { + parts := strings.Split(attr, ";") + varName := "rBgpAsn" + stuff.GoImports = append(stuff.GoImports, + GoImport{ + Path: "github.com/hashicorp/terraform-plugin-testing/helper/acctest", + Alias: "sdkacctest", + }, + ) + stuff.InitCodeBlocks = append(stuff.InitCodeBlocks, CodeBlock{ + Code: fmt.Sprintf("%s := sdkacctest.RandIntRange(%s,%s)", varName, parts[0], parts[1]), + }) + stuff.AdditionalTfVars_[varName] = TFVar{ + GoVarName: varName, + Type: TFVarTypeInt, + } + } + + if attr, ok := args.Keyword["randomIPv4Address"]; ok { + varName := "rIPv4Address" + stuff.GoImports = append(stuff.GoImports, + GoImport{ + Path: "github.com/hashicorp/terraform-plugin-testing/helper/acctest", + Alias: "sdkacctest", + }, + ) + stuff.InitCodeBlocks = append(stuff.InitCodeBlocks, CodeBlock{ + Code: fmt.Sprintf(`%s, err := sdkacctest.RandIpAddress("%s") +if err != nil { + t.Fatal(err) +} +`, varName, attr), + }) + stuff.AdditionalTfVars_[varName] = TFVar{ + GoVarName: varName, + Type: TFVarTypeString, + } + } + return nil } From cdda2fe9cea580a52a23a6aeca425be3f6fd569d Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Tue, 29 Jul 2025 14:53:38 -0700 Subject: [PATCH 0081/1301] Moves handling of `Exists` function --- internal/generate/identitytests/main.go | 65 ++--------------------- internal/generate/tagstests/main.go | 53 ++----------------- internal/generate/tests/annotations.go | 70 ++++++++++++++++++++++++- 3 files changed, 77 insertions(+), 111 deletions(-) diff --git a/internal/generate/identitytests/main.go b/internal/generate/identitytests/main.go index 207012357e20..57820af72461 100644 --- a/internal/generate/identitytests/main.go +++ b/internal/generate/identitytests/main.go @@ -396,9 +396,6 @@ type ResourceDatum struct { PackageProviderNameUpper string Name string TypeName string - HasExistsFunc bool - ExistsTypeName string - ExistsTakesT bool FileName string Generator string idAttrDuplicates string // TODO: Remove. Still needed for Parameterized Identity @@ -611,12 +608,9 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { v.functionName = funcDecl.Name.Name d := ResourceDatum{ - FileName: v.fileName, - CommonArgs: tests.CommonArgs{ - AdditionalTfVars_: make(map[string]tests.TFVar), - }, + FileName: v.fileName, + CommonArgs: tests.InitCommonArgs(), IsGlobal: false, - HasExistsFunc: true, HasRegionOverrideTest: true, plannableImportAction: importActionNoop, PreIdentityVersion: version.Must(version.NewVersion("5.100.0")), @@ -785,37 +779,10 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { continue } - if attr, ok := args.Keyword["hasExistsFunction"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid existsFunction value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) - continue - } else { - d.HasExistsFunc = b - } - } - if attr, ok := args.Keyword["existsType"]; ok { - if typeName, importSpec, err := parseIdentifierSpec(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("%s: %w", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName), err)) - continue - } else { - d.ExistsTypeName = typeName - if importSpec != nil { - d.GoImports = append(d.GoImports, *importSpec) - } - } - } - if attr, ok := args.Keyword["existsTakesT"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid existsTakesT value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) - continue - } else { - d.ExistsTakesT = b - } - } if attr, ok := args.Keyword["generator"]; ok { if attr == "false" { generatorSeen = true - } else if funcName, importSpec, err := parseIdentifierSpec(attr); err != nil { + } else if funcName, importSpec, err := tests.ParseIdentifierSpec(attr); err != nil { v.errs = append(v.errs, fmt.Errorf("%s: %w", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName), err)) continue } else { @@ -881,7 +848,7 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { } } if attr, ok := args.Keyword["preCheck"]; ok { - if code, importSpec, err := parseIdentifierSpec(attr); err != nil { + if code, importSpec, err := tests.ParseIdentifierSpec(attr); err != nil { v.errs = append(v.errs, fmt.Errorf("%s: %w", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName), err)) continue } else { @@ -905,7 +872,7 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { ) } if attr, ok := args.Keyword["preCheckWithRegion"]; ok { - if code, importSpec, err := parseIdentifierSpec(attr); err != nil { + if code, importSpec, err := tests.ParseIdentifierSpec(attr); err != nil { v.errs = append(v.errs, fmt.Errorf("%s: %w", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName), err)) continue } else { @@ -1125,28 +1092,6 @@ func generateTestConfig(g *common.Generator, dirPath, test string, tfTemplates * } } -func parseIdentifierSpec(s string) (string, *tests.GoImport, error) { - parts := strings.Split(s, ";") - switch len(parts) { - case 1: - return parts[0], nil, nil - - case 2: - return parts[1], &tests.GoImport{ - Path: parts[0], - }, nil - - case 3: - return parts[2], &tests.GoImport{ - Path: parts[0], - Alias: parts[1], - }, nil - - default: - return "", nil, fmt.Errorf("invalid generator value: %q", s) - } -} - func generateDurationStatement(d time.Duration) string { var buf strings.Builder diff --git a/internal/generate/tagstests/main.go b/internal/generate/tagstests/main.go index 4a599d0b9682..c25f10c0e361 100644 --- a/internal/generate/tagstests/main.go +++ b/internal/generate/tagstests/main.go @@ -386,8 +386,6 @@ type ResourceDatum struct { PackageProviderNameUpper string Name string TypeName string - ExistsTypeName string - ExistsTakesT bool FileName string Generator string NoImport bool @@ -521,10 +519,8 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { // Look first for tagging annotations. d := ResourceDatum{ - FileName: v.fileName, - CommonArgs: tests.CommonArgs{ - AdditionalTfVars_: make(map[string]tests.TFVar), - }, + FileName: v.fileName, + CommonArgs: tests.InitCommonArgs(), } tagged := false skip := false @@ -608,29 +604,10 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { } } - if attr, ok := args.Keyword["existsType"]; ok { - if typeName, importSpec, err := parseIdentifierSpec(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("%s: %w", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName), err)) - continue - } else { - d.ExistsTypeName = typeName - if importSpec != nil { - d.GoImports = append(d.GoImports, *importSpec) - } - } - } - if attr, ok := args.Keyword["existsTakesT"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid existsTakesT value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) - continue - } else { - d.ExistsTakesT = b - } - } if attr, ok := args.Keyword["generator"]; ok { if attr == "false" { generatorSeen = true - } else if funcName, importSpec, err := parseIdentifierSpec(attr); err != nil { + } else if funcName, importSpec, err := tests.ParseIdentifierSpec(attr); err != nil { v.errs = append(v.errs, fmt.Errorf("%s: %w", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName), err)) continue } else { @@ -669,7 +646,7 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { } } if attr, ok := args.Keyword["preCheck"]; ok { - if code, importSpec, err := parseIdentifierSpec(attr); err != nil { + if code, importSpec, err := tests.ParseIdentifierSpec(attr); err != nil { v.errs = append(v.errs, fmt.Errorf("%s: %w", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName), err)) continue } else { @@ -897,28 +874,6 @@ func generateTestConfig(g *common.Generator, dirPath, test string, withDefaults } } -func parseIdentifierSpec(s string) (string, *tests.GoImport, error) { - parts := strings.Split(s, ";") - switch len(parts) { - case 1: - return parts[0], nil, nil - - case 2: - return parts[1], &tests.GoImport{ - Path: parts[0], - }, nil - - case 3: - return parts[2], &tests.GoImport{ - Path: parts[0], - Alias: parts[1], - }, nil - - default: - return "", nil, fmt.Errorf("invalid generator value: %q", s) - } -} - func generateDurationStatement(d time.Duration) string { var buf strings.Builder diff --git a/internal/generate/tests/annotations.go b/internal/generate/tests/annotations.go index 6ef2fc89238e..f9998e2a7962 100644 --- a/internal/generate/tests/annotations.go +++ b/internal/generate/tests/annotations.go @@ -14,13 +14,27 @@ import ( ) type CommonArgs struct { - CheckDestroyNoop bool - DestroyTakesT bool + // CheckDestroy + CheckDestroyNoop bool + DestroyTakesT bool + + // CheckExists + HasExistsFunc bool + ExistsTypeName string + ExistsTakesT bool + GoImports []GoImport InitCodeBlocks []CodeBlock AdditionalTfVars_ map[string]TFVar } +func InitCommonArgs() CommonArgs { + return CommonArgs{ + AdditionalTfVars_: make(map[string]TFVar), + HasExistsFunc: true, + } +} + func (d CommonArgs) AdditionalTfVars() map[string]TFVar { return tfmaps.ApplyToAllKeys(d.AdditionalTfVars_, func(k string) string { return acctestgen.ConstOrQuote(k) @@ -49,6 +63,7 @@ const ( ) func ParseTestingAnnotations(args common.Args, stuff *CommonArgs) error { + // DestroyCheck if attr, ok := args.Keyword["checkDestroyNoop"]; ok { if b, err := strconv.ParseBool(attr); err != nil { return fmt.Errorf("invalid checkDestroyNoop value: %q: Should be boolean value.", attr) @@ -70,6 +85,35 @@ func ParseTestingAnnotations(args common.Args, stuff *CommonArgs) error { } } + // ExistsCheck + if attr, ok := args.Keyword["hasExistsFunction"]; ok { + if b, err := strconv.ParseBool(attr); err != nil { + return fmt.Errorf("invalid existsFunction value %q: Should be boolean value.", attr) + } else { + stuff.HasExistsFunc = b + } + } + + if attr, ok := args.Keyword["existsType"]; ok { + if typeName, importSpec, err := ParseIdentifierSpec(attr); err != nil { + return fmt.Errorf("%s: %w", attr, err) + } else { + stuff.ExistsTypeName = typeName + if importSpec != nil { + stuff.GoImports = append(stuff.GoImports, *importSpec) + } + } + } + + if attr, ok := args.Keyword["existsTakesT"]; ok { + if b, err := strconv.ParseBool(attr); err != nil { + return fmt.Errorf("invalid existsTakesT value %q: Should be boolean value.", attr) + } else { + stuff.ExistsTakesT = b + } + } + + // TF Variables if attr, ok := args.Keyword["emailAddress"]; ok { varName := "address" if len(attr) > 0 { @@ -184,3 +228,25 @@ if err != nil { return nil } + +func ParseIdentifierSpec(s string) (string, *GoImport, error) { + parts := strings.Split(s, ";") + switch len(parts) { + case 1: + return parts[0], nil, nil + + case 2: + return parts[1], &GoImport{ + Path: parts[0], + }, nil + + case 3: + return parts[2], &GoImport{ + Path: parts[0], + Alias: parts[1], + }, nil + + default: + return "", nil, fmt.Errorf("invalid generator value: %q", s) + } +} From 04b8ee6278df795fa673cb9efec3f6d4fd977c0c Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Tue, 29 Jul 2025 15:27:27 -0700 Subject: [PATCH 0082/1301] Moves `Import` handling --- internal/generate/identitytests/main.go | 88 +---------------------- internal/generate/tagstests/main.go | 37 ---------- internal/generate/tests/annotations.go | 93 ++++++++++++++++++++++++- 3 files changed, 92 insertions(+), 126 deletions(-) diff --git a/internal/generate/identitytests/main.go b/internal/generate/identitytests/main.go index 57820af72461..9a8fc925de9c 100644 --- a/internal/generate/identitytests/main.go +++ b/internal/generate/identitytests/main.go @@ -358,30 +358,6 @@ const ( implementationSDK implementation = "sdk" ) -type importAction int - -const ( - importActionNoop importAction = iota - importActionUpdate - importActionReplace -) - -func (i importAction) String() string { - switch i { - case importActionNoop: - return "NoOp" - - case importActionUpdate: - return "Update" - - case importActionReplace: - return "Replace" - - default: - return "" - } -} - type triBoolean uint const ( @@ -399,11 +375,6 @@ type ResourceDatum struct { FileName string Generator string idAttrDuplicates string // TODO: Remove. Still needed for Parameterized Identity - NoImport bool - ImportStateID string - importStateIDAttribute string - ImportStateIDFunc string - ImportIgnore []string Implementation implementation Serialize bool SerializeDelay bool @@ -425,7 +396,6 @@ type ResourceDatum struct { HasRegionOverrideTest bool UseAlternateAccount bool identityAttributes []identityAttribute - plannableImportAction importAction identityAttribute string IdentityDuplicateAttrs []string IDAttrFormat string @@ -444,14 +414,6 @@ func (d ResourceDatum) IDAttrDuplicates() string { return namesgen.ConstOrQuote(d.idAttrDuplicates) } -func (d ResourceDatum) HasImportStateIDAttribute() bool { - return d.importStateIDAttribute != "" -} - -func (d ResourceDatum) ImportStateIDAttribute() string { - return namesgen.ConstOrQuote(d.importStateIDAttribute) -} - func (d ResourceDatum) OverrideIdentifier() bool { return d.overrideIdentifierAttribute != "" } @@ -488,14 +450,6 @@ func (d ResourceDatum) HasInherentRegion() bool { return d.IsARNIdentity() || d.IsRegionalSingleton() } -func (d ResourceDatum) HasImportIgnore() bool { - return len(d.ImportIgnore) > 0 -} - -func (d ResourceDatum) PlannableResourceAction() string { - return d.plannableImportAction.String() -} - func (d ResourceDatum) IdentityAttribute() string { return namesgen.ConstOrQuote(d.identityAttribute) } @@ -612,7 +566,6 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { CommonArgs: tests.InitCommonArgs(), IsGlobal: false, HasRegionOverrideTest: true, - plannableImportAction: importActionNoop, PreIdentityVersion: version.Must(version.NewVersion("5.100.0")), } hasIdentity := false @@ -804,49 +757,10 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { }, ) } - if attr, ok := args.Keyword["importIgnore"]; ok { - d.ImportIgnore = strings.Split(attr, ";") - for i, val := range d.ImportIgnore { - d.ImportIgnore[i] = namesgen.ConstOrQuote(val) - } - d.plannableImportAction = importActionUpdate - } - if attr, ok := args.Keyword["importStateId"]; ok { - d.ImportStateID = attr - } - if attr, ok := args.Keyword["importStateIdAttribute"]; ok { - d.importStateIDAttribute = attr - } - if attr, ok := args.Keyword["importStateIdFunc"]; ok { - d.ImportStateIDFunc = attr - } + if attr, ok := args.Keyword["name"]; ok { d.Name = strings.ReplaceAll(attr, " ", "") } - if attr, ok := args.Keyword["noImport"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid noImport value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) - continue - } else { - d.NoImport = b - } - } - if attr, ok := args.Keyword["plannableImportAction"]; ok { - switch attr { - case importActionNoop.String(): - d.plannableImportAction = importActionNoop - - case importActionUpdate.String(): - d.plannableImportAction = importActionUpdate - - case importActionReplace.String(): - d.plannableImportAction = importActionReplace - - default: - v.errs = append(v.errs, fmt.Errorf("invalid plannableImportAction value: %q at %s. Must be one of %s.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName), []string{importActionNoop.String(), importActionUpdate.String(), importActionReplace.String()})) - continue - } - } if attr, ok := args.Keyword["preCheck"]; ok { if code, importSpec, err := tests.ParseIdentifierSpec(attr); err != nil { v.errs = append(v.errs, fmt.Errorf("%s: %w", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName), err)) diff --git a/internal/generate/tagstests/main.go b/internal/generate/tagstests/main.go index c25f10c0e361..417f5ce1a920 100644 --- a/internal/generate/tagstests/main.go +++ b/internal/generate/tagstests/main.go @@ -388,11 +388,6 @@ type ResourceDatum struct { TypeName string FileName string Generator string - NoImport bool - ImportStateID string - importStateIDAttribute string - ImportStateIDFunc string - ImportIgnore []string Implementation implementation Serialize bool SerializeDelay bool @@ -413,14 +408,6 @@ type ResourceDatum struct { tests.CommonArgs } -func (d ResourceDatum) HasImportStateIDAttribute() bool { - return d.importStateIDAttribute != "" -} - -func (d ResourceDatum) ImportStateIDAttribute() string { - return namesgen.ConstOrQuote(d.importStateIDAttribute) -} - func (d ResourceDatum) OverrideIdentifier() bool { return d.overrideIdentifierAttribute != "" } @@ -618,33 +605,9 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { generatorSeen = true } } - if attr, ok := args.Keyword["importIgnore"]; ok { - d.ImportIgnore = strings.Split(attr, ";") - - for i, val := range d.ImportIgnore { - d.ImportIgnore[i] = namesgen.ConstOrQuote(val) - } - } - if attr, ok := args.Keyword["importStateId"]; ok { - d.ImportStateID = attr - } - if attr, ok := args.Keyword["importStateIdAttribute"]; ok { - d.importStateIDAttribute = attr - } - if attr, ok := args.Keyword["importStateIdFunc"]; ok { - d.ImportStateIDFunc = attr - } if attr, ok := args.Keyword["name"]; ok { d.Name = strings.ReplaceAll(attr, " ", "") } - if attr, ok := args.Keyword["noImport"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid noImport value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) - continue - } else { - d.NoImport = b - } - } if attr, ok := args.Keyword["preCheck"]; ok { if code, importSpec, err := tests.ParseIdentifierSpec(attr); err != nil { v.errs = append(v.errs, fmt.Errorf("%s: %w", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName), err)) diff --git a/internal/generate/tests/annotations.go b/internal/generate/tests/annotations.go index f9998e2a7962..e4e5c3a2f7a5 100644 --- a/internal/generate/tests/annotations.go +++ b/internal/generate/tests/annotations.go @@ -11,6 +11,7 @@ import ( acctestgen "github.com/hashicorp/terraform-provider-aws/internal/acctest/generate" "github.com/hashicorp/terraform-provider-aws/internal/generate/common" tfmaps "github.com/hashicorp/terraform-provider-aws/internal/maps" + namesgen "github.com/hashicorp/terraform-provider-aws/names/generate" ) type CommonArgs struct { @@ -23,6 +24,14 @@ type CommonArgs struct { ExistsTypeName string ExistsTakesT bool + // Import + NoImport bool + ImportStateID string + importStateIDAttribute string + ImportStateIDFunc string + ImportIgnore []string + plannableImportAction importAction + GoImports []GoImport InitCodeBlocks []CodeBlock AdditionalTfVars_ map[string]TFVar @@ -35,12 +44,52 @@ func InitCommonArgs() CommonArgs { } } -func (d CommonArgs) AdditionalTfVars() map[string]TFVar { - return tfmaps.ApplyToAllKeys(d.AdditionalTfVars_, func(k string) string { +func (c CommonArgs) HasImportStateIDAttribute() bool { + return c.importStateIDAttribute != "" +} + +func (c CommonArgs) ImportStateIDAttribute() string { + return namesgen.ConstOrQuote(c.importStateIDAttribute) +} + +func (c CommonArgs) HasImportIgnore() bool { + return len(c.ImportIgnore) > 0 +} + +func (c CommonArgs) PlannableResourceAction() string { + return c.plannableImportAction.String() +} + +func (c CommonArgs) AdditionalTfVars() map[string]TFVar { + return tfmaps.ApplyToAllKeys(c.AdditionalTfVars_, func(k string) string { return acctestgen.ConstOrQuote(k) }) } +type importAction int + +const ( + importActionNoop importAction = iota + importActionUpdate + importActionReplace +) + +func (i importAction) String() string { + switch i { + case importActionNoop: + return "NoOp" + + case importActionUpdate: + return "Update" + + case importActionReplace: + return "Replace" + + default: + return "" + } +} + type GoImport struct { Path string Alias string @@ -113,6 +162,46 @@ func ParseTestingAnnotations(args common.Args, stuff *CommonArgs) error { } } + // Import + if attr, ok := args.Keyword["importIgnore"]; ok { + stuff.ImportIgnore = strings.Split(attr, ";") + for i, val := range stuff.ImportIgnore { + stuff.ImportIgnore[i] = namesgen.ConstOrQuote(val) + } + stuff.plannableImportAction = importActionUpdate + } + if attr, ok := args.Keyword["importStateId"]; ok { + stuff.ImportStateID = attr + } + if attr, ok := args.Keyword["importStateIdAttribute"]; ok { + stuff.importStateIDAttribute = attr + } + if attr, ok := args.Keyword["importStateIdFunc"]; ok { + stuff.ImportStateIDFunc = attr + } + if attr, ok := args.Keyword["noImport"]; ok { + if b, err := strconv.ParseBool(attr); err != nil { + return fmt.Errorf("invalid noImport value %q: Should be boolean value.", attr) + } else { + stuff.NoImport = b + } + } + if attr, ok := args.Keyword["plannableImportAction"]; ok { + switch attr { + case importActionNoop.String(): + stuff.plannableImportAction = importActionNoop + + case importActionUpdate.String(): + stuff.plannableImportAction = importActionUpdate + + case importActionReplace.String(): + stuff.plannableImportAction = importActionReplace + + default: + return fmt.Errorf("invalid plannableImportAction value %q: Must be one of %s.", attr, []string{importActionNoop.String(), importActionUpdate.String(), importActionReplace.String()}) + } + } + // TF Variables if attr, ok := args.Keyword["emailAddress"]; ok { varName := "address" From 0fb2ca1e63f1a5e0a3ec420370063248248e7e1d Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Tue, 29 Jul 2025 15:46:13 -0700 Subject: [PATCH 0083/1301] Moves `generator` --- internal/generate/identitytests/main.go | 18 ++++-------------- internal/generate/tagstests/main.go | 18 ++++-------------- internal/generate/tests/annotations.go | 19 +++++++++++++++++++ 3 files changed, 27 insertions(+), 28 deletions(-) diff --git a/internal/generate/identitytests/main.go b/internal/generate/identitytests/main.go index 9a8fc925de9c..9a128a1f6177 100644 --- a/internal/generate/identitytests/main.go +++ b/internal/generate/identitytests/main.go @@ -373,7 +373,6 @@ type ResourceDatum struct { Name string TypeName string FileName string - Generator string idAttrDuplicates string // TODO: Remove. Still needed for Parameterized Identity Implementation implementation Serialize bool @@ -732,20 +731,11 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { continue } - if attr, ok := args.Keyword["generator"]; ok { - if attr == "false" { - generatorSeen = true - } else if funcName, importSpec, err := tests.ParseIdentifierSpec(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("%s: %w", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName), err)) - continue - } else { - d.Generator = funcName - if importSpec != nil { - d.GoImports = append(d.GoImports, *importSpec) - } - generatorSeen = true - } + // This needs better handling + if _, ok := args.Keyword["generator"]; ok { + generatorSeen = true } + if attr, ok := args.Keyword["idAttrDuplicates"]; ok { d.idAttrDuplicates = attr d.GoImports = append(d.GoImports, diff --git a/internal/generate/tagstests/main.go b/internal/generate/tagstests/main.go index 417f5ce1a920..64605867243f 100644 --- a/internal/generate/tagstests/main.go +++ b/internal/generate/tagstests/main.go @@ -387,7 +387,6 @@ type ResourceDatum struct { Name string TypeName string FileName string - Generator string Implementation implementation Serialize bool SerializeDelay bool @@ -591,20 +590,11 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { } } - if attr, ok := args.Keyword["generator"]; ok { - if attr == "false" { - generatorSeen = true - } else if funcName, importSpec, err := tests.ParseIdentifierSpec(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("%s: %w", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName), err)) - continue - } else { - d.Generator = funcName - if importSpec != nil { - d.GoImports = append(d.GoImports, *importSpec) - } - generatorSeen = true - } + // This needs better handling + if _, ok := args.Keyword["generator"]; ok { + generatorSeen = true } + if attr, ok := args.Keyword["name"]; ok { d.Name = strings.ReplaceAll(attr, " ", "") } diff --git a/internal/generate/tests/annotations.go b/internal/generate/tests/annotations.go index e4e5c3a2f7a5..493c4b72a1f7 100644 --- a/internal/generate/tests/annotations.go +++ b/internal/generate/tests/annotations.go @@ -32,6 +32,8 @@ type CommonArgs struct { ImportIgnore []string plannableImportAction importAction + Generator string + GoImports []GoImport InitCodeBlocks []CodeBlock AdditionalTfVars_ map[string]TFVar @@ -170,15 +172,19 @@ func ParseTestingAnnotations(args common.Args, stuff *CommonArgs) error { } stuff.plannableImportAction = importActionUpdate } + if attr, ok := args.Keyword["importStateId"]; ok { stuff.ImportStateID = attr } + if attr, ok := args.Keyword["importStateIdAttribute"]; ok { stuff.importStateIDAttribute = attr } + if attr, ok := args.Keyword["importStateIdFunc"]; ok { stuff.ImportStateIDFunc = attr } + if attr, ok := args.Keyword["noImport"]; ok { if b, err := strconv.ParseBool(attr); err != nil { return fmt.Errorf("invalid noImport value %q: Should be boolean value.", attr) @@ -186,6 +192,7 @@ func ParseTestingAnnotations(args common.Args, stuff *CommonArgs) error { stuff.NoImport = b } } + if attr, ok := args.Keyword["plannableImportAction"]; ok { switch attr { case importActionNoop.String(): @@ -203,6 +210,18 @@ func ParseTestingAnnotations(args common.Args, stuff *CommonArgs) error { } // TF Variables + if attr, ok := args.Keyword["generator"]; ok { + if attr == "false" { + } else if funcName, importSpec, err := ParseIdentifierSpec(attr); err != nil { + return fmt.Errorf("%s: %w", attr, err) + } else { + stuff.Generator = funcName + if importSpec != nil { + stuff.GoImports = append(stuff.GoImports, *importSpec) + } + } + } + if attr, ok := args.Keyword["emailAddress"]; ok { varName := "address" if len(attr) > 0 { From fb2852eb90ef99f5406efa0b7ed5f4e13ef00834 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Tue, 29 Jul 2025 16:06:50 -0700 Subject: [PATCH 0084/1301] Moves testing name override --- internal/generate/identitytests/main.go | 4 ---- internal/generate/tagstests/main.go | 4 ---- internal/generate/tests/annotations.go | 6 ++++++ 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/internal/generate/identitytests/main.go b/internal/generate/identitytests/main.go index 9a128a1f6177..d5b2af5896e4 100644 --- a/internal/generate/identitytests/main.go +++ b/internal/generate/identitytests/main.go @@ -370,7 +370,6 @@ type ResourceDatum struct { ProviderPackage string ResourceProviderNameUpper string PackageProviderNameUpper string - Name string TypeName string FileName string idAttrDuplicates string // TODO: Remove. Still needed for Parameterized Identity @@ -748,9 +747,6 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { ) } - if attr, ok := args.Keyword["name"]; ok { - d.Name = strings.ReplaceAll(attr, " ", "") - } if attr, ok := args.Keyword["preCheck"]; ok { if code, importSpec, err := tests.ParseIdentifierSpec(attr); err != nil { v.errs = append(v.errs, fmt.Errorf("%s: %w", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName), err)) diff --git a/internal/generate/tagstests/main.go b/internal/generate/tagstests/main.go index 64605867243f..d75f606d629f 100644 --- a/internal/generate/tagstests/main.go +++ b/internal/generate/tagstests/main.go @@ -384,7 +384,6 @@ type ResourceDatum struct { ProviderPackage string ResourceProviderNameUpper string PackageProviderNameUpper string - Name string TypeName string FileName string Implementation implementation @@ -595,9 +594,6 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { generatorSeen = true } - if attr, ok := args.Keyword["name"]; ok { - d.Name = strings.ReplaceAll(attr, " ", "") - } if attr, ok := args.Keyword["preCheck"]; ok { if code, importSpec, err := tests.ParseIdentifierSpec(attr); err != nil { v.errs = append(v.errs, fmt.Errorf("%s: %w", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName), err)) diff --git a/internal/generate/tests/annotations.go b/internal/generate/tests/annotations.go index 493c4b72a1f7..4933cf60b688 100644 --- a/internal/generate/tests/annotations.go +++ b/internal/generate/tests/annotations.go @@ -15,6 +15,8 @@ import ( ) type CommonArgs struct { + Name string // Resource Type Name + // CheckDestroy CheckDestroyNoop bool DestroyTakesT bool @@ -114,6 +116,10 @@ const ( ) func ParseTestingAnnotations(args common.Args, stuff *CommonArgs) error { + if attr, ok := args.Keyword["name"]; ok { + stuff.Name = strings.ReplaceAll(attr, " ", "") + } + // DestroyCheck if attr, ok := args.Keyword["checkDestroyNoop"]; ok { if b, err := strconv.ParseBool(attr); err != nil { From 8eb5d891f664a4d145982df8363badf31fa32192 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Tue, 29 Jul 2025 16:20:24 -0700 Subject: [PATCH 0085/1301] Encapsulates bool attr parsing --- internal/generate/identitytests/main.go | 40 +++++++++++----------- internal/generate/tagstests/main.go | 45 ++++++++++++------------- internal/generate/tests/annotations.go | 28 +++++++++------ 3 files changed, 60 insertions(+), 53 deletions(-) diff --git a/internal/generate/identitytests/main.go b/internal/generate/identitytests/main.go index d5b2af5896e4..07003d16a5cb 100644 --- a/internal/generate/identitytests/main.go +++ b/internal/generate/identitytests/main.go @@ -675,8 +675,8 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { } if attr, ok := args.Keyword["global"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid global value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) + if b, err := tests.ParseBoolAttr("global", attr); err != nil { + v.errs = append(v.errs, err) continue } else { if b { @@ -715,8 +715,8 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { args := common.ParseArgs(m[3]) if attr, ok := args.Keyword["v60RefreshError"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid v60RefreshError value (%s): %s: %w", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName), err)) + if b, err := tests.ParseBoolAttr("v60RefreshError", attr); err != nil { + v.errs = append(v.errs, err) } else { d.HasV6_0RefreshError = b } @@ -785,8 +785,8 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { } } if attr, ok := args.Keyword["useAlternateAccount"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid useAlternateAccount value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) + if b, err := tests.ParseBoolAttr("useAlternateAccount", attr); err != nil { + v.errs = append(v.errs, err) continue } else if b { d.UseAlternateAccount = true @@ -796,24 +796,24 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { } } if attr, ok := args.Keyword["serialize"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid serialize value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) + if b, err := tests.ParseBoolAttr("serialize", attr); err != nil { + v.errs = append(v.errs, err) continue } else { d.Serialize = b } } if attr, ok := args.Keyword["serializeParallelTests"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid serializeParallelTests value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) + if b, err := tests.ParseBoolAttr("serializeParallelTests", attr); err != nil { + v.errs = append(v.errs, err) continue } else { d.SerializeParallelTests = b } } if attr, ok := args.Keyword["serializeDelay"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid serializeDelay value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) + if b, err := tests.ParseBoolAttr("serializeDelay", attr); err != nil { + v.errs = append(v.errs, err) continue } else { d.SerializeDelay = b @@ -834,23 +834,23 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { } } if attr, ok := args.Keyword["identityRegionOverrideTest"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid identityRegionOverrideTest value: %q at %s. Should be duration value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) + if b, err := tests.ParseBoolAttr("identityRegionOverrideTest", attr); err != nil { + v.errs = append(v.errs, err) continue } else { d.HasRegionOverrideTest = b } } if attr, ok := args.Keyword["v60NullValuesError"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid v60NullValuesError value (%s): %s: %w", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName), err)) + if b, err := tests.ParseBoolAttr("v60NullValuesError", attr); err != nil { + v.errs = append(v.errs, err) } else { d.HasV6_0NullValuesError = b } } if attr, ok := args.Keyword["v60RefreshError"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid v60RefreshError value (%s): %s: %w", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName), err)) + if b, err := tests.ParseBoolAttr("v60RefreshError", attr); err != nil { + v.errs = append(v.errs, err) } else { d.HasV6_0RefreshError = b } @@ -864,8 +864,8 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { d.PreIdentityVersion = version } if attr, ok := args.Keyword["tlsKey"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid tlsKey value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) + if b, err := tests.ParseBoolAttr("tlsKey", attr); err != nil { + v.errs = append(v.errs, err) continue } else { tlsKey = b diff --git a/internal/generate/tagstests/main.go b/internal/generate/tagstests/main.go index d75f606d629f..e4ffba336a85 100644 --- a/internal/generate/tagstests/main.go +++ b/internal/generate/tagstests/main.go @@ -19,7 +19,6 @@ import ( "path/filepath" "regexp" "slices" - "strconv" "strings" "text/template" "time" @@ -581,8 +580,8 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { } if attr, ok := args.Keyword["altRegionProvider"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid altRegionProvider value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) + if b, err := tests.ParseBoolAttr("altRegionProvider", attr); err != nil { + v.errs = append(v.errs, err) continue } else { d.AlternateRegionProvider = b @@ -621,8 +620,8 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { ) } if attr, ok := args.Keyword["useAlternateAccount"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid useAlternateAccount value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) + if b, err := tests.ParseBoolAttr("useAlternateAccount", attr); err != nil { + v.errs = append(v.errs, err) continue } else if b { d.UseAlternateAccount = true @@ -637,24 +636,24 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { } } if attr, ok := args.Keyword["serialize"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid serialize value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) + if b, err := tests.ParseBoolAttr("serialize", attr); err != nil { + v.errs = append(v.errs, err) continue } else { d.Serialize = b } } if attr, ok := args.Keyword["serializeParallelTests"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid serializeParallelTests value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) + if b, err := tests.ParseBoolAttr("serializeParallelTests", attr); err != nil { + v.errs = append(v.errs, err) continue } else { d.SerializeParallelTests = b } } if attr, ok := args.Keyword["serializeDelay"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid serializeDelay value: %q at %s. Should be duration value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) + if b, err := tests.ParseBoolAttr("serializeDelay", attr); err != nil { + v.errs = append(v.errs, err) continue } else { d.SerializeDelay = b @@ -683,48 +682,48 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { } // TODO: should probably be a parameter on @Tags if attr, ok := args.Keyword["tagsUpdateForceNew"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid tagsUpdateForceNew value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) + if b, err := tests.ParseBoolAttr("tagsUpdateForceNew", attr); err != nil { + v.errs = append(v.errs, err) continue } else { d.TagsUpdateForceNew = b } } if attr, ok := args.Keyword["tagsUpdateGetTagsIn"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid tagsUpdateGetTagsIn value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) + if b, err := tests.ParseBoolAttr("tagsUpdateGetTagsIn", attr); err != nil { + v.errs = append(v.errs, err) continue } else { d.TagsUpdateGetTagsIn = b } } if attr, ok := args.Keyword["skipEmptyTags"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid skipEmptyTags value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) + if b, err := tests.ParseBoolAttr("skipEmptyTags", attr); err != nil { + v.errs = append(v.errs, err) continue } else { d.SkipEmptyTags = b } } if attr, ok := args.Keyword["skipNullTags"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid skipNullTags value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) + if b, err := tests.ParseBoolAttr("skipNullTags", attr); err != nil { + v.errs = append(v.errs, err) continue } else { d.SkipNullTags = b } } if attr, ok := args.Keyword["noRemoveTags"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid noRemoveTags value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) + if b, err := tests.ParseBoolAttr("noRemoveTags", attr); err != nil { + v.errs = append(v.errs, err) continue } else { d.NoRemoveTags = b } } if attr, ok := args.Keyword["tlsKey"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("invalid tlsKey value: %q at %s. Should be boolean value.", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName))) + if b, err := tests.ParseBoolAttr("tlsKey", attr); err != nil { + v.errs = append(v.errs, err) continue } else { tlsKey = b diff --git a/internal/generate/tests/annotations.go b/internal/generate/tests/annotations.go index 4933cf60b688..801f65a64e67 100644 --- a/internal/generate/tests/annotations.go +++ b/internal/generate/tests/annotations.go @@ -122,8 +122,8 @@ func ParseTestingAnnotations(args common.Args, stuff *CommonArgs) error { // DestroyCheck if attr, ok := args.Keyword["checkDestroyNoop"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - return fmt.Errorf("invalid checkDestroyNoop value: %q: Should be boolean value.", attr) + if b, err := ParseBoolAttr("checkDestroyNoop", attr); err != nil { + return err } else { stuff.CheckDestroyNoop = b stuff.GoImports = append(stuff.GoImports, @@ -135,8 +135,8 @@ func ParseTestingAnnotations(args common.Args, stuff *CommonArgs) error { } if attr, ok := args.Keyword["destroyTakesT"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - return fmt.Errorf("invalid destroyTakesT value %q: Should be boolean value.", attr) + if b, err := ParseBoolAttr("destroyTakesT", attr); err != nil { + return err } else { stuff.DestroyTakesT = b } @@ -144,8 +144,8 @@ func ParseTestingAnnotations(args common.Args, stuff *CommonArgs) error { // ExistsCheck if attr, ok := args.Keyword["hasExistsFunction"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - return fmt.Errorf("invalid existsFunction value %q: Should be boolean value.", attr) + if b, err := ParseBoolAttr("hasExistsFunction", attr); err != nil { + return err } else { stuff.HasExistsFunc = b } @@ -163,8 +163,8 @@ func ParseTestingAnnotations(args common.Args, stuff *CommonArgs) error { } if attr, ok := args.Keyword["existsTakesT"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - return fmt.Errorf("invalid existsTakesT value %q: Should be boolean value.", attr) + if b, err := ParseBoolAttr("existsTakesT", attr); err != nil { + return err } else { stuff.ExistsTakesT = b } @@ -192,8 +192,8 @@ func ParseTestingAnnotations(args common.Args, stuff *CommonArgs) error { } if attr, ok := args.Keyword["noImport"]; ok { - if b, err := strconv.ParseBool(attr); err != nil { - return fmt.Errorf("invalid noImport value %q: Should be boolean value.", attr) + if b, err := ParseBoolAttr("noImport", attr); err != nil { + return err } else { stuff.NoImport = b } @@ -343,6 +343,14 @@ if err != nil { return nil } +func ParseBoolAttr(name, value string) (bool, error) { + if b, err := strconv.ParseBool(value); err != nil { + return b, fmt.Errorf("invalid %s value %q: Should be boolean value.", name, value) + } else { + return b, nil + } +} + func ParseIdentifierSpec(s string) (string, *GoImport, error) { parts := strings.Split(s, ";") switch len(parts) { From cd95fe04b58f5ced9efc5e82a244f49438a60f74 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Wed, 30 Jul 2025 22:31:02 -0700 Subject: [PATCH 0086/1301] Uses `GoImports` for `useAlternateAccount` --- internal/generate/identitytests/main.go | 5 +++++ internal/generate/identitytests/resource_test.go.gtpl | 3 --- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/internal/generate/identitytests/main.go b/internal/generate/identitytests/main.go index 07003d16a5cb..73ab3b9640b6 100644 --- a/internal/generate/identitytests/main.go +++ b/internal/generate/identitytests/main.go @@ -793,6 +793,11 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { d.PreChecks = append(d.PreChecks, codeBlock{ Code: "acctest.PreCheckAlternateAccount(t)", }) + d.GoImports = append(d.GoImports, + tests.GoImport{ + Path: "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema", + }, + ) } } if attr, ok := args.Keyword["serialize"]; ok { diff --git a/internal/generate/identitytests/resource_test.go.gtpl b/internal/generate/identitytests/resource_test.go.gtpl index cde6a8206b97..9939adcd961e 100644 --- a/internal/generate/identitytests/resource_test.go.gtpl +++ b/internal/generate/identitytests/resource_test.go.gtpl @@ -268,9 +268,6 @@ import ( {{- end }} "testing" - {{ if .UseAlternateAccount }} - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" - {{- end }} "github.com/hashicorp/terraform-plugin-testing/compare" "github.com/hashicorp/terraform-plugin-testing/config" "github.com/hashicorp/terraform-plugin-testing/helper/resource" From 48f2c662dcf3c5d0394763b5a9c42fb770f05939 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Tue, 29 Jul 2025 16:29:43 -0700 Subject: [PATCH 0087/1301] Moves serialization --- internal/generate/identitytests/main.go | 27 ---------------------- internal/generate/tagstests/main.go | 27 ---------------------- internal/generate/tests/annotations.go | 30 +++++++++++++++++++++++++ 3 files changed, 30 insertions(+), 54 deletions(-) diff --git a/internal/generate/identitytests/main.go b/internal/generate/identitytests/main.go index 73ab3b9640b6..2c249eb91a38 100644 --- a/internal/generate/identitytests/main.go +++ b/internal/generate/identitytests/main.go @@ -374,9 +374,6 @@ type ResourceDatum struct { FileName string idAttrDuplicates string // TODO: Remove. Still needed for Parameterized Identity Implementation implementation - Serialize bool - SerializeDelay bool - SerializeParallelTests bool PreChecks []codeBlock PreChecksWithRegion []codeBlock PreCheckRegions []string @@ -800,30 +797,6 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { ) } } - if attr, ok := args.Keyword["serialize"]; ok { - if b, err := tests.ParseBoolAttr("serialize", attr); err != nil { - v.errs = append(v.errs, err) - continue - } else { - d.Serialize = b - } - } - if attr, ok := args.Keyword["serializeParallelTests"]; ok { - if b, err := tests.ParseBoolAttr("serializeParallelTests", attr); err != nil { - v.errs = append(v.errs, err) - continue - } else { - d.SerializeParallelTests = b - } - } - if attr, ok := args.Keyword["serializeDelay"]; ok { - if b, err := tests.ParseBoolAttr("serializeDelay", attr); err != nil { - v.errs = append(v.errs, err) - continue - } else { - d.SerializeDelay = b - } - } if attr, ok := args.Keyword["identityTest"]; ok { switch attr { case "true": diff --git a/internal/generate/tagstests/main.go b/internal/generate/tagstests/main.go index e4ffba336a85..ad4d3293835a 100644 --- a/internal/generate/tagstests/main.go +++ b/internal/generate/tagstests/main.go @@ -386,9 +386,6 @@ type ResourceDatum struct { TypeName string FileName string Implementation implementation - Serialize bool - SerializeDelay bool - SerializeParallelTests bool PreChecks []codeBlock SkipEmptyTags bool // TODO: Remove when we have a strategy for resources that have a minimum tag value length of 1 SkipNullTags bool @@ -635,30 +632,6 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { ) } } - if attr, ok := args.Keyword["serialize"]; ok { - if b, err := tests.ParseBoolAttr("serialize", attr); err != nil { - v.errs = append(v.errs, err) - continue - } else { - d.Serialize = b - } - } - if attr, ok := args.Keyword["serializeParallelTests"]; ok { - if b, err := tests.ParseBoolAttr("serializeParallelTests", attr); err != nil { - v.errs = append(v.errs, err) - continue - } else { - d.SerializeParallelTests = b - } - } - if attr, ok := args.Keyword["serializeDelay"]; ok { - if b, err := tests.ParseBoolAttr("serializeDelay", attr); err != nil { - v.errs = append(v.errs, err) - continue - } else { - d.SerializeDelay = b - } - } if attr, ok := args.Keyword["tagsIdentifierAttribute"]; ok { d.overrideIdentifierAttribute = attr } diff --git a/internal/generate/tests/annotations.go b/internal/generate/tests/annotations.go index 801f65a64e67..c6475d09c333 100644 --- a/internal/generate/tests/annotations.go +++ b/internal/generate/tests/annotations.go @@ -34,6 +34,11 @@ type CommonArgs struct { ImportIgnore []string plannableImportAction importAction + // Serialization + Serialize bool + SerializeDelay bool + SerializeParallelTests bool + Generator string GoImports []GoImport @@ -215,6 +220,31 @@ func ParseTestingAnnotations(args common.Args, stuff *CommonArgs) error { } } + // Serialization + if attr, ok := args.Keyword["serialize"]; ok { + if b, err := ParseBoolAttr("serialize", attr); err != nil { + return err + } else { + stuff.Serialize = b + } + } + + if attr, ok := args.Keyword["serializeParallelTests"]; ok { + if b, err := ParseBoolAttr("serializeParallelTests", attr); err != nil { + return err + } else { + stuff.SerializeParallelTests = b + } + } + + if attr, ok := args.Keyword["serializeDelay"]; ok { + if b, err := ParseBoolAttr("serializeDelay", attr); err != nil { + return err + } else { + stuff.SerializeDelay = b + } + } + // TF Variables if attr, ok := args.Keyword["generator"]; ok { if attr == "false" { From 9bb9472c1f47e2a15ce44fbb934224831581d533 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Tue, 29 Jul 2025 17:19:15 -0700 Subject: [PATCH 0088/1301] Moves preChecks --- internal/generate/identitytests/main.go | 54 +----------------- .../identitytests/resource_test.go.gtpl | 8 +-- internal/generate/tagstests/main.go | 42 +------------- .../generate/tagstests/resource_test.go.gtpl | 8 ++- internal/generate/tests/annotations.go | 57 +++++++++++++++++++ 5 files changed, 70 insertions(+), 99 deletions(-) diff --git a/internal/generate/identitytests/main.go b/internal/generate/identitytests/main.go index 2c249eb91a38..942daa8b52b0 100644 --- a/internal/generate/identitytests/main.go +++ b/internal/generate/identitytests/main.go @@ -374,9 +374,6 @@ type ResourceDatum struct { FileName string idAttrDuplicates string // TODO: Remove. Still needed for Parameterized Identity Implementation implementation - PreChecks []codeBlock - PreChecksWithRegion []codeBlock - PreCheckRegions []string GenerateConfig bool overrideIdentifierAttribute string OverrideResourceType string @@ -744,50 +741,13 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { ) } - if attr, ok := args.Keyword["preCheck"]; ok { - if code, importSpec, err := tests.ParseIdentifierSpec(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("%s: %w", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName), err)) - continue - } else { - d.PreChecks = append(d.PreChecks, codeBlock{ - Code: fmt.Sprintf("%s(ctx, t)", code), - }) - if importSpec != nil { - d.GoImports = append(d.GoImports, *importSpec) - } - } - } - if attr, ok := args.Keyword["preCheckRegion"]; ok { - regions := strings.Split(attr, ";") - d.PreCheckRegions = tfslices.ApplyToAll(regions, func(s string) string { - return endpointsConstOrQuote(s) - }) - d.GoImports = append(d.GoImports, - tests.GoImport{ - Path: "github.com/hashicorp/aws-sdk-go-base/v2/endpoints", - }, - ) - } - if attr, ok := args.Keyword["preCheckWithRegion"]; ok { - if code, importSpec, err := tests.ParseIdentifierSpec(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("%s: %w", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName), err)) - continue - } else { - d.PreChecksWithRegion = append(d.PreChecks, codeBlock{ - Code: code, - }) - if importSpec != nil { - d.GoImports = append(d.GoImports, *importSpec) - } - } - } if attr, ok := args.Keyword["useAlternateAccount"]; ok { if b, err := tests.ParseBoolAttr("useAlternateAccount", attr); err != nil { v.errs = append(v.errs, err) continue } else if b { d.UseAlternateAccount = true - d.PreChecks = append(d.PreChecks, codeBlock{ + d.PreChecks = append(d.PreChecks, tests.CodeBlock{ Code: "acctest.PreCheckAlternateAccount(t)", }) d.GoImports = append(d.GoImports, @@ -999,15 +959,3 @@ func count[T any](s iter.Seq[T], f func(T) bool) (c int) { } return c } - -func endpointsConstOrQuote(region string) string { - var buf strings.Builder - buf.WriteString("endpoints.") - - for _, part := range strings.Split(region, "-") { - buf.WriteString(strings.Title(part)) - } - buf.WriteString("RegionID") - - return buf.String() -} diff --git a/internal/generate/identitytests/resource_test.go.gtpl b/internal/generate/identitytests/resource_test.go.gtpl index 9939adcd961e..7abeb6a3cea8 100644 --- a/internal/generate/identitytests/resource_test.go.gtpl +++ b/internal/generate/identitytests/resource_test.go.gtpl @@ -45,8 +45,8 @@ resource.{{ if and .Serialize (not .SerializeParallelTests) }}Test{{ else }}Para TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, - PreCheck: func() { acctest.PreCheck(ctx, t) - {{- if gt (len .PreCheckRegions) 0 }} + PreCheck: func() { acctest.PreCheck(ctx, t) + {{- if .PreCheckRegions }} acctest.PreCheckRegion(t, {{ range .PreCheckRegions}}{{ . }}, {{ end }}) {{- end -}} {{- range .PreChecks }} @@ -64,8 +64,8 @@ resource.{{ if and .Serialize (not .SerializeParallelTests) }}Test{{ else }}Para TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, -PreCheck: func() { acctest.PreCheck(ctx, t) - {{- if gt (len .PreCheckRegions) 0 }} +PreCheck: func() { acctest.PreCheck(ctx, t) + {{- if .PreCheckRegions }} acctest.PreCheckAlternateRegion(t, {{ range .PreCheckRegions}}{{ . }}, {{ end }}) {{- end -}} {{- range .PreChecks }} diff --git a/internal/generate/tagstests/main.go b/internal/generate/tagstests/main.go index ad4d3293835a..0634f4d60ace 100644 --- a/internal/generate/tagstests/main.go +++ b/internal/generate/tagstests/main.go @@ -27,7 +27,6 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/generate/common" "github.com/hashicorp/terraform-provider-aws/internal/generate/tests" tfmaps "github.com/hashicorp/terraform-provider-aws/internal/maps" - tfslices "github.com/hashicorp/terraform-provider-aws/internal/slices" "github.com/hashicorp/terraform-provider-aws/names/data" namesgen "github.com/hashicorp/terraform-provider-aws/names/generate" ) @@ -386,7 +385,6 @@ type ResourceDatum struct { TypeName string FileName string Implementation implementation - PreChecks []codeBlock SkipEmptyTags bool // TODO: Remove when we have a strategy for resources that have a minimum tag value length of 1 SkipNullTags bool NoRemoveTags bool @@ -590,39 +588,13 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { generatorSeen = true } - if attr, ok := args.Keyword["preCheck"]; ok { - if code, importSpec, err := tests.ParseIdentifierSpec(attr); err != nil { - v.errs = append(v.errs, fmt.Errorf("%s: %w", attr, fmt.Sprintf("%s.%s", v.packageName, v.functionName), err)) - continue - } else { - d.PreChecks = append(d.PreChecks, codeBlock{ - Code: fmt.Sprintf("%s(ctx, t)", code), - }) - if importSpec != nil { - d.GoImports = append(d.GoImports, *importSpec) - } - } - } - if attr, ok := args.Keyword["preCheckRegion"]; ok { - regions := strings.Split(attr, ";") - d.PreChecks = append(d.PreChecks, codeBlock{ - Code: fmt.Sprintf("acctest.PreCheckRegion(t, %s)", strings.Join(tfslices.ApplyToAll(regions, func(s string) string { - return endpointsConstOrQuote(s) - }), ", ")), - }) - d.GoImports = append(d.GoImports, - tests.GoImport{ - Path: "github.com/hashicorp/aws-sdk-go-base/v2/endpoints", - }, - ) - } if attr, ok := args.Keyword["useAlternateAccount"]; ok { if b, err := tests.ParseBoolAttr("useAlternateAccount", attr); err != nil { v.errs = append(v.errs, err) continue } else if b { d.UseAlternateAccount = true - d.PreChecks = append(d.PreChecks, codeBlock{ + d.PreChecks = append(d.PreChecks, tests.CodeBlock{ Code: "acctest.PreCheckAlternateAccount(t)", }) d.GoImports = append(d.GoImports, @@ -824,15 +796,3 @@ func count[T any](s iter.Seq[T], f func(T) bool) (c int) { } return c } - -func endpointsConstOrQuote(region string) string { - var buf strings.Builder - buf.WriteString("endpoints.") - - for _, part := range strings.Split(region, "-") { - buf.WriteString(strings.Title(part)) - } - buf.WriteString("RegionID") - - return buf.String() -} diff --git a/internal/generate/tagstests/resource_test.go.gtpl b/internal/generate/tagstests/resource_test.go.gtpl index 85ed7b5d8d70..e3db3e2fe510 100644 --- a/internal/generate/tagstests/resource_test.go.gtpl +++ b/internal/generate/tagstests/resource_test.go.gtpl @@ -28,10 +28,16 @@ acctest.{{ if and .Serialize (not .SerializeParallelTests) }}Test{{ else }}Paral {{- end }} {{ define "TestCaseSetupNoProviders" -}} - PreCheck: func() { acctest.PreCheck(ctx, t) + PreCheck: func() { acctest.PreCheck(ctx, t) + {{- if .PreCheckRegions }} + acctest.PreCheckRegion(t, {{ range .PreCheckRegions}}{{ . }}, {{ end }}) + {{- end -}} {{- range .PreChecks }} {{ .Code }} {{- end -}} + {{- range .PreChecksWithRegion }} + {{ .Code }}(ctx, t, acctest.Region()) + {{- end -}} }, ErrorCheck: acctest.ErrorCheck(t, names.{{ .PackageProviderNameUpper }}ServiceID), CheckDestroy: {{ if .CheckDestroyNoop }}acctest.CheckDestroyNoop{{ else }}testAccCheck{{ .Name }}Destroy(ctx{{ if .DestroyTakesT }}, t{{ end }}){{ end }}, diff --git a/internal/generate/tests/annotations.go b/internal/generate/tests/annotations.go index c6475d09c333..f7b9c791c8e7 100644 --- a/internal/generate/tests/annotations.go +++ b/internal/generate/tests/annotations.go @@ -11,6 +11,7 @@ import ( acctestgen "github.com/hashicorp/terraform-provider-aws/internal/acctest/generate" "github.com/hashicorp/terraform-provider-aws/internal/generate/common" tfmaps "github.com/hashicorp/terraform-provider-aws/internal/maps" + tfslices "github.com/hashicorp/terraform-provider-aws/internal/slices" namesgen "github.com/hashicorp/terraform-provider-aws/names/generate" ) @@ -39,6 +40,11 @@ type CommonArgs struct { SerializeDelay bool SerializeParallelTests bool + // PreChecks + PreChecks []CodeBlock + PreCheckRegions []string + PreChecksWithRegion []CodeBlock + Generator string GoImports []GoImport @@ -245,6 +251,45 @@ func ParseTestingAnnotations(args common.Args, stuff *CommonArgs) error { } } + // PreChecks + if attr, ok := args.Keyword["preCheck"]; ok { + if code, importSpec, err := ParseIdentifierSpec(attr); err != nil { + return fmt.Errorf("%s: %w", attr, err) + } else { + stuff.PreChecks = append(stuff.PreChecks, CodeBlock{ + Code: fmt.Sprintf("%s(ctx, t)", code), + }) + if importSpec != nil { + stuff.GoImports = append(stuff.GoImports, *importSpec) + } + } + } + + if attr, ok := args.Keyword["preCheckRegion"]; ok { + regions := strings.Split(attr, ";") + stuff.PreCheckRegions = tfslices.ApplyToAll(regions, func(s string) string { + return endpointsConstOrQuote(s) + }) + stuff.GoImports = append(stuff.GoImports, + GoImport{ + Path: "github.com/hashicorp/aws-sdk-go-base/v2/endpoints", + }, + ) + } + + if attr, ok := args.Keyword["preCheckWithRegion"]; ok { + if code, importSpec, err := ParseIdentifierSpec(attr); err != nil { + return fmt.Errorf("%s: %w", attr, err) + } else { + stuff.PreChecksWithRegion = append(stuff.PreChecksWithRegion, CodeBlock{ + Code: code, + }) + if importSpec != nil { + stuff.GoImports = append(stuff.GoImports, *importSpec) + } + } + } + // TF Variables if attr, ok := args.Keyword["generator"]; ok { if attr == "false" { @@ -402,3 +447,15 @@ func ParseIdentifierSpec(s string) (string, *GoImport, error) { return "", nil, fmt.Errorf("invalid generator value: %q", s) } } + +func endpointsConstOrQuote(region string) string { + var buf strings.Builder + buf.WriteString("endpoints.") + + for _, part := range strings.Split(region, "-") { + buf.WriteString(strings.Title(part)) + } + buf.WriteString("RegionID") + + return buf.String() +} From 029ed99ef89965057480c7b64018fd4517d921cb Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Tue, 29 Jul 2025 17:41:58 -0700 Subject: [PATCH 0089/1301] Moves required envvars --- internal/generate/identitytests/main.go | 5 ----- internal/generate/tests/annotations.go | 6 ++++++ 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/internal/generate/identitytests/main.go b/internal/generate/identitytests/main.go index 942daa8b52b0..cfca70ba6f27 100644 --- a/internal/generate/identitytests/main.go +++ b/internal/generate/identitytests/main.go @@ -393,7 +393,6 @@ type ResourceDatum struct { IDAttrFormat string HasV6_0NullValuesError bool HasV6_0RefreshError bool - RequiredEnvVars []string PreIdentityVersion *version.Version tests.CommonArgs } @@ -812,10 +811,6 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { if attr, ok := args.Keyword["tlsKeyDomain"]; ok { tlsKeyCN = attr } - - if attr, ok := args.Keyword["requireEnvVar"]; ok { - d.RequiredEnvVars = append(d.RequiredEnvVars, attr) - } } } } diff --git a/internal/generate/tests/annotations.go b/internal/generate/tests/annotations.go index f7b9c791c8e7..c7b1c7fd6c13 100644 --- a/internal/generate/tests/annotations.go +++ b/internal/generate/tests/annotations.go @@ -47,6 +47,8 @@ type CommonArgs struct { Generator string + RequiredEnvVars []string + GoImports []GoImport InitCodeBlocks []CodeBlock AdditionalTfVars_ map[string]TFVar @@ -290,6 +292,10 @@ func ParseTestingAnnotations(args common.Args, stuff *CommonArgs) error { } } + if attr, ok := args.Keyword["requireEnvVar"]; ok { + stuff.RequiredEnvVars = append(stuff.RequiredEnvVars, attr) + } + // TF Variables if attr, ok := args.Keyword["generator"]; ok { if attr == "false" { From a40bd487c8fc643d9836fcf77302571a5996f9ba Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Tue, 29 Jul 2025 19:19:22 -0700 Subject: [PATCH 0090/1301] Moves `TypeName` --- internal/generate/identitytests/main.go | 1 - internal/generate/tagstests/main.go | 1 - internal/generate/tests/annotations.go | 3 ++- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/internal/generate/identitytests/main.go b/internal/generate/identitytests/main.go index cfca70ba6f27..60042dc96d51 100644 --- a/internal/generate/identitytests/main.go +++ b/internal/generate/identitytests/main.go @@ -370,7 +370,6 @@ type ResourceDatum struct { ProviderPackage string ResourceProviderNameUpper string PackageProviderNameUpper string - TypeName string FileName string idAttrDuplicates string // TODO: Remove. Still needed for Parameterized Identity Implementation implementation diff --git a/internal/generate/tagstests/main.go b/internal/generate/tagstests/main.go index 0634f4d60ace..119a008064d7 100644 --- a/internal/generate/tagstests/main.go +++ b/internal/generate/tagstests/main.go @@ -382,7 +382,6 @@ type ResourceDatum struct { ProviderPackage string ResourceProviderNameUpper string PackageProviderNameUpper string - TypeName string FileName string Implementation implementation SkipEmptyTags bool // TODO: Remove when we have a strategy for resources that have a minimum tag value length of 1 diff --git a/internal/generate/tests/annotations.go b/internal/generate/tests/annotations.go index c7b1c7fd6c13..548e84e3397f 100644 --- a/internal/generate/tests/annotations.go +++ b/internal/generate/tests/annotations.go @@ -16,7 +16,8 @@ import ( ) type CommonArgs struct { - Name string // Resource Type Name + Name string // Resource Type Name + TypeName string // Terraform Type Name // CheckDestroy CheckDestroyNoop bool From 30a2165ad5209c4ba56ca445454b83719df5f7b2 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Tue, 29 Jul 2025 19:19:34 -0700 Subject: [PATCH 0091/1301] Removes unused functions --- internal/generate/identitytests/main.go | 32 ------------------------- internal/generate/tagstests/main.go | 22 ----------------- 2 files changed, 54 deletions(-) diff --git a/internal/generate/identitytests/main.go b/internal/generate/identitytests/main.go index 60042dc96d51..189ef261ed94 100644 --- a/internal/generate/identitytests/main.go +++ b/internal/generate/identitytests/main.go @@ -13,7 +13,6 @@ import ( "go/ast" "go/parser" "go/token" - "iter" "os" "path" "path/filepath" @@ -22,7 +21,6 @@ import ( "strconv" "strings" "text/template" - "time" "github.com/dlclark/regexp2" "github.com/hashicorp/go-version" @@ -923,33 +921,3 @@ func generateTestConfig(g *common.Generator, dirPath, test string, tfTemplates * g.Fatalf("generating file (%s): %s", mainPath, err) } } - -func generateDurationStatement(d time.Duration) string { - var buf strings.Builder - - d = d.Round(1 * time.Second) - - if d >= time.Minute { - mins := d / time.Minute - fmt.Fprintf(&buf, "%d*time.Minute", mins) - d = d - mins*time.Minute - if d != 0 { - fmt.Fprint(&buf, "+") - } - } - if d != 0 { - secs := d / time.Second - fmt.Fprintf(&buf, "%d*time.Second", secs) - } - - return buf.String() -} - -func count[T any](s iter.Seq[T], f func(T) bool) (c int) { - for v := range s { - if f(v) { - c++ - } - } - return c -} diff --git a/internal/generate/tagstests/main.go b/internal/generate/tagstests/main.go index 119a008064d7..7da788c11e18 100644 --- a/internal/generate/tagstests/main.go +++ b/internal/generate/tagstests/main.go @@ -21,7 +21,6 @@ import ( "slices" "strings" "text/template" - "time" "github.com/dlclark/regexp2" "github.com/hashicorp/terraform-provider-aws/internal/generate/common" @@ -766,27 +765,6 @@ func generateTestConfig(g *common.Generator, dirPath, test string, withDefaults } } -func generateDurationStatement(d time.Duration) string { - var buf strings.Builder - - d = d.Round(1 * time.Second) - - if d >= time.Minute { - mins := d / time.Minute - fmt.Fprintf(&buf, "%d*time.Minute", mins) - d = d - mins*time.Minute - if d != 0 { - fmt.Fprint(&buf, "+") - } - } - if d != 0 { - secs := d / time.Second - fmt.Fprintf(&buf, "%d*time.Second", secs) - } - - return buf.String() -} - func count[T any](s iter.Seq[T], f func(T) bool) (c int) { for v := range s { if f(v) { From 5ef8f6acb67050985912b2441b822a29ca86f964 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Tue, 29 Jul 2025 19:32:00 -0700 Subject: [PATCH 0092/1301] Removes unused parameters --- internal/generate/identitytests/main.go | 58 ++++++++----------- .../identitytests/resource_test.go.gtpl | 7 --- 2 files changed, 24 insertions(+), 41 deletions(-) diff --git a/internal/generate/identitytests/main.go b/internal/generate/identitytests/main.go index 189ef261ed94..627360fc7376 100644 --- a/internal/generate/identitytests/main.go +++ b/internal/generate/identitytests/main.go @@ -365,32 +365,30 @@ const ( ) type ResourceDatum struct { - ProviderPackage string - ResourceProviderNameUpper string - PackageProviderNameUpper string - FileName string - idAttrDuplicates string // TODO: Remove. Still needed for Parameterized Identity - Implementation implementation - GenerateConfig bool - overrideIdentifierAttribute string - OverrideResourceType string - ARNNamespace string - ARNFormat string - arnAttribute string - isARNFormatGlobal triBoolean - ArnIdentity bool - MutableIdentity bool - IsGlobal bool - isSingleton bool - HasRegionOverrideTest bool - UseAlternateAccount bool - identityAttributes []identityAttribute - identityAttribute string - IdentityDuplicateAttrs []string - IDAttrFormat string - HasV6_0NullValuesError bool - HasV6_0RefreshError bool - PreIdentityVersion *version.Version + ProviderPackage string + ResourceProviderNameUpper string + PackageProviderNameUpper string + FileName string + idAttrDuplicates string // TODO: Remove. Still needed for Parameterized Identity + Implementation implementation + GenerateConfig bool + ARNNamespace string + ARNFormat string + arnAttribute string + isARNFormatGlobal triBoolean + ArnIdentity bool + MutableIdentity bool + IsGlobal bool + isSingleton bool + HasRegionOverrideTest bool + UseAlternateAccount bool + identityAttributes []identityAttribute + identityAttribute string + IdentityDuplicateAttrs []string + IDAttrFormat string + HasV6_0NullValuesError bool + HasV6_0RefreshError bool + PreIdentityVersion *version.Version tests.CommonArgs } @@ -402,14 +400,6 @@ func (d ResourceDatum) IDAttrDuplicates() string { return namesgen.ConstOrQuote(d.idAttrDuplicates) } -func (d ResourceDatum) OverrideIdentifier() bool { - return d.overrideIdentifierAttribute != "" -} - -func (d ResourceDatum) OverrideIdentifierAttribute() string { - return namesgen.ConstOrQuote(d.overrideIdentifierAttribute) -} - func (d ResourceDatum) IsARNIdentity() bool { return d.ArnIdentity } diff --git a/internal/generate/identitytests/resource_test.go.gtpl b/internal/generate/identitytests/resource_test.go.gtpl index 7abeb6a3cea8..e9063739e444 100644 --- a/internal/generate/identitytests/resource_test.go.gtpl +++ b/internal/generate/identitytests/resource_test.go.gtpl @@ -263,9 +263,6 @@ ImportPlanChecks: resource.ImportPlanChecks{ package {{ .ProviderPackage }}_test import ( - {{ if .OverrideIdentifier }} - "context" - {{- end }} "testing" "github.com/hashicorp/terraform-plugin-testing/compare" @@ -280,10 +277,6 @@ import ( tfknownvalue "github.com/hashicorp/terraform-provider-aws/internal/acctest/knownvalue" tfstatecheck "github.com/hashicorp/terraform-provider-aws/internal/acctest/statecheck" "github.com/hashicorp/terraform-provider-aws/names" - {{- if .OverrideIdentifier }} - tf{{ .ProviderPackage }} "github.com/hashicorp/terraform-provider-aws/internal/service/{{ .ProviderPackage }}" - "github.com/hashicorp/terraform-provider-aws/internal/types" - {{- end }} {{ range .GoImports -}} {{ if .Alias }}{{ .Alias }} {{ end }}"{{ .Path }}" {{ end }} From 7f68237a364ddf09432b72a13f574137a936d4f4 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Wed, 30 Jul 2025 11:14:09 -0700 Subject: [PATCH 0093/1301] Moves `Implementation` --- internal/generate/identitytests/main.go | 14 +++----------- internal/generate/tagstests/main.go | 14 +++----------- internal/generate/tests/annotations.go | 12 ++++++++++-- 3 files changed, 16 insertions(+), 24 deletions(-) diff --git a/internal/generate/identitytests/main.go b/internal/generate/identitytests/main.go index 627360fc7376..c4c8f9798650 100644 --- a/internal/generate/identitytests/main.go +++ b/internal/generate/identitytests/main.go @@ -349,13 +349,6 @@ func (sr serviceRecords) ARNNamespace() string { return sr.primary.ARNNamespace() } -type implementation string - -const ( - implementationFramework implementation = "framework" - implementationSDK implementation = "sdk" -) - type triBoolean uint const ( @@ -370,7 +363,6 @@ type ResourceDatum struct { PackageProviderNameUpper string FileName string idAttrDuplicates string // TODO: Remove. Still needed for Parameterized Identity - Implementation implementation GenerateConfig bool ARNNamespace string ARNFormat string @@ -561,7 +553,7 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { break case "FrameworkResource": - d.Implementation = implementationFramework + d.Implementation = tests.ImplementationFramework args := common.ParseArgs(m[3]) if len(args.Positional) == 0 { v.errs = append(v.errs, fmt.Errorf("no type name: %s", fmt.Sprintf("%s.%s", v.packageName, v.functionName))) @@ -578,7 +570,7 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { break case "SDKResource": - d.Implementation = implementationSDK + d.Implementation = tests.ImplementationSDK args := common.ParseArgs(m[3]) if len(args.Positional) == 0 { v.errs = append(v.errs, fmt.Errorf("no type name: %s", fmt.Sprintf("%s.%s", v.packageName, v.functionName))) @@ -607,7 +599,7 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { if attr, ok := args.Keyword["identityDuplicateAttributes"]; ok { attrs = strings.Split(attr, ";") } - if d.Implementation == implementationSDK { + if d.Implementation == tests.ImplementationSDK { attrs = append(attrs, "id") } slices.Sort(attrs) diff --git a/internal/generate/tagstests/main.go b/internal/generate/tagstests/main.go index 7da788c11e18..c74d626f6a47 100644 --- a/internal/generate/tagstests/main.go +++ b/internal/generate/tagstests/main.go @@ -370,19 +370,11 @@ func (sr serviceRecords) PackageProviderNameUpper() string { return sr.primary.ProviderNameUpper() } -type implementation string - -const ( - implementationFramework implementation = "framework" - implementationSDK implementation = "sdk" -) - type ResourceDatum struct { ProviderPackage string ResourceProviderNameUpper string PackageProviderNameUpper string FileName string - Implementation implementation SkipEmptyTags bool // TODO: Remove when we have a strategy for resources that have a minimum tag value length of 1 SkipNullTags bool NoRemoveTags bool @@ -391,7 +383,7 @@ type ResourceDatum struct { TagsUpdateForceNew bool TagsUpdateGetTagsIn bool // TODO: Works around a bug when getTagsIn() is used to pass tags directly to Update call IsDataSource bool - DataSourceResourceImplementation implementation + DataSourceResourceImplementation tests.Implementation overrideIdentifierAttribute string OverrideResourceType string UseAlternateAccount bool @@ -516,7 +508,7 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { fallthrough case "FrameworkResource": - d.Implementation = implementationFramework + d.Implementation = tests.ImplementationFramework args := common.ParseArgs(m[3]) if len(args.Positional) == 0 { v.errs = append(v.errs, fmt.Errorf("no type name: %s", fmt.Sprintf("%s.%s", v.packageName, v.functionName))) @@ -534,7 +526,7 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { fallthrough case "SDKResource": - d.Implementation = implementationSDK + d.Implementation = tests.ImplementationSDK args := common.ParseArgs(m[3]) if len(args.Positional) == 0 { v.errs = append(v.errs, fmt.Errorf("no type name: %s", fmt.Sprintf("%s.%s", v.packageName, v.functionName))) diff --git a/internal/generate/tests/annotations.go b/internal/generate/tests/annotations.go index 548e84e3397f..94f8078041e1 100644 --- a/internal/generate/tests/annotations.go +++ b/internal/generate/tests/annotations.go @@ -15,9 +15,17 @@ import ( namesgen "github.com/hashicorp/terraform-provider-aws/names/generate" ) +type Implementation string + +const ( + ImplementationFramework Implementation = "framework" + ImplementationSDK Implementation = "sdk" +) + type CommonArgs struct { - Name string // Resource Type Name - TypeName string // Terraform Type Name + Name string // Resource Type Name + TypeName string // Terraform Type Name + Implementation Implementation // CheckDestroy CheckDestroyNoop bool From 6f3f3253626887917accb6c34857973f6129745c Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Wed, 30 Jul 2025 11:25:57 -0700 Subject: [PATCH 0094/1301] Removes unused struct --- internal/generate/identitytests/main.go | 4 ---- internal/generate/tagstests/main.go | 4 ---- 2 files changed, 8 deletions(-) diff --git a/internal/generate/identitytests/main.go b/internal/generate/identitytests/main.go index c4c8f9798650..5151b37aa7d8 100644 --- a/internal/generate/identitytests/main.go +++ b/internal/generate/identitytests/main.go @@ -445,10 +445,6 @@ func (i identityAttribute) Name() string { return namesgen.ConstOrQuote(i.name) } -type codeBlock struct { - Code string -} - type commonConfig struct { AdditionalTfVars []string WithRName bool diff --git a/internal/generate/tagstests/main.go b/internal/generate/tagstests/main.go index c74d626f6a47..aaedd67f1c7f 100644 --- a/internal/generate/tagstests/main.go +++ b/internal/generate/tagstests/main.go @@ -398,10 +398,6 @@ func (d ResourceDatum) OverrideIdentifierAttribute() string { return namesgen.ConstOrQuote(d.overrideIdentifierAttribute) } -type codeBlock struct { - Code string -} - type commonConfig struct { AdditionalTfVars []string WithRName bool From 8dc8f7d30ad844e8f4e0c2f21206889dbe008727 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Wed, 30 Jul 2025 11:30:21 -0700 Subject: [PATCH 0095/1301] Renames `AddCommonTemplates` to `AddCommonTfTemplates` --- internal/generate/identitytests/main.go | 2 +- internal/generate/tagstests/main.go | 4 ++-- internal/generate/tests/{common.go => templates.go} | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) rename internal/generate/tests/{common.go => templates.go} (80%) diff --git a/internal/generate/identitytests/main.go b/internal/generate/identitytests/main.go index 5151b37aa7d8..a3e6a55d1436 100644 --- a/internal/generate/identitytests/main.go +++ b/internal/generate/identitytests/main.go @@ -190,7 +190,7 @@ func main() { g.Fatalf("parsing base Terraform config template: %s", err) } - tfTemplates, err = tests.AddCommonTemplates(tfTemplates) + tfTemplates, err = tests.AddCommonTfTemplates(tfTemplates) if err != nil { g.Fatalf(err.Error()) } diff --git a/internal/generate/tagstests/main.go b/internal/generate/tagstests/main.go index aaedd67f1c7f..e9f25b9147c3 100644 --- a/internal/generate/tagstests/main.go +++ b/internal/generate/tagstests/main.go @@ -178,7 +178,7 @@ func main() { g.Fatalf("parsing base Terraform config template: %s", err) } - tfTemplates, err = tests.AddCommonTemplates(tfTemplates) + tfTemplates, err = tests.AddCommonTfTemplates(tfTemplates) if err != nil { g.Fatalf(err.Error()) } @@ -243,7 +243,7 @@ func main() { g.Fatalf("parsing base Terraform config template: %s", err) } - tfTemplates, err = tests.AddCommonTemplates(tfTemplates) + tfTemplates, err = tests.AddCommonTfTemplates(tfTemplates) if err != nil { g.Fatalf(err.Error()) } diff --git a/internal/generate/tests/common.go b/internal/generate/tests/templates.go similarity index 80% rename from internal/generate/tests/common.go rename to internal/generate/tests/templates.go index 68994c6e567b..8ed39319b269 100644 --- a/internal/generate/tests/common.go +++ b/internal/generate/tests/templates.go @@ -12,7 +12,7 @@ import ( //go:embed acctest.tf.gtpl var acctestTfTmpl string -func AddCommonTemplates(template *template.Template) (*template.Template, error) { +func AddCommonTfTemplates(template *template.Template) (*template.Template, error) { result, err := template.Parse(acctestTfTmpl) if err != nil { return nil, fmt.Errorf("parsing common \"acctest.tf.gtpl\" config template: %s", err) From 007abbd06abb3c0dd1a8ffa46d54473e6dedb223 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Wed, 30 Jul 2025 11:54:31 -0700 Subject: [PATCH 0096/1301] Uses shared `serviceRecords` for resources --- internal/generate/identitytests/main.go | 74 ++++++++++++++----------- internal/generate/tagstests/main.go | 30 ++++++---- 2 files changed, 61 insertions(+), 43 deletions(-) diff --git a/internal/generate/identitytests/main.go b/internal/generate/identitytests/main.go index a3e6a55d1436..015f3cec151a 100644 --- a/internal/generate/identitytests/main.go +++ b/internal/generate/identitytests/main.go @@ -95,20 +95,13 @@ func main() { } for _, resource := range v.identityResources { + resource.service = &svc + sourceName := resource.FileName ext := filepath.Ext(sourceName) sourceName = strings.TrimSuffix(sourceName, ext) sourceName = strings.TrimSuffix(sourceName, "_") - if name, err := svc.ProviderNameUpper(resource.TypeName); err != nil { - g.Fatalf("determining provider service name: %w", err) - } else { - resource.ResourceProviderNameUpper = name - } - resource.PackageProviderNameUpper = svc.PackageProviderNameUpper() - resource.ProviderPackage = servicePackage - resource.ARNNamespace = svc.ARNNamespace() - if svc.primary.IsGlobal() { resource.IsGlobal = true } @@ -288,6 +281,10 @@ type serviceRecords struct { additional []data.ServiceRecord } +func (sr serviceRecords) ProviderPackage() string { + return sr.primary.ProviderPackage() +} + func (sr serviceRecords) ProviderNameUpper(typeName string) (string, error) { if len(sr.additional) == 0 { return sr.primary.ProviderNameUpper(), nil @@ -358,32 +355,45 @@ const ( ) type ResourceDatum struct { - ProviderPackage string - ResourceProviderNameUpper string - PackageProviderNameUpper string - FileName string - idAttrDuplicates string // TODO: Remove. Still needed for Parameterized Identity - GenerateConfig bool - ARNNamespace string - ARNFormat string - arnAttribute string - isARNFormatGlobal triBoolean - ArnIdentity bool - MutableIdentity bool - IsGlobal bool - isSingleton bool - HasRegionOverrideTest bool - UseAlternateAccount bool - identityAttributes []identityAttribute - identityAttribute string - IdentityDuplicateAttrs []string - IDAttrFormat string - HasV6_0NullValuesError bool - HasV6_0RefreshError bool - PreIdentityVersion *version.Version + service *serviceRecords + FileName string + idAttrDuplicates string // TODO: Remove. Still needed for Parameterized Identity + GenerateConfig bool + ARNFormat string + arnAttribute string + isARNFormatGlobal triBoolean + ArnIdentity bool + MutableIdentity bool + IsGlobal bool + isSingleton bool + HasRegionOverrideTest bool + UseAlternateAccount bool + identityAttributes []identityAttribute + identityAttribute string + IdentityDuplicateAttrs []string + IDAttrFormat string + HasV6_0NullValuesError bool + HasV6_0RefreshError bool + PreIdentityVersion *version.Version tests.CommonArgs } +func (d ResourceDatum) ProviderPackage() string { + return d.service.ProviderPackage() +} + +func (d ResourceDatum) ResourceProviderNameUpper() (string, error) { + return d.service.ProviderNameUpper(d.TypeName) +} + +func (d ResourceDatum) PackageProviderNameUpper() string { + return d.service.PackageProviderNameUpper() +} + +func (d ResourceDatum) ARNNamespace() string { + return d.service.ARNNamespace() +} + func (d ResourceDatum) HasIDAttrDuplicates() bool { return d.idAttrDuplicates != "" } diff --git a/internal/generate/tagstests/main.go b/internal/generate/tagstests/main.go index e9f25b9147c3..2cf42a2af2ad 100644 --- a/internal/generate/tagstests/main.go +++ b/internal/generate/tagstests/main.go @@ -104,19 +104,13 @@ func main() { } for _, resource := range v.taggedResources { + resource.service = &svc + sourceName := resource.FileName ext := filepath.Ext(sourceName) sourceName = strings.TrimSuffix(sourceName, ext) sourceName = strings.TrimSuffix(sourceName, "_") - if name, err := svc.ProviderNameUpper(resource.TypeName); err != nil { - g.Fatalf("determining provider service name: %s", err) - } else { - resource.ResourceProviderNameUpper = name - } - resource.PackageProviderNameUpper = svc.PackageProviderNameUpper() - resource.ProviderPackage = servicePackage - if !resource.IsDataSource { filename := fmt.Sprintf("%s_tags_gen_test.go", sourceName) @@ -313,6 +307,10 @@ type serviceRecords struct { additional []data.ServiceRecord } +func (sr serviceRecords) ProviderPackage() string { + return sr.primary.ProviderPackage() +} + func (sr serviceRecords) ProviderNameUpper(typeName string) (string, error) { if len(sr.additional) == 0 { return sr.primary.ProviderNameUpper(), nil @@ -371,9 +369,7 @@ func (sr serviceRecords) PackageProviderNameUpper() string { } type ResourceDatum struct { - ProviderPackage string - ResourceProviderNameUpper string - PackageProviderNameUpper string + service *serviceRecords FileName string SkipEmptyTags bool // TODO: Remove when we have a strategy for resources that have a minimum tag value length of 1 SkipNullTags bool @@ -390,6 +386,18 @@ type ResourceDatum struct { tests.CommonArgs } +func (d ResourceDatum) ProviderPackage() string { + return d.service.ProviderPackage() +} + +func (d ResourceDatum) ResourceProviderNameUpper() (string, error) { + return d.service.ProviderNameUpper(d.TypeName) +} + +func (d ResourceDatum) PackageProviderNameUpper() string { + return d.service.PackageProviderNameUpper() +} + func (d ResourceDatum) OverrideIdentifier() bool { return d.overrideIdentifierAttribute != "" } From c1b7dc3f31e043b09e752570537bad8b31c68ae0 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Wed, 30 Jul 2025 12:16:27 -0700 Subject: [PATCH 0097/1301] Moves `UseAlternateAccount` --- internal/generate/identitytests/main.go | 22 +++++----------------- internal/generate/tagstests/main.go | 17 ----------------- internal/generate/tests/annotations.go | 18 ++++++++++++++++++ 3 files changed, 23 insertions(+), 34 deletions(-) diff --git a/internal/generate/identitytests/main.go b/internal/generate/identitytests/main.go index 015f3cec151a..27bb454ba7c9 100644 --- a/internal/generate/identitytests/main.go +++ b/internal/generate/identitytests/main.go @@ -131,6 +131,11 @@ func main() { g.Fatalf("parsing base Go test template: %w", err) } + templates, err = tests.AddCommonResourceTestTemplates(templates) + if err != nil { + g.Fatalf(err.Error()) + } + if err := d.BufferTemplateSet(templates, resource); err != nil { g.Fatalf("error generating %q service package data: %s", servicePackage, err) } @@ -367,7 +372,6 @@ type ResourceDatum struct { IsGlobal bool isSingleton bool HasRegionOverrideTest bool - UseAlternateAccount bool identityAttributes []identityAttribute identityAttribute string IdentityDuplicateAttrs []string @@ -725,22 +729,6 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { ) } - if attr, ok := args.Keyword["useAlternateAccount"]; ok { - if b, err := tests.ParseBoolAttr("useAlternateAccount", attr); err != nil { - v.errs = append(v.errs, err) - continue - } else if b { - d.UseAlternateAccount = true - d.PreChecks = append(d.PreChecks, tests.CodeBlock{ - Code: "acctest.PreCheckAlternateAccount(t)", - }) - d.GoImports = append(d.GoImports, - tests.GoImport{ - Path: "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema", - }, - ) - } - } if attr, ok := args.Keyword["identityTest"]; ok { switch attr { case "true": diff --git a/internal/generate/tagstests/main.go b/internal/generate/tagstests/main.go index 2cf42a2af2ad..263d8130cf14 100644 --- a/internal/generate/tagstests/main.go +++ b/internal/generate/tagstests/main.go @@ -382,7 +382,6 @@ type ResourceDatum struct { DataSourceResourceImplementation tests.Implementation overrideIdentifierAttribute string OverrideResourceType string - UseAlternateAccount bool tests.CommonArgs } @@ -582,22 +581,6 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { generatorSeen = true } - if attr, ok := args.Keyword["useAlternateAccount"]; ok { - if b, err := tests.ParseBoolAttr("useAlternateAccount", attr); err != nil { - v.errs = append(v.errs, err) - continue - } else if b { - d.UseAlternateAccount = true - d.PreChecks = append(d.PreChecks, tests.CodeBlock{ - Code: "acctest.PreCheckAlternateAccount(t)", - }) - d.GoImports = append(d.GoImports, - tests.GoImport{ - Path: "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema", - }, - ) - } - } if attr, ok := args.Keyword["tagsIdentifierAttribute"]; ok { d.overrideIdentifierAttribute = attr } diff --git a/internal/generate/tests/annotations.go b/internal/generate/tests/annotations.go index 94f8078041e1..bb34a3ca74d7 100644 --- a/internal/generate/tests/annotations.go +++ b/internal/generate/tests/annotations.go @@ -54,6 +54,8 @@ type CommonArgs struct { PreCheckRegions []string PreChecksWithRegion []CodeBlock + UseAlternateAccount bool + Generator string RequiredEnvVars []string @@ -305,6 +307,22 @@ func ParseTestingAnnotations(args common.Args, stuff *CommonArgs) error { stuff.RequiredEnvVars = append(stuff.RequiredEnvVars, attr) } + if attr, ok := args.Keyword["useAlternateAccount"]; ok { + if b, err := ParseBoolAttr("useAlternateAccount", attr); err != nil { + return err + } else if b { + stuff.UseAlternateAccount = true + stuff.PreChecks = append(stuff.PreChecks, CodeBlock{ + Code: "acctest.PreCheckAlternateAccount(t)", + }) + stuff.GoImports = append(stuff.GoImports, + GoImport{ + Path: "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema", + }, + ) + } + } + // TF Variables if attr, ok := args.Keyword["generator"]; ok { if attr == "false" { From aafbc61b2c850a3934cd416347c86fa446eefb0e Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Wed, 30 Jul 2025 12:30:28 -0700 Subject: [PATCH 0098/1301] Moves `AlternateRegionProvider` --- internal/generate/tagstests/main.go | 13 ++++++++++++- internal/generate/tests/annotations.go | 11 ++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/internal/generate/tagstests/main.go b/internal/generate/tagstests/main.go index 263d8130cf14..b64262ea203d 100644 --- a/internal/generate/tagstests/main.go +++ b/internal/generate/tagstests/main.go @@ -115,11 +115,17 @@ func main() { filename := fmt.Sprintf("%s_tags_gen_test.go", sourceName) d := g.NewGoFileDestination(filename) + templates, err := template.New("taggingtests").Parse(resourceTestGoTmpl) if err != nil { g.Fatalf("parsing base Go test template: %w", err) } + templates, err = tests.AddCommonResourceTestTemplates(templates) + if err != nil { + g.Fatalf(err.Error()) + } + if err := d.BufferTemplateSet(templates, resource); err != nil { g.Fatalf("error generating %q service package data: %s", servicePackage, err) } @@ -131,11 +137,17 @@ func main() { filename := fmt.Sprintf("%s_tags_gen_test.go", sourceName) d := g.NewGoFileDestination(filename) + templates, err := template.New("taggingtests").Parse(dataSourceTestGoTmpl) if err != nil { g.Fatalf("parsing base Go test template: %w", err) } + templates, err = tests.AddCommonResourceTestTemplates(templates) + if err != nil { + g.Fatalf(err.Error()) + } + if err := d.BufferTemplateSet(templates, resource); err != nil { g.Fatalf("error generating %q service package data: %s", servicePackage, err) } @@ -375,7 +387,6 @@ type ResourceDatum struct { SkipNullTags bool NoRemoveTags bool GenerateConfig bool - AlternateRegionProvider bool TagsUpdateForceNew bool TagsUpdateGetTagsIn bool // TODO: Works around a bug when getTagsIn() is used to pass tags directly to Update call IsDataSource bool diff --git a/internal/generate/tests/annotations.go b/internal/generate/tests/annotations.go index bb34a3ca74d7..76c03421fa5c 100644 --- a/internal/generate/tests/annotations.go +++ b/internal/generate/tests/annotations.go @@ -54,7 +54,8 @@ type CommonArgs struct { PreCheckRegions []string PreChecksWithRegion []CodeBlock - UseAlternateAccount bool + UseAlternateAccount bool + AlternateRegionProvider bool Generator string @@ -323,6 +324,14 @@ func ParseTestingAnnotations(args common.Args, stuff *CommonArgs) error { } } + if attr, ok := args.Keyword["altRegionProvider"]; ok { + if b, err := ParseBoolAttr("altRegionProvider", attr); err != nil { + return err + } else { + stuff.AlternateRegionProvider = b + } + } + // TF Variables if attr, ok := args.Keyword["generator"]; ok { if attr == "false" { From 0882ea99a1e9e47414badbdddb41e5a71268f541 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Wed, 30 Jul 2025 12:30:57 -0700 Subject: [PATCH 0099/1301] Adds `AddCommonResourceTestTemplates` --- .../identitytests/resource_test.go.gtpl | 22 ------------------- .../generate/tagstests/resource_test.go.gtpl | 17 +------------- internal/generate/tests/resource_test.go.gtpl | 21 ++++++++++++++++++ internal/generate/tests/templates.go | 11 ++++++++++ 4 files changed, 33 insertions(+), 38 deletions(-) create mode 100644 internal/generate/tests/resource_test.go.gtpl diff --git a/internal/generate/identitytests/resource_test.go.gtpl b/internal/generate/identitytests/resource_test.go.gtpl index e9063739e444..d036fab50393 100644 --- a/internal/generate/identitytests/resource_test.go.gtpl +++ b/internal/generate/identitytests/resource_test.go.gtpl @@ -15,32 +15,10 @@ {{ template "commonInit" . }} {{ end }} -{{ define "commonInit" -}} -{{ range .RequiredEnvVars -}} - acctest.SkipIfEnvVarNotSet(t, "{{ . }}") -{{ end -}} - resourceName := "{{ .TypeName}}.test"{{ if .Generator }} - rName := {{ .Generator }} -{{- end }} -{{- range .InitCodeBlocks }} -{{ .Code }} -{{- end -}} -{{ if .UseAlternateAccount }} - providers := make(map[string]*schema.Provider) -{{ end }} -{{ end }} - {{ define "Test" -}} resource.{{ if and .Serialize (not .SerializeParallelTests) }}Test{{ else }}ParallelTest{{ end }} {{- end }} -{{ define "TestCaseSetup" -}} -{{ template "TestCaseSetupNoProviders" . }} -{{- if not .UseAlternateAccount }} - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, -{{- end -}} -{{- end }} - {{ define "TestCaseSetupNoProviders" -}} TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), diff --git a/internal/generate/tagstests/resource_test.go.gtpl b/internal/generate/tagstests/resource_test.go.gtpl index e3db3e2fe510..b1aa3b9f6a2d 100644 --- a/internal/generate/tagstests/resource_test.go.gtpl +++ b/internal/generate/tagstests/resource_test.go.gtpl @@ -5,28 +5,13 @@ {{ if .ExistsTypeName -}} var v {{ .ExistsTypeName }} {{ end -}} - resourceName := "{{ .TypeName}}.test"{{ if .Generator }} - rName := {{ .Generator }} -{{- end }} -{{- range .InitCodeBlocks }} - {{ .Code }} -{{- end }} -{{- if .UseAlternateAccount }} - providers := make(map[string]*schema.Provider) -{{ end }} + {{ template "commonInit" . }} {{ end }} {{ define "Test" -}} acctest.{{ if and .Serialize (not .SerializeParallelTests) }}Test{{ else }}ParallelTest{{ end }} {{- end }} -{{ define "TestCaseSetup" -}} -{{ template "TestCaseSetupNoProviders" . -}} -{{ if and (not .AlternateRegionProvider) (not .UseAlternateAccount) }} - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, -{{- end -}} -{{- end }} - {{ define "TestCaseSetupNoProviders" -}} PreCheck: func() { acctest.PreCheck(ctx, t) {{- if .PreCheckRegions }} diff --git a/internal/generate/tests/resource_test.go.gtpl b/internal/generate/tests/resource_test.go.gtpl new file mode 100644 index 000000000000..5c55a4ec93b5 --- /dev/null +++ b/internal/generate/tests/resource_test.go.gtpl @@ -0,0 +1,21 @@ +{{ define "commonInit" -}} +{{ range .RequiredEnvVars -}} + acctest.SkipIfEnvVarNotSet(t, "{{ . }}") +{{ end -}} + resourceName := "{{ .TypeName}}.test"{{ if .Generator }} + rName := {{ .Generator }} +{{- end }} +{{- range .InitCodeBlocks }} + {{ .Code }} +{{- end -}} +{{ if .UseAlternateAccount }} + providers := make(map[string]*schema.Provider) +{{ end }} +{{ end }} + +{{ define "TestCaseSetup" -}} +{{ template "TestCaseSetupNoProviders" . }} +{{- if and (not .UseAlternateAccount) (not .AlternateRegionProvider) }} + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, +{{- end -}} +{{- end }} diff --git a/internal/generate/tests/templates.go b/internal/generate/tests/templates.go index 8ed39319b269..317ff2c81017 100644 --- a/internal/generate/tests/templates.go +++ b/internal/generate/tests/templates.go @@ -9,6 +9,17 @@ import ( "text/template" ) +//go:embed resource_test.go.gtpl +var resourceTestTmpl string + +func AddCommonResourceTestTemplates(template *template.Template) (*template.Template, error) { + result, err := template.Parse(resourceTestTmpl) + if err != nil { + return nil, fmt.Errorf("parsing common \"resource_test.go.gtpl\" test template: %s", err) + } + return result, nil +} + //go:embed acctest.tf.gtpl var acctestTfTmpl string From f444d35d4c0700b034009b9ace77809eec0cf9dc Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Wed, 30 Jul 2025 12:32:52 -0700 Subject: [PATCH 0100/1301] Missed change --- internal/generate/tagstests/main.go | 9 --------- 1 file changed, 9 deletions(-) diff --git a/internal/generate/tagstests/main.go b/internal/generate/tagstests/main.go index b64262ea203d..731b5245e7b9 100644 --- a/internal/generate/tagstests/main.go +++ b/internal/generate/tagstests/main.go @@ -578,15 +578,6 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { continue } - if attr, ok := args.Keyword["altRegionProvider"]; ok { - if b, err := tests.ParseBoolAttr("altRegionProvider", attr); err != nil { - v.errs = append(v.errs, err) - continue - } else { - d.AlternateRegionProvider = b - } - } - // This needs better handling if _, ok := args.Keyword["generator"]; ok { generatorSeen = true From 03e81d5f55ae797f0eaccacc276c58c9d9cb8bcb Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Wed, 30 Jul 2025 13:50:04 -0700 Subject: [PATCH 0101/1301] Moves more templates --- .../identitytests/resource_test.go.gtpl | 29 +---------- .../tagstests/data_source_test.go.gtpl | 50 +------------------ .../generate/tagstests/resource_test.go.gtpl | 32 +----------- internal/generate/tests/resource_test.go.gtpl | 36 +++++++++++++ 4 files changed, 42 insertions(+), 105 deletions(-) diff --git a/internal/generate/identitytests/resource_test.go.gtpl b/internal/generate/identitytests/resource_test.go.gtpl index d036fab50393..88067b3eded2 100644 --- a/internal/generate/identitytests/resource_test.go.gtpl +++ b/internal/generate/identitytests/resource_test.go.gtpl @@ -23,18 +23,7 @@ resource.{{ if and .Serialize (not .SerializeParallelTests) }}Test{{ else }}Para TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, - PreCheck: func() { acctest.PreCheck(ctx, t) - {{- if .PreCheckRegions }} - acctest.PreCheckRegion(t, {{ range .PreCheckRegions}}{{ . }}, {{ end }}) - {{- end -}} - {{- range .PreChecks }} - {{ .Code }} - {{- end -}} - {{- range .PreChecksWithRegion }} - {{ .Code }}(ctx, t, acctest.Region()) - {{- end -}} - }, - ErrorCheck: acctest.ErrorCheck(t, names.{{ .PackageProviderNameUpper }}ServiceID), + {{ template "CommonTestCaseChecks" . }} CheckDestroy: {{ if .CheckDestroyNoop }}acctest.CheckDestroyNoop{{ else }}testAccCheck{{ .Name }}Destroy(ctx{{ if .DestroyTakesT }}, t{{ end }}){{ end }}, {{- end }} @@ -221,23 +210,9 @@ ImportPlanChecks: resource.ImportPlanChecks{ {{- end }} {{ define "testname" -}} -{{ if .Serialize }}testAcc{{ else }}TestAcc{{ end }}{{ .ResourceProviderNameUpper }}{{ .Name }} +{{ template "resourceTestname" . }} {{- end }} -{{ define "ExistsCheck" }} - testAccCheck{{ .Name }}Exists(ctx, {{ if .ExistsTakesT }}t,{{ end }} resourceName{{ if .ExistsTypeName}}, &v{{ end }}), -{{ end }} - -{{ define "AdditionalTfVars" -}} - {{ range $name, $value := .AdditionalTfVars -}} - {{ if eq $value.Type "string" -}} - {{ $name }}: config.StringVariable({{ $value.GoVarName }}), - {{- else if eq $value.Type "int" -}} - {{ $name }}: config.IntegerVariable({{ $value.GoVarName }}), - {{- end }} - {{ end -}} -{{ end }} - package {{ .ProviderPackage }}_test import ( diff --git a/internal/generate/tagstests/data_source_test.go.gtpl b/internal/generate/tagstests/data_source_test.go.gtpl index 2c899c996cb1..ba04ef01cab5 100644 --- a/internal/generate/tagstests/data_source_test.go.gtpl +++ b/internal/generate/tagstests/data_source_test.go.gtpl @@ -14,20 +14,8 @@ acctest.{{ if and .Serialize (not .SerializeParallelTests) }}Test{{ else }}ParallelTest{{ end }} {{- end }} -{{ define "TestCaseSetup" -}} -{{ template "TestCaseSetupNoProviders" . -}} -{{ if not .AlternateRegionProvider }} - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, -{{- end -}} -{{- end }} - {{ define "TestCaseSetupNoProviders" -}} - PreCheck: func() { acctest.PreCheck(ctx, t) - {{- range .PreChecks }} - {{ .Code }} - {{ end -}} - }, - ErrorCheck: acctest.ErrorCheck(t, names.{{ .PackageProviderNameUpper }}ServiceID), + {{ template "CommonTestCaseChecks" . -}} {{- end }} {{ define "TagsKnownValueForNull" -}} @@ -50,44 +38,10 @@ plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), know {{- end }} {{- end }} -{{ define "ImportBody" }} - ResourceName: resourceName, - ImportState: true, -{{ if gt (len .ImportStateID) 0 -}} - ImportStateId: {{ .ImportStateID }}, -{{ end -}} -{{ if gt (len .ImportStateIDFunc) 0 -}} - ImportStateIdFunc: {{ .ImportStateIDFunc }}(resourceName), -{{ end -}} - ImportStateVerify: true, -{{ if gt (len .ImportIgnore) 0 -}} - ImportStateVerifyIgnore: []string{ - {{ range $i, $v := .ImportIgnore }}{{ $v }},{{ end }} - }, -{{- end }} -{{ end }} - {{ define "testname" -}} -{{ if .Serialize }}testAcc{{ else }}TestAcc{{ end }}{{ .ResourceProviderNameUpper }}{{ .Name }}DataSource +{{ template "resourceTestname" . }}DataSource {{- end }} -{{ define "ExistsCheck" }} - testAccCheck{{ .Name }}Exists(ctx, {{ if .ExistsTakesT }}t,{{ end }} resourceName{{ if .ExistsTypeName}}, &v{{ end }}), -{{ end }} - -{{ define "AdditionalTfVars" -}} - {{ range $name, $value := .AdditionalTfVars -}} - {{ if eq $value.Type "string" -}} - {{ $name }}: config.StringVariable({{ $value.GoVarName }}), - {{- else if eq $value.Type "int" -}} - {{ $name }}: config.IntegerVariable({{ $value.GoVarName }}), - {{- end }} - {{ end -}} - {{ if .AlternateRegionProvider -}} - "alt_region": config.StringVariable(acctest.AlternateRegion()), - {{ end }} -{{ end }} - package {{ .ProviderPackage }}_test import ( diff --git a/internal/generate/tagstests/resource_test.go.gtpl b/internal/generate/tagstests/resource_test.go.gtpl index b1aa3b9f6a2d..d1c4f917349c 100644 --- a/internal/generate/tagstests/resource_test.go.gtpl +++ b/internal/generate/tagstests/resource_test.go.gtpl @@ -13,18 +13,7 @@ acctest.{{ if and .Serialize (not .SerializeParallelTests) }}Test{{ else }}Paral {{- end }} {{ define "TestCaseSetupNoProviders" -}} - PreCheck: func() { acctest.PreCheck(ctx, t) - {{- if .PreCheckRegions }} - acctest.PreCheckRegion(t, {{ range .PreCheckRegions}}{{ . }}, {{ end }}) - {{- end -}} - {{- range .PreChecks }} - {{ .Code }} - {{- end -}} - {{- range .PreChecksWithRegion }} - {{ .Code }}(ctx, t, acctest.Region()) - {{- end -}} - }, - ErrorCheck: acctest.ErrorCheck(t, names.{{ .PackageProviderNameUpper }}ServiceID), + {{ template "CommonTestCaseChecks" . }} CheckDestroy: {{ if .CheckDestroyNoop }}acctest.CheckDestroyNoop{{ else }}testAccCheck{{ .Name }}Destroy(ctx{{ if .DestroyTakesT }}, t{{ end }}){{ end }}, {{- end }} @@ -107,26 +96,9 @@ plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), know {{ end }} {{ define "testname" -}} -{{ if .Serialize }}testAcc{{ else }}TestAcc{{ end }}{{ .ResourceProviderNameUpper }}{{ .Name }} +{{ template "resourceTestname" . }} {{- end }} -{{ define "ExistsCheck" }} - testAccCheck{{ .Name }}Exists(ctx, {{ if .ExistsTakesT }}t,{{ end }} resourceName{{ if .ExistsTypeName}}, &v{{ end }}), -{{ end }} - -{{ define "AdditionalTfVars" -}} - {{ range $name, $value := .AdditionalTfVars -}} - {{ if eq $value.Type "string" -}} - {{ $name }}: config.StringVariable({{ $value.GoVarName }}), - {{- else if eq $value.Type "int" -}} - {{ $name }}: config.IntegerVariable({{ $value.GoVarName }}), - {{- end }} - {{ end -}} - {{ if .AlternateRegionProvider -}} - "alt_region": config.StringVariable(acctest.AlternateRegion()), - {{ end }} -{{ end }} - package {{ .ProviderPackage }}_test import ( diff --git a/internal/generate/tests/resource_test.go.gtpl b/internal/generate/tests/resource_test.go.gtpl index 5c55a4ec93b5..66964ed6a475 100644 --- a/internal/generate/tests/resource_test.go.gtpl +++ b/internal/generate/tests/resource_test.go.gtpl @@ -19,3 +19,39 @@ ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, {{- end -}} {{- end }} + +{{ define "CommonTestCaseChecks" -}} + PreCheck: func() { acctest.PreCheck(ctx, t) + {{- if .PreCheckRegions }} + acctest.PreCheckRegion(t, {{ range .PreCheckRegions}}{{ . }}, {{ end }}) + {{- end -}} + {{- range .PreChecks }} + {{ .Code }} + {{- end -}} + {{- range .PreChecksWithRegion }} + {{ .Code }}(ctx, t, acctest.Region()) + {{- end -}} + }, + ErrorCheck: acctest.ErrorCheck(t, names.{{ .PackageProviderNameUpper }}ServiceID), +{{- end }} + +{{ define "resourceTestname" -}} +{{ if .Serialize }}testAcc{{ else }}TestAcc{{ end }}{{ .ResourceProviderNameUpper }}{{ .Name }} +{{- end }} + +{{ define "ExistsCheck" }} + testAccCheck{{ .Name }}Exists(ctx, {{ if .ExistsTakesT }}t,{{ end }} resourceName{{ if .ExistsTypeName}}, &v{{ end }}), +{{ end }} + +{{ define "AdditionalTfVars" -}} + {{ range $name, $value := .AdditionalTfVars -}} + {{ if eq $value.Type "string" -}} + {{ $name }}: config.StringVariable({{ $value.GoVarName }}), + {{- else if eq $value.Type "int" -}} + {{ $name }}: config.IntegerVariable({{ $value.GoVarName }}), + {{- end }} + {{ end -}} + {{ if .AlternateRegionProvider -}} + "alt_region": config.StringVariable(acctest.AlternateRegion()), + {{ end -}} +{{ end }} From c311d2913671509f66e2c131d892c345d788d3ef Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Wed, 30 Jul 2025 15:44:49 -0700 Subject: [PATCH 0102/1301] Separates common resource and data source templates --- .../identitytests/resource_test.go.gtpl | 4 -- .../tagstests/data_source_test.go.gtpl | 4 -- internal/generate/tagstests/main.go | 2 +- .../generate/tagstests/resource_test.go.gtpl | 4 -- internal/generate/tests/common_test.go.gtpl | 57 ++++++++++++++++++ .../generate/tests/datasource_test.go.gtpl | 3 + internal/generate/tests/resource_test.go.gtpl | 58 +------------------ internal/generate/tests/templates.go | 30 +++++++++- 8 files changed, 91 insertions(+), 71 deletions(-) create mode 100644 internal/generate/tests/common_test.go.gtpl create mode 100644 internal/generate/tests/datasource_test.go.gtpl diff --git a/internal/generate/identitytests/resource_test.go.gtpl b/internal/generate/identitytests/resource_test.go.gtpl index 88067b3eded2..382a99002b53 100644 --- a/internal/generate/identitytests/resource_test.go.gtpl +++ b/internal/generate/identitytests/resource_test.go.gtpl @@ -209,10 +209,6 @@ ImportPlanChecks: resource.ImportPlanChecks{ }, {{- end }} -{{ define "testname" -}} -{{ template "resourceTestname" . }} -{{- end }} - package {{ .ProviderPackage }}_test import ( diff --git a/internal/generate/tagstests/data_source_test.go.gtpl b/internal/generate/tagstests/data_source_test.go.gtpl index ba04ef01cab5..02d5106357e7 100644 --- a/internal/generate/tagstests/data_source_test.go.gtpl +++ b/internal/generate/tagstests/data_source_test.go.gtpl @@ -38,10 +38,6 @@ plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), know {{- end }} {{- end }} -{{ define "testname" -}} -{{ template "resourceTestname" . }}DataSource -{{- end }} - package {{ .ProviderPackage }}_test import ( diff --git a/internal/generate/tagstests/main.go b/internal/generate/tagstests/main.go index 731b5245e7b9..a96d1b4ae46e 100644 --- a/internal/generate/tagstests/main.go +++ b/internal/generate/tagstests/main.go @@ -143,7 +143,7 @@ func main() { g.Fatalf("parsing base Go test template: %w", err) } - templates, err = tests.AddCommonResourceTestTemplates(templates) + templates, err = tests.AddCommonDataSourceTestTemplates(templates) if err != nil { g.Fatalf(err.Error()) } diff --git a/internal/generate/tagstests/resource_test.go.gtpl b/internal/generate/tagstests/resource_test.go.gtpl index d1c4f917349c..e12fe7ddad2b 100644 --- a/internal/generate/tagstests/resource_test.go.gtpl +++ b/internal/generate/tagstests/resource_test.go.gtpl @@ -95,10 +95,6 @@ plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), know {{- end }} {{ end }} -{{ define "testname" -}} -{{ template "resourceTestname" . }} -{{- end }} - package {{ .ProviderPackage }}_test import ( diff --git a/internal/generate/tests/common_test.go.gtpl b/internal/generate/tests/common_test.go.gtpl new file mode 100644 index 000000000000..32a5e641f80f --- /dev/null +++ b/internal/generate/tests/common_test.go.gtpl @@ -0,0 +1,57 @@ +{{ define "commonInit" -}} +{{ range .RequiredEnvVars -}} + acctest.SkipIfEnvVarNotSet(t, "{{ . }}") +{{ end -}} + resourceName := "{{ .TypeName}}.test"{{ if .Generator }} + rName := {{ .Generator }} +{{- end }} +{{- range .InitCodeBlocks }} + {{ .Code }} +{{- end -}} +{{ if .UseAlternateAccount }} + providers := make(map[string]*schema.Provider) +{{ end }} +{{ end }} + +{{ define "TestCaseSetup" -}} +{{ template "TestCaseSetupNoProviders" . }} +{{- if and (not .UseAlternateAccount) (not .AlternateRegionProvider) }} + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, +{{- end -}} +{{- end }} + +{{ define "CommonTestCaseChecks" -}} + PreCheck: func() { acctest.PreCheck(ctx, t) + {{- if .PreCheckRegions }} + acctest.PreCheckRegion(t, {{ range .PreCheckRegions}}{{ . }}, {{ end }}) + {{- end -}} + {{- range .PreChecks }} + {{ .Code }} + {{- end -}} + {{- range .PreChecksWithRegion }} + {{ .Code }}(ctx, t, acctest.Region()) + {{- end -}} + }, + ErrorCheck: acctest.ErrorCheck(t, names.{{ .PackageProviderNameUpper }}ServiceID), +{{- end }} + +{{ define "baseTestname" -}} +{{ if .Serialize }}testAcc{{ else }}TestAcc{{ end }}{{ .ResourceProviderNameUpper }}{{ .Name }} +{{- end }} + +{{ define "ExistsCheck" }} + testAccCheck{{ .Name }}Exists(ctx, {{ if .ExistsTakesT }}t,{{ end }} resourceName{{ if .ExistsTypeName}}, &v{{ end }}), +{{ end }} + +{{ define "AdditionalTfVars" -}} + {{ range $name, $value := .AdditionalTfVars -}} + {{ if eq $value.Type "string" -}} + {{ $name }}: config.StringVariable({{ $value.GoVarName }}), + {{- else if eq $value.Type "int" -}} + {{ $name }}: config.IntegerVariable({{ $value.GoVarName }}), + {{- end }} + {{ end -}} + {{ if .AlternateRegionProvider -}} + "alt_region": config.StringVariable(acctest.AlternateRegion()), + {{ end -}} +{{ end }} diff --git a/internal/generate/tests/datasource_test.go.gtpl b/internal/generate/tests/datasource_test.go.gtpl new file mode 100644 index 000000000000..407975688f31 --- /dev/null +++ b/internal/generate/tests/datasource_test.go.gtpl @@ -0,0 +1,3 @@ +{{ define "testname" -}} +{{ template "baseTestname" . }}DataSource +{{- end }} diff --git a/internal/generate/tests/resource_test.go.gtpl b/internal/generate/tests/resource_test.go.gtpl index 66964ed6a475..1a1ae2e00dc2 100644 --- a/internal/generate/tests/resource_test.go.gtpl +++ b/internal/generate/tests/resource_test.go.gtpl @@ -1,57 +1,3 @@ -{{ define "commonInit" -}} -{{ range .RequiredEnvVars -}} - acctest.SkipIfEnvVarNotSet(t, "{{ . }}") -{{ end -}} - resourceName := "{{ .TypeName}}.test"{{ if .Generator }} - rName := {{ .Generator }} +{{ define "testname" -}} +{{ template "baseTestname" . }} {{- end }} -{{- range .InitCodeBlocks }} - {{ .Code }} -{{- end -}} -{{ if .UseAlternateAccount }} - providers := make(map[string]*schema.Provider) -{{ end }} -{{ end }} - -{{ define "TestCaseSetup" -}} -{{ template "TestCaseSetupNoProviders" . }} -{{- if and (not .UseAlternateAccount) (not .AlternateRegionProvider) }} - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, -{{- end -}} -{{- end }} - -{{ define "CommonTestCaseChecks" -}} - PreCheck: func() { acctest.PreCheck(ctx, t) - {{- if .PreCheckRegions }} - acctest.PreCheckRegion(t, {{ range .PreCheckRegions}}{{ . }}, {{ end }}) - {{- end -}} - {{- range .PreChecks }} - {{ .Code }} - {{- end -}} - {{- range .PreChecksWithRegion }} - {{ .Code }}(ctx, t, acctest.Region()) - {{- end -}} - }, - ErrorCheck: acctest.ErrorCheck(t, names.{{ .PackageProviderNameUpper }}ServiceID), -{{- end }} - -{{ define "resourceTestname" -}} -{{ if .Serialize }}testAcc{{ else }}TestAcc{{ end }}{{ .ResourceProviderNameUpper }}{{ .Name }} -{{- end }} - -{{ define "ExistsCheck" }} - testAccCheck{{ .Name }}Exists(ctx, {{ if .ExistsTakesT }}t,{{ end }} resourceName{{ if .ExistsTypeName}}, &v{{ end }}), -{{ end }} - -{{ define "AdditionalTfVars" -}} - {{ range $name, $value := .AdditionalTfVars -}} - {{ if eq $value.Type "string" -}} - {{ $name }}: config.StringVariable({{ $value.GoVarName }}), - {{- else if eq $value.Type "int" -}} - {{ $name }}: config.IntegerVariable({{ $value.GoVarName }}), - {{- end }} - {{ end -}} - {{ if .AlternateRegionProvider -}} - "alt_region": config.StringVariable(acctest.AlternateRegion()), - {{ end -}} -{{ end }} diff --git a/internal/generate/tests/templates.go b/internal/generate/tests/templates.go index 317ff2c81017..6fcd6c325347 100644 --- a/internal/generate/tests/templates.go +++ b/internal/generate/tests/templates.go @@ -9,14 +9,40 @@ import ( "text/template" ) +//go:embed common_test.go.gtpl +var commonTestGoTmpl string + //go:embed resource_test.go.gtpl -var resourceTestTmpl string +var resourceTestGoTmpl string func AddCommonResourceTestTemplates(template *template.Template) (*template.Template, error) { - result, err := template.Parse(resourceTestTmpl) + result, err := template.Parse(commonTestGoTmpl) + if err != nil { + return nil, fmt.Errorf("parsing common \"common_test.go.gtpl\" test template: %s", err) + } + + result, err = result.Parse(resourceTestGoTmpl) if err != nil { return nil, fmt.Errorf("parsing common \"resource_test.go.gtpl\" test template: %s", err) } + + return result, nil +} + +//go:embed datasource_test.go.gtpl +var dataSourceTestGoTmpl string + +func AddCommonDataSourceTestTemplates(template *template.Template) (*template.Template, error) { + result, err := template.Parse(commonTestGoTmpl) + if err != nil { + return nil, fmt.Errorf("parsing common \"common_test.go.gtpl\" test template: %s", err) + } + + result, err = result.Parse(dataSourceTestGoTmpl) + if err != nil { + return nil, fmt.Errorf("parsing common \"datasource_test.go.gtpl\" test template: %s", err) + } + return result, nil } From 08fd51e8ac16855813f1fd72e867305fe1e44a5e Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Wed, 30 Jul 2025 16:40:32 -0700 Subject: [PATCH 0103/1301] More centralizing templates --- internal/generate/tagstests/data_source_test.go.gtpl | 10 ---------- internal/generate/tests/common_test.go.gtpl | 5 +++-- internal/generate/tests/data_source_test.go.gtpl | 12 ++++++++++++ internal/generate/tests/datasource_test.go.gtpl | 3 --- internal/generate/tests/resource_test.go.gtpl | 4 ++++ internal/generate/tests/templates.go | 2 +- 6 files changed, 20 insertions(+), 16 deletions(-) create mode 100644 internal/generate/tests/data_source_test.go.gtpl delete mode 100644 internal/generate/tests/datasource_test.go.gtpl diff --git a/internal/generate/tagstests/data_source_test.go.gtpl b/internal/generate/tagstests/data_source_test.go.gtpl index 02d5106357e7..74231775cd9f 100644 --- a/internal/generate/tagstests/data_source_test.go.gtpl +++ b/internal/generate/tagstests/data_source_test.go.gtpl @@ -1,15 +1,5 @@ // Code generated by internal/generate/tagstests/main.go; DO NOT EDIT. -{{ define "Init" }} - ctx := acctest.Context(t) - dataSourceName := "data.{{ .TypeName}}.test"{{ if .Generator }} - rName := {{ .Generator }} -{{- end }} -{{ range .InitCodeBlocks -}} -{{ .Code }} -{{- end }} -{{ end }} - {{ define "Test" -}} acctest.{{ if and .Serialize (not .SerializeParallelTests) }}Test{{ else }}ParallelTest{{ end }} {{- end }} diff --git a/internal/generate/tests/common_test.go.gtpl b/internal/generate/tests/common_test.go.gtpl index 32a5e641f80f..466d26b5dd4a 100644 --- a/internal/generate/tests/common_test.go.gtpl +++ b/internal/generate/tests/common_test.go.gtpl @@ -2,9 +2,10 @@ {{ range .RequiredEnvVars -}} acctest.SkipIfEnvVarNotSet(t, "{{ . }}") {{ end -}} - resourceName := "{{ .TypeName}}.test"{{ if .Generator }} +{{ block "targetName" . }}Missing template "targetName"{{ end }} +{{- if .Generator }} rName := {{ .Generator }} -{{- end }} +{{- end -}} {{- range .InitCodeBlocks }} {{ .Code }} {{- end -}} diff --git a/internal/generate/tests/data_source_test.go.gtpl b/internal/generate/tests/data_source_test.go.gtpl new file mode 100644 index 000000000000..728e2258b109 --- /dev/null +++ b/internal/generate/tests/data_source_test.go.gtpl @@ -0,0 +1,12 @@ +{{ define "testname" -}} +{{ template "baseTestname" . }}DataSource +{{- end }} + +{{ define "targetName" -}} +dataSourceName := "data.{{ .TypeName}}.test" +{{- end }} + +{{ define "Init" }} + ctx := acctest.Context(t) + {{ template "commonInit" . }} +{{ end }} diff --git a/internal/generate/tests/datasource_test.go.gtpl b/internal/generate/tests/datasource_test.go.gtpl deleted file mode 100644 index 407975688f31..000000000000 --- a/internal/generate/tests/datasource_test.go.gtpl +++ /dev/null @@ -1,3 +0,0 @@ -{{ define "testname" -}} -{{ template "baseTestname" . }}DataSource -{{- end }} diff --git a/internal/generate/tests/resource_test.go.gtpl b/internal/generate/tests/resource_test.go.gtpl index 1a1ae2e00dc2..bfae50d1271a 100644 --- a/internal/generate/tests/resource_test.go.gtpl +++ b/internal/generate/tests/resource_test.go.gtpl @@ -1,3 +1,7 @@ {{ define "testname" -}} {{ template "baseTestname" . }} {{- end }} + +{{ define "targetName" -}} +resourceName := "{{ .TypeName}}.test" +{{- end }} diff --git a/internal/generate/tests/templates.go b/internal/generate/tests/templates.go index 6fcd6c325347..4e2f868edcc5 100644 --- a/internal/generate/tests/templates.go +++ b/internal/generate/tests/templates.go @@ -29,7 +29,7 @@ func AddCommonResourceTestTemplates(template *template.Template) (*template.Temp return result, nil } -//go:embed datasource_test.go.gtpl +//go:embed data_source_test.go.gtpl var dataSourceTestGoTmpl string func AddCommonDataSourceTestTemplates(template *template.Template) (*template.Template, error) { From 5452b3555051731cb04dc1e676f8206b68fc360f Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 30 Jul 2025 10:12:05 -0400 Subject: [PATCH 0104/1301] r/aws_quicksight_custom_permissions: New resource. --- .changelog/#####.txt | 3 + .../service/quicksight/custom_permissions.go | 289 ++++++++++++++++++ .../service/quicksight/service_package_gen.go | 9 + 3 files changed, 301 insertions(+) create mode 100644 .changelog/#####.txt create mode 100644 internal/service/quicksight/custom_permissions.go diff --git a/.changelog/#####.txt b/.changelog/#####.txt new file mode 100644 index 000000000000..763b125bdcb7 --- /dev/null +++ b/.changelog/#####.txt @@ -0,0 +1,3 @@ +```release-note:new-resource +aws_quicksight_custom_permissions +``` \ No newline at end of file diff --git a/internal/service/quicksight/custom_permissions.go b/internal/service/quicksight/custom_permissions.go new file mode 100644 index 000000000000..75cfc572da69 --- /dev/null +++ b/internal/service/quicksight/custom_permissions.go @@ -0,0 +1,289 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package quicksight + +import ( + "context" + "fmt" + + "github.com/YakDriver/regexache" + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/service/quicksight" + awstypes "github.com/aws/aws-sdk-go-v2/service/quicksight/types" + "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" + "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator" + "github.com/hashicorp/terraform-plugin-framework/path" + "github.com/hashicorp/terraform-plugin-framework/resource" + "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/schema/validator" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" + "github.com/hashicorp/terraform-provider-aws/internal/errs" + "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" + intflex "github.com/hashicorp/terraform-provider-aws/internal/flex" + "github.com/hashicorp/terraform-provider-aws/internal/framework" + fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" + fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" + fwvalidators "github.com/hashicorp/terraform-provider-aws/internal/framework/validators" + tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" + "github.com/hashicorp/terraform-provider-aws/internal/tfresource" + "github.com/hashicorp/terraform-provider-aws/names" +) + +// @FrameworkResource("aws_quicksight_custom_permissions", name="Custom Permissions") +// @Tags(identifierAttribute="arn") +// @Testing(tagsTest=false) +func newCustomPermissionsResource(_ context.Context) (resource.ResourceWithConfigure, error) { + r := &customPermissionsResource{} + + return r, nil +} + +type customPermissionsResource struct { + framework.ResourceWithModel[customPermissionsResourceModel] +} + +func (r *customPermissionsResource) Schema(ctx context.Context, request resource.SchemaRequest, response *resource.SchemaResponse) { + response.Schema = schema.Schema{ + Attributes: map[string]schema.Attribute{ + names.AttrARN: framework.ARNAttributeComputedOnly(), + names.AttrAWSAccountID: schema.StringAttribute{ + Optional: true, + Computed: true, + Validators: []validator.String{ + fwvalidators.AWSAccountID(), + }, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.UseStateForUnknown(), + stringplanmodifier.RequiresReplace(), + }, + }, + "custom_permissions_name": schema.StringAttribute{ + Required: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 64), + stringvalidator.RegexMatches(regexache.MustCompile(`^[a-zA-Z0-9+=,.@_-]+$`), ""), + }, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplace(), + }, + }, + names.AttrTags: tftags.TagsAttribute(), + names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), + }, + Blocks: map[string]schema.Block{ + "capabilities": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[capabilitiesModel](ctx), + Validators: []validator.List{ + listvalidator.IsRequired(), + listvalidator.SizeAtLeast(1), + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "add_or_run_anomaly_detection_for_analyses": schema.StringAttribute{ + CustomType: fwtypes.StringEnumType[awstypes.CapabilityState](), + Optional: true, + }, + }, + }, + }, + }, + } +} + +func (r *customPermissionsResource) Create(ctx context.Context, request resource.CreateRequest, response *resource.CreateResponse) { + var data customPermissionsResourceModel + response.Diagnostics.Append(request.Plan.Get(ctx, &data)...) + if response.Diagnostics.HasError() { + return + } + if data.AWSAccountID.IsUnknown() { + data.AWSAccountID = fwflex.StringValueToFramework(ctx, r.Meta().AccountID(ctx)) + } + + conn := r.Meta().QuickSightClient(ctx) + + name := fwflex.StringValueFromFramework(ctx, data.CustomPermissionsName) + var input quicksight.CreateCustomPermissionsInput + response.Diagnostics.Append(fwflex.Expand(ctx, data, &input)...) + if response.Diagnostics.HasError() { + return + } + + output, err := conn.CreateCustomPermissions(ctx, &input) + + if err != nil { + response.Diagnostics.AddError(fmt.Sprintf("creating Quicksight Custom Permissions (%s)", name), err.Error()) + + return + } + + // Set values for unknowns. + data.ARN = fwflex.StringToFramework(ctx, output.Arn) + + response.Diagnostics.Append(response.State.Set(ctx, data)...) +} + +func (r *customPermissionsResource) Read(ctx context.Context, request resource.ReadRequest, response *resource.ReadResponse) { + var data customPermissionsResourceModel + response.Diagnostics.Append(request.State.Get(ctx, &data)...) + if response.Diagnostics.HasError() { + return + } + + conn := r.Meta().QuickSightClient(ctx) + + accountID, name := fwflex.StringValueFromFramework(ctx, data.AWSAccountID), fwflex.StringValueFromFramework(ctx, data.CustomPermissionsName) + output, err := findCustomPermissionsByTwoPartKey(ctx, conn, accountID, name) + + if tfresource.NotFound(err) { + response.Diagnostics.Append(fwdiag.NewResourceNotFoundWarningDiagnostic(err)) + response.State.RemoveResource(ctx) + + return + } + + if err != nil { + response.Diagnostics.AddError(fmt.Sprintf("reading Quicksight Custom Permissions (%s)", name), err.Error()) + + return + } + + // Set attributes for import. + response.Diagnostics.Append(fwflex.Flatten(ctx, output, &data)...) + if response.Diagnostics.HasError() { + return + } + + response.Diagnostics.Append(response.State.Set(ctx, &data)...) +} + +func (r *customPermissionsResource) Update(ctx context.Context, request resource.UpdateRequest, response *resource.UpdateResponse) { + var new, old customPermissionsResourceModel + response.Diagnostics.Append(request.Plan.Get(ctx, &new)...) + if response.Diagnostics.HasError() { + return + } + response.Diagnostics.Append(request.State.Get(ctx, &old)...) + if response.Diagnostics.HasError() { + return + } + + conn := r.Meta().QuickSightClient(ctx) + + diff, diags := fwflex.Diff(ctx, new, old) + response.Diagnostics.Append(diags...) + if response.Diagnostics.HasError() { + return + } + + if diff.HasChanges() { + name := fwflex.StringValueFromFramework(ctx, new.CustomPermissionsName) + var input quicksight.UpdateCustomPermissionsInput + response.Diagnostics.Append(fwflex.Expand(ctx, new, &input)...) + if response.Diagnostics.HasError() { + return + } + + _, err := conn.UpdateCustomPermissions(ctx, &input) + + if err != nil { + response.Diagnostics.AddError(fmt.Sprintf("updating Quicksight Custom Permissions (%s)", name), err.Error()) + + return + } + } + + response.Diagnostics.Append(response.State.Set(ctx, &new)...) +} + +func (r *customPermissionsResource) Delete(ctx context.Context, request resource.DeleteRequest, response *resource.DeleteResponse) { + var data customPermissionsResourceModel + response.Diagnostics.Append(request.State.Get(ctx, &data)...) + if response.Diagnostics.HasError() { + return + } + + conn := r.Meta().QuickSightClient(ctx) + + accountID, name := fwflex.StringValueFromFramework(ctx, data.AWSAccountID), fwflex.StringValueFromFramework(ctx, data.CustomPermissionsName) + input := quicksight.DeleteCustomPermissionsInput{ + AwsAccountId: aws.String(accountID), + CustomPermissionsName: aws.String(name), + } + _, err := conn.DeleteCustomPermissions(ctx, &input) + + if errs.IsA[*awstypes.ResourceNotFoundException](err) { + return + } + + if err != nil { + response.Diagnostics.AddError(fmt.Sprintf("deleting Quicksight Custom Permissions (%s)", name), err.Error()) + + return + } +} + +func (r *customPermissionsResource) ImportState(ctx context.Context, request resource.ImportStateRequest, response *resource.ImportStateResponse) { + const ( + customPermissionsIDParts = 2 + ) + parts, err := intflex.ExpandResourceId(request.ID, customPermissionsIDParts, true) + + if err != nil { + response.Diagnostics.Append(fwdiag.NewParsingResourceIDErrorDiagnostic(err)) + + return + } + + response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root(names.AttrAWSAccountID), parts[0])...) + response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root("custom_permissions_name"), parts[1])...) +} + +func findCustomPermissionsByTwoPartKey(ctx context.Context, conn *quicksight.Client, awsAccountID, customPermissionsName string) (*awstypes.CustomPermissions, error) { + input := &quicksight.DescribeCustomPermissionsInput{ + AwsAccountId: aws.String(awsAccountID), + CustomPermissionsName: aws.String(customPermissionsName), + } + + return findCustomPermissions(ctx, conn, input) +} + +func findCustomPermissions(ctx context.Context, conn *quicksight.Client, input *quicksight.DescribeCustomPermissionsInput) (*awstypes.CustomPermissions, error) { + output, err := conn.DescribeCustomPermissions(ctx, input) + + if errs.IsA[*awstypes.ResourceNotFoundException](err) { + return nil, &retry.NotFoundError{ + LastError: err, + LastRequest: input, + } + } + + if err != nil { + return nil, err + } + + if output == nil || output.CustomPermissions == nil { + return nil, tfresource.NewEmptyResultError(input) + } + + return output.CustomPermissions, nil +} + +type customPermissionsResourceModel struct { + framework.WithRegionModel + ARN types.String `tfsdk:"arn"` + AWSAccountID types.String `tfsdk:"aws_account_id"` + Capabilities fwtypes.ListNestedObjectValueOf[capabilitiesModel] `tfsdk:"capabilities"` + CustomPermissionsName types.String `tfsdk:"custom_permissions_name"` + Tags tftags.Map `tfsdk:"tags"` + TagsAll tftags.Map `tfsdk:"tags_all"` +} + +type capabilitiesModel struct { + AddOrRunAnomalyDetectionForAnalyses fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"add_or_run_anomaly_detection_for_analyses"` +} diff --git a/internal/service/quicksight/service_package_gen.go b/internal/service/quicksight/service_package_gen.go index d61537514a5f..9f06e3e6a848 100644 --- a/internal/service/quicksight/service_package_gen.go +++ b/internal/service/quicksight/service_package_gen.go @@ -30,6 +30,15 @@ func (p *servicePackage) FrameworkResources(ctx context.Context) []*inttypes.Ser Name: "Account Settings", Region: unique.Make(inttypes.ResourceRegionDisabled()), }, + { + Factory: newCustomPermissionsResource, + TypeName: "aws_quicksight_custom_permissions", + Name: "Custom Permissions", + Tags: unique.Make(inttypes.ServicePackageResourceTags{ + IdentifierAttribute: names.AttrARN, + }), + Region: unique.Make(inttypes.ResourceRegionDefault()), + }, { Factory: newFolderMembershipResource, TypeName: "aws_quicksight_folder_membership", From a93654bfb665fe6e4718d16595ef803866c6d9da Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 30 Jul 2025 11:27:15 -0400 Subject: [PATCH 0105/1301] r/aws_quicksight_custom_permissions: Additional attributes. --- .../service/quicksight/custom_permissions.go | 34 ++++++++++++++++--- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/internal/service/quicksight/custom_permissions.go b/internal/service/quicksight/custom_permissions.go index 75cfc572da69..97565efd4354 100644 --- a/internal/service/quicksight/custom_permissions.go +++ b/internal/service/quicksight/custom_permissions.go @@ -13,6 +13,7 @@ import ( awstypes "github.com/aws/aws-sdk-go-v2/service/quicksight/types" "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator" + "github.com/hashicorp/terraform-plugin-framework/attr" "github.com/hashicorp/terraform-plugin-framework/path" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" @@ -28,6 +29,7 @@ import ( fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" fwvalidators "github.com/hashicorp/terraform-provider-aws/internal/framework/validators" + tfmaps "github.com/hashicorp/terraform-provider-aws/internal/maps" tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" @@ -83,12 +85,12 @@ func (r *customPermissionsResource) Schema(ctx context.Context, request resource listvalidator.SizeAtMost(1), }, NestedObject: schema.NestedBlockObject{ - Attributes: map[string]schema.Attribute{ - "add_or_run_anomaly_detection_for_analyses": schema.StringAttribute{ + Attributes: tfmaps.ApplyToAllValues(fwtypes.AttributeTypesMust[capabilitiesModel](ctx), func(attr.Type) schema.Attribute { + return schema.StringAttribute{ CustomType: fwtypes.StringEnumType[awstypes.CapabilityState](), Optional: true, - }, - }, + } + }), }, }, }, @@ -285,5 +287,27 @@ type customPermissionsResourceModel struct { } type capabilitiesModel struct { - AddOrRunAnomalyDetectionForAnalyses fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"add_or_run_anomaly_detection_for_analyses"` + AddOrRunAnomalyDetectionForAnalyses fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"add_or_run_anomaly_detection_for_analyses"` + CreateAndUpdateDashboardEmailReports fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"create_and_update_dashboard_email_reports"` + CreateAndUpdateDatasets fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"create_and_update_datasets"` + CreateAndUpdateDataSources fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"create_and_update_data_sources"` + CreateAndUpdateThemes fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"create_and_update_themes"` + CreateAndUpdateThresholdAlerts fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"create_and_update_threshold_alerts"` + CreateSharedFolders fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"create_shared_folders"` + CreateSPICEDataset fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"create_spice_dataset"` + ExportToCSV fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"export_to_csv"` + ExportToCSVInScheduledReports fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"export_to_csv_in_scheduled_reports"` + ExportToExcel fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"export_to_excel"` + ExportToExcelInScheduledReports fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"export_to_excel_in_scheduled_reports"` + ExportToPDF fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"export_to_pdf"` + ExportToPDFInScheduledReports fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"export_to_pdf_in_scheduled_reports"` + IncludeContentInScheduledReportsEmail fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"include_content_in_scheduled_reports_email"` + PrintReports fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"print_reports"` + RenameSharedFolders fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"rename_shared_folders"` + ShareAnalyses fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"share_analyses"` + ShareDashboards fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"share_dashboards"` + ShareDatasets fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"share_datasets"` + ShareDataSources fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"share_data_sources"` + SubscribeDashboardEmailReports fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"subscribe_dashboard_email_reports"` + ViewAccountSPICECapacity fwtypes.StringEnum[awstypes.CapabilityState] `tfsdk:"view_account_spice_capacity"` } From f9ea664c107ceb4b897f8a3c8f8b8dba8b8f50bc Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 30 Jul 2025 13:56:59 -0400 Subject: [PATCH 0106/1301] r/aws_quicksight_custom_permissions: Documentation. --- ...uicksight_custom_permissions.html.markdown | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 website/docs/r/quicksight_custom_permissions.html.markdown diff --git a/website/docs/r/quicksight_custom_permissions.html.markdown b/website/docs/r/quicksight_custom_permissions.html.markdown new file mode 100644 index 000000000000..7ea7ab857dd8 --- /dev/null +++ b/website/docs/r/quicksight_custom_permissions.html.markdown @@ -0,0 +1,85 @@ +--- +subcategory: "QuickSight" +layout: "aws" +page_title: "AWS: aws_quicksight_custom_permissions" +description: |- + Manages a QuickSight custom permissions profile. +--- + +# Resource: aws_quicksight_custom_permissions + +Manages a QuickSight custom permissions profile. + +## Example Usage + +resource "aws_quicksight_custom_permissions" "example" { + custom_permissions_name = "example-permissions" + + capabilities { + print_reports = "DENY" + share_dashboards = "DENY" + } +} + +## Argument Reference + +The following arguments are required: + +* `capabilities` - (Required) Actions to include in the custom permissions profile. See [capabilities](#capabilities). +* `custom_permissions_name` - (Required, Forces new resource) Custom permissions profile name. + +The following arguments are optional: + +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). +* `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configuration block](/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +### capabilities + +* `add_or_run_anomaly_detection_for_analyses` - (Optional) The ability to add or run anomaly detection. Valid values: `DENY`. +* `create_and_update_dashboard_email_reports` - (Optional) The ability to create and update email reports. Valid values: `DENY`. +* `create_and_update_datasets` - (Optional) The ability to create and update datasets. Valid values: `DENY`. +* `create_and_update_data_sources` - (Optional) The ability to create and update data sources. Valid values: `DENY`. +* `create_and_update_themes` - (Optional) The ability to export to create and update themes. Valid values: `DENY`. +* `create_and_update_threshold_alerts` - (Optional) The ability to create and update threshold alerts. Valid values: `DENY`. +* `create_shared_folders` - (Optional) The ability to create shared folders. Valid values: `DENY`. +* `create_spice_dataset` - (Optional) The ability to create a SPICE dataset. Valid values: `DENY`. +* `export_to_csv` - (Optional) The ability to export to CSV files from the UI. Valid values: `DENY`. +* `export_to_csv_in_scheduled_reports` - (Optional) The ability to export to CSV files in scheduled email reports. Valid values: `DENY`. +* `export_to_excel` - (Optional) The ability to export to Excel files from the UI. Valid values: `DENY`. +* `export_to_excel_in_scheduled_reports` - (Optional) The ability to export to Excel files in scheduled email reports. Valid values: `DENY`. +* `export_to_pdf` - (Optional) The ability to export to PDF files from the UI. Valid values: `DENY`. +* `export_to_pdf_in_scheduled_reports` - (Optional) The ability to export to PDF files in scheduled email reports. Valid values: `DENY`. +* `include_content_in_scheduled_reports_email` - (Optional) The ability to include content in scheduled email reports. Valid values: `DENY`. +* `print_reports` - (Optional) The ability to print reports. Valid values: `DENY`. +* `rename_shared_folders` - (Optional) The ability to rename shared folders. Valid values: `DENY`. +* `share_analyses` - (Optional) The ability to share analyses. Valid values: `DENY`. +* `share_dashboards` - (Optional) The ability to share dashboards. Valid values: `DENY`. +* `share_datasets` - (Optional) The ability to share datasets. Valid values: `DENY`. +* `share_data_sources` - (Optional) The ability to share data sources. Valid values: `DENY`. +* `subscribe_dashboard_email_reports` - (Optional) The ability to subscribe to email reports. Valid values: `DENY`. +* `view_account_spice_capacity` - (Optional) The ability to view account SPICE capacity. Valid values: `DENY`. + +## Attribute Reference + +This resource exports the following attributes in addition to the arguments above: + +* `arn` - ARN of the custom permissions profile. +* `tags_all` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](/docs/providers/aws/index.html#default_tags-configuration-block). + +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import a QuickSight custom permissions profile using the AWS account ID and custom permissions profile name separated by a comma (`,`). For example: + +```terraform +import { + to = aws_quicksight_custom_permissions.example + id = "123456789012,example-permissions" +} +``` + +Using `terraform import`, import a QuickSight custom permissions profile using the AWS account ID and custom permissions profile name separated by a comma (`,`). For example: + +```console +% terraform import aws_quicksight_custom_permissions.example 123456789012,example-permissions +``` From 34bfebb092f12b8a3c7c88e19089a10182f11110 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 30 Jul 2025 14:29:26 -0400 Subject: [PATCH 0107/1301] Add 'acctest.AttrsImportStateIdFunc'. --- internal/acctest/state_id.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/internal/acctest/state_id.go b/internal/acctest/state_id.go index 4c7792b524fe..9f10e882d072 100644 --- a/internal/acctest/state_id.go +++ b/internal/acctest/state_id.go @@ -5,9 +5,11 @@ package acctest import ( "fmt" + "strings" "github.com/hashicorp/terraform-plugin-testing/helper/resource" "github.com/hashicorp/terraform-plugin-testing/terraform" + tfslices "github.com/hashicorp/terraform-provider-aws/internal/slices" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -23,6 +25,20 @@ func AttrImportStateIdFunc(resourceName, attrName string) resource.ImportStateId } } +// AttrsImportStateIdFunc is a resource.ImportStateIdFunc that returns the values of the specified attributes concatenated with a separator +func AttrsImportStateIdFunc(resourceName, sep string, attrNames ...string) resource.ImportStateIdFunc { + return func(s *terraform.State) (string, error) { + rs, ok := s.RootModule().Resources[resourceName] + if !ok { + return "", fmt.Errorf("Not found: %s", resourceName) + } + + return strings.Join(tfslices.ApplyToAll(attrNames, func(attrName string) string { + return rs.Primary.Attributes[attrName] + }), sep), nil + } +} + // CrossRegionAttrImportStateIdFunc is a resource.ImportStateIdFunc that returns the value // of the specified attribute and appends the region func CrossRegionAttrImportStateIdFunc(resourceName, attrName string) resource.ImportStateIdFunc { From fd2959b5be962fb524ca856ebd2a04217fee78e0 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 30 Jul 2025 14:29:45 -0400 Subject: [PATCH 0108/1301] r/aws_quicksight_custom_permissions: Initial acceptance test. --- .../quicksight/custom_permissions_test.go | 158 ++++++++++++++++++ internal/service/quicksight/exports_test.go | 2 + 2 files changed, 160 insertions(+) create mode 100644 internal/service/quicksight/custom_permissions_test.go diff --git a/internal/service/quicksight/custom_permissions_test.go b/internal/service/quicksight/custom_permissions_test.go new file mode 100644 index 000000000000..336af8d23506 --- /dev/null +++ b/internal/service/quicksight/custom_permissions_test.go @@ -0,0 +1,158 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package quicksight_test + +import ( + "context" + "fmt" + "testing" + + "github.com/YakDriver/regexache" + awstypes "github.com/aws/aws-sdk-go-v2/service/quicksight/types" + sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/terraform" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfknownvalue "github.com/hashicorp/terraform-provider-aws/internal/acctest/knownvalue" + "github.com/hashicorp/terraform-provider-aws/internal/conns" + tfquicksight "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight" + "github.com/hashicorp/terraform-provider-aws/internal/tfresource" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccQuickSightCustomPermissions_basic(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_quicksight_custom_permissions.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccCustomPermissionsConfig_basic(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), tfknownvalue.RegionalARNRegexp("quicksight", regexache.MustCompile(`custompermissions/.+`))), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrAWSAccountID), tfknownvalue.AccountID()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("capabilities"), knownvalue.ListExact([]knownvalue.Check{ + knownvalue.ObjectExact(map[string]knownvalue.Check{ + "add_or_run_anomaly_detection_for_analyses": knownvalue.Null(), + "create_and_update_dashboard_email_reports": knownvalue.Null(), + "create_and_update_datasets": knownvalue.Null(), + "create_and_update_data_sources": knownvalue.Null(), + "create_and_update_themes": knownvalue.Null(), + "create_and_update_threshold_alerts": knownvalue.Null(), + "create_shared_folders": knownvalue.Null(), + "create_spice_dataset": knownvalue.Null(), + "export_to_csv": knownvalue.Null(), + "export_to_csv_in_scheduled_reports": knownvalue.Null(), + "export_to_excel": knownvalue.Null(), + "export_to_excel_in_scheduled_reports": knownvalue.Null(), + "export_to_pdf": knownvalue.Null(), + "export_to_pdf_in_scheduled_reports": knownvalue.Null(), + "include_content_in_scheduled_reports_email": knownvalue.Null(), + "print_reports": tfknownvalue.StringExact(awstypes.CapabilityStateDeny), + "rename_shared_folders": knownvalue.Null(), + "share_analyses": knownvalue.Null(), + "share_dashboards": tfknownvalue.StringExact(awstypes.CapabilityStateDeny), + "share_datasets": knownvalue.Null(), + "share_data_sources": knownvalue.Null(), + "subscribe_dashboard_email_reports": knownvalue.Null(), + "view_account_spice_capacity": knownvalue.Null(), + }), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("custom_permissions_name"), knownvalue.StringExact(rName)), + }, + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateIdFunc: acctest.AttrsImportStateIdFunc(resourceName, ",", names.AttrAWSAccountID, "custom_permissions_name"), + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", + }, + }, + }) +} + +func testAccCheckCustomPermissionsDestroy(ctx context.Context) resource.TestCheckFunc { + return func(s *terraform.State) error { + conn := acctest.Provider.Meta().(*conns.AWSClient).QuickSightClient(ctx) + + for _, rs := range s.RootModule().Resources { + if rs.Type != "aws_quicksight_ip_restriction" { + continue + } + + _, err := tfquicksight.FindCustomPermissionsByTwoPartKey(ctx, conn, rs.Primary.Attributes[names.AttrAWSAccountID], rs.Primary.Attributes["custom_permissions_name"]) + + if tfresource.NotFound(err) { + continue + } + + if err != nil { + return err + } + + return fmt.Errorf("QuickSight Custom Permissions (%s) still exists", rs.Primary.Attributes["custom_permissions_name"]) + } + + return nil + } +} + +func testAccCheckCustomPermissionsExists(ctx context.Context, n string, v *awstypes.CustomPermissions) resource.TestCheckFunc { + return func(s *terraform.State) error { + rs, ok := s.RootModule().Resources[n] + if !ok { + return fmt.Errorf("Not found: %s", n) + } + + conn := acctest.Provider.Meta().(*conns.AWSClient).QuickSightClient(ctx) + + output, err := tfquicksight.FindCustomPermissionsByTwoPartKey(ctx, conn, rs.Primary.Attributes[names.AttrAWSAccountID], rs.Primary.Attributes["custom_permissions_name"]) + + if err != nil { + return err + } + + *v = *output + + return nil + } +} + +func testAccCustomPermissionsConfig_basic(rName string) string { + return fmt.Sprintf(` +resource "aws_quicksight_custom_permissions" "test" { + custom_permissions_name = %[1]q + + capabilities { + print_reports = "DENY" + share_dashboards = "DENY" + } +} +`, rName) +} diff --git a/internal/service/quicksight/exports_test.go b/internal/service/quicksight/exports_test.go index 3b1e6c78c1e2..4cad4a0be971 100644 --- a/internal/service/quicksight/exports_test.go +++ b/internal/service/quicksight/exports_test.go @@ -8,6 +8,7 @@ var ( ResourceAccountSettings = newAccountSettingsResource ResourceAccountSubscription = resourceAccountSubscription ResourceAnalysis = resourceAnalysis + ResourceCustomPermissions = newCustomPermissionsResource ResourceDashboard = resourceDashboard ResourceDataSet = resourceDataSet ResourceDataSource = resourceDataSource @@ -34,6 +35,7 @@ var ( FindAccountSettingsByID = findAccountSettingsByID FindAccountSubscriptionByID = findAccountSubscriptionByID FindAnalysisByTwoPartKey = findAnalysisByTwoPartKey + FindCustomPermissionsByTwoPartKey = findCustomPermissionsByTwoPartKey FindDashboardByThreePartKey = findDashboardByThreePartKey FindDataSetByTwoPartKey = findDataSetByTwoPartKey FindDataSourceByTwoPartKey = findDataSourceByTwoPartKey From 05bfd17a0a32d73f2742c94d5937383a8d45ecab Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 30 Jul 2025 14:30:15 -0400 Subject: [PATCH 0109/1301] Acceptance test output: % make testacc TESTARGS='-run=TestAccQuickSightCustomPermissions_basic' PKG=quicksight make: Verifying source code with gofmt... ==> Checking that code complies with gofmt requirements... TF_ACC=1 go1.24.5 test ./internal/service/quicksight/... -v -count 1 -parallel 20 -run=TestAccQuickSightCustomPermissions_basic -timeout 360m -vet=off 2025/07/30 14:27:55 Creating Terraform AWS Provider (SDKv2-style)... 2025/07/30 14:27:55 Initializing Terraform AWS Provider (SDKv2-style)... === RUN TestAccQuickSightCustomPermissions_basic === PAUSE TestAccQuickSightCustomPermissions_basic === CONT TestAccQuickSightCustomPermissions_basic --- PASS: TestAccQuickSightCustomPermissions_basic (14.28s) PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/quicksight 19.606s testing: warning: no tests to run PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema 0.284s [no tests to run] From eb026e0d8589518767e8ed9206c760236fa58892 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 30 Jul 2025 14:40:45 -0400 Subject: [PATCH 0110/1301] r/aws_quicksight_custom_permissions: Additional acceptance tests. --- .../quicksight/custom_permissions_test.go | 144 ++++++++++++++++++ 1 file changed, 144 insertions(+) diff --git a/internal/service/quicksight/custom_permissions_test.go b/internal/service/quicksight/custom_permissions_test.go index 336af8d23506..ebcad6311f5c 100644 --- a/internal/service/quicksight/custom_permissions_test.go +++ b/internal/service/quicksight/custom_permissions_test.go @@ -84,6 +84,7 @@ func TestAccQuickSightCustomPermissions_basic(t *testing.T) { }), })), statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("custom_permissions_name"), knownvalue.StringExact(rName)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), }, }, { @@ -97,6 +98,135 @@ func TestAccQuickSightCustomPermissions_basic(t *testing.T) { }) } +func TestAccQuickSightCustomPermissions_disappears(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_quicksight_custom_permissions.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccCustomPermissionsConfig_basic(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfquicksight.ResourceCustomPermissions, resourceName), + ), + ExpectNonEmptyPlan: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_update(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_quicksight_custom_permissions.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccCustomPermissionsConfig_basic(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), tfknownvalue.RegionalARNRegexp("quicksight", regexache.MustCompile(`custompermissions/.+`))), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrAWSAccountID), tfknownvalue.AccountID()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("capabilities"), knownvalue.ListExact([]knownvalue.Check{ + knownvalue.ObjectExact(map[string]knownvalue.Check{ + "add_or_run_anomaly_detection_for_analyses": knownvalue.Null(), + "create_and_update_dashboard_email_reports": knownvalue.Null(), + "create_and_update_datasets": knownvalue.Null(), + "create_and_update_data_sources": knownvalue.Null(), + "create_and_update_themes": knownvalue.Null(), + "create_and_update_threshold_alerts": knownvalue.Null(), + "create_shared_folders": knownvalue.Null(), + "create_spice_dataset": knownvalue.Null(), + "export_to_csv": knownvalue.Null(), + "export_to_csv_in_scheduled_reports": knownvalue.Null(), + "export_to_excel": knownvalue.Null(), + "export_to_excel_in_scheduled_reports": knownvalue.Null(), + "export_to_pdf": knownvalue.Null(), + "export_to_pdf_in_scheduled_reports": knownvalue.Null(), + "include_content_in_scheduled_reports_email": knownvalue.Null(), + "print_reports": tfknownvalue.StringExact(awstypes.CapabilityStateDeny), + "rename_shared_folders": knownvalue.Null(), + "share_analyses": knownvalue.Null(), + "share_dashboards": tfknownvalue.StringExact(awstypes.CapabilityStateDeny), + "share_datasets": knownvalue.Null(), + "share_data_sources": knownvalue.Null(), + "subscribe_dashboard_email_reports": knownvalue.Null(), + "view_account_spice_capacity": knownvalue.Null(), + }), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("custom_permissions_name"), knownvalue.StringExact(rName)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + }, + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateIdFunc: acctest.AttrsImportStateIdFunc(resourceName, ",", names.AttrAWSAccountID, "custom_permissions_name"), + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", + }, + { + Config: testAccCustomPermissionsConfig_updated(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), tfknownvalue.RegionalARNRegexp("quicksight", regexache.MustCompile(`custompermissions/.+`))), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrAWSAccountID), tfknownvalue.AccountID()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("capabilities"), knownvalue.ListExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "create_and_update_datasets": tfknownvalue.StringExact(awstypes.CapabilityStateDeny), + "create_and_update_data_sources": tfknownvalue.StringExact(awstypes.CapabilityStateDeny), + "export_to_pdf": tfknownvalue.StringExact(awstypes.CapabilityStateDeny), + "print_reports": knownvalue.Null(), + "share_dashboards": knownvalue.Null(), + }), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("custom_permissions_name"), knownvalue.StringExact(rName)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + }, + }, + }, + }) +} + func testAccCheckCustomPermissionsDestroy(ctx context.Context) resource.TestCheckFunc { return func(s *terraform.State) error { conn := acctest.Provider.Meta().(*conns.AWSClient).QuickSightClient(ctx) @@ -156,3 +286,17 @@ resource "aws_quicksight_custom_permissions" "test" { } `, rName) } + +func testAccCustomPermissionsConfig_updated(rName string) string { + return fmt.Sprintf(` +resource "aws_quicksight_custom_permissions" "test" { + custom_permissions_name = %[1]q + + capabilities { + create_and_update_datasets = "DENY" + create_and_update_data_sources = "DENY" + export_to_pdf = "DENY" + } +} +`, rName) +} From 3ee6299439191bdecbd742955b613fc14d9173a2 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 30 Jul 2025 14:40:55 -0400 Subject: [PATCH 0111/1301] Acceptance test output: % make testacc TESTARGS='-run=TestAccQuickSightCustomPermissions_' PKG=quicksight make: Verifying source code with gofmt... ==> Checking that code complies with gofmt requirements... TF_ACC=1 go1.24.5 test ./internal/service/quicksight/... -v -count 1 -parallel 20 -run=TestAccQuickSightCustomPermissions_ -timeout 360m -vet=off 2025/07/30 14:38:43 Creating Terraform AWS Provider (SDKv2-style)... 2025/07/30 14:38:44 Initializing Terraform AWS Provider (SDKv2-style)... === RUN TestAccQuickSightCustomPermissions_basic === PAUSE TestAccQuickSightCustomPermissions_basic === RUN TestAccQuickSightCustomPermissions_disappears === PAUSE TestAccQuickSightCustomPermissions_disappears === RUN TestAccQuickSightCustomPermissions_update === PAUSE TestAccQuickSightCustomPermissions_update === CONT TestAccQuickSightCustomPermissions_basic === CONT TestAccQuickSightCustomPermissions_update === CONT TestAccQuickSightCustomPermissions_disappears --- PASS: TestAccQuickSightCustomPermissions_disappears (11.10s) --- PASS: TestAccQuickSightCustomPermissions_basic (14.07s) --- PASS: TestAccQuickSightCustomPermissions_update (22.74s) PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/quicksight 28.374s testing: warning: no tests to run PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema 0.260s [no tests to run] From 0b8e83178435ca2fb47200f8dfe7d523b7a9e76a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 30 Jul 2025 14:45:30 -0400 Subject: [PATCH 0112/1301] r/aws_quicksight_custom_permissions: Generate tagging tests. --- .../service/quicksight/custom_permissions.go | 3 +- .../custom_permissions_tags_gen_test.go | 2274 +++++++++++++++++ .../CustomPermissions/tags/main_gen.tf | 25 + .../tagsComputed1/main_gen.tf | 29 + .../tagsComputed2/main_gen.tf | 40 + .../tags_defaults/main_gen.tf | 36 + .../CustomPermissions/tags_ignore/main_gen.tf | 45 + .../tmpl/custom_permissions_tags.gtpl | 9 + 8 files changed, 2460 insertions(+), 1 deletion(-) create mode 100644 internal/service/quicksight/custom_permissions_tags_gen_test.go create mode 100644 internal/service/quicksight/testdata/CustomPermissions/tags/main_gen.tf create mode 100644 internal/service/quicksight/testdata/CustomPermissions/tagsComputed1/main_gen.tf create mode 100644 internal/service/quicksight/testdata/CustomPermissions/tagsComputed2/main_gen.tf create mode 100644 internal/service/quicksight/testdata/CustomPermissions/tags_defaults/main_gen.tf create mode 100644 internal/service/quicksight/testdata/CustomPermissions/tags_ignore/main_gen.tf create mode 100644 internal/service/quicksight/testdata/tmpl/custom_permissions_tags.gtpl diff --git a/internal/service/quicksight/custom_permissions.go b/internal/service/quicksight/custom_permissions.go index 97565efd4354..9619e83c8aee 100644 --- a/internal/service/quicksight/custom_permissions.go +++ b/internal/service/quicksight/custom_permissions.go @@ -37,7 +37,8 @@ import ( // @FrameworkResource("aws_quicksight_custom_permissions", name="Custom Permissions") // @Tags(identifierAttribute="arn") -// @Testing(tagsTest=false) +// @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/quicksight/types;awstypes;awstypes.CustomPermissions") +// @Testing(skipEmptyTags=true, skipNullTags=true) func newCustomPermissionsResource(_ context.Context) (resource.ResourceWithConfigure, error) { r := &customPermissionsResource{} diff --git a/internal/service/quicksight/custom_permissions_tags_gen_test.go b/internal/service/quicksight/custom_permissions_tags_gen_test.go new file mode 100644 index 000000000000..072065dae1f4 --- /dev/null +++ b/internal/service/quicksight/custom_permissions_tags_gen_test.go @@ -0,0 +1,2274 @@ +// Code generated by internal/generate/tagstests/main.go; DO NOT EDIT. + +package quicksight_test + +import ( + "testing" + + awstypes "github.com/aws/aws-sdk-go-v2/service/quicksight/types" + "github.com/hashicorp/terraform-plugin-testing/config" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccQuickSightCustomPermissions_tags(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1Updated), + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1Updated), + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_null(t *testing.T) { + t.Skip("Resource CustomPermissions does not support null tags") + + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: nil, + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.Null(), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.Null(), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: nil, + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" + }, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_EmptyMap(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{}), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{}), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" + }, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_AddOnUpdate(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_EmptyTag_OnCreate(t *testing.T) { + t.Skip("Resource CustomPermissions does not support empty tags") + + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_EmptyTag_OnUpdate_Add(t *testing.T) { + t.Skip("Resource CustomPermissions does not support empty tags") + + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + acctest.CtKey2: config.StringVariable(""), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + acctest.CtKey2: knownvalue.StringExact(""), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + acctest.CtKey2: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + acctest.CtKey2: knownvalue.StringExact(""), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + acctest.CtKey2: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + acctest.CtKey2: config.StringVariable(""), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { + t.Skip("Resource CustomPermissions does not support empty tags") + + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_DefaultTags_providerOnly(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1Updated), + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1Updated), + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_DefaultTags_nonOverlapping(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1Updated), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1Updated), + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1Updated), + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1Updated), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_DefaultTags_overlapping(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + acctest.CtOverlapKey2: config.StringVariable("providervalue2"), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), + acctest.CtOverlapKey2: config.StringVariable(acctest.CtResourceValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtOverlapKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtOverlapKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtOverlapKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtOverlapKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + acctest.CtOverlapKey2: config.StringVariable("providervalue2"), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), + acctest.CtOverlapKey2: config.StringVariable(acctest.CtResourceValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_DefaultTags_updateToProviderOnly(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_DefaultTags_updateToResourceOnly(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_DefaultTags_emptyResourceTag(t *testing.T) { + t.Skip("Resource CustomPermissions does not support empty tags") + + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { + t.Skip("Resource CustomPermissions does not support empty tags") + + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { + t.Skip("Resource CustomPermissions does not support null tags") + + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: nil, + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.Null(), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.Null(), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: nil, + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" + }, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { + t.Skip("Resource CustomPermissions does not support null tags") + + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: nil, + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.Null(), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(""), + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.Null(), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(""), + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: nil, + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "tags.resourcekey1", // The canonical value returned by the AWS API is "" + }, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_ComputedTag_OnCreate(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tagsComputed1/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable("computedkey1"), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + resource.TestCheckResourceAttrPair(resourceName, "tags.computedkey1", "null_resource.test", names.AttrID), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapSizeExact(1)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapSizeExact(1)), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTags).AtMapKey("computedkey1")), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tagsComputed1/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable("computedkey1"), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_ComputedTag_OnUpdate_Add(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tagsComputed2/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable("computedkey1"), + "knownTagKey": config.StringVariable(acctest.CtKey1), + "knownTagValue": config.StringVariable(acctest.CtValue1), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + resource.TestCheckResourceAttrPair(resourceName, "tags.computedkey1", "null_resource.test", names.AttrID), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapSizeExact(2)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapPartial(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapSizeExact(2)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapPartial(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTags).AtMapKey("computedkey1")), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tagsComputed2/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable("computedkey1"), + "knownTagKey": config.StringVariable(acctest.CtKey1), + "knownTagValue": config.StringVariable(acctest.CtValue1), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tagsComputed1/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable(acctest.CtKey1), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + resource.TestCheckResourceAttrPair(resourceName, acctest.CtTagsKey1, "null_resource.test", names.AttrID), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapSizeExact(1)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapSizeExact(1)), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTags).AtMapKey(acctest.CtKey1)), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tagsComputed1/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable(acctest.CtKey1), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + // 1: Create + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtProviderKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), // TODO: Should not be set + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + }, + }, + // 2: Update ignored tag only + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1Updated), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtProviderKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), // TODO: Should not be set + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + }, + }, + // 3: Update both tags + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1Again), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Updated), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtProviderKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), // TODO: Should not be set + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + }, + }, + }, + }) +} + +func TestAccQuickSightCustomPermissions_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.CustomPermissions + resourceName := "aws_quicksight_custom_permissions.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + CheckDestroy: testAccCheckCustomPermissionsDestroy(ctx), + Steps: []resource.TestStep{ + // 1: Create + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtResourceKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), // TODO: Should not be set + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), // TODO: Should be NoOp + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + ExpectNonEmptyPlan: true, + }, + // 2: Update ignored tag + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtResourceKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), // TODO: Should not be set + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), // TODO: Should be NoOp + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + ExpectNonEmptyPlan: true, + }, + // 3: Update both tags + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Again), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2Updated), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtResourceKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckCustomPermissionsExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Again), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), // TODO: Should not be set + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Again), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), // TODO: Should be NoOp + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Again), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + }, + }, + ExpectNonEmptyPlan: true, + }, + }, + }) +} diff --git a/internal/service/quicksight/testdata/CustomPermissions/tags/main_gen.tf b/internal/service/quicksight/testdata/CustomPermissions/tags/main_gen.tf new file mode 100644 index 000000000000..594dc355d23f --- /dev/null +++ b/internal/service/quicksight/testdata/CustomPermissions/tags/main_gen.tf @@ -0,0 +1,25 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_quicksight_custom_permissions" "test" { + custom_permissions_name = var.rName + + capabilities { + print_reports = "DENY" + share_dashboards = "DENY" + } + + tags = var.resource_tags +} +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "resource_tags" { + description = "Tags to set on resource. To specify no tags, set to `null`" + # Not setting a default, so that this must explicitly be set to `null` to specify no tags + type = map(string) + nullable = true +} diff --git a/internal/service/quicksight/testdata/CustomPermissions/tagsComputed1/main_gen.tf b/internal/service/quicksight/testdata/CustomPermissions/tagsComputed1/main_gen.tf new file mode 100644 index 000000000000..f53246a3e309 --- /dev/null +++ b/internal/service/quicksight/testdata/CustomPermissions/tagsComputed1/main_gen.tf @@ -0,0 +1,29 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "null" {} + +resource "aws_quicksight_custom_permissions" "test" { + custom_permissions_name = var.rName + + capabilities { + print_reports = "DENY" + share_dashboards = "DENY" + } + + tags = { + (var.unknownTagKey) = null_resource.test.id + } +} +resource "null_resource" "test" {} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "unknownTagKey" { + type = string + nullable = false +} diff --git a/internal/service/quicksight/testdata/CustomPermissions/tagsComputed2/main_gen.tf b/internal/service/quicksight/testdata/CustomPermissions/tagsComputed2/main_gen.tf new file mode 100644 index 000000000000..5e0d566f8895 --- /dev/null +++ b/internal/service/quicksight/testdata/CustomPermissions/tagsComputed2/main_gen.tf @@ -0,0 +1,40 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "null" {} + +resource "aws_quicksight_custom_permissions" "test" { + custom_permissions_name = var.rName + + capabilities { + print_reports = "DENY" + share_dashboards = "DENY" + } + + tags = { + (var.unknownTagKey) = null_resource.test.id + (var.knownTagKey) = var.knownTagValue + } +} +resource "null_resource" "test" {} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "unknownTagKey" { + type = string + nullable = false +} + +variable "knownTagKey" { + type = string + nullable = false +} + +variable "knownTagValue" { + type = string + nullable = false +} diff --git a/internal/service/quicksight/testdata/CustomPermissions/tags_defaults/main_gen.tf b/internal/service/quicksight/testdata/CustomPermissions/tags_defaults/main_gen.tf new file mode 100644 index 000000000000..dcff11bb1132 --- /dev/null +++ b/internal/service/quicksight/testdata/CustomPermissions/tags_defaults/main_gen.tf @@ -0,0 +1,36 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "aws" { + default_tags { + tags = var.provider_tags + } +} + +resource "aws_quicksight_custom_permissions" "test" { + custom_permissions_name = var.rName + + capabilities { + print_reports = "DENY" + share_dashboards = "DENY" + } + + tags = var.resource_tags +} +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "resource_tags" { + description = "Tags to set on resource. To specify no tags, set to `null`" + # Not setting a default, so that this must explicitly be set to `null` to specify no tags + type = map(string) + nullable = true +} + +variable "provider_tags" { + type = map(string) + nullable = false +} diff --git a/internal/service/quicksight/testdata/CustomPermissions/tags_ignore/main_gen.tf b/internal/service/quicksight/testdata/CustomPermissions/tags_ignore/main_gen.tf new file mode 100644 index 000000000000..b67889b92a79 --- /dev/null +++ b/internal/service/quicksight/testdata/CustomPermissions/tags_ignore/main_gen.tf @@ -0,0 +1,45 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "aws" { + default_tags { + tags = var.provider_tags + } + ignore_tags { + keys = var.ignore_tag_keys + } +} + +resource "aws_quicksight_custom_permissions" "test" { + custom_permissions_name = var.rName + + capabilities { + print_reports = "DENY" + share_dashboards = "DENY" + } + + tags = var.resource_tags +} +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "resource_tags" { + description = "Tags to set on resource. To specify no tags, set to `null`" + # Not setting a default, so that this must explicitly be set to `null` to specify no tags + type = map(string) + nullable = true +} + +variable "provider_tags" { + type = map(string) + nullable = true + default = null +} + +variable "ignore_tag_keys" { + type = set(string) + nullable = false +} diff --git a/internal/service/quicksight/testdata/tmpl/custom_permissions_tags.gtpl b/internal/service/quicksight/testdata/tmpl/custom_permissions_tags.gtpl new file mode 100644 index 000000000000..40d53ea6bcde --- /dev/null +++ b/internal/service/quicksight/testdata/tmpl/custom_permissions_tags.gtpl @@ -0,0 +1,9 @@ +resource "aws_quicksight_custom_permissions" "test" { + custom_permissions_name = var.rName + + capabilities { + print_reports = "DENY" + share_dashboards = "DENY" + } +{{- template "tags" . }} +} \ No newline at end of file From 21cabdd5d3a89d180b7e93ea3a646b3ebc9a455c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 30 Jul 2025 14:52:29 -0400 Subject: [PATCH 0113/1301] Don't forget 'getTagsIn'. --- internal/service/quicksight/custom_permissions.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/internal/service/quicksight/custom_permissions.go b/internal/service/quicksight/custom_permissions.go index 9619e83c8aee..6254290aaaca 100644 --- a/internal/service/quicksight/custom_permissions.go +++ b/internal/service/quicksight/custom_permissions.go @@ -117,6 +117,9 @@ func (r *customPermissionsResource) Create(ctx context.Context, request resource return } + // Additional fields. + input.Tags = getTagsIn(ctx) + output, err := conn.CreateCustomPermissions(ctx, &input) if err != nil { From 3f4e7acf7f83e080ca7bb47232bf4f7fa76d7d94 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 30 Jul 2025 15:02:36 -0400 Subject: [PATCH 0114/1301] Add 'testAccCustomPermissionsImportStateID'. --- .../service/quicksight/custom_permissions.go | 1 + .../custom_permissions_tags_gen_test.go | 248 +++++++++++------- .../quicksight/custom_permissions_test.go | 10 +- 3 files changed, 164 insertions(+), 95 deletions(-) diff --git a/internal/service/quicksight/custom_permissions.go b/internal/service/quicksight/custom_permissions.go index 6254290aaaca..e0a635457aa8 100644 --- a/internal/service/quicksight/custom_permissions.go +++ b/internal/service/quicksight/custom_permissions.go @@ -39,6 +39,7 @@ import ( // @Tags(identifierAttribute="arn") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/quicksight/types;awstypes;awstypes.CustomPermissions") // @Testing(skipEmptyTags=true, skipNullTags=true) +// @Testing(importStateIdFunc="testAccCustomPermissionsImportStateID", importStateIdAttribute="custom_permissions_name") func newCustomPermissionsResource(_ context.Context) (resource.ResourceWithConfigure, error) { r := &customPermissionsResource{} diff --git a/internal/service/quicksight/custom_permissions_tags_gen_test.go b/internal/service/quicksight/custom_permissions_tags_gen_test.go index 072065dae1f4..82bc2119e30b 100644 --- a/internal/service/quicksight/custom_permissions_tags_gen_test.go +++ b/internal/service/quicksight/custom_permissions_tags_gen_test.go @@ -67,9 +67,11 @@ func TestAccQuickSightCustomPermissions_tags(t *testing.T) { acctest.CtKey1: config.StringVariable(acctest.CtValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, { ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), @@ -116,9 +118,11 @@ func TestAccQuickSightCustomPermissions_tags(t *testing.T) { acctest.CtKey2: config.StringVariable(acctest.CtValue2), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, { ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), @@ -159,9 +163,11 @@ func TestAccQuickSightCustomPermissions_tags(t *testing.T) { acctest.CtKey2: config.StringVariable(acctest.CtValue2), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, { ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), @@ -190,9 +196,11 @@ func TestAccQuickSightCustomPermissions_tags(t *testing.T) { acctest.CtRName: config.StringVariable(rName), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) @@ -251,9 +259,11 @@ func TestAccQuickSightCustomPermissions_tags_null(t *testing.T) { acctest.CtKey1: nil, }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", ImportStateVerifyIgnore: []string{ acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" }, @@ -301,9 +311,11 @@ func TestAccQuickSightCustomPermissions_tags_EmptyMap(t *testing.T) { acctest.CtRName: config.StringVariable(rName), acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{}), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", ImportStateVerifyIgnore: []string{ acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" }, @@ -384,9 +396,11 @@ func TestAccQuickSightCustomPermissions_tags_AddOnUpdate(t *testing.T) { acctest.CtKey1: config.StringVariable(acctest.CtValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) @@ -445,9 +459,11 @@ func TestAccQuickSightCustomPermissions_tags_EmptyTag_OnCreate(t *testing.T) { acctest.CtKey1: config.StringVariable(""), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, { ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), @@ -476,9 +492,11 @@ func TestAccQuickSightCustomPermissions_tags_EmptyTag_OnCreate(t *testing.T) { acctest.CtRName: config.StringVariable(rName), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) @@ -574,9 +592,11 @@ func TestAccQuickSightCustomPermissions_tags_EmptyTag_OnUpdate_Add(t *testing.T) acctest.CtKey2: config.StringVariable(""), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, { ConfigDirectory: config.StaticDirectory("testdata/CustomPermissions/tags/"), @@ -617,9 +637,11 @@ func TestAccQuickSightCustomPermissions_tags_EmptyTag_OnUpdate_Add(t *testing.T) acctest.CtKey1: config.StringVariable(acctest.CtValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) @@ -709,9 +731,11 @@ func TestAccQuickSightCustomPermissions_tags_EmptyTag_OnUpdate_Replace(t *testin acctest.CtKey1: config.StringVariable(""), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) @@ -767,9 +791,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_providerOnly(t *testing }), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -814,9 +840,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_providerOnly(t *testing }), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -857,9 +885,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_providerOnly(t *testing }), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -890,9 +920,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_providerOnly(t *testing acctest.CtRName: config.StringVariable(rName), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) @@ -958,9 +990,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_nonOverlapping(t *testi acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -1017,9 +1051,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_nonOverlapping(t *testi acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -1050,9 +1086,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_nonOverlapping(t *testi acctest.CtRName: config.StringVariable(rName), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) @@ -1116,9 +1154,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_overlapping(t *testing. acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -1175,9 +1215,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_overlapping(t *testing. acctest.CtOverlapKey2: config.StringVariable(acctest.CtResourceValue2), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -1226,9 +1268,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_overlapping(t *testing. acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue2), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) @@ -1316,9 +1360,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_updateToProviderOnly(t }), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) @@ -1405,9 +1451,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_updateToResourceOnly(t acctest.CtKey1: config.StringVariable(acctest.CtValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) @@ -1473,9 +1521,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_emptyResourceTag(t *tes acctest.CtKey1: config.StringVariable(""), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) @@ -1533,9 +1583,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_emptyProviderOnlyTag(t }), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) @@ -1601,9 +1653,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_nullOverlappingResource acctest.CtKey1: nil, }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", ImportStateVerifyIgnore: []string{ acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" }, @@ -1674,9 +1728,11 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_nullNonOverlappingResou acctest.CtResourceKey1: nil, }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", ImportStateVerifyIgnore: []string{ "tags.resourcekey1", // The canonical value returned by the AWS API is "" }, @@ -1732,9 +1788,11 @@ func TestAccQuickSightCustomPermissions_tags_ComputedTag_OnCreate(t *testing.T) acctest.CtRName: config.StringVariable(rName), "unknownTagKey": config.StringVariable("computedkey1"), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) @@ -1829,9 +1887,11 @@ func TestAccQuickSightCustomPermissions_tags_ComputedTag_OnUpdate_Add(t *testing "knownTagKey": config.StringVariable(acctest.CtKey1), "knownTagValue": config.StringVariable(acctest.CtValue1), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) @@ -1916,9 +1976,11 @@ func TestAccQuickSightCustomPermissions_tags_ComputedTag_OnUpdate_Replace(t *tes acctest.CtRName: config.StringVariable(rName), "unknownTagKey": config.StringVariable(acctest.CtKey1), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, }) diff --git a/internal/service/quicksight/custom_permissions_test.go b/internal/service/quicksight/custom_permissions_test.go index ebcad6311f5c..34d437f1f227 100644 --- a/internal/service/quicksight/custom_permissions_test.go +++ b/internal/service/quicksight/custom_permissions_test.go @@ -91,7 +91,7 @@ func TestAccQuickSightCustomPermissions_basic(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateIdFunc: acctest.AttrsImportStateIdFunc(resourceName, ",", names.AttrAWSAccountID, "custom_permissions_name"), + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, }, @@ -188,7 +188,7 @@ func TestAccQuickSightCustomPermissions_update(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateIdFunc: acctest.AttrsImportStateIdFunc(resourceName, ",", names.AttrAWSAccountID, "custom_permissions_name"), + ImportStateIdFunc: testAccCustomPermissionsImportStateID(resourceName), ImportStateVerifyIdentifierAttribute: "custom_permissions_name", }, { @@ -274,6 +274,12 @@ func testAccCheckCustomPermissionsExists(ctx context.Context, n string, v *awsty } } +func testAccCustomPermissionsImportStateID(n string) resource.ImportStateIdFunc { + return func(s *terraform.State) (string, error) { + return acctest.AttrsImportStateIdFunc(n, ",", names.AttrAWSAccountID, "custom_permissions_name")(s) + } +} + func testAccCustomPermissionsConfig_basic(rName string) string { return fmt.Sprintf(` resource "aws_quicksight_custom_permissions" "test" { From 6c211fb500da666ce39a577e6234069a8201b219 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 30 Jul 2025 15:08:37 -0400 Subject: [PATCH 0115/1301] Correct CHANGELOG entry file name. --- .changelog/{#####.txt => 43613.txt} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .changelog/{#####.txt => 43613.txt} (100%) diff --git a/.changelog/#####.txt b/.changelog/43613.txt similarity index 100% rename from .changelog/#####.txt rename to .changelog/43613.txt From f10eceaaad688b8f10f01863603ad9e166839c31 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 30 Jul 2025 15:35:32 -0400 Subject: [PATCH 0116/1301] quicksight: Use 'defaultNamespace' constant. --- internal/service/quicksight/account_settings.go | 2 +- internal/service/quicksight/account_settings_test.go | 3 ++- .../service/quicksight/account_subscription_test.go | 3 +-- internal/service/quicksight/consts.go | 4 ++++ internal/service/quicksight/exports_test.go | 3 +-- internal/service/quicksight/group.go | 6 +----- internal/service/quicksight/group_data_source.go | 2 +- internal/service/quicksight/group_data_source_test.go | 2 +- internal/service/quicksight/group_membership.go | 2 +- internal/service/quicksight/iam_policy_assignment.go | 2 +- .../service/quicksight/iam_policy_assignment_test.go | 10 +++++----- internal/service/quicksight/role_membership.go | 2 +- internal/service/quicksight/sweep.go | 8 ++++---- internal/service/quicksight/user.go | 6 +----- internal/service/quicksight/user_data_source.go | 2 +- internal/service/quicksight/user_data_source_test.go | 2 +- 16 files changed, 27 insertions(+), 32 deletions(-) diff --git a/internal/service/quicksight/account_settings.go b/internal/service/quicksight/account_settings.go index 87cc58a0a467..1171dd9c2168 100644 --- a/internal/service/quicksight/account_settings.go +++ b/internal/service/quicksight/account_settings.go @@ -69,7 +69,7 @@ func (r *accountSettingsResource) Schema(ctx context.Context, request resource.S "default_namespace": schema.StringAttribute{ Optional: true, Computed: true, - Default: stringdefault.StaticString("default"), + Default: stringdefault.StaticString(defaultNamespace), PlanModifiers: []planmodifier.String{ stringplanmodifier.RequiresReplace(), }, diff --git a/internal/service/quicksight/account_settings_test.go b/internal/service/quicksight/account_settings_test.go index d09d32b0f946..17e2c39e047f 100644 --- a/internal/service/quicksight/account_settings_test.go +++ b/internal/service/quicksight/account_settings_test.go @@ -14,6 +14,7 @@ import ( "github.com/hashicorp/terraform-plugin-testing/terraform" "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfquicksight "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -42,7 +43,7 @@ func testAccAccountSettings_basic(t *testing.T) { }, ConfigStateChecks: []statecheck.StateCheck{ statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrAWSAccountID), knownvalue.NotNull()), - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("default_namespace"), knownvalue.StringExact("default")), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("default_namespace"), knownvalue.StringExact(tfquicksight.DefaultNamespace)), statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("termination_protection_enabled"), knownvalue.Bool(false)), }, }, diff --git a/internal/service/quicksight/account_subscription_test.go b/internal/service/quicksight/account_subscription_test.go index dab09b7bf49c..f58bfe38bf8d 100644 --- a/internal/service/quicksight/account_subscription_test.go +++ b/internal/service/quicksight/account_subscription_test.go @@ -125,10 +125,9 @@ func testAccCheckAccountSubscriptionDisableTerminationProtection(ctx context.Con conn := acctest.Provider.Meta().(*conns.AWSClient).QuickSightClient(ctx) - defaultNs := "default" input := &quicksight.UpdateAccountSettingsInput{ AwsAccountId: aws.String(rs.Primary.ID), - DefaultNamespace: aws.String(defaultNs), + DefaultNamespace: aws.String(tfquicksight.DefaultNamespace), TerminationProtectionEnabled: false, } diff --git a/internal/service/quicksight/consts.go b/internal/service/quicksight/consts.go index a46586ae38cb..b95e29570798 100644 --- a/internal/service/quicksight/consts.go +++ b/internal/service/quicksight/consts.go @@ -10,3 +10,7 @@ import ( const ( iamPropagationTimeout = 2 * time.Minute ) + +const ( + defaultNamespace = "default" +) diff --git a/internal/service/quicksight/exports_test.go b/internal/service/quicksight/exports_test.go index 4cad4a0be971..fc349e9f053f 100644 --- a/internal/service/quicksight/exports_test.go +++ b/internal/service/quicksight/exports_test.go @@ -30,8 +30,7 @@ var ( ResourceVPCConnection = newVPCConnectionResource DashboardLatestVersion = dashboardLatestVersion - DefaultGroupNamespace = defaultGroupNamespace - DefaultUserNamespace = defaultUserNamespace + DefaultNamespace = defaultNamespace FindAccountSettingsByID = findAccountSettingsByID FindAccountSubscriptionByID = findAccountSubscriptionByID FindAnalysisByTwoPartKey = findAnalysisByTwoPartKey diff --git a/internal/service/quicksight/group.go b/internal/service/quicksight/group.go index a74f6544a3a0..5369727c5aed 100644 --- a/internal/service/quicksight/group.go +++ b/internal/service/quicksight/group.go @@ -24,10 +24,6 @@ import ( "github.com/hashicorp/terraform-provider-aws/names" ) -const ( - defaultGroupNamespace = "default" -) - // @SDKResource("aws_quicksight_group", name="Group") func resourceGroup() *schema.Resource { return &schema.Resource{ @@ -65,7 +61,7 @@ func resourceGroup() *schema.Resource { Type: schema.TypeString, Optional: true, ForceNew: true, - Default: defaultGroupNamespace, + Default: defaultNamespace, ValidateFunc: validation.All( validation.StringLenBetween(1, 63), validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]*$`), "must contain only alphanumeric characters, hyphens, underscores, and periods"), diff --git a/internal/service/quicksight/group_data_source.go b/internal/service/quicksight/group_data_source.go index 28b296dea55b..744abb3ff598 100644 --- a/internal/service/quicksight/group_data_source.go +++ b/internal/service/quicksight/group_data_source.go @@ -42,7 +42,7 @@ func dataSourceGroup() *schema.Resource { names.AttrNamespace: { Type: schema.TypeString, Optional: true, - Default: defaultGroupNamespace, + Default: defaultNamespace, ValidateFunc: validation.All( validation.StringLenBetween(1, 63), validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]*$`), "must contain only alphanumeric characters, hyphens, underscores, and periods"), diff --git a/internal/service/quicksight/group_data_source_test.go b/internal/service/quicksight/group_data_source_test.go index 312dc447f9df..0ff51c45a124 100644 --- a/internal/service/quicksight/group_data_source_test.go +++ b/internal/service/quicksight/group_data_source_test.go @@ -33,7 +33,7 @@ func TestAccQuickSightGroupDataSource_basic(t *testing.T) { resource.TestCheckResourceAttrPair(dataSourceName, names.AttrGroupName, resourceName, names.AttrGroupName), resource.TestCheckResourceAttrPair(dataSourceName, names.AttrARN, resourceName, names.AttrARN), resource.TestCheckResourceAttr(dataSourceName, names.AttrDescription, "text1"), - resource.TestCheckResourceAttr(dataSourceName, names.AttrNamespace, tfquicksight.DefaultGroupNamespace), + resource.TestCheckResourceAttr(dataSourceName, names.AttrNamespace, tfquicksight.DefaultNamespace), resource.TestCheckResourceAttrSet(dataSourceName, "principal_id"), ), }, diff --git a/internal/service/quicksight/group_membership.go b/internal/service/quicksight/group_membership.go index 49a5801de719..2bda5382fe3a 100644 --- a/internal/service/quicksight/group_membership.go +++ b/internal/service/quicksight/group_membership.go @@ -62,7 +62,7 @@ func resourceGroupMembership() *schema.Resource { Type: schema.TypeString, Optional: true, ForceNew: true, - Default: "default", + Default: defaultNamespace, ValidateFunc: validation.All( validation.StringLenBetween(1, 63), validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]*$`), "must contain only alphanumeric characters, hyphens, underscores, and periods"), diff --git a/internal/service/quicksight/iam_policy_assignment.go b/internal/service/quicksight/iam_policy_assignment.go index d758555dc705..fc0f3ce1213f 100644 --- a/internal/service/quicksight/iam_policy_assignment.go +++ b/internal/service/quicksight/iam_policy_assignment.go @@ -68,7 +68,7 @@ func (r *iamPolicyAssignmentResource) Schema(ctx context.Context, request resour names.AttrNamespace: schema.StringAttribute{ Optional: true, Computed: true, - Default: stringdefault.StaticString("default"), + Default: stringdefault.StaticString(defaultNamespace), PlanModifiers: []planmodifier.String{ stringplanmodifier.RequiresReplace(), }, diff --git a/internal/service/quicksight/iam_policy_assignment_test.go b/internal/service/quicksight/iam_policy_assignment_test.go index e111b9b92a4f..bbd1d117c45f 100644 --- a/internal/service/quicksight/iam_policy_assignment_test.go +++ b/internal/service/quicksight/iam_policy_assignment_test.go @@ -37,7 +37,7 @@ func TestAccQuickSightIAMPolicyAssignment_basic(t *testing.T) { testAccCheckIAMPolicyAssignmentExists(ctx, resourceName, &assignment), resource.TestCheckResourceAttr(resourceName, "assignment_name", rName), resource.TestCheckResourceAttr(resourceName, "assignment_status", string(awstypes.AssignmentStatusEnabled)), - resource.TestCheckResourceAttr(resourceName, names.AttrNamespace, "default"), + resource.TestCheckResourceAttr(resourceName, names.AttrNamespace, tfquicksight.DefaultNamespace), ), }, { @@ -91,7 +91,7 @@ func TestAccQuickSightIAMPolicyAssignment_assignmentStatus(t *testing.T) { testAccCheckIAMPolicyAssignmentExists(ctx, resourceName, &assignment), resource.TestCheckResourceAttr(resourceName, "assignment_name", rName), resource.TestCheckResourceAttr(resourceName, "assignment_status", string(awstypes.AssignmentStatusDraft)), - resource.TestCheckResourceAttr(resourceName, names.AttrNamespace, "default"), + resource.TestCheckResourceAttr(resourceName, names.AttrNamespace, tfquicksight.DefaultNamespace), ), }, { @@ -105,7 +105,7 @@ func TestAccQuickSightIAMPolicyAssignment_assignmentStatus(t *testing.T) { testAccCheckIAMPolicyAssignmentExists(ctx, resourceName, &assignment), resource.TestCheckResourceAttr(resourceName, "assignment_name", rName), resource.TestCheckResourceAttr(resourceName, "assignment_status", string(awstypes.AssignmentStatusEnabled)), - resource.TestCheckResourceAttr(resourceName, names.AttrNamespace, "default"), + resource.TestCheckResourceAttr(resourceName, names.AttrNamespace, tfquicksight.DefaultNamespace), ), }, { @@ -114,7 +114,7 @@ func TestAccQuickSightIAMPolicyAssignment_assignmentStatus(t *testing.T) { testAccCheckIAMPolicyAssignmentExists(ctx, resourceName, &assignment), resource.TestCheckResourceAttr(resourceName, "assignment_name", rName), resource.TestCheckResourceAttr(resourceName, "assignment_status", string(awstypes.AssignmentStatusDisabled)), - resource.TestCheckResourceAttr(resourceName, names.AttrNamespace, "default"), + resource.TestCheckResourceAttr(resourceName, names.AttrNamespace, tfquicksight.DefaultNamespace), ), }, }, @@ -141,7 +141,7 @@ func TestAccQuickSightIAMPolicyAssignment_identities(t *testing.T) { testAccCheckIAMPolicyAssignmentExists(ctx, resourceName, &assignment), resource.TestCheckResourceAttr(resourceName, "assignment_name", rName), resource.TestCheckResourceAttr(resourceName, "assignment_status", string(awstypes.AssignmentStatusEnabled)), - resource.TestCheckResourceAttr(resourceName, names.AttrNamespace, "default"), + resource.TestCheckResourceAttr(resourceName, names.AttrNamespace, tfquicksight.DefaultNamespace), resource.TestCheckResourceAttr(resourceName, "identities.#", "1"), resource.TestCheckResourceAttr(resourceName, "identities.0.user.#", "1"), resource.TestCheckResourceAttrPair(resourceName, "identities.0.user.0", userResourceName, names.AttrUserName), diff --git a/internal/service/quicksight/role_membership.go b/internal/service/quicksight/role_membership.go index bc3010627e72..899ee5bc70f4 100644 --- a/internal/service/quicksight/role_membership.go +++ b/internal/service/quicksight/role_membership.go @@ -62,7 +62,7 @@ func (r *roleMembershipResource) Schema(ctx context.Context, req resource.Schema names.AttrNamespace: schema.StringAttribute{ Optional: true, Computed: true, - Default: stringdefault.StaticString("default"), + Default: stringdefault.StaticString(defaultNamespace), PlanModifiers: []planmodifier.String{ stringplanmodifier.RequiresReplace(), }, diff --git a/internal/service/quicksight/sweep.go b/internal/service/quicksight/sweep.go index 975f7a1c226a..9afe9236221c 100644 --- a/internal/service/quicksight/sweep.go +++ b/internal/service/quicksight/sweep.go @@ -249,7 +249,7 @@ func sweepGroups(region string) error { awsAccountID := client.AccountID(ctx) input := &quicksight.ListGroupsInput{ AwsAccountId: aws.String(awsAccountID), - Namespace: aws.String(defaultUserNamespace), + Namespace: aws.String(defaultNamespace), } pages := quicksight.NewListGroupsPaginator(conn, input) @@ -275,7 +275,7 @@ func sweepGroups(region string) error { r := resourceGroup() d := r.Data(nil) - d.SetId(groupCreateResourceID(awsAccountID, defaultUserNamespace, groupName)) + d.SetId(groupCreateResourceID(awsAccountID, defaultNamespace, groupName)) sweepResources = append(sweepResources, sweep.NewSweepResource(r, d, client)) } @@ -345,7 +345,7 @@ func sweepUsers(region string) error { awsAccountID := client.AccountID(ctx) input := &quicksight.ListUsersInput{ AwsAccountId: aws.String(awsAccountID), - Namespace: aws.String(defaultUserNamespace), + Namespace: aws.String(defaultNamespace), } pages := quicksight.NewListUsersPaginator(conn, input) @@ -371,7 +371,7 @@ func sweepUsers(region string) error { r := resourceUser() d := r.Data(nil) - d.SetId(userCreateResourceID(awsAccountID, defaultUserNamespace, userName)) + d.SetId(userCreateResourceID(awsAccountID, defaultNamespace, userName)) sweepResources = append(sweepResources, sweep.NewSweepResource(r, d, client)) } diff --git a/internal/service/quicksight/user.go b/internal/service/quicksight/user.go index aa1bcdfe6d9f..6961665e8339 100644 --- a/internal/service/quicksight/user.go +++ b/internal/service/quicksight/user.go @@ -25,10 +25,6 @@ import ( "github.com/hashicorp/terraform-provider-aws/names" ) -const ( - defaultUserNamespace = "default" -) - // @SDKResource("aws_quicksight_user", name="User") func resourceUser() *schema.Resource { return &schema.Resource{ @@ -72,7 +68,7 @@ func resourceUser() *schema.Resource { Type: schema.TypeString, Optional: true, ForceNew: true, - Default: defaultUserNamespace, + Default: defaultNamespace, ValidateFunc: validation.All( validation.StringLenBetween(1, 63), validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]*$`), "must contain only alphanumeric characters, hyphens, underscores, and periods"), diff --git a/internal/service/quicksight/user_data_source.go b/internal/service/quicksight/user_data_source.go index 773f4a5562f4..4b291da19705 100644 --- a/internal/service/quicksight/user_data_source.go +++ b/internal/service/quicksight/user_data_source.go @@ -46,7 +46,7 @@ func dataSourceUser() *schema.Resource { names.AttrNamespace: { Type: schema.TypeString, Optional: true, - Default: defaultUserNamespace, + Default: defaultNamespace, ValidateFunc: validation.All( validation.StringLenBetween(1, 63), validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]*$`), "must contain only alphanumeric characters, hyphens, underscores, and periods"), diff --git a/internal/service/quicksight/user_data_source_test.go b/internal/service/quicksight/user_data_source_test.go index 9a2ecb1f32ea..cde98e4a85b0 100644 --- a/internal/service/quicksight/user_data_source_test.go +++ b/internal/service/quicksight/user_data_source_test.go @@ -34,7 +34,7 @@ func TestAccQuickSightUserDataSource_basic(t *testing.T) { resource.TestCheckResourceAttrPair(dataSourceName, names.AttrUserName, resourceName, names.AttrUserName), resource.TestCheckResourceAttrPair(dataSourceName, names.AttrARN, resourceName, names.AttrARN), resource.TestCheckResourceAttr(dataSourceName, names.AttrEmail, acctest.DefaultEmailAddress), - resource.TestCheckResourceAttr(dataSourceName, names.AttrNamespace, tfquicksight.DefaultUserNamespace), + resource.TestCheckResourceAttr(dataSourceName, names.AttrNamespace, tfquicksight.DefaultNamespace), resource.TestCheckResourceAttr(dataSourceName, "identity_type", string(awstypes.IdentityTypeQuicksight)), resource.TestCheckResourceAttrSet(dataSourceName, "principal_id"), resource.TestCheckResourceAttr(dataSourceName, "user_role", string(awstypes.UserRoleReader)), From 4091738802a5844d184470ecd4160ae37fe45f64 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 30 Jul 2025 16:10:43 -0400 Subject: [PATCH 0117/1301] Add 'quicksight/schema.AWSAccountIDAttribute'. --- .../service/quicksight/account_settings.go | 19 ++--- .../service/quicksight/custom_permissions.go | 16 +--- .../service/quicksight/folder_membership.go | 46 +++++----- .../quicksight/iam_policy_assignment.go | 14 +--- internal/service/quicksight/ingestion.go | 40 ++++----- internal/service/quicksight/ip_restriction.go | 15 +--- .../service/quicksight/key_registration.go | 16 +--- internal/service/quicksight/namespace.go | 64 +++++++------- .../service/quicksight/refresh_schedule.go | 59 ++++++------- .../service/quicksight/role_membership.go | 36 ++++---- .../quicksight/schema/stdattributes.go | 26 ++++++ internal/service/quicksight/template_alias.go | 56 ++++++------- internal/service/quicksight/vpc_connection.go | 84 +++++++++---------- 13 files changed, 213 insertions(+), 278 deletions(-) create mode 100644 internal/service/quicksight/schema/stdattributes.go diff --git a/internal/service/quicksight/account_settings.go b/internal/service/quicksight/account_settings.go index 1171dd9c2168..c6c641913eb8 100644 --- a/internal/service/quicksight/account_settings.go +++ b/internal/service/quicksight/account_settings.go @@ -19,14 +19,13 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringdefault" "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" - "github.com/hashicorp/terraform-plugin-framework/schema/validator" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" "github.com/hashicorp/terraform-provider-aws/internal/errs" "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" "github.com/hashicorp/terraform-provider-aws/internal/framework" fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" - fwvalidators "github.com/hashicorp/terraform-provider-aws/internal/framework/validators" + quicksightschema "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -55,17 +54,7 @@ type accountSettingsResource struct { func (r *accountSettingsResource) Schema(ctx context.Context, request resource.SchemaRequest, response *resource.SchemaResponse) { response.Schema = schema.Schema{ Attributes: map[string]schema.Attribute{ - names.AttrAWSAccountID: schema.StringAttribute{ - Optional: true, - Computed: true, - Validators: []validator.String{ - fwvalidators.AWSAccountID(), - }, - PlanModifiers: []planmodifier.String{ - stringplanmodifier.UseStateForUnknown(), - stringplanmodifier.RequiresReplace(), - }, - }, + names.AttrAWSAccountID: quicksightschema.AWSAccountIDAttribute(), "default_namespace": schema.StringAttribute{ Optional: true, Computed: true, @@ -95,7 +84,9 @@ func (r *accountSettingsResource) Create(ctx context.Context, request resource.C if response.Diagnostics.HasError() { return } - data.AWSAccountID = types.StringValue(r.Meta().AccountID(ctx)) + if data.AWSAccountID.IsUnknown() { + data.AWSAccountID = fwflex.StringValueToFramework(ctx, r.Meta().AccountID(ctx)) + } conn := r.Meta().QuickSightClient(ctx) diff --git a/internal/service/quicksight/custom_permissions.go b/internal/service/quicksight/custom_permissions.go index e0a635457aa8..25200a2b23fc 100644 --- a/internal/service/quicksight/custom_permissions.go +++ b/internal/service/quicksight/custom_permissions.go @@ -28,8 +28,8 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/framework" fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" - fwvalidators "github.com/hashicorp/terraform-provider-aws/internal/framework/validators" tfmaps "github.com/hashicorp/terraform-provider-aws/internal/maps" + quicksightschema "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema" tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" @@ -53,18 +53,8 @@ type customPermissionsResource struct { func (r *customPermissionsResource) Schema(ctx context.Context, request resource.SchemaRequest, response *resource.SchemaResponse) { response.Schema = schema.Schema{ Attributes: map[string]schema.Attribute{ - names.AttrARN: framework.ARNAttributeComputedOnly(), - names.AttrAWSAccountID: schema.StringAttribute{ - Optional: true, - Computed: true, - Validators: []validator.String{ - fwvalidators.AWSAccountID(), - }, - PlanModifiers: []planmodifier.String{ - stringplanmodifier.UseStateForUnknown(), - stringplanmodifier.RequiresReplace(), - }, - }, + names.AttrARN: framework.ARNAttributeComputedOnly(), + names.AttrAWSAccountID: quicksightschema.AWSAccountIDAttribute(), "custom_permissions_name": schema.StringAttribute{ Required: true, Validators: []validator.String{ diff --git a/internal/service/quicksight/folder_membership.go b/internal/service/quicksight/folder_membership.go index 636164943751..f1d8d18a0a63 100644 --- a/internal/service/quicksight/folder_membership.go +++ b/internal/service/quicksight/folder_membership.go @@ -23,7 +23,8 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/enum" "github.com/hashicorp/terraform-provider-aws/internal/errs" "github.com/hashicorp/terraform-provider-aws/internal/framework" - "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" + fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" + quicksightschema "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema" tfslices "github.com/hashicorp/terraform-provider-aws/internal/slices" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" @@ -47,15 +48,8 @@ type folderMembershipResource struct { func (r *folderMembershipResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { resp.Schema = schema.Schema{ Attributes: map[string]schema.Attribute{ - names.AttrAWSAccountID: schema.StringAttribute{ - Optional: true, - Computed: true, - PlanModifiers: []planmodifier.String{ - stringplanmodifier.UseStateForUnknown(), - stringplanmodifier.RequiresReplace(), - }, - }, - names.AttrID: framework.IDAttribute(), + names.AttrAWSAccountID: quicksightschema.AWSAccountIDAttribute(), + names.AttrID: framework.IDAttribute(), "folder_id": schema.StringAttribute{ Required: true, PlanModifiers: []planmodifier.String{ @@ -82,18 +76,18 @@ func (r *folderMembershipResource) Schema(ctx context.Context, req resource.Sche } func (r *folderMembershipResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { - conn := r.Meta().QuickSightClient(ctx) - - var plan folderMembershipResourceModel - resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + var data folderMembershipResourceModel + resp.Diagnostics.Append(req.Plan.Get(ctx, &data)...) if resp.Diagnostics.HasError() { return } - - if plan.AWSAccountID.IsUnknown() || plan.AWSAccountID.IsNull() { - plan.AWSAccountID = types.StringValue(r.Meta().AccountID(ctx)) + if data.AWSAccountID.IsUnknown() { + data.AWSAccountID = fwflex.StringValueToFramework(ctx, r.Meta().AccountID(ctx)) } - awsAccountID, folderID, memberType, memberID := flex.StringValueFromFramework(ctx, plan.AWSAccountID), flex.StringValueFromFramework(ctx, plan.FolderID), flex.StringValueFromFramework(ctx, plan.MemberType), flex.StringValueFromFramework(ctx, plan.MemberID) + + conn := r.Meta().QuickSightClient(ctx) + + awsAccountID, folderID, memberType, memberID := fwflex.StringValueFromFramework(ctx, data.AWSAccountID), fwflex.StringValueFromFramework(ctx, data.FolderID), fwflex.StringValueFromFramework(ctx, data.MemberType), fwflex.StringValueFromFramework(ctx, data.MemberID) in := &quicksight.CreateFolderMembershipInput{ AwsAccountId: aws.String(awsAccountID), FolderId: aws.String(folderID), @@ -104,22 +98,22 @@ func (r *folderMembershipResource) Create(ctx context.Context, req resource.Crea out, err := conn.CreateFolderMembership(ctx, in) if err != nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.QuickSight, create.ErrActionCreating, resNameFolderMembership, plan.MemberID.String(), err), + create.ProblemStandardMessage(names.QuickSight, create.ErrActionCreating, resNameFolderMembership, data.MemberID.String(), err), err.Error(), ) return } if out == nil || out.FolderMember == nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.QuickSight, create.ErrActionCreating, resNameFolderMembership, plan.MemberID.String(), nil), + create.ProblemStandardMessage(names.QuickSight, create.ErrActionCreating, resNameFolderMembership, data.MemberID.String(), nil), errors.New("empty output").Error(), ) return } - plan.ID = flex.StringValueToFramework(ctx, folderMembershipCreateResourceID(awsAccountID, folderID, memberType, memberID)) + data.ID = fwflex.StringValueToFramework(ctx, folderMembershipCreateResourceID(awsAccountID, folderID, memberType, memberID)) - resp.Diagnostics.Append(resp.State.Set(ctx, plan)...) + resp.Diagnostics.Append(resp.State.Set(ctx, data)...) } func (r *folderMembershipResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { @@ -153,10 +147,10 @@ func (r *folderMembershipResource) Read(ctx context.Context, req resource.ReadRe return } - state.MemberID = flex.StringToFramework(ctx, out.MemberId) - state.AWSAccountID = flex.StringValueToFramework(ctx, awsAccountID) - state.FolderID = flex.StringValueToFramework(ctx, folderID) - state.MemberType = flex.StringValueToFramework(ctx, memberType) + state.MemberID = fwflex.StringToFramework(ctx, out.MemberId) + state.AWSAccountID = fwflex.StringValueToFramework(ctx, awsAccountID) + state.FolderID = fwflex.StringValueToFramework(ctx, folderID) + state.MemberType = fwflex.StringValueToFramework(ctx, memberType) resp.Diagnostics.Append(resp.State.Set(ctx, &state)...) } diff --git a/internal/service/quicksight/iam_policy_assignment.go b/internal/service/quicksight/iam_policy_assignment.go index fc0f3ce1213f..48dc819fef3c 100644 --- a/internal/service/quicksight/iam_policy_assignment.go +++ b/internal/service/quicksight/iam_policy_assignment.go @@ -26,6 +26,7 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/framework" fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" + quicksightschema "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -56,15 +57,8 @@ func (r *iamPolicyAssignmentResource) Schema(ctx context.Context, request resour CustomType: fwtypes.StringEnumType[awstypes.AssignmentStatus](), Required: true, }, - names.AttrAWSAccountID: schema.StringAttribute{ - Optional: true, - Computed: true, - PlanModifiers: []planmodifier.String{ - stringplanmodifier.UseStateForUnknown(), - stringplanmodifier.RequiresReplace(), - }, - }, - names.AttrID: framework.IDAttribute(), + names.AttrAWSAccountID: quicksightschema.AWSAccountIDAttribute(), + names.AttrID: framework.IDAttribute(), names.AttrNamespace: schema.StringAttribute{ Optional: true, Computed: true, @@ -109,7 +103,7 @@ func (r *iamPolicyAssignmentResource) Create(ctx context.Context, request resour if response.Diagnostics.HasError() { return } - if data.AWSAccountID.IsUnknown() || data.AWSAccountID.IsNull() { + if data.AWSAccountID.IsUnknown() { data.AWSAccountID = fwflex.StringValueToFramework(ctx, r.Meta().AccountID(ctx)) } diff --git a/internal/service/quicksight/ingestion.go b/internal/service/quicksight/ingestion.go index 90f98419e584..6535658e2ce2 100644 --- a/internal/service/quicksight/ingestion.go +++ b/internal/service/quicksight/ingestion.go @@ -24,6 +24,7 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/errs" "github.com/hashicorp/terraform-provider-aws/internal/framework" "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" + quicksightschema "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -49,14 +50,7 @@ func (r *ingestionResource) Schema(ctx context.Context, req resource.SchemaReque names.AttrARN: schema.StringAttribute{ Computed: true, }, - names.AttrAWSAccountID: schema.StringAttribute{ - Optional: true, - Computed: true, - PlanModifiers: []planmodifier.String{ - stringplanmodifier.UseStateForUnknown(), - stringplanmodifier.RequiresReplace(), - }, - }, + names.AttrAWSAccountID: quicksightschema.AWSAccountIDAttribute(), "data_set_id": schema.StringAttribute{ Required: true, PlanModifiers: []planmodifier.String{ @@ -87,46 +81,46 @@ func (r *ingestionResource) Schema(ctx context.Context, req resource.SchemaReque } func (r *ingestionResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { - conn := r.Meta().QuickSightClient(ctx) - - var plan ingestionResourceModel - resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + var data ingestionResourceModel + resp.Diagnostics.Append(req.Plan.Get(ctx, &data)...) if resp.Diagnostics.HasError() { return } - - if plan.AWSAccountID.IsUnknown() || plan.AWSAccountID.IsNull() { - plan.AWSAccountID = types.StringValue(r.Meta().AccountID(ctx)) + if data.AWSAccountID.IsUnknown() { + data.AWSAccountID = types.StringValue(r.Meta().AccountID(ctx)) } - awsAccountID, dataSetID, ingestionID := flex.StringValueFromFramework(ctx, plan.AWSAccountID), flex.StringValueFromFramework(ctx, plan.DataSetID), flex.StringValueFromFramework(ctx, plan.IngestionID) + + conn := r.Meta().QuickSightClient(ctx) + + awsAccountID, dataSetID, ingestionID := flex.StringValueFromFramework(ctx, data.AWSAccountID), flex.StringValueFromFramework(ctx, data.DataSetID), flex.StringValueFromFramework(ctx, data.IngestionID) in := quicksight.CreateIngestionInput{ AwsAccountId: aws.String(awsAccountID), DataSetId: aws.String(dataSetID), IngestionId: aws.String(ingestionID), - IngestionType: awstypes.IngestionType(plan.IngestionType.ValueString()), + IngestionType: awstypes.IngestionType(data.IngestionType.ValueString()), } out, err := conn.CreateIngestion(ctx, &in) if err != nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.QuickSight, create.ErrActionCreating, resNameIngestion, plan.IngestionID.String(), nil), + create.ProblemStandardMessage(names.QuickSight, create.ErrActionCreating, resNameIngestion, data.IngestionID.String(), nil), err.Error(), ) return } if out == nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.QuickSight, create.ErrActionCreating, resNameIngestion, plan.IngestionID.String(), nil), + create.ProblemStandardMessage(names.QuickSight, create.ErrActionCreating, resNameIngestion, data.IngestionID.String(), nil), errors.New("empty output").Error(), ) return } - plan.ID = flex.StringValueToFramework(ctx, ingestionCreateResourceID(awsAccountID, dataSetID, ingestionID)) - plan.ARN = flex.StringToFramework(ctx, out.Arn) - plan.IngestionStatus = flex.StringValueToFramework(ctx, out.IngestionStatus) + data.ID = flex.StringValueToFramework(ctx, ingestionCreateResourceID(awsAccountID, dataSetID, ingestionID)) + data.ARN = flex.StringToFramework(ctx, out.Arn) + data.IngestionStatus = flex.StringValueToFramework(ctx, out.IngestionStatus) - resp.Diagnostics.Append(resp.State.Set(ctx, plan)...) + resp.Diagnostics.Append(resp.State.Set(ctx, data)...) } func (r *ingestionResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { diff --git a/internal/service/quicksight/ip_restriction.go b/internal/service/quicksight/ip_restriction.go index 8e7b40fb8535..f4ea103e5e13 100644 --- a/internal/service/quicksight/ip_restriction.go +++ b/internal/service/quicksight/ip_restriction.go @@ -16,8 +16,6 @@ import ( "github.com/hashicorp/terraform-plugin-framework/path" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" "github.com/hashicorp/terraform-plugin-framework/schema/validator" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" @@ -27,6 +25,7 @@ import ( fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" fwvalidators "github.com/hashicorp/terraform-provider-aws/internal/framework/validators" + quicksightschema "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -45,17 +44,7 @@ type ipRestrictionResource struct { func (r *ipRestrictionResource) Schema(ctx context.Context, request resource.SchemaRequest, response *resource.SchemaResponse) { response.Schema = schema.Schema{ Attributes: map[string]schema.Attribute{ - names.AttrAWSAccountID: schema.StringAttribute{ - Optional: true, - Computed: true, - Validators: []validator.String{ - fwvalidators.AWSAccountID(), - }, - PlanModifiers: []planmodifier.String{ - stringplanmodifier.UseStateForUnknown(), - stringplanmodifier.RequiresReplace(), - }, - }, + names.AttrAWSAccountID: quicksightschema.AWSAccountIDAttribute(), names.AttrEnabled: schema.BoolAttribute{ Required: true, }, diff --git a/internal/service/quicksight/key_registration.go b/internal/service/quicksight/key_registration.go index a617f78343d4..969485164783 100644 --- a/internal/service/quicksight/key_registration.go +++ b/internal/service/quicksight/key_registration.go @@ -15,15 +15,13 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" "github.com/hashicorp/terraform-plugin-framework/resource/schema/booldefault" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" "github.com/hashicorp/terraform-plugin-framework/schema/validator" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" "github.com/hashicorp/terraform-provider-aws/internal/framework" fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" - fwvalidators "github.com/hashicorp/terraform-provider-aws/internal/framework/validators" + quicksightschema "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -42,17 +40,7 @@ type keyRegistrationResource struct { func (r *keyRegistrationResource) Schema(ctx context.Context, request resource.SchemaRequest, response *resource.SchemaResponse) { response.Schema = schema.Schema{ Attributes: map[string]schema.Attribute{ - names.AttrAWSAccountID: schema.StringAttribute{ - Optional: true, - Computed: true, - Validators: []validator.String{ - fwvalidators.AWSAccountID(), - }, - PlanModifiers: []planmodifier.String{ - stringplanmodifier.UseStateForUnknown(), - stringplanmodifier.RequiresReplace(), - }, - }, + names.AttrAWSAccountID: quicksightschema.AWSAccountIDAttribute(), }, Blocks: map[string]schema.Block{ "key_registration": schema.SetNestedBlock{ diff --git a/internal/service/quicksight/namespace.go b/internal/service/quicksight/namespace.go index 9056b7760d39..3433899190f8 100644 --- a/internal/service/quicksight/namespace.go +++ b/internal/service/quicksight/namespace.go @@ -25,7 +25,8 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/enum" "github.com/hashicorp/terraform-provider-aws/internal/errs" "github.com/hashicorp/terraform-provider-aws/internal/framework" - "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" + fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" + quicksightschema "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema" tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" @@ -57,15 +58,8 @@ type namespaceResource struct { func (r *namespaceResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { resp.Schema = schema.Schema{ Attributes: map[string]schema.Attribute{ - names.AttrARN: framework.ARNAttributeComputedOnly(), - names.AttrAWSAccountID: schema.StringAttribute{ - Optional: true, - Computed: true, - PlanModifiers: []planmodifier.String{ - stringplanmodifier.UseStateForUnknown(), - stringplanmodifier.RequiresReplace(), - }, - }, + names.AttrARN: framework.ARNAttributeComputedOnly(), + names.AttrAWSAccountID: quicksightschema.AWSAccountIDAttribute(), "capacity_region": schema.StringAttribute{ Computed: true, PlanModifiers: []planmodifier.String{ @@ -106,21 +100,21 @@ func (r *namespaceResource) Schema(ctx context.Context, req resource.SchemaReque } func (r *namespaceResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { - conn := r.Meta().QuickSightClient(ctx) - - var plan namespaceResourceModel - resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + var data namespaceResourceModel + resp.Diagnostics.Append(req.Plan.Get(ctx, &data)...) if resp.Diagnostics.HasError() { return } - - if plan.AWSAccountID.IsUnknown() || plan.AWSAccountID.IsNull() { - plan.AWSAccountID = types.StringValue(r.Meta().AccountID(ctx)) + if data.AWSAccountID.IsUnknown() { + data.AWSAccountID = fwflex.StringValueToFramework(ctx, r.Meta().AccountID(ctx)) } - awsAccountID, namespace := flex.StringValueFromFramework(ctx, plan.AWSAccountID), flex.StringValueFromFramework(ctx, plan.Namespace) + + conn := r.Meta().QuickSightClient(ctx) + + awsAccountID, namespace := fwflex.StringValueFromFramework(ctx, data.AWSAccountID), fwflex.StringValueFromFramework(ctx, data.Namespace) in := quicksight.CreateNamespaceInput{ AwsAccountId: aws.String(awsAccountID), - IdentityStore: awstypes.IdentityStore(plan.IdentityStore.ValueString()), + IdentityStore: awstypes.IdentityStore(data.IdentityStore.ValueString()), Namespace: aws.String(namespace), Tags: getTagsIn(ctx), } @@ -128,35 +122,35 @@ func (r *namespaceResource) Create(ctx context.Context, req resource.CreateReque out, err := conn.CreateNamespace(ctx, &in) if err != nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.QuickSight, create.ErrActionCreating, resNameNamespace, plan.Namespace.String(), err), + create.ProblemStandardMessage(names.QuickSight, create.ErrActionCreating, resNameNamespace, data.Namespace.String(), err), err.Error(), ) return } if out == nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.QuickSight, create.ErrActionCreating, resNameNamespace, plan.Namespace.String(), nil), + create.ProblemStandardMessage(names.QuickSight, create.ErrActionCreating, resNameNamespace, data.Namespace.String(), nil), errors.New("empty output").Error(), ) return } - plan.ID = flex.StringValueToFramework(ctx, namespaceCreateResourceID(awsAccountID, namespace)) + data.ID = fwflex.StringValueToFramework(ctx, namespaceCreateResourceID(awsAccountID, namespace)) - waitOut, err := waitNamespaceCreated(ctx, conn, awsAccountID, namespace, r.CreateTimeout(ctx, plan.Timeouts)) + waitOut, err := waitNamespaceCreated(ctx, conn, awsAccountID, namespace, r.CreateTimeout(ctx, data.Timeouts)) if err != nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.QuickSight, create.ErrActionWaitingForCreation, resNameNamespace, plan.Namespace.String(), err), + create.ProblemStandardMessage(names.QuickSight, create.ErrActionWaitingForCreation, resNameNamespace, data.Namespace.String(), err), err.Error(), ) return } - plan.ARN = flex.StringToFramework(ctx, waitOut.Arn) - plan.CapacityRegion = flex.StringToFramework(ctx, waitOut.CapacityRegion) - plan.CreationStatus = flex.StringValueToFramework(ctx, waitOut.CreationStatus) - plan.IdentityStore = flex.StringValueToFramework(ctx, waitOut.IdentityStore) + data.ARN = fwflex.StringToFramework(ctx, waitOut.Arn) + data.CapacityRegion = fwflex.StringToFramework(ctx, waitOut.CapacityRegion) + data.CreationStatus = fwflex.StringValueToFramework(ctx, waitOut.CreationStatus) + data.IdentityStore = fwflex.StringValueToFramework(ctx, waitOut.IdentityStore) - resp.Diagnostics.Append(resp.State.Set(ctx, plan)...) + resp.Diagnostics.Append(resp.State.Set(ctx, data)...) } func (r *namespaceResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { @@ -190,12 +184,12 @@ func (r *namespaceResource) Read(ctx context.Context, req resource.ReadRequest, return } - state.ARN = flex.StringToFramework(ctx, out.Arn) - state.CapacityRegion = flex.StringToFramework(ctx, out.CapacityRegion) - state.CreationStatus = flex.StringValueToFramework(ctx, out.CreationStatus) - state.IdentityStore = flex.StringValueToFramework(ctx, out.IdentityStore) - state.AWSAccountID = flex.StringValueToFramework(ctx, awsAccountID) - state.Namespace = flex.StringValueToFramework(ctx, namespace) + state.ARN = fwflex.StringToFramework(ctx, out.Arn) + state.CapacityRegion = fwflex.StringToFramework(ctx, out.CapacityRegion) + state.CreationStatus = fwflex.StringValueToFramework(ctx, out.CreationStatus) + state.IdentityStore = fwflex.StringValueToFramework(ctx, out.IdentityStore) + state.AWSAccountID = fwflex.StringValueToFramework(ctx, awsAccountID) + state.Namespace = fwflex.StringValueToFramework(ctx, namespace) resp.Diagnostics.Append(resp.State.Set(ctx, &state)...) } diff --git a/internal/service/quicksight/refresh_schedule.go b/internal/service/quicksight/refresh_schedule.go index af1e3d223812..bdc8d5636b47 100644 --- a/internal/service/quicksight/refresh_schedule.go +++ b/internal/service/quicksight/refresh_schedule.go @@ -31,8 +31,9 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/errs" "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" "github.com/hashicorp/terraform-provider-aws/internal/framework" - "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" + fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" + quicksightschema "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -60,15 +61,8 @@ type refreshScheduleResource struct { func (r *refreshScheduleResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { resp.Schema = schema.Schema{ Attributes: map[string]schema.Attribute{ - names.AttrARN: framework.ARNAttributeComputedOnly(), - names.AttrAWSAccountID: schema.StringAttribute{ - Optional: true, - Computed: true, - PlanModifiers: []planmodifier.String{ - stringplanmodifier.UseStateForUnknown(), - stringplanmodifier.RequiresReplace(), - }, - }, + names.AttrARN: framework.ARNAttributeComputedOnly(), + names.AttrAWSAccountID: quicksightschema.AWSAccountIDAttribute(), "data_set_id": schema.StringAttribute{ Required: true, PlanModifiers: []planmodifier.String{ @@ -204,28 +198,27 @@ type refreshOnDayModel struct { } func (r *refreshScheduleResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { - conn := r.Meta().QuickSightClient(ctx) - - var plan refreshScheduleResourceModel - resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + var data refreshScheduleResourceModel + resp.Diagnostics.Append(req.Plan.Get(ctx, &data)...) if resp.Diagnostics.HasError() { return } - - if plan.AWSAccountID.IsUnknown() || plan.AWSAccountID.IsNull() { - plan.AWSAccountID = types.StringValue(r.Meta().AccountID(ctx)) + if data.AWSAccountID.IsUnknown() { + data.AWSAccountID = fwflex.StringValueToFramework(ctx, r.Meta().AccountID(ctx)) } - awsAccountID, dataSetID, scheduleID := flex.StringValueFromFramework(ctx, plan.AWSAccountID), flex.StringValueFromFramework(ctx, plan.DataSetID), flex.StringValueFromFramework(ctx, plan.ScheduleID) + conn := r.Meta().QuickSightClient(ctx) + + awsAccountID, dataSetID, scheduleID := fwflex.StringValueFromFramework(ctx, data.AWSAccountID), fwflex.StringValueFromFramework(ctx, data.DataSetID), fwflex.StringValueFromFramework(ctx, data.ScheduleID) var in quicksight.CreateRefreshScheduleInput - resp.Diagnostics.Append(flex.Expand(ctx, plan, &in)...) + resp.Diagnostics.Append(fwflex.Expand(ctx, data, &in)...) if resp.Diagnostics.HasError() { return } - in.Schedule.ScheduleId = plan.ScheduleID.ValueStringPointer() + in.Schedule.ScheduleId = data.ScheduleID.ValueStringPointer() // Because StartAfterDateTime is a string and not a time type, we have to handle it outside of AutoFlex - schedule, diags := plan.Schedule.ToPtr(ctx) + schedule, diags := data.Schedule.ToPtr(ctx) resp.Diagnostics.Append(diags...) if resp.Diagnostics.HasError() { return @@ -238,34 +231,34 @@ func (r *refreshScheduleResource) Create(ctx context.Context, req resource.Creat out, err := conn.CreateRefreshSchedule(ctx, &in) if err != nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.QuickSight, create.ErrActionCreating, resNameRefreshSchedule, plan.ScheduleID.String(), nil), + create.ProblemStandardMessage(names.QuickSight, create.ErrActionCreating, resNameRefreshSchedule, data.ScheduleID.String(), nil), err.Error(), ) return } if out == nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.QuickSight, create.ErrActionCreating, resNameRefreshSchedule, plan.ScheduleID.String(), nil), + create.ProblemStandardMessage(names.QuickSight, create.ErrActionCreating, resNameRefreshSchedule, data.ScheduleID.String(), nil), errors.New("empty output").Error(), ) return } - plan.ID = flex.StringValueToFramework(ctx, refreshScheduleCreateResourceID(awsAccountID, dataSetID, scheduleID)) + data.ID = fwflex.StringValueToFramework(ctx, refreshScheduleCreateResourceID(awsAccountID, dataSetID, scheduleID)) _, outFind, err := findRefreshScheduleByThreePartKey(ctx, conn, awsAccountID, dataSetID, scheduleID) if err != nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.QuickSight, create.ErrActionReading, resNameRefreshSchedule, plan.ID.String(), nil), + create.ProblemStandardMessage(names.QuickSight, create.ErrActionReading, resNameRefreshSchedule, data.ID.String(), nil), err.Error(), ) return } - resp.Diagnostics.Append(plan.refreshFromRead(ctx, out.Arn, outFind)...) + resp.Diagnostics.Append(data.refreshFromRead(ctx, out.Arn, outFind)...) // resp.Diagnostics.Append(flex.Flatten(ctx, outFind, &plan)...) - resp.Diagnostics.Append(resp.State.Set(ctx, plan)...) + resp.Diagnostics.Append(resp.State.Set(ctx, data)...) } func (r *refreshScheduleResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { @@ -299,9 +292,9 @@ func (r *refreshScheduleResource) Read(ctx context.Context, req resource.ReadReq return } - state.AWSAccountID = flex.StringValueToFramework(ctx, awsAccountID) - state.DataSetID = flex.StringValueToFramework(ctx, dataSetID) - state.ScheduleID = flex.StringValueToFramework(ctx, scheduleID) + state.AWSAccountID = fwflex.StringValueToFramework(ctx, awsAccountID) + state.DataSetID = fwflex.StringValueToFramework(ctx, dataSetID) + state.ScheduleID = fwflex.StringValueToFramework(ctx, scheduleID) resp.Diagnostics.Append(state.refreshFromRead(ctx, arn, outFind)...) // resp.Diagnostics.Append(flex.Flatten(ctx, outFind, &state)...) @@ -330,7 +323,7 @@ func (r *refreshScheduleResource) Update(ctx context.Context, req resource.Updat if !plan.Schedule.Equal(state.Schedule) { var in quicksight.UpdateRefreshScheduleInput - resp.Diagnostics.Append(flex.Expand(ctx, plan, &in)...) + resp.Diagnostics.Append(fwflex.Expand(ctx, plan, &in)...) if resp.Diagnostics.HasError() { return } @@ -506,7 +499,7 @@ func (rd *refreshScheduleResourceModel) refreshFromRead(ctx context.Context, arn return diags } - rd.ARN = flex.StringToFramework(ctx, arn) + rd.ARN = fwflex.StringToFramework(ctx, arn) schedule, d := flattenSchedule(ctx, out) diags.Append(d...) @@ -524,7 +517,7 @@ func flattenSchedule(ctx context.Context, apiObject *awstypes.RefreshSchedule) ( var model scheduleModel - diags.Append(flex.Flatten(ctx, apiObject, &model)...) + diags.Append(fwflex.Flatten(ctx, apiObject, &model)...) if apiObject.StartAfterDateTime != nil { model.StartAfterDateTime = types.StringValue(apiObject.StartAfterDateTime.Format(startAfterDateTimeLayout)) diff --git a/internal/service/quicksight/role_membership.go b/internal/service/quicksight/role_membership.go index 899ee5bc70f4..63a1ebab7252 100644 --- a/internal/service/quicksight/role_membership.go +++ b/internal/service/quicksight/role_membership.go @@ -23,7 +23,9 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/errs" intflex "github.com/hashicorp/terraform-provider-aws/internal/flex" "github.com/hashicorp/terraform-provider-aws/internal/framework" + fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" + quicksightschema "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -45,14 +47,7 @@ type roleMembershipResource struct { func (r *roleMembershipResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { resp.Schema = schema.Schema{ Attributes: map[string]schema.Attribute{ - names.AttrAWSAccountID: schema.StringAttribute{ - Optional: true, - Computed: true, - PlanModifiers: []planmodifier.String{ - stringplanmodifier.UseStateForUnknown(), - stringplanmodifier.RequiresReplace(), - }, - }, + names.AttrAWSAccountID: quicksightschema.AWSAccountIDAttribute(), "member_name": schema.StringAttribute{ Required: true, PlanModifiers: []planmodifier.String{ @@ -79,35 +74,34 @@ func (r *roleMembershipResource) Schema(ctx context.Context, req resource.Schema } func (r *roleMembershipResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { - conn := r.Meta().QuickSightClient(ctx) - - var plan roleMembershipResourceModel - resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + var data roleMembershipResourceModel + resp.Diagnostics.Append(req.Plan.Get(ctx, &data)...) if resp.Diagnostics.HasError() { return } - - if plan.AWSAccountID.IsUnknown() || plan.AWSAccountID.IsNull() { - plan.AWSAccountID = types.StringValue(r.Meta().AccountID(ctx)) + if data.AWSAccountID.IsUnknown() { + data.AWSAccountID = fwflex.StringValueToFramework(ctx, r.Meta().AccountID(ctx)) } + conn := r.Meta().QuickSightClient(ctx) + input := quicksight.CreateRoleMembershipInput{ - AwsAccountId: plan.AWSAccountID.ValueStringPointer(), - MemberName: plan.MemberName.ValueStringPointer(), - Namespace: plan.Namespace.ValueStringPointer(), - Role: plan.Role.ValueEnum(), + AwsAccountId: data.AWSAccountID.ValueStringPointer(), + MemberName: data.MemberName.ValueStringPointer(), + Namespace: data.Namespace.ValueStringPointer(), + Role: data.Role.ValueEnum(), } _, err := conn.CreateRoleMembership(ctx, &input) if err != nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.QuickSight, create.ErrActionCreating, ResNameRoleMembership, plan.MemberName.String(), err), + create.ProblemStandardMessage(names.QuickSight, create.ErrActionCreating, ResNameRoleMembership, data.MemberName.String(), err), err.Error(), ) return } - resp.Diagnostics.Append(resp.State.Set(ctx, plan)...) + resp.Diagnostics.Append(resp.State.Set(ctx, data)...) } func (r *roleMembershipResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { diff --git a/internal/service/quicksight/schema/stdattributes.go b/internal/service/quicksight/schema/stdattributes.go new file mode 100644 index 000000000000..d3779eee96c8 --- /dev/null +++ b/internal/service/quicksight/schema/stdattributes.go @@ -0,0 +1,26 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package schema + +import ( + "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/schema/validator" + fwvalidators "github.com/hashicorp/terraform-provider-aws/internal/framework/validators" +) + +func AWSAccountIDAttribute() schema.StringAttribute { + return schema.StringAttribute{ + Optional: true, + Computed: true, + Validators: []validator.String{ + fwvalidators.AWSAccountID(), + }, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.UseStateForUnknown(), + stringplanmodifier.RequiresReplace(), + }, + } +} diff --git a/internal/service/quicksight/template_alias.go b/internal/service/quicksight/template_alias.go index 05a00bcd801a..7e2b365e6b62 100644 --- a/internal/service/quicksight/template_alias.go +++ b/internal/service/quicksight/template_alias.go @@ -21,7 +21,8 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/create" "github.com/hashicorp/terraform-provider-aws/internal/errs" "github.com/hashicorp/terraform-provider-aws/internal/framework" - "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" + fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" + quicksightschema "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -49,16 +50,9 @@ func (r *templateAliasResource) Schema(ctx context.Context, req resource.SchemaR stringplanmodifier.RequiresReplace(), }, }, - names.AttrARN: framework.ARNAttributeComputedOnly(), - names.AttrAWSAccountID: schema.StringAttribute{ - Optional: true, - Computed: true, - PlanModifiers: []planmodifier.String{ - stringplanmodifier.UseStateForUnknown(), - stringplanmodifier.RequiresReplace(), - }, - }, - names.AttrID: framework.IDAttribute(), + names.AttrARN: framework.ARNAttributeComputedOnly(), + names.AttrAWSAccountID: quicksightschema.AWSAccountIDAttribute(), + names.AttrID: framework.IDAttribute(), "template_id": schema.StringAttribute{ Required: true, PlanModifiers: []planmodifier.String{ @@ -73,45 +67,45 @@ func (r *templateAliasResource) Schema(ctx context.Context, req resource.SchemaR } func (r *templateAliasResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { - conn := r.Meta().QuickSightClient(ctx) - - var plan templateAliasResourceModel - resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + var data templateAliasResourceModel + resp.Diagnostics.Append(req.Plan.Get(ctx, &data)...) if resp.Diagnostics.HasError() { return } - - if plan.AWSAccountID.IsUnknown() || plan.AWSAccountID.IsNull() { - plan.AWSAccountID = types.StringValue(r.Meta().AccountID(ctx)) + if data.AWSAccountID.IsUnknown() { + data.AWSAccountID = fwflex.StringValueToFramework(ctx, r.Meta().AccountID(ctx)) } - awsAccountID, templateID, aliasName := flex.StringValueFromFramework(ctx, plan.AWSAccountID), flex.StringValueFromFramework(ctx, plan.TemplateID), flex.StringValueFromFramework(ctx, plan.AliasName) + + conn := r.Meta().QuickSightClient(ctx) + + awsAccountID, templateID, aliasName := fwflex.StringValueFromFramework(ctx, data.AWSAccountID), fwflex.StringValueFromFramework(ctx, data.TemplateID), fwflex.StringValueFromFramework(ctx, data.AliasName) in := &quicksight.CreateTemplateAliasInput{ AliasName: aws.String(aliasName), AwsAccountId: aws.String(awsAccountID), TemplateId: aws.String(templateID), - TemplateVersionNumber: plan.TemplateVersionNumber.ValueInt64Pointer(), + TemplateVersionNumber: data.TemplateVersionNumber.ValueInt64Pointer(), } out, err := conn.CreateTemplateAlias(ctx, in) if err != nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.QuickSight, create.ErrActionCreating, resNameTemplateAlias, plan.AliasName.String(), err), + create.ProblemStandardMessage(names.QuickSight, create.ErrActionCreating, resNameTemplateAlias, data.AliasName.String(), err), err.Error(), ) return } if out == nil || out.TemplateAlias == nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.QuickSight, create.ErrActionCreating, resNameTemplateAlias, plan.AliasName.String(), nil), + create.ProblemStandardMessage(names.QuickSight, create.ErrActionCreating, resNameTemplateAlias, data.AliasName.String(), nil), errors.New("empty output").Error(), ) return } - plan.ID = types.StringValue(templateAliasCreateResourceID(awsAccountID, templateID, aliasName)) - plan.ARN = flex.StringToFramework(ctx, out.TemplateAlias.Arn) + data.ID = types.StringValue(templateAliasCreateResourceID(awsAccountID, templateID, aliasName)) + data.ARN = fwflex.StringToFramework(ctx, out.TemplateAlias.Arn) - resp.Diagnostics.Append(resp.State.Set(ctx, plan)...) + resp.Diagnostics.Append(resp.State.Set(ctx, data)...) } func (r *templateAliasResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { @@ -145,11 +139,11 @@ func (r *templateAliasResource) Read(ctx context.Context, req resource.ReadReque return } - state.ARN = flex.StringToFramework(ctx, out.Arn) - state.AliasName = flex.StringToFramework(ctx, out.AliasName) - state.TemplateVersionNumber = flex.Int64ToFramework(ctx, out.TemplateVersionNumber) - state.AWSAccountID = flex.StringValueToFramework(ctx, awsAccountID) - state.TemplateID = flex.StringValueToFramework(ctx, templateID) + state.ARN = fwflex.StringToFramework(ctx, out.Arn) + state.AliasName = fwflex.StringToFramework(ctx, out.AliasName) + state.TemplateVersionNumber = fwflex.Int64ToFramework(ctx, out.TemplateVersionNumber) + state.AWSAccountID = fwflex.StringValueToFramework(ctx, awsAccountID) + state.TemplateID = fwflex.StringValueToFramework(ctx, templateID) resp.Diagnostics.Append(resp.State.Set(ctx, &state)...) } @@ -197,7 +191,7 @@ func (r *templateAliasResource) Update(ctx context.Context, req resource.UpdateR return } - plan.ARN = flex.StringToFramework(ctx, out.TemplateAlias.Arn) + plan.ARN = fwflex.StringToFramework(ctx, out.TemplateAlias.Arn) } resp.Diagnostics.Append(resp.State.Set(ctx, &plan)...) diff --git a/internal/service/quicksight/vpc_connection.go b/internal/service/quicksight/vpc_connection.go index d540f3ef21f0..c5dab0a81ce0 100644 --- a/internal/service/quicksight/vpc_connection.go +++ b/internal/service/quicksight/vpc_connection.go @@ -28,8 +28,9 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/enum" "github.com/hashicorp/terraform-provider-aws/internal/errs" "github.com/hashicorp/terraform-provider-aws/internal/framework" - "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" + fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" + quicksightschema "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema" tfslices "github.com/hashicorp/terraform-provider-aws/internal/slices" tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" @@ -63,16 +64,9 @@ const ( func (r *vpcConnectionResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { resp.Schema = schema.Schema{ Attributes: map[string]schema.Attribute{ - names.AttrARN: framework.ARNAttributeComputedOnly(), - names.AttrAWSAccountID: schema.StringAttribute{ - Optional: true, - Computed: true, - PlanModifiers: []planmodifier.String{ - stringplanmodifier.UseStateForUnknown(), - stringplanmodifier.RequiresReplace(), - }, - }, - names.AttrID: framework.IDAttribute(), + names.AttrARN: framework.ARNAttributeComputedOnly(), + names.AttrAWSAccountID: quicksightschema.AWSAccountIDAttribute(), + names.AttrID: framework.IDAttribute(), "vpc_connection_id": schema.StringAttribute{ Required: true, PlanModifiers: []planmodifier.String{ @@ -155,37 +149,37 @@ func (r *vpcConnectionResource) Schema(ctx context.Context, req resource.SchemaR } func (r *vpcConnectionResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { - conn := r.Meta().QuickSightClient(ctx) - - var plan vpcConnectionResourceModel - resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + var data vpcConnectionResourceModel + resp.Diagnostics.Append(req.Plan.Get(ctx, &data)...) if resp.Diagnostics.HasError() { return } - - if plan.AWSAccountID.IsUnknown() || plan.AWSAccountID.IsNull() { - plan.AWSAccountID = types.StringValue(r.Meta().AccountID(ctx)) + if data.AWSAccountID.IsUnknown() { + data.AWSAccountID = fwflex.StringValueToFramework(ctx, r.Meta().AccountID(ctx)) } - awsAccountID, vpcConnectionID := flex.StringValueFromFramework(ctx, plan.AWSAccountID), flex.StringValueFromFramework(ctx, plan.VPCConnectionID) + + conn := r.Meta().QuickSightClient(ctx) + + awsAccountID, vpcConnectionID := fwflex.StringValueFromFramework(ctx, data.AWSAccountID), fwflex.StringValueFromFramework(ctx, data.VPCConnectionID) in := &quicksight.CreateVPCConnectionInput{ AwsAccountId: aws.String(awsAccountID), - Name: plan.Name.ValueStringPointer(), - RoleArn: plan.RoleArn.ValueStringPointer(), - SecurityGroupIds: flex.ExpandFrameworkStringValueSet(ctx, plan.SecurityGroupIDs), - SubnetIds: flex.ExpandFrameworkStringValueSet(ctx, plan.SubnetIDs), + Name: data.Name.ValueStringPointer(), + RoleArn: data.RoleArn.ValueStringPointer(), + SecurityGroupIds: fwflex.ExpandFrameworkStringValueSet(ctx, data.SecurityGroupIDs), + SubnetIds: fwflex.ExpandFrameworkStringValueSet(ctx, data.SubnetIDs), Tags: getTagsIn(ctx), VPCConnectionId: aws.String(vpcConnectionID), } - if !plan.DNSResolvers.IsNull() { - in.DnsResolvers = flex.ExpandFrameworkStringValueSet(ctx, plan.DNSResolvers) + if !data.DNSResolvers.IsNull() { + in.DnsResolvers = fwflex.ExpandFrameworkStringValueSet(ctx, data.DNSResolvers) } // account for IAM propagation when attempting to assume role out, err := retryVPCConnectionCreate(ctx, conn, in) if err != nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.QuickSight, create.ErrActionCreating, resNameVPCConnection, plan.Name.String(), err), + create.ProblemStandardMessage(names.QuickSight, create.ErrActionCreating, resNameVPCConnection, data.Name.String(), err), err.Error(), ) return @@ -193,27 +187,27 @@ func (r *vpcConnectionResource) Create(ctx context.Context, req resource.CreateR if out == nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.QuickSight, create.ErrActionCreating, resNameVPCConnection, plan.Name.String(), nil), + create.ProblemStandardMessage(names.QuickSight, create.ErrActionCreating, resNameVPCConnection, data.Name.String(), nil), errors.New("empty output").Error(), ) return } - plan.ID = flex.StringValueToFramework(ctx, vpcConnectionCreateResourceID(awsAccountID, vpcConnectionID)) + data.ID = fwflex.StringValueToFramework(ctx, vpcConnectionCreateResourceID(awsAccountID, vpcConnectionID)) - waitOut, err := waitVPCConnectionCreated(ctx, conn, awsAccountID, vpcConnectionID, r.CreateTimeout(ctx, plan.Timeouts)) + waitOut, err := waitVPCConnectionCreated(ctx, conn, awsAccountID, vpcConnectionID, r.CreateTimeout(ctx, data.Timeouts)) if err != nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.QuickSight, create.ErrActionWaitingForCreation, resNameVPCConnection, plan.Name.String(), err), + create.ProblemStandardMessage(names.QuickSight, create.ErrActionWaitingForCreation, resNameVPCConnection, data.Name.String(), err), err.Error(), ) return } - plan.ARN = flex.StringToFramework(ctx, waitOut.Arn) - plan.AvailabilityStatus = flex.StringValueToFramework(ctx, waitOut.AvailabilityStatus) + data.ARN = fwflex.StringToFramework(ctx, waitOut.Arn) + data.AvailabilityStatus = fwflex.StringValueToFramework(ctx, waitOut.AvailabilityStatus) - resp.Diagnostics.Append(resp.State.Set(ctx, plan)...) + resp.Diagnostics.Append(resp.State.Set(ctx, data)...) } func (r *vpcConnectionResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { @@ -247,15 +241,15 @@ func (r *vpcConnectionResource) Read(ctx context.Context, req resource.ReadReque return } - state.AWSAccountID = flex.StringValueToFramework(ctx, awsAccountID) - state.VPCConnectionID = flex.StringValueToFramework(ctx, vpcConnectionID) - state.ARN = flex.StringToFramework(ctx, out.Arn) - state.Name = flex.StringToFramework(ctx, out.Name) - state.RoleArn = flex.StringToFramework(ctx, out.RoleArn) - state.SecurityGroupIDs = flex.FlattenFrameworkStringValueSetOfString(ctx, out.SecurityGroupIds) - state.DNSResolvers = flex.FlattenFrameworkStringValueSetOfString(ctx, out.DnsResolvers) - state.AvailabilityStatus = flex.StringValueToFramework(ctx, out.AvailabilityStatus) - state.SubnetIDs = flex.FlattenFrameworkStringValueSetOfString(ctx, tfslices.ApplyToAll(out.NetworkInterfaces, func(v awstypes.NetworkInterface) string { + state.AWSAccountID = fwflex.StringValueToFramework(ctx, awsAccountID) + state.VPCConnectionID = fwflex.StringValueToFramework(ctx, vpcConnectionID) + state.ARN = fwflex.StringToFramework(ctx, out.Arn) + state.Name = fwflex.StringToFramework(ctx, out.Name) + state.RoleArn = fwflex.StringToFramework(ctx, out.RoleArn) + state.SecurityGroupIDs = fwflex.FlattenFrameworkStringValueSetOfString(ctx, out.SecurityGroupIds) + state.DNSResolvers = fwflex.FlattenFrameworkStringValueSetOfString(ctx, out.DnsResolvers) + state.AvailabilityStatus = fwflex.StringValueToFramework(ctx, out.AvailabilityStatus) + state.SubnetIDs = fwflex.FlattenFrameworkStringValueSetOfString(ctx, tfslices.ApplyToAll(out.NetworkInterfaces, func(v awstypes.NetworkInterface) string { return aws.ToString(v.SubnetId) })) @@ -290,13 +284,13 @@ func (r *vpcConnectionResource) Update(ctx context.Context, req resource.UpdateR AwsAccountId: aws.String(awsAccountID), Name: plan.Name.ValueStringPointer(), RoleArn: plan.RoleArn.ValueStringPointer(), - SecurityGroupIds: flex.ExpandFrameworkStringValueSet(ctx, plan.SecurityGroupIDs), - SubnetIds: flex.ExpandFrameworkStringValueSet(ctx, plan.SubnetIDs), + SecurityGroupIds: fwflex.ExpandFrameworkStringValueSet(ctx, plan.SecurityGroupIDs), + SubnetIds: fwflex.ExpandFrameworkStringValueSet(ctx, plan.SubnetIDs), VPCConnectionId: aws.String(vpcConnectionID), } if !plan.DNSResolvers.IsNull() { - in.DnsResolvers = flex.ExpandFrameworkStringValueSet(ctx, plan.DNSResolvers) + in.DnsResolvers = fwflex.ExpandFrameworkStringValueSet(ctx, plan.DNSResolvers) } out, err := conn.UpdateVPCConnection(ctx, &in) From 7e5108fc303133710c9dfa15c30a327d2e6c2e63 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 30 Jul 2025 16:42:40 -0400 Subject: [PATCH 0118/1301] Add 'quicksight/schema.Namespace(Attribute|Schema)'. --- .../service/quicksight/account_settings.go | 12 +--- internal/service/quicksight/consts.go | 4 -- internal/service/quicksight/exports_test.go | 6 +- internal/service/quicksight/group.go | 14 +---- .../service/quicksight/group_data_source.go | 13 +--- .../service/quicksight/group_membership.go | 14 +---- .../quicksight/iam_policy_assignment.go | 10 +-- .../service/quicksight/role_membership.go | 10 +-- .../quicksight/schema/stdattributes.go | 61 ++++++++++++++++++- internal/service/quicksight/sweep.go | 9 +-- internal/service/quicksight/user.go | 13 +--- .../service/quicksight/user_data_source.go | 13 +--- 12 files changed, 81 insertions(+), 98 deletions(-) diff --git a/internal/service/quicksight/account_settings.go b/internal/service/quicksight/account_settings.go index c6c641913eb8..4634cd623bf1 100644 --- a/internal/service/quicksight/account_settings.go +++ b/internal/service/quicksight/account_settings.go @@ -16,9 +16,6 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" "github.com/hashicorp/terraform-plugin-framework/resource/schema/booldefault" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringdefault" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" "github.com/hashicorp/terraform-provider-aws/internal/errs" @@ -55,14 +52,7 @@ func (r *accountSettingsResource) Schema(ctx context.Context, request resource.S response.Schema = schema.Schema{ Attributes: map[string]schema.Attribute{ names.AttrAWSAccountID: quicksightschema.AWSAccountIDAttribute(), - "default_namespace": schema.StringAttribute{ - Optional: true, - Computed: true, - Default: stringdefault.StaticString(defaultNamespace), - PlanModifiers: []planmodifier.String{ - stringplanmodifier.RequiresReplace(), - }, - }, + "default_namespace": quicksightschema.NamespaceAttribute(), "termination_protection_enabled": schema.BoolAttribute{ Optional: true, Computed: true, diff --git a/internal/service/quicksight/consts.go b/internal/service/quicksight/consts.go index b95e29570798..a46586ae38cb 100644 --- a/internal/service/quicksight/consts.go +++ b/internal/service/quicksight/consts.go @@ -10,7 +10,3 @@ import ( const ( iamPropagationTimeout = 2 * time.Minute ) - -const ( - defaultNamespace = "default" -) diff --git a/internal/service/quicksight/exports_test.go b/internal/service/quicksight/exports_test.go index fc349e9f053f..863058ac5558 100644 --- a/internal/service/quicksight/exports_test.go +++ b/internal/service/quicksight/exports_test.go @@ -3,6 +3,10 @@ package quicksight +import ( + quicksightschema "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema" +) + // Exports for use in tests only. var ( ResourceAccountSettings = newAccountSettingsResource @@ -30,7 +34,7 @@ var ( ResourceVPCConnection = newVPCConnectionResource DashboardLatestVersion = dashboardLatestVersion - DefaultNamespace = defaultNamespace + DefaultNamespace = quicksightschema.DefaultNamespace FindAccountSettingsByID = findAccountSettingsByID FindAccountSubscriptionByID = findAccountSubscriptionByID FindAnalysisByTwoPartKey = findAnalysisByTwoPartKey diff --git a/internal/service/quicksight/group.go b/internal/service/quicksight/group.go index 5369727c5aed..bc8a687838bc 100644 --- a/internal/service/quicksight/group.go +++ b/internal/service/quicksight/group.go @@ -9,17 +9,16 @@ import ( "log" "strings" - "github.com/YakDriver/regexache" "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/service/quicksight" awstypes "github.com/aws/aws-sdk-go-v2/service/quicksight/types" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" "github.com/hashicorp/terraform-provider-aws/internal/conns" "github.com/hashicorp/terraform-provider-aws/internal/errs" "github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag" + quicksightschema "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -57,16 +56,7 @@ func resourceGroup() *schema.Resource { Required: true, ForceNew: true, }, - names.AttrNamespace: { - Type: schema.TypeString, - Optional: true, - ForceNew: true, - Default: defaultNamespace, - ValidateFunc: validation.All( - validation.StringLenBetween(1, 63), - validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]*$`), "must contain only alphanumeric characters, hyphens, underscores, and periods"), - ), - }, + names.AttrNamespace: quicksightschema.NamespaceSchema(), } }, } diff --git a/internal/service/quicksight/group_data_source.go b/internal/service/quicksight/group_data_source.go index 744abb3ff598..403efe7f1d6e 100644 --- a/internal/service/quicksight/group_data_source.go +++ b/internal/service/quicksight/group_data_source.go @@ -6,12 +6,11 @@ package quicksight import ( "context" - "github.com/YakDriver/regexache" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" "github.com/hashicorp/terraform-provider-aws/internal/conns" "github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag" + quicksightschema "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -39,15 +38,7 @@ func dataSourceGroup() *schema.Resource { Type: schema.TypeString, Required: true, }, - names.AttrNamespace: { - Type: schema.TypeString, - Optional: true, - Default: defaultNamespace, - ValidateFunc: validation.All( - validation.StringLenBetween(1, 63), - validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]*$`), "must contain only alphanumeric characters, hyphens, underscores, and periods"), - ), - }, + names.AttrNamespace: quicksightschema.NamespaceDataSourceSchema(), "principal_id": { Type: schema.TypeString, Computed: true, diff --git a/internal/service/quicksight/group_membership.go b/internal/service/quicksight/group_membership.go index 2bda5382fe3a..da9184a15a17 100644 --- a/internal/service/quicksight/group_membership.go +++ b/internal/service/quicksight/group_membership.go @@ -9,17 +9,16 @@ import ( "log" "strings" - "github.com/YakDriver/regexache" "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/service/quicksight" awstypes "github.com/aws/aws-sdk-go-v2/service/quicksight/types" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" "github.com/hashicorp/terraform-provider-aws/internal/conns" "github.com/hashicorp/terraform-provider-aws/internal/errs" "github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag" + quicksightschema "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema" tfslices "github.com/hashicorp/terraform-provider-aws/internal/slices" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" @@ -58,16 +57,7 @@ func resourceGroupMembership() *schema.Resource { Required: true, ForceNew: true, }, - names.AttrNamespace: { - Type: schema.TypeString, - Optional: true, - ForceNew: true, - Default: defaultNamespace, - ValidateFunc: validation.All( - validation.StringLenBetween(1, 63), - validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]*$`), "must contain only alphanumeric characters, hyphens, underscores, and periods"), - ), - }, + names.AttrNamespace: quicksightschema.NamespaceSchema(), } }, } diff --git a/internal/service/quicksight/iam_policy_assignment.go b/internal/service/quicksight/iam_policy_assignment.go index 48dc819fef3c..171a54d9529c 100644 --- a/internal/service/quicksight/iam_policy_assignment.go +++ b/internal/service/quicksight/iam_policy_assignment.go @@ -16,7 +16,6 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringdefault" "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" "github.com/hashicorp/terraform-plugin-framework/schema/validator" "github.com/hashicorp/terraform-plugin-framework/types" @@ -59,14 +58,7 @@ func (r *iamPolicyAssignmentResource) Schema(ctx context.Context, request resour }, names.AttrAWSAccountID: quicksightschema.AWSAccountIDAttribute(), names.AttrID: framework.IDAttribute(), - names.AttrNamespace: schema.StringAttribute{ - Optional: true, - Computed: true, - Default: stringdefault.StaticString(defaultNamespace), - PlanModifiers: []planmodifier.String{ - stringplanmodifier.RequiresReplace(), - }, - }, + names.AttrNamespace: quicksightschema.NamespaceAttribute(), "policy_arn": schema.StringAttribute{ CustomType: fwtypes.ARNType, Optional: true, diff --git a/internal/service/quicksight/role_membership.go b/internal/service/quicksight/role_membership.go index 63a1ebab7252..100fa0e8ff53 100644 --- a/internal/service/quicksight/role_membership.go +++ b/internal/service/quicksight/role_membership.go @@ -15,7 +15,6 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringdefault" "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" @@ -54,14 +53,7 @@ func (r *roleMembershipResource) Schema(ctx context.Context, req resource.Schema stringplanmodifier.RequiresReplace(), }, }, - names.AttrNamespace: schema.StringAttribute{ - Optional: true, - Computed: true, - Default: stringdefault.StaticString(defaultNamespace), - PlanModifiers: []planmodifier.String{ - stringplanmodifier.RequiresReplace(), - }, - }, + names.AttrNamespace: quicksightschema.NamespaceAttribute(), names.AttrRole: schema.StringAttribute{ CustomType: fwtypes.StringEnumType[awstypes.Role](), Required: true, diff --git a/internal/service/quicksight/schema/stdattributes.go b/internal/service/quicksight/schema/stdattributes.go index d3779eee96c8..5c10aefcc86b 100644 --- a/internal/service/quicksight/schema/stdattributes.go +++ b/internal/service/quicksight/schema/stdattributes.go @@ -4,15 +4,22 @@ package schema import ( - "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "regexp" + + "github.com/YakDriver/regexache" + "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator" + fwschema "github.com/hashicorp/terraform-plugin-framework/resource/schema" "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringdefault" "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" "github.com/hashicorp/terraform-plugin-framework/schema/validator" + sdkschema "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" fwvalidators "github.com/hashicorp/terraform-provider-aws/internal/framework/validators" ) -func AWSAccountIDAttribute() schema.StringAttribute { - return schema.StringAttribute{ +func AWSAccountIDAttribute() fwschema.StringAttribute { + return fwschema.StringAttribute{ Optional: true, Computed: true, Validators: []validator.String{ @@ -24,3 +31,51 @@ func AWSAccountIDAttribute() schema.StringAttribute { }, } } + +const ( + DefaultNamespace = "default" +) + +func NamespaceAttribute() fwschema.StringAttribute { + return fwschema.StringAttribute{ + Optional: true, + Computed: true, + Default: stringdefault.StaticString(DefaultNamespace), + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 64), + stringvalidator.RegexMatches(namespaceRegex()), + }, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplace(), + }, + } +} + +func NamespaceSchema() *sdkschema.Schema { + return &sdkschema.Schema{ + Type: sdkschema.TypeString, + Optional: true, + ForceNew: true, + Default: DefaultNamespace, + ValidateFunc: validation.All( + validation.StringLenBetween(1, 64), + validation.StringMatch(namespaceRegex()), + ), + } +} + +func NamespaceDataSourceSchema() *sdkschema.Schema { + return &sdkschema.Schema{ + Type: sdkschema.TypeString, + Optional: true, + Default: DefaultNamespace, + ValidateFunc: validation.All( + validation.StringLenBetween(1, 64), + validation.StringMatch(namespaceRegex()), + ), + } +} + +func namespaceRegex() (*regexp.Regexp, string) { + return regexache.MustCompile(`^[0-9A-Za-z_.-]*$`), "must contain only alphanumeric characters, hyphens, underscores, and periods" +} diff --git a/internal/service/quicksight/sweep.go b/internal/service/quicksight/sweep.go index 9afe9236221c..c7a2ba27505e 100644 --- a/internal/service/quicksight/sweep.go +++ b/internal/service/quicksight/sweep.go @@ -13,6 +13,7 @@ import ( awstypes "github.com/aws/aws-sdk-go-v2/service/quicksight/types" "github.com/hashicorp/aws-sdk-go-base/v2/tfawserr" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + quicksightschema "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema" "github.com/hashicorp/terraform-provider-aws/internal/sweep" "github.com/hashicorp/terraform-provider-aws/internal/sweep/awsv2" "github.com/hashicorp/terraform-provider-aws/internal/sweep/framework" @@ -249,7 +250,7 @@ func sweepGroups(region string) error { awsAccountID := client.AccountID(ctx) input := &quicksight.ListGroupsInput{ AwsAccountId: aws.String(awsAccountID), - Namespace: aws.String(defaultNamespace), + Namespace: aws.String(quicksightschema.DefaultNamespace), } pages := quicksight.NewListGroupsPaginator(conn, input) @@ -275,7 +276,7 @@ func sweepGroups(region string) error { r := resourceGroup() d := r.Data(nil) - d.SetId(groupCreateResourceID(awsAccountID, defaultNamespace, groupName)) + d.SetId(groupCreateResourceID(awsAccountID, quicksightschema.DefaultNamespace, groupName)) sweepResources = append(sweepResources, sweep.NewSweepResource(r, d, client)) } @@ -345,7 +346,7 @@ func sweepUsers(region string) error { awsAccountID := client.AccountID(ctx) input := &quicksight.ListUsersInput{ AwsAccountId: aws.String(awsAccountID), - Namespace: aws.String(defaultNamespace), + Namespace: aws.String(quicksightschema.DefaultNamespace), } pages := quicksight.NewListUsersPaginator(conn, input) @@ -371,7 +372,7 @@ func sweepUsers(region string) error { r := resourceUser() d := r.Data(nil) - d.SetId(userCreateResourceID(awsAccountID, defaultNamespace, userName)) + d.SetId(userCreateResourceID(awsAccountID, quicksightschema.DefaultNamespace, userName)) sweepResources = append(sweepResources, sweep.NewSweepResource(r, d, client)) } diff --git a/internal/service/quicksight/user.go b/internal/service/quicksight/user.go index 6961665e8339..99bf26786efd 100644 --- a/internal/service/quicksight/user.go +++ b/internal/service/quicksight/user.go @@ -9,7 +9,6 @@ import ( "log" "strings" - "github.com/YakDriver/regexache" "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/service/quicksight" awstypes "github.com/aws/aws-sdk-go-v2/service/quicksight/types" @@ -21,6 +20,7 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/enum" "github.com/hashicorp/terraform-provider-aws/internal/errs" "github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag" + quicksightschema "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -64,16 +64,7 @@ func resourceUser() *schema.Resource { awstypes.IdentityTypeQuicksight, ), false), }, - names.AttrNamespace: { - Type: schema.TypeString, - Optional: true, - ForceNew: true, - Default: defaultNamespace, - ValidateFunc: validation.All( - validation.StringLenBetween(1, 63), - validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]*$`), "must contain only alphanumeric characters, hyphens, underscores, and periods"), - ), - }, + names.AttrNamespace: quicksightschema.NamespaceSchema(), "session_name": { Type: schema.TypeString, Optional: true, diff --git a/internal/service/quicksight/user_data_source.go b/internal/service/quicksight/user_data_source.go index 4b291da19705..ded7400dd080 100644 --- a/internal/service/quicksight/user_data_source.go +++ b/internal/service/quicksight/user_data_source.go @@ -6,12 +6,11 @@ package quicksight import ( "context" - "github.com/YakDriver/regexache" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" "github.com/hashicorp/terraform-provider-aws/internal/conns" "github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag" + quicksightschema "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -43,15 +42,7 @@ func dataSourceUser() *schema.Resource { Type: schema.TypeString, Computed: true, }, - names.AttrNamespace: { - Type: schema.TypeString, - Optional: true, - Default: defaultNamespace, - ValidateFunc: validation.All( - validation.StringLenBetween(1, 63), - validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z_.-]*$`), "must contain only alphanumeric characters, hyphens, underscores, and periods"), - ), - }, + names.AttrNamespace: quicksightschema.NamespaceDataSourceSchema(), "principal_id": { Type: schema.TypeString, Computed: true, From 07ee0f40a642d1532a9c6f77dbca754f8c25ba81 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 30 Jul 2025 16:53:17 -0400 Subject: [PATCH 0119/1301] Add 'quicksight/schema.AWSAccountIDSchema'. --- .../quicksight/account_subscription.go | 10 ++-------- internal/service/quicksight/analysis.go | 9 +-------- .../quicksight/analysis_data_source.go | 8 +------- internal/service/quicksight/dashboard.go | 9 +-------- internal/service/quicksight/data_set.go | 9 +-------- .../quicksight/data_set_data_source.go | 8 +------- internal/service/quicksight/data_source.go | 11 ++-------- internal/service/quicksight/folder.go | 8 +------- internal/service/quicksight/group.go | 7 +------ .../service/quicksight/group_data_source.go | 6 +----- .../service/quicksight/group_membership.go | 7 +------ .../quicksight/schema/stdattributes.go | 20 +++++++++++++++++++ internal/service/quicksight/template.go | 9 +-------- internal/service/quicksight/theme.go | 9 +-------- .../service/quicksight/theme_data_source.go | 8 +------- internal/service/quicksight/user.go | 7 +------ .../service/quicksight/user_data_source.go | 6 +----- 17 files changed, 38 insertions(+), 113 deletions(-) diff --git a/internal/service/quicksight/account_subscription.go b/internal/service/quicksight/account_subscription.go index 59e06c527cfb..1a299260e8ff 100644 --- a/internal/service/quicksight/account_subscription.go +++ b/internal/service/quicksight/account_subscription.go @@ -19,8 +19,8 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/errs" "github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag" "github.com/hashicorp/terraform-provider-aws/internal/flex" + quicksightschema "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" - "github.com/hashicorp/terraform-provider-aws/internal/verify" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -77,13 +77,7 @@ func resourceAccountSubscription() *schema.Resource { Elem: &schema.Schema{Type: schema.TypeString}, ForceNew: true, }, - names.AttrAWSAccountID: { - Type: schema.TypeString, - Optional: true, - Computed: true, - ForceNew: true, - ValidateFunc: verify.ValidAccountID, - }, + names.AttrAWSAccountID: quicksightschema.AWSAccountIDSchema(), "contact_number": { Type: schema.TypeString, Optional: true, diff --git a/internal/service/quicksight/analysis.go b/internal/service/quicksight/analysis.go index fbc640f2b387..baa2b57707fc 100644 --- a/internal/service/quicksight/analysis.go +++ b/internal/service/quicksight/analysis.go @@ -26,7 +26,6 @@ import ( tfslices "github.com/hashicorp/terraform-provider-aws/internal/slices" 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" ) @@ -65,13 +64,7 @@ func resourceAnalysis() *schema.Resource { Type: schema.TypeString, Computed: true, }, - names.AttrAWSAccountID: { - Type: schema.TypeString, - Optional: true, - Computed: true, - ForceNew: true, - ValidateFunc: verify.ValidAccountID, - }, + names.AttrAWSAccountID: quicksightschema.AWSAccountIDSchema(), names.AttrCreatedTime: { Type: schema.TypeString, Computed: true, diff --git a/internal/service/quicksight/analysis_data_source.go b/internal/service/quicksight/analysis_data_source.go index fefdac11b9d9..e4c30f746ae6 100644 --- a/internal/service/quicksight/analysis_data_source.go +++ b/internal/service/quicksight/analysis_data_source.go @@ -13,7 +13,6 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag" quicksightschema "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema" tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" - "github.com/hashicorp/terraform-provider-aws/internal/verify" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -33,12 +32,7 @@ func dataSourceAnalysis() *schema.Resource { Type: schema.TypeString, Computed: true, }, - names.AttrAWSAccountID: { - Type: schema.TypeString, - Optional: true, - Computed: true, - ValidateFunc: verify.ValidAccountID, - }, + names.AttrAWSAccountID: quicksightschema.AWSAccountIDDataSourceSchema(), names.AttrCreatedTime: { Type: schema.TypeString, Computed: true, diff --git a/internal/service/quicksight/dashboard.go b/internal/service/quicksight/dashboard.go index 93798e83dc48..7bc4a0e84c5c 100644 --- a/internal/service/quicksight/dashboard.go +++ b/internal/service/quicksight/dashboard.go @@ -27,7 +27,6 @@ import ( tfslices "github.com/hashicorp/terraform-provider-aws/internal/slices" 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" ) @@ -58,13 +57,7 @@ func resourceDashboard() *schema.Resource { Type: schema.TypeString, Computed: true, }, - names.AttrAWSAccountID: { - Type: schema.TypeString, - Optional: true, - Computed: true, - ForceNew: true, - ValidateFunc: verify.ValidAccountID, - }, + names.AttrAWSAccountID: quicksightschema.AWSAccountIDSchema(), names.AttrCreatedTime: { Type: schema.TypeString, Computed: true, diff --git a/internal/service/quicksight/data_set.go b/internal/service/quicksight/data_set.go index 9723762e577d..4cc9c71c61c4 100644 --- a/internal/service/quicksight/data_set.go +++ b/internal/service/quicksight/data_set.go @@ -24,7 +24,6 @@ import ( quicksightschema "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema" 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" ) @@ -49,13 +48,7 @@ func resourceDataSet() *schema.Resource { Type: schema.TypeString, Computed: true, }, - names.AttrAWSAccountID: { - Type: schema.TypeString, - Optional: true, - Computed: true, - ForceNew: true, - ValidateFunc: verify.ValidAccountID, - }, + names.AttrAWSAccountID: quicksightschema.AWSAccountIDSchema(), "column_groups": quicksightschema.DataSetColumnGroupsSchema(), "column_level_permission_rules": quicksightschema.DataSetColumnLevelPermissionRulesSchema(), "data_set_id": { diff --git a/internal/service/quicksight/data_set_data_source.go b/internal/service/quicksight/data_set_data_source.go index 7564f48e010f..8a96a24041fc 100644 --- a/internal/service/quicksight/data_set_data_source.go +++ b/internal/service/quicksight/data_set_data_source.go @@ -12,7 +12,6 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag" quicksightschema "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema" tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" - "github.com/hashicorp/terraform-provider-aws/internal/verify" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -29,12 +28,7 @@ func dataSourceDataSet() *schema.Resource { Type: schema.TypeString, Computed: true, }, - names.AttrAWSAccountID: { - Type: schema.TypeString, - Optional: true, - Computed: true, - ValidateFunc: verify.ValidAccountID, - }, + names.AttrAWSAccountID: quicksightschema.AWSAccountIDDataSourceSchema(), "column_groups": quicksightschema.DataSetColumnGroupsSchemaDataSourceSchema(), "column_level_permission_rules": quicksightschema.DataSetColumnLevelPermissionRulesSchemaDataSourceSchema(), "data_set_id": { diff --git a/internal/service/quicksight/data_source.go b/internal/service/quicksight/data_source.go index b32655fdc171..3778965d4d57 100644 --- a/internal/service/quicksight/data_source.go +++ b/internal/service/quicksight/data_source.go @@ -25,7 +25,6 @@ import ( quicksightschema "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema" 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" ) @@ -59,14 +58,8 @@ func resourceDataSource() *schema.Resource { Type: schema.TypeString, Computed: true, }, - names.AttrAWSAccountID: { - Type: schema.TypeString, - Optional: true, - Computed: true, - ForceNew: true, - ValidateFunc: verify.ValidAccountID, - }, - "credentials": quicksightschema.DataSourceCredentialsSchema(), + names.AttrAWSAccountID: quicksightschema.AWSAccountIDSchema(), + "credentials": quicksightschema.DataSourceCredentialsSchema(), "data_source_id": { Type: schema.TypeString, Required: true, diff --git a/internal/service/quicksight/folder.go b/internal/service/quicksight/folder.go index 7f6e7443dafc..96f5460fa0f9 100644 --- a/internal/service/quicksight/folder.go +++ b/internal/service/quicksight/folder.go @@ -55,13 +55,7 @@ func resourceFolder() *schema.Resource { Type: schema.TypeString, Computed: true, }, - names.AttrAWSAccountID: { - Type: schema.TypeString, - Optional: true, - Computed: true, - ForceNew: true, - ValidateFunc: verify.ValidAccountID, - }, + names.AttrAWSAccountID: quicksightschema.AWSAccountIDSchema(), names.AttrCreatedTime: { Type: schema.TypeString, Computed: true, diff --git a/internal/service/quicksight/group.go b/internal/service/quicksight/group.go index bc8a687838bc..4cf6317d27ec 100644 --- a/internal/service/quicksight/group.go +++ b/internal/service/quicksight/group.go @@ -41,12 +41,7 @@ func resourceGroup() *schema.Resource { Type: schema.TypeString, Computed: true, }, - names.AttrAWSAccountID: { - Type: schema.TypeString, - Optional: true, - Computed: true, - ForceNew: true, - }, + names.AttrAWSAccountID: quicksightschema.AWSAccountIDSchema(), names.AttrDescription: { Type: schema.TypeString, Optional: true, diff --git a/internal/service/quicksight/group_data_source.go b/internal/service/quicksight/group_data_source.go index 403efe7f1d6e..88222c402f96 100644 --- a/internal/service/quicksight/group_data_source.go +++ b/internal/service/quicksight/group_data_source.go @@ -25,11 +25,7 @@ func dataSourceGroup() *schema.Resource { Type: schema.TypeString, Computed: true, }, - names.AttrAWSAccountID: { - Type: schema.TypeString, - Optional: true, - Computed: true, - }, + names.AttrAWSAccountID: quicksightschema.AWSAccountIDDataSourceSchema(), names.AttrDescription: { Type: schema.TypeString, Computed: true, diff --git a/internal/service/quicksight/group_membership.go b/internal/service/quicksight/group_membership.go index da9184a15a17..18ababdbae3f 100644 --- a/internal/service/quicksight/group_membership.go +++ b/internal/service/quicksight/group_membership.go @@ -41,12 +41,7 @@ func resourceGroupMembership() *schema.Resource { Type: schema.TypeString, Computed: true, }, - names.AttrAWSAccountID: { - Type: schema.TypeString, - Optional: true, - Computed: true, - ForceNew: true, - }, + names.AttrAWSAccountID: quicksightschema.AWSAccountIDSchema(), names.AttrGroupName: { Type: schema.TypeString, Required: true, diff --git a/internal/service/quicksight/schema/stdattributes.go b/internal/service/quicksight/schema/stdattributes.go index 5c10aefcc86b..ffa08d9b0a68 100644 --- a/internal/service/quicksight/schema/stdattributes.go +++ b/internal/service/quicksight/schema/stdattributes.go @@ -16,6 +16,7 @@ import ( sdkschema "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" fwvalidators "github.com/hashicorp/terraform-provider-aws/internal/framework/validators" + "github.com/hashicorp/terraform-provider-aws/internal/verify" ) func AWSAccountIDAttribute() fwschema.StringAttribute { @@ -32,6 +33,25 @@ func AWSAccountIDAttribute() fwschema.StringAttribute { } } +func AWSAccountIDSchema() *sdkschema.Schema { + return &sdkschema.Schema{ + Type: sdkschema.TypeString, + Optional: true, + Computed: true, + ForceNew: true, + ValidateFunc: verify.ValidAccountID, + } +} + +func AWSAccountIDDataSourceSchema() *sdkschema.Schema { + return &sdkschema.Schema{ + Type: sdkschema.TypeString, + Optional: true, + Computed: true, + ValidateFunc: verify.ValidAccountID, + } +} + const ( DefaultNamespace = "default" ) diff --git a/internal/service/quicksight/template.go b/internal/service/quicksight/template.go index e67904fcd23a..4bea3dfdc7d5 100644 --- a/internal/service/quicksight/template.go +++ b/internal/service/quicksight/template.go @@ -26,7 +26,6 @@ import ( tfslices "github.com/hashicorp/terraform-provider-aws/internal/slices" 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" ) @@ -57,13 +56,7 @@ func resourceTemplate() *schema.Resource { Type: schema.TypeString, Computed: true, }, - names.AttrAWSAccountID: { - Type: schema.TypeString, - Optional: true, - Computed: true, - ForceNew: true, - ValidateFunc: verify.ValidAccountID, - }, + names.AttrAWSAccountID: quicksightschema.AWSAccountIDSchema(), names.AttrCreatedTime: { Type: schema.TypeString, Computed: true, diff --git a/internal/service/quicksight/theme.go b/internal/service/quicksight/theme.go index 715666cc215d..01f7161a3f4d 100644 --- a/internal/service/quicksight/theme.go +++ b/internal/service/quicksight/theme.go @@ -26,7 +26,6 @@ import ( tfslices "github.com/hashicorp/terraform-provider-aws/internal/slices" 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" ) @@ -57,13 +56,7 @@ func resourceTheme() *schema.Resource { Type: schema.TypeString, Computed: true, }, - names.AttrAWSAccountID: { - Type: schema.TypeString, - Optional: true, - Computed: true, - ForceNew: true, - ValidateFunc: verify.ValidAccountID, - }, + names.AttrAWSAccountID: quicksightschema.AWSAccountIDSchema(), "base_theme_id": { Type: schema.TypeString, Required: true, diff --git a/internal/service/quicksight/theme_data_source.go b/internal/service/quicksight/theme_data_source.go index 57d04160333a..a61c6b478941 100644 --- a/internal/service/quicksight/theme_data_source.go +++ b/internal/service/quicksight/theme_data_source.go @@ -13,7 +13,6 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag" quicksightschema "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema" tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" - "github.com/hashicorp/terraform-provider-aws/internal/verify" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -28,12 +27,7 @@ func dataSourceTheme() *schema.Resource { Type: schema.TypeString, Computed: true, }, - names.AttrAWSAccountID: { - Type: schema.TypeString, - Optional: true, - Computed: true, - ValidateFunc: verify.ValidAccountID, - }, + names.AttrAWSAccountID: quicksightschema.AWSAccountIDDataSourceSchema(), "base_theme_id": { Type: schema.TypeString, Computed: true, diff --git a/internal/service/quicksight/user.go b/internal/service/quicksight/user.go index 99bf26786efd..022a267cd510 100644 --- a/internal/service/quicksight/user.go +++ b/internal/service/quicksight/user.go @@ -39,12 +39,7 @@ func resourceUser() *schema.Resource { Type: schema.TypeString, Computed: true, }, - names.AttrAWSAccountID: { - Type: schema.TypeString, - Optional: true, - Computed: true, - ForceNew: true, - }, + names.AttrAWSAccountID: quicksightschema.AWSAccountIDSchema(), names.AttrEmail: { Type: schema.TypeString, Required: true, diff --git a/internal/service/quicksight/user_data_source.go b/internal/service/quicksight/user_data_source.go index ded7400dd080..44708768790b 100644 --- a/internal/service/quicksight/user_data_source.go +++ b/internal/service/quicksight/user_data_source.go @@ -29,11 +29,7 @@ func dataSourceUser() *schema.Resource { Type: schema.TypeString, Computed: true, }, - names.AttrAWSAccountID: { - Type: schema.TypeString, - Optional: true, - Computed: true, - }, + names.AttrAWSAccountID: quicksightschema.AWSAccountIDDataSourceSchema(), names.AttrEmail: { Type: schema.TypeString, Computed: true, From 715563f7626f81e0e9ccfa6094df293cae18a2c4 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 31 Jul 2025 09:48:41 -0400 Subject: [PATCH 0120/1301] r/aws_quicksight_role_custom_permission: New resource. --- .../quicksight/role_custom_permission.go | 235 ++++++++++++++++++ .../quicksight/schema/stdattributes.go | 6 +- .../service/quicksight/service_package_gen.go | 6 + 3 files changed, 244 insertions(+), 3 deletions(-) create mode 100644 internal/service/quicksight/role_custom_permission.go diff --git a/internal/service/quicksight/role_custom_permission.go b/internal/service/quicksight/role_custom_permission.go new file mode 100644 index 000000000000..8267c74ffbbf --- /dev/null +++ b/internal/service/quicksight/role_custom_permission.go @@ -0,0 +1,235 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package quicksight + +import ( + "context" + "fmt" + + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/service/quicksight" + awstypes "github.com/aws/aws-sdk-go-v2/service/quicksight/types" + "github.com/hashicorp/terraform-plugin-framework/path" + "github.com/hashicorp/terraform-plugin-framework/resource" + "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" + "github.com/hashicorp/terraform-provider-aws/internal/errs" + "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" + intflex "github.com/hashicorp/terraform-provider-aws/internal/flex" + "github.com/hashicorp/terraform-provider-aws/internal/framework" + fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" + fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" + quicksightschema "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema" + "github.com/hashicorp/terraform-provider-aws/internal/tfresource" + "github.com/hashicorp/terraform-provider-aws/names" +) + +// @FrameworkResource("aws_quicksight_role_custom_permission", name="Role Custom Permission") +func newRoleCustomPermissionResource(_ context.Context) (resource.ResourceWithConfigure, error) { + r := &roleCustomPermissionResource{} + + return r, nil +} + +type roleCustomPermissionResource struct { + framework.ResourceWithModel[roleCustomPermissionResourceModel] +} + +func (r *roleCustomPermissionResource) Schema(ctx context.Context, request resource.SchemaRequest, response *resource.SchemaResponse) { + response.Schema = schema.Schema{ + Attributes: map[string]schema.Attribute{ + names.AttrAWSAccountID: quicksightschema.AWSAccountIDAttribute(), + "custom_permissions_name": schema.StringAttribute{ + Required: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplace(), + }, + }, + names.AttrNamespace: quicksightschema.NamespaceAttribute(), + names.AttrRole: schema.StringAttribute{ + CustomType: fwtypes.StringEnumType[awstypes.Role](), + Required: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplace(), + }, + }, + }, + } +} + +func (r *roleCustomPermissionResource) Create(ctx context.Context, request resource.CreateRequest, response *resource.CreateResponse) { + var data roleCustomPermissionResourceModel + response.Diagnostics.Append(request.Plan.Get(ctx, &data)...) + if response.Diagnostics.HasError() { + return + } + if data.AWSAccountID.IsUnknown() { + data.AWSAccountID = fwflex.StringValueToFramework(ctx, r.Meta().AccountID(ctx)) + } + + conn := r.Meta().QuickSightClient(ctx) + + var input quicksight.UpdateRoleCustomPermissionInput + response.Diagnostics.Append(fwflex.Expand(ctx, data, &input)...) + if response.Diagnostics.HasError() { + return + } + + _, err := conn.UpdateRoleCustomPermission(ctx, &input) + + if err != nil { + response.Diagnostics.AddError(fmt.Sprintf("creating Quicksight Role (%s) Custom Permission (%s)", data.Role.ValueString(), data.CustomPermissionsName.ValueString()), err.Error()) + + return + } + + response.Diagnostics.Append(response.State.Set(ctx, data)...) +} + +func (r *roleCustomPermissionResource) Read(ctx context.Context, request resource.ReadRequest, response *resource.ReadResponse) { + var data roleCustomPermissionResourceModel + response.Diagnostics.Append(request.State.Get(ctx, &data)...) + if response.Diagnostics.HasError() { + return + } + + conn := r.Meta().QuickSightClient(ctx) + + output, err := findRoleCustomPermissionByThreePartKey(ctx, conn, data.AWSAccountID.ValueString(), data.Namespace.ValueString(), data.Role.ValueEnum()) + + if tfresource.NotFound(err) { + response.Diagnostics.Append(fwdiag.NewResourceNotFoundWarningDiagnostic(err)) + response.State.RemoveResource(ctx) + + return + } + + if err != nil { + response.Diagnostics.AddError(fmt.Sprintf("creating Quicksight Role (%s) Custom Permission", data.Role.ValueString()), err.Error()) + + return + } + + // Set attributes for import. + data.CustomPermissionsName = fwflex.StringToFramework(ctx, output) + + response.Diagnostics.Append(response.State.Set(ctx, &data)...) +} + +func (r *roleCustomPermissionResource) Update(ctx context.Context, request resource.UpdateRequest, response *resource.UpdateResponse) { + var new, old roleCustomPermissionResourceModel + response.Diagnostics.Append(request.Plan.Get(ctx, &new)...) + if response.Diagnostics.HasError() { + return + } + response.Diagnostics.Append(request.State.Get(ctx, &old)...) + if response.Diagnostics.HasError() { + return + } + + conn := r.Meta().QuickSightClient(ctx) + + var input quicksight.UpdateRoleCustomPermissionInput + response.Diagnostics.Append(fwflex.Expand(ctx, new, &input)...) + if response.Diagnostics.HasError() { + return + } + + _, err := conn.UpdateRoleCustomPermission(ctx, &input) + + if err != nil { + response.Diagnostics.AddError(fmt.Sprintf("updating Quicksight Role (%s) Custom Permission (%s)", new.Role.ValueString(), new.CustomPermissionsName.ValueString()), err.Error()) + + return + } + + response.Diagnostics.Append(response.State.Set(ctx, &new)...) +} + +func (r *roleCustomPermissionResource) Delete(ctx context.Context, request resource.DeleteRequest, response *resource.DeleteResponse) { + var data roleCustomPermissionResourceModel + response.Diagnostics.Append(request.State.Get(ctx, &data)...) + if response.Diagnostics.HasError() { + return + } + + conn := r.Meta().QuickSightClient(ctx) + + var input quicksight.DeleteRoleCustomPermissionInput + response.Diagnostics.Append(fwflex.Expand(ctx, data, &input)...) + if response.Diagnostics.HasError() { + return + } + + _, err := conn.DeleteRoleCustomPermission(ctx, &input) + + if errs.IsA[*awstypes.ResourceNotFoundException](err) { + return + } + + if err != nil { + response.Diagnostics.AddError(fmt.Sprintf("deleting Quicksight Role (%s) Custom Permission (%s)", data.Role.ValueString(), data.CustomPermissionsName.ValueString()), err.Error()) + + return + } +} + +func (r *roleCustomPermissionResource) ImportState(ctx context.Context, request resource.ImportStateRequest, response *resource.ImportStateResponse) { + const ( + roleCustomPermissionIDParts = 3 + ) + parts, err := intflex.ExpandResourceId(request.ID, roleCustomPermissionIDParts, true) + + if err != nil { + response.Diagnostics.Append(fwdiag.NewParsingResourceIDErrorDiagnostic(err)) + + return + } + + response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root(names.AttrAWSAccountID), parts[0])...) + response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root(names.AttrNamespace), parts[1])...) + response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root(names.AttrRole), parts[2])...) +} + +func findRoleCustomPermissionByThreePartKey(ctx context.Context, conn *quicksight.Client, awsAccountID, namespace string, role awstypes.Role) (*string, error) { + input := quicksight.DescribeRoleCustomPermissionInput{ + AwsAccountId: aws.String(awsAccountID), + Namespace: aws.String(namespace), + Role: role, + } + + return findRoleCustomPermission(ctx, conn, &input) +} + +func findRoleCustomPermission(ctx context.Context, conn *quicksight.Client, input *quicksight.DescribeRoleCustomPermissionInput) (*string, error) { + output, err := conn.DescribeRoleCustomPermission(ctx, input) + + if errs.IsA[*awstypes.ResourceNotFoundException](err) { + return nil, &retry.NotFoundError{ + LastError: err, + LastRequest: input, + } + } + + if err != nil { + return nil, err + } + + if output == nil || aws.ToString(output.CustomPermissionsName) == "" { + return nil, tfresource.NewEmptyResultError(&input) + } + + return output.CustomPermissionsName, nil +} + +type roleCustomPermissionResourceModel struct { + framework.WithRegionModel + AWSAccountID types.String `tfsdk:"aws_account_id"` + CustomPermissionsName types.String `tfsdk:"custom_permissions_name"` + Namespace types.String `tfsdk:"namespace"` + Role fwtypes.StringEnum[awstypes.Role] `tfsdk:"role"` +} diff --git a/internal/service/quicksight/schema/stdattributes.go b/internal/service/quicksight/schema/stdattributes.go index ffa08d9b0a68..a0638686aa56 100644 --- a/internal/service/quicksight/schema/stdattributes.go +++ b/internal/service/quicksight/schema/stdattributes.go @@ -19,7 +19,7 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/verify" ) -func AWSAccountIDAttribute() fwschema.StringAttribute { +func AWSAccountIDAttribute() fwschema.StringAttribute { // nosemgrep:ci.aws-in-func-name return fwschema.StringAttribute{ Optional: true, Computed: true, @@ -33,7 +33,7 @@ func AWSAccountIDAttribute() fwschema.StringAttribute { } } -func AWSAccountIDSchema() *sdkschema.Schema { +func AWSAccountIDSchema() *sdkschema.Schema { // nosemgrep:ci.aws-in-func-name return &sdkschema.Schema{ Type: sdkschema.TypeString, Optional: true, @@ -43,7 +43,7 @@ func AWSAccountIDSchema() *sdkschema.Schema { } } -func AWSAccountIDDataSourceSchema() *sdkschema.Schema { +func AWSAccountIDDataSourceSchema() *sdkschema.Schema { // nosemgrep:ci.aws-in-func-name return &sdkschema.Schema{ Type: sdkschema.TypeString, Optional: true, diff --git a/internal/service/quicksight/service_package_gen.go b/internal/service/quicksight/service_package_gen.go index 9f06e3e6a848..30a9929de6bb 100644 --- a/internal/service/quicksight/service_package_gen.go +++ b/internal/service/quicksight/service_package_gen.go @@ -84,6 +84,12 @@ func (p *servicePackage) FrameworkResources(ctx context.Context) []*inttypes.Ser Name: "Refresh Schedule", Region: unique.Make(inttypes.ResourceRegionDefault()), }, + { + Factory: newRoleCustomPermissionResource, + TypeName: "aws_quicksight_role_custom_permission", + Name: "Role Custom Permission", + Region: unique.Make(inttypes.ResourceRegionDefault()), + }, { Factory: newRoleMembershipResource, TypeName: "aws_quicksight_role_membership", From 0d28c3062793107780748baa6ae61f41f200a09a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 31 Jul 2025 10:06:07 -0400 Subject: [PATCH 0121/1301] r/aws_quicksight_role_custom_permission: Documentation. --- ...sight_role_custom_permission.html.markdown | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 website/docs/r/quicksight_role_custom_permission.html.markdown diff --git a/website/docs/r/quicksight_role_custom_permission.html.markdown b/website/docs/r/quicksight_role_custom_permission.html.markdown new file mode 100644 index 000000000000..c1d1514cbdff --- /dev/null +++ b/website/docs/r/quicksight_role_custom_permission.html.markdown @@ -0,0 +1,54 @@ +--- +subcategory: "QuickSight" +layout: "aws" +page_title: "AWS: aws_quicksight_role_custom_permission" +description: |- + Manages the custom permissions that are associated with a role. +--- + +# Resource: aws_quicksight_role_custom_permission + +Manages the custom permissions that are associated with a role. + +## Example Usage + +```terraform +resource "aws_quicksight_role_custom_permission" "example" { + role = "READER" + custom_permissions_name = aws_quicksight_custom_permissions.example.custom_permissions_name +} +``` + +## Argument Reference + +The following arguments are required: + +* `custom_permissions_name` - (Required, Forces new resource) Custom permissions profile name. +* `role` - (Required, Forces new resource) Role. Valid values are `ADMIN`, `AUTHOR`, `READER`, `ADMIN_PRO`, `AUTHOR_PRO`, and `READER_PRO`. + +The following arguments are optional: + +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. +* `namespace` - (Optional, Forces new resource) Namespace containing the role. Defaults to `default`. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). + +## Attribute Reference + +This resource exports no additional attributes. + +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import QuickSight role custom permissions using a comma-delimited string combining the `aws_account_id`, `namespace` and `role`. For example: + +```terraform +import { + to = aws_quicksight_role_custom_permission.example + id = "012345678901,default,READER" +} +``` + +Using `terraform import`, import QuickSight role custom permissions using a comma-delimited string combining the `aws_account_id`, `namespace`, and `role`. For example: + +```console +% terraform import aws_quicksight_role_custom_permission.example 012345678901,default,READER +``` From e6a4840545b13fa8bb98b87d02360f8fe3704d95 Mon Sep 17 00:00:00 2001 From: GHA Date: Thu, 31 Jul 2025 09:11:44 -0700 Subject: [PATCH 0122/1301] docs --- .../docs/r/appsync_event_api.html.markdown | 277 ------------------ 1 file changed, 277 deletions(-) delete mode 100644 website/docs/r/appsync_event_api.html.markdown diff --git a/website/docs/r/appsync_event_api.html.markdown b/website/docs/r/appsync_event_api.html.markdown deleted file mode 100644 index c4dba31ff238..000000000000 --- a/website/docs/r/appsync_event_api.html.markdown +++ /dev/null @@ -1,277 +0,0 @@ ---- -subcategory: "AppSync" -layout: "aws" -page_title: "AWS: aws_appsync_event_api" -description: |- - Manages an AWS AppSync Event API. ---- - -# Resource: aws_appsync_event_api - -Manages an AWS AppSync Event API. Event APIs enable real-time subscriptions and event-driven communication in AppSync applications. - -## Example Usage - -### Basic Usage - -```terraform -resource "aws_appsync_event_api" "example" { - name = "example-event-api" -} -``` - -### With Owner Contact - -```terraform -resource "aws_appsync_event_api" "example" { - name = "example-event-api" - owner_contact = "admin@example.com" -} -``` - -### With Cognito Authentication - -```terraform -resource "aws_cognito_user_pool" "example" { - name = "example-user-pool" -} - -resource "aws_appsync_event_api" "example" { - name = "example-event-api" - - event_config { - auth_providers { - auth_type = "AMAZON_COGNITO_USER_POOLS" - cognito_config { - user_pool_id = aws_cognito_user_pool.example.id - aws_region = data.aws_region.current.name - } - } - } -} - -data "aws_region" "current" {} -``` - -### With Lambda Authorizer - -```terraform -resource "aws_iam_role" "lambda" { - name = "example-lambda-role" - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "lambda.amazonaws.com" - } - } - ] - }) -} - -resource "aws_lambda_function" "example" { - filename = "lambda_authorizer.zip" - function_name = "example-authorizer" - role = aws_iam_role.lambda.arn - handler = "index.handler" - runtime = "nodejs18.x" -} - -resource "aws_appsync_event_api" "example" { - name = "example-event-api" - - event_config { - auth_providers { - auth_type = "AWS_LAMBDA" - lambda_authorizer_config { - authorizer_uri = aws_lambda_function.example.invoke_arn - authorizer_result_ttl_in_seconds = 300 - } - } - } -} -``` - -### With OpenID Connect - -```terraform -resource "aws_appsync_event_api" "example" { - name = "example-event-api" - - event_config { - auth_providers { - auth_type = "OPENID_CONNECT" - openid_connect_config { - issuer = "https://example.com" - client_id = "example-client-id" - } - } - } -} -``` - -### With Authentication Modes - -```terraform -resource "aws_appsync_event_api" "example" { - name = "example-event-api" - - event_config { - connection_auth_modes { - auth_type = "API_KEY" - } - default_publish_auth_modes { - auth_type = "API_KEY" - } - default_subscribe_auth_modes { - auth_type = "API_KEY" - } - } -} -``` - -### With CloudWatch Logging - -```terraform -resource "aws_iam_role" "cloudwatch" { - name = "example-cloudwatch-role" - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "appsync.amazonaws.com" - } - } - ] - }) -} - -resource "aws_iam_role_policy_attachment" "cloudwatch" { - policy_arn = "arn:aws:iam::aws:policy/service-role/AppSyncPushToCloudWatchLogs" - role = aws_iam_role.cloudwatch.name -} - -resource "aws_appsync_event_api" "example" { - name = "example-event-api" - - event_config { - log_config { - cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn - log_level = "ERROR" - } - } -} -``` - -## Argument Reference - -The following arguments are required: - -* `name` - (Required) Name of the Event API. - -The following arguments are optional: - -* `owner_contact` - (Optional) Contact information for the owner of the Event API. -* `event_config` - (Optional) Configuration for the Event API. See [Event Config](#event-config) below. -* `tags` - (Optional) Map of tags to assign to the resource. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. - -### Event Config - -The `event_config` block supports the following: - -* `auth_providers` - (Optional) List of authentication providers. See [Auth Providers](#auth-providers) below. -* `connection_auth_modes` - (Optional) List of authentication modes for connections. See [Auth Modes](#auth-modes) below. -* `default_publish_auth_modes` - (Optional) List of default authentication modes for publishing. See [Auth Modes](#auth-modes) below. -* `default_subscribe_auth_modes` - (Optional) List of default authentication modes for subscribing. See [Auth Modes](#auth-modes) below. -* `log_config` - (Optional) Logging configuration. See [Log Config](#log-config) below. - -### Auth Providers - -The `auth_providers` block supports the following: - -* `auth_type` - (Required) Type of authentication provider. Valid values: `AMAZON_COGNITO_USER_POOLS`, `AWS_LAMBDA`, `OPENID_CONNECT`, `API_KEY`. -* `cognito_config` - (Optional) Configuration for Cognito user pool authentication. Required when `auth_type` is `AMAZON_COGNITO_USER_POOLS`. See [Cognito Config](#cognito-config) below. -* `lambda_authorizer_config` - (Optional) Configuration for Lambda authorization. Required when `auth_type` is `AWS_LAMBDA`. See [Lambda Authorizer Config](#lambda-authorizer-config) below. -* `openid_connect_config` - (Optional) Configuration for OpenID Connect. Required when `auth_type` is `OPENID_CONNECT`. See [OpenID Connect Config](#openid-connect-config) below. - -### Cognito Config - -The `cognito_config` block supports the following: - -* `user_pool_id` - (Required) ID of the Cognito user pool. -* `aws_region` - (Required) AWS region where the user pool is located. -* `app_id_client_regex` - (Optional) Regular expression for matching the client ID. - -### Lambda Authorizer Config - -The `lambda_authorizer_config` block supports the following: - -* `authorizer_uri` - (Required) URI of the Lambda function for authorization. -* `authorizer_result_ttl_in_seconds` - (Optional) TTL in seconds for the authorization result cache. -* `identity_validation_expression` - (Optional) Regular expression for identity validation. - -### OpenID Connect Config - -The `openid_connect_config` block supports the following: - -* `issuer` - (Required) Issuer URL for the OpenID Connect provider. -* `client_id` - (Optional) Client ID for the OpenID Connect provider. -* `auth_ttl` - (Optional) TTL in seconds for the authentication token. -* `iat_ttl` - (Optional) TTL in seconds for the issued at time. - -### Auth Modes - -The `connection_auth_modes`, `default_publish_auth_modes`, and `default_subscribe_auth_modes` blocks support the following: - -* `auth_type` - (Required) Type of authentication. Valid values: `API_KEY`, `AWS_IAM`, `AMAZON_COGNITO_USER_POOLS`, `OPENID_CONNECT`, `AWS_LAMBDA`. - -### Log Config - -The `log_config` block supports the following: - -* `cloudwatch_logs_role_arn` - (Required) ARN of the IAM role for CloudWatch logs. -* `log_level` - (Required) Log level. Valid values: `NONE`, `ERROR`, `ALL`, `INFO`, `DEBUG`. - -## Attribute Reference - -This resource exports the following attributes in addition to the arguments above: - -* `api_id` - ID of the Event API. -* `arn` - ARN of the Event API. -* `created` - Date and time when the Event API was created. -* `dns` - DNS configuration for the Event API. -* `tags_all` - Map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). -* `waf_web_acl_arn` - ARN of the associated WAF web ACL. - -## Timeouts - -[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): - -* `create` - (Default `30m`) -* `update` - (Default `30m`) -* `delete` - (Default `30m`) - -## Import - -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import AppSync Event API using the `api_id`. For example: - -```terraform -import { - to = aws_appsync_event_api.example - id = "example-api-id" -} -``` - -Using `terraform import`, import AppSync Event API using the `api_id`. For example: - -```console -% terraform import aws_appsync_event_api.example example-api-id -``` From bda656e28cd45138e2e5f871baa76188fc1f8eb3 Mon Sep 17 00:00:00 2001 From: GHA Date: Thu, 31 Jul 2025 09:12:14 -0700 Subject: [PATCH 0123/1301] docs --- website/docs/r/appsync_api.html.markdown | 277 +++++++++++++++++++++++ 1 file changed, 277 insertions(+) create mode 100644 website/docs/r/appsync_api.html.markdown diff --git a/website/docs/r/appsync_api.html.markdown b/website/docs/r/appsync_api.html.markdown new file mode 100644 index 000000000000..12ee70691ff0 --- /dev/null +++ b/website/docs/r/appsync_api.html.markdown @@ -0,0 +1,277 @@ +--- +subcategory: "AppSync" +layout: "aws" +page_title: "AWS: aws_appsync_event_api" +description: |- + Manages an AWS AppSync Event API. +--- + +# Resource: aws_appsync_event_api + +Manages an AWS AppSync Event API. Event APIs enable real-time subscriptions and event-driven communication in AppSync applications. + +## Example Usage + +### Basic Usage + +```terraform +resource "aws_appsync_event_api" "example" { + name = "example-event-api" +} +``` + +### With Owner Contact + +```terraform +resource "aws_appsync_event_api" "example" { + name = "example-event-api" + owner_contact = "admin@example.com" +} +``` +a +### With Cognito Authentication + +```terraform +resource "aws_cognito_user_pool" "example" { + name = "example-user-pool" +} + +resource "aws_appsync_event_api" "example" { + name = "example-event-api" + + event_config { + auth_providers { + auth_type = "AMAZON_COGNITO_USER_POOLS" + cognito_config { + user_pool_id = aws_cognito_user_pool.example.id + aws_region = data.aws_region.current.name + } + } + } +} + +data "aws_region" "current" {} +``` + +### With Lambda Authorizer + +```terraform +resource "aws_iam_role" "lambda" { + name = "example-lambda-role" + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" + } + } + ] + }) +} + +resource "aws_lambda_function" "example" { + filename = "lambda_authorizer.zip" + function_name = "example-authorizer" + role = aws_iam_role.lambda.arn + handler = "index.handler" + runtime = "nodejs18.x" +} + +resource "aws_appsync_event_api" "example" { + name = "example-event-api" + + event_config { + auth_providers { + auth_type = "AWS_LAMBDA" + lambda_authorizer_config { + authorizer_uri = aws_lambda_function.example.invoke_arn + authorizer_result_ttl_in_seconds = 300 + } + } + } +} +``` + +### With OpenID Connect + +```terraform +resource "aws_appsync_event_api" "example" { + name = "example-event-api" + + event_config { + auth_providers { + auth_type = "OPENID_CONNECT" + openid_connect_config { + issuer = "https://example.com" + client_id = "example-client-id" + } + } + } +} +``` + +### With Authentication Modes + +```terraform +resource "aws_appsync_event_api" "example" { + name = "example-event-api" + + event_config { + connection_auth_modes { + auth_type = "API_KEY" + } + default_publish_auth_modes { + auth_type = "API_KEY" + } + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } +} +``` + +### With CloudWatch Logging + +```terraform +resource "aws_iam_role" "cloudwatch" { + name = "example-cloudwatch-role" + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "appsync.amazonaws.com" + } + } + ] + }) +} + +resource "aws_iam_role_policy_attachment" "cloudwatch" { + policy_arn = "arn:aws:iam::aws:policy/service-role/AppSyncPushToCloudWatchLogs" + role = aws_iam_role.cloudwatch.name +} + +resource "aws_appsync_event_api" "example" { + name = "example-event-api" + + event_config { + log_config { + cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn + log_level = "ERROR" + } + } +} +``` + +## Argument Reference + +The following arguments are required: + +* `name` - (Required) Name of the Event API. + +The following arguments are optional: + +* `owner_contact` - (Optional) Contact information for the owner of the Event API. +* `event_config` - (Optional) Configuration for the Event API. See [Event Config](#event-config) below. +* `tags` - (Optional) Map of tags to assign to the resource. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +### Event Config + +The `event_config` block supports the following: + +* `auth_providers` - (Optional) List of authentication providers. See [Auth Providers](#auth-providers) below. +* `connection_auth_modes` - (Optional) List of authentication modes for connections. See [Auth Modes](#auth-modes) below. +* `default_publish_auth_modes` - (Optional) List of default authentication modes for publishing. See [Auth Modes](#auth-modes) below. +* `default_subscribe_auth_modes` - (Optional) List of default authentication modes for subscribing. See [Auth Modes](#auth-modes) below. +* `log_config` - (Optional) Logging configuration. See [Log Config](#log-config) below. + +### Auth Providers + +The `auth_providers` block supports the following: + +* `auth_type` - (Required) Type of authentication provider. Valid values: `AMAZON_COGNITO_USER_POOLS`, `AWS_LAMBDA`, `OPENID_CONNECT`, `API_KEY`. +* `cognito_config` - (Optional) Configuration for Cognito user pool authentication. Required when `auth_type` is `AMAZON_COGNITO_USER_POOLS`. See [Cognito Config](#cognito-config) below. +* `lambda_authorizer_config` - (Optional) Configuration for Lambda authorization. Required when `auth_type` is `AWS_LAMBDA`. See [Lambda Authorizer Config](#lambda-authorizer-config) below. +* `openid_connect_config` - (Optional) Configuration for OpenID Connect. Required when `auth_type` is `OPENID_CONNECT`. See [OpenID Connect Config](#openid-connect-config) below. + +### Cognito Config + +The `cognito_config` block supports the following: + +* `user_pool_id` - (Required) ID of the Cognito user pool. +* `aws_region` - (Required) AWS region where the user pool is located. +* `app_id_client_regex` - (Optional) Regular expression for matching the client ID. + +### Lambda Authorizer Config + +The `lambda_authorizer_config` block supports the following: + +* `authorizer_uri` - (Required) URI of the Lambda function for authorization. +* `authorizer_result_ttl_in_seconds` - (Optional) TTL in seconds for the authorization result cache. +* `identity_validation_expression` - (Optional) Regular expression for identity validation. + +### OpenID Connect Config + +The `openid_connect_config` block supports the following: + +* `issuer` - (Required) Issuer URL for the OpenID Connect provider. +* `client_id` - (Optional) Client ID for the OpenID Connect provider. +* `auth_ttl` - (Optional) TTL in seconds for the authentication token. +* `iat_ttl` - (Optional) TTL in seconds for the issued at time. + +### Auth Modes + +The `connection_auth_modes`, `default_publish_auth_modes`, and `default_subscribe_auth_modes` blocks support the following: + +* `auth_type` - (Required) Type of authentication. Valid values: `API_KEY`, `AWS_IAM`, `AMAZON_COGNITO_USER_POOLS`, `OPENID_CONNECT`, `AWS_LAMBDA`. + +### Log Config + +The `log_config` block supports the following: + +* `cloudwatch_logs_role_arn` - (Required) ARN of the IAM role for CloudWatch logs. +* `log_level` - (Required) Log level. Valid values: `NONE`, `ERROR`, `ALL`, `INFO`, `DEBUG`. + +## Attribute Reference + +This resource exports the following attributes in addition to the arguments above: + +* `api_id` - ID of the Event API. +* `arn` - ARN of the Event API. +* `created` - Date and time when the Event API was created. +* `dns` - DNS configuration for the Event API. +* `tags_all` - Map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). +* `waf_web_acl_arn` - ARN of the associated WAF web ACL. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +* `create` - (Default `30m`) +* `update` - (Default `30m`) +* `delete` - (Default `30m`) + +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import AppSync Event API using the `api_id`. For example: + +```terraform +import { + to = aws_appsync_event_api.example + id = "example-api-id" +} +``` + +Using `terraform import`, import AppSync Event API using the `api_id`. For example: + +```console +% terraform import aws_appsync_event_api.example example-api-id +``` From 2c20cb8a66672d034359872ad1a3534623286dd1 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 31 Jul 2025 13:57:05 -0400 Subject: [PATCH 0124/1301] Add CHANGELOG entries. --- .changelog/#####.txt | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .changelog/#####.txt diff --git a/.changelog/#####.txt b/.changelog/#####.txt new file mode 100644 index 000000000000..bfa787291b4b --- /dev/null +++ b/.changelog/#####.txt @@ -0,0 +1,7 @@ +```release-note:enhancement +resource/aws_s3_access_point: Add `tags` argument and `tags_all` attribute. This functionality requires the `s3control:ListTagsForResource`, `s3control:TagResource`, and `s3control:UntagResource` IAM permissions +``` + +```release-note:enhancement +data-source/aws_s3_access_point: Add `tags` attribute. This functionality requires the `s3control:ListTagsForResource` IAM permission +``` \ No newline at end of file From 1707deb77558117d475ffd9d7841eb5c55e45343 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 31 Jul 2025 13:59:24 -0400 Subject: [PATCH 0125/1301] Documentation. --- website/docs/d/s3_access_point.html.markdown | 1 + website/docs/r/s3_access_point.html.markdown | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/website/docs/d/s3_access_point.html.markdown b/website/docs/d/s3_access_point.html.markdown index 5295c67fb5db..a0c4c98e3925 100644 --- a/website/docs/d/s3_access_point.html.markdown +++ b/website/docs/d/s3_access_point.html.markdown @@ -43,5 +43,6 @@ This data source exports the following attributes in addition to the arguments a * `block_public_policy` - Whether Amazon S3 blocks public bucket policies for buckets in this account. * `ignore_public_acls` - Whether Amazon S3 ignores public ACLs for buckets in this account. * `restrict_public_buckets` - Whether Amazon S3 restricts public bucket policies for buckets in this account. +* `tags` - Tags assigned to the access point. * `vpc_configuration` - VPC configuration for the access point. * `vpc_id` - Access point will only allow connections from this VPC. diff --git a/website/docs/r/s3_access_point.html.markdown b/website/docs/r/s3_access_point.html.markdown index e08c24fd221e..bd8324242849 100644 --- a/website/docs/r/s3_access_point.html.markdown +++ b/website/docs/r/s3_access_point.html.markdown @@ -82,11 +82,12 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `account_id` - (Optional) AWS account ID for the owner of the bucket for which you want to create an access point. Defaults to automatically determined account ID of the Terraform AWS provider. * `bucket_account_id` - (Optional) AWS account ID associated with the S3 bucket associated with this access point. * `policy` - (Optional) Valid JSON document that specifies the policy that you want to apply to this access point. Removing `policy` from your configuration or setting `policy` to null or an empty string (i.e., `policy = ""`) _will not_ delete the policy since it could have been set by `aws_s3control_access_point_policy`. To remove the `policy`, set it to `"{}"` (an empty JSON document). * `public_access_block_configuration` - (Optional) Configuration block to manage the `PublicAccessBlock` configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. Detailed below. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). +* `tags` - (Optional) Map of tags to assign to the bucket. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. * `vpc_configuration` - (Optional) Configuration block to restrict access to this access point to requests from the specified Virtual Private Cloud (VPC). Required for S3 on Outposts. Detailed below. ### public_access_block_configuration Configuration Block @@ -122,6 +123,7 @@ Note: S3 access points only support secure access by HTTPS. HTTP isn't supported * `has_public_access_policy` - Indicates whether this access point currently has a policy that allows public access. * `id` - For Access Point of an AWS Partition S3 Bucket, the AWS account ID and access point name separated by a colon (`:`). For S3 on Outposts Bucket, the ARN of the Access Point. * `network_origin` - Indicates whether this access point allows access from the public Internet. Values are `VPC` (the access point doesn't allow access from the public Internet) and `Internet` (the access point allows access from the public Internet, subject to the access point and bucket access policies). +* `tags_all` - Map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). ## Import From 5a04a9aa863b2ba6acfb524593766e92604f32cd Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 31 Jul 2025 14:02:19 -0400 Subject: [PATCH 0126/1301] r/aws_s3_access_point: Add tagging support. --- internal/service/s3control/access_point.go | 6 ++++++ internal/service/s3control/service_package_gen.go | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/internal/service/s3control/access_point.go b/internal/service/s3control/access_point.go index efa63bd57db5..fa1b3e73c40d 100644 --- a/internal/service/s3control/access_point.go +++ b/internal/service/s3control/access_point.go @@ -22,12 +22,14 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/conns" "github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag" "github.com/hashicorp/terraform-provider-aws/internal/sdkv2" + 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_s3_access_point, name="Access Point") +// @Tags(identifierAttribute="arn") func resourceAccessPoint() *schema.Resource { return &schema.Resource{ CreateWithoutTimeout: resourceAccessPointCreate, @@ -128,6 +130,8 @@ func resourceAccessPoint() *schema.Resource { }, }, }, + names.AttrTags: tftags.TagsSchema(), + names.AttrTagsAll: tftags.TagsSchemaComputed(), names.AttrVPCConfiguration: { Type: schema.TypeList, Optional: true, @@ -176,6 +180,8 @@ func resourceAccessPointCreate(ctx context.Context, d *schema.ResourceData, meta input.VpcConfiguration = expandVPCConfiguration(v.([]any)[0].(map[string]any)) } + //input.Tags = getTagsIn(ctx) + output, err := conn.CreateAccessPoint(ctx, &input) if err != nil { diff --git a/internal/service/s3control/service_package_gen.go b/internal/service/s3control/service_package_gen.go index 463e508b3ce4..09e015a1e139 100644 --- a/internal/service/s3control/service_package_gen.go +++ b/internal/service/s3control/service_package_gen.go @@ -96,7 +96,10 @@ func (p *servicePackage) SDKResources(ctx context.Context) []*inttypes.ServicePa Factory: resourceAccessPoint, TypeName: "aws_s3_access_point", Name: "Access Point", - Region: unique.Make(inttypes.ResourceRegionDefault()), + Tags: unique.Make(inttypes.ServicePackageResourceTags{ + IdentifierAttribute: names.AttrARN, + }), + Region: unique.Make(inttypes.ResourceRegionDefault()), }, { Factory: resourceAccountPublicAccessBlock, From b869e7b708aa03df440dc41e2acf58ea6a36eb06 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 31 Jul 2025 14:04:27 -0400 Subject: [PATCH 0127/1301] d/aws_s3_access_point: Add tagging support. --- internal/service/s3control/access_point_data_source.go | 1 + internal/service/s3control/service_package_gen.go | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/service/s3control/access_point_data_source.go b/internal/service/s3control/access_point_data_source.go index 2830332e88bb..e8ef9646ebd7 100644 --- a/internal/service/s3control/access_point_data_source.go +++ b/internal/service/s3control/access_point_data_source.go @@ -19,6 +19,7 @@ import ( ) // @FrameworkDataSource("aws_s3_access_point", name="Access Point") +// @Tags(identifierAttribute="arn") func newAccessPointDataSource(context.Context) (datasource.DataSourceWithConfigure, error) { return &accessPointDataSource{}, nil } diff --git a/internal/service/s3control/service_package_gen.go b/internal/service/s3control/service_package_gen.go index 09e015a1e139..b5b51773383b 100644 --- a/internal/service/s3control/service_package_gen.go +++ b/internal/service/s3control/service_package_gen.go @@ -24,7 +24,10 @@ func (p *servicePackage) FrameworkDataSources(ctx context.Context) []*inttypes.S Factory: newAccessPointDataSource, TypeName: "aws_s3_access_point", Name: "Access Point", - Region: unique.Make(inttypes.ResourceRegionDefault()), + Tags: unique.Make(inttypes.ServicePackageResourceTags{ + IdentifierAttribute: names.AttrARN, + }), + Region: unique.Make(inttypes.ResourceRegionDefault()), }, } } From 2608b96954e8c6495b63ba93d2e74a9b8c6ee171 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 31 Jul 2025 14:11:11 -0400 Subject: [PATCH 0128/1301] aws_s3_access_point: Test tagging. --- .../access_point_data_source_test.go | 3 +- .../service/s3control/access_point_test.go | 85 ++++++++++++++++++- 2 files changed, 86 insertions(+), 2 deletions(-) diff --git a/internal/service/s3control/access_point_data_source_test.go b/internal/service/s3control/access_point_data_source_test.go index 4379d0688f48..9b8f59c73184 100644 --- a/internal/service/s3control/access_point_data_source_test.go +++ b/internal/service/s3control/access_point_data_source_test.go @@ -33,6 +33,7 @@ func TestAccS3ControlAccessPointDataSource_basic(t *testing.T) { resource.TestCheckResourceAttrPair(resourceName, names.AttrBucket, dataSourceName, names.AttrBucket), resource.TestCheckResourceAttrPair(resourceName, "bucket_account_id", dataSourceName, "bucket_account_id"), resource.TestCheckResourceAttrPair(resourceName, names.AttrName, dataSourceName, names.AttrName), + resource.TestCheckResourceAttrPair(resourceName, acctest.CtTagsPercent, dataSourceName, acctest.CtTagsPercent), resource.TestCheckResourceAttrPair(resourceName, "network_origin", dataSourceName, "network_origin"), ), }, @@ -41,7 +42,7 @@ func TestAccS3ControlAccessPointDataSource_basic(t *testing.T) { } func testAccAccessPointDataSourceConfig_basic(bucketName, accessPointName string) string { - return acctest.ConfigCompose(testAccAccessPointConfig_basic(bucketName, accessPointName), ` + return acctest.ConfigCompose(testAccAccessPointConfig_tags1(bucketName, accessPointName, acctest.CtKey1, acctest.CtValue1), ` data "aws_s3_access_point" "test" { name = aws_s3_access_point.test.name } diff --git a/internal/service/s3control/access_point_test.go b/internal/service/s3control/access_point_test.go index ab4509db3b35..3c547716f0f7 100644 --- a/internal/service/s3control/access_point_test.go +++ b/internal/service/s3control/access_point_test.go @@ -40,7 +40,7 @@ func TestAccS3ControlAccessPoint_basic(t *testing.T) { Steps: []resource.TestStep{ { Config: testAccAccessPointConfig_basic(bucketName, accessPointName), - Check: resource.ComposeTestCheckFunc( + Check: resource.ComposeAggregateTestCheckFunc( testAccCheckAccessPointExists(ctx, resourceName, &v), acctest.CheckResourceAttrAccountID(ctx, resourceName, names.AttrAccountID), // https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-alias.html: @@ -59,6 +59,7 @@ func TestAccS3ControlAccessPoint_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "public_access_block_configuration.0.block_public_policy", acctest.CtTrue), resource.TestCheckResourceAttr(resourceName, "public_access_block_configuration.0.ignore_public_acls", acctest.CtTrue), resource.TestCheckResourceAttr(resourceName, "public_access_block_configuration.0.restrict_public_buckets", acctest.CtTrue), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "0"), resource.TestCheckResourceAttr(resourceName, "vpc_configuration.#", "0"), ), }, @@ -359,6 +360,53 @@ func TestAccS3ControlAccessPoint_directoryBucket_basic(t *testing.T) { }) } +func TestAccS3ControlAccessPoint_tags(t *testing.T) { + ctx := acctest.Context(t) + var v s3control.GetAccessPointOutput + bucketName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + accessPointName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_s3_access_point.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.S3ControlServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckAccessPointDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccAccessPointConfig_tags1(bucketName, accessPointName, acctest.CtKey1, acctest.CtValue1), + Check: resource.ComposeTestCheckFunc( + testAccCheckAccessPointExists(ctx, resourceName, &v), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "1"), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsKey1, acctest.CtValue1), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + Config: testAccAccessPointConfig_tags2(bucketName, accessPointName, acctest.CtKey1, acctest.CtValue1Updated, acctest.CtKey2, acctest.CtValue2), + Check: resource.ComposeTestCheckFunc( + testAccCheckAccessPointExists(ctx, resourceName, &v), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "2"), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsKey1, acctest.CtValue1Updated), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsKey2, acctest.CtValue2), + ), + }, + { + Config: testAccAccessPointConfig_tags1(bucketName, accessPointName, acctest.CtKey2, acctest.CtValue2), + Check: resource.ComposeTestCheckFunc( + testAccCheckAccessPointExists(ctx, resourceName, &v), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "1"), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsKey2, acctest.CtValue2), + ), + }, + }, + }) +} + func testAccCheckAccessPointDestroy(ctx context.Context) resource.TestCheckFunc { return func(s *terraform.State) error { conn := acctest.Provider.Meta().(*conns.AWSClient).S3ControlClient(ctx) @@ -676,3 +724,38 @@ resource "aws_s3_access_point" "test" { } `, rName)) } + +func testAccAccessPointConfig_tags1(bucketName, accessPointName, tagKey1, tagValue1 string) string { + return fmt.Sprintf(` +resource "aws_s3_bucket" "test" { + bucket = %[1]q +} + +resource "aws_s3_access_point" "test" { + bucket = aws_s3_bucket.test.bucket + name = %[2]q + + tags = { + %[3]q = %[4]q + } +} +`, bucketName, accessPointName, tagKey1, tagValue1) +} + +func testAccAccessPointConfig_tags2(bucketName, accessPointName, tagKey1, tagValue1, tagKey2, tagValue2 string) string { + return fmt.Sprintf(` +resource "aws_s3_bucket" "test" { + bucket = %[1]q +} + +resource "aws_s3_access_point" "test" { + bucket = aws_s3_bucket.test.bucket + name = %[2]q + + tags = { + %[3]q = %[4]q + %[5]q = %[6]q + } +} +`, bucketName, accessPointName, tagKey1, tagValue1, tagKey2, tagValue2) +} From 5edcc4e366a1729d32c7dce6d63baa8e4ff310fa Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 31 Jul 2025 14:37:08 -0400 Subject: [PATCH 0129/1301] r/aws_quicksight_role_custom_permission: Initial acceptance test. --- internal/service/quicksight/exports_test.go | 98 +++++++------- .../quicksight/role_custom_permission_test.go | 126 ++++++++++++++++++ 2 files changed, 176 insertions(+), 48 deletions(-) create mode 100644 internal/service/quicksight/role_custom_permission_test.go diff --git a/internal/service/quicksight/exports_test.go b/internal/service/quicksight/exports_test.go index 863058ac5558..f73cad16a179 100644 --- a/internal/service/quicksight/exports_test.go +++ b/internal/service/quicksight/exports_test.go @@ -9,55 +9,57 @@ import ( // Exports for use in tests only. var ( - ResourceAccountSettings = newAccountSettingsResource - ResourceAccountSubscription = resourceAccountSubscription - ResourceAnalysis = resourceAnalysis - ResourceCustomPermissions = newCustomPermissionsResource - ResourceDashboard = resourceDashboard - ResourceDataSet = resourceDataSet - ResourceDataSource = resourceDataSource - ResourceFolder = resourceFolder - ResourceFolderMembership = newFolderMembershipResource - ResourceGroup = resourceGroup - ResourceGroupMembership = resourceGroupMembership - ResourceIAMPolicyAssignment = newIAMPolicyAssignmentResource - ResourceIngestion = newIngestionResource - ResourceIPRestriction = newIPRestrictionResource - ResourceKeyRegistration = newKeyRegistrationResource - ResourceNamespace = newNamespaceResource - ResourceRefreshSchedule = newRefreshScheduleResource - ResourceRoleMembership = newRoleMembershipResource - ResourceTemplate = resourceTemplate - ResourceTemplateAlias = newTemplateAliasResource - ResourceTheme = resourceTheme - ResourceUser = resourceUser - ResourceVPCConnection = newVPCConnectionResource + ResourceAccountSettings = newAccountSettingsResource + ResourceAccountSubscription = resourceAccountSubscription + ResourceAnalysis = resourceAnalysis + ResourceCustomPermissions = newCustomPermissionsResource + ResourceDashboard = resourceDashboard + ResourceDataSet = resourceDataSet + ResourceDataSource = resourceDataSource + ResourceFolder = resourceFolder + ResourceFolderMembership = newFolderMembershipResource + ResourceGroup = resourceGroup + ResourceGroupMembership = resourceGroupMembership + ResourceIAMPolicyAssignment = newIAMPolicyAssignmentResource + ResourceIngestion = newIngestionResource + ResourceIPRestriction = newIPRestrictionResource + ResourceKeyRegistration = newKeyRegistrationResource + ResourceNamespace = newNamespaceResource + ResourceRefreshSchedule = newRefreshScheduleResource + ResourceRoleCustomPermission = newRoleCustomPermissionResource + ResourceRoleMembership = newRoleMembershipResource + ResourceTemplate = resourceTemplate + ResourceTemplateAlias = newTemplateAliasResource + ResourceTheme = resourceTheme + ResourceUser = resourceUser + ResourceVPCConnection = newVPCConnectionResource - DashboardLatestVersion = dashboardLatestVersion - DefaultNamespace = quicksightschema.DefaultNamespace - FindAccountSettingsByID = findAccountSettingsByID - FindAccountSubscriptionByID = findAccountSubscriptionByID - FindAnalysisByTwoPartKey = findAnalysisByTwoPartKey - FindCustomPermissionsByTwoPartKey = findCustomPermissionsByTwoPartKey - FindDashboardByThreePartKey = findDashboardByThreePartKey - FindDataSetByTwoPartKey = findDataSetByTwoPartKey - FindDataSourceByTwoPartKey = findDataSourceByTwoPartKey - FindFolderByTwoPartKey = findFolderByTwoPartKey - FindFolderMembershipByFourPartKey = findFolderMembershipByFourPartKey - FindGroupByThreePartKey = findGroupByThreePartKey - FindGroupMembershipByFourPartKey = findGroupMembershipByFourPartKey - FindIAMPolicyAssignmentByThreePartKey = findIAMPolicyAssignmentByThreePartKey - FindIngestionByThreePartKey = findIngestionByThreePartKey - FindIPRestrictionByID = findIPRestrictionByID - FindKeyRegistrationByID = findKeyRegistrationByID - FindNamespaceByTwoPartKey = findNamespaceByTwoPartKey - FindRefreshScheduleByThreePartKey = findRefreshScheduleByThreePartKey - FindRoleMembershipByMultiPartKey = findRoleMembershipByMultiPartKey - FindTemplateAliasByThreePartKey = findTemplateAliasByThreePartKey - FindTemplateByTwoPartKey = findTemplateByTwoPartKey - FindThemeByTwoPartKey = findThemeByTwoPartKey - FindUserByThreePartKey = findUserByThreePartKey - FindVPCConnectionByTwoPartKey = findVPCConnectionByTwoPartKey + DashboardLatestVersion = dashboardLatestVersion + DefaultNamespace = quicksightschema.DefaultNamespace + FindAccountSettingsByID = findAccountSettingsByID + FindAccountSubscriptionByID = findAccountSubscriptionByID + FindAnalysisByTwoPartKey = findAnalysisByTwoPartKey + FindCustomPermissionsByTwoPartKey = findCustomPermissionsByTwoPartKey + FindDashboardByThreePartKey = findDashboardByThreePartKey + FindDataSetByTwoPartKey = findDataSetByTwoPartKey + FindDataSourceByTwoPartKey = findDataSourceByTwoPartKey + FindFolderByTwoPartKey = findFolderByTwoPartKey + FindFolderMembershipByFourPartKey = findFolderMembershipByFourPartKey + FindGroupByThreePartKey = findGroupByThreePartKey + FindGroupMembershipByFourPartKey = findGroupMembershipByFourPartKey + FindIAMPolicyAssignmentByThreePartKey = findIAMPolicyAssignmentByThreePartKey + FindIngestionByThreePartKey = findIngestionByThreePartKey + FindIPRestrictionByID = findIPRestrictionByID + FindKeyRegistrationByID = findKeyRegistrationByID + FindNamespaceByTwoPartKey = findNamespaceByTwoPartKey + FindRefreshScheduleByThreePartKey = findRefreshScheduleByThreePartKey + FindRoleCustomPermissionByThreePartKey = findRoleCustomPermissionByThreePartKey + FindRoleMembershipByMultiPartKey = findRoleMembershipByMultiPartKey + FindTemplateAliasByThreePartKey = findTemplateAliasByThreePartKey + FindTemplateByTwoPartKey = findTemplateByTwoPartKey + FindThemeByTwoPartKey = findThemeByTwoPartKey + FindUserByThreePartKey = findUserByThreePartKey + FindVPCConnectionByTwoPartKey = findVPCConnectionByTwoPartKey StartAfterDateTimeLayout = startAfterDateTimeLayout ) diff --git a/internal/service/quicksight/role_custom_permission_test.go b/internal/service/quicksight/role_custom_permission_test.go new file mode 100644 index 000000000000..979b6a3c7478 --- /dev/null +++ b/internal/service/quicksight/role_custom_permission_test.go @@ -0,0 +1,126 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package quicksight_test + +import ( + "context" + "fmt" + "testing" + + awstypes "github.com/aws/aws-sdk-go-v2/service/quicksight/types" + sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/terraform" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfknownvalue "github.com/hashicorp/terraform-provider-aws/internal/acctest/knownvalue" + "github.com/hashicorp/terraform-provider-aws/internal/conns" + tfquicksight "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight" + "github.com/hashicorp/terraform-provider-aws/internal/tfresource" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccQuickSightRoleCustomPermission_basic(t *testing.T) { + ctx := acctest.Context(t) + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_quicksight_role_custom_permission.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckRoleCustomPermissionDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccRoleCustomPermissionConfig_basic(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckRoleCustomPermissionExists(ctx, resourceName), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrAWSAccountID), tfknownvalue.AccountID()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("custom_permissions_name"), knownvalue.StringExact(rName)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrNamespace), knownvalue.StringExact(tfquicksight.DefaultNamespace)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRole), tfknownvalue.StringExact(awstypes.RoleReader)), + }, + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateIdFunc: testAccRoleCustomPermissionImportStateID(resourceName), + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", + }, + }, + }) +} + +func testAccCheckRoleCustomPermissionDestroy(ctx context.Context) resource.TestCheckFunc { + return func(s *terraform.State) error { + conn := acctest.Provider.Meta().(*conns.AWSClient).QuickSightClient(ctx) + + for _, rs := range s.RootModule().Resources { + if rs.Type != "aws_quicksight_role_custom_permission" { + continue + } + + _, err := tfquicksight.FindRoleCustomPermissionByThreePartKey(ctx, conn, rs.Primary.Attributes[names.AttrAWSAccountID], rs.Primary.Attributes[names.AttrNamespace], awstypes.Role(rs.Primary.Attributes[names.AttrRole])) + + if tfresource.NotFound(err) { + continue + } + + if err != nil { + return err + } + + return fmt.Errorf("QuickSight Role Custom Permission (%s) still exists", rs.Primary.Attributes[names.AttrRole]) + } + + return nil + } +} + +func testAccCheckRoleCustomPermissionExists(ctx context.Context, n string) resource.TestCheckFunc { + return func(s *terraform.State) error { + rs, ok := s.RootModule().Resources[n] + if !ok { + return fmt.Errorf("Not found: %s", n) + } + + conn := acctest.Provider.Meta().(*conns.AWSClient).QuickSightClient(ctx) + + _, err := tfquicksight.FindRoleCustomPermissionByThreePartKey(ctx, conn, rs.Primary.Attributes[names.AttrAWSAccountID], rs.Primary.Attributes[names.AttrNamespace], awstypes.Role(rs.Primary.Attributes[names.AttrRole])) + + return err + } +} + +func testAccRoleCustomPermissionImportStateID(n string) resource.ImportStateIdFunc { + return func(s *terraform.State) (string, error) { + return acctest.AttrsImportStateIdFunc(n, ",", names.AttrAWSAccountID, names.AttrNamespace, names.AttrRole)(s) + } +} + +func testAccRoleCustomPermissionConfig_basic(rName string) string { + return acctest.ConfigCompose(testAccCustomPermissionsConfig_basic(rName), ` +resource "aws_quicksight_role_custom_permission" "test" { + role = "READER" + custom_permissions_name = aws_quicksight_custom_permissions.test.custom_permissions_name +} +`) +} From 685cbb70c081b833a58c2bfb06729ba7e0b2bb68 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 31 Jul 2025 14:37:21 -0400 Subject: [PATCH 0130/1301] Acceptance test output: % make testacc TESTARGS='-run=TestAccQuickSightRoleCustomPermission_basic' PKG=quicksight make: Verifying source code with gofmt... ==> Checking that code complies with gofmt requirements... TF_ACC=1 go1.24.5 test ./internal/service/quicksight/... -v -count 1 -parallel 20 -run=TestAccQuickSightRoleCustomPermission_basic -timeout 360m -vet=off 2025/07/31 14:35:32 Creating Terraform AWS Provider (SDKv2-style)... 2025/07/31 14:35:32 Initializing Terraform AWS Provider (SDKv2-style)... === RUN TestAccQuickSightRoleCustomPermission_basic === PAUSE TestAccQuickSightRoleCustomPermission_basic === CONT TestAccQuickSightRoleCustomPermission_basic --- PASS: TestAccQuickSightRoleCustomPermission_basic (15.16s) PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/quicksight 20.625s testing: warning: no tests to run PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema 0.624s [no tests to run] From fb5a359fd730e1a03b136bdb2e1121cdfc3f4ce6 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 31 Jul 2025 14:49:12 -0400 Subject: [PATCH 0131/1301] r/aws_quicksight_role_custom_permission: Additional acceptance tests. --- .../service/quicksight/quicksight_test.go | 5 + .../quicksight/role_custom_permission.go | 3 - .../quicksight/role_custom_permission_test.go | 114 +++++++++++++++++- 3 files changed, 117 insertions(+), 5 deletions(-) diff --git a/internal/service/quicksight/quicksight_test.go b/internal/service/quicksight/quicksight_test.go index 03995f196fa1..d60dbf4c0d56 100644 --- a/internal/service/quicksight/quicksight_test.go +++ b/internal/service/quicksight/quicksight_test.go @@ -41,6 +41,11 @@ func TestAccQuickSight_serial(t *testing.T) { acctest.CtBasic: testAccKeyRegistration_basic, acctest.CtDisappears: testAccKeyRegistration_disappears, }, + "RoleCustomPermission": { + acctest.CtBasic: testAccRoleCustomPermission_basic, + acctest.CtDisappears: testAccRoleCustomPermission_disappears, + "update": testAccRoleCustomPermission_update, + }, "RoleMembership": { acctest.CtBasic: testAccRoleMembership_basic, acctest.CtDisappears: testAccRoleMembership_disappears, diff --git a/internal/service/quicksight/role_custom_permission.go b/internal/service/quicksight/role_custom_permission.go index 8267c74ffbbf..a8a0cb8be4a3 100644 --- a/internal/service/quicksight/role_custom_permission.go +++ b/internal/service/quicksight/role_custom_permission.go @@ -45,9 +45,6 @@ func (r *roleCustomPermissionResource) Schema(ctx context.Context, request resou names.AttrAWSAccountID: quicksightschema.AWSAccountIDAttribute(), "custom_permissions_name": schema.StringAttribute{ Required: true, - PlanModifiers: []planmodifier.String{ - stringplanmodifier.RequiresReplace(), - }, }, names.AttrNamespace: quicksightschema.NamespaceAttribute(), names.AttrRole: schema.StringAttribute{ diff --git a/internal/service/quicksight/role_custom_permission_test.go b/internal/service/quicksight/role_custom_permission_test.go index 979b6a3c7478..675a51e410f5 100644 --- a/internal/service/quicksight/role_custom_permission_test.go +++ b/internal/service/quicksight/role_custom_permission_test.go @@ -24,12 +24,12 @@ import ( "github.com/hashicorp/terraform-provider-aws/names" ) -func TestAccQuickSightRoleCustomPermission_basic(t *testing.T) { +func testAccRoleCustomPermission_basic(t *testing.T) { ctx := acctest.Context(t) rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_quicksight_role_custom_permission.test" - resource.ParallelTest(t, resource.TestCase{ + resource.Test(t, resource.TestCase{ PreCheck: func() { acctest.PreCheck(ctx, t) }, ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -69,6 +69,97 @@ func TestAccQuickSightRoleCustomPermission_basic(t *testing.T) { }) } +func testAccRoleCustomPermission_disappears(t *testing.T) { + ctx := acctest.Context(t) + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_quicksight_role_custom_permission.test" + + resource.Test(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckRoleCustomPermissionDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccRoleCustomPermissionConfig_basic(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckRoleCustomPermissionExists(ctx, resourceName), + acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfquicksight.ResourceRoleCustomPermission, resourceName), + ), + ExpectNonEmptyPlan: true, + }, + }, + }) +} + +func testAccRoleCustomPermission_update(t *testing.T) { + ctx := acctest.Context(t) + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_quicksight_role_custom_permission.test" + + resource.Test(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckRoleCustomPermissionDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccRoleCustomPermissionConfig_basic(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckRoleCustomPermissionExists(ctx, resourceName), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrAWSAccountID), tfknownvalue.AccountID()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("custom_permissions_name"), knownvalue.StringExact(rName)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrNamespace), knownvalue.StringExact(tfquicksight.DefaultNamespace)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRole), tfknownvalue.StringExact(awstypes.RoleReader)), + }, + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateIdFunc: testAccRoleCustomPermissionImportStateID(resourceName), + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", + }, + { + Config: testAccRoleCustomPermissionConfig_updated(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckRoleCustomPermissionExists(ctx, resourceName), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrAWSAccountID), tfknownvalue.AccountID()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("custom_permissions_name"), knownvalue.StringExact(rName+"-2")), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrNamespace), knownvalue.StringExact(tfquicksight.DefaultNamespace)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRole), tfknownvalue.StringExact(awstypes.RoleReader)), + }, + }, + }, + }) +} + func testAccCheckRoleCustomPermissionDestroy(ctx context.Context) resource.TestCheckFunc { return func(s *terraform.State) error { conn := acctest.Provider.Meta().(*conns.AWSClient).QuickSightClient(ctx) @@ -124,3 +215,22 @@ resource "aws_quicksight_role_custom_permission" "test" { } `) } + +func testAccRoleCustomPermissionConfig_updated(rName string) string { + return acctest.ConfigCompose(testAccCustomPermissionsConfig_basic(rName), fmt.Sprintf(` +resource "aws_quicksight_custom_permissions" "test2" { + custom_permissions_name = "%[1]s-2" + + capabilities { + create_and_update_datasets = "DENY" + create_and_update_data_sources = "DENY" + export_to_pdf = "DENY" + } +} + +resource "aws_quicksight_role_custom_permission" "test" { + role = "READER" + custom_permissions_name = aws_quicksight_custom_permissions.test2.custom_permissions_name +} +`, rName)) +} From c780da940c0a8be2c1cf1392e1abd814567128e2 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 31 Jul 2025 14:57:05 -0400 Subject: [PATCH 0132/1301] go get github.com/aws/aws-sdk-go-v2/service/s3control. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8a3452a3e4cf..146cadbd47c0 100644 --- a/go.mod +++ b/go.mod @@ -219,7 +219,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/route53resolver v1.37.1 github.com/aws/aws-sdk-go-v2/service/rum v1.25.1 github.com/aws/aws-sdk-go-v2/service/s3 v1.85.1 - github.com/aws/aws-sdk-go-v2/service/s3control v1.61.1 + github.com/aws/aws-sdk-go-v2/service/s3control v1.62.0 github.com/aws/aws-sdk-go-v2/service/s3outposts v1.30.1 github.com/aws/aws-sdk-go-v2/service/s3tables v1.7.1 github.com/aws/aws-sdk-go-v2/service/sagemaker v1.203.1 diff --git a/go.sum b/go.sum index 370c61ff6b31..345fccd13843 100644 --- a/go.sum +++ b/go.sum @@ -459,8 +459,8 @@ github.com/aws/aws-sdk-go-v2/service/rum v1.25.1 h1:IPGVJBSdfbowzlpJ2WamBS6X5bbI github.com/aws/aws-sdk-go-v2/service/rum v1.25.1/go.mod h1:bP77oXsN8c23i7o1A46SQmqlmuslx4OmYtX2Ns4p0R8= github.com/aws/aws-sdk-go-v2/service/s3 v1.85.1 h1:Hsqo8+dFxSdDvv9B2PgIx1AJAnDpqgS0znVI+R+MoGY= github.com/aws/aws-sdk-go-v2/service/s3 v1.85.1/go.mod h1:8Q0TAPXD68Z8YqlcIGHs/UNIDHsxErV9H4dl4vJEpgw= -github.com/aws/aws-sdk-go-v2/service/s3control v1.61.1 h1:Fu6ZEW0t68B6Tjp/ubiOBa2OCRx2sHnRl1/1ehRU1Hc= -github.com/aws/aws-sdk-go-v2/service/s3control v1.61.1/go.mod h1:E6DME7R1bQBJaH/dIS2070dgcgba97shJWUTWMrTbgM= +github.com/aws/aws-sdk-go-v2/service/s3control v1.62.0 h1:tdFV3pnbKsSrxaPywUyvKOB/S+q+DvtpuPwq8m98enk= +github.com/aws/aws-sdk-go-v2/service/s3control v1.62.0/go.mod h1:E6DME7R1bQBJaH/dIS2070dgcgba97shJWUTWMrTbgM= github.com/aws/aws-sdk-go-v2/service/s3outposts v1.30.1 h1:iOFQNXtgNsVQjQLJQTvGC5NsIv43fW07igtoDHEIvKs= github.com/aws/aws-sdk-go-v2/service/s3outposts v1.30.1/go.mod h1:ANvlkElAoLD7KBmZAXJv+BmB42Ifw8DhKb4eEhmveMA= github.com/aws/aws-sdk-go-v2/service/s3tables v1.7.1 h1:Shyve/4zbd4pdKluYyXtcrBoZ1Olwodu/lbL9Dc6xOo= From 629122d444021fd6ff540b19894cd2de7744efed Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 31 Jul 2025 14:57:05 -0400 Subject: [PATCH 0133/1301] go get github.com/aws/aws-sdk-go-v2/service/s3control. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8a3452a3e4cf..146cadbd47c0 100644 --- a/go.mod +++ b/go.mod @@ -219,7 +219,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/route53resolver v1.37.1 github.com/aws/aws-sdk-go-v2/service/rum v1.25.1 github.com/aws/aws-sdk-go-v2/service/s3 v1.85.1 - github.com/aws/aws-sdk-go-v2/service/s3control v1.61.1 + github.com/aws/aws-sdk-go-v2/service/s3control v1.62.0 github.com/aws/aws-sdk-go-v2/service/s3outposts v1.30.1 github.com/aws/aws-sdk-go-v2/service/s3tables v1.7.1 github.com/aws/aws-sdk-go-v2/service/sagemaker v1.203.1 diff --git a/go.sum b/go.sum index 370c61ff6b31..345fccd13843 100644 --- a/go.sum +++ b/go.sum @@ -459,8 +459,8 @@ github.com/aws/aws-sdk-go-v2/service/rum v1.25.1 h1:IPGVJBSdfbowzlpJ2WamBS6X5bbI github.com/aws/aws-sdk-go-v2/service/rum v1.25.1/go.mod h1:bP77oXsN8c23i7o1A46SQmqlmuslx4OmYtX2Ns4p0R8= github.com/aws/aws-sdk-go-v2/service/s3 v1.85.1 h1:Hsqo8+dFxSdDvv9B2PgIx1AJAnDpqgS0znVI+R+MoGY= github.com/aws/aws-sdk-go-v2/service/s3 v1.85.1/go.mod h1:8Q0TAPXD68Z8YqlcIGHs/UNIDHsxErV9H4dl4vJEpgw= -github.com/aws/aws-sdk-go-v2/service/s3control v1.61.1 h1:Fu6ZEW0t68B6Tjp/ubiOBa2OCRx2sHnRl1/1ehRU1Hc= -github.com/aws/aws-sdk-go-v2/service/s3control v1.61.1/go.mod h1:E6DME7R1bQBJaH/dIS2070dgcgba97shJWUTWMrTbgM= +github.com/aws/aws-sdk-go-v2/service/s3control v1.62.0 h1:tdFV3pnbKsSrxaPywUyvKOB/S+q+DvtpuPwq8m98enk= +github.com/aws/aws-sdk-go-v2/service/s3control v1.62.0/go.mod h1:E6DME7R1bQBJaH/dIS2070dgcgba97shJWUTWMrTbgM= github.com/aws/aws-sdk-go-v2/service/s3outposts v1.30.1 h1:iOFQNXtgNsVQjQLJQTvGC5NsIv43fW07igtoDHEIvKs= github.com/aws/aws-sdk-go-v2/service/s3outposts v1.30.1/go.mod h1:ANvlkElAoLD7KBmZAXJv+BmB42Ifw8DhKb4eEhmveMA= github.com/aws/aws-sdk-go-v2/service/s3tables v1.7.1 h1:Shyve/4zbd4pdKluYyXtcrBoZ1Olwodu/lbL9Dc6xOo= From 2c69fffa589880f6fd125dd7e27ed18b45938333 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 31 Jul 2025 15:00:51 -0400 Subject: [PATCH 0134/1301] r/aws_s3_access_point: Tag on create. --- internal/service/s3control/access_point.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/internal/service/s3control/access_point.go b/internal/service/s3control/access_point.go index fa1b3e73c40d..395d3dfa99ac 100644 --- a/internal/service/s3control/access_point.go +++ b/internal/service/s3control/access_point.go @@ -166,6 +166,7 @@ func resourceAccessPointCreate(ctx context.Context, d *schema.ResourceData, meta AccountId: aws.String(accountID), Bucket: aws.String(d.Get(names.AttrBucket).(string)), Name: aws.String(name), + Tags: getTagsIn(ctx), } if v, ok := d.GetOk("bucket_account_id"); ok { @@ -180,8 +181,6 @@ func resourceAccessPointCreate(ctx context.Context, d *schema.ResourceData, meta input.VpcConfiguration = expandVPCConfiguration(v.([]any)[0].(map[string]any)) } - //input.Tags = getTagsIn(ctx) - output, err := conn.CreateAccessPoint(ctx, &input) if err != nil { From 9943df63c9c19cffae61729ae67123e415df0e48 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 31 Jul 2025 15:04:15 -0400 Subject: [PATCH 0135/1301] Correct IAM permissions for access point tagging. --- .changelog/#####.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.changelog/#####.txt b/.changelog/#####.txt index bfa787291b4b..7f8157a8ac96 100644 --- a/.changelog/#####.txt +++ b/.changelog/#####.txt @@ -1,7 +1,7 @@ ```release-note:enhancement -resource/aws_s3_access_point: Add `tags` argument and `tags_all` attribute. This functionality requires the `s3control:ListTagsForResource`, `s3control:TagResource`, and `s3control:UntagResource` IAM permissions +resource/aws_s3_access_point: Add `tags` argument and `tags_all` attribute. This functionality requires the `s3:ListTagsForResource`, `s3:TagResource`, and `s3:UntagResource` IAM permissions ``` ```release-note:enhancement -data-source/aws_s3_access_point: Add `tags` attribute. This functionality requires the `s3control:ListTagsForResource` IAM permission +data-source/aws_s3_access_point: Add `tags` attribute. This functionality requires the `s3:ListTagsForResource` IAM permission ``` \ No newline at end of file From 891887fe2ada76560a287cf36d173d24942972e9 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 31 Jul 2025 15:07:45 -0400 Subject: [PATCH 0136/1301] d/aws_s3_access_point: Add tags to schema. --- internal/service/s3control/access_point_data_source.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/internal/service/s3control/access_point_data_source.go b/internal/service/s3control/access_point_data_source.go index e8ef9646ebd7..052611507424 100644 --- a/internal/service/s3control/access_point_data_source.go +++ b/internal/service/s3control/access_point_data_source.go @@ -15,6 +15,7 @@ import ( fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" fwvalidators "github.com/hashicorp/terraform-provider-aws/internal/framework/validators" + tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -68,6 +69,7 @@ func (d *accessPointDataSource) Schema(ctx context.Context, request datasource.S Computed: true, }, "public_access_block_configuration": framework.DataSourceComputedListOfObjectAttribute[publicAccessBlockConfigurationModel](ctx), + names.AttrTags: tftags.TagsAttributeComputedOnly(), names.AttrVPCConfiguration: framework.DataSourceComputedListOfObjectAttribute[vpcConfigurationModel](ctx), }, } @@ -118,6 +120,7 @@ type accessPointDataSourceModel struct { Name types.String `tfsdk:"name"` NetworkOrigin types.String `tfsdk:"network_origin"` PublicAccessBlockConfiguration fwtypes.ListNestedObjectValueOf[publicAccessBlockConfigurationModel] `tfsdk:"public_access_block_configuration"` + Tags tftags.Map `tfsdk:"tags"` VPCConfiguration fwtypes.ListNestedObjectValueOf[vpcConfigurationModel] `tfsdk:"vpc_configuration"` } From 7f01c9871275ca5e594f436a35905ece708b2232 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 31 Jul 2025 15:16:22 -0400 Subject: [PATCH 0137/1301] Correct CHANGELOG entries. --- .changelog/#####.txt | 3 --- .changelog/43613.txt | 6 +++++- 2 files changed, 5 insertions(+), 4 deletions(-) delete mode 100644 .changelog/#####.txt diff --git a/.changelog/#####.txt b/.changelog/#####.txt deleted file mode 100644 index 763b125bdcb7..000000000000 --- a/.changelog/#####.txt +++ /dev/null @@ -1,3 +0,0 @@ -```release-note:new-resource -aws_quicksight_custom_permissions -``` \ No newline at end of file diff --git a/.changelog/43613.txt b/.changelog/43613.txt index 763b125bdcb7..16947557dbd4 100644 --- a/.changelog/43613.txt +++ b/.changelog/43613.txt @@ -1,3 +1,7 @@ ```release-note:new-resource aws_quicksight_custom_permissions -``` \ No newline at end of file +``` + +```release-note:new-resource +aws_quicksight_role_custom_permission +``` From 63745eba0d6e72b13438ce99c16922e6a5d24996 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 31 Jul 2025 15:19:18 -0400 Subject: [PATCH 0138/1301] Correct CHANGELOG entry file name. --- .changelog/{#####.txt => 43630.txt} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .changelog/{#####.txt => 43630.txt} (100%) diff --git a/.changelog/#####.txt b/.changelog/43630.txt similarity index 100% rename from .changelog/#####.txt rename to .changelog/43630.txt From c61d11d16add82b7ffa6180fc6eeb1e561406c8c Mon Sep 17 00:00:00 2001 From: changelogbot Date: Thu, 31 Jul 2025 19:56:49 +0000 Subject: [PATCH 0139/1301] Update CHANGELOG.md for #43630 --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7da2c4085d0b..c79726f046b7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,11 +10,13 @@ ENHANCEMENTS: * data-source/aws_codebuild_fleet: Add `instance_type` attribute in `compute_configuration` block ([#43449](https://github.com/hashicorp/terraform-provider-aws/issues/43449)) * data-source/aws_ebs_volume: Add `volume_initialization_rate` attribute ([#43565](https://github.com/hashicorp/terraform-provider-aws/issues/43565)) * data-source/aws_ecs_service: Support `load_balancer` attribute ([#43582](https://github.com/hashicorp/terraform-provider-aws/issues/43582)) +* data-source/aws_s3_access_point: Add `tags` attribute. This functionality requires the `s3:ListTagsForResource` IAM permission ([#43630](https://github.com/hashicorp/terraform-provider-aws/issues/43630)) * data-source/aws_verifiedpermissions_policy_store: Add `deletion_protection` attribute ([#43452](https://github.com/hashicorp/terraform-provider-aws/issues/43452)) * resource/aws_athena_workgroup: Add `configuration.identity_center_configuration` argument ([#38717](https://github.com/hashicorp/terraform-provider-aws/issues/38717)) * resource/aws_cleanrooms_collaboration: Add `analytics_engine` argument ([#43614](https://github.com/hashicorp/terraform-provider-aws/issues/43614)) * resource/aws_codebuild_fleet: Add `instance_type` argument in `compute_configuration` block to support custom instance types ([#43449](https://github.com/hashicorp/terraform-provider-aws/issues/43449)) * resource/aws_ebs_volume: Add `volume_initialization_rate` argument ([#43565](https://github.com/hashicorp/terraform-provider-aws/issues/43565)) +* resource/aws_s3_access_point: Add `tags` argument and `tags_all` attribute. This functionality requires the `s3:ListTagsForResource`, `s3:TagResource`, and `s3:UntagResource` IAM permissions ([#43630](https://github.com/hashicorp/terraform-provider-aws/issues/43630)) * resource/aws_verifiedpermissions_policy_store: Add `deletion_protection` argument ([#43452](https://github.com/hashicorp/terraform-provider-aws/issues/43452)) BUG FIXES: From 8e61d2c920c2238bee599c34fadf7d58f5c0b28e Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Thu, 31 Jul 2025 13:14:19 -0700 Subject: [PATCH 0140/1301] Loads common templates first --- internal/generate/identitytests/main.go | 10 ++++++---- internal/generate/tagstests/main.go | 23 ++++++++++++++++------- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/internal/generate/identitytests/main.go b/internal/generate/identitytests/main.go index 27bb454ba7c9..a67faee06ad0 100644 --- a/internal/generate/identitytests/main.go +++ b/internal/generate/identitytests/main.go @@ -126,16 +126,18 @@ func main() { }, "NewVersion": version.NewVersion, } - templates, err := template.New("identitytests").Funcs(templateFuncMap).Parse(resourceTestGoTmpl) - if err != nil { - g.Fatalf("parsing base Go test template: %w", err) - } + templates := template.New("identitytests").Funcs(templateFuncMap) templates, err = tests.AddCommonResourceTestTemplates(templates) if err != nil { g.Fatalf(err.Error()) } + templates, err = templates.Parse(resourceTestGoTmpl) + if err != nil { + g.Fatalf("parsing base Go test template: %w", err) + } + if err := d.BufferTemplateSet(templates, resource); err != nil { g.Fatalf("error generating %q service package data: %s", servicePackage, err) } diff --git a/internal/generate/tagstests/main.go b/internal/generate/tagstests/main.go index a96d1b4ae46e..e41ffefd55a5 100644 --- a/internal/generate/tagstests/main.go +++ b/internal/generate/tagstests/main.go @@ -116,16 +116,23 @@ func main() { d := g.NewGoFileDestination(filename) - templates, err := template.New("taggingtests").Parse(resourceTestGoTmpl) - if err != nil { - g.Fatalf("parsing base Go test template: %w", err) + templateFuncMap := template.FuncMap{ + "inc": func(i int) int { + return i + 1 + }, } + templates := template.New("taggingtests").Funcs(templateFuncMap) templates, err = tests.AddCommonResourceTestTemplates(templates) if err != nil { g.Fatalf(err.Error()) } + templates, err = templates.Parse(resourceTestGoTmpl) + if err != nil { + g.Fatalf("parsing base Go test template: %w", err) + } + if err := d.BufferTemplateSet(templates, resource); err != nil { g.Fatalf("error generating %q service package data: %s", servicePackage, err) } @@ -138,16 +145,18 @@ func main() { d := g.NewGoFileDestination(filename) - templates, err := template.New("taggingtests").Parse(dataSourceTestGoTmpl) - if err != nil { - g.Fatalf("parsing base Go test template: %w", err) - } + templates := template.New("taggingtests") templates, err = tests.AddCommonDataSourceTestTemplates(templates) if err != nil { g.Fatalf(err.Error()) } + templates, err = templates.Parse(dataSourceTestGoTmpl) + if err != nil { + g.Fatalf("parsing base Go test template: %w", err) + } + if err := d.BufferTemplateSet(templates, resource); err != nil { g.Fatalf("error generating %q service package data: %s", servicePackage, err) } From c97f1af1d9fcfb415b6ccc0e5dd55d75327e6dae Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Thu, 31 Jul 2025 13:16:53 -0700 Subject: [PATCH 0141/1301] Moves common `Test` template --- internal/generate/tagstests/data_source_test.go.gtpl | 4 ---- internal/generate/tagstests/resource_test.go.gtpl | 4 ---- internal/generate/tests/common_test.go.gtpl | 4 ++++ 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/internal/generate/tagstests/data_source_test.go.gtpl b/internal/generate/tagstests/data_source_test.go.gtpl index 74231775cd9f..7474cab3e787 100644 --- a/internal/generate/tagstests/data_source_test.go.gtpl +++ b/internal/generate/tagstests/data_source_test.go.gtpl @@ -1,9 +1,5 @@ // Code generated by internal/generate/tagstests/main.go; DO NOT EDIT. -{{ define "Test" -}} -acctest.{{ if and .Serialize (not .SerializeParallelTests) }}Test{{ else }}ParallelTest{{ end }} -{{- end }} - {{ define "TestCaseSetupNoProviders" -}} {{ template "CommonTestCaseChecks" . -}} {{- end }} diff --git a/internal/generate/tagstests/resource_test.go.gtpl b/internal/generate/tagstests/resource_test.go.gtpl index e12fe7ddad2b..4794b683bea3 100644 --- a/internal/generate/tagstests/resource_test.go.gtpl +++ b/internal/generate/tagstests/resource_test.go.gtpl @@ -8,10 +8,6 @@ {{ template "commonInit" . }} {{ end }} -{{ define "Test" -}} -acctest.{{ if and .Serialize (not .SerializeParallelTests) }}Test{{ else }}ParallelTest{{ end }} -{{- end }} - {{ define "TestCaseSetupNoProviders" -}} {{ template "CommonTestCaseChecks" . }} CheckDestroy: {{ if .CheckDestroyNoop }}acctest.CheckDestroyNoop{{ else }}testAccCheck{{ .Name }}Destroy(ctx{{ if .DestroyTakesT }}, t{{ end }}){{ end }}, diff --git a/internal/generate/tests/common_test.go.gtpl b/internal/generate/tests/common_test.go.gtpl index 466d26b5dd4a..b4dbe4dfa382 100644 --- a/internal/generate/tests/common_test.go.gtpl +++ b/internal/generate/tests/common_test.go.gtpl @@ -40,6 +40,10 @@ {{ if .Serialize }}testAcc{{ else }}TestAcc{{ end }}{{ .ResourceProviderNameUpper }}{{ .Name }} {{- end }} +{{ define "Test" -}} +acctest.{{ if and .Serialize (not .SerializeParallelTests) }}Test{{ else }}ParallelTest{{ end }} +{{- end }} + {{ define "ExistsCheck" }} testAccCheck{{ .Name }}Exists(ctx, {{ if .ExistsTakesT }}t,{{ end }} resourceName{{ if .ExistsTypeName}}, &v{{ end }}), {{ end }} From f9a4288e42d6f15239fec8373c1de6599ec675a1 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Thu, 31 Jul 2025 13:25:19 -0700 Subject: [PATCH 0142/1301] Replaces range over `strings.Split` with `strings.SplitSeq` --- internal/generate/tests/annotations.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/generate/tests/annotations.go b/internal/generate/tests/annotations.go index 76c03421fa5c..6deaee21aa12 100644 --- a/internal/generate/tests/annotations.go +++ b/internal/generate/tests/annotations.go @@ -494,7 +494,7 @@ func endpointsConstOrQuote(region string) string { var buf strings.Builder buf.WriteString("endpoints.") - for _, part := range strings.Split(region, "-") { + for part := range strings.SplitSeq(region, "-") { buf.WriteString(strings.Title(part)) } buf.WriteString("RegionID") From 3468ee8b9cb545b1734a68f8f6f1eca78d622df3 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Thu, 31 Jul 2025 16:45:00 -0400 Subject: [PATCH 0143/1301] chore: prepare `v6.7.0` release --- CHANGELOG.md | 2 +- version/VERSION | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c79726f046b7..111303859a14 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## 6.7.0 (Unreleased) +## 6.7.0 (July 31, 2025) FEATURES: diff --git a/version/VERSION b/version/VERSION index ba92e72f5775..f0e13c509025 100644 --- a/version/VERSION +++ b/version/VERSION @@ -1 +1 @@ -6.6.1 \ No newline at end of file +6.7.0 From 79f7328db424e17fc6300e7c1ce931a32a2a88ec Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 31 Jul 2025 16:51:15 -0400 Subject: [PATCH 0144/1301] r/aws_quicksight_user_custom_permission: New resource. --- internal/service/quicksight/exports_test.go | 2 + .../service/quicksight/service_package_gen.go | 6 + .../quicksight/user_custom_permission.go | 212 ++++++++++++++++++ 3 files changed, 220 insertions(+) create mode 100644 internal/service/quicksight/user_custom_permission.go diff --git a/internal/service/quicksight/exports_test.go b/internal/service/quicksight/exports_test.go index f73cad16a179..cd7c0d114d77 100644 --- a/internal/service/quicksight/exports_test.go +++ b/internal/service/quicksight/exports_test.go @@ -32,6 +32,7 @@ var ( ResourceTemplateAlias = newTemplateAliasResource ResourceTheme = resourceTheme ResourceUser = resourceUser + ResourceUserCustomPermission = newUserCustomPermissionResource ResourceVPCConnection = newVPCConnectionResource DashboardLatestVersion = dashboardLatestVersion @@ -59,6 +60,7 @@ var ( FindTemplateByTwoPartKey = findTemplateByTwoPartKey FindThemeByTwoPartKey = findThemeByTwoPartKey FindUserByThreePartKey = findUserByThreePartKey + FindUserCustomPermissionByThreePartKey = findUserCustomPermissionByThreePartKey FindVPCConnectionByTwoPartKey = findVPCConnectionByTwoPartKey StartAfterDateTimeLayout = startAfterDateTimeLayout diff --git a/internal/service/quicksight/service_package_gen.go b/internal/service/quicksight/service_package_gen.go index 30a9929de6bb..0ffe4c882010 100644 --- a/internal/service/quicksight/service_package_gen.go +++ b/internal/service/quicksight/service_package_gen.go @@ -102,6 +102,12 @@ func (p *servicePackage) FrameworkResources(ctx context.Context) []*inttypes.Ser Name: "Template Alias", Region: unique.Make(inttypes.ResourceRegionDefault()), }, + { + Factory: newUserCustomPermissionResource, + TypeName: "aws_quicksight_user_custom_permission", + Name: "User Custom Permission", + Region: unique.Make(inttypes.ResourceRegionDefault()), + }, { Factory: newVPCConnectionResource, TypeName: "aws_quicksight_vpc_connection", diff --git a/internal/service/quicksight/user_custom_permission.go b/internal/service/quicksight/user_custom_permission.go new file mode 100644 index 000000000000..da5330485a82 --- /dev/null +++ b/internal/service/quicksight/user_custom_permission.go @@ -0,0 +1,212 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package quicksight + +import ( + "context" + "fmt" + + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/service/quicksight" + awstypes "github.com/aws/aws-sdk-go-v2/service/quicksight/types" + "github.com/hashicorp/terraform-plugin-framework/path" + "github.com/hashicorp/terraform-plugin-framework/resource" + "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-provider-aws/internal/errs" + "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" + intflex "github.com/hashicorp/terraform-provider-aws/internal/flex" + "github.com/hashicorp/terraform-provider-aws/internal/framework" + fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" + quicksightschema "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema" + "github.com/hashicorp/terraform-provider-aws/internal/tfresource" + "github.com/hashicorp/terraform-provider-aws/names" +) + +// @FrameworkResource("aws_quicksight_user_custom_permission", name="User Custom Permission") +func newUserCustomPermissionResource(_ context.Context) (resource.ResourceWithConfigure, error) { + r := &userCustomPermissionResource{} + + return r, nil +} + +type userCustomPermissionResource struct { + framework.ResourceWithModel[userCustomPermissionResourceModel] +} + +func (r *userCustomPermissionResource) Schema(ctx context.Context, request resource.SchemaRequest, response *resource.SchemaResponse) { + response.Schema = schema.Schema{ + Attributes: map[string]schema.Attribute{ + names.AttrAWSAccountID: quicksightschema.AWSAccountIDAttribute(), + "custom_permissions_name": schema.StringAttribute{ + Required: true, + }, + names.AttrNamespace: quicksightschema.NamespaceAttribute(), + names.AttrUserName: schema.StringAttribute{ + Required: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplace(), + }, + }, + }, + } +} + +func (r *userCustomPermissionResource) Create(ctx context.Context, request resource.CreateRequest, response *resource.CreateResponse) { + var data userCustomPermissionResourceModel + response.Diagnostics.Append(request.Plan.Get(ctx, &data)...) + if response.Diagnostics.HasError() { + return + } + if data.AWSAccountID.IsUnknown() { + data.AWSAccountID = fwflex.StringValueToFramework(ctx, r.Meta().AccountID(ctx)) + } + + conn := r.Meta().QuickSightClient(ctx) + + var input quicksight.UpdateUserCustomPermissionInput + response.Diagnostics.Append(fwflex.Expand(ctx, data, &input)...) + if response.Diagnostics.HasError() { + return + } + + _, err := conn.UpdateUserCustomPermission(ctx, &input) + + if err != nil { + response.Diagnostics.AddError(fmt.Sprintf("creating Quicksight User (%s) Custom Permission (%s)", data.UserName.ValueString(), data.CustomPermissionsName.ValueString()), err.Error()) + + return + } + + response.Diagnostics.Append(response.State.Set(ctx, data)...) +} + +func (r *userCustomPermissionResource) Read(ctx context.Context, request resource.ReadRequest, response *resource.ReadResponse) { + var data userCustomPermissionResourceModel + response.Diagnostics.Append(request.State.Get(ctx, &data)...) + if response.Diagnostics.HasError() { + return + } + + conn := r.Meta().QuickSightClient(ctx) + + output, err := findUserCustomPermissionByThreePartKey(ctx, conn, data.AWSAccountID.ValueString(), data.Namespace.ValueString(), data.UserName.ValueString()) + + if tfresource.NotFound(err) { + response.Diagnostics.Append(fwdiag.NewResourceNotFoundWarningDiagnostic(err)) + response.State.RemoveResource(ctx) + + return + } + + if err != nil { + response.Diagnostics.AddError(fmt.Sprintf("creating Quicksight User (%s) Custom Permission", data.UserName.ValueString()), err.Error()) + + return + } + + // Set attributes for import. + data.CustomPermissionsName = fwflex.StringToFramework(ctx, output) + + response.Diagnostics.Append(response.State.Set(ctx, &data)...) +} + +func (r *userCustomPermissionResource) Update(ctx context.Context, request resource.UpdateRequest, response *resource.UpdateResponse) { + var new, old userCustomPermissionResourceModel + response.Diagnostics.Append(request.Plan.Get(ctx, &new)...) + if response.Diagnostics.HasError() { + return + } + response.Diagnostics.Append(request.State.Get(ctx, &old)...) + if response.Diagnostics.HasError() { + return + } + + conn := r.Meta().QuickSightClient(ctx) + + var input quicksight.UpdateUserCustomPermissionInput + response.Diagnostics.Append(fwflex.Expand(ctx, new, &input)...) + if response.Diagnostics.HasError() { + return + } + + _, err := conn.UpdateUserCustomPermission(ctx, &input) + + if err != nil { + response.Diagnostics.AddError(fmt.Sprintf("updating Quicksight User (%s) Custom Permission (%s)", new.UserName.ValueString(), new.CustomPermissionsName.ValueString()), err.Error()) + + return + } + + response.Diagnostics.Append(response.State.Set(ctx, &new)...) +} + +func (r *userCustomPermissionResource) Delete(ctx context.Context, request resource.DeleteRequest, response *resource.DeleteResponse) { + var data userCustomPermissionResourceModel + response.Diagnostics.Append(request.State.Get(ctx, &data)...) + if response.Diagnostics.HasError() { + return + } + + conn := r.Meta().QuickSightClient(ctx) + + var input quicksight.DeleteUserCustomPermissionInput + response.Diagnostics.Append(fwflex.Expand(ctx, data, &input)...) + if response.Diagnostics.HasError() { + return + } + + _, err := conn.DeleteUserCustomPermission(ctx, &input) + + if errs.IsA[*awstypes.ResourceNotFoundException](err) { + return + } + + if err != nil { + response.Diagnostics.AddError(fmt.Sprintf("deleting Quicksight User (%s) Custom Permission (%s)", data.UserName.ValueString(), data.CustomPermissionsName.ValueString()), err.Error()) + + return + } +} + +func (r *userCustomPermissionResource) ImportState(ctx context.Context, request resource.ImportStateRequest, response *resource.ImportStateResponse) { + const ( + userCustomPermissionIDParts = 3 + ) + parts, err := intflex.ExpandResourceId(request.ID, userCustomPermissionIDParts, true) + + if err != nil { + response.Diagnostics.Append(fwdiag.NewParsingResourceIDErrorDiagnostic(err)) + + return + } + + response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root(names.AttrAWSAccountID), parts[0])...) + response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root(names.AttrNamespace), parts[1])...) + response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root(names.AttrUserName), parts[2])...) +} + +func findUserCustomPermissionByThreePartKey(ctx context.Context, conn *quicksight.Client, awsAccountID, namespace, userName string) (*string, error) { + output, err := findUserByThreePartKey(ctx, conn, awsAccountID, namespace, userName) + + if err != nil { + return nil, err + } + + if aws.ToString(output.CustomPermissionsName) == "" { + return nil, tfresource.NewEmptyResultError(nil) + } + + return output.CustomPermissionsName, nil +} + +type userCustomPermissionResourceModel struct { + framework.WithRegionModel + AWSAccountID types.String `tfsdk:"aws_account_id"` + CustomPermissionsName types.String `tfsdk:"custom_permissions_name"` + Namespace types.String `tfsdk:"namespace"` + UserName types.String `tfsdk:"user_name"` +} From 78ed15e58704d902ca1b449e18044c39dc9c48ca Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Thu, 31 Jul 2025 13:53:31 -0700 Subject: [PATCH 0145/1301] Removes empty `if` case --- internal/generate/tests/annotations.go | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/internal/generate/tests/annotations.go b/internal/generate/tests/annotations.go index 6deaee21aa12..c613f5c65f6d 100644 --- a/internal/generate/tests/annotations.go +++ b/internal/generate/tests/annotations.go @@ -334,13 +334,14 @@ func ParseTestingAnnotations(args common.Args, stuff *CommonArgs) error { // TF Variables if attr, ok := args.Keyword["generator"]; ok { - if attr == "false" { - } else if funcName, importSpec, err := ParseIdentifierSpec(attr); err != nil { - return fmt.Errorf("%s: %w", attr, err) - } else { - stuff.Generator = funcName - if importSpec != nil { - stuff.GoImports = append(stuff.GoImports, *importSpec) + if attr != "false" { + if funcName, importSpec, err := ParseIdentifierSpec(attr); err != nil { + return fmt.Errorf("%s: %w", attr, err) + } else { + stuff.Generator = funcName + if importSpec != nil { + stuff.GoImports = append(stuff.GoImports, *importSpec) + } } } } From 5650670cfacd99b3e279edcb69124e839d55b134 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Thu, 31 Jul 2025 13:54:41 -0700 Subject: [PATCH 0146/1301] Removes deprecated `strings.Title` --- internal/generate/tests/annotations.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/internal/generate/tests/annotations.go b/internal/generate/tests/annotations.go index c613f5c65f6d..3d56e3e72733 100644 --- a/internal/generate/tests/annotations.go +++ b/internal/generate/tests/annotations.go @@ -13,6 +13,8 @@ import ( tfmaps "github.com/hashicorp/terraform-provider-aws/internal/maps" tfslices "github.com/hashicorp/terraform-provider-aws/internal/slices" namesgen "github.com/hashicorp/terraform-provider-aws/names/generate" + "golang.org/x/text/cases" + "golang.org/x/text/language" ) type Implementation string @@ -495,8 +497,9 @@ func endpointsConstOrQuote(region string) string { var buf strings.Builder buf.WriteString("endpoints.") + caser := cases.Title(language.Und, cases.NoLower) for part := range strings.SplitSeq(region, "-") { - buf.WriteString(strings.Title(part)) + buf.WriteString(caser.String(part)) } buf.WriteString("RegionID") From d1f3532836f699acfcd6b73d0448359ac1a3714e Mon Sep 17 00:00:00 2001 From: hc-github-team-es-release-engineering <82989873+hc-github-team-es-release-engineering@users.noreply.github.com> Date: Thu, 31 Jul 2025 22:59:53 +0100 Subject: [PATCH 0147/1301] Bumped product version to 6.7.1. --- version/VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version/VERSION b/version/VERSION index f0e13c509025..1d42024266fa 100644 --- a/version/VERSION +++ b/version/VERSION @@ -1 +1 @@ -6.7.0 +6.7.1 \ No newline at end of file From 0a279acd3a170248d67ce83a6412d6dcb032937c Mon Sep 17 00:00:00 2001 From: changelogbot Date: Thu, 31 Jul 2025 22:01:16 +0000 Subject: [PATCH 0148/1301] Add changelog entry for v6.8.0 --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 111303859a14..581fa321455c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,5 @@ +## 6.8.0 (Unreleased) + ## 6.7.0 (July 31, 2025) FEATURES: From 6b9c74809982f33adea19a42eac99b7d83b16b19 Mon Sep 17 00:00:00 2001 From: Kasra Sheik Date: Thu, 31 Jul 2025 20:52:26 -0700 Subject: [PATCH 0149/1301] Fix Typo in CloudFront Function Resource Documentation "on" -> "one" --- website/docs/r/cloudfront_function.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/r/cloudfront_function.html.markdown b/website/docs/r/cloudfront_function.html.markdown index f51aa9c0383e..57ae88b8c086 100644 --- a/website/docs/r/cloudfront_function.html.markdown +++ b/website/docs/r/cloudfront_function.html.markdown @@ -40,7 +40,7 @@ The following arguments are optional: * `comment` - (Optional) Comment. * `publish` - (Optional) Whether to publish creation/change as Live CloudFront Function Version. Defaults to `true`. -* `key_value_store_associations` - (Optional) List of `aws_cloudfront_key_value_store` ARNs to be associated to the function. AWS limits associations to on key value store per function. +* `key_value_store_associations` - (Optional) List of `aws_cloudfront_key_value_store` ARNs to be associated to the function. AWS limits associations to one key value store per function. ## Attribute Reference From acf56ec04789bcd3e135df45961c9aef4cf3b6f8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 07:04:48 +0000 Subject: [PATCH 0150/1301] Bump the aws-sdk-go-v2 group across 1 directory with 14 updates Bumps the aws-sdk-go-v2 group with 14 updates in the / directory: | Package | From | To | | --- | --- | --- | | [github.com/aws/aws-sdk-go-v2/service/batch](https://github.com/aws/aws-sdk-go-v2) | `1.55.1` | `1.55.2` | | [github.com/aws/aws-sdk-go-v2/service/bedrock](https://github.com/aws/aws-sdk-go-v2) | `1.40.1` | `1.40.2` | | [github.com/aws/aws-sdk-go-v2/service/codeguruprofiler](https://github.com/aws/aws-sdk-go-v2) | `1.26.1` | `1.26.2` | | [github.com/aws/aws-sdk-go-v2/service/customerprofiles](https://github.com/aws/aws-sdk-go-v2) | `1.48.1` | `1.49.0` | | [github.com/aws/aws-sdk-go-v2/service/ec2](https://github.com/aws/aws-sdk-go-v2) | `1.238.0` | `1.239.0` | | [github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2](https://github.com/aws/aws-sdk-go-v2) | `1.47.1` | `1.47.2` | | [github.com/aws/aws-sdk-go-v2/service/glue](https://github.com/aws/aws-sdk-go-v2) | `1.120.1` | `1.121.0` | | [github.com/aws/aws-sdk-go-v2/service/inspector2](https://github.com/aws/aws-sdk-go-v2) | `1.39.1` | `1.40.0` | | [github.com/aws/aws-sdk-go-v2/service/iot](https://github.com/aws/aws-sdk-go-v2) | `1.65.1` | `1.66.0` | | [github.com/aws/aws-sdk-go-v2/service/opensearch](https://github.com/aws/aws-sdk-go-v2) | `1.48.1` | `1.49.0` | | [github.com/aws/aws-sdk-go-v2/service/quicksight](https://github.com/aws/aws-sdk-go-v2) | `1.89.1` | `1.90.0` | | [github.com/aws/aws-sdk-go-v2/service/sesv2](https://github.com/aws/aws-sdk-go-v2) | `1.48.1` | `1.49.0` | | [github.com/aws/aws-sdk-go-v2/service/transfer](https://github.com/aws/aws-sdk-go-v2) | `1.62.1` | `1.62.2` | | [github.com/aws/aws-sdk-go-v2/service/workspacesweb](https://github.com/aws/aws-sdk-go-v2) | `1.28.1` | `1.29.0` | Updates `github.com/aws/aws-sdk-go-v2/service/batch` from 1.55.1 to 1.55.2 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.55.1...service/s3/v1.55.2) Updates `github.com/aws/aws-sdk-go-v2/service/bedrock` from 1.40.1 to 1.40.2 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.40.1...service/s3/v1.40.2) Updates `github.com/aws/aws-sdk-go-v2/service/codeguruprofiler` from 1.26.1 to 1.26.2 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.26.1...v1.26.2) Updates `github.com/aws/aws-sdk-go-v2/service/customerprofiles` from 1.48.1 to 1.49.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.48.1...service/s3/v1.49.0) Updates `github.com/aws/aws-sdk-go-v2/service/ec2` from 1.238.0 to 1.239.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/ec2/v1.238.0...service/ec2/v1.239.0) Updates `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2` from 1.47.1 to 1.47.2 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.47.1...service/s3/v1.47.2) Updates `github.com/aws/aws-sdk-go-v2/service/glue` from 1.120.1 to 1.121.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/glue/v1.120.1...service/ec2/v1.121.0) Updates `github.com/aws/aws-sdk-go-v2/service/inspector2` from 1.39.1 to 1.40.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/ecs/v1.39.1...service/s3/v1.40.0) Updates `github.com/aws/aws-sdk-go-v2/service/iot` from 1.65.1 to 1.66.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.65.1...service/s3/v1.66.0) Updates `github.com/aws/aws-sdk-go-v2/service/opensearch` from 1.48.1 to 1.49.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.48.1...service/s3/v1.49.0) Updates `github.com/aws/aws-sdk-go-v2/service/quicksight` from 1.89.1 to 1.90.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/service/ec2/v1.90.0/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/ec2/v1.89.1...service/ec2/v1.90.0) Updates `github.com/aws/aws-sdk-go-v2/service/sesv2` from 1.48.1 to 1.49.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.48.1...service/s3/v1.49.0) Updates `github.com/aws/aws-sdk-go-v2/service/transfer` from 1.62.1 to 1.62.2 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/iot/v1.62.1...service/iot/v1.62.2) Updates `github.com/aws/aws-sdk-go-v2/service/workspacesweb` from 1.28.1 to 1.29.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.28.1...v1.29.0) --- updated-dependencies: - dependency-name: github.com/aws/aws-sdk-go-v2/service/batch dependency-version: 1.55.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/bedrock dependency-version: 1.40.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/codeguruprofiler dependency-version: 1.26.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/customerprofiles dependency-version: 1.49.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/ec2 dependency-version: 1.239.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 dependency-version: 1.47.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/glue dependency-version: 1.121.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/inspector2 dependency-version: 1.40.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/iot dependency-version: 1.66.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/opensearch dependency-version: 1.49.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/quicksight dependency-version: 1.90.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/sesv2 dependency-version: 1.49.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/transfer dependency-version: 1.62.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/workspacesweb dependency-version: 1.29.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 ... Signed-off-by: dependabot[bot] --- go.mod | 28 ++++++++++++++-------------- go.sum | 56 ++++++++++++++++++++++++++++---------------------------- 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/go.mod b/go.mod index 146cadbd47c0..c68563a84850 100644 --- a/go.mod +++ b/go.mod @@ -40,9 +40,9 @@ require ( github.com/aws/aws-sdk-go-v2/service/autoscaling v1.55.1 github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.26.1 github.com/aws/aws-sdk-go-v2/service/backup v1.44.1 - github.com/aws/aws-sdk-go-v2/service/batch v1.55.1 + github.com/aws/aws-sdk-go-v2/service/batch v1.55.2 github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.9.1 - github.com/aws/aws-sdk-go-v2/service/bedrock v1.40.1 + github.com/aws/aws-sdk-go-v2/service/bedrock v1.40.2 github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.46.1 github.com/aws/aws-sdk-go-v2/service/billing v1.3.1 github.com/aws/aws-sdk-go-v2/service/budgets v1.33.1 @@ -67,7 +67,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/codecommit v1.29.1 github.com/aws/aws-sdk-go-v2/service/codeconnections v1.7.1 github.com/aws/aws-sdk-go-v2/service/codedeploy v1.31.1 - github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.26.1 + github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.26.2 github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.31.1 github.com/aws/aws-sdk-go-v2/service/codepipeline v1.43.1 github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.31.1 @@ -83,7 +83,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.30.1 github.com/aws/aws-sdk-go-v2/service/costexplorer v1.52.1 github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.17.1 - github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.48.1 + github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.49.0 github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.54.1 github.com/aws/aws-sdk-go-v2/service/databrew v1.35.1 github.com/aws/aws-sdk-go-v2/service/dataexchange v1.36.1 @@ -102,7 +102,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/drs v1.32.1 github.com/aws/aws-sdk-go-v2/service/dsql v1.6.1 github.com/aws/aws-sdk-go-v2/service/dynamodb v1.45.1 - github.com/aws/aws-sdk-go-v2/service/ec2 v1.238.0 + github.com/aws/aws-sdk-go-v2/service/ec2 v1.239.0 github.com/aws/aws-sdk-go-v2/service/ecr v1.47.1 github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.34.1 github.com/aws/aws-sdk-go-v2/service/ecs v1.61.1 @@ -111,7 +111,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/elasticache v1.47.1 github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.30.1 github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.30.1 - github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.47.1 + github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.47.2 github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.34.1 github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.29.1 github.com/aws/aws-sdk-go-v2/service/emr v1.51.1 @@ -128,7 +128,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/gamelift v1.43.1 github.com/aws/aws-sdk-go-v2/service/glacier v1.28.1 github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.31.1 - github.com/aws/aws-sdk-go-v2/service/glue v1.120.1 + github.com/aws/aws-sdk-go-v2/service/glue v1.121.0 github.com/aws/aws-sdk-go-v2/service/grafana v1.28.1 github.com/aws/aws-sdk-go-v2/service/greengrass v1.29.1 github.com/aws/aws-sdk-go-v2/service/groundstation v1.34.1 @@ -138,10 +138,10 @@ require ( github.com/aws/aws-sdk-go-v2/service/identitystore v1.29.1 github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.43.1 github.com/aws/aws-sdk-go-v2/service/inspector v1.27.1 - github.com/aws/aws-sdk-go-v2/service/inspector2 v1.39.1 + github.com/aws/aws-sdk-go-v2/service/inspector2 v1.40.0 github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.22.1 github.com/aws/aws-sdk-go-v2/service/invoicing v1.3.1 - github.com/aws/aws-sdk-go-v2/service/iot v1.65.1 + github.com/aws/aws-sdk-go-v2/service/iot v1.66.0 github.com/aws/aws-sdk-go-v2/service/ivs v1.44.1 github.com/aws/aws-sdk-go-v2/service/ivschat v1.18.1 github.com/aws/aws-sdk-go-v2/service/kafka v1.40.1 @@ -183,7 +183,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/notifications v1.3.1 github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.2.1 github.com/aws/aws-sdk-go-v2/service/oam v1.19.1 - github.com/aws/aws-sdk-go-v2/service/opensearch v1.48.1 + github.com/aws/aws-sdk-go-v2/service/opensearch v1.49.0 github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.21.1 github.com/aws/aws-sdk-go-v2/service/organizations v1.40.1 github.com/aws/aws-sdk-go-v2/service/osis v1.16.1 @@ -198,7 +198,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/pricing v1.36.1 github.com/aws/aws-sdk-go-v2/service/qbusiness v1.29.1 github.com/aws/aws-sdk-go-v2/service/qldb v1.27.1 - github.com/aws/aws-sdk-go-v2/service/quicksight v1.89.1 + github.com/aws/aws-sdk-go-v2/service/quicksight v1.90.0 github.com/aws/aws-sdk-go-v2/service/ram v1.31.1 github.com/aws/aws-sdk-go-v2/service/rbin v1.23.1 github.com/aws/aws-sdk-go-v2/service/rds v1.100.1 @@ -234,7 +234,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.36.1 github.com/aws/aws-sdk-go-v2/service/servicequotas v1.29.1 github.com/aws/aws-sdk-go-v2/service/ses v1.31.1 - github.com/aws/aws-sdk-go-v2/service/sesv2 v1.48.1 + github.com/aws/aws-sdk-go-v2/service/sesv2 v1.49.0 github.com/aws/aws-sdk-go-v2/service/sfn v1.36.1 github.com/aws/aws-sdk-go-v2/service/shield v1.31.1 github.com/aws/aws-sdk-go-v2/service/signer v1.28.1 @@ -256,7 +256,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.32.1 github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.32.1 github.com/aws/aws-sdk-go-v2/service/transcribe v1.48.1 - github.com/aws/aws-sdk-go-v2/service/transfer v1.62.1 + github.com/aws/aws-sdk-go-v2/service/transfer v1.62.2 github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.25.1 github.com/aws/aws-sdk-go-v2/service/vpclattice v1.15.1 github.com/aws/aws-sdk-go-v2/service/waf v1.27.1 @@ -264,7 +264,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/wafv2 v1.64.1 github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.36.1 github.com/aws/aws-sdk-go-v2/service/workspaces v1.59.1 - github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.28.1 + github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.29.0 github.com/aws/aws-sdk-go-v2/service/xray v1.32.1 github.com/aws/smithy-go v1.22.5 github.com/beevik/etree v1.5.1 diff --git a/go.sum b/go.sum index 345fccd13843..d620649d5f8b 100644 --- a/go.sum +++ b/go.sum @@ -91,12 +91,12 @@ github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.26.1 h1:CkI6bqB4xGt4i8W github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.26.1/go.mod h1:kvxZ8JSGk6ZHbsYqn02OFN2IPwKIyPq4gJJP2i68tlE= github.com/aws/aws-sdk-go-v2/service/backup v1.44.1 h1:g8w8gNNnmpj6IB6f/ZwbTLgCHTq72EP3vFy3LYAQ49k= github.com/aws/aws-sdk-go-v2/service/backup v1.44.1/go.mod h1:w/Tj0I8Gs1JAz/cDsWZg0Eph8Tq++krpwr5lxzRj9gs= -github.com/aws/aws-sdk-go-v2/service/batch v1.55.1 h1:Rw14EEy05ulJ8uVBr0NXS7rBF5blIdKgd+XB8IT9Cvk= -github.com/aws/aws-sdk-go-v2/service/batch v1.55.1/go.mod h1:JfQ32ZzGrphsjC5aSZ6NirIQKQEvIRxd7XOBA2GqP3Q= +github.com/aws/aws-sdk-go-v2/service/batch v1.55.2 h1:v71NzFEzn9m7sZJ31v0pYU+cMEYilmZAnGftfaavOPk= +github.com/aws/aws-sdk-go-v2/service/batch v1.55.2/go.mod h1:JfQ32ZzGrphsjC5aSZ6NirIQKQEvIRxd7XOBA2GqP3Q= github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.9.1 h1:KLTrvcyHoLx34b0r8DJrg6IveMJ6Rhrr/W7CTtcyHcY= github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.9.1/go.mod h1:5ycq8robRvawqh+gGGSYDCtX/lgJcBHSpbXS41G2YZ0= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.40.1 h1:sRAcWHE3DQOWNNfXfctc+R5QrVnDUwjqrqepIWo25HU= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.40.1/go.mod h1:ZTp/fekiiAUkmAU4CDYjtk/hlRpPJnbGKaFzMNr+Hq4= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.40.2 h1:RF6r/HIBx3Ox1d8QBjSFf3jWmtbHod+CGpJIxtqwKuw= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.40.2/go.mod h1:ZTp/fekiiAUkmAU4CDYjtk/hlRpPJnbGKaFzMNr+Hq4= github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.46.1 h1:+964aZWEhatObFc4aShL6yyLXcmr4rA6NPGd+y6TlSM= github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.46.1/go.mod h1:PYXdjAxfDP6jvOtgZIlXn+7DS2rYfMONfDiYxx1I3T0= github.com/aws/aws-sdk-go-v2/service/billing v1.3.1 h1:ubne5J3y/pp9c/ojwPhTbBy5PJB7Gs1WM6JooUQJzCg= @@ -145,8 +145,8 @@ github.com/aws/aws-sdk-go-v2/service/codeconnections v1.7.1 h1:f20DiugdjJZGsFhda github.com/aws/aws-sdk-go-v2/service/codeconnections v1.7.1/go.mod h1:B/DVlqEIwSkOQFdy5IMbTWvmvc/b/lY/v9wZFWlxCqc= github.com/aws/aws-sdk-go-v2/service/codedeploy v1.31.1 h1:nLtbuM+D3kr0TANA53zNzfgCn1msUIZIVvO8GQ8zgsw= github.com/aws/aws-sdk-go-v2/service/codedeploy v1.31.1/go.mod h1:nhyDCGnLTixvFU4RfdiQywPgounyF0se2CAAQZC200c= -github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.26.1 h1:yp9Ilhs7gtUeK90/Lfqr/zXPu+wFVHwI4ASR+EpzBP8= -github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.26.1/go.mod h1:M5AqEEJg0YVH0HolYS6qlDmVotbAkIaU1d17sAPFyDI= +github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.26.2 h1:4qJa9WJ+AD87urgE6BPHeW7gcmyXfEGS0dfHztC+A78= +github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.26.2/go.mod h1:M5AqEEJg0YVH0HolYS6qlDmVotbAkIaU1d17sAPFyDI= github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.31.1 h1:o02/8n6dGGYFrTCE0mqHKLZkprnUjehxqf1WldSWrJ8= github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.31.1/go.mod h1:HiWlOR1PpVyB59fCnPuULZ/M0P/qPPV27cJgMZza0+g= github.com/aws/aws-sdk-go-v2/service/codepipeline v1.43.1 h1:4f9TwbJesmy9tqPtUbSMo7gg6TLnCK4ylLq7n0qFVWc= @@ -177,8 +177,8 @@ github.com/aws/aws-sdk-go-v2/service/costexplorer v1.52.1 h1:MRfsy+UosplTbrTui5c github.com/aws/aws-sdk-go-v2/service/costexplorer v1.52.1/go.mod h1:XhV87ldg1xBh4WjKcc6aW3SFwzaIjNhuPtDEhZ5/gds= github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.17.1 h1:wP6PryT7nTlNrnsBh5riZLJXM1zOjzcS0xCKvAqmRnM= github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.17.1/go.mod h1:ptisHEhEb179hVX6qvulR2ZQ2oRJU3BpmouFmM8SRDU= -github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.48.1 h1:3vub+nmiLA8HX92CinuqtoTrcW//t+sAFFcOBioT2BA= -github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.48.1/go.mod h1:E96OYyTW0QrMri8Xc3RYV7BrJhd7SUrqsGL5YYCsneU= +github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.49.0 h1:sNtNRPNKso+u9nD5JNmM74NFoCeHsped7N2i+1tA7Jo= +github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.49.0/go.mod h1:E96OYyTW0QrMri8Xc3RYV7BrJhd7SUrqsGL5YYCsneU= github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.54.1 h1:tHAEfv1QzqRN0I46Bxc7vNav9B54dDPv8ZyJei+TtUU= github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.54.1/go.mod h1:l/63jy0JYcuPgsIn0sCarneGQZT60Z3VJZCTHg9joJQ= github.com/aws/aws-sdk-go-v2/service/databrew v1.35.1 h1:WyjDtS3+ZYk6PYc5f+r92dUbl8rKXafSALk4gbSc9sE= @@ -215,8 +215,8 @@ github.com/aws/aws-sdk-go-v2/service/dsql v1.6.1 h1:9gsd5GS4hpu0Dy51zyUZbO48c94B github.com/aws/aws-sdk-go-v2/service/dsql v1.6.1/go.mod h1:zCjUFiEqbIipUKwhROZhoOtW7bgBBfOXf1FSGc2uSRQ= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.45.1 h1:gFD9BLrXox2Q5zxFwyD2OnGb40YYofQ/anaGxVP848Q= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.45.1/go.mod h1:J+qJkxNypYjDcwXldBH+ox2T7OshtP6LOq5VhU0v6hg= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.238.0 h1:fXZYx7xDSocFM3ht/mwML7eCP7cPbs1ltXEM8zpwU5o= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.238.0/go.mod h1:lhyI/MJGGbPnOdYmmQRZe07S+2fW2uWI1XrUfAZgXLM= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.239.0 h1:pPuzRQQoRY7pwxlNf1//yz5goxB98p1KMa3cdBO+E1E= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.239.0/go.mod h1:lhyI/MJGGbPnOdYmmQRZe07S+2fW2uWI1XrUfAZgXLM= github.com/aws/aws-sdk-go-v2/service/ecr v1.47.1 h1:gwqCrRvz+vnhWyG9/WSzo6HspAO5mWXBeYo9ELFUcIM= github.com/aws/aws-sdk-go-v2/service/ecr v1.47.1/go.mod h1:VVqrGCL0/zQif1J6axnyUBVRf6lySV5/QhxV9RspEHY= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.34.1 h1:BiOKbndtmSaZypHR0S7lO0DuffGegLvbkGfq4aNJlFc= @@ -233,8 +233,8 @@ github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.30.1 h1:j4jxdx6ZiG2Xcj9 github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.30.1/go.mod h1:PWa7FRheclz+S0lyhGNw0w4HBoa1fqBzE/a1UXfUqzk= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.30.1 h1:ZZeI9bCwIbqoKu5hll1dmisMJ4ZeBEhdsszV/gOFm1s= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.30.1/go.mod h1:fcC73gpU/J/SmRut8/CmwM5oJO3bSpW7wgufVdtWSbg= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.47.1 h1:H8+KiNkkY3q3u7IUSjc7oCshnHOOGvYOi7fT6ZJ23OI= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.47.1/go.mod h1:91PY/MUWThH0rH61v9r3QA4e7dS/PfXl+K63wltBeas= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.47.2 h1:2/qaKwyF2UrPyQLcPxHqcxuWS/Pu6O/c+FrKKsdiB4Y= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.47.2/go.mod h1:91PY/MUWThH0rH61v9r3QA4e7dS/PfXl+K63wltBeas= github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.34.1 h1:kVZzJvXCPx1Tkiqfxxw/a4uZmbquVu5NG4FgYXkiHOg= github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.34.1/go.mod h1:yHOWiozIeWy2Twojm1eq+2AV9XSY9NBcGLP81eaxTJs= github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.29.1 h1:qMs7UOiRWN5skmmfmBkT+8ygksVYbPEUNflmlqYhTNM= @@ -267,8 +267,8 @@ github.com/aws/aws-sdk-go-v2/service/glacier v1.28.1 h1:UDiRjAcoJ9pxHvwaR83mGhdk github.com/aws/aws-sdk-go-v2/service/glacier v1.28.1/go.mod h1:JF/OUsjyuN42tFdT6Z7XPMUL0TdgQauFdpAjOlgPzMA= github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.31.1 h1:BlojjkVblgLjPzotny0DsKcfLBb/bC4ODhI9fXu/YpM= github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.31.1/go.mod h1:BqZ/xicmt1yJLth0oV8o86GKsEIjF7XLKJA6o6+Tb4g= -github.com/aws/aws-sdk-go-v2/service/glue v1.120.1 h1:+XyO1sIwM4J7Ru5bGlUIkFF3BuSVHp9xHBDKLKt205g= -github.com/aws/aws-sdk-go-v2/service/glue v1.120.1/go.mod h1:GrfuFuhLuhdZy8Tx0W29A6avb0+Xey8DDS0izAj3/gY= +github.com/aws/aws-sdk-go-v2/service/glue v1.121.0 h1:b+B71JBhFSVOifMMcnilfqPcrskBgDYruY8mQ7Au8Hg= +github.com/aws/aws-sdk-go-v2/service/glue v1.121.0/go.mod h1:GrfuFuhLuhdZy8Tx0W29A6avb0+Xey8DDS0izAj3/gY= github.com/aws/aws-sdk-go-v2/service/grafana v1.28.1 h1:xef5GSQwdnBBEodb67YGYE7CanW5uuQyI/8q+rMs6IE= github.com/aws/aws-sdk-go-v2/service/grafana v1.28.1/go.mod h1:wejuc0EF416jLYLVi4yyRZiZLtBwIPHR+L0fUnTlMeU= github.com/aws/aws-sdk-go-v2/service/greengrass v1.29.1 h1:OiVM4eAVc1Ixumpnf4wQTJVHGA01qjzZlvaisWUBx08= @@ -287,8 +287,8 @@ github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.43.1 h1:PmJzM5B+coktfBZWoSq github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.43.1/go.mod h1:XQjpa5wcTMPwzOW+ur3sj3NRKhwkeyP4ofPuW6OG42A= github.com/aws/aws-sdk-go-v2/service/inspector v1.27.1 h1:QG8CsTmAhAPFmpowqocbfVfRDkh5WkoNtzv4vW1BiJk= github.com/aws/aws-sdk-go-v2/service/inspector v1.27.1/go.mod h1:3LVGyTD16Yf0GQ4jl39tnMRYO/nE8VS5rZGsJyAKm4A= -github.com/aws/aws-sdk-go-v2/service/inspector2 v1.39.1 h1:Uj4kFuhdRozJwkKtDx6lpSpu374B4zUeLAgRCrE6RRg= -github.com/aws/aws-sdk-go-v2/service/inspector2 v1.39.1/go.mod h1:Go5fLgTjY0qKiAVTvcS+nlYH0pHa5IAETQPsoYM/3WY= +github.com/aws/aws-sdk-go-v2/service/inspector2 v1.40.0 h1:u57xVdqtt4O5UkA02bf0BCmENrZCz/VVi3fPSw6MZAE= +github.com/aws/aws-sdk-go-v2/service/inspector2 v1.40.0/go.mod h1:Go5fLgTjY0qKiAVTvcS+nlYH0pHa5IAETQPsoYM/3WY= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 h1:6+lZi2JeGKtCraAj1rpoZfKqnQ9SptseRZioejfUOLM= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0/go.mod h1:eb3gfbVIxIoGgJsi9pGne19dhCBpK6opTYpQqAmdy44= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.1 h1:ps3nrmBWdWwakZBydGX1CxeYFK80HsQ79JLMwm7Y4/c= @@ -303,8 +303,8 @@ github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.22.1 h1:3jvrdU0UOGm8mQ7e github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.22.1/go.mod h1:loi2iyY5Vs3EC7FI5Yp8TWUGZQC8flvpisZK4HQdNBs= github.com/aws/aws-sdk-go-v2/service/invoicing v1.3.1 h1:ZqHny6zHB8yb3NT0Wz9vSIy5Zub1qcqrEAF1d6K3zuE= github.com/aws/aws-sdk-go-v2/service/invoicing v1.3.1/go.mod h1:K4gG6tXdTb/nIFfe1R5jyW1JRsFORvFiRMDJkGNc9dA= -github.com/aws/aws-sdk-go-v2/service/iot v1.65.1 h1:viIWoxWPR4NvRHjRGQ2vOKYNzQST+JyPiipbeGPx/7g= -github.com/aws/aws-sdk-go-v2/service/iot v1.65.1/go.mod h1:0ogtONfjFzm7daWG4XWQhmpHkC0P0nTjoO7n4JKzb0U= +github.com/aws/aws-sdk-go-v2/service/iot v1.66.0 h1:WfrMX/3r0d9QAETHTQtVOYLWpagcKUyKi5peIH5QG6A= +github.com/aws/aws-sdk-go-v2/service/iot v1.66.0/go.mod h1:0ogtONfjFzm7daWG4XWQhmpHkC0P0nTjoO7n4JKzb0U= github.com/aws/aws-sdk-go-v2/service/ivs v1.44.1 h1:k8SgaBMH/3e3oRv5XyMS6qJAvKtc5/3xTjCSMlkaeFI= github.com/aws/aws-sdk-go-v2/service/ivs v1.44.1/go.mod h1:Oobt8m2Ut1xg78QLmsw13wnSknC9PnFOmvgFcN3OobA= github.com/aws/aws-sdk-go-v2/service/ivschat v1.18.1 h1:KeOqEh9bzMzaRbjzil41SOu7UVcHmyPZ415wDhvpRVI= @@ -387,8 +387,8 @@ github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.2.1 h1:P9vU+dUkH9J github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.2.1/go.mod h1:M2m8kz89mBvwsJ3sHJ/sAniRFqQh2U2eQgj0Xcdgi38= github.com/aws/aws-sdk-go-v2/service/oam v1.19.1 h1:Qy3Z3Iec62/ZQxeOtNMfGkW+0O+h4m1jlfpMG2v7Jqc= github.com/aws/aws-sdk-go-v2/service/oam v1.19.1/go.mod h1:SELnx5vYtclgFgk0qAUuW8gPd9QaGGvn9J0gLLAN/qI= -github.com/aws/aws-sdk-go-v2/service/opensearch v1.48.1 h1:5waSqIHB7r2/kPEUokYOCbAj94O86BMNEUdt0q5BsqU= -github.com/aws/aws-sdk-go-v2/service/opensearch v1.48.1/go.mod h1:2MLCxAIIw9nb59dvYANZHyhoiOMaajJtKlBqvnyWg0c= +github.com/aws/aws-sdk-go-v2/service/opensearch v1.49.0 h1:OF/8+8L9jZSnIFKC7G/I7d0FnWylckLWJ2T+rWpqnZI= +github.com/aws/aws-sdk-go-v2/service/opensearch v1.49.0/go.mod h1:2MLCxAIIw9nb59dvYANZHyhoiOMaajJtKlBqvnyWg0c= github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.21.1 h1:mbkX8wApJAaoWpV0V0EgnjN1/sI6ymNqQGPE+nakSP8= github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.21.1/go.mod h1:C0qtSLUYGv6qGGy3nHPR7T4ZrsBA9/dcMDcov82uoK8= github.com/aws/aws-sdk-go-v2/service/organizations v1.40.1 h1:9u1hD7vW7BjOxiCmE5TUDvyGk8sZiI6nTHhbUW9npPY= @@ -417,8 +417,8 @@ github.com/aws/aws-sdk-go-v2/service/qbusiness v1.29.1 h1:UEg5RyOrwwTgO3pEPVkBOZ github.com/aws/aws-sdk-go-v2/service/qbusiness v1.29.1/go.mod h1:RbC8dW2YmTMAE9jWWuOw1imZjbGQXbzZs3i/XzmhZkc= github.com/aws/aws-sdk-go-v2/service/qldb v1.27.1 h1:M0bDQzEES16it3M8iwvYw0JYWSHtAELprn66MS8jjBo= github.com/aws/aws-sdk-go-v2/service/qldb v1.27.1/go.mod h1:UCoQ1I3GDheCu90XJjXyvO/v2AUFTwLER6h4QmvSego= -github.com/aws/aws-sdk-go-v2/service/quicksight v1.89.1 h1:HieaRkHHAJWegQxuuWm3duxdEuiLQBHnApCkfMGVLH0= -github.com/aws/aws-sdk-go-v2/service/quicksight v1.89.1/go.mod h1:YQlQUXV3sa9nZR2W2DyrOVHoLoEDUjcoqe3vGgYTPPg= +github.com/aws/aws-sdk-go-v2/service/quicksight v1.90.0 h1:dt5QvxSk2EvYWpCFtHRu31scM9sC9PLjgRwvdShfNrg= +github.com/aws/aws-sdk-go-v2/service/quicksight v1.90.0/go.mod h1:YQlQUXV3sa9nZR2W2DyrOVHoLoEDUjcoqe3vGgYTPPg= github.com/aws/aws-sdk-go-v2/service/ram v1.31.1 h1:DZ1qMqkin2aoXDI9X4G48hufZ5Unag/11WmDgIEN31w= github.com/aws/aws-sdk-go-v2/service/ram v1.31.1/go.mod h1:EtWvsAzhCnrUB03jgf70O8Sqi5gmRUQsFExhChPMI3U= github.com/aws/aws-sdk-go-v2/service/rbin v1.23.1 h1:MuUdwoKOOY+H54Fb596ADns1ug2qM9QxGUIsgZshhVQ= @@ -489,8 +489,8 @@ github.com/aws/aws-sdk-go-v2/service/servicequotas v1.29.1 h1:woOK9lW27mtpdERfmn github.com/aws/aws-sdk-go-v2/service/servicequotas v1.29.1/go.mod h1:Bfj6o/QIVdpFkd95vGIY3fTEaTJZpu0vks/D8VKwLnU= github.com/aws/aws-sdk-go-v2/service/ses v1.31.1 h1:hi11Ld0VefrexMU5GL7/hNKzm6eplrSF4A3xe0S0M0U= github.com/aws/aws-sdk-go-v2/service/ses v1.31.1/go.mod h1:YEsycIZqO487LztPmM2Q1U/g0ynw7Zj7zSD4Jt79SDY= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.48.1 h1:IxgjwuZ/AGKFFYU6yYT8rZAysL/4oSPEwtfUgQChv+w= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.48.1/go.mod h1:GvobvR4QPd7vuWZIyvKyRUddjjSKkUHqYa8aBfpIKh4= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.49.0 h1:XzMkmb8eU1B3WTgfKdLnhJCcWTLZPCoP54ZSsDzPKLY= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.49.0/go.mod h1:GvobvR4QPd7vuWZIyvKyRUddjjSKkUHqYa8aBfpIKh4= github.com/aws/aws-sdk-go-v2/service/sfn v1.36.1 h1:VEOUJkplqcaFW+Z3ZOFSWSVsmXVs10SFxb3Y6IGX+bc= github.com/aws/aws-sdk-go-v2/service/sfn v1.36.1/go.mod h1:bwaYtZOogLKo3c/rpHpBQe7vnoieV5rQn+nQ52HFaz8= github.com/aws/aws-sdk-go-v2/service/shield v1.31.1 h1:xVThf6EHHHIacded51XqxPMEnmruw/VXtrtbMim26Zc= @@ -535,8 +535,8 @@ github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.32.1 h1:zh3Jm1emj0IZeZAd github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.32.1/go.mod h1:a74kIao0vSolFoqFuqoU/ZLbQdE7ean791+w7ke3UmI= github.com/aws/aws-sdk-go-v2/service/transcribe v1.48.1 h1:ydeDmQyYbaVk4Kk4rT7rasqar7WKizpIZc/MtTwx3XU= github.com/aws/aws-sdk-go-v2/service/transcribe v1.48.1/go.mod h1:yebrHNdyMhIz0hKhQzHaKtr7GnfjCWfQXR8fI+biDOY= -github.com/aws/aws-sdk-go-v2/service/transfer v1.62.1 h1:h7ztYoDpj4P9TF6Tl22F2bK4ceiaxt6UR05KYvSXZ6Q= -github.com/aws/aws-sdk-go-v2/service/transfer v1.62.1/go.mod h1:pcob4Kb6kNQartCIk7k5DvcMgUWfFHgpvUmT6NJ+tfA= +github.com/aws/aws-sdk-go-v2/service/transfer v1.62.2 h1:RlwtIPenSgzBHnNHNFgHiS/xhV/V52HHesCJAFT9pjA= +github.com/aws/aws-sdk-go-v2/service/transfer v1.62.2/go.mod h1:pcob4Kb6kNQartCIk7k5DvcMgUWfFHgpvUmT6NJ+tfA= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.25.1 h1:YfjBV97VKP7BzolXmhkpoIIhfW2bMcxHbMOiK+bXVjA= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.25.1/go.mod h1:5Eyf+GB1CKpvbvZFT7MIO5Mk3gPHBcyx+WC7Jb1WeIs= github.com/aws/aws-sdk-go-v2/service/vpclattice v1.15.1 h1:yNH2+yM+Fjdm7qyAkZ8jSvvGNJLY1B6Ojf0y1bxtnNU= @@ -551,8 +551,8 @@ github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.36.1 h1:u5PVGnXaDhUzAi49 github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.36.1/go.mod h1:9T+lndTY7HGyy99UmFciMfeG8DvHJxQLgKcZkVpfxtA= github.com/aws/aws-sdk-go-v2/service/workspaces v1.59.1 h1:pHLxmX312+1Y4TPvAKS1cVS8ky4Lcqlv0tfmjvSQO7Y= github.com/aws/aws-sdk-go-v2/service/workspaces v1.59.1/go.mod h1:GKRVmQy+p6FxWidtWnsx/qbxIKyu96pEYCdMrcuTgeM= -github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.28.1 h1:EUGE9p+/Yfs3gsuazAvn9yDY5k+yjaPZD117hum4BUo= -github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.28.1/go.mod h1:gUs8tCNAp6COwgYIef9axji/vDiM5KXzjxXpSHrIz9U= +github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.29.0 h1:7+e/FxVeBJ9676CmhjWwd5KamTvz1NqTuOkaJ0pitPg= +github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.29.0/go.mod h1:gUs8tCNAp6COwgYIef9axji/vDiM5KXzjxXpSHrIz9U= github.com/aws/aws-sdk-go-v2/service/xray v1.32.1 h1:cEgIUA7e2jJX6dtw7QZHZC4Npgzc3qAhI6VgBAJhLys= github.com/aws/aws-sdk-go-v2/service/xray v1.32.1/go.mod h1:yNBhxYF0/a7HxlvvPZ9pljsw3wSh6ooyxg5llocFwBQ= github.com/aws/smithy-go v1.22.5 h1:P9ATCXPMb2mPjYBgueqJNCA5S9UfktsW0tTxi+a7eqw= From 5e82c05f76c38efeaad5875f4ac0012267f53737 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 07:04:55 +0000 Subject: [PATCH 0151/1301] Bump github.com/hashicorp/terraform-plugin-framework Bumps the terraform-devex group with 1 update in the / directory: [github.com/hashicorp/terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework). Updates `github.com/hashicorp/terraform-plugin-framework` from 1.15.0 to 1.15.1 - [Release notes](https://github.com/hashicorp/terraform-plugin-framework/releases) - [Changelog](https://github.com/hashicorp/terraform-plugin-framework/blob/main/CHANGELOG.md) - [Commits](https://github.com/hashicorp/terraform-plugin-framework/compare/v1.15.0...v1.15.1) --- updated-dependencies: - dependency-name: github.com/hashicorp/terraform-plugin-framework dependency-version: 1.15.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: terraform-devex ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 146cadbd47c0..c5793763da89 100644 --- a/go.mod +++ b/go.mod @@ -285,7 +285,7 @@ require ( github.com/hashicorp/go-version v1.7.0 github.com/hashicorp/hcl/v2 v2.23.0 github.com/hashicorp/terraform-json v0.25.0 - github.com/hashicorp/terraform-plugin-framework v1.15.0 + github.com/hashicorp/terraform-plugin-framework v1.15.1 github.com/hashicorp/terraform-plugin-framework-jsontypes v0.2.0 github.com/hashicorp/terraform-plugin-framework-timeouts v0.5.0 github.com/hashicorp/terraform-plugin-framework-timetypes v0.5.0 diff --git a/go.sum b/go.sum index 345fccd13843..8abeb9e12fc9 100644 --- a/go.sum +++ b/go.sum @@ -656,8 +656,8 @@ github.com/hashicorp/terraform-exec v0.23.0 h1:MUiBM1s0CNlRFsCLJuM5wXZrzA3MnPYEs github.com/hashicorp/terraform-exec v0.23.0/go.mod h1:mA+qnx1R8eePycfwKkCRk3Wy65mwInvlpAeOwmA7vlY= github.com/hashicorp/terraform-json v0.25.0 h1:rmNqc/CIfcWawGiwXmRuiXJKEiJu1ntGoxseG1hLhoQ= github.com/hashicorp/terraform-json v0.25.0/go.mod h1:sMKS8fiRDX4rVlR6EJUMudg1WcanxCMoWwTLkgZP/vc= -github.com/hashicorp/terraform-plugin-framework v1.15.0 h1:LQ2rsOfmDLxcn5EeIwdXFtr03FVsNktbbBci8cOKdb4= -github.com/hashicorp/terraform-plugin-framework v1.15.0/go.mod h1:hxrNI/GY32KPISpWqlCoTLM9JZsGH3CyYlir09bD/fI= +github.com/hashicorp/terraform-plugin-framework v1.15.1 h1:2mKDkwb8rlx/tvJTlIcpw0ykcmvdWv+4gY3SIgk8Pq8= +github.com/hashicorp/terraform-plugin-framework v1.15.1/go.mod h1:hxrNI/GY32KPISpWqlCoTLM9JZsGH3CyYlir09bD/fI= github.com/hashicorp/terraform-plugin-framework-jsontypes v0.2.0 h1:SJXL5FfJJm17554Kpt9jFXngdM6fXbnUnZ6iT2IeiYA= github.com/hashicorp/terraform-plugin-framework-jsontypes v0.2.0/go.mod h1:p0phD0IYhsu9bR4+6OetVvvH59I6LwjXGnTVEr8ox6E= github.com/hashicorp/terraform-plugin-framework-timeouts v0.5.0 h1:I/N0g/eLZ1ZkLZXUQ0oRSXa8YG/EF0CEuQP1wXdrzKw= From 8d2c47ec8c928fec61b2b4b8cb388533f9f5e5cb Mon Sep 17 00:00:00 2001 From: yoshizawa56 Date: Fri, 1 Aug 2025 16:59:52 +0900 Subject: [PATCH 0152/1301] feat(ecr): Add support for IMMUTABLE_WITH_EXCLUSION image tag mutability This commit adds support for the IMMUTABLE_WITH_EXCLUSION image tag mutability mode in ECR repositories, allowing users to specify exclusion filters for tags that should remain mutable while enforcing immutability for all others. Changes: - Add image_tag_mutability_exclusion_filter configuration block - Support IMMUTABLE_WITH_EXCLUSION as a valid image_tag_mutability value - Add validation for exclusion filters (max 5 filters, max 128 chars, max 2 wildcards) - Add cross-field validation to ensure filters are only used with appropriate mutability modes - Add comprehensive acceptance tests including cross-field validation test - Update documentation with examples and constraints Closes #43569 --- internal/service/ecr/repository.go | 110 ++++++++++++++++++- internal/service/ecr/repository_test.go | 112 ++++++++++++++++++++ website/docs/r/ecr_repository.html.markdown | 27 ++++- 3 files changed, 247 insertions(+), 2 deletions(-) diff --git a/internal/service/ecr/repository.go b/internal/service/ecr/repository.go index f48e064dbed4..c06422e47c57 100644 --- a/internal/service/ecr/repository.go +++ b/internal/service/ecr/repository.go @@ -5,15 +5,20 @@ package ecr import ( "context" + "fmt" "log" + "strings" "time" + "github.com/YakDriver/regexache" "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/service/ecr" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + "github.com/hashicorp/go-cty/cty" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" "github.com/hashicorp/terraform-provider-aws/internal/conns" "github.com/hashicorp/terraform-provider-aws/internal/enum" "github.com/hashicorp/terraform-provider-aws/internal/errs" @@ -41,6 +46,8 @@ func resourceRepository() *schema.Resource { Delete: schema.DefaultTimeout(20 * time.Minute), }, + CustomizeDiff: validateImageTagMutabilityExclusionFilterUsage, + Schema: map[string]*schema.Schema{ names.AttrARN: { Type: schema.TypeString, @@ -93,6 +100,32 @@ func resourceRepository() *schema.Resource { Default: types.ImageTagMutabilityMutable, ValidateDiagFunc: enum.Validate[types.ImageTagMutability](), }, + "image_tag_mutability_exclusion_filter": { + Type: schema.TypeList, + Optional: true, + MaxItems: 5, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + names.AttrFilter: { + Type: schema.TypeString, + Required: true, + ValidateDiagFunc: validation.AllDiag( + validation.ToDiagFunc(validation.StringLenBetween(1, 128)), + validation.ToDiagFunc(validation.StringMatch( + regexache.MustCompile(`^[a-zA-Z0-9._*-]+$`), + "must contain only letters, numbers, and special characters (._*-)", + )), + validateImageTagMutabilityExclusionFilter(), + ), + }, + "filter_type": { + Type: schema.TypeString, + Required: true, + ValidateDiagFunc: enum.Validate[types.ImageTagMutabilityExclusionFilterType](), + }, + }, + }, + }, names.AttrName: { Type: schema.TypeString, Required: true, @@ -131,6 +164,10 @@ func resourceRepositoryCreate(ctx context.Context, d *schema.ResourceData, meta } } + if v, ok := d.GetOk("image_tag_mutability_exclusion_filter"); ok && len(v.([]any)) > 0 { + input.ImageTagMutabilityExclusionFilters = expandImageTagMutabilityExclusionFilters(v.([]any)) + } + output, err := conn.CreateRepository(ctx, input) // Some partitions (e.g. ISO) may not support tag-on-create. @@ -189,6 +226,9 @@ func resourceRepositoryRead(ctx context.Context, d *schema.ResourceData, meta an return sdkdiag.AppendErrorf(diags, "setting image_scanning_configuration: %s", err) } d.Set("image_tag_mutability", repository.ImageTagMutability) + if err := d.Set("image_tag_mutability_exclusion_filter", flattenImageTagMutabilityExclusionFilters(repository.ImageTagMutabilityExclusionFilters)); err != nil { + return sdkdiag.AppendErrorf(diags, "setting image_tag_mutability_exclusion_filter: %s", err) + } d.Set(names.AttrName, repository.RepositoryName) d.Set("registry_id", repository.RegistryId) d.Set("repository_url", repository.RepositoryUri) @@ -200,13 +240,17 @@ func resourceRepositoryUpdate(ctx context.Context, d *schema.ResourceData, meta var diags diag.Diagnostics conn := meta.(*conns.AWSClient).ECRClient(ctx) - if d.HasChange("image_tag_mutability") { + if d.HasChanges("image_tag_mutability", "image_tag_mutability_exclusion_filter") { input := &ecr.PutImageTagMutabilityInput{ ImageTagMutability: types.ImageTagMutability((d.Get("image_tag_mutability").(string))), RegistryId: aws.String(d.Get("registry_id").(string)), RepositoryName: aws.String(d.Id()), } + if v, ok := d.GetOk("image_tag_mutability_exclusion_filter"); ok && len(v.([]any)) > 0 { + input.ImageTagMutabilityExclusionFilters = expandImageTagMutabilityExclusionFilters(v.([]any)) + } + _, err := conn.PutImageTagMutability(ctx, input) if err != nil { @@ -343,3 +387,67 @@ func flattenRepositoryEncryptionConfiguration(ec *types.EncryptionConfiguration) config, } } + +func expandImageTagMutabilityExclusionFilters(data []any) []types.ImageTagMutabilityExclusionFilter { + if len(data) == 0 { + return nil + } + + var filters []types.ImageTagMutabilityExclusionFilter + for _, v := range data { + tfMap := v.(map[string]any) + filter := types.ImageTagMutabilityExclusionFilter{ + Filter: aws.String(tfMap[names.AttrFilter].(string)), + FilterType: types.ImageTagMutabilityExclusionFilterType(tfMap["filter_type"].(string)), + } + filters = append(filters, filter) + } + + return filters +} + +func flattenImageTagMutabilityExclusionFilters(filters []types.ImageTagMutabilityExclusionFilter) []any { + if len(filters) == 0 { + return nil + } + + var tfList []any + for _, filter := range filters { + tfMap := map[string]any{ + names.AttrFilter: aws.ToString(filter.Filter), + "filter_type": string(filter.FilterType), + } + tfList = append(tfList, tfMap) + } + + return tfList +} + +func validateImageTagMutabilityExclusionFilter() schema.SchemaValidateDiagFunc { + return func(v any, path cty.Path) diag.Diagnostics { + var diags diag.Diagnostics + value := v.(string) + + wildcardCount := strings.Count(value, "*") + if wildcardCount > 2 { + diags = append(diags, diag.Diagnostic{ + Severity: diag.Error, + Summary: "Invalid filter pattern", + Detail: "Image tag mutability exclusion filter can contain a maximum of 2 wildcards (*)", + }) + } + + return diags + } +} + +func validateImageTagMutabilityExclusionFilterUsage(_ context.Context, d *schema.ResourceDiff, meta any) error { + mutability := d.Get("image_tag_mutability").(string) + filters := d.Get("image_tag_mutability_exclusion_filter").([]any) + + if len(filters) > 0 && mutability != string(types.ImageTagMutabilityImmutableWithExclusion) && mutability != string(types.ImageTagMutabilityMutableWithExclusion) { + return fmt.Errorf("image_tag_mutability_exclusion_filter can only be used when image_tag_mutability is set to IMMUTABLE_WITH_EXCLUSION or MUTABLE_WITH_EXCLUSION") + } + + return nil +} diff --git a/internal/service/ecr/repository_test.go b/internal/service/ecr/repository_test.go index e0f9b66b24ac..0ed835f90837 100644 --- a/internal/service/ecr/repository_test.go +++ b/internal/service/ecr/repository_test.go @@ -6,6 +6,7 @@ package ecr_test import ( "context" "fmt" + "strings" "testing" "github.com/YakDriver/regexache" @@ -156,6 +157,89 @@ func TestAccECRRepository_immutability(t *testing.T) { }) } +func TestAccECRRepository_immutabilityWithExclusion(t *testing.T) { + ctx := acctest.Context(t) + var v types.Repository + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_ecr_repository.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.ECRServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckRepositoryDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccRepositoryConfig_immutabilityWithExclusion(rName, "latest*"), + Check: resource.ComposeTestCheckFunc( + testAccCheckRepositoryExists(ctx, resourceName, &v), + resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), + resource.TestCheckResourceAttr(resourceName, "image_tag_mutability", string(types.ImageTagMutabilityImmutableWithExclusion)), + resource.TestCheckResourceAttr(resourceName, "image_tag_mutability_exclusion_filter.#", "1"), + resource.TestCheckResourceAttr(resourceName, "image_tag_mutability_exclusion_filter.0.filter", "latest*"), + resource.TestCheckResourceAttr(resourceName, "image_tag_mutability_exclusion_filter.0.filter_type", string(types.ImageTagMutabilityExclusionFilterTypeWildcard)), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + Config: testAccRepositoryConfig_immutabilityWithExclusion(rName, "dev-*"), + Check: resource.ComposeTestCheckFunc( + testAccCheckRepositoryExists(ctx, resourceName, &v), + resource.TestCheckResourceAttr(resourceName, "image_tag_mutability_exclusion_filter.0.filter", "dev-*"), + ), + }, + }, + }) +} + +func TestAccECRRepository_immutabilityWithExclusion_validation(t *testing.T) { + ctx := acctest.Context(t) + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.ECRServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckRepositoryDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccRepositoryConfig_immutabilityWithExclusion(rName, "invalid!@#$"), + ExpectError: regexache.MustCompile(`must contain only letters, numbers, and special characters`), + }, + { + Config: testAccRepositoryConfig_immutabilityWithExclusion(rName, "a*b*c*d"), + ExpectError: regexache.MustCompile(`Image tag mutability exclusion filter can contain a maximum of 2 wildcards`), + }, + { + Config: testAccRepositoryConfig_immutabilityWithExclusion(rName, strings.Repeat("a", 129)), + ExpectError: regexache.MustCompile(`expected length of.*to be in the range.*128`), + }, + }, + }) +} + +func TestAccECRRepository_immutabilityWithExclusion_crossValidation(t *testing.T) { + ctx := acctest.Context(t) + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.ECRServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckRepositoryDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccRepositoryConfig_immutabilityWithExclusionInvalid(rName), + ExpectError: regexache.MustCompile(`image_tag_mutability_exclusion_filter can only be used when image_tag_mutability is set to IMMUTABLE_WITH_EXCLUSION`), + }, + }, + }) +} + func TestAccECRRepository_Image_scanning(t *testing.T) { ctx := acctest.Context(t) var v1, v2 types.Repository @@ -448,6 +532,34 @@ resource "aws_ecr_repository" "test" { `, rName) } +func testAccRepositoryConfig_immutabilityWithExclusion(rName, filter string) string { + return fmt.Sprintf(` +resource "aws_ecr_repository" "test" { + name = %[1]q + image_tag_mutability = "IMMUTABLE_WITH_EXCLUSION" + + image_tag_mutability_exclusion_filter { + filter = %[2]q + filter_type = "WILDCARD" + } +} +`, rName, filter) +} + +func testAccRepositoryConfig_immutabilityWithExclusionInvalid(rName string) string { + return fmt.Sprintf(` +resource "aws_ecr_repository" "test" { + name = %[1]q + image_tag_mutability = "MUTABLE" + + image_tag_mutability_exclusion_filter { + filter = "latest*" + filter_type = "WILDCARD" + } +} +`, rName) +} + func testAccRepositoryConfig_imageScanningConfiguration(rName string, scanOnPush bool) string { return fmt.Sprintf(` resource "aws_ecr_repository" "test" { diff --git a/website/docs/r/ecr_repository.html.markdown b/website/docs/r/ecr_repository.html.markdown index 07704c2e4538..8177ebe046b3 100644 --- a/website/docs/r/ecr_repository.html.markdown +++ b/website/docs/r/ecr_repository.html.markdown @@ -23,6 +23,25 @@ resource "aws_ecr_repository" "foo" { } ``` +### With Image Tag Mutability Exclusion + +```terraform +resource "aws_ecr_repository" "example" { + name = "example-repo" + image_tag_mutability = "IMMUTABLE_WITH_EXCLUSION" + + image_tag_mutability_exclusion_filter { + filter = "latest*" + filter_type = "WILDCARD" + } + + image_tag_mutability_exclusion_filter { + filter = "dev-*" + filter_type = "WILDCARD" + } +} +``` + ## Argument Reference This resource supports the following arguments: @@ -32,7 +51,8 @@ This resource supports the following arguments: * `encryption_configuration` - (Optional) Encryption configuration for the repository. See [below for schema](#encryption_configuration). * `force_delete` - (Optional) If `true`, will delete the repository even if it contains images. Defaults to `false`. -* `image_tag_mutability` - (Optional) The tag mutability setting for the repository. Must be one of: `MUTABLE` or `IMMUTABLE`. Defaults to `MUTABLE`. +* `image_tag_mutability` - (Optional) The tag mutability setting for the repository. Must be one of: `MUTABLE`, `IMMUTABLE`, or `IMMUTABLE_WITH_EXCLUSION`. Defaults to `MUTABLE`. +* `image_tag_mutability_exclusion_filter` - (Optional) Configuration block that defines filters to specify which image tags can override the default tag mutability setting. Only applicable when `image_tag_mutability` is set to `IMMUTABLE_WITH_EXCLUSION`. See [below for schema](#image_tag_mutability_exclusion_filter). * `image_scanning_configuration` - (Optional) Configuration block that defines image scanning configuration for the repository. By default, image scanning must be manually triggered. See the [ECR User Guide](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning.html) for more information about image scanning. * `scan_on_push` - (Required) Indicates whether images are scanned after being pushed to the repository (true) or not scanned (false). * `tags` - (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. @@ -42,6 +62,11 @@ This resource supports the following arguments: * `encryption_type` - (Optional) The encryption type to use for the repository. Valid values are `AES256` or `KMS`. Defaults to `AES256`. * `kms_key` - (Optional) The ARN of the KMS key to use when `encryption_type` is `KMS`. If not specified, uses the default AWS managed key for ECR. +### image_tag_mutability_exclusion_filter + +* `filter` - (Required) The filter pattern to use for excluding image tags from the mutability setting. Must contain only letters, numbers, and special characters (._*-). Each filter can be up to 128 characters long and can contain a maximum of 2 wildcards (*). +* `filter_type` - (Required) The type of filter to use. Must be `WILDCARD`. + ## Attribute Reference This resource exports the following attributes in addition to the arguments above: From f447d5858dc8c9a5c79aab5dbcfef90217a634c9 Mon Sep 17 00:00:00 2001 From: yoshizawa56 Date: Fri, 1 Aug 2025 17:38:02 +0900 Subject: [PATCH 0153/1301] Add changelog entry for ECR IMMUTABLE_WITH_EXCLUSION support --- .changelog/43642.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/43642.txt diff --git a/.changelog/43642.txt b/.changelog/43642.txt new file mode 100644 index 000000000000..2dd706714e24 --- /dev/null +++ b/.changelog/43642.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/aws_ecr_repository: Add support for `IMMUTABLE_WITH_EXCLUSION` image tag mutability mode with `image_tag_mutability_exclusion_filter` configuration block +``` \ No newline at end of file From 9db42620c3c6a658a12127429fdaf66ee22a71ab Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 08:44:05 -0400 Subject: [PATCH 0154/1301] Correct IAM permissions for access point tagging. --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 581fa321455c..f1185f3db88e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,13 +12,13 @@ ENHANCEMENTS: * data-source/aws_codebuild_fleet: Add `instance_type` attribute in `compute_configuration` block ([#43449](https://github.com/hashicorp/terraform-provider-aws/issues/43449)) * data-source/aws_ebs_volume: Add `volume_initialization_rate` attribute ([#43565](https://github.com/hashicorp/terraform-provider-aws/issues/43565)) * data-source/aws_ecs_service: Support `load_balancer` attribute ([#43582](https://github.com/hashicorp/terraform-provider-aws/issues/43582)) -* data-source/aws_s3_access_point: Add `tags` attribute. This functionality requires the `s3:ListTagsForResource` IAM permission ([#43630](https://github.com/hashicorp/terraform-provider-aws/issues/43630)) +* data-source/aws_s3_access_point: Add `tags` attribute. This functionality requires the `s3:ListTagsForResource` IAM permission with S3 Access Points for general purpose buckets and the `s3express:ListTagsForResource` IAM permission with S3 Access Points for directory buckets ([#43630](https://github.com/hashicorp/terraform-provider-aws/issues/43630)) * data-source/aws_verifiedpermissions_policy_store: Add `deletion_protection` attribute ([#43452](https://github.com/hashicorp/terraform-provider-aws/issues/43452)) * resource/aws_athena_workgroup: Add `configuration.identity_center_configuration` argument ([#38717](https://github.com/hashicorp/terraform-provider-aws/issues/38717)) * resource/aws_cleanrooms_collaboration: Add `analytics_engine` argument ([#43614](https://github.com/hashicorp/terraform-provider-aws/issues/43614)) * resource/aws_codebuild_fleet: Add `instance_type` argument in `compute_configuration` block to support custom instance types ([#43449](https://github.com/hashicorp/terraform-provider-aws/issues/43449)) * resource/aws_ebs_volume: Add `volume_initialization_rate` argument ([#43565](https://github.com/hashicorp/terraform-provider-aws/issues/43565)) -* resource/aws_s3_access_point: Add `tags` argument and `tags_all` attribute. This functionality requires the `s3:ListTagsForResource`, `s3:TagResource`, and `s3:UntagResource` IAM permissions ([#43630](https://github.com/hashicorp/terraform-provider-aws/issues/43630)) +* resource/aws_s3_access_point: Add `tags` argument and `tags_all` attribute. This functionality requires the `s3:ListTagsForResource`, `s3:TagResource`, and `s3:UntagResource` IAM permissions with S3 Access Points for general purpose buckets and the `s3express:ListTagsForResource`, `s3express:TagResource`, and `s3express:UntagResource` IAM permissions with S3 Access Points for directory buckets ([#43630](https://github.com/hashicorp/terraform-provider-aws/issues/43630)) * resource/aws_verifiedpermissions_policy_store: Add `deletion_protection` argument ([#43452](https://github.com/hashicorp/terraform-provider-aws/issues/43452)) BUG FIXES: From 4809c45d272aaedc2c1fdcf0ae367f92e3579538 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 08:56:05 -0400 Subject: [PATCH 0155/1301] Add 'odb' service metadata. --- names/data/names_data.hcl | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/names/data/names_data.hcl b/names/data/names_data.hcl index 6a83a3386cfa..e70136be429a 100644 --- a/names/data/names_data.hcl +++ b/names/data/names_data.hcl @@ -5997,6 +5997,32 @@ service "oam" { brand = "AWS" } +service "odb" { + sdk { + id = "ODB" + arn_namespace = "odb" + } + + names { + provider_name_upper = "ODB" + human_friendly = "Oracle Database@AWS" + } + + endpoint_info { + endpoint_api_call = "ListCloudExadataInfrastructures" + endpoint_region_overrides = { + "aws" = "us-east-1" + } + } + + resource_prefix { + correct = "aws_odb_" + } + + doc_prefix = ["odb_"] + brand = "AWS" +} + service "opensearch" { go_packages { v1_package = "opensearchservice" From e68a0eb9d87caf18bdaf68e2e61df3eda0527764 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 08:57:25 -0400 Subject: [PATCH 0156/1301] Add 'odb' service package. --- internal/service/odb/generate.go | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 internal/service/odb/generate.go diff --git a/internal/service/odb/generate.go b/internal/service/odb/generate.go new file mode 100644 index 000000000000..af40092c9442 --- /dev/null +++ b/internal/service/odb/generate.go @@ -0,0 +1,7 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +//go:generate go run ../../generate/servicepackage/main.go +// ONLY generate directives and package declaration! Do not add anything else to this file. + +package odb From 8e3d84dd05f7a7445d6d1881908dbb80a7eba792 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 08:59:19 -0400 Subject: [PATCH 0157/1301] Require 'github.com/aws/aws-sdk-go-v2/service/odb'. --- go.mod | 1 + 1 file changed, 1 insertion(+) diff --git a/go.mod b/go.mod index c68563a84850..759cdd1e7b23 100644 --- a/go.mod +++ b/go.mod @@ -183,6 +183,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/notifications v1.3.1 github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.2.1 github.com/aws/aws-sdk-go-v2/service/oam v1.19.1 + github.com/aws/aws-sdk-go-v2/service/odb v1.1.1 github.com/aws/aws-sdk-go-v2/service/opensearch v1.49.0 github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.21.1 github.com/aws/aws-sdk-go-v2/service/organizations v1.40.1 From 569af13cc39d1a8adbc2441401c078b11fc0fc06 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 09:03:56 -0400 Subject: [PATCH 0158/1301] Run 'make gen'. --- .ci/.semgrep-service-name0.yml | 15 + .ci/.semgrep-service-name1.yml | 33 +- .ci/.semgrep-service-name2.yml | 93 ++- .ci/.semgrep-service-name3.yml | 14 + .github/labeler-issue-triage.yml | 2 + .github/labeler-pr-triage.yml | 6 + .../components/generated/services_all.kt | 1 + infrastructure/repository/labels-service.tf | 1 + internal/conns/awsclient_gen.go | 5 + internal/provider/framework/provider_gen.go | 7 + internal/provider/sdkv2/provider_gen.go | 8 + .../provider/sdkv2/service_packages_gen.go | 2 + .../odb/service_endpoint_resolver_gen.go | 82 +++ .../service/odb/service_endpoints_gen_test.go | 602 ++++++++++++++++++ internal/service/odb/service_package_gen.go | 102 +++ internal/sweep/service_packages_gen_test.go | 2 + names/consts_gen.go | 2 + website/allowed-subcategories.txt | 1 + .../custom-service-endpoints.html.markdown | 1 + 19 files changed, 932 insertions(+), 47 deletions(-) create mode 100644 internal/service/odb/service_endpoint_resolver_gen.go create mode 100644 internal/service/odb/service_endpoints_gen_test.go create mode 100644 internal/service/odb/service_package_gen.go diff --git a/.ci/.semgrep-service-name0.yml b/.ci/.semgrep-service-name0.yml index 505867179cd5..87d0ffadc241 100644 --- a/.ci/.semgrep-service-name0.yml +++ b/.ci/.semgrep-service-name0.yml @@ -4376,3 +4376,18 @@ rules: - focus-metavariable: $NAME - pattern-not: func $NAME($T *testing.T) severity: WARNING + - id: connect-in-test-name + languages: + - go + message: Include "Connect" in test name + paths: + include: + - internal/service/connect/*_test.go + patterns: + - pattern: func $NAME( ... ) + - metavariable-pattern: + metavariable: $NAME + patterns: + - pattern-not-regex: "^TestAccConnect" + - pattern-regex: ^TestAcc.* + severity: WARNING diff --git a/.ci/.semgrep-service-name1.yml b/.ci/.semgrep-service-name1.yml index 9667e2aac131..26778435636f 100644 --- a/.ci/.semgrep-service-name1.yml +++ b/.ci/.semgrep-service-name1.yml @@ -1,20 +1,5 @@ # Generated by internal/generate/servicesemgrep/main.go; DO NOT EDIT. rules: - - id: connect-in-test-name - languages: - - go - message: Include "Connect" in test name - paths: - include: - - internal/service/connect/*_test.go - patterns: - - pattern: func $NAME( ... ) - - metavariable-pattern: - metavariable: $NAME - patterns: - - pattern-not-regex: "^TestAccConnect" - - pattern-regex: ^TestAcc.* - severity: WARNING - id: connect-in-const-name languages: - go @@ -4380,3 +4365,21 @@ rules: patterns: - pattern-regex: "(?i)Invoicing" severity: WARNING + - id: iot-in-func-name + languages: + - go + message: Do not use "IoT" in func name inside iot package + paths: + include: + - internal/service/iot + exclude: + - internal/service/iot/list_pages_gen.go + patterns: + - pattern: func $NAME( ... ) + - metavariable-pattern: + metavariable: $NAME + patterns: + - pattern-regex: "(?i)IoT" + - focus-metavariable: $NAME + - pattern-not: func $NAME($T *testing.T) + severity: WARNING diff --git a/.ci/.semgrep-service-name2.yml b/.ci/.semgrep-service-name2.yml index 7b145a586f94..177631291711 100644 --- a/.ci/.semgrep-service-name2.yml +++ b/.ci/.semgrep-service-name2.yml @@ -1,23 +1,5 @@ # Generated by internal/generate/servicesemgrep/main.go; DO NOT EDIT. rules: - - id: iot-in-func-name - languages: - - go - message: Do not use "IoT" in func name inside iot package - paths: - include: - - internal/service/iot - exclude: - - internal/service/iot/list_pages_gen.go - patterns: - - pattern: func $NAME( ... ) - - metavariable-pattern: - metavariable: $NAME - patterns: - - pattern-regex: "(?i)IoT" - - focus-metavariable: $NAME - - pattern-not: func $NAME($T *testing.T) - severity: WARNING - id: iot-in-test-name languages: - go @@ -3021,6 +3003,67 @@ rules: patterns: - pattern-regex: "(?i)ObservabilityAccessManager" severity: WARNING + - id: odb-in-func-name + languages: + - go + message: Do not use "ODB" in func name inside odb package + paths: + include: + - internal/service/odb + exclude: + - internal/service/odb/list_pages_gen.go + patterns: + - pattern: func $NAME( ... ) + - metavariable-pattern: + metavariable: $NAME + patterns: + - pattern-regex: "(?i)ODB" + - focus-metavariable: $NAME + - pattern-not: func $NAME($T *testing.T) + severity: WARNING + - id: odb-in-test-name + languages: + - go + message: Include "ODB" in test name + paths: + include: + - internal/service/odb/*_test.go + patterns: + - pattern: func $NAME( ... ) + - metavariable-pattern: + metavariable: $NAME + patterns: + - pattern-not-regex: "^TestAccODB" + - pattern-regex: ^TestAcc.* + severity: WARNING + - id: odb-in-const-name + languages: + - go + message: Do not use "ODB" in const name inside odb package + paths: + include: + - internal/service/odb + patterns: + - pattern: const $NAME = ... + - metavariable-pattern: + metavariable: $NAME + patterns: + - pattern-regex: "(?i)ODB" + severity: WARNING + - id: odb-in-var-name + languages: + - go + message: Do not use "ODB" in var name inside odb package + paths: + include: + - internal/service/odb + patterns: + - pattern: var $NAME = ... + - metavariable-pattern: + metavariable: $NAME + patterns: + - pattern-regex: "(?i)ODB" + severity: WARNING - id: opensearch-in-func-name languages: - go @@ -4356,17 +4399,3 @@ rules: patterns: - pattern-regex: "(?i)RDS" severity: WARNING - - id: rds-in-var-name - languages: - - go - message: Do not use "RDS" in var name inside rds package - paths: - include: - - internal/service/rds - patterns: - - pattern: var $NAME = ... - - metavariable-pattern: - metavariable: $NAME - patterns: - - pattern-regex: "(?i)RDS" - severity: WARNING diff --git a/.ci/.semgrep-service-name3.yml b/.ci/.semgrep-service-name3.yml index bdca7386db66..5818938d1f26 100644 --- a/.ci/.semgrep-service-name3.yml +++ b/.ci/.semgrep-service-name3.yml @@ -1,5 +1,19 @@ # Generated by internal/generate/servicesemgrep/main.go; DO NOT EDIT. rules: + - id: rds-in-var-name + languages: + - go + message: Do not use "RDS" in var name inside rds package + paths: + include: + - internal/service/rds + patterns: + - pattern: var $NAME = ... + - metavariable-pattern: + metavariable: $NAME + patterns: + - pattern-regex: "(?i)RDS" + severity: WARNING - id: recyclebin-in-func-name languages: - go diff --git a/.github/labeler-issue-triage.yml b/.github/labeler-issue-triage.yml index 5e07c149b293..a1bbf64f59b7 100644 --- a/.github/labeler-issue-triage.yml +++ b/.github/labeler-issue-triage.yml @@ -505,6 +505,8 @@ service/notificationscontacts: - '((\*|-)\s*`?|(data|resource)\s+"?)aws_notificationscontacts_' service/oam: - '((\*|-)\s*`?|(data|resource)\s+"?)aws_oam_' +service/odb: + - '((\*|-)\s*`?|(data|resource)\s+"?)aws_odb_' service/opensearch: - '((\*|-)\s*`?|(data|resource)\s+"?)aws_opensearch_' service/opensearchserverless: diff --git a/.github/labeler-pr-triage.yml b/.github/labeler-pr-triage.yml index 7d87c0503313..2d07161612a7 100644 --- a/.github/labeler-pr-triage.yml +++ b/.github/labeler-pr-triage.yml @@ -1602,6 +1602,12 @@ service/oam: - any-glob-to-any-file: - 'internal/service/oam/**/*' - 'website/**/oam_*' +service/odb: + - any: + - changed-files: + - any-glob-to-any-file: + - 'internal/service/odb/**/*' + - 'website/**/odb_*' service/opensearch: - any: - changed-files: diff --git a/.teamcity/components/generated/services_all.kt b/.teamcity/components/generated/services_all.kt index af54a68fba64..d8b76d8b3ed2 100644 --- a/.teamcity/components/generated/services_all.kt +++ b/.teamcity/components/generated/services_all.kt @@ -168,6 +168,7 @@ val services = mapOf( "notifications" to ServiceSpec("User Notifications"), "notificationscontacts" to ServiceSpec("User Notifications Contacts"), "oam" to ServiceSpec("CloudWatch Observability Access Manager"), + "odb" to ServiceSpec("Oracle Database@AWS"), "opensearch" to ServiceSpec("OpenSearch", vpcLock = true), "opensearchserverless" to ServiceSpec("OpenSearch Serverless"), "organizations" to ServiceSpec("Organizations"), diff --git a/infrastructure/repository/labels-service.tf b/infrastructure/repository/labels-service.tf index cd13188084d7..862c8410b218 100644 --- a/infrastructure/repository/labels-service.tf +++ b/infrastructure/repository/labels-service.tf @@ -240,6 +240,7 @@ variable "service_labels" { "notifications", "notificationscontacts", "oam", + "odb", "opensearch", "opensearchserverless", "opsworks", diff --git a/internal/conns/awsclient_gen.go b/internal/conns/awsclient_gen.go index 4c14e3c15a83..ca7e5101e520 100644 --- a/internal/conns/awsclient_gen.go +++ b/internal/conns/awsclient_gen.go @@ -171,6 +171,7 @@ import ( "github.com/aws/aws-sdk-go-v2/service/notifications" "github.com/aws/aws-sdk-go-v2/service/notificationscontacts" "github.com/aws/aws-sdk-go-v2/service/oam" + "github.com/aws/aws-sdk-go-v2/service/odb" "github.com/aws/aws-sdk-go-v2/service/opensearch" "github.com/aws/aws-sdk-go-v2/service/opensearchserverless" "github.com/aws/aws-sdk-go-v2/service/organizations" @@ -922,6 +923,10 @@ func (c *AWSClient) NotificationsContactsClient(ctx context.Context) *notificati return errs.Must(client[*notificationscontacts.Client](ctx, c, names.NotificationsContacts, make(map[string]any))) } +func (c *AWSClient) ODBClient(ctx context.Context) *odb.Client { + return errs.Must(client[*odb.Client](ctx, c, names.ODB, make(map[string]any))) +} + func (c *AWSClient) ObservabilityAccessManagerClient(ctx context.Context) *oam.Client { return errs.Must(client[*oam.Client](ctx, c, names.ObservabilityAccessManager, make(map[string]any))) } diff --git a/internal/provider/framework/provider_gen.go b/internal/provider/framework/provider_gen.go index b0c5d9c5af7d..60149e451f1c 100644 --- a/internal/provider/framework/provider_gen.go +++ b/internal/provider/framework/provider_gen.go @@ -1354,6 +1354,13 @@ func endpointsBlock() schema.SetNestedBlock { Description: "Use this to override the default service endpoint URL", }, + // odb + + "odb": schema.StringAttribute{ + Optional: true, + Description: "Use this to override the default service endpoint URL", + }, + // opensearch "opensearch": schema.StringAttribute{ diff --git a/internal/provider/sdkv2/provider_gen.go b/internal/provider/sdkv2/provider_gen.go index b4e5810e444c..0c12b2c3382b 100644 --- a/internal/provider/sdkv2/provider_gen.go +++ b/internal/provider/sdkv2/provider_gen.go @@ -1565,6 +1565,14 @@ func endpointsSchema() *schema.Schema { Description: "Use this to override the default service endpoint URL", }, + // odb + + "odb": { + Type: schema.TypeString, + Optional: true, + Description: "Use this to override the default service endpoint URL", + }, + // opensearch "opensearch": { diff --git a/internal/provider/sdkv2/service_packages_gen.go b/internal/provider/sdkv2/service_packages_gen.go index fa6119d49328..08818e211ccf 100644 --- a/internal/provider/sdkv2/service_packages_gen.go +++ b/internal/provider/sdkv2/service_packages_gen.go @@ -175,6 +175,7 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/service/notifications" "github.com/hashicorp/terraform-provider-aws/internal/service/notificationscontacts" "github.com/hashicorp/terraform-provider-aws/internal/service/oam" + "github.com/hashicorp/terraform-provider-aws/internal/service/odb" "github.com/hashicorp/terraform-provider-aws/internal/service/opensearch" "github.com/hashicorp/terraform-provider-aws/internal/service/opensearchserverless" "github.com/hashicorp/terraform-provider-aws/internal/service/organizations" @@ -430,6 +431,7 @@ func servicePackages(ctx context.Context) []conns.ServicePackage { notifications.ServicePackage(ctx), notificationscontacts.ServicePackage(ctx), oam.ServicePackage(ctx), + odb.ServicePackage(ctx), opensearch.ServicePackage(ctx), opensearchserverless.ServicePackage(ctx), organizations.ServicePackage(ctx), diff --git a/internal/service/odb/service_endpoint_resolver_gen.go b/internal/service/odb/service_endpoint_resolver_gen.go new file mode 100644 index 000000000000..103f29abab6b --- /dev/null +++ b/internal/service/odb/service_endpoint_resolver_gen.go @@ -0,0 +1,82 @@ +// Code generated by internal/generate/servicepackage/main.go; DO NOT EDIT. + +package odb + +import ( + "context" + "fmt" + "net" + + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/service/odb" + smithyendpoints "github.com/aws/smithy-go/endpoints" + "github.com/hashicorp/terraform-plugin-log/tflog" + "github.com/hashicorp/terraform-provider-aws/internal/errs" +) + +var _ odb.EndpointResolverV2 = resolverV2{} + +type resolverV2 struct { + defaultResolver odb.EndpointResolverV2 +} + +func newEndpointResolverV2() resolverV2 { + return resolverV2{ + defaultResolver: odb.NewDefaultEndpointResolverV2(), + } +} + +func (r resolverV2) ResolveEndpoint(ctx context.Context, params odb.EndpointParameters) (endpoint smithyendpoints.Endpoint, err error) { + params = params.WithDefaults() + useFIPS := aws.ToBool(params.UseFIPS) + + if eps := params.Endpoint; aws.ToString(eps) != "" { + tflog.Debug(ctx, "setting endpoint", map[string]any{ + "tf_aws.endpoint": endpoint, + }) + + if useFIPS { + tflog.Debug(ctx, "endpoint set, ignoring UseFIPSEndpoint setting") + params.UseFIPS = aws.Bool(false) + } + + return r.defaultResolver.ResolveEndpoint(ctx, params) + } else if useFIPS { + ctx = tflog.SetField(ctx, "tf_aws.use_fips", useFIPS) + + endpoint, err = r.defaultResolver.ResolveEndpoint(ctx, params) + if err != nil { + return endpoint, err + } + + tflog.Debug(ctx, "endpoint resolved", map[string]any{ + "tf_aws.endpoint": endpoint.URI.String(), + }) + + hostname := endpoint.URI.Hostname() + _, err = net.LookupHost(hostname) + if err != nil { + if dnsErr, ok := errs.As[*net.DNSError](err); ok && dnsErr.IsNotFound { + tflog.Debug(ctx, "default endpoint host not found, disabling FIPS", map[string]any{ + "tf_aws.hostname": hostname, + }) + params.UseFIPS = aws.Bool(false) + } else { + err = fmt.Errorf("looking up odb endpoint %q: %s", hostname, err) + return + } + } else { + return endpoint, err + } + } + + return r.defaultResolver.ResolveEndpoint(ctx, params) +} + +func withBaseEndpoint(endpoint string) func(*odb.Options) { + return func(o *odb.Options) { + if endpoint != "" { + o.BaseEndpoint = aws.String(endpoint) + } + } +} diff --git a/internal/service/odb/service_endpoints_gen_test.go b/internal/service/odb/service_endpoints_gen_test.go new file mode 100644 index 000000000000..bc88b1023c35 --- /dev/null +++ b/internal/service/odb/service_endpoints_gen_test.go @@ -0,0 +1,602 @@ +// Code generated by internal/generate/serviceendpointtests/main.go; DO NOT EDIT. + +package odb_test + +import ( + "context" + "errors" + "fmt" + "maps" + "net" + "net/url" + "os" + "path/filepath" + "reflect" + "strings" + "testing" + + "github.com/aws/aws-sdk-go-v2/aws" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/odb" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" + "github.com/google/go-cmp/cmp" + "github.com/hashicorp/aws-sdk-go-base/v2/servicemocks" + "github.com/hashicorp/terraform-plugin-sdk/v2/diag" + terraformsdk "github.com/hashicorp/terraform-plugin-sdk/v2/terraform" + "github.com/hashicorp/terraform-provider-aws/internal/conns" + "github.com/hashicorp/terraform-provider-aws/internal/errs" + "github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag" + "github.com/hashicorp/terraform-provider-aws/internal/provider/sdkv2" + "github.com/hashicorp/terraform-provider-aws/names" +) + +type endpointTestCase struct { + with []setupFunc + expected caseExpectations +} + +type caseSetup struct { + config map[string]any + configFile configFile + environmentVariables map[string]string +} + +type configFile struct { + baseUrl string + serviceUrl string +} + +type caseExpectations struct { + diags diag.Diagnostics + endpoint string + region string +} + +type apiCallParams struct { + endpoint string + region string +} + +type setupFunc func(setup *caseSetup) + +type callFunc func(ctx context.Context, t *testing.T, meta *conns.AWSClient) apiCallParams + +const ( + packageNameConfigEndpoint = "https://packagename-config.endpoint.test/" + awsServiceEnvvarEndpoint = "https://service-envvar.endpoint.test/" + baseEnvvarEndpoint = "https://base-envvar.endpoint.test/" + serviceConfigFileEndpoint = "https://service-configfile.endpoint.test/" + baseConfigFileEndpoint = "https://base-configfile.endpoint.test/" +) + +const ( + packageName = "odb" + awsEnvVar = "AWS_ENDPOINT_URL_ODB" + baseEnvVar = "AWS_ENDPOINT_URL" + configParam = "odb" +) + +const ( + expectedCallRegion = "us-east-1" //lintignore:AWSAT003 +) + +func TestEndpointConfiguration(t *testing.T) { //nolint:paralleltest // uses t.Setenv + ctx := t.Context() + const providerRegion = "us-west-2" //lintignore:AWSAT003 + const expectedEndpointRegion = providerRegion + + testcases := map[string]endpointTestCase{ + "no config": { + with: []setupFunc{withNoConfig}, + expected: expectDefaultEndpoint(ctx, t, expectedEndpointRegion), + }, + + // Package name endpoint on Config + + "package name endpoint config": { + with: []setupFunc{ + withPackageNameEndpointInConfig, + }, + expected: expectPackageNameConfigEndpoint(), + }, + + "package name endpoint config overrides aws service envvar": { + with: []setupFunc{ + withPackageNameEndpointInConfig, + withAwsEnvVar, + }, + expected: expectPackageNameConfigEndpoint(), + }, + + "package name endpoint config overrides base envvar": { + with: []setupFunc{ + withPackageNameEndpointInConfig, + withBaseEnvVar, + }, + expected: expectPackageNameConfigEndpoint(), + }, + + "package name endpoint config overrides service config file": { + with: []setupFunc{ + withPackageNameEndpointInConfig, + withServiceEndpointInConfigFile, + }, + expected: expectPackageNameConfigEndpoint(), + }, + + "package name endpoint config overrides base config file": { + with: []setupFunc{ + withPackageNameEndpointInConfig, + withBaseEndpointInConfigFile, + }, + expected: expectPackageNameConfigEndpoint(), + }, + + // Service endpoint in AWS envvar + + "service aws envvar": { + with: []setupFunc{ + withAwsEnvVar, + }, + expected: expectAwsEnvVarEndpoint(), + }, + + "service aws envvar overrides base envvar": { + with: []setupFunc{ + withAwsEnvVar, + withBaseEnvVar, + }, + expected: expectAwsEnvVarEndpoint(), + }, + + "service aws envvar overrides service config file": { + with: []setupFunc{ + withAwsEnvVar, + withServiceEndpointInConfigFile, + }, + expected: expectAwsEnvVarEndpoint(), + }, + + "service aws envvar overrides base config file": { + with: []setupFunc{ + withAwsEnvVar, + withBaseEndpointInConfigFile, + }, + expected: expectAwsEnvVarEndpoint(), + }, + + // Base endpoint in envvar + + "base endpoint envvar": { + with: []setupFunc{ + withBaseEnvVar, + }, + expected: expectBaseEnvVarEndpoint(), + }, + + "base endpoint envvar overrides service config file": { + with: []setupFunc{ + withBaseEnvVar, + withServiceEndpointInConfigFile, + }, + expected: expectBaseEnvVarEndpoint(), + }, + + "base endpoint envvar overrides base config file": { + with: []setupFunc{ + withBaseEnvVar, + withBaseEndpointInConfigFile, + }, + expected: expectBaseEnvVarEndpoint(), + }, + + // Service endpoint in config file + + "service config file": { + with: []setupFunc{ + withServiceEndpointInConfigFile, + }, + expected: expectServiceConfigFileEndpoint(), + }, + + "service config file overrides base config file": { + with: []setupFunc{ + withServiceEndpointInConfigFile, + withBaseEndpointInConfigFile, + }, + expected: expectServiceConfigFileEndpoint(), + }, + + // Base endpoint in config file + + "base endpoint config file": { + with: []setupFunc{ + withBaseEndpointInConfigFile, + }, + expected: expectBaseConfigFileEndpoint(), + }, + + // Use FIPS endpoint on Config + + "use fips config": { + with: []setupFunc{ + withUseFIPSInConfig, + }, + expected: expectDefaultFIPSEndpoint(ctx, t, expectedEndpointRegion), + }, + + "use fips config with package name endpoint config": { + with: []setupFunc{ + withUseFIPSInConfig, + withPackageNameEndpointInConfig, + }, + expected: expectPackageNameConfigEndpoint(), + }, + } + + for name, testcase := range testcases { //nolint:paralleltest // uses t.Setenv + t.Run(name, func(t *testing.T) { + testEndpointCase(ctx, t, providerRegion, testcase, callService) + }) + } +} + +func defaultEndpoint(ctx context.Context, region string) (url.URL, error) { + r := odb.NewDefaultEndpointResolverV2() + + ep, err := r.ResolveEndpoint(ctx, odb.EndpointParameters{ + Region: aws.String(region), + }) + if err != nil { + return url.URL{}, err + } + + if ep.URI.Path == "" { + ep.URI.Path = "/" + } + + return ep.URI, nil +} + +func defaultFIPSEndpoint(ctx context.Context, region string) (url.URL, error) { + r := odb.NewDefaultEndpointResolverV2() + + ep, err := r.ResolveEndpoint(ctx, odb.EndpointParameters{ + Region: aws.String(region), + UseFIPS: aws.Bool(true), + }) + if err != nil { + return url.URL{}, err + } + + if ep.URI.Path == "" { + ep.URI.Path = "/" + } + + return ep.URI, nil +} + +func callService(ctx context.Context, t *testing.T, meta *conns.AWSClient) apiCallParams { + t.Helper() + + client := meta.ODBClient(ctx) + + var result apiCallParams + + input := odb.ListCloudExadataInfrastructuresInput{} + _, err := client.ListCloudExadataInfrastructures(ctx, &input, + func(opts *odb.Options) { + opts.APIOptions = append(opts.APIOptions, + addRetrieveEndpointURLMiddleware(t, &result.endpoint), + addRetrieveRegionMiddleware(&result.region), + addCancelRequestMiddleware(), + ) + }, + ) + if err == nil { + t.Fatal("Expected an error, got none") + } else if !errors.Is(err, errCancelOperation) { + t.Fatalf("Unexpected error: %s", err) + } + + return result +} + +func withNoConfig(_ *caseSetup) { + // no-op +} + +func withPackageNameEndpointInConfig(setup *caseSetup) { + if _, ok := setup.config[names.AttrEndpoints]; !ok { + setup.config[names.AttrEndpoints] = []any{ + map[string]any{}, + } + } + endpoints := setup.config[names.AttrEndpoints].([]any)[0].(map[string]any) + endpoints[packageName] = packageNameConfigEndpoint +} + +func withAwsEnvVar(setup *caseSetup) { + setup.environmentVariables[awsEnvVar] = awsServiceEnvvarEndpoint +} + +func withBaseEnvVar(setup *caseSetup) { + setup.environmentVariables[baseEnvVar] = baseEnvvarEndpoint +} + +func withServiceEndpointInConfigFile(setup *caseSetup) { + setup.configFile.serviceUrl = serviceConfigFileEndpoint +} + +func withBaseEndpointInConfigFile(setup *caseSetup) { + setup.configFile.baseUrl = baseConfigFileEndpoint +} + +func withUseFIPSInConfig(setup *caseSetup) { + setup.config["use_fips_endpoint"] = true +} + +func expectDefaultEndpoint(ctx context.Context, t *testing.T, region string) caseExpectations { + t.Helper() + + endpoint, err := defaultEndpoint(ctx, region) + if err != nil { + t.Fatalf("resolving accessanalyzer default endpoint: %s", err) + } + + return caseExpectations{ + endpoint: endpoint.String(), + region: expectedCallRegion, + } +} + +func expectDefaultFIPSEndpoint(ctx context.Context, t *testing.T, region string) caseExpectations { + t.Helper() + + endpoint, err := defaultFIPSEndpoint(ctx, region) + if err != nil { + t.Fatalf("resolving accessanalyzer FIPS endpoint: %s", err) + } + + hostname := endpoint.Hostname() + _, err = net.LookupHost(hostname) + if dnsErr, ok := errs.As[*net.DNSError](err); ok && dnsErr.IsNotFound { + return expectDefaultEndpoint(ctx, t, region) + } else if err != nil { + t.Fatalf("looking up accessanalyzer endpoint %q: %s", hostname, err) + } + + return caseExpectations{ + endpoint: endpoint.String(), + region: expectedCallRegion, + } +} + +func expectPackageNameConfigEndpoint() caseExpectations { + return caseExpectations{ + endpoint: packageNameConfigEndpoint, + region: expectedCallRegion, + } +} + +func expectAwsEnvVarEndpoint() caseExpectations { + return caseExpectations{ + endpoint: awsServiceEnvvarEndpoint, + region: expectedCallRegion, + } +} + +func expectBaseEnvVarEndpoint() caseExpectations { + return caseExpectations{ + endpoint: baseEnvvarEndpoint, + region: expectedCallRegion, + } +} + +func expectServiceConfigFileEndpoint() caseExpectations { + return caseExpectations{ + endpoint: serviceConfigFileEndpoint, + region: expectedCallRegion, + } +} + +func expectBaseConfigFileEndpoint() caseExpectations { + return caseExpectations{ + endpoint: baseConfigFileEndpoint, + region: expectedCallRegion, + } +} + +func testEndpointCase(ctx context.Context, t *testing.T, region string, testcase endpointTestCase, callF callFunc) { + t.Helper() + + setup := caseSetup{ + config: map[string]any{}, + environmentVariables: map[string]string{}, + } + + for _, f := range testcase.with { + f(&setup) + } + + config := map[string]any{ + names.AttrAccessKey: servicemocks.MockStaticAccessKey, + names.AttrSecretKey: servicemocks.MockStaticSecretKey, + names.AttrRegion: region, + names.AttrSkipCredentialsValidation: true, + names.AttrSkipRequestingAccountID: true, + } + + maps.Copy(config, setup.config) + + if setup.configFile.baseUrl != "" || setup.configFile.serviceUrl != "" { + config[names.AttrProfile] = "default" + tempDir := t.TempDir() + writeSharedConfigFile(t, &config, tempDir, generateSharedConfigFile(setup.configFile)) + } + + for k, v := range setup.environmentVariables { + t.Setenv(k, v) + } + + p, err := sdkv2.NewProvider(ctx) + if err != nil { + t.Fatal(err) + } + + p.TerraformVersion = "1.0.0" + + expectedDiags := testcase.expected.diags + diags := p.Configure(ctx, terraformsdk.NewResourceConfigRaw(config)) + + if diff := cmp.Diff(diags, expectedDiags, cmp.Comparer(sdkdiag.Comparer)); diff != "" { + t.Errorf("unexpected diagnostics difference: %s", diff) + } + + if diags.HasError() { + return + } + + meta := p.Meta().(*conns.AWSClient) + + callParams := callF(ctx, t, meta) + + if e, a := testcase.expected.endpoint, callParams.endpoint; e != a { + t.Errorf("expected endpoint %q, got %q", e, a) + } + + if e, a := testcase.expected.region, callParams.region; e != a { + t.Errorf("expected region %q, got %q", e, a) + } +} + +func addRetrieveEndpointURLMiddleware(t *testing.T, endpoint *string) func(*middleware.Stack) error { + return func(stack *middleware.Stack) error { + return stack.Finalize.Add( + retrieveEndpointURLMiddleware(t, endpoint), + middleware.After, + ) + } +} + +func retrieveEndpointURLMiddleware(t *testing.T, endpoint *string) middleware.FinalizeMiddleware { + return middleware.FinalizeMiddlewareFunc( + "Test: Retrieve Endpoint", + func(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (middleware.FinalizeOutput, middleware.Metadata, error) { + t.Helper() + + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + t.Fatalf("Expected *github.com/aws/smithy-go/transport/http.Request, got %s", fullTypeName(in.Request)) + } + + url := request.URL + url.RawQuery = "" + url.Path = "/" + + *endpoint = url.String() + + return next.HandleFinalize(ctx, in) + }) +} + +func addRetrieveRegionMiddleware(region *string) func(*middleware.Stack) error { + return func(stack *middleware.Stack) error { + return stack.Serialize.Add( + retrieveRegionMiddleware(region), + middleware.After, + ) + } +} + +func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { + return middleware.SerializeMiddlewareFunc( + "Test: Retrieve Region", + func(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (middleware.SerializeOutput, middleware.Metadata, error) { + *region = awsmiddleware.GetRegion(ctx) + + return next.HandleSerialize(ctx, in) + }, + ) +} + +var errCancelOperation = fmt.Errorf("Test: Canceling request") + +func addCancelRequestMiddleware() func(*middleware.Stack) error { + return func(stack *middleware.Stack) error { + return stack.Finalize.Add( + cancelRequestMiddleware(), + middleware.After, + ) + } +} + +// cancelRequestMiddleware creates a Smithy middleware that intercepts the request before sending and cancels it +func cancelRequestMiddleware() middleware.FinalizeMiddleware { + return middleware.FinalizeMiddlewareFunc( + "Test: Cancel Requests", + func(_ context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (middleware.FinalizeOutput, middleware.Metadata, error) { + return middleware.FinalizeOutput{}, middleware.Metadata{}, errCancelOperation + }) +} + +func fullTypeName(i any) string { + return fullValueTypeName(reflect.ValueOf(i)) +} + +func fullValueTypeName(v reflect.Value) string { + if v.Kind() == reflect.Ptr { + return "*" + fullValueTypeName(reflect.Indirect(v)) + } + + requestType := v.Type() + return fmt.Sprintf("%s.%s", requestType.PkgPath(), requestType.Name()) +} + +func generateSharedConfigFile(config configFile) string { + var buf strings.Builder + + buf.WriteString(` +[default] +aws_access_key_id = DefaultSharedCredentialsAccessKey +aws_secret_access_key = DefaultSharedCredentialsSecretKey +`) + if config.baseUrl != "" { + fmt.Fprintf(&buf, "endpoint_url = %s\n", config.baseUrl) + } + + if config.serviceUrl != "" { + fmt.Fprintf(&buf, ` +services = endpoint-test + +[services endpoint-test] +%[1]s = + endpoint_url = %[2]s +`, configParam, serviceConfigFileEndpoint) + } + + return buf.String() +} + +func writeSharedConfigFile(t *testing.T, config *map[string]any, tempDir, content string) string { + t.Helper() + + file, err := os.Create(filepath.Join(tempDir, "aws-sdk-go-base-shared-configuration-file")) + if err != nil { + t.Fatalf("creating shared configuration file: %s", err) + } + + _, err = file.WriteString(content) + if err != nil { + t.Fatalf(" writing shared configuration file: %s", err) + } + + if v, ok := (*config)[names.AttrSharedConfigFiles]; !ok { + (*config)[names.AttrSharedConfigFiles] = []any{file.Name()} + } else { + (*config)[names.AttrSharedConfigFiles] = append(v.([]any), file.Name()) + } + + return file.Name() +} diff --git a/internal/service/odb/service_package_gen.go b/internal/service/odb/service_package_gen.go new file mode 100644 index 000000000000..dbbd3d866773 --- /dev/null +++ b/internal/service/odb/service_package_gen.go @@ -0,0 +1,102 @@ +// Code generated by internal/generate/servicepackage/main.go; DO NOT EDIT. + +package odb + +import ( + "context" + + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/aws/retry" + "github.com/aws/aws-sdk-go-v2/service/odb" + "github.com/hashicorp/aws-sdk-go-base/v2/endpoints" + "github.com/hashicorp/terraform-plugin-log/tflog" + "github.com/hashicorp/terraform-provider-aws/internal/conns" + inttypes "github.com/hashicorp/terraform-provider-aws/internal/types" + "github.com/hashicorp/terraform-provider-aws/internal/vcr" + "github.com/hashicorp/terraform-provider-aws/names" +) + +type servicePackage struct{} + +func (p *servicePackage) FrameworkDataSources(ctx context.Context) []*inttypes.ServicePackageFrameworkDataSource { + return []*inttypes.ServicePackageFrameworkDataSource{} +} + +func (p *servicePackage) FrameworkResources(ctx context.Context) []*inttypes.ServicePackageFrameworkResource { + return []*inttypes.ServicePackageFrameworkResource{} +} + +func (p *servicePackage) SDKDataSources(ctx context.Context) []*inttypes.ServicePackageSDKDataSource { + return []*inttypes.ServicePackageSDKDataSource{} +} + +func (p *servicePackage) SDKResources(ctx context.Context) []*inttypes.ServicePackageSDKResource { + return []*inttypes.ServicePackageSDKResource{} +} + +func (p *servicePackage) ServicePackageName() string { + return names.ODB +} + +// NewClient returns a new AWS SDK for Go v2 client for this service package's AWS API. +func (p *servicePackage) NewClient(ctx context.Context, config map[string]any) (*odb.Client, error) { + cfg := *(config["aws_sdkv2_config"].(*aws.Config)) + optFns := []func(*odb.Options){ + odb.WithEndpointResolverV2(newEndpointResolverV2()), + withBaseEndpoint(config[names.AttrEndpoint].(string)), + func(o *odb.Options) { + if region := config[names.AttrRegion].(string); o.Region != region { + tflog.Info(ctx, "overriding provider-configured AWS API region", map[string]any{ + "service": p.ServicePackageName(), + "original_region": o.Region, + "override_region": region, + }) + o.Region = region + } + }, + func(o *odb.Options) { + if inContext, ok := conns.FromContext(ctx); ok && inContext.VCREnabled() { + tflog.Info(ctx, "overriding retry behavior to immediately return VCR errors") + o.Retryer = conns.AddIsErrorRetryables(cfg.Retryer().(aws.RetryerV2), retry.IsErrorRetryableFunc(vcr.InteractionNotFoundRetryableFunc)) + } + }, + func(o *odb.Options) { + switch partition := config["partition"].(string); partition { + case endpoints.AwsPartitionID: + if region := endpoints.UsEast1RegionID; o.Region != region { + tflog.Info(ctx, "overriding effective AWS API region", map[string]any{ + "service": p.ServicePackageName(), + "original_region": o.Region, + "override_region": region, + }) + o.Region = region + } + } + }, + withExtraOptions(ctx, p, config), + } + + return odb.NewFromConfig(cfg, optFns...), nil +} + +// withExtraOptions returns a functional option that allows this service package to specify extra API client options. +// This option is always called after any generated options. +func withExtraOptions(ctx context.Context, sp conns.ServicePackage, config map[string]any) func(*odb.Options) { + if v, ok := sp.(interface { + withExtraOptions(context.Context, map[string]any) []func(*odb.Options) + }); ok { + optFns := v.withExtraOptions(ctx, config) + + return func(o *odb.Options) { + for _, optFn := range optFns { + optFn(o) + } + } + } + + return func(*odb.Options) {} +} + +func ServicePackage(ctx context.Context) conns.ServicePackage { + return &servicePackage{} +} diff --git a/internal/sweep/service_packages_gen_test.go b/internal/sweep/service_packages_gen_test.go index a063d088e82d..b4930936066d 100644 --- a/internal/sweep/service_packages_gen_test.go +++ b/internal/sweep/service_packages_gen_test.go @@ -175,6 +175,7 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/service/notifications" "github.com/hashicorp/terraform-provider-aws/internal/service/notificationscontacts" "github.com/hashicorp/terraform-provider-aws/internal/service/oam" + "github.com/hashicorp/terraform-provider-aws/internal/service/odb" "github.com/hashicorp/terraform-provider-aws/internal/service/opensearch" "github.com/hashicorp/terraform-provider-aws/internal/service/opensearchserverless" "github.com/hashicorp/terraform-provider-aws/internal/service/organizations" @@ -430,6 +431,7 @@ func servicePackages(ctx context.Context) []conns.ServicePackage { notifications.ServicePackage(ctx), notificationscontacts.ServicePackage(ctx), oam.ServicePackage(ctx), + odb.ServicePackage(ctx), opensearch.ServicePackage(ctx), opensearchserverless.ServicePackage(ctx), organizations.ServicePackage(ctx), diff --git a/names/consts_gen.go b/names/consts_gen.go index aa6170eb2602..891ae53defe0 100644 --- a/names/consts_gen.go +++ b/names/consts_gen.go @@ -168,6 +168,7 @@ const ( NetworkMonitor = "networkmonitor" Notifications = "notifications" NotificationsContacts = "notificationscontacts" + ODB = "odb" ObservabilityAccessManager = "oam" OpenSearch = "opensearch" OpenSearchIngestion = "osis" @@ -423,6 +424,7 @@ const ( NetworkMonitorServiceID = "NetworkMonitor" NotificationsServiceID = "notifications" NotificationsContactsServiceID = "notificationscontacts" + ODBServiceID = "ODB" ObservabilityAccessManagerServiceID = "OAM" OpenSearchServiceID = "OpenSearch" OpenSearchIngestionServiceID = "OSIS" diff --git a/website/allowed-subcategories.txt b/website/allowed-subcategories.txt index 45c4b8b75701..cd54f7ea7596 100644 --- a/website/allowed-subcategories.txt +++ b/website/allowed-subcategories.txt @@ -174,6 +174,7 @@ Network Manager OpenSearch OpenSearch Ingestion OpenSearch Serverless +Oracle Database@AWS Organizations Outposts Outposts (EC2) diff --git a/website/docs/guides/custom-service-endpoints.html.markdown b/website/docs/guides/custom-service-endpoints.html.markdown index 1bc7580337e4..ee8b28828e8b 100644 --- a/website/docs/guides/custom-service-endpoints.html.markdown +++ b/website/docs/guides/custom-service-endpoints.html.markdown @@ -250,6 +250,7 @@ provider "aws" { |User Notifications|`notifications`|`AWS_ENDPOINT_URL_NOTIFICATIONS`|`notifications`| |User Notifications Contacts|`notificationscontacts`|`AWS_ENDPOINT_URL_NOTIFICATIONSCONTACTS`|`notificationscontacts`| |CloudWatch Observability Access Manager|`oam`(or `cloudwatchobservabilityaccessmanager`)|`AWS_ENDPOINT_URL_OAM`|`oam`| +|Oracle Database@AWS|`odb`|`AWS_ENDPOINT_URL_ODB`|`odb`| |OpenSearch|`opensearch`(or `opensearchservice`)|`AWS_ENDPOINT_URL_OPENSEARCH`|`opensearch`| |OpenSearch Serverless|`opensearchserverless`|`AWS_ENDPOINT_URL_OPENSEARCHSERVERLESS`|`opensearchserverless`| |Organizations|`organizations`|`AWS_ENDPOINT_URL_ORGANIZATIONS`|`organizations`| From 810299a3269463c80debc23ee346ccac4d1943d9 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 09:04:27 -0400 Subject: [PATCH 0159/1301] Run 'make clean-tidy'. --- go.mod | 2 +- go.sum | 2 ++ tools/tfsdk2fw/go.mod | 31 +++++++++++----------- tools/tfsdk2fw/go.sum | 62 ++++++++++++++++++++++--------------------- 4 files changed, 51 insertions(+), 46 deletions(-) diff --git a/go.mod b/go.mod index 759cdd1e7b23..5cec8414e05a 100644 --- a/go.mod +++ b/go.mod @@ -183,7 +183,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/notifications v1.3.1 github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.2.1 github.com/aws/aws-sdk-go-v2/service/oam v1.19.1 - github.com/aws/aws-sdk-go-v2/service/odb v1.1.1 + github.com/aws/aws-sdk-go-v2/service/odb v1.1.1 github.com/aws/aws-sdk-go-v2/service/opensearch v1.49.0 github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.21.1 github.com/aws/aws-sdk-go-v2/service/organizations v1.40.1 diff --git a/go.sum b/go.sum index d620649d5f8b..6609d5141c6e 100644 --- a/go.sum +++ b/go.sum @@ -387,6 +387,8 @@ github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.2.1 h1:P9vU+dUkH9J github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.2.1/go.mod h1:M2m8kz89mBvwsJ3sHJ/sAniRFqQh2U2eQgj0Xcdgi38= github.com/aws/aws-sdk-go-v2/service/oam v1.19.1 h1:Qy3Z3Iec62/ZQxeOtNMfGkW+0O+h4m1jlfpMG2v7Jqc= github.com/aws/aws-sdk-go-v2/service/oam v1.19.1/go.mod h1:SELnx5vYtclgFgk0qAUuW8gPd9QaGGvn9J0gLLAN/qI= +github.com/aws/aws-sdk-go-v2/service/odb v1.1.1 h1:8jESG/46E95brAN7H1RTbT2QWOiVX0hJR0Jl9A5Kzoc= +github.com/aws/aws-sdk-go-v2/service/odb v1.1.1/go.mod h1:7UJX4FCk3Igx2UjhSePlxoSYSS5x9DtYsFHJY+kU3sA= github.com/aws/aws-sdk-go-v2/service/opensearch v1.49.0 h1:OF/8+8L9jZSnIFKC7G/I7d0FnWylckLWJ2T+rWpqnZI= github.com/aws/aws-sdk-go-v2/service/opensearch v1.49.0/go.mod h1:2MLCxAIIw9nb59dvYANZHyhoiOMaajJtKlBqvnyWg0c= github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.21.1 h1:mbkX8wApJAaoWpV0V0EgnjN1/sI6ymNqQGPE+nakSP8= diff --git a/tools/tfsdk2fw/go.mod b/tools/tfsdk2fw/go.mod index 8f04ce38f793..3a6da948ec69 100644 --- a/tools/tfsdk2fw/go.mod +++ b/tools/tfsdk2fw/go.mod @@ -52,9 +52,9 @@ require ( github.com/aws/aws-sdk-go-v2/service/autoscaling v1.55.1 // indirect github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.26.1 // indirect github.com/aws/aws-sdk-go-v2/service/backup v1.44.1 // indirect - github.com/aws/aws-sdk-go-v2/service/batch v1.55.1 // indirect + github.com/aws/aws-sdk-go-v2/service/batch v1.55.2 // indirect github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.9.1 // indirect - github.com/aws/aws-sdk-go-v2/service/bedrock v1.40.1 // indirect + github.com/aws/aws-sdk-go-v2/service/bedrock v1.40.2 // indirect github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.46.1 // indirect github.com/aws/aws-sdk-go-v2/service/billing v1.3.1 // indirect github.com/aws/aws-sdk-go-v2/service/budgets v1.33.1 // indirect @@ -79,7 +79,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/codecommit v1.29.1 // indirect github.com/aws/aws-sdk-go-v2/service/codeconnections v1.7.1 // indirect github.com/aws/aws-sdk-go-v2/service/codedeploy v1.31.1 // indirect - github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.26.1 // indirect + github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.26.2 // indirect github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.31.1 // indirect github.com/aws/aws-sdk-go-v2/service/codepipeline v1.43.1 // indirect github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.31.1 // indirect @@ -95,7 +95,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.30.1 // indirect github.com/aws/aws-sdk-go-v2/service/costexplorer v1.52.1 // indirect github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.17.1 // indirect - github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.48.1 // indirect + github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.49.0 // indirect github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.54.1 // indirect github.com/aws/aws-sdk-go-v2/service/databrew v1.35.1 // indirect github.com/aws/aws-sdk-go-v2/service/dataexchange v1.36.1 // indirect @@ -114,7 +114,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/drs v1.32.1 // indirect github.com/aws/aws-sdk-go-v2/service/dsql v1.6.1 // indirect github.com/aws/aws-sdk-go-v2/service/dynamodb v1.45.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ec2 v1.238.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ec2 v1.239.0 // indirect github.com/aws/aws-sdk-go-v2/service/ecr v1.47.1 // indirect github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.34.1 // indirect github.com/aws/aws-sdk-go-v2/service/ecs v1.61.1 // indirect @@ -123,7 +123,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/elasticache v1.47.1 // indirect github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.30.1 // indirect github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.30.1 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.47.1 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.47.2 // indirect github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.34.1 // indirect github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.29.1 // indirect github.com/aws/aws-sdk-go-v2/service/emr v1.51.1 // indirect @@ -140,7 +140,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/gamelift v1.43.1 // indirect github.com/aws/aws-sdk-go-v2/service/glacier v1.28.1 // indirect github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.31.1 // indirect - github.com/aws/aws-sdk-go-v2/service/glue v1.120.1 // indirect + github.com/aws/aws-sdk-go-v2/service/glue v1.121.0 // indirect github.com/aws/aws-sdk-go-v2/service/grafana v1.28.1 // indirect github.com/aws/aws-sdk-go-v2/service/greengrass v1.29.1 // indirect github.com/aws/aws-sdk-go-v2/service/groundstation v1.34.1 // indirect @@ -150,7 +150,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/identitystore v1.29.1 // indirect github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.43.1 // indirect github.com/aws/aws-sdk-go-v2/service/inspector v1.27.1 // indirect - github.com/aws/aws-sdk-go-v2/service/inspector2 v1.39.1 // indirect + github.com/aws/aws-sdk-go-v2/service/inspector2 v1.40.0 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 // indirect github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.1 // indirect github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.1 // indirect @@ -158,7 +158,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.1 // indirect github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.22.1 // indirect github.com/aws/aws-sdk-go-v2/service/invoicing v1.3.1 // indirect - github.com/aws/aws-sdk-go-v2/service/iot v1.65.1 // indirect + github.com/aws/aws-sdk-go-v2/service/iot v1.66.0 // indirect github.com/aws/aws-sdk-go-v2/service/ivs v1.44.1 // indirect github.com/aws/aws-sdk-go-v2/service/ivschat v1.18.1 // indirect github.com/aws/aws-sdk-go-v2/service/kafka v1.40.1 // indirect @@ -200,7 +200,8 @@ require ( github.com/aws/aws-sdk-go-v2/service/notifications v1.3.1 // indirect github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.2.1 // indirect github.com/aws/aws-sdk-go-v2/service/oam v1.19.1 // indirect - github.com/aws/aws-sdk-go-v2/service/opensearch v1.48.1 // indirect + github.com/aws/aws-sdk-go-v2/service/odb v1.1.1 // indirect + github.com/aws/aws-sdk-go-v2/service/opensearch v1.49.0 // indirect github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.21.1 // indirect github.com/aws/aws-sdk-go-v2/service/organizations v1.40.1 // indirect github.com/aws/aws-sdk-go-v2/service/osis v1.16.1 // indirect @@ -215,7 +216,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/pricing v1.36.1 // indirect github.com/aws/aws-sdk-go-v2/service/qbusiness v1.29.1 // indirect github.com/aws/aws-sdk-go-v2/service/qldb v1.27.1 // indirect - github.com/aws/aws-sdk-go-v2/service/quicksight v1.89.1 // indirect + github.com/aws/aws-sdk-go-v2/service/quicksight v1.90.0 // indirect github.com/aws/aws-sdk-go-v2/service/ram v1.31.1 // indirect github.com/aws/aws-sdk-go-v2/service/rbin v1.23.1 // indirect github.com/aws/aws-sdk-go-v2/service/rds v1.100.1 // indirect @@ -236,7 +237,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/route53resolver v1.37.1 // indirect github.com/aws/aws-sdk-go-v2/service/rum v1.25.1 // indirect github.com/aws/aws-sdk-go-v2/service/s3 v1.85.1 // indirect - github.com/aws/aws-sdk-go-v2/service/s3control v1.61.1 // indirect + github.com/aws/aws-sdk-go-v2/service/s3control v1.62.0 // indirect github.com/aws/aws-sdk-go-v2/service/s3outposts v1.30.1 // indirect github.com/aws/aws-sdk-go-v2/service/s3tables v1.7.1 // indirect github.com/aws/aws-sdk-go-v2/service/sagemaker v1.203.1 // indirect @@ -251,7 +252,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.36.1 // indirect github.com/aws/aws-sdk-go-v2/service/servicequotas v1.29.1 // indirect github.com/aws/aws-sdk-go-v2/service/ses v1.31.1 // indirect - github.com/aws/aws-sdk-go-v2/service/sesv2 v1.48.1 // indirect + github.com/aws/aws-sdk-go-v2/service/sesv2 v1.49.0 // indirect github.com/aws/aws-sdk-go-v2/service/sfn v1.36.1 // indirect github.com/aws/aws-sdk-go-v2/service/shield v1.31.1 // indirect github.com/aws/aws-sdk-go-v2/service/signer v1.28.1 // indirect @@ -274,7 +275,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.32.1 // indirect github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.32.1 // indirect github.com/aws/aws-sdk-go-v2/service/transcribe v1.48.1 // indirect - github.com/aws/aws-sdk-go-v2/service/transfer v1.62.1 // indirect + github.com/aws/aws-sdk-go-v2/service/transfer v1.62.2 // indirect github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.25.1 // indirect github.com/aws/aws-sdk-go-v2/service/vpclattice v1.15.1 // indirect github.com/aws/aws-sdk-go-v2/service/waf v1.27.1 // indirect @@ -282,7 +283,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/wafv2 v1.64.1 // indirect github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.36.1 // indirect github.com/aws/aws-sdk-go-v2/service/workspaces v1.59.1 // indirect - github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.28.1 // indirect + github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.29.0 // indirect github.com/aws/aws-sdk-go-v2/service/xray v1.32.1 // indirect github.com/aws/smithy-go v1.22.5 // indirect github.com/beevik/etree v1.5.1 // indirect diff --git a/tools/tfsdk2fw/go.sum b/tools/tfsdk2fw/go.sum index 8f91e7da0a08..23f01acf56f6 100644 --- a/tools/tfsdk2fw/go.sum +++ b/tools/tfsdk2fw/go.sum @@ -91,12 +91,12 @@ github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.26.1 h1:CkI6bqB4xGt4i8W github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.26.1/go.mod h1:kvxZ8JSGk6ZHbsYqn02OFN2IPwKIyPq4gJJP2i68tlE= github.com/aws/aws-sdk-go-v2/service/backup v1.44.1 h1:g8w8gNNnmpj6IB6f/ZwbTLgCHTq72EP3vFy3LYAQ49k= github.com/aws/aws-sdk-go-v2/service/backup v1.44.1/go.mod h1:w/Tj0I8Gs1JAz/cDsWZg0Eph8Tq++krpwr5lxzRj9gs= -github.com/aws/aws-sdk-go-v2/service/batch v1.55.1 h1:Rw14EEy05ulJ8uVBr0NXS7rBF5blIdKgd+XB8IT9Cvk= -github.com/aws/aws-sdk-go-v2/service/batch v1.55.1/go.mod h1:JfQ32ZzGrphsjC5aSZ6NirIQKQEvIRxd7XOBA2GqP3Q= +github.com/aws/aws-sdk-go-v2/service/batch v1.55.2 h1:v71NzFEzn9m7sZJ31v0pYU+cMEYilmZAnGftfaavOPk= +github.com/aws/aws-sdk-go-v2/service/batch v1.55.2/go.mod h1:JfQ32ZzGrphsjC5aSZ6NirIQKQEvIRxd7XOBA2GqP3Q= github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.9.1 h1:KLTrvcyHoLx34b0r8DJrg6IveMJ6Rhrr/W7CTtcyHcY= github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.9.1/go.mod h1:5ycq8robRvawqh+gGGSYDCtX/lgJcBHSpbXS41G2YZ0= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.40.1 h1:sRAcWHE3DQOWNNfXfctc+R5QrVnDUwjqrqepIWo25HU= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.40.1/go.mod h1:ZTp/fekiiAUkmAU4CDYjtk/hlRpPJnbGKaFzMNr+Hq4= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.40.2 h1:RF6r/HIBx3Ox1d8QBjSFf3jWmtbHod+CGpJIxtqwKuw= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.40.2/go.mod h1:ZTp/fekiiAUkmAU4CDYjtk/hlRpPJnbGKaFzMNr+Hq4= github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.46.1 h1:+964aZWEhatObFc4aShL6yyLXcmr4rA6NPGd+y6TlSM= github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.46.1/go.mod h1:PYXdjAxfDP6jvOtgZIlXn+7DS2rYfMONfDiYxx1I3T0= github.com/aws/aws-sdk-go-v2/service/billing v1.3.1 h1:ubne5J3y/pp9c/ojwPhTbBy5PJB7Gs1WM6JooUQJzCg= @@ -145,8 +145,8 @@ github.com/aws/aws-sdk-go-v2/service/codeconnections v1.7.1 h1:f20DiugdjJZGsFhda github.com/aws/aws-sdk-go-v2/service/codeconnections v1.7.1/go.mod h1:B/DVlqEIwSkOQFdy5IMbTWvmvc/b/lY/v9wZFWlxCqc= github.com/aws/aws-sdk-go-v2/service/codedeploy v1.31.1 h1:nLtbuM+D3kr0TANA53zNzfgCn1msUIZIVvO8GQ8zgsw= github.com/aws/aws-sdk-go-v2/service/codedeploy v1.31.1/go.mod h1:nhyDCGnLTixvFU4RfdiQywPgounyF0se2CAAQZC200c= -github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.26.1 h1:yp9Ilhs7gtUeK90/Lfqr/zXPu+wFVHwI4ASR+EpzBP8= -github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.26.1/go.mod h1:M5AqEEJg0YVH0HolYS6qlDmVotbAkIaU1d17sAPFyDI= +github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.26.2 h1:4qJa9WJ+AD87urgE6BPHeW7gcmyXfEGS0dfHztC+A78= +github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.26.2/go.mod h1:M5AqEEJg0YVH0HolYS6qlDmVotbAkIaU1d17sAPFyDI= github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.31.1 h1:o02/8n6dGGYFrTCE0mqHKLZkprnUjehxqf1WldSWrJ8= github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.31.1/go.mod h1:HiWlOR1PpVyB59fCnPuULZ/M0P/qPPV27cJgMZza0+g= github.com/aws/aws-sdk-go-v2/service/codepipeline v1.43.1 h1:4f9TwbJesmy9tqPtUbSMo7gg6TLnCK4ylLq7n0qFVWc= @@ -177,8 +177,8 @@ github.com/aws/aws-sdk-go-v2/service/costexplorer v1.52.1 h1:MRfsy+UosplTbrTui5c github.com/aws/aws-sdk-go-v2/service/costexplorer v1.52.1/go.mod h1:XhV87ldg1xBh4WjKcc6aW3SFwzaIjNhuPtDEhZ5/gds= github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.17.1 h1:wP6PryT7nTlNrnsBh5riZLJXM1zOjzcS0xCKvAqmRnM= github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.17.1/go.mod h1:ptisHEhEb179hVX6qvulR2ZQ2oRJU3BpmouFmM8SRDU= -github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.48.1 h1:3vub+nmiLA8HX92CinuqtoTrcW//t+sAFFcOBioT2BA= -github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.48.1/go.mod h1:E96OYyTW0QrMri8Xc3RYV7BrJhd7SUrqsGL5YYCsneU= +github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.49.0 h1:sNtNRPNKso+u9nD5JNmM74NFoCeHsped7N2i+1tA7Jo= +github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.49.0/go.mod h1:E96OYyTW0QrMri8Xc3RYV7BrJhd7SUrqsGL5YYCsneU= github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.54.1 h1:tHAEfv1QzqRN0I46Bxc7vNav9B54dDPv8ZyJei+TtUU= github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.54.1/go.mod h1:l/63jy0JYcuPgsIn0sCarneGQZT60Z3VJZCTHg9joJQ= github.com/aws/aws-sdk-go-v2/service/databrew v1.35.1 h1:WyjDtS3+ZYk6PYc5f+r92dUbl8rKXafSALk4gbSc9sE= @@ -215,8 +215,8 @@ github.com/aws/aws-sdk-go-v2/service/dsql v1.6.1 h1:9gsd5GS4hpu0Dy51zyUZbO48c94B github.com/aws/aws-sdk-go-v2/service/dsql v1.6.1/go.mod h1:zCjUFiEqbIipUKwhROZhoOtW7bgBBfOXf1FSGc2uSRQ= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.45.1 h1:gFD9BLrXox2Q5zxFwyD2OnGb40YYofQ/anaGxVP848Q= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.45.1/go.mod h1:J+qJkxNypYjDcwXldBH+ox2T7OshtP6LOq5VhU0v6hg= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.238.0 h1:fXZYx7xDSocFM3ht/mwML7eCP7cPbs1ltXEM8zpwU5o= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.238.0/go.mod h1:lhyI/MJGGbPnOdYmmQRZe07S+2fW2uWI1XrUfAZgXLM= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.239.0 h1:pPuzRQQoRY7pwxlNf1//yz5goxB98p1KMa3cdBO+E1E= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.239.0/go.mod h1:lhyI/MJGGbPnOdYmmQRZe07S+2fW2uWI1XrUfAZgXLM= github.com/aws/aws-sdk-go-v2/service/ecr v1.47.1 h1:gwqCrRvz+vnhWyG9/WSzo6HspAO5mWXBeYo9ELFUcIM= github.com/aws/aws-sdk-go-v2/service/ecr v1.47.1/go.mod h1:VVqrGCL0/zQif1J6axnyUBVRf6lySV5/QhxV9RspEHY= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.34.1 h1:BiOKbndtmSaZypHR0S7lO0DuffGegLvbkGfq4aNJlFc= @@ -233,8 +233,8 @@ github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.30.1 h1:j4jxdx6ZiG2Xcj9 github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.30.1/go.mod h1:PWa7FRheclz+S0lyhGNw0w4HBoa1fqBzE/a1UXfUqzk= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.30.1 h1:ZZeI9bCwIbqoKu5hll1dmisMJ4ZeBEhdsszV/gOFm1s= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.30.1/go.mod h1:fcC73gpU/J/SmRut8/CmwM5oJO3bSpW7wgufVdtWSbg= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.47.1 h1:H8+KiNkkY3q3u7IUSjc7oCshnHOOGvYOi7fT6ZJ23OI= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.47.1/go.mod h1:91PY/MUWThH0rH61v9r3QA4e7dS/PfXl+K63wltBeas= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.47.2 h1:2/qaKwyF2UrPyQLcPxHqcxuWS/Pu6O/c+FrKKsdiB4Y= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.47.2/go.mod h1:91PY/MUWThH0rH61v9r3QA4e7dS/PfXl+K63wltBeas= github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.34.1 h1:kVZzJvXCPx1Tkiqfxxw/a4uZmbquVu5NG4FgYXkiHOg= github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.34.1/go.mod h1:yHOWiozIeWy2Twojm1eq+2AV9XSY9NBcGLP81eaxTJs= github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.29.1 h1:qMs7UOiRWN5skmmfmBkT+8ygksVYbPEUNflmlqYhTNM= @@ -267,8 +267,8 @@ github.com/aws/aws-sdk-go-v2/service/glacier v1.28.1 h1:UDiRjAcoJ9pxHvwaR83mGhdk github.com/aws/aws-sdk-go-v2/service/glacier v1.28.1/go.mod h1:JF/OUsjyuN42tFdT6Z7XPMUL0TdgQauFdpAjOlgPzMA= github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.31.1 h1:BlojjkVblgLjPzotny0DsKcfLBb/bC4ODhI9fXu/YpM= github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.31.1/go.mod h1:BqZ/xicmt1yJLth0oV8o86GKsEIjF7XLKJA6o6+Tb4g= -github.com/aws/aws-sdk-go-v2/service/glue v1.120.1 h1:+XyO1sIwM4J7Ru5bGlUIkFF3BuSVHp9xHBDKLKt205g= -github.com/aws/aws-sdk-go-v2/service/glue v1.120.1/go.mod h1:GrfuFuhLuhdZy8Tx0W29A6avb0+Xey8DDS0izAj3/gY= +github.com/aws/aws-sdk-go-v2/service/glue v1.121.0 h1:b+B71JBhFSVOifMMcnilfqPcrskBgDYruY8mQ7Au8Hg= +github.com/aws/aws-sdk-go-v2/service/glue v1.121.0/go.mod h1:GrfuFuhLuhdZy8Tx0W29A6avb0+Xey8DDS0izAj3/gY= github.com/aws/aws-sdk-go-v2/service/grafana v1.28.1 h1:xef5GSQwdnBBEodb67YGYE7CanW5uuQyI/8q+rMs6IE= github.com/aws/aws-sdk-go-v2/service/grafana v1.28.1/go.mod h1:wejuc0EF416jLYLVi4yyRZiZLtBwIPHR+L0fUnTlMeU= github.com/aws/aws-sdk-go-v2/service/greengrass v1.29.1 h1:OiVM4eAVc1Ixumpnf4wQTJVHGA01qjzZlvaisWUBx08= @@ -287,8 +287,8 @@ github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.43.1 h1:PmJzM5B+coktfBZWoSq github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.43.1/go.mod h1:XQjpa5wcTMPwzOW+ur3sj3NRKhwkeyP4ofPuW6OG42A= github.com/aws/aws-sdk-go-v2/service/inspector v1.27.1 h1:QG8CsTmAhAPFmpowqocbfVfRDkh5WkoNtzv4vW1BiJk= github.com/aws/aws-sdk-go-v2/service/inspector v1.27.1/go.mod h1:3LVGyTD16Yf0GQ4jl39tnMRYO/nE8VS5rZGsJyAKm4A= -github.com/aws/aws-sdk-go-v2/service/inspector2 v1.39.1 h1:Uj4kFuhdRozJwkKtDx6lpSpu374B4zUeLAgRCrE6RRg= -github.com/aws/aws-sdk-go-v2/service/inspector2 v1.39.1/go.mod h1:Go5fLgTjY0qKiAVTvcS+nlYH0pHa5IAETQPsoYM/3WY= +github.com/aws/aws-sdk-go-v2/service/inspector2 v1.40.0 h1:u57xVdqtt4O5UkA02bf0BCmENrZCz/VVi3fPSw6MZAE= +github.com/aws/aws-sdk-go-v2/service/inspector2 v1.40.0/go.mod h1:Go5fLgTjY0qKiAVTvcS+nlYH0pHa5IAETQPsoYM/3WY= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 h1:6+lZi2JeGKtCraAj1rpoZfKqnQ9SptseRZioejfUOLM= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0/go.mod h1:eb3gfbVIxIoGgJsi9pGne19dhCBpK6opTYpQqAmdy44= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.1 h1:ps3nrmBWdWwakZBydGX1CxeYFK80HsQ79JLMwm7Y4/c= @@ -303,8 +303,8 @@ github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.22.1 h1:3jvrdU0UOGm8mQ7e github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.22.1/go.mod h1:loi2iyY5Vs3EC7FI5Yp8TWUGZQC8flvpisZK4HQdNBs= github.com/aws/aws-sdk-go-v2/service/invoicing v1.3.1 h1:ZqHny6zHB8yb3NT0Wz9vSIy5Zub1qcqrEAF1d6K3zuE= github.com/aws/aws-sdk-go-v2/service/invoicing v1.3.1/go.mod h1:K4gG6tXdTb/nIFfe1R5jyW1JRsFORvFiRMDJkGNc9dA= -github.com/aws/aws-sdk-go-v2/service/iot v1.65.1 h1:viIWoxWPR4NvRHjRGQ2vOKYNzQST+JyPiipbeGPx/7g= -github.com/aws/aws-sdk-go-v2/service/iot v1.65.1/go.mod h1:0ogtONfjFzm7daWG4XWQhmpHkC0P0nTjoO7n4JKzb0U= +github.com/aws/aws-sdk-go-v2/service/iot v1.66.0 h1:WfrMX/3r0d9QAETHTQtVOYLWpagcKUyKi5peIH5QG6A= +github.com/aws/aws-sdk-go-v2/service/iot v1.66.0/go.mod h1:0ogtONfjFzm7daWG4XWQhmpHkC0P0nTjoO7n4JKzb0U= github.com/aws/aws-sdk-go-v2/service/ivs v1.44.1 h1:k8SgaBMH/3e3oRv5XyMS6qJAvKtc5/3xTjCSMlkaeFI= github.com/aws/aws-sdk-go-v2/service/ivs v1.44.1/go.mod h1:Oobt8m2Ut1xg78QLmsw13wnSknC9PnFOmvgFcN3OobA= github.com/aws/aws-sdk-go-v2/service/ivschat v1.18.1 h1:KeOqEh9bzMzaRbjzil41SOu7UVcHmyPZ415wDhvpRVI= @@ -387,8 +387,10 @@ github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.2.1 h1:P9vU+dUkH9J github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.2.1/go.mod h1:M2m8kz89mBvwsJ3sHJ/sAniRFqQh2U2eQgj0Xcdgi38= github.com/aws/aws-sdk-go-v2/service/oam v1.19.1 h1:Qy3Z3Iec62/ZQxeOtNMfGkW+0O+h4m1jlfpMG2v7Jqc= github.com/aws/aws-sdk-go-v2/service/oam v1.19.1/go.mod h1:SELnx5vYtclgFgk0qAUuW8gPd9QaGGvn9J0gLLAN/qI= -github.com/aws/aws-sdk-go-v2/service/opensearch v1.48.1 h1:5waSqIHB7r2/kPEUokYOCbAj94O86BMNEUdt0q5BsqU= -github.com/aws/aws-sdk-go-v2/service/opensearch v1.48.1/go.mod h1:2MLCxAIIw9nb59dvYANZHyhoiOMaajJtKlBqvnyWg0c= +github.com/aws/aws-sdk-go-v2/service/odb v1.1.1 h1:8jESG/46E95brAN7H1RTbT2QWOiVX0hJR0Jl9A5Kzoc= +github.com/aws/aws-sdk-go-v2/service/odb v1.1.1/go.mod h1:7UJX4FCk3Igx2UjhSePlxoSYSS5x9DtYsFHJY+kU3sA= +github.com/aws/aws-sdk-go-v2/service/opensearch v1.49.0 h1:OF/8+8L9jZSnIFKC7G/I7d0FnWylckLWJ2T+rWpqnZI= +github.com/aws/aws-sdk-go-v2/service/opensearch v1.49.0/go.mod h1:2MLCxAIIw9nb59dvYANZHyhoiOMaajJtKlBqvnyWg0c= github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.21.1 h1:mbkX8wApJAaoWpV0V0EgnjN1/sI6ymNqQGPE+nakSP8= github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.21.1/go.mod h1:C0qtSLUYGv6qGGy3nHPR7T4ZrsBA9/dcMDcov82uoK8= github.com/aws/aws-sdk-go-v2/service/organizations v1.40.1 h1:9u1hD7vW7BjOxiCmE5TUDvyGk8sZiI6nTHhbUW9npPY= @@ -417,8 +419,8 @@ github.com/aws/aws-sdk-go-v2/service/qbusiness v1.29.1 h1:UEg5RyOrwwTgO3pEPVkBOZ github.com/aws/aws-sdk-go-v2/service/qbusiness v1.29.1/go.mod h1:RbC8dW2YmTMAE9jWWuOw1imZjbGQXbzZs3i/XzmhZkc= github.com/aws/aws-sdk-go-v2/service/qldb v1.27.1 h1:M0bDQzEES16it3M8iwvYw0JYWSHtAELprn66MS8jjBo= github.com/aws/aws-sdk-go-v2/service/qldb v1.27.1/go.mod h1:UCoQ1I3GDheCu90XJjXyvO/v2AUFTwLER6h4QmvSego= -github.com/aws/aws-sdk-go-v2/service/quicksight v1.89.1 h1:HieaRkHHAJWegQxuuWm3duxdEuiLQBHnApCkfMGVLH0= -github.com/aws/aws-sdk-go-v2/service/quicksight v1.89.1/go.mod h1:YQlQUXV3sa9nZR2W2DyrOVHoLoEDUjcoqe3vGgYTPPg= +github.com/aws/aws-sdk-go-v2/service/quicksight v1.90.0 h1:dt5QvxSk2EvYWpCFtHRu31scM9sC9PLjgRwvdShfNrg= +github.com/aws/aws-sdk-go-v2/service/quicksight v1.90.0/go.mod h1:YQlQUXV3sa9nZR2W2DyrOVHoLoEDUjcoqe3vGgYTPPg= github.com/aws/aws-sdk-go-v2/service/ram v1.31.1 h1:DZ1qMqkin2aoXDI9X4G48hufZ5Unag/11WmDgIEN31w= github.com/aws/aws-sdk-go-v2/service/ram v1.31.1/go.mod h1:EtWvsAzhCnrUB03jgf70O8Sqi5gmRUQsFExhChPMI3U= github.com/aws/aws-sdk-go-v2/service/rbin v1.23.1 h1:MuUdwoKOOY+H54Fb596ADns1ug2qM9QxGUIsgZshhVQ= @@ -459,8 +461,8 @@ github.com/aws/aws-sdk-go-v2/service/rum v1.25.1 h1:IPGVJBSdfbowzlpJ2WamBS6X5bbI github.com/aws/aws-sdk-go-v2/service/rum v1.25.1/go.mod h1:bP77oXsN8c23i7o1A46SQmqlmuslx4OmYtX2Ns4p0R8= github.com/aws/aws-sdk-go-v2/service/s3 v1.85.1 h1:Hsqo8+dFxSdDvv9B2PgIx1AJAnDpqgS0znVI+R+MoGY= github.com/aws/aws-sdk-go-v2/service/s3 v1.85.1/go.mod h1:8Q0TAPXD68Z8YqlcIGHs/UNIDHsxErV9H4dl4vJEpgw= -github.com/aws/aws-sdk-go-v2/service/s3control v1.61.1 h1:Fu6ZEW0t68B6Tjp/ubiOBa2OCRx2sHnRl1/1ehRU1Hc= -github.com/aws/aws-sdk-go-v2/service/s3control v1.61.1/go.mod h1:E6DME7R1bQBJaH/dIS2070dgcgba97shJWUTWMrTbgM= +github.com/aws/aws-sdk-go-v2/service/s3control v1.62.0 h1:tdFV3pnbKsSrxaPywUyvKOB/S+q+DvtpuPwq8m98enk= +github.com/aws/aws-sdk-go-v2/service/s3control v1.62.0/go.mod h1:E6DME7R1bQBJaH/dIS2070dgcgba97shJWUTWMrTbgM= github.com/aws/aws-sdk-go-v2/service/s3outposts v1.30.1 h1:iOFQNXtgNsVQjQLJQTvGC5NsIv43fW07igtoDHEIvKs= github.com/aws/aws-sdk-go-v2/service/s3outposts v1.30.1/go.mod h1:ANvlkElAoLD7KBmZAXJv+BmB42Ifw8DhKb4eEhmveMA= github.com/aws/aws-sdk-go-v2/service/s3tables v1.7.1 h1:Shyve/4zbd4pdKluYyXtcrBoZ1Olwodu/lbL9Dc6xOo= @@ -489,8 +491,8 @@ github.com/aws/aws-sdk-go-v2/service/servicequotas v1.29.1 h1:woOK9lW27mtpdERfmn github.com/aws/aws-sdk-go-v2/service/servicequotas v1.29.1/go.mod h1:Bfj6o/QIVdpFkd95vGIY3fTEaTJZpu0vks/D8VKwLnU= github.com/aws/aws-sdk-go-v2/service/ses v1.31.1 h1:hi11Ld0VefrexMU5GL7/hNKzm6eplrSF4A3xe0S0M0U= github.com/aws/aws-sdk-go-v2/service/ses v1.31.1/go.mod h1:YEsycIZqO487LztPmM2Q1U/g0ynw7Zj7zSD4Jt79SDY= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.48.1 h1:IxgjwuZ/AGKFFYU6yYT8rZAysL/4oSPEwtfUgQChv+w= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.48.1/go.mod h1:GvobvR4QPd7vuWZIyvKyRUddjjSKkUHqYa8aBfpIKh4= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.49.0 h1:XzMkmb8eU1B3WTgfKdLnhJCcWTLZPCoP54ZSsDzPKLY= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.49.0/go.mod h1:GvobvR4QPd7vuWZIyvKyRUddjjSKkUHqYa8aBfpIKh4= github.com/aws/aws-sdk-go-v2/service/sfn v1.36.1 h1:VEOUJkplqcaFW+Z3ZOFSWSVsmXVs10SFxb3Y6IGX+bc= github.com/aws/aws-sdk-go-v2/service/sfn v1.36.1/go.mod h1:bwaYtZOogLKo3c/rpHpBQe7vnoieV5rQn+nQ52HFaz8= github.com/aws/aws-sdk-go-v2/service/shield v1.31.1 h1:xVThf6EHHHIacded51XqxPMEnmruw/VXtrtbMim26Zc= @@ -535,8 +537,8 @@ github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.32.1 h1:zh3Jm1emj0IZeZAd github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.32.1/go.mod h1:a74kIao0vSolFoqFuqoU/ZLbQdE7ean791+w7ke3UmI= github.com/aws/aws-sdk-go-v2/service/transcribe v1.48.1 h1:ydeDmQyYbaVk4Kk4rT7rasqar7WKizpIZc/MtTwx3XU= github.com/aws/aws-sdk-go-v2/service/transcribe v1.48.1/go.mod h1:yebrHNdyMhIz0hKhQzHaKtr7GnfjCWfQXR8fI+biDOY= -github.com/aws/aws-sdk-go-v2/service/transfer v1.62.1 h1:h7ztYoDpj4P9TF6Tl22F2bK4ceiaxt6UR05KYvSXZ6Q= -github.com/aws/aws-sdk-go-v2/service/transfer v1.62.1/go.mod h1:pcob4Kb6kNQartCIk7k5DvcMgUWfFHgpvUmT6NJ+tfA= +github.com/aws/aws-sdk-go-v2/service/transfer v1.62.2 h1:RlwtIPenSgzBHnNHNFgHiS/xhV/V52HHesCJAFT9pjA= +github.com/aws/aws-sdk-go-v2/service/transfer v1.62.2/go.mod h1:pcob4Kb6kNQartCIk7k5DvcMgUWfFHgpvUmT6NJ+tfA= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.25.1 h1:YfjBV97VKP7BzolXmhkpoIIhfW2bMcxHbMOiK+bXVjA= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.25.1/go.mod h1:5Eyf+GB1CKpvbvZFT7MIO5Mk3gPHBcyx+WC7Jb1WeIs= github.com/aws/aws-sdk-go-v2/service/vpclattice v1.15.1 h1:yNH2+yM+Fjdm7qyAkZ8jSvvGNJLY1B6Ojf0y1bxtnNU= @@ -551,8 +553,8 @@ github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.36.1 h1:u5PVGnXaDhUzAi49 github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.36.1/go.mod h1:9T+lndTY7HGyy99UmFciMfeG8DvHJxQLgKcZkVpfxtA= github.com/aws/aws-sdk-go-v2/service/workspaces v1.59.1 h1:pHLxmX312+1Y4TPvAKS1cVS8ky4Lcqlv0tfmjvSQO7Y= github.com/aws/aws-sdk-go-v2/service/workspaces v1.59.1/go.mod h1:GKRVmQy+p6FxWidtWnsx/qbxIKyu96pEYCdMrcuTgeM= -github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.28.1 h1:EUGE9p+/Yfs3gsuazAvn9yDY5k+yjaPZD117hum4BUo= -github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.28.1/go.mod h1:gUs8tCNAp6COwgYIef9axji/vDiM5KXzjxXpSHrIz9U= +github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.29.0 h1:7+e/FxVeBJ9676CmhjWwd5KamTvz1NqTuOkaJ0pitPg= +github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.29.0/go.mod h1:gUs8tCNAp6COwgYIef9axji/vDiM5KXzjxXpSHrIz9U= github.com/aws/aws-sdk-go-v2/service/xray v1.32.1 h1:cEgIUA7e2jJX6dtw7QZHZC4Npgzc3qAhI6VgBAJhLys= github.com/aws/aws-sdk-go-v2/service/xray v1.32.1/go.mod h1:yNBhxYF0/a7HxlvvPZ9pljsw3wSh6ooyxg5llocFwBQ= github.com/aws/smithy-go v1.22.5 h1:P9ATCXPMb2mPjYBgueqJNCA5S9UfktsW0tTxi+a7eqw= From 04c70637cbd94e79cfedecc23a9619185429a56f Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 09:08:36 -0400 Subject: [PATCH 0160/1301] odb: Generate tagging code. --- internal/service/odb/generate.go | 1 + internal/service/odb/tags_gen.go | 128 +++++++++++++++++++++++++++++++ 2 files changed, 129 insertions(+) create mode 100644 internal/service/odb/tags_gen.go diff --git a/internal/service/odb/generate.go b/internal/service/odb/generate.go index af40092c9442..0137a84b8b9b 100644 --- a/internal/service/odb/generate.go +++ b/internal/service/odb/generate.go @@ -2,6 +2,7 @@ // SPDX-License-Identifier: MPL-2.0 //go:generate go run ../../generate/servicepackage/main.go +//go:generate go run ../../generate/tags/main.go -ServiceTagsMap -KVTValues -ListTags -UpdateTags // ONLY generate directives and package declaration! Do not add anything else to this file. package odb diff --git a/internal/service/odb/tags_gen.go b/internal/service/odb/tags_gen.go new file mode 100644 index 000000000000..3ae4f0f73d8e --- /dev/null +++ b/internal/service/odb/tags_gen.go @@ -0,0 +1,128 @@ +// Code generated by internal/generate/tags/main.go; DO NOT EDIT. +package odb + +import ( + "context" + + "github.com/YakDriver/smarterr" + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/service/odb" + "github.com/hashicorp/terraform-plugin-log/tflog" + "github.com/hashicorp/terraform-provider-aws/internal/conns" + "github.com/hashicorp/terraform-provider-aws/internal/logging" + tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" + "github.com/hashicorp/terraform-provider-aws/internal/types/option" + "github.com/hashicorp/terraform-provider-aws/names" +) + +// listTags lists odb service tags. +// The identifier is typically the Amazon Resource Name (ARN), although +// it may also be a different identifier depending on the service. +func listTags(ctx context.Context, conn *odb.Client, identifier string, optFns ...func(*odb.Options)) (tftags.KeyValueTags, error) { + input := odb.ListTagsForResourceInput{ + ResourceArn: aws.String(identifier), + } + + output, err := conn.ListTagsForResource(ctx, &input, optFns...) + + if err != nil { + return tftags.New(ctx, nil), smarterr.NewError(err) + } + + return keyValueTags(ctx, output.Tags), nil +} + +// ListTags lists odb service tags and set them in Context. +// It is called from outside this package. +func (p *servicePackage) ListTags(ctx context.Context, meta any, identifier string) error { + tags, err := listTags(ctx, meta.(*conns.AWSClient).ODBClient(ctx), identifier) + + if err != nil { + return smarterr.NewError(err) + } + + if inContext, ok := tftags.FromContext(ctx); ok { + inContext.TagsOut = option.Some(tags) + } + + return nil +} + +// map[string]string handling + +// svcTags returns odb service tags. +func svcTags(tags tftags.KeyValueTags) map[string]string { + return tags.Map() +} + +// keyValueTags creates tftags.KeyValueTags from odb service tags. +func keyValueTags(ctx context.Context, tags map[string]string) tftags.KeyValueTags { + return tftags.New(ctx, tags) +} + +// getTagsIn returns odb service tags from Context. +// nil is returned if there are no input tags. +func getTagsIn(ctx context.Context) map[string]string { + if inContext, ok := tftags.FromContext(ctx); ok { + if tags := svcTags(inContext.TagsIn.UnwrapOrDefault()); len(tags) > 0 { + return tags + } + } + + return nil +} + +// setTagsOut sets odb service tags in Context. +func setTagsOut(ctx context.Context, tags map[string]string) { + if inContext, ok := tftags.FromContext(ctx); ok { + inContext.TagsOut = option.Some(keyValueTags(ctx, tags)) + } +} + +// updateTags updates odb service tags. +// The identifier is typically the Amazon Resource Name (ARN), although +// it may also be a different identifier depending on the service. +func updateTags(ctx context.Context, conn *odb.Client, identifier string, oldTagsMap, newTagsMap any, optFns ...func(*odb.Options)) error { + oldTags := tftags.New(ctx, oldTagsMap) + newTags := tftags.New(ctx, newTagsMap) + + ctx = tflog.SetField(ctx, logging.KeyResourceId, identifier) + + removedTags := oldTags.Removed(newTags) + removedTags = removedTags.IgnoreSystem(names.ODB) + if len(removedTags) > 0 { + input := odb.UntagResourceInput{ + ResourceArn: aws.String(identifier), + TagKeys: removedTags.Keys(), + } + + _, err := conn.UntagResource(ctx, &input, optFns...) + + if err != nil { + return smarterr.NewError(err) + } + } + + updatedTags := oldTags.Updated(newTags) + updatedTags = updatedTags.IgnoreSystem(names.ODB) + if len(updatedTags) > 0 { + input := odb.TagResourceInput{ + ResourceArn: aws.String(identifier), + Tags: svcTags(updatedTags), + } + + _, err := conn.TagResource(ctx, &input, optFns...) + + if err != nil { + return smarterr.NewError(err) + } + } + + return nil +} + +// UpdateTags updates odb service tags. +// It is called from outside this package. +func (p *servicePackage) UpdateTags(ctx context.Context, meta any, identifier string, oldTags, newTags any) error { + return updateTags(ctx, meta.(*conns.AWSClient).ODBClient(ctx), identifier, oldTags, newTags) +} From fc8343f0a8beb91a218917408af35e9e1d16dba1 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 09:19:51 -0400 Subject: [PATCH 0161/1301] r/aws_quicksight_user_custom_permission: Documentation. --- ...sight_user_custom_permission.html.markdown | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 website/docs/r/quicksight_user_custom_permission.html.markdown diff --git a/website/docs/r/quicksight_user_custom_permission.html.markdown b/website/docs/r/quicksight_user_custom_permission.html.markdown new file mode 100644 index 000000000000..0056be62211a --- /dev/null +++ b/website/docs/r/quicksight_user_custom_permission.html.markdown @@ -0,0 +1,54 @@ +--- +subcategory: "QuickSight" +layout: "aws" +page_title: "AWS: aws_quicksight_user_custom_permission" +description: |- + Manages the custom permissions profile for a user. +--- + +# Resource: aws_quicksight_user_custom_permission + +Manages the custom permissions profile for a user. + +## Example Usage + +```terraform +resource "aws_quicksight_user_custom_permission" "example" { + user_name = aws_quicksight_user.example.user_name + custom_permissions_name = aws_quicksight_custom_permissions.example.custom_permissions_name +} +``` + +## Argument Reference + +The following arguments are required: + +* `custom_permissions_name` - (Required, Forces new resource) Custom permissions profile name. +* `user_name` - (Required, Forces new resource) Username of the user. + +The following arguments are optional: + +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. +* `namespace` - (Optional, Forces new resource) Namespace that the user belongs to. Defaults to `default`. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). + +## Attribute Reference + +This resource exports no additional attributes. + +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import QuickSight user custom permissions using a comma-delimited string combining the `aws_account_id`, `namespace` and `user_name`. For example: + +```terraform +import { + to = aws_quicksight_user_custom_permission.example + id = "012345678901,default,user1" +} +``` + +Using `terraform import`, import QuickSight user custom permissions using a comma-delimited string combining the `aws_account_id`, `namespace`, and `user_name`. For example: + +```console +% terraform import aws_quicksight_user_custom_permission.example 012345678901,default,user1 +``` From 1a8d7ad9df871e990474155cea4bf0d5c4ce855b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 09:41:20 -0400 Subject: [PATCH 0162/1301] r/aws_quicksight_user_custom_permission: Add CHANGELOG entry. --- .changelog/43613.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.changelog/43613.txt b/.changelog/43613.txt index 16947557dbd4..b116ba1f729d 100644 --- a/.changelog/43613.txt +++ b/.changelog/43613.txt @@ -5,3 +5,7 @@ aws_quicksight_custom_permissions ```release-note:new-resource aws_quicksight_role_custom_permission ``` + +```release-note:new-resource +aws_quicksight_user_custom_permission +``` \ No newline at end of file From f8a966cbb08248d655014e900cc0323ee47e890f Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 09:52:58 -0400 Subject: [PATCH 0163/1301] ODB is available in 'us-west-2' -- https://docs.aws.amazon.com/general/latest/gr/odb-service.html. --- internal/service/odb/service_endpoints_gen_test.go | 2 +- internal/service/odb/service_package_gen.go | 14 -------------- names/data/names_data.hcl | 3 --- 3 files changed, 1 insertion(+), 18 deletions(-) diff --git a/internal/service/odb/service_endpoints_gen_test.go b/internal/service/odb/service_endpoints_gen_test.go index bc88b1023c35..92da8964f019 100644 --- a/internal/service/odb/service_endpoints_gen_test.go +++ b/internal/service/odb/service_endpoints_gen_test.go @@ -78,7 +78,7 @@ const ( ) const ( - expectedCallRegion = "us-east-1" //lintignore:AWSAT003 + expectedCallRegion = "us-west-2" //lintignore:AWSAT003 ) func TestEndpointConfiguration(t *testing.T) { //nolint:paralleltest // uses t.Setenv diff --git a/internal/service/odb/service_package_gen.go b/internal/service/odb/service_package_gen.go index dbbd3d866773..a44c1aa78cb0 100644 --- a/internal/service/odb/service_package_gen.go +++ b/internal/service/odb/service_package_gen.go @@ -8,7 +8,6 @@ import ( "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/aws/retry" "github.com/aws/aws-sdk-go-v2/service/odb" - "github.com/hashicorp/aws-sdk-go-base/v2/endpoints" "github.com/hashicorp/terraform-plugin-log/tflog" "github.com/hashicorp/terraform-provider-aws/internal/conns" inttypes "github.com/hashicorp/terraform-provider-aws/internal/types" @@ -60,19 +59,6 @@ func (p *servicePackage) NewClient(ctx context.Context, config map[string]any) ( o.Retryer = conns.AddIsErrorRetryables(cfg.Retryer().(aws.RetryerV2), retry.IsErrorRetryableFunc(vcr.InteractionNotFoundRetryableFunc)) } }, - func(o *odb.Options) { - switch partition := config["partition"].(string); partition { - case endpoints.AwsPartitionID: - if region := endpoints.UsEast1RegionID; o.Region != region { - tflog.Info(ctx, "overriding effective AWS API region", map[string]any{ - "service": p.ServicePackageName(), - "original_region": o.Region, - "override_region": region, - }) - o.Region = region - } - } - }, withExtraOptions(ctx, p, config), } diff --git a/names/data/names_data.hcl b/names/data/names_data.hcl index e70136be429a..c01222c6b8be 100644 --- a/names/data/names_data.hcl +++ b/names/data/names_data.hcl @@ -6010,9 +6010,6 @@ service "odb" { endpoint_info { endpoint_api_call = "ListCloudExadataInfrastructures" - endpoint_region_overrides = { - "aws" = "us-east-1" - } } resource_prefix { From 37329465c0769b86a59356f881b275c9c91fffda Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 09:56:18 -0400 Subject: [PATCH 0164/1301] r/aws_quicksight_user: Change `user_name` to Optional and Computed. --- .changelog/43613.txt | 4 ++++ internal/service/quicksight/user.go | 19 +++++++++++-------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/.changelog/43613.txt b/.changelog/43613.txt index b116ba1f729d..c102122a147f 100644 --- a/.changelog/43613.txt +++ b/.changelog/43613.txt @@ -8,4 +8,8 @@ aws_quicksight_role_custom_permission ```release-note:new-resource aws_quicksight_user_custom_permission +``` + +```release-note:enhancement +resource/aws_quicksight_user: Change `user_name` to Optional and Computed ``` \ No newline at end of file diff --git a/internal/service/quicksight/user.go b/internal/service/quicksight/user.go index 022a267cd510..9f6f83d19072 100644 --- a/internal/service/quicksight/user.go +++ b/internal/service/quicksight/user.go @@ -72,6 +72,7 @@ func resourceUser() *schema.Resource { names.AttrUserName: { Type: schema.TypeString, Optional: true, + Computed: true, ValidateFunc: validation.NoZeroValues, }, "user_role": { @@ -103,7 +104,7 @@ func resourceUserCreate(ctx context.Context, d *schema.ResourceData, meta any) d } email := d.Get(names.AttrEmail).(string) namespace := d.Get(names.AttrNamespace).(string) - input := &quicksight.RegisterUserInput{ + input := quicksight.RegisterUserInput{ AwsAccountId: aws.String(awsAccountID), Email: aws.String(email), IdentityType: awstypes.IdentityType(d.Get("identity_type").(string)), @@ -123,7 +124,7 @@ func resourceUserCreate(ctx context.Context, d *schema.ResourceData, meta any) d input.UserName = aws.String(v.(string)) } - output, err := conn.RegisterUser(ctx, input) + output, err := conn.RegisterUser(ctx, &input) if err != nil { return sdkdiag.AppendErrorf(diags, "registering QuickSight User (%s): %s", email, err) @@ -179,7 +180,7 @@ func resourceUserUpdate(ctx context.Context, d *schema.ResourceData, meta any) d return sdkdiag.AppendFromErr(diags, err) } - input := &quicksight.UpdateUserInput{ + input := quicksight.UpdateUserInput{ AwsAccountId: aws.String(awsAccountID), Email: aws.String(d.Get(names.AttrEmail).(string)), Namespace: aws.String(namespace), @@ -187,7 +188,7 @@ func resourceUserUpdate(ctx context.Context, d *schema.ResourceData, meta any) d UserName: aws.String(userName), } - _, err = conn.UpdateUser(ctx, input) + _, err = conn.UpdateUser(ctx, &input) if err != nil { return sdkdiag.AppendErrorf(diags, "updating QuickSight User (%s): %s", d.Id(), err) @@ -205,11 +206,13 @@ func resourceUserDelete(ctx context.Context, d *schema.ResourceData, meta any) d return sdkdiag.AppendFromErr(diags, err) } - _, err = conn.DeleteUser(ctx, &quicksight.DeleteUserInput{ + log.Printf("[INFO] Deleting QuickSight User: %s", d.Id()) + input := quicksight.DeleteUserInput{ AwsAccountId: aws.String(awsAccountID), Namespace: aws.String(namespace), UserName: aws.String(userName), - }) + } + _, err = conn.DeleteUser(ctx, &input) if errs.IsA[*awstypes.ResourceNotFoundException](err) { return diags @@ -242,13 +245,13 @@ func userParseResourceID(id string) (string, string, string, error) { } func findUserByThreePartKey(ctx context.Context, conn *quicksight.Client, awsAccountID, namespace, userName string) (*awstypes.User, error) { - input := &quicksight.DescribeUserInput{ + input := quicksight.DescribeUserInput{ AwsAccountId: aws.String(awsAccountID), Namespace: aws.String(namespace), UserName: aws.String(userName), } - return findUser(ctx, conn, input) + return findUser(ctx, conn, &input) } func findUser(ctx context.Context, conn *quicksight.Client, input *quicksight.DescribeUserInput) (*awstypes.User, error) { From d171e9ddeac13bb612c930348fe46e863f06098d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 10:00:46 -0400 Subject: [PATCH 0165/1301] r/aws_quicksight_user: Additional supported enum values. --- .changelog/43613.txt | 8 ++++++ internal/service/quicksight/user.go | 28 ++++++-------------- website/docs/r/quicksight_user.html.markdown | 4 +-- 3 files changed, 18 insertions(+), 22 deletions(-) diff --git a/.changelog/43613.txt b/.changelog/43613.txt index c102122a147f..9f0e7461f580 100644 --- a/.changelog/43613.txt +++ b/.changelog/43613.txt @@ -12,4 +12,12 @@ aws_quicksight_user_custom_permission ```release-note:enhancement resource/aws_quicksight_user: Change `user_name` to Optional and Computed +``` + +```release-note:enhancement +resource/aws_quicksight_user: Support `IAM_IDENTITY_CENTER` as a valid value for `identity_type` +``` + +```release-note:enhancement +resource/aws_quicksight_user: Support `RESTRICTED_AUTHOR` and `RESTRICTED_READER` as valid values for `user_role` ``` \ No newline at end of file diff --git a/internal/service/quicksight/user.go b/internal/service/quicksight/user.go index 9f6f83d19072..9946dcf80733 100644 --- a/internal/service/quicksight/user.go +++ b/internal/service/quicksight/user.go @@ -50,14 +50,10 @@ func resourceUser() *schema.Resource { ForceNew: true, }, "identity_type": { - Type: schema.TypeString, - Required: true, - ForceNew: true, - // TODO ValidateDiagFunc: enum.Validate[awstypes.IdentityType](), - ValidateFunc: validation.StringInSlice(enum.Slice( - awstypes.IdentityTypeIam, - awstypes.IdentityTypeQuicksight, - ), false), + Type: schema.TypeString, + Required: true, + ForceNew: true, + ValidateDiagFunc: enum.Validate[awstypes.IdentityType](), }, names.AttrNamespace: quicksightschema.NamespaceSchema(), "session_name": { @@ -76,18 +72,10 @@ func resourceUser() *schema.Resource { ValidateFunc: validation.NoZeroValues, }, "user_role": { - Type: schema.TypeString, - Required: true, - ForceNew: true, - // TODO ValidateDiagFunc: enum.Validate[awstypes.UserRole](), - ValidateFunc: validation.StringInSlice(enum.Slice( - awstypes.UserRoleReader, - awstypes.UserRoleAuthor, - awstypes.UserRoleAdmin, - awstypes.UserRoleReaderPro, - awstypes.UserRoleAuthorPro, - awstypes.UserRoleAdminPro, - ), false), + Type: schema.TypeString, + Required: true, + ForceNew: true, + ValidateDiagFunc: enum.Validate[awstypes.UserRole](), }, } }, diff --git a/website/docs/r/quicksight_user.html.markdown b/website/docs/r/quicksight_user.html.markdown index 33a3d8eca320..566db96c8ab3 100644 --- a/website/docs/r/quicksight_user.html.markdown +++ b/website/docs/r/quicksight_user.html.markdown @@ -52,8 +52,8 @@ resource "aws_quicksight_user" "example" { The following arguments are required: * `email` - (Required) Email address of the user that you want to register. -* `identity_type` - (Required) Identity type that your Amazon QuickSight account uses to manage the identity of users. Valid values: `IAM`, `QUICKSIGHT`. -* `user_role` - (Required) Amazon QuickSight role for the user. Value values: `READER`, `AUTHOR`, `ADMIN`, `READER_PRO`, `AUTHOR_PRO`, `ADMIN_PRO`. +* `identity_type` - (Required) Identity type that your Amazon QuickSight account uses to manage the identity of users. Valid values: `IAM`, `QUICKSIGHT`, `IAM_IDENTITY_CENTER`. +* `user_role` - (Required) Amazon QuickSight role for the user. Valid values: `READER`, `AUTHOR`, `ADMIN`, `READER_PRO`, `AUTHOR_PRO`, `ADMIN_PRO`, `RESTRICTED_AUTHOR`, `RESTRICTED_READER`. The following arguments are optional: From 2124280a33b7222dbf444577e23eb958bc05d045 Mon Sep 17 00:00:00 2001 From: Subhan <68732277+delamarch3@users.noreply.github.com> Date: Fri, 1 Aug 2025 16:15:35 +0100 Subject: [PATCH 0166/1301] avoid setting bedrock flow created_at to nil --- internal/service/bedrockagent/flow.go | 2 +- internal/service/bedrockagent/flow_test.go | 27 ++++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/internal/service/bedrockagent/flow.go b/internal/service/bedrockagent/flow.go index 252f22bd946b..01b59a7a5adf 100644 --- a/internal/service/bedrockagent/flow.go +++ b/internal/service/bedrockagent/flow.go @@ -1070,7 +1070,7 @@ func (r *flowResource) Update(ctx context.Context, request resource.UpdateReques } // Set values for unknowns. - new.CreatedAt = timetypes.NewRFC3339TimePointerValue(output.CreatedAt) + new.CreatedAt = old.CreatedAt new.UpdatedAt = timetypes.NewRFC3339TimePointerValue(output.UpdatedAt) new.Version = fwflex.StringToFramework(ctx, output.Version) new.Status = fwtypes.StringEnumValue(output.Status) diff --git a/internal/service/bedrockagent/flow_test.go b/internal/service/bedrockagent/flow_test.go index ee1b114a4e47..54500184949e 100644 --- a/internal/service/bedrockagent/flow_test.go +++ b/internal/service/bedrockagent/flow_test.go @@ -66,6 +66,23 @@ func TestAccBedrockAgentFlow_basic(t *testing.T) { ImportState: true, ImportStateVerify: true, }, + { + Config: testAccFlowConfig_basicUpdate(rName, foundationModel), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckFlowExists(ctx, resourceName, &flow), + acctest.MatchResourceAttrRegionalARN(ctx, resourceName, names.AttrARN, "bedrock", regexache.MustCompile(`flow/.+$`)), + resource.TestCheckResourceAttrSet(resourceName, names.AttrID), + resource.TestCheckResourceAttrSet(resourceName, names.AttrCreatedAt), + resource.TestCheckResourceAttrSet(resourceName, "updated_at"), + resource.TestCheckResourceAttrSet(resourceName, names.AttrVersion), + resource.TestCheckResourceAttrSet(resourceName, names.AttrStatus), + resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), + resource.TestCheckResourceAttr(resourceName, names.AttrDescription, "update"), + resource.TestCheckResourceAttrPair(resourceName, names.AttrExecutionRoleARN, "aws_iam_role.test", names.AttrARN), + resource.TestCheckResourceAttr(resourceName, "definition.#", "0"), + resource.TestCheckNoResourceAttr(resourceName, "customer_encryption_key_arn"), + ), + }, }, }) } @@ -508,6 +525,16 @@ resource "aws_bedrockagent_flow" "test" { `, rName)) } +func testAccFlowConfig_basicUpdate(rName, model string) string { + return acctest.ConfigCompose(testAccFlowConfig_base(model), fmt.Sprintf(` +resource "aws_bedrockagent_flow" "test" { + name = %[1]q + execution_role_arn = aws_iam_role.test.arn + description = "update" +} +`, rName)) +} + func testAccFlowConfig_withEncryptionKey(rName, model string) string { return acctest.ConfigCompose(testAccFlowConfig_base(model), fmt.Sprintf(` resource "aws_kms_key" "test" { From 0d6a02eca6fcad958ffb11bec19905c94bcde094 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 11:15:15 -0400 Subject: [PATCH 0167/1301] r/aws_quicksight_user: Add plan-time validation of `iam_arn`. --- .changelog/43613.txt | 4 ++++ internal/service/quicksight/user.go | 8 +++++--- internal/service/quicksight/user_test.go | 8 +------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.changelog/43613.txt b/.changelog/43613.txt index 9f0e7461f580..10555fa2fd08 100644 --- a/.changelog/43613.txt +++ b/.changelog/43613.txt @@ -20,4 +20,8 @@ resource/aws_quicksight_user: Support `IAM_IDENTITY_CENTER` as a valid value for ```release-note:enhancement resource/aws_quicksight_user: Support `RESTRICTED_AUTHOR` and `RESTRICTED_READER` as valid values for `user_role` +``` + +```release-note:enhancement +resource/aws_quicksight_user: Add plan-time validation of `iam_arn` ``` \ No newline at end of file diff --git a/internal/service/quicksight/user.go b/internal/service/quicksight/user.go index 9946dcf80733..468a63b97740 100644 --- a/internal/service/quicksight/user.go +++ b/internal/service/quicksight/user.go @@ -22,6 +22,7 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag" quicksightschema "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" + "github.com/hashicorp/terraform-provider-aws/internal/verify" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -45,9 +46,10 @@ func resourceUser() *schema.Resource { Required: true, }, "iam_arn": { - Type: schema.TypeString, - Optional: true, - ForceNew: true, + Type: schema.TypeString, + Optional: true, + ForceNew: true, + ValidateFunc: verify.ValidARN, }, "identity_type": { Type: schema.TypeString, diff --git a/internal/service/quicksight/user_test.go b/internal/service/quicksight/user_test.go index 3005af42b657..7438713979ff 100644 --- a/internal/service/quicksight/user_test.go +++ b/internal/service/quicksight/user_test.go @@ -6,7 +6,6 @@ package quicksight_test import ( "context" "fmt" - "os" "testing" awstypes "github.com/aws/aws-sdk-go-v2/service/quicksight/types" @@ -94,12 +93,7 @@ func TestAccQuickSightUser_withInvalidFormattedEmailStillWorks(t *testing.T) { func TestAccQuickSightUser_withNamespace(t *testing.T) { ctx := acctest.Context(t) - key := "QUICKSIGHT_NAMESPACE" - namespace := os.Getenv(key) - if namespace == "" { - t.Skipf("Environment variable %s is not set", key) - } - + namespace := acctest.SkipIfEnvVarNotSet(t, "QUICKSIGHT_NAMESPACE") var user awstypes.User rName := "tfacctest" + sdkacctest.RandString(10) resourceName := "aws_quicksight_user." + rName From 0b3aac9de7555eb8eda58f36016117bb7de75a87 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 11:21:04 -0400 Subject: [PATCH 0168/1301] Add 's3vectors' service metadata. --- names/data/names_data.hcl | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/names/data/names_data.hcl b/names/data/names_data.hcl index c01222c6b8be..f0f9bf00cb8e 100644 --- a/names/data/names_data.hcl +++ b/names/data/names_data.hcl @@ -7364,6 +7364,29 @@ service "s3tables" { brand = "Amazon" } +service "s3vectors" { + sdk { + id = "S3Vectors" + arn_namespace = "s3vectors" + } + + names { + provider_name_upper = "S3Vectors" + human_friendly = "S3 Vectors" + } + + endpoint_info { + endpoint_api_call = "ListVectorBuckets" + } + + resource_prefix { + correct = "aws_s3vectors_" + } + + doc_prefix = ["s3vectors_"] + brand = "Amazon" +} + service "glacier" { sdk { id = "Glacier" From e8aa8cc2f9b8a66c8ec62518269be68391355178 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 11:21:57 -0400 Subject: [PATCH 0169/1301] Add 's3vectors' service package. --- internal/service/s3vectors/generate.go | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 internal/service/s3vectors/generate.go diff --git a/internal/service/s3vectors/generate.go b/internal/service/s3vectors/generate.go new file mode 100644 index 000000000000..b5fabf66b3e9 --- /dev/null +++ b/internal/service/s3vectors/generate.go @@ -0,0 +1,7 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +//go:generate go run ../../generate/servicepackage/main.go +// ONLY generate directives and package declaration! Do not add anything else to this file. + +package s3vectors From f23e3e6c43c6bd5091aa14b02633be4a5f164401 Mon Sep 17 00:00:00 2001 From: Subhan <68732277+delamarch3@users.noreply.github.com> Date: Fri, 1 Aug 2025 16:22:26 +0100 Subject: [PATCH 0170/1301] add changelog entry --- .changelog/43654.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/43654.txt diff --git a/.changelog/43654.txt b/.changelog/43654.txt new file mode 100644 index 000000000000..d4c533b2871a --- /dev/null +++ b/.changelog/43654.txt @@ -0,0 +1,3 @@ +```release-note:bug +resource/aws_bedrockagent_flow: Prevent `created_at` becoming null on update. +``` From b69d4418e0d408aabbba8e1e8ae846535b09adfd Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 11:23:11 -0400 Subject: [PATCH 0171/1301] Require 'github.com/aws/aws-sdk-go-v2/service/s3vectors'. --- go.mod | 1 + 1 file changed, 1 insertion(+) diff --git a/go.mod b/go.mod index 5cec8414e05a..6cceb044e90c 100644 --- a/go.mod +++ b/go.mod @@ -223,6 +223,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/s3control v1.62.0 github.com/aws/aws-sdk-go-v2/service/s3outposts v1.30.1 github.com/aws/aws-sdk-go-v2/service/s3tables v1.7.1 + github.com/aws/aws-sdk-go-v2/service/s3vectors v1.1.1 github.com/aws/aws-sdk-go-v2/service/sagemaker v1.203.1 github.com/aws/aws-sdk-go-v2/service/scheduler v1.14.1 github.com/aws/aws-sdk-go-v2/service/schemas v1.30.1 From c7413a6257b488d5434dc3ffa08d957557048ce8 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 11:29:13 -0400 Subject: [PATCH 0172/1301] Run 'make gen'. --- .ci/.semgrep-service-name0.yml | 15 + .ci/.semgrep-service-name1.yml | 44 +- .ci/.semgrep-service-name2.yml | 61 +- .ci/.semgrep-service-name3.yml | 93 ++- .github/labeler-issue-triage.yml | 2 + .github/labeler-pr-triage.yml | 6 + .../components/generated/services_all.kt | 1 + infrastructure/repository/labels-service.tf | 1 + internal/conns/awsclient_gen.go | 5 + internal/provider/framework/provider_gen.go | 7 + internal/provider/sdkv2/provider_gen.go | 8 + .../provider/sdkv2/service_packages_gen.go | 2 + .../service_endpoint_resolver_gen.go | 82 +++ .../s3vectors/service_endpoints_gen_test.go | 602 ++++++++++++++++++ .../service/s3vectors/service_package_gen.go | 88 +++ internal/sweep/service_packages_gen_test.go | 2 + names/consts_gen.go | 2 + website/allowed-subcategories.txt | 1 + .../custom-service-endpoints.html.markdown | 1 + 19 files changed, 947 insertions(+), 76 deletions(-) create mode 100644 internal/service/s3vectors/service_endpoint_resolver_gen.go create mode 100644 internal/service/s3vectors/service_endpoints_gen_test.go create mode 100644 internal/service/s3vectors/service_package_gen.go diff --git a/.ci/.semgrep-service-name0.yml b/.ci/.semgrep-service-name0.yml index 87d0ffadc241..65593ca326b9 100644 --- a/.ci/.semgrep-service-name0.yml +++ b/.ci/.semgrep-service-name0.yml @@ -4391,3 +4391,18 @@ rules: - pattern-not-regex: "^TestAccConnect" - pattern-regex: ^TestAcc.* severity: WARNING + - id: connect-in-const-name + languages: + - go + message: Do not use "Connect" in const name inside connect package + paths: + include: + - internal/service/connect + patterns: + - pattern: const $NAME = ... + - metavariable-pattern: + metavariable: $NAME + patterns: + - pattern-regex: "(?i)Connect" + - pattern-not-regex: .*uickConnect.* + severity: WARNING diff --git a/.ci/.semgrep-service-name1.yml b/.ci/.semgrep-service-name1.yml index 26778435636f..3460c0efafaf 100644 --- a/.ci/.semgrep-service-name1.yml +++ b/.ci/.semgrep-service-name1.yml @@ -1,20 +1,5 @@ # Generated by internal/generate/servicesemgrep/main.go; DO NOT EDIT. rules: - - id: connect-in-const-name - languages: - - go - message: Do not use "Connect" in const name inside connect package - paths: - include: - - internal/service/connect - patterns: - - pattern: const $NAME = ... - - metavariable-pattern: - metavariable: $NAME - patterns: - - pattern-regex: "(?i)Connect" - - pattern-not-regex: .*uickConnect.* - severity: WARNING - id: connect-in-var-name languages: - go @@ -4383,3 +4368,32 @@ rules: - focus-metavariable: $NAME - pattern-not: func $NAME($T *testing.T) severity: WARNING + - id: iot-in-test-name + languages: + - go + message: Include "IoT" in test name + paths: + include: + - internal/service/iot/*_test.go + patterns: + - pattern: func $NAME( ... ) + - metavariable-pattern: + metavariable: $NAME + patterns: + - pattern-not-regex: "^TestAccIoT" + - pattern-regex: ^TestAcc.* + severity: WARNING + - id: iot-in-const-name + languages: + - go + message: Do not use "IoT" in const name inside iot package + paths: + include: + - internal/service/iot + patterns: + - pattern: const $NAME = ... + - metavariable-pattern: + metavariable: $NAME + patterns: + - pattern-regex: "(?i)IoT" + severity: WARNING diff --git a/.ci/.semgrep-service-name2.yml b/.ci/.semgrep-service-name2.yml index 177631291711..394173650a9e 100644 --- a/.ci/.semgrep-service-name2.yml +++ b/.ci/.semgrep-service-name2.yml @@ -1,34 +1,5 @@ # Generated by internal/generate/servicesemgrep/main.go; DO NOT EDIT. rules: - - id: iot-in-test-name - languages: - - go - message: Include "IoT" in test name - paths: - include: - - internal/service/iot/*_test.go - patterns: - - pattern: func $NAME( ... ) - - metavariable-pattern: - metavariable: $NAME - patterns: - - pattern-not-regex: "^TestAccIoT" - - pattern-regex: ^TestAcc.* - severity: WARNING - - id: iot-in-const-name - languages: - - go - message: Do not use "IoT" in const name inside iot package - paths: - include: - - internal/service/iot - patterns: - - pattern: const $NAME = ... - - metavariable-pattern: - metavariable: $NAME - patterns: - - pattern-regex: "(?i)IoT" - severity: WARNING - id: iot-in-var-name languages: - go @@ -4399,3 +4370,35 @@ rules: patterns: - pattern-regex: "(?i)RDS" severity: WARNING + - id: rds-in-var-name + languages: + - go + message: Do not use "RDS" in var name inside rds package + paths: + include: + - internal/service/rds + patterns: + - pattern: var $NAME = ... + - metavariable-pattern: + metavariable: $NAME + patterns: + - pattern-regex: "(?i)RDS" + severity: WARNING + - id: recyclebin-in-func-name + languages: + - go + message: Do not use "recyclebin" in func name inside rbin package + paths: + include: + - internal/service/rbin + exclude: + - internal/service/rbin/list_pages_gen.go + patterns: + - pattern: func $NAME( ... ) + - metavariable-pattern: + metavariable: $NAME + patterns: + - pattern-regex: "(?i)recyclebin" + - focus-metavariable: $NAME + - pattern-not: func $NAME($T *testing.T) + severity: WARNING diff --git a/.ci/.semgrep-service-name3.yml b/.ci/.semgrep-service-name3.yml index 5818938d1f26..59c27147346c 100644 --- a/.ci/.semgrep-service-name3.yml +++ b/.ci/.semgrep-service-name3.yml @@ -1,37 +1,5 @@ # Generated by internal/generate/servicesemgrep/main.go; DO NOT EDIT. rules: - - id: rds-in-var-name - languages: - - go - message: Do not use "RDS" in var name inside rds package - paths: - include: - - internal/service/rds - patterns: - - pattern: var $NAME = ... - - metavariable-pattern: - metavariable: $NAME - patterns: - - pattern-regex: "(?i)RDS" - severity: WARNING - - id: recyclebin-in-func-name - languages: - - go - message: Do not use "recyclebin" in func name inside rbin package - paths: - include: - - internal/service/rbin - exclude: - - internal/service/rbin/list_pages_gen.go - patterns: - - pattern: func $NAME( ... ) - - metavariable-pattern: - metavariable: $NAME - patterns: - - pattern-regex: "(?i)recyclebin" - - focus-metavariable: $NAME - - pattern-not: func $NAME($T *testing.T) - severity: WARNING - id: recyclebin-in-const-name languages: - go @@ -1418,6 +1386,67 @@ rules: patterns: - pattern-regex: "(?i)S3Tables" severity: WARNING + - id: s3vectors-in-func-name + languages: + - go + message: Do not use "S3Vectors" in func name inside s3vectors package + paths: + include: + - internal/service/s3vectors + exclude: + - internal/service/s3vectors/list_pages_gen.go + patterns: + - pattern: func $NAME( ... ) + - metavariable-pattern: + metavariable: $NAME + patterns: + - pattern-regex: "(?i)S3Vectors" + - focus-metavariable: $NAME + - pattern-not: func $NAME($T *testing.T) + severity: WARNING + - id: s3vectors-in-test-name + languages: + - go + message: Include "S3Vectors" in test name + paths: + include: + - internal/service/s3vectors/*_test.go + patterns: + - pattern: func $NAME( ... ) + - metavariable-pattern: + metavariable: $NAME + patterns: + - pattern-not-regex: "^TestAccS3Vectors" + - pattern-regex: ^TestAcc.* + severity: WARNING + - id: s3vectors-in-const-name + languages: + - go + message: Do not use "S3Vectors" in const name inside s3vectors package + paths: + include: + - internal/service/s3vectors + patterns: + - pattern: const $NAME = ... + - metavariable-pattern: + metavariable: $NAME + patterns: + - pattern-regex: "(?i)S3Vectors" + severity: WARNING + - id: s3vectors-in-var-name + languages: + - go + message: Do not use "S3Vectors" in var name inside s3vectors package + paths: + include: + - internal/service/s3vectors + patterns: + - pattern: var $NAME = ... + - metavariable-pattern: + metavariable: $NAME + patterns: + - pattern-regex: "(?i)S3Vectors" + severity: WARNING - id: sagemaker-in-func-name languages: - go diff --git a/.github/labeler-issue-triage.yml b/.github/labeler-issue-triage.yml index a1bbf64f59b7..72e963ea2033 100644 --- a/.github/labeler-issue-triage.yml +++ b/.github/labeler-issue-triage.yml @@ -613,6 +613,8 @@ service/s3outposts: - '((\*|-)\s*`?|(data|resource)\s+"?)aws_s3outposts_' service/s3tables: - '((\*|-)\s*`?|(data|resource)\s+"?)aws_s3tables_' +service/s3vectors: + - '((\*|-)\s*`?|(data|resource)\s+"?)aws_s3vectors_' service/sagemaker: - '((\*|-)\s*`?|(data|resource)\s+"?)aws_sagemaker_' service/sagemakera2iruntime: diff --git a/.github/labeler-pr-triage.yml b/.github/labeler-pr-triage.yml index 2d07161612a7..ff2b9384a0a3 100644 --- a/.github/labeler-pr-triage.yml +++ b/.github/labeler-pr-triage.yml @@ -1941,6 +1941,12 @@ service/s3tables: - any-glob-to-any-file: - 'internal/service/s3tables/**/*' - 'website/**/s3tables_*' +service/s3vectors: + - any: + - changed-files: + - any-glob-to-any-file: + - 'internal/service/s3vectors/**/*' + - 'website/**/s3vectors_*' service/sagemaker: - any: - changed-files: diff --git a/.teamcity/components/generated/services_all.kt b/.teamcity/components/generated/services_all.kt index d8b76d8b3ed2..618afeafe744 100644 --- a/.teamcity/components/generated/services_all.kt +++ b/.teamcity/components/generated/services_all.kt @@ -208,6 +208,7 @@ val services = mapOf( "s3control" to ServiceSpec("S3 Control"), "s3outposts" to ServiceSpec("S3 on Outposts"), "s3tables" to ServiceSpec("S3 Tables"), + "s3vectors" to ServiceSpec("S3 Vectors"), "sagemaker" to ServiceSpec("SageMaker AI", vpcLock = true), "scheduler" to ServiceSpec("EventBridge Scheduler"), "schemas" to ServiceSpec("EventBridge Schemas"), diff --git a/infrastructure/repository/labels-service.tf b/infrastructure/repository/labels-service.tf index 862c8410b218..29d1f435e598 100644 --- a/infrastructure/repository/labels-service.tf +++ b/infrastructure/repository/labels-service.tf @@ -294,6 +294,7 @@ variable "service_labels" { "s3control", "s3outposts", "s3tables", + "s3vectors", "sagemaker", "sagemakera2iruntime", "sagemakeredge", diff --git a/internal/conns/awsclient_gen.go b/internal/conns/awsclient_gen.go index ca7e5101e520..c30e7eb786a4 100644 --- a/internal/conns/awsclient_gen.go +++ b/internal/conns/awsclient_gen.go @@ -211,6 +211,7 @@ import ( "github.com/aws/aws-sdk-go-v2/service/s3control" "github.com/aws/aws-sdk-go-v2/service/s3outposts" "github.com/aws/aws-sdk-go-v2/service/s3tables" + "github.com/aws/aws-sdk-go-v2/service/s3vectors" "github.com/aws/aws-sdk-go-v2/service/sagemaker" "github.com/aws/aws-sdk-go-v2/service/scheduler" "github.com/aws/aws-sdk-go-v2/service/schemas" @@ -1087,6 +1088,10 @@ func (c *AWSClient) S3TablesClient(ctx context.Context) *s3tables.Client { return errs.Must(client[*s3tables.Client](ctx, c, names.S3Tables, make(map[string]any))) } +func (c *AWSClient) S3VectorsClient(ctx context.Context) *s3vectors.Client { + return errs.Must(client[*s3vectors.Client](ctx, c, names.S3Vectors, make(map[string]any))) +} + func (c *AWSClient) SESClient(ctx context.Context) *ses.Client { return errs.Must(client[*ses.Client](ctx, c, names.SES, make(map[string]any))) } diff --git a/internal/provider/framework/provider_gen.go b/internal/provider/framework/provider_gen.go index 60149e451f1c..e62bfe9653aa 100644 --- a/internal/provider/framework/provider_gen.go +++ b/internal/provider/framework/provider_gen.go @@ -1669,6 +1669,13 @@ func endpointsBlock() schema.SetNestedBlock { Description: "Use this to override the default service endpoint URL", }, + // s3vectors + + "s3vectors": schema.StringAttribute{ + Optional: true, + Description: "Use this to override the default service endpoint URL", + }, + // sagemaker "sagemaker": schema.StringAttribute{ diff --git a/internal/provider/sdkv2/provider_gen.go b/internal/provider/sdkv2/provider_gen.go index 0c12b2c3382b..099821f4b1be 100644 --- a/internal/provider/sdkv2/provider_gen.go +++ b/internal/provider/sdkv2/provider_gen.go @@ -1927,6 +1927,14 @@ func endpointsSchema() *schema.Schema { Description: "Use this to override the default service endpoint URL", }, + // s3vectors + + "s3vectors": { + Type: schema.TypeString, + Optional: true, + Description: "Use this to override the default service endpoint URL", + }, + // sagemaker "sagemaker": { diff --git a/internal/provider/sdkv2/service_packages_gen.go b/internal/provider/sdkv2/service_packages_gen.go index 08818e211ccf..0ad5c7f79eaa 100644 --- a/internal/provider/sdkv2/service_packages_gen.go +++ b/internal/provider/sdkv2/service_packages_gen.go @@ -215,6 +215,7 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/service/s3control" "github.com/hashicorp/terraform-provider-aws/internal/service/s3outposts" "github.com/hashicorp/terraform-provider-aws/internal/service/s3tables" + "github.com/hashicorp/terraform-provider-aws/internal/service/s3vectors" "github.com/hashicorp/terraform-provider-aws/internal/service/sagemaker" "github.com/hashicorp/terraform-provider-aws/internal/service/scheduler" "github.com/hashicorp/terraform-provider-aws/internal/service/schemas" @@ -471,6 +472,7 @@ func servicePackages(ctx context.Context) []conns.ServicePackage { s3control.ServicePackage(ctx), s3outposts.ServicePackage(ctx), s3tables.ServicePackage(ctx), + s3vectors.ServicePackage(ctx), sagemaker.ServicePackage(ctx), scheduler.ServicePackage(ctx), schemas.ServicePackage(ctx), diff --git a/internal/service/s3vectors/service_endpoint_resolver_gen.go b/internal/service/s3vectors/service_endpoint_resolver_gen.go new file mode 100644 index 000000000000..7e3c561112d2 --- /dev/null +++ b/internal/service/s3vectors/service_endpoint_resolver_gen.go @@ -0,0 +1,82 @@ +// Code generated by internal/generate/servicepackage/main.go; DO NOT EDIT. + +package s3vectors + +import ( + "context" + "fmt" + "net" + + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/service/s3vectors" + smithyendpoints "github.com/aws/smithy-go/endpoints" + "github.com/hashicorp/terraform-plugin-log/tflog" + "github.com/hashicorp/terraform-provider-aws/internal/errs" +) + +var _ s3vectors.EndpointResolverV2 = resolverV2{} + +type resolverV2 struct { + defaultResolver s3vectors.EndpointResolverV2 +} + +func newEndpointResolverV2() resolverV2 { + return resolverV2{ + defaultResolver: s3vectors.NewDefaultEndpointResolverV2(), + } +} + +func (r resolverV2) ResolveEndpoint(ctx context.Context, params s3vectors.EndpointParameters) (endpoint smithyendpoints.Endpoint, err error) { + params = params.WithDefaults() + useFIPS := aws.ToBool(params.UseFIPS) + + if eps := params.Endpoint; aws.ToString(eps) != "" { + tflog.Debug(ctx, "setting endpoint", map[string]any{ + "tf_aws.endpoint": endpoint, + }) + + if useFIPS { + tflog.Debug(ctx, "endpoint set, ignoring UseFIPSEndpoint setting") + params.UseFIPS = aws.Bool(false) + } + + return r.defaultResolver.ResolveEndpoint(ctx, params) + } else if useFIPS { + ctx = tflog.SetField(ctx, "tf_aws.use_fips", useFIPS) + + endpoint, err = r.defaultResolver.ResolveEndpoint(ctx, params) + if err != nil { + return endpoint, err + } + + tflog.Debug(ctx, "endpoint resolved", map[string]any{ + "tf_aws.endpoint": endpoint.URI.String(), + }) + + hostname := endpoint.URI.Hostname() + _, err = net.LookupHost(hostname) + if err != nil { + if dnsErr, ok := errs.As[*net.DNSError](err); ok && dnsErr.IsNotFound { + tflog.Debug(ctx, "default endpoint host not found, disabling FIPS", map[string]any{ + "tf_aws.hostname": hostname, + }) + params.UseFIPS = aws.Bool(false) + } else { + err = fmt.Errorf("looking up s3vectors endpoint %q: %s", hostname, err) + return + } + } else { + return endpoint, err + } + } + + return r.defaultResolver.ResolveEndpoint(ctx, params) +} + +func withBaseEndpoint(endpoint string) func(*s3vectors.Options) { + return func(o *s3vectors.Options) { + if endpoint != "" { + o.BaseEndpoint = aws.String(endpoint) + } + } +} diff --git a/internal/service/s3vectors/service_endpoints_gen_test.go b/internal/service/s3vectors/service_endpoints_gen_test.go new file mode 100644 index 000000000000..37725272d1e7 --- /dev/null +++ b/internal/service/s3vectors/service_endpoints_gen_test.go @@ -0,0 +1,602 @@ +// Code generated by internal/generate/serviceendpointtests/main.go; DO NOT EDIT. + +package s3vectors_test + +import ( + "context" + "errors" + "fmt" + "maps" + "net" + "net/url" + "os" + "path/filepath" + "reflect" + "strings" + "testing" + + "github.com/aws/aws-sdk-go-v2/aws" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/s3vectors" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" + "github.com/google/go-cmp/cmp" + "github.com/hashicorp/aws-sdk-go-base/v2/servicemocks" + "github.com/hashicorp/terraform-plugin-sdk/v2/diag" + terraformsdk "github.com/hashicorp/terraform-plugin-sdk/v2/terraform" + "github.com/hashicorp/terraform-provider-aws/internal/conns" + "github.com/hashicorp/terraform-provider-aws/internal/errs" + "github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag" + "github.com/hashicorp/terraform-provider-aws/internal/provider/sdkv2" + "github.com/hashicorp/terraform-provider-aws/names" +) + +type endpointTestCase struct { + with []setupFunc + expected caseExpectations +} + +type caseSetup struct { + config map[string]any + configFile configFile + environmentVariables map[string]string +} + +type configFile struct { + baseUrl string + serviceUrl string +} + +type caseExpectations struct { + diags diag.Diagnostics + endpoint string + region string +} + +type apiCallParams struct { + endpoint string + region string +} + +type setupFunc func(setup *caseSetup) + +type callFunc func(ctx context.Context, t *testing.T, meta *conns.AWSClient) apiCallParams + +const ( + packageNameConfigEndpoint = "https://packagename-config.endpoint.test/" + awsServiceEnvvarEndpoint = "https://service-envvar.endpoint.test/" + baseEnvvarEndpoint = "https://base-envvar.endpoint.test/" + serviceConfigFileEndpoint = "https://service-configfile.endpoint.test/" + baseConfigFileEndpoint = "https://base-configfile.endpoint.test/" +) + +const ( + packageName = "s3vectors" + awsEnvVar = "AWS_ENDPOINT_URL_S3VECTORS" + baseEnvVar = "AWS_ENDPOINT_URL" + configParam = "s3vectors" +) + +const ( + expectedCallRegion = "us-west-2" //lintignore:AWSAT003 +) + +func TestEndpointConfiguration(t *testing.T) { //nolint:paralleltest // uses t.Setenv + ctx := t.Context() + const providerRegion = "us-west-2" //lintignore:AWSAT003 + const expectedEndpointRegion = providerRegion + + testcases := map[string]endpointTestCase{ + "no config": { + with: []setupFunc{withNoConfig}, + expected: expectDefaultEndpoint(ctx, t, expectedEndpointRegion), + }, + + // Package name endpoint on Config + + "package name endpoint config": { + with: []setupFunc{ + withPackageNameEndpointInConfig, + }, + expected: expectPackageNameConfigEndpoint(), + }, + + "package name endpoint config overrides aws service envvar": { + with: []setupFunc{ + withPackageNameEndpointInConfig, + withAwsEnvVar, + }, + expected: expectPackageNameConfigEndpoint(), + }, + + "package name endpoint config overrides base envvar": { + with: []setupFunc{ + withPackageNameEndpointInConfig, + withBaseEnvVar, + }, + expected: expectPackageNameConfigEndpoint(), + }, + + "package name endpoint config overrides service config file": { + with: []setupFunc{ + withPackageNameEndpointInConfig, + withServiceEndpointInConfigFile, + }, + expected: expectPackageNameConfigEndpoint(), + }, + + "package name endpoint config overrides base config file": { + with: []setupFunc{ + withPackageNameEndpointInConfig, + withBaseEndpointInConfigFile, + }, + expected: expectPackageNameConfigEndpoint(), + }, + + // Service endpoint in AWS envvar + + "service aws envvar": { + with: []setupFunc{ + withAwsEnvVar, + }, + expected: expectAwsEnvVarEndpoint(), + }, + + "service aws envvar overrides base envvar": { + with: []setupFunc{ + withAwsEnvVar, + withBaseEnvVar, + }, + expected: expectAwsEnvVarEndpoint(), + }, + + "service aws envvar overrides service config file": { + with: []setupFunc{ + withAwsEnvVar, + withServiceEndpointInConfigFile, + }, + expected: expectAwsEnvVarEndpoint(), + }, + + "service aws envvar overrides base config file": { + with: []setupFunc{ + withAwsEnvVar, + withBaseEndpointInConfigFile, + }, + expected: expectAwsEnvVarEndpoint(), + }, + + // Base endpoint in envvar + + "base endpoint envvar": { + with: []setupFunc{ + withBaseEnvVar, + }, + expected: expectBaseEnvVarEndpoint(), + }, + + "base endpoint envvar overrides service config file": { + with: []setupFunc{ + withBaseEnvVar, + withServiceEndpointInConfigFile, + }, + expected: expectBaseEnvVarEndpoint(), + }, + + "base endpoint envvar overrides base config file": { + with: []setupFunc{ + withBaseEnvVar, + withBaseEndpointInConfigFile, + }, + expected: expectBaseEnvVarEndpoint(), + }, + + // Service endpoint in config file + + "service config file": { + with: []setupFunc{ + withServiceEndpointInConfigFile, + }, + expected: expectServiceConfigFileEndpoint(), + }, + + "service config file overrides base config file": { + with: []setupFunc{ + withServiceEndpointInConfigFile, + withBaseEndpointInConfigFile, + }, + expected: expectServiceConfigFileEndpoint(), + }, + + // Base endpoint in config file + + "base endpoint config file": { + with: []setupFunc{ + withBaseEndpointInConfigFile, + }, + expected: expectBaseConfigFileEndpoint(), + }, + + // Use FIPS endpoint on Config + + "use fips config": { + with: []setupFunc{ + withUseFIPSInConfig, + }, + expected: expectDefaultFIPSEndpoint(ctx, t, expectedEndpointRegion), + }, + + "use fips config with package name endpoint config": { + with: []setupFunc{ + withUseFIPSInConfig, + withPackageNameEndpointInConfig, + }, + expected: expectPackageNameConfigEndpoint(), + }, + } + + for name, testcase := range testcases { //nolint:paralleltest // uses t.Setenv + t.Run(name, func(t *testing.T) { + testEndpointCase(ctx, t, providerRegion, testcase, callService) + }) + } +} + +func defaultEndpoint(ctx context.Context, region string) (url.URL, error) { + r := s3vectors.NewDefaultEndpointResolverV2() + + ep, err := r.ResolveEndpoint(ctx, s3vectors.EndpointParameters{ + Region: aws.String(region), + }) + if err != nil { + return url.URL{}, err + } + + if ep.URI.Path == "" { + ep.URI.Path = "/" + } + + return ep.URI, nil +} + +func defaultFIPSEndpoint(ctx context.Context, region string) (url.URL, error) { + r := s3vectors.NewDefaultEndpointResolverV2() + + ep, err := r.ResolveEndpoint(ctx, s3vectors.EndpointParameters{ + Region: aws.String(region), + UseFIPS: aws.Bool(true), + }) + if err != nil { + return url.URL{}, err + } + + if ep.URI.Path == "" { + ep.URI.Path = "/" + } + + return ep.URI, nil +} + +func callService(ctx context.Context, t *testing.T, meta *conns.AWSClient) apiCallParams { + t.Helper() + + client := meta.S3VectorsClient(ctx) + + var result apiCallParams + + input := s3vectors.ListVectorBucketsInput{} + _, err := client.ListVectorBuckets(ctx, &input, + func(opts *s3vectors.Options) { + opts.APIOptions = append(opts.APIOptions, + addRetrieveEndpointURLMiddleware(t, &result.endpoint), + addRetrieveRegionMiddleware(&result.region), + addCancelRequestMiddleware(), + ) + }, + ) + if err == nil { + t.Fatal("Expected an error, got none") + } else if !errors.Is(err, errCancelOperation) { + t.Fatalf("Unexpected error: %s", err) + } + + return result +} + +func withNoConfig(_ *caseSetup) { + // no-op +} + +func withPackageNameEndpointInConfig(setup *caseSetup) { + if _, ok := setup.config[names.AttrEndpoints]; !ok { + setup.config[names.AttrEndpoints] = []any{ + map[string]any{}, + } + } + endpoints := setup.config[names.AttrEndpoints].([]any)[0].(map[string]any) + endpoints[packageName] = packageNameConfigEndpoint +} + +func withAwsEnvVar(setup *caseSetup) { + setup.environmentVariables[awsEnvVar] = awsServiceEnvvarEndpoint +} + +func withBaseEnvVar(setup *caseSetup) { + setup.environmentVariables[baseEnvVar] = baseEnvvarEndpoint +} + +func withServiceEndpointInConfigFile(setup *caseSetup) { + setup.configFile.serviceUrl = serviceConfigFileEndpoint +} + +func withBaseEndpointInConfigFile(setup *caseSetup) { + setup.configFile.baseUrl = baseConfigFileEndpoint +} + +func withUseFIPSInConfig(setup *caseSetup) { + setup.config["use_fips_endpoint"] = true +} + +func expectDefaultEndpoint(ctx context.Context, t *testing.T, region string) caseExpectations { + t.Helper() + + endpoint, err := defaultEndpoint(ctx, region) + if err != nil { + t.Fatalf("resolving accessanalyzer default endpoint: %s", err) + } + + return caseExpectations{ + endpoint: endpoint.String(), + region: expectedCallRegion, + } +} + +func expectDefaultFIPSEndpoint(ctx context.Context, t *testing.T, region string) caseExpectations { + t.Helper() + + endpoint, err := defaultFIPSEndpoint(ctx, region) + if err != nil { + t.Fatalf("resolving accessanalyzer FIPS endpoint: %s", err) + } + + hostname := endpoint.Hostname() + _, err = net.LookupHost(hostname) + if dnsErr, ok := errs.As[*net.DNSError](err); ok && dnsErr.IsNotFound { + return expectDefaultEndpoint(ctx, t, region) + } else if err != nil { + t.Fatalf("looking up accessanalyzer endpoint %q: %s", hostname, err) + } + + return caseExpectations{ + endpoint: endpoint.String(), + region: expectedCallRegion, + } +} + +func expectPackageNameConfigEndpoint() caseExpectations { + return caseExpectations{ + endpoint: packageNameConfigEndpoint, + region: expectedCallRegion, + } +} + +func expectAwsEnvVarEndpoint() caseExpectations { + return caseExpectations{ + endpoint: awsServiceEnvvarEndpoint, + region: expectedCallRegion, + } +} + +func expectBaseEnvVarEndpoint() caseExpectations { + return caseExpectations{ + endpoint: baseEnvvarEndpoint, + region: expectedCallRegion, + } +} + +func expectServiceConfigFileEndpoint() caseExpectations { + return caseExpectations{ + endpoint: serviceConfigFileEndpoint, + region: expectedCallRegion, + } +} + +func expectBaseConfigFileEndpoint() caseExpectations { + return caseExpectations{ + endpoint: baseConfigFileEndpoint, + region: expectedCallRegion, + } +} + +func testEndpointCase(ctx context.Context, t *testing.T, region string, testcase endpointTestCase, callF callFunc) { + t.Helper() + + setup := caseSetup{ + config: map[string]any{}, + environmentVariables: map[string]string{}, + } + + for _, f := range testcase.with { + f(&setup) + } + + config := map[string]any{ + names.AttrAccessKey: servicemocks.MockStaticAccessKey, + names.AttrSecretKey: servicemocks.MockStaticSecretKey, + names.AttrRegion: region, + names.AttrSkipCredentialsValidation: true, + names.AttrSkipRequestingAccountID: true, + } + + maps.Copy(config, setup.config) + + if setup.configFile.baseUrl != "" || setup.configFile.serviceUrl != "" { + config[names.AttrProfile] = "default" + tempDir := t.TempDir() + writeSharedConfigFile(t, &config, tempDir, generateSharedConfigFile(setup.configFile)) + } + + for k, v := range setup.environmentVariables { + t.Setenv(k, v) + } + + p, err := sdkv2.NewProvider(ctx) + if err != nil { + t.Fatal(err) + } + + p.TerraformVersion = "1.0.0" + + expectedDiags := testcase.expected.diags + diags := p.Configure(ctx, terraformsdk.NewResourceConfigRaw(config)) + + if diff := cmp.Diff(diags, expectedDiags, cmp.Comparer(sdkdiag.Comparer)); diff != "" { + t.Errorf("unexpected diagnostics difference: %s", diff) + } + + if diags.HasError() { + return + } + + meta := p.Meta().(*conns.AWSClient) + + callParams := callF(ctx, t, meta) + + if e, a := testcase.expected.endpoint, callParams.endpoint; e != a { + t.Errorf("expected endpoint %q, got %q", e, a) + } + + if e, a := testcase.expected.region, callParams.region; e != a { + t.Errorf("expected region %q, got %q", e, a) + } +} + +func addRetrieveEndpointURLMiddleware(t *testing.T, endpoint *string) func(*middleware.Stack) error { + return func(stack *middleware.Stack) error { + return stack.Finalize.Add( + retrieveEndpointURLMiddleware(t, endpoint), + middleware.After, + ) + } +} + +func retrieveEndpointURLMiddleware(t *testing.T, endpoint *string) middleware.FinalizeMiddleware { + return middleware.FinalizeMiddlewareFunc( + "Test: Retrieve Endpoint", + func(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (middleware.FinalizeOutput, middleware.Metadata, error) { + t.Helper() + + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + t.Fatalf("Expected *github.com/aws/smithy-go/transport/http.Request, got %s", fullTypeName(in.Request)) + } + + url := request.URL + url.RawQuery = "" + url.Path = "/" + + *endpoint = url.String() + + return next.HandleFinalize(ctx, in) + }) +} + +func addRetrieveRegionMiddleware(region *string) func(*middleware.Stack) error { + return func(stack *middleware.Stack) error { + return stack.Serialize.Add( + retrieveRegionMiddleware(region), + middleware.After, + ) + } +} + +func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { + return middleware.SerializeMiddlewareFunc( + "Test: Retrieve Region", + func(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (middleware.SerializeOutput, middleware.Metadata, error) { + *region = awsmiddleware.GetRegion(ctx) + + return next.HandleSerialize(ctx, in) + }, + ) +} + +var errCancelOperation = fmt.Errorf("Test: Canceling request") + +func addCancelRequestMiddleware() func(*middleware.Stack) error { + return func(stack *middleware.Stack) error { + return stack.Finalize.Add( + cancelRequestMiddleware(), + middleware.After, + ) + } +} + +// cancelRequestMiddleware creates a Smithy middleware that intercepts the request before sending and cancels it +func cancelRequestMiddleware() middleware.FinalizeMiddleware { + return middleware.FinalizeMiddlewareFunc( + "Test: Cancel Requests", + func(_ context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (middleware.FinalizeOutput, middleware.Metadata, error) { + return middleware.FinalizeOutput{}, middleware.Metadata{}, errCancelOperation + }) +} + +func fullTypeName(i any) string { + return fullValueTypeName(reflect.ValueOf(i)) +} + +func fullValueTypeName(v reflect.Value) string { + if v.Kind() == reflect.Ptr { + return "*" + fullValueTypeName(reflect.Indirect(v)) + } + + requestType := v.Type() + return fmt.Sprintf("%s.%s", requestType.PkgPath(), requestType.Name()) +} + +func generateSharedConfigFile(config configFile) string { + var buf strings.Builder + + buf.WriteString(` +[default] +aws_access_key_id = DefaultSharedCredentialsAccessKey +aws_secret_access_key = DefaultSharedCredentialsSecretKey +`) + if config.baseUrl != "" { + fmt.Fprintf(&buf, "endpoint_url = %s\n", config.baseUrl) + } + + if config.serviceUrl != "" { + fmt.Fprintf(&buf, ` +services = endpoint-test + +[services endpoint-test] +%[1]s = + endpoint_url = %[2]s +`, configParam, serviceConfigFileEndpoint) + } + + return buf.String() +} + +func writeSharedConfigFile(t *testing.T, config *map[string]any, tempDir, content string) string { + t.Helper() + + file, err := os.Create(filepath.Join(tempDir, "aws-sdk-go-base-shared-configuration-file")) + if err != nil { + t.Fatalf("creating shared configuration file: %s", err) + } + + _, err = file.WriteString(content) + if err != nil { + t.Fatalf(" writing shared configuration file: %s", err) + } + + if v, ok := (*config)[names.AttrSharedConfigFiles]; !ok { + (*config)[names.AttrSharedConfigFiles] = []any{file.Name()} + } else { + (*config)[names.AttrSharedConfigFiles] = append(v.([]any), file.Name()) + } + + return file.Name() +} diff --git a/internal/service/s3vectors/service_package_gen.go b/internal/service/s3vectors/service_package_gen.go new file mode 100644 index 000000000000..322b72386a78 --- /dev/null +++ b/internal/service/s3vectors/service_package_gen.go @@ -0,0 +1,88 @@ +// Code generated by internal/generate/servicepackage/main.go; DO NOT EDIT. + +package s3vectors + +import ( + "context" + + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/aws/retry" + "github.com/aws/aws-sdk-go-v2/service/s3vectors" + "github.com/hashicorp/terraform-plugin-log/tflog" + "github.com/hashicorp/terraform-provider-aws/internal/conns" + inttypes "github.com/hashicorp/terraform-provider-aws/internal/types" + "github.com/hashicorp/terraform-provider-aws/internal/vcr" + "github.com/hashicorp/terraform-provider-aws/names" +) + +type servicePackage struct{} + +func (p *servicePackage) FrameworkDataSources(ctx context.Context) []*inttypes.ServicePackageFrameworkDataSource { + return []*inttypes.ServicePackageFrameworkDataSource{} +} + +func (p *servicePackage) FrameworkResources(ctx context.Context) []*inttypes.ServicePackageFrameworkResource { + return []*inttypes.ServicePackageFrameworkResource{} +} + +func (p *servicePackage) SDKDataSources(ctx context.Context) []*inttypes.ServicePackageSDKDataSource { + return []*inttypes.ServicePackageSDKDataSource{} +} + +func (p *servicePackage) SDKResources(ctx context.Context) []*inttypes.ServicePackageSDKResource { + return []*inttypes.ServicePackageSDKResource{} +} + +func (p *servicePackage) ServicePackageName() string { + return names.S3Vectors +} + +// NewClient returns a new AWS SDK for Go v2 client for this service package's AWS API. +func (p *servicePackage) NewClient(ctx context.Context, config map[string]any) (*s3vectors.Client, error) { + cfg := *(config["aws_sdkv2_config"].(*aws.Config)) + optFns := []func(*s3vectors.Options){ + s3vectors.WithEndpointResolverV2(newEndpointResolverV2()), + withBaseEndpoint(config[names.AttrEndpoint].(string)), + func(o *s3vectors.Options) { + if region := config[names.AttrRegion].(string); o.Region != region { + tflog.Info(ctx, "overriding provider-configured AWS API region", map[string]any{ + "service": p.ServicePackageName(), + "original_region": o.Region, + "override_region": region, + }) + o.Region = region + } + }, + func(o *s3vectors.Options) { + if inContext, ok := conns.FromContext(ctx); ok && inContext.VCREnabled() { + tflog.Info(ctx, "overriding retry behavior to immediately return VCR errors") + o.Retryer = conns.AddIsErrorRetryables(cfg.Retryer().(aws.RetryerV2), retry.IsErrorRetryableFunc(vcr.InteractionNotFoundRetryableFunc)) + } + }, + withExtraOptions(ctx, p, config), + } + + return s3vectors.NewFromConfig(cfg, optFns...), nil +} + +// withExtraOptions returns a functional option that allows this service package to specify extra API client options. +// This option is always called after any generated options. +func withExtraOptions(ctx context.Context, sp conns.ServicePackage, config map[string]any) func(*s3vectors.Options) { + if v, ok := sp.(interface { + withExtraOptions(context.Context, map[string]any) []func(*s3vectors.Options) + }); ok { + optFns := v.withExtraOptions(ctx, config) + + return func(o *s3vectors.Options) { + for _, optFn := range optFns { + optFn(o) + } + } + } + + return func(*s3vectors.Options) {} +} + +func ServicePackage(ctx context.Context) conns.ServicePackage { + return &servicePackage{} +} diff --git a/internal/sweep/service_packages_gen_test.go b/internal/sweep/service_packages_gen_test.go index b4930936066d..b441c7f491b5 100644 --- a/internal/sweep/service_packages_gen_test.go +++ b/internal/sweep/service_packages_gen_test.go @@ -215,6 +215,7 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/service/s3control" "github.com/hashicorp/terraform-provider-aws/internal/service/s3outposts" "github.com/hashicorp/terraform-provider-aws/internal/service/s3tables" + "github.com/hashicorp/terraform-provider-aws/internal/service/s3vectors" "github.com/hashicorp/terraform-provider-aws/internal/service/sagemaker" "github.com/hashicorp/terraform-provider-aws/internal/service/scheduler" "github.com/hashicorp/terraform-provider-aws/internal/service/schemas" @@ -471,6 +472,7 @@ func servicePackages(ctx context.Context) []conns.ServicePackage { s3control.ServicePackage(ctx), s3outposts.ServicePackage(ctx), s3tables.ServicePackage(ctx), + s3vectors.ServicePackage(ctx), sagemaker.ServicePackage(ctx), scheduler.ServicePackage(ctx), schemas.ServicePackage(ctx), diff --git a/names/consts_gen.go b/names/consts_gen.go index 891ae53defe0..cafbb5b6cb00 100644 --- a/names/consts_gen.go +++ b/names/consts_gen.go @@ -209,6 +209,7 @@ const ( S3Control = "s3control" S3Outposts = "s3outposts" S3Tables = "s3tables" + S3Vectors = "s3vectors" SES = "ses" SESV2 = "sesv2" SFN = "sfn" @@ -465,6 +466,7 @@ const ( S3ControlServiceID = "S3 Control" S3OutpostsServiceID = "S3Outposts" S3TablesServiceID = "S3Tables" + S3VectorsServiceID = "S3Vectors" SESServiceID = "SES" SESV2ServiceID = "SESv2" SFNServiceID = "SFN" diff --git a/website/allowed-subcategories.txt b/website/allowed-subcategories.txt index cd54f7ea7596..841dd34234a8 100644 --- a/website/allowed-subcategories.txt +++ b/website/allowed-subcategories.txt @@ -208,6 +208,7 @@ S3 (Simple Storage) S3 Control S3 Glacier S3 Tables +S3 Vectors S3 on Outposts SES (Simple Email) SESv2 (Simple Email V2) diff --git a/website/docs/guides/custom-service-endpoints.html.markdown b/website/docs/guides/custom-service-endpoints.html.markdown index ee8b28828e8b..973f1110da8b 100644 --- a/website/docs/guides/custom-service-endpoints.html.markdown +++ b/website/docs/guides/custom-service-endpoints.html.markdown @@ -290,6 +290,7 @@ provider "aws" { |S3 Control|`s3control`|`AWS_ENDPOINT_URL_S3_CONTROL`|`s3_control`| |S3 on Outposts|`s3outposts`|`AWS_ENDPOINT_URL_S3OUTPOSTS`|`s3outposts`| |S3 Tables|`s3tables`|`AWS_ENDPOINT_URL_S3TABLES`|`s3tables`| +|S3 Vectors|`s3vectors`|`AWS_ENDPOINT_URL_S3VECTORS`|`s3vectors`| |SageMaker AI|`sagemaker`|`AWS_ENDPOINT_URL_SAGEMAKER`|`sagemaker`| |EventBridge Scheduler|`scheduler`|`AWS_ENDPOINT_URL_SCHEDULER`|`scheduler`| |EventBridge Schemas|`schemas`|`AWS_ENDPOINT_URL_SCHEMAS`|`schemas`| From fe978ce4499b651571b13f86156204ad1ab910d1 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 11:29:43 -0400 Subject: [PATCH 0173/1301] Run 'make clean-tidy'. --- go.sum | 2 ++ tools/tfsdk2fw/go.mod | 1 + tools/tfsdk2fw/go.sum | 2 ++ 3 files changed, 5 insertions(+) diff --git a/go.sum b/go.sum index 6609d5141c6e..6028a48dc93d 100644 --- a/go.sum +++ b/go.sum @@ -467,6 +467,8 @@ github.com/aws/aws-sdk-go-v2/service/s3outposts v1.30.1 h1:iOFQNXtgNsVQjQLJQTvGC github.com/aws/aws-sdk-go-v2/service/s3outposts v1.30.1/go.mod h1:ANvlkElAoLD7KBmZAXJv+BmB42Ifw8DhKb4eEhmveMA= github.com/aws/aws-sdk-go-v2/service/s3tables v1.7.1 h1:Shyve/4zbd4pdKluYyXtcrBoZ1Olwodu/lbL9Dc6xOo= github.com/aws/aws-sdk-go-v2/service/s3tables v1.7.1/go.mod h1:7M+LyYRRMZQOXS/7SbLOFKuFPp4+SsqDMmyoxzX8YGU= +github.com/aws/aws-sdk-go-v2/service/s3vectors v1.1.1 h1:kruR8Vsq1X+yxFmZDUAgCljls+P4MZ6bXVzbhxpZrOw= +github.com/aws/aws-sdk-go-v2/service/s3vectors v1.1.1/go.mod h1:uyF8Eit5weVQfdK1nzux4gEDE3FpY8Kl3QrLrrFfmrE= github.com/aws/aws-sdk-go-v2/service/sagemaker v1.203.1 h1:jjitDItJQ3kdF5Jtkr1JMQ2Miu+X1axdpv+uJmU5eu4= github.com/aws/aws-sdk-go-v2/service/sagemaker v1.203.1/go.mod h1:VTFTvNY3kYVqdwZBTRSfnqQBBuBGtRjUSOFGIHDy4AI= github.com/aws/aws-sdk-go-v2/service/scheduler v1.14.1 h1:Q2mO7GN5wcU4HVWXLT3Wwu317fiAwkiUoq0QeiqsZBY= diff --git a/tools/tfsdk2fw/go.mod b/tools/tfsdk2fw/go.mod index 3a6da948ec69..8e2ecdf2cd3b 100644 --- a/tools/tfsdk2fw/go.mod +++ b/tools/tfsdk2fw/go.mod @@ -240,6 +240,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/s3control v1.62.0 // indirect github.com/aws/aws-sdk-go-v2/service/s3outposts v1.30.1 // indirect github.com/aws/aws-sdk-go-v2/service/s3tables v1.7.1 // indirect + github.com/aws/aws-sdk-go-v2/service/s3vectors v1.1.1 // indirect github.com/aws/aws-sdk-go-v2/service/sagemaker v1.203.1 // indirect github.com/aws/aws-sdk-go-v2/service/scheduler v1.14.1 // indirect github.com/aws/aws-sdk-go-v2/service/schemas v1.30.1 // indirect diff --git a/tools/tfsdk2fw/go.sum b/tools/tfsdk2fw/go.sum index 23f01acf56f6..19860a7b9a4f 100644 --- a/tools/tfsdk2fw/go.sum +++ b/tools/tfsdk2fw/go.sum @@ -467,6 +467,8 @@ github.com/aws/aws-sdk-go-v2/service/s3outposts v1.30.1 h1:iOFQNXtgNsVQjQLJQTvGC github.com/aws/aws-sdk-go-v2/service/s3outposts v1.30.1/go.mod h1:ANvlkElAoLD7KBmZAXJv+BmB42Ifw8DhKb4eEhmveMA= github.com/aws/aws-sdk-go-v2/service/s3tables v1.7.1 h1:Shyve/4zbd4pdKluYyXtcrBoZ1Olwodu/lbL9Dc6xOo= github.com/aws/aws-sdk-go-v2/service/s3tables v1.7.1/go.mod h1:7M+LyYRRMZQOXS/7SbLOFKuFPp4+SsqDMmyoxzX8YGU= +github.com/aws/aws-sdk-go-v2/service/s3vectors v1.1.1 h1:kruR8Vsq1X+yxFmZDUAgCljls+P4MZ6bXVzbhxpZrOw= +github.com/aws/aws-sdk-go-v2/service/s3vectors v1.1.1/go.mod h1:uyF8Eit5weVQfdK1nzux4gEDE3FpY8Kl3QrLrrFfmrE= github.com/aws/aws-sdk-go-v2/service/sagemaker v1.203.1 h1:jjitDItJQ3kdF5Jtkr1JMQ2Miu+X1axdpv+uJmU5eu4= github.com/aws/aws-sdk-go-v2/service/sagemaker v1.203.1/go.mod h1:VTFTvNY3kYVqdwZBTRSfnqQBBuBGtRjUSOFGIHDy4AI= github.com/aws/aws-sdk-go-v2/service/scheduler v1.14.1 h1:Q2mO7GN5wcU4HVWXLT3Wwu317fiAwkiUoq0QeiqsZBY= From ef5814445fc026f438e32c4ad91f325aba10c421 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 11:38:51 -0400 Subject: [PATCH 0174/1301] r/aws_quicksight_user_custom_permission: Initial acceptance test. --- .../quicksight/user_custom_permission_test.go | 132 ++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 internal/service/quicksight/user_custom_permission_test.go diff --git a/internal/service/quicksight/user_custom_permission_test.go b/internal/service/quicksight/user_custom_permission_test.go new file mode 100644 index 000000000000..f81506352c22 --- /dev/null +++ b/internal/service/quicksight/user_custom_permission_test.go @@ -0,0 +1,132 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package quicksight_test + +import ( + "context" + "fmt" + "testing" + + sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/terraform" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfknownvalue "github.com/hashicorp/terraform-provider-aws/internal/acctest/knownvalue" + "github.com/hashicorp/terraform-provider-aws/internal/conns" + tfquicksight "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight" + "github.com/hashicorp/terraform-provider-aws/internal/tfresource" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccQuickSightUserCustomPermission_basic(t *testing.T) { + ctx := acctest.Context(t) + rName := "tfacctest" + sdkacctest.RandString(10) + resourceName := "aws_quicksight_user_custom_permission.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckUserCustomPermissionDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccUserCustomPermissionConfig_basic(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckUserCustomPermissionExists(ctx, resourceName), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrAWSAccountID), tfknownvalue.AccountID()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("custom_permissions_name"), knownvalue.StringExact(rName+"-perm")), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrNamespace), knownvalue.StringExact(tfquicksight.DefaultNamespace)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrUserName), knownvalue.StringExact(rName)), + }, + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateIdFunc: testAccUserCustomPermissionImportStateID(resourceName), + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", + }, + }, + }) +} + +func testAccCheckUserCustomPermissionDestroy(ctx context.Context) resource.TestCheckFunc { + return func(s *terraform.State) error { + conn := acctest.Provider.Meta().(*conns.AWSClient).QuickSightClient(ctx) + + for _, rs := range s.RootModule().Resources { + if rs.Type != "aws_quicksight_user_custom_permission" { + continue + } + + _, err := tfquicksight.FindUserCustomPermissionByThreePartKey(ctx, conn, rs.Primary.Attributes[names.AttrAWSAccountID], rs.Primary.Attributes[names.AttrNamespace], rs.Primary.Attributes[names.AttrUserName]) + + if tfresource.NotFound(err) { + continue + } + + if err != nil { + return err + } + + return fmt.Errorf("QuickSight User Custom Permission (%s) still exists", rs.Primary.Attributes[names.AttrUserName]) + } + + return nil + } +} + +func testAccCheckUserCustomPermissionExists(ctx context.Context, n string) resource.TestCheckFunc { + return func(s *terraform.State) error { + rs, ok := s.RootModule().Resources[n] + if !ok { + return fmt.Errorf("Not found: %s", n) + } + + conn := acctest.Provider.Meta().(*conns.AWSClient).QuickSightClient(ctx) + + _, err := tfquicksight.FindUserCustomPermissionByThreePartKey(ctx, conn, rs.Primary.Attributes[names.AttrAWSAccountID], rs.Primary.Attributes[names.AttrNamespace], rs.Primary.Attributes[names.AttrUserName]) + + return err + } +} + +func testAccUserCustomPermissionImportStateID(n string) resource.ImportStateIdFunc { + return func(s *terraform.State) (string, error) { + return acctest.AttrsImportStateIdFunc(n, ",", names.AttrAWSAccountID, names.AttrNamespace, names.AttrUserName)(s) + } +} + +func testAccUserCustomPermissionConfig_basic(rName string) string { + return acctest.ConfigCompose(testAccCustomPermissionsConfig_basic(rName+"-perm"), fmt.Sprintf(` +resource "aws_quicksight_user" "test" { + user_name = %[1]q + email = %[2]q + identity_type = "QUICKSIGHT" + user_role = "READER" +} + +resource "aws_quicksight_user_custom_permission" "test" { + user_name = aws_quicksight_user.test.user_name + custom_permissions_name = aws_quicksight_custom_permissions.test.custom_permissions_name +} +`, rName, acctest.DefaultEmailAddress)) +} From 507210d40dd52d6907c78afdc1b5da531392ceb3 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 11:39:09 -0400 Subject: [PATCH 0175/1301] Acceptance test output: % make testacc TESTARGS='-run=TestAccQuickSightUserCustomPermission_' PKG=quicksight ACCTEST_PARALLELISM=2 make: Verifying source code with gofmt... ==> Checking that code complies with gofmt requirements... TF_ACC=1 go1.24.5 test ./internal/service/quicksight/... -v -count 1 -parallel 2 -run=TestAccQuickSightUserCustomPermission_ -timeout 360m -vet=off 2025/08/01 11:37:10 Creating Terraform AWS Provider (SDKv2-style)... 2025/08/01 11:37:10 Initializing Terraform AWS Provider (SDKv2-style)... === RUN TestAccQuickSightUserCustomPermission_basic === PAUSE TestAccQuickSightUserCustomPermission_basic === CONT TestAccQuickSightUserCustomPermission_basic --- PASS: TestAccQuickSightUserCustomPermission_basic (24.05s) PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/quicksight 29.415s testing: warning: no tests to run PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/quicksight/schema 0.318s [no tests to run] From fd18e67419c8832b28ec7e48e3764b300864e603 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 11:44:11 -0400 Subject: [PATCH 0176/1301] r/aws_quicksight_user_custom_permission: Additional acceptance tests. --- .../quicksight/user_custom_permission_test.go | 117 ++++++++++++++++++ 1 file changed, 117 insertions(+) diff --git a/internal/service/quicksight/user_custom_permission_test.go b/internal/service/quicksight/user_custom_permission_test.go index f81506352c22..1508587fd5f0 100644 --- a/internal/service/quicksight/user_custom_permission_test.go +++ b/internal/service/quicksight/user_custom_permission_test.go @@ -68,6 +68,97 @@ func TestAccQuickSightUserCustomPermission_basic(t *testing.T) { }) } +func TestAccQuickSightUserCustomPermission_disappears(t *testing.T) { + ctx := acctest.Context(t) + rName := "tfacctest" + sdkacctest.RandString(10) + resourceName := "aws_quicksight_user_custom_permission.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckUserCustomPermissionDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccUserCustomPermissionConfig_basic(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckUserCustomPermissionExists(ctx, resourceName), + acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfquicksight.ResourceUserCustomPermission, resourceName), + ), + ExpectNonEmptyPlan: true, + }, + }, + }) +} + +func TestAccQuickSightUserCustomPermission_update(t *testing.T) { + ctx := acctest.Context(t) + rName := "tfacctest" + sdkacctest.RandString(10) + resourceName := "aws_quicksight_user_custom_permission.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.QuickSightServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckUserCustomPermissionDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccUserCustomPermissionConfig_basic(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckUserCustomPermissionExists(ctx, resourceName), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrAWSAccountID), tfknownvalue.AccountID()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("custom_permissions_name"), knownvalue.StringExact(rName+"-perm")), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrNamespace), knownvalue.StringExact(tfquicksight.DefaultNamespace)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrUserName), knownvalue.StringExact(rName)), + }, + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateIdFunc: testAccUserCustomPermissionImportStateID(resourceName), + ImportStateVerifyIdentifierAttribute: "custom_permissions_name", + }, + { + Config: testAccUserCustomPermissionConfig_updated(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckUserCustomPermissionExists(ctx, resourceName), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrAWSAccountID), tfknownvalue.AccountID()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("custom_permissions_name"), knownvalue.StringExact(rName+"-perm2")), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrNamespace), knownvalue.StringExact(tfquicksight.DefaultNamespace)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrUserName), knownvalue.StringExact(rName)), + }, + }, + }, + }) +} + func testAccCheckUserCustomPermissionDestroy(ctx context.Context) resource.TestCheckFunc { return func(s *terraform.State) error { conn := acctest.Provider.Meta().(*conns.AWSClient).QuickSightClient(ctx) @@ -130,3 +221,29 @@ resource "aws_quicksight_user_custom_permission" "test" { } `, rName, acctest.DefaultEmailAddress)) } + +func testAccUserCustomPermissionConfig_updated(rName string) string { + return acctest.ConfigCompose(testAccCustomPermissionsConfig_basic(rName+"-perm"), fmt.Sprintf(` +resource "aws_quicksight_custom_permissions" "test2" { + custom_permissions_name = "%[1]s-perm2" + + capabilities { + create_and_update_datasets = "DENY" + create_and_update_data_sources = "DENY" + export_to_pdf = "DENY" + } +} + +resource "aws_quicksight_user" "test" { + user_name = %[1]q + email = %[2]q + identity_type = "QUICKSIGHT" + user_role = "READER" +} + +resource "aws_quicksight_user_custom_permission" "test" { + user_name = aws_quicksight_user.test.user_name + custom_permissions_name = aws_quicksight_custom_permissions.test2.custom_permissions_name +} +`, rName, acctest.DefaultEmailAddress)) +} From 5e1955d32c63b857e243e8a95f1740bed602195d Mon Sep 17 00:00:00 2001 From: hhassen Date: Fri, 1 Aug 2025 17:53:21 +0200 Subject: [PATCH 0177/1301] fix: avoid PrefixListVersionMismatch when changing description of entries --- .../service/ec2/vpc_managed_prefix_list.go | 4 +- .../ec2/vpc_managed_prefix_list_test.go | 50 +++++++++++++++++++ 2 files changed, 52 insertions(+), 2 deletions(-) diff --git a/internal/service/ec2/vpc_managed_prefix_list.go b/internal/service/ec2/vpc_managed_prefix_list.go index 6d1eb93d0fbf..aea314e1906c 100644 --- a/internal/service/ec2/vpc_managed_prefix_list.go +++ b/internal/service/ec2/vpc_managed_prefix_list.go @@ -248,12 +248,12 @@ func resourceManagedPrefixListUpdate(ctx context.Context, d *schema.ResourceData } if len(descriptionOnlyRemovals) > 0 { - input := ec2.ModifyManagedPrefixListInput{ + removeInput := ec2.ModifyManagedPrefixListInput{ CurrentVersion: input.CurrentVersion, PrefixListId: aws.String(d.Id()), RemoveEntries: descriptionOnlyRemovals, } - _, err := conn.ModifyManagedPrefixList(ctx, &input) + _, err := conn.ModifyManagedPrefixList(ctx, &removeInput) if err != nil { return sdkdiag.AppendErrorf(diags, "updating EC2 Managed Prefix List (%s): %s", d.Id(), err) diff --git a/internal/service/ec2/vpc_managed_prefix_list_test.go b/internal/service/ec2/vpc_managed_prefix_list_test.go index 6f4bb6894295..20b387018798 100644 --- a/internal/service/ec2/vpc_managed_prefix_list_test.go +++ b/internal/service/ec2/vpc_managed_prefix_list_test.go @@ -358,6 +358,41 @@ func TestAccVPCManagedPrefixList_tags(t *testing.T) { }) } +func TestAccVPCManagedPrefixList_descriptionOnlyChange(t *testing.T) { + ctx := acctest.Context(t) + resourceName := "aws_ec2_managed_prefix_list.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t); testAccPreCheckManagedPrefixList(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.EC2ServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckManagedPrefixListDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccVPCManagedPrefixListConfig_simpleDescriptionChange(rName, "old description"), + Check: resource.ComposeAggregateTestCheckFunc( + testAccManagedPrefixListExists(ctx, resourceName), + resource.TestCheckResourceAttr(resourceName, "entry.#", "1"), + ), + }, + { + // This reproduces the bug: change ONLY the description + // Before the fix, this would fail with "PrefixListVersionMismatch" + Config: testAccVPCManagedPrefixListConfig_simpleDescriptionChange(rName, "new description"), + Check: resource.ComposeAggregateTestCheckFunc( + testAccManagedPrefixListExists(ctx, resourceName), + resource.TestCheckResourceAttr(resourceName, "entry.#", "1"), + resource.TestCheckTypeSetElemNestedAttrs(resourceName, "entry.*", map[string]string{ + "cidr": "1.0.0.0/8", + names.AttrDescription: "new description", + }), + ), + }, + }, + }) +} + func testAccCheckManagedPrefixListDestroy(ctx context.Context) resource.TestCheckFunc { return func(s *terraform.State) error { conn := acctest.Provider.Meta().(*conns.AWSClient).EC2Client(ctx) @@ -556,3 +591,18 @@ resource "aws_ec2_managed_prefix_list" "test" { } `, rName, tagKey1, tagValue1, tagKey2, tagValue2) } + +func testAccVPCManagedPrefixListConfig_simpleDescriptionChange(rName string, description string) string { + return fmt.Sprintf(` +resource "aws_ec2_managed_prefix_list" "test" { + address_family = "IPv4" + max_entries = 1 + name = %[1]q + + entry { + cidr = "1.0.0.0/8" + description = %[2]q + } +} +`, rName, description) +} From 61e01bea1acd87562fd3ff19b7d7f04dd2a3469a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 12:02:47 -0400 Subject: [PATCH 0178/1301] d/aws_quicksight_user: Add `custom_permissions_name` attribute. --- .changelog/43613.txt | 4 ++++ internal/service/quicksight/user_data_source.go | 5 +++++ internal/service/quicksight/user_data_source_test.go | 7 ++++--- website/docs/d/quicksight_analysis.html.markdown | 4 ++-- website/docs/d/quicksight_data_set.html.markdown | 4 ++-- website/docs/d/quicksight_group.html.markdown | 4 ++-- website/docs/d/quicksight_theme.html.markdown | 2 +- website/docs/d/quicksight_user.html.markdown | 5 +++-- 8 files changed, 23 insertions(+), 12 deletions(-) diff --git a/.changelog/43613.txt b/.changelog/43613.txt index 10555fa2fd08..7e7aa90d51ce 100644 --- a/.changelog/43613.txt +++ b/.changelog/43613.txt @@ -24,4 +24,8 @@ resource/aws_quicksight_user: Support `RESTRICTED_AUTHOR` and `RESTRICTED_READER ```release-note:enhancement resource/aws_quicksight_user: Add plan-time validation of `iam_arn` +``` + +```release-note:enhancement +data-source/aws_quicksight_user: Add `custom_permissions_name` attribute ``` \ No newline at end of file diff --git a/internal/service/quicksight/user_data_source.go b/internal/service/quicksight/user_data_source.go index 44708768790b..3064a696c004 100644 --- a/internal/service/quicksight/user_data_source.go +++ b/internal/service/quicksight/user_data_source.go @@ -30,6 +30,10 @@ func dataSourceUser() *schema.Resource { Computed: true, }, names.AttrAWSAccountID: quicksightschema.AWSAccountIDDataSourceSchema(), + "custom_permissions_name": { + Type: schema.TypeString, + Computed: true, + }, names.AttrEmail: { Type: schema.TypeString, Computed: true, @@ -78,6 +82,7 @@ func dataSourceUserRead(ctx context.Context, d *schema.ResourceData, meta any) d d.Set("active", user.Active) d.Set(names.AttrARN, user.Arn) d.Set(names.AttrAWSAccountID, awsAccountID) + d.Set("custom_permissions_name", user.CustomPermissionsName) d.Set(names.AttrEmail, user.Email) d.Set("identity_type", user.IdentityType) d.Set("principal_id", user.PrincipalId) diff --git a/internal/service/quicksight/user_data_source_test.go b/internal/service/quicksight/user_data_source_test.go index cde98e4a85b0..b9b5ab00c040 100644 --- a/internal/service/quicksight/user_data_source_test.go +++ b/internal/service/quicksight/user_data_source_test.go @@ -29,10 +29,11 @@ func TestAccQuickSightUserDataSource_basic(t *testing.T) { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, Steps: []resource.TestStep{ { - Config: testAccUserDataSourceConfig(rName), - Check: resource.ComposeTestCheckFunc( + Config: testAccUserDataSourceConfig_basic(rName), + Check: resource.ComposeAggregateTestCheckFunc( resource.TestCheckResourceAttrPair(dataSourceName, names.AttrUserName, resourceName, names.AttrUserName), resource.TestCheckResourceAttrPair(dataSourceName, names.AttrARN, resourceName, names.AttrARN), + resource.TestCheckResourceAttr(dataSourceName, "custom_permissions_name", ""), resource.TestCheckResourceAttr(dataSourceName, names.AttrEmail, acctest.DefaultEmailAddress), resource.TestCheckResourceAttr(dataSourceName, names.AttrNamespace, tfquicksight.DefaultNamespace), resource.TestCheckResourceAttr(dataSourceName, "identity_type", string(awstypes.IdentityTypeQuicksight)), @@ -44,7 +45,7 @@ func TestAccQuickSightUserDataSource_basic(t *testing.T) { }) } -func testAccUserDataSourceConfig(rName string) string { +func testAccUserDataSourceConfig_basic(rName string) string { return fmt.Sprintf(` resource "aws_quicksight_user" "test" { user_name = %[1]q diff --git a/website/docs/d/quicksight_analysis.html.markdown b/website/docs/d/quicksight_analysis.html.markdown index 0ba1c342ed68..19ded3ac070c 100644 --- a/website/docs/d/quicksight_analysis.html.markdown +++ b/website/docs/d/quicksight_analysis.html.markdown @@ -24,9 +24,9 @@ data "aws_quicksight_analysis" "example" { This data source supports the following arguments: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `analysis_id` - (Required) Identifier for the analysis. -* `aws_account_id` - (Optional) AWS account ID. +* `aws_account_id` - (Optional) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). ## Attribute Reference diff --git a/website/docs/d/quicksight_data_set.html.markdown b/website/docs/d/quicksight_data_set.html.markdown index fce943b46428..81f870982808 100644 --- a/website/docs/d/quicksight_data_set.html.markdown +++ b/website/docs/d/quicksight_data_set.html.markdown @@ -24,9 +24,9 @@ data "aws_quicksight_data_set" "example" { This data source supports the following arguments: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). +* `aws_account_id` - (Optional) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `data_set_id` - (Required) Identifier for the data set. -* `aws_account_id` - (Optional) AWS account ID. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). ## Attribute Reference diff --git a/website/docs/d/quicksight_group.html.markdown b/website/docs/d/quicksight_group.html.markdown index 5be1cc4e9bf3..27f064df37ae 100644 --- a/website/docs/d/quicksight_group.html.markdown +++ b/website/docs/d/quicksight_group.html.markdown @@ -30,9 +30,9 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `aws_account_id` - (Optional) AWS account ID. +* `aws_account_id` - (Optional) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `namespace` - (Optional) QuickSight namespace. Defaults to `default`. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). ## Attribute Reference diff --git a/website/docs/d/quicksight_theme.html.markdown b/website/docs/d/quicksight_theme.html.markdown index 732b934e848f..75b4d736b389 100644 --- a/website/docs/d/quicksight_theme.html.markdown +++ b/website/docs/d/quicksight_theme.html.markdown @@ -28,8 +28,8 @@ The following arguments are required: The following arguments are optional: +* `aws_account_id` - AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `aws_account_id` - AWS account ID. ## Attribute Reference diff --git a/website/docs/d/quicksight_user.html.markdown b/website/docs/d/quicksight_user.html.markdown index 526f8d56bcdb..aec9e82c9579 100644 --- a/website/docs/d/quicksight_user.html.markdown +++ b/website/docs/d/quicksight_user.html.markdown @@ -30,9 +30,9 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `aws_account_id` - (Optional) AWS account ID. +* `aws_account_id` - (Optional) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `namespace` - (Optional) QuickSight namespace. Defaults to `default`. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). ## Attribute Reference @@ -40,6 +40,7 @@ This data source exports the following attributes in addition to the arguments a * `active` - The active status of user. When you create an Amazon QuickSight user that’s not an IAM user or an Active Directory user, that user is inactive until they sign in and provide a password. * `arn` - The Amazon Resource Name (ARN) for the user. +* `custom_permissions_name` - The custom permissions profile associated with this user. * `email` - The user's email address. * `identity_type` - The type of identity authentication used by the user. * `principal_id` - The principal ID of the user. From 5280ed6d00060b47d9f99676e084e693745b6c7a Mon Sep 17 00:00:00 2001 From: hhassen Date: Fri, 1 Aug 2025 18:04:20 +0200 Subject: [PATCH 0179/1301] add changelog entry --- .changelog/43661.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/43661.txt diff --git a/.changelog/43661.txt b/.changelog/43661.txt new file mode 100644 index 000000000000..0d46574d8826 --- /dev/null +++ b/.changelog/43661.txt @@ -0,0 +1,3 @@ +```release-note:bug +resource/aws_ec2_managed_prefix_list: Fix PrefixListVersionMismatch error when updating entry descriptions +``` \ No newline at end of file From 07a73d82c140d440eb20fa946eac3343337ba6d4 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 12:04:21 -0400 Subject: [PATCH 0180/1301] Fix terrafmt errors. --- .../quicksight/user_custom_permission_test.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/internal/service/quicksight/user_custom_permission_test.go b/internal/service/quicksight/user_custom_permission_test.go index 1508587fd5f0..34eecf69ab68 100644 --- a/internal/service/quicksight/user_custom_permission_test.go +++ b/internal/service/quicksight/user_custom_permission_test.go @@ -209,10 +209,10 @@ func testAccUserCustomPermissionImportStateID(n string) resource.ImportStateIdFu func testAccUserCustomPermissionConfig_basic(rName string) string { return acctest.ConfigCompose(testAccCustomPermissionsConfig_basic(rName+"-perm"), fmt.Sprintf(` resource "aws_quicksight_user" "test" { - user_name = %[1]q - email = %[2]q - identity_type = "QUICKSIGHT" - user_role = "READER" + user_name = %[1]q + email = %[2]q + identity_type = "QUICKSIGHT" + user_role = "READER" } resource "aws_quicksight_user_custom_permission" "test" { @@ -235,10 +235,10 @@ resource "aws_quicksight_custom_permissions" "test2" { } resource "aws_quicksight_user" "test" { - user_name = %[1]q - email = %[2]q - identity_type = "QUICKSIGHT" - user_role = "READER" + user_name = %[1]q + email = %[2]q + identity_type = "QUICKSIGHT" + user_role = "READER" } resource "aws_quicksight_user_custom_permission" "test" { From 87583954ef836061bcacb5d05dfc88e19a4464ee Mon Sep 17 00:00:00 2001 From: Marcin Belczewski Date: Fri, 1 Aug 2025 15:58:10 +0200 Subject: [PATCH 0181/1301] fix: setting the region after resource has been removed from state due to disappearance --- internal/provider/framework/region.go | 5 +- internal/provider/framework/region_test.go | 98 ++++++++++++++++++++++ 2 files changed, 102 insertions(+), 1 deletion(-) create mode 100644 internal/provider/framework/region_test.go diff --git a/internal/provider/framework/region.go b/internal/provider/framework/region.go index cb7fcac435c5..d577d02ea2e4 100644 --- a/internal/provider/framework/region.go +++ b/internal/provider/framework/region.go @@ -332,7 +332,10 @@ func (r resourceSetRegionInStateInterceptor) read(ctx context.Context, opts inte switch response, when := opts.response, opts.when; when { case After: - // Set region in state after R. + // Set region in state after R but skip if the provider just called RemoveResource(ctx) due to disappearance. + if response.State.Raw.IsNull() { + return diags + } diags.Append(response.State.SetAttribute(ctx, path.Root(names.AttrRegion), c.Region(ctx))...) if diags.HasError() { return diags diff --git a/internal/provider/framework/region_test.go b/internal/provider/framework/region_test.go new file mode 100644 index 000000000000..66d6d8d3f98f --- /dev/null +++ b/internal/provider/framework/region_test.go @@ -0,0 +1,98 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package framework + +import ( + "context" + "os" + "testing" + + "github.com/hashicorp/terraform-plugin-framework/path" + "github.com/hashicorp/terraform-plugin-framework/resource" + "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/tfsdk" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-go/tftypes" + "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" + "github.com/hashicorp/terraform-provider-aws/internal/provider/framework/resourceattribute" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestResourceSetRegionInStateInterceptor_Read(t *testing.T) { + t.Parallel() + + const name = "example" + + region := os.Getenv("AWS_DEFAULT_REGION") + if region == "" { + t.Skip("AWS_DEFAULT_REGION env var must be set for ResourceSetRegionInStateInterceptor test.") + } + + ctx := context.Background() + client := mockClient{region: region} + icpt := resourceSetRegionInStateInterceptor{} + + s := schema.Schema{ + Attributes: map[string]schema.Attribute{ + names.AttrName: schema.StringAttribute{Required: true}, + names.AttrRegion: resourceattribute.Region(), + }, + } + + tests := map[string]struct { + startState tfsdk.State + expectSet bool + }{ + "when state is present then region is set": { + startState: stateFromSchema(ctx, s, map[string]string{"name": name}), + expectSet: true, + }, + "when state is null then it remains null": { + startState: tfsdk.State{ + Raw: tftypes.NewValue(s.Type().TerraformType(ctx), nil), + Schema: s, + }, + expectSet: false, + }, + } + + for tn, tc := range tests { + t.Run(tn, func(t *testing.T) { + t.Parallel() + + req := resource.ReadRequest{State: tc.startState} + resp := resource.ReadResponse{State: tc.startState} + + if diags := icpt.read(ctx, interceptorOptions[resource.ReadRequest, resource.ReadResponse]{ + c: client, + request: &req, + response: &resp, + when: After, + }); diags.HasError() { + t.Fatalf("unexpected diags: %s", diags) + } + + if tc.expectSet { + got := getStateAttributeValue(ctx, t, resp.State, path.Root("region")) + if got != region { + t.Errorf("expected region %q, got %q", region, got) + } + } else { + if !resp.State.Raw.IsNull() { + t.Errorf("expected State.Raw to stay null, got %#v", resp.State.Raw) + } + } + }) + } +} + +func getStateAttributeValue(ctx context.Context, t *testing.T, st tfsdk.State, p path.Path) string { + t.Helper() + + var v types.String + if diags := st.GetAttribute(ctx, p, &v); diags.HasError() { + t.Fatalf("unexpected error getting State attribute %q: %s", p, fwdiag.DiagnosticsError(diags)) + } + return v.ValueString() +} From 87d11703e9ac3756b605d77744ab9b5856570a48 Mon Sep 17 00:00:00 2001 From: Aurel Canciu Date: Fri, 1 Aug 2025 14:39:58 +0200 Subject: [PATCH 0182/1301] Allow setting AppendOnly attribute in firehose iceberg_configuration Closes #43067 Signed-off-by: Aurel Canciu --- .changelog/43647.txt | 3 +++ internal/service/firehose/delivery_stream.go | 11 ++++++++++- internal/service/firehose/delivery_stream_test.go | 3 +++ 3 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 .changelog/43647.txt diff --git a/.changelog/43647.txt b/.changelog/43647.txt new file mode 100644 index 000000000000..b91741ad77d4 --- /dev/null +++ b/.changelog/43647.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/aws_kinesis_firehose_delivery_stream: Add `append_only` attribute to `iceberg_configuration` +``` diff --git a/internal/service/firehose/delivery_stream.go b/internal/service/firehose/delivery_stream.go index 99b3bd02440e..d15c94abc388 100644 --- a/internal/service/firehose/delivery_stream.go +++ b/internal/service/firehose/delivery_stream.go @@ -895,6 +895,12 @@ func resourceDeliveryStream() *schema.Resource { ValidateDiagFunc: enum.Validate[types.IcebergS3BackupMode](), }, "s3_configuration": s3ConfigurationSchema(), + "append_only": { + Type: schema.TypeBool, + Optional: true, + Default: false, + ForceNew: true, // Currently, you can set this flag only with the CreateDeliveryStream API operation. + }, }, }, }, @@ -2541,6 +2547,7 @@ func expandIcebergDestinationConfiguration(tfMap map[string]any) *types.IcebergD }, RoleARN: aws.String(roleARN), S3Configuration: expandS3DestinationConfiguration(tfMap["s3_configuration"].([]any)), + AppendOnly: aws.Bool(tfMap["append_only"].(bool)), } if _, ok := tfMap["cloudwatch_logging_options"]; ok { @@ -2573,7 +2580,8 @@ func expandIcebergDestinationUpdate(tfMap map[string]any) *types.IcebergDestinat IntervalInSeconds: aws.Int32(int32(tfMap["buffering_interval"].(int))), SizeInMBs: aws.Int32(int32(tfMap["buffering_size"].(int))), }, - RoleARN: aws.String(roleARN), + RoleARN: aws.String(roleARN), + AppendOnly: aws.Bool(tfMap["append_only"].(bool)), } if catalogARN, ok := tfMap["catalog_arn"].(string); ok { @@ -4246,6 +4254,7 @@ func flattenIcebergDestinationDescription(apiObject *types.IcebergDestinationDes "catalog_arn": aws.ToString(apiObject.CatalogConfiguration.CatalogARN), "s3_configuration": flattenS3DestinationDescription(apiObject.S3DestinationDescription), names.AttrRoleARN: aws.ToString(apiObject.RoleARN), + "append_only": aws.ToBool(apiObject.AppendOnly), } if apiObject.BufferingHints != nil { diff --git a/internal/service/firehose/delivery_stream_test.go b/internal/service/firehose/delivery_stream_test.go index e0528bd75171..8465e1a6d583 100644 --- a/internal/service/firehose/delivery_stream_test.go +++ b/internal/service/firehose/delivery_stream_test.go @@ -1089,6 +1089,7 @@ func TestAccFirehoseDeliveryStream_icebergUpdates(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.processing_configuration.0.enabled", acctest.CtFalse), resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.retry_options.#", "0"), resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.s3_backup_mode", "FailedDataOnly"), + resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.append_only", acctest.CtFalse), ), }, { @@ -1116,6 +1117,7 @@ func TestAccFirehoseDeliveryStream_icebergUpdates(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.processing_configuration.#", "1"), resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.processing_configuration.0.enabled", acctest.CtFalse), resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.s3_backup_mode.#", "0"), + resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.append_only", acctest.CtTrue), ), }, { @@ -4210,6 +4212,7 @@ resource "aws_kinesis_firehose_delivery_stream" "test" { buffering_interval = 900 buffering_size = 100 retry_duration = 900 + append_only = true s3_configuration { bucket_arn = aws_s3_bucket.bucket.arn From 0739855d056813b1d1602c4f236b69d4d44e46dd Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 12:26:47 -0400 Subject: [PATCH 0183/1301] r/aws_quicksight_role_membership: Tidy up. --- internal/service/quicksight/exports_test.go | 2 +- .../service/quicksight/role_membership.go | 148 +++++++++--------- .../quicksight/role_membership_test.go | 71 +++------ 3 files changed, 97 insertions(+), 124 deletions(-) diff --git a/internal/service/quicksight/exports_test.go b/internal/service/quicksight/exports_test.go index cd7c0d114d77..5646615fb493 100644 --- a/internal/service/quicksight/exports_test.go +++ b/internal/service/quicksight/exports_test.go @@ -55,7 +55,7 @@ var ( FindNamespaceByTwoPartKey = findNamespaceByTwoPartKey FindRefreshScheduleByThreePartKey = findRefreshScheduleByThreePartKey FindRoleCustomPermissionByThreePartKey = findRoleCustomPermissionByThreePartKey - FindRoleMembershipByMultiPartKey = findRoleMembershipByMultiPartKey + FindRoleMembershipByFourPartKey = findRoleMembershipByFourPartKey FindTemplateAliasByThreePartKey = findTemplateAliasByThreePartKey FindTemplateByTwoPartKey = findTemplateByTwoPartKey FindThemeByTwoPartKey = findThemeByTwoPartKey diff --git a/internal/service/quicksight/role_membership.go b/internal/service/quicksight/role_membership.go index 100fa0e8ff53..6434077d7525 100644 --- a/internal/service/quicksight/role_membership.go +++ b/internal/service/quicksight/role_membership.go @@ -18,8 +18,8 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" - "github.com/hashicorp/terraform-provider-aws/internal/create" "github.com/hashicorp/terraform-provider-aws/internal/errs" + "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" intflex "github.com/hashicorp/terraform-provider-aws/internal/flex" "github.com/hashicorp/terraform-provider-aws/internal/framework" fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" @@ -34,17 +34,13 @@ func newRoleMembershipResource(_ context.Context) (resource.ResourceWithConfigur return &roleMembershipResource{}, nil } -const ( - ResNameRoleMembership = "Role Membership" -) - type roleMembershipResource struct { framework.ResourceWithModel[roleMembershipResourceModel] framework.WithNoUpdate } -func (r *roleMembershipResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { - resp.Schema = schema.Schema{ +func (r *roleMembershipResource) Schema(ctx context.Context, request resource.SchemaRequest, response *resource.SchemaResponse) { + response.Schema = schema.Schema{ Attributes: map[string]schema.Attribute{ names.AttrAWSAccountID: quicksightschema.AWSAccountIDAttribute(), "member_name": schema.StringAttribute{ @@ -65,10 +61,10 @@ func (r *roleMembershipResource) Schema(ctx context.Context, req resource.Schema } } -func (r *roleMembershipResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { +func (r *roleMembershipResource) Create(ctx context.Context, request resource.CreateRequest, response *resource.CreateResponse) { var data roleMembershipResourceModel - resp.Diagnostics.Append(req.Plan.Get(ctx, &data)...) - if resp.Diagnostics.HasError() { + response.Diagnostics.Append(request.Plan.Get(ctx, &data)...) + if response.Diagnostics.HasError() { return } if data.AWSAccountID.IsUnknown() { @@ -77,115 +73,113 @@ func (r *roleMembershipResource) Create(ctx context.Context, req resource.Create conn := r.Meta().QuickSightClient(ctx) - input := quicksight.CreateRoleMembershipInput{ - AwsAccountId: data.AWSAccountID.ValueStringPointer(), - MemberName: data.MemberName.ValueStringPointer(), - Namespace: data.Namespace.ValueStringPointer(), - Role: data.Role.ValueEnum(), + var input quicksight.CreateRoleMembershipInput + response.Diagnostics.Append(fwflex.Expand(ctx, data, &input)...) + if response.Diagnostics.HasError() { + return } _, err := conn.CreateRoleMembership(ctx, &input) + if err != nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.QuickSight, create.ErrActionCreating, ResNameRoleMembership, data.MemberName.String(), err), - err.Error(), - ) + response.Diagnostics.AddError(fmt.Sprintf("creating Quicksight Role (%s) Membership (%s)", data.Role.ValueString(), data.MemberName.ValueString()), err.Error()) + return } - resp.Diagnostics.Append(resp.State.Set(ctx, data)...) + response.Diagnostics.Append(response.State.Set(ctx, data)...) } -func (r *roleMembershipResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { - conn := r.Meta().QuickSightClient(ctx) - - var state roleMembershipResourceModel - resp.Diagnostics.Append(req.State.Get(ctx, &state)...) - if resp.Diagnostics.HasError() { +func (r *roleMembershipResource) Read(ctx context.Context, request resource.ReadRequest, response *resource.ReadResponse) { + var data roleMembershipResourceModel + response.Diagnostics.Append(request.State.Get(ctx, &data)...) + if response.Diagnostics.HasError() { return } - err := findRoleMembershipByMultiPartKey(ctx, conn, state.AWSAccountID.ValueString(), state.Namespace.ValueString(), state.Role.ValueEnum(), state.MemberName.ValueString()) + conn := r.Meta().QuickSightClient(ctx) + + err := findRoleMembershipByFourPartKey(ctx, conn, data.AWSAccountID.ValueString(), data.Namespace.ValueString(), data.Role.ValueEnum(), data.MemberName.ValueString()) if tfresource.NotFound(err) { - resp.State.RemoveResource(ctx) + response.Diagnostics.Append(fwdiag.NewResourceNotFoundWarningDiagnostic(err)) + response.State.RemoveResource(ctx) + return } + if err != nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.QuickSight, create.ErrActionSetting, ResNameRoleMembership, state.MemberName.String(), err), - err.Error(), - ) + response.Diagnostics.AddError(fmt.Sprintf("reading Quicksight Role (%s) Membership (%s)", data.Role.ValueString(), data.MemberName.ValueString()), err.Error()) + return } - resp.Diagnostics.Append(resp.State.Set(ctx, &state)...) + response.Diagnostics.Append(response.State.Set(ctx, &data)...) } -func (r *roleMembershipResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { +func (r *roleMembershipResource) Delete(ctx context.Context, request resource.DeleteRequest, response *resource.DeleteResponse) { + var data roleMembershipResourceModel + response.Diagnostics.Append(request.State.Get(ctx, &data)...) + if response.Diagnostics.HasError() { + return + } + conn := r.Meta().QuickSightClient(ctx) - var state roleMembershipResourceModel - resp.Diagnostics.Append(req.State.Get(ctx, &state)...) - if resp.Diagnostics.HasError() { + var input quicksight.DeleteRoleMembershipInput + response.Diagnostics.Append(fwflex.Expand(ctx, data, &input)...) + if response.Diagnostics.HasError() { return } - input := quicksight.DeleteRoleMembershipInput{ - AwsAccountId: state.AWSAccountID.ValueStringPointer(), - MemberName: state.MemberName.ValueStringPointer(), - Namespace: state.Namespace.ValueStringPointer(), - Role: state.Role.ValueEnum(), + _, err := conn.DeleteRoleMembership(ctx, &input) + + if errs.IsA[*awstypes.ResourceNotFoundException](err) { + return } - _, err := conn.DeleteRoleMembership(ctx, &input) if err != nil { - if errs.IsA[*awstypes.ResourceNotFoundException](err) { - return - } + response.Diagnostics.AddError(fmt.Sprintf("deleting Quicksight Role (%s) Membership (%s)", data.Role.ValueString(), data.MemberName.ValueString()), err.Error()) - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.QuickSight, create.ErrActionDeleting, ResNameRoleMembership, state.MemberName.String(), err), - err.Error(), - ) return } } -const roleMembershipIDParts = 4 +func (r *roleMembershipResource) ImportState(ctx context.Context, request resource.ImportStateRequest, response *resource.ImportStateResponse) { + const ( + roleMembershipIDParts = 4 + ) + parts, err := intflex.ExpandResourceId(request.ID, roleMembershipIDParts, false) -func (r *roleMembershipResource) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { - parts, err := intflex.ExpandResourceId(req.ID, roleMembershipIDParts, false) if err != nil { - resp.Diagnostics.AddError( - "Unexpected Import Identifier", - fmt.Sprintf("Expected import identifier with format: aws_account_id,namespace,role,member_name. Got: %q", req.ID), - ) + response.Diagnostics.Append(fwdiag.NewParsingResourceIDErrorDiagnostic(err)) + return } - resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root(names.AttrAWSAccountID), parts[0])...) - resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root(names.AttrNamespace), parts[1])...) - resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root(names.AttrRole), parts[2])...) - resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("member_name"), parts[3])...) + response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root(names.AttrAWSAccountID), parts[0])...) + response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root(names.AttrNamespace), parts[1])...) + response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root(names.AttrRole), parts[2])...) + response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root("member_name"), parts[3])...) } -// findRoleMembershipByMultiPartKey verifies the existence of a role membership +// findRoleMembershipByFourPartKey verifies the existence of a role membership // // No value is returned, but the error will be non-nil if no matching member name // is found in the list of group members for the provided role. -func findRoleMembershipByMultiPartKey(ctx context.Context, conn *quicksight.Client, accountID string, namespace string, role awstypes.Role, member string) error { +func findRoleMembershipByFourPartKey(ctx context.Context, conn *quicksight.Client, awsAccountID, namespace string, role awstypes.Role, member string) error { input := quicksight.ListRoleMembershipsInput{ - AwsAccountId: aws.String(accountID), + AwsAccountId: aws.String(awsAccountID), Namespace: aws.String(namespace), Role: role, } - out, err := findRoleMemberships(ctx, conn, &input) + members, err := findRoleMembers(ctx, conn, &input) + if err != nil { return err } - if slices.Contains(out, member) { + if slices.Contains(members, member) { return nil } @@ -194,20 +188,28 @@ func findRoleMembershipByMultiPartKey(ctx context.Context, conn *quicksight.Clie } } -func findRoleMemberships(ctx context.Context, conn *quicksight.Client, input *quicksight.ListRoleMembershipsInput) ([]string, error) { - paginator := quicksight.NewListRoleMembershipsPaginator(conn, input) +func findRoleMembers(ctx context.Context, conn *quicksight.Client, input *quicksight.ListRoleMembershipsInput) ([]string, error) { + var output []string + + pages := quicksight.NewListRoleMembershipsPaginator(conn, input) + for pages.HasMorePages() { + page, err := pages.NextPage(ctx) + + if errs.IsA[*awstypes.ResourceNotFoundException](err) { + return nil, &retry.NotFoundError{ + LastError: err, + LastRequest: input, + } + } - var memberNames []string - for paginator.HasMorePages() { - page, err := paginator.NextPage(ctx) if err != nil { return nil, err } - memberNames = append(memberNames, page.MembersList...) + output = append(output, page.MembersList...) } - return memberNames, nil + return output, nil } type roleMembershipResourceModel struct { diff --git a/internal/service/quicksight/role_membership_test.go b/internal/service/quicksight/role_membership_test.go index 00637411f7ff..7ddde49cd405 100644 --- a/internal/service/quicksight/role_membership_test.go +++ b/internal/service/quicksight/role_membership_test.go @@ -5,17 +5,15 @@ package quicksight_test import ( "context" - "errors" "fmt" "testing" - "github.com/aws/aws-sdk-go-v2/service/quicksight/types" + awstypes "github.com/aws/aws-sdk-go-v2/service/quicksight/types" "github.com/hashicorp/terraform-plugin-testing/helper/resource" "github.com/hashicorp/terraform-plugin-testing/plancheck" "github.com/hashicorp/terraform-plugin-testing/terraform" "github.com/hashicorp/terraform-provider-aws/internal/acctest" "github.com/hashicorp/terraform-provider-aws/internal/conns" - "github.com/hashicorp/terraform-provider-aws/internal/create" tfquicksight "github.com/hashicorp/terraform-provider-aws/internal/service/quicksight" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" @@ -23,10 +21,9 @@ import ( func testAccRoleMembership_basic(t *testing.T) { ctx := acctest.Context(t) - role := string(types.RoleReader) - resourceName := "aws_quicksight_role_membership.test" - memberName := acctest.SkipIfEnvVarNotSet(t, "TF_AWS_QUICKSIGHT_IDC_GROUP") + role := string(awstypes.RoleReader) + resourceName := "aws_quicksight_role_membership.test" resource.Test(t, resource.TestCase{ PreCheck: func() { @@ -50,7 +47,7 @@ func testAccRoleMembership_basic(t *testing.T) { { ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: testAccRoleMembershipImportStateIdFunc(resourceName), + ImportStateIdFunc: testAccRoleMembershipImportStateIDFunc(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: "member_name", }, @@ -60,10 +57,9 @@ func testAccRoleMembership_basic(t *testing.T) { func testAccRoleMembership_disappears(t *testing.T) { ctx := acctest.Context(t) - role := string(types.RoleReader) - resourceName := "aws_quicksight_role_membership.test" - memberName := acctest.SkipIfEnvVarNotSet(t, "TF_AWS_QUICKSIGHT_IDC_GROUP") + role := string(awstypes.RoleReader) + resourceName := "aws_quicksight_role_membership.test" resource.Test(t, resource.TestCase{ PreCheck: func() { @@ -90,11 +86,10 @@ func testAccRoleMembership_disappears(t *testing.T) { func testAccRoleMembership_role(t *testing.T) { ctx := acctest.Context(t) - role := string(types.RoleReader) - roleUpdated := string(types.RoleAuthor) - resourceName := "aws_quicksight_role_membership.test" - memberName := acctest.SkipIfEnvVarNotSet(t, "TF_AWS_QUICKSIGHT_IDC_GROUP") + role := string(awstypes.RoleReader) + roleUpdated := string(awstypes.RoleAuthor) + resourceName := "aws_quicksight_role_membership.test" resource.Test(t, resource.TestCase{ PreCheck: func() { @@ -141,65 +136,41 @@ func testAccCheckRoleMembershipDestroy(ctx context.Context) resource.TestCheckFu continue } - accountID := rs.Primary.Attributes[names.AttrAWSAccountID] - namespace := rs.Primary.Attributes[names.AttrNamespace] - role := rs.Primary.Attributes[names.AttrRole] - memberName := rs.Primary.Attributes["member_name"] + err := tfquicksight.FindRoleMembershipByFourPartKey(ctx, conn, rs.Primary.Attributes[names.AttrAWSAccountID], rs.Primary.Attributes[names.AttrNamespace], awstypes.Role(rs.Primary.Attributes[names.AttrRole]), rs.Primary.Attributes["member_name"]) - err := tfquicksight.FindRoleMembershipByMultiPartKey(ctx, conn, accountID, namespace, types.Role(role), memberName) if tfresource.NotFound(err) { - return nil + continue } + if err != nil { - return create.Error(names.QuickSight, create.ErrActionCheckingDestroyed, tfquicksight.ResNameRoleMembership, rs.Primary.ID, err) + return err } - return create.Error(names.QuickSight, create.ErrActionCheckingDestroyed, tfquicksight.ResNameRoleMembership, rs.Primary.ID, errors.New("not destroyed")) + return fmt.Errorf("QuickSight Role Membership (%s) still exists", rs.Primary.Attributes[names.AttrRole]) } return nil } } -func testAccCheckRoleMembershipExists(ctx context.Context, name string) resource.TestCheckFunc { +func testAccCheckRoleMembershipExists(ctx context.Context, n string) resource.TestCheckFunc { return func(s *terraform.State) error { - rs, ok := s.RootModule().Resources[name] + rs, ok := s.RootModule().Resources[n] if !ok { - return create.Error(names.QuickSight, create.ErrActionCheckingExistence, tfquicksight.ResNameRoleMembership, name, errors.New("not found")) - } - - accountID := rs.Primary.Attributes[names.AttrAWSAccountID] - namespace := rs.Primary.Attributes[names.AttrNamespace] - role := rs.Primary.Attributes[names.AttrRole] - memberName := rs.Primary.Attributes["member_name"] - if accountID == "" || namespace == "" || role == "" || memberName == "" { - return create.Error(names.QuickSight, create.ErrActionCheckingExistence, tfquicksight.ResNameRoleMembership, name, errors.New("not set")) + return fmt.Errorf("Not found: %s", n) } conn := acctest.Provider.Meta().(*conns.AWSClient).QuickSightClient(ctx) - err := tfquicksight.FindRoleMembershipByMultiPartKey(ctx, conn, accountID, namespace, types.Role(role), memberName) - if err != nil { - return create.Error(names.QuickSight, create.ErrActionCheckingExistence, tfquicksight.ResNameRoleMembership, rs.Primary.ID, err) - } + err := tfquicksight.FindRoleMembershipByFourPartKey(ctx, conn, rs.Primary.Attributes[names.AttrAWSAccountID], rs.Primary.Attributes[names.AttrNamespace], awstypes.Role(rs.Primary.Attributes[names.AttrRole]), rs.Primary.Attributes["member_name"]) - return nil + return err } } -func testAccRoleMembershipImportStateIdFunc(resourceName string) resource.ImportStateIdFunc { +func testAccRoleMembershipImportStateIDFunc(n string) resource.ImportStateIdFunc { return func(s *terraform.State) (string, error) { - rs, ok := s.RootModule().Resources[resourceName] - if !ok { - return "", fmt.Errorf("Not found: %s", resourceName) - } - - return fmt.Sprintf("%s,%s,%s,%s", - rs.Primary.Attributes[names.AttrAWSAccountID], - rs.Primary.Attributes[names.AttrNamespace], - rs.Primary.Attributes[names.AttrRole], - rs.Primary.Attributes["member_name"], - ), nil + return acctest.AttrsImportStateIdFunc(n, ",", names.AttrAWSAccountID, names.AttrNamespace, names.AttrRole, "member_name")(s) } } From 804c226609f7b2521be1a99e7126db8b0f5001a3 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Thu, 31 Jul 2025 14:37:24 -0700 Subject: [PATCH 0184/1301] Centralizes `Init` templates --- internal/generate/identitytests/resource_test.go.gtpl | 8 -------- internal/generate/tagstests/resource_test.go.gtpl | 8 -------- internal/generate/tests/data_source_test.go.gtpl | 1 + internal/generate/tests/resource_test.go.gtpl | 9 +++++++++ 4 files changed, 10 insertions(+), 16 deletions(-) diff --git a/internal/generate/identitytests/resource_test.go.gtpl b/internal/generate/identitytests/resource_test.go.gtpl index 382a99002b53..de5de96f11b6 100644 --- a/internal/generate/identitytests/resource_test.go.gtpl +++ b/internal/generate/identitytests/resource_test.go.gtpl @@ -1,13 +1,5 @@ // Code generated by internal/generate/identitytests/main.go; DO NOT EDIT. -{{ define "Init" }} - ctx := acctest.Context(t) - {{ if .ExistsTypeName }} - var v {{ .ExistsTypeName }} - {{ end -}} - {{ template "commonInit" . }} -{{ end }} - {{/* This can be removed when the Exists check supports enhanced region support */}} {{ define "InitRegionOverride" }} ctx := acctest.Context(t) diff --git a/internal/generate/tagstests/resource_test.go.gtpl b/internal/generate/tagstests/resource_test.go.gtpl index 4794b683bea3..e81e991736dc 100644 --- a/internal/generate/tagstests/resource_test.go.gtpl +++ b/internal/generate/tagstests/resource_test.go.gtpl @@ -1,13 +1,5 @@ // Code generated by internal/generate/tagstests/main.go; DO NOT EDIT. -{{ define "Init" }} - ctx := acctest.Context(t) - {{ if .ExistsTypeName -}} - var v {{ .ExistsTypeName }} - {{ end -}} - {{ template "commonInit" . }} -{{ end }} - {{ define "TestCaseSetupNoProviders" -}} {{ template "CommonTestCaseChecks" . }} CheckDestroy: {{ if .CheckDestroyNoop }}acctest.CheckDestroyNoop{{ else }}testAccCheck{{ .Name }}Destroy(ctx{{ if .DestroyTakesT }}, t{{ end }}){{ end }}, diff --git a/internal/generate/tests/data_source_test.go.gtpl b/internal/generate/tests/data_source_test.go.gtpl index 728e2258b109..6045042b6e09 100644 --- a/internal/generate/tests/data_source_test.go.gtpl +++ b/internal/generate/tests/data_source_test.go.gtpl @@ -8,5 +8,6 @@ dataSourceName := "data.{{ .TypeName}}.test" {{ define "Init" }} ctx := acctest.Context(t) + {{ template "commonInit" . }} {{ end }} diff --git a/internal/generate/tests/resource_test.go.gtpl b/internal/generate/tests/resource_test.go.gtpl index bfae50d1271a..39d0697721ba 100644 --- a/internal/generate/tests/resource_test.go.gtpl +++ b/internal/generate/tests/resource_test.go.gtpl @@ -5,3 +5,12 @@ {{ define "targetName" -}} resourceName := "{{ .TypeName}}.test" {{- end }} + +{{ define "Init" }} + ctx := acctest.Context(t) + + {{ if .ExistsTypeName -}} + var v {{ .ExistsTypeName }} + {{ end -}} + {{ template "commonInit" . }} +{{ end }} From 2f3d60da18d5c6e08dc1ef3cbb9d9a7599510457 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Thu, 31 Jul 2025 14:37:44 -0700 Subject: [PATCH 0185/1301] Generates tests --- .../accessanalyzer/analyzer_tags_gen_test.go | 21 +++++++++++++++++++ .../certificate_data_source_tags_gen_test.go | 6 ++++++ .../service/acm/certificate_tags_gen_test.go | 21 +++++++++++++++++++ ...ate_authority_data_source_tags_gen_test.go | 6 ++++++ .../certificate_authority_tags_gen_test.go | 21 +++++++++++++++++++ .../acmpca/certificate_identity_gen_test.go | 2 ++ .../acmpca/policy_identity_gen_test.go | 2 ++ .../amp/rule_group_namespace_tags_gen_test.go | 21 +++++++++++++++++++ internal/service/amp/scraper_tags_gen_test.go | 21 +++++++++++++++++++ .../workspace_data_source_tags_gen_test.go | 6 ++++++ .../service/amp/workspace_tags_gen_test.go | 21 +++++++++++++++++++ internal/service/amplify/app_tags_gen_test.go | 21 +++++++++++++++++++ .../service/amplify/branch_tags_gen_test.go | 21 +++++++++++++++++++ .../api_key_data_source_tags_gen_test.go | 6 ++++++ .../apigateway/api_key_tags_gen_test.go | 21 +++++++++++++++++++ .../client_certificate_tags_gen_test.go | 21 +++++++++++++++++++ ...n_name_access_association_tags_gen_test.go | 21 +++++++++++++++++++ .../domain_name_data_source_tags_gen_test.go | 6 ++++++ .../apigateway/domain_name_tags_gen_test.go | 21 +++++++++++++++++++ .../rest_api_data_source_tags_gen_test.go | 6 ++++++ .../apigateway/rest_api_tags_gen_test.go | 21 +++++++++++++++++++ .../service/apigateway/stage_tags_gen_test.go | 21 +++++++++++++++++++ .../apigateway/usage_plan_tags_gen_test.go | 21 +++++++++++++++++++ .../vpc_link_data_source_tags_gen_test.go | 6 ++++++ .../apigateway/vpc_link_tags_gen_test.go | 21 +++++++++++++++++++ .../api_data_source_tags_gen_test.go | 6 ++++++ .../service/apigatewayv2/api_tags_gen_test.go | 21 +++++++++++++++++++ .../apigatewayv2/domain_name_tags_gen_test.go | 21 +++++++++++++++++++ .../apigatewayv2/stage_tags_gen_test.go | 21 +++++++++++++++++++ .../vpc_link_data_source_tags_gen_test.go | 6 ++++++ .../apigatewayv2/vpc_link_tags_gen_test.go | 21 +++++++++++++++++++ .../appautoscaling/target_tags_gen_test.go | 21 +++++++++++++++++++ .../appconfig/application_tags_gen_test.go | 21 +++++++++++++++++++ ...ation_profile_data_source_tags_gen_test.go | 6 ++++++ .../configuration_profile_tags_gen_test.go | 21 +++++++++++++++++++ .../deployment_strategy_tags_gen_test.go | 21 +++++++++++++++++++ .../appconfig/deployment_tags_gen_test.go | 21 +++++++++++++++++++ .../environment_data_source_tags_gen_test.go | 6 ++++++ .../appconfig/environment_tags_gen_test.go | 21 +++++++++++++++++++ .../appconfig/extension_tags_gen_test.go | 21 +++++++++++++++++++ .../app_authorization_tags_gen_test.go | 21 +++++++++++++++++++ .../appfabric/app_bundle_tags_gen_test.go | 21 +++++++++++++++++++ .../service/appflow/flow_tags_gen_test.go | 21 +++++++++++++++++++ ...t_integration_data_source_tags_gen_test.go | 6 ++++++ .../event_integration_tags_gen_test.go | 21 +++++++++++++++++++ .../application_tags_gen_test.go | 21 +++++++++++++++++++ ...gateway_route_data_source_tags_gen_test.go | 6 ++++++ .../appmesh/gateway_route_tags_gen_test.go | 21 +++++++++++++++++++ .../appmesh/mesh_data_source_tags_gen_test.go | 6 ++++++ .../service/appmesh/mesh_tags_gen_test.go | 21 +++++++++++++++++++ .../route_data_source_tags_gen_test.go | 6 ++++++ .../service/appmesh/route_tags_gen_test.go | 21 +++++++++++++++++++ ...rtual_gateway_data_source_tags_gen_test.go | 6 ++++++ .../appmesh/virtual_gateway_tags_gen_test.go | 21 +++++++++++++++++++ .../virtual_node_data_source_tags_gen_test.go | 6 ++++++ .../appmesh/virtual_node_tags_gen_test.go | 21 +++++++++++++++++++ ...irtual_router_data_source_tags_gen_test.go | 6 ++++++ .../appmesh/virtual_router_tags_gen_test.go | 21 +++++++++++++++++++ ...rtual_service_data_source_tags_gen_test.go | 6 ++++++ .../appmesh/virtual_service_tags_gen_test.go | 21 +++++++++++++++++++ ...configuration_version_identity_gen_test.go | 2 ++ ...ing_configuration_version_tags_gen_test.go | 21 +++++++++++++++++++ .../apprunner/connection_tags_gen_test.go | 21 +++++++++++++++++++ ...ability_configuration_identity_gen_test.go | 2 ++ ...servability_configuration_tags_gen_test.go | 21 +++++++++++++++++++ .../apprunner/service_identity_gen_test.go | 2 ++ .../apprunner/service_tags_gen_test.go | 21 +++++++++++++++++++ .../vpc_connector_identity_gen_test.go | 2 ++ .../apprunner/vpc_connector_tags_gen_test.go | 21 +++++++++++++++++++ ...pc_ingress_connection_identity_gen_test.go | 2 ++ .../vpc_ingress_connection_tags_gen_test.go | 21 +++++++++++++++++++ .../account_registration_identity_gen_test.go | 2 ++ .../framework_data_source_tags_gen_test.go | 6 ++++++ .../service/backup/framework_tags_gen_test.go | 21 +++++++++++++++++++ .../backup/plan_data_source_tags_gen_test.go | 6 ++++++ internal/service/backup/plan_tags_gen_test.go | 21 +++++++++++++++++++ .../report_plan_data_source_tags_gen_test.go | 6 ++++++ .../backup/report_plan_tags_gen_test.go | 21 +++++++++++++++++++ .../backup/vault_data_source_tags_gen_test.go | 6 ++++++ .../service/backup/vault_tags_gen_test.go | 21 +++++++++++++++++++ ...e_environment_data_source_tags_gen_test.go | 6 ++++++ .../compute_environment_tags_gen_test.go | 21 +++++++++++++++++++ ...ob_definition_data_source_tags_gen_test.go | 6 ++++++ .../batch/job_definition_tags_gen_test.go | 21 +++++++++++++++++++ .../job_queue_data_source_tags_gen_test.go | 6 ++++++ .../service/batch/job_queue_tags_gen_test.go | 21 +++++++++++++++++++ ...duling_policy_data_source_tags_gen_test.go | 6 ++++++ .../batch/scheduling_policy_tags_gen_test.go | 21 +++++++++++++++++++ .../bcmdataexports/export_tags_gen_test.go | 21 +++++++++++++++++++ .../bedrock/custom_model_tags_gen_test.go | 21 +++++++++++++++++++ .../bedrock/guardrail_tags_gen_test.go | 21 +++++++++++++++++++ .../inference_profile_tags_gen_test.go | 21 +++++++++++++++++++ ...logging_configuration_identity_gen_test.go | 2 ++ .../budget_data_source_tags_gen_test.go | 6 ++++++ .../service/budgets/budget_tags_gen_test.go | 21 +++++++++++++++++++ .../cleanrooms/membership_tags_gen_test.go | 21 +++++++++++++++++++ .../key_identity_gen_test.go | 2 ++ .../event_data_store_identity_gen_test.go | 2 ++ .../composite_alarm_tags_gen_test.go | 21 +++++++++++++++++++ .../contributor_insight_rule_tags_gen_test.go | 21 +++++++++++++++++++ .../cloudwatch/metric_alarm_tags_gen_test.go | 21 +++++++++++++++++++ .../cloudwatch/metric_stream_tags_gen_test.go | 21 +++++++++++++++++++ .../codeartifact/domain_identity_gen_test.go | 2 ++ ...in_permissions_policy_identity_gen_test.go | 2 ++ .../repository_identity_gen_test.go | 2 ++ ...ry_permissions_policy_identity_gen_test.go | 2 ++ .../codebuild/fleet_identity_gen_test.go | 2 ++ .../connection_tags_gen_test.go | 21 +++++++++++++++++++ .../codeconnections/host_tags_gen_test.go | 21 +++++++++++++++++++ .../notification_rule_identity_gen_test.go | 2 ++ .../user_pool_data_source_tags_gen_test.go | 6 ++++++ .../cognitoidp/user_pool_tags_gen_test.go | 21 +++++++++++++++++++ .../revision_assets_tags_gen_test.go | 21 +++++++++++++++++++ .../pipeline_data_source_tags_gen_test.go | 6 ++++++ .../datapipeline/pipeline_tags_gen_test.go | 21 +++++++++++++++++++ .../service_integration_identity_gen_test.go | 2 ++ .../certificate_data_source_tags_gen_test.go | 6 ++++++ .../service/dms/certificate_tags_gen_test.go | 21 +++++++++++++++++++ .../dms/endpoint_data_source_tags_gen_test.go | 6 ++++++ .../service/dms/endpoint_tags_gen_test.go | 21 +++++++++++++++++++ .../dms/event_subscription_tags_gen_test.go | 21 +++++++++++++++++++ .../dms/replication_config_tags_gen_test.go | 21 +++++++++++++++++++ ...tion_instance_data_source_tags_gen_test.go | 6 ++++++ .../dms/replication_instance_tags_gen_test.go | 21 +++++++++++++++++++ ..._subnet_group_data_source_tags_gen_test.go | 6 ++++++ .../replication_subnet_group_tags_gen_test.go | 21 +++++++++++++++++++ ...lication_task_data_source_tags_gen_test.go | 6 ++++++ .../dms/replication_task_tags_gen_test.go | 21 +++++++++++++++++++ .../service/dms/s3_endpoint_tags_gen_test.go | 21 +++++++++++++++++++ ...on_configuration_template_tags_gen_test.go | 21 +++++++++++++++++++ .../service/dsql/cluster_tags_gen_test.go | 21 +++++++++++++++++++ .../table_data_source_tags_gen_test.go | 6 ++++++ .../dynamodb/table_replica_tags_gen_test.go | 21 +++++++++++++++++++ .../service/dynamodb/table_tags_gen_test.go | 21 +++++++++++++++++++ ...t_block_public_access_identity_gen_test.go | 2 ++ ...e_block_public_access_identity_gen_test.go | 2 ++ .../ec2_instance_data_source_tags_gen_test.go | 6 ++++++ .../service/ec2/ec2_instance_tags_gen_test.go | 21 +++++++++++++++++++ ...serial_console_access_identity_gen_test.go | 2 ++ ...k_public_access_exclusion_tags_gen_test.go | 21 +++++++++++++++++++ .../ec2/vpc_data_source_tags_gen_test.go | 6 ++++++ .../ec2/vpc_route_table_tags_gen_test.go | 21 +++++++++++++++++++ ...ecurity_group_data_source_tags_gen_test.go | 6 ++++++ ...ecurity_group_egress_rule_tags_gen_test.go | 21 +++++++++++++++++++ ...curity_group_ingress_rule_tags_gen_test.go | 21 +++++++++++++++++++ .../ec2/vpc_security_group_tags_gen_test.go | 21 +++++++++++++++++++ .../vpc_subnet_data_source_tags_gen_test.go | 6 ++++++ .../service/ec2/vpc_subnet_tags_gen_test.go | 21 +++++++++++++++++++ internal/service/ec2/vpc_tags_gen_test.go | 21 +++++++++++++++++++ .../listener_data_source_tags_gen_test.go | 6 ++++++ ...listener_rule_data_source_tags_gen_test.go | 6 ++++++ .../elbv2/listener_rule_tags_gen_test.go | 21 +++++++++++++++++++ .../service/elbv2/listener_tags_gen_test.go | 21 +++++++++++++++++++ ...load_balancer_data_source_tags_gen_test.go | 6 ++++++ .../elbv2/load_balancer_tags_gen_test.go | 21 +++++++++++++++++++ .../target_group_data_source_tags_gen_test.go | 6 ++++++ .../elbv2/target_group_tags_gen_test.go | 21 +++++++++++++++++++ .../elbv2/trust_store_tags_gen_test.go | 21 +++++++++++++++++++ internal/service/fms/policy_tags_gen_test.go | 21 +++++++++++++++++++ .../service/fms/resource_set_tags_gen_test.go | 21 +++++++++++++++++++ .../accelerator_identity_gen_test.go | 2 ++ ...m_routing_accelerator_identity_gen_test.go | 2 ++ .../listener_identity_gen_test.go | 2 ++ .../glue/resource_policy_identity_gen_test.go | 2 ++ .../detector_data_source_tags_gen_test.go | 6 ++++++ .../guardduty/detector_tags_gen_test.go | 21 +++++++++++++++++++ .../service/guardduty/filter_tags_gen_test.go | 21 +++++++++++++++++++ .../service/guardduty/ipset_tags_gen_test.go | 21 +++++++++++++++++++ .../malware_protection_plan_tags_gen_test.go | 21 +++++++++++++++++++ .../guardduty/threatintelset_tags_gen_test.go | 21 +++++++++++++++++++ .../iam/instance_profile_tags_gen_test.go | 21 +++++++++++++++++++ ...nect_provider_data_source_tags_gen_test.go | 6 ++++++ ...enid_connect_provider_identity_gen_test.go | 2 ++ .../openid_connect_provider_tags_gen_test.go | 21 +++++++++++++++++++ .../iam/policy_data_source_tags_gen_test.go | 6 ++++++ internal/service/iam/policy_tags_gen_test.go | 21 +++++++++++++++++++ .../iam/role_data_source_tags_gen_test.go | 6 ++++++ ...ole_policy_attachment_identity_gen_test.go | 2 ++ internal/service/iam/role_tags_gen_test.go | 21 +++++++++++++++++++ .../iam/saml_provider_identity_gen_test.go | 2 ++ .../iam/server_certificate_tags_gen_test.go | 21 +++++++++++++++++++ .../service_linked_role_identity_gen_test.go | 2 ++ .../iam/service_linked_role_tags_gen_test.go | 21 +++++++++++++++++++ .../iam/user_data_source_tags_gen_test.go | 6 ++++++ internal/service/iam/user_tags_gen_test.go | 21 +++++++++++++++++++ .../iam/virtual_mfa_device_tags_gen_test.go | 21 +++++++++++++++++++ .../container_recipe_identity_gen_test.go | 2 ++ ...ibution_configuration_identity_gen_test.go | 2 ++ .../imagebuilder/image_identity_gen_test.go | 2 ++ .../image_pipeline_identity_gen_test.go | 2 ++ .../image_recipe_identity_gen_test.go | 2 ++ ...ructure_configuration_identity_gen_test.go | 2 ++ .../lifecycle_policy_identity_gen_test.go | 2 ++ .../workflow_identity_gen_test.go | 2 ++ .../inspector2/filter_tags_gen_test.go | 21 +++++++++++++++++++ .../event_configurations_identity_gen_test.go | 2 ++ ...ndexing_configuration_identity_gen_test.go | 2 ++ .../iot/logging_options_identity_gen_test.go | 2 ++ .../resource_policy_identity_gen_test.go | 2 ++ .../service/kms/external_key_tags_gen_test.go | 21 +++++++++++++++++++ internal/service/kms/key_tags_gen_test.go | 21 +++++++++++++++++++ .../kms/replica_external_key_tags_gen_test.go | 21 +++++++++++++++++++ .../service/kms/replica_key_tags_gen_test.go | 21 +++++++++++++++++++ .../function_data_source_tags_gen_test.go | 6 ++++++ .../service/lambda/function_tags_gen_test.go | 21 +++++++++++++++++++ .../logs/anomaly_detector_tags_gen_test.go | 21 +++++++++++++++++++ .../service/logs/destination_tags_gen_test.go | 21 +++++++++++++++++++ .../logs/group_data_source_tags_gen_test.go | 6 ++++++ internal/service/logs/group_tags_gen_test.go | 21 +++++++++++++++++++ .../service/m2/application_tags_gen_test.go | 21 +++++++++++++++++++ .../service/m2/environment_tags_gen_test.go | 21 +++++++++++++++++++ .../medialive/channel_tags_gen_test.go | 21 +++++++++++++++++++ .../input_data_source_tags_gen_test.go | 6 ++++++ .../input_security_group_tags_gen_test.go | 21 +++++++++++++++++++ .../service/medialive/input_tags_gen_test.go | 21 +++++++++++++++++++ .../medialive/multiplex_tags_gen_test.go | 21 +++++++++++++++++++ .../channel_group_tags_gen_test.go | 21 +++++++++++++++++++ .../connect_attachment_tags_gen_test.go | 21 +++++++++++++++++++ .../connect_peer_tags_gen_test.go | 21 +++++++++++++++++++ .../connection_tags_gen_test.go | 21 +++++++++++++++++++ .../core_network_tags_gen_test.go | 21 +++++++++++++++++++ .../networkmanager/device_tags_gen_test.go | 21 +++++++++++++++++++ .../dx_gateway_attachment_tags_gen_test.go | 21 +++++++++++++++++++ .../global_network_tags_gen_test.go | 21 +++++++++++++++++++ .../networkmanager/link_tags_gen_test.go | 21 +++++++++++++++++++ .../networkmanager/site_tags_gen_test.go | 21 +++++++++++++++++++ ...te_to_site_vpn_attachment_tags_gen_test.go | 21 +++++++++++++++++++ .../transit_gateway_peering_tags_gen_test.go | 21 +++++++++++++++++++ ...ay_route_table_attachment_tags_gen_test.go | 21 +++++++++++++++++++ .../vpc_attachment_tags_gen_test.go | 21 +++++++++++++++++++ .../networkmonitor/monitor_tags_gen_test.go | 21 +++++++++++++++++++ .../networkmonitor/probe_tags_gen_test.go | 21 +++++++++++++++++++ .../organizational_unit_tags_gen_test.go | 21 +++++++++++++++++++ .../policy_attachment_identity_gen_test.go | 2 ++ .../organizations/policy_tags_gen_test.go | 21 +++++++++++++++++++ .../resource_policy_tags_gen_test.go | 21 +++++++++++++++++++ .../analysis_data_source_tags_gen_test.go | 6 ++++++ .../quicksight/analysis_tags_gen_test.go | 21 +++++++++++++++++++ .../quicksight/dashboard_tags_gen_test.go | 21 +++++++++++++++++++ .../data_set_data_source_tags_gen_test.go | 6 ++++++ .../quicksight/data_set_tags_gen_test.go | 21 +++++++++++++++++++ .../quicksight/data_source_tags_gen_test.go | 21 +++++++++++++++++++ .../quicksight/folder_tags_gen_test.go | 21 +++++++++++++++++++ .../quicksight/namespace_tags_gen_test.go | 21 +++++++++++++++++++ .../quicksight/template_tags_gen_test.go | 21 +++++++++++++++++++ .../service/quicksight/theme_tags_gen_test.go | 21 +++++++++++++++++++ .../vpc_connection_tags_gen_test.go | 21 +++++++++++++++++++ .../rds/global_cluster_tags_gen_test.go | 21 +++++++++++++++++++ .../rds/instance_data_source_tags_gen_test.go | 6 ++++++ .../service/rds/instance_tags_gen_test.go | 21 +++++++++++++++++++ .../resiliency_policy_tags_gen_test.go | 21 +++++++++++++++++++ .../index_identity_gen_test.go | 2 ++ .../service/s3/bucket_identity_gen_test.go | 2 ++ ...bucket_object_data_source_tags_gen_test.go | 6 ++++++ .../service/s3/bucket_object_tags_gen_test.go | 21 +++++++++++++++++++ internal/service/s3/bucket_tags_gen_test.go | 21 +++++++++++++++++++ .../s3/directory_bucket_tags_gen_test.go | 21 +++++++++++++++++++ .../service/s3/object_copy_tags_gen_test.go | 21 +++++++++++++++++++ .../s3/object_data_source_tags_gen_test.go | 6 ++++++ internal/service/s3/object_tags_gen_test.go | 21 +++++++++++++++++++ .../secret_data_source_tags_gen_test.go | 6 ++++++ .../secretsmanager/secret_tags_gen_test.go | 21 +++++++++++++++++++ .../portfolio_data_source_tags_gen_test.go | 6 ++++++ .../servicecatalog/portfolio_tags_gen_test.go | 21 +++++++++++++++++++ .../product_data_source_tags_gen_test.go | 6 ++++++ .../servicecatalog/product_tags_gen_test.go | 21 +++++++++++++++++++ .../provisioned_product_tags_gen_test.go | 21 +++++++++++++++++++ .../application_data_source_tags_gen_test.go | 6 ++++++ .../application_tags_gen_test.go | 21 +++++++++++++++++++ ...tribute_group_data_source_tags_gen_test.go | 6 ++++++ .../attribute_group_tags_gen_test.go | 21 +++++++++++++++++++ ...iguration_set_data_source_tags_gen_test.go | 6 ++++++ .../sesv2/configuration_set_tags_gen_test.go | 21 +++++++++++++++++++ .../sesv2/contact_list_tags_gen_test.go | 21 +++++++++++++++++++ ...cated_ip_pool_data_source_tags_gen_test.go | 6 ++++++ .../sesv2/dedicated_ip_pool_tags_gen_test.go | 21 +++++++++++++++++++ ...mail_identity_data_source_tags_gen_test.go | 6 ++++++ .../sesv2/email_identity_tags_gen_test.go | 21 +++++++++++++++++++ .../sns/topic_data_source_tags_gen_test.go | 6 ++++++ internal/service/sns/topic_tags_gen_test.go | 21 +++++++++++++++++++ .../sqs/queue_data_source_tags_gen_test.go | 6 ++++++ internal/service/sqs/queue_tags_gen_test.go | 21 +++++++++++++++++++ .../service/ssm/activation_tags_gen_test.go | 21 +++++++++++++++++++ .../service/ssm/association_tags_gen_test.go | 21 +++++++++++++++++++ .../service/ssm/document_tags_gen_test.go | 21 +++++++++++++++++++ .../ssm/maintenance_window_tags_gen_test.go | 21 +++++++++++++++++++ .../service/ssm/parameter_tags_gen_test.go | 21 +++++++++++++++++++ .../ssm/patch_baseline_tags_gen_test.go | 21 +++++++++++++++++++ .../contact_data_source_tags_gen_test.go | 6 ++++++ .../ssmcontacts/contact_tags_gen_test.go | 21 +++++++++++++++++++ .../rotation_data_source_tags_gen_test.go | 6 ++++++ .../ssmcontacts/rotation_identity_gen_test.go | 2 ++ .../ssmcontacts/rotation_tags_gen_test.go | 21 +++++++++++++++++++ ...ignment_configuration_identity_gen_test.go | 3 +++ .../db_instance_tags_gen_test.go | 21 +++++++++++++++++++ .../resource_configuration_tags_gen_test.go | 21 +++++++++++++++++++ .../resource_gateway_tags_gen_test.go | 21 +++++++++++++++++++ ...work_resource_association_tags_gen_test.go | 21 +++++++++++++++++++ .../browser_settings_tags_gen_test.go | 21 +++++++++++++++++++ .../data_protection_settings_tags_gen_test.go | 21 +++++++++++++++++++ .../ip_access_settings_tags_gen_test.go | 21 +++++++++++++++++++ .../network_settings_tags_gen_test.go | 21 +++++++++++++++++++ ...r_access_logging_settings_tags_gen_test.go | 21 +++++++++++++++++++ .../user_settings_tags_gen_test.go | 21 +++++++++++++++++++ internal/service/xray/group_tags_gen_test.go | 21 +++++++++++++++++++ .../xray/sampling_rule_tags_gen_test.go | 21 +++++++++++++++++++ 306 files changed, 4518 insertions(+) diff --git a/internal/service/accessanalyzer/analyzer_tags_gen_test.go b/internal/service/accessanalyzer/analyzer_tags_gen_test.go index 4b3e9efab0a6..1bad17c535b8 100644 --- a/internal/service/accessanalyzer/analyzer_tags_gen_test.go +++ b/internal/service/accessanalyzer/analyzer_tags_gen_test.go @@ -47,6 +47,7 @@ func testAccAccessAnalyzerAnalyzer_tagsSerial(t *testing.T) { func testAccAccessAnalyzerAnalyzer_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.AnalyzerSummary resourceName := "aws_accessanalyzer_analyzer.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -232,6 +233,7 @@ func testAccAccessAnalyzerAnalyzer_tags(t *testing.T) { func testAccAccessAnalyzerAnalyzer_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.AnalyzerSummary resourceName := "aws_accessanalyzer_analyzer.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -302,6 +304,7 @@ func testAccAccessAnalyzerAnalyzer_tags_null(t *testing.T) { func testAccAccessAnalyzerAnalyzer_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.AnalyzerSummary resourceName := "aws_accessanalyzer_analyzer.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -368,6 +371,7 @@ func testAccAccessAnalyzerAnalyzer_tags_EmptyMap(t *testing.T) { func testAccAccessAnalyzerAnalyzer_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.AnalyzerSummary resourceName := "aws_accessanalyzer_analyzer.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -452,6 +456,7 @@ func testAccAccessAnalyzerAnalyzer_tags_AddOnUpdate(t *testing.T) { func testAccAccessAnalyzerAnalyzer_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.AnalyzerSummary resourceName := "aws_accessanalyzer_analyzer.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -544,6 +549,7 @@ func testAccAccessAnalyzerAnalyzer_tags_EmptyTag_OnCreate(t *testing.T) { func testAccAccessAnalyzerAnalyzer_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.AnalyzerSummary resourceName := "aws_accessanalyzer_analyzer.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -684,6 +690,7 @@ func testAccAccessAnalyzerAnalyzer_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func testAccAccessAnalyzerAnalyzer_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.AnalyzerSummary resourceName := "aws_accessanalyzer_analyzer.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -776,6 +783,7 @@ func testAccAccessAnalyzerAnalyzer_tags_EmptyTag_OnUpdate_Replace(t *testing.T) func testAccAccessAnalyzerAnalyzer_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.AnalyzerSummary resourceName := "aws_accessanalyzer_analyzer.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -960,6 +968,7 @@ func testAccAccessAnalyzerAnalyzer_tags_DefaultTags_providerOnly(t *testing.T) { func testAccAccessAnalyzerAnalyzer_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.AnalyzerSummary resourceName := "aws_accessanalyzer_analyzer.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1123,6 +1132,7 @@ func testAccAccessAnalyzerAnalyzer_tags_DefaultTags_nonOverlapping(t *testing.T) func testAccAccessAnalyzerAnalyzer_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.AnalyzerSummary resourceName := "aws_accessanalyzer_analyzer.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1302,6 +1312,7 @@ func testAccAccessAnalyzerAnalyzer_tags_DefaultTags_overlapping(t *testing.T) { func testAccAccessAnalyzerAnalyzer_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.AnalyzerSummary resourceName := "aws_accessanalyzer_analyzer.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1395,6 +1406,7 @@ func testAccAccessAnalyzerAnalyzer_tags_DefaultTags_updateToProviderOnly(t *test func testAccAccessAnalyzerAnalyzer_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.AnalyzerSummary resourceName := "aws_accessanalyzer_analyzer.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1499,7 @@ func testAccAccessAnalyzerAnalyzer_tags_DefaultTags_updateToResourceOnly(t *test func testAccAccessAnalyzerAnalyzer_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.AnalyzerSummary resourceName := "aws_accessanalyzer_analyzer.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1555,6 +1568,7 @@ func testAccAccessAnalyzerAnalyzer_tags_DefaultTags_emptyResourceTag(t *testing. func testAccAccessAnalyzerAnalyzer_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.AnalyzerSummary resourceName := "aws_accessanalyzer_analyzer.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1615,6 +1629,7 @@ func testAccAccessAnalyzerAnalyzer_tags_DefaultTags_emptyProviderOnlyTag(t *test func testAccAccessAnalyzerAnalyzer_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.AnalyzerSummary resourceName := "aws_accessanalyzer_analyzer.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1680,6 +1695,7 @@ func testAccAccessAnalyzerAnalyzer_tags_DefaultTags_nullOverlappingResourceTag(t func testAccAccessAnalyzerAnalyzer_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.AnalyzerSummary resourceName := "aws_accessanalyzer_analyzer.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1745,6 +1761,7 @@ func testAccAccessAnalyzerAnalyzer_tags_DefaultTags_nullNonOverlappingResourceTa func testAccAccessAnalyzerAnalyzer_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.AnalyzerSummary resourceName := "aws_accessanalyzer_analyzer.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1803,6 +1820,7 @@ func testAccAccessAnalyzerAnalyzer_tags_ComputedTag_OnCreate(t *testing.T) { func testAccAccessAnalyzerAnalyzer_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.AnalyzerSummary resourceName := "aws_accessanalyzer_analyzer.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1903,6 +1921,7 @@ func testAccAccessAnalyzerAnalyzer_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func testAccAccessAnalyzerAnalyzer_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.AnalyzerSummary resourceName := "aws_accessanalyzer_analyzer.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1993,6 +2012,7 @@ func testAccAccessAnalyzerAnalyzer_tags_ComputedTag_OnUpdate_Replace(t *testing. func testAccAccessAnalyzerAnalyzer_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.AnalyzerSummary resourceName := "aws_accessanalyzer_analyzer.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2158,6 +2178,7 @@ func testAccAccessAnalyzerAnalyzer_tags_IgnoreTags_Overlap_DefaultTag(t *testing func testAccAccessAnalyzerAnalyzer_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.AnalyzerSummary resourceName := "aws_accessanalyzer_analyzer.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/acm/certificate_data_source_tags_gen_test.go b/internal/service/acm/certificate_data_source_tags_gen_test.go index 4211a7eb82b7..74bad4f42383 100644 --- a/internal/service/acm/certificate_data_source_tags_gen_test.go +++ b/internal/service/acm/certificate_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccACMCertificateDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_acm_certificate.test" privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) certificatePEM := acctest.TLSRSAX509SelfSignedCertificatePEM(t, privateKeyPEM, acctest.RandomDomain().String()) @@ -46,6 +47,7 @@ func TestAccACMCertificateDataSource_tags(t *testing.T) { func TestAccACMCertificateDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_acm_certificate.test" privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) certificatePEM := acctest.TLSRSAX509SelfSignedCertificatePEM(t, privateKeyPEM, acctest.RandomDomain().String()) @@ -72,6 +74,7 @@ func TestAccACMCertificateDataSource_tags_NullMap(t *testing.T) { func TestAccACMCertificateDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_acm_certificate.test" privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) certificatePEM := acctest.TLSRSAX509SelfSignedCertificatePEM(t, privateKeyPEM, acctest.RandomDomain().String()) @@ -98,6 +101,7 @@ func TestAccACMCertificateDataSource_tags_EmptyMap(t *testing.T) { func TestAccACMCertificateDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_acm_certificate.test" privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) certificatePEM := acctest.TLSRSAX509SelfSignedCertificatePEM(t, privateKeyPEM, acctest.RandomDomain().String()) @@ -132,6 +136,7 @@ func TestAccACMCertificateDataSource_tags_DefaultTags_nonOverlapping(t *testing. func TestAccACMCertificateDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_acm_certificate.test" privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) certificatePEM := acctest.TLSRSAX509SelfSignedCertificatePEM(t, privateKeyPEM, acctest.RandomDomain().String()) @@ -172,6 +177,7 @@ func TestAccACMCertificateDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testi func TestAccACMCertificateDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_acm_certificate.test" privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) certificatePEM := acctest.TLSRSAX509SelfSignedCertificatePEM(t, privateKeyPEM, acctest.RandomDomain().String()) diff --git a/internal/service/acm/certificate_tags_gen_test.go b/internal/service/acm/certificate_tags_gen_test.go index 1687678f0a04..457278b29498 100644 --- a/internal/service/acm/certificate_tags_gen_test.go +++ b/internal/service/acm/certificate_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccACMCertificate_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateDetail resourceName := "aws_acm_certificate.test" privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) @@ -221,6 +222,7 @@ func TestAccACMCertificate_tags(t *testing.T) { func TestAccACMCertificate_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateDetail resourceName := "aws_acm_certificate.test" privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) @@ -295,6 +297,7 @@ func TestAccACMCertificate_tags_null(t *testing.T) { func TestAccACMCertificate_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateDetail resourceName := "aws_acm_certificate.test" privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) @@ -365,6 +368,7 @@ func TestAccACMCertificate_tags_EmptyMap(t *testing.T) { func TestAccACMCertificate_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateDetail resourceName := "aws_acm_certificate.test" privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) @@ -453,6 +457,7 @@ func TestAccACMCertificate_tags_AddOnUpdate(t *testing.T) { func TestAccACMCertificate_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateDetail resourceName := "aws_acm_certificate.test" privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) @@ -553,6 +558,7 @@ func TestAccACMCertificate_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccACMCertificate_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateDetail resourceName := "aws_acm_certificate.test" privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) @@ -702,6 +708,7 @@ func TestAccACMCertificate_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccACMCertificate_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateDetail resourceName := "aws_acm_certificate.test" privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) @@ -798,6 +805,7 @@ func TestAccACMCertificate_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccACMCertificate_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateDetail resourceName := "aws_acm_certificate.test" privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) @@ -1000,6 +1008,7 @@ func TestAccACMCertificate_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccACMCertificate_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateDetail resourceName := "aws_acm_certificate.test" privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) @@ -1176,6 +1185,7 @@ func TestAccACMCertificate_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccACMCertificate_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateDetail resourceName := "aws_acm_certificate.test" privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) @@ -1368,6 +1378,7 @@ func TestAccACMCertificate_tags_DefaultTags_overlapping(t *testing.T) { func TestAccACMCertificate_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateDetail resourceName := "aws_acm_certificate.test" privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) @@ -1465,6 +1476,7 @@ func TestAccACMCertificate_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccACMCertificate_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateDetail resourceName := "aws_acm_certificate.test" privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) @@ -1561,6 +1573,7 @@ func TestAccACMCertificate_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccACMCertificate_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateDetail resourceName := "aws_acm_certificate.test" privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) @@ -1632,6 +1645,7 @@ func TestAccACMCertificate_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccACMCertificate_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateDetail resourceName := "aws_acm_certificate.test" privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) @@ -1695,6 +1709,7 @@ func TestAccACMCertificate_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccACMCertificate_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateDetail resourceName := "aws_acm_certificate.test" privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) @@ -1763,6 +1778,7 @@ func TestAccACMCertificate_tags_DefaultTags_nullOverlappingResourceTag(t *testin func TestAccACMCertificate_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateDetail resourceName := "aws_acm_certificate.test" privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) @@ -1831,6 +1847,7 @@ func TestAccACMCertificate_tags_DefaultTags_nullNonOverlappingResourceTag(t *tes func TestAccACMCertificate_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateDetail resourceName := "aws_acm_certificate.test" privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) @@ -1892,6 +1909,7 @@ func TestAccACMCertificate_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccACMCertificate_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateDetail resourceName := "aws_acm_certificate.test" privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) @@ -1996,6 +2014,7 @@ func TestAccACMCertificate_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccACMCertificate_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateDetail resourceName := "aws_acm_certificate.test" privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) @@ -2090,6 +2109,7 @@ func TestAccACMCertificate_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccACMCertificate_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateDetail resourceName := "aws_acm_certificate.test" privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) @@ -2256,6 +2276,7 @@ func TestAccACMCertificate_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccACMCertificate_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateDetail resourceName := "aws_acm_certificate.test" privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) diff --git a/internal/service/acmpca/certificate_authority_data_source_tags_gen_test.go b/internal/service/acmpca/certificate_authority_data_source_tags_gen_test.go index b3ebf6af90a1..7aa1f5c16830 100644 --- a/internal/service/acmpca/certificate_authority_data_source_tags_gen_test.go +++ b/internal/service/acmpca/certificate_authority_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccACMPCACertificateAuthorityDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_acmpca_certificate_authority.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -44,6 +45,7 @@ func TestAccACMPCACertificateAuthorityDataSource_tags(t *testing.T) { func TestAccACMPCACertificateAuthorityDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_acmpca_certificate_authority.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -68,6 +70,7 @@ func TestAccACMPCACertificateAuthorityDataSource_tags_NullMap(t *testing.T) { func TestAccACMPCACertificateAuthorityDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_acmpca_certificate_authority.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -92,6 +95,7 @@ func TestAccACMPCACertificateAuthorityDataSource_tags_EmptyMap(t *testing.T) { func TestAccACMPCACertificateAuthorityDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_acmpca_certificate_authority.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -124,6 +128,7 @@ func TestAccACMPCACertificateAuthorityDataSource_tags_DefaultTags_nonOverlapping func TestAccACMPCACertificateAuthorityDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_acmpca_certificate_authority.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -162,6 +167,7 @@ func TestAccACMPCACertificateAuthorityDataSource_tags_IgnoreTags_Overlap_Default func TestAccACMPCACertificateAuthorityDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_acmpca_certificate_authority.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/acmpca/certificate_authority_tags_gen_test.go b/internal/service/acmpca/certificate_authority_tags_gen_test.go index 539d1fcaaa55..225f46ca524e 100644 --- a/internal/service/acmpca/certificate_authority_tags_gen_test.go +++ b/internal/service/acmpca/certificate_authority_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccACMPCACertificateAuthority_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateAuthority resourceName := "aws_acmpca_certificate_authority.test" rName := acctest.RandomDomainName() @@ -212,6 +213,7 @@ func TestAccACMPCACertificateAuthority_tags(t *testing.T) { func TestAccACMPCACertificateAuthority_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateAuthority resourceName := "aws_acmpca_certificate_authority.test" rName := acctest.RandomDomainName() @@ -282,6 +284,7 @@ func TestAccACMPCACertificateAuthority_tags_null(t *testing.T) { func TestAccACMPCACertificateAuthority_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateAuthority resourceName := "aws_acmpca_certificate_authority.test" rName := acctest.RandomDomainName() @@ -348,6 +351,7 @@ func TestAccACMPCACertificateAuthority_tags_EmptyMap(t *testing.T) { func TestAccACMPCACertificateAuthority_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateAuthority resourceName := "aws_acmpca_certificate_authority.test" rName := acctest.RandomDomainName() @@ -432,6 +436,7 @@ func TestAccACMPCACertificateAuthority_tags_AddOnUpdate(t *testing.T) { func TestAccACMPCACertificateAuthority_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateAuthority resourceName := "aws_acmpca_certificate_authority.test" rName := acctest.RandomDomainName() @@ -527,6 +532,7 @@ func TestAccACMPCACertificateAuthority_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccACMPCACertificateAuthority_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateAuthority resourceName := "aws_acmpca_certificate_authority.test" rName := acctest.RandomDomainName() @@ -670,6 +676,7 @@ func TestAccACMPCACertificateAuthority_tags_EmptyTag_OnUpdate_Add(t *testing.T) func TestAccACMPCACertificateAuthority_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateAuthority resourceName := "aws_acmpca_certificate_authority.test" rName := acctest.RandomDomainName() @@ -762,6 +769,7 @@ func TestAccACMPCACertificateAuthority_tags_EmptyTag_OnUpdate_Replace(t *testing func TestAccACMPCACertificateAuthority_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateAuthority resourceName := "aws_acmpca_certificate_authority.test" rName := acctest.RandomDomainName() @@ -955,6 +963,7 @@ func TestAccACMPCACertificateAuthority_tags_DefaultTags_providerOnly(t *testing. func TestAccACMPCACertificateAuthority_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateAuthority resourceName := "aws_acmpca_certificate_authority.test" rName := acctest.RandomDomainName() @@ -1124,6 +1133,7 @@ func TestAccACMPCACertificateAuthority_tags_DefaultTags_nonOverlapping(t *testin func TestAccACMPCACertificateAuthority_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateAuthority resourceName := "aws_acmpca_certificate_authority.test" rName := acctest.RandomDomainName() @@ -1309,6 +1319,7 @@ func TestAccACMPCACertificateAuthority_tags_DefaultTags_overlapping(t *testing.T func TestAccACMPCACertificateAuthority_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateAuthority resourceName := "aws_acmpca_certificate_authority.test" rName := acctest.RandomDomainName() @@ -1402,6 +1413,7 @@ func TestAccACMPCACertificateAuthority_tags_DefaultTags_updateToProviderOnly(t * func TestAccACMPCACertificateAuthority_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateAuthority resourceName := "aws_acmpca_certificate_authority.test" rName := acctest.RandomDomainName() @@ -1494,6 +1506,7 @@ func TestAccACMPCACertificateAuthority_tags_DefaultTags_updateToResourceOnly(t * func TestAccACMPCACertificateAuthority_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateAuthority resourceName := "aws_acmpca_certificate_authority.test" rName := acctest.RandomDomainName() @@ -1562,6 +1575,7 @@ func TestAccACMPCACertificateAuthority_tags_DefaultTags_emptyResourceTag(t *test func TestAccACMPCACertificateAuthority_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateAuthority resourceName := "aws_acmpca_certificate_authority.test" rName := acctest.RandomDomainName() @@ -1622,6 +1636,7 @@ func TestAccACMPCACertificateAuthority_tags_DefaultTags_emptyProviderOnlyTag(t * func TestAccACMPCACertificateAuthority_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateAuthority resourceName := "aws_acmpca_certificate_authority.test" rName := acctest.RandomDomainName() @@ -1687,6 +1702,7 @@ func TestAccACMPCACertificateAuthority_tags_DefaultTags_nullOverlappingResourceT func TestAccACMPCACertificateAuthority_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateAuthority resourceName := "aws_acmpca_certificate_authority.test" rName := acctest.RandomDomainName() @@ -1752,6 +1768,7 @@ func TestAccACMPCACertificateAuthority_tags_DefaultTags_nullNonOverlappingResour func TestAccACMPCACertificateAuthority_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateAuthority resourceName := "aws_acmpca_certificate_authority.test" rName := acctest.RandomDomainName() @@ -1810,6 +1827,7 @@ func TestAccACMPCACertificateAuthority_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccACMPCACertificateAuthority_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateAuthority resourceName := "aws_acmpca_certificate_authority.test" rName := acctest.RandomDomainName() @@ -1910,6 +1928,7 @@ func TestAccACMPCACertificateAuthority_tags_ComputedTag_OnUpdate_Add(t *testing. func TestAccACMPCACertificateAuthority_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateAuthority resourceName := "aws_acmpca_certificate_authority.test" rName := acctest.RandomDomainName() @@ -2000,6 +2019,7 @@ func TestAccACMPCACertificateAuthority_tags_ComputedTag_OnUpdate_Replace(t *test func TestAccACMPCACertificateAuthority_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateAuthority resourceName := "aws_acmpca_certificate_authority.test" rName := acctest.RandomDomainName() @@ -2162,6 +2182,7 @@ func TestAccACMPCACertificateAuthority_tags_IgnoreTags_Overlap_DefaultTag(t *tes func TestAccACMPCACertificateAuthority_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.CertificateAuthority resourceName := "aws_acmpca_certificate_authority.test" rName := acctest.RandomDomainName() diff --git a/internal/service/acmpca/certificate_identity_gen_test.go b/internal/service/acmpca/certificate_identity_gen_test.go index c0f888355444..363f4c54875b 100644 --- a/internal/service/acmpca/certificate_identity_gen_test.go +++ b/internal/service/acmpca/certificate_identity_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccACMPCACertificate_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_acmpca_certificate.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -244,6 +245,7 @@ func TestAccACMPCACertificate_Identity_RegionOverride(t *testing.T) { func TestAccACMPCACertificate_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_acmpca_certificate.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/acmpca/policy_identity_gen_test.go b/internal/service/acmpca/policy_identity_gen_test.go index 8791d6108afc..19b133d37d88 100644 --- a/internal/service/acmpca/policy_identity_gen_test.go +++ b/internal/service/acmpca/policy_identity_gen_test.go @@ -20,6 +20,7 @@ import ( func TestAccACMPCAPolicy_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_acmpca_policy.test" resource.ParallelTest(t, resource.TestCase{ @@ -208,6 +209,7 @@ func TestAccACMPCAPolicy_Identity_RegionOverride(t *testing.T) { func TestAccACMPCAPolicy_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_acmpca_policy.test" resource.ParallelTest(t, resource.TestCase{ diff --git a/internal/service/amp/rule_group_namespace_tags_gen_test.go b/internal/service/amp/rule_group_namespace_tags_gen_test.go index 187b7e36c296..51357ecba3c9 100644 --- a/internal/service/amp/rule_group_namespace_tags_gen_test.go +++ b/internal/service/amp/rule_group_namespace_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccAMPRuleGroupNamespace_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.RuleGroupsNamespaceDescription resourceName := "aws_prometheus_rule_group_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccAMPRuleGroupNamespace_tags(t *testing.T) { func TestAccAMPRuleGroupNamespace_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.RuleGroupsNamespaceDescription resourceName := "aws_prometheus_rule_group_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccAMPRuleGroupNamespace_tags_null(t *testing.T) { func TestAccAMPRuleGroupNamespace_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.RuleGroupsNamespaceDescription resourceName := "aws_prometheus_rule_group_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccAMPRuleGroupNamespace_tags_EmptyMap(t *testing.T) { func TestAccAMPRuleGroupNamespace_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.RuleGroupsNamespaceDescription resourceName := "aws_prometheus_rule_group_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccAMPRuleGroupNamespace_tags_AddOnUpdate(t *testing.T) { func TestAccAMPRuleGroupNamespace_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.RuleGroupsNamespaceDescription resourceName := "aws_prometheus_rule_group_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccAMPRuleGroupNamespace_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccAMPRuleGroupNamespace_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.RuleGroupsNamespaceDescription resourceName := "aws_prometheus_rule_group_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccAMPRuleGroupNamespace_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccAMPRuleGroupNamespace_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.RuleGroupsNamespaceDescription resourceName := "aws_prometheus_rule_group_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccAMPRuleGroupNamespace_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccAMPRuleGroupNamespace_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.RuleGroupsNamespaceDescription resourceName := "aws_prometheus_rule_group_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccAMPRuleGroupNamespace_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccAMPRuleGroupNamespace_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.RuleGroupsNamespaceDescription resourceName := "aws_prometheus_rule_group_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccAMPRuleGroupNamespace_tags_DefaultTags_nonOverlapping(t *testing.T) func TestAccAMPRuleGroupNamespace_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.RuleGroupsNamespaceDescription resourceName := "aws_prometheus_rule_group_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccAMPRuleGroupNamespace_tags_DefaultTags_overlapping(t *testing.T) { func TestAccAMPRuleGroupNamespace_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.RuleGroupsNamespaceDescription resourceName := "aws_prometheus_rule_group_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccAMPRuleGroupNamespace_tags_DefaultTags_updateToProviderOnly(t *testi func TestAccAMPRuleGroupNamespace_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.RuleGroupsNamespaceDescription resourceName := "aws_prometheus_rule_group_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccAMPRuleGroupNamespace_tags_DefaultTags_updateToResourceOnly(t *testi func TestAccAMPRuleGroupNamespace_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.RuleGroupsNamespaceDescription resourceName := "aws_prometheus_rule_group_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccAMPRuleGroupNamespace_tags_DefaultTags_emptyResourceTag(t *testing.T func TestAccAMPRuleGroupNamespace_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.RuleGroupsNamespaceDescription resourceName := "aws_prometheus_rule_group_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccAMPRuleGroupNamespace_tags_DefaultTags_emptyProviderOnlyTag(t *testi func TestAccAMPRuleGroupNamespace_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.RuleGroupsNamespaceDescription resourceName := "aws_prometheus_rule_group_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccAMPRuleGroupNamespace_tags_DefaultTags_nullOverlappingResourceTag(t func TestAccAMPRuleGroupNamespace_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.RuleGroupsNamespaceDescription resourceName := "aws_prometheus_rule_group_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccAMPRuleGroupNamespace_tags_DefaultTags_nullNonOverlappingResourceTag func TestAccAMPRuleGroupNamespace_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.RuleGroupsNamespaceDescription resourceName := "aws_prometheus_rule_group_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccAMPRuleGroupNamespace_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccAMPRuleGroupNamespace_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.RuleGroupsNamespaceDescription resourceName := "aws_prometheus_rule_group_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccAMPRuleGroupNamespace_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccAMPRuleGroupNamespace_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.RuleGroupsNamespaceDescription resourceName := "aws_prometheus_rule_group_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccAMPRuleGroupNamespace_tags_ComputedTag_OnUpdate_Replace(t *testing.T func TestAccAMPRuleGroupNamespace_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.RuleGroupsNamespaceDescription resourceName := "aws_prometheus_rule_group_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccAMPRuleGroupNamespace_tags_IgnoreTags_Overlap_DefaultTag(t *testing. func TestAccAMPRuleGroupNamespace_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.RuleGroupsNamespaceDescription resourceName := "aws_prometheus_rule_group_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/amp/scraper_tags_gen_test.go b/internal/service/amp/scraper_tags_gen_test.go index fffbb7321cfa..6ca2f47fd456 100644 --- a/internal/service/amp/scraper_tags_gen_test.go +++ b/internal/service/amp/scraper_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccAMPScraper_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.ScraperDescription resourceName := "aws_prometheus_scraper.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccAMPScraper_tags(t *testing.T) { func TestAccAMPScraper_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.ScraperDescription resourceName := "aws_prometheus_scraper.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -262,6 +264,7 @@ func TestAccAMPScraper_tags_null(t *testing.T) { func TestAccAMPScraper_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.ScraperDescription resourceName := "aws_prometheus_scraper.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -312,6 +315,7 @@ func TestAccAMPScraper_tags_EmptyMap(t *testing.T) { func TestAccAMPScraper_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.ScraperDescription resourceName := "aws_prometheus_scraper.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -392,6 +396,7 @@ func TestAccAMPScraper_tags_AddOnUpdate(t *testing.T) { func TestAccAMPScraper_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.ScraperDescription resourceName := "aws_prometheus_scraper.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -482,6 +487,7 @@ func TestAccAMPScraper_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccAMPScraper_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.ScraperDescription resourceName := "aws_prometheus_scraper.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -621,6 +627,7 @@ func TestAccAMPScraper_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccAMPScraper_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.ScraperDescription resourceName := "aws_prometheus_scraper.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -711,6 +718,7 @@ func TestAccAMPScraper_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccAMPScraper_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.ScraperDescription resourceName := "aws_prometheus_scraper.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -892,6 +900,7 @@ func TestAccAMPScraper_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccAMPScraper_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.ScraperDescription resourceName := "aws_prometheus_scraper.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1052,6 +1061,7 @@ func TestAccAMPScraper_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccAMPScraper_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.ScraperDescription resourceName := "aws_prometheus_scraper.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1228,6 +1238,7 @@ func TestAccAMPScraper_tags_DefaultTags_overlapping(t *testing.T) { func TestAccAMPScraper_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.ScraperDescription resourceName := "aws_prometheus_scraper.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1318,6 +1329,7 @@ func TestAccAMPScraper_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccAMPScraper_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.ScraperDescription resourceName := "aws_prometheus_scraper.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1407,6 +1419,7 @@ func TestAccAMPScraper_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccAMPScraper_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.ScraperDescription resourceName := "aws_prometheus_scraper.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccAMPScraper_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccAMPScraper_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.ScraperDescription resourceName := "aws_prometheus_scraper.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1531,6 +1545,7 @@ func TestAccAMPScraper_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccAMPScraper_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.ScraperDescription resourceName := "aws_prometheus_scraper.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1600,6 +1615,7 @@ func TestAccAMPScraper_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) func TestAccAMPScraper_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.ScraperDescription resourceName := "aws_prometheus_scraper.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1671,6 +1687,7 @@ func TestAccAMPScraper_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing func TestAccAMPScraper_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.ScraperDescription resourceName := "aws_prometheus_scraper.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1726,6 +1743,7 @@ func TestAccAMPScraper_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccAMPScraper_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.ScraperDescription resourceName := "aws_prometheus_scraper.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1823,6 +1841,7 @@ func TestAccAMPScraper_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccAMPScraper_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.ScraperDescription resourceName := "aws_prometheus_scraper.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1929,7 @@ func TestAccAMPScraper_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccAMPScraper_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.ScraperDescription resourceName := "aws_prometheus_scraper.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2072,6 +2092,7 @@ func TestAccAMPScraper_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccAMPScraper_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.ScraperDescription resourceName := "aws_prometheus_scraper.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/amp/workspace_data_source_tags_gen_test.go b/internal/service/amp/workspace_data_source_tags_gen_test.go index 5ce1fd4f5a62..e525c6032a3e 100644 --- a/internal/service/amp/workspace_data_source_tags_gen_test.go +++ b/internal/service/amp/workspace_data_source_tags_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccAMPWorkspaceDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_prometheus_workspace.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -47,6 +48,7 @@ func TestAccAMPWorkspaceDataSource_tags(t *testing.T) { func TestAccAMPWorkspaceDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_prometheus_workspace.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -69,6 +71,7 @@ func TestAccAMPWorkspaceDataSource_tags_NullMap(t *testing.T) { func TestAccAMPWorkspaceDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_prometheus_workspace.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -91,6 +94,7 @@ func TestAccAMPWorkspaceDataSource_tags_EmptyMap(t *testing.T) { func TestAccAMPWorkspaceDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_prometheus_workspace.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -121,6 +125,7 @@ func TestAccAMPWorkspaceDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) func TestAccAMPWorkspaceDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_prometheus_workspace.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -157,6 +162,7 @@ func TestAccAMPWorkspaceDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing func TestAccAMPWorkspaceDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_prometheus_workspace.test" acctest.ParallelTest(ctx, t, resource.TestCase{ diff --git a/internal/service/amp/workspace_tags_gen_test.go b/internal/service/amp/workspace_tags_gen_test.go index de43524e4416..aede22126489 100644 --- a/internal/service/amp/workspace_tags_gen_test.go +++ b/internal/service/amp/workspace_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccAMPWorkspace_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.WorkspaceDescription resourceName := "aws_prometheus_workspace.test" @@ -191,6 +192,7 @@ func TestAccAMPWorkspace_tags(t *testing.T) { func TestAccAMPWorkspace_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.WorkspaceDescription resourceName := "aws_prometheus_workspace.test" @@ -254,6 +256,7 @@ func TestAccAMPWorkspace_tags_null(t *testing.T) { func TestAccAMPWorkspace_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.WorkspaceDescription resourceName := "aws_prometheus_workspace.test" @@ -313,6 +316,7 @@ func TestAccAMPWorkspace_tags_EmptyMap(t *testing.T) { func TestAccAMPWorkspace_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.WorkspaceDescription resourceName := "aws_prometheus_workspace.test" @@ -390,6 +394,7 @@ func TestAccAMPWorkspace_tags_AddOnUpdate(t *testing.T) { func TestAccAMPWorkspace_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.WorkspaceDescription resourceName := "aws_prometheus_workspace.test" @@ -474,6 +479,7 @@ func TestAccAMPWorkspace_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccAMPWorkspace_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.WorkspaceDescription resourceName := "aws_prometheus_workspace.test" @@ -605,6 +611,7 @@ func TestAccAMPWorkspace_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccAMPWorkspace_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.WorkspaceDescription resourceName := "aws_prometheus_workspace.test" @@ -690,6 +697,7 @@ func TestAccAMPWorkspace_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccAMPWorkspace_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.WorkspaceDescription resourceName := "aws_prometheus_workspace.test" @@ -862,6 +870,7 @@ func TestAccAMPWorkspace_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccAMPWorkspace_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.WorkspaceDescription resourceName := "aws_prometheus_workspace.test" @@ -1015,6 +1024,7 @@ func TestAccAMPWorkspace_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccAMPWorkspace_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.WorkspaceDescription resourceName := "aws_prometheus_workspace.test" @@ -1184,6 +1194,7 @@ func TestAccAMPWorkspace_tags_DefaultTags_overlapping(t *testing.T) { func TestAccAMPWorkspace_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.WorkspaceDescription resourceName := "aws_prometheus_workspace.test" @@ -1270,6 +1281,7 @@ func TestAccAMPWorkspace_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccAMPWorkspace_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.WorkspaceDescription resourceName := "aws_prometheus_workspace.test" @@ -1355,6 +1367,7 @@ func TestAccAMPWorkspace_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccAMPWorkspace_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.WorkspaceDescription resourceName := "aws_prometheus_workspace.test" @@ -1417,6 +1430,7 @@ func TestAccAMPWorkspace_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccAMPWorkspace_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.WorkspaceDescription resourceName := "aws_prometheus_workspace.test" @@ -1471,6 +1485,7 @@ func TestAccAMPWorkspace_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccAMPWorkspace_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.WorkspaceDescription resourceName := "aws_prometheus_workspace.test" @@ -1530,6 +1545,7 @@ func TestAccAMPWorkspace_tags_DefaultTags_nullOverlappingResourceTag(t *testing. func TestAccAMPWorkspace_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.WorkspaceDescription resourceName := "aws_prometheus_workspace.test" @@ -1589,6 +1605,7 @@ func TestAccAMPWorkspace_tags_DefaultTags_nullNonOverlappingResourceTag(t *testi func TestAccAMPWorkspace_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.WorkspaceDescription resourceName := "aws_prometheus_workspace.test" @@ -1641,6 +1658,7 @@ func TestAccAMPWorkspace_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccAMPWorkspace_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.WorkspaceDescription resourceName := "aws_prometheus_workspace.test" @@ -1734,6 +1752,7 @@ func TestAccAMPWorkspace_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccAMPWorkspace_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.WorkspaceDescription resourceName := "aws_prometheus_workspace.test" @@ -1817,6 +1836,7 @@ func TestAccAMPWorkspace_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccAMPWorkspace_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.WorkspaceDescription resourceName := "aws_prometheus_workspace.test" @@ -1975,6 +1995,7 @@ func TestAccAMPWorkspace_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccAMPWorkspace_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.WorkspaceDescription resourceName := "aws_prometheus_workspace.test" diff --git a/internal/service/amplify/app_tags_gen_test.go b/internal/service/amplify/app_tags_gen_test.go index 183c19e9b7a6..b2e3221d2f11 100644 --- a/internal/service/amplify/app_tags_gen_test.go +++ b/internal/service/amplify/app_tags_gen_test.go @@ -47,6 +47,7 @@ func testAccAmplifyApp_tagsSerial(t *testing.T) { func testAccAmplifyApp_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.App resourceName := "aws_amplify_app.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -229,6 +230,7 @@ func testAccAmplifyApp_tags(t *testing.T) { func testAccAmplifyApp_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.App resourceName := "aws_amplify_app.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -296,6 +298,7 @@ func testAccAmplifyApp_tags_null(t *testing.T) { func testAccAmplifyApp_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.App resourceName := "aws_amplify_app.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -359,6 +362,7 @@ func testAccAmplifyApp_tags_EmptyMap(t *testing.T) { func testAccAmplifyApp_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.App resourceName := "aws_amplify_app.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -440,6 +444,7 @@ func testAccAmplifyApp_tags_AddOnUpdate(t *testing.T) { func testAccAmplifyApp_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.App resourceName := "aws_amplify_app.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -529,6 +534,7 @@ func testAccAmplifyApp_tags_EmptyTag_OnCreate(t *testing.T) { func testAccAmplifyApp_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.App resourceName := "aws_amplify_app.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -666,6 +672,7 @@ func testAccAmplifyApp_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func testAccAmplifyApp_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.App resourceName := "aws_amplify_app.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -755,6 +762,7 @@ func testAccAmplifyApp_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func testAccAmplifyApp_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.App resourceName := "aws_amplify_app.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -936,6 +944,7 @@ func testAccAmplifyApp_tags_DefaultTags_providerOnly(t *testing.T) { func testAccAmplifyApp_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.App resourceName := "aws_amplify_app.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1096,6 +1105,7 @@ func testAccAmplifyApp_tags_DefaultTags_nonOverlapping(t *testing.T) { func testAccAmplifyApp_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.App resourceName := "aws_amplify_app.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1272,6 +1282,7 @@ func testAccAmplifyApp_tags_DefaultTags_overlapping(t *testing.T) { func testAccAmplifyApp_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.App resourceName := "aws_amplify_app.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1362,6 +1373,7 @@ func testAccAmplifyApp_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func testAccAmplifyApp_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.App resourceName := "aws_amplify_app.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1451,6 +1463,7 @@ func testAccAmplifyApp_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func testAccAmplifyApp_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.App resourceName := "aws_amplify_app.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1516,6 +1529,7 @@ func testAccAmplifyApp_tags_DefaultTags_emptyResourceTag(t *testing.T) { func testAccAmplifyApp_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.App resourceName := "aws_amplify_app.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1573,6 +1587,7 @@ func testAccAmplifyApp_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func testAccAmplifyApp_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.App resourceName := "aws_amplify_app.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1635,6 +1650,7 @@ func testAccAmplifyApp_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) func testAccAmplifyApp_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.App resourceName := "aws_amplify_app.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1697,6 +1713,7 @@ func testAccAmplifyApp_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing func testAccAmplifyApp_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.App resourceName := "aws_amplify_app.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1752,6 +1769,7 @@ func testAccAmplifyApp_tags_ComputedTag_OnCreate(t *testing.T) { func testAccAmplifyApp_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.App resourceName := "aws_amplify_app.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1849,6 +1867,7 @@ func testAccAmplifyApp_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func testAccAmplifyApp_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.App resourceName := "aws_amplify_app.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1936,6 +1955,7 @@ func testAccAmplifyApp_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func testAccAmplifyApp_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.App resourceName := "aws_amplify_app.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2098,6 +2118,7 @@ func testAccAmplifyApp_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func testAccAmplifyApp_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.App resourceName := "aws_amplify_app.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/amplify/branch_tags_gen_test.go b/internal/service/amplify/branch_tags_gen_test.go index 47e9098ef1fc..77d166300827 100644 --- a/internal/service/amplify/branch_tags_gen_test.go +++ b/internal/service/amplify/branch_tags_gen_test.go @@ -47,6 +47,7 @@ func testAccAmplifyBranch_tagsSerial(t *testing.T) { func testAccAmplifyBranch_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.Branch resourceName := "aws_amplify_branch.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -229,6 +230,7 @@ func testAccAmplifyBranch_tags(t *testing.T) { func testAccAmplifyBranch_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.Branch resourceName := "aws_amplify_branch.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -296,6 +298,7 @@ func testAccAmplifyBranch_tags_null(t *testing.T) { func testAccAmplifyBranch_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.Branch resourceName := "aws_amplify_branch.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -359,6 +362,7 @@ func testAccAmplifyBranch_tags_EmptyMap(t *testing.T) { func testAccAmplifyBranch_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.Branch resourceName := "aws_amplify_branch.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -440,6 +444,7 @@ func testAccAmplifyBranch_tags_AddOnUpdate(t *testing.T) { func testAccAmplifyBranch_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.Branch resourceName := "aws_amplify_branch.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -529,6 +534,7 @@ func testAccAmplifyBranch_tags_EmptyTag_OnCreate(t *testing.T) { func testAccAmplifyBranch_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.Branch resourceName := "aws_amplify_branch.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -666,6 +672,7 @@ func testAccAmplifyBranch_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func testAccAmplifyBranch_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.Branch resourceName := "aws_amplify_branch.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -755,6 +762,7 @@ func testAccAmplifyBranch_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func testAccAmplifyBranch_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.Branch resourceName := "aws_amplify_branch.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -936,6 +944,7 @@ func testAccAmplifyBranch_tags_DefaultTags_providerOnly(t *testing.T) { func testAccAmplifyBranch_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.Branch resourceName := "aws_amplify_branch.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1096,6 +1105,7 @@ func testAccAmplifyBranch_tags_DefaultTags_nonOverlapping(t *testing.T) { func testAccAmplifyBranch_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.Branch resourceName := "aws_amplify_branch.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1272,6 +1282,7 @@ func testAccAmplifyBranch_tags_DefaultTags_overlapping(t *testing.T) { func testAccAmplifyBranch_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.Branch resourceName := "aws_amplify_branch.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1362,6 +1373,7 @@ func testAccAmplifyBranch_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func testAccAmplifyBranch_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.Branch resourceName := "aws_amplify_branch.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1451,6 +1463,7 @@ func testAccAmplifyBranch_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func testAccAmplifyBranch_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Branch resourceName := "aws_amplify_branch.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1516,6 +1529,7 @@ func testAccAmplifyBranch_tags_DefaultTags_emptyResourceTag(t *testing.T) { func testAccAmplifyBranch_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Branch resourceName := "aws_amplify_branch.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1573,6 +1587,7 @@ func testAccAmplifyBranch_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func testAccAmplifyBranch_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Branch resourceName := "aws_amplify_branch.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1635,6 +1650,7 @@ func testAccAmplifyBranch_tags_DefaultTags_nullOverlappingResourceTag(t *testing func testAccAmplifyBranch_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Branch resourceName := "aws_amplify_branch.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1697,6 +1713,7 @@ func testAccAmplifyBranch_tags_DefaultTags_nullNonOverlappingResourceTag(t *test func testAccAmplifyBranch_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.Branch resourceName := "aws_amplify_branch.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1752,6 +1769,7 @@ func testAccAmplifyBranch_tags_ComputedTag_OnCreate(t *testing.T) { func testAccAmplifyBranch_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.Branch resourceName := "aws_amplify_branch.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1849,6 +1867,7 @@ func testAccAmplifyBranch_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func testAccAmplifyBranch_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.Branch resourceName := "aws_amplify_branch.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1936,6 +1955,7 @@ func testAccAmplifyBranch_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func testAccAmplifyBranch_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Branch resourceName := "aws_amplify_branch.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2098,6 +2118,7 @@ func testAccAmplifyBranch_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func testAccAmplifyBranch_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Branch resourceName := "aws_amplify_branch.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/apigateway/api_key_data_source_tags_gen_test.go b/internal/service/apigateway/api_key_data_source_tags_gen_test.go index be585daf5182..06d973fd0c9a 100644 --- a/internal/service/apigateway/api_key_data_source_tags_gen_test.go +++ b/internal/service/apigateway/api_key_data_source_tags_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccAPIGatewayAPIKeyDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_api_gateway_api_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -49,6 +50,7 @@ func TestAccAPIGatewayAPIKeyDataSource_tags(t *testing.T) { func TestAccAPIGatewayAPIKeyDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_api_gateway_api_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -73,6 +75,7 @@ func TestAccAPIGatewayAPIKeyDataSource_tags_NullMap(t *testing.T) { func TestAccAPIGatewayAPIKeyDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_api_gateway_api_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -97,6 +100,7 @@ func TestAccAPIGatewayAPIKeyDataSource_tags_EmptyMap(t *testing.T) { func TestAccAPIGatewayAPIKeyDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_api_gateway_api_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -129,6 +133,7 @@ func TestAccAPIGatewayAPIKeyDataSource_tags_DefaultTags_nonOverlapping(t *testin func TestAccAPIGatewayAPIKeyDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_api_gateway_api_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -167,6 +172,7 @@ func TestAccAPIGatewayAPIKeyDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *tes func TestAccAPIGatewayAPIKeyDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_api_gateway_api_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/apigateway/api_key_tags_gen_test.go b/internal/service/apigateway/api_key_tags_gen_test.go index 5e3671cea00a..e81a248984e8 100644 --- a/internal/service/apigateway/api_key_tags_gen_test.go +++ b/internal/service/apigateway/api_key_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccAPIGatewayAPIKey_tags(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetApiKeyOutput resourceName := "aws_api_gateway_api_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccAPIGatewayAPIKey_tags(t *testing.T) { func TestAccAPIGatewayAPIKey_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetApiKeyOutput resourceName := "aws_api_gateway_api_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccAPIGatewayAPIKey_tags_null(t *testing.T) { func TestAccAPIGatewayAPIKey_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetApiKeyOutput resourceName := "aws_api_gateway_api_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccAPIGatewayAPIKey_tags_EmptyMap(t *testing.T) { func TestAccAPIGatewayAPIKey_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetApiKeyOutput resourceName := "aws_api_gateway_api_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccAPIGatewayAPIKey_tags_AddOnUpdate(t *testing.T) { func TestAccAPIGatewayAPIKey_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetApiKeyOutput resourceName := "aws_api_gateway_api_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccAPIGatewayAPIKey_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccAPIGatewayAPIKey_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetApiKeyOutput resourceName := "aws_api_gateway_api_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccAPIGatewayAPIKey_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccAPIGatewayAPIKey_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetApiKeyOutput resourceName := "aws_api_gateway_api_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccAPIGatewayAPIKey_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccAPIGatewayAPIKey_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetApiKeyOutput resourceName := "aws_api_gateway_api_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccAPIGatewayAPIKey_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccAPIGatewayAPIKey_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetApiKeyOutput resourceName := "aws_api_gateway_api_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccAPIGatewayAPIKey_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccAPIGatewayAPIKey_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetApiKeyOutput resourceName := "aws_api_gateway_api_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccAPIGatewayAPIKey_tags_DefaultTags_overlapping(t *testing.T) { func TestAccAPIGatewayAPIKey_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetApiKeyOutput resourceName := "aws_api_gateway_api_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccAPIGatewayAPIKey_tags_DefaultTags_updateToProviderOnly(t *testing.T) func TestAccAPIGatewayAPIKey_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetApiKeyOutput resourceName := "aws_api_gateway_api_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccAPIGatewayAPIKey_tags_DefaultTags_updateToResourceOnly(t *testing.T) func TestAccAPIGatewayAPIKey_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetApiKeyOutput resourceName := "aws_api_gateway_api_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccAPIGatewayAPIKey_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccAPIGatewayAPIKey_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetApiKeyOutput resourceName := "aws_api_gateway_api_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccAPIGatewayAPIKey_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) func TestAccAPIGatewayAPIKey_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetApiKeyOutput resourceName := "aws_api_gateway_api_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccAPIGatewayAPIKey_tags_DefaultTags_nullOverlappingResourceTag(t *test func TestAccAPIGatewayAPIKey_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetApiKeyOutput resourceName := "aws_api_gateway_api_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccAPIGatewayAPIKey_tags_DefaultTags_nullNonOverlappingResourceTag(t *t func TestAccAPIGatewayAPIKey_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetApiKeyOutput resourceName := "aws_api_gateway_api_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccAPIGatewayAPIKey_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccAPIGatewayAPIKey_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetApiKeyOutput resourceName := "aws_api_gateway_api_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccAPIGatewayAPIKey_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccAPIGatewayAPIKey_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetApiKeyOutput resourceName := "aws_api_gateway_api_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccAPIGatewayAPIKey_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccAPIGatewayAPIKey_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetApiKeyOutput resourceName := "aws_api_gateway_api_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccAPIGatewayAPIKey_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccAPIGatewayAPIKey_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetApiKeyOutput resourceName := "aws_api_gateway_api_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/apigateway/client_certificate_tags_gen_test.go b/internal/service/apigateway/client_certificate_tags_gen_test.go index 261bafcbf3b2..bba2b50f3885 100644 --- a/internal/service/apigateway/client_certificate_tags_gen_test.go +++ b/internal/service/apigateway/client_certificate_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccAPIGatewayClientCertificate_tags(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetClientCertificateOutput resourceName := "aws_api_gateway_client_certificate.test" @@ -191,6 +192,7 @@ func TestAccAPIGatewayClientCertificate_tags(t *testing.T) { func TestAccAPIGatewayClientCertificate_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetClientCertificateOutput resourceName := "aws_api_gateway_client_certificate.test" @@ -254,6 +256,7 @@ func TestAccAPIGatewayClientCertificate_tags_null(t *testing.T) { func TestAccAPIGatewayClientCertificate_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetClientCertificateOutput resourceName := "aws_api_gateway_client_certificate.test" @@ -313,6 +316,7 @@ func TestAccAPIGatewayClientCertificate_tags_EmptyMap(t *testing.T) { func TestAccAPIGatewayClientCertificate_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetClientCertificateOutput resourceName := "aws_api_gateway_client_certificate.test" @@ -390,6 +394,7 @@ func TestAccAPIGatewayClientCertificate_tags_AddOnUpdate(t *testing.T) { func TestAccAPIGatewayClientCertificate_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetClientCertificateOutput resourceName := "aws_api_gateway_client_certificate.test" @@ -474,6 +479,7 @@ func TestAccAPIGatewayClientCertificate_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccAPIGatewayClientCertificate_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetClientCertificateOutput resourceName := "aws_api_gateway_client_certificate.test" @@ -605,6 +611,7 @@ func TestAccAPIGatewayClientCertificate_tags_EmptyTag_OnUpdate_Add(t *testing.T) func TestAccAPIGatewayClientCertificate_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetClientCertificateOutput resourceName := "aws_api_gateway_client_certificate.test" @@ -690,6 +697,7 @@ func TestAccAPIGatewayClientCertificate_tags_EmptyTag_OnUpdate_Replace(t *testin func TestAccAPIGatewayClientCertificate_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetClientCertificateOutput resourceName := "aws_api_gateway_client_certificate.test" @@ -862,6 +870,7 @@ func TestAccAPIGatewayClientCertificate_tags_DefaultTags_providerOnly(t *testing func TestAccAPIGatewayClientCertificate_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetClientCertificateOutput resourceName := "aws_api_gateway_client_certificate.test" @@ -1015,6 +1024,7 @@ func TestAccAPIGatewayClientCertificate_tags_DefaultTags_nonOverlapping(t *testi func TestAccAPIGatewayClientCertificate_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetClientCertificateOutput resourceName := "aws_api_gateway_client_certificate.test" @@ -1184,6 +1194,7 @@ func TestAccAPIGatewayClientCertificate_tags_DefaultTags_overlapping(t *testing. func TestAccAPIGatewayClientCertificate_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetClientCertificateOutput resourceName := "aws_api_gateway_client_certificate.test" @@ -1270,6 +1281,7 @@ func TestAccAPIGatewayClientCertificate_tags_DefaultTags_updateToProviderOnly(t func TestAccAPIGatewayClientCertificate_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetClientCertificateOutput resourceName := "aws_api_gateway_client_certificate.test" @@ -1355,6 +1367,7 @@ func TestAccAPIGatewayClientCertificate_tags_DefaultTags_updateToResourceOnly(t func TestAccAPIGatewayClientCertificate_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetClientCertificateOutput resourceName := "aws_api_gateway_client_certificate.test" @@ -1417,6 +1430,7 @@ func TestAccAPIGatewayClientCertificate_tags_DefaultTags_emptyResourceTag(t *tes func TestAccAPIGatewayClientCertificate_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetClientCertificateOutput resourceName := "aws_api_gateway_client_certificate.test" @@ -1471,6 +1485,7 @@ func TestAccAPIGatewayClientCertificate_tags_DefaultTags_emptyProviderOnlyTag(t func TestAccAPIGatewayClientCertificate_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetClientCertificateOutput resourceName := "aws_api_gateway_client_certificate.test" @@ -1530,6 +1545,7 @@ func TestAccAPIGatewayClientCertificate_tags_DefaultTags_nullOverlappingResource func TestAccAPIGatewayClientCertificate_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetClientCertificateOutput resourceName := "aws_api_gateway_client_certificate.test" @@ -1589,6 +1605,7 @@ func TestAccAPIGatewayClientCertificate_tags_DefaultTags_nullNonOverlappingResou func TestAccAPIGatewayClientCertificate_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetClientCertificateOutput resourceName := "aws_api_gateway_client_certificate.test" @@ -1641,6 +1658,7 @@ func TestAccAPIGatewayClientCertificate_tags_ComputedTag_OnCreate(t *testing.T) func TestAccAPIGatewayClientCertificate_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetClientCertificateOutput resourceName := "aws_api_gateway_client_certificate.test" @@ -1734,6 +1752,7 @@ func TestAccAPIGatewayClientCertificate_tags_ComputedTag_OnUpdate_Add(t *testing func TestAccAPIGatewayClientCertificate_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetClientCertificateOutput resourceName := "aws_api_gateway_client_certificate.test" @@ -1817,6 +1836,7 @@ func TestAccAPIGatewayClientCertificate_tags_ComputedTag_OnUpdate_Replace(t *tes func TestAccAPIGatewayClientCertificate_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetClientCertificateOutput resourceName := "aws_api_gateway_client_certificate.test" @@ -1975,6 +1995,7 @@ func TestAccAPIGatewayClientCertificate_tags_IgnoreTags_Overlap_DefaultTag(t *te func TestAccAPIGatewayClientCertificate_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetClientCertificateOutput resourceName := "aws_api_gateway_client_certificate.test" diff --git a/internal/service/apigateway/domain_name_access_association_tags_gen_test.go b/internal/service/apigateway/domain_name_access_association_tags_gen_test.go index e9e1ca06e674..025deac3f65e 100644 --- a/internal/service/apigateway/domain_name_access_association_tags_gen_test.go +++ b/internal/service/apigateway/domain_name_access_association_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccAPIGatewayDomainNameAccessAssociation_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DomainNameAccessAssociation resourceName := "aws_api_gateway_domain_name_access_association.test" rName := acctest.RandomSubdomain() @@ -218,6 +219,7 @@ func TestAccAPIGatewayDomainNameAccessAssociation_tags(t *testing.T) { func TestAccAPIGatewayDomainNameAccessAssociation_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DomainNameAccessAssociation resourceName := "aws_api_gateway_domain_name_access_association.test" rName := acctest.RandomSubdomain() @@ -286,6 +288,7 @@ func TestAccAPIGatewayDomainNameAccessAssociation_tags_null(t *testing.T) { func TestAccAPIGatewayDomainNameAccessAssociation_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DomainNameAccessAssociation resourceName := "aws_api_gateway_domain_name_access_association.test" rName := acctest.RandomSubdomain() @@ -342,6 +345,7 @@ func TestAccAPIGatewayDomainNameAccessAssociation_tags_EmptyMap(t *testing.T) { func TestAccAPIGatewayDomainNameAccessAssociation_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DomainNameAccessAssociation resourceName := "aws_api_gateway_domain_name_access_association.test" rName := acctest.RandomSubdomain() @@ -430,6 +434,7 @@ func TestAccAPIGatewayDomainNameAccessAssociation_tags_AddOnUpdate(t *testing.T) func TestAccAPIGatewayDomainNameAccessAssociation_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DomainNameAccessAssociation resourceName := "aws_api_gateway_domain_name_access_association.test" rName := acctest.RandomSubdomain() @@ -530,6 +535,7 @@ func TestAccAPIGatewayDomainNameAccessAssociation_tags_EmptyTag_OnCreate(t *test func TestAccAPIGatewayDomainNameAccessAssociation_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DomainNameAccessAssociation resourceName := "aws_api_gateway_domain_name_access_association.test" rName := acctest.RandomSubdomain() @@ -681,6 +687,7 @@ func TestAccAPIGatewayDomainNameAccessAssociation_tags_EmptyTag_OnUpdate_Add(t * func TestAccAPIGatewayDomainNameAccessAssociation_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DomainNameAccessAssociation resourceName := "aws_api_gateway_domain_name_access_association.test" rName := acctest.RandomSubdomain() @@ -779,6 +786,7 @@ func TestAccAPIGatewayDomainNameAccessAssociation_tags_EmptyTag_OnUpdate_Replace func TestAccAPIGatewayDomainNameAccessAssociation_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DomainNameAccessAssociation resourceName := "aws_api_gateway_domain_name_access_association.test" rName := acctest.RandomSubdomain() @@ -978,6 +986,7 @@ func TestAccAPIGatewayDomainNameAccessAssociation_tags_DefaultTags_providerOnly( func TestAccAPIGatewayDomainNameAccessAssociation_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DomainNameAccessAssociation resourceName := "aws_api_gateway_domain_name_access_association.test" rName := acctest.RandomSubdomain() @@ -1152,6 +1161,7 @@ func TestAccAPIGatewayDomainNameAccessAssociation_tags_DefaultTags_nonOverlappin func TestAccAPIGatewayDomainNameAccessAssociation_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DomainNameAccessAssociation resourceName := "aws_api_gateway_domain_name_access_association.test" rName := acctest.RandomSubdomain() @@ -1342,6 +1352,7 @@ func TestAccAPIGatewayDomainNameAccessAssociation_tags_DefaultTags_overlapping(t func TestAccAPIGatewayDomainNameAccessAssociation_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DomainNameAccessAssociation resourceName := "aws_api_gateway_domain_name_access_association.test" rName := acctest.RandomSubdomain() @@ -1440,6 +1451,7 @@ func TestAccAPIGatewayDomainNameAccessAssociation_tags_DefaultTags_updateToProvi func TestAccAPIGatewayDomainNameAccessAssociation_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DomainNameAccessAssociation resourceName := "aws_api_gateway_domain_name_access_association.test" rName := acctest.RandomSubdomain() @@ -1537,6 +1549,7 @@ func TestAccAPIGatewayDomainNameAccessAssociation_tags_DefaultTags_updateToResou func TestAccAPIGatewayDomainNameAccessAssociation_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DomainNameAccessAssociation resourceName := "aws_api_gateway_domain_name_access_association.test" rName := acctest.RandomSubdomain() @@ -1609,6 +1622,7 @@ func TestAccAPIGatewayDomainNameAccessAssociation_tags_DefaultTags_emptyResource func TestAccAPIGatewayDomainNameAccessAssociation_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DomainNameAccessAssociation resourceName := "aws_api_gateway_domain_name_access_association.test" rName := acctest.RandomSubdomain() @@ -1673,6 +1687,7 @@ func TestAccAPIGatewayDomainNameAccessAssociation_tags_DefaultTags_emptyProvider func TestAccAPIGatewayDomainNameAccessAssociation_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DomainNameAccessAssociation resourceName := "aws_api_gateway_domain_name_access_association.test" rName := acctest.RandomSubdomain() @@ -1748,6 +1763,7 @@ func TestAccAPIGatewayDomainNameAccessAssociation_tags_DefaultTags_nullOverlappi func TestAccAPIGatewayDomainNameAccessAssociation_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DomainNameAccessAssociation resourceName := "aws_api_gateway_domain_name_access_association.test" rName := acctest.RandomSubdomain() @@ -1825,6 +1841,7 @@ func TestAccAPIGatewayDomainNameAccessAssociation_tags_DefaultTags_nullNonOverla func TestAccAPIGatewayDomainNameAccessAssociation_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DomainNameAccessAssociation resourceName := "aws_api_gateway_domain_name_access_association.test" rName := acctest.RandomSubdomain() @@ -1886,6 +1903,7 @@ func TestAccAPIGatewayDomainNameAccessAssociation_tags_ComputedTag_OnCreate(t *t func TestAccAPIGatewayDomainNameAccessAssociation_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DomainNameAccessAssociation resourceName := "aws_api_gateway_domain_name_access_association.test" rName := acctest.RandomSubdomain() @@ -1991,6 +2009,7 @@ func TestAccAPIGatewayDomainNameAccessAssociation_tags_ComputedTag_OnUpdate_Add( func TestAccAPIGatewayDomainNameAccessAssociation_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DomainNameAccessAssociation resourceName := "aws_api_gateway_domain_name_access_association.test" rName := acctest.RandomSubdomain() @@ -2086,6 +2105,7 @@ func TestAccAPIGatewayDomainNameAccessAssociation_tags_ComputedTag_OnUpdate_Repl func TestAccAPIGatewayDomainNameAccessAssociation_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DomainNameAccessAssociation resourceName := "aws_api_gateway_domain_name_access_association.test" rName := acctest.RandomSubdomain() @@ -2256,6 +2276,7 @@ func TestAccAPIGatewayDomainNameAccessAssociation_tags_IgnoreTags_Overlap_Defaul func TestAccAPIGatewayDomainNameAccessAssociation_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DomainNameAccessAssociation resourceName := "aws_api_gateway_domain_name_access_association.test" rName := acctest.RandomSubdomain() diff --git a/internal/service/apigateway/domain_name_data_source_tags_gen_test.go b/internal/service/apigateway/domain_name_data_source_tags_gen_test.go index f74b9b505dca..4722bc6df58c 100644 --- a/internal/service/apigateway/domain_name_data_source_tags_gen_test.go +++ b/internal/service/apigateway/domain_name_data_source_tags_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccAPIGatewayDomainNameDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_api_gateway_domain_name.test" rName := acctest.RandomSubdomain() privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) @@ -53,6 +54,7 @@ func TestAccAPIGatewayDomainNameDataSource_tags(t *testing.T) { func TestAccAPIGatewayDomainNameDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_api_gateway_domain_name.test" rName := acctest.RandomSubdomain() privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) @@ -81,6 +83,7 @@ func TestAccAPIGatewayDomainNameDataSource_tags_NullMap(t *testing.T) { func TestAccAPIGatewayDomainNameDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_api_gateway_domain_name.test" rName := acctest.RandomSubdomain() privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) @@ -109,6 +112,7 @@ func TestAccAPIGatewayDomainNameDataSource_tags_EmptyMap(t *testing.T) { func TestAccAPIGatewayDomainNameDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_api_gateway_domain_name.test" rName := acctest.RandomSubdomain() privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) @@ -145,6 +149,7 @@ func TestAccAPIGatewayDomainNameDataSource_tags_DefaultTags_nonOverlapping(t *te func TestAccAPIGatewayDomainNameDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_api_gateway_domain_name.test" rName := acctest.RandomSubdomain() privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) @@ -187,6 +192,7 @@ func TestAccAPIGatewayDomainNameDataSource_tags_IgnoreTags_Overlap_DefaultTag(t func TestAccAPIGatewayDomainNameDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_api_gateway_domain_name.test" rName := acctest.RandomSubdomain() privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) diff --git a/internal/service/apigateway/domain_name_tags_gen_test.go b/internal/service/apigateway/domain_name_tags_gen_test.go index 66b3917c0ff5..797e3cfa6be4 100644 --- a/internal/service/apigateway/domain_name_tags_gen_test.go +++ b/internal/service/apigateway/domain_name_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccAPIGatewayDomainName_tags(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetDomainNameOutput resourceName := "aws_api_gateway_domain_name.test" rName := acctest.RandomSubdomain() @@ -218,6 +219,7 @@ func TestAccAPIGatewayDomainName_tags(t *testing.T) { func TestAccAPIGatewayDomainName_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetDomainNameOutput resourceName := "aws_api_gateway_domain_name.test" rName := acctest.RandomSubdomain() @@ -293,6 +295,7 @@ func TestAccAPIGatewayDomainName_tags_null(t *testing.T) { func TestAccAPIGatewayDomainName_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetDomainNameOutput resourceName := "aws_api_gateway_domain_name.test" rName := acctest.RandomSubdomain() @@ -364,6 +367,7 @@ func TestAccAPIGatewayDomainName_tags_EmptyMap(t *testing.T) { func TestAccAPIGatewayDomainName_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetDomainNameOutput resourceName := "aws_api_gateway_domain_name.test" rName := acctest.RandomSubdomain() @@ -453,6 +457,7 @@ func TestAccAPIGatewayDomainName_tags_AddOnUpdate(t *testing.T) { func TestAccAPIGatewayDomainName_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetDomainNameOutput resourceName := "aws_api_gateway_domain_name.test" rName := acctest.RandomSubdomain() @@ -552,6 +557,7 @@ func TestAccAPIGatewayDomainName_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccAPIGatewayDomainName_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetDomainNameOutput resourceName := "aws_api_gateway_domain_name.test" rName := acctest.RandomSubdomain() @@ -701,6 +707,7 @@ func TestAccAPIGatewayDomainName_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccAPIGatewayDomainName_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetDomainNameOutput resourceName := "aws_api_gateway_domain_name.test" rName := acctest.RandomSubdomain() @@ -798,6 +805,7 @@ func TestAccAPIGatewayDomainName_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccAPIGatewayDomainName_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetDomainNameOutput resourceName := "aws_api_gateway_domain_name.test" rName := acctest.RandomSubdomain() @@ -997,6 +1005,7 @@ func TestAccAPIGatewayDomainName_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccAPIGatewayDomainName_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetDomainNameOutput resourceName := "aws_api_gateway_domain_name.test" rName := acctest.RandomSubdomain() @@ -1171,6 +1180,7 @@ func TestAccAPIGatewayDomainName_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccAPIGatewayDomainName_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetDomainNameOutput resourceName := "aws_api_gateway_domain_name.test" rName := acctest.RandomSubdomain() @@ -1361,6 +1371,7 @@ func TestAccAPIGatewayDomainName_tags_DefaultTags_overlapping(t *testing.T) { func TestAccAPIGatewayDomainName_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetDomainNameOutput resourceName := "aws_api_gateway_domain_name.test" rName := acctest.RandomSubdomain() @@ -1459,6 +1470,7 @@ func TestAccAPIGatewayDomainName_tags_DefaultTags_updateToProviderOnly(t *testin func TestAccAPIGatewayDomainName_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetDomainNameOutput resourceName := "aws_api_gateway_domain_name.test" rName := acctest.RandomSubdomain() @@ -1556,6 +1568,7 @@ func TestAccAPIGatewayDomainName_tags_DefaultTags_updateToResourceOnly(t *testin func TestAccAPIGatewayDomainName_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetDomainNameOutput resourceName := "aws_api_gateway_domain_name.test" rName := acctest.RandomSubdomain() @@ -1627,6 +1640,7 @@ func TestAccAPIGatewayDomainName_tags_DefaultTags_emptyResourceTag(t *testing.T) func TestAccAPIGatewayDomainName_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetDomainNameOutput resourceName := "aws_api_gateway_domain_name.test" rName := acctest.RandomSubdomain() @@ -1690,6 +1704,7 @@ func TestAccAPIGatewayDomainName_tags_DefaultTags_emptyProviderOnlyTag(t *testin func TestAccAPIGatewayDomainName_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetDomainNameOutput resourceName := "aws_api_gateway_domain_name.test" rName := acctest.RandomSubdomain() @@ -1758,6 +1773,7 @@ func TestAccAPIGatewayDomainName_tags_DefaultTags_nullOverlappingResourceTag(t * func TestAccAPIGatewayDomainName_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetDomainNameOutput resourceName := "aws_api_gateway_domain_name.test" rName := acctest.RandomSubdomain() @@ -1826,6 +1842,7 @@ func TestAccAPIGatewayDomainName_tags_DefaultTags_nullNonOverlappingResourceTag( func TestAccAPIGatewayDomainName_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetDomainNameOutput resourceName := "aws_api_gateway_domain_name.test" rName := acctest.RandomSubdomain() @@ -1887,6 +1904,7 @@ func TestAccAPIGatewayDomainName_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccAPIGatewayDomainName_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetDomainNameOutput resourceName := "aws_api_gateway_domain_name.test" rName := acctest.RandomSubdomain() @@ -1992,6 +2010,7 @@ func TestAccAPIGatewayDomainName_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccAPIGatewayDomainName_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetDomainNameOutput resourceName := "aws_api_gateway_domain_name.test" rName := acctest.RandomSubdomain() @@ -2087,6 +2106,7 @@ func TestAccAPIGatewayDomainName_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func TestAccAPIGatewayDomainName_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetDomainNameOutput resourceName := "aws_api_gateway_domain_name.test" rName := acctest.RandomSubdomain() @@ -2257,6 +2277,7 @@ func TestAccAPIGatewayDomainName_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T func TestAccAPIGatewayDomainName_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetDomainNameOutput resourceName := "aws_api_gateway_domain_name.test" rName := acctest.RandomSubdomain() diff --git a/internal/service/apigateway/rest_api_data_source_tags_gen_test.go b/internal/service/apigateway/rest_api_data_source_tags_gen_test.go index 6e091d096579..2210f1573494 100644 --- a/internal/service/apigateway/rest_api_data_source_tags_gen_test.go +++ b/internal/service/apigateway/rest_api_data_source_tags_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccAPIGatewayRESTAPIDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_api_gateway_rest_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -49,6 +50,7 @@ func TestAccAPIGatewayRESTAPIDataSource_tags(t *testing.T) { func TestAccAPIGatewayRESTAPIDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_api_gateway_rest_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -73,6 +75,7 @@ func TestAccAPIGatewayRESTAPIDataSource_tags_NullMap(t *testing.T) { func TestAccAPIGatewayRESTAPIDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_api_gateway_rest_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -97,6 +100,7 @@ func TestAccAPIGatewayRESTAPIDataSource_tags_EmptyMap(t *testing.T) { func TestAccAPIGatewayRESTAPIDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_api_gateway_rest_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -129,6 +133,7 @@ func TestAccAPIGatewayRESTAPIDataSource_tags_DefaultTags_nonOverlapping(t *testi func TestAccAPIGatewayRESTAPIDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_api_gateway_rest_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -167,6 +172,7 @@ func TestAccAPIGatewayRESTAPIDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *te func TestAccAPIGatewayRESTAPIDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_api_gateway_rest_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/apigateway/rest_api_tags_gen_test.go b/internal/service/apigateway/rest_api_tags_gen_test.go index d6bdb3e6b9e8..f7a820f48f31 100644 --- a/internal/service/apigateway/rest_api_tags_gen_test.go +++ b/internal/service/apigateway/rest_api_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccAPIGatewayRESTAPI_tags(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetRestApiOutput resourceName := "aws_api_gateway_rest_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -212,6 +213,7 @@ func TestAccAPIGatewayRESTAPI_tags(t *testing.T) { func TestAccAPIGatewayRESTAPI_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetRestApiOutput resourceName := "aws_api_gateway_rest_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -282,6 +284,7 @@ func TestAccAPIGatewayRESTAPI_tags_null(t *testing.T) { func TestAccAPIGatewayRESTAPI_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetRestApiOutput resourceName := "aws_api_gateway_rest_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -348,6 +351,7 @@ func TestAccAPIGatewayRESTAPI_tags_EmptyMap(t *testing.T) { func TestAccAPIGatewayRESTAPI_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetRestApiOutput resourceName := "aws_api_gateway_rest_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -432,6 +436,7 @@ func TestAccAPIGatewayRESTAPI_tags_AddOnUpdate(t *testing.T) { func TestAccAPIGatewayRESTAPI_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetRestApiOutput resourceName := "aws_api_gateway_rest_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -527,6 +532,7 @@ func TestAccAPIGatewayRESTAPI_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccAPIGatewayRESTAPI_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetRestApiOutput resourceName := "aws_api_gateway_rest_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -670,6 +676,7 @@ func TestAccAPIGatewayRESTAPI_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccAPIGatewayRESTAPI_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetRestApiOutput resourceName := "aws_api_gateway_rest_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -762,6 +769,7 @@ func TestAccAPIGatewayRESTAPI_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccAPIGatewayRESTAPI_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetRestApiOutput resourceName := "aws_api_gateway_rest_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -955,6 +963,7 @@ func TestAccAPIGatewayRESTAPI_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccAPIGatewayRESTAPI_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetRestApiOutput resourceName := "aws_api_gateway_rest_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1124,6 +1133,7 @@ func TestAccAPIGatewayRESTAPI_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccAPIGatewayRESTAPI_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetRestApiOutput resourceName := "aws_api_gateway_rest_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1309,6 +1319,7 @@ func TestAccAPIGatewayRESTAPI_tags_DefaultTags_overlapping(t *testing.T) { func TestAccAPIGatewayRESTAPI_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetRestApiOutput resourceName := "aws_api_gateway_rest_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1402,6 +1413,7 @@ func TestAccAPIGatewayRESTAPI_tags_DefaultTags_updateToProviderOnly(t *testing.T func TestAccAPIGatewayRESTAPI_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetRestApiOutput resourceName := "aws_api_gateway_rest_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1494,6 +1506,7 @@ func TestAccAPIGatewayRESTAPI_tags_DefaultTags_updateToResourceOnly(t *testing.T func TestAccAPIGatewayRESTAPI_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetRestApiOutput resourceName := "aws_api_gateway_rest_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1562,6 +1575,7 @@ func TestAccAPIGatewayRESTAPI_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccAPIGatewayRESTAPI_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetRestApiOutput resourceName := "aws_api_gateway_rest_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1622,6 +1636,7 @@ func TestAccAPIGatewayRESTAPI_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T func TestAccAPIGatewayRESTAPI_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetRestApiOutput resourceName := "aws_api_gateway_rest_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1687,6 +1702,7 @@ func TestAccAPIGatewayRESTAPI_tags_DefaultTags_nullOverlappingResourceTag(t *tes func TestAccAPIGatewayRESTAPI_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetRestApiOutput resourceName := "aws_api_gateway_rest_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1752,6 +1768,7 @@ func TestAccAPIGatewayRESTAPI_tags_DefaultTags_nullNonOverlappingResourceTag(t * func TestAccAPIGatewayRESTAPI_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetRestApiOutput resourceName := "aws_api_gateway_rest_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1810,6 +1827,7 @@ func TestAccAPIGatewayRESTAPI_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccAPIGatewayRESTAPI_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetRestApiOutput resourceName := "aws_api_gateway_rest_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1928,7 @@ func TestAccAPIGatewayRESTAPI_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccAPIGatewayRESTAPI_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetRestApiOutput resourceName := "aws_api_gateway_rest_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2000,6 +2019,7 @@ func TestAccAPIGatewayRESTAPI_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccAPIGatewayRESTAPI_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetRestApiOutput resourceName := "aws_api_gateway_rest_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2162,6 +2182,7 @@ func TestAccAPIGatewayRESTAPI_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccAPIGatewayRESTAPI_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetRestApiOutput resourceName := "aws_api_gateway_rest_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/apigateway/stage_tags_gen_test.go b/internal/service/apigateway/stage_tags_gen_test.go index a9b5d6f98989..28d29b280b30 100644 --- a/internal/service/apigateway/stage_tags_gen_test.go +++ b/internal/service/apigateway/stage_tags_gen_test.go @@ -48,6 +48,7 @@ func testAccAPIGatewayStage_tagsSerial(t *testing.T) { func testAccAPIGatewayStage_tags(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetStageOutput resourceName := "aws_api_gateway_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -234,6 +235,7 @@ func testAccAPIGatewayStage_tags(t *testing.T) { func testAccAPIGatewayStage_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetStageOutput resourceName := "aws_api_gateway_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -302,6 +304,7 @@ func testAccAPIGatewayStage_tags_null(t *testing.T) { func testAccAPIGatewayStage_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetStageOutput resourceName := "aws_api_gateway_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -366,6 +369,7 @@ func testAccAPIGatewayStage_tags_EmptyMap(t *testing.T) { func testAccAPIGatewayStage_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetStageOutput resourceName := "aws_api_gateway_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -448,6 +452,7 @@ func testAccAPIGatewayStage_tags_AddOnUpdate(t *testing.T) { func testAccAPIGatewayStage_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetStageOutput resourceName := "aws_api_gateway_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -539,6 +544,7 @@ func testAccAPIGatewayStage_tags_EmptyTag_OnCreate(t *testing.T) { func testAccAPIGatewayStage_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetStageOutput resourceName := "aws_api_gateway_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -678,6 +684,7 @@ func testAccAPIGatewayStage_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func testAccAPIGatewayStage_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetStageOutput resourceName := "aws_api_gateway_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -768,6 +775,7 @@ func testAccAPIGatewayStage_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func testAccAPIGatewayStage_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetStageOutput resourceName := "aws_api_gateway_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -953,6 +961,7 @@ func testAccAPIGatewayStage_tags_DefaultTags_providerOnly(t *testing.T) { func testAccAPIGatewayStage_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetStageOutput resourceName := "aws_api_gateway_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1116,6 +1125,7 @@ func testAccAPIGatewayStage_tags_DefaultTags_nonOverlapping(t *testing.T) { func testAccAPIGatewayStage_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetStageOutput resourceName := "aws_api_gateway_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1295,6 +1305,7 @@ func testAccAPIGatewayStage_tags_DefaultTags_overlapping(t *testing.T) { func testAccAPIGatewayStage_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetStageOutput resourceName := "aws_api_gateway_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1386,6 +1397,7 @@ func testAccAPIGatewayStage_tags_DefaultTags_updateToProviderOnly(t *testing.T) func testAccAPIGatewayStage_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetStageOutput resourceName := "aws_api_gateway_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1476,6 +1488,7 @@ func testAccAPIGatewayStage_tags_DefaultTags_updateToResourceOnly(t *testing.T) func testAccAPIGatewayStage_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetStageOutput resourceName := "aws_api_gateway_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1542,6 +1555,7 @@ func testAccAPIGatewayStage_tags_DefaultTags_emptyResourceTag(t *testing.T) { func testAccAPIGatewayStage_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetStageOutput resourceName := "aws_api_gateway_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1600,6 +1614,7 @@ func testAccAPIGatewayStage_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) func testAccAPIGatewayStage_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetStageOutput resourceName := "aws_api_gateway_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1663,6 +1678,7 @@ func testAccAPIGatewayStage_tags_DefaultTags_nullOverlappingResourceTag(t *testi func testAccAPIGatewayStage_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetStageOutput resourceName := "aws_api_gateway_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1726,6 +1742,7 @@ func testAccAPIGatewayStage_tags_DefaultTags_nullNonOverlappingResourceTag(t *te func testAccAPIGatewayStage_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetStageOutput resourceName := "aws_api_gateway_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1782,6 +1799,7 @@ func testAccAPIGatewayStage_tags_ComputedTag_OnCreate(t *testing.T) { func testAccAPIGatewayStage_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetStageOutput resourceName := "aws_api_gateway_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1880,6 +1898,7 @@ func testAccAPIGatewayStage_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func testAccAPIGatewayStage_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetStageOutput resourceName := "aws_api_gateway_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1968,6 +1987,7 @@ func testAccAPIGatewayStage_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func testAccAPIGatewayStage_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetStageOutput resourceName := "aws_api_gateway_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2130,6 +2150,7 @@ func testAccAPIGatewayStage_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func testAccAPIGatewayStage_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetStageOutput resourceName := "aws_api_gateway_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/apigateway/usage_plan_tags_gen_test.go b/internal/service/apigateway/usage_plan_tags_gen_test.go index 2836f625e0ea..b40848a87f4b 100644 --- a/internal/service/apigateway/usage_plan_tags_gen_test.go +++ b/internal/service/apigateway/usage_plan_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccAPIGatewayUsagePlan_tags(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetUsagePlanOutput resourceName := "aws_api_gateway_usage_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccAPIGatewayUsagePlan_tags(t *testing.T) { func TestAccAPIGatewayUsagePlan_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetUsagePlanOutput resourceName := "aws_api_gateway_usage_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccAPIGatewayUsagePlan_tags_null(t *testing.T) { func TestAccAPIGatewayUsagePlan_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetUsagePlanOutput resourceName := "aws_api_gateway_usage_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccAPIGatewayUsagePlan_tags_EmptyMap(t *testing.T) { func TestAccAPIGatewayUsagePlan_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetUsagePlanOutput resourceName := "aws_api_gateway_usage_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccAPIGatewayUsagePlan_tags_AddOnUpdate(t *testing.T) { func TestAccAPIGatewayUsagePlan_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetUsagePlanOutput resourceName := "aws_api_gateway_usage_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccAPIGatewayUsagePlan_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccAPIGatewayUsagePlan_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetUsagePlanOutput resourceName := "aws_api_gateway_usage_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccAPIGatewayUsagePlan_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccAPIGatewayUsagePlan_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetUsagePlanOutput resourceName := "aws_api_gateway_usage_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccAPIGatewayUsagePlan_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccAPIGatewayUsagePlan_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetUsagePlanOutput resourceName := "aws_api_gateway_usage_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccAPIGatewayUsagePlan_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccAPIGatewayUsagePlan_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetUsagePlanOutput resourceName := "aws_api_gateway_usage_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccAPIGatewayUsagePlan_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccAPIGatewayUsagePlan_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetUsagePlanOutput resourceName := "aws_api_gateway_usage_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccAPIGatewayUsagePlan_tags_DefaultTags_overlapping(t *testing.T) { func TestAccAPIGatewayUsagePlan_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetUsagePlanOutput resourceName := "aws_api_gateway_usage_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccAPIGatewayUsagePlan_tags_DefaultTags_updateToProviderOnly(t *testing func TestAccAPIGatewayUsagePlan_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetUsagePlanOutput resourceName := "aws_api_gateway_usage_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccAPIGatewayUsagePlan_tags_DefaultTags_updateToResourceOnly(t *testing func TestAccAPIGatewayUsagePlan_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetUsagePlanOutput resourceName := "aws_api_gateway_usage_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccAPIGatewayUsagePlan_tags_DefaultTags_emptyResourceTag(t *testing.T) func TestAccAPIGatewayUsagePlan_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetUsagePlanOutput resourceName := "aws_api_gateway_usage_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccAPIGatewayUsagePlan_tags_DefaultTags_emptyProviderOnlyTag(t *testing func TestAccAPIGatewayUsagePlan_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetUsagePlanOutput resourceName := "aws_api_gateway_usage_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccAPIGatewayUsagePlan_tags_DefaultTags_nullOverlappingResourceTag(t *t func TestAccAPIGatewayUsagePlan_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetUsagePlanOutput resourceName := "aws_api_gateway_usage_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccAPIGatewayUsagePlan_tags_DefaultTags_nullNonOverlappingResourceTag(t func TestAccAPIGatewayUsagePlan_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetUsagePlanOutput resourceName := "aws_api_gateway_usage_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccAPIGatewayUsagePlan_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccAPIGatewayUsagePlan_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetUsagePlanOutput resourceName := "aws_api_gateway_usage_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccAPIGatewayUsagePlan_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccAPIGatewayUsagePlan_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetUsagePlanOutput resourceName := "aws_api_gateway_usage_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccAPIGatewayUsagePlan_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func TestAccAPIGatewayUsagePlan_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetUsagePlanOutput resourceName := "aws_api_gateway_usage_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccAPIGatewayUsagePlan_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func TestAccAPIGatewayUsagePlan_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigateway.GetUsagePlanOutput resourceName := "aws_api_gateway_usage_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/apigateway/vpc_link_data_source_tags_gen_test.go b/internal/service/apigateway/vpc_link_data_source_tags_gen_test.go index da2a332c1838..6fee566aedab 100644 --- a/internal/service/apigateway/vpc_link_data_source_tags_gen_test.go +++ b/internal/service/apigateway/vpc_link_data_source_tags_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccAPIGatewayVPCLinkDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_api_gateway_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -49,6 +50,7 @@ func TestAccAPIGatewayVPCLinkDataSource_tags(t *testing.T) { func TestAccAPIGatewayVPCLinkDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_api_gateway_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -73,6 +75,7 @@ func TestAccAPIGatewayVPCLinkDataSource_tags_NullMap(t *testing.T) { func TestAccAPIGatewayVPCLinkDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_api_gateway_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -97,6 +100,7 @@ func TestAccAPIGatewayVPCLinkDataSource_tags_EmptyMap(t *testing.T) { func TestAccAPIGatewayVPCLinkDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_api_gateway_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -129,6 +133,7 @@ func TestAccAPIGatewayVPCLinkDataSource_tags_DefaultTags_nonOverlapping(t *testi func TestAccAPIGatewayVPCLinkDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_api_gateway_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -167,6 +172,7 @@ func TestAccAPIGatewayVPCLinkDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *te func TestAccAPIGatewayVPCLinkDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_api_gateway_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/apigateway/vpc_link_tags_gen_test.go b/internal/service/apigateway/vpc_link_tags_gen_test.go index 130e0c344c59..abd8266966cd 100644 --- a/internal/service/apigateway/vpc_link_tags_gen_test.go +++ b/internal/service/apigateway/vpc_link_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccAPIGatewayVPCLink_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_api_gateway_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -198,6 +199,7 @@ func TestAccAPIGatewayVPCLink_tags(t *testing.T) { func TestAccAPIGatewayVPCLink_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_api_gateway_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -264,6 +266,7 @@ func TestAccAPIGatewayVPCLink_tags_null(t *testing.T) { func TestAccAPIGatewayVPCLink_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_api_gateway_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -326,6 +329,7 @@ func TestAccAPIGatewayVPCLink_tags_EmptyMap(t *testing.T) { func TestAccAPIGatewayVPCLink_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_api_gateway_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccAPIGatewayVPCLink_tags_AddOnUpdate(t *testing.T) { func TestAccAPIGatewayVPCLink_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_api_gateway_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -494,6 +499,7 @@ func TestAccAPIGatewayVPCLink_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccAPIGatewayVPCLink_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_api_gateway_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -630,6 +636,7 @@ func TestAccAPIGatewayVPCLink_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccAPIGatewayVPCLink_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_api_gateway_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -718,6 +725,7 @@ func TestAccAPIGatewayVPCLink_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccAPIGatewayVPCLink_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_api_gateway_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -898,6 +906,7 @@ func TestAccAPIGatewayVPCLink_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccAPIGatewayVPCLink_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_api_gateway_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1057,6 +1066,7 @@ func TestAccAPIGatewayVPCLink_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccAPIGatewayVPCLink_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_api_gateway_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1232,6 +1242,7 @@ func TestAccAPIGatewayVPCLink_tags_DefaultTags_overlapping(t *testing.T) { func TestAccAPIGatewayVPCLink_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_api_gateway_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1321,6 +1332,7 @@ func TestAccAPIGatewayVPCLink_tags_DefaultTags_updateToProviderOnly(t *testing.T func TestAccAPIGatewayVPCLink_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_api_gateway_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1409,6 +1421,7 @@ func TestAccAPIGatewayVPCLink_tags_DefaultTags_updateToResourceOnly(t *testing.T func TestAccAPIGatewayVPCLink_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_api_gateway_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccAPIGatewayVPCLink_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccAPIGatewayVPCLink_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_api_gateway_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1529,6 +1543,7 @@ func TestAccAPIGatewayVPCLink_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T func TestAccAPIGatewayVPCLink_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_api_gateway_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1590,6 +1605,7 @@ func TestAccAPIGatewayVPCLink_tags_DefaultTags_nullOverlappingResourceTag(t *tes func TestAccAPIGatewayVPCLink_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_api_gateway_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1651,6 +1667,7 @@ func TestAccAPIGatewayVPCLink_tags_DefaultTags_nullNonOverlappingResourceTag(t * func TestAccAPIGatewayVPCLink_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_api_gateway_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1705,6 +1722,7 @@ func TestAccAPIGatewayVPCLink_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccAPIGatewayVPCLink_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_api_gateway_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1801,6 +1819,7 @@ func TestAccAPIGatewayVPCLink_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccAPIGatewayVPCLink_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_api_gateway_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1887,6 +1906,7 @@ func TestAccAPIGatewayVPCLink_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccAPIGatewayVPCLink_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_api_gateway_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2048,6 +2068,7 @@ func TestAccAPIGatewayVPCLink_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccAPIGatewayVPCLink_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_api_gateway_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/apigatewayv2/api_data_source_tags_gen_test.go b/internal/service/apigatewayv2/api_data_source_tags_gen_test.go index 16a838ff9f56..a1ae648f5082 100644 --- a/internal/service/apigatewayv2/api_data_source_tags_gen_test.go +++ b/internal/service/apigatewayv2/api_data_source_tags_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccAPIGatewayV2APIDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_apigatewayv2_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -49,6 +50,7 @@ func TestAccAPIGatewayV2APIDataSource_tags(t *testing.T) { func TestAccAPIGatewayV2APIDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_apigatewayv2_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -73,6 +75,7 @@ func TestAccAPIGatewayV2APIDataSource_tags_NullMap(t *testing.T) { func TestAccAPIGatewayV2APIDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_apigatewayv2_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -97,6 +100,7 @@ func TestAccAPIGatewayV2APIDataSource_tags_EmptyMap(t *testing.T) { func TestAccAPIGatewayV2APIDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_apigatewayv2_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -129,6 +133,7 @@ func TestAccAPIGatewayV2APIDataSource_tags_DefaultTags_nonOverlapping(t *testing func TestAccAPIGatewayV2APIDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_apigatewayv2_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -167,6 +172,7 @@ func TestAccAPIGatewayV2APIDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *test func TestAccAPIGatewayV2APIDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_apigatewayv2_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/apigatewayv2/api_tags_gen_test.go b/internal/service/apigatewayv2/api_tags_gen_test.go index f642b6aedf58..5c0bcab8d7da 100644 --- a/internal/service/apigatewayv2/api_tags_gen_test.go +++ b/internal/service/apigatewayv2/api_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccAPIGatewayV2API_tags(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetApiOutput resourceName := "aws_apigatewayv2_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccAPIGatewayV2API_tags(t *testing.T) { func TestAccAPIGatewayV2API_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetApiOutput resourceName := "aws_apigatewayv2_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccAPIGatewayV2API_tags_null(t *testing.T) { func TestAccAPIGatewayV2API_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetApiOutput resourceName := "aws_apigatewayv2_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccAPIGatewayV2API_tags_EmptyMap(t *testing.T) { func TestAccAPIGatewayV2API_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetApiOutput resourceName := "aws_apigatewayv2_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccAPIGatewayV2API_tags_AddOnUpdate(t *testing.T) { func TestAccAPIGatewayV2API_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetApiOutput resourceName := "aws_apigatewayv2_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccAPIGatewayV2API_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccAPIGatewayV2API_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetApiOutput resourceName := "aws_apigatewayv2_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccAPIGatewayV2API_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccAPIGatewayV2API_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetApiOutput resourceName := "aws_apigatewayv2_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccAPIGatewayV2API_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccAPIGatewayV2API_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetApiOutput resourceName := "aws_apigatewayv2_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccAPIGatewayV2API_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccAPIGatewayV2API_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetApiOutput resourceName := "aws_apigatewayv2_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccAPIGatewayV2API_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccAPIGatewayV2API_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetApiOutput resourceName := "aws_apigatewayv2_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccAPIGatewayV2API_tags_DefaultTags_overlapping(t *testing.T) { func TestAccAPIGatewayV2API_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetApiOutput resourceName := "aws_apigatewayv2_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccAPIGatewayV2API_tags_DefaultTags_updateToProviderOnly(t *testing.T) func TestAccAPIGatewayV2API_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetApiOutput resourceName := "aws_apigatewayv2_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccAPIGatewayV2API_tags_DefaultTags_updateToResourceOnly(t *testing.T) func TestAccAPIGatewayV2API_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetApiOutput resourceName := "aws_apigatewayv2_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccAPIGatewayV2API_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccAPIGatewayV2API_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetApiOutput resourceName := "aws_apigatewayv2_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccAPIGatewayV2API_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) func TestAccAPIGatewayV2API_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetApiOutput resourceName := "aws_apigatewayv2_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccAPIGatewayV2API_tags_DefaultTags_nullOverlappingResourceTag(t *testi func TestAccAPIGatewayV2API_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetApiOutput resourceName := "aws_apigatewayv2_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccAPIGatewayV2API_tags_DefaultTags_nullNonOverlappingResourceTag(t *te func TestAccAPIGatewayV2API_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetApiOutput resourceName := "aws_apigatewayv2_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccAPIGatewayV2API_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccAPIGatewayV2API_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetApiOutput resourceName := "aws_apigatewayv2_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccAPIGatewayV2API_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccAPIGatewayV2API_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetApiOutput resourceName := "aws_apigatewayv2_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccAPIGatewayV2API_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccAPIGatewayV2API_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetApiOutput resourceName := "aws_apigatewayv2_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccAPIGatewayV2API_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccAPIGatewayV2API_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetApiOutput resourceName := "aws_apigatewayv2_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/apigatewayv2/domain_name_tags_gen_test.go b/internal/service/apigatewayv2/domain_name_tags_gen_test.go index 8196909224b7..62243b76bdaa 100644 --- a/internal/service/apigatewayv2/domain_name_tags_gen_test.go +++ b/internal/service/apigatewayv2/domain_name_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccAPIGatewayV2DomainName_tags(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetDomainNameOutput resourceName := "aws_apigatewayv2_domain_name.test" rName := acctest.RandomSubdomain() @@ -218,6 +219,7 @@ func TestAccAPIGatewayV2DomainName_tags(t *testing.T) { func TestAccAPIGatewayV2DomainName_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetDomainNameOutput resourceName := "aws_apigatewayv2_domain_name.test" rName := acctest.RandomSubdomain() @@ -293,6 +295,7 @@ func TestAccAPIGatewayV2DomainName_tags_null(t *testing.T) { func TestAccAPIGatewayV2DomainName_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetDomainNameOutput resourceName := "aws_apigatewayv2_domain_name.test" rName := acctest.RandomSubdomain() @@ -364,6 +367,7 @@ func TestAccAPIGatewayV2DomainName_tags_EmptyMap(t *testing.T) { func TestAccAPIGatewayV2DomainName_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetDomainNameOutput resourceName := "aws_apigatewayv2_domain_name.test" rName := acctest.RandomSubdomain() @@ -453,6 +457,7 @@ func TestAccAPIGatewayV2DomainName_tags_AddOnUpdate(t *testing.T) { func TestAccAPIGatewayV2DomainName_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetDomainNameOutput resourceName := "aws_apigatewayv2_domain_name.test" rName := acctest.RandomSubdomain() @@ -552,6 +557,7 @@ func TestAccAPIGatewayV2DomainName_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccAPIGatewayV2DomainName_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetDomainNameOutput resourceName := "aws_apigatewayv2_domain_name.test" rName := acctest.RandomSubdomain() @@ -701,6 +707,7 @@ func TestAccAPIGatewayV2DomainName_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccAPIGatewayV2DomainName_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetDomainNameOutput resourceName := "aws_apigatewayv2_domain_name.test" rName := acctest.RandomSubdomain() @@ -798,6 +805,7 @@ func TestAccAPIGatewayV2DomainName_tags_EmptyTag_OnUpdate_Replace(t *testing.T) func TestAccAPIGatewayV2DomainName_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetDomainNameOutput resourceName := "aws_apigatewayv2_domain_name.test" rName := acctest.RandomSubdomain() @@ -997,6 +1005,7 @@ func TestAccAPIGatewayV2DomainName_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccAPIGatewayV2DomainName_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetDomainNameOutput resourceName := "aws_apigatewayv2_domain_name.test" rName := acctest.RandomSubdomain() @@ -1171,6 +1180,7 @@ func TestAccAPIGatewayV2DomainName_tags_DefaultTags_nonOverlapping(t *testing.T) func TestAccAPIGatewayV2DomainName_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetDomainNameOutput resourceName := "aws_apigatewayv2_domain_name.test" rName := acctest.RandomSubdomain() @@ -1361,6 +1371,7 @@ func TestAccAPIGatewayV2DomainName_tags_DefaultTags_overlapping(t *testing.T) { func TestAccAPIGatewayV2DomainName_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetDomainNameOutput resourceName := "aws_apigatewayv2_domain_name.test" rName := acctest.RandomSubdomain() @@ -1459,6 +1470,7 @@ func TestAccAPIGatewayV2DomainName_tags_DefaultTags_updateToProviderOnly(t *test func TestAccAPIGatewayV2DomainName_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetDomainNameOutput resourceName := "aws_apigatewayv2_domain_name.test" rName := acctest.RandomSubdomain() @@ -1556,6 +1568,7 @@ func TestAccAPIGatewayV2DomainName_tags_DefaultTags_updateToResourceOnly(t *test func TestAccAPIGatewayV2DomainName_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetDomainNameOutput resourceName := "aws_apigatewayv2_domain_name.test" rName := acctest.RandomSubdomain() @@ -1627,6 +1640,7 @@ func TestAccAPIGatewayV2DomainName_tags_DefaultTags_emptyResourceTag(t *testing. func TestAccAPIGatewayV2DomainName_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetDomainNameOutput resourceName := "aws_apigatewayv2_domain_name.test" rName := acctest.RandomSubdomain() @@ -1690,6 +1704,7 @@ func TestAccAPIGatewayV2DomainName_tags_DefaultTags_emptyProviderOnlyTag(t *test func TestAccAPIGatewayV2DomainName_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetDomainNameOutput resourceName := "aws_apigatewayv2_domain_name.test" rName := acctest.RandomSubdomain() @@ -1758,6 +1773,7 @@ func TestAccAPIGatewayV2DomainName_tags_DefaultTags_nullOverlappingResourceTag(t func TestAccAPIGatewayV2DomainName_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetDomainNameOutput resourceName := "aws_apigatewayv2_domain_name.test" rName := acctest.RandomSubdomain() @@ -1826,6 +1842,7 @@ func TestAccAPIGatewayV2DomainName_tags_DefaultTags_nullNonOverlappingResourceTa func TestAccAPIGatewayV2DomainName_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetDomainNameOutput resourceName := "aws_apigatewayv2_domain_name.test" rName := acctest.RandomSubdomain() @@ -1887,6 +1904,7 @@ func TestAccAPIGatewayV2DomainName_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccAPIGatewayV2DomainName_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetDomainNameOutput resourceName := "aws_apigatewayv2_domain_name.test" rName := acctest.RandomSubdomain() @@ -1992,6 +2010,7 @@ func TestAccAPIGatewayV2DomainName_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccAPIGatewayV2DomainName_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetDomainNameOutput resourceName := "aws_apigatewayv2_domain_name.test" rName := acctest.RandomSubdomain() @@ -2087,6 +2106,7 @@ func TestAccAPIGatewayV2DomainName_tags_ComputedTag_OnUpdate_Replace(t *testing. func TestAccAPIGatewayV2DomainName_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetDomainNameOutput resourceName := "aws_apigatewayv2_domain_name.test" rName := acctest.RandomSubdomain() @@ -2257,6 +2277,7 @@ func TestAccAPIGatewayV2DomainName_tags_IgnoreTags_Overlap_DefaultTag(t *testing func TestAccAPIGatewayV2DomainName_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetDomainNameOutput resourceName := "aws_apigatewayv2_domain_name.test" rName := acctest.RandomSubdomain() diff --git a/internal/service/apigatewayv2/stage_tags_gen_test.go b/internal/service/apigatewayv2/stage_tags_gen_test.go index f497f379af78..fffbc8d72b47 100644 --- a/internal/service/apigatewayv2/stage_tags_gen_test.go +++ b/internal/service/apigatewayv2/stage_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccAPIGatewayV2Stage_tags(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetStageOutput resourceName := "aws_apigatewayv2_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -204,6 +205,7 @@ func TestAccAPIGatewayV2Stage_tags(t *testing.T) { func TestAccAPIGatewayV2Stage_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetStageOutput resourceName := "aws_apigatewayv2_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -272,6 +274,7 @@ func TestAccAPIGatewayV2Stage_tags_null(t *testing.T) { func TestAccAPIGatewayV2Stage_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetStageOutput resourceName := "aws_apigatewayv2_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -336,6 +339,7 @@ func TestAccAPIGatewayV2Stage_tags_EmptyMap(t *testing.T) { func TestAccAPIGatewayV2Stage_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetStageOutput resourceName := "aws_apigatewayv2_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -418,6 +422,7 @@ func TestAccAPIGatewayV2Stage_tags_AddOnUpdate(t *testing.T) { func TestAccAPIGatewayV2Stage_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetStageOutput resourceName := "aws_apigatewayv2_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -509,6 +514,7 @@ func TestAccAPIGatewayV2Stage_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccAPIGatewayV2Stage_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetStageOutput resourceName := "aws_apigatewayv2_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -648,6 +654,7 @@ func TestAccAPIGatewayV2Stage_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccAPIGatewayV2Stage_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetStageOutput resourceName := "aws_apigatewayv2_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -738,6 +745,7 @@ func TestAccAPIGatewayV2Stage_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccAPIGatewayV2Stage_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetStageOutput resourceName := "aws_apigatewayv2_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -923,6 +931,7 @@ func TestAccAPIGatewayV2Stage_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccAPIGatewayV2Stage_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetStageOutput resourceName := "aws_apigatewayv2_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1086,6 +1095,7 @@ func TestAccAPIGatewayV2Stage_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccAPIGatewayV2Stage_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetStageOutput resourceName := "aws_apigatewayv2_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1265,6 +1275,7 @@ func TestAccAPIGatewayV2Stage_tags_DefaultTags_overlapping(t *testing.T) { func TestAccAPIGatewayV2Stage_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetStageOutput resourceName := "aws_apigatewayv2_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1356,6 +1367,7 @@ func TestAccAPIGatewayV2Stage_tags_DefaultTags_updateToProviderOnly(t *testing.T func TestAccAPIGatewayV2Stage_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetStageOutput resourceName := "aws_apigatewayv2_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1446,6 +1458,7 @@ func TestAccAPIGatewayV2Stage_tags_DefaultTags_updateToResourceOnly(t *testing.T func TestAccAPIGatewayV2Stage_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetStageOutput resourceName := "aws_apigatewayv2_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1512,6 +1525,7 @@ func TestAccAPIGatewayV2Stage_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccAPIGatewayV2Stage_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetStageOutput resourceName := "aws_apigatewayv2_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1570,6 +1584,7 @@ func TestAccAPIGatewayV2Stage_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T func TestAccAPIGatewayV2Stage_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetStageOutput resourceName := "aws_apigatewayv2_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1633,6 +1648,7 @@ func TestAccAPIGatewayV2Stage_tags_DefaultTags_nullOverlappingResourceTag(t *tes func TestAccAPIGatewayV2Stage_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetStageOutput resourceName := "aws_apigatewayv2_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1696,6 +1712,7 @@ func TestAccAPIGatewayV2Stage_tags_DefaultTags_nullNonOverlappingResourceTag(t * func TestAccAPIGatewayV2Stage_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetStageOutput resourceName := "aws_apigatewayv2_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1752,6 +1769,7 @@ func TestAccAPIGatewayV2Stage_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccAPIGatewayV2Stage_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetStageOutput resourceName := "aws_apigatewayv2_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1850,6 +1868,7 @@ func TestAccAPIGatewayV2Stage_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccAPIGatewayV2Stage_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetStageOutput resourceName := "aws_apigatewayv2_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1938,6 +1957,7 @@ func TestAccAPIGatewayV2Stage_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccAPIGatewayV2Stage_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetStageOutput resourceName := "aws_apigatewayv2_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2100,6 +2120,7 @@ func TestAccAPIGatewayV2Stage_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccAPIGatewayV2Stage_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetStageOutput resourceName := "aws_apigatewayv2_stage.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/apigatewayv2/vpc_link_data_source_tags_gen_test.go b/internal/service/apigatewayv2/vpc_link_data_source_tags_gen_test.go index 83f33ae15e91..6842674ba63a 100644 --- a/internal/service/apigatewayv2/vpc_link_data_source_tags_gen_test.go +++ b/internal/service/apigatewayv2/vpc_link_data_source_tags_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccAPIGatewayV2VPCLinkDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_apigatewayv2_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -49,6 +50,7 @@ func TestAccAPIGatewayV2VPCLinkDataSource_tags(t *testing.T) { func TestAccAPIGatewayV2VPCLinkDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_apigatewayv2_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -73,6 +75,7 @@ func TestAccAPIGatewayV2VPCLinkDataSource_tags_NullMap(t *testing.T) { func TestAccAPIGatewayV2VPCLinkDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_apigatewayv2_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -97,6 +100,7 @@ func TestAccAPIGatewayV2VPCLinkDataSource_tags_EmptyMap(t *testing.T) { func TestAccAPIGatewayV2VPCLinkDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_apigatewayv2_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -129,6 +133,7 @@ func TestAccAPIGatewayV2VPCLinkDataSource_tags_DefaultTags_nonOverlapping(t *tes func TestAccAPIGatewayV2VPCLinkDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_apigatewayv2_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -167,6 +172,7 @@ func TestAccAPIGatewayV2VPCLinkDataSource_tags_IgnoreTags_Overlap_DefaultTag(t * func TestAccAPIGatewayV2VPCLinkDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_apigatewayv2_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/apigatewayv2/vpc_link_tags_gen_test.go b/internal/service/apigatewayv2/vpc_link_tags_gen_test.go index 0fcee0152a53..bdcbd0023cc4 100644 --- a/internal/service/apigatewayv2/vpc_link_tags_gen_test.go +++ b/internal/service/apigatewayv2/vpc_link_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccAPIGatewayV2VPCLink_tags(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetVpcLinkOutput resourceName := "aws_apigatewayv2_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccAPIGatewayV2VPCLink_tags(t *testing.T) { func TestAccAPIGatewayV2VPCLink_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetVpcLinkOutput resourceName := "aws_apigatewayv2_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccAPIGatewayV2VPCLink_tags_null(t *testing.T) { func TestAccAPIGatewayV2VPCLink_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetVpcLinkOutput resourceName := "aws_apigatewayv2_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccAPIGatewayV2VPCLink_tags_EmptyMap(t *testing.T) { func TestAccAPIGatewayV2VPCLink_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetVpcLinkOutput resourceName := "aws_apigatewayv2_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccAPIGatewayV2VPCLink_tags_AddOnUpdate(t *testing.T) { func TestAccAPIGatewayV2VPCLink_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetVpcLinkOutput resourceName := "aws_apigatewayv2_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccAPIGatewayV2VPCLink_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccAPIGatewayV2VPCLink_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetVpcLinkOutput resourceName := "aws_apigatewayv2_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccAPIGatewayV2VPCLink_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccAPIGatewayV2VPCLink_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetVpcLinkOutput resourceName := "aws_apigatewayv2_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccAPIGatewayV2VPCLink_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccAPIGatewayV2VPCLink_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetVpcLinkOutput resourceName := "aws_apigatewayv2_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccAPIGatewayV2VPCLink_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccAPIGatewayV2VPCLink_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetVpcLinkOutput resourceName := "aws_apigatewayv2_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccAPIGatewayV2VPCLink_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccAPIGatewayV2VPCLink_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetVpcLinkOutput resourceName := "aws_apigatewayv2_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccAPIGatewayV2VPCLink_tags_DefaultTags_overlapping(t *testing.T) { func TestAccAPIGatewayV2VPCLink_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetVpcLinkOutput resourceName := "aws_apigatewayv2_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccAPIGatewayV2VPCLink_tags_DefaultTags_updateToProviderOnly(t *testing func TestAccAPIGatewayV2VPCLink_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetVpcLinkOutput resourceName := "aws_apigatewayv2_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccAPIGatewayV2VPCLink_tags_DefaultTags_updateToResourceOnly(t *testing func TestAccAPIGatewayV2VPCLink_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetVpcLinkOutput resourceName := "aws_apigatewayv2_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccAPIGatewayV2VPCLink_tags_DefaultTags_emptyResourceTag(t *testing.T) func TestAccAPIGatewayV2VPCLink_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetVpcLinkOutput resourceName := "aws_apigatewayv2_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccAPIGatewayV2VPCLink_tags_DefaultTags_emptyProviderOnlyTag(t *testing func TestAccAPIGatewayV2VPCLink_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetVpcLinkOutput resourceName := "aws_apigatewayv2_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccAPIGatewayV2VPCLink_tags_DefaultTags_nullOverlappingResourceTag(t *t func TestAccAPIGatewayV2VPCLink_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetVpcLinkOutput resourceName := "aws_apigatewayv2_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccAPIGatewayV2VPCLink_tags_DefaultTags_nullNonOverlappingResourceTag(t func TestAccAPIGatewayV2VPCLink_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetVpcLinkOutput resourceName := "aws_apigatewayv2_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccAPIGatewayV2VPCLink_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccAPIGatewayV2VPCLink_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetVpcLinkOutput resourceName := "aws_apigatewayv2_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccAPIGatewayV2VPCLink_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccAPIGatewayV2VPCLink_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetVpcLinkOutput resourceName := "aws_apigatewayv2_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccAPIGatewayV2VPCLink_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func TestAccAPIGatewayV2VPCLink_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetVpcLinkOutput resourceName := "aws_apigatewayv2_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccAPIGatewayV2VPCLink_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func TestAccAPIGatewayV2VPCLink_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v apigatewayv2.GetVpcLinkOutput resourceName := "aws_apigatewayv2_vpc_link.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/appautoscaling/target_tags_gen_test.go b/internal/service/appautoscaling/target_tags_gen_test.go index 993eab495db4..f4a5a1fc6270 100644 --- a/internal/service/appautoscaling/target_tags_gen_test.go +++ b/internal/service/appautoscaling/target_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccAppAutoScalingTarget_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ScalableTarget resourceName := "aws_appautoscaling_target.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -204,6 +205,7 @@ func TestAccAppAutoScalingTarget_tags(t *testing.T) { func TestAccAppAutoScalingTarget_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ScalableTarget resourceName := "aws_appautoscaling_target.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -272,6 +274,7 @@ func TestAccAppAutoScalingTarget_tags_null(t *testing.T) { func TestAccAppAutoScalingTarget_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ScalableTarget resourceName := "aws_appautoscaling_target.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -336,6 +339,7 @@ func TestAccAppAutoScalingTarget_tags_EmptyMap(t *testing.T) { func TestAccAppAutoScalingTarget_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ScalableTarget resourceName := "aws_appautoscaling_target.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -420,6 +424,7 @@ func TestAccAppAutoScalingTarget_tags_EmptyTag_OnCreate(t *testing.T) { t.Skip("Resource Target does not support empty tags") ctx := acctest.Context(t) + var v awstypes.ScalableTarget resourceName := "aws_appautoscaling_target.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -513,6 +518,7 @@ func TestAccAppAutoScalingTarget_tags_EmptyTag_OnUpdate_Add(t *testing.T) { t.Skip("Resource Target does not support empty tags") ctx := acctest.Context(t) + var v awstypes.ScalableTarget resourceName := "aws_appautoscaling_target.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -654,6 +660,7 @@ func TestAccAppAutoScalingTarget_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { t.Skip("Resource Target does not support empty tags") ctx := acctest.Context(t) + var v awstypes.ScalableTarget resourceName := "aws_appautoscaling_target.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -744,6 +751,7 @@ func TestAccAppAutoScalingTarget_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccAppAutoScalingTarget_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ScalableTarget resourceName := "aws_appautoscaling_target.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -929,6 +937,7 @@ func TestAccAppAutoScalingTarget_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccAppAutoScalingTarget_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ScalableTarget resourceName := "aws_appautoscaling_target.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1092,6 +1101,7 @@ func TestAccAppAutoScalingTarget_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccAppAutoScalingTarget_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ScalableTarget resourceName := "aws_appautoscaling_target.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1271,6 +1281,7 @@ func TestAccAppAutoScalingTarget_tags_DefaultTags_overlapping(t *testing.T) { func TestAccAppAutoScalingTarget_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ScalableTarget resourceName := "aws_appautoscaling_target.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1362,6 +1373,7 @@ func TestAccAppAutoScalingTarget_tags_DefaultTags_updateToProviderOnly(t *testin func TestAccAppAutoScalingTarget_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ScalableTarget resourceName := "aws_appautoscaling_target.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1454,6 +1466,7 @@ func TestAccAppAutoScalingTarget_tags_DefaultTags_emptyResourceTag(t *testing.T) t.Skip("Resource Target does not support empty tags") ctx := acctest.Context(t) + var v awstypes.ScalableTarget resourceName := "aws_appautoscaling_target.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1522,6 +1535,7 @@ func TestAccAppAutoScalingTarget_tags_DefaultTags_emptyProviderOnlyTag(t *testin t.Skip("Resource Target does not support empty tags") ctx := acctest.Context(t) + var v awstypes.ScalableTarget resourceName := "aws_appautoscaling_target.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1580,6 +1594,7 @@ func TestAccAppAutoScalingTarget_tags_DefaultTags_emptyProviderOnlyTag(t *testin func TestAccAppAutoScalingTarget_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ScalableTarget resourceName := "aws_appautoscaling_target.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1643,6 +1658,7 @@ func TestAccAppAutoScalingTarget_tags_DefaultTags_nullOverlappingResourceTag(t * func TestAccAppAutoScalingTarget_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ScalableTarget resourceName := "aws_appautoscaling_target.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1706,6 +1722,7 @@ func TestAccAppAutoScalingTarget_tags_DefaultTags_nullNonOverlappingResourceTag( func TestAccAppAutoScalingTarget_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ScalableTarget resourceName := "aws_appautoscaling_target.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1762,6 +1779,7 @@ func TestAccAppAutoScalingTarget_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccAppAutoScalingTarget_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ScalableTarget resourceName := "aws_appautoscaling_target.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1860,6 +1878,7 @@ func TestAccAppAutoScalingTarget_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccAppAutoScalingTarget_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ScalableTarget resourceName := "aws_appautoscaling_target.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1948,6 +1967,7 @@ func TestAccAppAutoScalingTarget_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func TestAccAppAutoScalingTarget_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ScalableTarget resourceName := "aws_appautoscaling_target.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2110,6 +2130,7 @@ func TestAccAppAutoScalingTarget_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T func TestAccAppAutoScalingTarget_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ScalableTarget resourceName := "aws_appautoscaling_target.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/appconfig/application_tags_gen_test.go b/internal/service/appconfig/application_tags_gen_test.go index db5b57d8559e..32d94c0b3121 100644 --- a/internal/service/appconfig/application_tags_gen_test.go +++ b/internal/service/appconfig/application_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccAppConfigApplication_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -198,6 +199,7 @@ func TestAccAppConfigApplication_tags(t *testing.T) { func TestAccAppConfigApplication_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -264,6 +266,7 @@ func TestAccAppConfigApplication_tags_null(t *testing.T) { func TestAccAppConfigApplication_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -326,6 +329,7 @@ func TestAccAppConfigApplication_tags_EmptyMap(t *testing.T) { func TestAccAppConfigApplication_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccAppConfigApplication_tags_AddOnUpdate(t *testing.T) { func TestAccAppConfigApplication_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -494,6 +499,7 @@ func TestAccAppConfigApplication_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccAppConfigApplication_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -630,6 +636,7 @@ func TestAccAppConfigApplication_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccAppConfigApplication_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -718,6 +725,7 @@ func TestAccAppConfigApplication_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccAppConfigApplication_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -898,6 +906,7 @@ func TestAccAppConfigApplication_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccAppConfigApplication_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1057,6 +1066,7 @@ func TestAccAppConfigApplication_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccAppConfigApplication_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1232,6 +1242,7 @@ func TestAccAppConfigApplication_tags_DefaultTags_overlapping(t *testing.T) { func TestAccAppConfigApplication_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1321,6 +1332,7 @@ func TestAccAppConfigApplication_tags_DefaultTags_updateToProviderOnly(t *testin func TestAccAppConfigApplication_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1409,6 +1421,7 @@ func TestAccAppConfigApplication_tags_DefaultTags_updateToResourceOnly(t *testin func TestAccAppConfigApplication_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccAppConfigApplication_tags_DefaultTags_emptyResourceTag(t *testing.T) func TestAccAppConfigApplication_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1529,6 +1543,7 @@ func TestAccAppConfigApplication_tags_DefaultTags_emptyProviderOnlyTag(t *testin func TestAccAppConfigApplication_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1590,6 +1605,7 @@ func TestAccAppConfigApplication_tags_DefaultTags_nullOverlappingResourceTag(t * func TestAccAppConfigApplication_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1651,6 +1667,7 @@ func TestAccAppConfigApplication_tags_DefaultTags_nullNonOverlappingResourceTag( func TestAccAppConfigApplication_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1705,6 +1722,7 @@ func TestAccAppConfigApplication_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccAppConfigApplication_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1801,6 +1819,7 @@ func TestAccAppConfigApplication_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccAppConfigApplication_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1887,6 +1906,7 @@ func TestAccAppConfigApplication_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func TestAccAppConfigApplication_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2048,6 +2068,7 @@ func TestAccAppConfigApplication_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T func TestAccAppConfigApplication_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/appconfig/configuration_profile_data_source_tags_gen_test.go b/internal/service/appconfig/configuration_profile_data_source_tags_gen_test.go index a42333970e2c..af05368b49b7 100644 --- a/internal/service/appconfig/configuration_profile_data_source_tags_gen_test.go +++ b/internal/service/appconfig/configuration_profile_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccAppConfigConfigurationProfileDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appconfig_configuration_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -44,6 +45,7 @@ func TestAccAppConfigConfigurationProfileDataSource_tags(t *testing.T) { func TestAccAppConfigConfigurationProfileDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appconfig_configuration_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -68,6 +70,7 @@ func TestAccAppConfigConfigurationProfileDataSource_tags_NullMap(t *testing.T) { func TestAccAppConfigConfigurationProfileDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appconfig_configuration_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -92,6 +95,7 @@ func TestAccAppConfigConfigurationProfileDataSource_tags_EmptyMap(t *testing.T) func TestAccAppConfigConfigurationProfileDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appconfig_configuration_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -124,6 +128,7 @@ func TestAccAppConfigConfigurationProfileDataSource_tags_DefaultTags_nonOverlapp func TestAccAppConfigConfigurationProfileDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appconfig_configuration_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -162,6 +167,7 @@ func TestAccAppConfigConfigurationProfileDataSource_tags_IgnoreTags_Overlap_Defa func TestAccAppConfigConfigurationProfileDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appconfig_configuration_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/appconfig/configuration_profile_tags_gen_test.go b/internal/service/appconfig/configuration_profile_tags_gen_test.go index 13c20db7f11f..4aa91bdc9d3c 100644 --- a/internal/service/appconfig/configuration_profile_tags_gen_test.go +++ b/internal/service/appconfig/configuration_profile_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccAppConfigConfigurationProfile_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_configuration_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -198,6 +199,7 @@ func TestAccAppConfigConfigurationProfile_tags(t *testing.T) { func TestAccAppConfigConfigurationProfile_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_configuration_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -264,6 +266,7 @@ func TestAccAppConfigConfigurationProfile_tags_null(t *testing.T) { func TestAccAppConfigConfigurationProfile_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_configuration_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -326,6 +329,7 @@ func TestAccAppConfigConfigurationProfile_tags_EmptyMap(t *testing.T) { func TestAccAppConfigConfigurationProfile_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_configuration_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccAppConfigConfigurationProfile_tags_AddOnUpdate(t *testing.T) { func TestAccAppConfigConfigurationProfile_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_configuration_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -494,6 +499,7 @@ func TestAccAppConfigConfigurationProfile_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccAppConfigConfigurationProfile_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_configuration_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -630,6 +636,7 @@ func TestAccAppConfigConfigurationProfile_tags_EmptyTag_OnUpdate_Add(t *testing. func TestAccAppConfigConfigurationProfile_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_configuration_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -718,6 +725,7 @@ func TestAccAppConfigConfigurationProfile_tags_EmptyTag_OnUpdate_Replace(t *test func TestAccAppConfigConfigurationProfile_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_configuration_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -898,6 +906,7 @@ func TestAccAppConfigConfigurationProfile_tags_DefaultTags_providerOnly(t *testi func TestAccAppConfigConfigurationProfile_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_configuration_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1057,6 +1066,7 @@ func TestAccAppConfigConfigurationProfile_tags_DefaultTags_nonOverlapping(t *tes func TestAccAppConfigConfigurationProfile_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_configuration_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1232,6 +1242,7 @@ func TestAccAppConfigConfigurationProfile_tags_DefaultTags_overlapping(t *testin func TestAccAppConfigConfigurationProfile_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_configuration_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1321,6 +1332,7 @@ func TestAccAppConfigConfigurationProfile_tags_DefaultTags_updateToProviderOnly( func TestAccAppConfigConfigurationProfile_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_configuration_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1409,6 +1421,7 @@ func TestAccAppConfigConfigurationProfile_tags_DefaultTags_updateToResourceOnly( func TestAccAppConfigConfigurationProfile_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_configuration_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccAppConfigConfigurationProfile_tags_DefaultTags_emptyResourceTag(t *t func TestAccAppConfigConfigurationProfile_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_configuration_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1529,6 +1543,7 @@ func TestAccAppConfigConfigurationProfile_tags_DefaultTags_emptyProviderOnlyTag( func TestAccAppConfigConfigurationProfile_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_configuration_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1590,6 +1605,7 @@ func TestAccAppConfigConfigurationProfile_tags_DefaultTags_nullOverlappingResour func TestAccAppConfigConfigurationProfile_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_configuration_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1651,6 +1667,7 @@ func TestAccAppConfigConfigurationProfile_tags_DefaultTags_nullNonOverlappingRes func TestAccAppConfigConfigurationProfile_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_configuration_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1705,6 +1722,7 @@ func TestAccAppConfigConfigurationProfile_tags_ComputedTag_OnCreate(t *testing.T func TestAccAppConfigConfigurationProfile_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_configuration_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1801,6 +1819,7 @@ func TestAccAppConfigConfigurationProfile_tags_ComputedTag_OnUpdate_Add(t *testi func TestAccAppConfigConfigurationProfile_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_configuration_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1887,6 +1906,7 @@ func TestAccAppConfigConfigurationProfile_tags_ComputedTag_OnUpdate_Replace(t *t func TestAccAppConfigConfigurationProfile_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_configuration_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2048,6 +2068,7 @@ func TestAccAppConfigConfigurationProfile_tags_IgnoreTags_Overlap_DefaultTag(t * func TestAccAppConfigConfigurationProfile_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_configuration_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/appconfig/deployment_strategy_tags_gen_test.go b/internal/service/appconfig/deployment_strategy_tags_gen_test.go index 6d53ea9fdcb5..cf9d7f8f0a7e 100644 --- a/internal/service/appconfig/deployment_strategy_tags_gen_test.go +++ b/internal/service/appconfig/deployment_strategy_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccAppConfigDeploymentStrategy_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment_strategy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -198,6 +199,7 @@ func TestAccAppConfigDeploymentStrategy_tags(t *testing.T) { func TestAccAppConfigDeploymentStrategy_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment_strategy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -264,6 +266,7 @@ func TestAccAppConfigDeploymentStrategy_tags_null(t *testing.T) { func TestAccAppConfigDeploymentStrategy_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment_strategy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -326,6 +329,7 @@ func TestAccAppConfigDeploymentStrategy_tags_EmptyMap(t *testing.T) { func TestAccAppConfigDeploymentStrategy_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment_strategy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccAppConfigDeploymentStrategy_tags_AddOnUpdate(t *testing.T) { func TestAccAppConfigDeploymentStrategy_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment_strategy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -494,6 +499,7 @@ func TestAccAppConfigDeploymentStrategy_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccAppConfigDeploymentStrategy_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment_strategy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -630,6 +636,7 @@ func TestAccAppConfigDeploymentStrategy_tags_EmptyTag_OnUpdate_Add(t *testing.T) func TestAccAppConfigDeploymentStrategy_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment_strategy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -718,6 +725,7 @@ func TestAccAppConfigDeploymentStrategy_tags_EmptyTag_OnUpdate_Replace(t *testin func TestAccAppConfigDeploymentStrategy_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment_strategy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -898,6 +906,7 @@ func TestAccAppConfigDeploymentStrategy_tags_DefaultTags_providerOnly(t *testing func TestAccAppConfigDeploymentStrategy_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment_strategy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1057,6 +1066,7 @@ func TestAccAppConfigDeploymentStrategy_tags_DefaultTags_nonOverlapping(t *testi func TestAccAppConfigDeploymentStrategy_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment_strategy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1232,6 +1242,7 @@ func TestAccAppConfigDeploymentStrategy_tags_DefaultTags_overlapping(t *testing. func TestAccAppConfigDeploymentStrategy_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment_strategy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1321,6 +1332,7 @@ func TestAccAppConfigDeploymentStrategy_tags_DefaultTags_updateToProviderOnly(t func TestAccAppConfigDeploymentStrategy_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment_strategy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1409,6 +1421,7 @@ func TestAccAppConfigDeploymentStrategy_tags_DefaultTags_updateToResourceOnly(t func TestAccAppConfigDeploymentStrategy_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment_strategy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccAppConfigDeploymentStrategy_tags_DefaultTags_emptyResourceTag(t *tes func TestAccAppConfigDeploymentStrategy_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment_strategy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1529,6 +1543,7 @@ func TestAccAppConfigDeploymentStrategy_tags_DefaultTags_emptyProviderOnlyTag(t func TestAccAppConfigDeploymentStrategy_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment_strategy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1590,6 +1605,7 @@ func TestAccAppConfigDeploymentStrategy_tags_DefaultTags_nullOverlappingResource func TestAccAppConfigDeploymentStrategy_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment_strategy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1651,6 +1667,7 @@ func TestAccAppConfigDeploymentStrategy_tags_DefaultTags_nullNonOverlappingResou func TestAccAppConfigDeploymentStrategy_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment_strategy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1705,6 +1722,7 @@ func TestAccAppConfigDeploymentStrategy_tags_ComputedTag_OnCreate(t *testing.T) func TestAccAppConfigDeploymentStrategy_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment_strategy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1801,6 +1819,7 @@ func TestAccAppConfigDeploymentStrategy_tags_ComputedTag_OnUpdate_Add(t *testing func TestAccAppConfigDeploymentStrategy_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment_strategy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1887,6 +1906,7 @@ func TestAccAppConfigDeploymentStrategy_tags_ComputedTag_OnUpdate_Replace(t *tes func TestAccAppConfigDeploymentStrategy_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment_strategy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2048,6 +2068,7 @@ func TestAccAppConfigDeploymentStrategy_tags_IgnoreTags_Overlap_DefaultTag(t *te func TestAccAppConfigDeploymentStrategy_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment_strategy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/appconfig/deployment_tags_gen_test.go b/internal/service/appconfig/deployment_tags_gen_test.go index 4c04b1c0284d..d9be4c3648cc 100644 --- a/internal/service/appconfig/deployment_tags_gen_test.go +++ b/internal/service/appconfig/deployment_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccAppConfigDeployment_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -210,6 +211,7 @@ func TestAccAppConfigDeployment_tags(t *testing.T) { func TestAccAppConfigDeployment_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -279,6 +281,7 @@ func TestAccAppConfigDeployment_tags_null(t *testing.T) { func TestAccAppConfigDeployment_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -344,6 +347,7 @@ func TestAccAppConfigDeployment_tags_EmptyMap(t *testing.T) { func TestAccAppConfigDeployment_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -427,6 +431,7 @@ func TestAccAppConfigDeployment_tags_AddOnUpdate(t *testing.T) { func TestAccAppConfigDeployment_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -521,6 +526,7 @@ func TestAccAppConfigDeployment_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccAppConfigDeployment_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -663,6 +669,7 @@ func TestAccAppConfigDeployment_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccAppConfigDeployment_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -754,6 +761,7 @@ func TestAccAppConfigDeployment_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccAppConfigDeployment_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -946,6 +954,7 @@ func TestAccAppConfigDeployment_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccAppConfigDeployment_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1114,6 +1123,7 @@ func TestAccAppConfigDeployment_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccAppConfigDeployment_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1298,6 +1308,7 @@ func TestAccAppConfigDeployment_tags_DefaultTags_overlapping(t *testing.T) { func TestAccAppConfigDeployment_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1390,6 +1401,7 @@ func TestAccAppConfigDeployment_tags_DefaultTags_updateToProviderOnly(t *testing func TestAccAppConfigDeployment_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1481,6 +1493,7 @@ func TestAccAppConfigDeployment_tags_DefaultTags_updateToResourceOnly(t *testing func TestAccAppConfigDeployment_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1548,6 +1561,7 @@ func TestAccAppConfigDeployment_tags_DefaultTags_emptyResourceTag(t *testing.T) func TestAccAppConfigDeployment_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1607,6 +1621,7 @@ func TestAccAppConfigDeployment_tags_DefaultTags_emptyProviderOnlyTag(t *testing func TestAccAppConfigDeployment_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1671,6 +1686,7 @@ func TestAccAppConfigDeployment_tags_DefaultTags_nullOverlappingResourceTag(t *t func TestAccAppConfigDeployment_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1735,6 +1751,7 @@ func TestAccAppConfigDeployment_tags_DefaultTags_nullNonOverlappingResourceTag(t func TestAccAppConfigDeployment_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1792,6 +1809,7 @@ func TestAccAppConfigDeployment_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccAppConfigDeployment_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1891,6 +1909,7 @@ func TestAccAppConfigDeployment_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccAppConfigDeployment_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1980,6 +1999,7 @@ func TestAccAppConfigDeployment_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func TestAccAppConfigDeployment_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2141,6 +2161,7 @@ func TestAccAppConfigDeployment_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func TestAccAppConfigDeployment_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_deployment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/appconfig/environment_data_source_tags_gen_test.go b/internal/service/appconfig/environment_data_source_tags_gen_test.go index b29453d87be6..182ed1c2e52a 100644 --- a/internal/service/appconfig/environment_data_source_tags_gen_test.go +++ b/internal/service/appconfig/environment_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccAppConfigEnvironmentDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appconfig_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -44,6 +45,7 @@ func TestAccAppConfigEnvironmentDataSource_tags(t *testing.T) { func TestAccAppConfigEnvironmentDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appconfig_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -68,6 +70,7 @@ func TestAccAppConfigEnvironmentDataSource_tags_NullMap(t *testing.T) { func TestAccAppConfigEnvironmentDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appconfig_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -92,6 +95,7 @@ func TestAccAppConfigEnvironmentDataSource_tags_EmptyMap(t *testing.T) { func TestAccAppConfigEnvironmentDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appconfig_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -124,6 +128,7 @@ func TestAccAppConfigEnvironmentDataSource_tags_DefaultTags_nonOverlapping(t *te func TestAccAppConfigEnvironmentDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appconfig_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -162,6 +167,7 @@ func TestAccAppConfigEnvironmentDataSource_tags_IgnoreTags_Overlap_DefaultTag(t func TestAccAppConfigEnvironmentDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appconfig_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/appconfig/environment_tags_gen_test.go b/internal/service/appconfig/environment_tags_gen_test.go index 6bfba413dd44..d7961e7044af 100644 --- a/internal/service/appconfig/environment_tags_gen_test.go +++ b/internal/service/appconfig/environment_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccAppConfigEnvironment_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -198,6 +199,7 @@ func TestAccAppConfigEnvironment_tags(t *testing.T) { func TestAccAppConfigEnvironment_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -259,6 +261,7 @@ func TestAccAppConfigEnvironment_tags_null(t *testing.T) { func TestAccAppConfigEnvironment_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -308,6 +311,7 @@ func TestAccAppConfigEnvironment_tags_EmptyMap(t *testing.T) { func TestAccAppConfigEnvironment_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -387,6 +391,7 @@ func TestAccAppConfigEnvironment_tags_AddOnUpdate(t *testing.T) { func TestAccAppConfigEnvironment_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -476,6 +481,7 @@ func TestAccAppConfigEnvironment_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccAppConfigEnvironment_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -614,6 +620,7 @@ func TestAccAppConfigEnvironment_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccAppConfigEnvironment_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -703,6 +710,7 @@ func TestAccAppConfigEnvironment_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccAppConfigEnvironment_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -883,6 +891,7 @@ func TestAccAppConfigEnvironment_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccAppConfigEnvironment_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1042,6 +1051,7 @@ func TestAccAppConfigEnvironment_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccAppConfigEnvironment_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1217,6 +1227,7 @@ func TestAccAppConfigEnvironment_tags_DefaultTags_overlapping(t *testing.T) { func TestAccAppConfigEnvironment_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1306,6 +1317,7 @@ func TestAccAppConfigEnvironment_tags_DefaultTags_updateToProviderOnly(t *testin func TestAccAppConfigEnvironment_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1394,6 +1406,7 @@ func TestAccAppConfigEnvironment_tags_DefaultTags_updateToResourceOnly(t *testin func TestAccAppConfigEnvironment_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1459,6 +1472,7 @@ func TestAccAppConfigEnvironment_tags_DefaultTags_emptyResourceTag(t *testing.T) func TestAccAppConfigEnvironment_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1516,6 +1530,7 @@ func TestAccAppConfigEnvironment_tags_DefaultTags_emptyProviderOnlyTag(t *testin func TestAccAppConfigEnvironment_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1584,6 +1599,7 @@ func TestAccAppConfigEnvironment_tags_DefaultTags_nullOverlappingResourceTag(t * func TestAccAppConfigEnvironment_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1654,6 +1670,7 @@ func TestAccAppConfigEnvironment_tags_DefaultTags_nullNonOverlappingResourceTag( func TestAccAppConfigEnvironment_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1708,6 +1725,7 @@ func TestAccAppConfigEnvironment_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccAppConfigEnvironment_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1804,6 +1822,7 @@ func TestAccAppConfigEnvironment_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccAppConfigEnvironment_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1890,6 +1909,7 @@ func TestAccAppConfigEnvironment_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func TestAccAppConfigEnvironment_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2051,6 +2071,7 @@ func TestAccAppConfigEnvironment_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T func TestAccAppConfigEnvironment_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/appconfig/extension_tags_gen_test.go b/internal/service/appconfig/extension_tags_gen_test.go index 6c48049261af..c15bdea9ca13 100644 --- a/internal/service/appconfig/extension_tags_gen_test.go +++ b/internal/service/appconfig/extension_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccAppConfigExtension_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_extension.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -198,6 +199,7 @@ func TestAccAppConfigExtension_tags(t *testing.T) { func TestAccAppConfigExtension_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_extension.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -264,6 +266,7 @@ func TestAccAppConfigExtension_tags_null(t *testing.T) { func TestAccAppConfigExtension_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_extension.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -326,6 +329,7 @@ func TestAccAppConfigExtension_tags_EmptyMap(t *testing.T) { func TestAccAppConfigExtension_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_extension.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccAppConfigExtension_tags_AddOnUpdate(t *testing.T) { func TestAccAppConfigExtension_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_extension.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -494,6 +499,7 @@ func TestAccAppConfigExtension_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccAppConfigExtension_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_extension.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -630,6 +636,7 @@ func TestAccAppConfigExtension_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccAppConfigExtension_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_extension.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -718,6 +725,7 @@ func TestAccAppConfigExtension_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccAppConfigExtension_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_extension.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -898,6 +906,7 @@ func TestAccAppConfigExtension_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccAppConfigExtension_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_extension.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1057,6 +1066,7 @@ func TestAccAppConfigExtension_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccAppConfigExtension_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_extension.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1232,6 +1242,7 @@ func TestAccAppConfigExtension_tags_DefaultTags_overlapping(t *testing.T) { func TestAccAppConfigExtension_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_extension.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1321,6 +1332,7 @@ func TestAccAppConfigExtension_tags_DefaultTags_updateToProviderOnly(t *testing. func TestAccAppConfigExtension_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_extension.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1409,6 +1421,7 @@ func TestAccAppConfigExtension_tags_DefaultTags_updateToResourceOnly(t *testing. func TestAccAppConfigExtension_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_extension.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccAppConfigExtension_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccAppConfigExtension_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_extension.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1529,6 +1543,7 @@ func TestAccAppConfigExtension_tags_DefaultTags_emptyProviderOnlyTag(t *testing. func TestAccAppConfigExtension_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_extension.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1590,6 +1605,7 @@ func TestAccAppConfigExtension_tags_DefaultTags_nullOverlappingResourceTag(t *te func TestAccAppConfigExtension_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_extension.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1651,6 +1667,7 @@ func TestAccAppConfigExtension_tags_DefaultTags_nullNonOverlappingResourceTag(t func TestAccAppConfigExtension_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_extension.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1705,6 +1722,7 @@ func TestAccAppConfigExtension_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccAppConfigExtension_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_extension.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1801,6 +1819,7 @@ func TestAccAppConfigExtension_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccAppConfigExtension_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_extension.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1887,6 +1906,7 @@ func TestAccAppConfigExtension_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccAppConfigExtension_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_extension.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2048,6 +2068,7 @@ func TestAccAppConfigExtension_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func TestAccAppConfigExtension_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_appconfig_extension.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/appfabric/app_authorization_tags_gen_test.go b/internal/service/appfabric/app_authorization_tags_gen_test.go index 22a4ff2337c0..28d312066d91 100644 --- a/internal/service/appfabric/app_authorization_tags_gen_test.go +++ b/internal/service/appfabric/app_authorization_tags_gen_test.go @@ -47,6 +47,7 @@ func testAccAppFabricAppAuthorization_tagsSerial(t *testing.T) { func testAccAppFabricAppAuthorization_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.AppAuthorization resourceName := "aws_appfabric_app_authorization.test" @@ -232,6 +233,7 @@ func testAccAppFabricAppAuthorization_tags(t *testing.T) { func testAccAppFabricAppAuthorization_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.AppAuthorization resourceName := "aws_appfabric_app_authorization.test" @@ -292,6 +294,7 @@ func testAccAppFabricAppAuthorization_tags_null(t *testing.T) { func testAccAppFabricAppAuthorization_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.AppAuthorization resourceName := "aws_appfabric_app_authorization.test" @@ -340,6 +343,7 @@ func testAccAppFabricAppAuthorization_tags_EmptyMap(t *testing.T) { func testAccAppFabricAppAuthorization_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.AppAuthorization resourceName := "aws_appfabric_app_authorization.test" @@ -419,6 +423,7 @@ func testAccAppFabricAppAuthorization_tags_AddOnUpdate(t *testing.T) { func testAccAppFabricAppAuthorization_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.AppAuthorization resourceName := "aws_appfabric_app_authorization.test" @@ -510,6 +515,7 @@ func testAccAppFabricAppAuthorization_tags_EmptyTag_OnCreate(t *testing.T) { func testAccAppFabricAppAuthorization_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.AppAuthorization resourceName := "aws_appfabric_app_authorization.test" @@ -649,6 +655,7 @@ func testAccAppFabricAppAuthorization_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func testAccAppFabricAppAuthorization_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.AppAuthorization resourceName := "aws_appfabric_app_authorization.test" @@ -738,6 +745,7 @@ func testAccAppFabricAppAuthorization_tags_EmptyTag_OnUpdate_Replace(t *testing. func testAccAppFabricAppAuthorization_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.AppAuthorization resourceName := "aws_appfabric_app_authorization.test" @@ -922,6 +930,7 @@ func testAccAppFabricAppAuthorization_tags_DefaultTags_providerOnly(t *testing.T func testAccAppFabricAppAuthorization_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.AppAuthorization resourceName := "aws_appfabric_app_authorization.test" @@ -1084,6 +1093,7 @@ func testAccAppFabricAppAuthorization_tags_DefaultTags_nonOverlapping(t *testing func testAccAppFabricAppAuthorization_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.AppAuthorization resourceName := "aws_appfabric_app_authorization.test" @@ -1262,6 +1272,7 @@ func testAccAppFabricAppAuthorization_tags_DefaultTags_overlapping(t *testing.T) func testAccAppFabricAppAuthorization_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.AppAuthorization resourceName := "aws_appfabric_app_authorization.test" @@ -1351,6 +1362,7 @@ func testAccAppFabricAppAuthorization_tags_DefaultTags_updateToProviderOnly(t *t func testAccAppFabricAppAuthorization_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.AppAuthorization resourceName := "aws_appfabric_app_authorization.test" @@ -1439,6 +1451,7 @@ func testAccAppFabricAppAuthorization_tags_DefaultTags_updateToResourceOnly(t *t func testAccAppFabricAppAuthorization_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.AppAuthorization resourceName := "aws_appfabric_app_authorization.test" @@ -1505,6 +1518,7 @@ func testAccAppFabricAppAuthorization_tags_DefaultTags_emptyResourceTag(t *testi func testAccAppFabricAppAuthorization_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.AppAuthorization resourceName := "aws_appfabric_app_authorization.test" @@ -1563,6 +1577,7 @@ func testAccAppFabricAppAuthorization_tags_DefaultTags_emptyProviderOnlyTag(t *t func testAccAppFabricAppAuthorization_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.AppAuthorization resourceName := "aws_appfabric_app_authorization.test" @@ -1630,6 +1645,7 @@ func testAccAppFabricAppAuthorization_tags_DefaultTags_nullOverlappingResourceTa func testAccAppFabricAppAuthorization_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.AppAuthorization resourceName := "aws_appfabric_app_authorization.test" @@ -1699,6 +1715,7 @@ func testAccAppFabricAppAuthorization_tags_DefaultTags_nullNonOverlappingResourc func testAccAppFabricAppAuthorization_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.AppAuthorization resourceName := "aws_appfabric_app_authorization.test" @@ -1754,6 +1771,7 @@ func testAccAppFabricAppAuthorization_tags_ComputedTag_OnCreate(t *testing.T) { func testAccAppFabricAppAuthorization_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.AppAuthorization resourceName := "aws_appfabric_app_authorization.test" @@ -1850,6 +1868,7 @@ func testAccAppFabricAppAuthorization_tags_ComputedTag_OnUpdate_Add(t *testing.T func testAccAppFabricAppAuthorization_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.AppAuthorization resourceName := "aws_appfabric_app_authorization.test" @@ -1936,6 +1955,7 @@ func testAccAppFabricAppAuthorization_tags_ComputedTag_OnUpdate_Replace(t *testi func testAccAppFabricAppAuthorization_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.AppAuthorization resourceName := "aws_appfabric_app_authorization.test" @@ -2094,6 +2114,7 @@ func testAccAppFabricAppAuthorization_tags_IgnoreTags_Overlap_DefaultTag(t *test func testAccAppFabricAppAuthorization_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.AppAuthorization resourceName := "aws_appfabric_app_authorization.test" diff --git a/internal/service/appfabric/app_bundle_tags_gen_test.go b/internal/service/appfabric/app_bundle_tags_gen_test.go index e76deff3da09..37eef010d654 100644 --- a/internal/service/appfabric/app_bundle_tags_gen_test.go +++ b/internal/service/appfabric/app_bundle_tags_gen_test.go @@ -48,6 +48,7 @@ func testAccAppFabricAppBundle_tagsSerial(t *testing.T) { func testAccAppFabricAppBundle_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.AppBundle resourceName := "aws_appfabric_app_bundle.test" @@ -224,6 +225,7 @@ func testAccAppFabricAppBundle_tags(t *testing.T) { func testAccAppFabricAppBundle_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.AppBundle resourceName := "aws_appfabric_app_bundle.test" @@ -286,6 +288,7 @@ func testAccAppFabricAppBundle_tags_null(t *testing.T) { func testAccAppFabricAppBundle_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.AppBundle resourceName := "aws_appfabric_app_bundle.test" @@ -336,6 +339,7 @@ func testAccAppFabricAppBundle_tags_EmptyMap(t *testing.T) { func testAccAppFabricAppBundle_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.AppBundle resourceName := "aws_appfabric_app_bundle.test" @@ -415,6 +419,7 @@ func testAccAppFabricAppBundle_tags_AddOnUpdate(t *testing.T) { func testAccAppFabricAppBundle_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.AppBundle resourceName := "aws_appfabric_app_bundle.test" @@ -503,6 +508,7 @@ func testAccAppFabricAppBundle_tags_EmptyTag_OnCreate(t *testing.T) { func testAccAppFabricAppBundle_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.AppBundle resourceName := "aws_appfabric_app_bundle.test" @@ -639,6 +645,7 @@ func testAccAppFabricAppBundle_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func testAccAppFabricAppBundle_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.AppBundle resourceName := "aws_appfabric_app_bundle.test" @@ -728,6 +735,7 @@ func testAccAppFabricAppBundle_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func testAccAppFabricAppBundle_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.AppBundle resourceName := "aws_appfabric_app_bundle.test" @@ -903,6 +911,7 @@ func testAccAppFabricAppBundle_tags_DefaultTags_providerOnly(t *testing.T) { func testAccAppFabricAppBundle_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.AppBundle resourceName := "aws_appfabric_app_bundle.test" @@ -1059,6 +1068,7 @@ func testAccAppFabricAppBundle_tags_DefaultTags_nonOverlapping(t *testing.T) { func testAccAppFabricAppBundle_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.AppBundle resourceName := "aws_appfabric_app_bundle.test" @@ -1231,6 +1241,7 @@ func testAccAppFabricAppBundle_tags_DefaultTags_overlapping(t *testing.T) { func testAccAppFabricAppBundle_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.AppBundle resourceName := "aws_appfabric_app_bundle.test" @@ -1320,6 +1331,7 @@ func testAccAppFabricAppBundle_tags_DefaultTags_updateToProviderOnly(t *testing. func testAccAppFabricAppBundle_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.AppBundle resourceName := "aws_appfabric_app_bundle.test" @@ -1408,6 +1420,7 @@ func testAccAppFabricAppBundle_tags_DefaultTags_updateToResourceOnly(t *testing. func testAccAppFabricAppBundle_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.AppBundle resourceName := "aws_appfabric_app_bundle.test" @@ -1474,6 +1487,7 @@ func testAccAppFabricAppBundle_tags_DefaultTags_emptyResourceTag(t *testing.T) { func testAccAppFabricAppBundle_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.AppBundle resourceName := "aws_appfabric_app_bundle.test" @@ -1532,6 +1546,7 @@ func testAccAppFabricAppBundle_tags_DefaultTags_emptyProviderOnlyTag(t *testing. func testAccAppFabricAppBundle_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.AppBundle resourceName := "aws_appfabric_app_bundle.test" @@ -1601,6 +1616,7 @@ func testAccAppFabricAppBundle_tags_DefaultTags_nullOverlappingResourceTag(t *te func testAccAppFabricAppBundle_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.AppBundle resourceName := "aws_appfabric_app_bundle.test" @@ -1672,6 +1688,7 @@ func testAccAppFabricAppBundle_tags_DefaultTags_nullNonOverlappingResourceTag(t func testAccAppFabricAppBundle_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.AppBundle resourceName := "aws_appfabric_app_bundle.test" @@ -1727,6 +1744,7 @@ func testAccAppFabricAppBundle_tags_ComputedTag_OnCreate(t *testing.T) { func testAccAppFabricAppBundle_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.AppBundle resourceName := "aws_appfabric_app_bundle.test" @@ -1823,6 +1841,7 @@ func testAccAppFabricAppBundle_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func testAccAppFabricAppBundle_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.AppBundle resourceName := "aws_appfabric_app_bundle.test" @@ -1909,6 +1928,7 @@ func testAccAppFabricAppBundle_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func testAccAppFabricAppBundle_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.AppBundle resourceName := "aws_appfabric_app_bundle.test" @@ -2070,6 +2090,7 @@ func testAccAppFabricAppBundle_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func testAccAppFabricAppBundle_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.AppBundle resourceName := "aws_appfabric_app_bundle.test" diff --git a/internal/service/appflow/flow_tags_gen_test.go b/internal/service/appflow/flow_tags_gen_test.go index 3eb1d2a6c3a0..e937c03986c0 100644 --- a/internal/service/appflow/flow_tags_gen_test.go +++ b/internal/service/appflow/flow_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccAppFlowFlow_tags(t *testing.T) { ctx := acctest.Context(t) + var v appflow.DescribeFlowOutput resourceName := "aws_appflow_flow.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccAppFlowFlow_tags(t *testing.T) { func TestAccAppFlowFlow_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v appflow.DescribeFlowOutput resourceName := "aws_appflow_flow.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccAppFlowFlow_tags_null(t *testing.T) { func TestAccAppFlowFlow_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v appflow.DescribeFlowOutput resourceName := "aws_appflow_flow.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccAppFlowFlow_tags_EmptyMap(t *testing.T) { func TestAccAppFlowFlow_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v appflow.DescribeFlowOutput resourceName := "aws_appflow_flow.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccAppFlowFlow_tags_AddOnUpdate(t *testing.T) { func TestAccAppFlowFlow_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v appflow.DescribeFlowOutput resourceName := "aws_appflow_flow.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccAppFlowFlow_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccAppFlowFlow_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v appflow.DescribeFlowOutput resourceName := "aws_appflow_flow.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccAppFlowFlow_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccAppFlowFlow_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v appflow.DescribeFlowOutput resourceName := "aws_appflow_flow.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccAppFlowFlow_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccAppFlowFlow_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v appflow.DescribeFlowOutput resourceName := "aws_appflow_flow.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccAppFlowFlow_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccAppFlowFlow_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v appflow.DescribeFlowOutput resourceName := "aws_appflow_flow.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccAppFlowFlow_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccAppFlowFlow_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v appflow.DescribeFlowOutput resourceName := "aws_appflow_flow.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccAppFlowFlow_tags_DefaultTags_overlapping(t *testing.T) { func TestAccAppFlowFlow_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v appflow.DescribeFlowOutput resourceName := "aws_appflow_flow.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccAppFlowFlow_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccAppFlowFlow_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v appflow.DescribeFlowOutput resourceName := "aws_appflow_flow.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccAppFlowFlow_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccAppFlowFlow_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v appflow.DescribeFlowOutput resourceName := "aws_appflow_flow.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccAppFlowFlow_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccAppFlowFlow_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v appflow.DescribeFlowOutput resourceName := "aws_appflow_flow.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccAppFlowFlow_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccAppFlowFlow_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v appflow.DescribeFlowOutput resourceName := "aws_appflow_flow.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccAppFlowFlow_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T func TestAccAppFlowFlow_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v appflow.DescribeFlowOutput resourceName := "aws_appflow_flow.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccAppFlowFlow_tags_DefaultTags_nullNonOverlappingResourceTag(t *testin func TestAccAppFlowFlow_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v appflow.DescribeFlowOutput resourceName := "aws_appflow_flow.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccAppFlowFlow_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccAppFlowFlow_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v appflow.DescribeFlowOutput resourceName := "aws_appflow_flow.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccAppFlowFlow_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccAppFlowFlow_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v appflow.DescribeFlowOutput resourceName := "aws_appflow_flow.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccAppFlowFlow_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccAppFlowFlow_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v appflow.DescribeFlowOutput resourceName := "aws_appflow_flow.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccAppFlowFlow_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccAppFlowFlow_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v appflow.DescribeFlowOutput resourceName := "aws_appflow_flow.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/appintegrations/event_integration_data_source_tags_gen_test.go b/internal/service/appintegrations/event_integration_data_source_tags_gen_test.go index 407fe0841d52..30e6968f1682 100644 --- a/internal/service/appintegrations/event_integration_data_source_tags_gen_test.go +++ b/internal/service/appintegrations/event_integration_data_source_tags_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccAppIntegrationsEventIntegrationDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appintegrations_event_integration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -49,6 +50,7 @@ func TestAccAppIntegrationsEventIntegrationDataSource_tags(t *testing.T) { func TestAccAppIntegrationsEventIntegrationDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appintegrations_event_integration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -73,6 +75,7 @@ func TestAccAppIntegrationsEventIntegrationDataSource_tags_NullMap(t *testing.T) func TestAccAppIntegrationsEventIntegrationDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appintegrations_event_integration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -97,6 +100,7 @@ func TestAccAppIntegrationsEventIntegrationDataSource_tags_EmptyMap(t *testing.T func TestAccAppIntegrationsEventIntegrationDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appintegrations_event_integration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -129,6 +133,7 @@ func TestAccAppIntegrationsEventIntegrationDataSource_tags_DefaultTags_nonOverla func TestAccAppIntegrationsEventIntegrationDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appintegrations_event_integration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -167,6 +172,7 @@ func TestAccAppIntegrationsEventIntegrationDataSource_tags_IgnoreTags_Overlap_De func TestAccAppIntegrationsEventIntegrationDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appintegrations_event_integration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/appintegrations/event_integration_tags_gen_test.go b/internal/service/appintegrations/event_integration_tags_gen_test.go index 37aa93ec9f44..7f0a09fecfe6 100644 --- a/internal/service/appintegrations/event_integration_tags_gen_test.go +++ b/internal/service/appintegrations/event_integration_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccAppIntegrationsEventIntegration_tags(t *testing.T) { ctx := acctest.Context(t) + var v appintegrations.GetEventIntegrationOutput resourceName := "aws_appintegrations_event_integration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccAppIntegrationsEventIntegration_tags(t *testing.T) { func TestAccAppIntegrationsEventIntegration_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v appintegrations.GetEventIntegrationOutput resourceName := "aws_appintegrations_event_integration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccAppIntegrationsEventIntegration_tags_null(t *testing.T) { func TestAccAppIntegrationsEventIntegration_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v appintegrations.GetEventIntegrationOutput resourceName := "aws_appintegrations_event_integration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccAppIntegrationsEventIntegration_tags_EmptyMap(t *testing.T) { func TestAccAppIntegrationsEventIntegration_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v appintegrations.GetEventIntegrationOutput resourceName := "aws_appintegrations_event_integration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccAppIntegrationsEventIntegration_tags_AddOnUpdate(t *testing.T) { func TestAccAppIntegrationsEventIntegration_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v appintegrations.GetEventIntegrationOutput resourceName := "aws_appintegrations_event_integration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccAppIntegrationsEventIntegration_tags_EmptyTag_OnCreate(t *testing.T) func TestAccAppIntegrationsEventIntegration_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v appintegrations.GetEventIntegrationOutput resourceName := "aws_appintegrations_event_integration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccAppIntegrationsEventIntegration_tags_EmptyTag_OnUpdate_Add(t *testin func TestAccAppIntegrationsEventIntegration_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v appintegrations.GetEventIntegrationOutput resourceName := "aws_appintegrations_event_integration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccAppIntegrationsEventIntegration_tags_EmptyTag_OnUpdate_Replace(t *te func TestAccAppIntegrationsEventIntegration_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v appintegrations.GetEventIntegrationOutput resourceName := "aws_appintegrations_event_integration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccAppIntegrationsEventIntegration_tags_DefaultTags_providerOnly(t *tes func TestAccAppIntegrationsEventIntegration_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v appintegrations.GetEventIntegrationOutput resourceName := "aws_appintegrations_event_integration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccAppIntegrationsEventIntegration_tags_DefaultTags_nonOverlapping(t *t func TestAccAppIntegrationsEventIntegration_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v appintegrations.GetEventIntegrationOutput resourceName := "aws_appintegrations_event_integration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccAppIntegrationsEventIntegration_tags_DefaultTags_overlapping(t *test func TestAccAppIntegrationsEventIntegration_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v appintegrations.GetEventIntegrationOutput resourceName := "aws_appintegrations_event_integration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccAppIntegrationsEventIntegration_tags_DefaultTags_updateToProviderOnl func TestAccAppIntegrationsEventIntegration_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v appintegrations.GetEventIntegrationOutput resourceName := "aws_appintegrations_event_integration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccAppIntegrationsEventIntegration_tags_DefaultTags_updateToResourceOnl func TestAccAppIntegrationsEventIntegration_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v appintegrations.GetEventIntegrationOutput resourceName := "aws_appintegrations_event_integration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccAppIntegrationsEventIntegration_tags_DefaultTags_emptyResourceTag(t func TestAccAppIntegrationsEventIntegration_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v appintegrations.GetEventIntegrationOutput resourceName := "aws_appintegrations_event_integration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccAppIntegrationsEventIntegration_tags_DefaultTags_emptyProviderOnlyTa func TestAccAppIntegrationsEventIntegration_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v appintegrations.GetEventIntegrationOutput resourceName := "aws_appintegrations_event_integration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccAppIntegrationsEventIntegration_tags_DefaultTags_nullOverlappingReso func TestAccAppIntegrationsEventIntegration_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v appintegrations.GetEventIntegrationOutput resourceName := "aws_appintegrations_event_integration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccAppIntegrationsEventIntegration_tags_DefaultTags_nullNonOverlappingR func TestAccAppIntegrationsEventIntegration_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v appintegrations.GetEventIntegrationOutput resourceName := "aws_appintegrations_event_integration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccAppIntegrationsEventIntegration_tags_ComputedTag_OnCreate(t *testing func TestAccAppIntegrationsEventIntegration_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v appintegrations.GetEventIntegrationOutput resourceName := "aws_appintegrations_event_integration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccAppIntegrationsEventIntegration_tags_ComputedTag_OnUpdate_Add(t *tes func TestAccAppIntegrationsEventIntegration_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v appintegrations.GetEventIntegrationOutput resourceName := "aws_appintegrations_event_integration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccAppIntegrationsEventIntegration_tags_ComputedTag_OnUpdate_Replace(t func TestAccAppIntegrationsEventIntegration_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v appintegrations.GetEventIntegrationOutput resourceName := "aws_appintegrations_event_integration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccAppIntegrationsEventIntegration_tags_IgnoreTags_Overlap_DefaultTag(t func TestAccAppIntegrationsEventIntegration_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v appintegrations.GetEventIntegrationOutput resourceName := "aws_appintegrations_event_integration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/applicationinsights/application_tags_gen_test.go b/internal/service/applicationinsights/application_tags_gen_test.go index 3592a6936843..8dfdbd3cd713 100644 --- a/internal/service/applicationinsights/application_tags_gen_test.go +++ b/internal/service/applicationinsights/application_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccApplicationInsightsApplication_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.ApplicationInfo resourceName := "aws_applicationinsights_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccApplicationInsightsApplication_tags(t *testing.T) { func TestAccApplicationInsightsApplication_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.ApplicationInfo resourceName := "aws_applicationinsights_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccApplicationInsightsApplication_tags_null(t *testing.T) { func TestAccApplicationInsightsApplication_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.ApplicationInfo resourceName := "aws_applicationinsights_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccApplicationInsightsApplication_tags_EmptyMap(t *testing.T) { func TestAccApplicationInsightsApplication_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.ApplicationInfo resourceName := "aws_applicationinsights_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccApplicationInsightsApplication_tags_AddOnUpdate(t *testing.T) { func TestAccApplicationInsightsApplication_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.ApplicationInfo resourceName := "aws_applicationinsights_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccApplicationInsightsApplication_tags_EmptyTag_OnCreate(t *testing.T) func TestAccApplicationInsightsApplication_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.ApplicationInfo resourceName := "aws_applicationinsights_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccApplicationInsightsApplication_tags_EmptyTag_OnUpdate_Add(t *testing func TestAccApplicationInsightsApplication_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.ApplicationInfo resourceName := "aws_applicationinsights_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccApplicationInsightsApplication_tags_EmptyTag_OnUpdate_Replace(t *tes func TestAccApplicationInsightsApplication_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.ApplicationInfo resourceName := "aws_applicationinsights_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccApplicationInsightsApplication_tags_DefaultTags_providerOnly(t *test func TestAccApplicationInsightsApplication_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.ApplicationInfo resourceName := "aws_applicationinsights_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccApplicationInsightsApplication_tags_DefaultTags_nonOverlapping(t *te func TestAccApplicationInsightsApplication_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.ApplicationInfo resourceName := "aws_applicationinsights_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccApplicationInsightsApplication_tags_DefaultTags_overlapping(t *testi func TestAccApplicationInsightsApplication_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.ApplicationInfo resourceName := "aws_applicationinsights_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccApplicationInsightsApplication_tags_DefaultTags_updateToProviderOnly func TestAccApplicationInsightsApplication_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.ApplicationInfo resourceName := "aws_applicationinsights_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccApplicationInsightsApplication_tags_DefaultTags_updateToResourceOnly func TestAccApplicationInsightsApplication_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.ApplicationInfo resourceName := "aws_applicationinsights_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccApplicationInsightsApplication_tags_DefaultTags_emptyResourceTag(t * func TestAccApplicationInsightsApplication_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.ApplicationInfo resourceName := "aws_applicationinsights_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccApplicationInsightsApplication_tags_DefaultTags_emptyProviderOnlyTag func TestAccApplicationInsightsApplication_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.ApplicationInfo resourceName := "aws_applicationinsights_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccApplicationInsightsApplication_tags_DefaultTags_nullOverlappingResou func TestAccApplicationInsightsApplication_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.ApplicationInfo resourceName := "aws_applicationinsights_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccApplicationInsightsApplication_tags_DefaultTags_nullNonOverlappingRe func TestAccApplicationInsightsApplication_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.ApplicationInfo resourceName := "aws_applicationinsights_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccApplicationInsightsApplication_tags_ComputedTag_OnCreate(t *testing. func TestAccApplicationInsightsApplication_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.ApplicationInfo resourceName := "aws_applicationinsights_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccApplicationInsightsApplication_tags_ComputedTag_OnUpdate_Add(t *test func TestAccApplicationInsightsApplication_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.ApplicationInfo resourceName := "aws_applicationinsights_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccApplicationInsightsApplication_tags_ComputedTag_OnUpdate_Replace(t * func TestAccApplicationInsightsApplication_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.ApplicationInfo resourceName := "aws_applicationinsights_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccApplicationInsightsApplication_tags_IgnoreTags_Overlap_DefaultTag(t func TestAccApplicationInsightsApplication_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.ApplicationInfo resourceName := "aws_applicationinsights_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/appmesh/gateway_route_data_source_tags_gen_test.go b/internal/service/appmesh/gateway_route_data_source_tags_gen_test.go index a9126198ecaa..a4a0ce2f0533 100644 --- a/internal/service/appmesh/gateway_route_data_source_tags_gen_test.go +++ b/internal/service/appmesh/gateway_route_data_source_tags_gen_test.go @@ -36,6 +36,7 @@ func testAccAppMeshGatewayRouteDataSource_tagsSerial(t *testing.T) { func testAccAppMeshGatewayRouteDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_gateway_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -64,6 +65,7 @@ func testAccAppMeshGatewayRouteDataSource_tags(t *testing.T) { func testAccAppMeshGatewayRouteDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_gateway_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -88,6 +90,7 @@ func testAccAppMeshGatewayRouteDataSource_tags_NullMap(t *testing.T) { func testAccAppMeshGatewayRouteDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_gateway_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -112,6 +115,7 @@ func testAccAppMeshGatewayRouteDataSource_tags_EmptyMap(t *testing.T) { func testAccAppMeshGatewayRouteDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_gateway_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -144,6 +148,7 @@ func testAccAppMeshGatewayRouteDataSource_tags_DefaultTags_nonOverlapping(t *tes func testAccAppMeshGatewayRouteDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_gateway_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -182,6 +187,7 @@ func testAccAppMeshGatewayRouteDataSource_tags_IgnoreTags_Overlap_DefaultTag(t * func testAccAppMeshGatewayRouteDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_gateway_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/appmesh/gateway_route_tags_gen_test.go b/internal/service/appmesh/gateway_route_tags_gen_test.go index f597a7d1809d..fba21f54062b 100644 --- a/internal/service/appmesh/gateway_route_tags_gen_test.go +++ b/internal/service/appmesh/gateway_route_tags_gen_test.go @@ -47,6 +47,7 @@ func testAccAppMeshGatewayRoute_tagsSerial(t *testing.T) { func testAccAppMeshGatewayRoute_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.GatewayRouteData resourceName := "aws_appmesh_gateway_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -233,6 +234,7 @@ func testAccAppMeshGatewayRoute_tags(t *testing.T) { func testAccAppMeshGatewayRoute_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.GatewayRouteData resourceName := "aws_appmesh_gateway_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -301,6 +303,7 @@ func testAccAppMeshGatewayRoute_tags_null(t *testing.T) { func testAccAppMeshGatewayRoute_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.GatewayRouteData resourceName := "aws_appmesh_gateway_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -365,6 +368,7 @@ func testAccAppMeshGatewayRoute_tags_EmptyMap(t *testing.T) { func testAccAppMeshGatewayRoute_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.GatewayRouteData resourceName := "aws_appmesh_gateway_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -447,6 +451,7 @@ func testAccAppMeshGatewayRoute_tags_AddOnUpdate(t *testing.T) { func testAccAppMeshGatewayRoute_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.GatewayRouteData resourceName := "aws_appmesh_gateway_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -538,6 +543,7 @@ func testAccAppMeshGatewayRoute_tags_EmptyTag_OnCreate(t *testing.T) { func testAccAppMeshGatewayRoute_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.GatewayRouteData resourceName := "aws_appmesh_gateway_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -677,6 +683,7 @@ func testAccAppMeshGatewayRoute_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func testAccAppMeshGatewayRoute_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.GatewayRouteData resourceName := "aws_appmesh_gateway_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -767,6 +774,7 @@ func testAccAppMeshGatewayRoute_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func testAccAppMeshGatewayRoute_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.GatewayRouteData resourceName := "aws_appmesh_gateway_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -952,6 +960,7 @@ func testAccAppMeshGatewayRoute_tags_DefaultTags_providerOnly(t *testing.T) { func testAccAppMeshGatewayRoute_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.GatewayRouteData resourceName := "aws_appmesh_gateway_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1115,6 +1124,7 @@ func testAccAppMeshGatewayRoute_tags_DefaultTags_nonOverlapping(t *testing.T) { func testAccAppMeshGatewayRoute_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.GatewayRouteData resourceName := "aws_appmesh_gateway_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1294,6 +1304,7 @@ func testAccAppMeshGatewayRoute_tags_DefaultTags_overlapping(t *testing.T) { func testAccAppMeshGatewayRoute_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.GatewayRouteData resourceName := "aws_appmesh_gateway_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1385,6 +1396,7 @@ func testAccAppMeshGatewayRoute_tags_DefaultTags_updateToProviderOnly(t *testing func testAccAppMeshGatewayRoute_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.GatewayRouteData resourceName := "aws_appmesh_gateway_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1475,6 +1487,7 @@ func testAccAppMeshGatewayRoute_tags_DefaultTags_updateToResourceOnly(t *testing func testAccAppMeshGatewayRoute_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.GatewayRouteData resourceName := "aws_appmesh_gateway_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1541,6 +1554,7 @@ func testAccAppMeshGatewayRoute_tags_DefaultTags_emptyResourceTag(t *testing.T) func testAccAppMeshGatewayRoute_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.GatewayRouteData resourceName := "aws_appmesh_gateway_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1599,6 +1613,7 @@ func testAccAppMeshGatewayRoute_tags_DefaultTags_emptyProviderOnlyTag(t *testing func testAccAppMeshGatewayRoute_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.GatewayRouteData resourceName := "aws_appmesh_gateway_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1662,6 +1677,7 @@ func testAccAppMeshGatewayRoute_tags_DefaultTags_nullOverlappingResourceTag(t *t func testAccAppMeshGatewayRoute_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.GatewayRouteData resourceName := "aws_appmesh_gateway_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1725,6 +1741,7 @@ func testAccAppMeshGatewayRoute_tags_DefaultTags_nullNonOverlappingResourceTag(t func testAccAppMeshGatewayRoute_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.GatewayRouteData resourceName := "aws_appmesh_gateway_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1781,6 +1798,7 @@ func testAccAppMeshGatewayRoute_tags_ComputedTag_OnCreate(t *testing.T) { func testAccAppMeshGatewayRoute_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.GatewayRouteData resourceName := "aws_appmesh_gateway_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1879,6 +1897,7 @@ func testAccAppMeshGatewayRoute_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func testAccAppMeshGatewayRoute_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.GatewayRouteData resourceName := "aws_appmesh_gateway_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1967,6 +1986,7 @@ func testAccAppMeshGatewayRoute_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func testAccAppMeshGatewayRoute_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.GatewayRouteData resourceName := "aws_appmesh_gateway_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2129,6 +2149,7 @@ func testAccAppMeshGatewayRoute_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func testAccAppMeshGatewayRoute_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.GatewayRouteData resourceName := "aws_appmesh_gateway_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/appmesh/mesh_data_source_tags_gen_test.go b/internal/service/appmesh/mesh_data_source_tags_gen_test.go index 5df7ecd99d7d..0faa3a9123e0 100644 --- a/internal/service/appmesh/mesh_data_source_tags_gen_test.go +++ b/internal/service/appmesh/mesh_data_source_tags_gen_test.go @@ -36,6 +36,7 @@ func testAccAppMeshServiceMeshDataSource_tagsSerial(t *testing.T) { func testAccAppMeshServiceMeshDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_mesh.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -64,6 +65,7 @@ func testAccAppMeshServiceMeshDataSource_tags(t *testing.T) { func testAccAppMeshServiceMeshDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_mesh.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -88,6 +90,7 @@ func testAccAppMeshServiceMeshDataSource_tags_NullMap(t *testing.T) { func testAccAppMeshServiceMeshDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_mesh.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -112,6 +115,7 @@ func testAccAppMeshServiceMeshDataSource_tags_EmptyMap(t *testing.T) { func testAccAppMeshServiceMeshDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_mesh.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -144,6 +148,7 @@ func testAccAppMeshServiceMeshDataSource_tags_DefaultTags_nonOverlapping(t *test func testAccAppMeshServiceMeshDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_mesh.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -182,6 +187,7 @@ func testAccAppMeshServiceMeshDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *t func testAccAppMeshServiceMeshDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_mesh.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/appmesh/mesh_tags_gen_test.go b/internal/service/appmesh/mesh_tags_gen_test.go index b5cb6da73a7b..b819d0882f9c 100644 --- a/internal/service/appmesh/mesh_tags_gen_test.go +++ b/internal/service/appmesh/mesh_tags_gen_test.go @@ -47,6 +47,7 @@ func testAccAppMeshServiceMesh_tagsSerial(t *testing.T) { func testAccAppMeshServiceMesh_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.MeshData resourceName := "aws_appmesh_mesh.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -229,6 +230,7 @@ func testAccAppMeshServiceMesh_tags(t *testing.T) { func testAccAppMeshServiceMesh_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.MeshData resourceName := "aws_appmesh_mesh.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -296,6 +298,7 @@ func testAccAppMeshServiceMesh_tags_null(t *testing.T) { func testAccAppMeshServiceMesh_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.MeshData resourceName := "aws_appmesh_mesh.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -359,6 +362,7 @@ func testAccAppMeshServiceMesh_tags_EmptyMap(t *testing.T) { func testAccAppMeshServiceMesh_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.MeshData resourceName := "aws_appmesh_mesh.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -440,6 +444,7 @@ func testAccAppMeshServiceMesh_tags_AddOnUpdate(t *testing.T) { func testAccAppMeshServiceMesh_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.MeshData resourceName := "aws_appmesh_mesh.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -529,6 +534,7 @@ func testAccAppMeshServiceMesh_tags_EmptyTag_OnCreate(t *testing.T) { func testAccAppMeshServiceMesh_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.MeshData resourceName := "aws_appmesh_mesh.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -666,6 +672,7 @@ func testAccAppMeshServiceMesh_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func testAccAppMeshServiceMesh_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.MeshData resourceName := "aws_appmesh_mesh.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -755,6 +762,7 @@ func testAccAppMeshServiceMesh_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func testAccAppMeshServiceMesh_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.MeshData resourceName := "aws_appmesh_mesh.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -936,6 +944,7 @@ func testAccAppMeshServiceMesh_tags_DefaultTags_providerOnly(t *testing.T) { func testAccAppMeshServiceMesh_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.MeshData resourceName := "aws_appmesh_mesh.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1096,6 +1105,7 @@ func testAccAppMeshServiceMesh_tags_DefaultTags_nonOverlapping(t *testing.T) { func testAccAppMeshServiceMesh_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.MeshData resourceName := "aws_appmesh_mesh.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1272,6 +1282,7 @@ func testAccAppMeshServiceMesh_tags_DefaultTags_overlapping(t *testing.T) { func testAccAppMeshServiceMesh_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.MeshData resourceName := "aws_appmesh_mesh.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1362,6 +1373,7 @@ func testAccAppMeshServiceMesh_tags_DefaultTags_updateToProviderOnly(t *testing. func testAccAppMeshServiceMesh_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.MeshData resourceName := "aws_appmesh_mesh.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1451,6 +1463,7 @@ func testAccAppMeshServiceMesh_tags_DefaultTags_updateToResourceOnly(t *testing. func testAccAppMeshServiceMesh_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.MeshData resourceName := "aws_appmesh_mesh.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1516,6 +1529,7 @@ func testAccAppMeshServiceMesh_tags_DefaultTags_emptyResourceTag(t *testing.T) { func testAccAppMeshServiceMesh_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.MeshData resourceName := "aws_appmesh_mesh.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1573,6 +1587,7 @@ func testAccAppMeshServiceMesh_tags_DefaultTags_emptyProviderOnlyTag(t *testing. func testAccAppMeshServiceMesh_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.MeshData resourceName := "aws_appmesh_mesh.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1635,6 +1650,7 @@ func testAccAppMeshServiceMesh_tags_DefaultTags_nullOverlappingResourceTag(t *te func testAccAppMeshServiceMesh_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.MeshData resourceName := "aws_appmesh_mesh.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1697,6 +1713,7 @@ func testAccAppMeshServiceMesh_tags_DefaultTags_nullNonOverlappingResourceTag(t func testAccAppMeshServiceMesh_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.MeshData resourceName := "aws_appmesh_mesh.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1752,6 +1769,7 @@ func testAccAppMeshServiceMesh_tags_ComputedTag_OnCreate(t *testing.T) { func testAccAppMeshServiceMesh_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.MeshData resourceName := "aws_appmesh_mesh.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1849,6 +1867,7 @@ func testAccAppMeshServiceMesh_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func testAccAppMeshServiceMesh_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.MeshData resourceName := "aws_appmesh_mesh.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1936,6 +1955,7 @@ func testAccAppMeshServiceMesh_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func testAccAppMeshServiceMesh_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.MeshData resourceName := "aws_appmesh_mesh.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2098,6 +2118,7 @@ func testAccAppMeshServiceMesh_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func testAccAppMeshServiceMesh_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.MeshData resourceName := "aws_appmesh_mesh.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/appmesh/route_data_source_tags_gen_test.go b/internal/service/appmesh/route_data_source_tags_gen_test.go index 987c13d4a4da..09f14447ca63 100644 --- a/internal/service/appmesh/route_data_source_tags_gen_test.go +++ b/internal/service/appmesh/route_data_source_tags_gen_test.go @@ -36,6 +36,7 @@ func testAccAppMeshRouteDataSource_tagsSerial(t *testing.T) { func testAccAppMeshRouteDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -64,6 +65,7 @@ func testAccAppMeshRouteDataSource_tags(t *testing.T) { func testAccAppMeshRouteDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -88,6 +90,7 @@ func testAccAppMeshRouteDataSource_tags_NullMap(t *testing.T) { func testAccAppMeshRouteDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -112,6 +115,7 @@ func testAccAppMeshRouteDataSource_tags_EmptyMap(t *testing.T) { func testAccAppMeshRouteDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -144,6 +148,7 @@ func testAccAppMeshRouteDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) func testAccAppMeshRouteDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -182,6 +187,7 @@ func testAccAppMeshRouteDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing func testAccAppMeshRouteDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/appmesh/route_tags_gen_test.go b/internal/service/appmesh/route_tags_gen_test.go index b702c320ced2..4691acefd423 100644 --- a/internal/service/appmesh/route_tags_gen_test.go +++ b/internal/service/appmesh/route_tags_gen_test.go @@ -47,6 +47,7 @@ func testAccAppMeshRoute_tagsSerial(t *testing.T) { func testAccAppMeshRoute_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.RouteData resourceName := "aws_appmesh_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -233,6 +234,7 @@ func testAccAppMeshRoute_tags(t *testing.T) { func testAccAppMeshRoute_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.RouteData resourceName := "aws_appmesh_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -301,6 +303,7 @@ func testAccAppMeshRoute_tags_null(t *testing.T) { func testAccAppMeshRoute_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.RouteData resourceName := "aws_appmesh_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -365,6 +368,7 @@ func testAccAppMeshRoute_tags_EmptyMap(t *testing.T) { func testAccAppMeshRoute_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.RouteData resourceName := "aws_appmesh_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -447,6 +451,7 @@ func testAccAppMeshRoute_tags_AddOnUpdate(t *testing.T) { func testAccAppMeshRoute_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.RouteData resourceName := "aws_appmesh_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -538,6 +543,7 @@ func testAccAppMeshRoute_tags_EmptyTag_OnCreate(t *testing.T) { func testAccAppMeshRoute_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.RouteData resourceName := "aws_appmesh_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -677,6 +683,7 @@ func testAccAppMeshRoute_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func testAccAppMeshRoute_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.RouteData resourceName := "aws_appmesh_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -767,6 +774,7 @@ func testAccAppMeshRoute_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func testAccAppMeshRoute_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.RouteData resourceName := "aws_appmesh_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -952,6 +960,7 @@ func testAccAppMeshRoute_tags_DefaultTags_providerOnly(t *testing.T) { func testAccAppMeshRoute_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.RouteData resourceName := "aws_appmesh_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1115,6 +1124,7 @@ func testAccAppMeshRoute_tags_DefaultTags_nonOverlapping(t *testing.T) { func testAccAppMeshRoute_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.RouteData resourceName := "aws_appmesh_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1294,6 +1304,7 @@ func testAccAppMeshRoute_tags_DefaultTags_overlapping(t *testing.T) { func testAccAppMeshRoute_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.RouteData resourceName := "aws_appmesh_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1385,6 +1396,7 @@ func testAccAppMeshRoute_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func testAccAppMeshRoute_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.RouteData resourceName := "aws_appmesh_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1475,6 +1487,7 @@ func testAccAppMeshRoute_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func testAccAppMeshRoute_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.RouteData resourceName := "aws_appmesh_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1541,6 +1554,7 @@ func testAccAppMeshRoute_tags_DefaultTags_emptyResourceTag(t *testing.T) { func testAccAppMeshRoute_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.RouteData resourceName := "aws_appmesh_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1599,6 +1613,7 @@ func testAccAppMeshRoute_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func testAccAppMeshRoute_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.RouteData resourceName := "aws_appmesh_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1662,6 +1677,7 @@ func testAccAppMeshRoute_tags_DefaultTags_nullOverlappingResourceTag(t *testing. func testAccAppMeshRoute_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.RouteData resourceName := "aws_appmesh_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1725,6 +1741,7 @@ func testAccAppMeshRoute_tags_DefaultTags_nullNonOverlappingResourceTag(t *testi func testAccAppMeshRoute_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.RouteData resourceName := "aws_appmesh_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1781,6 +1798,7 @@ func testAccAppMeshRoute_tags_ComputedTag_OnCreate(t *testing.T) { func testAccAppMeshRoute_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.RouteData resourceName := "aws_appmesh_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1879,6 +1897,7 @@ func testAccAppMeshRoute_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func testAccAppMeshRoute_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.RouteData resourceName := "aws_appmesh_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1967,6 +1986,7 @@ func testAccAppMeshRoute_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func testAccAppMeshRoute_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.RouteData resourceName := "aws_appmesh_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2129,6 +2149,7 @@ func testAccAppMeshRoute_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func testAccAppMeshRoute_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.RouteData resourceName := "aws_appmesh_route.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/appmesh/virtual_gateway_data_source_tags_gen_test.go b/internal/service/appmesh/virtual_gateway_data_source_tags_gen_test.go index 9244034934a4..6a18e5037e27 100644 --- a/internal/service/appmesh/virtual_gateway_data_source_tags_gen_test.go +++ b/internal/service/appmesh/virtual_gateway_data_source_tags_gen_test.go @@ -36,6 +36,7 @@ func testAccAppMeshVirtualGatewayDataSource_tagsSerial(t *testing.T) { func testAccAppMeshVirtualGatewayDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_virtual_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -64,6 +65,7 @@ func testAccAppMeshVirtualGatewayDataSource_tags(t *testing.T) { func testAccAppMeshVirtualGatewayDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_virtual_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -88,6 +90,7 @@ func testAccAppMeshVirtualGatewayDataSource_tags_NullMap(t *testing.T) { func testAccAppMeshVirtualGatewayDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_virtual_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -112,6 +115,7 @@ func testAccAppMeshVirtualGatewayDataSource_tags_EmptyMap(t *testing.T) { func testAccAppMeshVirtualGatewayDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_virtual_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -144,6 +148,7 @@ func testAccAppMeshVirtualGatewayDataSource_tags_DefaultTags_nonOverlapping(t *t func testAccAppMeshVirtualGatewayDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_virtual_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -182,6 +187,7 @@ func testAccAppMeshVirtualGatewayDataSource_tags_IgnoreTags_Overlap_DefaultTag(t func testAccAppMeshVirtualGatewayDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_virtual_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/appmesh/virtual_gateway_tags_gen_test.go b/internal/service/appmesh/virtual_gateway_tags_gen_test.go index a8e37a18042b..7ef20341eb43 100644 --- a/internal/service/appmesh/virtual_gateway_tags_gen_test.go +++ b/internal/service/appmesh/virtual_gateway_tags_gen_test.go @@ -47,6 +47,7 @@ func testAccAppMeshVirtualGateway_tagsSerial(t *testing.T) { func testAccAppMeshVirtualGateway_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualGatewayData resourceName := "aws_appmesh_virtual_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -233,6 +234,7 @@ func testAccAppMeshVirtualGateway_tags(t *testing.T) { func testAccAppMeshVirtualGateway_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualGatewayData resourceName := "aws_appmesh_virtual_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -301,6 +303,7 @@ func testAccAppMeshVirtualGateway_tags_null(t *testing.T) { func testAccAppMeshVirtualGateway_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualGatewayData resourceName := "aws_appmesh_virtual_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -365,6 +368,7 @@ func testAccAppMeshVirtualGateway_tags_EmptyMap(t *testing.T) { func testAccAppMeshVirtualGateway_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualGatewayData resourceName := "aws_appmesh_virtual_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -447,6 +451,7 @@ func testAccAppMeshVirtualGateway_tags_AddOnUpdate(t *testing.T) { func testAccAppMeshVirtualGateway_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualGatewayData resourceName := "aws_appmesh_virtual_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -538,6 +543,7 @@ func testAccAppMeshVirtualGateway_tags_EmptyTag_OnCreate(t *testing.T) { func testAccAppMeshVirtualGateway_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualGatewayData resourceName := "aws_appmesh_virtual_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -677,6 +683,7 @@ func testAccAppMeshVirtualGateway_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func testAccAppMeshVirtualGateway_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualGatewayData resourceName := "aws_appmesh_virtual_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -767,6 +774,7 @@ func testAccAppMeshVirtualGateway_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func testAccAppMeshVirtualGateway_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualGatewayData resourceName := "aws_appmesh_virtual_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -952,6 +960,7 @@ func testAccAppMeshVirtualGateway_tags_DefaultTags_providerOnly(t *testing.T) { func testAccAppMeshVirtualGateway_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualGatewayData resourceName := "aws_appmesh_virtual_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1115,6 +1124,7 @@ func testAccAppMeshVirtualGateway_tags_DefaultTags_nonOverlapping(t *testing.T) func testAccAppMeshVirtualGateway_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualGatewayData resourceName := "aws_appmesh_virtual_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1294,6 +1304,7 @@ func testAccAppMeshVirtualGateway_tags_DefaultTags_overlapping(t *testing.T) { func testAccAppMeshVirtualGateway_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualGatewayData resourceName := "aws_appmesh_virtual_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1385,6 +1396,7 @@ func testAccAppMeshVirtualGateway_tags_DefaultTags_updateToProviderOnly(t *testi func testAccAppMeshVirtualGateway_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualGatewayData resourceName := "aws_appmesh_virtual_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1475,6 +1487,7 @@ func testAccAppMeshVirtualGateway_tags_DefaultTags_updateToResourceOnly(t *testi func testAccAppMeshVirtualGateway_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualGatewayData resourceName := "aws_appmesh_virtual_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1541,6 +1554,7 @@ func testAccAppMeshVirtualGateway_tags_DefaultTags_emptyResourceTag(t *testing.T func testAccAppMeshVirtualGateway_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualGatewayData resourceName := "aws_appmesh_virtual_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1599,6 +1613,7 @@ func testAccAppMeshVirtualGateway_tags_DefaultTags_emptyProviderOnlyTag(t *testi func testAccAppMeshVirtualGateway_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualGatewayData resourceName := "aws_appmesh_virtual_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1662,6 +1677,7 @@ func testAccAppMeshVirtualGateway_tags_DefaultTags_nullOverlappingResourceTag(t func testAccAppMeshVirtualGateway_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualGatewayData resourceName := "aws_appmesh_virtual_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1725,6 +1741,7 @@ func testAccAppMeshVirtualGateway_tags_DefaultTags_nullNonOverlappingResourceTag func testAccAppMeshVirtualGateway_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualGatewayData resourceName := "aws_appmesh_virtual_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1781,6 +1798,7 @@ func testAccAppMeshVirtualGateway_tags_ComputedTag_OnCreate(t *testing.T) { func testAccAppMeshVirtualGateway_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualGatewayData resourceName := "aws_appmesh_virtual_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1879,6 +1897,7 @@ func testAccAppMeshVirtualGateway_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func testAccAppMeshVirtualGateway_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualGatewayData resourceName := "aws_appmesh_virtual_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1967,6 +1986,7 @@ func testAccAppMeshVirtualGateway_tags_ComputedTag_OnUpdate_Replace(t *testing.T func testAccAppMeshVirtualGateway_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualGatewayData resourceName := "aws_appmesh_virtual_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2129,6 +2149,7 @@ func testAccAppMeshVirtualGateway_tags_IgnoreTags_Overlap_DefaultTag(t *testing. func testAccAppMeshVirtualGateway_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualGatewayData resourceName := "aws_appmesh_virtual_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/appmesh/virtual_node_data_source_tags_gen_test.go b/internal/service/appmesh/virtual_node_data_source_tags_gen_test.go index 9c5bfd4001fa..27bb2c29be53 100644 --- a/internal/service/appmesh/virtual_node_data_source_tags_gen_test.go +++ b/internal/service/appmesh/virtual_node_data_source_tags_gen_test.go @@ -36,6 +36,7 @@ func testAccAppMeshVirtualNodeDataSource_tagsSerial(t *testing.T) { func testAccAppMeshVirtualNodeDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_virtual_node.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -64,6 +65,7 @@ func testAccAppMeshVirtualNodeDataSource_tags(t *testing.T) { func testAccAppMeshVirtualNodeDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_virtual_node.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -88,6 +90,7 @@ func testAccAppMeshVirtualNodeDataSource_tags_NullMap(t *testing.T) { func testAccAppMeshVirtualNodeDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_virtual_node.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -112,6 +115,7 @@ func testAccAppMeshVirtualNodeDataSource_tags_EmptyMap(t *testing.T) { func testAccAppMeshVirtualNodeDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_virtual_node.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -144,6 +148,7 @@ func testAccAppMeshVirtualNodeDataSource_tags_DefaultTags_nonOverlapping(t *test func testAccAppMeshVirtualNodeDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_virtual_node.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -182,6 +187,7 @@ func testAccAppMeshVirtualNodeDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *t func testAccAppMeshVirtualNodeDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_virtual_node.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/appmesh/virtual_node_tags_gen_test.go b/internal/service/appmesh/virtual_node_tags_gen_test.go index 8fff61cb146b..a8393c8ee0a9 100644 --- a/internal/service/appmesh/virtual_node_tags_gen_test.go +++ b/internal/service/appmesh/virtual_node_tags_gen_test.go @@ -47,6 +47,7 @@ func testAccAppMeshVirtualNode_tagsSerial(t *testing.T) { func testAccAppMeshVirtualNode_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualNodeData resourceName := "aws_appmesh_virtual_node.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -233,6 +234,7 @@ func testAccAppMeshVirtualNode_tags(t *testing.T) { func testAccAppMeshVirtualNode_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualNodeData resourceName := "aws_appmesh_virtual_node.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -301,6 +303,7 @@ func testAccAppMeshVirtualNode_tags_null(t *testing.T) { func testAccAppMeshVirtualNode_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualNodeData resourceName := "aws_appmesh_virtual_node.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -365,6 +368,7 @@ func testAccAppMeshVirtualNode_tags_EmptyMap(t *testing.T) { func testAccAppMeshVirtualNode_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualNodeData resourceName := "aws_appmesh_virtual_node.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -447,6 +451,7 @@ func testAccAppMeshVirtualNode_tags_AddOnUpdate(t *testing.T) { func testAccAppMeshVirtualNode_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualNodeData resourceName := "aws_appmesh_virtual_node.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -538,6 +543,7 @@ func testAccAppMeshVirtualNode_tags_EmptyTag_OnCreate(t *testing.T) { func testAccAppMeshVirtualNode_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualNodeData resourceName := "aws_appmesh_virtual_node.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -677,6 +683,7 @@ func testAccAppMeshVirtualNode_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func testAccAppMeshVirtualNode_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualNodeData resourceName := "aws_appmesh_virtual_node.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -767,6 +774,7 @@ func testAccAppMeshVirtualNode_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func testAccAppMeshVirtualNode_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualNodeData resourceName := "aws_appmesh_virtual_node.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -952,6 +960,7 @@ func testAccAppMeshVirtualNode_tags_DefaultTags_providerOnly(t *testing.T) { func testAccAppMeshVirtualNode_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualNodeData resourceName := "aws_appmesh_virtual_node.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1115,6 +1124,7 @@ func testAccAppMeshVirtualNode_tags_DefaultTags_nonOverlapping(t *testing.T) { func testAccAppMeshVirtualNode_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualNodeData resourceName := "aws_appmesh_virtual_node.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1294,6 +1304,7 @@ func testAccAppMeshVirtualNode_tags_DefaultTags_overlapping(t *testing.T) { func testAccAppMeshVirtualNode_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualNodeData resourceName := "aws_appmesh_virtual_node.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1385,6 +1396,7 @@ func testAccAppMeshVirtualNode_tags_DefaultTags_updateToProviderOnly(t *testing. func testAccAppMeshVirtualNode_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualNodeData resourceName := "aws_appmesh_virtual_node.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1475,6 +1487,7 @@ func testAccAppMeshVirtualNode_tags_DefaultTags_updateToResourceOnly(t *testing. func testAccAppMeshVirtualNode_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualNodeData resourceName := "aws_appmesh_virtual_node.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1541,6 +1554,7 @@ func testAccAppMeshVirtualNode_tags_DefaultTags_emptyResourceTag(t *testing.T) { func testAccAppMeshVirtualNode_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualNodeData resourceName := "aws_appmesh_virtual_node.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1599,6 +1613,7 @@ func testAccAppMeshVirtualNode_tags_DefaultTags_emptyProviderOnlyTag(t *testing. func testAccAppMeshVirtualNode_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualNodeData resourceName := "aws_appmesh_virtual_node.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1662,6 +1677,7 @@ func testAccAppMeshVirtualNode_tags_DefaultTags_nullOverlappingResourceTag(t *te func testAccAppMeshVirtualNode_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualNodeData resourceName := "aws_appmesh_virtual_node.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1725,6 +1741,7 @@ func testAccAppMeshVirtualNode_tags_DefaultTags_nullNonOverlappingResourceTag(t func testAccAppMeshVirtualNode_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualNodeData resourceName := "aws_appmesh_virtual_node.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1781,6 +1798,7 @@ func testAccAppMeshVirtualNode_tags_ComputedTag_OnCreate(t *testing.T) { func testAccAppMeshVirtualNode_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualNodeData resourceName := "aws_appmesh_virtual_node.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1879,6 +1897,7 @@ func testAccAppMeshVirtualNode_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func testAccAppMeshVirtualNode_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualNodeData resourceName := "aws_appmesh_virtual_node.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1967,6 +1986,7 @@ func testAccAppMeshVirtualNode_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func testAccAppMeshVirtualNode_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualNodeData resourceName := "aws_appmesh_virtual_node.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2129,6 +2149,7 @@ func testAccAppMeshVirtualNode_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func testAccAppMeshVirtualNode_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualNodeData resourceName := "aws_appmesh_virtual_node.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/appmesh/virtual_router_data_source_tags_gen_test.go b/internal/service/appmesh/virtual_router_data_source_tags_gen_test.go index 12fa4d9d3d54..fa829b1fd44f 100644 --- a/internal/service/appmesh/virtual_router_data_source_tags_gen_test.go +++ b/internal/service/appmesh/virtual_router_data_source_tags_gen_test.go @@ -36,6 +36,7 @@ func testAccAppMeshVirtualRouterDataSource_tagsSerial(t *testing.T) { func testAccAppMeshVirtualRouterDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_virtual_router.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -64,6 +65,7 @@ func testAccAppMeshVirtualRouterDataSource_tags(t *testing.T) { func testAccAppMeshVirtualRouterDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_virtual_router.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -88,6 +90,7 @@ func testAccAppMeshVirtualRouterDataSource_tags_NullMap(t *testing.T) { func testAccAppMeshVirtualRouterDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_virtual_router.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -112,6 +115,7 @@ func testAccAppMeshVirtualRouterDataSource_tags_EmptyMap(t *testing.T) { func testAccAppMeshVirtualRouterDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_virtual_router.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -144,6 +148,7 @@ func testAccAppMeshVirtualRouterDataSource_tags_DefaultTags_nonOverlapping(t *te func testAccAppMeshVirtualRouterDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_virtual_router.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -182,6 +187,7 @@ func testAccAppMeshVirtualRouterDataSource_tags_IgnoreTags_Overlap_DefaultTag(t func testAccAppMeshVirtualRouterDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_virtual_router.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/appmesh/virtual_router_tags_gen_test.go b/internal/service/appmesh/virtual_router_tags_gen_test.go index 85a628f73d3a..9bf8bf425db4 100644 --- a/internal/service/appmesh/virtual_router_tags_gen_test.go +++ b/internal/service/appmesh/virtual_router_tags_gen_test.go @@ -47,6 +47,7 @@ func testAccAppMeshVirtualRouter_tagsSerial(t *testing.T) { func testAccAppMeshVirtualRouter_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualRouterData resourceName := "aws_appmesh_virtual_router.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -233,6 +234,7 @@ func testAccAppMeshVirtualRouter_tags(t *testing.T) { func testAccAppMeshVirtualRouter_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualRouterData resourceName := "aws_appmesh_virtual_router.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -301,6 +303,7 @@ func testAccAppMeshVirtualRouter_tags_null(t *testing.T) { func testAccAppMeshVirtualRouter_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualRouterData resourceName := "aws_appmesh_virtual_router.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -365,6 +368,7 @@ func testAccAppMeshVirtualRouter_tags_EmptyMap(t *testing.T) { func testAccAppMeshVirtualRouter_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualRouterData resourceName := "aws_appmesh_virtual_router.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -447,6 +451,7 @@ func testAccAppMeshVirtualRouter_tags_AddOnUpdate(t *testing.T) { func testAccAppMeshVirtualRouter_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualRouterData resourceName := "aws_appmesh_virtual_router.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -538,6 +543,7 @@ func testAccAppMeshVirtualRouter_tags_EmptyTag_OnCreate(t *testing.T) { func testAccAppMeshVirtualRouter_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualRouterData resourceName := "aws_appmesh_virtual_router.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -677,6 +683,7 @@ func testAccAppMeshVirtualRouter_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func testAccAppMeshVirtualRouter_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualRouterData resourceName := "aws_appmesh_virtual_router.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -767,6 +774,7 @@ func testAccAppMeshVirtualRouter_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func testAccAppMeshVirtualRouter_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualRouterData resourceName := "aws_appmesh_virtual_router.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -952,6 +960,7 @@ func testAccAppMeshVirtualRouter_tags_DefaultTags_providerOnly(t *testing.T) { func testAccAppMeshVirtualRouter_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualRouterData resourceName := "aws_appmesh_virtual_router.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1115,6 +1124,7 @@ func testAccAppMeshVirtualRouter_tags_DefaultTags_nonOverlapping(t *testing.T) { func testAccAppMeshVirtualRouter_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualRouterData resourceName := "aws_appmesh_virtual_router.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1294,6 +1304,7 @@ func testAccAppMeshVirtualRouter_tags_DefaultTags_overlapping(t *testing.T) { func testAccAppMeshVirtualRouter_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualRouterData resourceName := "aws_appmesh_virtual_router.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1385,6 +1396,7 @@ func testAccAppMeshVirtualRouter_tags_DefaultTags_updateToProviderOnly(t *testin func testAccAppMeshVirtualRouter_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualRouterData resourceName := "aws_appmesh_virtual_router.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1475,6 +1487,7 @@ func testAccAppMeshVirtualRouter_tags_DefaultTags_updateToResourceOnly(t *testin func testAccAppMeshVirtualRouter_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualRouterData resourceName := "aws_appmesh_virtual_router.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1541,6 +1554,7 @@ func testAccAppMeshVirtualRouter_tags_DefaultTags_emptyResourceTag(t *testing.T) func testAccAppMeshVirtualRouter_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualRouterData resourceName := "aws_appmesh_virtual_router.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1599,6 +1613,7 @@ func testAccAppMeshVirtualRouter_tags_DefaultTags_emptyProviderOnlyTag(t *testin func testAccAppMeshVirtualRouter_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualRouterData resourceName := "aws_appmesh_virtual_router.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1662,6 +1677,7 @@ func testAccAppMeshVirtualRouter_tags_DefaultTags_nullOverlappingResourceTag(t * func testAccAppMeshVirtualRouter_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualRouterData resourceName := "aws_appmesh_virtual_router.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1725,6 +1741,7 @@ func testAccAppMeshVirtualRouter_tags_DefaultTags_nullNonOverlappingResourceTag( func testAccAppMeshVirtualRouter_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualRouterData resourceName := "aws_appmesh_virtual_router.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1781,6 +1798,7 @@ func testAccAppMeshVirtualRouter_tags_ComputedTag_OnCreate(t *testing.T) { func testAccAppMeshVirtualRouter_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualRouterData resourceName := "aws_appmesh_virtual_router.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1879,6 +1897,7 @@ func testAccAppMeshVirtualRouter_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func testAccAppMeshVirtualRouter_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualRouterData resourceName := "aws_appmesh_virtual_router.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1967,6 +1986,7 @@ func testAccAppMeshVirtualRouter_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func testAccAppMeshVirtualRouter_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualRouterData resourceName := "aws_appmesh_virtual_router.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2129,6 +2149,7 @@ func testAccAppMeshVirtualRouter_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T func testAccAppMeshVirtualRouter_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualRouterData resourceName := "aws_appmesh_virtual_router.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/appmesh/virtual_service_data_source_tags_gen_test.go b/internal/service/appmesh/virtual_service_data_source_tags_gen_test.go index 5ff326818587..27141adf4f8c 100644 --- a/internal/service/appmesh/virtual_service_data_source_tags_gen_test.go +++ b/internal/service/appmesh/virtual_service_data_source_tags_gen_test.go @@ -36,6 +36,7 @@ func testAccAppMeshVirtualServiceDataSource_tagsSerial(t *testing.T) { func testAccAppMeshVirtualServiceDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_virtual_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -64,6 +65,7 @@ func testAccAppMeshVirtualServiceDataSource_tags(t *testing.T) { func testAccAppMeshVirtualServiceDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_virtual_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -88,6 +90,7 @@ func testAccAppMeshVirtualServiceDataSource_tags_NullMap(t *testing.T) { func testAccAppMeshVirtualServiceDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_virtual_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -112,6 +115,7 @@ func testAccAppMeshVirtualServiceDataSource_tags_EmptyMap(t *testing.T) { func testAccAppMeshVirtualServiceDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_virtual_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -144,6 +148,7 @@ func testAccAppMeshVirtualServiceDataSource_tags_DefaultTags_nonOverlapping(t *t func testAccAppMeshVirtualServiceDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_virtual_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -182,6 +187,7 @@ func testAccAppMeshVirtualServiceDataSource_tags_IgnoreTags_Overlap_DefaultTag(t func testAccAppMeshVirtualServiceDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_appmesh_virtual_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/appmesh/virtual_service_tags_gen_test.go b/internal/service/appmesh/virtual_service_tags_gen_test.go index 269958753d6c..380e14a5fb21 100644 --- a/internal/service/appmesh/virtual_service_tags_gen_test.go +++ b/internal/service/appmesh/virtual_service_tags_gen_test.go @@ -47,6 +47,7 @@ func testAccAppMeshVirtualService_tagsSerial(t *testing.T) { func testAccAppMeshVirtualService_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualServiceData resourceName := "aws_appmesh_virtual_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -233,6 +234,7 @@ func testAccAppMeshVirtualService_tags(t *testing.T) { func testAccAppMeshVirtualService_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualServiceData resourceName := "aws_appmesh_virtual_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -301,6 +303,7 @@ func testAccAppMeshVirtualService_tags_null(t *testing.T) { func testAccAppMeshVirtualService_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualServiceData resourceName := "aws_appmesh_virtual_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -365,6 +368,7 @@ func testAccAppMeshVirtualService_tags_EmptyMap(t *testing.T) { func testAccAppMeshVirtualService_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualServiceData resourceName := "aws_appmesh_virtual_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -447,6 +451,7 @@ func testAccAppMeshVirtualService_tags_AddOnUpdate(t *testing.T) { func testAccAppMeshVirtualService_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualServiceData resourceName := "aws_appmesh_virtual_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -538,6 +543,7 @@ func testAccAppMeshVirtualService_tags_EmptyTag_OnCreate(t *testing.T) { func testAccAppMeshVirtualService_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualServiceData resourceName := "aws_appmesh_virtual_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -677,6 +683,7 @@ func testAccAppMeshVirtualService_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func testAccAppMeshVirtualService_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualServiceData resourceName := "aws_appmesh_virtual_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -767,6 +774,7 @@ func testAccAppMeshVirtualService_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func testAccAppMeshVirtualService_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualServiceData resourceName := "aws_appmesh_virtual_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -952,6 +960,7 @@ func testAccAppMeshVirtualService_tags_DefaultTags_providerOnly(t *testing.T) { func testAccAppMeshVirtualService_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualServiceData resourceName := "aws_appmesh_virtual_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1115,6 +1124,7 @@ func testAccAppMeshVirtualService_tags_DefaultTags_nonOverlapping(t *testing.T) func testAccAppMeshVirtualService_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualServiceData resourceName := "aws_appmesh_virtual_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1294,6 +1304,7 @@ func testAccAppMeshVirtualService_tags_DefaultTags_overlapping(t *testing.T) { func testAccAppMeshVirtualService_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualServiceData resourceName := "aws_appmesh_virtual_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1385,6 +1396,7 @@ func testAccAppMeshVirtualService_tags_DefaultTags_updateToProviderOnly(t *testi func testAccAppMeshVirtualService_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualServiceData resourceName := "aws_appmesh_virtual_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1475,6 +1487,7 @@ func testAccAppMeshVirtualService_tags_DefaultTags_updateToResourceOnly(t *testi func testAccAppMeshVirtualService_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualServiceData resourceName := "aws_appmesh_virtual_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1541,6 +1554,7 @@ func testAccAppMeshVirtualService_tags_DefaultTags_emptyResourceTag(t *testing.T func testAccAppMeshVirtualService_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualServiceData resourceName := "aws_appmesh_virtual_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1599,6 +1613,7 @@ func testAccAppMeshVirtualService_tags_DefaultTags_emptyProviderOnlyTag(t *testi func testAccAppMeshVirtualService_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualServiceData resourceName := "aws_appmesh_virtual_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1662,6 +1677,7 @@ func testAccAppMeshVirtualService_tags_DefaultTags_nullOverlappingResourceTag(t func testAccAppMeshVirtualService_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualServiceData resourceName := "aws_appmesh_virtual_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1725,6 +1741,7 @@ func testAccAppMeshVirtualService_tags_DefaultTags_nullNonOverlappingResourceTag func testAccAppMeshVirtualService_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualServiceData resourceName := "aws_appmesh_virtual_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1781,6 +1798,7 @@ func testAccAppMeshVirtualService_tags_ComputedTag_OnCreate(t *testing.T) { func testAccAppMeshVirtualService_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualServiceData resourceName := "aws_appmesh_virtual_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1879,6 +1897,7 @@ func testAccAppMeshVirtualService_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func testAccAppMeshVirtualService_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualServiceData resourceName := "aws_appmesh_virtual_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1967,6 +1986,7 @@ func testAccAppMeshVirtualService_tags_ComputedTag_OnUpdate_Replace(t *testing.T func testAccAppMeshVirtualService_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualServiceData resourceName := "aws_appmesh_virtual_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2129,6 +2149,7 @@ func testAccAppMeshVirtualService_tags_IgnoreTags_Overlap_DefaultTag(t *testing. func testAccAppMeshVirtualService_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualServiceData resourceName := "aws_appmesh_virtual_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/apprunner/auto_scaling_configuration_version_identity_gen_test.go b/internal/service/apprunner/auto_scaling_configuration_version_identity_gen_test.go index e3559cba26a7..874fe15222e7 100644 --- a/internal/service/apprunner/auto_scaling_configuration_version_identity_gen_test.go +++ b/internal/service/apprunner/auto_scaling_configuration_version_identity_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccAppRunnerAutoScalingConfigurationVersion_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_auto_scaling_configuration_version.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -225,6 +226,7 @@ func TestAccAppRunnerAutoScalingConfigurationVersion_Identity_RegionOverride(t * func TestAccAppRunnerAutoScalingConfigurationVersion_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_auto_scaling_configuration_version.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/apprunner/auto_scaling_configuration_version_tags_gen_test.go b/internal/service/apprunner/auto_scaling_configuration_version_tags_gen_test.go index f16594913358..de639f771178 100644 --- a/internal/service/apprunner/auto_scaling_configuration_version_tags_gen_test.go +++ b/internal/service/apprunner/auto_scaling_configuration_version_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccAppRunnerAutoScalingConfigurationVersion_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_auto_scaling_configuration_version.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -198,6 +199,7 @@ func TestAccAppRunnerAutoScalingConfigurationVersion_tags(t *testing.T) { func TestAccAppRunnerAutoScalingConfigurationVersion_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_auto_scaling_configuration_version.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -264,6 +266,7 @@ func TestAccAppRunnerAutoScalingConfigurationVersion_tags_null(t *testing.T) { func TestAccAppRunnerAutoScalingConfigurationVersion_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_auto_scaling_configuration_version.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -326,6 +329,7 @@ func TestAccAppRunnerAutoScalingConfigurationVersion_tags_EmptyMap(t *testing.T) func TestAccAppRunnerAutoScalingConfigurationVersion_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_auto_scaling_configuration_version.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccAppRunnerAutoScalingConfigurationVersion_tags_AddOnUpdate(t *testing func TestAccAppRunnerAutoScalingConfigurationVersion_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_auto_scaling_configuration_version.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -494,6 +499,7 @@ func TestAccAppRunnerAutoScalingConfigurationVersion_tags_EmptyTag_OnCreate(t *t func TestAccAppRunnerAutoScalingConfigurationVersion_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_auto_scaling_configuration_version.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -630,6 +636,7 @@ func TestAccAppRunnerAutoScalingConfigurationVersion_tags_EmptyTag_OnUpdate_Add( func TestAccAppRunnerAutoScalingConfigurationVersion_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_auto_scaling_configuration_version.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -718,6 +725,7 @@ func TestAccAppRunnerAutoScalingConfigurationVersion_tags_EmptyTag_OnUpdate_Repl func TestAccAppRunnerAutoScalingConfigurationVersion_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_auto_scaling_configuration_version.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -898,6 +906,7 @@ func TestAccAppRunnerAutoScalingConfigurationVersion_tags_DefaultTags_providerOn func TestAccAppRunnerAutoScalingConfigurationVersion_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_auto_scaling_configuration_version.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1057,6 +1066,7 @@ func TestAccAppRunnerAutoScalingConfigurationVersion_tags_DefaultTags_nonOverlap func TestAccAppRunnerAutoScalingConfigurationVersion_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_auto_scaling_configuration_version.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1232,6 +1242,7 @@ func TestAccAppRunnerAutoScalingConfigurationVersion_tags_DefaultTags_overlappin func TestAccAppRunnerAutoScalingConfigurationVersion_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_auto_scaling_configuration_version.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1321,6 +1332,7 @@ func TestAccAppRunnerAutoScalingConfigurationVersion_tags_DefaultTags_updateToPr func TestAccAppRunnerAutoScalingConfigurationVersion_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_auto_scaling_configuration_version.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1409,6 +1421,7 @@ func TestAccAppRunnerAutoScalingConfigurationVersion_tags_DefaultTags_updateToRe func TestAccAppRunnerAutoScalingConfigurationVersion_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_auto_scaling_configuration_version.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccAppRunnerAutoScalingConfigurationVersion_tags_DefaultTags_emptyResou func TestAccAppRunnerAutoScalingConfigurationVersion_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_auto_scaling_configuration_version.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1529,6 +1543,7 @@ func TestAccAppRunnerAutoScalingConfigurationVersion_tags_DefaultTags_emptyProvi func TestAccAppRunnerAutoScalingConfigurationVersion_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_auto_scaling_configuration_version.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1590,6 +1605,7 @@ func TestAccAppRunnerAutoScalingConfigurationVersion_tags_DefaultTags_nullOverla func TestAccAppRunnerAutoScalingConfigurationVersion_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_auto_scaling_configuration_version.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1651,6 +1667,7 @@ func TestAccAppRunnerAutoScalingConfigurationVersion_tags_DefaultTags_nullNonOve func TestAccAppRunnerAutoScalingConfigurationVersion_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_auto_scaling_configuration_version.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1705,6 +1722,7 @@ func TestAccAppRunnerAutoScalingConfigurationVersion_tags_ComputedTag_OnCreate(t func TestAccAppRunnerAutoScalingConfigurationVersion_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_auto_scaling_configuration_version.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1801,6 +1819,7 @@ func TestAccAppRunnerAutoScalingConfigurationVersion_tags_ComputedTag_OnUpdate_A func TestAccAppRunnerAutoScalingConfigurationVersion_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_auto_scaling_configuration_version.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1887,6 +1906,7 @@ func TestAccAppRunnerAutoScalingConfigurationVersion_tags_ComputedTag_OnUpdate_R func TestAccAppRunnerAutoScalingConfigurationVersion_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_auto_scaling_configuration_version.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2048,6 +2068,7 @@ func TestAccAppRunnerAutoScalingConfigurationVersion_tags_IgnoreTags_Overlap_Def func TestAccAppRunnerAutoScalingConfigurationVersion_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_auto_scaling_configuration_version.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/apprunner/connection_tags_gen_test.go b/internal/service/apprunner/connection_tags_gen_test.go index b3a88e5eeded..15ef7cca948c 100644 --- a/internal/service/apprunner/connection_tags_gen_test.go +++ b/internal/service/apprunner/connection_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccAppRunnerConnection_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -198,6 +199,7 @@ func TestAccAppRunnerConnection_tags(t *testing.T) { func TestAccAppRunnerConnection_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -264,6 +266,7 @@ func TestAccAppRunnerConnection_tags_null(t *testing.T) { func TestAccAppRunnerConnection_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -326,6 +329,7 @@ func TestAccAppRunnerConnection_tags_EmptyMap(t *testing.T) { func TestAccAppRunnerConnection_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccAppRunnerConnection_tags_AddOnUpdate(t *testing.T) { func TestAccAppRunnerConnection_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -494,6 +499,7 @@ func TestAccAppRunnerConnection_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccAppRunnerConnection_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -630,6 +636,7 @@ func TestAccAppRunnerConnection_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccAppRunnerConnection_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -718,6 +725,7 @@ func TestAccAppRunnerConnection_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccAppRunnerConnection_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -898,6 +906,7 @@ func TestAccAppRunnerConnection_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccAppRunnerConnection_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1057,6 +1066,7 @@ func TestAccAppRunnerConnection_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccAppRunnerConnection_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1232,6 +1242,7 @@ func TestAccAppRunnerConnection_tags_DefaultTags_overlapping(t *testing.T) { func TestAccAppRunnerConnection_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1321,6 +1332,7 @@ func TestAccAppRunnerConnection_tags_DefaultTags_updateToProviderOnly(t *testing func TestAccAppRunnerConnection_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1409,6 +1421,7 @@ func TestAccAppRunnerConnection_tags_DefaultTags_updateToResourceOnly(t *testing func TestAccAppRunnerConnection_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccAppRunnerConnection_tags_DefaultTags_emptyResourceTag(t *testing.T) func TestAccAppRunnerConnection_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1529,6 +1543,7 @@ func TestAccAppRunnerConnection_tags_DefaultTags_emptyProviderOnlyTag(t *testing func TestAccAppRunnerConnection_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1590,6 +1605,7 @@ func TestAccAppRunnerConnection_tags_DefaultTags_nullOverlappingResourceTag(t *t func TestAccAppRunnerConnection_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1651,6 +1667,7 @@ func TestAccAppRunnerConnection_tags_DefaultTags_nullNonOverlappingResourceTag(t func TestAccAppRunnerConnection_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1705,6 +1722,7 @@ func TestAccAppRunnerConnection_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccAppRunnerConnection_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1801,6 +1819,7 @@ func TestAccAppRunnerConnection_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccAppRunnerConnection_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1887,6 +1906,7 @@ func TestAccAppRunnerConnection_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func TestAccAppRunnerConnection_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2048,6 +2068,7 @@ func TestAccAppRunnerConnection_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func TestAccAppRunnerConnection_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/apprunner/observability_configuration_identity_gen_test.go b/internal/service/apprunner/observability_configuration_identity_gen_test.go index 2d0b1bb8e825..9b1d4974f97f 100644 --- a/internal/service/apprunner/observability_configuration_identity_gen_test.go +++ b/internal/service/apprunner/observability_configuration_identity_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccAppRunnerObservabilityConfiguration_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_observability_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -225,6 +226,7 @@ func TestAccAppRunnerObservabilityConfiguration_Identity_RegionOverride(t *testi func TestAccAppRunnerObservabilityConfiguration_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_observability_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/apprunner/observability_configuration_tags_gen_test.go b/internal/service/apprunner/observability_configuration_tags_gen_test.go index 927dccc9ef89..8980ff088dc4 100644 --- a/internal/service/apprunner/observability_configuration_tags_gen_test.go +++ b/internal/service/apprunner/observability_configuration_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccAppRunnerObservabilityConfiguration_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_observability_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -198,6 +199,7 @@ func TestAccAppRunnerObservabilityConfiguration_tags(t *testing.T) { func TestAccAppRunnerObservabilityConfiguration_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_observability_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -264,6 +266,7 @@ func TestAccAppRunnerObservabilityConfiguration_tags_null(t *testing.T) { func TestAccAppRunnerObservabilityConfiguration_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_observability_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -326,6 +329,7 @@ func TestAccAppRunnerObservabilityConfiguration_tags_EmptyMap(t *testing.T) { func TestAccAppRunnerObservabilityConfiguration_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_observability_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccAppRunnerObservabilityConfiguration_tags_AddOnUpdate(t *testing.T) { func TestAccAppRunnerObservabilityConfiguration_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_observability_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -494,6 +499,7 @@ func TestAccAppRunnerObservabilityConfiguration_tags_EmptyTag_OnCreate(t *testin func TestAccAppRunnerObservabilityConfiguration_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_observability_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -630,6 +636,7 @@ func TestAccAppRunnerObservabilityConfiguration_tags_EmptyTag_OnUpdate_Add(t *te func TestAccAppRunnerObservabilityConfiguration_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_observability_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -718,6 +725,7 @@ func TestAccAppRunnerObservabilityConfiguration_tags_EmptyTag_OnUpdate_Replace(t func TestAccAppRunnerObservabilityConfiguration_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_observability_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -898,6 +906,7 @@ func TestAccAppRunnerObservabilityConfiguration_tags_DefaultTags_providerOnly(t func TestAccAppRunnerObservabilityConfiguration_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_observability_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1057,6 +1066,7 @@ func TestAccAppRunnerObservabilityConfiguration_tags_DefaultTags_nonOverlapping( func TestAccAppRunnerObservabilityConfiguration_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_observability_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1232,6 +1242,7 @@ func TestAccAppRunnerObservabilityConfiguration_tags_DefaultTags_overlapping(t * func TestAccAppRunnerObservabilityConfiguration_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_observability_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1321,6 +1332,7 @@ func TestAccAppRunnerObservabilityConfiguration_tags_DefaultTags_updateToProvide func TestAccAppRunnerObservabilityConfiguration_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_observability_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1409,6 +1421,7 @@ func TestAccAppRunnerObservabilityConfiguration_tags_DefaultTags_updateToResourc func TestAccAppRunnerObservabilityConfiguration_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_observability_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccAppRunnerObservabilityConfiguration_tags_DefaultTags_emptyResourceTa func TestAccAppRunnerObservabilityConfiguration_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_observability_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1529,6 +1543,7 @@ func TestAccAppRunnerObservabilityConfiguration_tags_DefaultTags_emptyProviderOn func TestAccAppRunnerObservabilityConfiguration_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_observability_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1590,6 +1605,7 @@ func TestAccAppRunnerObservabilityConfiguration_tags_DefaultTags_nullOverlapping func TestAccAppRunnerObservabilityConfiguration_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_observability_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1651,6 +1667,7 @@ func TestAccAppRunnerObservabilityConfiguration_tags_DefaultTags_nullNonOverlapp func TestAccAppRunnerObservabilityConfiguration_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_observability_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1705,6 +1722,7 @@ func TestAccAppRunnerObservabilityConfiguration_tags_ComputedTag_OnCreate(t *tes func TestAccAppRunnerObservabilityConfiguration_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_observability_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1801,6 +1819,7 @@ func TestAccAppRunnerObservabilityConfiguration_tags_ComputedTag_OnUpdate_Add(t func TestAccAppRunnerObservabilityConfiguration_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_observability_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1887,6 +1906,7 @@ func TestAccAppRunnerObservabilityConfiguration_tags_ComputedTag_OnUpdate_Replac func TestAccAppRunnerObservabilityConfiguration_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_observability_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2048,6 +2068,7 @@ func TestAccAppRunnerObservabilityConfiguration_tags_IgnoreTags_Overlap_DefaultT func TestAccAppRunnerObservabilityConfiguration_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_observability_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/apprunner/service_identity_gen_test.go b/internal/service/apprunner/service_identity_gen_test.go index d35a5595bbaa..e5fd54dbc6c7 100644 --- a/internal/service/apprunner/service_identity_gen_test.go +++ b/internal/service/apprunner/service_identity_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccAppRunnerService_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_service.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -225,6 +226,7 @@ func TestAccAppRunnerService_Identity_RegionOverride(t *testing.T) { func TestAccAppRunnerService_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_service.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/apprunner/service_tags_gen_test.go b/internal/service/apprunner/service_tags_gen_test.go index 21aa865434b7..47939e22ba2b 100644 --- a/internal/service/apprunner/service_tags_gen_test.go +++ b/internal/service/apprunner/service_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccAppRunnerService_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -198,6 +199,7 @@ func TestAccAppRunnerService_tags(t *testing.T) { func TestAccAppRunnerService_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -264,6 +266,7 @@ func TestAccAppRunnerService_tags_null(t *testing.T) { func TestAccAppRunnerService_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -326,6 +329,7 @@ func TestAccAppRunnerService_tags_EmptyMap(t *testing.T) { func TestAccAppRunnerService_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccAppRunnerService_tags_AddOnUpdate(t *testing.T) { func TestAccAppRunnerService_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -494,6 +499,7 @@ func TestAccAppRunnerService_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccAppRunnerService_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -630,6 +636,7 @@ func TestAccAppRunnerService_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccAppRunnerService_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -718,6 +725,7 @@ func TestAccAppRunnerService_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccAppRunnerService_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -898,6 +906,7 @@ func TestAccAppRunnerService_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccAppRunnerService_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1057,6 +1066,7 @@ func TestAccAppRunnerService_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccAppRunnerService_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1232,6 +1242,7 @@ func TestAccAppRunnerService_tags_DefaultTags_overlapping(t *testing.T) { func TestAccAppRunnerService_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1321,6 +1332,7 @@ func TestAccAppRunnerService_tags_DefaultTags_updateToProviderOnly(t *testing.T) func TestAccAppRunnerService_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1409,6 +1421,7 @@ func TestAccAppRunnerService_tags_DefaultTags_updateToResourceOnly(t *testing.T) func TestAccAppRunnerService_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccAppRunnerService_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccAppRunnerService_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1529,6 +1543,7 @@ func TestAccAppRunnerService_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) func TestAccAppRunnerService_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1590,6 +1605,7 @@ func TestAccAppRunnerService_tags_DefaultTags_nullOverlappingResourceTag(t *test func TestAccAppRunnerService_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1651,6 +1667,7 @@ func TestAccAppRunnerService_tags_DefaultTags_nullNonOverlappingResourceTag(t *t func TestAccAppRunnerService_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1705,6 +1722,7 @@ func TestAccAppRunnerService_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccAppRunnerService_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1801,6 +1819,7 @@ func TestAccAppRunnerService_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccAppRunnerService_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1887,6 +1906,7 @@ func TestAccAppRunnerService_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccAppRunnerService_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2048,6 +2068,7 @@ func TestAccAppRunnerService_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccAppRunnerService_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_service.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/apprunner/vpc_connector_identity_gen_test.go b/internal/service/apprunner/vpc_connector_identity_gen_test.go index 44864105d0c6..28d3d10b2f1c 100644 --- a/internal/service/apprunner/vpc_connector_identity_gen_test.go +++ b/internal/service/apprunner/vpc_connector_identity_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccAppRunnerVPCConnector_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_connector.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -225,6 +226,7 @@ func TestAccAppRunnerVPCConnector_Identity_RegionOverride(t *testing.T) { func TestAccAppRunnerVPCConnector_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_connector.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/apprunner/vpc_connector_tags_gen_test.go b/internal/service/apprunner/vpc_connector_tags_gen_test.go index 4bc4c15abf10..58f802623818 100644 --- a/internal/service/apprunner/vpc_connector_tags_gen_test.go +++ b/internal/service/apprunner/vpc_connector_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccAppRunnerVPCConnector_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_connector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -198,6 +199,7 @@ func TestAccAppRunnerVPCConnector_tags(t *testing.T) { func TestAccAppRunnerVPCConnector_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_connector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -264,6 +266,7 @@ func TestAccAppRunnerVPCConnector_tags_null(t *testing.T) { func TestAccAppRunnerVPCConnector_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_connector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -326,6 +329,7 @@ func TestAccAppRunnerVPCConnector_tags_EmptyMap(t *testing.T) { func TestAccAppRunnerVPCConnector_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_connector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccAppRunnerVPCConnector_tags_AddOnUpdate(t *testing.T) { func TestAccAppRunnerVPCConnector_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_connector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -494,6 +499,7 @@ func TestAccAppRunnerVPCConnector_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccAppRunnerVPCConnector_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_connector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -630,6 +636,7 @@ func TestAccAppRunnerVPCConnector_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccAppRunnerVPCConnector_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_connector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -718,6 +725,7 @@ func TestAccAppRunnerVPCConnector_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccAppRunnerVPCConnector_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_connector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -898,6 +906,7 @@ func TestAccAppRunnerVPCConnector_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccAppRunnerVPCConnector_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_connector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1057,6 +1066,7 @@ func TestAccAppRunnerVPCConnector_tags_DefaultTags_nonOverlapping(t *testing.T) func TestAccAppRunnerVPCConnector_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_connector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1232,6 +1242,7 @@ func TestAccAppRunnerVPCConnector_tags_DefaultTags_overlapping(t *testing.T) { func TestAccAppRunnerVPCConnector_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_connector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1321,6 +1332,7 @@ func TestAccAppRunnerVPCConnector_tags_DefaultTags_updateToProviderOnly(t *testi func TestAccAppRunnerVPCConnector_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_connector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1409,6 +1421,7 @@ func TestAccAppRunnerVPCConnector_tags_DefaultTags_updateToResourceOnly(t *testi func TestAccAppRunnerVPCConnector_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_connector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccAppRunnerVPCConnector_tags_DefaultTags_emptyResourceTag(t *testing.T func TestAccAppRunnerVPCConnector_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_connector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1529,6 +1543,7 @@ func TestAccAppRunnerVPCConnector_tags_DefaultTags_emptyProviderOnlyTag(t *testi func TestAccAppRunnerVPCConnector_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_connector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1590,6 +1605,7 @@ func TestAccAppRunnerVPCConnector_tags_DefaultTags_nullOverlappingResourceTag(t func TestAccAppRunnerVPCConnector_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_connector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1651,6 +1667,7 @@ func TestAccAppRunnerVPCConnector_tags_DefaultTags_nullNonOverlappingResourceTag func TestAccAppRunnerVPCConnector_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_connector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1705,6 +1722,7 @@ func TestAccAppRunnerVPCConnector_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccAppRunnerVPCConnector_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_connector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1801,6 +1819,7 @@ func TestAccAppRunnerVPCConnector_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccAppRunnerVPCConnector_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_connector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1887,6 +1906,7 @@ func TestAccAppRunnerVPCConnector_tags_ComputedTag_OnUpdate_Replace(t *testing.T func TestAccAppRunnerVPCConnector_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_connector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2048,6 +2068,7 @@ func TestAccAppRunnerVPCConnector_tags_IgnoreTags_Overlap_DefaultTag(t *testing. func TestAccAppRunnerVPCConnector_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_connector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/apprunner/vpc_ingress_connection_identity_gen_test.go b/internal/service/apprunner/vpc_ingress_connection_identity_gen_test.go index be36136e8151..58e635d5ce06 100644 --- a/internal/service/apprunner/vpc_ingress_connection_identity_gen_test.go +++ b/internal/service/apprunner/vpc_ingress_connection_identity_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccAppRunnerVPCIngressConnection_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_ingress_connection.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -225,6 +226,7 @@ func TestAccAppRunnerVPCIngressConnection_Identity_RegionOverride(t *testing.T) func TestAccAppRunnerVPCIngressConnection_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_ingress_connection.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/apprunner/vpc_ingress_connection_tags_gen_test.go b/internal/service/apprunner/vpc_ingress_connection_tags_gen_test.go index 5acfa25437ec..76768d5db5bb 100644 --- a/internal/service/apprunner/vpc_ingress_connection_tags_gen_test.go +++ b/internal/service/apprunner/vpc_ingress_connection_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccAppRunnerVPCIngressConnection_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_ingress_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -198,6 +199,7 @@ func TestAccAppRunnerVPCIngressConnection_tags(t *testing.T) { func TestAccAppRunnerVPCIngressConnection_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_ingress_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -264,6 +266,7 @@ func TestAccAppRunnerVPCIngressConnection_tags_null(t *testing.T) { func TestAccAppRunnerVPCIngressConnection_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_ingress_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -326,6 +329,7 @@ func TestAccAppRunnerVPCIngressConnection_tags_EmptyMap(t *testing.T) { func TestAccAppRunnerVPCIngressConnection_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_ingress_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccAppRunnerVPCIngressConnection_tags_AddOnUpdate(t *testing.T) { func TestAccAppRunnerVPCIngressConnection_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_ingress_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -494,6 +499,7 @@ func TestAccAppRunnerVPCIngressConnection_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccAppRunnerVPCIngressConnection_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_ingress_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -630,6 +636,7 @@ func TestAccAppRunnerVPCIngressConnection_tags_EmptyTag_OnUpdate_Add(t *testing. func TestAccAppRunnerVPCIngressConnection_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_ingress_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -718,6 +725,7 @@ func TestAccAppRunnerVPCIngressConnection_tags_EmptyTag_OnUpdate_Replace(t *test func TestAccAppRunnerVPCIngressConnection_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_ingress_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -898,6 +906,7 @@ func TestAccAppRunnerVPCIngressConnection_tags_DefaultTags_providerOnly(t *testi func TestAccAppRunnerVPCIngressConnection_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_ingress_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1057,6 +1066,7 @@ func TestAccAppRunnerVPCIngressConnection_tags_DefaultTags_nonOverlapping(t *tes func TestAccAppRunnerVPCIngressConnection_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_ingress_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1232,6 +1242,7 @@ func TestAccAppRunnerVPCIngressConnection_tags_DefaultTags_overlapping(t *testin func TestAccAppRunnerVPCIngressConnection_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_ingress_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1321,6 +1332,7 @@ func TestAccAppRunnerVPCIngressConnection_tags_DefaultTags_updateToProviderOnly( func TestAccAppRunnerVPCIngressConnection_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_ingress_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1409,6 +1421,7 @@ func TestAccAppRunnerVPCIngressConnection_tags_DefaultTags_updateToResourceOnly( func TestAccAppRunnerVPCIngressConnection_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_ingress_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccAppRunnerVPCIngressConnection_tags_DefaultTags_emptyResourceTag(t *t func TestAccAppRunnerVPCIngressConnection_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_ingress_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1529,6 +1543,7 @@ func TestAccAppRunnerVPCIngressConnection_tags_DefaultTags_emptyProviderOnlyTag( func TestAccAppRunnerVPCIngressConnection_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_ingress_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1590,6 +1605,7 @@ func TestAccAppRunnerVPCIngressConnection_tags_DefaultTags_nullOverlappingResour func TestAccAppRunnerVPCIngressConnection_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_ingress_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1651,6 +1667,7 @@ func TestAccAppRunnerVPCIngressConnection_tags_DefaultTags_nullNonOverlappingRes func TestAccAppRunnerVPCIngressConnection_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_ingress_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1705,6 +1722,7 @@ func TestAccAppRunnerVPCIngressConnection_tags_ComputedTag_OnCreate(t *testing.T func TestAccAppRunnerVPCIngressConnection_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_ingress_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1801,6 +1819,7 @@ func TestAccAppRunnerVPCIngressConnection_tags_ComputedTag_OnUpdate_Add(t *testi func TestAccAppRunnerVPCIngressConnection_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_ingress_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1887,6 +1906,7 @@ func TestAccAppRunnerVPCIngressConnection_tags_ComputedTag_OnUpdate_Replace(t *t func TestAccAppRunnerVPCIngressConnection_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_ingress_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2048,6 +2068,7 @@ func TestAccAppRunnerVPCIngressConnection_tags_IgnoreTags_Overlap_DefaultTag(t * func TestAccAppRunnerVPCIngressConnection_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_apprunner_vpc_ingress_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/auditmanager/account_registration_identity_gen_test.go b/internal/service/auditmanager/account_registration_identity_gen_test.go index 755e79794220..8dcc853766a0 100644 --- a/internal/service/auditmanager/account_registration_identity_gen_test.go +++ b/internal/service/auditmanager/account_registration_identity_gen_test.go @@ -33,6 +33,7 @@ func testAccAuditManagerAccountRegistration_IdentitySerial(t *testing.T) { func testAccAuditManagerAccountRegistration_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_auditmanager_account_registration.test" resource.Test(t, resource.TestCase{ @@ -213,6 +214,7 @@ func testAccAuditManagerAccountRegistration_Identity_RegionOverride(t *testing.T func testAccAuditManagerAccountRegistration_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_auditmanager_account_registration.test" resource.Test(t, resource.TestCase{ diff --git a/internal/service/backup/framework_data_source_tags_gen_test.go b/internal/service/backup/framework_data_source_tags_gen_test.go index 52dcfb8019fa..631029e47a39 100644 --- a/internal/service/backup/framework_data_source_tags_gen_test.go +++ b/internal/service/backup/framework_data_source_tags_gen_test.go @@ -31,6 +31,7 @@ func testAccBackupFrameworkDataSource_tagsSerial(t *testing.T) { func testAccBackupFrameworkDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_backup_framework.test" rName := randomFrameworkName() @@ -59,6 +60,7 @@ func testAccBackupFrameworkDataSource_tags(t *testing.T) { func testAccBackupFrameworkDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_backup_framework.test" rName := randomFrameworkName() @@ -83,6 +85,7 @@ func testAccBackupFrameworkDataSource_tags_NullMap(t *testing.T) { func testAccBackupFrameworkDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_backup_framework.test" rName := randomFrameworkName() @@ -107,6 +110,7 @@ func testAccBackupFrameworkDataSource_tags_EmptyMap(t *testing.T) { func testAccBackupFrameworkDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_backup_framework.test" rName := randomFrameworkName() @@ -139,6 +143,7 @@ func testAccBackupFrameworkDataSource_tags_DefaultTags_nonOverlapping(t *testing func testAccBackupFrameworkDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_backup_framework.test" rName := randomFrameworkName() @@ -177,6 +182,7 @@ func testAccBackupFrameworkDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *test func testAccBackupFrameworkDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_backup_framework.test" rName := randomFrameworkName() diff --git a/internal/service/backup/framework_tags_gen_test.go b/internal/service/backup/framework_tags_gen_test.go index 6c81193758e4..fc7f9e647bd1 100644 --- a/internal/service/backup/framework_tags_gen_test.go +++ b/internal/service/backup/framework_tags_gen_test.go @@ -47,6 +47,7 @@ func testAccBackupFramework_tagsSerial(t *testing.T) { func testAccBackupFramework_tags(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeFrameworkOutput resourceName := "aws_backup_framework.test" rName := randomFrameworkName() @@ -229,6 +230,7 @@ func testAccBackupFramework_tags(t *testing.T) { func testAccBackupFramework_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeFrameworkOutput resourceName := "aws_backup_framework.test" rName := randomFrameworkName() @@ -296,6 +298,7 @@ func testAccBackupFramework_tags_null(t *testing.T) { func testAccBackupFramework_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeFrameworkOutput resourceName := "aws_backup_framework.test" rName := randomFrameworkName() @@ -359,6 +362,7 @@ func testAccBackupFramework_tags_EmptyMap(t *testing.T) { func testAccBackupFramework_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeFrameworkOutput resourceName := "aws_backup_framework.test" rName := randomFrameworkName() @@ -440,6 +444,7 @@ func testAccBackupFramework_tags_AddOnUpdate(t *testing.T) { func testAccBackupFramework_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeFrameworkOutput resourceName := "aws_backup_framework.test" rName := randomFrameworkName() @@ -529,6 +534,7 @@ func testAccBackupFramework_tags_EmptyTag_OnCreate(t *testing.T) { func testAccBackupFramework_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeFrameworkOutput resourceName := "aws_backup_framework.test" rName := randomFrameworkName() @@ -666,6 +672,7 @@ func testAccBackupFramework_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func testAccBackupFramework_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeFrameworkOutput resourceName := "aws_backup_framework.test" rName := randomFrameworkName() @@ -755,6 +762,7 @@ func testAccBackupFramework_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func testAccBackupFramework_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeFrameworkOutput resourceName := "aws_backup_framework.test" rName := randomFrameworkName() @@ -936,6 +944,7 @@ func testAccBackupFramework_tags_DefaultTags_providerOnly(t *testing.T) { func testAccBackupFramework_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeFrameworkOutput resourceName := "aws_backup_framework.test" rName := randomFrameworkName() @@ -1096,6 +1105,7 @@ func testAccBackupFramework_tags_DefaultTags_nonOverlapping(t *testing.T) { func testAccBackupFramework_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeFrameworkOutput resourceName := "aws_backup_framework.test" rName := randomFrameworkName() @@ -1272,6 +1282,7 @@ func testAccBackupFramework_tags_DefaultTags_overlapping(t *testing.T) { func testAccBackupFramework_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeFrameworkOutput resourceName := "aws_backup_framework.test" rName := randomFrameworkName() @@ -1362,6 +1373,7 @@ func testAccBackupFramework_tags_DefaultTags_updateToProviderOnly(t *testing.T) func testAccBackupFramework_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeFrameworkOutput resourceName := "aws_backup_framework.test" rName := randomFrameworkName() @@ -1451,6 +1463,7 @@ func testAccBackupFramework_tags_DefaultTags_updateToResourceOnly(t *testing.T) func testAccBackupFramework_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeFrameworkOutput resourceName := "aws_backup_framework.test" rName := randomFrameworkName() @@ -1516,6 +1529,7 @@ func testAccBackupFramework_tags_DefaultTags_emptyResourceTag(t *testing.T) { func testAccBackupFramework_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeFrameworkOutput resourceName := "aws_backup_framework.test" rName := randomFrameworkName() @@ -1573,6 +1587,7 @@ func testAccBackupFramework_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) func testAccBackupFramework_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeFrameworkOutput resourceName := "aws_backup_framework.test" rName := randomFrameworkName() @@ -1635,6 +1650,7 @@ func testAccBackupFramework_tags_DefaultTags_nullOverlappingResourceTag(t *testi func testAccBackupFramework_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeFrameworkOutput resourceName := "aws_backup_framework.test" rName := randomFrameworkName() @@ -1697,6 +1713,7 @@ func testAccBackupFramework_tags_DefaultTags_nullNonOverlappingResourceTag(t *te func testAccBackupFramework_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeFrameworkOutput resourceName := "aws_backup_framework.test" rName := randomFrameworkName() @@ -1752,6 +1769,7 @@ func testAccBackupFramework_tags_ComputedTag_OnCreate(t *testing.T) { func testAccBackupFramework_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeFrameworkOutput resourceName := "aws_backup_framework.test" rName := randomFrameworkName() @@ -1849,6 +1867,7 @@ func testAccBackupFramework_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func testAccBackupFramework_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeFrameworkOutput resourceName := "aws_backup_framework.test" rName := randomFrameworkName() @@ -1936,6 +1955,7 @@ func testAccBackupFramework_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func testAccBackupFramework_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeFrameworkOutput resourceName := "aws_backup_framework.test" rName := randomFrameworkName() @@ -2098,6 +2118,7 @@ func testAccBackupFramework_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func testAccBackupFramework_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeFrameworkOutput resourceName := "aws_backup_framework.test" rName := randomFrameworkName() diff --git a/internal/service/backup/plan_data_source_tags_gen_test.go b/internal/service/backup/plan_data_source_tags_gen_test.go index bcd9f6c98ce2..74029e367792 100644 --- a/internal/service/backup/plan_data_source_tags_gen_test.go +++ b/internal/service/backup/plan_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccBackupPlanDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_backup_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -44,6 +45,7 @@ func TestAccBackupPlanDataSource_tags(t *testing.T) { func TestAccBackupPlanDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_backup_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -68,6 +70,7 @@ func TestAccBackupPlanDataSource_tags_NullMap(t *testing.T) { func TestAccBackupPlanDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_backup_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -92,6 +95,7 @@ func TestAccBackupPlanDataSource_tags_EmptyMap(t *testing.T) { func TestAccBackupPlanDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_backup_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -124,6 +128,7 @@ func TestAccBackupPlanDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccBackupPlanDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_backup_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -162,6 +167,7 @@ func TestAccBackupPlanDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T func TestAccBackupPlanDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_backup_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/backup/plan_tags_gen_test.go b/internal/service/backup/plan_tags_gen_test.go index 50f4ec15aad5..c6f4d89c95a9 100644 --- a/internal/service/backup/plan_tags_gen_test.go +++ b/internal/service/backup/plan_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccBackupPlan_tags(t *testing.T) { ctx := acctest.Context(t) + var v backup.GetBackupPlanOutput resourceName := "aws_backup_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccBackupPlan_tags(t *testing.T) { func TestAccBackupPlan_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v backup.GetBackupPlanOutput resourceName := "aws_backup_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccBackupPlan_tags_null(t *testing.T) { func TestAccBackupPlan_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v backup.GetBackupPlanOutput resourceName := "aws_backup_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccBackupPlan_tags_EmptyMap(t *testing.T) { func TestAccBackupPlan_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v backup.GetBackupPlanOutput resourceName := "aws_backup_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccBackupPlan_tags_AddOnUpdate(t *testing.T) { func TestAccBackupPlan_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v backup.GetBackupPlanOutput resourceName := "aws_backup_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccBackupPlan_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccBackupPlan_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v backup.GetBackupPlanOutput resourceName := "aws_backup_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccBackupPlan_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccBackupPlan_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v backup.GetBackupPlanOutput resourceName := "aws_backup_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccBackupPlan_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccBackupPlan_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v backup.GetBackupPlanOutput resourceName := "aws_backup_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccBackupPlan_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccBackupPlan_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v backup.GetBackupPlanOutput resourceName := "aws_backup_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccBackupPlan_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccBackupPlan_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v backup.GetBackupPlanOutput resourceName := "aws_backup_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccBackupPlan_tags_DefaultTags_overlapping(t *testing.T) { func TestAccBackupPlan_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v backup.GetBackupPlanOutput resourceName := "aws_backup_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccBackupPlan_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccBackupPlan_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v backup.GetBackupPlanOutput resourceName := "aws_backup_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccBackupPlan_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccBackupPlan_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v backup.GetBackupPlanOutput resourceName := "aws_backup_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccBackupPlan_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccBackupPlan_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v backup.GetBackupPlanOutput resourceName := "aws_backup_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccBackupPlan_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccBackupPlan_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v backup.GetBackupPlanOutput resourceName := "aws_backup_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccBackupPlan_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) func TestAccBackupPlan_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v backup.GetBackupPlanOutput resourceName := "aws_backup_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccBackupPlan_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing func TestAccBackupPlan_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v backup.GetBackupPlanOutput resourceName := "aws_backup_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccBackupPlan_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccBackupPlan_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v backup.GetBackupPlanOutput resourceName := "aws_backup_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccBackupPlan_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccBackupPlan_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v backup.GetBackupPlanOutput resourceName := "aws_backup_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccBackupPlan_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccBackupPlan_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v backup.GetBackupPlanOutput resourceName := "aws_backup_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccBackupPlan_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccBackupPlan_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v backup.GetBackupPlanOutput resourceName := "aws_backup_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/backup/report_plan_data_source_tags_gen_test.go b/internal/service/backup/report_plan_data_source_tags_gen_test.go index d3c9e21ce779..aa38ff602ae0 100644 --- a/internal/service/backup/report_plan_data_source_tags_gen_test.go +++ b/internal/service/backup/report_plan_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccBackupReportPlanDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_backup_report_plan.test" rName := randomReportPlanName() @@ -44,6 +45,7 @@ func TestAccBackupReportPlanDataSource_tags(t *testing.T) { func TestAccBackupReportPlanDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_backup_report_plan.test" rName := randomReportPlanName() @@ -68,6 +70,7 @@ func TestAccBackupReportPlanDataSource_tags_NullMap(t *testing.T) { func TestAccBackupReportPlanDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_backup_report_plan.test" rName := randomReportPlanName() @@ -92,6 +95,7 @@ func TestAccBackupReportPlanDataSource_tags_EmptyMap(t *testing.T) { func TestAccBackupReportPlanDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_backup_report_plan.test" rName := randomReportPlanName() @@ -124,6 +128,7 @@ func TestAccBackupReportPlanDataSource_tags_DefaultTags_nonOverlapping(t *testin func TestAccBackupReportPlanDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_backup_report_plan.test" rName := randomReportPlanName() @@ -162,6 +167,7 @@ func TestAccBackupReportPlanDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *tes func TestAccBackupReportPlanDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_backup_report_plan.test" rName := randomReportPlanName() diff --git a/internal/service/backup/report_plan_tags_gen_test.go b/internal/service/backup/report_plan_tags_gen_test.go index 9157d57ffedc..3cd2051137fb 100644 --- a/internal/service/backup/report_plan_tags_gen_test.go +++ b/internal/service/backup/report_plan_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccBackupReportPlan_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReportPlan resourceName := "aws_backup_report_plan.test" rName := randomReportPlanName() @@ -200,6 +201,7 @@ func TestAccBackupReportPlan_tags(t *testing.T) { func TestAccBackupReportPlan_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReportPlan resourceName := "aws_backup_report_plan.test" rName := randomReportPlanName() @@ -267,6 +269,7 @@ func TestAccBackupReportPlan_tags_null(t *testing.T) { func TestAccBackupReportPlan_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReportPlan resourceName := "aws_backup_report_plan.test" rName := randomReportPlanName() @@ -330,6 +333,7 @@ func TestAccBackupReportPlan_tags_EmptyMap(t *testing.T) { func TestAccBackupReportPlan_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReportPlan resourceName := "aws_backup_report_plan.test" rName := randomReportPlanName() @@ -411,6 +415,7 @@ func TestAccBackupReportPlan_tags_AddOnUpdate(t *testing.T) { func TestAccBackupReportPlan_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReportPlan resourceName := "aws_backup_report_plan.test" rName := randomReportPlanName() @@ -500,6 +505,7 @@ func TestAccBackupReportPlan_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccBackupReportPlan_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReportPlan resourceName := "aws_backup_report_plan.test" rName := randomReportPlanName() @@ -637,6 +643,7 @@ func TestAccBackupReportPlan_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccBackupReportPlan_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReportPlan resourceName := "aws_backup_report_plan.test" rName := randomReportPlanName() @@ -726,6 +733,7 @@ func TestAccBackupReportPlan_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccBackupReportPlan_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReportPlan resourceName := "aws_backup_report_plan.test" rName := randomReportPlanName() @@ -907,6 +915,7 @@ func TestAccBackupReportPlan_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccBackupReportPlan_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReportPlan resourceName := "aws_backup_report_plan.test" rName := randomReportPlanName() @@ -1067,6 +1076,7 @@ func TestAccBackupReportPlan_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccBackupReportPlan_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReportPlan resourceName := "aws_backup_report_plan.test" rName := randomReportPlanName() @@ -1243,6 +1253,7 @@ func TestAccBackupReportPlan_tags_DefaultTags_overlapping(t *testing.T) { func TestAccBackupReportPlan_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReportPlan resourceName := "aws_backup_report_plan.test" rName := randomReportPlanName() @@ -1333,6 +1344,7 @@ func TestAccBackupReportPlan_tags_DefaultTags_updateToProviderOnly(t *testing.T) func TestAccBackupReportPlan_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReportPlan resourceName := "aws_backup_report_plan.test" rName := randomReportPlanName() @@ -1422,6 +1434,7 @@ func TestAccBackupReportPlan_tags_DefaultTags_updateToResourceOnly(t *testing.T) func TestAccBackupReportPlan_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReportPlan resourceName := "aws_backup_report_plan.test" rName := randomReportPlanName() @@ -1487,6 +1500,7 @@ func TestAccBackupReportPlan_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccBackupReportPlan_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReportPlan resourceName := "aws_backup_report_plan.test" rName := randomReportPlanName() @@ -1544,6 +1558,7 @@ func TestAccBackupReportPlan_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) func TestAccBackupReportPlan_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReportPlan resourceName := "aws_backup_report_plan.test" rName := randomReportPlanName() @@ -1606,6 +1621,7 @@ func TestAccBackupReportPlan_tags_DefaultTags_nullOverlappingResourceTag(t *test func TestAccBackupReportPlan_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReportPlan resourceName := "aws_backup_report_plan.test" rName := randomReportPlanName() @@ -1668,6 +1684,7 @@ func TestAccBackupReportPlan_tags_DefaultTags_nullNonOverlappingResourceTag(t *t func TestAccBackupReportPlan_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReportPlan resourceName := "aws_backup_report_plan.test" rName := randomReportPlanName() @@ -1723,6 +1740,7 @@ func TestAccBackupReportPlan_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccBackupReportPlan_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReportPlan resourceName := "aws_backup_report_plan.test" rName := randomReportPlanName() @@ -1820,6 +1838,7 @@ func TestAccBackupReportPlan_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccBackupReportPlan_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReportPlan resourceName := "aws_backup_report_plan.test" rName := randomReportPlanName() @@ -1907,6 +1926,7 @@ func TestAccBackupReportPlan_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccBackupReportPlan_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReportPlan resourceName := "aws_backup_report_plan.test" rName := randomReportPlanName() @@ -2069,6 +2089,7 @@ func TestAccBackupReportPlan_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccBackupReportPlan_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReportPlan resourceName := "aws_backup_report_plan.test" rName := randomReportPlanName() diff --git a/internal/service/backup/vault_data_source_tags_gen_test.go b/internal/service/backup/vault_data_source_tags_gen_test.go index 200cfe719186..16f69d35db4e 100644 --- a/internal/service/backup/vault_data_source_tags_gen_test.go +++ b/internal/service/backup/vault_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccBackupVaultDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_backup_vault.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -44,6 +45,7 @@ func TestAccBackupVaultDataSource_tags(t *testing.T) { func TestAccBackupVaultDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_backup_vault.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -68,6 +70,7 @@ func TestAccBackupVaultDataSource_tags_NullMap(t *testing.T) { func TestAccBackupVaultDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_backup_vault.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -92,6 +95,7 @@ func TestAccBackupVaultDataSource_tags_EmptyMap(t *testing.T) { func TestAccBackupVaultDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_backup_vault.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -124,6 +128,7 @@ func TestAccBackupVaultDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) func TestAccBackupVaultDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_backup_vault.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -162,6 +167,7 @@ func TestAccBackupVaultDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing. func TestAccBackupVaultDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_backup_vault.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/backup/vault_tags_gen_test.go b/internal/service/backup/vault_tags_gen_test.go index 83563294edd0..0ca92b105673 100644 --- a/internal/service/backup/vault_tags_gen_test.go +++ b/internal/service/backup/vault_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccBackupVault_tags(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeBackupVaultOutput resourceName := "aws_backup_vault.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -212,6 +213,7 @@ func TestAccBackupVault_tags(t *testing.T) { func TestAccBackupVault_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeBackupVaultOutput resourceName := "aws_backup_vault.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -282,6 +284,7 @@ func TestAccBackupVault_tags_null(t *testing.T) { func TestAccBackupVault_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeBackupVaultOutput resourceName := "aws_backup_vault.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -348,6 +351,7 @@ func TestAccBackupVault_tags_EmptyMap(t *testing.T) { func TestAccBackupVault_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeBackupVaultOutput resourceName := "aws_backup_vault.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -432,6 +436,7 @@ func TestAccBackupVault_tags_AddOnUpdate(t *testing.T) { func TestAccBackupVault_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeBackupVaultOutput resourceName := "aws_backup_vault.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -527,6 +532,7 @@ func TestAccBackupVault_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccBackupVault_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeBackupVaultOutput resourceName := "aws_backup_vault.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -670,6 +676,7 @@ func TestAccBackupVault_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccBackupVault_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeBackupVaultOutput resourceName := "aws_backup_vault.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -762,6 +769,7 @@ func TestAccBackupVault_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccBackupVault_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeBackupVaultOutput resourceName := "aws_backup_vault.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -955,6 +963,7 @@ func TestAccBackupVault_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccBackupVault_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeBackupVaultOutput resourceName := "aws_backup_vault.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1124,6 +1133,7 @@ func TestAccBackupVault_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccBackupVault_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeBackupVaultOutput resourceName := "aws_backup_vault.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1309,6 +1319,7 @@ func TestAccBackupVault_tags_DefaultTags_overlapping(t *testing.T) { func TestAccBackupVault_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeBackupVaultOutput resourceName := "aws_backup_vault.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1402,6 +1413,7 @@ func TestAccBackupVault_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccBackupVault_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeBackupVaultOutput resourceName := "aws_backup_vault.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1494,6 +1506,7 @@ func TestAccBackupVault_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccBackupVault_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeBackupVaultOutput resourceName := "aws_backup_vault.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1562,6 +1575,7 @@ func TestAccBackupVault_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccBackupVault_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeBackupVaultOutput resourceName := "aws_backup_vault.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1622,6 +1636,7 @@ func TestAccBackupVault_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccBackupVault_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeBackupVaultOutput resourceName := "aws_backup_vault.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1687,6 +1702,7 @@ func TestAccBackupVault_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T func TestAccBackupVault_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeBackupVaultOutput resourceName := "aws_backup_vault.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1752,6 +1768,7 @@ func TestAccBackupVault_tags_DefaultTags_nullNonOverlappingResourceTag(t *testin func TestAccBackupVault_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeBackupVaultOutput resourceName := "aws_backup_vault.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1810,6 +1827,7 @@ func TestAccBackupVault_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccBackupVault_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeBackupVaultOutput resourceName := "aws_backup_vault.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1928,7 @@ func TestAccBackupVault_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccBackupVault_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeBackupVaultOutput resourceName := "aws_backup_vault.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2000,6 +2019,7 @@ func TestAccBackupVault_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccBackupVault_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeBackupVaultOutput resourceName := "aws_backup_vault.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2162,6 +2182,7 @@ func TestAccBackupVault_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccBackupVault_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v backup.DescribeBackupVaultOutput resourceName := "aws_backup_vault.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/batch/compute_environment_data_source_tags_gen_test.go b/internal/service/batch/compute_environment_data_source_tags_gen_test.go index cafa2bd567fd..462996a71fa9 100644 --- a/internal/service/batch/compute_environment_data_source_tags_gen_test.go +++ b/internal/service/batch/compute_environment_data_source_tags_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccBatchComputeEnvironmentDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_batch_compute_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -49,6 +50,7 @@ func TestAccBatchComputeEnvironmentDataSource_tags(t *testing.T) { func TestAccBatchComputeEnvironmentDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_batch_compute_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -73,6 +75,7 @@ func TestAccBatchComputeEnvironmentDataSource_tags_NullMap(t *testing.T) { func TestAccBatchComputeEnvironmentDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_batch_compute_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -97,6 +100,7 @@ func TestAccBatchComputeEnvironmentDataSource_tags_EmptyMap(t *testing.T) { func TestAccBatchComputeEnvironmentDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_batch_compute_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -129,6 +133,7 @@ func TestAccBatchComputeEnvironmentDataSource_tags_DefaultTags_nonOverlapping(t func TestAccBatchComputeEnvironmentDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_batch_compute_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -167,6 +172,7 @@ func TestAccBatchComputeEnvironmentDataSource_tags_IgnoreTags_Overlap_DefaultTag func TestAccBatchComputeEnvironmentDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_batch_compute_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/batch/compute_environment_tags_gen_test.go b/internal/service/batch/compute_environment_tags_gen_test.go index dcaad4fbfab1..0115131c0748 100644 --- a/internal/service/batch/compute_environment_tags_gen_test.go +++ b/internal/service/batch/compute_environment_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccBatchComputeEnvironment_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.ComputeEnvironmentDetail resourceName := "aws_batch_compute_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccBatchComputeEnvironment_tags(t *testing.T) { func TestAccBatchComputeEnvironment_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.ComputeEnvironmentDetail resourceName := "aws_batch_compute_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccBatchComputeEnvironment_tags_null(t *testing.T) { func TestAccBatchComputeEnvironment_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.ComputeEnvironmentDetail resourceName := "aws_batch_compute_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccBatchComputeEnvironment_tags_EmptyMap(t *testing.T) { func TestAccBatchComputeEnvironment_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.ComputeEnvironmentDetail resourceName := "aws_batch_compute_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccBatchComputeEnvironment_tags_AddOnUpdate(t *testing.T) { func TestAccBatchComputeEnvironment_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.ComputeEnvironmentDetail resourceName := "aws_batch_compute_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccBatchComputeEnvironment_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccBatchComputeEnvironment_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.ComputeEnvironmentDetail resourceName := "aws_batch_compute_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccBatchComputeEnvironment_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccBatchComputeEnvironment_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.ComputeEnvironmentDetail resourceName := "aws_batch_compute_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccBatchComputeEnvironment_tags_EmptyTag_OnUpdate_Replace(t *testing.T) func TestAccBatchComputeEnvironment_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.ComputeEnvironmentDetail resourceName := "aws_batch_compute_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccBatchComputeEnvironment_tags_DefaultTags_providerOnly(t *testing.T) func TestAccBatchComputeEnvironment_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.ComputeEnvironmentDetail resourceName := "aws_batch_compute_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccBatchComputeEnvironment_tags_DefaultTags_nonOverlapping(t *testing.T func TestAccBatchComputeEnvironment_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.ComputeEnvironmentDetail resourceName := "aws_batch_compute_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccBatchComputeEnvironment_tags_DefaultTags_overlapping(t *testing.T) { func TestAccBatchComputeEnvironment_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.ComputeEnvironmentDetail resourceName := "aws_batch_compute_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccBatchComputeEnvironment_tags_DefaultTags_updateToProviderOnly(t *tes func TestAccBatchComputeEnvironment_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.ComputeEnvironmentDetail resourceName := "aws_batch_compute_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccBatchComputeEnvironment_tags_DefaultTags_updateToResourceOnly(t *tes func TestAccBatchComputeEnvironment_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.ComputeEnvironmentDetail resourceName := "aws_batch_compute_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccBatchComputeEnvironment_tags_DefaultTags_emptyResourceTag(t *testing func TestAccBatchComputeEnvironment_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.ComputeEnvironmentDetail resourceName := "aws_batch_compute_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccBatchComputeEnvironment_tags_DefaultTags_emptyProviderOnlyTag(t *tes func TestAccBatchComputeEnvironment_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.ComputeEnvironmentDetail resourceName := "aws_batch_compute_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccBatchComputeEnvironment_tags_DefaultTags_nullOverlappingResourceTag( func TestAccBatchComputeEnvironment_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.ComputeEnvironmentDetail resourceName := "aws_batch_compute_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccBatchComputeEnvironment_tags_DefaultTags_nullNonOverlappingResourceT func TestAccBatchComputeEnvironment_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.ComputeEnvironmentDetail resourceName := "aws_batch_compute_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccBatchComputeEnvironment_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccBatchComputeEnvironment_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.ComputeEnvironmentDetail resourceName := "aws_batch_compute_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccBatchComputeEnvironment_tags_ComputedTag_OnUpdate_Add(t *testing.T) func TestAccBatchComputeEnvironment_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.ComputeEnvironmentDetail resourceName := "aws_batch_compute_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccBatchComputeEnvironment_tags_ComputedTag_OnUpdate_Replace(t *testing func TestAccBatchComputeEnvironment_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.ComputeEnvironmentDetail resourceName := "aws_batch_compute_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccBatchComputeEnvironment_tags_IgnoreTags_Overlap_DefaultTag(t *testin func TestAccBatchComputeEnvironment_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.ComputeEnvironmentDetail resourceName := "aws_batch_compute_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/batch/job_definition_data_source_tags_gen_test.go b/internal/service/batch/job_definition_data_source_tags_gen_test.go index 8a727a20d7d9..7e39f437f536 100644 --- a/internal/service/batch/job_definition_data_source_tags_gen_test.go +++ b/internal/service/batch/job_definition_data_source_tags_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccBatchJobDefinitionDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_batch_job_definition.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -49,6 +50,7 @@ func TestAccBatchJobDefinitionDataSource_tags(t *testing.T) { func TestAccBatchJobDefinitionDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_batch_job_definition.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -73,6 +75,7 @@ func TestAccBatchJobDefinitionDataSource_tags_NullMap(t *testing.T) { func TestAccBatchJobDefinitionDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_batch_job_definition.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -97,6 +100,7 @@ func TestAccBatchJobDefinitionDataSource_tags_EmptyMap(t *testing.T) { func TestAccBatchJobDefinitionDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_batch_job_definition.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -129,6 +133,7 @@ func TestAccBatchJobDefinitionDataSource_tags_DefaultTags_nonOverlapping(t *test func TestAccBatchJobDefinitionDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_batch_job_definition.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -167,6 +172,7 @@ func TestAccBatchJobDefinitionDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *t func TestAccBatchJobDefinitionDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_batch_job_definition.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/batch/job_definition_tags_gen_test.go b/internal/service/batch/job_definition_tags_gen_test.go index 3a0f07928ac1..4760e55fd824 100644 --- a/internal/service/batch/job_definition_tags_gen_test.go +++ b/internal/service/batch/job_definition_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccBatchJobDefinition_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.JobDefinition resourceName := "aws_batch_job_definition.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccBatchJobDefinition_tags(t *testing.T) { func TestAccBatchJobDefinition_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.JobDefinition resourceName := "aws_batch_job_definition.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccBatchJobDefinition_tags_null(t *testing.T) { func TestAccBatchJobDefinition_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.JobDefinition resourceName := "aws_batch_job_definition.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccBatchJobDefinition_tags_EmptyMap(t *testing.T) { func TestAccBatchJobDefinition_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.JobDefinition resourceName := "aws_batch_job_definition.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccBatchJobDefinition_tags_AddOnUpdate(t *testing.T) { func TestAccBatchJobDefinition_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.JobDefinition resourceName := "aws_batch_job_definition.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccBatchJobDefinition_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccBatchJobDefinition_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.JobDefinition resourceName := "aws_batch_job_definition.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccBatchJobDefinition_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccBatchJobDefinition_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.JobDefinition resourceName := "aws_batch_job_definition.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccBatchJobDefinition_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccBatchJobDefinition_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.JobDefinition resourceName := "aws_batch_job_definition.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccBatchJobDefinition_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccBatchJobDefinition_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.JobDefinition resourceName := "aws_batch_job_definition.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccBatchJobDefinition_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccBatchJobDefinition_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.JobDefinition resourceName := "aws_batch_job_definition.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccBatchJobDefinition_tags_DefaultTags_overlapping(t *testing.T) { func TestAccBatchJobDefinition_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.JobDefinition resourceName := "aws_batch_job_definition.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccBatchJobDefinition_tags_DefaultTags_updateToProviderOnly(t *testing. func TestAccBatchJobDefinition_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.JobDefinition resourceName := "aws_batch_job_definition.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccBatchJobDefinition_tags_DefaultTags_updateToResourceOnly(t *testing. func TestAccBatchJobDefinition_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.JobDefinition resourceName := "aws_batch_job_definition.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccBatchJobDefinition_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccBatchJobDefinition_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.JobDefinition resourceName := "aws_batch_job_definition.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccBatchJobDefinition_tags_DefaultTags_emptyProviderOnlyTag(t *testing. func TestAccBatchJobDefinition_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.JobDefinition resourceName := "aws_batch_job_definition.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccBatchJobDefinition_tags_DefaultTags_nullOverlappingResourceTag(t *te func TestAccBatchJobDefinition_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.JobDefinition resourceName := "aws_batch_job_definition.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccBatchJobDefinition_tags_DefaultTags_nullNonOverlappingResourceTag(t func TestAccBatchJobDefinition_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.JobDefinition resourceName := "aws_batch_job_definition.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccBatchJobDefinition_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccBatchJobDefinition_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.JobDefinition resourceName := "aws_batch_job_definition.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccBatchJobDefinition_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccBatchJobDefinition_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.JobDefinition resourceName := "aws_batch_job_definition.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccBatchJobDefinition_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccBatchJobDefinition_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.JobDefinition resourceName := "aws_batch_job_definition.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccBatchJobDefinition_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func TestAccBatchJobDefinition_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.JobDefinition resourceName := "aws_batch_job_definition.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/batch/job_queue_data_source_tags_gen_test.go b/internal/service/batch/job_queue_data_source_tags_gen_test.go index 00410b184e5a..6b4100139650 100644 --- a/internal/service/batch/job_queue_data_source_tags_gen_test.go +++ b/internal/service/batch/job_queue_data_source_tags_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccBatchJobQueueDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_batch_job_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -49,6 +50,7 @@ func TestAccBatchJobQueueDataSource_tags(t *testing.T) { func TestAccBatchJobQueueDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_batch_job_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -73,6 +75,7 @@ func TestAccBatchJobQueueDataSource_tags_NullMap(t *testing.T) { func TestAccBatchJobQueueDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_batch_job_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -97,6 +100,7 @@ func TestAccBatchJobQueueDataSource_tags_EmptyMap(t *testing.T) { func TestAccBatchJobQueueDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_batch_job_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -129,6 +133,7 @@ func TestAccBatchJobQueueDataSource_tags_DefaultTags_nonOverlapping(t *testing.T func TestAccBatchJobQueueDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_batch_job_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -167,6 +172,7 @@ func TestAccBatchJobQueueDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testin func TestAccBatchJobQueueDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_batch_job_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/batch/job_queue_tags_gen_test.go b/internal/service/batch/job_queue_tags_gen_test.go index 77852b07aa67..4bce22d4714b 100644 --- a/internal/service/batch/job_queue_tags_gen_test.go +++ b/internal/service/batch/job_queue_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccBatchJobQueue_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.JobQueueDetail resourceName := "aws_batch_job_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccBatchJobQueue_tags(t *testing.T) { func TestAccBatchJobQueue_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.JobQueueDetail resourceName := "aws_batch_job_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -262,6 +264,7 @@ func TestAccBatchJobQueue_tags_null(t *testing.T) { func TestAccBatchJobQueue_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.JobQueueDetail resourceName := "aws_batch_job_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -312,6 +315,7 @@ func TestAccBatchJobQueue_tags_EmptyMap(t *testing.T) { func TestAccBatchJobQueue_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.JobQueueDetail resourceName := "aws_batch_job_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -392,6 +396,7 @@ func TestAccBatchJobQueue_tags_AddOnUpdate(t *testing.T) { func TestAccBatchJobQueue_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.JobQueueDetail resourceName := "aws_batch_job_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -482,6 +487,7 @@ func TestAccBatchJobQueue_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccBatchJobQueue_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.JobQueueDetail resourceName := "aws_batch_job_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -621,6 +627,7 @@ func TestAccBatchJobQueue_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccBatchJobQueue_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.JobQueueDetail resourceName := "aws_batch_job_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -711,6 +718,7 @@ func TestAccBatchJobQueue_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccBatchJobQueue_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.JobQueueDetail resourceName := "aws_batch_job_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -892,6 +900,7 @@ func TestAccBatchJobQueue_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccBatchJobQueue_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.JobQueueDetail resourceName := "aws_batch_job_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1052,6 +1061,7 @@ func TestAccBatchJobQueue_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccBatchJobQueue_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.JobQueueDetail resourceName := "aws_batch_job_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1228,6 +1238,7 @@ func TestAccBatchJobQueue_tags_DefaultTags_overlapping(t *testing.T) { func TestAccBatchJobQueue_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.JobQueueDetail resourceName := "aws_batch_job_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1318,6 +1329,7 @@ func TestAccBatchJobQueue_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccBatchJobQueue_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.JobQueueDetail resourceName := "aws_batch_job_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1407,6 +1419,7 @@ func TestAccBatchJobQueue_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccBatchJobQueue_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.JobQueueDetail resourceName := "aws_batch_job_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccBatchJobQueue_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccBatchJobQueue_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.JobQueueDetail resourceName := "aws_batch_job_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1531,6 +1545,7 @@ func TestAccBatchJobQueue_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccBatchJobQueue_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.JobQueueDetail resourceName := "aws_batch_job_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1600,6 +1615,7 @@ func TestAccBatchJobQueue_tags_DefaultTags_nullOverlappingResourceTag(t *testing func TestAccBatchJobQueue_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.JobQueueDetail resourceName := "aws_batch_job_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1671,6 +1687,7 @@ func TestAccBatchJobQueue_tags_DefaultTags_nullNonOverlappingResourceTag(t *test func TestAccBatchJobQueue_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.JobQueueDetail resourceName := "aws_batch_job_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1726,6 +1743,7 @@ func TestAccBatchJobQueue_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccBatchJobQueue_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.JobQueueDetail resourceName := "aws_batch_job_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1823,6 +1841,7 @@ func TestAccBatchJobQueue_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccBatchJobQueue_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.JobQueueDetail resourceName := "aws_batch_job_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1929,7 @@ func TestAccBatchJobQueue_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccBatchJobQueue_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.JobQueueDetail resourceName := "aws_batch_job_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2072,6 +2092,7 @@ func TestAccBatchJobQueue_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccBatchJobQueue_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.JobQueueDetail resourceName := "aws_batch_job_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/batch/scheduling_policy_data_source_tags_gen_test.go b/internal/service/batch/scheduling_policy_data_source_tags_gen_test.go index f3254047dc49..cf3dcffd8f28 100644 --- a/internal/service/batch/scheduling_policy_data_source_tags_gen_test.go +++ b/internal/service/batch/scheduling_policy_data_source_tags_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccBatchSchedulingPolicyDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_batch_scheduling_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -49,6 +50,7 @@ func TestAccBatchSchedulingPolicyDataSource_tags(t *testing.T) { func TestAccBatchSchedulingPolicyDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_batch_scheduling_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -73,6 +75,7 @@ func TestAccBatchSchedulingPolicyDataSource_tags_NullMap(t *testing.T) { func TestAccBatchSchedulingPolicyDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_batch_scheduling_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -97,6 +100,7 @@ func TestAccBatchSchedulingPolicyDataSource_tags_EmptyMap(t *testing.T) { func TestAccBatchSchedulingPolicyDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_batch_scheduling_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -129,6 +133,7 @@ func TestAccBatchSchedulingPolicyDataSource_tags_DefaultTags_nonOverlapping(t *t func TestAccBatchSchedulingPolicyDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_batch_scheduling_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -167,6 +172,7 @@ func TestAccBatchSchedulingPolicyDataSource_tags_IgnoreTags_Overlap_DefaultTag(t func TestAccBatchSchedulingPolicyDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_batch_scheduling_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/batch/scheduling_policy_tags_gen_test.go b/internal/service/batch/scheduling_policy_tags_gen_test.go index 18a4d702379b..ec5a645a875c 100644 --- a/internal/service/batch/scheduling_policy_tags_gen_test.go +++ b/internal/service/batch/scheduling_policy_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccBatchSchedulingPolicy_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.SchedulingPolicyDetail resourceName := "aws_batch_scheduling_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccBatchSchedulingPolicy_tags(t *testing.T) { func TestAccBatchSchedulingPolicy_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.SchedulingPolicyDetail resourceName := "aws_batch_scheduling_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccBatchSchedulingPolicy_tags_null(t *testing.T) { func TestAccBatchSchedulingPolicy_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.SchedulingPolicyDetail resourceName := "aws_batch_scheduling_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccBatchSchedulingPolicy_tags_EmptyMap(t *testing.T) { func TestAccBatchSchedulingPolicy_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.SchedulingPolicyDetail resourceName := "aws_batch_scheduling_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccBatchSchedulingPolicy_tags_AddOnUpdate(t *testing.T) { func TestAccBatchSchedulingPolicy_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.SchedulingPolicyDetail resourceName := "aws_batch_scheduling_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccBatchSchedulingPolicy_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccBatchSchedulingPolicy_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.SchedulingPolicyDetail resourceName := "aws_batch_scheduling_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccBatchSchedulingPolicy_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccBatchSchedulingPolicy_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.SchedulingPolicyDetail resourceName := "aws_batch_scheduling_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccBatchSchedulingPolicy_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccBatchSchedulingPolicy_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.SchedulingPolicyDetail resourceName := "aws_batch_scheduling_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccBatchSchedulingPolicy_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccBatchSchedulingPolicy_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.SchedulingPolicyDetail resourceName := "aws_batch_scheduling_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccBatchSchedulingPolicy_tags_DefaultTags_nonOverlapping(t *testing.T) func TestAccBatchSchedulingPolicy_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.SchedulingPolicyDetail resourceName := "aws_batch_scheduling_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccBatchSchedulingPolicy_tags_DefaultTags_overlapping(t *testing.T) { func TestAccBatchSchedulingPolicy_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.SchedulingPolicyDetail resourceName := "aws_batch_scheduling_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccBatchSchedulingPolicy_tags_DefaultTags_updateToProviderOnly(t *testi func TestAccBatchSchedulingPolicy_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.SchedulingPolicyDetail resourceName := "aws_batch_scheduling_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccBatchSchedulingPolicy_tags_DefaultTags_updateToResourceOnly(t *testi func TestAccBatchSchedulingPolicy_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.SchedulingPolicyDetail resourceName := "aws_batch_scheduling_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccBatchSchedulingPolicy_tags_DefaultTags_emptyResourceTag(t *testing.T func TestAccBatchSchedulingPolicy_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.SchedulingPolicyDetail resourceName := "aws_batch_scheduling_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccBatchSchedulingPolicy_tags_DefaultTags_emptyProviderOnlyTag(t *testi func TestAccBatchSchedulingPolicy_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.SchedulingPolicyDetail resourceName := "aws_batch_scheduling_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccBatchSchedulingPolicy_tags_DefaultTags_nullOverlappingResourceTag(t func TestAccBatchSchedulingPolicy_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.SchedulingPolicyDetail resourceName := "aws_batch_scheduling_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccBatchSchedulingPolicy_tags_DefaultTags_nullNonOverlappingResourceTag func TestAccBatchSchedulingPolicy_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.SchedulingPolicyDetail resourceName := "aws_batch_scheduling_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccBatchSchedulingPolicy_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccBatchSchedulingPolicy_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.SchedulingPolicyDetail resourceName := "aws_batch_scheduling_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccBatchSchedulingPolicy_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccBatchSchedulingPolicy_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.SchedulingPolicyDetail resourceName := "aws_batch_scheduling_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccBatchSchedulingPolicy_tags_ComputedTag_OnUpdate_Replace(t *testing.T func TestAccBatchSchedulingPolicy_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.SchedulingPolicyDetail resourceName := "aws_batch_scheduling_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccBatchSchedulingPolicy_tags_IgnoreTags_Overlap_DefaultTag(t *testing. func TestAccBatchSchedulingPolicy_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.SchedulingPolicyDetail resourceName := "aws_batch_scheduling_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/bcmdataexports/export_tags_gen_test.go b/internal/service/bcmdataexports/export_tags_gen_test.go index e19cbf97b149..53ac07739748 100644 --- a/internal/service/bcmdataexports/export_tags_gen_test.go +++ b/internal/service/bcmdataexports/export_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccBCMDataExportsExport_tags(t *testing.T) { ctx := acctest.Context(t) + var v bcmdataexports.GetExportOutput resourceName := "aws_bcmdataexports_export.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -202,6 +203,7 @@ func TestAccBCMDataExportsExport_tags_null(t *testing.T) { t.Skip("Resource Export does not support null tags") ctx := acctest.Context(t) + var v bcmdataexports.GetExportOutput resourceName := "aws_bcmdataexports_export.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -264,6 +266,7 @@ func TestAccBCMDataExportsExport_tags_null(t *testing.T) { func TestAccBCMDataExportsExport_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v bcmdataexports.GetExportOutput resourceName := "aws_bcmdataexports_export.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -314,6 +317,7 @@ func TestAccBCMDataExportsExport_tags_EmptyMap(t *testing.T) { func TestAccBCMDataExportsExport_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v bcmdataexports.GetExportOutput resourceName := "aws_bcmdataexports_export.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -396,6 +400,7 @@ func TestAccBCMDataExportsExport_tags_EmptyTag_OnCreate(t *testing.T) { t.Skip("Resource Export does not support empty tags") ctx := acctest.Context(t) + var v bcmdataexports.GetExportOutput resourceName := "aws_bcmdataexports_export.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -488,6 +493,7 @@ func TestAccBCMDataExportsExport_tags_EmptyTag_OnUpdate_Add(t *testing.T) { t.Skip("Resource Export does not support empty tags") ctx := acctest.Context(t) + var v bcmdataexports.GetExportOutput resourceName := "aws_bcmdataexports_export.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -629,6 +635,7 @@ func TestAccBCMDataExportsExport_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { t.Skip("Resource Export does not support empty tags") ctx := acctest.Context(t) + var v bcmdataexports.GetExportOutput resourceName := "aws_bcmdataexports_export.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -719,6 +726,7 @@ func TestAccBCMDataExportsExport_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccBCMDataExportsExport_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v bcmdataexports.GetExportOutput resourceName := "aws_bcmdataexports_export.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -900,6 +908,7 @@ func TestAccBCMDataExportsExport_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccBCMDataExportsExport_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v bcmdataexports.GetExportOutput resourceName := "aws_bcmdataexports_export.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1060,6 +1069,7 @@ func TestAccBCMDataExportsExport_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccBCMDataExportsExport_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v bcmdataexports.GetExportOutput resourceName := "aws_bcmdataexports_export.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1236,6 +1246,7 @@ func TestAccBCMDataExportsExport_tags_DefaultTags_overlapping(t *testing.T) { func TestAccBCMDataExportsExport_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v bcmdataexports.GetExportOutput resourceName := "aws_bcmdataexports_export.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1326,6 +1337,7 @@ func TestAccBCMDataExportsExport_tags_DefaultTags_updateToProviderOnly(t *testin func TestAccBCMDataExportsExport_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v bcmdataexports.GetExportOutput resourceName := "aws_bcmdataexports_export.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1417,6 +1429,7 @@ func TestAccBCMDataExportsExport_tags_DefaultTags_emptyResourceTag(t *testing.T) t.Skip("Resource Export does not support empty tags") ctx := acctest.Context(t) + var v bcmdataexports.GetExportOutput resourceName := "aws_bcmdataexports_export.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1485,6 +1498,7 @@ func TestAccBCMDataExportsExport_tags_DefaultTags_emptyProviderOnlyTag(t *testin t.Skip("Resource Export does not support empty tags") ctx := acctest.Context(t) + var v bcmdataexports.GetExportOutput resourceName := "aws_bcmdataexports_export.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1545,6 +1559,7 @@ func TestAccBCMDataExportsExport_tags_DefaultTags_nullOverlappingResourceTag(t * t.Skip("Resource Export does not support null tags") ctx := acctest.Context(t) + var v bcmdataexports.GetExportOutput resourceName := "aws_bcmdataexports_export.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1616,6 +1631,7 @@ func TestAccBCMDataExportsExport_tags_DefaultTags_nullNonOverlappingResourceTag( t.Skip("Resource Export does not support null tags") ctx := acctest.Context(t) + var v bcmdataexports.GetExportOutput resourceName := "aws_bcmdataexports_export.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1687,6 +1703,7 @@ func TestAccBCMDataExportsExport_tags_DefaultTags_nullNonOverlappingResourceTag( func TestAccBCMDataExportsExport_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v bcmdataexports.GetExportOutput resourceName := "aws_bcmdataexports_export.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1742,6 +1759,7 @@ func TestAccBCMDataExportsExport_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccBCMDataExportsExport_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v bcmdataexports.GetExportOutput resourceName := "aws_bcmdataexports_export.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1839,6 +1857,7 @@ func TestAccBCMDataExportsExport_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccBCMDataExportsExport_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v bcmdataexports.GetExportOutput resourceName := "aws_bcmdataexports_export.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1926,6 +1945,7 @@ func TestAccBCMDataExportsExport_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func TestAccBCMDataExportsExport_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v bcmdataexports.GetExportOutput resourceName := "aws_bcmdataexports_export.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2088,6 +2108,7 @@ func TestAccBCMDataExportsExport_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T func TestAccBCMDataExportsExport_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v bcmdataexports.GetExportOutput resourceName := "aws_bcmdataexports_export.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/bedrock/custom_model_tags_gen_test.go b/internal/service/bedrock/custom_model_tags_gen_test.go index ae0a4073b084..4f65b0de95bb 100644 --- a/internal/service/bedrock/custom_model_tags_gen_test.go +++ b/internal/service/bedrock/custom_model_tags_gen_test.go @@ -47,6 +47,7 @@ func testAccBedrockCustomModel_tagsSerial(t *testing.T) { func testAccBedrockCustomModel_tags(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetModelCustomizationJobOutput resourceName := "aws_bedrock_custom_model.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -241,6 +242,7 @@ func testAccBedrockCustomModel_tags(t *testing.T) { func testAccBedrockCustomModel_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetModelCustomizationJobOutput resourceName := "aws_bedrock_custom_model.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -304,6 +306,7 @@ func testAccBedrockCustomModel_tags_null(t *testing.T) { func testAccBedrockCustomModel_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetModelCustomizationJobOutput resourceName := "aws_bedrock_custom_model.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -355,6 +358,7 @@ func testAccBedrockCustomModel_tags_EmptyMap(t *testing.T) { func testAccBedrockCustomModel_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetModelCustomizationJobOutput resourceName := "aws_bedrock_custom_model.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -438,6 +442,7 @@ func testAccBedrockCustomModel_tags_AddOnUpdate(t *testing.T) { func testAccBedrockCustomModel_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetModelCustomizationJobOutput resourceName := "aws_bedrock_custom_model.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -534,6 +539,7 @@ func testAccBedrockCustomModel_tags_EmptyTag_OnCreate(t *testing.T) { func testAccBedrockCustomModel_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetModelCustomizationJobOutput resourceName := "aws_bedrock_custom_model.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -679,6 +685,7 @@ func testAccBedrockCustomModel_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func testAccBedrockCustomModel_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetModelCustomizationJobOutput resourceName := "aws_bedrock_custom_model.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -772,6 +779,7 @@ func testAccBedrockCustomModel_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func testAccBedrockCustomModel_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetModelCustomizationJobOutput resourceName := "aws_bedrock_custom_model.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -965,6 +973,7 @@ func testAccBedrockCustomModel_tags_DefaultTags_providerOnly(t *testing.T) { func testAccBedrockCustomModel_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetModelCustomizationJobOutput resourceName := "aws_bedrock_custom_model.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1134,6 +1143,7 @@ func testAccBedrockCustomModel_tags_DefaultTags_nonOverlapping(t *testing.T) { func testAccBedrockCustomModel_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetModelCustomizationJobOutput resourceName := "aws_bedrock_custom_model.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1319,6 +1329,7 @@ func testAccBedrockCustomModel_tags_DefaultTags_overlapping(t *testing.T) { func testAccBedrockCustomModel_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetModelCustomizationJobOutput resourceName := "aws_bedrock_custom_model.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1412,6 +1423,7 @@ func testAccBedrockCustomModel_tags_DefaultTags_updateToProviderOnly(t *testing. func testAccBedrockCustomModel_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetModelCustomizationJobOutput resourceName := "aws_bedrock_custom_model.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1504,6 +1516,7 @@ func testAccBedrockCustomModel_tags_DefaultTags_updateToResourceOnly(t *testing. func testAccBedrockCustomModel_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetModelCustomizationJobOutput resourceName := "aws_bedrock_custom_model.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1573,6 +1586,7 @@ func testAccBedrockCustomModel_tags_DefaultTags_emptyResourceTag(t *testing.T) { func testAccBedrockCustomModel_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetModelCustomizationJobOutput resourceName := "aws_bedrock_custom_model.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1634,6 +1648,7 @@ func testAccBedrockCustomModel_tags_DefaultTags_emptyProviderOnlyTag(t *testing. func testAccBedrockCustomModel_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetModelCustomizationJobOutput resourceName := "aws_bedrock_custom_model.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1704,6 +1719,7 @@ func testAccBedrockCustomModel_tags_DefaultTags_nullOverlappingResourceTag(t *te func testAccBedrockCustomModel_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetModelCustomizationJobOutput resourceName := "aws_bedrock_custom_model.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1776,6 +1792,7 @@ func testAccBedrockCustomModel_tags_DefaultTags_nullNonOverlappingResourceTag(t func testAccBedrockCustomModel_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetModelCustomizationJobOutput resourceName := "aws_bedrock_custom_model.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1834,6 +1851,7 @@ func testAccBedrockCustomModel_tags_ComputedTag_OnCreate(t *testing.T) { func testAccBedrockCustomModel_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetModelCustomizationJobOutput resourceName := "aws_bedrock_custom_model.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1934,6 +1952,7 @@ func testAccBedrockCustomModel_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func testAccBedrockCustomModel_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetModelCustomizationJobOutput resourceName := "aws_bedrock_custom_model.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2024,6 +2043,7 @@ func testAccBedrockCustomModel_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func testAccBedrockCustomModel_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetModelCustomizationJobOutput resourceName := "aws_bedrock_custom_model.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2186,6 +2206,7 @@ func testAccBedrockCustomModel_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func testAccBedrockCustomModel_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetModelCustomizationJobOutput resourceName := "aws_bedrock_custom_model.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/bedrock/guardrail_tags_gen_test.go b/internal/service/bedrock/guardrail_tags_gen_test.go index 99819be6de77..6f5dc47231cc 100644 --- a/internal/service/bedrock/guardrail_tags_gen_test.go +++ b/internal/service/bedrock/guardrail_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccBedrockGuardrail_tags(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetGuardrailOutput resourceName := "aws_bedrock_guardrail.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -208,6 +209,7 @@ func TestAccBedrockGuardrail_tags(t *testing.T) { func TestAccBedrockGuardrail_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetGuardrailOutput resourceName := "aws_bedrock_guardrail.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -272,6 +274,7 @@ func TestAccBedrockGuardrail_tags_null(t *testing.T) { func TestAccBedrockGuardrail_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetGuardrailOutput resourceName := "aws_bedrock_guardrail.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -324,6 +327,7 @@ func TestAccBedrockGuardrail_tags_EmptyMap(t *testing.T) { func TestAccBedrockGuardrail_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetGuardrailOutput resourceName := "aws_bedrock_guardrail.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccBedrockGuardrail_tags_AddOnUpdate(t *testing.T) { func TestAccBedrockGuardrail_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetGuardrailOutput resourceName := "aws_bedrock_guardrail.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccBedrockGuardrail_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccBedrockGuardrail_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetGuardrailOutput resourceName := "aws_bedrock_guardrail.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -643,6 +649,7 @@ func TestAccBedrockGuardrail_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccBedrockGuardrail_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetGuardrailOutput resourceName := "aws_bedrock_guardrail.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -735,6 +742,7 @@ func TestAccBedrockGuardrail_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccBedrockGuardrail_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetGuardrailOutput resourceName := "aws_bedrock_guardrail.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -924,6 +932,7 @@ func TestAccBedrockGuardrail_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccBedrockGuardrail_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetGuardrailOutput resourceName := "aws_bedrock_guardrail.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1090,6 +1099,7 @@ func TestAccBedrockGuardrail_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccBedrockGuardrail_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetGuardrailOutput resourceName := "aws_bedrock_guardrail.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1272,6 +1282,7 @@ func TestAccBedrockGuardrail_tags_DefaultTags_overlapping(t *testing.T) { func TestAccBedrockGuardrail_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetGuardrailOutput resourceName := "aws_bedrock_guardrail.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1364,6 +1375,7 @@ func TestAccBedrockGuardrail_tags_DefaultTags_updateToProviderOnly(t *testing.T) func TestAccBedrockGuardrail_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetGuardrailOutput resourceName := "aws_bedrock_guardrail.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1455,6 +1467,7 @@ func TestAccBedrockGuardrail_tags_DefaultTags_updateToResourceOnly(t *testing.T) func TestAccBedrockGuardrail_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetGuardrailOutput resourceName := "aws_bedrock_guardrail.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1523,6 +1536,7 @@ func TestAccBedrockGuardrail_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccBedrockGuardrail_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetGuardrailOutput resourceName := "aws_bedrock_guardrail.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1583,6 +1597,7 @@ func TestAccBedrockGuardrail_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) func TestAccBedrockGuardrail_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetGuardrailOutput resourceName := "aws_bedrock_guardrail.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1654,6 +1669,7 @@ func TestAccBedrockGuardrail_tags_DefaultTags_nullOverlappingResourceTag(t *test func TestAccBedrockGuardrail_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetGuardrailOutput resourceName := "aws_bedrock_guardrail.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1727,6 +1743,7 @@ func TestAccBedrockGuardrail_tags_DefaultTags_nullNonOverlappingResourceTag(t *t func TestAccBedrockGuardrail_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetGuardrailOutput resourceName := "aws_bedrock_guardrail.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1784,6 +1801,7 @@ func TestAccBedrockGuardrail_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccBedrockGuardrail_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetGuardrailOutput resourceName := "aws_bedrock_guardrail.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1883,6 +1901,7 @@ func TestAccBedrockGuardrail_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccBedrockGuardrail_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetGuardrailOutput resourceName := "aws_bedrock_guardrail.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1972,6 +1991,7 @@ func TestAccBedrockGuardrail_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccBedrockGuardrail_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetGuardrailOutput resourceName := "aws_bedrock_guardrail.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2134,6 +2154,7 @@ func TestAccBedrockGuardrail_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccBedrockGuardrail_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetGuardrailOutput resourceName := "aws_bedrock_guardrail.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/bedrock/inference_profile_tags_gen_test.go b/internal/service/bedrock/inference_profile_tags_gen_test.go index dd436c737f9b..61005cf18683 100644 --- a/internal/service/bedrock/inference_profile_tags_gen_test.go +++ b/internal/service/bedrock/inference_profile_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccBedrockInferenceProfile_tags(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetInferenceProfileOutput resourceName := "aws_bedrock_inference_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -212,6 +213,7 @@ func TestAccBedrockInferenceProfile_tags(t *testing.T) { func TestAccBedrockInferenceProfile_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetInferenceProfileOutput resourceName := "aws_bedrock_inference_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -275,6 +277,7 @@ func TestAccBedrockInferenceProfile_tags_null(t *testing.T) { func TestAccBedrockInferenceProfile_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetInferenceProfileOutput resourceName := "aws_bedrock_inference_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -326,6 +329,7 @@ func TestAccBedrockInferenceProfile_tags_EmptyMap(t *testing.T) { func TestAccBedrockInferenceProfile_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetInferenceProfileOutput resourceName := "aws_bedrock_inference_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -409,6 +413,7 @@ func TestAccBedrockInferenceProfile_tags_AddOnUpdate(t *testing.T) { func TestAccBedrockInferenceProfile_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetInferenceProfileOutput resourceName := "aws_bedrock_inference_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -505,6 +510,7 @@ func TestAccBedrockInferenceProfile_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccBedrockInferenceProfile_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetInferenceProfileOutput resourceName := "aws_bedrock_inference_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -650,6 +656,7 @@ func TestAccBedrockInferenceProfile_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccBedrockInferenceProfile_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetInferenceProfileOutput resourceName := "aws_bedrock_inference_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -743,6 +750,7 @@ func TestAccBedrockInferenceProfile_tags_EmptyTag_OnUpdate_Replace(t *testing.T) func TestAccBedrockInferenceProfile_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetInferenceProfileOutput resourceName := "aws_bedrock_inference_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -936,6 +944,7 @@ func TestAccBedrockInferenceProfile_tags_DefaultTags_providerOnly(t *testing.T) func TestAccBedrockInferenceProfile_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetInferenceProfileOutput resourceName := "aws_bedrock_inference_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1105,6 +1114,7 @@ func TestAccBedrockInferenceProfile_tags_DefaultTags_nonOverlapping(t *testing.T func TestAccBedrockInferenceProfile_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetInferenceProfileOutput resourceName := "aws_bedrock_inference_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1290,6 +1300,7 @@ func TestAccBedrockInferenceProfile_tags_DefaultTags_overlapping(t *testing.T) { func TestAccBedrockInferenceProfile_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetInferenceProfileOutput resourceName := "aws_bedrock_inference_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1383,6 +1394,7 @@ func TestAccBedrockInferenceProfile_tags_DefaultTags_updateToProviderOnly(t *tes func TestAccBedrockInferenceProfile_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetInferenceProfileOutput resourceName := "aws_bedrock_inference_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1475,6 +1487,7 @@ func TestAccBedrockInferenceProfile_tags_DefaultTags_updateToResourceOnly(t *tes func TestAccBedrockInferenceProfile_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetInferenceProfileOutput resourceName := "aws_bedrock_inference_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1557,7 @@ func TestAccBedrockInferenceProfile_tags_DefaultTags_emptyResourceTag(t *testing func TestAccBedrockInferenceProfile_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetInferenceProfileOutput resourceName := "aws_bedrock_inference_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1605,6 +1619,7 @@ func TestAccBedrockInferenceProfile_tags_DefaultTags_emptyProviderOnlyTag(t *tes func TestAccBedrockInferenceProfile_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetInferenceProfileOutput resourceName := "aws_bedrock_inference_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1675,6 +1690,7 @@ func TestAccBedrockInferenceProfile_tags_DefaultTags_nullOverlappingResourceTag( func TestAccBedrockInferenceProfile_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetInferenceProfileOutput resourceName := "aws_bedrock_inference_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1747,6 +1763,7 @@ func TestAccBedrockInferenceProfile_tags_DefaultTags_nullNonOverlappingResourceT func TestAccBedrockInferenceProfile_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetInferenceProfileOutput resourceName := "aws_bedrock_inference_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1805,6 +1822,7 @@ func TestAccBedrockInferenceProfile_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccBedrockInferenceProfile_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetInferenceProfileOutput resourceName := "aws_bedrock_inference_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1905,6 +1923,7 @@ func TestAccBedrockInferenceProfile_tags_ComputedTag_OnUpdate_Add(t *testing.T) func TestAccBedrockInferenceProfile_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetInferenceProfileOutput resourceName := "aws_bedrock_inference_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1995,6 +2014,7 @@ func TestAccBedrockInferenceProfile_tags_ComputedTag_OnUpdate_Replace(t *testing func TestAccBedrockInferenceProfile_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetInferenceProfileOutput resourceName := "aws_bedrock_inference_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2157,6 +2177,7 @@ func TestAccBedrockInferenceProfile_tags_IgnoreTags_Overlap_DefaultTag(t *testin func TestAccBedrockInferenceProfile_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v bedrock.GetInferenceProfileOutput resourceName := "aws_bedrock_inference_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/bedrock/model_invocation_logging_configuration_identity_gen_test.go b/internal/service/bedrock/model_invocation_logging_configuration_identity_gen_test.go index c8ab5d2923ce..6e01d776ad4e 100644 --- a/internal/service/bedrock/model_invocation_logging_configuration_identity_gen_test.go +++ b/internal/service/bedrock/model_invocation_logging_configuration_identity_gen_test.go @@ -34,6 +34,7 @@ func testAccBedrockModelInvocationLoggingConfiguration_IdentitySerial(t *testing func testAccBedrockModelInvocationLoggingConfiguration_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_bedrock_model_invocation_logging_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -233,6 +234,7 @@ func testAccBedrockModelInvocationLoggingConfiguration_Identity_RegionOverride(t func testAccBedrockModelInvocationLoggingConfiguration_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_bedrock_model_invocation_logging_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/budgets/budget_data_source_tags_gen_test.go b/internal/service/budgets/budget_data_source_tags_gen_test.go index 850fac0d1343..6459865b4c65 100644 --- a/internal/service/budgets/budget_data_source_tags_gen_test.go +++ b/internal/service/budgets/budget_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccBudgetsBudgetDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_budgets_budget.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -44,6 +45,7 @@ func TestAccBudgetsBudgetDataSource_tags(t *testing.T) { func TestAccBudgetsBudgetDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_budgets_budget.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -68,6 +70,7 @@ func TestAccBudgetsBudgetDataSource_tags_NullMap(t *testing.T) { func TestAccBudgetsBudgetDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_budgets_budget.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -92,6 +95,7 @@ func TestAccBudgetsBudgetDataSource_tags_EmptyMap(t *testing.T) { func TestAccBudgetsBudgetDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_budgets_budget.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -124,6 +128,7 @@ func TestAccBudgetsBudgetDataSource_tags_DefaultTags_nonOverlapping(t *testing.T func TestAccBudgetsBudgetDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_budgets_budget.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -162,6 +167,7 @@ func TestAccBudgetsBudgetDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testin func TestAccBudgetsBudgetDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_budgets_budget.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/budgets/budget_tags_gen_test.go b/internal/service/budgets/budget_tags_gen_test.go index 2809525cd7de..0e5046c3cdb4 100644 --- a/internal/service/budgets/budget_tags_gen_test.go +++ b/internal/service/budgets/budget_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccBudgetsBudget_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Budget resourceName := "aws_budgets_budget.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccBudgetsBudget_tags(t *testing.T) { func TestAccBudgetsBudget_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Budget resourceName := "aws_budgets_budget.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccBudgetsBudget_tags_null(t *testing.T) { func TestAccBudgetsBudget_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Budget resourceName := "aws_budgets_budget.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccBudgetsBudget_tags_EmptyMap(t *testing.T) { func TestAccBudgetsBudget_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Budget resourceName := "aws_budgets_budget.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccBudgetsBudget_tags_AddOnUpdate(t *testing.T) { func TestAccBudgetsBudget_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Budget resourceName := "aws_budgets_budget.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccBudgetsBudget_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccBudgetsBudget_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Budget resourceName := "aws_budgets_budget.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccBudgetsBudget_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccBudgetsBudget_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Budget resourceName := "aws_budgets_budget.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccBudgetsBudget_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccBudgetsBudget_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Budget resourceName := "aws_budgets_budget.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccBudgetsBudget_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccBudgetsBudget_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Budget resourceName := "aws_budgets_budget.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccBudgetsBudget_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccBudgetsBudget_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Budget resourceName := "aws_budgets_budget.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccBudgetsBudget_tags_DefaultTags_overlapping(t *testing.T) { func TestAccBudgetsBudget_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Budget resourceName := "aws_budgets_budget.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccBudgetsBudget_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccBudgetsBudget_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Budget resourceName := "aws_budgets_budget.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccBudgetsBudget_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccBudgetsBudget_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Budget resourceName := "aws_budgets_budget.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccBudgetsBudget_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccBudgetsBudget_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Budget resourceName := "aws_budgets_budget.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccBudgetsBudget_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccBudgetsBudget_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Budget resourceName := "aws_budgets_budget.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccBudgetsBudget_tags_DefaultTags_nullOverlappingResourceTag(t *testing func TestAccBudgetsBudget_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Budget resourceName := "aws_budgets_budget.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccBudgetsBudget_tags_DefaultTags_nullNonOverlappingResourceTag(t *test func TestAccBudgetsBudget_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Budget resourceName := "aws_budgets_budget.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccBudgetsBudget_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccBudgetsBudget_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Budget resourceName := "aws_budgets_budget.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccBudgetsBudget_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccBudgetsBudget_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Budget resourceName := "aws_budgets_budget.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccBudgetsBudget_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccBudgetsBudget_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Budget resourceName := "aws_budgets_budget.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccBudgetsBudget_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccBudgetsBudget_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Budget resourceName := "aws_budgets_budget.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/cleanrooms/membership_tags_gen_test.go b/internal/service/cleanrooms/membership_tags_gen_test.go index fd748b49cf22..38a98c89c38a 100644 --- a/internal/service/cleanrooms/membership_tags_gen_test.go +++ b/internal/service/cleanrooms/membership_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccCleanRoomsMembership_tags(t *testing.T) { ctx := acctest.Context(t) + var v cleanrooms.GetMembershipOutput resourceName := "aws_cleanrooms_membership.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccCleanRoomsMembership_tags(t *testing.T) { func TestAccCleanRoomsMembership_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v cleanrooms.GetMembershipOutput resourceName := "aws_cleanrooms_membership.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -262,6 +264,7 @@ func TestAccCleanRoomsMembership_tags_null(t *testing.T) { func TestAccCleanRoomsMembership_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v cleanrooms.GetMembershipOutput resourceName := "aws_cleanrooms_membership.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -312,6 +315,7 @@ func TestAccCleanRoomsMembership_tags_EmptyMap(t *testing.T) { func TestAccCleanRoomsMembership_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v cleanrooms.GetMembershipOutput resourceName := "aws_cleanrooms_membership.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -392,6 +396,7 @@ func TestAccCleanRoomsMembership_tags_AddOnUpdate(t *testing.T) { func TestAccCleanRoomsMembership_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v cleanrooms.GetMembershipOutput resourceName := "aws_cleanrooms_membership.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -482,6 +487,7 @@ func TestAccCleanRoomsMembership_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccCleanRoomsMembership_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v cleanrooms.GetMembershipOutput resourceName := "aws_cleanrooms_membership.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -621,6 +627,7 @@ func TestAccCleanRoomsMembership_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccCleanRoomsMembership_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v cleanrooms.GetMembershipOutput resourceName := "aws_cleanrooms_membership.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -711,6 +718,7 @@ func TestAccCleanRoomsMembership_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccCleanRoomsMembership_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v cleanrooms.GetMembershipOutput resourceName := "aws_cleanrooms_membership.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -892,6 +900,7 @@ func TestAccCleanRoomsMembership_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccCleanRoomsMembership_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v cleanrooms.GetMembershipOutput resourceName := "aws_cleanrooms_membership.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1052,6 +1061,7 @@ func TestAccCleanRoomsMembership_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccCleanRoomsMembership_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v cleanrooms.GetMembershipOutput resourceName := "aws_cleanrooms_membership.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1228,6 +1238,7 @@ func TestAccCleanRoomsMembership_tags_DefaultTags_overlapping(t *testing.T) { func TestAccCleanRoomsMembership_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v cleanrooms.GetMembershipOutput resourceName := "aws_cleanrooms_membership.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1318,6 +1329,7 @@ func TestAccCleanRoomsMembership_tags_DefaultTags_updateToProviderOnly(t *testin func TestAccCleanRoomsMembership_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v cleanrooms.GetMembershipOutput resourceName := "aws_cleanrooms_membership.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1407,6 +1419,7 @@ func TestAccCleanRoomsMembership_tags_DefaultTags_updateToResourceOnly(t *testin func TestAccCleanRoomsMembership_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v cleanrooms.GetMembershipOutput resourceName := "aws_cleanrooms_membership.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccCleanRoomsMembership_tags_DefaultTags_emptyResourceTag(t *testing.T) func TestAccCleanRoomsMembership_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v cleanrooms.GetMembershipOutput resourceName := "aws_cleanrooms_membership.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1531,6 +1545,7 @@ func TestAccCleanRoomsMembership_tags_DefaultTags_emptyProviderOnlyTag(t *testin func TestAccCleanRoomsMembership_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v cleanrooms.GetMembershipOutput resourceName := "aws_cleanrooms_membership.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1600,6 +1615,7 @@ func TestAccCleanRoomsMembership_tags_DefaultTags_nullOverlappingResourceTag(t * func TestAccCleanRoomsMembership_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v cleanrooms.GetMembershipOutput resourceName := "aws_cleanrooms_membership.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1671,6 +1687,7 @@ func TestAccCleanRoomsMembership_tags_DefaultTags_nullNonOverlappingResourceTag( func TestAccCleanRoomsMembership_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v cleanrooms.GetMembershipOutput resourceName := "aws_cleanrooms_membership.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1726,6 +1743,7 @@ func TestAccCleanRoomsMembership_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccCleanRoomsMembership_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v cleanrooms.GetMembershipOutput resourceName := "aws_cleanrooms_membership.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1823,6 +1841,7 @@ func TestAccCleanRoomsMembership_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccCleanRoomsMembership_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v cleanrooms.GetMembershipOutput resourceName := "aws_cleanrooms_membership.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1929,7 @@ func TestAccCleanRoomsMembership_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func TestAccCleanRoomsMembership_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v cleanrooms.GetMembershipOutput resourceName := "aws_cleanrooms_membership.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2072,6 +2092,7 @@ func TestAccCleanRoomsMembership_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T func TestAccCleanRoomsMembership_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v cleanrooms.GetMembershipOutput resourceName := "aws_cleanrooms_membership.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/cloudfrontkeyvaluestore/key_identity_gen_test.go b/internal/service/cloudfrontkeyvaluestore/key_identity_gen_test.go index f91cf1715643..d416aefc3c37 100644 --- a/internal/service/cloudfrontkeyvaluestore/key_identity_gen_test.go +++ b/internal/service/cloudfrontkeyvaluestore/key_identity_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccCloudFrontKeyValueStoreKey_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudfrontkeyvaluestore_key.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -105,6 +106,7 @@ func TestAccCloudFrontKeyValueStoreKey_Identity_Basic(t *testing.T) { // Resource Identity was added after v6.0.0 func TestAccCloudFrontKeyValueStoreKey_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudfrontkeyvaluestore_key.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/cloudtrail/event_data_store_identity_gen_test.go b/internal/service/cloudtrail/event_data_store_identity_gen_test.go index 4071968256e1..e3367c05dfa8 100644 --- a/internal/service/cloudtrail/event_data_store_identity_gen_test.go +++ b/internal/service/cloudtrail/event_data_store_identity_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccCloudTrailEventDataStore_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudtrail_event_data_store.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -225,6 +226,7 @@ func TestAccCloudTrailEventDataStore_Identity_RegionOverride(t *testing.T) { func TestAccCloudTrailEventDataStore_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudtrail_event_data_store.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/cloudwatch/composite_alarm_tags_gen_test.go b/internal/service/cloudwatch/composite_alarm_tags_gen_test.go index 139596097112..27f6fbb34403 100644 --- a/internal/service/cloudwatch/composite_alarm_tags_gen_test.go +++ b/internal/service/cloudwatch/composite_alarm_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccCloudWatchCompositeAlarm_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_composite_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -198,6 +199,7 @@ func TestAccCloudWatchCompositeAlarm_tags(t *testing.T) { func TestAccCloudWatchCompositeAlarm_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_composite_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -264,6 +266,7 @@ func TestAccCloudWatchCompositeAlarm_tags_null(t *testing.T) { func TestAccCloudWatchCompositeAlarm_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_composite_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -326,6 +329,7 @@ func TestAccCloudWatchCompositeAlarm_tags_EmptyMap(t *testing.T) { func TestAccCloudWatchCompositeAlarm_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_composite_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccCloudWatchCompositeAlarm_tags_AddOnUpdate(t *testing.T) { func TestAccCloudWatchCompositeAlarm_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_composite_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -494,6 +499,7 @@ func TestAccCloudWatchCompositeAlarm_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccCloudWatchCompositeAlarm_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_composite_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -630,6 +636,7 @@ func TestAccCloudWatchCompositeAlarm_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccCloudWatchCompositeAlarm_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_composite_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -718,6 +725,7 @@ func TestAccCloudWatchCompositeAlarm_tags_EmptyTag_OnUpdate_Replace(t *testing.T func TestAccCloudWatchCompositeAlarm_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_composite_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -898,6 +906,7 @@ func TestAccCloudWatchCompositeAlarm_tags_DefaultTags_providerOnly(t *testing.T) func TestAccCloudWatchCompositeAlarm_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_composite_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1057,6 +1066,7 @@ func TestAccCloudWatchCompositeAlarm_tags_DefaultTags_nonOverlapping(t *testing. func TestAccCloudWatchCompositeAlarm_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_composite_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1232,6 +1242,7 @@ func TestAccCloudWatchCompositeAlarm_tags_DefaultTags_overlapping(t *testing.T) func TestAccCloudWatchCompositeAlarm_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_composite_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1321,6 +1332,7 @@ func TestAccCloudWatchCompositeAlarm_tags_DefaultTags_updateToProviderOnly(t *te func TestAccCloudWatchCompositeAlarm_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_composite_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1409,6 +1421,7 @@ func TestAccCloudWatchCompositeAlarm_tags_DefaultTags_updateToResourceOnly(t *te func TestAccCloudWatchCompositeAlarm_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_composite_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccCloudWatchCompositeAlarm_tags_DefaultTags_emptyResourceTag(t *testin func TestAccCloudWatchCompositeAlarm_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_composite_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1529,6 +1543,7 @@ func TestAccCloudWatchCompositeAlarm_tags_DefaultTags_emptyProviderOnlyTag(t *te func TestAccCloudWatchCompositeAlarm_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_composite_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1590,6 +1605,7 @@ func TestAccCloudWatchCompositeAlarm_tags_DefaultTags_nullOverlappingResourceTag func TestAccCloudWatchCompositeAlarm_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_composite_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1651,6 +1667,7 @@ func TestAccCloudWatchCompositeAlarm_tags_DefaultTags_nullNonOverlappingResource func TestAccCloudWatchCompositeAlarm_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_composite_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1705,6 +1722,7 @@ func TestAccCloudWatchCompositeAlarm_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccCloudWatchCompositeAlarm_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_composite_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1801,6 +1819,7 @@ func TestAccCloudWatchCompositeAlarm_tags_ComputedTag_OnUpdate_Add(t *testing.T) func TestAccCloudWatchCompositeAlarm_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_composite_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1887,6 +1906,7 @@ func TestAccCloudWatchCompositeAlarm_tags_ComputedTag_OnUpdate_Replace(t *testin func TestAccCloudWatchCompositeAlarm_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_composite_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2048,6 +2068,7 @@ func TestAccCloudWatchCompositeAlarm_tags_IgnoreTags_Overlap_DefaultTag(t *testi func TestAccCloudWatchCompositeAlarm_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_composite_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/cloudwatch/contributor_insight_rule_tags_gen_test.go b/internal/service/cloudwatch/contributor_insight_rule_tags_gen_test.go index 6947d5c5bf49..801f3d524245 100644 --- a/internal/service/cloudwatch/contributor_insight_rule_tags_gen_test.go +++ b/internal/service/cloudwatch/contributor_insight_rule_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccCloudWatchContributorInsightRule_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.InsightRule resourceName := "aws_cloudwatch_contributor_insight_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -220,6 +221,7 @@ func TestAccCloudWatchContributorInsightRule_tags(t *testing.T) { func TestAccCloudWatchContributorInsightRule_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.InsightRule resourceName := "aws_cloudwatch_contributor_insight_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -285,6 +287,7 @@ func TestAccCloudWatchContributorInsightRule_tags_null(t *testing.T) { func TestAccCloudWatchContributorInsightRule_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.InsightRule resourceName := "aws_cloudwatch_contributor_insight_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -338,6 +341,7 @@ func TestAccCloudWatchContributorInsightRule_tags_EmptyMap(t *testing.T) { func TestAccCloudWatchContributorInsightRule_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.InsightRule resourceName := "aws_cloudwatch_contributor_insight_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -423,6 +427,7 @@ func TestAccCloudWatchContributorInsightRule_tags_AddOnUpdate(t *testing.T) { func TestAccCloudWatchContributorInsightRule_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.InsightRule resourceName := "aws_cloudwatch_contributor_insight_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -523,6 +528,7 @@ func TestAccCloudWatchContributorInsightRule_tags_EmptyTag_OnCreate(t *testing.T func TestAccCloudWatchContributorInsightRule_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.InsightRule resourceName := "aws_cloudwatch_contributor_insight_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -672,6 +678,7 @@ func TestAccCloudWatchContributorInsightRule_tags_EmptyTag_OnUpdate_Add(t *testi func TestAccCloudWatchContributorInsightRule_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.InsightRule resourceName := "aws_cloudwatch_contributor_insight_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -767,6 +774,7 @@ func TestAccCloudWatchContributorInsightRule_tags_EmptyTag_OnUpdate_Replace(t *t func TestAccCloudWatchContributorInsightRule_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.InsightRule resourceName := "aws_cloudwatch_contributor_insight_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -968,6 +976,7 @@ func TestAccCloudWatchContributorInsightRule_tags_DefaultTags_providerOnly(t *te func TestAccCloudWatchContributorInsightRule_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.InsightRule resourceName := "aws_cloudwatch_contributor_insight_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1143,6 +1152,7 @@ func TestAccCloudWatchContributorInsightRule_tags_DefaultTags_nonOverlapping(t * func TestAccCloudWatchContributorInsightRule_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.InsightRule resourceName := "aws_cloudwatch_contributor_insight_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1334,6 +1344,7 @@ func TestAccCloudWatchContributorInsightRule_tags_DefaultTags_overlapping(t *tes func TestAccCloudWatchContributorInsightRule_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.InsightRule resourceName := "aws_cloudwatch_contributor_insight_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1429,6 +1440,7 @@ func TestAccCloudWatchContributorInsightRule_tags_DefaultTags_updateToProviderOn func TestAccCloudWatchContributorInsightRule_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.InsightRule resourceName := "aws_cloudwatch_contributor_insight_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1523,6 +1535,7 @@ func TestAccCloudWatchContributorInsightRule_tags_DefaultTags_updateToResourceOn func TestAccCloudWatchContributorInsightRule_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.InsightRule resourceName := "aws_cloudwatch_contributor_insight_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1594,6 +1607,7 @@ func TestAccCloudWatchContributorInsightRule_tags_DefaultTags_emptyResourceTag(t func TestAccCloudWatchContributorInsightRule_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.InsightRule resourceName := "aws_cloudwatch_contributor_insight_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1657,6 +1671,7 @@ func TestAccCloudWatchContributorInsightRule_tags_DefaultTags_emptyProviderOnlyT func TestAccCloudWatchContributorInsightRule_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.InsightRule resourceName := "aws_cloudwatch_contributor_insight_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1729,6 +1744,7 @@ func TestAccCloudWatchContributorInsightRule_tags_DefaultTags_nullOverlappingRes func TestAccCloudWatchContributorInsightRule_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.InsightRule resourceName := "aws_cloudwatch_contributor_insight_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1803,6 +1819,7 @@ func TestAccCloudWatchContributorInsightRule_tags_DefaultTags_nullNonOverlapping func TestAccCloudWatchContributorInsightRule_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.InsightRule resourceName := "aws_cloudwatch_contributor_insight_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1863,6 +1880,7 @@ func TestAccCloudWatchContributorInsightRule_tags_ComputedTag_OnCreate(t *testin func TestAccCloudWatchContributorInsightRule_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.InsightRule resourceName := "aws_cloudwatch_contributor_insight_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1965,6 +1983,7 @@ func TestAccCloudWatchContributorInsightRule_tags_ComputedTag_OnUpdate_Add(t *te func TestAccCloudWatchContributorInsightRule_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.InsightRule resourceName := "aws_cloudwatch_contributor_insight_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2057,6 +2076,7 @@ func TestAccCloudWatchContributorInsightRule_tags_ComputedTag_OnUpdate_Replace(t func TestAccCloudWatchContributorInsightRule_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.InsightRule resourceName := "aws_cloudwatch_contributor_insight_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2219,6 +2239,7 @@ func TestAccCloudWatchContributorInsightRule_tags_IgnoreTags_Overlap_DefaultTag( func TestAccCloudWatchContributorInsightRule_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.InsightRule resourceName := "aws_cloudwatch_contributor_insight_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/cloudwatch/metric_alarm_tags_gen_test.go b/internal/service/cloudwatch/metric_alarm_tags_gen_test.go index b4a87ecf79f3..e0cc24373c6d 100644 --- a/internal/service/cloudwatch/metric_alarm_tags_gen_test.go +++ b/internal/service/cloudwatch/metric_alarm_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccCloudWatchMetricAlarm_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.MetricAlarm resourceName := "aws_cloudwatch_metric_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccCloudWatchMetricAlarm_tags(t *testing.T) { func TestAccCloudWatchMetricAlarm_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.MetricAlarm resourceName := "aws_cloudwatch_metric_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccCloudWatchMetricAlarm_tags_null(t *testing.T) { func TestAccCloudWatchMetricAlarm_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.MetricAlarm resourceName := "aws_cloudwatch_metric_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccCloudWatchMetricAlarm_tags_EmptyMap(t *testing.T) { func TestAccCloudWatchMetricAlarm_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.MetricAlarm resourceName := "aws_cloudwatch_metric_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccCloudWatchMetricAlarm_tags_AddOnUpdate(t *testing.T) { func TestAccCloudWatchMetricAlarm_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.MetricAlarm resourceName := "aws_cloudwatch_metric_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccCloudWatchMetricAlarm_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccCloudWatchMetricAlarm_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.MetricAlarm resourceName := "aws_cloudwatch_metric_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccCloudWatchMetricAlarm_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccCloudWatchMetricAlarm_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.MetricAlarm resourceName := "aws_cloudwatch_metric_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccCloudWatchMetricAlarm_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccCloudWatchMetricAlarm_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.MetricAlarm resourceName := "aws_cloudwatch_metric_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccCloudWatchMetricAlarm_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccCloudWatchMetricAlarm_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.MetricAlarm resourceName := "aws_cloudwatch_metric_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccCloudWatchMetricAlarm_tags_DefaultTags_nonOverlapping(t *testing.T) func TestAccCloudWatchMetricAlarm_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.MetricAlarm resourceName := "aws_cloudwatch_metric_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccCloudWatchMetricAlarm_tags_DefaultTags_overlapping(t *testing.T) { func TestAccCloudWatchMetricAlarm_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.MetricAlarm resourceName := "aws_cloudwatch_metric_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccCloudWatchMetricAlarm_tags_DefaultTags_updateToProviderOnly(t *testi func TestAccCloudWatchMetricAlarm_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.MetricAlarm resourceName := "aws_cloudwatch_metric_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccCloudWatchMetricAlarm_tags_DefaultTags_updateToResourceOnly(t *testi func TestAccCloudWatchMetricAlarm_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.MetricAlarm resourceName := "aws_cloudwatch_metric_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccCloudWatchMetricAlarm_tags_DefaultTags_emptyResourceTag(t *testing.T func TestAccCloudWatchMetricAlarm_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.MetricAlarm resourceName := "aws_cloudwatch_metric_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccCloudWatchMetricAlarm_tags_DefaultTags_emptyProviderOnlyTag(t *testi func TestAccCloudWatchMetricAlarm_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.MetricAlarm resourceName := "aws_cloudwatch_metric_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccCloudWatchMetricAlarm_tags_DefaultTags_nullOverlappingResourceTag(t func TestAccCloudWatchMetricAlarm_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.MetricAlarm resourceName := "aws_cloudwatch_metric_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccCloudWatchMetricAlarm_tags_DefaultTags_nullNonOverlappingResourceTag func TestAccCloudWatchMetricAlarm_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.MetricAlarm resourceName := "aws_cloudwatch_metric_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccCloudWatchMetricAlarm_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccCloudWatchMetricAlarm_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.MetricAlarm resourceName := "aws_cloudwatch_metric_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccCloudWatchMetricAlarm_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccCloudWatchMetricAlarm_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.MetricAlarm resourceName := "aws_cloudwatch_metric_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccCloudWatchMetricAlarm_tags_ComputedTag_OnUpdate_Replace(t *testing.T func TestAccCloudWatchMetricAlarm_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.MetricAlarm resourceName := "aws_cloudwatch_metric_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccCloudWatchMetricAlarm_tags_IgnoreTags_Overlap_DefaultTag(t *testing. func TestAccCloudWatchMetricAlarm_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.MetricAlarm resourceName := "aws_cloudwatch_metric_alarm.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/cloudwatch/metric_stream_tags_gen_test.go b/internal/service/cloudwatch/metric_stream_tags_gen_test.go index 2fe768c1ce79..4c65e23880d2 100644 --- a/internal/service/cloudwatch/metric_stream_tags_gen_test.go +++ b/internal/service/cloudwatch/metric_stream_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccCloudWatchMetricStream_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_metric_stream.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -198,6 +199,7 @@ func TestAccCloudWatchMetricStream_tags(t *testing.T) { func TestAccCloudWatchMetricStream_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_metric_stream.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -264,6 +266,7 @@ func TestAccCloudWatchMetricStream_tags_null(t *testing.T) { func TestAccCloudWatchMetricStream_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_metric_stream.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -326,6 +329,7 @@ func TestAccCloudWatchMetricStream_tags_EmptyMap(t *testing.T) { func TestAccCloudWatchMetricStream_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_metric_stream.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccCloudWatchMetricStream_tags_AddOnUpdate(t *testing.T) { func TestAccCloudWatchMetricStream_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_metric_stream.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -494,6 +499,7 @@ func TestAccCloudWatchMetricStream_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccCloudWatchMetricStream_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_metric_stream.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -630,6 +636,7 @@ func TestAccCloudWatchMetricStream_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccCloudWatchMetricStream_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_metric_stream.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -718,6 +725,7 @@ func TestAccCloudWatchMetricStream_tags_EmptyTag_OnUpdate_Replace(t *testing.T) func TestAccCloudWatchMetricStream_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_metric_stream.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -898,6 +906,7 @@ func TestAccCloudWatchMetricStream_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccCloudWatchMetricStream_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_metric_stream.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1057,6 +1066,7 @@ func TestAccCloudWatchMetricStream_tags_DefaultTags_nonOverlapping(t *testing.T) func TestAccCloudWatchMetricStream_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_metric_stream.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1232,6 +1242,7 @@ func TestAccCloudWatchMetricStream_tags_DefaultTags_overlapping(t *testing.T) { func TestAccCloudWatchMetricStream_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_metric_stream.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1321,6 +1332,7 @@ func TestAccCloudWatchMetricStream_tags_DefaultTags_updateToProviderOnly(t *test func TestAccCloudWatchMetricStream_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_metric_stream.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1409,6 +1421,7 @@ func TestAccCloudWatchMetricStream_tags_DefaultTags_updateToResourceOnly(t *test func TestAccCloudWatchMetricStream_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_metric_stream.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccCloudWatchMetricStream_tags_DefaultTags_emptyResourceTag(t *testing. func TestAccCloudWatchMetricStream_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_metric_stream.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1529,6 +1543,7 @@ func TestAccCloudWatchMetricStream_tags_DefaultTags_emptyProviderOnlyTag(t *test func TestAccCloudWatchMetricStream_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_metric_stream.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1590,6 +1605,7 @@ func TestAccCloudWatchMetricStream_tags_DefaultTags_nullOverlappingResourceTag(t func TestAccCloudWatchMetricStream_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_metric_stream.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1651,6 +1667,7 @@ func TestAccCloudWatchMetricStream_tags_DefaultTags_nullNonOverlappingResourceTa func TestAccCloudWatchMetricStream_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_metric_stream.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1705,6 +1722,7 @@ func TestAccCloudWatchMetricStream_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccCloudWatchMetricStream_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_metric_stream.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1801,6 +1819,7 @@ func TestAccCloudWatchMetricStream_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccCloudWatchMetricStream_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_metric_stream.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1887,6 +1906,7 @@ func TestAccCloudWatchMetricStream_tags_ComputedTag_OnUpdate_Replace(t *testing. func TestAccCloudWatchMetricStream_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_metric_stream.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2048,6 +2068,7 @@ func TestAccCloudWatchMetricStream_tags_IgnoreTags_Overlap_DefaultTag(t *testing func TestAccCloudWatchMetricStream_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_cloudwatch_metric_stream.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/codeartifact/domain_identity_gen_test.go b/internal/service/codeartifact/domain_identity_gen_test.go index 7cb63b1f821d..d2f90ac97d38 100644 --- a/internal/service/codeartifact/domain_identity_gen_test.go +++ b/internal/service/codeartifact/domain_identity_gen_test.go @@ -33,6 +33,7 @@ func testAccCodeArtifactDomain_IdentitySerial(t *testing.T) { func testAccCodeArtifactDomain_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_codeartifact_domain.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -239,6 +240,7 @@ func testAccCodeArtifactDomain_Identity_RegionOverride(t *testing.T) { func testAccCodeArtifactDomain_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_codeartifact_domain.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/codeartifact/domain_permissions_policy_identity_gen_test.go b/internal/service/codeartifact/domain_permissions_policy_identity_gen_test.go index 6e658290e129..cc6c8cb9c221 100644 --- a/internal/service/codeartifact/domain_permissions_policy_identity_gen_test.go +++ b/internal/service/codeartifact/domain_permissions_policy_identity_gen_test.go @@ -33,6 +33,7 @@ func testAccCodeArtifactDomainPermissionsPolicy_IdentitySerial(t *testing.T) { func testAccCodeArtifactDomainPermissionsPolicy_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_codeartifact_domain_permissions_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -237,6 +238,7 @@ func testAccCodeArtifactDomainPermissionsPolicy_Identity_RegionOverride(t *testi func testAccCodeArtifactDomainPermissionsPolicy_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_codeartifact_domain_permissions_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/codeartifact/repository_identity_gen_test.go b/internal/service/codeartifact/repository_identity_gen_test.go index c58eab0f8a15..a878d0813ddf 100644 --- a/internal/service/codeartifact/repository_identity_gen_test.go +++ b/internal/service/codeartifact/repository_identity_gen_test.go @@ -33,6 +33,7 @@ func testAccCodeArtifactRepository_IdentitySerial(t *testing.T) { func testAccCodeArtifactRepository_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_codeartifact_repository.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -239,6 +240,7 @@ func testAccCodeArtifactRepository_Identity_RegionOverride(t *testing.T) { func testAccCodeArtifactRepository_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_codeartifact_repository.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/codeartifact/repository_permissions_policy_identity_gen_test.go b/internal/service/codeartifact/repository_permissions_policy_identity_gen_test.go index 08b151290337..95910c98a401 100644 --- a/internal/service/codeartifact/repository_permissions_policy_identity_gen_test.go +++ b/internal/service/codeartifact/repository_permissions_policy_identity_gen_test.go @@ -33,6 +33,7 @@ func testAccCodeArtifactRepositoryPermissionsPolicy_IdentitySerial(t *testing.T) func testAccCodeArtifactRepositoryPermissionsPolicy_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_codeartifact_repository_permissions_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -237,6 +238,7 @@ func testAccCodeArtifactRepositoryPermissionsPolicy_Identity_RegionOverride(t *t func testAccCodeArtifactRepositoryPermissionsPolicy_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_codeartifact_repository_permissions_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/codebuild/fleet_identity_gen_test.go b/internal/service/codebuild/fleet_identity_gen_test.go index 79001c2d2b4e..0e92ce796086 100644 --- a/internal/service/codebuild/fleet_identity_gen_test.go +++ b/internal/service/codebuild/fleet_identity_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccCodeBuildFleet_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_codebuild_fleet.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -225,6 +226,7 @@ func TestAccCodeBuildFleet_Identity_RegionOverride(t *testing.T) { func TestAccCodeBuildFleet_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_codebuild_fleet.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/codeconnections/connection_tags_gen_test.go b/internal/service/codeconnections/connection_tags_gen_test.go index 74f3de0814af..ee2211c3a2f8 100644 --- a/internal/service/codeconnections/connection_tags_gen_test.go +++ b/internal/service/codeconnections/connection_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccCodeConnectionsConnection_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.Connection resourceName := "aws_codeconnections_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccCodeConnectionsConnection_tags(t *testing.T) { func TestAccCodeConnectionsConnection_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.Connection resourceName := "aws_codeconnections_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -262,6 +264,7 @@ func TestAccCodeConnectionsConnection_tags_null(t *testing.T) { func TestAccCodeConnectionsConnection_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.Connection resourceName := "aws_codeconnections_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -312,6 +315,7 @@ func TestAccCodeConnectionsConnection_tags_EmptyMap(t *testing.T) { func TestAccCodeConnectionsConnection_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.Connection resourceName := "aws_codeconnections_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -392,6 +396,7 @@ func TestAccCodeConnectionsConnection_tags_AddOnUpdate(t *testing.T) { func TestAccCodeConnectionsConnection_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.Connection resourceName := "aws_codeconnections_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -482,6 +487,7 @@ func TestAccCodeConnectionsConnection_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccCodeConnectionsConnection_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.Connection resourceName := "aws_codeconnections_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -621,6 +627,7 @@ func TestAccCodeConnectionsConnection_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccCodeConnectionsConnection_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.Connection resourceName := "aws_codeconnections_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -711,6 +718,7 @@ func TestAccCodeConnectionsConnection_tags_EmptyTag_OnUpdate_Replace(t *testing. func TestAccCodeConnectionsConnection_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.Connection resourceName := "aws_codeconnections_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -892,6 +900,7 @@ func TestAccCodeConnectionsConnection_tags_DefaultTags_providerOnly(t *testing.T func TestAccCodeConnectionsConnection_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.Connection resourceName := "aws_codeconnections_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1052,6 +1061,7 @@ func TestAccCodeConnectionsConnection_tags_DefaultTags_nonOverlapping(t *testing func TestAccCodeConnectionsConnection_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.Connection resourceName := "aws_codeconnections_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1228,6 +1238,7 @@ func TestAccCodeConnectionsConnection_tags_DefaultTags_overlapping(t *testing.T) func TestAccCodeConnectionsConnection_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.Connection resourceName := "aws_codeconnections_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1318,6 +1329,7 @@ func TestAccCodeConnectionsConnection_tags_DefaultTags_updateToProviderOnly(t *t func TestAccCodeConnectionsConnection_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.Connection resourceName := "aws_codeconnections_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1407,6 +1419,7 @@ func TestAccCodeConnectionsConnection_tags_DefaultTags_updateToResourceOnly(t *t func TestAccCodeConnectionsConnection_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Connection resourceName := "aws_codeconnections_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccCodeConnectionsConnection_tags_DefaultTags_emptyResourceTag(t *testi func TestAccCodeConnectionsConnection_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Connection resourceName := "aws_codeconnections_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1531,6 +1545,7 @@ func TestAccCodeConnectionsConnection_tags_DefaultTags_emptyProviderOnlyTag(t *t func TestAccCodeConnectionsConnection_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Connection resourceName := "aws_codeconnections_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1600,6 +1615,7 @@ func TestAccCodeConnectionsConnection_tags_DefaultTags_nullOverlappingResourceTa func TestAccCodeConnectionsConnection_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Connection resourceName := "aws_codeconnections_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1671,6 +1687,7 @@ func TestAccCodeConnectionsConnection_tags_DefaultTags_nullNonOverlappingResourc func TestAccCodeConnectionsConnection_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.Connection resourceName := "aws_codeconnections_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1726,6 +1743,7 @@ func TestAccCodeConnectionsConnection_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccCodeConnectionsConnection_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.Connection resourceName := "aws_codeconnections_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1823,6 +1841,7 @@ func TestAccCodeConnectionsConnection_tags_ComputedTag_OnUpdate_Add(t *testing.T func TestAccCodeConnectionsConnection_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.Connection resourceName := "aws_codeconnections_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1929,7 @@ func TestAccCodeConnectionsConnection_tags_ComputedTag_OnUpdate_Replace(t *testi func TestAccCodeConnectionsConnection_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Connection resourceName := "aws_codeconnections_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2072,6 +2092,7 @@ func TestAccCodeConnectionsConnection_tags_IgnoreTags_Overlap_DefaultTag(t *test func TestAccCodeConnectionsConnection_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Connection resourceName := "aws_codeconnections_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/codeconnections/host_tags_gen_test.go b/internal/service/codeconnections/host_tags_gen_test.go index 07199032c979..a1cb2684a20b 100644 --- a/internal/service/codeconnections/host_tags_gen_test.go +++ b/internal/service/codeconnections/host_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccCodeConnectionsHost_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.Host resourceName := "aws_codeconnections_host.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccCodeConnectionsHost_tags(t *testing.T) { func TestAccCodeConnectionsHost_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.Host resourceName := "aws_codeconnections_host.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -262,6 +264,7 @@ func TestAccCodeConnectionsHost_tags_null(t *testing.T) { func TestAccCodeConnectionsHost_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.Host resourceName := "aws_codeconnections_host.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -312,6 +315,7 @@ func TestAccCodeConnectionsHost_tags_EmptyMap(t *testing.T) { func TestAccCodeConnectionsHost_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.Host resourceName := "aws_codeconnections_host.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -392,6 +396,7 @@ func TestAccCodeConnectionsHost_tags_AddOnUpdate(t *testing.T) { func TestAccCodeConnectionsHost_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.Host resourceName := "aws_codeconnections_host.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -482,6 +487,7 @@ func TestAccCodeConnectionsHost_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccCodeConnectionsHost_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.Host resourceName := "aws_codeconnections_host.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -621,6 +627,7 @@ func TestAccCodeConnectionsHost_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccCodeConnectionsHost_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.Host resourceName := "aws_codeconnections_host.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -711,6 +718,7 @@ func TestAccCodeConnectionsHost_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccCodeConnectionsHost_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.Host resourceName := "aws_codeconnections_host.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -892,6 +900,7 @@ func TestAccCodeConnectionsHost_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccCodeConnectionsHost_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.Host resourceName := "aws_codeconnections_host.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1052,6 +1061,7 @@ func TestAccCodeConnectionsHost_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccCodeConnectionsHost_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.Host resourceName := "aws_codeconnections_host.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1228,6 +1238,7 @@ func TestAccCodeConnectionsHost_tags_DefaultTags_overlapping(t *testing.T) { func TestAccCodeConnectionsHost_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.Host resourceName := "aws_codeconnections_host.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1318,6 +1329,7 @@ func TestAccCodeConnectionsHost_tags_DefaultTags_updateToProviderOnly(t *testing func TestAccCodeConnectionsHost_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.Host resourceName := "aws_codeconnections_host.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1407,6 +1419,7 @@ func TestAccCodeConnectionsHost_tags_DefaultTags_updateToResourceOnly(t *testing func TestAccCodeConnectionsHost_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Host resourceName := "aws_codeconnections_host.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccCodeConnectionsHost_tags_DefaultTags_emptyResourceTag(t *testing.T) func TestAccCodeConnectionsHost_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Host resourceName := "aws_codeconnections_host.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1531,6 +1545,7 @@ func TestAccCodeConnectionsHost_tags_DefaultTags_emptyProviderOnlyTag(t *testing func TestAccCodeConnectionsHost_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Host resourceName := "aws_codeconnections_host.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1600,6 +1615,7 @@ func TestAccCodeConnectionsHost_tags_DefaultTags_nullOverlappingResourceTag(t *t func TestAccCodeConnectionsHost_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Host resourceName := "aws_codeconnections_host.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1671,6 +1687,7 @@ func TestAccCodeConnectionsHost_tags_DefaultTags_nullNonOverlappingResourceTag(t func TestAccCodeConnectionsHost_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.Host resourceName := "aws_codeconnections_host.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1726,6 +1743,7 @@ func TestAccCodeConnectionsHost_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccCodeConnectionsHost_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.Host resourceName := "aws_codeconnections_host.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1823,6 +1841,7 @@ func TestAccCodeConnectionsHost_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccCodeConnectionsHost_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.Host resourceName := "aws_codeconnections_host.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1929,7 @@ func TestAccCodeConnectionsHost_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func TestAccCodeConnectionsHost_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Host resourceName := "aws_codeconnections_host.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2072,6 +2092,7 @@ func TestAccCodeConnectionsHost_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func TestAccCodeConnectionsHost_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Host resourceName := "aws_codeconnections_host.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/codestarnotifications/notification_rule_identity_gen_test.go b/internal/service/codestarnotifications/notification_rule_identity_gen_test.go index 9ff2bec514d9..1be5642513f7 100644 --- a/internal/service/codestarnotifications/notification_rule_identity_gen_test.go +++ b/internal/service/codestarnotifications/notification_rule_identity_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccCodeStarNotificationsNotificationRule_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_codestarnotifications_notification_rule.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -225,6 +226,7 @@ func TestAccCodeStarNotificationsNotificationRule_Identity_RegionOverride(t *tes func TestAccCodeStarNotificationsNotificationRule_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_codestarnotifications_notification_rule.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/cognitoidp/user_pool_data_source_tags_gen_test.go b/internal/service/cognitoidp/user_pool_data_source_tags_gen_test.go index 87120e1559e9..98eeeff2a1f3 100644 --- a/internal/service/cognitoidp/user_pool_data_source_tags_gen_test.go +++ b/internal/service/cognitoidp/user_pool_data_source_tags_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccCognitoIDPUserPoolDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_cognito_user_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -49,6 +50,7 @@ func TestAccCognitoIDPUserPoolDataSource_tags(t *testing.T) { func TestAccCognitoIDPUserPoolDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_cognito_user_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -73,6 +75,7 @@ func TestAccCognitoIDPUserPoolDataSource_tags_NullMap(t *testing.T) { func TestAccCognitoIDPUserPoolDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_cognito_user_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -97,6 +100,7 @@ func TestAccCognitoIDPUserPoolDataSource_tags_EmptyMap(t *testing.T) { func TestAccCognitoIDPUserPoolDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_cognito_user_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -129,6 +133,7 @@ func TestAccCognitoIDPUserPoolDataSource_tags_DefaultTags_nonOverlapping(t *test func TestAccCognitoIDPUserPoolDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_cognito_user_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -167,6 +172,7 @@ func TestAccCognitoIDPUserPoolDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *t func TestAccCognitoIDPUserPoolDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_cognito_user_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/cognitoidp/user_pool_tags_gen_test.go b/internal/service/cognitoidp/user_pool_tags_gen_test.go index 007d1421413e..bba310e219c3 100644 --- a/internal/service/cognitoidp/user_pool_tags_gen_test.go +++ b/internal/service/cognitoidp/user_pool_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccCognitoIDPUserPool_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.UserPoolType resourceName := "aws_cognito_user_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccCognitoIDPUserPool_tags(t *testing.T) { func TestAccCognitoIDPUserPool_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.UserPoolType resourceName := "aws_cognito_user_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccCognitoIDPUserPool_tags_null(t *testing.T) { func TestAccCognitoIDPUserPool_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.UserPoolType resourceName := "aws_cognito_user_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccCognitoIDPUserPool_tags_EmptyMap(t *testing.T) { func TestAccCognitoIDPUserPool_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.UserPoolType resourceName := "aws_cognito_user_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccCognitoIDPUserPool_tags_AddOnUpdate(t *testing.T) { func TestAccCognitoIDPUserPool_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.UserPoolType resourceName := "aws_cognito_user_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccCognitoIDPUserPool_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccCognitoIDPUserPool_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.UserPoolType resourceName := "aws_cognito_user_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccCognitoIDPUserPool_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccCognitoIDPUserPool_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.UserPoolType resourceName := "aws_cognito_user_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccCognitoIDPUserPool_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccCognitoIDPUserPool_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.UserPoolType resourceName := "aws_cognito_user_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccCognitoIDPUserPool_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccCognitoIDPUserPool_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.UserPoolType resourceName := "aws_cognito_user_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccCognitoIDPUserPool_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccCognitoIDPUserPool_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.UserPoolType resourceName := "aws_cognito_user_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccCognitoIDPUserPool_tags_DefaultTags_overlapping(t *testing.T) { func TestAccCognitoIDPUserPool_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.UserPoolType resourceName := "aws_cognito_user_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccCognitoIDPUserPool_tags_DefaultTags_updateToProviderOnly(t *testing. func TestAccCognitoIDPUserPool_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.UserPoolType resourceName := "aws_cognito_user_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccCognitoIDPUserPool_tags_DefaultTags_updateToResourceOnly(t *testing. func TestAccCognitoIDPUserPool_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.UserPoolType resourceName := "aws_cognito_user_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccCognitoIDPUserPool_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccCognitoIDPUserPool_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.UserPoolType resourceName := "aws_cognito_user_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccCognitoIDPUserPool_tags_DefaultTags_emptyProviderOnlyTag(t *testing. func TestAccCognitoIDPUserPool_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.UserPoolType resourceName := "aws_cognito_user_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccCognitoIDPUserPool_tags_DefaultTags_nullOverlappingResourceTag(t *te func TestAccCognitoIDPUserPool_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.UserPoolType resourceName := "aws_cognito_user_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccCognitoIDPUserPool_tags_DefaultTags_nullNonOverlappingResourceTag(t func TestAccCognitoIDPUserPool_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.UserPoolType resourceName := "aws_cognito_user_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccCognitoIDPUserPool_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccCognitoIDPUserPool_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.UserPoolType resourceName := "aws_cognito_user_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccCognitoIDPUserPool_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccCognitoIDPUserPool_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.UserPoolType resourceName := "aws_cognito_user_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccCognitoIDPUserPool_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccCognitoIDPUserPool_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.UserPoolType resourceName := "aws_cognito_user_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccCognitoIDPUserPool_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func TestAccCognitoIDPUserPool_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.UserPoolType resourceName := "aws_cognito_user_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/dataexchange/revision_assets_tags_gen_test.go b/internal/service/dataexchange/revision_assets_tags_gen_test.go index ec154f0f5623..17120f3e1318 100644 --- a/internal/service/dataexchange/revision_assets_tags_gen_test.go +++ b/internal/service/dataexchange/revision_assets_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccDataExchangeRevisionAssets_tags(t *testing.T) { ctx := acctest.Context(t) + var v dataexchange.GetRevisionOutput resourceName := "aws_dataexchange_revision_assets.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -156,6 +157,7 @@ func TestAccDataExchangeRevisionAssets_tags(t *testing.T) { func TestAccDataExchangeRevisionAssets_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v dataexchange.GetRevisionOutput resourceName := "aws_dataexchange_revision_assets.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -203,6 +205,7 @@ func TestAccDataExchangeRevisionAssets_tags_null(t *testing.T) { func TestAccDataExchangeRevisionAssets_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v dataexchange.GetRevisionOutput resourceName := "aws_dataexchange_revision_assets.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -240,6 +243,7 @@ func TestAccDataExchangeRevisionAssets_tags_EmptyMap(t *testing.T) { func TestAccDataExchangeRevisionAssets_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v dataexchange.GetRevisionOutput resourceName := "aws_dataexchange_revision_assets.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -308,6 +312,7 @@ func TestAccDataExchangeRevisionAssets_tags_AddOnUpdate(t *testing.T) { func TestAccDataExchangeRevisionAssets_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v dataexchange.GetRevisionOutput resourceName := "aws_dataexchange_revision_assets.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -377,6 +382,7 @@ func TestAccDataExchangeRevisionAssets_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccDataExchangeRevisionAssets_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v dataexchange.GetRevisionOutput resourceName := "aws_dataexchange_revision_assets.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -492,6 +498,7 @@ func TestAccDataExchangeRevisionAssets_tags_EmptyTag_OnUpdate_Add(t *testing.T) func TestAccDataExchangeRevisionAssets_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v dataexchange.GetRevisionOutput resourceName := "aws_dataexchange_revision_assets.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -570,6 +577,7 @@ func TestAccDataExchangeRevisionAssets_tags_EmptyTag_OnUpdate_Replace(t *testing func TestAccDataExchangeRevisionAssets_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v dataexchange.GetRevisionOutput resourceName := "aws_dataexchange_revision_assets.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -700,6 +708,7 @@ func TestAccDataExchangeRevisionAssets_tags_DefaultTags_providerOnly(t *testing. func TestAccDataExchangeRevisionAssets_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v dataexchange.GetRevisionOutput resourceName := "aws_dataexchange_revision_assets.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -818,6 +827,7 @@ func TestAccDataExchangeRevisionAssets_tags_DefaultTags_nonOverlapping(t *testin func TestAccDataExchangeRevisionAssets_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v dataexchange.GetRevisionOutput resourceName := "aws_dataexchange_revision_assets.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -946,6 +956,7 @@ func TestAccDataExchangeRevisionAssets_tags_DefaultTags_overlapping(t *testing.T func TestAccDataExchangeRevisionAssets_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v dataexchange.GetRevisionOutput resourceName := "aws_dataexchange_revision_assets.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1022,6 +1033,7 @@ func TestAccDataExchangeRevisionAssets_tags_DefaultTags_updateToProviderOnly(t * func TestAccDataExchangeRevisionAssets_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v dataexchange.GetRevisionOutput resourceName := "aws_dataexchange_revision_assets.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1098,6 +1110,7 @@ func TestAccDataExchangeRevisionAssets_tags_DefaultTags_updateToResourceOnly(t * func TestAccDataExchangeRevisionAssets_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v dataexchange.GetRevisionOutput resourceName := "aws_dataexchange_revision_assets.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1148,6 +1161,7 @@ func TestAccDataExchangeRevisionAssets_tags_DefaultTags_emptyResourceTag(t *test func TestAccDataExchangeRevisionAssets_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v dataexchange.GetRevisionOutput resourceName := "aws_dataexchange_revision_assets.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1192,6 +1206,7 @@ func TestAccDataExchangeRevisionAssets_tags_DefaultTags_emptyProviderOnlyTag(t * func TestAccDataExchangeRevisionAssets_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v dataexchange.GetRevisionOutput resourceName := "aws_dataexchange_revision_assets.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1242,6 +1257,7 @@ func TestAccDataExchangeRevisionAssets_tags_DefaultTags_nullOverlappingResourceT func TestAccDataExchangeRevisionAssets_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v dataexchange.GetRevisionOutput resourceName := "aws_dataexchange_revision_assets.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1294,6 +1310,7 @@ func TestAccDataExchangeRevisionAssets_tags_DefaultTags_nullNonOverlappingResour func TestAccDataExchangeRevisionAssets_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v dataexchange.GetRevisionOutput resourceName := "aws_dataexchange_revision_assets.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1338,6 +1355,7 @@ func TestAccDataExchangeRevisionAssets_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccDataExchangeRevisionAssets_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v dataexchange.GetRevisionOutput resourceName := "aws_dataexchange_revision_assets.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1440,7 @@ func TestAccDataExchangeRevisionAssets_tags_ComputedTag_OnUpdate_Add(t *testing. func TestAccDataExchangeRevisionAssets_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v dataexchange.GetRevisionOutput resourceName := "aws_dataexchange_revision_assets.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1498,6 +1517,7 @@ func TestAccDataExchangeRevisionAssets_tags_ComputedTag_OnUpdate_Replace(t *test func TestAccDataExchangeRevisionAssets_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v dataexchange.GetRevisionOutput resourceName := "aws_dataexchange_revision_assets.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1660,6 +1680,7 @@ func TestAccDataExchangeRevisionAssets_tags_IgnoreTags_Overlap_DefaultTag(t *tes func TestAccDataExchangeRevisionAssets_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v dataexchange.GetRevisionOutput resourceName := "aws_dataexchange_revision_assets.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/datapipeline/pipeline_data_source_tags_gen_test.go b/internal/service/datapipeline/pipeline_data_source_tags_gen_test.go index 4e8213d47990..86ed0cbdbaaf 100644 --- a/internal/service/datapipeline/pipeline_data_source_tags_gen_test.go +++ b/internal/service/datapipeline/pipeline_data_source_tags_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccDataPipelinePipelineDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_datapipeline_pipeline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -49,6 +50,7 @@ func TestAccDataPipelinePipelineDataSource_tags(t *testing.T) { func TestAccDataPipelinePipelineDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_datapipeline_pipeline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -73,6 +75,7 @@ func TestAccDataPipelinePipelineDataSource_tags_NullMap(t *testing.T) { func TestAccDataPipelinePipelineDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_datapipeline_pipeline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -97,6 +100,7 @@ func TestAccDataPipelinePipelineDataSource_tags_EmptyMap(t *testing.T) { func TestAccDataPipelinePipelineDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_datapipeline_pipeline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -129,6 +133,7 @@ func TestAccDataPipelinePipelineDataSource_tags_DefaultTags_nonOverlapping(t *te func TestAccDataPipelinePipelineDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_datapipeline_pipeline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -167,6 +172,7 @@ func TestAccDataPipelinePipelineDataSource_tags_IgnoreTags_Overlap_DefaultTag(t func TestAccDataPipelinePipelineDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_datapipeline_pipeline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/datapipeline/pipeline_tags_gen_test.go b/internal/service/datapipeline/pipeline_tags_gen_test.go index 5e56b32a7775..dc0399d0e3f4 100644 --- a/internal/service/datapipeline/pipeline_tags_gen_test.go +++ b/internal/service/datapipeline/pipeline_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccDataPipelinePipeline_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.PipelineDescription resourceName := "aws_datapipeline_pipeline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccDataPipelinePipeline_tags(t *testing.T) { func TestAccDataPipelinePipeline_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.PipelineDescription resourceName := "aws_datapipeline_pipeline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccDataPipelinePipeline_tags_null(t *testing.T) { func TestAccDataPipelinePipeline_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.PipelineDescription resourceName := "aws_datapipeline_pipeline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccDataPipelinePipeline_tags_EmptyMap(t *testing.T) { func TestAccDataPipelinePipeline_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.PipelineDescription resourceName := "aws_datapipeline_pipeline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccDataPipelinePipeline_tags_AddOnUpdate(t *testing.T) { func TestAccDataPipelinePipeline_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.PipelineDescription resourceName := "aws_datapipeline_pipeline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccDataPipelinePipeline_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccDataPipelinePipeline_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.PipelineDescription resourceName := "aws_datapipeline_pipeline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccDataPipelinePipeline_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccDataPipelinePipeline_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.PipelineDescription resourceName := "aws_datapipeline_pipeline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccDataPipelinePipeline_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccDataPipelinePipeline_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.PipelineDescription resourceName := "aws_datapipeline_pipeline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccDataPipelinePipeline_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccDataPipelinePipeline_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.PipelineDescription resourceName := "aws_datapipeline_pipeline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccDataPipelinePipeline_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccDataPipelinePipeline_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.PipelineDescription resourceName := "aws_datapipeline_pipeline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccDataPipelinePipeline_tags_DefaultTags_overlapping(t *testing.T) { func TestAccDataPipelinePipeline_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.PipelineDescription resourceName := "aws_datapipeline_pipeline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccDataPipelinePipeline_tags_DefaultTags_updateToProviderOnly(t *testin func TestAccDataPipelinePipeline_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.PipelineDescription resourceName := "aws_datapipeline_pipeline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccDataPipelinePipeline_tags_DefaultTags_updateToResourceOnly(t *testin func TestAccDataPipelinePipeline_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.PipelineDescription resourceName := "aws_datapipeline_pipeline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccDataPipelinePipeline_tags_DefaultTags_emptyResourceTag(t *testing.T) func TestAccDataPipelinePipeline_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.PipelineDescription resourceName := "aws_datapipeline_pipeline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccDataPipelinePipeline_tags_DefaultTags_emptyProviderOnlyTag(t *testin func TestAccDataPipelinePipeline_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.PipelineDescription resourceName := "aws_datapipeline_pipeline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccDataPipelinePipeline_tags_DefaultTags_nullOverlappingResourceTag(t * func TestAccDataPipelinePipeline_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.PipelineDescription resourceName := "aws_datapipeline_pipeline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccDataPipelinePipeline_tags_DefaultTags_nullNonOverlappingResourceTag( func TestAccDataPipelinePipeline_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.PipelineDescription resourceName := "aws_datapipeline_pipeline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccDataPipelinePipeline_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccDataPipelinePipeline_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.PipelineDescription resourceName := "aws_datapipeline_pipeline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccDataPipelinePipeline_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccDataPipelinePipeline_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.PipelineDescription resourceName := "aws_datapipeline_pipeline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccDataPipelinePipeline_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func TestAccDataPipelinePipeline_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.PipelineDescription resourceName := "aws_datapipeline_pipeline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccDataPipelinePipeline_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T func TestAccDataPipelinePipeline_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.PipelineDescription resourceName := "aws_datapipeline_pipeline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/devopsguru/service_integration_identity_gen_test.go b/internal/service/devopsguru/service_integration_identity_gen_test.go index 0f5c98a2d0c2..97443511987a 100644 --- a/internal/service/devopsguru/service_integration_identity_gen_test.go +++ b/internal/service/devopsguru/service_integration_identity_gen_test.go @@ -33,6 +33,7 @@ func testAccDevOpsGuruServiceIntegration_IdentitySerial(t *testing.T) { func testAccDevOpsGuruServiceIntegration_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_devopsguru_service_integration.test" resource.Test(t, resource.TestCase{ @@ -222,6 +223,7 @@ func testAccDevOpsGuruServiceIntegration_Identity_RegionOverride(t *testing.T) { func testAccDevOpsGuruServiceIntegration_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_devopsguru_service_integration.test" resource.Test(t, resource.TestCase{ diff --git a/internal/service/dms/certificate_data_source_tags_gen_test.go b/internal/service/dms/certificate_data_source_tags_gen_test.go index 2fe68ba7a644..28cae691c381 100644 --- a/internal/service/dms/certificate_data_source_tags_gen_test.go +++ b/internal/service/dms/certificate_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccDMSCertificateDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -44,6 +45,7 @@ func TestAccDMSCertificateDataSource_tags(t *testing.T) { func TestAccDMSCertificateDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -68,6 +70,7 @@ func TestAccDMSCertificateDataSource_tags_NullMap(t *testing.T) { func TestAccDMSCertificateDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -92,6 +95,7 @@ func TestAccDMSCertificateDataSource_tags_EmptyMap(t *testing.T) { func TestAccDMSCertificateDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -124,6 +128,7 @@ func TestAccDMSCertificateDataSource_tags_DefaultTags_nonOverlapping(t *testing. func TestAccDMSCertificateDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -162,6 +167,7 @@ func TestAccDMSCertificateDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testi func TestAccDMSCertificateDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/dms/certificate_tags_gen_test.go b/internal/service/dms/certificate_tags_gen_test.go index 1c913d1e01f3..6f45e0bd6ec1 100644 --- a/internal/service/dms/certificate_tags_gen_test.go +++ b/internal/service/dms/certificate_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccDMSCertificate_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -198,6 +199,7 @@ func TestAccDMSCertificate_tags(t *testing.T) { func TestAccDMSCertificate_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -264,6 +266,7 @@ func TestAccDMSCertificate_tags_null(t *testing.T) { func TestAccDMSCertificate_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -326,6 +329,7 @@ func TestAccDMSCertificate_tags_EmptyMap(t *testing.T) { func TestAccDMSCertificate_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccDMSCertificate_tags_AddOnUpdate(t *testing.T) { func TestAccDMSCertificate_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -494,6 +499,7 @@ func TestAccDMSCertificate_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccDMSCertificate_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -630,6 +636,7 @@ func TestAccDMSCertificate_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccDMSCertificate_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -718,6 +725,7 @@ func TestAccDMSCertificate_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccDMSCertificate_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -898,6 +906,7 @@ func TestAccDMSCertificate_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccDMSCertificate_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1057,6 +1066,7 @@ func TestAccDMSCertificate_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccDMSCertificate_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1232,6 +1242,7 @@ func TestAccDMSCertificate_tags_DefaultTags_overlapping(t *testing.T) { func TestAccDMSCertificate_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1321,6 +1332,7 @@ func TestAccDMSCertificate_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccDMSCertificate_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1409,6 +1421,7 @@ func TestAccDMSCertificate_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccDMSCertificate_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccDMSCertificate_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccDMSCertificate_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1529,6 +1543,7 @@ func TestAccDMSCertificate_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccDMSCertificate_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1590,6 +1605,7 @@ func TestAccDMSCertificate_tags_DefaultTags_nullOverlappingResourceTag(t *testin func TestAccDMSCertificate_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1651,6 +1667,7 @@ func TestAccDMSCertificate_tags_DefaultTags_nullNonOverlappingResourceTag(t *tes func TestAccDMSCertificate_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1705,6 +1722,7 @@ func TestAccDMSCertificate_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccDMSCertificate_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1801,6 +1819,7 @@ func TestAccDMSCertificate_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccDMSCertificate_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1887,6 +1906,7 @@ func TestAccDMSCertificate_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccDMSCertificate_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2048,6 +2068,7 @@ func TestAccDMSCertificate_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccDMSCertificate_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/dms/endpoint_data_source_tags_gen_test.go b/internal/service/dms/endpoint_data_source_tags_gen_test.go index 6e0022939547..05f89e60f6f8 100644 --- a/internal/service/dms/endpoint_data_source_tags_gen_test.go +++ b/internal/service/dms/endpoint_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccDMSEndpointDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -44,6 +45,7 @@ func TestAccDMSEndpointDataSource_tags(t *testing.T) { func TestAccDMSEndpointDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -68,6 +70,7 @@ func TestAccDMSEndpointDataSource_tags_NullMap(t *testing.T) { func TestAccDMSEndpointDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -92,6 +95,7 @@ func TestAccDMSEndpointDataSource_tags_EmptyMap(t *testing.T) { func TestAccDMSEndpointDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -124,6 +128,7 @@ func TestAccDMSEndpointDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) func TestAccDMSEndpointDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -162,6 +167,7 @@ func TestAccDMSEndpointDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing. func TestAccDMSEndpointDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/dms/endpoint_tags_gen_test.go b/internal/service/dms/endpoint_tags_gen_test.go index dedd4ecea3fa..1a333cf53f09 100644 --- a/internal/service/dms/endpoint_tags_gen_test.go +++ b/internal/service/dms/endpoint_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccDMSEndpoint_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -210,6 +211,7 @@ func TestAccDMSEndpoint_tags(t *testing.T) { func TestAccDMSEndpoint_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -279,6 +281,7 @@ func TestAccDMSEndpoint_tags_null(t *testing.T) { func TestAccDMSEndpoint_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -344,6 +347,7 @@ func TestAccDMSEndpoint_tags_EmptyMap(t *testing.T) { func TestAccDMSEndpoint_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -427,6 +431,7 @@ func TestAccDMSEndpoint_tags_AddOnUpdate(t *testing.T) { func TestAccDMSEndpoint_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -521,6 +526,7 @@ func TestAccDMSEndpoint_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccDMSEndpoint_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -663,6 +669,7 @@ func TestAccDMSEndpoint_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccDMSEndpoint_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -754,6 +761,7 @@ func TestAccDMSEndpoint_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccDMSEndpoint_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -946,6 +954,7 @@ func TestAccDMSEndpoint_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccDMSEndpoint_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1114,6 +1123,7 @@ func TestAccDMSEndpoint_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccDMSEndpoint_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1298,6 +1308,7 @@ func TestAccDMSEndpoint_tags_DefaultTags_overlapping(t *testing.T) { func TestAccDMSEndpoint_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1390,6 +1401,7 @@ func TestAccDMSEndpoint_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccDMSEndpoint_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1481,6 +1493,7 @@ func TestAccDMSEndpoint_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccDMSEndpoint_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1548,6 +1561,7 @@ func TestAccDMSEndpoint_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccDMSEndpoint_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1607,6 +1621,7 @@ func TestAccDMSEndpoint_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccDMSEndpoint_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1671,6 +1686,7 @@ func TestAccDMSEndpoint_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T func TestAccDMSEndpoint_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1735,6 +1751,7 @@ func TestAccDMSEndpoint_tags_DefaultTags_nullNonOverlappingResourceTag(t *testin func TestAccDMSEndpoint_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1792,6 +1809,7 @@ func TestAccDMSEndpoint_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccDMSEndpoint_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1891,6 +1909,7 @@ func TestAccDMSEndpoint_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccDMSEndpoint_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1980,6 +1999,7 @@ func TestAccDMSEndpoint_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccDMSEndpoint_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2141,6 +2161,7 @@ func TestAccDMSEndpoint_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccDMSEndpoint_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/dms/event_subscription_tags_gen_test.go b/internal/service/dms/event_subscription_tags_gen_test.go index 4c92d5236178..266389f8cd4a 100644 --- a/internal/service/dms/event_subscription_tags_gen_test.go +++ b/internal/service/dms/event_subscription_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccDMSEventSubscription_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.EventSubscription resourceName := "aws_dms_event_subscription.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccDMSEventSubscription_tags(t *testing.T) { func TestAccDMSEventSubscription_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.EventSubscription resourceName := "aws_dms_event_subscription.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccDMSEventSubscription_tags_null(t *testing.T) { func TestAccDMSEventSubscription_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.EventSubscription resourceName := "aws_dms_event_subscription.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccDMSEventSubscription_tags_EmptyMap(t *testing.T) { func TestAccDMSEventSubscription_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.EventSubscription resourceName := "aws_dms_event_subscription.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccDMSEventSubscription_tags_AddOnUpdate(t *testing.T) { func TestAccDMSEventSubscription_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.EventSubscription resourceName := "aws_dms_event_subscription.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccDMSEventSubscription_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccDMSEventSubscription_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.EventSubscription resourceName := "aws_dms_event_subscription.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccDMSEventSubscription_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccDMSEventSubscription_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.EventSubscription resourceName := "aws_dms_event_subscription.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccDMSEventSubscription_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccDMSEventSubscription_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.EventSubscription resourceName := "aws_dms_event_subscription.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccDMSEventSubscription_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccDMSEventSubscription_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.EventSubscription resourceName := "aws_dms_event_subscription.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccDMSEventSubscription_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccDMSEventSubscription_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.EventSubscription resourceName := "aws_dms_event_subscription.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccDMSEventSubscription_tags_DefaultTags_overlapping(t *testing.T) { func TestAccDMSEventSubscription_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.EventSubscription resourceName := "aws_dms_event_subscription.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccDMSEventSubscription_tags_DefaultTags_updateToProviderOnly(t *testin func TestAccDMSEventSubscription_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.EventSubscription resourceName := "aws_dms_event_subscription.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccDMSEventSubscription_tags_DefaultTags_updateToResourceOnly(t *testin func TestAccDMSEventSubscription_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.EventSubscription resourceName := "aws_dms_event_subscription.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccDMSEventSubscription_tags_DefaultTags_emptyResourceTag(t *testing.T) func TestAccDMSEventSubscription_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.EventSubscription resourceName := "aws_dms_event_subscription.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccDMSEventSubscription_tags_DefaultTags_emptyProviderOnlyTag(t *testin func TestAccDMSEventSubscription_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.EventSubscription resourceName := "aws_dms_event_subscription.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccDMSEventSubscription_tags_DefaultTags_nullOverlappingResourceTag(t * func TestAccDMSEventSubscription_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.EventSubscription resourceName := "aws_dms_event_subscription.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccDMSEventSubscription_tags_DefaultTags_nullNonOverlappingResourceTag( func TestAccDMSEventSubscription_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.EventSubscription resourceName := "aws_dms_event_subscription.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccDMSEventSubscription_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccDMSEventSubscription_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.EventSubscription resourceName := "aws_dms_event_subscription.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccDMSEventSubscription_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccDMSEventSubscription_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.EventSubscription resourceName := "aws_dms_event_subscription.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccDMSEventSubscription_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func TestAccDMSEventSubscription_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.EventSubscription resourceName := "aws_dms_event_subscription.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccDMSEventSubscription_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T func TestAccDMSEventSubscription_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.EventSubscription resourceName := "aws_dms_event_subscription.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/dms/replication_config_tags_gen_test.go b/internal/service/dms/replication_config_tags_gen_test.go index 68c42caaa67d..05d975f3434a 100644 --- a/internal/service/dms/replication_config_tags_gen_test.go +++ b/internal/service/dms/replication_config_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccDMSReplicationConfig_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfig resourceName := "aws_dms_replication_config.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -212,6 +213,7 @@ func TestAccDMSReplicationConfig_tags(t *testing.T) { func TestAccDMSReplicationConfig_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfig resourceName := "aws_dms_replication_config.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -282,6 +284,7 @@ func TestAccDMSReplicationConfig_tags_null(t *testing.T) { func TestAccDMSReplicationConfig_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfig resourceName := "aws_dms_replication_config.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -348,6 +351,7 @@ func TestAccDMSReplicationConfig_tags_EmptyMap(t *testing.T) { func TestAccDMSReplicationConfig_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfig resourceName := "aws_dms_replication_config.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -432,6 +436,7 @@ func TestAccDMSReplicationConfig_tags_AddOnUpdate(t *testing.T) { func TestAccDMSReplicationConfig_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfig resourceName := "aws_dms_replication_config.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -527,6 +532,7 @@ func TestAccDMSReplicationConfig_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccDMSReplicationConfig_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfig resourceName := "aws_dms_replication_config.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -670,6 +676,7 @@ func TestAccDMSReplicationConfig_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccDMSReplicationConfig_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfig resourceName := "aws_dms_replication_config.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -762,6 +769,7 @@ func TestAccDMSReplicationConfig_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccDMSReplicationConfig_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfig resourceName := "aws_dms_replication_config.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -955,6 +963,7 @@ func TestAccDMSReplicationConfig_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccDMSReplicationConfig_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfig resourceName := "aws_dms_replication_config.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1124,6 +1133,7 @@ func TestAccDMSReplicationConfig_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccDMSReplicationConfig_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfig resourceName := "aws_dms_replication_config.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1309,6 +1319,7 @@ func TestAccDMSReplicationConfig_tags_DefaultTags_overlapping(t *testing.T) { func TestAccDMSReplicationConfig_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfig resourceName := "aws_dms_replication_config.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1402,6 +1413,7 @@ func TestAccDMSReplicationConfig_tags_DefaultTags_updateToProviderOnly(t *testin func TestAccDMSReplicationConfig_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfig resourceName := "aws_dms_replication_config.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1494,6 +1506,7 @@ func TestAccDMSReplicationConfig_tags_DefaultTags_updateToResourceOnly(t *testin func TestAccDMSReplicationConfig_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfig resourceName := "aws_dms_replication_config.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1562,6 +1575,7 @@ func TestAccDMSReplicationConfig_tags_DefaultTags_emptyResourceTag(t *testing.T) func TestAccDMSReplicationConfig_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfig resourceName := "aws_dms_replication_config.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1622,6 +1636,7 @@ func TestAccDMSReplicationConfig_tags_DefaultTags_emptyProviderOnlyTag(t *testin func TestAccDMSReplicationConfig_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfig resourceName := "aws_dms_replication_config.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1687,6 +1702,7 @@ func TestAccDMSReplicationConfig_tags_DefaultTags_nullOverlappingResourceTag(t * func TestAccDMSReplicationConfig_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfig resourceName := "aws_dms_replication_config.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1752,6 +1768,7 @@ func TestAccDMSReplicationConfig_tags_DefaultTags_nullNonOverlappingResourceTag( func TestAccDMSReplicationConfig_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfig resourceName := "aws_dms_replication_config.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1810,6 +1827,7 @@ func TestAccDMSReplicationConfig_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccDMSReplicationConfig_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfig resourceName := "aws_dms_replication_config.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1928,7 @@ func TestAccDMSReplicationConfig_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccDMSReplicationConfig_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfig resourceName := "aws_dms_replication_config.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2000,6 +2019,7 @@ func TestAccDMSReplicationConfig_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func TestAccDMSReplicationConfig_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfig resourceName := "aws_dms_replication_config.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2162,6 +2182,7 @@ func TestAccDMSReplicationConfig_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T func TestAccDMSReplicationConfig_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfig resourceName := "aws_dms_replication_config.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/dms/replication_instance_data_source_tags_gen_test.go b/internal/service/dms/replication_instance_data_source_tags_gen_test.go index d17d7ca5bb08..c70e7a8ba913 100644 --- a/internal/service/dms/replication_instance_data_source_tags_gen_test.go +++ b/internal/service/dms/replication_instance_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccDMSReplicationInstanceDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_replication_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -44,6 +45,7 @@ func TestAccDMSReplicationInstanceDataSource_tags(t *testing.T) { func TestAccDMSReplicationInstanceDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_replication_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -68,6 +70,7 @@ func TestAccDMSReplicationInstanceDataSource_tags_NullMap(t *testing.T) { func TestAccDMSReplicationInstanceDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_replication_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -92,6 +95,7 @@ func TestAccDMSReplicationInstanceDataSource_tags_EmptyMap(t *testing.T) { func TestAccDMSReplicationInstanceDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_replication_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -124,6 +128,7 @@ func TestAccDMSReplicationInstanceDataSource_tags_DefaultTags_nonOverlapping(t * func TestAccDMSReplicationInstanceDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_replication_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -162,6 +167,7 @@ func TestAccDMSReplicationInstanceDataSource_tags_IgnoreTags_Overlap_DefaultTag( func TestAccDMSReplicationInstanceDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_replication_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/dms/replication_instance_tags_gen_test.go b/internal/service/dms/replication_instance_tags_gen_test.go index 786e93e4c60a..d88018324a72 100644 --- a/internal/service/dms/replication_instance_tags_gen_test.go +++ b/internal/service/dms/replication_instance_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccDMSReplicationInstance_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -210,6 +211,7 @@ func TestAccDMSReplicationInstance_tags(t *testing.T) { func TestAccDMSReplicationInstance_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -279,6 +281,7 @@ func TestAccDMSReplicationInstance_tags_null(t *testing.T) { func TestAccDMSReplicationInstance_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -344,6 +347,7 @@ func TestAccDMSReplicationInstance_tags_EmptyMap(t *testing.T) { func TestAccDMSReplicationInstance_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -427,6 +431,7 @@ func TestAccDMSReplicationInstance_tags_AddOnUpdate(t *testing.T) { func TestAccDMSReplicationInstance_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -521,6 +526,7 @@ func TestAccDMSReplicationInstance_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccDMSReplicationInstance_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -663,6 +669,7 @@ func TestAccDMSReplicationInstance_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccDMSReplicationInstance_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -754,6 +761,7 @@ func TestAccDMSReplicationInstance_tags_EmptyTag_OnUpdate_Replace(t *testing.T) func TestAccDMSReplicationInstance_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -946,6 +954,7 @@ func TestAccDMSReplicationInstance_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccDMSReplicationInstance_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1114,6 +1123,7 @@ func TestAccDMSReplicationInstance_tags_DefaultTags_nonOverlapping(t *testing.T) func TestAccDMSReplicationInstance_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1298,6 +1308,7 @@ func TestAccDMSReplicationInstance_tags_DefaultTags_overlapping(t *testing.T) { func TestAccDMSReplicationInstance_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1390,6 +1401,7 @@ func TestAccDMSReplicationInstance_tags_DefaultTags_updateToProviderOnly(t *test func TestAccDMSReplicationInstance_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1481,6 +1493,7 @@ func TestAccDMSReplicationInstance_tags_DefaultTags_updateToResourceOnly(t *test func TestAccDMSReplicationInstance_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1548,6 +1561,7 @@ func TestAccDMSReplicationInstance_tags_DefaultTags_emptyResourceTag(t *testing. func TestAccDMSReplicationInstance_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1607,6 +1621,7 @@ func TestAccDMSReplicationInstance_tags_DefaultTags_emptyProviderOnlyTag(t *test func TestAccDMSReplicationInstance_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1671,6 +1686,7 @@ func TestAccDMSReplicationInstance_tags_DefaultTags_nullOverlappingResourceTag(t func TestAccDMSReplicationInstance_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1735,6 +1751,7 @@ func TestAccDMSReplicationInstance_tags_DefaultTags_nullNonOverlappingResourceTa func TestAccDMSReplicationInstance_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1792,6 +1809,7 @@ func TestAccDMSReplicationInstance_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccDMSReplicationInstance_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1891,6 +1909,7 @@ func TestAccDMSReplicationInstance_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccDMSReplicationInstance_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1980,6 +1999,7 @@ func TestAccDMSReplicationInstance_tags_ComputedTag_OnUpdate_Replace(t *testing. func TestAccDMSReplicationInstance_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2141,6 +2161,7 @@ func TestAccDMSReplicationInstance_tags_IgnoreTags_Overlap_DefaultTag(t *testing func TestAccDMSReplicationInstance_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/dms/replication_subnet_group_data_source_tags_gen_test.go b/internal/service/dms/replication_subnet_group_data_source_tags_gen_test.go index 4bb45437c592..64bd204d6ca6 100644 --- a/internal/service/dms/replication_subnet_group_data_source_tags_gen_test.go +++ b/internal/service/dms/replication_subnet_group_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccDMSReplicationSubnetGroupDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_replication_subnet_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -44,6 +45,7 @@ func TestAccDMSReplicationSubnetGroupDataSource_tags(t *testing.T) { func TestAccDMSReplicationSubnetGroupDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_replication_subnet_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -68,6 +70,7 @@ func TestAccDMSReplicationSubnetGroupDataSource_tags_NullMap(t *testing.T) { func TestAccDMSReplicationSubnetGroupDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_replication_subnet_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -92,6 +95,7 @@ func TestAccDMSReplicationSubnetGroupDataSource_tags_EmptyMap(t *testing.T) { func TestAccDMSReplicationSubnetGroupDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_replication_subnet_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -124,6 +128,7 @@ func TestAccDMSReplicationSubnetGroupDataSource_tags_DefaultTags_nonOverlapping( func TestAccDMSReplicationSubnetGroupDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_replication_subnet_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -162,6 +167,7 @@ func TestAccDMSReplicationSubnetGroupDataSource_tags_IgnoreTags_Overlap_DefaultT func TestAccDMSReplicationSubnetGroupDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_replication_subnet_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/dms/replication_subnet_group_tags_gen_test.go b/internal/service/dms/replication_subnet_group_tags_gen_test.go index 71d3ace46264..5cc2c52e6d2f 100644 --- a/internal/service/dms/replication_subnet_group_tags_gen_test.go +++ b/internal/service/dms/replication_subnet_group_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccDMSReplicationSubnetGroup_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_subnet_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -198,6 +199,7 @@ func TestAccDMSReplicationSubnetGroup_tags(t *testing.T) { func TestAccDMSReplicationSubnetGroup_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_subnet_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -264,6 +266,7 @@ func TestAccDMSReplicationSubnetGroup_tags_null(t *testing.T) { func TestAccDMSReplicationSubnetGroup_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_subnet_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -326,6 +329,7 @@ func TestAccDMSReplicationSubnetGroup_tags_EmptyMap(t *testing.T) { func TestAccDMSReplicationSubnetGroup_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_subnet_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccDMSReplicationSubnetGroup_tags_AddOnUpdate(t *testing.T) { func TestAccDMSReplicationSubnetGroup_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_subnet_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -494,6 +499,7 @@ func TestAccDMSReplicationSubnetGroup_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccDMSReplicationSubnetGroup_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_subnet_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -630,6 +636,7 @@ func TestAccDMSReplicationSubnetGroup_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccDMSReplicationSubnetGroup_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_subnet_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -718,6 +725,7 @@ func TestAccDMSReplicationSubnetGroup_tags_EmptyTag_OnUpdate_Replace(t *testing. func TestAccDMSReplicationSubnetGroup_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_subnet_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -898,6 +906,7 @@ func TestAccDMSReplicationSubnetGroup_tags_DefaultTags_providerOnly(t *testing.T func TestAccDMSReplicationSubnetGroup_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_subnet_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1057,6 +1066,7 @@ func TestAccDMSReplicationSubnetGroup_tags_DefaultTags_nonOverlapping(t *testing func TestAccDMSReplicationSubnetGroup_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_subnet_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1232,6 +1242,7 @@ func TestAccDMSReplicationSubnetGroup_tags_DefaultTags_overlapping(t *testing.T) func TestAccDMSReplicationSubnetGroup_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_subnet_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1321,6 +1332,7 @@ func TestAccDMSReplicationSubnetGroup_tags_DefaultTags_updateToProviderOnly(t *t func TestAccDMSReplicationSubnetGroup_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_subnet_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1409,6 +1421,7 @@ func TestAccDMSReplicationSubnetGroup_tags_DefaultTags_updateToResourceOnly(t *t func TestAccDMSReplicationSubnetGroup_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_subnet_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccDMSReplicationSubnetGroup_tags_DefaultTags_emptyResourceTag(t *testi func TestAccDMSReplicationSubnetGroup_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_subnet_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1529,6 +1543,7 @@ func TestAccDMSReplicationSubnetGroup_tags_DefaultTags_emptyProviderOnlyTag(t *t func TestAccDMSReplicationSubnetGroup_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_subnet_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1590,6 +1605,7 @@ func TestAccDMSReplicationSubnetGroup_tags_DefaultTags_nullOverlappingResourceTa func TestAccDMSReplicationSubnetGroup_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_subnet_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1651,6 +1667,7 @@ func TestAccDMSReplicationSubnetGroup_tags_DefaultTags_nullNonOverlappingResourc func TestAccDMSReplicationSubnetGroup_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_subnet_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1705,6 +1722,7 @@ func TestAccDMSReplicationSubnetGroup_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccDMSReplicationSubnetGroup_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_subnet_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1801,6 +1819,7 @@ func TestAccDMSReplicationSubnetGroup_tags_ComputedTag_OnUpdate_Add(t *testing.T func TestAccDMSReplicationSubnetGroup_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_subnet_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1887,6 +1906,7 @@ func TestAccDMSReplicationSubnetGroup_tags_ComputedTag_OnUpdate_Replace(t *testi func TestAccDMSReplicationSubnetGroup_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_subnet_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2048,6 +2068,7 @@ func TestAccDMSReplicationSubnetGroup_tags_IgnoreTags_Overlap_DefaultTag(t *test func TestAccDMSReplicationSubnetGroup_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_replication_subnet_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/dms/replication_task_data_source_tags_gen_test.go b/internal/service/dms/replication_task_data_source_tags_gen_test.go index 1b24f0504a36..5f940cf09e93 100644 --- a/internal/service/dms/replication_task_data_source_tags_gen_test.go +++ b/internal/service/dms/replication_task_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccDMSReplicationTaskDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_replication_task.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -44,6 +45,7 @@ func TestAccDMSReplicationTaskDataSource_tags(t *testing.T) { func TestAccDMSReplicationTaskDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_replication_task.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -68,6 +70,7 @@ func TestAccDMSReplicationTaskDataSource_tags_NullMap(t *testing.T) { func TestAccDMSReplicationTaskDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_replication_task.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -92,6 +95,7 @@ func TestAccDMSReplicationTaskDataSource_tags_EmptyMap(t *testing.T) { func TestAccDMSReplicationTaskDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_replication_task.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -124,6 +128,7 @@ func TestAccDMSReplicationTaskDataSource_tags_DefaultTags_nonOverlapping(t *test func TestAccDMSReplicationTaskDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_replication_task.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -162,6 +167,7 @@ func TestAccDMSReplicationTaskDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *t func TestAccDMSReplicationTaskDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dms_replication_task.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/dms/replication_task_tags_gen_test.go b/internal/service/dms/replication_task_tags_gen_test.go index 3a0f223e96ab..9a01eab7bf31 100644 --- a/internal/service/dms/replication_task_tags_gen_test.go +++ b/internal/service/dms/replication_task_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccDMSReplicationTask_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationTask resourceName := "aws_dms_replication_task.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -212,6 +213,7 @@ func TestAccDMSReplicationTask_tags(t *testing.T) { func TestAccDMSReplicationTask_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationTask resourceName := "aws_dms_replication_task.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -282,6 +284,7 @@ func TestAccDMSReplicationTask_tags_null(t *testing.T) { func TestAccDMSReplicationTask_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationTask resourceName := "aws_dms_replication_task.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -348,6 +351,7 @@ func TestAccDMSReplicationTask_tags_EmptyMap(t *testing.T) { func TestAccDMSReplicationTask_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationTask resourceName := "aws_dms_replication_task.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -432,6 +436,7 @@ func TestAccDMSReplicationTask_tags_AddOnUpdate(t *testing.T) { func TestAccDMSReplicationTask_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationTask resourceName := "aws_dms_replication_task.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -527,6 +532,7 @@ func TestAccDMSReplicationTask_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccDMSReplicationTask_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationTask resourceName := "aws_dms_replication_task.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -670,6 +676,7 @@ func TestAccDMSReplicationTask_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccDMSReplicationTask_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationTask resourceName := "aws_dms_replication_task.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -762,6 +769,7 @@ func TestAccDMSReplicationTask_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccDMSReplicationTask_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationTask resourceName := "aws_dms_replication_task.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -955,6 +963,7 @@ func TestAccDMSReplicationTask_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccDMSReplicationTask_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationTask resourceName := "aws_dms_replication_task.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1124,6 +1133,7 @@ func TestAccDMSReplicationTask_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccDMSReplicationTask_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationTask resourceName := "aws_dms_replication_task.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1309,6 +1319,7 @@ func TestAccDMSReplicationTask_tags_DefaultTags_overlapping(t *testing.T) { func TestAccDMSReplicationTask_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationTask resourceName := "aws_dms_replication_task.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1402,6 +1413,7 @@ func TestAccDMSReplicationTask_tags_DefaultTags_updateToProviderOnly(t *testing. func TestAccDMSReplicationTask_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationTask resourceName := "aws_dms_replication_task.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1494,6 +1506,7 @@ func TestAccDMSReplicationTask_tags_DefaultTags_updateToResourceOnly(t *testing. func TestAccDMSReplicationTask_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationTask resourceName := "aws_dms_replication_task.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1562,6 +1575,7 @@ func TestAccDMSReplicationTask_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccDMSReplicationTask_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationTask resourceName := "aws_dms_replication_task.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1622,6 +1636,7 @@ func TestAccDMSReplicationTask_tags_DefaultTags_emptyProviderOnlyTag(t *testing. func TestAccDMSReplicationTask_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationTask resourceName := "aws_dms_replication_task.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1687,6 +1702,7 @@ func TestAccDMSReplicationTask_tags_DefaultTags_nullOverlappingResourceTag(t *te func TestAccDMSReplicationTask_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationTask resourceName := "aws_dms_replication_task.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1752,6 +1768,7 @@ func TestAccDMSReplicationTask_tags_DefaultTags_nullNonOverlappingResourceTag(t func TestAccDMSReplicationTask_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationTask resourceName := "aws_dms_replication_task.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1810,6 +1827,7 @@ func TestAccDMSReplicationTask_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccDMSReplicationTask_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationTask resourceName := "aws_dms_replication_task.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1928,7 @@ func TestAccDMSReplicationTask_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccDMSReplicationTask_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationTask resourceName := "aws_dms_replication_task.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2000,6 +2019,7 @@ func TestAccDMSReplicationTask_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccDMSReplicationTask_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationTask resourceName := "aws_dms_replication_task.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2162,6 +2182,7 @@ func TestAccDMSReplicationTask_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func TestAccDMSReplicationTask_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationTask resourceName := "aws_dms_replication_task.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/dms/s3_endpoint_tags_gen_test.go b/internal/service/dms/s3_endpoint_tags_gen_test.go index 757c888dd28b..0eb94eb75bc9 100644 --- a/internal/service/dms/s3_endpoint_tags_gen_test.go +++ b/internal/service/dms/s3_endpoint_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccDMSS3Endpoint_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_s3_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -198,6 +199,7 @@ func TestAccDMSS3Endpoint_tags(t *testing.T) { func TestAccDMSS3Endpoint_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_s3_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -264,6 +266,7 @@ func TestAccDMSS3Endpoint_tags_null(t *testing.T) { func TestAccDMSS3Endpoint_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_s3_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -326,6 +329,7 @@ func TestAccDMSS3Endpoint_tags_EmptyMap(t *testing.T) { func TestAccDMSS3Endpoint_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_s3_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccDMSS3Endpoint_tags_AddOnUpdate(t *testing.T) { func TestAccDMSS3Endpoint_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_s3_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -494,6 +499,7 @@ func TestAccDMSS3Endpoint_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccDMSS3Endpoint_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_s3_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -630,6 +636,7 @@ func TestAccDMSS3Endpoint_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccDMSS3Endpoint_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_s3_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -718,6 +725,7 @@ func TestAccDMSS3Endpoint_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccDMSS3Endpoint_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_s3_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -898,6 +906,7 @@ func TestAccDMSS3Endpoint_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccDMSS3Endpoint_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_s3_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1057,6 +1066,7 @@ func TestAccDMSS3Endpoint_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccDMSS3Endpoint_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_s3_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1232,6 +1242,7 @@ func TestAccDMSS3Endpoint_tags_DefaultTags_overlapping(t *testing.T) { func TestAccDMSS3Endpoint_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_s3_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1321,6 +1332,7 @@ func TestAccDMSS3Endpoint_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccDMSS3Endpoint_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_s3_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1409,6 +1421,7 @@ func TestAccDMSS3Endpoint_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccDMSS3Endpoint_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_s3_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccDMSS3Endpoint_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccDMSS3Endpoint_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_s3_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1529,6 +1543,7 @@ func TestAccDMSS3Endpoint_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccDMSS3Endpoint_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_s3_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1590,6 +1605,7 @@ func TestAccDMSS3Endpoint_tags_DefaultTags_nullOverlappingResourceTag(t *testing func TestAccDMSS3Endpoint_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_s3_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1651,6 +1667,7 @@ func TestAccDMSS3Endpoint_tags_DefaultTags_nullNonOverlappingResourceTag(t *test func TestAccDMSS3Endpoint_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_s3_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1705,6 +1722,7 @@ func TestAccDMSS3Endpoint_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccDMSS3Endpoint_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_s3_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1801,6 +1819,7 @@ func TestAccDMSS3Endpoint_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccDMSS3Endpoint_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_s3_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1887,6 +1906,7 @@ func TestAccDMSS3Endpoint_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccDMSS3Endpoint_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_s3_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2048,6 +2068,7 @@ func TestAccDMSS3Endpoint_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccDMSS3Endpoint_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dms_s3_endpoint.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/drs/replication_configuration_template_tags_gen_test.go b/internal/service/drs/replication_configuration_template_tags_gen_test.go index 0f090644e30e..540a792d97d8 100644 --- a/internal/service/drs/replication_configuration_template_tags_gen_test.go +++ b/internal/service/drs/replication_configuration_template_tags_gen_test.go @@ -47,6 +47,7 @@ func testAccDRSReplicationConfigurationTemplate_tagsSerial(t *testing.T) { func testAccDRSReplicationConfigurationTemplate_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfigurationTemplate resourceName := "aws_drs_replication_configuration_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -229,6 +230,7 @@ func testAccDRSReplicationConfigurationTemplate_tags(t *testing.T) { func testAccDRSReplicationConfigurationTemplate_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfigurationTemplate resourceName := "aws_drs_replication_configuration_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -291,6 +293,7 @@ func testAccDRSReplicationConfigurationTemplate_tags_null(t *testing.T) { func testAccDRSReplicationConfigurationTemplate_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfigurationTemplate resourceName := "aws_drs_replication_configuration_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -341,6 +344,7 @@ func testAccDRSReplicationConfigurationTemplate_tags_EmptyMap(t *testing.T) { func testAccDRSReplicationConfigurationTemplate_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfigurationTemplate resourceName := "aws_drs_replication_configuration_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -421,6 +425,7 @@ func testAccDRSReplicationConfigurationTemplate_tags_AddOnUpdate(t *testing.T) { func testAccDRSReplicationConfigurationTemplate_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfigurationTemplate resourceName := "aws_drs_replication_configuration_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -511,6 +516,7 @@ func testAccDRSReplicationConfigurationTemplate_tags_EmptyTag_OnCreate(t *testin func testAccDRSReplicationConfigurationTemplate_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfigurationTemplate resourceName := "aws_drs_replication_configuration_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -650,6 +656,7 @@ func testAccDRSReplicationConfigurationTemplate_tags_EmptyTag_OnUpdate_Add(t *te func testAccDRSReplicationConfigurationTemplate_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfigurationTemplate resourceName := "aws_drs_replication_configuration_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -740,6 +747,7 @@ func testAccDRSReplicationConfigurationTemplate_tags_EmptyTag_OnUpdate_Replace(t func testAccDRSReplicationConfigurationTemplate_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfigurationTemplate resourceName := "aws_drs_replication_configuration_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -921,6 +929,7 @@ func testAccDRSReplicationConfigurationTemplate_tags_DefaultTags_providerOnly(t func testAccDRSReplicationConfigurationTemplate_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfigurationTemplate resourceName := "aws_drs_replication_configuration_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1081,6 +1090,7 @@ func testAccDRSReplicationConfigurationTemplate_tags_DefaultTags_nonOverlapping( func testAccDRSReplicationConfigurationTemplate_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfigurationTemplate resourceName := "aws_drs_replication_configuration_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1257,6 +1267,7 @@ func testAccDRSReplicationConfigurationTemplate_tags_DefaultTags_overlapping(t * func testAccDRSReplicationConfigurationTemplate_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfigurationTemplate resourceName := "aws_drs_replication_configuration_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1347,6 +1358,7 @@ func testAccDRSReplicationConfigurationTemplate_tags_DefaultTags_updateToProvide func testAccDRSReplicationConfigurationTemplate_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfigurationTemplate resourceName := "aws_drs_replication_configuration_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1436,6 +1448,7 @@ func testAccDRSReplicationConfigurationTemplate_tags_DefaultTags_updateToResourc func testAccDRSReplicationConfigurationTemplate_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfigurationTemplate resourceName := "aws_drs_replication_configuration_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1502,6 +1515,7 @@ func testAccDRSReplicationConfigurationTemplate_tags_DefaultTags_emptyResourceTa func testAccDRSReplicationConfigurationTemplate_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfigurationTemplate resourceName := "aws_drs_replication_configuration_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1560,6 +1574,7 @@ func testAccDRSReplicationConfigurationTemplate_tags_DefaultTags_emptyProviderOn func testAccDRSReplicationConfigurationTemplate_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfigurationTemplate resourceName := "aws_drs_replication_configuration_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1629,6 +1644,7 @@ func testAccDRSReplicationConfigurationTemplate_tags_DefaultTags_nullOverlapping func testAccDRSReplicationConfigurationTemplate_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfigurationTemplate resourceName := "aws_drs_replication_configuration_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1700,6 +1716,7 @@ func testAccDRSReplicationConfigurationTemplate_tags_DefaultTags_nullNonOverlapp func testAccDRSReplicationConfigurationTemplate_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfigurationTemplate resourceName := "aws_drs_replication_configuration_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1755,6 +1772,7 @@ func testAccDRSReplicationConfigurationTemplate_tags_ComputedTag_OnCreate(t *tes func testAccDRSReplicationConfigurationTemplate_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfigurationTemplate resourceName := "aws_drs_replication_configuration_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1852,6 +1870,7 @@ func testAccDRSReplicationConfigurationTemplate_tags_ComputedTag_OnUpdate_Add(t func testAccDRSReplicationConfigurationTemplate_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfigurationTemplate resourceName := "aws_drs_replication_configuration_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1939,6 +1958,7 @@ func testAccDRSReplicationConfigurationTemplate_tags_ComputedTag_OnUpdate_Replac func testAccDRSReplicationConfigurationTemplate_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfigurationTemplate resourceName := "aws_drs_replication_configuration_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2101,6 +2121,7 @@ func testAccDRSReplicationConfigurationTemplate_tags_IgnoreTags_Overlap_DefaultT func testAccDRSReplicationConfigurationTemplate_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ReplicationConfigurationTemplate resourceName := "aws_drs_replication_configuration_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/dsql/cluster_tags_gen_test.go b/internal/service/dsql/cluster_tags_gen_test.go index 3ee833ac3994..bb1bfc9b10cf 100644 --- a/internal/service/dsql/cluster_tags_gen_test.go +++ b/internal/service/dsql/cluster_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccDSQLCluster_tags(t *testing.T) { ctx := acctest.Context(t) + var v dsql.GetClusterOutput resourceName := "aws_dsql_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -208,6 +209,7 @@ func TestAccDSQLCluster_tags(t *testing.T) { func TestAccDSQLCluster_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v dsql.GetClusterOutput resourceName := "aws_dsql_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -272,6 +274,7 @@ func TestAccDSQLCluster_tags_null(t *testing.T) { func TestAccDSQLCluster_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v dsql.GetClusterOutput resourceName := "aws_dsql_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -324,6 +327,7 @@ func TestAccDSQLCluster_tags_EmptyMap(t *testing.T) { func TestAccDSQLCluster_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v dsql.GetClusterOutput resourceName := "aws_dsql_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccDSQLCluster_tags_AddOnUpdate(t *testing.T) { func TestAccDSQLCluster_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v dsql.GetClusterOutput resourceName := "aws_dsql_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccDSQLCluster_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccDSQLCluster_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v dsql.GetClusterOutput resourceName := "aws_dsql_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -643,6 +649,7 @@ func TestAccDSQLCluster_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccDSQLCluster_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v dsql.GetClusterOutput resourceName := "aws_dsql_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -735,6 +742,7 @@ func TestAccDSQLCluster_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccDSQLCluster_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v dsql.GetClusterOutput resourceName := "aws_dsql_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -924,6 +932,7 @@ func TestAccDSQLCluster_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccDSQLCluster_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v dsql.GetClusterOutput resourceName := "aws_dsql_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1090,6 +1099,7 @@ func TestAccDSQLCluster_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccDSQLCluster_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v dsql.GetClusterOutput resourceName := "aws_dsql_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1272,6 +1282,7 @@ func TestAccDSQLCluster_tags_DefaultTags_overlapping(t *testing.T) { func TestAccDSQLCluster_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v dsql.GetClusterOutput resourceName := "aws_dsql_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1364,6 +1375,7 @@ func TestAccDSQLCluster_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccDSQLCluster_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v dsql.GetClusterOutput resourceName := "aws_dsql_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1455,6 +1467,7 @@ func TestAccDSQLCluster_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccDSQLCluster_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v dsql.GetClusterOutput resourceName := "aws_dsql_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1523,6 +1536,7 @@ func TestAccDSQLCluster_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccDSQLCluster_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v dsql.GetClusterOutput resourceName := "aws_dsql_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1583,6 +1597,7 @@ func TestAccDSQLCluster_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccDSQLCluster_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v dsql.GetClusterOutput resourceName := "aws_dsql_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1654,6 +1669,7 @@ func TestAccDSQLCluster_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T func TestAccDSQLCluster_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v dsql.GetClusterOutput resourceName := "aws_dsql_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1727,6 +1743,7 @@ func TestAccDSQLCluster_tags_DefaultTags_nullNonOverlappingResourceTag(t *testin func TestAccDSQLCluster_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v dsql.GetClusterOutput resourceName := "aws_dsql_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1784,6 +1801,7 @@ func TestAccDSQLCluster_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccDSQLCluster_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v dsql.GetClusterOutput resourceName := "aws_dsql_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1883,6 +1901,7 @@ func TestAccDSQLCluster_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccDSQLCluster_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v dsql.GetClusterOutput resourceName := "aws_dsql_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1972,6 +1991,7 @@ func TestAccDSQLCluster_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccDSQLCluster_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v dsql.GetClusterOutput resourceName := "aws_dsql_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2134,6 +2154,7 @@ func TestAccDSQLCluster_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccDSQLCluster_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v dsql.GetClusterOutput resourceName := "aws_dsql_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/dynamodb/table_data_source_tags_gen_test.go b/internal/service/dynamodb/table_data_source_tags_gen_test.go index a96e5793dc4a..9a281010fc9e 100644 --- a/internal/service/dynamodb/table_data_source_tags_gen_test.go +++ b/internal/service/dynamodb/table_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccDynamoDBTableDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dynamodb_table.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -44,6 +45,7 @@ func TestAccDynamoDBTableDataSource_tags(t *testing.T) { func TestAccDynamoDBTableDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dynamodb_table.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -68,6 +70,7 @@ func TestAccDynamoDBTableDataSource_tags_NullMap(t *testing.T) { func TestAccDynamoDBTableDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dynamodb_table.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -92,6 +95,7 @@ func TestAccDynamoDBTableDataSource_tags_EmptyMap(t *testing.T) { func TestAccDynamoDBTableDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dynamodb_table.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -124,6 +128,7 @@ func TestAccDynamoDBTableDataSource_tags_DefaultTags_nonOverlapping(t *testing.T func TestAccDynamoDBTableDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dynamodb_table.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -162,6 +167,7 @@ func TestAccDynamoDBTableDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testin func TestAccDynamoDBTableDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_dynamodb_table.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/dynamodb/table_replica_tags_gen_test.go b/internal/service/dynamodb/table_replica_tags_gen_test.go index 9a5172d861c2..174a8b529fdc 100644 --- a/internal/service/dynamodb/table_replica_tags_gen_test.go +++ b/internal/service/dynamodb/table_replica_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccDynamoDBTableReplica_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dynamodb_table_replica.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -213,6 +214,7 @@ func TestAccDynamoDBTableReplica_tags(t *testing.T) { func TestAccDynamoDBTableReplica_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dynamodb_table_replica.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -284,6 +286,7 @@ func TestAccDynamoDBTableReplica_tags_null(t *testing.T) { func TestAccDynamoDBTableReplica_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dynamodb_table_replica.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -351,6 +354,7 @@ func TestAccDynamoDBTableReplica_tags_EmptyMap(t *testing.T) { func TestAccDynamoDBTableReplica_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dynamodb_table_replica.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -436,6 +440,7 @@ func TestAccDynamoDBTableReplica_tags_AddOnUpdate(t *testing.T) { func TestAccDynamoDBTableReplica_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dynamodb_table_replica.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -531,6 +536,7 @@ func TestAccDynamoDBTableReplica_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccDynamoDBTableReplica_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dynamodb_table_replica.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -676,6 +682,7 @@ func TestAccDynamoDBTableReplica_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccDynamoDBTableReplica_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dynamodb_table_replica.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -769,6 +776,7 @@ func TestAccDynamoDBTableReplica_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccDynamoDBTableReplica_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dynamodb_table_replica.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -957,6 +965,7 @@ func TestAccDynamoDBTableReplica_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccDynamoDBTableReplica_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dynamodb_table_replica.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1122,6 +1131,7 @@ func TestAccDynamoDBTableReplica_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccDynamoDBTableReplica_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dynamodb_table_replica.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1303,6 +1313,7 @@ func TestAccDynamoDBTableReplica_tags_DefaultTags_overlapping(t *testing.T) { func TestAccDynamoDBTableReplica_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dynamodb_table_replica.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1395,6 +1406,7 @@ func TestAccDynamoDBTableReplica_tags_DefaultTags_updateToProviderOnly(t *testin func TestAccDynamoDBTableReplica_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dynamodb_table_replica.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1486,6 +1498,7 @@ func TestAccDynamoDBTableReplica_tags_DefaultTags_updateToResourceOnly(t *testin func TestAccDynamoDBTableReplica_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dynamodb_table_replica.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1552,6 +1565,7 @@ func TestAccDynamoDBTableReplica_tags_DefaultTags_emptyResourceTag(t *testing.T) func TestAccDynamoDBTableReplica_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dynamodb_table_replica.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1610,6 +1624,7 @@ func TestAccDynamoDBTableReplica_tags_DefaultTags_emptyProviderOnlyTag(t *testin func TestAccDynamoDBTableReplica_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dynamodb_table_replica.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1673,6 +1688,7 @@ func TestAccDynamoDBTableReplica_tags_DefaultTags_nullOverlappingResourceTag(t * func TestAccDynamoDBTableReplica_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dynamodb_table_replica.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1736,6 +1752,7 @@ func TestAccDynamoDBTableReplica_tags_DefaultTags_nullNonOverlappingResourceTag( func TestAccDynamoDBTableReplica_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dynamodb_table_replica.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1792,6 +1809,7 @@ func TestAccDynamoDBTableReplica_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccDynamoDBTableReplica_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dynamodb_table_replica.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1891,6 +1909,7 @@ func TestAccDynamoDBTableReplica_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccDynamoDBTableReplica_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dynamodb_table_replica.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1980,6 +1999,7 @@ func TestAccDynamoDBTableReplica_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func TestAccDynamoDBTableReplica_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dynamodb_table_replica.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2144,6 +2164,7 @@ func TestAccDynamoDBTableReplica_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T func TestAccDynamoDBTableReplica_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_dynamodb_table_replica.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/dynamodb/table_tags_gen_test.go b/internal/service/dynamodb/table_tags_gen_test.go index 19b2b8d43241..df502c918323 100644 --- a/internal/service/dynamodb/table_tags_gen_test.go +++ b/internal/service/dynamodb/table_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccDynamoDBTable_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.TableDescription resourceName := "aws_dynamodb_table.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccDynamoDBTable_tags(t *testing.T) { func TestAccDynamoDBTable_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.TableDescription resourceName := "aws_dynamodb_table.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccDynamoDBTable_tags_null(t *testing.T) { func TestAccDynamoDBTable_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.TableDescription resourceName := "aws_dynamodb_table.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccDynamoDBTable_tags_EmptyMap(t *testing.T) { func TestAccDynamoDBTable_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.TableDescription resourceName := "aws_dynamodb_table.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccDynamoDBTable_tags_AddOnUpdate(t *testing.T) { func TestAccDynamoDBTable_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.TableDescription resourceName := "aws_dynamodb_table.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccDynamoDBTable_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccDynamoDBTable_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.TableDescription resourceName := "aws_dynamodb_table.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccDynamoDBTable_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccDynamoDBTable_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.TableDescription resourceName := "aws_dynamodb_table.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccDynamoDBTable_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccDynamoDBTable_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.TableDescription resourceName := "aws_dynamodb_table.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccDynamoDBTable_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccDynamoDBTable_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.TableDescription resourceName := "aws_dynamodb_table.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccDynamoDBTable_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccDynamoDBTable_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.TableDescription resourceName := "aws_dynamodb_table.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccDynamoDBTable_tags_DefaultTags_overlapping(t *testing.T) { func TestAccDynamoDBTable_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.TableDescription resourceName := "aws_dynamodb_table.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccDynamoDBTable_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccDynamoDBTable_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.TableDescription resourceName := "aws_dynamodb_table.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccDynamoDBTable_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccDynamoDBTable_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.TableDescription resourceName := "aws_dynamodb_table.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccDynamoDBTable_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccDynamoDBTable_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.TableDescription resourceName := "aws_dynamodb_table.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccDynamoDBTable_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccDynamoDBTable_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.TableDescription resourceName := "aws_dynamodb_table.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccDynamoDBTable_tags_DefaultTags_nullOverlappingResourceTag(t *testing func TestAccDynamoDBTable_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.TableDescription resourceName := "aws_dynamodb_table.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccDynamoDBTable_tags_DefaultTags_nullNonOverlappingResourceTag(t *test func TestAccDynamoDBTable_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.TableDescription resourceName := "aws_dynamodb_table.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccDynamoDBTable_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccDynamoDBTable_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.TableDescription resourceName := "aws_dynamodb_table.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccDynamoDBTable_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccDynamoDBTable_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.TableDescription resourceName := "aws_dynamodb_table.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccDynamoDBTable_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccDynamoDBTable_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.TableDescription resourceName := "aws_dynamodb_table.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccDynamoDBTable_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccDynamoDBTable_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.TableDescription resourceName := "aws_dynamodb_table.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/ec2/ebs_snapshot_block_public_access_identity_gen_test.go b/internal/service/ec2/ebs_snapshot_block_public_access_identity_gen_test.go index b381d38a3035..1798629f98cd 100644 --- a/internal/service/ec2/ebs_snapshot_block_public_access_identity_gen_test.go +++ b/internal/service/ec2/ebs_snapshot_block_public_access_identity_gen_test.go @@ -33,6 +33,7 @@ func testAccEC2EBSEBSSnapshotBlockPublicAccess_IdentitySerial(t *testing.T) { func testAccEC2EBSEBSSnapshotBlockPublicAccess_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ebs_snapshot_block_public_access.test" resource.Test(t, resource.TestCase{ @@ -213,6 +214,7 @@ func testAccEC2EBSEBSSnapshotBlockPublicAccess_Identity_RegionOverride(t *testin func testAccEC2EBSEBSSnapshotBlockPublicAccess_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ebs_snapshot_block_public_access.test" resource.Test(t, resource.TestCase{ diff --git a/internal/service/ec2/ec2_image_block_public_access_identity_gen_test.go b/internal/service/ec2/ec2_image_block_public_access_identity_gen_test.go index 5a6f30bbf8b4..64279f87b997 100644 --- a/internal/service/ec2/ec2_image_block_public_access_identity_gen_test.go +++ b/internal/service/ec2/ec2_image_block_public_access_identity_gen_test.go @@ -31,6 +31,7 @@ func testAccEC2ImageBlockPublicAccess_IdentitySerial(t *testing.T) { func testAccEC2ImageBlockPublicAccess_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ec2_image_block_public_access.test" resource.Test(t, resource.TestCase{ @@ -59,6 +60,7 @@ func testAccEC2ImageBlockPublicAccess_Identity_Basic(t *testing.T) { func testAccEC2ImageBlockPublicAccess_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ec2_image_block_public_access.test" resource.Test(t, resource.TestCase{ diff --git a/internal/service/ec2/ec2_instance_data_source_tags_gen_test.go b/internal/service/ec2/ec2_instance_data_source_tags_gen_test.go index a3221e530668..de9fef100947 100644 --- a/internal/service/ec2/ec2_instance_data_source_tags_gen_test.go +++ b/internal/service/ec2/ec2_instance_data_source_tags_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccEC2InstanceDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_instance.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -47,6 +48,7 @@ func TestAccEC2InstanceDataSource_tags(t *testing.T) { func TestAccEC2InstanceDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_instance.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -69,6 +71,7 @@ func TestAccEC2InstanceDataSource_tags_NullMap(t *testing.T) { func TestAccEC2InstanceDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_instance.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -91,6 +94,7 @@ func TestAccEC2InstanceDataSource_tags_EmptyMap(t *testing.T) { func TestAccEC2InstanceDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_instance.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -121,6 +125,7 @@ func TestAccEC2InstanceDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) func TestAccEC2InstanceDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_instance.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -157,6 +162,7 @@ func TestAccEC2InstanceDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing. func TestAccEC2InstanceDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_instance.test" acctest.ParallelTest(ctx, t, resource.TestCase{ diff --git a/internal/service/ec2/ec2_instance_tags_gen_test.go b/internal/service/ec2/ec2_instance_tags_gen_test.go index 2d81474394f8..66fae8101217 100644 --- a/internal/service/ec2/ec2_instance_tags_gen_test.go +++ b/internal/service/ec2/ec2_instance_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccEC2Instance_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Instance resourceName := "aws_instance.test" @@ -203,6 +204,7 @@ func TestAccEC2Instance_tags(t *testing.T) { func TestAccEC2Instance_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Instance resourceName := "aws_instance.test" @@ -269,6 +271,7 @@ func TestAccEC2Instance_tags_null(t *testing.T) { func TestAccEC2Instance_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Instance resourceName := "aws_instance.test" @@ -331,6 +334,7 @@ func TestAccEC2Instance_tags_EmptyMap(t *testing.T) { func TestAccEC2Instance_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Instance resourceName := "aws_instance.test" @@ -411,6 +415,7 @@ func TestAccEC2Instance_tags_AddOnUpdate(t *testing.T) { func TestAccEC2Instance_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Instance resourceName := "aws_instance.test" @@ -501,6 +506,7 @@ func TestAccEC2Instance_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccEC2Instance_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Instance resourceName := "aws_instance.test" @@ -638,6 +644,7 @@ func TestAccEC2Instance_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccEC2Instance_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Instance resourceName := "aws_instance.test" @@ -726,6 +733,7 @@ func TestAccEC2Instance_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccEC2Instance_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Instance resourceName := "aws_instance.test" @@ -910,6 +918,7 @@ func TestAccEC2Instance_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccEC2Instance_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Instance resourceName := "aws_instance.test" @@ -1072,6 +1081,7 @@ func TestAccEC2Instance_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccEC2Instance_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Instance resourceName := "aws_instance.test" @@ -1250,6 +1260,7 @@ func TestAccEC2Instance_tags_DefaultTags_overlapping(t *testing.T) { func TestAccEC2Instance_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Instance resourceName := "aws_instance.test" @@ -1339,6 +1350,7 @@ func TestAccEC2Instance_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccEC2Instance_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Instance resourceName := "aws_instance.test" @@ -1427,6 +1439,7 @@ func TestAccEC2Instance_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccEC2Instance_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Instance resourceName := "aws_instance.test" @@ -1492,6 +1505,7 @@ func TestAccEC2Instance_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccEC2Instance_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Instance resourceName := "aws_instance.test" @@ -1549,6 +1563,7 @@ func TestAccEC2Instance_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccEC2Instance_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Instance resourceName := "aws_instance.test" @@ -1611,6 +1626,7 @@ func TestAccEC2Instance_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T func TestAccEC2Instance_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Instance resourceName := "aws_instance.test" @@ -1673,6 +1689,7 @@ func TestAccEC2Instance_tags_DefaultTags_nullNonOverlappingResourceTag(t *testin func TestAccEC2Instance_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Instance resourceName := "aws_instance.test" @@ -1728,6 +1745,7 @@ func TestAccEC2Instance_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccEC2Instance_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Instance resourceName := "aws_instance.test" @@ -1824,6 +1842,7 @@ func TestAccEC2Instance_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccEC2Instance_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Instance resourceName := "aws_instance.test" @@ -1910,6 +1929,7 @@ func TestAccEC2Instance_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccEC2Instance_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Instance resourceName := "aws_instance.test" @@ -2068,6 +2088,7 @@ func TestAccEC2Instance_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccEC2Instance_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Instance resourceName := "aws_instance.test" diff --git a/internal/service/ec2/ec2_serial_console_access_identity_gen_test.go b/internal/service/ec2/ec2_serial_console_access_identity_gen_test.go index 40f75eae754e..e464b98d052f 100644 --- a/internal/service/ec2/ec2_serial_console_access_identity_gen_test.go +++ b/internal/service/ec2/ec2_serial_console_access_identity_gen_test.go @@ -31,6 +31,7 @@ func testAccEC2SerialConsoleAccess_IdentitySerial(t *testing.T) { func testAccEC2SerialConsoleAccess_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ec2_serial_console_access.test" resource.Test(t, resource.TestCase{ @@ -97,6 +98,7 @@ func testAccEC2SerialConsoleAccess_Identity_Basic(t *testing.T) { func testAccEC2SerialConsoleAccess_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ec2_serial_console_access.test" resource.Test(t, resource.TestCase{ diff --git a/internal/service/ec2/vpc_block_public_access_exclusion_tags_gen_test.go b/internal/service/ec2/vpc_block_public_access_exclusion_tags_gen_test.go index 0f503e47f1da..da79481de5d3 100644 --- a/internal/service/ec2/vpc_block_public_access_exclusion_tags_gen_test.go +++ b/internal/service/ec2/vpc_block_public_access_exclusion_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccVPCBlockPublicAccessExclusion_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_vpc_block_public_access_exclusion.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -189,6 +190,7 @@ func TestAccVPCBlockPublicAccessExclusion_tags(t *testing.T) { func TestAccVPCBlockPublicAccessExclusion_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_vpc_block_public_access_exclusion.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -247,6 +249,7 @@ func TestAccVPCBlockPublicAccessExclusion_tags_null(t *testing.T) { func TestAccVPCBlockPublicAccessExclusion_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_vpc_block_public_access_exclusion.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -293,6 +296,7 @@ func TestAccVPCBlockPublicAccessExclusion_tags_EmptyMap(t *testing.T) { func TestAccVPCBlockPublicAccessExclusion_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_vpc_block_public_access_exclusion.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -368,6 +372,7 @@ func TestAccVPCBlockPublicAccessExclusion_tags_AddOnUpdate(t *testing.T) { func TestAccVPCBlockPublicAccessExclusion_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_vpc_block_public_access_exclusion.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -452,6 +457,7 @@ func TestAccVPCBlockPublicAccessExclusion_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccVPCBlockPublicAccessExclusion_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_vpc_block_public_access_exclusion.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -584,6 +590,7 @@ func TestAccVPCBlockPublicAccessExclusion_tags_EmptyTag_OnUpdate_Add(t *testing. func TestAccVPCBlockPublicAccessExclusion_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_vpc_block_public_access_exclusion.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -669,6 +676,7 @@ func TestAccVPCBlockPublicAccessExclusion_tags_EmptyTag_OnUpdate_Replace(t *test func TestAccVPCBlockPublicAccessExclusion_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_vpc_block_public_access_exclusion.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -840,6 +848,7 @@ func TestAccVPCBlockPublicAccessExclusion_tags_DefaultTags_providerOnly(t *testi func TestAccVPCBlockPublicAccessExclusion_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_vpc_block_public_access_exclusion.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -992,6 +1001,7 @@ func TestAccVPCBlockPublicAccessExclusion_tags_DefaultTags_nonOverlapping(t *tes func TestAccVPCBlockPublicAccessExclusion_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_vpc_block_public_access_exclusion.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1160,6 +1170,7 @@ func TestAccVPCBlockPublicAccessExclusion_tags_DefaultTags_overlapping(t *testin func TestAccVPCBlockPublicAccessExclusion_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_vpc_block_public_access_exclusion.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1245,6 +1256,7 @@ func TestAccVPCBlockPublicAccessExclusion_tags_DefaultTags_updateToProviderOnly( func TestAccVPCBlockPublicAccessExclusion_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_vpc_block_public_access_exclusion.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1329,6 +1341,7 @@ func TestAccVPCBlockPublicAccessExclusion_tags_DefaultTags_updateToResourceOnly( func TestAccVPCBlockPublicAccessExclusion_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_vpc_block_public_access_exclusion.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1391,6 +1404,7 @@ func TestAccVPCBlockPublicAccessExclusion_tags_DefaultTags_emptyResourceTag(t *t func TestAccVPCBlockPublicAccessExclusion_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_vpc_block_public_access_exclusion.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1445,6 +1459,7 @@ func TestAccVPCBlockPublicAccessExclusion_tags_DefaultTags_emptyProviderOnlyTag( func TestAccVPCBlockPublicAccessExclusion_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_vpc_block_public_access_exclusion.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1510,6 +1525,7 @@ func TestAccVPCBlockPublicAccessExclusion_tags_DefaultTags_nullOverlappingResour func TestAccVPCBlockPublicAccessExclusion_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_vpc_block_public_access_exclusion.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1577,6 +1593,7 @@ func TestAccVPCBlockPublicAccessExclusion_tags_DefaultTags_nullNonOverlappingRes func TestAccVPCBlockPublicAccessExclusion_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_vpc_block_public_access_exclusion.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1628,6 +1645,7 @@ func TestAccVPCBlockPublicAccessExclusion_tags_ComputedTag_OnCreate(t *testing.T func TestAccVPCBlockPublicAccessExclusion_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_vpc_block_public_access_exclusion.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1720,6 +1738,7 @@ func TestAccVPCBlockPublicAccessExclusion_tags_ComputedTag_OnUpdate_Add(t *testi func TestAccVPCBlockPublicAccessExclusion_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_vpc_block_public_access_exclusion.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1802,6 +1821,7 @@ func TestAccVPCBlockPublicAccessExclusion_tags_ComputedTag_OnUpdate_Replace(t *t func TestAccVPCBlockPublicAccessExclusion_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_vpc_block_public_access_exclusion.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1959,6 +1979,7 @@ func TestAccVPCBlockPublicAccessExclusion_tags_IgnoreTags_Overlap_DefaultTag(t * func TestAccVPCBlockPublicAccessExclusion_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_vpc_block_public_access_exclusion.test" acctest.ParallelTest(ctx, t, resource.TestCase{ diff --git a/internal/service/ec2/vpc_data_source_tags_gen_test.go b/internal/service/ec2/vpc_data_source_tags_gen_test.go index dd9dfc395c52..6ddcc71b002f 100644 --- a/internal/service/ec2/vpc_data_source_tags_gen_test.go +++ b/internal/service/ec2/vpc_data_source_tags_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccVPCVPCDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_vpc.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -47,6 +48,7 @@ func TestAccVPCVPCDataSource_tags(t *testing.T) { func TestAccVPCVPCDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_vpc.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -69,6 +71,7 @@ func TestAccVPCVPCDataSource_tags_NullMap(t *testing.T) { func TestAccVPCVPCDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_vpc.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -91,6 +94,7 @@ func TestAccVPCVPCDataSource_tags_EmptyMap(t *testing.T) { func TestAccVPCVPCDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_vpc.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -121,6 +125,7 @@ func TestAccVPCVPCDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccVPCVPCDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_vpc.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -157,6 +162,7 @@ func TestAccVPCVPCDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccVPCVPCDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_vpc.test" acctest.ParallelTest(ctx, t, resource.TestCase{ diff --git a/internal/service/ec2/vpc_route_table_tags_gen_test.go b/internal/service/ec2/vpc_route_table_tags_gen_test.go index 9f80345cb529..bc567cabfee1 100644 --- a/internal/service/ec2/vpc_route_table_tags_gen_test.go +++ b/internal/service/ec2/vpc_route_table_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccVPCRouteTable_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.RouteTable resourceName := "aws_route_table.test" @@ -191,6 +192,7 @@ func TestAccVPCRouteTable_tags(t *testing.T) { func TestAccVPCRouteTable_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.RouteTable resourceName := "aws_route_table.test" @@ -254,6 +256,7 @@ func TestAccVPCRouteTable_tags_null(t *testing.T) { func TestAccVPCRouteTable_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.RouteTable resourceName := "aws_route_table.test" @@ -313,6 +316,7 @@ func TestAccVPCRouteTable_tags_EmptyMap(t *testing.T) { func TestAccVPCRouteTable_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.RouteTable resourceName := "aws_route_table.test" @@ -390,6 +394,7 @@ func TestAccVPCRouteTable_tags_AddOnUpdate(t *testing.T) { func TestAccVPCRouteTable_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.RouteTable resourceName := "aws_route_table.test" @@ -474,6 +479,7 @@ func TestAccVPCRouteTable_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccVPCRouteTable_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.RouteTable resourceName := "aws_route_table.test" @@ -605,6 +611,7 @@ func TestAccVPCRouteTable_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccVPCRouteTable_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.RouteTable resourceName := "aws_route_table.test" @@ -690,6 +697,7 @@ func TestAccVPCRouteTable_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccVPCRouteTable_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.RouteTable resourceName := "aws_route_table.test" @@ -862,6 +870,7 @@ func TestAccVPCRouteTable_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccVPCRouteTable_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.RouteTable resourceName := "aws_route_table.test" @@ -1015,6 +1024,7 @@ func TestAccVPCRouteTable_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccVPCRouteTable_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.RouteTable resourceName := "aws_route_table.test" @@ -1184,6 +1194,7 @@ func TestAccVPCRouteTable_tags_DefaultTags_overlapping(t *testing.T) { func TestAccVPCRouteTable_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.RouteTable resourceName := "aws_route_table.test" @@ -1270,6 +1281,7 @@ func TestAccVPCRouteTable_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccVPCRouteTable_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.RouteTable resourceName := "aws_route_table.test" @@ -1355,6 +1367,7 @@ func TestAccVPCRouteTable_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccVPCRouteTable_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.RouteTable resourceName := "aws_route_table.test" @@ -1417,6 +1430,7 @@ func TestAccVPCRouteTable_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccVPCRouteTable_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.RouteTable resourceName := "aws_route_table.test" @@ -1471,6 +1485,7 @@ func TestAccVPCRouteTable_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccVPCRouteTable_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.RouteTable resourceName := "aws_route_table.test" @@ -1530,6 +1545,7 @@ func TestAccVPCRouteTable_tags_DefaultTags_nullOverlappingResourceTag(t *testing func TestAccVPCRouteTable_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.RouteTable resourceName := "aws_route_table.test" @@ -1589,6 +1605,7 @@ func TestAccVPCRouteTable_tags_DefaultTags_nullNonOverlappingResourceTag(t *test func TestAccVPCRouteTable_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.RouteTable resourceName := "aws_route_table.test" @@ -1641,6 +1658,7 @@ func TestAccVPCRouteTable_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccVPCRouteTable_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.RouteTable resourceName := "aws_route_table.test" @@ -1734,6 +1752,7 @@ func TestAccVPCRouteTable_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccVPCRouteTable_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.RouteTable resourceName := "aws_route_table.test" @@ -1817,6 +1836,7 @@ func TestAccVPCRouteTable_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccVPCRouteTable_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.RouteTable resourceName := "aws_route_table.test" @@ -1975,6 +1995,7 @@ func TestAccVPCRouteTable_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccVPCRouteTable_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.RouteTable resourceName := "aws_route_table.test" diff --git a/internal/service/ec2/vpc_security_group_data_source_tags_gen_test.go b/internal/service/ec2/vpc_security_group_data_source_tags_gen_test.go index 931ed02e2c16..9440862299fc 100644 --- a/internal/service/ec2/vpc_security_group_data_source_tags_gen_test.go +++ b/internal/service/ec2/vpc_security_group_data_source_tags_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccVPCSecurityGroupDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_security_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -49,6 +50,7 @@ func TestAccVPCSecurityGroupDataSource_tags(t *testing.T) { func TestAccVPCSecurityGroupDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_security_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -73,6 +75,7 @@ func TestAccVPCSecurityGroupDataSource_tags_NullMap(t *testing.T) { func TestAccVPCSecurityGroupDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_security_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -97,6 +100,7 @@ func TestAccVPCSecurityGroupDataSource_tags_EmptyMap(t *testing.T) { func TestAccVPCSecurityGroupDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_security_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -129,6 +133,7 @@ func TestAccVPCSecurityGroupDataSource_tags_DefaultTags_nonOverlapping(t *testin func TestAccVPCSecurityGroupDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_security_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -167,6 +172,7 @@ func TestAccVPCSecurityGroupDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *tes func TestAccVPCSecurityGroupDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_security_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/ec2/vpc_security_group_egress_rule_tags_gen_test.go b/internal/service/ec2/vpc_security_group_egress_rule_tags_gen_test.go index df87c348efc3..d25fcd085f7e 100644 --- a/internal/service/ec2/vpc_security_group_egress_rule_tags_gen_test.go +++ b/internal/service/ec2/vpc_security_group_egress_rule_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccVPCSecurityGroupEgressRule_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_egress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccVPCSecurityGroupEgressRule_tags(t *testing.T) { func TestAccVPCSecurityGroupEgressRule_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_egress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -262,6 +264,7 @@ func TestAccVPCSecurityGroupEgressRule_tags_null(t *testing.T) { func TestAccVPCSecurityGroupEgressRule_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_egress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -312,6 +315,7 @@ func TestAccVPCSecurityGroupEgressRule_tags_EmptyMap(t *testing.T) { func TestAccVPCSecurityGroupEgressRule_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_egress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -392,6 +396,7 @@ func TestAccVPCSecurityGroupEgressRule_tags_AddOnUpdate(t *testing.T) { func TestAccVPCSecurityGroupEgressRule_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_egress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -482,6 +487,7 @@ func TestAccVPCSecurityGroupEgressRule_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccVPCSecurityGroupEgressRule_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_egress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -621,6 +627,7 @@ func TestAccVPCSecurityGroupEgressRule_tags_EmptyTag_OnUpdate_Add(t *testing.T) func TestAccVPCSecurityGroupEgressRule_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_egress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -711,6 +718,7 @@ func TestAccVPCSecurityGroupEgressRule_tags_EmptyTag_OnUpdate_Replace(t *testing func TestAccVPCSecurityGroupEgressRule_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_egress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -892,6 +900,7 @@ func TestAccVPCSecurityGroupEgressRule_tags_DefaultTags_providerOnly(t *testing. func TestAccVPCSecurityGroupEgressRule_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_egress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1052,6 +1061,7 @@ func TestAccVPCSecurityGroupEgressRule_tags_DefaultTags_nonOverlapping(t *testin func TestAccVPCSecurityGroupEgressRule_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_egress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1228,6 +1238,7 @@ func TestAccVPCSecurityGroupEgressRule_tags_DefaultTags_overlapping(t *testing.T func TestAccVPCSecurityGroupEgressRule_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_egress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1318,6 +1329,7 @@ func TestAccVPCSecurityGroupEgressRule_tags_DefaultTags_updateToProviderOnly(t * func TestAccVPCSecurityGroupEgressRule_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_egress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1407,6 +1419,7 @@ func TestAccVPCSecurityGroupEgressRule_tags_DefaultTags_updateToResourceOnly(t * func TestAccVPCSecurityGroupEgressRule_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_egress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccVPCSecurityGroupEgressRule_tags_DefaultTags_emptyResourceTag(t *test func TestAccVPCSecurityGroupEgressRule_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_egress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1531,6 +1545,7 @@ func TestAccVPCSecurityGroupEgressRule_tags_DefaultTags_emptyProviderOnlyTag(t * func TestAccVPCSecurityGroupEgressRule_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_egress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1600,6 +1615,7 @@ func TestAccVPCSecurityGroupEgressRule_tags_DefaultTags_nullOverlappingResourceT func TestAccVPCSecurityGroupEgressRule_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_egress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1671,6 +1687,7 @@ func TestAccVPCSecurityGroupEgressRule_tags_DefaultTags_nullNonOverlappingResour func TestAccVPCSecurityGroupEgressRule_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_egress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1726,6 +1743,7 @@ func TestAccVPCSecurityGroupEgressRule_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccVPCSecurityGroupEgressRule_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_egress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1823,6 +1841,7 @@ func TestAccVPCSecurityGroupEgressRule_tags_ComputedTag_OnUpdate_Add(t *testing. func TestAccVPCSecurityGroupEgressRule_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_egress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1929,7 @@ func TestAccVPCSecurityGroupEgressRule_tags_ComputedTag_OnUpdate_Replace(t *test func TestAccVPCSecurityGroupEgressRule_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_egress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2072,6 +2092,7 @@ func TestAccVPCSecurityGroupEgressRule_tags_IgnoreTags_Overlap_DefaultTag(t *tes func TestAccVPCSecurityGroupEgressRule_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_egress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/ec2/vpc_security_group_ingress_rule_tags_gen_test.go b/internal/service/ec2/vpc_security_group_ingress_rule_tags_gen_test.go index a336b5e413b0..db84211e097d 100644 --- a/internal/service/ec2/vpc_security_group_ingress_rule_tags_gen_test.go +++ b/internal/service/ec2/vpc_security_group_ingress_rule_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccVPCSecurityGroupIngressRule_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_ingress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccVPCSecurityGroupIngressRule_tags(t *testing.T) { func TestAccVPCSecurityGroupIngressRule_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_ingress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -262,6 +264,7 @@ func TestAccVPCSecurityGroupIngressRule_tags_null(t *testing.T) { func TestAccVPCSecurityGroupIngressRule_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_ingress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -312,6 +315,7 @@ func TestAccVPCSecurityGroupIngressRule_tags_EmptyMap(t *testing.T) { func TestAccVPCSecurityGroupIngressRule_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_ingress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -392,6 +396,7 @@ func TestAccVPCSecurityGroupIngressRule_tags_AddOnUpdate(t *testing.T) { func TestAccVPCSecurityGroupIngressRule_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_ingress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -482,6 +487,7 @@ func TestAccVPCSecurityGroupIngressRule_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccVPCSecurityGroupIngressRule_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_ingress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -621,6 +627,7 @@ func TestAccVPCSecurityGroupIngressRule_tags_EmptyTag_OnUpdate_Add(t *testing.T) func TestAccVPCSecurityGroupIngressRule_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_ingress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -711,6 +718,7 @@ func TestAccVPCSecurityGroupIngressRule_tags_EmptyTag_OnUpdate_Replace(t *testin func TestAccVPCSecurityGroupIngressRule_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_ingress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -892,6 +900,7 @@ func TestAccVPCSecurityGroupIngressRule_tags_DefaultTags_providerOnly(t *testing func TestAccVPCSecurityGroupIngressRule_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_ingress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1052,6 +1061,7 @@ func TestAccVPCSecurityGroupIngressRule_tags_DefaultTags_nonOverlapping(t *testi func TestAccVPCSecurityGroupIngressRule_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_ingress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1228,6 +1238,7 @@ func TestAccVPCSecurityGroupIngressRule_tags_DefaultTags_overlapping(t *testing. func TestAccVPCSecurityGroupIngressRule_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_ingress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1318,6 +1329,7 @@ func TestAccVPCSecurityGroupIngressRule_tags_DefaultTags_updateToProviderOnly(t func TestAccVPCSecurityGroupIngressRule_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_ingress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1407,6 +1419,7 @@ func TestAccVPCSecurityGroupIngressRule_tags_DefaultTags_updateToResourceOnly(t func TestAccVPCSecurityGroupIngressRule_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_ingress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccVPCSecurityGroupIngressRule_tags_DefaultTags_emptyResourceTag(t *tes func TestAccVPCSecurityGroupIngressRule_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_ingress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1531,6 +1545,7 @@ func TestAccVPCSecurityGroupIngressRule_tags_DefaultTags_emptyProviderOnlyTag(t func TestAccVPCSecurityGroupIngressRule_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_ingress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1600,6 +1615,7 @@ func TestAccVPCSecurityGroupIngressRule_tags_DefaultTags_nullOverlappingResource func TestAccVPCSecurityGroupIngressRule_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_ingress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1671,6 +1687,7 @@ func TestAccVPCSecurityGroupIngressRule_tags_DefaultTags_nullNonOverlappingResou func TestAccVPCSecurityGroupIngressRule_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_ingress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1726,6 +1743,7 @@ func TestAccVPCSecurityGroupIngressRule_tags_ComputedTag_OnCreate(t *testing.T) func TestAccVPCSecurityGroupIngressRule_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_ingress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1823,6 +1841,7 @@ func TestAccVPCSecurityGroupIngressRule_tags_ComputedTag_OnUpdate_Add(t *testing func TestAccVPCSecurityGroupIngressRule_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_ingress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1929,7 @@ func TestAccVPCSecurityGroupIngressRule_tags_ComputedTag_OnUpdate_Replace(t *tes func TestAccVPCSecurityGroupIngressRule_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_ingress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2072,6 +2092,7 @@ func TestAccVPCSecurityGroupIngressRule_tags_IgnoreTags_Overlap_DefaultTag(t *te func TestAccVPCSecurityGroupIngressRule_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroupRule resourceName := "aws_vpc_security_group_ingress_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/ec2/vpc_security_group_tags_gen_test.go b/internal/service/ec2/vpc_security_group_tags_gen_test.go index 3dce23c53b9e..8a43af9fee18 100644 --- a/internal/service/ec2/vpc_security_group_tags_gen_test.go +++ b/internal/service/ec2/vpc_security_group_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccVPCSecurityGroup_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroup resourceName := "aws_security_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -212,6 +213,7 @@ func TestAccVPCSecurityGroup_tags(t *testing.T) { func TestAccVPCSecurityGroup_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroup resourceName := "aws_security_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -282,6 +284,7 @@ func TestAccVPCSecurityGroup_tags_null(t *testing.T) { func TestAccVPCSecurityGroup_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroup resourceName := "aws_security_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -348,6 +351,7 @@ func TestAccVPCSecurityGroup_tags_EmptyMap(t *testing.T) { func TestAccVPCSecurityGroup_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroup resourceName := "aws_security_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -432,6 +436,7 @@ func TestAccVPCSecurityGroup_tags_AddOnUpdate(t *testing.T) { func TestAccVPCSecurityGroup_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroup resourceName := "aws_security_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -527,6 +532,7 @@ func TestAccVPCSecurityGroup_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccVPCSecurityGroup_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroup resourceName := "aws_security_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -670,6 +676,7 @@ func TestAccVPCSecurityGroup_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccVPCSecurityGroup_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroup resourceName := "aws_security_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -762,6 +769,7 @@ func TestAccVPCSecurityGroup_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccVPCSecurityGroup_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroup resourceName := "aws_security_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -955,6 +963,7 @@ func TestAccVPCSecurityGroup_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccVPCSecurityGroup_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroup resourceName := "aws_security_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1124,6 +1133,7 @@ func TestAccVPCSecurityGroup_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccVPCSecurityGroup_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroup resourceName := "aws_security_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1309,6 +1319,7 @@ func TestAccVPCSecurityGroup_tags_DefaultTags_overlapping(t *testing.T) { func TestAccVPCSecurityGroup_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroup resourceName := "aws_security_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1402,6 +1413,7 @@ func TestAccVPCSecurityGroup_tags_DefaultTags_updateToProviderOnly(t *testing.T) func TestAccVPCSecurityGroup_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroup resourceName := "aws_security_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1494,6 +1506,7 @@ func TestAccVPCSecurityGroup_tags_DefaultTags_updateToResourceOnly(t *testing.T) func TestAccVPCSecurityGroup_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroup resourceName := "aws_security_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1562,6 +1575,7 @@ func TestAccVPCSecurityGroup_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccVPCSecurityGroup_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroup resourceName := "aws_security_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1622,6 +1636,7 @@ func TestAccVPCSecurityGroup_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) func TestAccVPCSecurityGroup_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroup resourceName := "aws_security_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1687,6 +1702,7 @@ func TestAccVPCSecurityGroup_tags_DefaultTags_nullOverlappingResourceTag(t *test func TestAccVPCSecurityGroup_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroup resourceName := "aws_security_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1752,6 +1768,7 @@ func TestAccVPCSecurityGroup_tags_DefaultTags_nullNonOverlappingResourceTag(t *t func TestAccVPCSecurityGroup_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroup resourceName := "aws_security_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1810,6 +1827,7 @@ func TestAccVPCSecurityGroup_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccVPCSecurityGroup_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroup resourceName := "aws_security_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1928,7 @@ func TestAccVPCSecurityGroup_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccVPCSecurityGroup_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroup resourceName := "aws_security_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2000,6 +2019,7 @@ func TestAccVPCSecurityGroup_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccVPCSecurityGroup_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroup resourceName := "aws_security_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2162,6 +2182,7 @@ func TestAccVPCSecurityGroup_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccVPCSecurityGroup_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SecurityGroup resourceName := "aws_security_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/ec2/vpc_subnet_data_source_tags_gen_test.go b/internal/service/ec2/vpc_subnet_data_source_tags_gen_test.go index 11130acd0c80..eb12479efeb2 100644 --- a/internal/service/ec2/vpc_subnet_data_source_tags_gen_test.go +++ b/internal/service/ec2/vpc_subnet_data_source_tags_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccVPCSubnetDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_subnet.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -47,6 +48,7 @@ func TestAccVPCSubnetDataSource_tags(t *testing.T) { func TestAccVPCSubnetDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_subnet.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -69,6 +71,7 @@ func TestAccVPCSubnetDataSource_tags_NullMap(t *testing.T) { func TestAccVPCSubnetDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_subnet.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -91,6 +94,7 @@ func TestAccVPCSubnetDataSource_tags_EmptyMap(t *testing.T) { func TestAccVPCSubnetDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_subnet.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -121,6 +125,7 @@ func TestAccVPCSubnetDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccVPCSubnetDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_subnet.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -157,6 +162,7 @@ func TestAccVPCSubnetDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func TestAccVPCSubnetDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_subnet.test" acctest.ParallelTest(ctx, t, resource.TestCase{ diff --git a/internal/service/ec2/vpc_subnet_tags_gen_test.go b/internal/service/ec2/vpc_subnet_tags_gen_test.go index 3178bb9e0383..9d841dce2ce6 100644 --- a/internal/service/ec2/vpc_subnet_tags_gen_test.go +++ b/internal/service/ec2/vpc_subnet_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccVPCSubnet_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Subnet resourceName := "aws_subnet.test" @@ -191,6 +192,7 @@ func TestAccVPCSubnet_tags(t *testing.T) { func TestAccVPCSubnet_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Subnet resourceName := "aws_subnet.test" @@ -254,6 +256,7 @@ func TestAccVPCSubnet_tags_null(t *testing.T) { func TestAccVPCSubnet_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Subnet resourceName := "aws_subnet.test" @@ -313,6 +316,7 @@ func TestAccVPCSubnet_tags_EmptyMap(t *testing.T) { func TestAccVPCSubnet_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Subnet resourceName := "aws_subnet.test" @@ -390,6 +394,7 @@ func TestAccVPCSubnet_tags_AddOnUpdate(t *testing.T) { func TestAccVPCSubnet_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Subnet resourceName := "aws_subnet.test" @@ -474,6 +479,7 @@ func TestAccVPCSubnet_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccVPCSubnet_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Subnet resourceName := "aws_subnet.test" @@ -605,6 +611,7 @@ func TestAccVPCSubnet_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccVPCSubnet_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Subnet resourceName := "aws_subnet.test" @@ -690,6 +697,7 @@ func TestAccVPCSubnet_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccVPCSubnet_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Subnet resourceName := "aws_subnet.test" @@ -862,6 +870,7 @@ func TestAccVPCSubnet_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccVPCSubnet_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Subnet resourceName := "aws_subnet.test" @@ -1015,6 +1024,7 @@ func TestAccVPCSubnet_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccVPCSubnet_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Subnet resourceName := "aws_subnet.test" @@ -1184,6 +1194,7 @@ func TestAccVPCSubnet_tags_DefaultTags_overlapping(t *testing.T) { func TestAccVPCSubnet_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Subnet resourceName := "aws_subnet.test" @@ -1270,6 +1281,7 @@ func TestAccVPCSubnet_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccVPCSubnet_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Subnet resourceName := "aws_subnet.test" @@ -1355,6 +1367,7 @@ func TestAccVPCSubnet_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccVPCSubnet_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Subnet resourceName := "aws_subnet.test" @@ -1417,6 +1430,7 @@ func TestAccVPCSubnet_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccVPCSubnet_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Subnet resourceName := "aws_subnet.test" @@ -1471,6 +1485,7 @@ func TestAccVPCSubnet_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccVPCSubnet_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Subnet resourceName := "aws_subnet.test" @@ -1530,6 +1545,7 @@ func TestAccVPCSubnet_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) func TestAccVPCSubnet_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Subnet resourceName := "aws_subnet.test" @@ -1589,6 +1605,7 @@ func TestAccVPCSubnet_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing. func TestAccVPCSubnet_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Subnet resourceName := "aws_subnet.test" @@ -1641,6 +1658,7 @@ func TestAccVPCSubnet_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccVPCSubnet_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Subnet resourceName := "aws_subnet.test" @@ -1734,6 +1752,7 @@ func TestAccVPCSubnet_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccVPCSubnet_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Subnet resourceName := "aws_subnet.test" @@ -1817,6 +1836,7 @@ func TestAccVPCSubnet_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccVPCSubnet_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Subnet resourceName := "aws_subnet.test" @@ -1975,6 +1995,7 @@ func TestAccVPCSubnet_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccVPCSubnet_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Subnet resourceName := "aws_subnet.test" diff --git a/internal/service/ec2/vpc_tags_gen_test.go b/internal/service/ec2/vpc_tags_gen_test.go index cf9673ad78cf..9ead77c352b4 100644 --- a/internal/service/ec2/vpc_tags_gen_test.go +++ b/internal/service/ec2/vpc_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccVPCVPC_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Vpc resourceName := "aws_vpc.test" @@ -191,6 +192,7 @@ func TestAccVPCVPC_tags(t *testing.T) { func TestAccVPCVPC_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Vpc resourceName := "aws_vpc.test" @@ -254,6 +256,7 @@ func TestAccVPCVPC_tags_null(t *testing.T) { func TestAccVPCVPC_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Vpc resourceName := "aws_vpc.test" @@ -313,6 +316,7 @@ func TestAccVPCVPC_tags_EmptyMap(t *testing.T) { func TestAccVPCVPC_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Vpc resourceName := "aws_vpc.test" @@ -390,6 +394,7 @@ func TestAccVPCVPC_tags_AddOnUpdate(t *testing.T) { func TestAccVPCVPC_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Vpc resourceName := "aws_vpc.test" @@ -474,6 +479,7 @@ func TestAccVPCVPC_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccVPCVPC_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Vpc resourceName := "aws_vpc.test" @@ -605,6 +611,7 @@ func TestAccVPCVPC_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccVPCVPC_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Vpc resourceName := "aws_vpc.test" @@ -690,6 +697,7 @@ func TestAccVPCVPC_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccVPCVPC_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Vpc resourceName := "aws_vpc.test" @@ -862,6 +870,7 @@ func TestAccVPCVPC_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccVPCVPC_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Vpc resourceName := "aws_vpc.test" @@ -1015,6 +1024,7 @@ func TestAccVPCVPC_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccVPCVPC_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Vpc resourceName := "aws_vpc.test" @@ -1184,6 +1194,7 @@ func TestAccVPCVPC_tags_DefaultTags_overlapping(t *testing.T) { func TestAccVPCVPC_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Vpc resourceName := "aws_vpc.test" @@ -1270,6 +1281,7 @@ func TestAccVPCVPC_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccVPCVPC_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Vpc resourceName := "aws_vpc.test" @@ -1355,6 +1367,7 @@ func TestAccVPCVPC_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccVPCVPC_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Vpc resourceName := "aws_vpc.test" @@ -1417,6 +1430,7 @@ func TestAccVPCVPC_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccVPCVPC_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Vpc resourceName := "aws_vpc.test" @@ -1471,6 +1485,7 @@ func TestAccVPCVPC_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccVPCVPC_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Vpc resourceName := "aws_vpc.test" @@ -1530,6 +1545,7 @@ func TestAccVPCVPC_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { func TestAccVPCVPC_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Vpc resourceName := "aws_vpc.test" @@ -1589,6 +1605,7 @@ func TestAccVPCVPC_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) func TestAccVPCVPC_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Vpc resourceName := "aws_vpc.test" @@ -1641,6 +1658,7 @@ func TestAccVPCVPC_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccVPCVPC_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Vpc resourceName := "aws_vpc.test" @@ -1734,6 +1752,7 @@ func TestAccVPCVPC_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccVPCVPC_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Vpc resourceName := "aws_vpc.test" @@ -1817,6 +1836,7 @@ func TestAccVPCVPC_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccVPCVPC_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Vpc resourceName := "aws_vpc.test" @@ -1975,6 +1995,7 @@ func TestAccVPCVPC_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccVPCVPC_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Vpc resourceName := "aws_vpc.test" diff --git a/internal/service/elbv2/listener_data_source_tags_gen_test.go b/internal/service/elbv2/listener_data_source_tags_gen_test.go index 293f2afadb48..a26bad7bc195 100644 --- a/internal/service/elbv2/listener_data_source_tags_gen_test.go +++ b/internal/service/elbv2/listener_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccELBV2ListenerDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lb_listener.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -44,6 +45,7 @@ func TestAccELBV2ListenerDataSource_tags(t *testing.T) { func TestAccELBV2ListenerDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lb_listener.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -68,6 +70,7 @@ func TestAccELBV2ListenerDataSource_tags_NullMap(t *testing.T) { func TestAccELBV2ListenerDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lb_listener.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -92,6 +95,7 @@ func TestAccELBV2ListenerDataSource_tags_EmptyMap(t *testing.T) { func TestAccELBV2ListenerDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lb_listener.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -124,6 +128,7 @@ func TestAccELBV2ListenerDataSource_tags_DefaultTags_nonOverlapping(t *testing.T func TestAccELBV2ListenerDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lb_listener.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -162,6 +167,7 @@ func TestAccELBV2ListenerDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testin func TestAccELBV2ListenerDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lb_listener.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/elbv2/listener_rule_data_source_tags_gen_test.go b/internal/service/elbv2/listener_rule_data_source_tags_gen_test.go index 81c81be003ae..f0f33431e45b 100644 --- a/internal/service/elbv2/listener_rule_data_source_tags_gen_test.go +++ b/internal/service/elbv2/listener_rule_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccELBV2ListenerRuleDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lb_listener_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -44,6 +45,7 @@ func TestAccELBV2ListenerRuleDataSource_tags(t *testing.T) { func TestAccELBV2ListenerRuleDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lb_listener_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -68,6 +70,7 @@ func TestAccELBV2ListenerRuleDataSource_tags_NullMap(t *testing.T) { func TestAccELBV2ListenerRuleDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lb_listener_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -92,6 +95,7 @@ func TestAccELBV2ListenerRuleDataSource_tags_EmptyMap(t *testing.T) { func TestAccELBV2ListenerRuleDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lb_listener_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -124,6 +128,7 @@ func TestAccELBV2ListenerRuleDataSource_tags_DefaultTags_nonOverlapping(t *testi func TestAccELBV2ListenerRuleDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lb_listener_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -162,6 +167,7 @@ func TestAccELBV2ListenerRuleDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *te func TestAccELBV2ListenerRuleDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lb_listener_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/elbv2/listener_rule_tags_gen_test.go b/internal/service/elbv2/listener_rule_tags_gen_test.go index 6e025fffe809..096b888ba999 100644 --- a/internal/service/elbv2/listener_rule_tags_gen_test.go +++ b/internal/service/elbv2/listener_rule_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccELBV2ListenerRule_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Rule resourceName := "aws_lb_listener_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -212,6 +213,7 @@ func TestAccELBV2ListenerRule_tags(t *testing.T) { func TestAccELBV2ListenerRule_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Rule resourceName := "aws_lb_listener_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -282,6 +284,7 @@ func TestAccELBV2ListenerRule_tags_null(t *testing.T) { func TestAccELBV2ListenerRule_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Rule resourceName := "aws_lb_listener_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -348,6 +351,7 @@ func TestAccELBV2ListenerRule_tags_EmptyMap(t *testing.T) { func TestAccELBV2ListenerRule_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Rule resourceName := "aws_lb_listener_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -432,6 +436,7 @@ func TestAccELBV2ListenerRule_tags_AddOnUpdate(t *testing.T) { func TestAccELBV2ListenerRule_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Rule resourceName := "aws_lb_listener_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -527,6 +532,7 @@ func TestAccELBV2ListenerRule_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccELBV2ListenerRule_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Rule resourceName := "aws_lb_listener_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -670,6 +676,7 @@ func TestAccELBV2ListenerRule_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccELBV2ListenerRule_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Rule resourceName := "aws_lb_listener_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -762,6 +769,7 @@ func TestAccELBV2ListenerRule_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccELBV2ListenerRule_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Rule resourceName := "aws_lb_listener_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -955,6 +963,7 @@ func TestAccELBV2ListenerRule_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccELBV2ListenerRule_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Rule resourceName := "aws_lb_listener_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1124,6 +1133,7 @@ func TestAccELBV2ListenerRule_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccELBV2ListenerRule_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Rule resourceName := "aws_lb_listener_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1309,6 +1319,7 @@ func TestAccELBV2ListenerRule_tags_DefaultTags_overlapping(t *testing.T) { func TestAccELBV2ListenerRule_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Rule resourceName := "aws_lb_listener_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1402,6 +1413,7 @@ func TestAccELBV2ListenerRule_tags_DefaultTags_updateToProviderOnly(t *testing.T func TestAccELBV2ListenerRule_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Rule resourceName := "aws_lb_listener_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1494,6 +1506,7 @@ func TestAccELBV2ListenerRule_tags_DefaultTags_updateToResourceOnly(t *testing.T func TestAccELBV2ListenerRule_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Rule resourceName := "aws_lb_listener_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1562,6 +1575,7 @@ func TestAccELBV2ListenerRule_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccELBV2ListenerRule_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Rule resourceName := "aws_lb_listener_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1622,6 +1636,7 @@ func TestAccELBV2ListenerRule_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T func TestAccELBV2ListenerRule_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Rule resourceName := "aws_lb_listener_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1687,6 +1702,7 @@ func TestAccELBV2ListenerRule_tags_DefaultTags_nullOverlappingResourceTag(t *tes func TestAccELBV2ListenerRule_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Rule resourceName := "aws_lb_listener_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1752,6 +1768,7 @@ func TestAccELBV2ListenerRule_tags_DefaultTags_nullNonOverlappingResourceTag(t * func TestAccELBV2ListenerRule_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Rule resourceName := "aws_lb_listener_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1810,6 +1827,7 @@ func TestAccELBV2ListenerRule_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccELBV2ListenerRule_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Rule resourceName := "aws_lb_listener_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1928,7 @@ func TestAccELBV2ListenerRule_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccELBV2ListenerRule_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Rule resourceName := "aws_lb_listener_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2000,6 +2019,7 @@ func TestAccELBV2ListenerRule_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccELBV2ListenerRule_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Rule resourceName := "aws_lb_listener_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2162,6 +2182,7 @@ func TestAccELBV2ListenerRule_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccELBV2ListenerRule_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Rule resourceName := "aws_lb_listener_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/elbv2/listener_tags_gen_test.go b/internal/service/elbv2/listener_tags_gen_test.go index 3d5faa8ee156..2ff29152d0de 100644 --- a/internal/service/elbv2/listener_tags_gen_test.go +++ b/internal/service/elbv2/listener_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccELBV2Listener_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Listener resourceName := "aws_lb_listener.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -212,6 +213,7 @@ func TestAccELBV2Listener_tags(t *testing.T) { func TestAccELBV2Listener_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Listener resourceName := "aws_lb_listener.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -282,6 +284,7 @@ func TestAccELBV2Listener_tags_null(t *testing.T) { func TestAccELBV2Listener_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Listener resourceName := "aws_lb_listener.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -348,6 +351,7 @@ func TestAccELBV2Listener_tags_EmptyMap(t *testing.T) { func TestAccELBV2Listener_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Listener resourceName := "aws_lb_listener.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -432,6 +436,7 @@ func TestAccELBV2Listener_tags_AddOnUpdate(t *testing.T) { func TestAccELBV2Listener_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Listener resourceName := "aws_lb_listener.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -527,6 +532,7 @@ func TestAccELBV2Listener_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccELBV2Listener_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Listener resourceName := "aws_lb_listener.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -670,6 +676,7 @@ func TestAccELBV2Listener_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccELBV2Listener_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Listener resourceName := "aws_lb_listener.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -762,6 +769,7 @@ func TestAccELBV2Listener_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccELBV2Listener_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Listener resourceName := "aws_lb_listener.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -955,6 +963,7 @@ func TestAccELBV2Listener_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccELBV2Listener_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Listener resourceName := "aws_lb_listener.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1124,6 +1133,7 @@ func TestAccELBV2Listener_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccELBV2Listener_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Listener resourceName := "aws_lb_listener.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1309,6 +1319,7 @@ func TestAccELBV2Listener_tags_DefaultTags_overlapping(t *testing.T) { func TestAccELBV2Listener_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Listener resourceName := "aws_lb_listener.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1402,6 +1413,7 @@ func TestAccELBV2Listener_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccELBV2Listener_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Listener resourceName := "aws_lb_listener.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1494,6 +1506,7 @@ func TestAccELBV2Listener_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccELBV2Listener_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Listener resourceName := "aws_lb_listener.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1562,6 +1575,7 @@ func TestAccELBV2Listener_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccELBV2Listener_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Listener resourceName := "aws_lb_listener.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1622,6 +1636,7 @@ func TestAccELBV2Listener_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccELBV2Listener_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Listener resourceName := "aws_lb_listener.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1687,6 +1702,7 @@ func TestAccELBV2Listener_tags_DefaultTags_nullOverlappingResourceTag(t *testing func TestAccELBV2Listener_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Listener resourceName := "aws_lb_listener.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1752,6 +1768,7 @@ func TestAccELBV2Listener_tags_DefaultTags_nullNonOverlappingResourceTag(t *test func TestAccELBV2Listener_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Listener resourceName := "aws_lb_listener.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1810,6 +1827,7 @@ func TestAccELBV2Listener_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccELBV2Listener_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Listener resourceName := "aws_lb_listener.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1928,7 @@ func TestAccELBV2Listener_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccELBV2Listener_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Listener resourceName := "aws_lb_listener.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2000,6 +2019,7 @@ func TestAccELBV2Listener_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccELBV2Listener_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Listener resourceName := "aws_lb_listener.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2162,6 +2182,7 @@ func TestAccELBV2Listener_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccELBV2Listener_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Listener resourceName := "aws_lb_listener.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/elbv2/load_balancer_data_source_tags_gen_test.go b/internal/service/elbv2/load_balancer_data_source_tags_gen_test.go index b778f6fcdcb6..2badaf98faf7 100644 --- a/internal/service/elbv2/load_balancer_data_source_tags_gen_test.go +++ b/internal/service/elbv2/load_balancer_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccELBV2LoadBalancerDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lb.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -44,6 +45,7 @@ func TestAccELBV2LoadBalancerDataSource_tags(t *testing.T) { func TestAccELBV2LoadBalancerDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lb.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -68,6 +70,7 @@ func TestAccELBV2LoadBalancerDataSource_tags_NullMap(t *testing.T) { func TestAccELBV2LoadBalancerDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lb.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -92,6 +95,7 @@ func TestAccELBV2LoadBalancerDataSource_tags_EmptyMap(t *testing.T) { func TestAccELBV2LoadBalancerDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lb.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -124,6 +128,7 @@ func TestAccELBV2LoadBalancerDataSource_tags_DefaultTags_nonOverlapping(t *testi func TestAccELBV2LoadBalancerDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lb.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -162,6 +167,7 @@ func TestAccELBV2LoadBalancerDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *te func TestAccELBV2LoadBalancerDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lb.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/elbv2/load_balancer_tags_gen_test.go b/internal/service/elbv2/load_balancer_tags_gen_test.go index ef4d564bb693..6db23afc916d 100644 --- a/internal/service/elbv2/load_balancer_tags_gen_test.go +++ b/internal/service/elbv2/load_balancer_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccELBV2LoadBalancer_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LoadBalancer resourceName := "aws_lb.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccELBV2LoadBalancer_tags(t *testing.T) { func TestAccELBV2LoadBalancer_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LoadBalancer resourceName := "aws_lb.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccELBV2LoadBalancer_tags_null(t *testing.T) { func TestAccELBV2LoadBalancer_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LoadBalancer resourceName := "aws_lb.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccELBV2LoadBalancer_tags_EmptyMap(t *testing.T) { func TestAccELBV2LoadBalancer_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LoadBalancer resourceName := "aws_lb.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccELBV2LoadBalancer_tags_AddOnUpdate(t *testing.T) { func TestAccELBV2LoadBalancer_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LoadBalancer resourceName := "aws_lb.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccELBV2LoadBalancer_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccELBV2LoadBalancer_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LoadBalancer resourceName := "aws_lb.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccELBV2LoadBalancer_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccELBV2LoadBalancer_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LoadBalancer resourceName := "aws_lb.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccELBV2LoadBalancer_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccELBV2LoadBalancer_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LoadBalancer resourceName := "aws_lb.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccELBV2LoadBalancer_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccELBV2LoadBalancer_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LoadBalancer resourceName := "aws_lb.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccELBV2LoadBalancer_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccELBV2LoadBalancer_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LoadBalancer resourceName := "aws_lb.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccELBV2LoadBalancer_tags_DefaultTags_overlapping(t *testing.T) { func TestAccELBV2LoadBalancer_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LoadBalancer resourceName := "aws_lb.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccELBV2LoadBalancer_tags_DefaultTags_updateToProviderOnly(t *testing.T func TestAccELBV2LoadBalancer_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LoadBalancer resourceName := "aws_lb.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccELBV2LoadBalancer_tags_DefaultTags_updateToResourceOnly(t *testing.T func TestAccELBV2LoadBalancer_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LoadBalancer resourceName := "aws_lb.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccELBV2LoadBalancer_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccELBV2LoadBalancer_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LoadBalancer resourceName := "aws_lb.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccELBV2LoadBalancer_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T func TestAccELBV2LoadBalancer_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LoadBalancer resourceName := "aws_lb.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccELBV2LoadBalancer_tags_DefaultTags_nullOverlappingResourceTag(t *tes func TestAccELBV2LoadBalancer_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LoadBalancer resourceName := "aws_lb.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccELBV2LoadBalancer_tags_DefaultTags_nullNonOverlappingResourceTag(t * func TestAccELBV2LoadBalancer_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LoadBalancer resourceName := "aws_lb.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccELBV2LoadBalancer_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccELBV2LoadBalancer_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LoadBalancer resourceName := "aws_lb.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccELBV2LoadBalancer_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccELBV2LoadBalancer_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LoadBalancer resourceName := "aws_lb.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccELBV2LoadBalancer_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccELBV2LoadBalancer_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LoadBalancer resourceName := "aws_lb.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccELBV2LoadBalancer_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccELBV2LoadBalancer_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LoadBalancer resourceName := "aws_lb.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/elbv2/target_group_data_source_tags_gen_test.go b/internal/service/elbv2/target_group_data_source_tags_gen_test.go index a1f806f55dda..2ef2c120cedd 100644 --- a/internal/service/elbv2/target_group_data_source_tags_gen_test.go +++ b/internal/service/elbv2/target_group_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccELBV2TargetGroupDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lb_target_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -44,6 +45,7 @@ func TestAccELBV2TargetGroupDataSource_tags(t *testing.T) { func TestAccELBV2TargetGroupDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lb_target_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -68,6 +70,7 @@ func TestAccELBV2TargetGroupDataSource_tags_NullMap(t *testing.T) { func TestAccELBV2TargetGroupDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lb_target_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -92,6 +95,7 @@ func TestAccELBV2TargetGroupDataSource_tags_EmptyMap(t *testing.T) { func TestAccELBV2TargetGroupDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lb_target_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -124,6 +128,7 @@ func TestAccELBV2TargetGroupDataSource_tags_DefaultTags_nonOverlapping(t *testin func TestAccELBV2TargetGroupDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lb_target_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -162,6 +167,7 @@ func TestAccELBV2TargetGroupDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *tes func TestAccELBV2TargetGroupDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lb_target_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/elbv2/target_group_tags_gen_test.go b/internal/service/elbv2/target_group_tags_gen_test.go index 017ca1bb0656..b01c2780afb6 100644 --- a/internal/service/elbv2/target_group_tags_gen_test.go +++ b/internal/service/elbv2/target_group_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccELBV2TargetGroup_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.TargetGroup resourceName := "aws_lb_target_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -212,6 +213,7 @@ func TestAccELBV2TargetGroup_tags(t *testing.T) { func TestAccELBV2TargetGroup_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.TargetGroup resourceName := "aws_lb_target_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -282,6 +284,7 @@ func TestAccELBV2TargetGroup_tags_null(t *testing.T) { func TestAccELBV2TargetGroup_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.TargetGroup resourceName := "aws_lb_target_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -348,6 +351,7 @@ func TestAccELBV2TargetGroup_tags_EmptyMap(t *testing.T) { func TestAccELBV2TargetGroup_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.TargetGroup resourceName := "aws_lb_target_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -432,6 +436,7 @@ func TestAccELBV2TargetGroup_tags_AddOnUpdate(t *testing.T) { func TestAccELBV2TargetGroup_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.TargetGroup resourceName := "aws_lb_target_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -527,6 +532,7 @@ func TestAccELBV2TargetGroup_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccELBV2TargetGroup_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.TargetGroup resourceName := "aws_lb_target_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -670,6 +676,7 @@ func TestAccELBV2TargetGroup_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccELBV2TargetGroup_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.TargetGroup resourceName := "aws_lb_target_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -762,6 +769,7 @@ func TestAccELBV2TargetGroup_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccELBV2TargetGroup_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.TargetGroup resourceName := "aws_lb_target_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -955,6 +963,7 @@ func TestAccELBV2TargetGroup_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccELBV2TargetGroup_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.TargetGroup resourceName := "aws_lb_target_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1124,6 +1133,7 @@ func TestAccELBV2TargetGroup_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccELBV2TargetGroup_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.TargetGroup resourceName := "aws_lb_target_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1309,6 +1319,7 @@ func TestAccELBV2TargetGroup_tags_DefaultTags_overlapping(t *testing.T) { func TestAccELBV2TargetGroup_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.TargetGroup resourceName := "aws_lb_target_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1402,6 +1413,7 @@ func TestAccELBV2TargetGroup_tags_DefaultTags_updateToProviderOnly(t *testing.T) func TestAccELBV2TargetGroup_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.TargetGroup resourceName := "aws_lb_target_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1494,6 +1506,7 @@ func TestAccELBV2TargetGroup_tags_DefaultTags_updateToResourceOnly(t *testing.T) func TestAccELBV2TargetGroup_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.TargetGroup resourceName := "aws_lb_target_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1562,6 +1575,7 @@ func TestAccELBV2TargetGroup_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccELBV2TargetGroup_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.TargetGroup resourceName := "aws_lb_target_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1622,6 +1636,7 @@ func TestAccELBV2TargetGroup_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) func TestAccELBV2TargetGroup_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.TargetGroup resourceName := "aws_lb_target_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1687,6 +1702,7 @@ func TestAccELBV2TargetGroup_tags_DefaultTags_nullOverlappingResourceTag(t *test func TestAccELBV2TargetGroup_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.TargetGroup resourceName := "aws_lb_target_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1752,6 +1768,7 @@ func TestAccELBV2TargetGroup_tags_DefaultTags_nullNonOverlappingResourceTag(t *t func TestAccELBV2TargetGroup_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.TargetGroup resourceName := "aws_lb_target_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1810,6 +1827,7 @@ func TestAccELBV2TargetGroup_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccELBV2TargetGroup_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.TargetGroup resourceName := "aws_lb_target_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1928,7 @@ func TestAccELBV2TargetGroup_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccELBV2TargetGroup_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.TargetGroup resourceName := "aws_lb_target_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2000,6 +2019,7 @@ func TestAccELBV2TargetGroup_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccELBV2TargetGroup_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.TargetGroup resourceName := "aws_lb_target_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2162,6 +2182,7 @@ func TestAccELBV2TargetGroup_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccELBV2TargetGroup_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.TargetGroup resourceName := "aws_lb_target_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/elbv2/trust_store_tags_gen_test.go b/internal/service/elbv2/trust_store_tags_gen_test.go index 308f26eeb091..bfba0c37dd97 100644 --- a/internal/service/elbv2/trust_store_tags_gen_test.go +++ b/internal/service/elbv2/trust_store_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccELBV2TrustStore_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.TrustStore resourceName := "aws_lb_trust_store.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -212,6 +213,7 @@ func TestAccELBV2TrustStore_tags(t *testing.T) { func TestAccELBV2TrustStore_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.TrustStore resourceName := "aws_lb_trust_store.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -282,6 +284,7 @@ func TestAccELBV2TrustStore_tags_null(t *testing.T) { func TestAccELBV2TrustStore_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.TrustStore resourceName := "aws_lb_trust_store.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -348,6 +351,7 @@ func TestAccELBV2TrustStore_tags_EmptyMap(t *testing.T) { func TestAccELBV2TrustStore_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.TrustStore resourceName := "aws_lb_trust_store.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -432,6 +436,7 @@ func TestAccELBV2TrustStore_tags_AddOnUpdate(t *testing.T) { func TestAccELBV2TrustStore_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.TrustStore resourceName := "aws_lb_trust_store.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -527,6 +532,7 @@ func TestAccELBV2TrustStore_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccELBV2TrustStore_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.TrustStore resourceName := "aws_lb_trust_store.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -670,6 +676,7 @@ func TestAccELBV2TrustStore_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccELBV2TrustStore_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.TrustStore resourceName := "aws_lb_trust_store.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -762,6 +769,7 @@ func TestAccELBV2TrustStore_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccELBV2TrustStore_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.TrustStore resourceName := "aws_lb_trust_store.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -955,6 +963,7 @@ func TestAccELBV2TrustStore_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccELBV2TrustStore_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.TrustStore resourceName := "aws_lb_trust_store.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1124,6 +1133,7 @@ func TestAccELBV2TrustStore_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccELBV2TrustStore_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.TrustStore resourceName := "aws_lb_trust_store.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1309,6 +1319,7 @@ func TestAccELBV2TrustStore_tags_DefaultTags_overlapping(t *testing.T) { func TestAccELBV2TrustStore_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.TrustStore resourceName := "aws_lb_trust_store.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1402,6 +1413,7 @@ func TestAccELBV2TrustStore_tags_DefaultTags_updateToProviderOnly(t *testing.T) func TestAccELBV2TrustStore_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.TrustStore resourceName := "aws_lb_trust_store.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1494,6 +1506,7 @@ func TestAccELBV2TrustStore_tags_DefaultTags_updateToResourceOnly(t *testing.T) func TestAccELBV2TrustStore_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.TrustStore resourceName := "aws_lb_trust_store.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1562,6 +1575,7 @@ func TestAccELBV2TrustStore_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccELBV2TrustStore_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.TrustStore resourceName := "aws_lb_trust_store.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1622,6 +1636,7 @@ func TestAccELBV2TrustStore_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) func TestAccELBV2TrustStore_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.TrustStore resourceName := "aws_lb_trust_store.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1687,6 +1702,7 @@ func TestAccELBV2TrustStore_tags_DefaultTags_nullOverlappingResourceTag(t *testi func TestAccELBV2TrustStore_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.TrustStore resourceName := "aws_lb_trust_store.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1752,6 +1768,7 @@ func TestAccELBV2TrustStore_tags_DefaultTags_nullNonOverlappingResourceTag(t *te func TestAccELBV2TrustStore_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.TrustStore resourceName := "aws_lb_trust_store.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1810,6 +1827,7 @@ func TestAccELBV2TrustStore_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccELBV2TrustStore_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.TrustStore resourceName := "aws_lb_trust_store.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1928,7 @@ func TestAccELBV2TrustStore_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccELBV2TrustStore_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.TrustStore resourceName := "aws_lb_trust_store.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2000,6 +2019,7 @@ func TestAccELBV2TrustStore_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccELBV2TrustStore_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.TrustStore resourceName := "aws_lb_trust_store.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2162,6 +2182,7 @@ func TestAccELBV2TrustStore_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccELBV2TrustStore_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.TrustStore resourceName := "aws_lb_trust_store.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/fms/policy_tags_gen_test.go b/internal/service/fms/policy_tags_gen_test.go index 0fc70613262f..818779db6075 100644 --- a/internal/service/fms/policy_tags_gen_test.go +++ b/internal/service/fms/policy_tags_gen_test.go @@ -46,6 +46,7 @@ func testAccFMSPolicy_tagsSerial(t *testing.T) { func testAccFMSPolicy_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_fms_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -239,6 +240,7 @@ func testAccFMSPolicy_tags(t *testing.T) { func testAccFMSPolicy_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_fms_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -308,6 +310,7 @@ func testAccFMSPolicy_tags_null(t *testing.T) { func testAccFMSPolicy_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_fms_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -373,6 +376,7 @@ func testAccFMSPolicy_tags_EmptyMap(t *testing.T) { func testAccFMSPolicy_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_fms_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -456,6 +460,7 @@ func testAccFMSPolicy_tags_AddOnUpdate(t *testing.T) { func testAccFMSPolicy_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_fms_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -550,6 +555,7 @@ func testAccFMSPolicy_tags_EmptyTag_OnCreate(t *testing.T) { func testAccFMSPolicy_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_fms_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -692,6 +698,7 @@ func testAccFMSPolicy_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func testAccFMSPolicy_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_fms_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -783,6 +790,7 @@ func testAccFMSPolicy_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func testAccFMSPolicy_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_fms_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -975,6 +983,7 @@ func testAccFMSPolicy_tags_DefaultTags_providerOnly(t *testing.T) { func testAccFMSPolicy_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_fms_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1143,6 +1152,7 @@ func testAccFMSPolicy_tags_DefaultTags_nonOverlapping(t *testing.T) { func testAccFMSPolicy_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_fms_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1327,6 +1337,7 @@ func testAccFMSPolicy_tags_DefaultTags_overlapping(t *testing.T) { func testAccFMSPolicy_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_fms_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1419,6 +1430,7 @@ func testAccFMSPolicy_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func testAccFMSPolicy_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_fms_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1510,6 +1522,7 @@ func testAccFMSPolicy_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func testAccFMSPolicy_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_fms_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1577,6 +1590,7 @@ func testAccFMSPolicy_tags_DefaultTags_emptyResourceTag(t *testing.T) { func testAccFMSPolicy_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_fms_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1636,6 +1650,7 @@ func testAccFMSPolicy_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func testAccFMSPolicy_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_fms_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1700,6 +1715,7 @@ func testAccFMSPolicy_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) func testAccFMSPolicy_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_fms_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1764,6 +1780,7 @@ func testAccFMSPolicy_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing. func testAccFMSPolicy_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_fms_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1821,6 +1838,7 @@ func testAccFMSPolicy_tags_ComputedTag_OnCreate(t *testing.T) { func testAccFMSPolicy_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_fms_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1920,6 +1938,7 @@ func testAccFMSPolicy_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func testAccFMSPolicy_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_fms_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2009,6 +2028,7 @@ func testAccFMSPolicy_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func testAccFMSPolicy_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_fms_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2170,6 +2190,7 @@ func testAccFMSPolicy_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func testAccFMSPolicy_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_fms_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/fms/resource_set_tags_gen_test.go b/internal/service/fms/resource_set_tags_gen_test.go index 2359a54301ef..58971f3d45e3 100644 --- a/internal/service/fms/resource_set_tags_gen_test.go +++ b/internal/service/fms/resource_set_tags_gen_test.go @@ -47,6 +47,7 @@ func testAccFMSResourceSet_tagsSerial(t *testing.T) { func testAccFMSResourceSet_tags(t *testing.T) { ctx := acctest.Context(t) + var v fms.GetResourceSetOutput resourceName := "aws_fms_resource_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -229,6 +230,7 @@ func testAccFMSResourceSet_tags(t *testing.T) { func testAccFMSResourceSet_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v fms.GetResourceSetOutput resourceName := "aws_fms_resource_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -291,6 +293,7 @@ func testAccFMSResourceSet_tags_null(t *testing.T) { func testAccFMSResourceSet_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v fms.GetResourceSetOutput resourceName := "aws_fms_resource_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -341,6 +344,7 @@ func testAccFMSResourceSet_tags_EmptyMap(t *testing.T) { func testAccFMSResourceSet_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v fms.GetResourceSetOutput resourceName := "aws_fms_resource_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -421,6 +425,7 @@ func testAccFMSResourceSet_tags_AddOnUpdate(t *testing.T) { func testAccFMSResourceSet_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v fms.GetResourceSetOutput resourceName := "aws_fms_resource_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -511,6 +516,7 @@ func testAccFMSResourceSet_tags_EmptyTag_OnCreate(t *testing.T) { func testAccFMSResourceSet_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v fms.GetResourceSetOutput resourceName := "aws_fms_resource_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -650,6 +656,7 @@ func testAccFMSResourceSet_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func testAccFMSResourceSet_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v fms.GetResourceSetOutput resourceName := "aws_fms_resource_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -740,6 +747,7 @@ func testAccFMSResourceSet_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func testAccFMSResourceSet_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v fms.GetResourceSetOutput resourceName := "aws_fms_resource_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -921,6 +929,7 @@ func testAccFMSResourceSet_tags_DefaultTags_providerOnly(t *testing.T) { func testAccFMSResourceSet_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v fms.GetResourceSetOutput resourceName := "aws_fms_resource_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1081,6 +1090,7 @@ func testAccFMSResourceSet_tags_DefaultTags_nonOverlapping(t *testing.T) { func testAccFMSResourceSet_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v fms.GetResourceSetOutput resourceName := "aws_fms_resource_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1257,6 +1267,7 @@ func testAccFMSResourceSet_tags_DefaultTags_overlapping(t *testing.T) { func testAccFMSResourceSet_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v fms.GetResourceSetOutput resourceName := "aws_fms_resource_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1347,6 +1358,7 @@ func testAccFMSResourceSet_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func testAccFMSResourceSet_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v fms.GetResourceSetOutput resourceName := "aws_fms_resource_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1436,6 +1448,7 @@ func testAccFMSResourceSet_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func testAccFMSResourceSet_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v fms.GetResourceSetOutput resourceName := "aws_fms_resource_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1502,6 +1515,7 @@ func testAccFMSResourceSet_tags_DefaultTags_emptyResourceTag(t *testing.T) { func testAccFMSResourceSet_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v fms.GetResourceSetOutput resourceName := "aws_fms_resource_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1560,6 +1574,7 @@ func testAccFMSResourceSet_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func testAccFMSResourceSet_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v fms.GetResourceSetOutput resourceName := "aws_fms_resource_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1629,6 +1644,7 @@ func testAccFMSResourceSet_tags_DefaultTags_nullOverlappingResourceTag(t *testin func testAccFMSResourceSet_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v fms.GetResourceSetOutput resourceName := "aws_fms_resource_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1700,6 +1716,7 @@ func testAccFMSResourceSet_tags_DefaultTags_nullNonOverlappingResourceTag(t *tes func testAccFMSResourceSet_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v fms.GetResourceSetOutput resourceName := "aws_fms_resource_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1755,6 +1772,7 @@ func testAccFMSResourceSet_tags_ComputedTag_OnCreate(t *testing.T) { func testAccFMSResourceSet_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v fms.GetResourceSetOutput resourceName := "aws_fms_resource_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1852,6 +1870,7 @@ func testAccFMSResourceSet_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func testAccFMSResourceSet_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v fms.GetResourceSetOutput resourceName := "aws_fms_resource_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1939,6 +1958,7 @@ func testAccFMSResourceSet_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func testAccFMSResourceSet_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v fms.GetResourceSetOutput resourceName := "aws_fms_resource_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2101,6 +2121,7 @@ func testAccFMSResourceSet_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func testAccFMSResourceSet_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v fms.GetResourceSetOutput resourceName := "aws_fms_resource_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/globalaccelerator/accelerator_identity_gen_test.go b/internal/service/globalaccelerator/accelerator_identity_gen_test.go index 48ab0c2ffe5a..5a916f83ee7c 100644 --- a/internal/service/globalaccelerator/accelerator_identity_gen_test.go +++ b/internal/service/globalaccelerator/accelerator_identity_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccGlobalAcceleratorAccelerator_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_globalaccelerator_accelerator.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -103,6 +104,7 @@ func TestAccGlobalAcceleratorAccelerator_Identity_Basic(t *testing.T) { // Resource Identity was added after v6.3.0 func TestAccGlobalAcceleratorAccelerator_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_globalaccelerator_accelerator.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/globalaccelerator/custom_routing_accelerator_identity_gen_test.go b/internal/service/globalaccelerator/custom_routing_accelerator_identity_gen_test.go index 7c9837cf1e1b..acd92cdf884a 100644 --- a/internal/service/globalaccelerator/custom_routing_accelerator_identity_gen_test.go +++ b/internal/service/globalaccelerator/custom_routing_accelerator_identity_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccGlobalAcceleratorCustomRoutingAccelerator_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_globalaccelerator_custom_routing_accelerator.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -103,6 +104,7 @@ func TestAccGlobalAcceleratorCustomRoutingAccelerator_Identity_Basic(t *testing. // Resource Identity was added after v6.3.0 func TestAccGlobalAcceleratorCustomRoutingAccelerator_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_globalaccelerator_custom_routing_accelerator.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/globalaccelerator/listener_identity_gen_test.go b/internal/service/globalaccelerator/listener_identity_gen_test.go index d78f92cba4d5..774288329430 100644 --- a/internal/service/globalaccelerator/listener_identity_gen_test.go +++ b/internal/service/globalaccelerator/listener_identity_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccGlobalAcceleratorListener_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_globalaccelerator_listener.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -103,6 +104,7 @@ func TestAccGlobalAcceleratorListener_Identity_Basic(t *testing.T) { // Resource Identity was added after v6.4.0 func TestAccGlobalAcceleratorListener_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_globalaccelerator_listener.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/glue/resource_policy_identity_gen_test.go b/internal/service/glue/resource_policy_identity_gen_test.go index df8c4ee44418..00d377cef6b3 100644 --- a/internal/service/glue/resource_policy_identity_gen_test.go +++ b/internal/service/glue/resource_policy_identity_gen_test.go @@ -33,6 +33,7 @@ func testAccGlueResourcePolicy_IdentitySerial(t *testing.T) { func testAccGlueResourcePolicy_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_glue_resource_policy.test" resource.Test(t, resource.TestCase{ @@ -213,6 +214,7 @@ func testAccGlueResourcePolicy_Identity_RegionOverride(t *testing.T) { func testAccGlueResourcePolicy_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_glue_resource_policy.test" resource.Test(t, resource.TestCase{ diff --git a/internal/service/guardduty/detector_data_source_tags_gen_test.go b/internal/service/guardduty/detector_data_source_tags_gen_test.go index f601a2d65e87..a40dcaeec217 100644 --- a/internal/service/guardduty/detector_data_source_tags_gen_test.go +++ b/internal/service/guardduty/detector_data_source_tags_gen_test.go @@ -36,6 +36,7 @@ func testAccGuardDutyDetectorDataSource_tagsSerial(t *testing.T) { func testAccGuardDutyDetectorDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_guardduty_detector.test" acctest.Test(ctx, t, resource.TestCase{ @@ -62,6 +63,7 @@ func testAccGuardDutyDetectorDataSource_tags(t *testing.T) { func testAccGuardDutyDetectorDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_guardduty_detector.test" acctest.Test(ctx, t, resource.TestCase{ @@ -84,6 +86,7 @@ func testAccGuardDutyDetectorDataSource_tags_NullMap(t *testing.T) { func testAccGuardDutyDetectorDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_guardduty_detector.test" acctest.Test(ctx, t, resource.TestCase{ @@ -106,6 +109,7 @@ func testAccGuardDutyDetectorDataSource_tags_EmptyMap(t *testing.T) { func testAccGuardDutyDetectorDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_guardduty_detector.test" acctest.Test(ctx, t, resource.TestCase{ @@ -136,6 +140,7 @@ func testAccGuardDutyDetectorDataSource_tags_DefaultTags_nonOverlapping(t *testi func testAccGuardDutyDetectorDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_guardduty_detector.test" acctest.Test(ctx, t, resource.TestCase{ @@ -172,6 +177,7 @@ func testAccGuardDutyDetectorDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *te func testAccGuardDutyDetectorDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_guardduty_detector.test" acctest.Test(ctx, t, resource.TestCase{ diff --git a/internal/service/guardduty/detector_tags_gen_test.go b/internal/service/guardduty/detector_tags_gen_test.go index ed1522df7b32..e860148ab961 100644 --- a/internal/service/guardduty/detector_tags_gen_test.go +++ b/internal/service/guardduty/detector_tags_gen_test.go @@ -46,6 +46,7 @@ func testAccGuardDutyDetector_tagsSerial(t *testing.T) { func testAccGuardDutyDetector_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_detector.test" acctest.Test(ctx, t, resource.TestCase{ @@ -221,6 +222,7 @@ func testAccGuardDutyDetector_tags(t *testing.T) { func testAccGuardDutyDetector_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_detector.test" acctest.Test(ctx, t, resource.TestCase{ @@ -286,6 +288,7 @@ func testAccGuardDutyDetector_tags_null(t *testing.T) { func testAccGuardDutyDetector_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_detector.test" acctest.Test(ctx, t, resource.TestCase{ @@ -347,6 +350,7 @@ func testAccGuardDutyDetector_tags_EmptyMap(t *testing.T) { func testAccGuardDutyDetector_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_detector.test" acctest.Test(ctx, t, resource.TestCase{ @@ -426,6 +430,7 @@ func testAccGuardDutyDetector_tags_AddOnUpdate(t *testing.T) { func testAccGuardDutyDetector_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_detector.test" acctest.Test(ctx, t, resource.TestCase{ @@ -512,6 +517,7 @@ func testAccGuardDutyDetector_tags_EmptyTag_OnCreate(t *testing.T) { func testAccGuardDutyDetector_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_detector.test" acctest.Test(ctx, t, resource.TestCase{ @@ -645,6 +651,7 @@ func testAccGuardDutyDetector_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func testAccGuardDutyDetector_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_detector.test" acctest.Test(ctx, t, resource.TestCase{ @@ -732,6 +739,7 @@ func testAccGuardDutyDetector_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func testAccGuardDutyDetector_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_detector.test" acctest.Test(ctx, t, resource.TestCase{ @@ -906,6 +914,7 @@ func testAccGuardDutyDetector_tags_DefaultTags_providerOnly(t *testing.T) { func testAccGuardDutyDetector_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_detector.test" acctest.Test(ctx, t, resource.TestCase{ @@ -1061,6 +1070,7 @@ func testAccGuardDutyDetector_tags_DefaultTags_nonOverlapping(t *testing.T) { func testAccGuardDutyDetector_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_detector.test" acctest.Test(ctx, t, resource.TestCase{ @@ -1232,6 +1242,7 @@ func testAccGuardDutyDetector_tags_DefaultTags_overlapping(t *testing.T) { func testAccGuardDutyDetector_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_detector.test" acctest.Test(ctx, t, resource.TestCase{ @@ -1320,6 +1331,7 @@ func testAccGuardDutyDetector_tags_DefaultTags_updateToProviderOnly(t *testing.T func testAccGuardDutyDetector_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_detector.test" acctest.Test(ctx, t, resource.TestCase{ @@ -1407,6 +1419,7 @@ func testAccGuardDutyDetector_tags_DefaultTags_updateToResourceOnly(t *testing.T func testAccGuardDutyDetector_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_detector.test" acctest.Test(ctx, t, resource.TestCase{ @@ -1471,6 +1484,7 @@ func testAccGuardDutyDetector_tags_DefaultTags_emptyResourceTag(t *testing.T) { func testAccGuardDutyDetector_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_detector.test" acctest.Test(ctx, t, resource.TestCase{ @@ -1527,6 +1541,7 @@ func testAccGuardDutyDetector_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T func testAccGuardDutyDetector_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_detector.test" acctest.Test(ctx, t, resource.TestCase{ @@ -1588,6 +1603,7 @@ func testAccGuardDutyDetector_tags_DefaultTags_nullOverlappingResourceTag(t *tes func testAccGuardDutyDetector_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_detector.test" acctest.Test(ctx, t, resource.TestCase{ @@ -1649,6 +1665,7 @@ func testAccGuardDutyDetector_tags_DefaultTags_nullNonOverlappingResourceTag(t * func testAccGuardDutyDetector_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_detector.test" acctest.Test(ctx, t, resource.TestCase{ @@ -1703,6 +1720,7 @@ func testAccGuardDutyDetector_tags_ComputedTag_OnCreate(t *testing.T) { func testAccGuardDutyDetector_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_detector.test" acctest.Test(ctx, t, resource.TestCase{ @@ -1798,6 +1816,7 @@ func testAccGuardDutyDetector_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func testAccGuardDutyDetector_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_detector.test" acctest.Test(ctx, t, resource.TestCase{ @@ -1883,6 +1902,7 @@ func testAccGuardDutyDetector_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func testAccGuardDutyDetector_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_detector.test" acctest.Test(ctx, t, resource.TestCase{ @@ -2043,6 +2063,7 @@ func testAccGuardDutyDetector_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func testAccGuardDutyDetector_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_detector.test" acctest.Test(ctx, t, resource.TestCase{ diff --git a/internal/service/guardduty/filter_tags_gen_test.go b/internal/service/guardduty/filter_tags_gen_test.go index ce4de196b65b..aa067aa8b019 100644 --- a/internal/service/guardduty/filter_tags_gen_test.go +++ b/internal/service/guardduty/filter_tags_gen_test.go @@ -47,6 +47,7 @@ func testAccGuardDutyFilter_tagsSerial(t *testing.T) { func testAccGuardDutyFilter_tags(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetFilterOutput resourceName := "aws_guardduty_filter.test" @@ -223,6 +224,7 @@ func testAccGuardDutyFilter_tags(t *testing.T) { func testAccGuardDutyFilter_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetFilterOutput resourceName := "aws_guardduty_filter.test" @@ -289,6 +291,7 @@ func testAccGuardDutyFilter_tags_null(t *testing.T) { func testAccGuardDutyFilter_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetFilterOutput resourceName := "aws_guardduty_filter.test" @@ -351,6 +354,7 @@ func testAccGuardDutyFilter_tags_EmptyMap(t *testing.T) { func testAccGuardDutyFilter_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetFilterOutput resourceName := "aws_guardduty_filter.test" @@ -431,6 +435,7 @@ func testAccGuardDutyFilter_tags_AddOnUpdate(t *testing.T) { func testAccGuardDutyFilter_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetFilterOutput resourceName := "aws_guardduty_filter.test" @@ -518,6 +523,7 @@ func testAccGuardDutyFilter_tags_EmptyTag_OnCreate(t *testing.T) { func testAccGuardDutyFilter_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetFilterOutput resourceName := "aws_guardduty_filter.test" @@ -652,6 +658,7 @@ func testAccGuardDutyFilter_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func testAccGuardDutyFilter_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetFilterOutput resourceName := "aws_guardduty_filter.test" @@ -740,6 +747,7 @@ func testAccGuardDutyFilter_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func testAccGuardDutyFilter_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetFilterOutput resourceName := "aws_guardduty_filter.test" @@ -915,6 +923,7 @@ func testAccGuardDutyFilter_tags_DefaultTags_providerOnly(t *testing.T) { func testAccGuardDutyFilter_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetFilterOutput resourceName := "aws_guardduty_filter.test" @@ -1071,6 +1080,7 @@ func testAccGuardDutyFilter_tags_DefaultTags_nonOverlapping(t *testing.T) { func testAccGuardDutyFilter_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetFilterOutput resourceName := "aws_guardduty_filter.test" @@ -1243,6 +1253,7 @@ func testAccGuardDutyFilter_tags_DefaultTags_overlapping(t *testing.T) { func testAccGuardDutyFilter_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetFilterOutput resourceName := "aws_guardduty_filter.test" @@ -1332,6 +1343,7 @@ func testAccGuardDutyFilter_tags_DefaultTags_updateToProviderOnly(t *testing.T) func testAccGuardDutyFilter_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetFilterOutput resourceName := "aws_guardduty_filter.test" @@ -1420,6 +1432,7 @@ func testAccGuardDutyFilter_tags_DefaultTags_updateToResourceOnly(t *testing.T) func testAccGuardDutyFilter_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetFilterOutput resourceName := "aws_guardduty_filter.test" @@ -1485,6 +1498,7 @@ func testAccGuardDutyFilter_tags_DefaultTags_emptyResourceTag(t *testing.T) { func testAccGuardDutyFilter_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetFilterOutput resourceName := "aws_guardduty_filter.test" @@ -1542,6 +1556,7 @@ func testAccGuardDutyFilter_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) func testAccGuardDutyFilter_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetFilterOutput resourceName := "aws_guardduty_filter.test" @@ -1604,6 +1619,7 @@ func testAccGuardDutyFilter_tags_DefaultTags_nullOverlappingResourceTag(t *testi func testAccGuardDutyFilter_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetFilterOutput resourceName := "aws_guardduty_filter.test" @@ -1666,6 +1682,7 @@ func testAccGuardDutyFilter_tags_DefaultTags_nullNonOverlappingResourceTag(t *te func testAccGuardDutyFilter_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetFilterOutput resourceName := "aws_guardduty_filter.test" @@ -1721,6 +1738,7 @@ func testAccGuardDutyFilter_tags_ComputedTag_OnCreate(t *testing.T) { func testAccGuardDutyFilter_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetFilterOutput resourceName := "aws_guardduty_filter.test" @@ -1817,6 +1835,7 @@ func testAccGuardDutyFilter_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func testAccGuardDutyFilter_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetFilterOutput resourceName := "aws_guardduty_filter.test" @@ -1903,6 +1922,7 @@ func testAccGuardDutyFilter_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func testAccGuardDutyFilter_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetFilterOutput resourceName := "aws_guardduty_filter.test" @@ -2064,6 +2084,7 @@ func testAccGuardDutyFilter_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func testAccGuardDutyFilter_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetFilterOutput resourceName := "aws_guardduty_filter.test" diff --git a/internal/service/guardduty/ipset_tags_gen_test.go b/internal/service/guardduty/ipset_tags_gen_test.go index fb9004ccfb47..b677689653e2 100644 --- a/internal/service/guardduty/ipset_tags_gen_test.go +++ b/internal/service/guardduty/ipset_tags_gen_test.go @@ -46,6 +46,7 @@ func testAccGuardDutyIPSet_tagsSerial(t *testing.T) { func testAccGuardDutyIPSet_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_ipset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -230,6 +231,7 @@ func testAccGuardDutyIPSet_tags(t *testing.T) { func testAccGuardDutyIPSet_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_ipset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -299,6 +301,7 @@ func testAccGuardDutyIPSet_tags_null(t *testing.T) { func testAccGuardDutyIPSet_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_ipset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -364,6 +367,7 @@ func testAccGuardDutyIPSet_tags_EmptyMap(t *testing.T) { func testAccGuardDutyIPSet_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_ipset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -447,6 +451,7 @@ func testAccGuardDutyIPSet_tags_AddOnUpdate(t *testing.T) { func testAccGuardDutyIPSet_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_ipset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -538,6 +543,7 @@ func testAccGuardDutyIPSet_tags_EmptyTag_OnCreate(t *testing.T) { func testAccGuardDutyIPSet_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_ipset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -677,6 +683,7 @@ func testAccGuardDutyIPSet_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func testAccGuardDutyIPSet_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_ipset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -768,6 +775,7 @@ func testAccGuardDutyIPSet_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func testAccGuardDutyIPSet_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_ipset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -951,6 +959,7 @@ func testAccGuardDutyIPSet_tags_DefaultTags_providerOnly(t *testing.T) { func testAccGuardDutyIPSet_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_ipset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1113,6 +1122,7 @@ func testAccGuardDutyIPSet_tags_DefaultTags_nonOverlapping(t *testing.T) { func testAccGuardDutyIPSet_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_ipset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1291,6 +1301,7 @@ func testAccGuardDutyIPSet_tags_DefaultTags_overlapping(t *testing.T) { func testAccGuardDutyIPSet_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_ipset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1383,6 +1394,7 @@ func testAccGuardDutyIPSet_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func testAccGuardDutyIPSet_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_ipset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1474,6 +1486,7 @@ func testAccGuardDutyIPSet_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func testAccGuardDutyIPSet_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_ipset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1541,6 +1554,7 @@ func testAccGuardDutyIPSet_tags_DefaultTags_emptyResourceTag(t *testing.T) { func testAccGuardDutyIPSet_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_ipset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1600,6 +1614,7 @@ func testAccGuardDutyIPSet_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func testAccGuardDutyIPSet_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_ipset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1664,6 +1679,7 @@ func testAccGuardDutyIPSet_tags_DefaultTags_nullOverlappingResourceTag(t *testin func testAccGuardDutyIPSet_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_ipset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1728,6 +1744,7 @@ func testAccGuardDutyIPSet_tags_DefaultTags_nullNonOverlappingResourceTag(t *tes func testAccGuardDutyIPSet_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_ipset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1785,6 +1802,7 @@ func testAccGuardDutyIPSet_tags_ComputedTag_OnCreate(t *testing.T) { func testAccGuardDutyIPSet_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_ipset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1884,6 +1902,7 @@ func testAccGuardDutyIPSet_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func testAccGuardDutyIPSet_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_ipset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1973,6 +1992,7 @@ func testAccGuardDutyIPSet_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func testAccGuardDutyIPSet_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_ipset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2137,6 +2157,7 @@ func testAccGuardDutyIPSet_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func testAccGuardDutyIPSet_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_ipset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/guardduty/malware_protection_plan_tags_gen_test.go b/internal/service/guardduty/malware_protection_plan_tags_gen_test.go index 1aa89ebe9243..6f9d2dbdfc52 100644 --- a/internal/service/guardduty/malware_protection_plan_tags_gen_test.go +++ b/internal/service/guardduty/malware_protection_plan_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccGuardDutyMalwareProtectionPlan_tags(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetMalwareProtectionPlanOutput resourceName := "aws_guardduty_malware_protection_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -203,6 +204,7 @@ func TestAccGuardDutyMalwareProtectionPlan_tags(t *testing.T) { func TestAccGuardDutyMalwareProtectionPlan_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetMalwareProtectionPlanOutput resourceName := "aws_guardduty_malware_protection_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -268,6 +270,7 @@ func TestAccGuardDutyMalwareProtectionPlan_tags_null(t *testing.T) { func TestAccGuardDutyMalwareProtectionPlan_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetMalwareProtectionPlanOutput resourceName := "aws_guardduty_malware_protection_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -321,6 +324,7 @@ func TestAccGuardDutyMalwareProtectionPlan_tags_EmptyMap(t *testing.T) { func TestAccGuardDutyMalwareProtectionPlan_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetMalwareProtectionPlanOutput resourceName := "aws_guardduty_malware_protection_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -404,6 +408,7 @@ func TestAccGuardDutyMalwareProtectionPlan_tags_AddOnUpdate(t *testing.T) { func TestAccGuardDutyMalwareProtectionPlan_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetMalwareProtectionPlanOutput resourceName := "aws_guardduty_malware_protection_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -497,6 +502,7 @@ func TestAccGuardDutyMalwareProtectionPlan_tags_EmptyTag_OnCreate(t *testing.T) func TestAccGuardDutyMalwareProtectionPlan_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetMalwareProtectionPlanOutput resourceName := "aws_guardduty_malware_protection_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -639,6 +645,7 @@ func TestAccGuardDutyMalwareProtectionPlan_tags_EmptyTag_OnUpdate_Add(t *testing func TestAccGuardDutyMalwareProtectionPlan_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetMalwareProtectionPlanOutput resourceName := "aws_guardduty_malware_protection_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -732,6 +739,7 @@ func TestAccGuardDutyMalwareProtectionPlan_tags_EmptyTag_OnUpdate_Replace(t *tes func TestAccGuardDutyMalwareProtectionPlan_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetMalwareProtectionPlanOutput resourceName := "aws_guardduty_malware_protection_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -916,6 +924,7 @@ func TestAccGuardDutyMalwareProtectionPlan_tags_DefaultTags_providerOnly(t *test func TestAccGuardDutyMalwareProtectionPlan_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetMalwareProtectionPlanOutput resourceName := "aws_guardduty_malware_protection_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1079,6 +1088,7 @@ func TestAccGuardDutyMalwareProtectionPlan_tags_DefaultTags_nonOverlapping(t *te func TestAccGuardDutyMalwareProtectionPlan_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetMalwareProtectionPlanOutput resourceName := "aws_guardduty_malware_protection_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1258,6 +1268,7 @@ func TestAccGuardDutyMalwareProtectionPlan_tags_DefaultTags_overlapping(t *testi func TestAccGuardDutyMalwareProtectionPlan_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetMalwareProtectionPlanOutput resourceName := "aws_guardduty_malware_protection_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1351,6 +1362,7 @@ func TestAccGuardDutyMalwareProtectionPlan_tags_DefaultTags_updateToProviderOnly func TestAccGuardDutyMalwareProtectionPlan_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetMalwareProtectionPlanOutput resourceName := "aws_guardduty_malware_protection_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1443,6 +1455,7 @@ func TestAccGuardDutyMalwareProtectionPlan_tags_DefaultTags_updateToResourceOnly func TestAccGuardDutyMalwareProtectionPlan_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetMalwareProtectionPlanOutput resourceName := "aws_guardduty_malware_protection_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1512,6 +1525,7 @@ func TestAccGuardDutyMalwareProtectionPlan_tags_DefaultTags_emptyResourceTag(t * func TestAccGuardDutyMalwareProtectionPlan_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetMalwareProtectionPlanOutput resourceName := "aws_guardduty_malware_protection_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1573,6 +1587,7 @@ func TestAccGuardDutyMalwareProtectionPlan_tags_DefaultTags_emptyProviderOnlyTag func TestAccGuardDutyMalwareProtectionPlan_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetMalwareProtectionPlanOutput resourceName := "aws_guardduty_malware_protection_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1645,6 +1660,7 @@ func TestAccGuardDutyMalwareProtectionPlan_tags_DefaultTags_nullOverlappingResou func TestAccGuardDutyMalwareProtectionPlan_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetMalwareProtectionPlanOutput resourceName := "aws_guardduty_malware_protection_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1719,6 +1735,7 @@ func TestAccGuardDutyMalwareProtectionPlan_tags_DefaultTags_nullNonOverlappingRe func TestAccGuardDutyMalwareProtectionPlan_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetMalwareProtectionPlanOutput resourceName := "aws_guardduty_malware_protection_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1777,6 +1794,7 @@ func TestAccGuardDutyMalwareProtectionPlan_tags_ComputedTag_OnCreate(t *testing. func TestAccGuardDutyMalwareProtectionPlan_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetMalwareProtectionPlanOutput resourceName := "aws_guardduty_malware_protection_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1877,6 +1895,7 @@ func TestAccGuardDutyMalwareProtectionPlan_tags_ComputedTag_OnUpdate_Add(t *test func TestAccGuardDutyMalwareProtectionPlan_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetMalwareProtectionPlanOutput resourceName := "aws_guardduty_malware_protection_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1967,6 +1986,7 @@ func TestAccGuardDutyMalwareProtectionPlan_tags_ComputedTag_OnUpdate_Replace(t * func TestAccGuardDutyMalwareProtectionPlan_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetMalwareProtectionPlanOutput resourceName := "aws_guardduty_malware_protection_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2132,6 +2152,7 @@ func TestAccGuardDutyMalwareProtectionPlan_tags_IgnoreTags_Overlap_DefaultTag(t func TestAccGuardDutyMalwareProtectionPlan_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v guardduty.GetMalwareProtectionPlanOutput resourceName := "aws_guardduty_malware_protection_plan.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/guardduty/threatintelset_tags_gen_test.go b/internal/service/guardduty/threatintelset_tags_gen_test.go index d56a0b81d979..e549916a7e48 100644 --- a/internal/service/guardduty/threatintelset_tags_gen_test.go +++ b/internal/service/guardduty/threatintelset_tags_gen_test.go @@ -46,6 +46,7 @@ func testAccGuardDutyThreatIntelSet_tagsSerial(t *testing.T) { func testAccGuardDutyThreatIntelSet_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_threatintelset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -230,6 +231,7 @@ func testAccGuardDutyThreatIntelSet_tags(t *testing.T) { func testAccGuardDutyThreatIntelSet_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_threatintelset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -299,6 +301,7 @@ func testAccGuardDutyThreatIntelSet_tags_null(t *testing.T) { func testAccGuardDutyThreatIntelSet_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_threatintelset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -364,6 +367,7 @@ func testAccGuardDutyThreatIntelSet_tags_EmptyMap(t *testing.T) { func testAccGuardDutyThreatIntelSet_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_threatintelset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -447,6 +451,7 @@ func testAccGuardDutyThreatIntelSet_tags_AddOnUpdate(t *testing.T) { func testAccGuardDutyThreatIntelSet_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_threatintelset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -538,6 +543,7 @@ func testAccGuardDutyThreatIntelSet_tags_EmptyTag_OnCreate(t *testing.T) { func testAccGuardDutyThreatIntelSet_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_threatintelset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -677,6 +683,7 @@ func testAccGuardDutyThreatIntelSet_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func testAccGuardDutyThreatIntelSet_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_threatintelset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -768,6 +775,7 @@ func testAccGuardDutyThreatIntelSet_tags_EmptyTag_OnUpdate_Replace(t *testing.T) func testAccGuardDutyThreatIntelSet_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_threatintelset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -951,6 +959,7 @@ func testAccGuardDutyThreatIntelSet_tags_DefaultTags_providerOnly(t *testing.T) func testAccGuardDutyThreatIntelSet_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_threatintelset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1113,6 +1122,7 @@ func testAccGuardDutyThreatIntelSet_tags_DefaultTags_nonOverlapping(t *testing.T func testAccGuardDutyThreatIntelSet_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_threatintelset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1291,6 +1301,7 @@ func testAccGuardDutyThreatIntelSet_tags_DefaultTags_overlapping(t *testing.T) { func testAccGuardDutyThreatIntelSet_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_threatintelset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1383,6 +1394,7 @@ func testAccGuardDutyThreatIntelSet_tags_DefaultTags_updateToProviderOnly(t *tes func testAccGuardDutyThreatIntelSet_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_threatintelset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1474,6 +1486,7 @@ func testAccGuardDutyThreatIntelSet_tags_DefaultTags_updateToResourceOnly(t *tes func testAccGuardDutyThreatIntelSet_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_threatintelset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1541,6 +1554,7 @@ func testAccGuardDutyThreatIntelSet_tags_DefaultTags_emptyResourceTag(t *testing func testAccGuardDutyThreatIntelSet_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_threatintelset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1600,6 +1614,7 @@ func testAccGuardDutyThreatIntelSet_tags_DefaultTags_emptyProviderOnlyTag(t *tes func testAccGuardDutyThreatIntelSet_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_threatintelset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1664,6 +1679,7 @@ func testAccGuardDutyThreatIntelSet_tags_DefaultTags_nullOverlappingResourceTag( func testAccGuardDutyThreatIntelSet_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_threatintelset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1728,6 +1744,7 @@ func testAccGuardDutyThreatIntelSet_tags_DefaultTags_nullNonOverlappingResourceT func testAccGuardDutyThreatIntelSet_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_threatintelset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1785,6 +1802,7 @@ func testAccGuardDutyThreatIntelSet_tags_ComputedTag_OnCreate(t *testing.T) { func testAccGuardDutyThreatIntelSet_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_threatintelset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1884,6 +1902,7 @@ func testAccGuardDutyThreatIntelSet_tags_ComputedTag_OnUpdate_Add(t *testing.T) func testAccGuardDutyThreatIntelSet_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_threatintelset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1973,6 +1992,7 @@ func testAccGuardDutyThreatIntelSet_tags_ComputedTag_OnUpdate_Replace(t *testing func testAccGuardDutyThreatIntelSet_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_threatintelset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2137,6 +2157,7 @@ func testAccGuardDutyThreatIntelSet_tags_IgnoreTags_Overlap_DefaultTag(t *testin func testAccGuardDutyThreatIntelSet_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_guardduty_threatintelset.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/iam/instance_profile_tags_gen_test.go b/internal/service/iam/instance_profile_tags_gen_test.go index c98450ae142c..ec291071dfb9 100644 --- a/internal/service/iam/instance_profile_tags_gen_test.go +++ b/internal/service/iam/instance_profile_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccIAMInstanceProfile_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.InstanceProfile resourceName := "aws_iam_instance_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccIAMInstanceProfile_tags(t *testing.T) { func TestAccIAMInstanceProfile_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.InstanceProfile resourceName := "aws_iam_instance_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccIAMInstanceProfile_tags_null(t *testing.T) { func TestAccIAMInstanceProfile_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.InstanceProfile resourceName := "aws_iam_instance_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccIAMInstanceProfile_tags_EmptyMap(t *testing.T) { func TestAccIAMInstanceProfile_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.InstanceProfile resourceName := "aws_iam_instance_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccIAMInstanceProfile_tags_AddOnUpdate(t *testing.T) { func TestAccIAMInstanceProfile_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.InstanceProfile resourceName := "aws_iam_instance_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccIAMInstanceProfile_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccIAMInstanceProfile_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.InstanceProfile resourceName := "aws_iam_instance_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccIAMInstanceProfile_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccIAMInstanceProfile_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.InstanceProfile resourceName := "aws_iam_instance_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccIAMInstanceProfile_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccIAMInstanceProfile_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.InstanceProfile resourceName := "aws_iam_instance_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccIAMInstanceProfile_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccIAMInstanceProfile_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.InstanceProfile resourceName := "aws_iam_instance_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccIAMInstanceProfile_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccIAMInstanceProfile_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.InstanceProfile resourceName := "aws_iam_instance_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccIAMInstanceProfile_tags_DefaultTags_overlapping(t *testing.T) { func TestAccIAMInstanceProfile_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.InstanceProfile resourceName := "aws_iam_instance_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccIAMInstanceProfile_tags_DefaultTags_updateToProviderOnly(t *testing. func TestAccIAMInstanceProfile_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.InstanceProfile resourceName := "aws_iam_instance_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccIAMInstanceProfile_tags_DefaultTags_updateToResourceOnly(t *testing. func TestAccIAMInstanceProfile_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.InstanceProfile resourceName := "aws_iam_instance_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccIAMInstanceProfile_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccIAMInstanceProfile_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.InstanceProfile resourceName := "aws_iam_instance_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccIAMInstanceProfile_tags_DefaultTags_emptyProviderOnlyTag(t *testing. func TestAccIAMInstanceProfile_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.InstanceProfile resourceName := "aws_iam_instance_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccIAMInstanceProfile_tags_DefaultTags_nullOverlappingResourceTag(t *te func TestAccIAMInstanceProfile_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.InstanceProfile resourceName := "aws_iam_instance_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccIAMInstanceProfile_tags_DefaultTags_nullNonOverlappingResourceTag(t func TestAccIAMInstanceProfile_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.InstanceProfile resourceName := "aws_iam_instance_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccIAMInstanceProfile_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccIAMInstanceProfile_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.InstanceProfile resourceName := "aws_iam_instance_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccIAMInstanceProfile_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccIAMInstanceProfile_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.InstanceProfile resourceName := "aws_iam_instance_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccIAMInstanceProfile_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccIAMInstanceProfile_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.InstanceProfile resourceName := "aws_iam_instance_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccIAMInstanceProfile_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func TestAccIAMInstanceProfile_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.InstanceProfile resourceName := "aws_iam_instance_profile.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/iam/openid_connect_provider_data_source_tags_gen_test.go b/internal/service/iam/openid_connect_provider_data_source_tags_gen_test.go index c0fcd8abbb88..74bced62d9cd 100644 --- a/internal/service/iam/openid_connect_provider_data_source_tags_gen_test.go +++ b/internal/service/iam/openid_connect_provider_data_source_tags_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccIAMOIDCProviderDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_iam_openid_connect_provider.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -49,6 +50,7 @@ func TestAccIAMOIDCProviderDataSource_tags(t *testing.T) { func TestAccIAMOIDCProviderDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_iam_openid_connect_provider.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -73,6 +75,7 @@ func TestAccIAMOIDCProviderDataSource_tags_NullMap(t *testing.T) { func TestAccIAMOIDCProviderDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_iam_openid_connect_provider.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -97,6 +100,7 @@ func TestAccIAMOIDCProviderDataSource_tags_EmptyMap(t *testing.T) { func TestAccIAMOIDCProviderDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_iam_openid_connect_provider.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -129,6 +133,7 @@ func TestAccIAMOIDCProviderDataSource_tags_DefaultTags_nonOverlapping(t *testing func TestAccIAMOIDCProviderDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_iam_openid_connect_provider.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -167,6 +172,7 @@ func TestAccIAMOIDCProviderDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *test func TestAccIAMOIDCProviderDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_iam_openid_connect_provider.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/iam/openid_connect_provider_identity_gen_test.go b/internal/service/iam/openid_connect_provider_identity_gen_test.go index 410dd03ae8b1..0a3490b763ce 100644 --- a/internal/service/iam/openid_connect_provider_identity_gen_test.go +++ b/internal/service/iam/openid_connect_provider_identity_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccIAMOpenIDConnectProvider_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_openid_connect_provider.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -103,6 +104,7 @@ func TestAccIAMOpenIDConnectProvider_Identity_Basic(t *testing.T) { // Resource Identity was added after v6.4.0 func TestAccIAMOpenIDConnectProvider_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_openid_connect_provider.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/iam/openid_connect_provider_tags_gen_test.go b/internal/service/iam/openid_connect_provider_tags_gen_test.go index e6d0ace79c8f..294540031dfe 100644 --- a/internal/service/iam/openid_connect_provider_tags_gen_test.go +++ b/internal/service/iam/openid_connect_provider_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccIAMOpenIDConnectProvider_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_openid_connect_provider.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -198,6 +199,7 @@ func TestAccIAMOpenIDConnectProvider_tags(t *testing.T) { func TestAccIAMOpenIDConnectProvider_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_openid_connect_provider.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -264,6 +266,7 @@ func TestAccIAMOpenIDConnectProvider_tags_null(t *testing.T) { func TestAccIAMOpenIDConnectProvider_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_openid_connect_provider.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -326,6 +329,7 @@ func TestAccIAMOpenIDConnectProvider_tags_EmptyMap(t *testing.T) { func TestAccIAMOpenIDConnectProvider_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_openid_connect_provider.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccIAMOpenIDConnectProvider_tags_AddOnUpdate(t *testing.T) { func TestAccIAMOpenIDConnectProvider_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_openid_connect_provider.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -494,6 +499,7 @@ func TestAccIAMOpenIDConnectProvider_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccIAMOpenIDConnectProvider_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_openid_connect_provider.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -630,6 +636,7 @@ func TestAccIAMOpenIDConnectProvider_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccIAMOpenIDConnectProvider_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_openid_connect_provider.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -718,6 +725,7 @@ func TestAccIAMOpenIDConnectProvider_tags_EmptyTag_OnUpdate_Replace(t *testing.T func TestAccIAMOpenIDConnectProvider_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_openid_connect_provider.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -898,6 +906,7 @@ func TestAccIAMOpenIDConnectProvider_tags_DefaultTags_providerOnly(t *testing.T) func TestAccIAMOpenIDConnectProvider_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_openid_connect_provider.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1057,6 +1066,7 @@ func TestAccIAMOpenIDConnectProvider_tags_DefaultTags_nonOverlapping(t *testing. func TestAccIAMOpenIDConnectProvider_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_openid_connect_provider.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1232,6 +1242,7 @@ func TestAccIAMOpenIDConnectProvider_tags_DefaultTags_overlapping(t *testing.T) func TestAccIAMOpenIDConnectProvider_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_openid_connect_provider.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1321,6 +1332,7 @@ func TestAccIAMOpenIDConnectProvider_tags_DefaultTags_updateToProviderOnly(t *te func TestAccIAMOpenIDConnectProvider_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_openid_connect_provider.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1409,6 +1421,7 @@ func TestAccIAMOpenIDConnectProvider_tags_DefaultTags_updateToResourceOnly(t *te func TestAccIAMOpenIDConnectProvider_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_openid_connect_provider.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccIAMOpenIDConnectProvider_tags_DefaultTags_emptyResourceTag(t *testin func TestAccIAMOpenIDConnectProvider_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_openid_connect_provider.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1529,6 +1543,7 @@ func TestAccIAMOpenIDConnectProvider_tags_DefaultTags_emptyProviderOnlyTag(t *te func TestAccIAMOpenIDConnectProvider_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_openid_connect_provider.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1590,6 +1605,7 @@ func TestAccIAMOpenIDConnectProvider_tags_DefaultTags_nullOverlappingResourceTag func TestAccIAMOpenIDConnectProvider_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_openid_connect_provider.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1651,6 +1667,7 @@ func TestAccIAMOpenIDConnectProvider_tags_DefaultTags_nullNonOverlappingResource func TestAccIAMOpenIDConnectProvider_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_openid_connect_provider.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1705,6 +1722,7 @@ func TestAccIAMOpenIDConnectProvider_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccIAMOpenIDConnectProvider_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_openid_connect_provider.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1801,6 +1819,7 @@ func TestAccIAMOpenIDConnectProvider_tags_ComputedTag_OnUpdate_Add(t *testing.T) func TestAccIAMOpenIDConnectProvider_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_openid_connect_provider.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1887,6 +1906,7 @@ func TestAccIAMOpenIDConnectProvider_tags_ComputedTag_OnUpdate_Replace(t *testin func TestAccIAMOpenIDConnectProvider_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_openid_connect_provider.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2048,6 +2068,7 @@ func TestAccIAMOpenIDConnectProvider_tags_IgnoreTags_Overlap_DefaultTag(t *testi func TestAccIAMOpenIDConnectProvider_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_openid_connect_provider.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/iam/policy_data_source_tags_gen_test.go b/internal/service/iam/policy_data_source_tags_gen_test.go index 601755251958..1561ecbd5a6f 100644 --- a/internal/service/iam/policy_data_source_tags_gen_test.go +++ b/internal/service/iam/policy_data_source_tags_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccIAMPolicyDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_iam_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -49,6 +50,7 @@ func TestAccIAMPolicyDataSource_tags(t *testing.T) { func TestAccIAMPolicyDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_iam_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -73,6 +75,7 @@ func TestAccIAMPolicyDataSource_tags_NullMap(t *testing.T) { func TestAccIAMPolicyDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_iam_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -97,6 +100,7 @@ func TestAccIAMPolicyDataSource_tags_EmptyMap(t *testing.T) { func TestAccIAMPolicyDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_iam_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -129,6 +133,7 @@ func TestAccIAMPolicyDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccIAMPolicyDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_iam_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -167,6 +172,7 @@ func TestAccIAMPolicyDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func TestAccIAMPolicyDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_iam_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/iam/policy_tags_gen_test.go b/internal/service/iam/policy_tags_gen_test.go index 8ac7903cac80..a8f76f9731a9 100644 --- a/internal/service/iam/policy_tags_gen_test.go +++ b/internal/service/iam/policy_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccIAMPolicy_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.Policy resourceName := "aws_iam_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccIAMPolicy_tags(t *testing.T) { func TestAccIAMPolicy_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.Policy resourceName := "aws_iam_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccIAMPolicy_tags_null(t *testing.T) { func TestAccIAMPolicy_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.Policy resourceName := "aws_iam_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccIAMPolicy_tags_EmptyMap(t *testing.T) { func TestAccIAMPolicy_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.Policy resourceName := "aws_iam_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccIAMPolicy_tags_AddOnUpdate(t *testing.T) { func TestAccIAMPolicy_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.Policy resourceName := "aws_iam_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccIAMPolicy_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccIAMPolicy_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.Policy resourceName := "aws_iam_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccIAMPolicy_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccIAMPolicy_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.Policy resourceName := "aws_iam_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccIAMPolicy_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccIAMPolicy_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.Policy resourceName := "aws_iam_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccIAMPolicy_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccIAMPolicy_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.Policy resourceName := "aws_iam_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccIAMPolicy_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccIAMPolicy_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.Policy resourceName := "aws_iam_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccIAMPolicy_tags_DefaultTags_overlapping(t *testing.T) { func TestAccIAMPolicy_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.Policy resourceName := "aws_iam_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccIAMPolicy_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccIAMPolicy_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.Policy resourceName := "aws_iam_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccIAMPolicy_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccIAMPolicy_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Policy resourceName := "aws_iam_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccIAMPolicy_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccIAMPolicy_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Policy resourceName := "aws_iam_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccIAMPolicy_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccIAMPolicy_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Policy resourceName := "aws_iam_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccIAMPolicy_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) func TestAccIAMPolicy_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Policy resourceName := "aws_iam_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccIAMPolicy_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing. func TestAccIAMPolicy_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.Policy resourceName := "aws_iam_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccIAMPolicy_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccIAMPolicy_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.Policy resourceName := "aws_iam_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccIAMPolicy_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccIAMPolicy_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.Policy resourceName := "aws_iam_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccIAMPolicy_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccIAMPolicy_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Policy resourceName := "aws_iam_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccIAMPolicy_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccIAMPolicy_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Policy resourceName := "aws_iam_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/iam/role_data_source_tags_gen_test.go b/internal/service/iam/role_data_source_tags_gen_test.go index 1afa2c420d75..ccac54781cc7 100644 --- a/internal/service/iam/role_data_source_tags_gen_test.go +++ b/internal/service/iam/role_data_source_tags_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccIAMRoleDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_iam_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -49,6 +50,7 @@ func TestAccIAMRoleDataSource_tags(t *testing.T) { func TestAccIAMRoleDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_iam_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -73,6 +75,7 @@ func TestAccIAMRoleDataSource_tags_NullMap(t *testing.T) { func TestAccIAMRoleDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_iam_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -97,6 +100,7 @@ func TestAccIAMRoleDataSource_tags_EmptyMap(t *testing.T) { func TestAccIAMRoleDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_iam_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -129,6 +133,7 @@ func TestAccIAMRoleDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccIAMRoleDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_iam_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -167,6 +172,7 @@ func TestAccIAMRoleDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccIAMRoleDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_iam_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/iam/role_policy_attachment_identity_gen_test.go b/internal/service/iam/role_policy_attachment_identity_gen_test.go index 11e5ba1faa5d..9b31c686f407 100644 --- a/internal/service/iam/role_policy_attachment_identity_gen_test.go +++ b/internal/service/iam/role_policy_attachment_identity_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccIAMRolePolicyAttachment_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_role_policy_attachment.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -106,6 +107,7 @@ func TestAccIAMRolePolicyAttachment_Identity_Basic(t *testing.T) { // Resource Identity was added after v6.0.0 func TestAccIAMRolePolicyAttachment_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_role_policy_attachment.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/iam/role_tags_gen_test.go b/internal/service/iam/role_tags_gen_test.go index 1c965501dd67..b638fc651d8c 100644 --- a/internal/service/iam/role_tags_gen_test.go +++ b/internal/service/iam/role_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccIAMRole_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.Role resourceName := "aws_iam_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccIAMRole_tags(t *testing.T) { func TestAccIAMRole_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.Role resourceName := "aws_iam_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccIAMRole_tags_null(t *testing.T) { func TestAccIAMRole_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.Role resourceName := "aws_iam_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccIAMRole_tags_EmptyMap(t *testing.T) { func TestAccIAMRole_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.Role resourceName := "aws_iam_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccIAMRole_tags_AddOnUpdate(t *testing.T) { func TestAccIAMRole_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.Role resourceName := "aws_iam_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccIAMRole_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccIAMRole_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.Role resourceName := "aws_iam_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccIAMRole_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccIAMRole_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.Role resourceName := "aws_iam_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccIAMRole_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccIAMRole_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.Role resourceName := "aws_iam_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccIAMRole_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccIAMRole_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.Role resourceName := "aws_iam_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccIAMRole_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccIAMRole_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.Role resourceName := "aws_iam_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccIAMRole_tags_DefaultTags_overlapping(t *testing.T) { func TestAccIAMRole_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.Role resourceName := "aws_iam_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccIAMRole_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccIAMRole_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.Role resourceName := "aws_iam_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccIAMRole_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccIAMRole_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Role resourceName := "aws_iam_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccIAMRole_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccIAMRole_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Role resourceName := "aws_iam_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccIAMRole_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccIAMRole_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Role resourceName := "aws_iam_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccIAMRole_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { func TestAccIAMRole_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Role resourceName := "aws_iam_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccIAMRole_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) func TestAccIAMRole_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.Role resourceName := "aws_iam_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccIAMRole_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccIAMRole_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.Role resourceName := "aws_iam_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccIAMRole_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccIAMRole_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.Role resourceName := "aws_iam_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccIAMRole_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccIAMRole_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Role resourceName := "aws_iam_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccIAMRole_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccIAMRole_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Role resourceName := "aws_iam_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/iam/saml_provider_identity_gen_test.go b/internal/service/iam/saml_provider_identity_gen_test.go index e597d0f0cdea..c2709dfb144e 100644 --- a/internal/service/iam/saml_provider_identity_gen_test.go +++ b/internal/service/iam/saml_provider_identity_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccIAMSAMLProvider_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_saml_provider.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -103,6 +104,7 @@ func TestAccIAMSAMLProvider_Identity_Basic(t *testing.T) { // Resource Identity was added after v6.4.0 func TestAccIAMSAMLProvider_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_saml_provider.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/iam/server_certificate_tags_gen_test.go b/internal/service/iam/server_certificate_tags_gen_test.go index fdfe2ddeb355..08444892a743 100644 --- a/internal/service/iam/server_certificate_tags_gen_test.go +++ b/internal/service/iam/server_certificate_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccIAMServerCertificate_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.ServerCertificate resourceName := "aws_iam_server_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -234,6 +235,7 @@ func TestAccIAMServerCertificate_tags(t *testing.T) { func TestAccIAMServerCertificate_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.ServerCertificate resourceName := "aws_iam_server_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -313,6 +315,7 @@ func TestAccIAMServerCertificate_tags_null(t *testing.T) { func TestAccIAMServerCertificate_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.ServerCertificate resourceName := "aws_iam_server_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -388,6 +391,7 @@ func TestAccIAMServerCertificate_tags_EmptyMap(t *testing.T) { func TestAccIAMServerCertificate_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.ServerCertificate resourceName := "aws_iam_server_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -481,6 +485,7 @@ func TestAccIAMServerCertificate_tags_AddOnUpdate(t *testing.T) { func TestAccIAMServerCertificate_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.ServerCertificate resourceName := "aws_iam_server_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -588,6 +593,7 @@ func TestAccIAMServerCertificate_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccIAMServerCertificate_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.ServerCertificate resourceName := "aws_iam_server_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -745,6 +751,7 @@ func TestAccIAMServerCertificate_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccIAMServerCertificate_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.ServerCertificate resourceName := "aws_iam_server_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -846,6 +853,7 @@ func TestAccIAMServerCertificate_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccIAMServerCertificate_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.ServerCertificate resourceName := "aws_iam_server_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1061,6 +1069,7 @@ func TestAccIAMServerCertificate_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccIAMServerCertificate_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.ServerCertificate resourceName := "aws_iam_server_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1247,6 +1256,7 @@ func TestAccIAMServerCertificate_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccIAMServerCertificate_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.ServerCertificate resourceName := "aws_iam_server_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1449,6 +1459,7 @@ func TestAccIAMServerCertificate_tags_DefaultTags_overlapping(t *testing.T) { func TestAccIAMServerCertificate_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.ServerCertificate resourceName := "aws_iam_server_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1551,6 +1562,7 @@ func TestAccIAMServerCertificate_tags_DefaultTags_updateToProviderOnly(t *testin func TestAccIAMServerCertificate_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.ServerCertificate resourceName := "aws_iam_server_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1652,6 +1664,7 @@ func TestAccIAMServerCertificate_tags_DefaultTags_updateToResourceOnly(t *testin func TestAccIAMServerCertificate_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.ServerCertificate resourceName := "aws_iam_server_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1727,6 +1740,7 @@ func TestAccIAMServerCertificate_tags_DefaultTags_emptyResourceTag(t *testing.T) func TestAccIAMServerCertificate_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.ServerCertificate resourceName := "aws_iam_server_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1794,6 +1808,7 @@ func TestAccIAMServerCertificate_tags_DefaultTags_emptyProviderOnlyTag(t *testin func TestAccIAMServerCertificate_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.ServerCertificate resourceName := "aws_iam_server_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1866,6 +1881,7 @@ func TestAccIAMServerCertificate_tags_DefaultTags_nullOverlappingResourceTag(t * func TestAccIAMServerCertificate_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.ServerCertificate resourceName := "aws_iam_server_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1938,6 +1954,7 @@ func TestAccIAMServerCertificate_tags_DefaultTags_nullNonOverlappingResourceTag( func TestAccIAMServerCertificate_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.ServerCertificate resourceName := "aws_iam_server_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2003,6 +2020,7 @@ func TestAccIAMServerCertificate_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccIAMServerCertificate_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.ServerCertificate resourceName := "aws_iam_server_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2112,6 +2130,7 @@ func TestAccIAMServerCertificate_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccIAMServerCertificate_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.ServerCertificate resourceName := "aws_iam_server_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2211,6 +2230,7 @@ func TestAccIAMServerCertificate_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func TestAccIAMServerCertificate_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.ServerCertificate resourceName := "aws_iam_server_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2381,6 +2401,7 @@ func TestAccIAMServerCertificate_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T func TestAccIAMServerCertificate_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.ServerCertificate resourceName := "aws_iam_server_certificate.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/iam/service_linked_role_identity_gen_test.go b/internal/service/iam/service_linked_role_identity_gen_test.go index e301af165bbf..e4c4d91c9bf7 100644 --- a/internal/service/iam/service_linked_role_identity_gen_test.go +++ b/internal/service/iam/service_linked_role_identity_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccIAMServiceLinkedRole_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_service_linked_role.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -103,6 +104,7 @@ func TestAccIAMServiceLinkedRole_Identity_Basic(t *testing.T) { // Resource Identity was added after v6.4.0 func TestAccIAMServiceLinkedRole_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_service_linked_role.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/iam/service_linked_role_tags_gen_test.go b/internal/service/iam/service_linked_role_tags_gen_test.go index 171001980c24..883c05ed3018 100644 --- a/internal/service/iam/service_linked_role_tags_gen_test.go +++ b/internal/service/iam/service_linked_role_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccIAMServiceLinkedRole_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_service_linked_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -198,6 +199,7 @@ func TestAccIAMServiceLinkedRole_tags(t *testing.T) { func TestAccIAMServiceLinkedRole_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_service_linked_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -264,6 +266,7 @@ func TestAccIAMServiceLinkedRole_tags_null(t *testing.T) { func TestAccIAMServiceLinkedRole_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_service_linked_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -326,6 +329,7 @@ func TestAccIAMServiceLinkedRole_tags_EmptyMap(t *testing.T) { func TestAccIAMServiceLinkedRole_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_service_linked_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccIAMServiceLinkedRole_tags_AddOnUpdate(t *testing.T) { func TestAccIAMServiceLinkedRole_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_service_linked_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -494,6 +499,7 @@ func TestAccIAMServiceLinkedRole_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccIAMServiceLinkedRole_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_service_linked_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -630,6 +636,7 @@ func TestAccIAMServiceLinkedRole_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccIAMServiceLinkedRole_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_service_linked_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -718,6 +725,7 @@ func TestAccIAMServiceLinkedRole_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccIAMServiceLinkedRole_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_service_linked_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -898,6 +906,7 @@ func TestAccIAMServiceLinkedRole_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccIAMServiceLinkedRole_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_service_linked_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1057,6 +1066,7 @@ func TestAccIAMServiceLinkedRole_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccIAMServiceLinkedRole_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_service_linked_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1232,6 +1242,7 @@ func TestAccIAMServiceLinkedRole_tags_DefaultTags_overlapping(t *testing.T) { func TestAccIAMServiceLinkedRole_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_service_linked_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1321,6 +1332,7 @@ func TestAccIAMServiceLinkedRole_tags_DefaultTags_updateToProviderOnly(t *testin func TestAccIAMServiceLinkedRole_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_service_linked_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1409,6 +1421,7 @@ func TestAccIAMServiceLinkedRole_tags_DefaultTags_updateToResourceOnly(t *testin func TestAccIAMServiceLinkedRole_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_service_linked_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccIAMServiceLinkedRole_tags_DefaultTags_emptyResourceTag(t *testing.T) func TestAccIAMServiceLinkedRole_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_service_linked_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1529,6 +1543,7 @@ func TestAccIAMServiceLinkedRole_tags_DefaultTags_emptyProviderOnlyTag(t *testin func TestAccIAMServiceLinkedRole_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_service_linked_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1590,6 +1605,7 @@ func TestAccIAMServiceLinkedRole_tags_DefaultTags_nullOverlappingResourceTag(t * func TestAccIAMServiceLinkedRole_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_service_linked_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1651,6 +1667,7 @@ func TestAccIAMServiceLinkedRole_tags_DefaultTags_nullNonOverlappingResourceTag( func TestAccIAMServiceLinkedRole_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_service_linked_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1705,6 +1722,7 @@ func TestAccIAMServiceLinkedRole_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccIAMServiceLinkedRole_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_service_linked_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1801,6 +1819,7 @@ func TestAccIAMServiceLinkedRole_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccIAMServiceLinkedRole_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_service_linked_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1887,6 +1906,7 @@ func TestAccIAMServiceLinkedRole_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func TestAccIAMServiceLinkedRole_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_service_linked_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2048,6 +2068,7 @@ func TestAccIAMServiceLinkedRole_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T func TestAccIAMServiceLinkedRole_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iam_service_linked_role.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/iam/user_data_source_tags_gen_test.go b/internal/service/iam/user_data_source_tags_gen_test.go index 4118acf84eca..837f5cdb6c9d 100644 --- a/internal/service/iam/user_data_source_tags_gen_test.go +++ b/internal/service/iam/user_data_source_tags_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccIAMUserDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_iam_user.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -49,6 +50,7 @@ func TestAccIAMUserDataSource_tags(t *testing.T) { func TestAccIAMUserDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_iam_user.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -73,6 +75,7 @@ func TestAccIAMUserDataSource_tags_NullMap(t *testing.T) { func TestAccIAMUserDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_iam_user.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -97,6 +100,7 @@ func TestAccIAMUserDataSource_tags_EmptyMap(t *testing.T) { func TestAccIAMUserDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_iam_user.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -129,6 +133,7 @@ func TestAccIAMUserDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccIAMUserDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_iam_user.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -167,6 +172,7 @@ func TestAccIAMUserDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccIAMUserDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_iam_user.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/iam/user_tags_gen_test.go b/internal/service/iam/user_tags_gen_test.go index e5d653976df3..13b0cb375e70 100644 --- a/internal/service/iam/user_tags_gen_test.go +++ b/internal/service/iam/user_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccIAMUser_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.User resourceName := "aws_iam_user.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -212,6 +213,7 @@ func TestAccIAMUser_tags(t *testing.T) { func TestAccIAMUser_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.User resourceName := "aws_iam_user.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -282,6 +284,7 @@ func TestAccIAMUser_tags_null(t *testing.T) { func TestAccIAMUser_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.User resourceName := "aws_iam_user.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -348,6 +351,7 @@ func TestAccIAMUser_tags_EmptyMap(t *testing.T) { func TestAccIAMUser_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.User resourceName := "aws_iam_user.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -432,6 +436,7 @@ func TestAccIAMUser_tags_AddOnUpdate(t *testing.T) { func TestAccIAMUser_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.User resourceName := "aws_iam_user.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -527,6 +532,7 @@ func TestAccIAMUser_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccIAMUser_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.User resourceName := "aws_iam_user.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -670,6 +676,7 @@ func TestAccIAMUser_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccIAMUser_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.User resourceName := "aws_iam_user.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -762,6 +769,7 @@ func TestAccIAMUser_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccIAMUser_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.User resourceName := "aws_iam_user.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -955,6 +963,7 @@ func TestAccIAMUser_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccIAMUser_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.User resourceName := "aws_iam_user.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1124,6 +1133,7 @@ func TestAccIAMUser_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccIAMUser_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.User resourceName := "aws_iam_user.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1309,6 +1319,7 @@ func TestAccIAMUser_tags_DefaultTags_overlapping(t *testing.T) { func TestAccIAMUser_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.User resourceName := "aws_iam_user.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1402,6 +1413,7 @@ func TestAccIAMUser_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccIAMUser_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.User resourceName := "aws_iam_user.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1494,6 +1506,7 @@ func TestAccIAMUser_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccIAMUser_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.User resourceName := "aws_iam_user.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1562,6 +1575,7 @@ func TestAccIAMUser_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccIAMUser_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.User resourceName := "aws_iam_user.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1622,6 +1636,7 @@ func TestAccIAMUser_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccIAMUser_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.User resourceName := "aws_iam_user.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1687,6 +1702,7 @@ func TestAccIAMUser_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { func TestAccIAMUser_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.User resourceName := "aws_iam_user.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1752,6 +1768,7 @@ func TestAccIAMUser_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) func TestAccIAMUser_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.User resourceName := "aws_iam_user.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1810,6 +1827,7 @@ func TestAccIAMUser_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccIAMUser_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.User resourceName := "aws_iam_user.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1928,7 @@ func TestAccIAMUser_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccIAMUser_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.User resourceName := "aws_iam_user.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2000,6 +2019,7 @@ func TestAccIAMUser_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccIAMUser_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.User resourceName := "aws_iam_user.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2162,6 +2182,7 @@ func TestAccIAMUser_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccIAMUser_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.User resourceName := "aws_iam_user.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/iam/virtual_mfa_device_tags_gen_test.go b/internal/service/iam/virtual_mfa_device_tags_gen_test.go index b9dedb467a5c..784925700181 100644 --- a/internal/service/iam/virtual_mfa_device_tags_gen_test.go +++ b/internal/service/iam/virtual_mfa_device_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccIAMVirtualMFADevice_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualMFADevice resourceName := "aws_iam_virtual_mfa_device.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -212,6 +213,7 @@ func TestAccIAMVirtualMFADevice_tags(t *testing.T) { func TestAccIAMVirtualMFADevice_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualMFADevice resourceName := "aws_iam_virtual_mfa_device.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -282,6 +284,7 @@ func TestAccIAMVirtualMFADevice_tags_null(t *testing.T) { func TestAccIAMVirtualMFADevice_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualMFADevice resourceName := "aws_iam_virtual_mfa_device.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -348,6 +351,7 @@ func TestAccIAMVirtualMFADevice_tags_EmptyMap(t *testing.T) { func TestAccIAMVirtualMFADevice_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualMFADevice resourceName := "aws_iam_virtual_mfa_device.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -432,6 +436,7 @@ func TestAccIAMVirtualMFADevice_tags_AddOnUpdate(t *testing.T) { func TestAccIAMVirtualMFADevice_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualMFADevice resourceName := "aws_iam_virtual_mfa_device.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -527,6 +532,7 @@ func TestAccIAMVirtualMFADevice_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccIAMVirtualMFADevice_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualMFADevice resourceName := "aws_iam_virtual_mfa_device.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -670,6 +676,7 @@ func TestAccIAMVirtualMFADevice_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccIAMVirtualMFADevice_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualMFADevice resourceName := "aws_iam_virtual_mfa_device.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -762,6 +769,7 @@ func TestAccIAMVirtualMFADevice_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccIAMVirtualMFADevice_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualMFADevice resourceName := "aws_iam_virtual_mfa_device.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -955,6 +963,7 @@ func TestAccIAMVirtualMFADevice_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccIAMVirtualMFADevice_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualMFADevice resourceName := "aws_iam_virtual_mfa_device.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1124,6 +1133,7 @@ func TestAccIAMVirtualMFADevice_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccIAMVirtualMFADevice_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualMFADevice resourceName := "aws_iam_virtual_mfa_device.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1309,6 +1319,7 @@ func TestAccIAMVirtualMFADevice_tags_DefaultTags_overlapping(t *testing.T) { func TestAccIAMVirtualMFADevice_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualMFADevice resourceName := "aws_iam_virtual_mfa_device.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1402,6 +1413,7 @@ func TestAccIAMVirtualMFADevice_tags_DefaultTags_updateToProviderOnly(t *testing func TestAccIAMVirtualMFADevice_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualMFADevice resourceName := "aws_iam_virtual_mfa_device.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1494,6 +1506,7 @@ func TestAccIAMVirtualMFADevice_tags_DefaultTags_updateToResourceOnly(t *testing func TestAccIAMVirtualMFADevice_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualMFADevice resourceName := "aws_iam_virtual_mfa_device.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1562,6 +1575,7 @@ func TestAccIAMVirtualMFADevice_tags_DefaultTags_emptyResourceTag(t *testing.T) func TestAccIAMVirtualMFADevice_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualMFADevice resourceName := "aws_iam_virtual_mfa_device.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1622,6 +1636,7 @@ func TestAccIAMVirtualMFADevice_tags_DefaultTags_emptyProviderOnlyTag(t *testing func TestAccIAMVirtualMFADevice_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualMFADevice resourceName := "aws_iam_virtual_mfa_device.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1687,6 +1702,7 @@ func TestAccIAMVirtualMFADevice_tags_DefaultTags_nullOverlappingResourceTag(t *t func TestAccIAMVirtualMFADevice_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualMFADevice resourceName := "aws_iam_virtual_mfa_device.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1752,6 +1768,7 @@ func TestAccIAMVirtualMFADevice_tags_DefaultTags_nullNonOverlappingResourceTag(t func TestAccIAMVirtualMFADevice_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualMFADevice resourceName := "aws_iam_virtual_mfa_device.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1810,6 +1827,7 @@ func TestAccIAMVirtualMFADevice_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccIAMVirtualMFADevice_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualMFADevice resourceName := "aws_iam_virtual_mfa_device.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1928,7 @@ func TestAccIAMVirtualMFADevice_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccIAMVirtualMFADevice_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualMFADevice resourceName := "aws_iam_virtual_mfa_device.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2000,6 +2019,7 @@ func TestAccIAMVirtualMFADevice_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func TestAccIAMVirtualMFADevice_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualMFADevice resourceName := "aws_iam_virtual_mfa_device.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2162,6 +2182,7 @@ func TestAccIAMVirtualMFADevice_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func TestAccIAMVirtualMFADevice_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.VirtualMFADevice resourceName := "aws_iam_virtual_mfa_device.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/imagebuilder/container_recipe_identity_gen_test.go b/internal/service/imagebuilder/container_recipe_identity_gen_test.go index e9ae3851a92c..ac932e5340b9 100644 --- a/internal/service/imagebuilder/container_recipe_identity_gen_test.go +++ b/internal/service/imagebuilder/container_recipe_identity_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccImageBuilderContainerRecipe_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_imagebuilder_container_recipe.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -226,6 +227,7 @@ func TestAccImageBuilderContainerRecipe_Identity_RegionOverride(t *testing.T) { // Resource Identity was added after v6.3.0 func TestAccImageBuilderContainerRecipe_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_imagebuilder_container_recipe.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/imagebuilder/distribution_configuration_identity_gen_test.go b/internal/service/imagebuilder/distribution_configuration_identity_gen_test.go index 95ee91c43053..35f701ff613d 100644 --- a/internal/service/imagebuilder/distribution_configuration_identity_gen_test.go +++ b/internal/service/imagebuilder/distribution_configuration_identity_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccImageBuilderDistributionConfiguration_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_imagebuilder_distribution_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -226,6 +227,7 @@ func TestAccImageBuilderDistributionConfiguration_Identity_RegionOverride(t *tes // Resource Identity was added after v6.3.0 func TestAccImageBuilderDistributionConfiguration_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_imagebuilder_distribution_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/imagebuilder/image_identity_gen_test.go b/internal/service/imagebuilder/image_identity_gen_test.go index aee71ef82b2f..200865002367 100644 --- a/internal/service/imagebuilder/image_identity_gen_test.go +++ b/internal/service/imagebuilder/image_identity_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccImageBuilderImage_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_imagebuilder_image.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -226,6 +227,7 @@ func TestAccImageBuilderImage_Identity_RegionOverride(t *testing.T) { // Resource Identity was added after v6.3.0 func TestAccImageBuilderImage_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_imagebuilder_image.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/imagebuilder/image_pipeline_identity_gen_test.go b/internal/service/imagebuilder/image_pipeline_identity_gen_test.go index 515c7ee66b00..4df53a276338 100644 --- a/internal/service/imagebuilder/image_pipeline_identity_gen_test.go +++ b/internal/service/imagebuilder/image_pipeline_identity_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccImageBuilderImagePipeline_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_imagebuilder_image_pipeline.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -226,6 +227,7 @@ func TestAccImageBuilderImagePipeline_Identity_RegionOverride(t *testing.T) { // Resource Identity was added after v6.3.0 func TestAccImageBuilderImagePipeline_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_imagebuilder_image_pipeline.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/imagebuilder/image_recipe_identity_gen_test.go b/internal/service/imagebuilder/image_recipe_identity_gen_test.go index e34ab1087835..1c708a4e9256 100644 --- a/internal/service/imagebuilder/image_recipe_identity_gen_test.go +++ b/internal/service/imagebuilder/image_recipe_identity_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccImageBuilderImageRecipe_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_imagebuilder_image_recipe.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -226,6 +227,7 @@ func TestAccImageBuilderImageRecipe_Identity_RegionOverride(t *testing.T) { // Resource Identity was added after v6.3.0 func TestAccImageBuilderImageRecipe_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_imagebuilder_image_recipe.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/imagebuilder/infrastructure_configuration_identity_gen_test.go b/internal/service/imagebuilder/infrastructure_configuration_identity_gen_test.go index 49f50320bd46..51a9ec6280a2 100644 --- a/internal/service/imagebuilder/infrastructure_configuration_identity_gen_test.go +++ b/internal/service/imagebuilder/infrastructure_configuration_identity_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccImageBuilderInfrastructureConfiguration_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_imagebuilder_infrastructure_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -226,6 +227,7 @@ func TestAccImageBuilderInfrastructureConfiguration_Identity_RegionOverride(t *t // Resource Identity was added after v6.3.0 func TestAccImageBuilderInfrastructureConfiguration_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_imagebuilder_infrastructure_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/imagebuilder/lifecycle_policy_identity_gen_test.go b/internal/service/imagebuilder/lifecycle_policy_identity_gen_test.go index 3cd205999df8..b681510a4175 100644 --- a/internal/service/imagebuilder/lifecycle_policy_identity_gen_test.go +++ b/internal/service/imagebuilder/lifecycle_policy_identity_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccImageBuilderLifecyclePolicy_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_imagebuilder_lifecycle_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -227,6 +228,7 @@ func TestAccImageBuilderLifecyclePolicy_Identity_RegionOverride(t *testing.T) { func TestAccImageBuilderLifecyclePolicy_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_imagebuilder_lifecycle_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/imagebuilder/workflow_identity_gen_test.go b/internal/service/imagebuilder/workflow_identity_gen_test.go index e571995e7e32..1a98823c5db5 100644 --- a/internal/service/imagebuilder/workflow_identity_gen_test.go +++ b/internal/service/imagebuilder/workflow_identity_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccImageBuilderWorkflow_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_imagebuilder_workflow.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -226,6 +227,7 @@ func TestAccImageBuilderWorkflow_Identity_RegionOverride(t *testing.T) { // Resource Identity was added after v6.3.0 func TestAccImageBuilderWorkflow_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_imagebuilder_workflow.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/inspector2/filter_tags_gen_test.go b/internal/service/inspector2/filter_tags_gen_test.go index 4d8c408dfdea..455d96a56f69 100644 --- a/internal/service/inspector2/filter_tags_gen_test.go +++ b/internal/service/inspector2/filter_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccInspector2Filter_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.Filter resourceName := "aws_inspector2_filter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -208,6 +209,7 @@ func TestAccInspector2Filter_tags(t *testing.T) { func TestAccInspector2Filter_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.Filter resourceName := "aws_inspector2_filter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -272,6 +274,7 @@ func TestAccInspector2Filter_tags_null(t *testing.T) { func TestAccInspector2Filter_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.Filter resourceName := "aws_inspector2_filter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -324,6 +327,7 @@ func TestAccInspector2Filter_tags_EmptyMap(t *testing.T) { func TestAccInspector2Filter_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.Filter resourceName := "aws_inspector2_filter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccInspector2Filter_tags_AddOnUpdate(t *testing.T) { func TestAccInspector2Filter_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.Filter resourceName := "aws_inspector2_filter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccInspector2Filter_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccInspector2Filter_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.Filter resourceName := "aws_inspector2_filter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -643,6 +649,7 @@ func TestAccInspector2Filter_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccInspector2Filter_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.Filter resourceName := "aws_inspector2_filter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -735,6 +742,7 @@ func TestAccInspector2Filter_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccInspector2Filter_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.Filter resourceName := "aws_inspector2_filter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -924,6 +932,7 @@ func TestAccInspector2Filter_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccInspector2Filter_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.Filter resourceName := "aws_inspector2_filter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1090,6 +1099,7 @@ func TestAccInspector2Filter_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccInspector2Filter_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.Filter resourceName := "aws_inspector2_filter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1272,6 +1282,7 @@ func TestAccInspector2Filter_tags_DefaultTags_overlapping(t *testing.T) { func TestAccInspector2Filter_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.Filter resourceName := "aws_inspector2_filter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1364,6 +1375,7 @@ func TestAccInspector2Filter_tags_DefaultTags_updateToProviderOnly(t *testing.T) func TestAccInspector2Filter_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.Filter resourceName := "aws_inspector2_filter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1455,6 +1467,7 @@ func TestAccInspector2Filter_tags_DefaultTags_updateToResourceOnly(t *testing.T) func TestAccInspector2Filter_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Filter resourceName := "aws_inspector2_filter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1523,6 +1536,7 @@ func TestAccInspector2Filter_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccInspector2Filter_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Filter resourceName := "aws_inspector2_filter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1583,6 +1597,7 @@ func TestAccInspector2Filter_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) func TestAccInspector2Filter_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Filter resourceName := "aws_inspector2_filter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1654,6 +1669,7 @@ func TestAccInspector2Filter_tags_DefaultTags_nullOverlappingResourceTag(t *test func TestAccInspector2Filter_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Filter resourceName := "aws_inspector2_filter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1727,6 +1743,7 @@ func TestAccInspector2Filter_tags_DefaultTags_nullNonOverlappingResourceTag(t *t func TestAccInspector2Filter_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.Filter resourceName := "aws_inspector2_filter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1784,6 +1801,7 @@ func TestAccInspector2Filter_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccInspector2Filter_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.Filter resourceName := "aws_inspector2_filter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1883,6 +1901,7 @@ func TestAccInspector2Filter_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccInspector2Filter_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.Filter resourceName := "aws_inspector2_filter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1972,6 +1991,7 @@ func TestAccInspector2Filter_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccInspector2Filter_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Filter resourceName := "aws_inspector2_filter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2134,6 +2154,7 @@ func TestAccInspector2Filter_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccInspector2Filter_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Filter resourceName := "aws_inspector2_filter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/iot/event_configurations_identity_gen_test.go b/internal/service/iot/event_configurations_identity_gen_test.go index 8689e4480453..5626c9c5d165 100644 --- a/internal/service/iot/event_configurations_identity_gen_test.go +++ b/internal/service/iot/event_configurations_identity_gen_test.go @@ -33,6 +33,7 @@ func testAccIoTEventConfigurations_IdentitySerial(t *testing.T) { func testAccIoTEventConfigurations_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iot_event_configurations.test" resource.Test(t, resource.TestCase{ @@ -213,6 +214,7 @@ func testAccIoTEventConfigurations_Identity_RegionOverride(t *testing.T) { func testAccIoTEventConfigurations_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iot_event_configurations.test" resource.Test(t, resource.TestCase{ diff --git a/internal/service/iot/indexing_configuration_identity_gen_test.go b/internal/service/iot/indexing_configuration_identity_gen_test.go index 9cdda6e96f2f..1fbd0b3defac 100644 --- a/internal/service/iot/indexing_configuration_identity_gen_test.go +++ b/internal/service/iot/indexing_configuration_identity_gen_test.go @@ -33,6 +33,7 @@ func testAccIoTIndexingConfiguration_IdentitySerial(t *testing.T) { func testAccIoTIndexingConfiguration_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iot_indexing_configuration.test" resource.Test(t, resource.TestCase{ @@ -213,6 +214,7 @@ func testAccIoTIndexingConfiguration_Identity_RegionOverride(t *testing.T) { func testAccIoTIndexingConfiguration_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iot_indexing_configuration.test" resource.Test(t, resource.TestCase{ diff --git a/internal/service/iot/logging_options_identity_gen_test.go b/internal/service/iot/logging_options_identity_gen_test.go index 7d42c4e1dec1..0e4689a2083f 100644 --- a/internal/service/iot/logging_options_identity_gen_test.go +++ b/internal/service/iot/logging_options_identity_gen_test.go @@ -34,6 +34,7 @@ func testAccIoTLoggingOptions_IdentitySerial(t *testing.T) { func testAccIoTLoggingOptions_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iot_logging_options.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -102,6 +103,7 @@ func testAccIoTLoggingOptions_Identity_RegionOverride(t *testing.T) { func testAccIoTLoggingOptions_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_iot_logging_options.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/kinesis/resource_policy_identity_gen_test.go b/internal/service/kinesis/resource_policy_identity_gen_test.go index ab195ea8145a..27b74b2527fe 100644 --- a/internal/service/kinesis/resource_policy_identity_gen_test.go +++ b/internal/service/kinesis/resource_policy_identity_gen_test.go @@ -22,6 +22,7 @@ import ( func TestAccKinesisResourcePolicy_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_kinesis_resource_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) providers := make(map[string]*schema.Provider) @@ -261,6 +262,7 @@ func TestAccKinesisResourcePolicy_Identity_RegionOverride(t *testing.T) { func TestAccKinesisResourcePolicy_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_kinesis_resource_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) providers := make(map[string]*schema.Provider) diff --git a/internal/service/kms/external_key_tags_gen_test.go b/internal/service/kms/external_key_tags_gen_test.go index 0a2013d84752..943a22d6a048 100644 --- a/internal/service/kms/external_key_tags_gen_test.go +++ b/internal/service/kms/external_key_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccKMSExternalKey_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -212,6 +213,7 @@ func TestAccKMSExternalKey_tags(t *testing.T) { func TestAccKMSExternalKey_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -282,6 +284,7 @@ func TestAccKMSExternalKey_tags_null(t *testing.T) { func TestAccKMSExternalKey_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -348,6 +351,7 @@ func TestAccKMSExternalKey_tags_EmptyMap(t *testing.T) { func TestAccKMSExternalKey_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -432,6 +436,7 @@ func TestAccKMSExternalKey_tags_AddOnUpdate(t *testing.T) { func TestAccKMSExternalKey_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -527,6 +532,7 @@ func TestAccKMSExternalKey_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccKMSExternalKey_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -670,6 +676,7 @@ func TestAccKMSExternalKey_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccKMSExternalKey_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -762,6 +769,7 @@ func TestAccKMSExternalKey_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccKMSExternalKey_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -955,6 +963,7 @@ func TestAccKMSExternalKey_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccKMSExternalKey_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1124,6 +1133,7 @@ func TestAccKMSExternalKey_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccKMSExternalKey_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1309,6 +1319,7 @@ func TestAccKMSExternalKey_tags_DefaultTags_overlapping(t *testing.T) { func TestAccKMSExternalKey_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1402,6 +1413,7 @@ func TestAccKMSExternalKey_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccKMSExternalKey_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1494,6 +1506,7 @@ func TestAccKMSExternalKey_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccKMSExternalKey_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1562,6 +1575,7 @@ func TestAccKMSExternalKey_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccKMSExternalKey_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1622,6 +1636,7 @@ func TestAccKMSExternalKey_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccKMSExternalKey_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1687,6 +1702,7 @@ func TestAccKMSExternalKey_tags_DefaultTags_nullOverlappingResourceTag(t *testin func TestAccKMSExternalKey_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1752,6 +1768,7 @@ func TestAccKMSExternalKey_tags_DefaultTags_nullNonOverlappingResourceTag(t *tes func TestAccKMSExternalKey_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1810,6 +1827,7 @@ func TestAccKMSExternalKey_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccKMSExternalKey_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1928,7 @@ func TestAccKMSExternalKey_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccKMSExternalKey_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2000,6 +2019,7 @@ func TestAccKMSExternalKey_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccKMSExternalKey_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2162,6 +2182,7 @@ func TestAccKMSExternalKey_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccKMSExternalKey_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/kms/key_tags_gen_test.go b/internal/service/kms/key_tags_gen_test.go index 9ec98cda5521..0c1417e922ba 100644 --- a/internal/service/kms/key_tags_gen_test.go +++ b/internal/service/kms/key_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccKMSKey_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -212,6 +213,7 @@ func TestAccKMSKey_tags(t *testing.T) { func TestAccKMSKey_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -282,6 +284,7 @@ func TestAccKMSKey_tags_null(t *testing.T) { func TestAccKMSKey_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -348,6 +351,7 @@ func TestAccKMSKey_tags_EmptyMap(t *testing.T) { func TestAccKMSKey_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -432,6 +436,7 @@ func TestAccKMSKey_tags_AddOnUpdate(t *testing.T) { func TestAccKMSKey_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -527,6 +532,7 @@ func TestAccKMSKey_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccKMSKey_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -670,6 +676,7 @@ func TestAccKMSKey_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccKMSKey_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -762,6 +769,7 @@ func TestAccKMSKey_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccKMSKey_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -955,6 +963,7 @@ func TestAccKMSKey_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccKMSKey_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1124,6 +1133,7 @@ func TestAccKMSKey_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccKMSKey_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1309,6 +1319,7 @@ func TestAccKMSKey_tags_DefaultTags_overlapping(t *testing.T) { func TestAccKMSKey_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1402,6 +1413,7 @@ func TestAccKMSKey_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccKMSKey_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1494,6 +1506,7 @@ func TestAccKMSKey_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccKMSKey_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1562,6 +1575,7 @@ func TestAccKMSKey_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccKMSKey_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1622,6 +1636,7 @@ func TestAccKMSKey_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccKMSKey_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1687,6 +1702,7 @@ func TestAccKMSKey_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { func TestAccKMSKey_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1752,6 +1768,7 @@ func TestAccKMSKey_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) func TestAccKMSKey_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1810,6 +1827,7 @@ func TestAccKMSKey_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccKMSKey_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1928,7 @@ func TestAccKMSKey_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccKMSKey_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2000,6 +2019,7 @@ func TestAccKMSKey_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccKMSKey_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2162,6 +2182,7 @@ func TestAccKMSKey_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccKMSKey_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/kms/replica_external_key_tags_gen_test.go b/internal/service/kms/replica_external_key_tags_gen_test.go index 65218dead0ec..404ce312d57e 100644 --- a/internal/service/kms/replica_external_key_tags_gen_test.go +++ b/internal/service/kms/replica_external_key_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccKMSReplicaExternalKey_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -227,6 +228,7 @@ func TestAccKMSReplicaExternalKey_tags(t *testing.T) { func TestAccKMSReplicaExternalKey_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -302,6 +304,7 @@ func TestAccKMSReplicaExternalKey_tags_null(t *testing.T) { func TestAccKMSReplicaExternalKey_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -373,6 +376,7 @@ func TestAccKMSReplicaExternalKey_tags_EmptyMap(t *testing.T) { func TestAccKMSReplicaExternalKey_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -462,6 +466,7 @@ func TestAccKMSReplicaExternalKey_tags_AddOnUpdate(t *testing.T) { func TestAccKMSReplicaExternalKey_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -564,6 +569,7 @@ func TestAccKMSReplicaExternalKey_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccKMSReplicaExternalKey_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -716,6 +722,7 @@ func TestAccKMSReplicaExternalKey_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccKMSReplicaExternalKey_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -813,6 +820,7 @@ func TestAccKMSReplicaExternalKey_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccKMSReplicaExternalKey_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1014,6 +1022,7 @@ func TestAccKMSReplicaExternalKey_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccKMSReplicaExternalKey_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1189,6 +1198,7 @@ func TestAccKMSReplicaExternalKey_tags_DefaultTags_nonOverlapping(t *testing.T) func TestAccKMSReplicaExternalKey_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1380,6 +1390,7 @@ func TestAccKMSReplicaExternalKey_tags_DefaultTags_overlapping(t *testing.T) { func TestAccKMSReplicaExternalKey_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1476,6 +1487,7 @@ func TestAccKMSReplicaExternalKey_tags_DefaultTags_updateToProviderOnly(t *testi func TestAccKMSReplicaExternalKey_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1571,6 +1583,7 @@ func TestAccKMSReplicaExternalKey_tags_DefaultTags_updateToResourceOnly(t *testi func TestAccKMSReplicaExternalKey_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1641,6 +1654,7 @@ func TestAccKMSReplicaExternalKey_tags_DefaultTags_emptyResourceTag(t *testing.T func TestAccKMSReplicaExternalKey_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1703,6 +1717,7 @@ func TestAccKMSReplicaExternalKey_tags_DefaultTags_emptyProviderOnlyTag(t *testi func TestAccKMSReplicaExternalKey_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1770,6 +1785,7 @@ func TestAccKMSReplicaExternalKey_tags_DefaultTags_nullOverlappingResourceTag(t func TestAccKMSReplicaExternalKey_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1837,6 +1853,7 @@ func TestAccKMSReplicaExternalKey_tags_DefaultTags_nullNonOverlappingResourceTag func TestAccKMSReplicaExternalKey_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1897,6 +1914,7 @@ func TestAccKMSReplicaExternalKey_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccKMSReplicaExternalKey_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2000,6 +2018,7 @@ func TestAccKMSReplicaExternalKey_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccKMSReplicaExternalKey_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2093,6 +2112,7 @@ func TestAccKMSReplicaExternalKey_tags_ComputedTag_OnUpdate_Replace(t *testing.T func TestAccKMSReplicaExternalKey_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2258,6 +2278,7 @@ func TestAccKMSReplicaExternalKey_tags_IgnoreTags_Overlap_DefaultTag(t *testing. func TestAccKMSReplicaExternalKey_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_external_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/kms/replica_key_tags_gen_test.go b/internal/service/kms/replica_key_tags_gen_test.go index f96437dfeef7..36bdfd1e0f11 100644 --- a/internal/service/kms/replica_key_tags_gen_test.go +++ b/internal/service/kms/replica_key_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccKMSReplicaKey_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -227,6 +228,7 @@ func TestAccKMSReplicaKey_tags(t *testing.T) { func TestAccKMSReplicaKey_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -302,6 +304,7 @@ func TestAccKMSReplicaKey_tags_null(t *testing.T) { func TestAccKMSReplicaKey_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -373,6 +376,7 @@ func TestAccKMSReplicaKey_tags_EmptyMap(t *testing.T) { func TestAccKMSReplicaKey_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -462,6 +466,7 @@ func TestAccKMSReplicaKey_tags_AddOnUpdate(t *testing.T) { func TestAccKMSReplicaKey_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -564,6 +569,7 @@ func TestAccKMSReplicaKey_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccKMSReplicaKey_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -716,6 +722,7 @@ func TestAccKMSReplicaKey_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccKMSReplicaKey_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -813,6 +820,7 @@ func TestAccKMSReplicaKey_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccKMSReplicaKey_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1014,6 +1022,7 @@ func TestAccKMSReplicaKey_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccKMSReplicaKey_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1189,6 +1198,7 @@ func TestAccKMSReplicaKey_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccKMSReplicaKey_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1380,6 +1390,7 @@ func TestAccKMSReplicaKey_tags_DefaultTags_overlapping(t *testing.T) { func TestAccKMSReplicaKey_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1476,6 +1487,7 @@ func TestAccKMSReplicaKey_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccKMSReplicaKey_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1571,6 +1583,7 @@ func TestAccKMSReplicaKey_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccKMSReplicaKey_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1641,6 +1654,7 @@ func TestAccKMSReplicaKey_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccKMSReplicaKey_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1703,6 +1717,7 @@ func TestAccKMSReplicaKey_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccKMSReplicaKey_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1770,6 +1785,7 @@ func TestAccKMSReplicaKey_tags_DefaultTags_nullOverlappingResourceTag(t *testing func TestAccKMSReplicaKey_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1837,6 +1853,7 @@ func TestAccKMSReplicaKey_tags_DefaultTags_nullNonOverlappingResourceTag(t *test func TestAccKMSReplicaKey_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1897,6 +1914,7 @@ func TestAccKMSReplicaKey_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccKMSReplicaKey_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2000,6 +2018,7 @@ func TestAccKMSReplicaKey_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccKMSReplicaKey_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2093,6 +2112,7 @@ func TestAccKMSReplicaKey_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccKMSReplicaKey_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2258,6 +2278,7 @@ func TestAccKMSReplicaKey_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccKMSReplicaKey_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.KeyMetadata resourceName := "aws_kms_replica_key.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/lambda/function_data_source_tags_gen_test.go b/internal/service/lambda/function_data_source_tags_gen_test.go index 92ca9a145352..a5ae81c88a78 100644 --- a/internal/service/lambda/function_data_source_tags_gen_test.go +++ b/internal/service/lambda/function_data_source_tags_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccLambdaFunctionDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lambda_function.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -49,6 +50,7 @@ func TestAccLambdaFunctionDataSource_tags(t *testing.T) { func TestAccLambdaFunctionDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lambda_function.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -73,6 +75,7 @@ func TestAccLambdaFunctionDataSource_tags_NullMap(t *testing.T) { func TestAccLambdaFunctionDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lambda_function.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -97,6 +100,7 @@ func TestAccLambdaFunctionDataSource_tags_EmptyMap(t *testing.T) { func TestAccLambdaFunctionDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lambda_function.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -129,6 +133,7 @@ func TestAccLambdaFunctionDataSource_tags_DefaultTags_nonOverlapping(t *testing. func TestAccLambdaFunctionDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lambda_function.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -167,6 +172,7 @@ func TestAccLambdaFunctionDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testi func TestAccLambdaFunctionDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_lambda_function.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/lambda/function_tags_gen_test.go b/internal/service/lambda/function_tags_gen_test.go index 3585afaa4f95..8d73de511a1d 100644 --- a/internal/service/lambda/function_tags_gen_test.go +++ b/internal/service/lambda/function_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccLambdaFunction_tags(t *testing.T) { ctx := acctest.Context(t) + var v lambda.GetFunctionOutput resourceName := "aws_lambda_function.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -212,6 +213,7 @@ func TestAccLambdaFunction_tags(t *testing.T) { func TestAccLambdaFunction_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v lambda.GetFunctionOutput resourceName := "aws_lambda_function.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -282,6 +284,7 @@ func TestAccLambdaFunction_tags_null(t *testing.T) { func TestAccLambdaFunction_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v lambda.GetFunctionOutput resourceName := "aws_lambda_function.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -348,6 +351,7 @@ func TestAccLambdaFunction_tags_EmptyMap(t *testing.T) { func TestAccLambdaFunction_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v lambda.GetFunctionOutput resourceName := "aws_lambda_function.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -432,6 +436,7 @@ func TestAccLambdaFunction_tags_AddOnUpdate(t *testing.T) { func TestAccLambdaFunction_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v lambda.GetFunctionOutput resourceName := "aws_lambda_function.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -527,6 +532,7 @@ func TestAccLambdaFunction_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccLambdaFunction_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v lambda.GetFunctionOutput resourceName := "aws_lambda_function.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -670,6 +676,7 @@ func TestAccLambdaFunction_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccLambdaFunction_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v lambda.GetFunctionOutput resourceName := "aws_lambda_function.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -762,6 +769,7 @@ func TestAccLambdaFunction_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccLambdaFunction_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v lambda.GetFunctionOutput resourceName := "aws_lambda_function.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -955,6 +963,7 @@ func TestAccLambdaFunction_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccLambdaFunction_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v lambda.GetFunctionOutput resourceName := "aws_lambda_function.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1124,6 +1133,7 @@ func TestAccLambdaFunction_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccLambdaFunction_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v lambda.GetFunctionOutput resourceName := "aws_lambda_function.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1309,6 +1319,7 @@ func TestAccLambdaFunction_tags_DefaultTags_overlapping(t *testing.T) { func TestAccLambdaFunction_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v lambda.GetFunctionOutput resourceName := "aws_lambda_function.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1402,6 +1413,7 @@ func TestAccLambdaFunction_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccLambdaFunction_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v lambda.GetFunctionOutput resourceName := "aws_lambda_function.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1494,6 +1506,7 @@ func TestAccLambdaFunction_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccLambdaFunction_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v lambda.GetFunctionOutput resourceName := "aws_lambda_function.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1562,6 +1575,7 @@ func TestAccLambdaFunction_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccLambdaFunction_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v lambda.GetFunctionOutput resourceName := "aws_lambda_function.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1622,6 +1636,7 @@ func TestAccLambdaFunction_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccLambdaFunction_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v lambda.GetFunctionOutput resourceName := "aws_lambda_function.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1687,6 +1702,7 @@ func TestAccLambdaFunction_tags_DefaultTags_nullOverlappingResourceTag(t *testin func TestAccLambdaFunction_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v lambda.GetFunctionOutput resourceName := "aws_lambda_function.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1752,6 +1768,7 @@ func TestAccLambdaFunction_tags_DefaultTags_nullNonOverlappingResourceTag(t *tes func TestAccLambdaFunction_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v lambda.GetFunctionOutput resourceName := "aws_lambda_function.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1810,6 +1827,7 @@ func TestAccLambdaFunction_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccLambdaFunction_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v lambda.GetFunctionOutput resourceName := "aws_lambda_function.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1928,7 @@ func TestAccLambdaFunction_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccLambdaFunction_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v lambda.GetFunctionOutput resourceName := "aws_lambda_function.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2000,6 +2019,7 @@ func TestAccLambdaFunction_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccLambdaFunction_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v lambda.GetFunctionOutput resourceName := "aws_lambda_function.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2162,6 +2182,7 @@ func TestAccLambdaFunction_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccLambdaFunction_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v lambda.GetFunctionOutput resourceName := "aws_lambda_function.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/logs/anomaly_detector_tags_gen_test.go b/internal/service/logs/anomaly_detector_tags_gen_test.go index 51e67185becc..a46e3728dbca 100644 --- a/internal/service/logs/anomaly_detector_tags_gen_test.go +++ b/internal/service/logs/anomaly_detector_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccLogsAnomalyDetector_tags(t *testing.T) { ctx := acctest.Context(t) + var v cloudwatchlogs.GetLogAnomalyDetectorOutput resourceName := "aws_cloudwatch_log_anomaly_detector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -220,6 +221,7 @@ func TestAccLogsAnomalyDetector_tags(t *testing.T) { func TestAccLogsAnomalyDetector_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v cloudwatchlogs.GetLogAnomalyDetectorOutput resourceName := "aws_cloudwatch_log_anomaly_detector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -285,6 +287,7 @@ func TestAccLogsAnomalyDetector_tags_null(t *testing.T) { func TestAccLogsAnomalyDetector_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v cloudwatchlogs.GetLogAnomalyDetectorOutput resourceName := "aws_cloudwatch_log_anomaly_detector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -338,6 +341,7 @@ func TestAccLogsAnomalyDetector_tags_EmptyMap(t *testing.T) { func TestAccLogsAnomalyDetector_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v cloudwatchlogs.GetLogAnomalyDetectorOutput resourceName := "aws_cloudwatch_log_anomaly_detector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -423,6 +427,7 @@ func TestAccLogsAnomalyDetector_tags_AddOnUpdate(t *testing.T) { func TestAccLogsAnomalyDetector_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v cloudwatchlogs.GetLogAnomalyDetectorOutput resourceName := "aws_cloudwatch_log_anomaly_detector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -523,6 +528,7 @@ func TestAccLogsAnomalyDetector_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccLogsAnomalyDetector_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v cloudwatchlogs.GetLogAnomalyDetectorOutput resourceName := "aws_cloudwatch_log_anomaly_detector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -672,6 +678,7 @@ func TestAccLogsAnomalyDetector_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccLogsAnomalyDetector_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v cloudwatchlogs.GetLogAnomalyDetectorOutput resourceName := "aws_cloudwatch_log_anomaly_detector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -767,6 +774,7 @@ func TestAccLogsAnomalyDetector_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccLogsAnomalyDetector_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v cloudwatchlogs.GetLogAnomalyDetectorOutput resourceName := "aws_cloudwatch_log_anomaly_detector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -968,6 +976,7 @@ func TestAccLogsAnomalyDetector_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccLogsAnomalyDetector_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v cloudwatchlogs.GetLogAnomalyDetectorOutput resourceName := "aws_cloudwatch_log_anomaly_detector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1143,6 +1152,7 @@ func TestAccLogsAnomalyDetector_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccLogsAnomalyDetector_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v cloudwatchlogs.GetLogAnomalyDetectorOutput resourceName := "aws_cloudwatch_log_anomaly_detector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1334,6 +1344,7 @@ func TestAccLogsAnomalyDetector_tags_DefaultTags_overlapping(t *testing.T) { func TestAccLogsAnomalyDetector_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v cloudwatchlogs.GetLogAnomalyDetectorOutput resourceName := "aws_cloudwatch_log_anomaly_detector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1429,6 +1440,7 @@ func TestAccLogsAnomalyDetector_tags_DefaultTags_updateToProviderOnly(t *testing func TestAccLogsAnomalyDetector_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v cloudwatchlogs.GetLogAnomalyDetectorOutput resourceName := "aws_cloudwatch_log_anomaly_detector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1523,6 +1535,7 @@ func TestAccLogsAnomalyDetector_tags_DefaultTags_updateToResourceOnly(t *testing func TestAccLogsAnomalyDetector_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v cloudwatchlogs.GetLogAnomalyDetectorOutput resourceName := "aws_cloudwatch_log_anomaly_detector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1594,6 +1607,7 @@ func TestAccLogsAnomalyDetector_tags_DefaultTags_emptyResourceTag(t *testing.T) func TestAccLogsAnomalyDetector_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v cloudwatchlogs.GetLogAnomalyDetectorOutput resourceName := "aws_cloudwatch_log_anomaly_detector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1657,6 +1671,7 @@ func TestAccLogsAnomalyDetector_tags_DefaultTags_emptyProviderOnlyTag(t *testing func TestAccLogsAnomalyDetector_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v cloudwatchlogs.GetLogAnomalyDetectorOutput resourceName := "aws_cloudwatch_log_anomaly_detector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1729,6 +1744,7 @@ func TestAccLogsAnomalyDetector_tags_DefaultTags_nullOverlappingResourceTag(t *t func TestAccLogsAnomalyDetector_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v cloudwatchlogs.GetLogAnomalyDetectorOutput resourceName := "aws_cloudwatch_log_anomaly_detector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1803,6 +1819,7 @@ func TestAccLogsAnomalyDetector_tags_DefaultTags_nullNonOverlappingResourceTag(t func TestAccLogsAnomalyDetector_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v cloudwatchlogs.GetLogAnomalyDetectorOutput resourceName := "aws_cloudwatch_log_anomaly_detector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1863,6 +1880,7 @@ func TestAccLogsAnomalyDetector_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccLogsAnomalyDetector_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v cloudwatchlogs.GetLogAnomalyDetectorOutput resourceName := "aws_cloudwatch_log_anomaly_detector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1965,6 +1983,7 @@ func TestAccLogsAnomalyDetector_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccLogsAnomalyDetector_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v cloudwatchlogs.GetLogAnomalyDetectorOutput resourceName := "aws_cloudwatch_log_anomaly_detector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2057,6 +2076,7 @@ func TestAccLogsAnomalyDetector_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func TestAccLogsAnomalyDetector_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v cloudwatchlogs.GetLogAnomalyDetectorOutput resourceName := "aws_cloudwatch_log_anomaly_detector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2219,6 +2239,7 @@ func TestAccLogsAnomalyDetector_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func TestAccLogsAnomalyDetector_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v cloudwatchlogs.GetLogAnomalyDetectorOutput resourceName := "aws_cloudwatch_log_anomaly_detector.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/logs/destination_tags_gen_test.go b/internal/service/logs/destination_tags_gen_test.go index a25b61052825..eba9edc0bebd 100644 --- a/internal/service/logs/destination_tags_gen_test.go +++ b/internal/service/logs/destination_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccLogsDestination_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Destination resourceName := "aws_cloudwatch_log_destination.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccLogsDestination_tags(t *testing.T) { func TestAccLogsDestination_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Destination resourceName := "aws_cloudwatch_log_destination.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccLogsDestination_tags_null(t *testing.T) { func TestAccLogsDestination_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Destination resourceName := "aws_cloudwatch_log_destination.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccLogsDestination_tags_EmptyMap(t *testing.T) { func TestAccLogsDestination_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Destination resourceName := "aws_cloudwatch_log_destination.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccLogsDestination_tags_AddOnUpdate(t *testing.T) { func TestAccLogsDestination_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Destination resourceName := "aws_cloudwatch_log_destination.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccLogsDestination_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccLogsDestination_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Destination resourceName := "aws_cloudwatch_log_destination.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccLogsDestination_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccLogsDestination_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Destination resourceName := "aws_cloudwatch_log_destination.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccLogsDestination_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccLogsDestination_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Destination resourceName := "aws_cloudwatch_log_destination.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccLogsDestination_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccLogsDestination_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Destination resourceName := "aws_cloudwatch_log_destination.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccLogsDestination_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccLogsDestination_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Destination resourceName := "aws_cloudwatch_log_destination.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccLogsDestination_tags_DefaultTags_overlapping(t *testing.T) { func TestAccLogsDestination_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Destination resourceName := "aws_cloudwatch_log_destination.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccLogsDestination_tags_DefaultTags_updateToProviderOnly(t *testing.T) func TestAccLogsDestination_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Destination resourceName := "aws_cloudwatch_log_destination.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccLogsDestination_tags_DefaultTags_updateToResourceOnly(t *testing.T) func TestAccLogsDestination_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Destination resourceName := "aws_cloudwatch_log_destination.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccLogsDestination_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccLogsDestination_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Destination resourceName := "aws_cloudwatch_log_destination.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccLogsDestination_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) func TestAccLogsDestination_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Destination resourceName := "aws_cloudwatch_log_destination.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccLogsDestination_tags_DefaultTags_nullOverlappingResourceTag(t *testi func TestAccLogsDestination_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Destination resourceName := "aws_cloudwatch_log_destination.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccLogsDestination_tags_DefaultTags_nullNonOverlappingResourceTag(t *te func TestAccLogsDestination_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Destination resourceName := "aws_cloudwatch_log_destination.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccLogsDestination_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccLogsDestination_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Destination resourceName := "aws_cloudwatch_log_destination.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccLogsDestination_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccLogsDestination_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Destination resourceName := "aws_cloudwatch_log_destination.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccLogsDestination_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccLogsDestination_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Destination resourceName := "aws_cloudwatch_log_destination.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccLogsDestination_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccLogsDestination_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Destination resourceName := "aws_cloudwatch_log_destination.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/logs/group_data_source_tags_gen_test.go b/internal/service/logs/group_data_source_tags_gen_test.go index d9fd4dcf6e05..29315895afe5 100644 --- a/internal/service/logs/group_data_source_tags_gen_test.go +++ b/internal/service/logs/group_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccLogsLogGroupDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_cloudwatch_log_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -44,6 +45,7 @@ func TestAccLogsLogGroupDataSource_tags(t *testing.T) { func TestAccLogsLogGroupDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_cloudwatch_log_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -68,6 +70,7 @@ func TestAccLogsLogGroupDataSource_tags_NullMap(t *testing.T) { func TestAccLogsLogGroupDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_cloudwatch_log_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -92,6 +95,7 @@ func TestAccLogsLogGroupDataSource_tags_EmptyMap(t *testing.T) { func TestAccLogsLogGroupDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_cloudwatch_log_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -124,6 +128,7 @@ func TestAccLogsLogGroupDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) func TestAccLogsLogGroupDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_cloudwatch_log_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -162,6 +167,7 @@ func TestAccLogsLogGroupDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing func TestAccLogsLogGroupDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_cloudwatch_log_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/logs/group_tags_gen_test.go b/internal/service/logs/group_tags_gen_test.go index c1bd159f5a83..a74bac7aab8e 100644 --- a/internal/service/logs/group_tags_gen_test.go +++ b/internal/service/logs/group_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccLogsLogGroup_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LogGroup resourceName := "aws_cloudwatch_log_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccLogsLogGroup_tags(t *testing.T) { func TestAccLogsLogGroup_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LogGroup resourceName := "aws_cloudwatch_log_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccLogsLogGroup_tags_null(t *testing.T) { func TestAccLogsLogGroup_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LogGroup resourceName := "aws_cloudwatch_log_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccLogsLogGroup_tags_EmptyMap(t *testing.T) { func TestAccLogsLogGroup_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LogGroup resourceName := "aws_cloudwatch_log_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccLogsLogGroup_tags_AddOnUpdate(t *testing.T) { func TestAccLogsLogGroup_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LogGroup resourceName := "aws_cloudwatch_log_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccLogsLogGroup_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccLogsLogGroup_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LogGroup resourceName := "aws_cloudwatch_log_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccLogsLogGroup_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccLogsLogGroup_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LogGroup resourceName := "aws_cloudwatch_log_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccLogsLogGroup_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccLogsLogGroup_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LogGroup resourceName := "aws_cloudwatch_log_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccLogsLogGroup_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccLogsLogGroup_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LogGroup resourceName := "aws_cloudwatch_log_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccLogsLogGroup_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccLogsLogGroup_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LogGroup resourceName := "aws_cloudwatch_log_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccLogsLogGroup_tags_DefaultTags_overlapping(t *testing.T) { func TestAccLogsLogGroup_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LogGroup resourceName := "aws_cloudwatch_log_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccLogsLogGroup_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccLogsLogGroup_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LogGroup resourceName := "aws_cloudwatch_log_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccLogsLogGroup_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccLogsLogGroup_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LogGroup resourceName := "aws_cloudwatch_log_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccLogsLogGroup_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccLogsLogGroup_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LogGroup resourceName := "aws_cloudwatch_log_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccLogsLogGroup_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccLogsLogGroup_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LogGroup resourceName := "aws_cloudwatch_log_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccLogsLogGroup_tags_DefaultTags_nullOverlappingResourceTag(t *testing. func TestAccLogsLogGroup_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LogGroup resourceName := "aws_cloudwatch_log_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccLogsLogGroup_tags_DefaultTags_nullNonOverlappingResourceTag(t *testi func TestAccLogsLogGroup_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LogGroup resourceName := "aws_cloudwatch_log_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccLogsLogGroup_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccLogsLogGroup_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LogGroup resourceName := "aws_cloudwatch_log_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccLogsLogGroup_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccLogsLogGroup_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LogGroup resourceName := "aws_cloudwatch_log_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccLogsLogGroup_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccLogsLogGroup_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LogGroup resourceName := "aws_cloudwatch_log_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccLogsLogGroup_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccLogsLogGroup_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.LogGroup resourceName := "aws_cloudwatch_log_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/m2/application_tags_gen_test.go b/internal/service/m2/application_tags_gen_test.go index 90fa6e71cdbf..e5bbdf87f3b3 100644 --- a/internal/service/m2/application_tags_gen_test.go +++ b/internal/service/m2/application_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccM2Application_tags(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetApplicationOutput resourceName := "aws_m2_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccM2Application_tags(t *testing.T) { func TestAccM2Application_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetApplicationOutput resourceName := "aws_m2_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -262,6 +264,7 @@ func TestAccM2Application_tags_null(t *testing.T) { func TestAccM2Application_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetApplicationOutput resourceName := "aws_m2_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -312,6 +315,7 @@ func TestAccM2Application_tags_EmptyMap(t *testing.T) { func TestAccM2Application_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetApplicationOutput resourceName := "aws_m2_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -392,6 +396,7 @@ func TestAccM2Application_tags_AddOnUpdate(t *testing.T) { func TestAccM2Application_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetApplicationOutput resourceName := "aws_m2_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -482,6 +487,7 @@ func TestAccM2Application_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccM2Application_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetApplicationOutput resourceName := "aws_m2_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -621,6 +627,7 @@ func TestAccM2Application_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccM2Application_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetApplicationOutput resourceName := "aws_m2_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -711,6 +718,7 @@ func TestAccM2Application_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccM2Application_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetApplicationOutput resourceName := "aws_m2_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -892,6 +900,7 @@ func TestAccM2Application_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccM2Application_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetApplicationOutput resourceName := "aws_m2_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1052,6 +1061,7 @@ func TestAccM2Application_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccM2Application_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetApplicationOutput resourceName := "aws_m2_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1228,6 +1238,7 @@ func TestAccM2Application_tags_DefaultTags_overlapping(t *testing.T) { func TestAccM2Application_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetApplicationOutput resourceName := "aws_m2_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1318,6 +1329,7 @@ func TestAccM2Application_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccM2Application_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetApplicationOutput resourceName := "aws_m2_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1407,6 +1419,7 @@ func TestAccM2Application_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccM2Application_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetApplicationOutput resourceName := "aws_m2_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccM2Application_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccM2Application_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetApplicationOutput resourceName := "aws_m2_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1531,6 +1545,7 @@ func TestAccM2Application_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccM2Application_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetApplicationOutput resourceName := "aws_m2_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1600,6 +1615,7 @@ func TestAccM2Application_tags_DefaultTags_nullOverlappingResourceTag(t *testing func TestAccM2Application_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetApplicationOutput resourceName := "aws_m2_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1671,6 +1687,7 @@ func TestAccM2Application_tags_DefaultTags_nullNonOverlappingResourceTag(t *test func TestAccM2Application_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetApplicationOutput resourceName := "aws_m2_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1726,6 +1743,7 @@ func TestAccM2Application_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccM2Application_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetApplicationOutput resourceName := "aws_m2_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1823,6 +1841,7 @@ func TestAccM2Application_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccM2Application_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetApplicationOutput resourceName := "aws_m2_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1929,7 @@ func TestAccM2Application_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccM2Application_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetApplicationOutput resourceName := "aws_m2_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2072,6 +2092,7 @@ func TestAccM2Application_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccM2Application_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetApplicationOutput resourceName := "aws_m2_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/m2/environment_tags_gen_test.go b/internal/service/m2/environment_tags_gen_test.go index fc8e9e42e533..6345ad086749 100644 --- a/internal/service/m2/environment_tags_gen_test.go +++ b/internal/service/m2/environment_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccM2Environment_tags(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetEnvironmentOutput resourceName := "aws_m2_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccM2Environment_tags(t *testing.T) { func TestAccM2Environment_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetEnvironmentOutput resourceName := "aws_m2_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -262,6 +264,7 @@ func TestAccM2Environment_tags_null(t *testing.T) { func TestAccM2Environment_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetEnvironmentOutput resourceName := "aws_m2_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -312,6 +315,7 @@ func TestAccM2Environment_tags_EmptyMap(t *testing.T) { func TestAccM2Environment_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetEnvironmentOutput resourceName := "aws_m2_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -392,6 +396,7 @@ func TestAccM2Environment_tags_AddOnUpdate(t *testing.T) { func TestAccM2Environment_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetEnvironmentOutput resourceName := "aws_m2_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -482,6 +487,7 @@ func TestAccM2Environment_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccM2Environment_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetEnvironmentOutput resourceName := "aws_m2_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -621,6 +627,7 @@ func TestAccM2Environment_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccM2Environment_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetEnvironmentOutput resourceName := "aws_m2_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -711,6 +718,7 @@ func TestAccM2Environment_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccM2Environment_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetEnvironmentOutput resourceName := "aws_m2_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -892,6 +900,7 @@ func TestAccM2Environment_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccM2Environment_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetEnvironmentOutput resourceName := "aws_m2_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1052,6 +1061,7 @@ func TestAccM2Environment_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccM2Environment_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetEnvironmentOutput resourceName := "aws_m2_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1228,6 +1238,7 @@ func TestAccM2Environment_tags_DefaultTags_overlapping(t *testing.T) { func TestAccM2Environment_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetEnvironmentOutput resourceName := "aws_m2_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1318,6 +1329,7 @@ func TestAccM2Environment_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccM2Environment_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetEnvironmentOutput resourceName := "aws_m2_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1407,6 +1419,7 @@ func TestAccM2Environment_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccM2Environment_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetEnvironmentOutput resourceName := "aws_m2_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccM2Environment_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccM2Environment_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetEnvironmentOutput resourceName := "aws_m2_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1531,6 +1545,7 @@ func TestAccM2Environment_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccM2Environment_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetEnvironmentOutput resourceName := "aws_m2_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1600,6 +1615,7 @@ func TestAccM2Environment_tags_DefaultTags_nullOverlappingResourceTag(t *testing func TestAccM2Environment_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetEnvironmentOutput resourceName := "aws_m2_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1671,6 +1687,7 @@ func TestAccM2Environment_tags_DefaultTags_nullNonOverlappingResourceTag(t *test func TestAccM2Environment_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetEnvironmentOutput resourceName := "aws_m2_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1726,6 +1743,7 @@ func TestAccM2Environment_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccM2Environment_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetEnvironmentOutput resourceName := "aws_m2_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1823,6 +1841,7 @@ func TestAccM2Environment_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccM2Environment_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetEnvironmentOutput resourceName := "aws_m2_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1929,7 @@ func TestAccM2Environment_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccM2Environment_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetEnvironmentOutput resourceName := "aws_m2_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2072,6 +2092,7 @@ func TestAccM2Environment_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccM2Environment_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v m2.GetEnvironmentOutput resourceName := "aws_m2_environment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/medialive/channel_tags_gen_test.go b/internal/service/medialive/channel_tags_gen_test.go index 6292f226340e..b2f03a62bcd3 100644 --- a/internal/service/medialive/channel_tags_gen_test.go +++ b/internal/service/medialive/channel_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccMediaLiveChannel_tags(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeChannelOutput resourceName := "aws_medialive_channel.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -212,6 +213,7 @@ func TestAccMediaLiveChannel_tags(t *testing.T) { func TestAccMediaLiveChannel_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeChannelOutput resourceName := "aws_medialive_channel.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -282,6 +284,7 @@ func TestAccMediaLiveChannel_tags_null(t *testing.T) { func TestAccMediaLiveChannel_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeChannelOutput resourceName := "aws_medialive_channel.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -348,6 +351,7 @@ func TestAccMediaLiveChannel_tags_EmptyMap(t *testing.T) { func TestAccMediaLiveChannel_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeChannelOutput resourceName := "aws_medialive_channel.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -432,6 +436,7 @@ func TestAccMediaLiveChannel_tags_AddOnUpdate(t *testing.T) { func TestAccMediaLiveChannel_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeChannelOutput resourceName := "aws_medialive_channel.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -527,6 +532,7 @@ func TestAccMediaLiveChannel_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccMediaLiveChannel_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeChannelOutput resourceName := "aws_medialive_channel.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -670,6 +676,7 @@ func TestAccMediaLiveChannel_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccMediaLiveChannel_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeChannelOutput resourceName := "aws_medialive_channel.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -762,6 +769,7 @@ func TestAccMediaLiveChannel_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccMediaLiveChannel_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeChannelOutput resourceName := "aws_medialive_channel.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -955,6 +963,7 @@ func TestAccMediaLiveChannel_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccMediaLiveChannel_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeChannelOutput resourceName := "aws_medialive_channel.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1124,6 +1133,7 @@ func TestAccMediaLiveChannel_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccMediaLiveChannel_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeChannelOutput resourceName := "aws_medialive_channel.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1309,6 +1319,7 @@ func TestAccMediaLiveChannel_tags_DefaultTags_overlapping(t *testing.T) { func TestAccMediaLiveChannel_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeChannelOutput resourceName := "aws_medialive_channel.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1402,6 +1413,7 @@ func TestAccMediaLiveChannel_tags_DefaultTags_updateToProviderOnly(t *testing.T) func TestAccMediaLiveChannel_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeChannelOutput resourceName := "aws_medialive_channel.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1494,6 +1506,7 @@ func TestAccMediaLiveChannel_tags_DefaultTags_updateToResourceOnly(t *testing.T) func TestAccMediaLiveChannel_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeChannelOutput resourceName := "aws_medialive_channel.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1562,6 +1575,7 @@ func TestAccMediaLiveChannel_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccMediaLiveChannel_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeChannelOutput resourceName := "aws_medialive_channel.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1622,6 +1636,7 @@ func TestAccMediaLiveChannel_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) func TestAccMediaLiveChannel_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeChannelOutput resourceName := "aws_medialive_channel.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1687,6 +1702,7 @@ func TestAccMediaLiveChannel_tags_DefaultTags_nullOverlappingResourceTag(t *test func TestAccMediaLiveChannel_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeChannelOutput resourceName := "aws_medialive_channel.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1752,6 +1768,7 @@ func TestAccMediaLiveChannel_tags_DefaultTags_nullNonOverlappingResourceTag(t *t func TestAccMediaLiveChannel_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeChannelOutput resourceName := "aws_medialive_channel.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1810,6 +1827,7 @@ func TestAccMediaLiveChannel_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccMediaLiveChannel_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeChannelOutput resourceName := "aws_medialive_channel.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1928,7 @@ func TestAccMediaLiveChannel_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccMediaLiveChannel_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeChannelOutput resourceName := "aws_medialive_channel.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2000,6 +2019,7 @@ func TestAccMediaLiveChannel_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccMediaLiveChannel_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeChannelOutput resourceName := "aws_medialive_channel.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2162,6 +2182,7 @@ func TestAccMediaLiveChannel_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccMediaLiveChannel_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeChannelOutput resourceName := "aws_medialive_channel.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/medialive/input_data_source_tags_gen_test.go b/internal/service/medialive/input_data_source_tags_gen_test.go index 21f2e505a500..d361e3b96b44 100644 --- a/internal/service/medialive/input_data_source_tags_gen_test.go +++ b/internal/service/medialive/input_data_source_tags_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccMediaLiveInputDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_medialive_input.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -49,6 +50,7 @@ func TestAccMediaLiveInputDataSource_tags(t *testing.T) { func TestAccMediaLiveInputDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_medialive_input.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -73,6 +75,7 @@ func TestAccMediaLiveInputDataSource_tags_NullMap(t *testing.T) { func TestAccMediaLiveInputDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_medialive_input.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -97,6 +100,7 @@ func TestAccMediaLiveInputDataSource_tags_EmptyMap(t *testing.T) { func TestAccMediaLiveInputDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_medialive_input.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -129,6 +133,7 @@ func TestAccMediaLiveInputDataSource_tags_DefaultTags_nonOverlapping(t *testing. func TestAccMediaLiveInputDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_medialive_input.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -167,6 +172,7 @@ func TestAccMediaLiveInputDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testi func TestAccMediaLiveInputDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_medialive_input.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/medialive/input_security_group_tags_gen_test.go b/internal/service/medialive/input_security_group_tags_gen_test.go index f9513a4bda5e..78b4d248014c 100644 --- a/internal/service/medialive/input_security_group_tags_gen_test.go +++ b/internal/service/medialive/input_security_group_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccMediaLiveInputSecurityGroup_tags(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputSecurityGroupOutput resourceName := "aws_medialive_input_security_group.test" @@ -191,6 +192,7 @@ func TestAccMediaLiveInputSecurityGroup_tags(t *testing.T) { func TestAccMediaLiveInputSecurityGroup_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputSecurityGroupOutput resourceName := "aws_medialive_input_security_group.test" @@ -254,6 +256,7 @@ func TestAccMediaLiveInputSecurityGroup_tags_null(t *testing.T) { func TestAccMediaLiveInputSecurityGroup_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputSecurityGroupOutput resourceName := "aws_medialive_input_security_group.test" @@ -313,6 +316,7 @@ func TestAccMediaLiveInputSecurityGroup_tags_EmptyMap(t *testing.T) { func TestAccMediaLiveInputSecurityGroup_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputSecurityGroupOutput resourceName := "aws_medialive_input_security_group.test" @@ -390,6 +394,7 @@ func TestAccMediaLiveInputSecurityGroup_tags_AddOnUpdate(t *testing.T) { func TestAccMediaLiveInputSecurityGroup_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputSecurityGroupOutput resourceName := "aws_medialive_input_security_group.test" @@ -474,6 +479,7 @@ func TestAccMediaLiveInputSecurityGroup_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccMediaLiveInputSecurityGroup_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputSecurityGroupOutput resourceName := "aws_medialive_input_security_group.test" @@ -605,6 +611,7 @@ func TestAccMediaLiveInputSecurityGroup_tags_EmptyTag_OnUpdate_Add(t *testing.T) func TestAccMediaLiveInputSecurityGroup_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputSecurityGroupOutput resourceName := "aws_medialive_input_security_group.test" @@ -690,6 +697,7 @@ func TestAccMediaLiveInputSecurityGroup_tags_EmptyTag_OnUpdate_Replace(t *testin func TestAccMediaLiveInputSecurityGroup_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputSecurityGroupOutput resourceName := "aws_medialive_input_security_group.test" @@ -862,6 +870,7 @@ func TestAccMediaLiveInputSecurityGroup_tags_DefaultTags_providerOnly(t *testing func TestAccMediaLiveInputSecurityGroup_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputSecurityGroupOutput resourceName := "aws_medialive_input_security_group.test" @@ -1015,6 +1024,7 @@ func TestAccMediaLiveInputSecurityGroup_tags_DefaultTags_nonOverlapping(t *testi func TestAccMediaLiveInputSecurityGroup_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputSecurityGroupOutput resourceName := "aws_medialive_input_security_group.test" @@ -1184,6 +1194,7 @@ func TestAccMediaLiveInputSecurityGroup_tags_DefaultTags_overlapping(t *testing. func TestAccMediaLiveInputSecurityGroup_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputSecurityGroupOutput resourceName := "aws_medialive_input_security_group.test" @@ -1270,6 +1281,7 @@ func TestAccMediaLiveInputSecurityGroup_tags_DefaultTags_updateToProviderOnly(t func TestAccMediaLiveInputSecurityGroup_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputSecurityGroupOutput resourceName := "aws_medialive_input_security_group.test" @@ -1355,6 +1367,7 @@ func TestAccMediaLiveInputSecurityGroup_tags_DefaultTags_updateToResourceOnly(t func TestAccMediaLiveInputSecurityGroup_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputSecurityGroupOutput resourceName := "aws_medialive_input_security_group.test" @@ -1417,6 +1430,7 @@ func TestAccMediaLiveInputSecurityGroup_tags_DefaultTags_emptyResourceTag(t *tes func TestAccMediaLiveInputSecurityGroup_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputSecurityGroupOutput resourceName := "aws_medialive_input_security_group.test" @@ -1471,6 +1485,7 @@ func TestAccMediaLiveInputSecurityGroup_tags_DefaultTags_emptyProviderOnlyTag(t func TestAccMediaLiveInputSecurityGroup_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputSecurityGroupOutput resourceName := "aws_medialive_input_security_group.test" @@ -1530,6 +1545,7 @@ func TestAccMediaLiveInputSecurityGroup_tags_DefaultTags_nullOverlappingResource func TestAccMediaLiveInputSecurityGroup_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputSecurityGroupOutput resourceName := "aws_medialive_input_security_group.test" @@ -1589,6 +1605,7 @@ func TestAccMediaLiveInputSecurityGroup_tags_DefaultTags_nullNonOverlappingResou func TestAccMediaLiveInputSecurityGroup_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputSecurityGroupOutput resourceName := "aws_medialive_input_security_group.test" @@ -1641,6 +1658,7 @@ func TestAccMediaLiveInputSecurityGroup_tags_ComputedTag_OnCreate(t *testing.T) func TestAccMediaLiveInputSecurityGroup_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputSecurityGroupOutput resourceName := "aws_medialive_input_security_group.test" @@ -1734,6 +1752,7 @@ func TestAccMediaLiveInputSecurityGroup_tags_ComputedTag_OnUpdate_Add(t *testing func TestAccMediaLiveInputSecurityGroup_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputSecurityGroupOutput resourceName := "aws_medialive_input_security_group.test" @@ -1817,6 +1836,7 @@ func TestAccMediaLiveInputSecurityGroup_tags_ComputedTag_OnUpdate_Replace(t *tes func TestAccMediaLiveInputSecurityGroup_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputSecurityGroupOutput resourceName := "aws_medialive_input_security_group.test" @@ -1975,6 +1995,7 @@ func TestAccMediaLiveInputSecurityGroup_tags_IgnoreTags_Overlap_DefaultTag(t *te func TestAccMediaLiveInputSecurityGroup_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputSecurityGroupOutput resourceName := "aws_medialive_input_security_group.test" diff --git a/internal/service/medialive/input_tags_gen_test.go b/internal/service/medialive/input_tags_gen_test.go index 9592e0e37ee5..df7aa57486b2 100644 --- a/internal/service/medialive/input_tags_gen_test.go +++ b/internal/service/medialive/input_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccMediaLiveInput_tags(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputOutput resourceName := "aws_medialive_input.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccMediaLiveInput_tags(t *testing.T) { func TestAccMediaLiveInput_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputOutput resourceName := "aws_medialive_input.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccMediaLiveInput_tags_null(t *testing.T) { func TestAccMediaLiveInput_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputOutput resourceName := "aws_medialive_input.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccMediaLiveInput_tags_EmptyMap(t *testing.T) { func TestAccMediaLiveInput_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputOutput resourceName := "aws_medialive_input.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccMediaLiveInput_tags_AddOnUpdate(t *testing.T) { func TestAccMediaLiveInput_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputOutput resourceName := "aws_medialive_input.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccMediaLiveInput_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccMediaLiveInput_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputOutput resourceName := "aws_medialive_input.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccMediaLiveInput_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccMediaLiveInput_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputOutput resourceName := "aws_medialive_input.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccMediaLiveInput_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccMediaLiveInput_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputOutput resourceName := "aws_medialive_input.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccMediaLiveInput_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccMediaLiveInput_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputOutput resourceName := "aws_medialive_input.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccMediaLiveInput_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccMediaLiveInput_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputOutput resourceName := "aws_medialive_input.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccMediaLiveInput_tags_DefaultTags_overlapping(t *testing.T) { func TestAccMediaLiveInput_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputOutput resourceName := "aws_medialive_input.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccMediaLiveInput_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccMediaLiveInput_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputOutput resourceName := "aws_medialive_input.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccMediaLiveInput_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccMediaLiveInput_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputOutput resourceName := "aws_medialive_input.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccMediaLiveInput_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccMediaLiveInput_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputOutput resourceName := "aws_medialive_input.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccMediaLiveInput_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccMediaLiveInput_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputOutput resourceName := "aws_medialive_input.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccMediaLiveInput_tags_DefaultTags_nullOverlappingResourceTag(t *testin func TestAccMediaLiveInput_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputOutput resourceName := "aws_medialive_input.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccMediaLiveInput_tags_DefaultTags_nullNonOverlappingResourceTag(t *tes func TestAccMediaLiveInput_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputOutput resourceName := "aws_medialive_input.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccMediaLiveInput_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccMediaLiveInput_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputOutput resourceName := "aws_medialive_input.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccMediaLiveInput_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccMediaLiveInput_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputOutput resourceName := "aws_medialive_input.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccMediaLiveInput_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccMediaLiveInput_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputOutput resourceName := "aws_medialive_input.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccMediaLiveInput_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccMediaLiveInput_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeInputOutput resourceName := "aws_medialive_input.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/medialive/multiplex_tags_gen_test.go b/internal/service/medialive/multiplex_tags_gen_test.go index 581d38f50e33..9a690996afee 100644 --- a/internal/service/medialive/multiplex_tags_gen_test.go +++ b/internal/service/medialive/multiplex_tags_gen_test.go @@ -47,6 +47,7 @@ func testAccMediaLiveMultiplex_tagsSerial(t *testing.T) { func testAccMediaLiveMultiplex_tags(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeMultiplexOutput resourceName := "aws_medialive_multiplex.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -241,6 +242,7 @@ func testAccMediaLiveMultiplex_tags(t *testing.T) { func testAccMediaLiveMultiplex_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeMultiplexOutput resourceName := "aws_medialive_multiplex.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -311,6 +313,7 @@ func testAccMediaLiveMultiplex_tags_null(t *testing.T) { func testAccMediaLiveMultiplex_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeMultiplexOutput resourceName := "aws_medialive_multiplex.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -377,6 +380,7 @@ func testAccMediaLiveMultiplex_tags_EmptyMap(t *testing.T) { func testAccMediaLiveMultiplex_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeMultiplexOutput resourceName := "aws_medialive_multiplex.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -461,6 +465,7 @@ func testAccMediaLiveMultiplex_tags_AddOnUpdate(t *testing.T) { func testAccMediaLiveMultiplex_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeMultiplexOutput resourceName := "aws_medialive_multiplex.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -556,6 +561,7 @@ func testAccMediaLiveMultiplex_tags_EmptyTag_OnCreate(t *testing.T) { func testAccMediaLiveMultiplex_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeMultiplexOutput resourceName := "aws_medialive_multiplex.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -699,6 +705,7 @@ func testAccMediaLiveMultiplex_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func testAccMediaLiveMultiplex_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeMultiplexOutput resourceName := "aws_medialive_multiplex.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -791,6 +798,7 @@ func testAccMediaLiveMultiplex_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func testAccMediaLiveMultiplex_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeMultiplexOutput resourceName := "aws_medialive_multiplex.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -984,6 +992,7 @@ func testAccMediaLiveMultiplex_tags_DefaultTags_providerOnly(t *testing.T) { func testAccMediaLiveMultiplex_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeMultiplexOutput resourceName := "aws_medialive_multiplex.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1153,6 +1162,7 @@ func testAccMediaLiveMultiplex_tags_DefaultTags_nonOverlapping(t *testing.T) { func testAccMediaLiveMultiplex_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeMultiplexOutput resourceName := "aws_medialive_multiplex.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1338,6 +1348,7 @@ func testAccMediaLiveMultiplex_tags_DefaultTags_overlapping(t *testing.T) { func testAccMediaLiveMultiplex_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeMultiplexOutput resourceName := "aws_medialive_multiplex.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1431,6 +1442,7 @@ func testAccMediaLiveMultiplex_tags_DefaultTags_updateToProviderOnly(t *testing. func testAccMediaLiveMultiplex_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeMultiplexOutput resourceName := "aws_medialive_multiplex.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1523,6 +1535,7 @@ func testAccMediaLiveMultiplex_tags_DefaultTags_updateToResourceOnly(t *testing. func testAccMediaLiveMultiplex_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeMultiplexOutput resourceName := "aws_medialive_multiplex.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1591,6 +1604,7 @@ func testAccMediaLiveMultiplex_tags_DefaultTags_emptyResourceTag(t *testing.T) { func testAccMediaLiveMultiplex_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeMultiplexOutput resourceName := "aws_medialive_multiplex.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1651,6 +1665,7 @@ func testAccMediaLiveMultiplex_tags_DefaultTags_emptyProviderOnlyTag(t *testing. func testAccMediaLiveMultiplex_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeMultiplexOutput resourceName := "aws_medialive_multiplex.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1716,6 +1731,7 @@ func testAccMediaLiveMultiplex_tags_DefaultTags_nullOverlappingResourceTag(t *te func testAccMediaLiveMultiplex_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeMultiplexOutput resourceName := "aws_medialive_multiplex.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1781,6 +1797,7 @@ func testAccMediaLiveMultiplex_tags_DefaultTags_nullNonOverlappingResourceTag(t func testAccMediaLiveMultiplex_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeMultiplexOutput resourceName := "aws_medialive_multiplex.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1839,6 +1856,7 @@ func testAccMediaLiveMultiplex_tags_ComputedTag_OnCreate(t *testing.T) { func testAccMediaLiveMultiplex_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeMultiplexOutput resourceName := "aws_medialive_multiplex.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1939,6 +1957,7 @@ func testAccMediaLiveMultiplex_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func testAccMediaLiveMultiplex_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeMultiplexOutput resourceName := "aws_medialive_multiplex.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2029,6 +2048,7 @@ func testAccMediaLiveMultiplex_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func testAccMediaLiveMultiplex_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeMultiplexOutput resourceName := "aws_medialive_multiplex.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2191,6 +2211,7 @@ func testAccMediaLiveMultiplex_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func testAccMediaLiveMultiplex_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v medialive.DescribeMultiplexOutput resourceName := "aws_medialive_multiplex.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/mediapackagev2/channel_group_tags_gen_test.go b/internal/service/mediapackagev2/channel_group_tags_gen_test.go index bff0821c4494..43babff61906 100644 --- a/internal/service/mediapackagev2/channel_group_tags_gen_test.go +++ b/internal/service/mediapackagev2/channel_group_tags_gen_test.go @@ -47,6 +47,7 @@ func testAccMediaPackageV2ChannelGroup_tagsSerial(t *testing.T) { func testAccMediaPackageV2ChannelGroup_tags(t *testing.T) { ctx := acctest.Context(t) + var v mediapackagev2.GetChannelGroupOutput resourceName := "aws_media_packagev2_channel_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -237,6 +238,7 @@ func testAccMediaPackageV2ChannelGroup_tags(t *testing.T) { func testAccMediaPackageV2ChannelGroup_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v mediapackagev2.GetChannelGroupOutput resourceName := "aws_media_packagev2_channel_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -301,6 +303,7 @@ func testAccMediaPackageV2ChannelGroup_tags_null(t *testing.T) { func testAccMediaPackageV2ChannelGroup_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v mediapackagev2.GetChannelGroupOutput resourceName := "aws_media_packagev2_channel_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -353,6 +356,7 @@ func testAccMediaPackageV2ChannelGroup_tags_EmptyMap(t *testing.T) { func testAccMediaPackageV2ChannelGroup_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v mediapackagev2.GetChannelGroupOutput resourceName := "aws_media_packagev2_channel_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -435,6 +439,7 @@ func testAccMediaPackageV2ChannelGroup_tags_AddOnUpdate(t *testing.T) { func testAccMediaPackageV2ChannelGroup_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v mediapackagev2.GetChannelGroupOutput resourceName := "aws_media_packagev2_channel_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -529,6 +534,7 @@ func testAccMediaPackageV2ChannelGroup_tags_EmptyTag_OnCreate(t *testing.T) { func testAccMediaPackageV2ChannelGroup_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v mediapackagev2.GetChannelGroupOutput resourceName := "aws_media_packagev2_channel_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -672,6 +678,7 @@ func testAccMediaPackageV2ChannelGroup_tags_EmptyTag_OnUpdate_Add(t *testing.T) func testAccMediaPackageV2ChannelGroup_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v mediapackagev2.GetChannelGroupOutput resourceName := "aws_media_packagev2_channel_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -764,6 +771,7 @@ func testAccMediaPackageV2ChannelGroup_tags_EmptyTag_OnUpdate_Replace(t *testing func testAccMediaPackageV2ChannelGroup_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v mediapackagev2.GetChannelGroupOutput resourceName := "aws_media_packagev2_channel_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -953,6 +961,7 @@ func testAccMediaPackageV2ChannelGroup_tags_DefaultTags_providerOnly(t *testing. func testAccMediaPackageV2ChannelGroup_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v mediapackagev2.GetChannelGroupOutput resourceName := "aws_media_packagev2_channel_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1119,6 +1128,7 @@ func testAccMediaPackageV2ChannelGroup_tags_DefaultTags_nonOverlapping(t *testin func testAccMediaPackageV2ChannelGroup_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v mediapackagev2.GetChannelGroupOutput resourceName := "aws_media_packagev2_channel_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1301,6 +1311,7 @@ func testAccMediaPackageV2ChannelGroup_tags_DefaultTags_overlapping(t *testing.T func testAccMediaPackageV2ChannelGroup_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v mediapackagev2.GetChannelGroupOutput resourceName := "aws_media_packagev2_channel_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1393,6 +1404,7 @@ func testAccMediaPackageV2ChannelGroup_tags_DefaultTags_updateToProviderOnly(t * func testAccMediaPackageV2ChannelGroup_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v mediapackagev2.GetChannelGroupOutput resourceName := "aws_media_packagev2_channel_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1484,6 +1496,7 @@ func testAccMediaPackageV2ChannelGroup_tags_DefaultTags_updateToResourceOnly(t * func testAccMediaPackageV2ChannelGroup_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v mediapackagev2.GetChannelGroupOutput resourceName := "aws_media_packagev2_channel_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1552,6 +1565,7 @@ func testAccMediaPackageV2ChannelGroup_tags_DefaultTags_emptyResourceTag(t *test func testAccMediaPackageV2ChannelGroup_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v mediapackagev2.GetChannelGroupOutput resourceName := "aws_media_packagev2_channel_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1612,6 +1626,7 @@ func testAccMediaPackageV2ChannelGroup_tags_DefaultTags_emptyProviderOnlyTag(t * func testAccMediaPackageV2ChannelGroup_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v mediapackagev2.GetChannelGroupOutput resourceName := "aws_media_packagev2_channel_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1683,6 +1698,7 @@ func testAccMediaPackageV2ChannelGroup_tags_DefaultTags_nullOverlappingResourceT func testAccMediaPackageV2ChannelGroup_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v mediapackagev2.GetChannelGroupOutput resourceName := "aws_media_packagev2_channel_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1756,6 +1772,7 @@ func testAccMediaPackageV2ChannelGroup_tags_DefaultTags_nullNonOverlappingResour func testAccMediaPackageV2ChannelGroup_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v mediapackagev2.GetChannelGroupOutput resourceName := "aws_media_packagev2_channel_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1813,6 +1830,7 @@ func testAccMediaPackageV2ChannelGroup_tags_ComputedTag_OnCreate(t *testing.T) { func testAccMediaPackageV2ChannelGroup_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v mediapackagev2.GetChannelGroupOutput resourceName := "aws_media_packagev2_channel_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1912,6 +1930,7 @@ func testAccMediaPackageV2ChannelGroup_tags_ComputedTag_OnUpdate_Add(t *testing. func testAccMediaPackageV2ChannelGroup_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v mediapackagev2.GetChannelGroupOutput resourceName := "aws_media_packagev2_channel_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2001,6 +2020,7 @@ func testAccMediaPackageV2ChannelGroup_tags_ComputedTag_OnUpdate_Replace(t *test func testAccMediaPackageV2ChannelGroup_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v mediapackagev2.GetChannelGroupOutput resourceName := "aws_media_packagev2_channel_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2163,6 +2183,7 @@ func testAccMediaPackageV2ChannelGroup_tags_IgnoreTags_Overlap_DefaultTag(t *tes func testAccMediaPackageV2ChannelGroup_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v mediapackagev2.GetChannelGroupOutput resourceName := "aws_media_packagev2_channel_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/networkmanager/connect_attachment_tags_gen_test.go b/internal/service/networkmanager/connect_attachment_tags_gen_test.go index b7ae0b0f8443..3388d170b95f 100644 --- a/internal/service/networkmanager/connect_attachment_tags_gen_test.go +++ b/internal/service/networkmanager/connect_attachment_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccNetworkManagerConnectAttachment_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectAttachment resourceName := "aws_networkmanager_connect_attachment.test" @@ -203,6 +204,7 @@ func TestAccNetworkManagerConnectAttachment_tags(t *testing.T) { func TestAccNetworkManagerConnectAttachment_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectAttachment resourceName := "aws_networkmanager_connect_attachment.test" @@ -269,6 +271,7 @@ func TestAccNetworkManagerConnectAttachment_tags_null(t *testing.T) { func TestAccNetworkManagerConnectAttachment_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectAttachment resourceName := "aws_networkmanager_connect_attachment.test" @@ -331,6 +334,7 @@ func TestAccNetworkManagerConnectAttachment_tags_EmptyMap(t *testing.T) { func TestAccNetworkManagerConnectAttachment_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectAttachment resourceName := "aws_networkmanager_connect_attachment.test" @@ -413,6 +417,7 @@ func TestAccNetworkManagerConnectAttachment_tags_EmptyTag_OnCreate(t *testing.T) t.Skip("Resource ConnectAttachment does not support empty tags") ctx := acctest.Context(t) + var v awstypes.ConnectAttachment resourceName := "aws_networkmanager_connect_attachment.test" @@ -505,6 +510,7 @@ func TestAccNetworkManagerConnectAttachment_tags_EmptyTag_OnUpdate_Add(t *testin t.Skip("Resource ConnectAttachment does not support empty tags") ctx := acctest.Context(t) + var v awstypes.ConnectAttachment resourceName := "aws_networkmanager_connect_attachment.test" @@ -644,6 +650,7 @@ func TestAccNetworkManagerConnectAttachment_tags_EmptyTag_OnUpdate_Replace(t *te t.Skip("Resource ConnectAttachment does not support empty tags") ctx := acctest.Context(t) + var v awstypes.ConnectAttachment resourceName := "aws_networkmanager_connect_attachment.test" @@ -732,6 +739,7 @@ func TestAccNetworkManagerConnectAttachment_tags_EmptyTag_OnUpdate_Replace(t *te func TestAccNetworkManagerConnectAttachment_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectAttachment resourceName := "aws_networkmanager_connect_attachment.test" @@ -916,6 +924,7 @@ func TestAccNetworkManagerConnectAttachment_tags_DefaultTags_providerOnly(t *tes func TestAccNetworkManagerConnectAttachment_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectAttachment resourceName := "aws_networkmanager_connect_attachment.test" @@ -1078,6 +1087,7 @@ func TestAccNetworkManagerConnectAttachment_tags_DefaultTags_nonOverlapping(t *t func TestAccNetworkManagerConnectAttachment_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectAttachment resourceName := "aws_networkmanager_connect_attachment.test" @@ -1256,6 +1266,7 @@ func TestAccNetworkManagerConnectAttachment_tags_DefaultTags_overlapping(t *test func TestAccNetworkManagerConnectAttachment_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectAttachment resourceName := "aws_networkmanager_connect_attachment.test" @@ -1345,6 +1356,7 @@ func TestAccNetworkManagerConnectAttachment_tags_DefaultTags_updateToProviderOnl func TestAccNetworkManagerConnectAttachment_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectAttachment resourceName := "aws_networkmanager_connect_attachment.test" @@ -1435,6 +1447,7 @@ func TestAccNetworkManagerConnectAttachment_tags_DefaultTags_emptyResourceTag(t t.Skip("Resource ConnectAttachment does not support empty tags") ctx := acctest.Context(t) + var v awstypes.ConnectAttachment resourceName := "aws_networkmanager_connect_attachment.test" @@ -1502,6 +1515,7 @@ func TestAccNetworkManagerConnectAttachment_tags_DefaultTags_emptyProviderOnlyTa t.Skip("Resource ConnectAttachment does not support empty tags") ctx := acctest.Context(t) + var v awstypes.ConnectAttachment resourceName := "aws_networkmanager_connect_attachment.test" @@ -1559,6 +1573,7 @@ func TestAccNetworkManagerConnectAttachment_tags_DefaultTags_emptyProviderOnlyTa func TestAccNetworkManagerConnectAttachment_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectAttachment resourceName := "aws_networkmanager_connect_attachment.test" @@ -1621,6 +1636,7 @@ func TestAccNetworkManagerConnectAttachment_tags_DefaultTags_nullOverlappingReso func TestAccNetworkManagerConnectAttachment_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectAttachment resourceName := "aws_networkmanager_connect_attachment.test" @@ -1683,6 +1699,7 @@ func TestAccNetworkManagerConnectAttachment_tags_DefaultTags_nullNonOverlappingR func TestAccNetworkManagerConnectAttachment_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectAttachment resourceName := "aws_networkmanager_connect_attachment.test" @@ -1738,6 +1755,7 @@ func TestAccNetworkManagerConnectAttachment_tags_ComputedTag_OnCreate(t *testing func TestAccNetworkManagerConnectAttachment_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectAttachment resourceName := "aws_networkmanager_connect_attachment.test" @@ -1834,6 +1852,7 @@ func TestAccNetworkManagerConnectAttachment_tags_ComputedTag_OnUpdate_Add(t *tes func TestAccNetworkManagerConnectAttachment_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectAttachment resourceName := "aws_networkmanager_connect_attachment.test" @@ -1920,6 +1939,7 @@ func TestAccNetworkManagerConnectAttachment_tags_ComputedTag_OnUpdate_Replace(t func TestAccNetworkManagerConnectAttachment_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectAttachment resourceName := "aws_networkmanager_connect_attachment.test" @@ -2078,6 +2098,7 @@ func TestAccNetworkManagerConnectAttachment_tags_IgnoreTags_Overlap_DefaultTag(t func TestAccNetworkManagerConnectAttachment_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectAttachment resourceName := "aws_networkmanager_connect_attachment.test" diff --git a/internal/service/networkmanager/connect_peer_tags_gen_test.go b/internal/service/networkmanager/connect_peer_tags_gen_test.go index 3786f5ffee81..f5c778457787 100644 --- a/internal/service/networkmanager/connect_peer_tags_gen_test.go +++ b/internal/service/networkmanager/connect_peer_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccNetworkManagerConnectPeer_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectPeer resourceName := "aws_networkmanager_connect_peer.test" @@ -203,6 +204,7 @@ func TestAccNetworkManagerConnectPeer_tags(t *testing.T) { func TestAccNetworkManagerConnectPeer_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectPeer resourceName := "aws_networkmanager_connect_peer.test" @@ -269,6 +271,7 @@ func TestAccNetworkManagerConnectPeer_tags_null(t *testing.T) { func TestAccNetworkManagerConnectPeer_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectPeer resourceName := "aws_networkmanager_connect_peer.test" @@ -331,6 +334,7 @@ func TestAccNetworkManagerConnectPeer_tags_EmptyMap(t *testing.T) { func TestAccNetworkManagerConnectPeer_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectPeer resourceName := "aws_networkmanager_connect_peer.test" @@ -413,6 +417,7 @@ func TestAccNetworkManagerConnectPeer_tags_EmptyTag_OnCreate(t *testing.T) { t.Skip("Resource ConnectPeer does not support empty tags") ctx := acctest.Context(t) + var v awstypes.ConnectPeer resourceName := "aws_networkmanager_connect_peer.test" @@ -505,6 +510,7 @@ func TestAccNetworkManagerConnectPeer_tags_EmptyTag_OnUpdate_Add(t *testing.T) { t.Skip("Resource ConnectPeer does not support empty tags") ctx := acctest.Context(t) + var v awstypes.ConnectPeer resourceName := "aws_networkmanager_connect_peer.test" @@ -644,6 +650,7 @@ func TestAccNetworkManagerConnectPeer_tags_EmptyTag_OnUpdate_Replace(t *testing. t.Skip("Resource ConnectPeer does not support empty tags") ctx := acctest.Context(t) + var v awstypes.ConnectPeer resourceName := "aws_networkmanager_connect_peer.test" @@ -732,6 +739,7 @@ func TestAccNetworkManagerConnectPeer_tags_EmptyTag_OnUpdate_Replace(t *testing. func TestAccNetworkManagerConnectPeer_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectPeer resourceName := "aws_networkmanager_connect_peer.test" @@ -916,6 +924,7 @@ func TestAccNetworkManagerConnectPeer_tags_DefaultTags_providerOnly(t *testing.T func TestAccNetworkManagerConnectPeer_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectPeer resourceName := "aws_networkmanager_connect_peer.test" @@ -1078,6 +1087,7 @@ func TestAccNetworkManagerConnectPeer_tags_DefaultTags_nonOverlapping(t *testing func TestAccNetworkManagerConnectPeer_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectPeer resourceName := "aws_networkmanager_connect_peer.test" @@ -1256,6 +1266,7 @@ func TestAccNetworkManagerConnectPeer_tags_DefaultTags_overlapping(t *testing.T) func TestAccNetworkManagerConnectPeer_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectPeer resourceName := "aws_networkmanager_connect_peer.test" @@ -1345,6 +1356,7 @@ func TestAccNetworkManagerConnectPeer_tags_DefaultTags_updateToProviderOnly(t *t func TestAccNetworkManagerConnectPeer_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectPeer resourceName := "aws_networkmanager_connect_peer.test" @@ -1435,6 +1447,7 @@ func TestAccNetworkManagerConnectPeer_tags_DefaultTags_emptyResourceTag(t *testi t.Skip("Resource ConnectPeer does not support empty tags") ctx := acctest.Context(t) + var v awstypes.ConnectPeer resourceName := "aws_networkmanager_connect_peer.test" @@ -1502,6 +1515,7 @@ func TestAccNetworkManagerConnectPeer_tags_DefaultTags_emptyProviderOnlyTag(t *t t.Skip("Resource ConnectPeer does not support empty tags") ctx := acctest.Context(t) + var v awstypes.ConnectPeer resourceName := "aws_networkmanager_connect_peer.test" @@ -1559,6 +1573,7 @@ func TestAccNetworkManagerConnectPeer_tags_DefaultTags_emptyProviderOnlyTag(t *t func TestAccNetworkManagerConnectPeer_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectPeer resourceName := "aws_networkmanager_connect_peer.test" @@ -1621,6 +1636,7 @@ func TestAccNetworkManagerConnectPeer_tags_DefaultTags_nullOverlappingResourceTa func TestAccNetworkManagerConnectPeer_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectPeer resourceName := "aws_networkmanager_connect_peer.test" @@ -1683,6 +1699,7 @@ func TestAccNetworkManagerConnectPeer_tags_DefaultTags_nullNonOverlappingResourc func TestAccNetworkManagerConnectPeer_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectPeer resourceName := "aws_networkmanager_connect_peer.test" @@ -1738,6 +1755,7 @@ func TestAccNetworkManagerConnectPeer_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccNetworkManagerConnectPeer_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectPeer resourceName := "aws_networkmanager_connect_peer.test" @@ -1834,6 +1852,7 @@ func TestAccNetworkManagerConnectPeer_tags_ComputedTag_OnUpdate_Add(t *testing.T func TestAccNetworkManagerConnectPeer_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectPeer resourceName := "aws_networkmanager_connect_peer.test" @@ -1920,6 +1939,7 @@ func TestAccNetworkManagerConnectPeer_tags_ComputedTag_OnUpdate_Replace(t *testi func TestAccNetworkManagerConnectPeer_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectPeer resourceName := "aws_networkmanager_connect_peer.test" @@ -2078,6 +2098,7 @@ func TestAccNetworkManagerConnectPeer_tags_IgnoreTags_Overlap_DefaultTag(t *test func TestAccNetworkManagerConnectPeer_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ConnectPeer resourceName := "aws_networkmanager_connect_peer.test" diff --git a/internal/service/networkmanager/connection_tags_gen_test.go b/internal/service/networkmanager/connection_tags_gen_test.go index 7053f1d52e63..3b0619a4a746 100644 --- a/internal/service/networkmanager/connection_tags_gen_test.go +++ b/internal/service/networkmanager/connection_tags_gen_test.go @@ -46,6 +46,7 @@ func testAccNetworkManagerConnection_tagsSerial(t *testing.T) { func testAccNetworkManagerConnection_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_connection.test" acctest.Test(ctx, t, resource.TestCase{ @@ -226,6 +227,7 @@ func testAccNetworkManagerConnection_tags(t *testing.T) { func testAccNetworkManagerConnection_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_connection.test" acctest.Test(ctx, t, resource.TestCase{ @@ -290,6 +292,7 @@ func testAccNetworkManagerConnection_tags_null(t *testing.T) { func testAccNetworkManagerConnection_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_connection.test" acctest.Test(ctx, t, resource.TestCase{ @@ -350,6 +353,7 @@ func testAccNetworkManagerConnection_tags_EmptyMap(t *testing.T) { func testAccNetworkManagerConnection_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_connection.test" acctest.Test(ctx, t, resource.TestCase{ @@ -430,6 +434,7 @@ func testAccNetworkManagerConnection_tags_EmptyTag_OnCreate(t *testing.T) { t.Skip("Resource Connection does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_connection.test" acctest.Test(ctx, t, resource.TestCase{ @@ -519,6 +524,7 @@ func testAccNetworkManagerConnection_tags_EmptyTag_OnUpdate_Add(t *testing.T) { t.Skip("Resource Connection does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_connection.test" acctest.Test(ctx, t, resource.TestCase{ @@ -655,6 +661,7 @@ func testAccNetworkManagerConnection_tags_EmptyTag_OnUpdate_Replace(t *testing.T t.Skip("Resource Connection does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_connection.test" acctest.Test(ctx, t, resource.TestCase{ @@ -741,6 +748,7 @@ func testAccNetworkManagerConnection_tags_EmptyTag_OnUpdate_Replace(t *testing.T func testAccNetworkManagerConnection_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_connection.test" acctest.Test(ctx, t, resource.TestCase{ @@ -920,6 +928,7 @@ func testAccNetworkManagerConnection_tags_DefaultTags_providerOnly(t *testing.T) func testAccNetworkManagerConnection_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_connection.test" acctest.Test(ctx, t, resource.TestCase{ @@ -1078,6 +1087,7 @@ func testAccNetworkManagerConnection_tags_DefaultTags_nonOverlapping(t *testing. func testAccNetworkManagerConnection_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_connection.test" acctest.Test(ctx, t, resource.TestCase{ @@ -1252,6 +1262,7 @@ func testAccNetworkManagerConnection_tags_DefaultTags_overlapping(t *testing.T) func testAccNetworkManagerConnection_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_connection.test" acctest.Test(ctx, t, resource.TestCase{ @@ -1339,6 +1350,7 @@ func testAccNetworkManagerConnection_tags_DefaultTags_updateToProviderOnly(t *te func testAccNetworkManagerConnection_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_connection.test" acctest.Test(ctx, t, resource.TestCase{ @@ -1427,6 +1439,7 @@ func testAccNetworkManagerConnection_tags_DefaultTags_emptyResourceTag(t *testin t.Skip("Resource Connection does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_connection.test" acctest.Test(ctx, t, resource.TestCase{ @@ -1492,6 +1505,7 @@ func testAccNetworkManagerConnection_tags_DefaultTags_emptyProviderOnlyTag(t *te t.Skip("Resource Connection does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_connection.test" acctest.Test(ctx, t, resource.TestCase{ @@ -1547,6 +1561,7 @@ func testAccNetworkManagerConnection_tags_DefaultTags_emptyProviderOnlyTag(t *te func testAccNetworkManagerConnection_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_connection.test" acctest.Test(ctx, t, resource.TestCase{ @@ -1607,6 +1622,7 @@ func testAccNetworkManagerConnection_tags_DefaultTags_nullOverlappingResourceTag func testAccNetworkManagerConnection_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_connection.test" acctest.Test(ctx, t, resource.TestCase{ @@ -1667,6 +1683,7 @@ func testAccNetworkManagerConnection_tags_DefaultTags_nullNonOverlappingResource func testAccNetworkManagerConnection_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_connection.test" acctest.Test(ctx, t, resource.TestCase{ @@ -1720,6 +1737,7 @@ func testAccNetworkManagerConnection_tags_ComputedTag_OnCreate(t *testing.T) { func testAccNetworkManagerConnection_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_connection.test" acctest.Test(ctx, t, resource.TestCase{ @@ -1814,6 +1832,7 @@ func testAccNetworkManagerConnection_tags_ComputedTag_OnUpdate_Add(t *testing.T) func testAccNetworkManagerConnection_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_connection.test" acctest.Test(ctx, t, resource.TestCase{ @@ -1898,6 +1917,7 @@ func testAccNetworkManagerConnection_tags_ComputedTag_OnUpdate_Replace(t *testin func testAccNetworkManagerConnection_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_connection.test" acctest.Test(ctx, t, resource.TestCase{ @@ -2055,6 +2075,7 @@ func testAccNetworkManagerConnection_tags_IgnoreTags_Overlap_DefaultTag(t *testi func testAccNetworkManagerConnection_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_connection.test" acctest.Test(ctx, t, resource.TestCase{ diff --git a/internal/service/networkmanager/core_network_tags_gen_test.go b/internal/service/networkmanager/core_network_tags_gen_test.go index 3d3119dd9e87..33ebcc9a22cf 100644 --- a/internal/service/networkmanager/core_network_tags_gen_test.go +++ b/internal/service/networkmanager/core_network_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccNetworkManagerCoreNetwork_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_core_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -201,6 +202,7 @@ func TestAccNetworkManagerCoreNetwork_tags(t *testing.T) { func TestAccNetworkManagerCoreNetwork_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_core_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -266,6 +268,7 @@ func TestAccNetworkManagerCoreNetwork_tags_null(t *testing.T) { func TestAccNetworkManagerCoreNetwork_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_core_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -327,6 +330,7 @@ func TestAccNetworkManagerCoreNetwork_tags_EmptyMap(t *testing.T) { func TestAccNetworkManagerCoreNetwork_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_core_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -408,6 +412,7 @@ func TestAccNetworkManagerCoreNetwork_tags_EmptyTag_OnCreate(t *testing.T) { t.Skip("Resource CoreNetwork does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_core_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -499,6 +504,7 @@ func TestAccNetworkManagerCoreNetwork_tags_EmptyTag_OnUpdate_Add(t *testing.T) { t.Skip("Resource CoreNetwork does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_core_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -637,6 +643,7 @@ func TestAccNetworkManagerCoreNetwork_tags_EmptyTag_OnUpdate_Replace(t *testing. t.Skip("Resource CoreNetwork does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_core_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -724,6 +731,7 @@ func TestAccNetworkManagerCoreNetwork_tags_EmptyTag_OnUpdate_Replace(t *testing. func TestAccNetworkManagerCoreNetwork_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_core_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -907,6 +915,7 @@ func TestAccNetworkManagerCoreNetwork_tags_DefaultTags_providerOnly(t *testing.T func TestAccNetworkManagerCoreNetwork_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_core_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1068,6 +1077,7 @@ func TestAccNetworkManagerCoreNetwork_tags_DefaultTags_nonOverlapping(t *testing func TestAccNetworkManagerCoreNetwork_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_core_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1245,6 +1255,7 @@ func TestAccNetworkManagerCoreNetwork_tags_DefaultTags_overlapping(t *testing.T) func TestAccNetworkManagerCoreNetwork_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_core_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1333,6 +1344,7 @@ func TestAccNetworkManagerCoreNetwork_tags_DefaultTags_updateToProviderOnly(t *t func TestAccNetworkManagerCoreNetwork_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_core_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1422,6 +1434,7 @@ func TestAccNetworkManagerCoreNetwork_tags_DefaultTags_emptyResourceTag(t *testi t.Skip("Resource CoreNetwork does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_core_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1488,6 +1501,7 @@ func TestAccNetworkManagerCoreNetwork_tags_DefaultTags_emptyProviderOnlyTag(t *t t.Skip("Resource CoreNetwork does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_core_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1544,6 +1558,7 @@ func TestAccNetworkManagerCoreNetwork_tags_DefaultTags_emptyProviderOnlyTag(t *t func TestAccNetworkManagerCoreNetwork_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_core_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1605,6 +1620,7 @@ func TestAccNetworkManagerCoreNetwork_tags_DefaultTags_nullOverlappingResourceTa func TestAccNetworkManagerCoreNetwork_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_core_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1666,6 +1682,7 @@ func TestAccNetworkManagerCoreNetwork_tags_DefaultTags_nullNonOverlappingResourc func TestAccNetworkManagerCoreNetwork_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_core_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1720,6 +1737,7 @@ func TestAccNetworkManagerCoreNetwork_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccNetworkManagerCoreNetwork_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_core_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1815,6 +1833,7 @@ func TestAccNetworkManagerCoreNetwork_tags_ComputedTag_OnUpdate_Add(t *testing.T func TestAccNetworkManagerCoreNetwork_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_core_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1900,6 +1919,7 @@ func TestAccNetworkManagerCoreNetwork_tags_ComputedTag_OnUpdate_Replace(t *testi func TestAccNetworkManagerCoreNetwork_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_core_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -2057,6 +2077,7 @@ func TestAccNetworkManagerCoreNetwork_tags_IgnoreTags_Overlap_DefaultTag(t *test func TestAccNetworkManagerCoreNetwork_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_core_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ diff --git a/internal/service/networkmanager/device_tags_gen_test.go b/internal/service/networkmanager/device_tags_gen_test.go index 87a59eedbfa4..9e7de5720242 100644 --- a/internal/service/networkmanager/device_tags_gen_test.go +++ b/internal/service/networkmanager/device_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccNetworkManagerDevice_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_device.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -197,6 +198,7 @@ func TestAccNetworkManagerDevice_tags(t *testing.T) { func TestAccNetworkManagerDevice_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_device.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -261,6 +263,7 @@ func TestAccNetworkManagerDevice_tags_null(t *testing.T) { func TestAccNetworkManagerDevice_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_device.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -321,6 +324,7 @@ func TestAccNetworkManagerDevice_tags_EmptyMap(t *testing.T) { func TestAccNetworkManagerDevice_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_device.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -401,6 +405,7 @@ func TestAccNetworkManagerDevice_tags_EmptyTag_OnCreate(t *testing.T) { t.Skip("Resource Device does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_device.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -490,6 +495,7 @@ func TestAccNetworkManagerDevice_tags_EmptyTag_OnUpdate_Add(t *testing.T) { t.Skip("Resource Device does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_device.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -626,6 +632,7 @@ func TestAccNetworkManagerDevice_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { t.Skip("Resource Device does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_device.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -712,6 +719,7 @@ func TestAccNetworkManagerDevice_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccNetworkManagerDevice_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_device.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -891,6 +899,7 @@ func TestAccNetworkManagerDevice_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccNetworkManagerDevice_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_device.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1049,6 +1058,7 @@ func TestAccNetworkManagerDevice_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccNetworkManagerDevice_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_device.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1223,6 +1233,7 @@ func TestAccNetworkManagerDevice_tags_DefaultTags_overlapping(t *testing.T) { func TestAccNetworkManagerDevice_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_device.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1310,6 +1321,7 @@ func TestAccNetworkManagerDevice_tags_DefaultTags_updateToProviderOnly(t *testin func TestAccNetworkManagerDevice_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_device.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1398,6 +1410,7 @@ func TestAccNetworkManagerDevice_tags_DefaultTags_emptyResourceTag(t *testing.T) t.Skip("Resource Device does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_device.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1463,6 +1476,7 @@ func TestAccNetworkManagerDevice_tags_DefaultTags_emptyProviderOnlyTag(t *testin t.Skip("Resource Device does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_device.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1518,6 +1532,7 @@ func TestAccNetworkManagerDevice_tags_DefaultTags_emptyProviderOnlyTag(t *testin func TestAccNetworkManagerDevice_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_device.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1578,6 +1593,7 @@ func TestAccNetworkManagerDevice_tags_DefaultTags_nullOverlappingResourceTag(t * func TestAccNetworkManagerDevice_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_device.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1638,6 +1654,7 @@ func TestAccNetworkManagerDevice_tags_DefaultTags_nullNonOverlappingResourceTag( func TestAccNetworkManagerDevice_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_device.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1691,6 +1708,7 @@ func TestAccNetworkManagerDevice_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccNetworkManagerDevice_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_device.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1785,6 +1803,7 @@ func TestAccNetworkManagerDevice_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccNetworkManagerDevice_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_device.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1869,6 +1888,7 @@ func TestAccNetworkManagerDevice_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func TestAccNetworkManagerDevice_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_device.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -2026,6 +2046,7 @@ func TestAccNetworkManagerDevice_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T func TestAccNetworkManagerDevice_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_device.test" acctest.ParallelTest(ctx, t, resource.TestCase{ diff --git a/internal/service/networkmanager/dx_gateway_attachment_tags_gen_test.go b/internal/service/networkmanager/dx_gateway_attachment_tags_gen_test.go index 1ea787231d2f..5fb877d88459 100644 --- a/internal/service/networkmanager/dx_gateway_attachment_tags_gen_test.go +++ b/internal/service/networkmanager/dx_gateway_attachment_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccNetworkManagerDirectConnectGatewayAttachment_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DirectConnectGatewayAttachment resourceName := "aws_networkmanager_dx_gateway_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -214,6 +215,7 @@ func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_null(t *testing.T) t.Skip("Resource DirectConnectGatewayAttachment does not support null tags") ctx := acctest.Context(t) + var v awstypes.DirectConnectGatewayAttachment resourceName := "aws_networkmanager_dx_gateway_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -277,6 +279,7 @@ func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_null(t *testing.T) func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DirectConnectGatewayAttachment resourceName := "aws_networkmanager_dx_gateway_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -328,6 +331,7 @@ func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_EmptyMap(t *testin func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DirectConnectGatewayAttachment resourceName := "aws_networkmanager_dx_gateway_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -413,6 +417,7 @@ func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_EmptyTag_OnCreate( t.Skip("Resource DirectConnectGatewayAttachment does not support empty tags") ctx := acctest.Context(t) + var v awstypes.DirectConnectGatewayAttachment resourceName := "aws_networkmanager_dx_gateway_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -511,6 +516,7 @@ func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_EmptyTag_OnUpdate_ t.Skip("Resource DirectConnectGatewayAttachment does not support empty tags") ctx := acctest.Context(t) + var v awstypes.DirectConnectGatewayAttachment resourceName := "aws_networkmanager_dx_gateway_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -658,6 +664,7 @@ func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_EmptyTag_OnUpdate_ t.Skip("Resource DirectConnectGatewayAttachment does not support empty tags") ctx := acctest.Context(t) + var v awstypes.DirectConnectGatewayAttachment resourceName := "aws_networkmanager_dx_gateway_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -751,6 +758,7 @@ func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_EmptyTag_OnUpdate_ func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DirectConnectGatewayAttachment resourceName := "aws_networkmanager_dx_gateway_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -944,6 +952,7 @@ func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_DefaultTags_provid func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DirectConnectGatewayAttachment resourceName := "aws_networkmanager_dx_gateway_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1113,6 +1122,7 @@ func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_DefaultTags_nonOve func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DirectConnectGatewayAttachment resourceName := "aws_networkmanager_dx_gateway_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1298,6 +1308,7 @@ func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_DefaultTags_overla func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DirectConnectGatewayAttachment resourceName := "aws_networkmanager_dx_gateway_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1391,6 +1402,7 @@ func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_DefaultTags_update func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DirectConnectGatewayAttachment resourceName := "aws_networkmanager_dx_gateway_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1485,6 +1497,7 @@ func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_DefaultTags_emptyR t.Skip("Resource DirectConnectGatewayAttachment does not support empty tags") ctx := acctest.Context(t) + var v awstypes.DirectConnectGatewayAttachment resourceName := "aws_networkmanager_dx_gateway_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1556,6 +1569,7 @@ func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_DefaultTags_emptyP t.Skip("Resource DirectConnectGatewayAttachment does not support empty tags") ctx := acctest.Context(t) + var v awstypes.DirectConnectGatewayAttachment resourceName := "aws_networkmanager_dx_gateway_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1619,6 +1633,7 @@ func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_DefaultTags_nullOv t.Skip("Resource DirectConnectGatewayAttachment does not support null tags") ctx := acctest.Context(t) + var v awstypes.DirectConnectGatewayAttachment resourceName := "aws_networkmanager_dx_gateway_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1691,6 +1706,7 @@ func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_DefaultTags_nullNo t.Skip("Resource DirectConnectGatewayAttachment does not support null tags") ctx := acctest.Context(t) + var v awstypes.DirectConnectGatewayAttachment resourceName := "aws_networkmanager_dx_gateway_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1763,6 +1779,7 @@ func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_DefaultTags_nullNo func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DirectConnectGatewayAttachment resourceName := "aws_networkmanager_dx_gateway_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1821,6 +1838,7 @@ func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_ComputedTag_OnCrea func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DirectConnectGatewayAttachment resourceName := "aws_networkmanager_dx_gateway_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1921,6 +1939,7 @@ func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_ComputedTag_OnUpda func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DirectConnectGatewayAttachment resourceName := "aws_networkmanager_dx_gateway_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2011,6 +2030,7 @@ func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_ComputedTag_OnUpda func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DirectConnectGatewayAttachment resourceName := "aws_networkmanager_dx_gateway_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2173,6 +2193,7 @@ func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_IgnoreTags_Overlap func TestAccNetworkManagerDirectConnectGatewayAttachment_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DirectConnectGatewayAttachment resourceName := "aws_networkmanager_dx_gateway_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/networkmanager/global_network_tags_gen_test.go b/internal/service/networkmanager/global_network_tags_gen_test.go index 1e605f222616..3d3a8b017e86 100644 --- a/internal/service/networkmanager/global_network_tags_gen_test.go +++ b/internal/service/networkmanager/global_network_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccNetworkManagerGlobalNetwork_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_global_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -189,6 +190,7 @@ func TestAccNetworkManagerGlobalNetwork_tags(t *testing.T) { func TestAccNetworkManagerGlobalNetwork_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_global_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -251,6 +253,7 @@ func TestAccNetworkManagerGlobalNetwork_tags_null(t *testing.T) { func TestAccNetworkManagerGlobalNetwork_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_global_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -309,6 +312,7 @@ func TestAccNetworkManagerGlobalNetwork_tags_EmptyMap(t *testing.T) { func TestAccNetworkManagerGlobalNetwork_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_global_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -387,6 +391,7 @@ func TestAccNetworkManagerGlobalNetwork_tags_EmptyTag_OnCreate(t *testing.T) { t.Skip("Resource GlobalNetwork does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_global_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -472,6 +477,7 @@ func TestAccNetworkManagerGlobalNetwork_tags_EmptyTag_OnUpdate_Add(t *testing.T) t.Skip("Resource GlobalNetwork does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_global_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -604,6 +610,7 @@ func TestAccNetworkManagerGlobalNetwork_tags_EmptyTag_OnUpdate_Replace(t *testin t.Skip("Resource GlobalNetwork does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_global_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -688,6 +695,7 @@ func TestAccNetworkManagerGlobalNetwork_tags_EmptyTag_OnUpdate_Replace(t *testin func TestAccNetworkManagerGlobalNetwork_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_global_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -859,6 +867,7 @@ func TestAccNetworkManagerGlobalNetwork_tags_DefaultTags_providerOnly(t *testing func TestAccNetworkManagerGlobalNetwork_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_global_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1011,6 +1020,7 @@ func TestAccNetworkManagerGlobalNetwork_tags_DefaultTags_nonOverlapping(t *testi func TestAccNetworkManagerGlobalNetwork_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_global_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1179,6 +1189,7 @@ func TestAccNetworkManagerGlobalNetwork_tags_DefaultTags_overlapping(t *testing. func TestAccNetworkManagerGlobalNetwork_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_global_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1264,6 +1275,7 @@ func TestAccNetworkManagerGlobalNetwork_tags_DefaultTags_updateToProviderOnly(t func TestAccNetworkManagerGlobalNetwork_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_global_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1350,6 +1362,7 @@ func TestAccNetworkManagerGlobalNetwork_tags_DefaultTags_emptyResourceTag(t *tes t.Skip("Resource GlobalNetwork does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_global_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1413,6 +1426,7 @@ func TestAccNetworkManagerGlobalNetwork_tags_DefaultTags_emptyProviderOnlyTag(t t.Skip("Resource GlobalNetwork does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_global_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1466,6 +1480,7 @@ func TestAccNetworkManagerGlobalNetwork_tags_DefaultTags_emptyProviderOnlyTag(t func TestAccNetworkManagerGlobalNetwork_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_global_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1524,6 +1539,7 @@ func TestAccNetworkManagerGlobalNetwork_tags_DefaultTags_nullOverlappingResource func TestAccNetworkManagerGlobalNetwork_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_global_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1582,6 +1598,7 @@ func TestAccNetworkManagerGlobalNetwork_tags_DefaultTags_nullNonOverlappingResou func TestAccNetworkManagerGlobalNetwork_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_global_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1633,6 +1650,7 @@ func TestAccNetworkManagerGlobalNetwork_tags_ComputedTag_OnCreate(t *testing.T) func TestAccNetworkManagerGlobalNetwork_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_global_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1725,6 +1743,7 @@ func TestAccNetworkManagerGlobalNetwork_tags_ComputedTag_OnUpdate_Add(t *testing func TestAccNetworkManagerGlobalNetwork_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_global_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1807,6 +1826,7 @@ func TestAccNetworkManagerGlobalNetwork_tags_ComputedTag_OnUpdate_Replace(t *tes func TestAccNetworkManagerGlobalNetwork_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_global_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1964,6 +1984,7 @@ func TestAccNetworkManagerGlobalNetwork_tags_IgnoreTags_Overlap_DefaultTag(t *te func TestAccNetworkManagerGlobalNetwork_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_global_network.test" acctest.ParallelTest(ctx, t, resource.TestCase{ diff --git a/internal/service/networkmanager/link_tags_gen_test.go b/internal/service/networkmanager/link_tags_gen_test.go index ebe652dbd6e0..e2cd7af7a05c 100644 --- a/internal/service/networkmanager/link_tags_gen_test.go +++ b/internal/service/networkmanager/link_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccNetworkManagerLink_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_link.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -197,6 +198,7 @@ func TestAccNetworkManagerLink_tags(t *testing.T) { func TestAccNetworkManagerLink_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_link.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -261,6 +263,7 @@ func TestAccNetworkManagerLink_tags_null(t *testing.T) { func TestAccNetworkManagerLink_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_link.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -321,6 +324,7 @@ func TestAccNetworkManagerLink_tags_EmptyMap(t *testing.T) { func TestAccNetworkManagerLink_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_link.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -401,6 +405,7 @@ func TestAccNetworkManagerLink_tags_EmptyTag_OnCreate(t *testing.T) { t.Skip("Resource Link does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_link.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -490,6 +495,7 @@ func TestAccNetworkManagerLink_tags_EmptyTag_OnUpdate_Add(t *testing.T) { t.Skip("Resource Link does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_link.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -626,6 +632,7 @@ func TestAccNetworkManagerLink_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { t.Skip("Resource Link does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_link.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -712,6 +719,7 @@ func TestAccNetworkManagerLink_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccNetworkManagerLink_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_link.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -891,6 +899,7 @@ func TestAccNetworkManagerLink_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccNetworkManagerLink_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_link.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1049,6 +1058,7 @@ func TestAccNetworkManagerLink_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccNetworkManagerLink_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_link.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1223,6 +1233,7 @@ func TestAccNetworkManagerLink_tags_DefaultTags_overlapping(t *testing.T) { func TestAccNetworkManagerLink_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_link.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1310,6 +1321,7 @@ func TestAccNetworkManagerLink_tags_DefaultTags_updateToProviderOnly(t *testing. func TestAccNetworkManagerLink_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_link.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1398,6 +1410,7 @@ func TestAccNetworkManagerLink_tags_DefaultTags_emptyResourceTag(t *testing.T) { t.Skip("Resource Link does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_link.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1463,6 +1476,7 @@ func TestAccNetworkManagerLink_tags_DefaultTags_emptyProviderOnlyTag(t *testing. t.Skip("Resource Link does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_link.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1518,6 +1532,7 @@ func TestAccNetworkManagerLink_tags_DefaultTags_emptyProviderOnlyTag(t *testing. func TestAccNetworkManagerLink_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_link.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1578,6 +1593,7 @@ func TestAccNetworkManagerLink_tags_DefaultTags_nullOverlappingResourceTag(t *te func TestAccNetworkManagerLink_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_link.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1638,6 +1654,7 @@ func TestAccNetworkManagerLink_tags_DefaultTags_nullNonOverlappingResourceTag(t func TestAccNetworkManagerLink_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_link.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1691,6 +1708,7 @@ func TestAccNetworkManagerLink_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccNetworkManagerLink_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_link.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1785,6 +1803,7 @@ func TestAccNetworkManagerLink_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccNetworkManagerLink_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_link.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1869,6 +1888,7 @@ func TestAccNetworkManagerLink_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccNetworkManagerLink_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_link.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -2026,6 +2046,7 @@ func TestAccNetworkManagerLink_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func TestAccNetworkManagerLink_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_link.test" acctest.ParallelTest(ctx, t, resource.TestCase{ diff --git a/internal/service/networkmanager/site_tags_gen_test.go b/internal/service/networkmanager/site_tags_gen_test.go index 08e5d9c4480a..5118973ab473 100644 --- a/internal/service/networkmanager/site_tags_gen_test.go +++ b/internal/service/networkmanager/site_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccNetworkManagerSite_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_site.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -197,6 +198,7 @@ func TestAccNetworkManagerSite_tags(t *testing.T) { func TestAccNetworkManagerSite_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_site.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -261,6 +263,7 @@ func TestAccNetworkManagerSite_tags_null(t *testing.T) { func TestAccNetworkManagerSite_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_site.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -321,6 +324,7 @@ func TestAccNetworkManagerSite_tags_EmptyMap(t *testing.T) { func TestAccNetworkManagerSite_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_site.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -401,6 +405,7 @@ func TestAccNetworkManagerSite_tags_EmptyTag_OnCreate(t *testing.T) { t.Skip("Resource Site does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_site.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -490,6 +495,7 @@ func TestAccNetworkManagerSite_tags_EmptyTag_OnUpdate_Add(t *testing.T) { t.Skip("Resource Site does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_site.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -626,6 +632,7 @@ func TestAccNetworkManagerSite_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { t.Skip("Resource Site does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_site.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -712,6 +719,7 @@ func TestAccNetworkManagerSite_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccNetworkManagerSite_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_site.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -891,6 +899,7 @@ func TestAccNetworkManagerSite_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccNetworkManagerSite_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_site.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1049,6 +1058,7 @@ func TestAccNetworkManagerSite_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccNetworkManagerSite_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_site.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1223,6 +1233,7 @@ func TestAccNetworkManagerSite_tags_DefaultTags_overlapping(t *testing.T) { func TestAccNetworkManagerSite_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_site.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1310,6 +1321,7 @@ func TestAccNetworkManagerSite_tags_DefaultTags_updateToProviderOnly(t *testing. func TestAccNetworkManagerSite_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_site.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1398,6 +1410,7 @@ func TestAccNetworkManagerSite_tags_DefaultTags_emptyResourceTag(t *testing.T) { t.Skip("Resource Site does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_site.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1463,6 +1476,7 @@ func TestAccNetworkManagerSite_tags_DefaultTags_emptyProviderOnlyTag(t *testing. t.Skip("Resource Site does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_networkmanager_site.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1518,6 +1532,7 @@ func TestAccNetworkManagerSite_tags_DefaultTags_emptyProviderOnlyTag(t *testing. func TestAccNetworkManagerSite_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_site.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1578,6 +1593,7 @@ func TestAccNetworkManagerSite_tags_DefaultTags_nullOverlappingResourceTag(t *te func TestAccNetworkManagerSite_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_site.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1638,6 +1654,7 @@ func TestAccNetworkManagerSite_tags_DefaultTags_nullNonOverlappingResourceTag(t func TestAccNetworkManagerSite_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_site.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1691,6 +1708,7 @@ func TestAccNetworkManagerSite_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccNetworkManagerSite_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_site.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1785,6 +1803,7 @@ func TestAccNetworkManagerSite_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccNetworkManagerSite_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_site.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -1869,6 +1888,7 @@ func TestAccNetworkManagerSite_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccNetworkManagerSite_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_site.test" acctest.ParallelTest(ctx, t, resource.TestCase{ @@ -2026,6 +2046,7 @@ func TestAccNetworkManagerSite_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func TestAccNetworkManagerSite_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmanager_site.test" acctest.ParallelTest(ctx, t, resource.TestCase{ diff --git a/internal/service/networkmanager/site_to_site_vpn_attachment_tags_gen_test.go b/internal/service/networkmanager/site_to_site_vpn_attachment_tags_gen_test.go index 882753aec579..ea4a02c24f31 100644 --- a/internal/service/networkmanager/site_to_site_vpn_attachment_tags_gen_test.go +++ b/internal/service/networkmanager/site_to_site_vpn_attachment_tags_gen_test.go @@ -19,6 +19,7 @@ import ( func TestAccNetworkManagerSiteToSiteVPNAttachment_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SiteToSiteVpnAttachment resourceName := "aws_networkmanager_site_to_site_vpn_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -222,6 +223,7 @@ func TestAccNetworkManagerSiteToSiteVPNAttachment_tags(t *testing.T) { func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SiteToSiteVpnAttachment resourceName := "aws_networkmanager_site_to_site_vpn_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -300,6 +302,7 @@ func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_null(t *testing.T) { func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SiteToSiteVpnAttachment resourceName := "aws_networkmanager_site_to_site_vpn_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -374,6 +377,7 @@ func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_EmptyMap(t *testing.T) { func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SiteToSiteVpnAttachment resourceName := "aws_networkmanager_site_to_site_vpn_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -468,6 +472,7 @@ func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_EmptyTag_OnCreate(t *test t.Skip("Resource SiteToSiteVPNAttachment does not support empty tags") ctx := acctest.Context(t) + var v awstypes.SiteToSiteVpnAttachment resourceName := "aws_networkmanager_site_to_site_vpn_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -572,6 +577,7 @@ func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_EmptyTag_OnUpdate_Add(t * t.Skip("Resource SiteToSiteVPNAttachment does not support empty tags") ctx := acctest.Context(t) + var v awstypes.SiteToSiteVpnAttachment resourceName := "aws_networkmanager_site_to_site_vpn_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +732,7 @@ func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_EmptyTag_OnUpdate_Replace t.Skip("Resource SiteToSiteVPNAttachment does not support empty tags") ctx := acctest.Context(t) + var v awstypes.SiteToSiteVpnAttachment resourceName := "aws_networkmanager_site_to_site_vpn_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -826,6 +833,7 @@ func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_EmptyTag_OnUpdate_Replace func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SiteToSiteVpnAttachment resourceName := "aws_networkmanager_site_to_site_vpn_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1028,6 +1036,7 @@ func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_DefaultTags_providerOnly( func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SiteToSiteVpnAttachment resourceName := "aws_networkmanager_site_to_site_vpn_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1205,6 +1214,7 @@ func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_DefaultTags_nonOverlappin func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SiteToSiteVpnAttachment resourceName := "aws_networkmanager_site_to_site_vpn_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1398,6 +1408,7 @@ func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_DefaultTags_overlapping(t func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SiteToSiteVpnAttachment resourceName := "aws_networkmanager_site_to_site_vpn_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1499,6 +1510,7 @@ func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_DefaultTags_updateToProvi func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SiteToSiteVpnAttachment resourceName := "aws_networkmanager_site_to_site_vpn_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1601,6 +1613,7 @@ func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_DefaultTags_emptyResource t.Skip("Resource SiteToSiteVPNAttachment does not support empty tags") ctx := acctest.Context(t) + var v awstypes.SiteToSiteVpnAttachment resourceName := "aws_networkmanager_site_to_site_vpn_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1677,6 +1690,7 @@ func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_DefaultTags_emptyProvider t.Skip("Resource SiteToSiteVPNAttachment does not support empty tags") ctx := acctest.Context(t) + var v awstypes.SiteToSiteVpnAttachment resourceName := "aws_networkmanager_site_to_site_vpn_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1743,6 +1757,7 @@ func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_DefaultTags_emptyProvider func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SiteToSiteVpnAttachment resourceName := "aws_networkmanager_site_to_site_vpn_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1814,6 +1829,7 @@ func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_DefaultTags_nullOverlappi func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SiteToSiteVpnAttachment resourceName := "aws_networkmanager_site_to_site_vpn_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1885,6 +1901,7 @@ func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_DefaultTags_nullNonOverla func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SiteToSiteVpnAttachment resourceName := "aws_networkmanager_site_to_site_vpn_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1949,6 +1966,7 @@ func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_ComputedTag_OnCreate(t *t func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SiteToSiteVpnAttachment resourceName := "aws_networkmanager_site_to_site_vpn_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2057,6 +2075,7 @@ func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_ComputedTag_OnUpdate_Add( func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SiteToSiteVpnAttachment resourceName := "aws_networkmanager_site_to_site_vpn_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2155,6 +2174,7 @@ func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_ComputedTag_OnUpdate_Repl func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SiteToSiteVpnAttachment resourceName := "aws_networkmanager_site_to_site_vpn_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2328,6 +2348,7 @@ func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_IgnoreTags_Overlap_Defaul func TestAccNetworkManagerSiteToSiteVPNAttachment_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.SiteToSiteVpnAttachment resourceName := "aws_networkmanager_site_to_site_vpn_attachment.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/networkmanager/transit_gateway_peering_tags_gen_test.go b/internal/service/networkmanager/transit_gateway_peering_tags_gen_test.go index 2c4aae4c5a20..96ab45eacdce 100644 --- a/internal/service/networkmanager/transit_gateway_peering_tags_gen_test.go +++ b/internal/service/networkmanager/transit_gateway_peering_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccNetworkManagerTransitGatewayPeering_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayPeering resourceName := "aws_networkmanager_transit_gateway_peering.test" @@ -191,6 +192,7 @@ func TestAccNetworkManagerTransitGatewayPeering_tags(t *testing.T) { func TestAccNetworkManagerTransitGatewayPeering_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayPeering resourceName := "aws_networkmanager_transit_gateway_peering.test" @@ -254,6 +256,7 @@ func TestAccNetworkManagerTransitGatewayPeering_tags_null(t *testing.T) { func TestAccNetworkManagerTransitGatewayPeering_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayPeering resourceName := "aws_networkmanager_transit_gateway_peering.test" @@ -313,6 +316,7 @@ func TestAccNetworkManagerTransitGatewayPeering_tags_EmptyMap(t *testing.T) { func TestAccNetworkManagerTransitGatewayPeering_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayPeering resourceName := "aws_networkmanager_transit_gateway_peering.test" @@ -392,6 +396,7 @@ func TestAccNetworkManagerTransitGatewayPeering_tags_EmptyTag_OnCreate(t *testin t.Skip("Resource TransitGatewayPeering does not support empty tags") ctx := acctest.Context(t) + var v awstypes.TransitGatewayPeering resourceName := "aws_networkmanager_transit_gateway_peering.test" @@ -478,6 +483,7 @@ func TestAccNetworkManagerTransitGatewayPeering_tags_EmptyTag_OnUpdate_Add(t *te t.Skip("Resource TransitGatewayPeering does not support empty tags") ctx := acctest.Context(t) + var v awstypes.TransitGatewayPeering resourceName := "aws_networkmanager_transit_gateway_peering.test" @@ -611,6 +617,7 @@ func TestAccNetworkManagerTransitGatewayPeering_tags_EmptyTag_OnUpdate_Replace(t t.Skip("Resource TransitGatewayPeering does not support empty tags") ctx := acctest.Context(t) + var v awstypes.TransitGatewayPeering resourceName := "aws_networkmanager_transit_gateway_peering.test" @@ -696,6 +703,7 @@ func TestAccNetworkManagerTransitGatewayPeering_tags_EmptyTag_OnUpdate_Replace(t func TestAccNetworkManagerTransitGatewayPeering_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayPeering resourceName := "aws_networkmanager_transit_gateway_peering.test" @@ -868,6 +876,7 @@ func TestAccNetworkManagerTransitGatewayPeering_tags_DefaultTags_providerOnly(t func TestAccNetworkManagerTransitGatewayPeering_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayPeering resourceName := "aws_networkmanager_transit_gateway_peering.test" @@ -1021,6 +1030,7 @@ func TestAccNetworkManagerTransitGatewayPeering_tags_DefaultTags_nonOverlapping( func TestAccNetworkManagerTransitGatewayPeering_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayPeering resourceName := "aws_networkmanager_transit_gateway_peering.test" @@ -1190,6 +1200,7 @@ func TestAccNetworkManagerTransitGatewayPeering_tags_DefaultTags_overlapping(t * func TestAccNetworkManagerTransitGatewayPeering_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayPeering resourceName := "aws_networkmanager_transit_gateway_peering.test" @@ -1276,6 +1287,7 @@ func TestAccNetworkManagerTransitGatewayPeering_tags_DefaultTags_updateToProvide func TestAccNetworkManagerTransitGatewayPeering_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayPeering resourceName := "aws_networkmanager_transit_gateway_peering.test" @@ -1363,6 +1375,7 @@ func TestAccNetworkManagerTransitGatewayPeering_tags_DefaultTags_emptyResourceTa t.Skip("Resource TransitGatewayPeering does not support empty tags") ctx := acctest.Context(t) + var v awstypes.TransitGatewayPeering resourceName := "aws_networkmanager_transit_gateway_peering.test" @@ -1427,6 +1440,7 @@ func TestAccNetworkManagerTransitGatewayPeering_tags_DefaultTags_emptyProviderOn t.Skip("Resource TransitGatewayPeering does not support empty tags") ctx := acctest.Context(t) + var v awstypes.TransitGatewayPeering resourceName := "aws_networkmanager_transit_gateway_peering.test" @@ -1481,6 +1495,7 @@ func TestAccNetworkManagerTransitGatewayPeering_tags_DefaultTags_emptyProviderOn func TestAccNetworkManagerTransitGatewayPeering_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayPeering resourceName := "aws_networkmanager_transit_gateway_peering.test" @@ -1540,6 +1555,7 @@ func TestAccNetworkManagerTransitGatewayPeering_tags_DefaultTags_nullOverlapping func TestAccNetworkManagerTransitGatewayPeering_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayPeering resourceName := "aws_networkmanager_transit_gateway_peering.test" @@ -1599,6 +1615,7 @@ func TestAccNetworkManagerTransitGatewayPeering_tags_DefaultTags_nullNonOverlapp func TestAccNetworkManagerTransitGatewayPeering_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayPeering resourceName := "aws_networkmanager_transit_gateway_peering.test" @@ -1651,6 +1668,7 @@ func TestAccNetworkManagerTransitGatewayPeering_tags_ComputedTag_OnCreate(t *tes func TestAccNetworkManagerTransitGatewayPeering_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayPeering resourceName := "aws_networkmanager_transit_gateway_peering.test" @@ -1744,6 +1762,7 @@ func TestAccNetworkManagerTransitGatewayPeering_tags_ComputedTag_OnUpdate_Add(t func TestAccNetworkManagerTransitGatewayPeering_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayPeering resourceName := "aws_networkmanager_transit_gateway_peering.test" @@ -1827,6 +1846,7 @@ func TestAccNetworkManagerTransitGatewayPeering_tags_ComputedTag_OnUpdate_Replac func TestAccNetworkManagerTransitGatewayPeering_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayPeering resourceName := "aws_networkmanager_transit_gateway_peering.test" @@ -1985,6 +2005,7 @@ func TestAccNetworkManagerTransitGatewayPeering_tags_IgnoreTags_Overlap_DefaultT func TestAccNetworkManagerTransitGatewayPeering_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayPeering resourceName := "aws_networkmanager_transit_gateway_peering.test" diff --git a/internal/service/networkmanager/transit_gateway_route_table_attachment_tags_gen_test.go b/internal/service/networkmanager/transit_gateway_route_table_attachment_tags_gen_test.go index 861d05bbd66a..960bd1da54e4 100644 --- a/internal/service/networkmanager/transit_gateway_route_table_attachment_tags_gen_test.go +++ b/internal/service/networkmanager/transit_gateway_route_table_attachment_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayRouteTableAttachment resourceName := "aws_networkmanager_transit_gateway_route_table_attachment.test" @@ -191,6 +192,7 @@ func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags(t *testing.T) func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayRouteTableAttachment resourceName := "aws_networkmanager_transit_gateway_route_table_attachment.test" @@ -254,6 +256,7 @@ func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_null(t *testin func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayRouteTableAttachment resourceName := "aws_networkmanager_transit_gateway_route_table_attachment.test" @@ -313,6 +316,7 @@ func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_EmptyMap(t *te func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayRouteTableAttachment resourceName := "aws_networkmanager_transit_gateway_route_table_attachment.test" @@ -392,6 +396,7 @@ func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_EmptyTag_OnCre t.Skip("Resource TransitGatewayRouteTableAttachment does not support empty tags") ctx := acctest.Context(t) + var v awstypes.TransitGatewayRouteTableAttachment resourceName := "aws_networkmanager_transit_gateway_route_table_attachment.test" @@ -478,6 +483,7 @@ func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_EmptyTag_OnUpd t.Skip("Resource TransitGatewayRouteTableAttachment does not support empty tags") ctx := acctest.Context(t) + var v awstypes.TransitGatewayRouteTableAttachment resourceName := "aws_networkmanager_transit_gateway_route_table_attachment.test" @@ -611,6 +617,7 @@ func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_EmptyTag_OnUpd t.Skip("Resource TransitGatewayRouteTableAttachment does not support empty tags") ctx := acctest.Context(t) + var v awstypes.TransitGatewayRouteTableAttachment resourceName := "aws_networkmanager_transit_gateway_route_table_attachment.test" @@ -696,6 +703,7 @@ func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_EmptyTag_OnUpd func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayRouteTableAttachment resourceName := "aws_networkmanager_transit_gateway_route_table_attachment.test" @@ -868,6 +876,7 @@ func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_DefaultTags_pr func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayRouteTableAttachment resourceName := "aws_networkmanager_transit_gateway_route_table_attachment.test" @@ -1021,6 +1030,7 @@ func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_DefaultTags_no func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayRouteTableAttachment resourceName := "aws_networkmanager_transit_gateway_route_table_attachment.test" @@ -1190,6 +1200,7 @@ func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_DefaultTags_ov func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayRouteTableAttachment resourceName := "aws_networkmanager_transit_gateway_route_table_attachment.test" @@ -1276,6 +1287,7 @@ func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_DefaultTags_up func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayRouteTableAttachment resourceName := "aws_networkmanager_transit_gateway_route_table_attachment.test" @@ -1363,6 +1375,7 @@ func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_DefaultTags_em t.Skip("Resource TransitGatewayRouteTableAttachment does not support empty tags") ctx := acctest.Context(t) + var v awstypes.TransitGatewayRouteTableAttachment resourceName := "aws_networkmanager_transit_gateway_route_table_attachment.test" @@ -1427,6 +1440,7 @@ func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_DefaultTags_em t.Skip("Resource TransitGatewayRouteTableAttachment does not support empty tags") ctx := acctest.Context(t) + var v awstypes.TransitGatewayRouteTableAttachment resourceName := "aws_networkmanager_transit_gateway_route_table_attachment.test" @@ -1481,6 +1495,7 @@ func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_DefaultTags_em func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayRouteTableAttachment resourceName := "aws_networkmanager_transit_gateway_route_table_attachment.test" @@ -1540,6 +1555,7 @@ func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_DefaultTags_nu func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayRouteTableAttachment resourceName := "aws_networkmanager_transit_gateway_route_table_attachment.test" @@ -1599,6 +1615,7 @@ func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_DefaultTags_nu func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayRouteTableAttachment resourceName := "aws_networkmanager_transit_gateway_route_table_attachment.test" @@ -1651,6 +1668,7 @@ func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_ComputedTag_On func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayRouteTableAttachment resourceName := "aws_networkmanager_transit_gateway_route_table_attachment.test" @@ -1744,6 +1762,7 @@ func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_ComputedTag_On func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayRouteTableAttachment resourceName := "aws_networkmanager_transit_gateway_route_table_attachment.test" @@ -1827,6 +1846,7 @@ func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_ComputedTag_On func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayRouteTableAttachment resourceName := "aws_networkmanager_transit_gateway_route_table_attachment.test" @@ -1985,6 +2005,7 @@ func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_IgnoreTags_Ove func TestAccNetworkManagerTransitGatewayRouteTableAttachment_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.TransitGatewayRouteTableAttachment resourceName := "aws_networkmanager_transit_gateway_route_table_attachment.test" diff --git a/internal/service/networkmanager/vpc_attachment_tags_gen_test.go b/internal/service/networkmanager/vpc_attachment_tags_gen_test.go index 880d0a74b91d..5ed45e265918 100644 --- a/internal/service/networkmanager/vpc_attachment_tags_gen_test.go +++ b/internal/service/networkmanager/vpc_attachment_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccNetworkManagerVPCAttachment_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VpcAttachment resourceName := "aws_networkmanager_vpc_attachment.test" @@ -191,6 +192,7 @@ func TestAccNetworkManagerVPCAttachment_tags(t *testing.T) { func TestAccNetworkManagerVPCAttachment_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VpcAttachment resourceName := "aws_networkmanager_vpc_attachment.test" @@ -254,6 +256,7 @@ func TestAccNetworkManagerVPCAttachment_tags_null(t *testing.T) { func TestAccNetworkManagerVPCAttachment_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VpcAttachment resourceName := "aws_networkmanager_vpc_attachment.test" @@ -313,6 +316,7 @@ func TestAccNetworkManagerVPCAttachment_tags_EmptyMap(t *testing.T) { func TestAccNetworkManagerVPCAttachment_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VpcAttachment resourceName := "aws_networkmanager_vpc_attachment.test" @@ -392,6 +396,7 @@ func TestAccNetworkManagerVPCAttachment_tags_EmptyTag_OnCreate(t *testing.T) { t.Skip("Resource VPCAttachment does not support empty tags") ctx := acctest.Context(t) + var v awstypes.VpcAttachment resourceName := "aws_networkmanager_vpc_attachment.test" @@ -478,6 +483,7 @@ func TestAccNetworkManagerVPCAttachment_tags_EmptyTag_OnUpdate_Add(t *testing.T) t.Skip("Resource VPCAttachment does not support empty tags") ctx := acctest.Context(t) + var v awstypes.VpcAttachment resourceName := "aws_networkmanager_vpc_attachment.test" @@ -611,6 +617,7 @@ func TestAccNetworkManagerVPCAttachment_tags_EmptyTag_OnUpdate_Replace(t *testin t.Skip("Resource VPCAttachment does not support empty tags") ctx := acctest.Context(t) + var v awstypes.VpcAttachment resourceName := "aws_networkmanager_vpc_attachment.test" @@ -696,6 +703,7 @@ func TestAccNetworkManagerVPCAttachment_tags_EmptyTag_OnUpdate_Replace(t *testin func TestAccNetworkManagerVPCAttachment_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VpcAttachment resourceName := "aws_networkmanager_vpc_attachment.test" @@ -868,6 +876,7 @@ func TestAccNetworkManagerVPCAttachment_tags_DefaultTags_providerOnly(t *testing func TestAccNetworkManagerVPCAttachment_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VpcAttachment resourceName := "aws_networkmanager_vpc_attachment.test" @@ -1021,6 +1030,7 @@ func TestAccNetworkManagerVPCAttachment_tags_DefaultTags_nonOverlapping(t *testi func TestAccNetworkManagerVPCAttachment_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VpcAttachment resourceName := "aws_networkmanager_vpc_attachment.test" @@ -1190,6 +1200,7 @@ func TestAccNetworkManagerVPCAttachment_tags_DefaultTags_overlapping(t *testing. func TestAccNetworkManagerVPCAttachment_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VpcAttachment resourceName := "aws_networkmanager_vpc_attachment.test" @@ -1276,6 +1287,7 @@ func TestAccNetworkManagerVPCAttachment_tags_DefaultTags_updateToProviderOnly(t func TestAccNetworkManagerVPCAttachment_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VpcAttachment resourceName := "aws_networkmanager_vpc_attachment.test" @@ -1363,6 +1375,7 @@ func TestAccNetworkManagerVPCAttachment_tags_DefaultTags_emptyResourceTag(t *tes t.Skip("Resource VPCAttachment does not support empty tags") ctx := acctest.Context(t) + var v awstypes.VpcAttachment resourceName := "aws_networkmanager_vpc_attachment.test" @@ -1427,6 +1440,7 @@ func TestAccNetworkManagerVPCAttachment_tags_DefaultTags_emptyProviderOnlyTag(t t.Skip("Resource VPCAttachment does not support empty tags") ctx := acctest.Context(t) + var v awstypes.VpcAttachment resourceName := "aws_networkmanager_vpc_attachment.test" @@ -1481,6 +1495,7 @@ func TestAccNetworkManagerVPCAttachment_tags_DefaultTags_emptyProviderOnlyTag(t func TestAccNetworkManagerVPCAttachment_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VpcAttachment resourceName := "aws_networkmanager_vpc_attachment.test" @@ -1540,6 +1555,7 @@ func TestAccNetworkManagerVPCAttachment_tags_DefaultTags_nullOverlappingResource func TestAccNetworkManagerVPCAttachment_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VpcAttachment resourceName := "aws_networkmanager_vpc_attachment.test" @@ -1599,6 +1615,7 @@ func TestAccNetworkManagerVPCAttachment_tags_DefaultTags_nullNonOverlappingResou func TestAccNetworkManagerVPCAttachment_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VpcAttachment resourceName := "aws_networkmanager_vpc_attachment.test" @@ -1651,6 +1668,7 @@ func TestAccNetworkManagerVPCAttachment_tags_ComputedTag_OnCreate(t *testing.T) func TestAccNetworkManagerVPCAttachment_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VpcAttachment resourceName := "aws_networkmanager_vpc_attachment.test" @@ -1744,6 +1762,7 @@ func TestAccNetworkManagerVPCAttachment_tags_ComputedTag_OnUpdate_Add(t *testing func TestAccNetworkManagerVPCAttachment_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VpcAttachment resourceName := "aws_networkmanager_vpc_attachment.test" @@ -1827,6 +1846,7 @@ func TestAccNetworkManagerVPCAttachment_tags_ComputedTag_OnUpdate_Replace(t *tes func TestAccNetworkManagerVPCAttachment_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VpcAttachment resourceName := "aws_networkmanager_vpc_attachment.test" @@ -1985,6 +2005,7 @@ func TestAccNetworkManagerVPCAttachment_tags_IgnoreTags_Overlap_DefaultTag(t *te func TestAccNetworkManagerVPCAttachment_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VpcAttachment resourceName := "aws_networkmanager_vpc_attachment.test" diff --git a/internal/service/networkmonitor/monitor_tags_gen_test.go b/internal/service/networkmonitor/monitor_tags_gen_test.go index 1df40cc1edad..728c009904e7 100644 --- a/internal/service/networkmonitor/monitor_tags_gen_test.go +++ b/internal/service/networkmonitor/monitor_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccNetworkMonitorMonitor_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_monitor.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -198,6 +199,7 @@ func TestAccNetworkMonitorMonitor_tags(t *testing.T) { func TestAccNetworkMonitorMonitor_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_monitor.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -259,6 +261,7 @@ func TestAccNetworkMonitorMonitor_tags_null(t *testing.T) { func TestAccNetworkMonitorMonitor_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_monitor.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -308,6 +311,7 @@ func TestAccNetworkMonitorMonitor_tags_EmptyMap(t *testing.T) { func TestAccNetworkMonitorMonitor_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_monitor.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -387,6 +391,7 @@ func TestAccNetworkMonitorMonitor_tags_AddOnUpdate(t *testing.T) { func TestAccNetworkMonitorMonitor_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_monitor.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -476,6 +481,7 @@ func TestAccNetworkMonitorMonitor_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccNetworkMonitorMonitor_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_monitor.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -614,6 +620,7 @@ func TestAccNetworkMonitorMonitor_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccNetworkMonitorMonitor_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_monitor.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -703,6 +710,7 @@ func TestAccNetworkMonitorMonitor_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccNetworkMonitorMonitor_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_monitor.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -883,6 +891,7 @@ func TestAccNetworkMonitorMonitor_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccNetworkMonitorMonitor_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_monitor.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1042,6 +1051,7 @@ func TestAccNetworkMonitorMonitor_tags_DefaultTags_nonOverlapping(t *testing.T) func TestAccNetworkMonitorMonitor_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_monitor.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1217,6 +1227,7 @@ func TestAccNetworkMonitorMonitor_tags_DefaultTags_overlapping(t *testing.T) { func TestAccNetworkMonitorMonitor_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_monitor.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1306,6 +1317,7 @@ func TestAccNetworkMonitorMonitor_tags_DefaultTags_updateToProviderOnly(t *testi func TestAccNetworkMonitorMonitor_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_monitor.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1394,6 +1406,7 @@ func TestAccNetworkMonitorMonitor_tags_DefaultTags_updateToResourceOnly(t *testi func TestAccNetworkMonitorMonitor_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_monitor.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1459,6 +1472,7 @@ func TestAccNetworkMonitorMonitor_tags_DefaultTags_emptyResourceTag(t *testing.T func TestAccNetworkMonitorMonitor_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_monitor.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1516,6 +1530,7 @@ func TestAccNetworkMonitorMonitor_tags_DefaultTags_emptyProviderOnlyTag(t *testi func TestAccNetworkMonitorMonitor_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_monitor.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1584,6 +1599,7 @@ func TestAccNetworkMonitorMonitor_tags_DefaultTags_nullOverlappingResourceTag(t func TestAccNetworkMonitorMonitor_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_monitor.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1654,6 +1670,7 @@ func TestAccNetworkMonitorMonitor_tags_DefaultTags_nullNonOverlappingResourceTag func TestAccNetworkMonitorMonitor_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_monitor.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1708,6 +1725,7 @@ func TestAccNetworkMonitorMonitor_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccNetworkMonitorMonitor_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_monitor.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1804,6 +1822,7 @@ func TestAccNetworkMonitorMonitor_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccNetworkMonitorMonitor_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_monitor.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1890,6 +1909,7 @@ func TestAccNetworkMonitorMonitor_tags_ComputedTag_OnUpdate_Replace(t *testing.T func TestAccNetworkMonitorMonitor_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_monitor.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2051,6 +2071,7 @@ func TestAccNetworkMonitorMonitor_tags_IgnoreTags_Overlap_DefaultTag(t *testing. func TestAccNetworkMonitorMonitor_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_monitor.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/networkmonitor/probe_tags_gen_test.go b/internal/service/networkmonitor/probe_tags_gen_test.go index fd22048e4df4..87d5387b3b66 100644 --- a/internal/service/networkmonitor/probe_tags_gen_test.go +++ b/internal/service/networkmonitor/probe_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccNetworkMonitorProbe_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_probe.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -198,6 +199,7 @@ func TestAccNetworkMonitorProbe_tags(t *testing.T) { func TestAccNetworkMonitorProbe_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_probe.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -259,6 +261,7 @@ func TestAccNetworkMonitorProbe_tags_null(t *testing.T) { func TestAccNetworkMonitorProbe_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_probe.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -308,6 +311,7 @@ func TestAccNetworkMonitorProbe_tags_EmptyMap(t *testing.T) { func TestAccNetworkMonitorProbe_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_probe.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -387,6 +391,7 @@ func TestAccNetworkMonitorProbe_tags_AddOnUpdate(t *testing.T) { func TestAccNetworkMonitorProbe_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_probe.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -476,6 +481,7 @@ func TestAccNetworkMonitorProbe_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccNetworkMonitorProbe_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_probe.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -614,6 +620,7 @@ func TestAccNetworkMonitorProbe_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccNetworkMonitorProbe_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_probe.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -703,6 +710,7 @@ func TestAccNetworkMonitorProbe_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccNetworkMonitorProbe_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_probe.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -883,6 +891,7 @@ func TestAccNetworkMonitorProbe_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccNetworkMonitorProbe_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_probe.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1042,6 +1051,7 @@ func TestAccNetworkMonitorProbe_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccNetworkMonitorProbe_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_probe.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1217,6 +1227,7 @@ func TestAccNetworkMonitorProbe_tags_DefaultTags_overlapping(t *testing.T) { func TestAccNetworkMonitorProbe_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_probe.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1306,6 +1317,7 @@ func TestAccNetworkMonitorProbe_tags_DefaultTags_updateToProviderOnly(t *testing func TestAccNetworkMonitorProbe_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_probe.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1394,6 +1406,7 @@ func TestAccNetworkMonitorProbe_tags_DefaultTags_updateToResourceOnly(t *testing func TestAccNetworkMonitorProbe_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_probe.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1459,6 +1472,7 @@ func TestAccNetworkMonitorProbe_tags_DefaultTags_emptyResourceTag(t *testing.T) func TestAccNetworkMonitorProbe_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_probe.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1516,6 +1530,7 @@ func TestAccNetworkMonitorProbe_tags_DefaultTags_emptyProviderOnlyTag(t *testing func TestAccNetworkMonitorProbe_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_probe.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1584,6 +1599,7 @@ func TestAccNetworkMonitorProbe_tags_DefaultTags_nullOverlappingResourceTag(t *t func TestAccNetworkMonitorProbe_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_probe.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1654,6 +1670,7 @@ func TestAccNetworkMonitorProbe_tags_DefaultTags_nullNonOverlappingResourceTag(t func TestAccNetworkMonitorProbe_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_probe.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1708,6 +1725,7 @@ func TestAccNetworkMonitorProbe_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccNetworkMonitorProbe_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_probe.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1804,6 +1822,7 @@ func TestAccNetworkMonitorProbe_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccNetworkMonitorProbe_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_probe.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1890,6 +1909,7 @@ func TestAccNetworkMonitorProbe_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func TestAccNetworkMonitorProbe_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_probe.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2051,6 +2071,7 @@ func TestAccNetworkMonitorProbe_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func TestAccNetworkMonitorProbe_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_networkmonitor_probe.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/organizations/organizational_unit_tags_gen_test.go b/internal/service/organizations/organizational_unit_tags_gen_test.go index efa4d5214ae6..9dcef93bebbe 100644 --- a/internal/service/organizations/organizational_unit_tags_gen_test.go +++ b/internal/service/organizations/organizational_unit_tags_gen_test.go @@ -47,6 +47,7 @@ func testAccOrganizationsOrganizationalUnit_tagsSerial(t *testing.T) { func testAccOrganizationsOrganizationalUnit_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.OrganizationalUnit resourceName := "aws_organizations_organizational_unit.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -232,6 +233,7 @@ func testAccOrganizationsOrganizationalUnit_tags(t *testing.T) { func testAccOrganizationsOrganizationalUnit_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.OrganizationalUnit resourceName := "aws_organizations_organizational_unit.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -302,6 +304,7 @@ func testAccOrganizationsOrganizationalUnit_tags_null(t *testing.T) { func testAccOrganizationsOrganizationalUnit_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.OrganizationalUnit resourceName := "aws_organizations_organizational_unit.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -368,6 +371,7 @@ func testAccOrganizationsOrganizationalUnit_tags_EmptyMap(t *testing.T) { func testAccOrganizationsOrganizationalUnit_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.OrganizationalUnit resourceName := "aws_organizations_organizational_unit.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -452,6 +456,7 @@ func testAccOrganizationsOrganizationalUnit_tags_AddOnUpdate(t *testing.T) { func testAccOrganizationsOrganizationalUnit_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.OrganizationalUnit resourceName := "aws_organizations_organizational_unit.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -544,6 +549,7 @@ func testAccOrganizationsOrganizationalUnit_tags_EmptyTag_OnCreate(t *testing.T) func testAccOrganizationsOrganizationalUnit_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.OrganizationalUnit resourceName := "aws_organizations_organizational_unit.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -684,6 +690,7 @@ func testAccOrganizationsOrganizationalUnit_tags_EmptyTag_OnUpdate_Add(t *testin func testAccOrganizationsOrganizationalUnit_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.OrganizationalUnit resourceName := "aws_organizations_organizational_unit.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -776,6 +783,7 @@ func testAccOrganizationsOrganizationalUnit_tags_EmptyTag_OnUpdate_Replace(t *te func testAccOrganizationsOrganizationalUnit_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.OrganizationalUnit resourceName := "aws_organizations_organizational_unit.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -960,6 +968,7 @@ func testAccOrganizationsOrganizationalUnit_tags_DefaultTags_providerOnly(t *tes func testAccOrganizationsOrganizationalUnit_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.OrganizationalUnit resourceName := "aws_organizations_organizational_unit.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1123,6 +1132,7 @@ func testAccOrganizationsOrganizationalUnit_tags_DefaultTags_nonOverlapping(t *t func testAccOrganizationsOrganizationalUnit_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.OrganizationalUnit resourceName := "aws_organizations_organizational_unit.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1302,6 +1312,7 @@ func testAccOrganizationsOrganizationalUnit_tags_DefaultTags_overlapping(t *test func testAccOrganizationsOrganizationalUnit_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.OrganizationalUnit resourceName := "aws_organizations_organizational_unit.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1395,6 +1406,7 @@ func testAccOrganizationsOrganizationalUnit_tags_DefaultTags_updateToProviderOnl func testAccOrganizationsOrganizationalUnit_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.OrganizationalUnit resourceName := "aws_organizations_organizational_unit.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1499,7 @@ func testAccOrganizationsOrganizationalUnit_tags_DefaultTags_updateToResourceOnl func testAccOrganizationsOrganizationalUnit_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.OrganizationalUnit resourceName := "aws_organizations_organizational_unit.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1555,6 +1568,7 @@ func testAccOrganizationsOrganizationalUnit_tags_DefaultTags_emptyResourceTag(t func testAccOrganizationsOrganizationalUnit_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.OrganizationalUnit resourceName := "aws_organizations_organizational_unit.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1615,6 +1629,7 @@ func testAccOrganizationsOrganizationalUnit_tags_DefaultTags_emptyProviderOnlyTa func testAccOrganizationsOrganizationalUnit_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.OrganizationalUnit resourceName := "aws_organizations_organizational_unit.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1680,6 +1695,7 @@ func testAccOrganizationsOrganizationalUnit_tags_DefaultTags_nullOverlappingReso func testAccOrganizationsOrganizationalUnit_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.OrganizationalUnit resourceName := "aws_organizations_organizational_unit.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1745,6 +1761,7 @@ func testAccOrganizationsOrganizationalUnit_tags_DefaultTags_nullNonOverlappingR func testAccOrganizationsOrganizationalUnit_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.OrganizationalUnit resourceName := "aws_organizations_organizational_unit.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1803,6 +1820,7 @@ func testAccOrganizationsOrganizationalUnit_tags_ComputedTag_OnCreate(t *testing func testAccOrganizationsOrganizationalUnit_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.OrganizationalUnit resourceName := "aws_organizations_organizational_unit.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1903,6 +1921,7 @@ func testAccOrganizationsOrganizationalUnit_tags_ComputedTag_OnUpdate_Add(t *tes func testAccOrganizationsOrganizationalUnit_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.OrganizationalUnit resourceName := "aws_organizations_organizational_unit.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1993,6 +2012,7 @@ func testAccOrganizationsOrganizationalUnit_tags_ComputedTag_OnUpdate_Replace(t func testAccOrganizationsOrganizationalUnit_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.OrganizationalUnit resourceName := "aws_organizations_organizational_unit.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2158,6 +2178,7 @@ func testAccOrganizationsOrganizationalUnit_tags_IgnoreTags_Overlap_DefaultTag(t func testAccOrganizationsOrganizationalUnit_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.OrganizationalUnit resourceName := "aws_organizations_organizational_unit.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/organizations/policy_attachment_identity_gen_test.go b/internal/service/organizations/policy_attachment_identity_gen_test.go index c5c0b9982023..c422ecd688f2 100644 --- a/internal/service/organizations/policy_attachment_identity_gen_test.go +++ b/internal/service/organizations/policy_attachment_identity_gen_test.go @@ -32,6 +32,7 @@ func testAccOrganizationsPolicyAttachment_IdentitySerial(t *testing.T) { func testAccOrganizationsPolicyAttachment_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_organizations_policy_attachment.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -119,6 +120,7 @@ func testAccOrganizationsPolicyAttachment_Identity_Basic(t *testing.T) { // Resource Identity was added after v6.4.0 func testAccOrganizationsPolicyAttachment_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_organizations_policy_attachment.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/organizations/policy_tags_gen_test.go b/internal/service/organizations/policy_tags_gen_test.go index 2db5cd3aae3d..833227fde64d 100644 --- a/internal/service/organizations/policy_tags_gen_test.go +++ b/internal/service/organizations/policy_tags_gen_test.go @@ -47,6 +47,7 @@ func testAccOrganizationsPolicy_tagsSerial(t *testing.T) { func testAccOrganizationsPolicy_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Policy resourceName := "aws_organizations_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -232,6 +233,7 @@ func testAccOrganizationsPolicy_tags(t *testing.T) { func testAccOrganizationsPolicy_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Policy resourceName := "aws_organizations_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -302,6 +304,7 @@ func testAccOrganizationsPolicy_tags_null(t *testing.T) { func testAccOrganizationsPolicy_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Policy resourceName := "aws_organizations_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -368,6 +371,7 @@ func testAccOrganizationsPolicy_tags_EmptyMap(t *testing.T) { func testAccOrganizationsPolicy_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Policy resourceName := "aws_organizations_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -452,6 +456,7 @@ func testAccOrganizationsPolicy_tags_AddOnUpdate(t *testing.T) { func testAccOrganizationsPolicy_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Policy resourceName := "aws_organizations_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -544,6 +549,7 @@ func testAccOrganizationsPolicy_tags_EmptyTag_OnCreate(t *testing.T) { func testAccOrganizationsPolicy_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Policy resourceName := "aws_organizations_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -684,6 +690,7 @@ func testAccOrganizationsPolicy_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func testAccOrganizationsPolicy_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Policy resourceName := "aws_organizations_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -776,6 +783,7 @@ func testAccOrganizationsPolicy_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func testAccOrganizationsPolicy_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Policy resourceName := "aws_organizations_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -960,6 +968,7 @@ func testAccOrganizationsPolicy_tags_DefaultTags_providerOnly(t *testing.T) { func testAccOrganizationsPolicy_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Policy resourceName := "aws_organizations_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1123,6 +1132,7 @@ func testAccOrganizationsPolicy_tags_DefaultTags_nonOverlapping(t *testing.T) { func testAccOrganizationsPolicy_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Policy resourceName := "aws_organizations_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1302,6 +1312,7 @@ func testAccOrganizationsPolicy_tags_DefaultTags_overlapping(t *testing.T) { func testAccOrganizationsPolicy_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Policy resourceName := "aws_organizations_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1395,6 +1406,7 @@ func testAccOrganizationsPolicy_tags_DefaultTags_updateToProviderOnly(t *testing func testAccOrganizationsPolicy_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Policy resourceName := "aws_organizations_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1499,7 @@ func testAccOrganizationsPolicy_tags_DefaultTags_updateToResourceOnly(t *testing func testAccOrganizationsPolicy_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Policy resourceName := "aws_organizations_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1555,6 +1568,7 @@ func testAccOrganizationsPolicy_tags_DefaultTags_emptyResourceTag(t *testing.T) func testAccOrganizationsPolicy_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Policy resourceName := "aws_organizations_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1615,6 +1629,7 @@ func testAccOrganizationsPolicy_tags_DefaultTags_emptyProviderOnlyTag(t *testing func testAccOrganizationsPolicy_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Policy resourceName := "aws_organizations_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1680,6 +1695,7 @@ func testAccOrganizationsPolicy_tags_DefaultTags_nullOverlappingResourceTag(t *t func testAccOrganizationsPolicy_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Policy resourceName := "aws_organizations_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1745,6 +1761,7 @@ func testAccOrganizationsPolicy_tags_DefaultTags_nullNonOverlappingResourceTag(t func testAccOrganizationsPolicy_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Policy resourceName := "aws_organizations_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1803,6 +1820,7 @@ func testAccOrganizationsPolicy_tags_ComputedTag_OnCreate(t *testing.T) { func testAccOrganizationsPolicy_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Policy resourceName := "aws_organizations_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1903,6 +1921,7 @@ func testAccOrganizationsPolicy_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func testAccOrganizationsPolicy_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Policy resourceName := "aws_organizations_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1993,6 +2012,7 @@ func testAccOrganizationsPolicy_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func testAccOrganizationsPolicy_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Policy resourceName := "aws_organizations_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2158,6 +2178,7 @@ func testAccOrganizationsPolicy_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func testAccOrganizationsPolicy_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Policy resourceName := "aws_organizations_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/organizations/resource_policy_tags_gen_test.go b/internal/service/organizations/resource_policy_tags_gen_test.go index ee94342dd87e..dfb0c763725f 100644 --- a/internal/service/organizations/resource_policy_tags_gen_test.go +++ b/internal/service/organizations/resource_policy_tags_gen_test.go @@ -48,6 +48,7 @@ func testAccOrganizationsResourcePolicy_tagsSerial(t *testing.T) { func testAccOrganizationsResourcePolicy_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ResourcePolicy resourceName := "aws_organizations_resource_policy.test" providers := make(map[string]*schema.Provider) @@ -233,6 +234,7 @@ func testAccOrganizationsResourcePolicy_tags(t *testing.T) { func testAccOrganizationsResourcePolicy_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ResourcePolicy resourceName := "aws_organizations_resource_policy.test" providers := make(map[string]*schema.Provider) @@ -303,6 +305,7 @@ func testAccOrganizationsResourcePolicy_tags_null(t *testing.T) { func testAccOrganizationsResourcePolicy_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ResourcePolicy resourceName := "aws_organizations_resource_policy.test" providers := make(map[string]*schema.Provider) @@ -369,6 +372,7 @@ func testAccOrganizationsResourcePolicy_tags_EmptyMap(t *testing.T) { func testAccOrganizationsResourcePolicy_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ResourcePolicy resourceName := "aws_organizations_resource_policy.test" providers := make(map[string]*schema.Provider) @@ -453,6 +457,7 @@ func testAccOrganizationsResourcePolicy_tags_AddOnUpdate(t *testing.T) { func testAccOrganizationsResourcePolicy_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ResourcePolicy resourceName := "aws_organizations_resource_policy.test" providers := make(map[string]*schema.Provider) @@ -545,6 +550,7 @@ func testAccOrganizationsResourcePolicy_tags_EmptyTag_OnCreate(t *testing.T) { func testAccOrganizationsResourcePolicy_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ResourcePolicy resourceName := "aws_organizations_resource_policy.test" providers := make(map[string]*schema.Provider) @@ -685,6 +691,7 @@ func testAccOrganizationsResourcePolicy_tags_EmptyTag_OnUpdate_Add(t *testing.T) func testAccOrganizationsResourcePolicy_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ResourcePolicy resourceName := "aws_organizations_resource_policy.test" providers := make(map[string]*schema.Provider) @@ -777,6 +784,7 @@ func testAccOrganizationsResourcePolicy_tags_EmptyTag_OnUpdate_Replace(t *testin func testAccOrganizationsResourcePolicy_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ResourcePolicy resourceName := "aws_organizations_resource_policy.test" providers := make(map[string]*schema.Provider) @@ -954,6 +962,7 @@ func testAccOrganizationsResourcePolicy_tags_DefaultTags_providerOnly(t *testing func testAccOrganizationsResourcePolicy_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ResourcePolicy resourceName := "aws_organizations_resource_policy.test" providers := make(map[string]*schema.Provider) @@ -1112,6 +1121,7 @@ func testAccOrganizationsResourcePolicy_tags_DefaultTags_nonOverlapping(t *testi func testAccOrganizationsResourcePolicy_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ResourcePolicy resourceName := "aws_organizations_resource_policy.test" providers := make(map[string]*schema.Provider) @@ -1286,6 +1296,7 @@ func testAccOrganizationsResourcePolicy_tags_DefaultTags_overlapping(t *testing. func testAccOrganizationsResourcePolicy_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ResourcePolicy resourceName := "aws_organizations_resource_policy.test" providers := make(map[string]*schema.Provider) @@ -1377,6 +1388,7 @@ func testAccOrganizationsResourcePolicy_tags_DefaultTags_updateToProviderOnly(t func testAccOrganizationsResourcePolicy_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ResourcePolicy resourceName := "aws_organizations_resource_policy.test" providers := make(map[string]*schema.Provider) @@ -1467,6 +1479,7 @@ func testAccOrganizationsResourcePolicy_tags_DefaultTags_updateToResourceOnly(t func testAccOrganizationsResourcePolicy_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ResourcePolicy resourceName := "aws_organizations_resource_policy.test" providers := make(map[string]*schema.Provider) @@ -1534,6 +1547,7 @@ func testAccOrganizationsResourcePolicy_tags_DefaultTags_emptyResourceTag(t *tes func testAccOrganizationsResourcePolicy_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ResourcePolicy resourceName := "aws_organizations_resource_policy.test" providers := make(map[string]*schema.Provider) @@ -1593,6 +1607,7 @@ func testAccOrganizationsResourcePolicy_tags_DefaultTags_emptyProviderOnlyTag(t func testAccOrganizationsResourcePolicy_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ResourcePolicy resourceName := "aws_organizations_resource_policy.test" providers := make(map[string]*schema.Provider) @@ -1657,6 +1672,7 @@ func testAccOrganizationsResourcePolicy_tags_DefaultTags_nullOverlappingResource func testAccOrganizationsResourcePolicy_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ResourcePolicy resourceName := "aws_organizations_resource_policy.test" providers := make(map[string]*schema.Provider) @@ -1721,6 +1737,7 @@ func testAccOrganizationsResourcePolicy_tags_DefaultTags_nullNonOverlappingResou func testAccOrganizationsResourcePolicy_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ResourcePolicy resourceName := "aws_organizations_resource_policy.test" providers := make(map[string]*schema.Provider) @@ -1778,6 +1795,7 @@ func testAccOrganizationsResourcePolicy_tags_ComputedTag_OnCreate(t *testing.T) func testAccOrganizationsResourcePolicy_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ResourcePolicy resourceName := "aws_organizations_resource_policy.test" providers := make(map[string]*schema.Provider) @@ -1876,6 +1894,7 @@ func testAccOrganizationsResourcePolicy_tags_ComputedTag_OnUpdate_Add(t *testing func testAccOrganizationsResourcePolicy_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ResourcePolicy resourceName := "aws_organizations_resource_policy.test" providers := make(map[string]*schema.Provider) @@ -1964,6 +1983,7 @@ func testAccOrganizationsResourcePolicy_tags_ComputedTag_OnUpdate_Replace(t *tes func testAccOrganizationsResourcePolicy_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ResourcePolicy resourceName := "aws_organizations_resource_policy.test" providers := make(map[string]*schema.Provider) @@ -2127,6 +2147,7 @@ func testAccOrganizationsResourcePolicy_tags_IgnoreTags_Overlap_DefaultTag(t *te func testAccOrganizationsResourcePolicy_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ResourcePolicy resourceName := "aws_organizations_resource_policy.test" providers := make(map[string]*schema.Provider) diff --git a/internal/service/quicksight/analysis_data_source_tags_gen_test.go b/internal/service/quicksight/analysis_data_source_tags_gen_test.go index dc2264f445c2..58fe94ca86ef 100644 --- a/internal/service/quicksight/analysis_data_source_tags_gen_test.go +++ b/internal/service/quicksight/analysis_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccQuickSightAnalysisDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_quicksight_analysis.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -44,6 +45,7 @@ func TestAccQuickSightAnalysisDataSource_tags(t *testing.T) { func TestAccQuickSightAnalysisDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_quicksight_analysis.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -68,6 +70,7 @@ func TestAccQuickSightAnalysisDataSource_tags_NullMap(t *testing.T) { func TestAccQuickSightAnalysisDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_quicksight_analysis.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -92,6 +95,7 @@ func TestAccQuickSightAnalysisDataSource_tags_EmptyMap(t *testing.T) { func TestAccQuickSightAnalysisDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_quicksight_analysis.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -124,6 +128,7 @@ func TestAccQuickSightAnalysisDataSource_tags_DefaultTags_nonOverlapping(t *test func TestAccQuickSightAnalysisDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_quicksight_analysis.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -162,6 +167,7 @@ func TestAccQuickSightAnalysisDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *t func TestAccQuickSightAnalysisDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_quicksight_analysis.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/quicksight/analysis_tags_gen_test.go b/internal/service/quicksight/analysis_tags_gen_test.go index 47d25455b565..38430afc2831 100644 --- a/internal/service/quicksight/analysis_tags_gen_test.go +++ b/internal/service/quicksight/analysis_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccQuickSightAnalysis_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Analysis resourceName := "aws_quicksight_analysis.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -202,6 +203,7 @@ func TestAccQuickSightAnalysis_tags_null(t *testing.T) { t.Skip("Resource Analysis does not support null tags") ctx := acctest.Context(t) + var v awstypes.Analysis resourceName := "aws_quicksight_analysis.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -269,6 +271,7 @@ func TestAccQuickSightAnalysis_tags_null(t *testing.T) { func TestAccQuickSightAnalysis_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Analysis resourceName := "aws_quicksight_analysis.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -332,6 +335,7 @@ func TestAccQuickSightAnalysis_tags_EmptyMap(t *testing.T) { func TestAccQuickSightAnalysis_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Analysis resourceName := "aws_quicksight_analysis.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -415,6 +419,7 @@ func TestAccQuickSightAnalysis_tags_EmptyTag_OnCreate(t *testing.T) { t.Skip("Resource Analysis does not support empty tags") ctx := acctest.Context(t) + var v awstypes.Analysis resourceName := "aws_quicksight_analysis.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -506,6 +511,7 @@ func TestAccQuickSightAnalysis_tags_EmptyTag_OnUpdate_Add(t *testing.T) { t.Skip("Resource Analysis does not support empty tags") ctx := acctest.Context(t) + var v awstypes.Analysis resourceName := "aws_quicksight_analysis.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -645,6 +651,7 @@ func TestAccQuickSightAnalysis_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { t.Skip("Resource Analysis does not support empty tags") ctx := acctest.Context(t) + var v awstypes.Analysis resourceName := "aws_quicksight_analysis.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -734,6 +741,7 @@ func TestAccQuickSightAnalysis_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccQuickSightAnalysis_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Analysis resourceName := "aws_quicksight_analysis.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -915,6 +923,7 @@ func TestAccQuickSightAnalysis_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccQuickSightAnalysis_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Analysis resourceName := "aws_quicksight_analysis.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1075,6 +1084,7 @@ func TestAccQuickSightAnalysis_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccQuickSightAnalysis_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Analysis resourceName := "aws_quicksight_analysis.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1251,6 +1261,7 @@ func TestAccQuickSightAnalysis_tags_DefaultTags_overlapping(t *testing.T) { func TestAccQuickSightAnalysis_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Analysis resourceName := "aws_quicksight_analysis.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1341,6 +1352,7 @@ func TestAccQuickSightAnalysis_tags_DefaultTags_updateToProviderOnly(t *testing. func TestAccQuickSightAnalysis_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Analysis resourceName := "aws_quicksight_analysis.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1432,6 +1444,7 @@ func TestAccQuickSightAnalysis_tags_DefaultTags_emptyResourceTag(t *testing.T) { t.Skip("Resource Analysis does not support empty tags") ctx := acctest.Context(t) + var v awstypes.Analysis resourceName := "aws_quicksight_analysis.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1499,6 +1512,7 @@ func TestAccQuickSightAnalysis_tags_DefaultTags_emptyProviderOnlyTag(t *testing. t.Skip("Resource Analysis does not support empty tags") ctx := acctest.Context(t) + var v awstypes.Analysis resourceName := "aws_quicksight_analysis.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1558,6 +1572,7 @@ func TestAccQuickSightAnalysis_tags_DefaultTags_nullOverlappingResourceTag(t *te t.Skip("Resource Analysis does not support null tags") ctx := acctest.Context(t) + var v awstypes.Analysis resourceName := "aws_quicksight_analysis.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1622,6 +1637,7 @@ func TestAccQuickSightAnalysis_tags_DefaultTags_nullNonOverlappingResourceTag(t t.Skip("Resource Analysis does not support null tags") ctx := acctest.Context(t) + var v awstypes.Analysis resourceName := "aws_quicksight_analysis.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1684,6 +1700,7 @@ func TestAccQuickSightAnalysis_tags_DefaultTags_nullNonOverlappingResourceTag(t func TestAccQuickSightAnalysis_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Analysis resourceName := "aws_quicksight_analysis.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1739,6 +1756,7 @@ func TestAccQuickSightAnalysis_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccQuickSightAnalysis_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Analysis resourceName := "aws_quicksight_analysis.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1836,6 +1854,7 @@ func TestAccQuickSightAnalysis_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccQuickSightAnalysis_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Analysis resourceName := "aws_quicksight_analysis.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1923,6 +1942,7 @@ func TestAccQuickSightAnalysis_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccQuickSightAnalysis_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Analysis resourceName := "aws_quicksight_analysis.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2085,6 +2105,7 @@ func TestAccQuickSightAnalysis_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func TestAccQuickSightAnalysis_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Analysis resourceName := "aws_quicksight_analysis.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/quicksight/dashboard_tags_gen_test.go b/internal/service/quicksight/dashboard_tags_gen_test.go index 577b8ee9ca60..13bac52d972b 100644 --- a/internal/service/quicksight/dashboard_tags_gen_test.go +++ b/internal/service/quicksight/dashboard_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccQuickSightDashboard_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Dashboard resourceName := "aws_quicksight_dashboard.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -202,6 +203,7 @@ func TestAccQuickSightDashboard_tags_null(t *testing.T) { t.Skip("Resource Dashboard does not support null tags") ctx := acctest.Context(t) + var v awstypes.Dashboard resourceName := "aws_quicksight_dashboard.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -269,6 +271,7 @@ func TestAccQuickSightDashboard_tags_null(t *testing.T) { func TestAccQuickSightDashboard_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Dashboard resourceName := "aws_quicksight_dashboard.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -332,6 +335,7 @@ func TestAccQuickSightDashboard_tags_EmptyMap(t *testing.T) { func TestAccQuickSightDashboard_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Dashboard resourceName := "aws_quicksight_dashboard.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -415,6 +419,7 @@ func TestAccQuickSightDashboard_tags_EmptyTag_OnCreate(t *testing.T) { t.Skip("Resource Dashboard does not support empty tags") ctx := acctest.Context(t) + var v awstypes.Dashboard resourceName := "aws_quicksight_dashboard.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -506,6 +511,7 @@ func TestAccQuickSightDashboard_tags_EmptyTag_OnUpdate_Add(t *testing.T) { t.Skip("Resource Dashboard does not support empty tags") ctx := acctest.Context(t) + var v awstypes.Dashboard resourceName := "aws_quicksight_dashboard.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -645,6 +651,7 @@ func TestAccQuickSightDashboard_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { t.Skip("Resource Dashboard does not support empty tags") ctx := acctest.Context(t) + var v awstypes.Dashboard resourceName := "aws_quicksight_dashboard.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -734,6 +741,7 @@ func TestAccQuickSightDashboard_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccQuickSightDashboard_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Dashboard resourceName := "aws_quicksight_dashboard.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -915,6 +923,7 @@ func TestAccQuickSightDashboard_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccQuickSightDashboard_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Dashboard resourceName := "aws_quicksight_dashboard.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1075,6 +1084,7 @@ func TestAccQuickSightDashboard_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccQuickSightDashboard_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Dashboard resourceName := "aws_quicksight_dashboard.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1251,6 +1261,7 @@ func TestAccQuickSightDashboard_tags_DefaultTags_overlapping(t *testing.T) { func TestAccQuickSightDashboard_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Dashboard resourceName := "aws_quicksight_dashboard.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1341,6 +1352,7 @@ func TestAccQuickSightDashboard_tags_DefaultTags_updateToProviderOnly(t *testing func TestAccQuickSightDashboard_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Dashboard resourceName := "aws_quicksight_dashboard.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1432,6 +1444,7 @@ func TestAccQuickSightDashboard_tags_DefaultTags_emptyResourceTag(t *testing.T) t.Skip("Resource Dashboard does not support empty tags") ctx := acctest.Context(t) + var v awstypes.Dashboard resourceName := "aws_quicksight_dashboard.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1499,6 +1512,7 @@ func TestAccQuickSightDashboard_tags_DefaultTags_emptyProviderOnlyTag(t *testing t.Skip("Resource Dashboard does not support empty tags") ctx := acctest.Context(t) + var v awstypes.Dashboard resourceName := "aws_quicksight_dashboard.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1558,6 +1572,7 @@ func TestAccQuickSightDashboard_tags_DefaultTags_nullOverlappingResourceTag(t *t t.Skip("Resource Dashboard does not support null tags") ctx := acctest.Context(t) + var v awstypes.Dashboard resourceName := "aws_quicksight_dashboard.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1622,6 +1637,7 @@ func TestAccQuickSightDashboard_tags_DefaultTags_nullNonOverlappingResourceTag(t t.Skip("Resource Dashboard does not support null tags") ctx := acctest.Context(t) + var v awstypes.Dashboard resourceName := "aws_quicksight_dashboard.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1684,6 +1700,7 @@ func TestAccQuickSightDashboard_tags_DefaultTags_nullNonOverlappingResourceTag(t func TestAccQuickSightDashboard_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Dashboard resourceName := "aws_quicksight_dashboard.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1739,6 +1756,7 @@ func TestAccQuickSightDashboard_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccQuickSightDashboard_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Dashboard resourceName := "aws_quicksight_dashboard.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1836,6 +1854,7 @@ func TestAccQuickSightDashboard_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccQuickSightDashboard_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Dashboard resourceName := "aws_quicksight_dashboard.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1923,6 +1942,7 @@ func TestAccQuickSightDashboard_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func TestAccQuickSightDashboard_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Dashboard resourceName := "aws_quicksight_dashboard.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2085,6 +2105,7 @@ func TestAccQuickSightDashboard_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func TestAccQuickSightDashboard_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Dashboard resourceName := "aws_quicksight_dashboard.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/quicksight/data_set_data_source_tags_gen_test.go b/internal/service/quicksight/data_set_data_source_tags_gen_test.go index 7bdc83ec2f6d..b86d41fd066e 100644 --- a/internal/service/quicksight/data_set_data_source_tags_gen_test.go +++ b/internal/service/quicksight/data_set_data_source_tags_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccQuickSightDataSetDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_quicksight_data_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -49,6 +50,7 @@ func TestAccQuickSightDataSetDataSource_tags(t *testing.T) { func TestAccQuickSightDataSetDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_quicksight_data_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -73,6 +75,7 @@ func TestAccQuickSightDataSetDataSource_tags_NullMap(t *testing.T) { func TestAccQuickSightDataSetDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_quicksight_data_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -97,6 +100,7 @@ func TestAccQuickSightDataSetDataSource_tags_EmptyMap(t *testing.T) { func TestAccQuickSightDataSetDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_quicksight_data_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -129,6 +133,7 @@ func TestAccQuickSightDataSetDataSource_tags_DefaultTags_nonOverlapping(t *testi func TestAccQuickSightDataSetDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_quicksight_data_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -167,6 +172,7 @@ func TestAccQuickSightDataSetDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *te func TestAccQuickSightDataSetDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_quicksight_data_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/quicksight/data_set_tags_gen_test.go b/internal/service/quicksight/data_set_tags_gen_test.go index 7658bb4b78cd..76e198164e47 100644 --- a/internal/service/quicksight/data_set_tags_gen_test.go +++ b/internal/service/quicksight/data_set_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccQuickSightDataSet_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DataSet resourceName := "aws_quicksight_data_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -202,6 +203,7 @@ func TestAccQuickSightDataSet_tags_null(t *testing.T) { t.Skip("Resource DataSet does not support null tags") ctx := acctest.Context(t) + var v awstypes.DataSet resourceName := "aws_quicksight_data_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -269,6 +271,7 @@ func TestAccQuickSightDataSet_tags_null(t *testing.T) { func TestAccQuickSightDataSet_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DataSet resourceName := "aws_quicksight_data_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -332,6 +335,7 @@ func TestAccQuickSightDataSet_tags_EmptyMap(t *testing.T) { func TestAccQuickSightDataSet_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DataSet resourceName := "aws_quicksight_data_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -415,6 +419,7 @@ func TestAccQuickSightDataSet_tags_EmptyTag_OnCreate(t *testing.T) { t.Skip("Resource DataSet does not support empty tags") ctx := acctest.Context(t) + var v awstypes.DataSet resourceName := "aws_quicksight_data_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -506,6 +511,7 @@ func TestAccQuickSightDataSet_tags_EmptyTag_OnUpdate_Add(t *testing.T) { t.Skip("Resource DataSet does not support empty tags") ctx := acctest.Context(t) + var v awstypes.DataSet resourceName := "aws_quicksight_data_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -645,6 +651,7 @@ func TestAccQuickSightDataSet_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { t.Skip("Resource DataSet does not support empty tags") ctx := acctest.Context(t) + var v awstypes.DataSet resourceName := "aws_quicksight_data_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -734,6 +741,7 @@ func TestAccQuickSightDataSet_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccQuickSightDataSet_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DataSet resourceName := "aws_quicksight_data_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -915,6 +923,7 @@ func TestAccQuickSightDataSet_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccQuickSightDataSet_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DataSet resourceName := "aws_quicksight_data_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1075,6 +1084,7 @@ func TestAccQuickSightDataSet_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccQuickSightDataSet_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DataSet resourceName := "aws_quicksight_data_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1251,6 +1261,7 @@ func TestAccQuickSightDataSet_tags_DefaultTags_overlapping(t *testing.T) { func TestAccQuickSightDataSet_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DataSet resourceName := "aws_quicksight_data_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1341,6 +1352,7 @@ func TestAccQuickSightDataSet_tags_DefaultTags_updateToProviderOnly(t *testing.T func TestAccQuickSightDataSet_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DataSet resourceName := "aws_quicksight_data_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1432,6 +1444,7 @@ func TestAccQuickSightDataSet_tags_DefaultTags_emptyResourceTag(t *testing.T) { t.Skip("Resource DataSet does not support empty tags") ctx := acctest.Context(t) + var v awstypes.DataSet resourceName := "aws_quicksight_data_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1499,6 +1512,7 @@ func TestAccQuickSightDataSet_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T t.Skip("Resource DataSet does not support empty tags") ctx := acctest.Context(t) + var v awstypes.DataSet resourceName := "aws_quicksight_data_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1558,6 +1572,7 @@ func TestAccQuickSightDataSet_tags_DefaultTags_nullOverlappingResourceTag(t *tes t.Skip("Resource DataSet does not support null tags") ctx := acctest.Context(t) + var v awstypes.DataSet resourceName := "aws_quicksight_data_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1622,6 +1637,7 @@ func TestAccQuickSightDataSet_tags_DefaultTags_nullNonOverlappingResourceTag(t * t.Skip("Resource DataSet does not support null tags") ctx := acctest.Context(t) + var v awstypes.DataSet resourceName := "aws_quicksight_data_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1684,6 +1700,7 @@ func TestAccQuickSightDataSet_tags_DefaultTags_nullNonOverlappingResourceTag(t * func TestAccQuickSightDataSet_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DataSet resourceName := "aws_quicksight_data_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1739,6 +1756,7 @@ func TestAccQuickSightDataSet_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccQuickSightDataSet_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DataSet resourceName := "aws_quicksight_data_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1836,6 +1854,7 @@ func TestAccQuickSightDataSet_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccQuickSightDataSet_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DataSet resourceName := "aws_quicksight_data_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1923,6 +1942,7 @@ func TestAccQuickSightDataSet_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccQuickSightDataSet_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DataSet resourceName := "aws_quicksight_data_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2085,6 +2105,7 @@ func TestAccQuickSightDataSet_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccQuickSightDataSet_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DataSet resourceName := "aws_quicksight_data_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/quicksight/data_source_tags_gen_test.go b/internal/service/quicksight/data_source_tags_gen_test.go index 6474b6dc9b46..a0e1bab34433 100644 --- a/internal/service/quicksight/data_source_tags_gen_test.go +++ b/internal/service/quicksight/data_source_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccQuickSightDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DataSource resourceName := "aws_quicksight_data_source.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -202,6 +203,7 @@ func TestAccQuickSightDataSource_tags_null(t *testing.T) { t.Skip("Resource DataSource does not support null tags") ctx := acctest.Context(t) + var v awstypes.DataSource resourceName := "aws_quicksight_data_source.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -269,6 +271,7 @@ func TestAccQuickSightDataSource_tags_null(t *testing.T) { func TestAccQuickSightDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DataSource resourceName := "aws_quicksight_data_source.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -332,6 +335,7 @@ func TestAccQuickSightDataSource_tags_EmptyMap(t *testing.T) { func TestAccQuickSightDataSource_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DataSource resourceName := "aws_quicksight_data_source.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -415,6 +419,7 @@ func TestAccQuickSightDataSource_tags_EmptyTag_OnCreate(t *testing.T) { t.Skip("Resource DataSource does not support empty tags") ctx := acctest.Context(t) + var v awstypes.DataSource resourceName := "aws_quicksight_data_source.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -506,6 +511,7 @@ func TestAccQuickSightDataSource_tags_EmptyTag_OnUpdate_Add(t *testing.T) { t.Skip("Resource DataSource does not support empty tags") ctx := acctest.Context(t) + var v awstypes.DataSource resourceName := "aws_quicksight_data_source.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -645,6 +651,7 @@ func TestAccQuickSightDataSource_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { t.Skip("Resource DataSource does not support empty tags") ctx := acctest.Context(t) + var v awstypes.DataSource resourceName := "aws_quicksight_data_source.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -734,6 +741,7 @@ func TestAccQuickSightDataSource_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccQuickSightDataSource_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DataSource resourceName := "aws_quicksight_data_source.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -915,6 +923,7 @@ func TestAccQuickSightDataSource_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccQuickSightDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DataSource resourceName := "aws_quicksight_data_source.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1075,6 +1084,7 @@ func TestAccQuickSightDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccQuickSightDataSource_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DataSource resourceName := "aws_quicksight_data_source.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1251,6 +1261,7 @@ func TestAccQuickSightDataSource_tags_DefaultTags_overlapping(t *testing.T) { func TestAccQuickSightDataSource_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DataSource resourceName := "aws_quicksight_data_source.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1341,6 +1352,7 @@ func TestAccQuickSightDataSource_tags_DefaultTags_updateToProviderOnly(t *testin func TestAccQuickSightDataSource_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DataSource resourceName := "aws_quicksight_data_source.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1432,6 +1444,7 @@ func TestAccQuickSightDataSource_tags_DefaultTags_emptyResourceTag(t *testing.T) t.Skip("Resource DataSource does not support empty tags") ctx := acctest.Context(t) + var v awstypes.DataSource resourceName := "aws_quicksight_data_source.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1499,6 +1512,7 @@ func TestAccQuickSightDataSource_tags_DefaultTags_emptyProviderOnlyTag(t *testin t.Skip("Resource DataSource does not support empty tags") ctx := acctest.Context(t) + var v awstypes.DataSource resourceName := "aws_quicksight_data_source.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1558,6 +1572,7 @@ func TestAccQuickSightDataSource_tags_DefaultTags_nullOverlappingResourceTag(t * t.Skip("Resource DataSource does not support null tags") ctx := acctest.Context(t) + var v awstypes.DataSource resourceName := "aws_quicksight_data_source.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1622,6 +1637,7 @@ func TestAccQuickSightDataSource_tags_DefaultTags_nullNonOverlappingResourceTag( t.Skip("Resource DataSource does not support null tags") ctx := acctest.Context(t) + var v awstypes.DataSource resourceName := "aws_quicksight_data_source.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1684,6 +1700,7 @@ func TestAccQuickSightDataSource_tags_DefaultTags_nullNonOverlappingResourceTag( func TestAccQuickSightDataSource_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DataSource resourceName := "aws_quicksight_data_source.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1739,6 +1756,7 @@ func TestAccQuickSightDataSource_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccQuickSightDataSource_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DataSource resourceName := "aws_quicksight_data_source.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1836,6 +1854,7 @@ func TestAccQuickSightDataSource_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccQuickSightDataSource_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DataSource resourceName := "aws_quicksight_data_source.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1923,6 +1942,7 @@ func TestAccQuickSightDataSource_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func TestAccQuickSightDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DataSource resourceName := "aws_quicksight_data_source.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2085,6 +2105,7 @@ func TestAccQuickSightDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T func TestAccQuickSightDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.DataSource resourceName := "aws_quicksight_data_source.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/quicksight/folder_tags_gen_test.go b/internal/service/quicksight/folder_tags_gen_test.go index 9f10eafd6bb0..a045de2cb7e0 100644 --- a/internal/service/quicksight/folder_tags_gen_test.go +++ b/internal/service/quicksight/folder_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccQuickSightFolder_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Folder resourceName := "aws_quicksight_folder.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -202,6 +203,7 @@ func TestAccQuickSightFolder_tags_null(t *testing.T) { t.Skip("Resource Folder does not support null tags") ctx := acctest.Context(t) + var v awstypes.Folder resourceName := "aws_quicksight_folder.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -269,6 +271,7 @@ func TestAccQuickSightFolder_tags_null(t *testing.T) { func TestAccQuickSightFolder_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Folder resourceName := "aws_quicksight_folder.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -332,6 +335,7 @@ func TestAccQuickSightFolder_tags_EmptyMap(t *testing.T) { func TestAccQuickSightFolder_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Folder resourceName := "aws_quicksight_folder.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -415,6 +419,7 @@ func TestAccQuickSightFolder_tags_EmptyTag_OnCreate(t *testing.T) { t.Skip("Resource Folder does not support empty tags") ctx := acctest.Context(t) + var v awstypes.Folder resourceName := "aws_quicksight_folder.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -506,6 +511,7 @@ func TestAccQuickSightFolder_tags_EmptyTag_OnUpdate_Add(t *testing.T) { t.Skip("Resource Folder does not support empty tags") ctx := acctest.Context(t) + var v awstypes.Folder resourceName := "aws_quicksight_folder.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -645,6 +651,7 @@ func TestAccQuickSightFolder_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { t.Skip("Resource Folder does not support empty tags") ctx := acctest.Context(t) + var v awstypes.Folder resourceName := "aws_quicksight_folder.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -734,6 +741,7 @@ func TestAccQuickSightFolder_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccQuickSightFolder_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Folder resourceName := "aws_quicksight_folder.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -915,6 +923,7 @@ func TestAccQuickSightFolder_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccQuickSightFolder_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Folder resourceName := "aws_quicksight_folder.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1075,6 +1084,7 @@ func TestAccQuickSightFolder_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccQuickSightFolder_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Folder resourceName := "aws_quicksight_folder.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1251,6 +1261,7 @@ func TestAccQuickSightFolder_tags_DefaultTags_overlapping(t *testing.T) { func TestAccQuickSightFolder_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Folder resourceName := "aws_quicksight_folder.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1341,6 +1352,7 @@ func TestAccQuickSightFolder_tags_DefaultTags_updateToProviderOnly(t *testing.T) func TestAccQuickSightFolder_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Folder resourceName := "aws_quicksight_folder.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1432,6 +1444,7 @@ func TestAccQuickSightFolder_tags_DefaultTags_emptyResourceTag(t *testing.T) { t.Skip("Resource Folder does not support empty tags") ctx := acctest.Context(t) + var v awstypes.Folder resourceName := "aws_quicksight_folder.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1499,6 +1512,7 @@ func TestAccQuickSightFolder_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) t.Skip("Resource Folder does not support empty tags") ctx := acctest.Context(t) + var v awstypes.Folder resourceName := "aws_quicksight_folder.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1558,6 +1572,7 @@ func TestAccQuickSightFolder_tags_DefaultTags_nullOverlappingResourceTag(t *test t.Skip("Resource Folder does not support null tags") ctx := acctest.Context(t) + var v awstypes.Folder resourceName := "aws_quicksight_folder.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1622,6 +1637,7 @@ func TestAccQuickSightFolder_tags_DefaultTags_nullNonOverlappingResourceTag(t *t t.Skip("Resource Folder does not support null tags") ctx := acctest.Context(t) + var v awstypes.Folder resourceName := "aws_quicksight_folder.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1684,6 +1700,7 @@ func TestAccQuickSightFolder_tags_DefaultTags_nullNonOverlappingResourceTag(t *t func TestAccQuickSightFolder_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Folder resourceName := "aws_quicksight_folder.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1739,6 +1756,7 @@ func TestAccQuickSightFolder_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccQuickSightFolder_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Folder resourceName := "aws_quicksight_folder.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1836,6 +1854,7 @@ func TestAccQuickSightFolder_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccQuickSightFolder_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Folder resourceName := "aws_quicksight_folder.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1923,6 +1942,7 @@ func TestAccQuickSightFolder_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccQuickSightFolder_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Folder resourceName := "aws_quicksight_folder.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2085,6 +2105,7 @@ func TestAccQuickSightFolder_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccQuickSightFolder_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Folder resourceName := "aws_quicksight_folder.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/quicksight/namespace_tags_gen_test.go b/internal/service/quicksight/namespace_tags_gen_test.go index b3c964fab20f..88df27f4e909 100644 --- a/internal/service/quicksight/namespace_tags_gen_test.go +++ b/internal/service/quicksight/namespace_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccQuickSightNamespace_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.NamespaceInfoV2 resourceName := "aws_quicksight_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -202,6 +203,7 @@ func TestAccQuickSightNamespace_tags_null(t *testing.T) { t.Skip("Resource Namespace does not support null tags") ctx := acctest.Context(t) + var v awstypes.NamespaceInfoV2 resourceName := "aws_quicksight_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -264,6 +266,7 @@ func TestAccQuickSightNamespace_tags_null(t *testing.T) { func TestAccQuickSightNamespace_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.NamespaceInfoV2 resourceName := "aws_quicksight_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -314,6 +317,7 @@ func TestAccQuickSightNamespace_tags_EmptyMap(t *testing.T) { func TestAccQuickSightNamespace_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.NamespaceInfoV2 resourceName := "aws_quicksight_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -396,6 +400,7 @@ func TestAccQuickSightNamespace_tags_EmptyTag_OnCreate(t *testing.T) { t.Skip("Resource Namespace does not support empty tags") ctx := acctest.Context(t) + var v awstypes.NamespaceInfoV2 resourceName := "aws_quicksight_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -488,6 +493,7 @@ func TestAccQuickSightNamespace_tags_EmptyTag_OnUpdate_Add(t *testing.T) { t.Skip("Resource Namespace does not support empty tags") ctx := acctest.Context(t) + var v awstypes.NamespaceInfoV2 resourceName := "aws_quicksight_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -629,6 +635,7 @@ func TestAccQuickSightNamespace_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { t.Skip("Resource Namespace does not support empty tags") ctx := acctest.Context(t) + var v awstypes.NamespaceInfoV2 resourceName := "aws_quicksight_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -719,6 +726,7 @@ func TestAccQuickSightNamespace_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccQuickSightNamespace_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.NamespaceInfoV2 resourceName := "aws_quicksight_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -900,6 +908,7 @@ func TestAccQuickSightNamespace_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccQuickSightNamespace_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.NamespaceInfoV2 resourceName := "aws_quicksight_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1060,6 +1069,7 @@ func TestAccQuickSightNamespace_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccQuickSightNamespace_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.NamespaceInfoV2 resourceName := "aws_quicksight_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1236,6 +1246,7 @@ func TestAccQuickSightNamespace_tags_DefaultTags_overlapping(t *testing.T) { func TestAccQuickSightNamespace_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.NamespaceInfoV2 resourceName := "aws_quicksight_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1326,6 +1337,7 @@ func TestAccQuickSightNamespace_tags_DefaultTags_updateToProviderOnly(t *testing func TestAccQuickSightNamespace_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.NamespaceInfoV2 resourceName := "aws_quicksight_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1417,6 +1429,7 @@ func TestAccQuickSightNamespace_tags_DefaultTags_emptyResourceTag(t *testing.T) t.Skip("Resource Namespace does not support empty tags") ctx := acctest.Context(t) + var v awstypes.NamespaceInfoV2 resourceName := "aws_quicksight_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1485,6 +1498,7 @@ func TestAccQuickSightNamespace_tags_DefaultTags_emptyProviderOnlyTag(t *testing t.Skip("Resource Namespace does not support empty tags") ctx := acctest.Context(t) + var v awstypes.NamespaceInfoV2 resourceName := "aws_quicksight_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1545,6 +1559,7 @@ func TestAccQuickSightNamespace_tags_DefaultTags_nullOverlappingResourceTag(t *t t.Skip("Resource Namespace does not support null tags") ctx := acctest.Context(t) + var v awstypes.NamespaceInfoV2 resourceName := "aws_quicksight_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1616,6 +1631,7 @@ func TestAccQuickSightNamespace_tags_DefaultTags_nullNonOverlappingResourceTag(t t.Skip("Resource Namespace does not support null tags") ctx := acctest.Context(t) + var v awstypes.NamespaceInfoV2 resourceName := "aws_quicksight_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1687,6 +1703,7 @@ func TestAccQuickSightNamespace_tags_DefaultTags_nullNonOverlappingResourceTag(t func TestAccQuickSightNamespace_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.NamespaceInfoV2 resourceName := "aws_quicksight_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1742,6 +1759,7 @@ func TestAccQuickSightNamespace_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccQuickSightNamespace_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.NamespaceInfoV2 resourceName := "aws_quicksight_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1839,6 +1857,7 @@ func TestAccQuickSightNamespace_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccQuickSightNamespace_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.NamespaceInfoV2 resourceName := "aws_quicksight_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1926,6 +1945,7 @@ func TestAccQuickSightNamespace_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func TestAccQuickSightNamespace_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.NamespaceInfoV2 resourceName := "aws_quicksight_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2088,6 +2108,7 @@ func TestAccQuickSightNamespace_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func TestAccQuickSightNamespace_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.NamespaceInfoV2 resourceName := "aws_quicksight_namespace.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/quicksight/template_tags_gen_test.go b/internal/service/quicksight/template_tags_gen_test.go index da1886d7abbe..64cf566e6068 100644 --- a/internal/service/quicksight/template_tags_gen_test.go +++ b/internal/service/quicksight/template_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccQuickSightTemplate_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Template resourceName := "aws_quicksight_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -202,6 +203,7 @@ func TestAccQuickSightTemplate_tags_null(t *testing.T) { t.Skip("Resource Template does not support null tags") ctx := acctest.Context(t) + var v awstypes.Template resourceName := "aws_quicksight_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -269,6 +271,7 @@ func TestAccQuickSightTemplate_tags_null(t *testing.T) { func TestAccQuickSightTemplate_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Template resourceName := "aws_quicksight_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -332,6 +335,7 @@ func TestAccQuickSightTemplate_tags_EmptyMap(t *testing.T) { func TestAccQuickSightTemplate_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Template resourceName := "aws_quicksight_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -415,6 +419,7 @@ func TestAccQuickSightTemplate_tags_EmptyTag_OnCreate(t *testing.T) { t.Skip("Resource Template does not support empty tags") ctx := acctest.Context(t) + var v awstypes.Template resourceName := "aws_quicksight_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -506,6 +511,7 @@ func TestAccQuickSightTemplate_tags_EmptyTag_OnUpdate_Add(t *testing.T) { t.Skip("Resource Template does not support empty tags") ctx := acctest.Context(t) + var v awstypes.Template resourceName := "aws_quicksight_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -645,6 +651,7 @@ func TestAccQuickSightTemplate_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { t.Skip("Resource Template does not support empty tags") ctx := acctest.Context(t) + var v awstypes.Template resourceName := "aws_quicksight_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -734,6 +741,7 @@ func TestAccQuickSightTemplate_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccQuickSightTemplate_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Template resourceName := "aws_quicksight_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -915,6 +923,7 @@ func TestAccQuickSightTemplate_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccQuickSightTemplate_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Template resourceName := "aws_quicksight_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1075,6 +1084,7 @@ func TestAccQuickSightTemplate_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccQuickSightTemplate_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Template resourceName := "aws_quicksight_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1251,6 +1261,7 @@ func TestAccQuickSightTemplate_tags_DefaultTags_overlapping(t *testing.T) { func TestAccQuickSightTemplate_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Template resourceName := "aws_quicksight_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1341,6 +1352,7 @@ func TestAccQuickSightTemplate_tags_DefaultTags_updateToProviderOnly(t *testing. func TestAccQuickSightTemplate_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Template resourceName := "aws_quicksight_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1432,6 +1444,7 @@ func TestAccQuickSightTemplate_tags_DefaultTags_emptyResourceTag(t *testing.T) { t.Skip("Resource Template does not support empty tags") ctx := acctest.Context(t) + var v awstypes.Template resourceName := "aws_quicksight_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1499,6 +1512,7 @@ func TestAccQuickSightTemplate_tags_DefaultTags_emptyProviderOnlyTag(t *testing. t.Skip("Resource Template does not support empty tags") ctx := acctest.Context(t) + var v awstypes.Template resourceName := "aws_quicksight_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1558,6 +1572,7 @@ func TestAccQuickSightTemplate_tags_DefaultTags_nullOverlappingResourceTag(t *te t.Skip("Resource Template does not support null tags") ctx := acctest.Context(t) + var v awstypes.Template resourceName := "aws_quicksight_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1622,6 +1637,7 @@ func TestAccQuickSightTemplate_tags_DefaultTags_nullNonOverlappingResourceTag(t t.Skip("Resource Template does not support null tags") ctx := acctest.Context(t) + var v awstypes.Template resourceName := "aws_quicksight_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1684,6 +1700,7 @@ func TestAccQuickSightTemplate_tags_DefaultTags_nullNonOverlappingResourceTag(t func TestAccQuickSightTemplate_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Template resourceName := "aws_quicksight_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1739,6 +1756,7 @@ func TestAccQuickSightTemplate_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccQuickSightTemplate_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Template resourceName := "aws_quicksight_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1836,6 +1854,7 @@ func TestAccQuickSightTemplate_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccQuickSightTemplate_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Template resourceName := "aws_quicksight_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1923,6 +1942,7 @@ func TestAccQuickSightTemplate_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccQuickSightTemplate_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Template resourceName := "aws_quicksight_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2085,6 +2105,7 @@ func TestAccQuickSightTemplate_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func TestAccQuickSightTemplate_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Template resourceName := "aws_quicksight_template.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/quicksight/theme_tags_gen_test.go b/internal/service/quicksight/theme_tags_gen_test.go index 892d0691465c..11aa3808d96d 100644 --- a/internal/service/quicksight/theme_tags_gen_test.go +++ b/internal/service/quicksight/theme_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccQuickSightTheme_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Theme resourceName := "aws_quicksight_theme.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -202,6 +203,7 @@ func TestAccQuickSightTheme_tags_null(t *testing.T) { t.Skip("Resource Theme does not support null tags") ctx := acctest.Context(t) + var v awstypes.Theme resourceName := "aws_quicksight_theme.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -269,6 +271,7 @@ func TestAccQuickSightTheme_tags_null(t *testing.T) { func TestAccQuickSightTheme_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Theme resourceName := "aws_quicksight_theme.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -332,6 +335,7 @@ func TestAccQuickSightTheme_tags_EmptyMap(t *testing.T) { func TestAccQuickSightTheme_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Theme resourceName := "aws_quicksight_theme.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -415,6 +419,7 @@ func TestAccQuickSightTheme_tags_EmptyTag_OnCreate(t *testing.T) { t.Skip("Resource Theme does not support empty tags") ctx := acctest.Context(t) + var v awstypes.Theme resourceName := "aws_quicksight_theme.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -506,6 +511,7 @@ func TestAccQuickSightTheme_tags_EmptyTag_OnUpdate_Add(t *testing.T) { t.Skip("Resource Theme does not support empty tags") ctx := acctest.Context(t) + var v awstypes.Theme resourceName := "aws_quicksight_theme.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -645,6 +651,7 @@ func TestAccQuickSightTheme_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { t.Skip("Resource Theme does not support empty tags") ctx := acctest.Context(t) + var v awstypes.Theme resourceName := "aws_quicksight_theme.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -734,6 +741,7 @@ func TestAccQuickSightTheme_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccQuickSightTheme_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Theme resourceName := "aws_quicksight_theme.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -915,6 +923,7 @@ func TestAccQuickSightTheme_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccQuickSightTheme_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Theme resourceName := "aws_quicksight_theme.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1075,6 +1084,7 @@ func TestAccQuickSightTheme_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccQuickSightTheme_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Theme resourceName := "aws_quicksight_theme.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1251,6 +1261,7 @@ func TestAccQuickSightTheme_tags_DefaultTags_overlapping(t *testing.T) { func TestAccQuickSightTheme_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Theme resourceName := "aws_quicksight_theme.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1341,6 +1352,7 @@ func TestAccQuickSightTheme_tags_DefaultTags_updateToProviderOnly(t *testing.T) func TestAccQuickSightTheme_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Theme resourceName := "aws_quicksight_theme.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1432,6 +1444,7 @@ func TestAccQuickSightTheme_tags_DefaultTags_emptyResourceTag(t *testing.T) { t.Skip("Resource Theme does not support empty tags") ctx := acctest.Context(t) + var v awstypes.Theme resourceName := "aws_quicksight_theme.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1499,6 +1512,7 @@ func TestAccQuickSightTheme_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) t.Skip("Resource Theme does not support empty tags") ctx := acctest.Context(t) + var v awstypes.Theme resourceName := "aws_quicksight_theme.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1558,6 +1572,7 @@ func TestAccQuickSightTheme_tags_DefaultTags_nullOverlappingResourceTag(t *testi t.Skip("Resource Theme does not support null tags") ctx := acctest.Context(t) + var v awstypes.Theme resourceName := "aws_quicksight_theme.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1622,6 +1637,7 @@ func TestAccQuickSightTheme_tags_DefaultTags_nullNonOverlappingResourceTag(t *te t.Skip("Resource Theme does not support null tags") ctx := acctest.Context(t) + var v awstypes.Theme resourceName := "aws_quicksight_theme.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1684,6 +1700,7 @@ func TestAccQuickSightTheme_tags_DefaultTags_nullNonOverlappingResourceTag(t *te func TestAccQuickSightTheme_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Theme resourceName := "aws_quicksight_theme.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1739,6 +1756,7 @@ func TestAccQuickSightTheme_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccQuickSightTheme_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Theme resourceName := "aws_quicksight_theme.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1836,6 +1854,7 @@ func TestAccQuickSightTheme_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccQuickSightTheme_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Theme resourceName := "aws_quicksight_theme.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1923,6 +1942,7 @@ func TestAccQuickSightTheme_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccQuickSightTheme_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Theme resourceName := "aws_quicksight_theme.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2085,6 +2105,7 @@ func TestAccQuickSightTheme_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccQuickSightTheme_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Theme resourceName := "aws_quicksight_theme.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/quicksight/vpc_connection_tags_gen_test.go b/internal/service/quicksight/vpc_connection_tags_gen_test.go index 978d3930a57c..8db5e4f0b754 100644 --- a/internal/service/quicksight/vpc_connection_tags_gen_test.go +++ b/internal/service/quicksight/vpc_connection_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccQuickSightVPCConnection_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VPCConnection resourceName := "aws_quicksight_vpc_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -202,6 +203,7 @@ func TestAccQuickSightVPCConnection_tags_null(t *testing.T) { t.Skip("Resource VPCConnection does not support null tags") ctx := acctest.Context(t) + var v awstypes.VPCConnection resourceName := "aws_quicksight_vpc_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -264,6 +266,7 @@ func TestAccQuickSightVPCConnection_tags_null(t *testing.T) { func TestAccQuickSightVPCConnection_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VPCConnection resourceName := "aws_quicksight_vpc_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -314,6 +317,7 @@ func TestAccQuickSightVPCConnection_tags_EmptyMap(t *testing.T) { func TestAccQuickSightVPCConnection_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VPCConnection resourceName := "aws_quicksight_vpc_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -396,6 +400,7 @@ func TestAccQuickSightVPCConnection_tags_EmptyTag_OnCreate(t *testing.T) { t.Skip("Resource VPCConnection does not support empty tags") ctx := acctest.Context(t) + var v awstypes.VPCConnection resourceName := "aws_quicksight_vpc_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -488,6 +493,7 @@ func TestAccQuickSightVPCConnection_tags_EmptyTag_OnUpdate_Add(t *testing.T) { t.Skip("Resource VPCConnection does not support empty tags") ctx := acctest.Context(t) + var v awstypes.VPCConnection resourceName := "aws_quicksight_vpc_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -629,6 +635,7 @@ func TestAccQuickSightVPCConnection_tags_EmptyTag_OnUpdate_Replace(t *testing.T) t.Skip("Resource VPCConnection does not support empty tags") ctx := acctest.Context(t) + var v awstypes.VPCConnection resourceName := "aws_quicksight_vpc_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -719,6 +726,7 @@ func TestAccQuickSightVPCConnection_tags_EmptyTag_OnUpdate_Replace(t *testing.T) func TestAccQuickSightVPCConnection_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VPCConnection resourceName := "aws_quicksight_vpc_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -900,6 +908,7 @@ func TestAccQuickSightVPCConnection_tags_DefaultTags_providerOnly(t *testing.T) func TestAccQuickSightVPCConnection_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VPCConnection resourceName := "aws_quicksight_vpc_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1060,6 +1069,7 @@ func TestAccQuickSightVPCConnection_tags_DefaultTags_nonOverlapping(t *testing.T func TestAccQuickSightVPCConnection_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VPCConnection resourceName := "aws_quicksight_vpc_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1236,6 +1246,7 @@ func TestAccQuickSightVPCConnection_tags_DefaultTags_overlapping(t *testing.T) { func TestAccQuickSightVPCConnection_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VPCConnection resourceName := "aws_quicksight_vpc_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1326,6 +1337,7 @@ func TestAccQuickSightVPCConnection_tags_DefaultTags_updateToProviderOnly(t *tes func TestAccQuickSightVPCConnection_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VPCConnection resourceName := "aws_quicksight_vpc_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1417,6 +1429,7 @@ func TestAccQuickSightVPCConnection_tags_DefaultTags_emptyResourceTag(t *testing t.Skip("Resource VPCConnection does not support empty tags") ctx := acctest.Context(t) + var v awstypes.VPCConnection resourceName := "aws_quicksight_vpc_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1485,6 +1498,7 @@ func TestAccQuickSightVPCConnection_tags_DefaultTags_emptyProviderOnlyTag(t *tes t.Skip("Resource VPCConnection does not support empty tags") ctx := acctest.Context(t) + var v awstypes.VPCConnection resourceName := "aws_quicksight_vpc_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1545,6 +1559,7 @@ func TestAccQuickSightVPCConnection_tags_DefaultTags_nullOverlappingResourceTag( t.Skip("Resource VPCConnection does not support null tags") ctx := acctest.Context(t) + var v awstypes.VPCConnection resourceName := "aws_quicksight_vpc_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1616,6 +1631,7 @@ func TestAccQuickSightVPCConnection_tags_DefaultTags_nullNonOverlappingResourceT t.Skip("Resource VPCConnection does not support null tags") ctx := acctest.Context(t) + var v awstypes.VPCConnection resourceName := "aws_quicksight_vpc_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1687,6 +1703,7 @@ func TestAccQuickSightVPCConnection_tags_DefaultTags_nullNonOverlappingResourceT func TestAccQuickSightVPCConnection_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VPCConnection resourceName := "aws_quicksight_vpc_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1742,6 +1759,7 @@ func TestAccQuickSightVPCConnection_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccQuickSightVPCConnection_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VPCConnection resourceName := "aws_quicksight_vpc_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1839,6 +1857,7 @@ func TestAccQuickSightVPCConnection_tags_ComputedTag_OnUpdate_Add(t *testing.T) func TestAccQuickSightVPCConnection_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VPCConnection resourceName := "aws_quicksight_vpc_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1926,6 +1945,7 @@ func TestAccQuickSightVPCConnection_tags_ComputedTag_OnUpdate_Replace(t *testing func TestAccQuickSightVPCConnection_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VPCConnection resourceName := "aws_quicksight_vpc_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2088,6 +2108,7 @@ func TestAccQuickSightVPCConnection_tags_IgnoreTags_Overlap_DefaultTag(t *testin func TestAccQuickSightVPCConnection_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.VPCConnection resourceName := "aws_quicksight_vpc_connection.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/rds/global_cluster_tags_gen_test.go b/internal/service/rds/global_cluster_tags_gen_test.go index a2113d7d02eb..ee74c0519df1 100644 --- a/internal/service/rds/global_cluster_tags_gen_test.go +++ b/internal/service/rds/global_cluster_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccRDSGlobalCluster_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.GlobalCluster resourceName := "aws_rds_global_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccRDSGlobalCluster_tags(t *testing.T) { func TestAccRDSGlobalCluster_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.GlobalCluster resourceName := "aws_rds_global_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccRDSGlobalCluster_tags_null(t *testing.T) { func TestAccRDSGlobalCluster_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.GlobalCluster resourceName := "aws_rds_global_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccRDSGlobalCluster_tags_EmptyMap(t *testing.T) { func TestAccRDSGlobalCluster_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.GlobalCluster resourceName := "aws_rds_global_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccRDSGlobalCluster_tags_AddOnUpdate(t *testing.T) { func TestAccRDSGlobalCluster_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.GlobalCluster resourceName := "aws_rds_global_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccRDSGlobalCluster_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccRDSGlobalCluster_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.GlobalCluster resourceName := "aws_rds_global_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccRDSGlobalCluster_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccRDSGlobalCluster_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.GlobalCluster resourceName := "aws_rds_global_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccRDSGlobalCluster_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccRDSGlobalCluster_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.GlobalCluster resourceName := "aws_rds_global_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccRDSGlobalCluster_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccRDSGlobalCluster_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.GlobalCluster resourceName := "aws_rds_global_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccRDSGlobalCluster_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccRDSGlobalCluster_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.GlobalCluster resourceName := "aws_rds_global_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccRDSGlobalCluster_tags_DefaultTags_overlapping(t *testing.T) { func TestAccRDSGlobalCluster_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.GlobalCluster resourceName := "aws_rds_global_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccRDSGlobalCluster_tags_DefaultTags_updateToProviderOnly(t *testing.T) func TestAccRDSGlobalCluster_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.GlobalCluster resourceName := "aws_rds_global_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccRDSGlobalCluster_tags_DefaultTags_updateToResourceOnly(t *testing.T) func TestAccRDSGlobalCluster_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.GlobalCluster resourceName := "aws_rds_global_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccRDSGlobalCluster_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccRDSGlobalCluster_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.GlobalCluster resourceName := "aws_rds_global_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccRDSGlobalCluster_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) func TestAccRDSGlobalCluster_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.GlobalCluster resourceName := "aws_rds_global_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccRDSGlobalCluster_tags_DefaultTags_nullOverlappingResourceTag(t *test func TestAccRDSGlobalCluster_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.GlobalCluster resourceName := "aws_rds_global_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccRDSGlobalCluster_tags_DefaultTags_nullNonOverlappingResourceTag(t *t func TestAccRDSGlobalCluster_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.GlobalCluster resourceName := "aws_rds_global_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccRDSGlobalCluster_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccRDSGlobalCluster_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.GlobalCluster resourceName := "aws_rds_global_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccRDSGlobalCluster_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccRDSGlobalCluster_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.GlobalCluster resourceName := "aws_rds_global_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccRDSGlobalCluster_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccRDSGlobalCluster_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.GlobalCluster resourceName := "aws_rds_global_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccRDSGlobalCluster_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccRDSGlobalCluster_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.GlobalCluster resourceName := "aws_rds_global_cluster.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/rds/instance_data_source_tags_gen_test.go b/internal/service/rds/instance_data_source_tags_gen_test.go index 8ad1aef5c04e..cc154b456b85 100644 --- a/internal/service/rds/instance_data_source_tags_gen_test.go +++ b/internal/service/rds/instance_data_source_tags_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccRDSDBInstanceDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -49,6 +50,7 @@ func TestAccRDSDBInstanceDataSource_tags(t *testing.T) { func TestAccRDSDBInstanceDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -73,6 +75,7 @@ func TestAccRDSDBInstanceDataSource_tags_NullMap(t *testing.T) { func TestAccRDSDBInstanceDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -97,6 +100,7 @@ func TestAccRDSDBInstanceDataSource_tags_EmptyMap(t *testing.T) { func TestAccRDSDBInstanceDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -129,6 +133,7 @@ func TestAccRDSDBInstanceDataSource_tags_DefaultTags_nonOverlapping(t *testing.T func TestAccRDSDBInstanceDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -167,6 +172,7 @@ func TestAccRDSDBInstanceDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testin func TestAccRDSDBInstanceDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/rds/instance_tags_gen_test.go b/internal/service/rds/instance_tags_gen_test.go index 1d363552f4f0..c4f5e91e9b7e 100644 --- a/internal/service/rds/instance_tags_gen_test.go +++ b/internal/service/rds/instance_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccRDSDBInstance_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.DBInstance resourceName := "aws_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -212,6 +213,7 @@ func TestAccRDSDBInstance_tags(t *testing.T) { func TestAccRDSDBInstance_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.DBInstance resourceName := "aws_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -282,6 +284,7 @@ func TestAccRDSDBInstance_tags_null(t *testing.T) { func TestAccRDSDBInstance_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.DBInstance resourceName := "aws_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -348,6 +351,7 @@ func TestAccRDSDBInstance_tags_EmptyMap(t *testing.T) { func TestAccRDSDBInstance_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.DBInstance resourceName := "aws_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -432,6 +436,7 @@ func TestAccRDSDBInstance_tags_AddOnUpdate(t *testing.T) { func TestAccRDSDBInstance_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.DBInstance resourceName := "aws_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -527,6 +532,7 @@ func TestAccRDSDBInstance_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccRDSDBInstance_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.DBInstance resourceName := "aws_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -670,6 +676,7 @@ func TestAccRDSDBInstance_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccRDSDBInstance_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.DBInstance resourceName := "aws_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -762,6 +769,7 @@ func TestAccRDSDBInstance_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccRDSDBInstance_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.DBInstance resourceName := "aws_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -955,6 +963,7 @@ func TestAccRDSDBInstance_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccRDSDBInstance_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.DBInstance resourceName := "aws_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1124,6 +1133,7 @@ func TestAccRDSDBInstance_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccRDSDBInstance_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.DBInstance resourceName := "aws_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1309,6 +1319,7 @@ func TestAccRDSDBInstance_tags_DefaultTags_overlapping(t *testing.T) { func TestAccRDSDBInstance_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.DBInstance resourceName := "aws_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1402,6 +1413,7 @@ func TestAccRDSDBInstance_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccRDSDBInstance_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.DBInstance resourceName := "aws_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1494,6 +1506,7 @@ func TestAccRDSDBInstance_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccRDSDBInstance_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.DBInstance resourceName := "aws_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1562,6 +1575,7 @@ func TestAccRDSDBInstance_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccRDSDBInstance_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.DBInstance resourceName := "aws_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1622,6 +1636,7 @@ func TestAccRDSDBInstance_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccRDSDBInstance_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.DBInstance resourceName := "aws_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1687,6 +1702,7 @@ func TestAccRDSDBInstance_tags_DefaultTags_nullOverlappingResourceTag(t *testing func TestAccRDSDBInstance_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.DBInstance resourceName := "aws_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1752,6 +1768,7 @@ func TestAccRDSDBInstance_tags_DefaultTags_nullNonOverlappingResourceTag(t *test func TestAccRDSDBInstance_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.DBInstance resourceName := "aws_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1810,6 +1827,7 @@ func TestAccRDSDBInstance_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccRDSDBInstance_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.DBInstance resourceName := "aws_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1928,7 @@ func TestAccRDSDBInstance_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccRDSDBInstance_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.DBInstance resourceName := "aws_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2000,6 +2019,7 @@ func TestAccRDSDBInstance_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccRDSDBInstance_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.DBInstance resourceName := "aws_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2162,6 +2182,7 @@ func TestAccRDSDBInstance_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccRDSDBInstance_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.DBInstance resourceName := "aws_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/resiliencehub/resiliency_policy_tags_gen_test.go b/internal/service/resiliencehub/resiliency_policy_tags_gen_test.go index df7c22a3ecab..9e27cbc3559c 100644 --- a/internal/service/resiliencehub/resiliency_policy_tags_gen_test.go +++ b/internal/service/resiliencehub/resiliency_policy_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccResilienceHubResiliencyPolicy_tags(t *testing.T) { ctx := acctest.Context(t) + var v resiliencehub.DescribeResiliencyPolicyOutput resourceName := "aws_resiliencehub_resiliency_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -208,6 +209,7 @@ func TestAccResilienceHubResiliencyPolicy_tags(t *testing.T) { func TestAccResilienceHubResiliencyPolicy_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v resiliencehub.DescribeResiliencyPolicyOutput resourceName := "aws_resiliencehub_resiliency_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -272,6 +274,7 @@ func TestAccResilienceHubResiliencyPolicy_tags_null(t *testing.T) { func TestAccResilienceHubResiliencyPolicy_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v resiliencehub.DescribeResiliencyPolicyOutput resourceName := "aws_resiliencehub_resiliency_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -324,6 +327,7 @@ func TestAccResilienceHubResiliencyPolicy_tags_EmptyMap(t *testing.T) { func TestAccResilienceHubResiliencyPolicy_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v resiliencehub.DescribeResiliencyPolicyOutput resourceName := "aws_resiliencehub_resiliency_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccResilienceHubResiliencyPolicy_tags_AddOnUpdate(t *testing.T) { func TestAccResilienceHubResiliencyPolicy_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v resiliencehub.DescribeResiliencyPolicyOutput resourceName := "aws_resiliencehub_resiliency_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccResilienceHubResiliencyPolicy_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccResilienceHubResiliencyPolicy_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v resiliencehub.DescribeResiliencyPolicyOutput resourceName := "aws_resiliencehub_resiliency_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -643,6 +649,7 @@ func TestAccResilienceHubResiliencyPolicy_tags_EmptyTag_OnUpdate_Add(t *testing. func TestAccResilienceHubResiliencyPolicy_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v resiliencehub.DescribeResiliencyPolicyOutput resourceName := "aws_resiliencehub_resiliency_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -735,6 +742,7 @@ func TestAccResilienceHubResiliencyPolicy_tags_EmptyTag_OnUpdate_Replace(t *test func TestAccResilienceHubResiliencyPolicy_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v resiliencehub.DescribeResiliencyPolicyOutput resourceName := "aws_resiliencehub_resiliency_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -924,6 +932,7 @@ func TestAccResilienceHubResiliencyPolicy_tags_DefaultTags_providerOnly(t *testi func TestAccResilienceHubResiliencyPolicy_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v resiliencehub.DescribeResiliencyPolicyOutput resourceName := "aws_resiliencehub_resiliency_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1090,6 +1099,7 @@ func TestAccResilienceHubResiliencyPolicy_tags_DefaultTags_nonOverlapping(t *tes func TestAccResilienceHubResiliencyPolicy_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v resiliencehub.DescribeResiliencyPolicyOutput resourceName := "aws_resiliencehub_resiliency_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1272,6 +1282,7 @@ func TestAccResilienceHubResiliencyPolicy_tags_DefaultTags_overlapping(t *testin func TestAccResilienceHubResiliencyPolicy_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v resiliencehub.DescribeResiliencyPolicyOutput resourceName := "aws_resiliencehub_resiliency_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1364,6 +1375,7 @@ func TestAccResilienceHubResiliencyPolicy_tags_DefaultTags_updateToProviderOnly( func TestAccResilienceHubResiliencyPolicy_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v resiliencehub.DescribeResiliencyPolicyOutput resourceName := "aws_resiliencehub_resiliency_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1455,6 +1467,7 @@ func TestAccResilienceHubResiliencyPolicy_tags_DefaultTags_updateToResourceOnly( func TestAccResilienceHubResiliencyPolicy_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v resiliencehub.DescribeResiliencyPolicyOutput resourceName := "aws_resiliencehub_resiliency_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1523,6 +1536,7 @@ func TestAccResilienceHubResiliencyPolicy_tags_DefaultTags_emptyResourceTag(t *t func TestAccResilienceHubResiliencyPolicy_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v resiliencehub.DescribeResiliencyPolicyOutput resourceName := "aws_resiliencehub_resiliency_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1583,6 +1597,7 @@ func TestAccResilienceHubResiliencyPolicy_tags_DefaultTags_emptyProviderOnlyTag( func TestAccResilienceHubResiliencyPolicy_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v resiliencehub.DescribeResiliencyPolicyOutput resourceName := "aws_resiliencehub_resiliency_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1654,6 +1669,7 @@ func TestAccResilienceHubResiliencyPolicy_tags_DefaultTags_nullOverlappingResour func TestAccResilienceHubResiliencyPolicy_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v resiliencehub.DescribeResiliencyPolicyOutput resourceName := "aws_resiliencehub_resiliency_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1727,6 +1743,7 @@ func TestAccResilienceHubResiliencyPolicy_tags_DefaultTags_nullNonOverlappingRes func TestAccResilienceHubResiliencyPolicy_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v resiliencehub.DescribeResiliencyPolicyOutput resourceName := "aws_resiliencehub_resiliency_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1784,6 +1801,7 @@ func TestAccResilienceHubResiliencyPolicy_tags_ComputedTag_OnCreate(t *testing.T func TestAccResilienceHubResiliencyPolicy_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v resiliencehub.DescribeResiliencyPolicyOutput resourceName := "aws_resiliencehub_resiliency_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1883,6 +1901,7 @@ func TestAccResilienceHubResiliencyPolicy_tags_ComputedTag_OnUpdate_Add(t *testi func TestAccResilienceHubResiliencyPolicy_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v resiliencehub.DescribeResiliencyPolicyOutput resourceName := "aws_resiliencehub_resiliency_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1972,6 +1991,7 @@ func TestAccResilienceHubResiliencyPolicy_tags_ComputedTag_OnUpdate_Replace(t *t func TestAccResilienceHubResiliencyPolicy_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v resiliencehub.DescribeResiliencyPolicyOutput resourceName := "aws_resiliencehub_resiliency_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2134,6 +2154,7 @@ func TestAccResilienceHubResiliencyPolicy_tags_IgnoreTags_Overlap_DefaultTag(t * func TestAccResilienceHubResiliencyPolicy_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v resiliencehub.DescribeResiliencyPolicyOutput resourceName := "aws_resiliencehub_resiliency_policy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/resourceexplorer2/index_identity_gen_test.go b/internal/service/resourceexplorer2/index_identity_gen_test.go index 793f9c4aaedc..4e2e2d021628 100644 --- a/internal/service/resourceexplorer2/index_identity_gen_test.go +++ b/internal/service/resourceexplorer2/index_identity_gen_test.go @@ -32,6 +32,7 @@ func testAccResourceExplorer2Index_IdentitySerial(t *testing.T) { func testAccResourceExplorer2Index_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_resourceexplorer2_index.test" resource.Test(t, resource.TestCase{ @@ -220,6 +221,7 @@ func testAccResourceExplorer2Index_Identity_RegionOverride(t *testing.T) { func testAccResourceExplorer2Index_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_resourceexplorer2_index.test" resource.Test(t, resource.TestCase{ diff --git a/internal/service/s3/bucket_identity_gen_test.go b/internal/service/s3/bucket_identity_gen_test.go index d5fabea5a0aa..953731b020f9 100644 --- a/internal/service/s3/bucket_identity_gen_test.go +++ b/internal/service/s3/bucket_identity_gen_test.go @@ -22,6 +22,7 @@ import ( func TestAccS3Bucket_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_bucket.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -196,6 +197,7 @@ func TestAccS3Bucket_Identity_RegionOverride(t *testing.T) { func TestAccS3Bucket_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_bucket.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/s3/bucket_object_data_source_tags_gen_test.go b/internal/service/s3/bucket_object_data_source_tags_gen_test.go index 61fd79fdf916..04b8b3bada42 100644 --- a/internal/service/s3/bucket_object_data_source_tags_gen_test.go +++ b/internal/service/s3/bucket_object_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccS3BucketObjectDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_s3_bucket_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -44,6 +45,7 @@ func TestAccS3BucketObjectDataSource_tags(t *testing.T) { func TestAccS3BucketObjectDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_s3_bucket_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -68,6 +70,7 @@ func TestAccS3BucketObjectDataSource_tags_NullMap(t *testing.T) { func TestAccS3BucketObjectDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_s3_bucket_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -92,6 +95,7 @@ func TestAccS3BucketObjectDataSource_tags_EmptyMap(t *testing.T) { func TestAccS3BucketObjectDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_s3_bucket_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -124,6 +128,7 @@ func TestAccS3BucketObjectDataSource_tags_DefaultTags_nonOverlapping(t *testing. func TestAccS3BucketObjectDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_s3_bucket_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -162,6 +167,7 @@ func TestAccS3BucketObjectDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testi func TestAccS3BucketObjectDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_s3_bucket_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/s3/bucket_object_tags_gen_test.go b/internal/service/s3/bucket_object_tags_gen_test.go index ddcd724e8533..cd71f1404235 100644 --- a/internal/service/s3/bucket_object_tags_gen_test.go +++ b/internal/service/s3/bucket_object_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccS3BucketObject_tags(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_bucket_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -212,6 +213,7 @@ func TestAccS3BucketObject_tags(t *testing.T) { func TestAccS3BucketObject_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_bucket_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -282,6 +284,7 @@ func TestAccS3BucketObject_tags_null(t *testing.T) { func TestAccS3BucketObject_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_bucket_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -348,6 +351,7 @@ func TestAccS3BucketObject_tags_EmptyMap(t *testing.T) { func TestAccS3BucketObject_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_bucket_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -432,6 +436,7 @@ func TestAccS3BucketObject_tags_AddOnUpdate(t *testing.T) { func TestAccS3BucketObject_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_bucket_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -527,6 +532,7 @@ func TestAccS3BucketObject_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccS3BucketObject_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_bucket_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -670,6 +676,7 @@ func TestAccS3BucketObject_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccS3BucketObject_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_bucket_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -762,6 +769,7 @@ func TestAccS3BucketObject_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccS3BucketObject_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_bucket_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -955,6 +963,7 @@ func TestAccS3BucketObject_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccS3BucketObject_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_bucket_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1124,6 +1133,7 @@ func TestAccS3BucketObject_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccS3BucketObject_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_bucket_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1309,6 +1319,7 @@ func TestAccS3BucketObject_tags_DefaultTags_overlapping(t *testing.T) { func TestAccS3BucketObject_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_bucket_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1402,6 +1413,7 @@ func TestAccS3BucketObject_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccS3BucketObject_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_bucket_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1494,6 +1506,7 @@ func TestAccS3BucketObject_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccS3BucketObject_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_bucket_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1562,6 +1575,7 @@ func TestAccS3BucketObject_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccS3BucketObject_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_bucket_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1622,6 +1636,7 @@ func TestAccS3BucketObject_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccS3BucketObject_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_bucket_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1687,6 +1702,7 @@ func TestAccS3BucketObject_tags_DefaultTags_nullOverlappingResourceTag(t *testin func TestAccS3BucketObject_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_bucket_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1752,6 +1768,7 @@ func TestAccS3BucketObject_tags_DefaultTags_nullNonOverlappingResourceTag(t *tes func TestAccS3BucketObject_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_bucket_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1810,6 +1827,7 @@ func TestAccS3BucketObject_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccS3BucketObject_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_bucket_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1928,7 @@ func TestAccS3BucketObject_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccS3BucketObject_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_bucket_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2000,6 +2019,7 @@ func TestAccS3BucketObject_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccS3BucketObject_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_bucket_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2162,6 +2182,7 @@ func TestAccS3BucketObject_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccS3BucketObject_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_bucket_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/s3/bucket_tags_gen_test.go b/internal/service/s3/bucket_tags_gen_test.go index 0b98b8606bb7..6ec02a57caa4 100644 --- a/internal/service/s3/bucket_tags_gen_test.go +++ b/internal/service/s3/bucket_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccS3Bucket_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -198,6 +199,7 @@ func TestAccS3Bucket_tags(t *testing.T) { func TestAccS3Bucket_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -264,6 +266,7 @@ func TestAccS3Bucket_tags_null(t *testing.T) { func TestAccS3Bucket_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -326,6 +329,7 @@ func TestAccS3Bucket_tags_EmptyMap(t *testing.T) { func TestAccS3Bucket_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccS3Bucket_tags_AddOnUpdate(t *testing.T) { func TestAccS3Bucket_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -494,6 +499,7 @@ func TestAccS3Bucket_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccS3Bucket_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -630,6 +636,7 @@ func TestAccS3Bucket_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccS3Bucket_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -718,6 +725,7 @@ func TestAccS3Bucket_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccS3Bucket_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -898,6 +906,7 @@ func TestAccS3Bucket_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccS3Bucket_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1057,6 +1066,7 @@ func TestAccS3Bucket_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccS3Bucket_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1232,6 +1242,7 @@ func TestAccS3Bucket_tags_DefaultTags_overlapping(t *testing.T) { func TestAccS3Bucket_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1321,6 +1332,7 @@ func TestAccS3Bucket_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccS3Bucket_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1409,6 +1421,7 @@ func TestAccS3Bucket_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccS3Bucket_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccS3Bucket_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccS3Bucket_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1529,6 +1543,7 @@ func TestAccS3Bucket_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccS3Bucket_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1590,6 +1605,7 @@ func TestAccS3Bucket_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { func TestAccS3Bucket_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1651,6 +1667,7 @@ func TestAccS3Bucket_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T func TestAccS3Bucket_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1705,6 +1722,7 @@ func TestAccS3Bucket_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccS3Bucket_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1801,6 +1819,7 @@ func TestAccS3Bucket_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccS3Bucket_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1887,6 +1906,7 @@ func TestAccS3Bucket_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccS3Bucket_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2048,6 +2068,7 @@ func TestAccS3Bucket_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccS3Bucket_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/s3/directory_bucket_tags_gen_test.go b/internal/service/s3/directory_bucket_tags_gen_test.go index 56bfc23824a2..0d64ab62b4e5 100644 --- a/internal/service/s3/directory_bucket_tags_gen_test.go +++ b/internal/service/s3/directory_bucket_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccS3DirectoryBucket_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_directory_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -210,6 +211,7 @@ func TestAccS3DirectoryBucket_tags(t *testing.T) { func TestAccS3DirectoryBucket_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_directory_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -272,6 +274,7 @@ func TestAccS3DirectoryBucket_tags_null(t *testing.T) { func TestAccS3DirectoryBucket_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_directory_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -322,6 +325,7 @@ func TestAccS3DirectoryBucket_tags_EmptyMap(t *testing.T) { func TestAccS3DirectoryBucket_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_directory_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -404,6 +408,7 @@ func TestAccS3DirectoryBucket_tags_AddOnUpdate(t *testing.T) { func TestAccS3DirectoryBucket_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_directory_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -499,6 +504,7 @@ func TestAccS3DirectoryBucket_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccS3DirectoryBucket_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_directory_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -643,6 +649,7 @@ func TestAccS3DirectoryBucket_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccS3DirectoryBucket_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_directory_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -735,6 +742,7 @@ func TestAccS3DirectoryBucket_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccS3DirectoryBucket_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_directory_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -927,6 +935,7 @@ func TestAccS3DirectoryBucket_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccS3DirectoryBucket_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_directory_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1095,6 +1104,7 @@ func TestAccS3DirectoryBucket_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccS3DirectoryBucket_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_directory_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1279,6 +1289,7 @@ func TestAccS3DirectoryBucket_tags_DefaultTags_overlapping(t *testing.T) { func TestAccS3DirectoryBucket_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_directory_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1371,6 +1382,7 @@ func TestAccS3DirectoryBucket_tags_DefaultTags_updateToProviderOnly(t *testing.T func TestAccS3DirectoryBucket_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_directory_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1462,6 +1474,7 @@ func TestAccS3DirectoryBucket_tags_DefaultTags_updateToResourceOnly(t *testing.T func TestAccS3DirectoryBucket_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_directory_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1530,6 +1543,7 @@ func TestAccS3DirectoryBucket_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccS3DirectoryBucket_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_directory_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1590,6 +1604,7 @@ func TestAccS3DirectoryBucket_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T func TestAccS3DirectoryBucket_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_directory_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1659,6 +1674,7 @@ func TestAccS3DirectoryBucket_tags_DefaultTags_nullOverlappingResourceTag(t *tes func TestAccS3DirectoryBucket_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_directory_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1730,6 +1746,7 @@ func TestAccS3DirectoryBucket_tags_DefaultTags_nullNonOverlappingResourceTag(t * func TestAccS3DirectoryBucket_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_directory_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1787,6 +1804,7 @@ func TestAccS3DirectoryBucket_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccS3DirectoryBucket_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_directory_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1886,6 +1904,7 @@ func TestAccS3DirectoryBucket_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccS3DirectoryBucket_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_directory_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1975,6 +1994,7 @@ func TestAccS3DirectoryBucket_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccS3DirectoryBucket_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_directory_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2136,6 +2156,7 @@ func TestAccS3DirectoryBucket_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccS3DirectoryBucket_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_directory_bucket.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/s3/object_copy_tags_gen_test.go b/internal/service/s3/object_copy_tags_gen_test.go index ebdbb3771ef1..29a621255fc8 100644 --- a/internal/service/s3/object_copy_tags_gen_test.go +++ b/internal/service/s3/object_copy_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccS3ObjectCopy_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_object_copy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -154,6 +155,7 @@ func TestAccS3ObjectCopy_tags(t *testing.T) { func TestAccS3ObjectCopy_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_object_copy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -209,6 +211,7 @@ func TestAccS3ObjectCopy_tags_null(t *testing.T) { func TestAccS3ObjectCopy_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_object_copy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -262,6 +265,7 @@ func TestAccS3ObjectCopy_tags_EmptyMap(t *testing.T) { func TestAccS3ObjectCopy_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_object_copy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +334,7 @@ func TestAccS3ObjectCopy_tags_AddOnUpdate(t *testing.T) { func TestAccS3ObjectCopy_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_object_copy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -397,6 +402,7 @@ func TestAccS3ObjectCopy_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccS3ObjectCopy_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_object_copy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -509,6 +515,7 @@ func TestAccS3ObjectCopy_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccS3ObjectCopy_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_object_copy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -585,6 +592,7 @@ func TestAccS3ObjectCopy_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccS3ObjectCopy_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_object_copy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -714,6 +722,7 @@ func TestAccS3ObjectCopy_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccS3ObjectCopy_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_object_copy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -831,6 +840,7 @@ func TestAccS3ObjectCopy_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccS3ObjectCopy_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_object_copy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -958,6 +968,7 @@ func TestAccS3ObjectCopy_tags_DefaultTags_overlapping(t *testing.T) { func TestAccS3ObjectCopy_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_object_copy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1033,6 +1044,7 @@ func TestAccS3ObjectCopy_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccS3ObjectCopy_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_object_copy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1108,6 +1120,7 @@ func TestAccS3ObjectCopy_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccS3ObjectCopy_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_object_copy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1156,6 +1169,7 @@ func TestAccS3ObjectCopy_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccS3ObjectCopy_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_object_copy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1198,6 +1212,7 @@ func TestAccS3ObjectCopy_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccS3ObjectCopy_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_object_copy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1258,7 @@ func TestAccS3ObjectCopy_tags_DefaultTags_nullOverlappingResourceTag(t *testing. func TestAccS3ObjectCopy_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_object_copy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1288,6 +1304,7 @@ func TestAccS3ObjectCopy_tags_DefaultTags_nullNonOverlappingResourceTag(t *testi func TestAccS3ObjectCopy_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_object_copy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1331,6 +1348,7 @@ func TestAccS3ObjectCopy_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccS3ObjectCopy_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_object_copy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1414,6 +1432,7 @@ func TestAccS3ObjectCopy_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccS3ObjectCopy_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_object_copy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1489,6 +1508,7 @@ func TestAccS3ObjectCopy_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccS3ObjectCopy_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_object_copy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1650,6 +1670,7 @@ func TestAccS3ObjectCopy_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccS3ObjectCopy_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_s3_object_copy.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/s3/object_data_source_tags_gen_test.go b/internal/service/s3/object_data_source_tags_gen_test.go index 1f8385b1b65a..d84a80401174 100644 --- a/internal/service/s3/object_data_source_tags_gen_test.go +++ b/internal/service/s3/object_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccS3ObjectDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_s3_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -44,6 +45,7 @@ func TestAccS3ObjectDataSource_tags(t *testing.T) { func TestAccS3ObjectDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_s3_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -68,6 +70,7 @@ func TestAccS3ObjectDataSource_tags_NullMap(t *testing.T) { func TestAccS3ObjectDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_s3_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -92,6 +95,7 @@ func TestAccS3ObjectDataSource_tags_EmptyMap(t *testing.T) { func TestAccS3ObjectDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_s3_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -124,6 +128,7 @@ func TestAccS3ObjectDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccS3ObjectDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_s3_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -162,6 +167,7 @@ func TestAccS3ObjectDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func TestAccS3ObjectDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_s3_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/s3/object_tags_gen_test.go b/internal/service/s3/object_tags_gen_test.go index b34d4332d892..dbbb1f436bdb 100644 --- a/internal/service/s3/object_tags_gen_test.go +++ b/internal/service/s3/object_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccS3Object_tags(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -212,6 +213,7 @@ func TestAccS3Object_tags(t *testing.T) { func TestAccS3Object_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -282,6 +284,7 @@ func TestAccS3Object_tags_null(t *testing.T) { func TestAccS3Object_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -348,6 +351,7 @@ func TestAccS3Object_tags_EmptyMap(t *testing.T) { func TestAccS3Object_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -432,6 +436,7 @@ func TestAccS3Object_tags_AddOnUpdate(t *testing.T) { func TestAccS3Object_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -527,6 +532,7 @@ func TestAccS3Object_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccS3Object_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -670,6 +676,7 @@ func TestAccS3Object_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccS3Object_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -762,6 +769,7 @@ func TestAccS3Object_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccS3Object_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -955,6 +963,7 @@ func TestAccS3Object_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccS3Object_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1124,6 +1133,7 @@ func TestAccS3Object_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccS3Object_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1309,6 +1319,7 @@ func TestAccS3Object_tags_DefaultTags_overlapping(t *testing.T) { func TestAccS3Object_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1402,6 +1413,7 @@ func TestAccS3Object_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccS3Object_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1494,6 +1506,7 @@ func TestAccS3Object_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccS3Object_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1562,6 +1575,7 @@ func TestAccS3Object_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccS3Object_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1622,6 +1636,7 @@ func TestAccS3Object_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccS3Object_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1687,6 +1702,7 @@ func TestAccS3Object_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { func TestAccS3Object_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1752,6 +1768,7 @@ func TestAccS3Object_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T func TestAccS3Object_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1810,6 +1827,7 @@ func TestAccS3Object_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccS3Object_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1928,7 @@ func TestAccS3Object_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccS3Object_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2000,6 +2019,7 @@ func TestAccS3Object_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccS3Object_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2162,6 +2182,7 @@ func TestAccS3Object_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccS3Object_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v s3.GetObjectOutput resourceName := "aws_s3_object.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/secretsmanager/secret_data_source_tags_gen_test.go b/internal/service/secretsmanager/secret_data_source_tags_gen_test.go index 6a8264db86a6..3cd0b2e0e048 100644 --- a/internal/service/secretsmanager/secret_data_source_tags_gen_test.go +++ b/internal/service/secretsmanager/secret_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccSecretsManagerSecretDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_secretsmanager_secret.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -44,6 +45,7 @@ func TestAccSecretsManagerSecretDataSource_tags(t *testing.T) { func TestAccSecretsManagerSecretDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_secretsmanager_secret.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -68,6 +70,7 @@ func TestAccSecretsManagerSecretDataSource_tags_NullMap(t *testing.T) { func TestAccSecretsManagerSecretDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_secretsmanager_secret.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -92,6 +95,7 @@ func TestAccSecretsManagerSecretDataSource_tags_EmptyMap(t *testing.T) { func TestAccSecretsManagerSecretDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_secretsmanager_secret.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -124,6 +128,7 @@ func TestAccSecretsManagerSecretDataSource_tags_DefaultTags_nonOverlapping(t *te func TestAccSecretsManagerSecretDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_secretsmanager_secret.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -162,6 +167,7 @@ func TestAccSecretsManagerSecretDataSource_tags_IgnoreTags_Overlap_DefaultTag(t func TestAccSecretsManagerSecretDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_secretsmanager_secret.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/secretsmanager/secret_tags_gen_test.go b/internal/service/secretsmanager/secret_tags_gen_test.go index 00304c28c979..503b16f982d9 100644 --- a/internal/service/secretsmanager/secret_tags_gen_test.go +++ b/internal/service/secretsmanager/secret_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccSecretsManagerSecret_tags(t *testing.T) { ctx := acctest.Context(t) + var v secretsmanager.DescribeSecretOutput resourceName := "aws_secretsmanager_secret.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -212,6 +213,7 @@ func TestAccSecretsManagerSecret_tags(t *testing.T) { func TestAccSecretsManagerSecret_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v secretsmanager.DescribeSecretOutput resourceName := "aws_secretsmanager_secret.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -282,6 +284,7 @@ func TestAccSecretsManagerSecret_tags_null(t *testing.T) { func TestAccSecretsManagerSecret_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v secretsmanager.DescribeSecretOutput resourceName := "aws_secretsmanager_secret.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -348,6 +351,7 @@ func TestAccSecretsManagerSecret_tags_EmptyMap(t *testing.T) { func TestAccSecretsManagerSecret_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v secretsmanager.DescribeSecretOutput resourceName := "aws_secretsmanager_secret.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -432,6 +436,7 @@ func TestAccSecretsManagerSecret_tags_AddOnUpdate(t *testing.T) { func TestAccSecretsManagerSecret_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v secretsmanager.DescribeSecretOutput resourceName := "aws_secretsmanager_secret.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -527,6 +532,7 @@ func TestAccSecretsManagerSecret_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccSecretsManagerSecret_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v secretsmanager.DescribeSecretOutput resourceName := "aws_secretsmanager_secret.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -670,6 +676,7 @@ func TestAccSecretsManagerSecret_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccSecretsManagerSecret_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v secretsmanager.DescribeSecretOutput resourceName := "aws_secretsmanager_secret.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -762,6 +769,7 @@ func TestAccSecretsManagerSecret_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccSecretsManagerSecret_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v secretsmanager.DescribeSecretOutput resourceName := "aws_secretsmanager_secret.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -955,6 +963,7 @@ func TestAccSecretsManagerSecret_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccSecretsManagerSecret_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v secretsmanager.DescribeSecretOutput resourceName := "aws_secretsmanager_secret.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1124,6 +1133,7 @@ func TestAccSecretsManagerSecret_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccSecretsManagerSecret_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v secretsmanager.DescribeSecretOutput resourceName := "aws_secretsmanager_secret.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1309,6 +1319,7 @@ func TestAccSecretsManagerSecret_tags_DefaultTags_overlapping(t *testing.T) { func TestAccSecretsManagerSecret_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v secretsmanager.DescribeSecretOutput resourceName := "aws_secretsmanager_secret.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1402,6 +1413,7 @@ func TestAccSecretsManagerSecret_tags_DefaultTags_updateToProviderOnly(t *testin func TestAccSecretsManagerSecret_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v secretsmanager.DescribeSecretOutput resourceName := "aws_secretsmanager_secret.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1494,6 +1506,7 @@ func TestAccSecretsManagerSecret_tags_DefaultTags_updateToResourceOnly(t *testin func TestAccSecretsManagerSecret_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v secretsmanager.DescribeSecretOutput resourceName := "aws_secretsmanager_secret.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1562,6 +1575,7 @@ func TestAccSecretsManagerSecret_tags_DefaultTags_emptyResourceTag(t *testing.T) func TestAccSecretsManagerSecret_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v secretsmanager.DescribeSecretOutput resourceName := "aws_secretsmanager_secret.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1622,6 +1636,7 @@ func TestAccSecretsManagerSecret_tags_DefaultTags_emptyProviderOnlyTag(t *testin func TestAccSecretsManagerSecret_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v secretsmanager.DescribeSecretOutput resourceName := "aws_secretsmanager_secret.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1687,6 +1702,7 @@ func TestAccSecretsManagerSecret_tags_DefaultTags_nullOverlappingResourceTag(t * func TestAccSecretsManagerSecret_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v secretsmanager.DescribeSecretOutput resourceName := "aws_secretsmanager_secret.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1752,6 +1768,7 @@ func TestAccSecretsManagerSecret_tags_DefaultTags_nullNonOverlappingResourceTag( func TestAccSecretsManagerSecret_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v secretsmanager.DescribeSecretOutput resourceName := "aws_secretsmanager_secret.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1810,6 +1827,7 @@ func TestAccSecretsManagerSecret_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccSecretsManagerSecret_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v secretsmanager.DescribeSecretOutput resourceName := "aws_secretsmanager_secret.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1928,7 @@ func TestAccSecretsManagerSecret_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccSecretsManagerSecret_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v secretsmanager.DescribeSecretOutput resourceName := "aws_secretsmanager_secret.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2000,6 +2019,7 @@ func TestAccSecretsManagerSecret_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func TestAccSecretsManagerSecret_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v secretsmanager.DescribeSecretOutput resourceName := "aws_secretsmanager_secret.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2162,6 +2182,7 @@ func TestAccSecretsManagerSecret_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T func TestAccSecretsManagerSecret_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v secretsmanager.DescribeSecretOutput resourceName := "aws_secretsmanager_secret.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/servicecatalog/portfolio_data_source_tags_gen_test.go b/internal/service/servicecatalog/portfolio_data_source_tags_gen_test.go index 4b302a15a3db..e353ec4611d0 100644 --- a/internal/service/servicecatalog/portfolio_data_source_tags_gen_test.go +++ b/internal/service/servicecatalog/portfolio_data_source_tags_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccServiceCatalogPortfolioDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_servicecatalog_portfolio.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -49,6 +50,7 @@ func TestAccServiceCatalogPortfolioDataSource_tags(t *testing.T) { func TestAccServiceCatalogPortfolioDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_servicecatalog_portfolio.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -73,6 +75,7 @@ func TestAccServiceCatalogPortfolioDataSource_tags_NullMap(t *testing.T) { func TestAccServiceCatalogPortfolioDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_servicecatalog_portfolio.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -97,6 +100,7 @@ func TestAccServiceCatalogPortfolioDataSource_tags_EmptyMap(t *testing.T) { func TestAccServiceCatalogPortfolioDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_servicecatalog_portfolio.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -129,6 +133,7 @@ func TestAccServiceCatalogPortfolioDataSource_tags_DefaultTags_nonOverlapping(t func TestAccServiceCatalogPortfolioDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_servicecatalog_portfolio.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -167,6 +172,7 @@ func TestAccServiceCatalogPortfolioDataSource_tags_IgnoreTags_Overlap_DefaultTag func TestAccServiceCatalogPortfolioDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_servicecatalog_portfolio.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/servicecatalog/portfolio_tags_gen_test.go b/internal/service/servicecatalog/portfolio_tags_gen_test.go index a85052e5c3f8..4f6a2c98b53e 100644 --- a/internal/service/servicecatalog/portfolio_tags_gen_test.go +++ b/internal/service/servicecatalog/portfolio_tags_gen_test.go @@ -24,6 +24,7 @@ import ( func TestAccServiceCatalogPortfolio_tags(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalog.DescribePortfolioOutput resourceName := "aws_servicecatalog_portfolio.test" rName := sdkacctest.RandString(5) @@ -206,6 +207,7 @@ func TestAccServiceCatalogPortfolio_tags(t *testing.T) { func TestAccServiceCatalogPortfolio_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalog.DescribePortfolioOutput resourceName := "aws_servicecatalog_portfolio.test" rName := sdkacctest.RandString(5) @@ -273,6 +275,7 @@ func TestAccServiceCatalogPortfolio_tags_null(t *testing.T) { func TestAccServiceCatalogPortfolio_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalog.DescribePortfolioOutput resourceName := "aws_servicecatalog_portfolio.test" rName := sdkacctest.RandString(5) @@ -336,6 +339,7 @@ func TestAccServiceCatalogPortfolio_tags_EmptyMap(t *testing.T) { func TestAccServiceCatalogPortfolio_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalog.DescribePortfolioOutput resourceName := "aws_servicecatalog_portfolio.test" rName := sdkacctest.RandString(5) @@ -419,6 +423,7 @@ func TestAccServiceCatalogPortfolio_tags_EmptyTag_OnCreate(t *testing.T) { t.Skip("Resource Portfolio does not support empty tags") ctx := acctest.Context(t) + var v servicecatalog.DescribePortfolioOutput resourceName := "aws_servicecatalog_portfolio.test" rName := sdkacctest.RandString(5) @@ -510,6 +515,7 @@ func TestAccServiceCatalogPortfolio_tags_EmptyTag_OnUpdate_Add(t *testing.T) { t.Skip("Resource Portfolio does not support empty tags") ctx := acctest.Context(t) + var v servicecatalog.DescribePortfolioOutput resourceName := "aws_servicecatalog_portfolio.test" rName := sdkacctest.RandString(5) @@ -649,6 +655,7 @@ func TestAccServiceCatalogPortfolio_tags_EmptyTag_OnUpdate_Replace(t *testing.T) t.Skip("Resource Portfolio does not support empty tags") ctx := acctest.Context(t) + var v servicecatalog.DescribePortfolioOutput resourceName := "aws_servicecatalog_portfolio.test" rName := sdkacctest.RandString(5) @@ -738,6 +745,7 @@ func TestAccServiceCatalogPortfolio_tags_EmptyTag_OnUpdate_Replace(t *testing.T) func TestAccServiceCatalogPortfolio_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalog.DescribePortfolioOutput resourceName := "aws_servicecatalog_portfolio.test" rName := sdkacctest.RandString(5) @@ -919,6 +927,7 @@ func TestAccServiceCatalogPortfolio_tags_DefaultTags_providerOnly(t *testing.T) func TestAccServiceCatalogPortfolio_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalog.DescribePortfolioOutput resourceName := "aws_servicecatalog_portfolio.test" rName := sdkacctest.RandString(5) @@ -1079,6 +1088,7 @@ func TestAccServiceCatalogPortfolio_tags_DefaultTags_nonOverlapping(t *testing.T func TestAccServiceCatalogPortfolio_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalog.DescribePortfolioOutput resourceName := "aws_servicecatalog_portfolio.test" rName := sdkacctest.RandString(5) @@ -1255,6 +1265,7 @@ func TestAccServiceCatalogPortfolio_tags_DefaultTags_overlapping(t *testing.T) { func TestAccServiceCatalogPortfolio_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalog.DescribePortfolioOutput resourceName := "aws_servicecatalog_portfolio.test" rName := sdkacctest.RandString(5) @@ -1345,6 +1356,7 @@ func TestAccServiceCatalogPortfolio_tags_DefaultTags_updateToProviderOnly(t *tes func TestAccServiceCatalogPortfolio_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalog.DescribePortfolioOutput resourceName := "aws_servicecatalog_portfolio.test" rName := sdkacctest.RandString(5) @@ -1436,6 +1448,7 @@ func TestAccServiceCatalogPortfolio_tags_DefaultTags_emptyResourceTag(t *testing t.Skip("Resource Portfolio does not support empty tags") ctx := acctest.Context(t) + var v servicecatalog.DescribePortfolioOutput resourceName := "aws_servicecatalog_portfolio.test" rName := sdkacctest.RandString(5) @@ -1503,6 +1516,7 @@ func TestAccServiceCatalogPortfolio_tags_DefaultTags_emptyProviderOnlyTag(t *tes t.Skip("Resource Portfolio does not support empty tags") ctx := acctest.Context(t) + var v servicecatalog.DescribePortfolioOutput resourceName := "aws_servicecatalog_portfolio.test" rName := sdkacctest.RandString(5) @@ -1560,6 +1574,7 @@ func TestAccServiceCatalogPortfolio_tags_DefaultTags_emptyProviderOnlyTag(t *tes func TestAccServiceCatalogPortfolio_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalog.DescribePortfolioOutput resourceName := "aws_servicecatalog_portfolio.test" rName := sdkacctest.RandString(5) @@ -1622,6 +1637,7 @@ func TestAccServiceCatalogPortfolio_tags_DefaultTags_nullOverlappingResourceTag( func TestAccServiceCatalogPortfolio_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalog.DescribePortfolioOutput resourceName := "aws_servicecatalog_portfolio.test" rName := sdkacctest.RandString(5) @@ -1684,6 +1700,7 @@ func TestAccServiceCatalogPortfolio_tags_DefaultTags_nullNonOverlappingResourceT func TestAccServiceCatalogPortfolio_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalog.DescribePortfolioOutput resourceName := "aws_servicecatalog_portfolio.test" rName := sdkacctest.RandString(5) @@ -1739,6 +1756,7 @@ func TestAccServiceCatalogPortfolio_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccServiceCatalogPortfolio_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalog.DescribePortfolioOutput resourceName := "aws_servicecatalog_portfolio.test" rName := sdkacctest.RandString(5) @@ -1836,6 +1854,7 @@ func TestAccServiceCatalogPortfolio_tags_ComputedTag_OnUpdate_Add(t *testing.T) func TestAccServiceCatalogPortfolio_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalog.DescribePortfolioOutput resourceName := "aws_servicecatalog_portfolio.test" rName := sdkacctest.RandString(5) @@ -1923,6 +1942,7 @@ func TestAccServiceCatalogPortfolio_tags_ComputedTag_OnUpdate_Replace(t *testing func TestAccServiceCatalogPortfolio_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalog.DescribePortfolioOutput resourceName := "aws_servicecatalog_portfolio.test" rName := sdkacctest.RandString(5) @@ -2085,6 +2105,7 @@ func TestAccServiceCatalogPortfolio_tags_IgnoreTags_Overlap_DefaultTag(t *testin func TestAccServiceCatalogPortfolio_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalog.DescribePortfolioOutput resourceName := "aws_servicecatalog_portfolio.test" rName := sdkacctest.RandString(5) diff --git a/internal/service/servicecatalog/product_data_source_tags_gen_test.go b/internal/service/servicecatalog/product_data_source_tags_gen_test.go index bb43734aedc1..59558e44eee6 100644 --- a/internal/service/servicecatalog/product_data_source_tags_gen_test.go +++ b/internal/service/servicecatalog/product_data_source_tags_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccServiceCatalogProductDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_servicecatalog_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -49,6 +50,7 @@ func TestAccServiceCatalogProductDataSource_tags(t *testing.T) { func TestAccServiceCatalogProductDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_servicecatalog_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -73,6 +75,7 @@ func TestAccServiceCatalogProductDataSource_tags_NullMap(t *testing.T) { func TestAccServiceCatalogProductDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_servicecatalog_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -97,6 +100,7 @@ func TestAccServiceCatalogProductDataSource_tags_EmptyMap(t *testing.T) { func TestAccServiceCatalogProductDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_servicecatalog_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -129,6 +133,7 @@ func TestAccServiceCatalogProductDataSource_tags_DefaultTags_nonOverlapping(t *t func TestAccServiceCatalogProductDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_servicecatalog_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -167,6 +172,7 @@ func TestAccServiceCatalogProductDataSource_tags_IgnoreTags_Overlap_DefaultTag(t func TestAccServiceCatalogProductDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_servicecatalog_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/servicecatalog/product_tags_gen_test.go b/internal/service/servicecatalog/product_tags_gen_test.go index 4912d0fbff2a..96dc93e27bf2 100644 --- a/internal/service/servicecatalog/product_tags_gen_test.go +++ b/internal/service/servicecatalog/product_tags_gen_test.go @@ -22,6 +22,7 @@ import ( func TestAccServiceCatalogProduct_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalog_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -215,6 +216,7 @@ func TestAccServiceCatalogProduct_tags(t *testing.T) { func TestAccServiceCatalogProduct_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalog_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -284,6 +286,7 @@ func TestAccServiceCatalogProduct_tags_null(t *testing.T) { func TestAccServiceCatalogProduct_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalog_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -349,6 +352,7 @@ func TestAccServiceCatalogProduct_tags_EmptyMap(t *testing.T) { func TestAccServiceCatalogProduct_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalog_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -434,6 +438,7 @@ func TestAccServiceCatalogProduct_tags_EmptyTag_OnCreate(t *testing.T) { t.Skip("Resource Product does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_servicecatalog_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -530,6 +535,7 @@ func TestAccServiceCatalogProduct_tags_EmptyTag_OnUpdate_Add(t *testing.T) { t.Skip("Resource Product does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_servicecatalog_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -674,6 +680,7 @@ func TestAccServiceCatalogProduct_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { t.Skip("Resource Product does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_servicecatalog_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -765,6 +772,7 @@ func TestAccServiceCatalogProduct_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccServiceCatalogProduct_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalog_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -957,6 +965,7 @@ func TestAccServiceCatalogProduct_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccServiceCatalogProduct_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalog_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1125,6 +1134,7 @@ func TestAccServiceCatalogProduct_tags_DefaultTags_nonOverlapping(t *testing.T) func TestAccServiceCatalogProduct_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalog_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1309,6 +1319,7 @@ func TestAccServiceCatalogProduct_tags_DefaultTags_overlapping(t *testing.T) { func TestAccServiceCatalogProduct_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalog_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1401,6 +1412,7 @@ func TestAccServiceCatalogProduct_tags_DefaultTags_updateToProviderOnly(t *testi func TestAccServiceCatalogProduct_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalog_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1494,6 +1506,7 @@ func TestAccServiceCatalogProduct_tags_DefaultTags_emptyResourceTag(t *testing.T t.Skip("Resource Product does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_servicecatalog_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1563,6 +1576,7 @@ func TestAccServiceCatalogProduct_tags_DefaultTags_emptyProviderOnlyTag(t *testi t.Skip("Resource Product does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_servicecatalog_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1622,6 +1636,7 @@ func TestAccServiceCatalogProduct_tags_DefaultTags_emptyProviderOnlyTag(t *testi func TestAccServiceCatalogProduct_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalog_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1686,6 +1701,7 @@ func TestAccServiceCatalogProduct_tags_DefaultTags_nullOverlappingResourceTag(t func TestAccServiceCatalogProduct_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalog_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1750,6 +1766,7 @@ func TestAccServiceCatalogProduct_tags_DefaultTags_nullNonOverlappingResourceTag func TestAccServiceCatalogProduct_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalog_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1807,6 +1824,7 @@ func TestAccServiceCatalogProduct_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccServiceCatalogProduct_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalog_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1906,6 +1924,7 @@ func TestAccServiceCatalogProduct_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccServiceCatalogProduct_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalog_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1995,6 +2014,7 @@ func TestAccServiceCatalogProduct_tags_ComputedTag_OnUpdate_Replace(t *testing.T func TestAccServiceCatalogProduct_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalog_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2156,6 +2176,7 @@ func TestAccServiceCatalogProduct_tags_IgnoreTags_Overlap_DefaultTag(t *testing. func TestAccServiceCatalogProduct_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalog_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/servicecatalog/provisioned_product_tags_gen_test.go b/internal/service/servicecatalog/provisioned_product_tags_gen_test.go index 747b355d88e2..9b7fd5ad543a 100644 --- a/internal/service/servicecatalog/provisioned_product_tags_gen_test.go +++ b/internal/service/servicecatalog/provisioned_product_tags_gen_test.go @@ -23,6 +23,7 @@ import ( func TestAccServiceCatalogProvisionedProduct_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ProvisionedProductDetail resourceName := "aws_servicecatalog_provisioned_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -221,6 +222,7 @@ func TestAccServiceCatalogProvisionedProduct_tags(t *testing.T) { func TestAccServiceCatalogProvisionedProduct_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ProvisionedProductDetail resourceName := "aws_servicecatalog_provisioned_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -291,6 +293,7 @@ func TestAccServiceCatalogProvisionedProduct_tags_null(t *testing.T) { func TestAccServiceCatalogProvisionedProduct_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ProvisionedProductDetail resourceName := "aws_servicecatalog_provisioned_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -357,6 +360,7 @@ func TestAccServiceCatalogProvisionedProduct_tags_EmptyMap(t *testing.T) { func TestAccServiceCatalogProvisionedProduct_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ProvisionedProductDetail resourceName := "aws_servicecatalog_provisioned_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -443,6 +447,7 @@ func TestAccServiceCatalogProvisionedProduct_tags_EmptyTag_OnCreate(t *testing.T t.Skip("Resource ProvisionedProduct does not support empty tags") ctx := acctest.Context(t) + var v awstypes.ProvisionedProductDetail resourceName := "aws_servicecatalog_provisioned_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -540,6 +545,7 @@ func TestAccServiceCatalogProvisionedProduct_tags_EmptyTag_OnUpdate_Add(t *testi t.Skip("Resource ProvisionedProduct does not support empty tags") ctx := acctest.Context(t) + var v awstypes.ProvisionedProductDetail resourceName := "aws_servicecatalog_provisioned_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -685,6 +691,7 @@ func TestAccServiceCatalogProvisionedProduct_tags_EmptyTag_OnUpdate_Replace(t *t t.Skip("Resource ProvisionedProduct does not support empty tags") ctx := acctest.Context(t) + var v awstypes.ProvisionedProductDetail resourceName := "aws_servicecatalog_provisioned_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -777,6 +784,7 @@ func TestAccServiceCatalogProvisionedProduct_tags_EmptyTag_OnUpdate_Replace(t *t func TestAccServiceCatalogProvisionedProduct_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ProvisionedProductDetail resourceName := "aws_servicecatalog_provisioned_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -974,6 +982,7 @@ func TestAccServiceCatalogProvisionedProduct_tags_DefaultTags_providerOnly(t *te func TestAccServiceCatalogProvisionedProduct_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ProvisionedProductDetail resourceName := "aws_servicecatalog_provisioned_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1145,6 +1154,7 @@ func TestAccServiceCatalogProvisionedProduct_tags_DefaultTags_nonOverlapping(t * func TestAccServiceCatalogProvisionedProduct_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ProvisionedProductDetail resourceName := "aws_servicecatalog_provisioned_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1330,6 +1340,7 @@ func TestAccServiceCatalogProvisionedProduct_tags_DefaultTags_overlapping(t *tes func TestAccServiceCatalogProvisionedProduct_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ProvisionedProductDetail resourceName := "aws_servicecatalog_provisioned_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1423,6 +1434,7 @@ func TestAccServiceCatalogProvisionedProduct_tags_DefaultTags_updateToProviderOn func TestAccServiceCatalogProvisionedProduct_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ProvisionedProductDetail resourceName := "aws_servicecatalog_provisioned_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1517,6 +1529,7 @@ func TestAccServiceCatalogProvisionedProduct_tags_DefaultTags_emptyResourceTag(t t.Skip("Resource ProvisionedProduct does not support empty tags") ctx := acctest.Context(t) + var v awstypes.ProvisionedProductDetail resourceName := "aws_servicecatalog_provisioned_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1587,6 +1600,7 @@ func TestAccServiceCatalogProvisionedProduct_tags_DefaultTags_emptyProviderOnlyT t.Skip("Resource ProvisionedProduct does not support empty tags") ctx := acctest.Context(t) + var v awstypes.ProvisionedProductDetail resourceName := "aws_servicecatalog_provisioned_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1647,6 +1661,7 @@ func TestAccServiceCatalogProvisionedProduct_tags_DefaultTags_emptyProviderOnlyT func TestAccServiceCatalogProvisionedProduct_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ProvisionedProductDetail resourceName := "aws_servicecatalog_provisioned_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1712,6 +1727,7 @@ func TestAccServiceCatalogProvisionedProduct_tags_DefaultTags_nullOverlappingRes func TestAccServiceCatalogProvisionedProduct_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ProvisionedProductDetail resourceName := "aws_servicecatalog_provisioned_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1777,6 +1793,7 @@ func TestAccServiceCatalogProvisionedProduct_tags_DefaultTags_nullNonOverlapping func TestAccServiceCatalogProvisionedProduct_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ProvisionedProductDetail resourceName := "aws_servicecatalog_provisioned_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1835,6 +1852,7 @@ func TestAccServiceCatalogProvisionedProduct_tags_ComputedTag_OnCreate(t *testin func TestAccServiceCatalogProvisionedProduct_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ProvisionedProductDetail resourceName := "aws_servicecatalog_provisioned_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1935,6 +1953,7 @@ func TestAccServiceCatalogProvisionedProduct_tags_ComputedTag_OnUpdate_Add(t *te func TestAccServiceCatalogProvisionedProduct_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ProvisionedProductDetail resourceName := "aws_servicecatalog_provisioned_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2025,6 +2044,7 @@ func TestAccServiceCatalogProvisionedProduct_tags_ComputedTag_OnUpdate_Replace(t func TestAccServiceCatalogProvisionedProduct_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ProvisionedProductDetail resourceName := "aws_servicecatalog_provisioned_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2187,6 +2207,7 @@ func TestAccServiceCatalogProvisionedProduct_tags_IgnoreTags_Overlap_DefaultTag( func TestAccServiceCatalogProvisionedProduct_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.ProvisionedProductDetail resourceName := "aws_servicecatalog_provisioned_product.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/servicecatalogappregistry/application_data_source_tags_gen_test.go b/internal/service/servicecatalogappregistry/application_data_source_tags_gen_test.go index 0d9042d1996f..d86b140550ec 100644 --- a/internal/service/servicecatalogappregistry/application_data_source_tags_gen_test.go +++ b/internal/service/servicecatalogappregistry/application_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccServiceCatalogAppRegistryApplicationDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_servicecatalogappregistry_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -44,6 +45,7 @@ func TestAccServiceCatalogAppRegistryApplicationDataSource_tags(t *testing.T) { func TestAccServiceCatalogAppRegistryApplicationDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_servicecatalogappregistry_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -68,6 +70,7 @@ func TestAccServiceCatalogAppRegistryApplicationDataSource_tags_NullMap(t *testi func TestAccServiceCatalogAppRegistryApplicationDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_servicecatalogappregistry_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -92,6 +95,7 @@ func TestAccServiceCatalogAppRegistryApplicationDataSource_tags_EmptyMap(t *test func TestAccServiceCatalogAppRegistryApplicationDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_servicecatalogappregistry_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -124,6 +128,7 @@ func TestAccServiceCatalogAppRegistryApplicationDataSource_tags_DefaultTags_nonO func TestAccServiceCatalogAppRegistryApplicationDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_servicecatalogappregistry_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -162,6 +167,7 @@ func TestAccServiceCatalogAppRegistryApplicationDataSource_tags_IgnoreTags_Overl func TestAccServiceCatalogAppRegistryApplicationDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_servicecatalogappregistry_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/servicecatalogappregistry/application_tags_gen_test.go b/internal/service/servicecatalogappregistry/application_tags_gen_test.go index 29601d84c02b..ffa1845339e9 100644 --- a/internal/service/servicecatalogappregistry/application_tags_gen_test.go +++ b/internal/service/servicecatalogappregistry/application_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccServiceCatalogAppRegistryApplication_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalogappregistry_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -198,6 +199,7 @@ func TestAccServiceCatalogAppRegistryApplication_tags(t *testing.T) { func TestAccServiceCatalogAppRegistryApplication_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalogappregistry_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -259,6 +261,7 @@ func TestAccServiceCatalogAppRegistryApplication_tags_null(t *testing.T) { func TestAccServiceCatalogAppRegistryApplication_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalogappregistry_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -308,6 +311,7 @@ func TestAccServiceCatalogAppRegistryApplication_tags_EmptyMap(t *testing.T) { func TestAccServiceCatalogAppRegistryApplication_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalogappregistry_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -387,6 +391,7 @@ func TestAccServiceCatalogAppRegistryApplication_tags_AddOnUpdate(t *testing.T) func TestAccServiceCatalogAppRegistryApplication_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalogappregistry_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -476,6 +481,7 @@ func TestAccServiceCatalogAppRegistryApplication_tags_EmptyTag_OnCreate(t *testi func TestAccServiceCatalogAppRegistryApplication_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalogappregistry_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -614,6 +620,7 @@ func TestAccServiceCatalogAppRegistryApplication_tags_EmptyTag_OnUpdate_Add(t *t func TestAccServiceCatalogAppRegistryApplication_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalogappregistry_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -703,6 +710,7 @@ func TestAccServiceCatalogAppRegistryApplication_tags_EmptyTag_OnUpdate_Replace( func TestAccServiceCatalogAppRegistryApplication_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalogappregistry_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -883,6 +891,7 @@ func TestAccServiceCatalogAppRegistryApplication_tags_DefaultTags_providerOnly(t func TestAccServiceCatalogAppRegistryApplication_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalogappregistry_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1042,6 +1051,7 @@ func TestAccServiceCatalogAppRegistryApplication_tags_DefaultTags_nonOverlapping func TestAccServiceCatalogAppRegistryApplication_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalogappregistry_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1217,6 +1227,7 @@ func TestAccServiceCatalogAppRegistryApplication_tags_DefaultTags_overlapping(t func TestAccServiceCatalogAppRegistryApplication_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalogappregistry_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1306,6 +1317,7 @@ func TestAccServiceCatalogAppRegistryApplication_tags_DefaultTags_updateToProvid func TestAccServiceCatalogAppRegistryApplication_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalogappregistry_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1394,6 +1406,7 @@ func TestAccServiceCatalogAppRegistryApplication_tags_DefaultTags_updateToResour func TestAccServiceCatalogAppRegistryApplication_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalogappregistry_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1459,6 +1472,7 @@ func TestAccServiceCatalogAppRegistryApplication_tags_DefaultTags_emptyResourceT func TestAccServiceCatalogAppRegistryApplication_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalogappregistry_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1516,6 +1530,7 @@ func TestAccServiceCatalogAppRegistryApplication_tags_DefaultTags_emptyProviderO func TestAccServiceCatalogAppRegistryApplication_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalogappregistry_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1584,6 +1599,7 @@ func TestAccServiceCatalogAppRegistryApplication_tags_DefaultTags_nullOverlappin func TestAccServiceCatalogAppRegistryApplication_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalogappregistry_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1654,6 +1670,7 @@ func TestAccServiceCatalogAppRegistryApplication_tags_DefaultTags_nullNonOverlap func TestAccServiceCatalogAppRegistryApplication_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalogappregistry_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1708,6 +1725,7 @@ func TestAccServiceCatalogAppRegistryApplication_tags_ComputedTag_OnCreate(t *te func TestAccServiceCatalogAppRegistryApplication_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalogappregistry_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1804,6 +1822,7 @@ func TestAccServiceCatalogAppRegistryApplication_tags_ComputedTag_OnUpdate_Add(t func TestAccServiceCatalogAppRegistryApplication_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalogappregistry_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1890,6 +1909,7 @@ func TestAccServiceCatalogAppRegistryApplication_tags_ComputedTag_OnUpdate_Repla func TestAccServiceCatalogAppRegistryApplication_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalogappregistry_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2051,6 +2071,7 @@ func TestAccServiceCatalogAppRegistryApplication_tags_IgnoreTags_Overlap_Default func TestAccServiceCatalogAppRegistryApplication_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_servicecatalogappregistry_application.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/servicecatalogappregistry/attribute_group_data_source_tags_gen_test.go b/internal/service/servicecatalogappregistry/attribute_group_data_source_tags_gen_test.go index acea4aec14fd..ba13fbefea05 100644 --- a/internal/service/servicecatalogappregistry/attribute_group_data_source_tags_gen_test.go +++ b/internal/service/servicecatalogappregistry/attribute_group_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccServiceCatalogAppRegistryAttributeGroupDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_servicecatalogappregistry_attribute_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -44,6 +45,7 @@ func TestAccServiceCatalogAppRegistryAttributeGroupDataSource_tags(t *testing.T) func TestAccServiceCatalogAppRegistryAttributeGroupDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_servicecatalogappregistry_attribute_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -68,6 +70,7 @@ func TestAccServiceCatalogAppRegistryAttributeGroupDataSource_tags_NullMap(t *te func TestAccServiceCatalogAppRegistryAttributeGroupDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_servicecatalogappregistry_attribute_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -92,6 +95,7 @@ func TestAccServiceCatalogAppRegistryAttributeGroupDataSource_tags_EmptyMap(t *t func TestAccServiceCatalogAppRegistryAttributeGroupDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_servicecatalogappregistry_attribute_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -124,6 +128,7 @@ func TestAccServiceCatalogAppRegistryAttributeGroupDataSource_tags_DefaultTags_n func TestAccServiceCatalogAppRegistryAttributeGroupDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_servicecatalogappregistry_attribute_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -162,6 +167,7 @@ func TestAccServiceCatalogAppRegistryAttributeGroupDataSource_tags_IgnoreTags_Ov func TestAccServiceCatalogAppRegistryAttributeGroupDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_servicecatalogappregistry_attribute_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/servicecatalogappregistry/attribute_group_tags_gen_test.go b/internal/service/servicecatalogappregistry/attribute_group_tags_gen_test.go index a8a966f053c2..a6c5be1c3428 100644 --- a/internal/service/servicecatalogappregistry/attribute_group_tags_gen_test.go +++ b/internal/service/servicecatalogappregistry/attribute_group_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccServiceCatalogAppRegistryAttributeGroup_tags(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalogappregistry.GetAttributeGroupOutput resourceName := "aws_servicecatalogappregistry_attribute_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccServiceCatalogAppRegistryAttributeGroup_tags(t *testing.T) { func TestAccServiceCatalogAppRegistryAttributeGroup_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalogappregistry.GetAttributeGroupOutput resourceName := "aws_servicecatalogappregistry_attribute_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -262,6 +264,7 @@ func TestAccServiceCatalogAppRegistryAttributeGroup_tags_null(t *testing.T) { func TestAccServiceCatalogAppRegistryAttributeGroup_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalogappregistry.GetAttributeGroupOutput resourceName := "aws_servicecatalogappregistry_attribute_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -312,6 +315,7 @@ func TestAccServiceCatalogAppRegistryAttributeGroup_tags_EmptyMap(t *testing.T) func TestAccServiceCatalogAppRegistryAttributeGroup_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalogappregistry.GetAttributeGroupOutput resourceName := "aws_servicecatalogappregistry_attribute_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -392,6 +396,7 @@ func TestAccServiceCatalogAppRegistryAttributeGroup_tags_AddOnUpdate(t *testing. func TestAccServiceCatalogAppRegistryAttributeGroup_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalogappregistry.GetAttributeGroupOutput resourceName := "aws_servicecatalogappregistry_attribute_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -482,6 +487,7 @@ func TestAccServiceCatalogAppRegistryAttributeGroup_tags_EmptyTag_OnCreate(t *te func TestAccServiceCatalogAppRegistryAttributeGroup_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalogappregistry.GetAttributeGroupOutput resourceName := "aws_servicecatalogappregistry_attribute_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -621,6 +627,7 @@ func TestAccServiceCatalogAppRegistryAttributeGroup_tags_EmptyTag_OnUpdate_Add(t func TestAccServiceCatalogAppRegistryAttributeGroup_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalogappregistry.GetAttributeGroupOutput resourceName := "aws_servicecatalogappregistry_attribute_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -711,6 +718,7 @@ func TestAccServiceCatalogAppRegistryAttributeGroup_tags_EmptyTag_OnUpdate_Repla func TestAccServiceCatalogAppRegistryAttributeGroup_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalogappregistry.GetAttributeGroupOutput resourceName := "aws_servicecatalogappregistry_attribute_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -892,6 +900,7 @@ func TestAccServiceCatalogAppRegistryAttributeGroup_tags_DefaultTags_providerOnl func TestAccServiceCatalogAppRegistryAttributeGroup_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalogappregistry.GetAttributeGroupOutput resourceName := "aws_servicecatalogappregistry_attribute_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1052,6 +1061,7 @@ func TestAccServiceCatalogAppRegistryAttributeGroup_tags_DefaultTags_nonOverlapp func TestAccServiceCatalogAppRegistryAttributeGroup_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalogappregistry.GetAttributeGroupOutput resourceName := "aws_servicecatalogappregistry_attribute_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1228,6 +1238,7 @@ func TestAccServiceCatalogAppRegistryAttributeGroup_tags_DefaultTags_overlapping func TestAccServiceCatalogAppRegistryAttributeGroup_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalogappregistry.GetAttributeGroupOutput resourceName := "aws_servicecatalogappregistry_attribute_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1318,6 +1329,7 @@ func TestAccServiceCatalogAppRegistryAttributeGroup_tags_DefaultTags_updateToPro func TestAccServiceCatalogAppRegistryAttributeGroup_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalogappregistry.GetAttributeGroupOutput resourceName := "aws_servicecatalogappregistry_attribute_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1407,6 +1419,7 @@ func TestAccServiceCatalogAppRegistryAttributeGroup_tags_DefaultTags_updateToRes func TestAccServiceCatalogAppRegistryAttributeGroup_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalogappregistry.GetAttributeGroupOutput resourceName := "aws_servicecatalogappregistry_attribute_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccServiceCatalogAppRegistryAttributeGroup_tags_DefaultTags_emptyResour func TestAccServiceCatalogAppRegistryAttributeGroup_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalogappregistry.GetAttributeGroupOutput resourceName := "aws_servicecatalogappregistry_attribute_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1531,6 +1545,7 @@ func TestAccServiceCatalogAppRegistryAttributeGroup_tags_DefaultTags_emptyProvid func TestAccServiceCatalogAppRegistryAttributeGroup_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalogappregistry.GetAttributeGroupOutput resourceName := "aws_servicecatalogappregistry_attribute_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1600,6 +1615,7 @@ func TestAccServiceCatalogAppRegistryAttributeGroup_tags_DefaultTags_nullOverlap func TestAccServiceCatalogAppRegistryAttributeGroup_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalogappregistry.GetAttributeGroupOutput resourceName := "aws_servicecatalogappregistry_attribute_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1671,6 +1687,7 @@ func TestAccServiceCatalogAppRegistryAttributeGroup_tags_DefaultTags_nullNonOver func TestAccServiceCatalogAppRegistryAttributeGroup_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalogappregistry.GetAttributeGroupOutput resourceName := "aws_servicecatalogappregistry_attribute_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1726,6 +1743,7 @@ func TestAccServiceCatalogAppRegistryAttributeGroup_tags_ComputedTag_OnCreate(t func TestAccServiceCatalogAppRegistryAttributeGroup_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalogappregistry.GetAttributeGroupOutput resourceName := "aws_servicecatalogappregistry_attribute_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1823,6 +1841,7 @@ func TestAccServiceCatalogAppRegistryAttributeGroup_tags_ComputedTag_OnUpdate_Ad func TestAccServiceCatalogAppRegistryAttributeGroup_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalogappregistry.GetAttributeGroupOutput resourceName := "aws_servicecatalogappregistry_attribute_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1929,7 @@ func TestAccServiceCatalogAppRegistryAttributeGroup_tags_ComputedTag_OnUpdate_Re func TestAccServiceCatalogAppRegistryAttributeGroup_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalogappregistry.GetAttributeGroupOutput resourceName := "aws_servicecatalogappregistry_attribute_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2072,6 +2092,7 @@ func TestAccServiceCatalogAppRegistryAttributeGroup_tags_IgnoreTags_Overlap_Defa func TestAccServiceCatalogAppRegistryAttributeGroup_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v servicecatalogappregistry.GetAttributeGroupOutput resourceName := "aws_servicecatalogappregistry_attribute_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/sesv2/configuration_set_data_source_tags_gen_test.go b/internal/service/sesv2/configuration_set_data_source_tags_gen_test.go index 462863cbc17a..ec9dadf55a47 100644 --- a/internal/service/sesv2/configuration_set_data_source_tags_gen_test.go +++ b/internal/service/sesv2/configuration_set_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccSESV2ConfigurationSetDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sesv2_configuration_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -44,6 +45,7 @@ func TestAccSESV2ConfigurationSetDataSource_tags(t *testing.T) { func TestAccSESV2ConfigurationSetDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sesv2_configuration_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -68,6 +70,7 @@ func TestAccSESV2ConfigurationSetDataSource_tags_NullMap(t *testing.T) { func TestAccSESV2ConfigurationSetDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sesv2_configuration_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -92,6 +95,7 @@ func TestAccSESV2ConfigurationSetDataSource_tags_EmptyMap(t *testing.T) { func TestAccSESV2ConfigurationSetDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sesv2_configuration_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -124,6 +128,7 @@ func TestAccSESV2ConfigurationSetDataSource_tags_DefaultTags_nonOverlapping(t *t func TestAccSESV2ConfigurationSetDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sesv2_configuration_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -162,6 +167,7 @@ func TestAccSESV2ConfigurationSetDataSource_tags_IgnoreTags_Overlap_DefaultTag(t func TestAccSESV2ConfigurationSetDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sesv2_configuration_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/sesv2/configuration_set_tags_gen_test.go b/internal/service/sesv2/configuration_set_tags_gen_test.go index af0296f27f18..3032e40f7904 100644 --- a/internal/service/sesv2/configuration_set_tags_gen_test.go +++ b/internal/service/sesv2/configuration_set_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccSESV2ConfigurationSet_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_configuration_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -198,6 +199,7 @@ func TestAccSESV2ConfigurationSet_tags(t *testing.T) { func TestAccSESV2ConfigurationSet_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_configuration_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -264,6 +266,7 @@ func TestAccSESV2ConfigurationSet_tags_null(t *testing.T) { func TestAccSESV2ConfigurationSet_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_configuration_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -326,6 +329,7 @@ func TestAccSESV2ConfigurationSet_tags_EmptyMap(t *testing.T) { func TestAccSESV2ConfigurationSet_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_configuration_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccSESV2ConfigurationSet_tags_AddOnUpdate(t *testing.T) { func TestAccSESV2ConfigurationSet_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_configuration_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -494,6 +499,7 @@ func TestAccSESV2ConfigurationSet_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccSESV2ConfigurationSet_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_configuration_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -630,6 +636,7 @@ func TestAccSESV2ConfigurationSet_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccSESV2ConfigurationSet_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_configuration_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -718,6 +725,7 @@ func TestAccSESV2ConfigurationSet_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccSESV2ConfigurationSet_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_configuration_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -898,6 +906,7 @@ func TestAccSESV2ConfigurationSet_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccSESV2ConfigurationSet_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_configuration_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1057,6 +1066,7 @@ func TestAccSESV2ConfigurationSet_tags_DefaultTags_nonOverlapping(t *testing.T) func TestAccSESV2ConfigurationSet_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_configuration_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1232,6 +1242,7 @@ func TestAccSESV2ConfigurationSet_tags_DefaultTags_overlapping(t *testing.T) { func TestAccSESV2ConfigurationSet_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_configuration_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1321,6 +1332,7 @@ func TestAccSESV2ConfigurationSet_tags_DefaultTags_updateToProviderOnly(t *testi func TestAccSESV2ConfigurationSet_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_configuration_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1409,6 +1421,7 @@ func TestAccSESV2ConfigurationSet_tags_DefaultTags_updateToResourceOnly(t *testi func TestAccSESV2ConfigurationSet_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_configuration_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccSESV2ConfigurationSet_tags_DefaultTags_emptyResourceTag(t *testing.T func TestAccSESV2ConfigurationSet_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_configuration_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1529,6 +1543,7 @@ func TestAccSESV2ConfigurationSet_tags_DefaultTags_emptyProviderOnlyTag(t *testi func TestAccSESV2ConfigurationSet_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_configuration_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1590,6 +1605,7 @@ func TestAccSESV2ConfigurationSet_tags_DefaultTags_nullOverlappingResourceTag(t func TestAccSESV2ConfigurationSet_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_configuration_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1651,6 +1667,7 @@ func TestAccSESV2ConfigurationSet_tags_DefaultTags_nullNonOverlappingResourceTag func TestAccSESV2ConfigurationSet_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_configuration_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1705,6 +1722,7 @@ func TestAccSESV2ConfigurationSet_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccSESV2ConfigurationSet_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_configuration_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1801,6 +1819,7 @@ func TestAccSESV2ConfigurationSet_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccSESV2ConfigurationSet_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_configuration_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1887,6 +1906,7 @@ func TestAccSESV2ConfigurationSet_tags_ComputedTag_OnUpdate_Replace(t *testing.T func TestAccSESV2ConfigurationSet_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_configuration_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2048,6 +2068,7 @@ func TestAccSESV2ConfigurationSet_tags_IgnoreTags_Overlap_DefaultTag(t *testing. func TestAccSESV2ConfigurationSet_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_configuration_set.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/sesv2/contact_list_tags_gen_test.go b/internal/service/sesv2/contact_list_tags_gen_test.go index ed03d48c0f5c..ccd7ff2ad9c5 100644 --- a/internal/service/sesv2/contact_list_tags_gen_test.go +++ b/internal/service/sesv2/contact_list_tags_gen_test.go @@ -46,6 +46,7 @@ func testAccSESV2ContactList_tagsSerial(t *testing.T) { func testAccSESV2ContactList_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_contact_list.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -227,6 +228,7 @@ func testAccSESV2ContactList_tags(t *testing.T) { func testAccSESV2ContactList_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_contact_list.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -293,6 +295,7 @@ func testAccSESV2ContactList_tags_null(t *testing.T) { func testAccSESV2ContactList_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_contact_list.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -355,6 +358,7 @@ func testAccSESV2ContactList_tags_EmptyMap(t *testing.T) { func testAccSESV2ContactList_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_contact_list.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -435,6 +439,7 @@ func testAccSESV2ContactList_tags_AddOnUpdate(t *testing.T) { func testAccSESV2ContactList_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_contact_list.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -523,6 +528,7 @@ func testAccSESV2ContactList_tags_EmptyTag_OnCreate(t *testing.T) { func testAccSESV2ContactList_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_contact_list.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -659,6 +665,7 @@ func testAccSESV2ContactList_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func testAccSESV2ContactList_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_contact_list.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -747,6 +754,7 @@ func testAccSESV2ContactList_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func testAccSESV2ContactList_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_contact_list.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -927,6 +935,7 @@ func testAccSESV2ContactList_tags_DefaultTags_providerOnly(t *testing.T) { func testAccSESV2ContactList_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_contact_list.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1086,6 +1095,7 @@ func testAccSESV2ContactList_tags_DefaultTags_nonOverlapping(t *testing.T) { func testAccSESV2ContactList_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_contact_list.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1261,6 +1271,7 @@ func testAccSESV2ContactList_tags_DefaultTags_overlapping(t *testing.T) { func testAccSESV2ContactList_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_contact_list.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1350,6 +1361,7 @@ func testAccSESV2ContactList_tags_DefaultTags_updateToProviderOnly(t *testing.T) func testAccSESV2ContactList_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_contact_list.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1438,6 +1450,7 @@ func testAccSESV2ContactList_tags_DefaultTags_updateToResourceOnly(t *testing.T) func testAccSESV2ContactList_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_contact_list.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1502,6 +1515,7 @@ func testAccSESV2ContactList_tags_DefaultTags_emptyResourceTag(t *testing.T) { func testAccSESV2ContactList_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_contact_list.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1558,6 +1572,7 @@ func testAccSESV2ContactList_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) func testAccSESV2ContactList_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_contact_list.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1619,6 +1634,7 @@ func testAccSESV2ContactList_tags_DefaultTags_nullOverlappingResourceTag(t *test func testAccSESV2ContactList_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_contact_list.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1680,6 +1696,7 @@ func testAccSESV2ContactList_tags_DefaultTags_nullNonOverlappingResourceTag(t *t func testAccSESV2ContactList_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_contact_list.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1734,6 +1751,7 @@ func testAccSESV2ContactList_tags_ComputedTag_OnCreate(t *testing.T) { func testAccSESV2ContactList_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_contact_list.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1830,6 +1848,7 @@ func testAccSESV2ContactList_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func testAccSESV2ContactList_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_contact_list.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1916,6 +1935,7 @@ func testAccSESV2ContactList_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func testAccSESV2ContactList_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_contact_list.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2077,6 +2097,7 @@ func testAccSESV2ContactList_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func testAccSESV2ContactList_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_contact_list.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/sesv2/dedicated_ip_pool_data_source_tags_gen_test.go b/internal/service/sesv2/dedicated_ip_pool_data_source_tags_gen_test.go index c304ec5cd8f7..7c068cb08f85 100644 --- a/internal/service/sesv2/dedicated_ip_pool_data_source_tags_gen_test.go +++ b/internal/service/sesv2/dedicated_ip_pool_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccSESV2DedicatedIPPoolDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sesv2_dedicated_ip_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -44,6 +45,7 @@ func TestAccSESV2DedicatedIPPoolDataSource_tags(t *testing.T) { func TestAccSESV2DedicatedIPPoolDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sesv2_dedicated_ip_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -68,6 +70,7 @@ func TestAccSESV2DedicatedIPPoolDataSource_tags_NullMap(t *testing.T) { func TestAccSESV2DedicatedIPPoolDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sesv2_dedicated_ip_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -92,6 +95,7 @@ func TestAccSESV2DedicatedIPPoolDataSource_tags_EmptyMap(t *testing.T) { func TestAccSESV2DedicatedIPPoolDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sesv2_dedicated_ip_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -124,6 +128,7 @@ func TestAccSESV2DedicatedIPPoolDataSource_tags_DefaultTags_nonOverlapping(t *te func TestAccSESV2DedicatedIPPoolDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sesv2_dedicated_ip_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -162,6 +167,7 @@ func TestAccSESV2DedicatedIPPoolDataSource_tags_IgnoreTags_Overlap_DefaultTag(t func TestAccSESV2DedicatedIPPoolDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sesv2_dedicated_ip_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/sesv2/dedicated_ip_pool_tags_gen_test.go b/internal/service/sesv2/dedicated_ip_pool_tags_gen_test.go index ea1431e0ace6..03fa4e6a3799 100644 --- a/internal/service/sesv2/dedicated_ip_pool_tags_gen_test.go +++ b/internal/service/sesv2/dedicated_ip_pool_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccSESV2DedicatedIPPool_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_dedicated_ip_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -198,6 +199,7 @@ func TestAccSESV2DedicatedIPPool_tags(t *testing.T) { func TestAccSESV2DedicatedIPPool_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_dedicated_ip_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -264,6 +266,7 @@ func TestAccSESV2DedicatedIPPool_tags_null(t *testing.T) { func TestAccSESV2DedicatedIPPool_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_dedicated_ip_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -326,6 +329,7 @@ func TestAccSESV2DedicatedIPPool_tags_EmptyMap(t *testing.T) { func TestAccSESV2DedicatedIPPool_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_dedicated_ip_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccSESV2DedicatedIPPool_tags_AddOnUpdate(t *testing.T) { func TestAccSESV2DedicatedIPPool_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_dedicated_ip_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -494,6 +499,7 @@ func TestAccSESV2DedicatedIPPool_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccSESV2DedicatedIPPool_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_dedicated_ip_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -630,6 +636,7 @@ func TestAccSESV2DedicatedIPPool_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccSESV2DedicatedIPPool_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_dedicated_ip_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -718,6 +725,7 @@ func TestAccSESV2DedicatedIPPool_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccSESV2DedicatedIPPool_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_dedicated_ip_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -898,6 +906,7 @@ func TestAccSESV2DedicatedIPPool_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccSESV2DedicatedIPPool_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_dedicated_ip_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1057,6 +1066,7 @@ func TestAccSESV2DedicatedIPPool_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccSESV2DedicatedIPPool_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_dedicated_ip_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1232,6 +1242,7 @@ func TestAccSESV2DedicatedIPPool_tags_DefaultTags_overlapping(t *testing.T) { func TestAccSESV2DedicatedIPPool_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_dedicated_ip_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1321,6 +1332,7 @@ func TestAccSESV2DedicatedIPPool_tags_DefaultTags_updateToProviderOnly(t *testin func TestAccSESV2DedicatedIPPool_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_dedicated_ip_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1409,6 +1421,7 @@ func TestAccSESV2DedicatedIPPool_tags_DefaultTags_updateToResourceOnly(t *testin func TestAccSESV2DedicatedIPPool_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_dedicated_ip_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccSESV2DedicatedIPPool_tags_DefaultTags_emptyResourceTag(t *testing.T) func TestAccSESV2DedicatedIPPool_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_dedicated_ip_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1529,6 +1543,7 @@ func TestAccSESV2DedicatedIPPool_tags_DefaultTags_emptyProviderOnlyTag(t *testin func TestAccSESV2DedicatedIPPool_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_dedicated_ip_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1590,6 +1605,7 @@ func TestAccSESV2DedicatedIPPool_tags_DefaultTags_nullOverlappingResourceTag(t * func TestAccSESV2DedicatedIPPool_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_dedicated_ip_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1651,6 +1667,7 @@ func TestAccSESV2DedicatedIPPool_tags_DefaultTags_nullNonOverlappingResourceTag( func TestAccSESV2DedicatedIPPool_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_dedicated_ip_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1705,6 +1722,7 @@ func TestAccSESV2DedicatedIPPool_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccSESV2DedicatedIPPool_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_dedicated_ip_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1801,6 +1819,7 @@ func TestAccSESV2DedicatedIPPool_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccSESV2DedicatedIPPool_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_dedicated_ip_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1887,6 +1906,7 @@ func TestAccSESV2DedicatedIPPool_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func TestAccSESV2DedicatedIPPool_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_dedicated_ip_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2048,6 +2068,7 @@ func TestAccSESV2DedicatedIPPool_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T func TestAccSESV2DedicatedIPPool_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_dedicated_ip_pool.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/sesv2/email_identity_data_source_tags_gen_test.go b/internal/service/sesv2/email_identity_data_source_tags_gen_test.go index 76a6a8eb845a..9f716b49899d 100644 --- a/internal/service/sesv2/email_identity_data_source_tags_gen_test.go +++ b/internal/service/sesv2/email_identity_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccSESV2EmailIdentityDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sesv2_email_identity.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -44,6 +45,7 @@ func TestAccSESV2EmailIdentityDataSource_tags(t *testing.T) { func TestAccSESV2EmailIdentityDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sesv2_email_identity.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -68,6 +70,7 @@ func TestAccSESV2EmailIdentityDataSource_tags_NullMap(t *testing.T) { func TestAccSESV2EmailIdentityDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sesv2_email_identity.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -92,6 +95,7 @@ func TestAccSESV2EmailIdentityDataSource_tags_EmptyMap(t *testing.T) { func TestAccSESV2EmailIdentityDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sesv2_email_identity.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -124,6 +128,7 @@ func TestAccSESV2EmailIdentityDataSource_tags_DefaultTags_nonOverlapping(t *test func TestAccSESV2EmailIdentityDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sesv2_email_identity.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -162,6 +167,7 @@ func TestAccSESV2EmailIdentityDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *t func TestAccSESV2EmailIdentityDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sesv2_email_identity.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/sesv2/email_identity_tags_gen_test.go b/internal/service/sesv2/email_identity_tags_gen_test.go index b3825a244377..f97f8c88eb56 100644 --- a/internal/service/sesv2/email_identity_tags_gen_test.go +++ b/internal/service/sesv2/email_identity_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccSESV2EmailIdentity_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_email_identity.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -198,6 +199,7 @@ func TestAccSESV2EmailIdentity_tags(t *testing.T) { func TestAccSESV2EmailIdentity_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_email_identity.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -264,6 +266,7 @@ func TestAccSESV2EmailIdentity_tags_null(t *testing.T) { func TestAccSESV2EmailIdentity_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_email_identity.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -326,6 +329,7 @@ func TestAccSESV2EmailIdentity_tags_EmptyMap(t *testing.T) { func TestAccSESV2EmailIdentity_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_email_identity.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccSESV2EmailIdentity_tags_AddOnUpdate(t *testing.T) { func TestAccSESV2EmailIdentity_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_email_identity.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -494,6 +499,7 @@ func TestAccSESV2EmailIdentity_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccSESV2EmailIdentity_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_email_identity.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -630,6 +636,7 @@ func TestAccSESV2EmailIdentity_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccSESV2EmailIdentity_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_email_identity.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -718,6 +725,7 @@ func TestAccSESV2EmailIdentity_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccSESV2EmailIdentity_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_email_identity.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -898,6 +906,7 @@ func TestAccSESV2EmailIdentity_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccSESV2EmailIdentity_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_email_identity.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1057,6 +1066,7 @@ func TestAccSESV2EmailIdentity_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccSESV2EmailIdentity_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_email_identity.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1232,6 +1242,7 @@ func TestAccSESV2EmailIdentity_tags_DefaultTags_overlapping(t *testing.T) { func TestAccSESV2EmailIdentity_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_email_identity.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1321,6 +1332,7 @@ func TestAccSESV2EmailIdentity_tags_DefaultTags_updateToProviderOnly(t *testing. func TestAccSESV2EmailIdentity_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_email_identity.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1409,6 +1421,7 @@ func TestAccSESV2EmailIdentity_tags_DefaultTags_updateToResourceOnly(t *testing. func TestAccSESV2EmailIdentity_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_email_identity.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccSESV2EmailIdentity_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccSESV2EmailIdentity_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_email_identity.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1529,6 +1543,7 @@ func TestAccSESV2EmailIdentity_tags_DefaultTags_emptyProviderOnlyTag(t *testing. func TestAccSESV2EmailIdentity_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_email_identity.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1590,6 +1605,7 @@ func TestAccSESV2EmailIdentity_tags_DefaultTags_nullOverlappingResourceTag(t *te func TestAccSESV2EmailIdentity_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_email_identity.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1651,6 +1667,7 @@ func TestAccSESV2EmailIdentity_tags_DefaultTags_nullNonOverlappingResourceTag(t func TestAccSESV2EmailIdentity_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_email_identity.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1705,6 +1722,7 @@ func TestAccSESV2EmailIdentity_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccSESV2EmailIdentity_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_email_identity.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1801,6 +1819,7 @@ func TestAccSESV2EmailIdentity_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccSESV2EmailIdentity_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_email_identity.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1887,6 +1906,7 @@ func TestAccSESV2EmailIdentity_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccSESV2EmailIdentity_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_email_identity.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2048,6 +2068,7 @@ func TestAccSESV2EmailIdentity_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func TestAccSESV2EmailIdentity_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_sesv2_email_identity.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/sns/topic_data_source_tags_gen_test.go b/internal/service/sns/topic_data_source_tags_gen_test.go index 34ca8b1e177a..3c7dcc1602cc 100644 --- a/internal/service/sns/topic_data_source_tags_gen_test.go +++ b/internal/service/sns/topic_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccSNSTopicDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sns_topic.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -44,6 +45,7 @@ func TestAccSNSTopicDataSource_tags(t *testing.T) { func TestAccSNSTopicDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sns_topic.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -68,6 +70,7 @@ func TestAccSNSTopicDataSource_tags_NullMap(t *testing.T) { func TestAccSNSTopicDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sns_topic.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -92,6 +95,7 @@ func TestAccSNSTopicDataSource_tags_EmptyMap(t *testing.T) { func TestAccSNSTopicDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sns_topic.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -124,6 +128,7 @@ func TestAccSNSTopicDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccSNSTopicDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sns_topic.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -162,6 +167,7 @@ func TestAccSNSTopicDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func TestAccSNSTopicDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sns_topic.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/sns/topic_tags_gen_test.go b/internal/service/sns/topic_tags_gen_test.go index 0bc94ccf8dd1..721b2576a8e4 100644 --- a/internal/service/sns/topic_tags_gen_test.go +++ b/internal/service/sns/topic_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccSNSTopic_tags(t *testing.T) { ctx := acctest.Context(t) + var v map[string]string resourceName := "aws_sns_topic.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -199,6 +200,7 @@ func TestAccSNSTopic_tags(t *testing.T) { func TestAccSNSTopic_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v map[string]string resourceName := "aws_sns_topic.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -266,6 +268,7 @@ func TestAccSNSTopic_tags_null(t *testing.T) { func TestAccSNSTopic_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v map[string]string resourceName := "aws_sns_topic.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -329,6 +332,7 @@ func TestAccSNSTopic_tags_EmptyMap(t *testing.T) { func TestAccSNSTopic_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v map[string]string resourceName := "aws_sns_topic.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -410,6 +414,7 @@ func TestAccSNSTopic_tags_AddOnUpdate(t *testing.T) { func TestAccSNSTopic_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v map[string]string resourceName := "aws_sns_topic.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -499,6 +504,7 @@ func TestAccSNSTopic_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccSNSTopic_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v map[string]string resourceName := "aws_sns_topic.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -636,6 +642,7 @@ func TestAccSNSTopic_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccSNSTopic_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v map[string]string resourceName := "aws_sns_topic.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -725,6 +732,7 @@ func TestAccSNSTopic_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccSNSTopic_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v map[string]string resourceName := "aws_sns_topic.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -906,6 +914,7 @@ func TestAccSNSTopic_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccSNSTopic_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v map[string]string resourceName := "aws_sns_topic.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1066,6 +1075,7 @@ func TestAccSNSTopic_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccSNSTopic_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v map[string]string resourceName := "aws_sns_topic.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1242,6 +1252,7 @@ func TestAccSNSTopic_tags_DefaultTags_overlapping(t *testing.T) { func TestAccSNSTopic_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v map[string]string resourceName := "aws_sns_topic.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1332,6 +1343,7 @@ func TestAccSNSTopic_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccSNSTopic_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v map[string]string resourceName := "aws_sns_topic.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1421,6 +1433,7 @@ func TestAccSNSTopic_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccSNSTopic_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v map[string]string resourceName := "aws_sns_topic.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1486,6 +1499,7 @@ func TestAccSNSTopic_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccSNSTopic_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v map[string]string resourceName := "aws_sns_topic.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1543,6 +1557,7 @@ func TestAccSNSTopic_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccSNSTopic_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v map[string]string resourceName := "aws_sns_topic.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1605,6 +1620,7 @@ func TestAccSNSTopic_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { func TestAccSNSTopic_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v map[string]string resourceName := "aws_sns_topic.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1667,6 +1683,7 @@ func TestAccSNSTopic_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T func TestAccSNSTopic_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v map[string]string resourceName := "aws_sns_topic.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1722,6 +1739,7 @@ func TestAccSNSTopic_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccSNSTopic_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v map[string]string resourceName := "aws_sns_topic.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1819,6 +1837,7 @@ func TestAccSNSTopic_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccSNSTopic_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v map[string]string resourceName := "aws_sns_topic.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1906,6 +1925,7 @@ func TestAccSNSTopic_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccSNSTopic_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v map[string]string resourceName := "aws_sns_topic.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2068,6 +2088,7 @@ func TestAccSNSTopic_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccSNSTopic_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v map[string]string resourceName := "aws_sns_topic.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/sqs/queue_data_source_tags_gen_test.go b/internal/service/sqs/queue_data_source_tags_gen_test.go index abbe109b59a6..5c45c75ac5ff 100644 --- a/internal/service/sqs/queue_data_source_tags_gen_test.go +++ b/internal/service/sqs/queue_data_source_tags_gen_test.go @@ -16,6 +16,7 @@ import ( func TestAccSQSQueueDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sqs_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -44,6 +45,7 @@ func TestAccSQSQueueDataSource_tags(t *testing.T) { func TestAccSQSQueueDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sqs_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -68,6 +70,7 @@ func TestAccSQSQueueDataSource_tags_NullMap(t *testing.T) { func TestAccSQSQueueDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sqs_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -92,6 +95,7 @@ func TestAccSQSQueueDataSource_tags_EmptyMap(t *testing.T) { func TestAccSQSQueueDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sqs_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -124,6 +128,7 @@ func TestAccSQSQueueDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccSQSQueueDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sqs_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -162,6 +167,7 @@ func TestAccSQSQueueDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func TestAccSQSQueueDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_sqs_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/sqs/queue_tags_gen_test.go b/internal/service/sqs/queue_tags_gen_test.go index 4cb4b15513a3..0d83bafa6e04 100644 --- a/internal/service/sqs/queue_tags_gen_test.go +++ b/internal/service/sqs/queue_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccSQSQueue_tags(t *testing.T) { ctx := acctest.Context(t) + var v map[awstypes.QueueAttributeName]string resourceName := "aws_sqs_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccSQSQueue_tags(t *testing.T) { func TestAccSQSQueue_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v map[awstypes.QueueAttributeName]string resourceName := "aws_sqs_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccSQSQueue_tags_null(t *testing.T) { func TestAccSQSQueue_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v map[awstypes.QueueAttributeName]string resourceName := "aws_sqs_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccSQSQueue_tags_EmptyMap(t *testing.T) { func TestAccSQSQueue_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v map[awstypes.QueueAttributeName]string resourceName := "aws_sqs_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccSQSQueue_tags_AddOnUpdate(t *testing.T) { func TestAccSQSQueue_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v map[awstypes.QueueAttributeName]string resourceName := "aws_sqs_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccSQSQueue_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccSQSQueue_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v map[awstypes.QueueAttributeName]string resourceName := "aws_sqs_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccSQSQueue_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccSQSQueue_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v map[awstypes.QueueAttributeName]string resourceName := "aws_sqs_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccSQSQueue_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccSQSQueue_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v map[awstypes.QueueAttributeName]string resourceName := "aws_sqs_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccSQSQueue_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccSQSQueue_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v map[awstypes.QueueAttributeName]string resourceName := "aws_sqs_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccSQSQueue_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccSQSQueue_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v map[awstypes.QueueAttributeName]string resourceName := "aws_sqs_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccSQSQueue_tags_DefaultTags_overlapping(t *testing.T) { func TestAccSQSQueue_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v map[awstypes.QueueAttributeName]string resourceName := "aws_sqs_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccSQSQueue_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccSQSQueue_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v map[awstypes.QueueAttributeName]string resourceName := "aws_sqs_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccSQSQueue_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccSQSQueue_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v map[awstypes.QueueAttributeName]string resourceName := "aws_sqs_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccSQSQueue_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccSQSQueue_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v map[awstypes.QueueAttributeName]string resourceName := "aws_sqs_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccSQSQueue_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccSQSQueue_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v map[awstypes.QueueAttributeName]string resourceName := "aws_sqs_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccSQSQueue_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { func TestAccSQSQueue_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v map[awstypes.QueueAttributeName]string resourceName := "aws_sqs_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccSQSQueue_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T func TestAccSQSQueue_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v map[awstypes.QueueAttributeName]string resourceName := "aws_sqs_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccSQSQueue_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccSQSQueue_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v map[awstypes.QueueAttributeName]string resourceName := "aws_sqs_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccSQSQueue_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccSQSQueue_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v map[awstypes.QueueAttributeName]string resourceName := "aws_sqs_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccSQSQueue_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccSQSQueue_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v map[awstypes.QueueAttributeName]string resourceName := "aws_sqs_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccSQSQueue_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccSQSQueue_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v map[awstypes.QueueAttributeName]string resourceName := "aws_sqs_queue.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/ssm/activation_tags_gen_test.go b/internal/service/ssm/activation_tags_gen_test.go index e12ec9875ca3..aa1af128e957 100644 --- a/internal/service/ssm/activation_tags_gen_test.go +++ b/internal/service/ssm/activation_tags_gen_test.go @@ -23,6 +23,7 @@ import ( func TestAccSSMActivation_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Activation resourceName := "aws_ssm_activation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -217,6 +218,7 @@ func TestAccSSMActivation_tags(t *testing.T) { func TestAccSSMActivation_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Activation resourceName := "aws_ssm_activation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -287,6 +289,7 @@ func TestAccSSMActivation_tags_null(t *testing.T) { func TestAccSSMActivation_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Activation resourceName := "aws_ssm_activation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -353,6 +356,7 @@ func TestAccSSMActivation_tags_EmptyMap(t *testing.T) { func TestAccSSMActivation_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Activation resourceName := "aws_ssm_activation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -437,6 +441,7 @@ func TestAccSSMActivation_tags_AddOnUpdate(t *testing.T) { func TestAccSSMActivation_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Activation resourceName := "aws_ssm_activation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -532,6 +537,7 @@ func TestAccSSMActivation_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccSSMActivation_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Activation resourceName := "aws_ssm_activation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -675,6 +681,7 @@ func TestAccSSMActivation_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccSSMActivation_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Activation resourceName := "aws_ssm_activation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -767,6 +774,7 @@ func TestAccSSMActivation_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccSSMActivation_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Activation resourceName := "aws_ssm_activation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -960,6 +968,7 @@ func TestAccSSMActivation_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccSSMActivation_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Activation resourceName := "aws_ssm_activation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1129,6 +1138,7 @@ func TestAccSSMActivation_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccSSMActivation_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Activation resourceName := "aws_ssm_activation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1314,6 +1324,7 @@ func TestAccSSMActivation_tags_DefaultTags_overlapping(t *testing.T) { func TestAccSSMActivation_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Activation resourceName := "aws_ssm_activation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1407,6 +1418,7 @@ func TestAccSSMActivation_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccSSMActivation_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Activation resourceName := "aws_ssm_activation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1499,6 +1511,7 @@ func TestAccSSMActivation_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccSSMActivation_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Activation resourceName := "aws_ssm_activation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1567,6 +1580,7 @@ func TestAccSSMActivation_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccSSMActivation_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Activation resourceName := "aws_ssm_activation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1627,6 +1641,7 @@ func TestAccSSMActivation_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccSSMActivation_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Activation resourceName := "aws_ssm_activation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1692,6 +1707,7 @@ func TestAccSSMActivation_tags_DefaultTags_nullOverlappingResourceTag(t *testing func TestAccSSMActivation_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Activation resourceName := "aws_ssm_activation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1757,6 +1773,7 @@ func TestAccSSMActivation_tags_DefaultTags_nullNonOverlappingResourceTag(t *test func TestAccSSMActivation_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Activation resourceName := "aws_ssm_activation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1815,6 +1832,7 @@ func TestAccSSMActivation_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccSSMActivation_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Activation resourceName := "aws_ssm_activation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1915,6 +1933,7 @@ func TestAccSSMActivation_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccSSMActivation_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Activation resourceName := "aws_ssm_activation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2005,6 +2024,7 @@ func TestAccSSMActivation_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccSSMActivation_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Activation resourceName := "aws_ssm_activation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2167,6 +2187,7 @@ func TestAccSSMActivation_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccSSMActivation_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Activation resourceName := "aws_ssm_activation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/ssm/association_tags_gen_test.go b/internal/service/ssm/association_tags_gen_test.go index 7106d05319c0..9c8fccb88db5 100644 --- a/internal/service/ssm/association_tags_gen_test.go +++ b/internal/service/ssm/association_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccSSMAssociation_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -198,6 +199,7 @@ func TestAccSSMAssociation_tags(t *testing.T) { func TestAccSSMAssociation_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -264,6 +266,7 @@ func TestAccSSMAssociation_tags_null(t *testing.T) { func TestAccSSMAssociation_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -326,6 +329,7 @@ func TestAccSSMAssociation_tags_EmptyMap(t *testing.T) { func TestAccSSMAssociation_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccSSMAssociation_tags_AddOnUpdate(t *testing.T) { func TestAccSSMAssociation_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -494,6 +499,7 @@ func TestAccSSMAssociation_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccSSMAssociation_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -630,6 +636,7 @@ func TestAccSSMAssociation_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccSSMAssociation_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -718,6 +725,7 @@ func TestAccSSMAssociation_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccSSMAssociation_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -898,6 +906,7 @@ func TestAccSSMAssociation_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccSSMAssociation_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1057,6 +1066,7 @@ func TestAccSSMAssociation_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccSSMAssociation_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1232,6 +1242,7 @@ func TestAccSSMAssociation_tags_DefaultTags_overlapping(t *testing.T) { func TestAccSSMAssociation_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1321,6 +1332,7 @@ func TestAccSSMAssociation_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccSSMAssociation_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1409,6 +1421,7 @@ func TestAccSSMAssociation_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccSSMAssociation_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccSSMAssociation_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccSSMAssociation_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1529,6 +1543,7 @@ func TestAccSSMAssociation_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccSSMAssociation_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1590,6 +1605,7 @@ func TestAccSSMAssociation_tags_DefaultTags_nullOverlappingResourceTag(t *testin func TestAccSSMAssociation_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1651,6 +1667,7 @@ func TestAccSSMAssociation_tags_DefaultTags_nullNonOverlappingResourceTag(t *tes func TestAccSSMAssociation_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1705,6 +1722,7 @@ func TestAccSSMAssociation_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccSSMAssociation_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1801,6 +1819,7 @@ func TestAccSSMAssociation_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccSSMAssociation_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1887,6 +1906,7 @@ func TestAccSSMAssociation_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccSSMAssociation_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2048,6 +2068,7 @@ func TestAccSSMAssociation_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccSSMAssociation_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/ssm/document_tags_gen_test.go b/internal/service/ssm/document_tags_gen_test.go index f12c31c84a57..6d4163707d0f 100644 --- a/internal/service/ssm/document_tags_gen_test.go +++ b/internal/service/ssm/document_tags_gen_test.go @@ -17,6 +17,7 @@ import ( func TestAccSSMDocument_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_document.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -198,6 +199,7 @@ func TestAccSSMDocument_tags(t *testing.T) { func TestAccSSMDocument_tags_null(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_document.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -264,6 +266,7 @@ func TestAccSSMDocument_tags_null(t *testing.T) { func TestAccSSMDocument_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_document.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -326,6 +329,7 @@ func TestAccSSMDocument_tags_EmptyMap(t *testing.T) { func TestAccSSMDocument_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_document.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccSSMDocument_tags_AddOnUpdate(t *testing.T) { func TestAccSSMDocument_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_document.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -494,6 +499,7 @@ func TestAccSSMDocument_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccSSMDocument_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_document.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -630,6 +636,7 @@ func TestAccSSMDocument_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccSSMDocument_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_document.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -718,6 +725,7 @@ func TestAccSSMDocument_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccSSMDocument_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_document.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -898,6 +906,7 @@ func TestAccSSMDocument_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccSSMDocument_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_document.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1057,6 +1066,7 @@ func TestAccSSMDocument_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccSSMDocument_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_document.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1232,6 +1242,7 @@ func TestAccSSMDocument_tags_DefaultTags_overlapping(t *testing.T) { func TestAccSSMDocument_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_document.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1321,6 +1332,7 @@ func TestAccSSMDocument_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccSSMDocument_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_document.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1409,6 +1421,7 @@ func TestAccSSMDocument_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccSSMDocument_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_document.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccSSMDocument_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccSSMDocument_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_document.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1529,6 +1543,7 @@ func TestAccSSMDocument_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccSSMDocument_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_document.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1590,6 +1605,7 @@ func TestAccSSMDocument_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T func TestAccSSMDocument_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_document.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1651,6 +1667,7 @@ func TestAccSSMDocument_tags_DefaultTags_nullNonOverlappingResourceTag(t *testin func TestAccSSMDocument_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_document.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1705,6 +1722,7 @@ func TestAccSSMDocument_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccSSMDocument_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_document.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1801,6 +1819,7 @@ func TestAccSSMDocument_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccSSMDocument_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_document.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1887,6 +1906,7 @@ func TestAccSSMDocument_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccSSMDocument_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_document.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2048,6 +2068,7 @@ func TestAccSSMDocument_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccSSMDocument_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssm_document.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/ssm/maintenance_window_tags_gen_test.go b/internal/service/ssm/maintenance_window_tags_gen_test.go index 6bb60600e22e..17e2e5870988 100644 --- a/internal/service/ssm/maintenance_window_tags_gen_test.go +++ b/internal/service/ssm/maintenance_window_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccSSMMaintenanceWindow_tags(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetMaintenanceWindowOutput resourceName := "aws_ssm_maintenance_window.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccSSMMaintenanceWindow_tags(t *testing.T) { func TestAccSSMMaintenanceWindow_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetMaintenanceWindowOutput resourceName := "aws_ssm_maintenance_window.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccSSMMaintenanceWindow_tags_null(t *testing.T) { func TestAccSSMMaintenanceWindow_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetMaintenanceWindowOutput resourceName := "aws_ssm_maintenance_window.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccSSMMaintenanceWindow_tags_EmptyMap(t *testing.T) { func TestAccSSMMaintenanceWindow_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetMaintenanceWindowOutput resourceName := "aws_ssm_maintenance_window.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccSSMMaintenanceWindow_tags_AddOnUpdate(t *testing.T) { func TestAccSSMMaintenanceWindow_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetMaintenanceWindowOutput resourceName := "aws_ssm_maintenance_window.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccSSMMaintenanceWindow_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccSSMMaintenanceWindow_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetMaintenanceWindowOutput resourceName := "aws_ssm_maintenance_window.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccSSMMaintenanceWindow_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccSSMMaintenanceWindow_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetMaintenanceWindowOutput resourceName := "aws_ssm_maintenance_window.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccSSMMaintenanceWindow_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccSSMMaintenanceWindow_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetMaintenanceWindowOutput resourceName := "aws_ssm_maintenance_window.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccSSMMaintenanceWindow_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccSSMMaintenanceWindow_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetMaintenanceWindowOutput resourceName := "aws_ssm_maintenance_window.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccSSMMaintenanceWindow_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccSSMMaintenanceWindow_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetMaintenanceWindowOutput resourceName := "aws_ssm_maintenance_window.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccSSMMaintenanceWindow_tags_DefaultTags_overlapping(t *testing.T) { func TestAccSSMMaintenanceWindow_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetMaintenanceWindowOutput resourceName := "aws_ssm_maintenance_window.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccSSMMaintenanceWindow_tags_DefaultTags_updateToProviderOnly(t *testin func TestAccSSMMaintenanceWindow_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetMaintenanceWindowOutput resourceName := "aws_ssm_maintenance_window.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccSSMMaintenanceWindow_tags_DefaultTags_updateToResourceOnly(t *testin func TestAccSSMMaintenanceWindow_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetMaintenanceWindowOutput resourceName := "aws_ssm_maintenance_window.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccSSMMaintenanceWindow_tags_DefaultTags_emptyResourceTag(t *testing.T) func TestAccSSMMaintenanceWindow_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetMaintenanceWindowOutput resourceName := "aws_ssm_maintenance_window.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccSSMMaintenanceWindow_tags_DefaultTags_emptyProviderOnlyTag(t *testin func TestAccSSMMaintenanceWindow_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetMaintenanceWindowOutput resourceName := "aws_ssm_maintenance_window.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccSSMMaintenanceWindow_tags_DefaultTags_nullOverlappingResourceTag(t * func TestAccSSMMaintenanceWindow_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetMaintenanceWindowOutput resourceName := "aws_ssm_maintenance_window.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccSSMMaintenanceWindow_tags_DefaultTags_nullNonOverlappingResourceTag( func TestAccSSMMaintenanceWindow_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetMaintenanceWindowOutput resourceName := "aws_ssm_maintenance_window.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccSSMMaintenanceWindow_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccSSMMaintenanceWindow_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetMaintenanceWindowOutput resourceName := "aws_ssm_maintenance_window.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccSSMMaintenanceWindow_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccSSMMaintenanceWindow_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetMaintenanceWindowOutput resourceName := "aws_ssm_maintenance_window.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccSSMMaintenanceWindow_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func TestAccSSMMaintenanceWindow_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetMaintenanceWindowOutput resourceName := "aws_ssm_maintenance_window.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccSSMMaintenanceWindow_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T func TestAccSSMMaintenanceWindow_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetMaintenanceWindowOutput resourceName := "aws_ssm_maintenance_window.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/ssm/parameter_tags_gen_test.go b/internal/service/ssm/parameter_tags_gen_test.go index 8dce82183cc1..b87d7515181a 100644 --- a/internal/service/ssm/parameter_tags_gen_test.go +++ b/internal/service/ssm/parameter_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccSSMParameter_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Parameter resourceName := "aws_ssm_parameter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -212,6 +213,7 @@ func TestAccSSMParameter_tags(t *testing.T) { func TestAccSSMParameter_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Parameter resourceName := "aws_ssm_parameter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -282,6 +284,7 @@ func TestAccSSMParameter_tags_null(t *testing.T) { func TestAccSSMParameter_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Parameter resourceName := "aws_ssm_parameter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -348,6 +351,7 @@ func TestAccSSMParameter_tags_EmptyMap(t *testing.T) { func TestAccSSMParameter_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Parameter resourceName := "aws_ssm_parameter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -432,6 +436,7 @@ func TestAccSSMParameter_tags_AddOnUpdate(t *testing.T) { func TestAccSSMParameter_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Parameter resourceName := "aws_ssm_parameter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -527,6 +532,7 @@ func TestAccSSMParameter_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccSSMParameter_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Parameter resourceName := "aws_ssm_parameter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -670,6 +676,7 @@ func TestAccSSMParameter_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccSSMParameter_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Parameter resourceName := "aws_ssm_parameter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -762,6 +769,7 @@ func TestAccSSMParameter_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccSSMParameter_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Parameter resourceName := "aws_ssm_parameter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -955,6 +963,7 @@ func TestAccSSMParameter_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccSSMParameter_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Parameter resourceName := "aws_ssm_parameter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1124,6 +1133,7 @@ func TestAccSSMParameter_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccSSMParameter_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Parameter resourceName := "aws_ssm_parameter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1309,6 +1319,7 @@ func TestAccSSMParameter_tags_DefaultTags_overlapping(t *testing.T) { func TestAccSSMParameter_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Parameter resourceName := "aws_ssm_parameter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1402,6 +1413,7 @@ func TestAccSSMParameter_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccSSMParameter_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Parameter resourceName := "aws_ssm_parameter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1494,6 +1506,7 @@ func TestAccSSMParameter_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccSSMParameter_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Parameter resourceName := "aws_ssm_parameter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1562,6 +1575,7 @@ func TestAccSSMParameter_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccSSMParameter_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Parameter resourceName := "aws_ssm_parameter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1622,6 +1636,7 @@ func TestAccSSMParameter_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccSSMParameter_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Parameter resourceName := "aws_ssm_parameter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1687,6 +1702,7 @@ func TestAccSSMParameter_tags_DefaultTags_nullOverlappingResourceTag(t *testing. func TestAccSSMParameter_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Parameter resourceName := "aws_ssm_parameter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1752,6 +1768,7 @@ func TestAccSSMParameter_tags_DefaultTags_nullNonOverlappingResourceTag(t *testi func TestAccSSMParameter_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Parameter resourceName := "aws_ssm_parameter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1810,6 +1827,7 @@ func TestAccSSMParameter_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccSSMParameter_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Parameter resourceName := "aws_ssm_parameter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1928,7 @@ func TestAccSSMParameter_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccSSMParameter_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Parameter resourceName := "aws_ssm_parameter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2000,6 +2019,7 @@ func TestAccSSMParameter_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccSSMParameter_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Parameter resourceName := "aws_ssm_parameter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2162,6 +2182,7 @@ func TestAccSSMParameter_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccSSMParameter_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Parameter resourceName := "aws_ssm_parameter.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/ssm/patch_baseline_tags_gen_test.go b/internal/service/ssm/patch_baseline_tags_gen_test.go index 27693e716c1c..ed800765bcf9 100644 --- a/internal/service/ssm/patch_baseline_tags_gen_test.go +++ b/internal/service/ssm/patch_baseline_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccSSMPatchBaseline_tags(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetPatchBaselineOutput resourceName := "aws_ssm_patch_baseline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccSSMPatchBaseline_tags(t *testing.T) { func TestAccSSMPatchBaseline_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetPatchBaselineOutput resourceName := "aws_ssm_patch_baseline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccSSMPatchBaseline_tags_null(t *testing.T) { func TestAccSSMPatchBaseline_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetPatchBaselineOutput resourceName := "aws_ssm_patch_baseline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccSSMPatchBaseline_tags_EmptyMap(t *testing.T) { func TestAccSSMPatchBaseline_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetPatchBaselineOutput resourceName := "aws_ssm_patch_baseline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccSSMPatchBaseline_tags_AddOnUpdate(t *testing.T) { func TestAccSSMPatchBaseline_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetPatchBaselineOutput resourceName := "aws_ssm_patch_baseline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccSSMPatchBaseline_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccSSMPatchBaseline_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetPatchBaselineOutput resourceName := "aws_ssm_patch_baseline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccSSMPatchBaseline_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccSSMPatchBaseline_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetPatchBaselineOutput resourceName := "aws_ssm_patch_baseline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccSSMPatchBaseline_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccSSMPatchBaseline_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetPatchBaselineOutput resourceName := "aws_ssm_patch_baseline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccSSMPatchBaseline_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccSSMPatchBaseline_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetPatchBaselineOutput resourceName := "aws_ssm_patch_baseline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccSSMPatchBaseline_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccSSMPatchBaseline_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetPatchBaselineOutput resourceName := "aws_ssm_patch_baseline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccSSMPatchBaseline_tags_DefaultTags_overlapping(t *testing.T) { func TestAccSSMPatchBaseline_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetPatchBaselineOutput resourceName := "aws_ssm_patch_baseline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccSSMPatchBaseline_tags_DefaultTags_updateToProviderOnly(t *testing.T) func TestAccSSMPatchBaseline_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetPatchBaselineOutput resourceName := "aws_ssm_patch_baseline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccSSMPatchBaseline_tags_DefaultTags_updateToResourceOnly(t *testing.T) func TestAccSSMPatchBaseline_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetPatchBaselineOutput resourceName := "aws_ssm_patch_baseline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccSSMPatchBaseline_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccSSMPatchBaseline_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetPatchBaselineOutput resourceName := "aws_ssm_patch_baseline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccSSMPatchBaseline_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) func TestAccSSMPatchBaseline_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetPatchBaselineOutput resourceName := "aws_ssm_patch_baseline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccSSMPatchBaseline_tags_DefaultTags_nullOverlappingResourceTag(t *test func TestAccSSMPatchBaseline_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetPatchBaselineOutput resourceName := "aws_ssm_patch_baseline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccSSMPatchBaseline_tags_DefaultTags_nullNonOverlappingResourceTag(t *t func TestAccSSMPatchBaseline_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetPatchBaselineOutput resourceName := "aws_ssm_patch_baseline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccSSMPatchBaseline_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccSSMPatchBaseline_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetPatchBaselineOutput resourceName := "aws_ssm_patch_baseline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccSSMPatchBaseline_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccSSMPatchBaseline_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetPatchBaselineOutput resourceName := "aws_ssm_patch_baseline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccSSMPatchBaseline_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccSSMPatchBaseline_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetPatchBaselineOutput resourceName := "aws_ssm_patch_baseline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccSSMPatchBaseline_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccSSMPatchBaseline_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v ssm.GetPatchBaselineOutput resourceName := "aws_ssm_patch_baseline.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/ssmcontacts/contact_data_source_tags_gen_test.go b/internal/service/ssmcontacts/contact_data_source_tags_gen_test.go index f1070f50d493..30d040baf402 100644 --- a/internal/service/ssmcontacts/contact_data_source_tags_gen_test.go +++ b/internal/service/ssmcontacts/contact_data_source_tags_gen_test.go @@ -31,6 +31,7 @@ func testAccSSMContactsContactDataSource_tagsSerial(t *testing.T) { func testAccSSMContactsContactDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_ssmcontacts_contact.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -59,6 +60,7 @@ func testAccSSMContactsContactDataSource_tags(t *testing.T) { func testAccSSMContactsContactDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_ssmcontacts_contact.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -83,6 +85,7 @@ func testAccSSMContactsContactDataSource_tags_NullMap(t *testing.T) { func testAccSSMContactsContactDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_ssmcontacts_contact.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -107,6 +110,7 @@ func testAccSSMContactsContactDataSource_tags_EmptyMap(t *testing.T) { func testAccSSMContactsContactDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_ssmcontacts_contact.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -139,6 +143,7 @@ func testAccSSMContactsContactDataSource_tags_DefaultTags_nonOverlapping(t *test func testAccSSMContactsContactDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_ssmcontacts_contact.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -177,6 +182,7 @@ func testAccSSMContactsContactDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *t func testAccSSMContactsContactDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_ssmcontacts_contact.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/ssmcontacts/contact_tags_gen_test.go b/internal/service/ssmcontacts/contact_tags_gen_test.go index 16fdb0fa59fa..c4ddcb7a80f4 100644 --- a/internal/service/ssmcontacts/contact_tags_gen_test.go +++ b/internal/service/ssmcontacts/contact_tags_gen_test.go @@ -46,6 +46,7 @@ func testAccSSMContactsContact_tagsSerial(t *testing.T) { func testAccSSMContactsContact_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_contact.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -229,6 +230,7 @@ func testAccSSMContactsContact_tags_null(t *testing.T) { t.Skip("Resource Contact does not support null tags") ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_contact.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -295,6 +297,7 @@ func testAccSSMContactsContact_tags_null(t *testing.T) { func testAccSSMContactsContact_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_contact.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -357,6 +360,7 @@ func testAccSSMContactsContact_tags_EmptyMap(t *testing.T) { func testAccSSMContactsContact_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_contact.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -439,6 +443,7 @@ func testAccSSMContactsContact_tags_EmptyTag_OnCreate(t *testing.T) { t.Skip("Resource Contact does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_contact.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -529,6 +534,7 @@ func testAccSSMContactsContact_tags_EmptyTag_OnUpdate_Add(t *testing.T) { t.Skip("Resource Contact does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_contact.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -667,6 +673,7 @@ func testAccSSMContactsContact_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { t.Skip("Resource Contact does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_contact.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -755,6 +762,7 @@ func testAccSSMContactsContact_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func testAccSSMContactsContact_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_contact.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -935,6 +943,7 @@ func testAccSSMContactsContact_tags_DefaultTags_providerOnly(t *testing.T) { func testAccSSMContactsContact_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_contact.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1094,6 +1103,7 @@ func testAccSSMContactsContact_tags_DefaultTags_nonOverlapping(t *testing.T) { func testAccSSMContactsContact_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_contact.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1269,6 +1279,7 @@ func testAccSSMContactsContact_tags_DefaultTags_overlapping(t *testing.T) { func testAccSSMContactsContact_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_contact.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1358,6 +1369,7 @@ func testAccSSMContactsContact_tags_DefaultTags_updateToProviderOnly(t *testing. func testAccSSMContactsContact_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_contact.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1448,6 +1460,7 @@ func testAccSSMContactsContact_tags_DefaultTags_emptyResourceTag(t *testing.T) { t.Skip("Resource Contact does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_contact.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1514,6 +1527,7 @@ func testAccSSMContactsContact_tags_DefaultTags_emptyProviderOnlyTag(t *testing. t.Skip("Resource Contact does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_contact.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1572,6 +1586,7 @@ func testAccSSMContactsContact_tags_DefaultTags_nullOverlappingResourceTag(t *te t.Skip("Resource Contact does not support null tags") ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_contact.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1635,6 +1650,7 @@ func testAccSSMContactsContact_tags_DefaultTags_nullNonOverlappingResourceTag(t t.Skip("Resource Contact does not support null tags") ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_contact.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1696,6 +1712,7 @@ func testAccSSMContactsContact_tags_DefaultTags_nullNonOverlappingResourceTag(t func testAccSSMContactsContact_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_contact.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1750,6 +1767,7 @@ func testAccSSMContactsContact_tags_ComputedTag_OnCreate(t *testing.T) { func testAccSSMContactsContact_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_contact.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1846,6 +1864,7 @@ func testAccSSMContactsContact_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func testAccSSMContactsContact_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_contact.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1932,6 +1951,7 @@ func testAccSSMContactsContact_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func testAccSSMContactsContact_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_contact.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2093,6 +2113,7 @@ func testAccSSMContactsContact_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func testAccSSMContactsContact_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_contact.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/ssmcontacts/rotation_data_source_tags_gen_test.go b/internal/service/ssmcontacts/rotation_data_source_tags_gen_test.go index 7a9091849e8c..a66acc942146 100644 --- a/internal/service/ssmcontacts/rotation_data_source_tags_gen_test.go +++ b/internal/service/ssmcontacts/rotation_data_source_tags_gen_test.go @@ -31,6 +31,7 @@ func testAccSSMContactsRotationDataSource_tagsSerial(t *testing.T) { func testAccSSMContactsRotationDataSource_tags(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_ssmcontacts_rotation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -59,6 +60,7 @@ func testAccSSMContactsRotationDataSource_tags(t *testing.T) { func testAccSSMContactsRotationDataSource_tags_NullMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_ssmcontacts_rotation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -83,6 +85,7 @@ func testAccSSMContactsRotationDataSource_tags_NullMap(t *testing.T) { func testAccSSMContactsRotationDataSource_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_ssmcontacts_rotation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -107,6 +110,7 @@ func testAccSSMContactsRotationDataSource_tags_EmptyMap(t *testing.T) { func testAccSSMContactsRotationDataSource_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_ssmcontacts_rotation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -139,6 +143,7 @@ func testAccSSMContactsRotationDataSource_tags_DefaultTags_nonOverlapping(t *tes func testAccSSMContactsRotationDataSource_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_ssmcontacts_rotation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -177,6 +182,7 @@ func testAccSSMContactsRotationDataSource_tags_IgnoreTags_Overlap_DefaultTag(t * func testAccSSMContactsRotationDataSource_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + dataSourceName := "data.aws_ssmcontacts_rotation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/ssmcontacts/rotation_identity_gen_test.go b/internal/service/ssmcontacts/rotation_identity_gen_test.go index fb222bed7652..5bb32c9a5c0e 100644 --- a/internal/service/ssmcontacts/rotation_identity_gen_test.go +++ b/internal/service/ssmcontacts/rotation_identity_gen_test.go @@ -32,6 +32,7 @@ func testAccSSMContactsRotation_IdentitySerial(t *testing.T) { func testAccSSMContactsRotation_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_rotation.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -116,6 +117,7 @@ func testAccSSMContactsRotation_Identity_Basic(t *testing.T) { func testAccSSMContactsRotation_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_rotation.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/ssmcontacts/rotation_tags_gen_test.go b/internal/service/ssmcontacts/rotation_tags_gen_test.go index 3729d7ca37ff..32ba394961e1 100644 --- a/internal/service/ssmcontacts/rotation_tags_gen_test.go +++ b/internal/service/ssmcontacts/rotation_tags_gen_test.go @@ -46,6 +46,7 @@ func testAccSSMContactsRotation_tagsSerial(t *testing.T) { func testAccSSMContactsRotation_tags(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_rotation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -229,6 +230,7 @@ func testAccSSMContactsRotation_tags_null(t *testing.T) { t.Skip("Resource Rotation does not support null tags") ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_rotation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -290,6 +292,7 @@ func testAccSSMContactsRotation_tags_null(t *testing.T) { func testAccSSMContactsRotation_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_rotation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -339,6 +342,7 @@ func testAccSSMContactsRotation_tags_EmptyMap(t *testing.T) { func testAccSSMContactsRotation_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_rotation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -420,6 +424,7 @@ func testAccSSMContactsRotation_tags_EmptyTag_OnCreate(t *testing.T) { t.Skip("Resource Rotation does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_rotation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -511,6 +516,7 @@ func testAccSSMContactsRotation_tags_EmptyTag_OnUpdate_Add(t *testing.T) { t.Skip("Resource Rotation does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_rotation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -651,6 +657,7 @@ func testAccSSMContactsRotation_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { t.Skip("Resource Rotation does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_rotation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -740,6 +747,7 @@ func testAccSSMContactsRotation_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func testAccSSMContactsRotation_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_rotation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -920,6 +928,7 @@ func testAccSSMContactsRotation_tags_DefaultTags_providerOnly(t *testing.T) { func testAccSSMContactsRotation_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_rotation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1079,6 +1088,7 @@ func testAccSSMContactsRotation_tags_DefaultTags_nonOverlapping(t *testing.T) { func testAccSSMContactsRotation_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_rotation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1254,6 +1264,7 @@ func testAccSSMContactsRotation_tags_DefaultTags_overlapping(t *testing.T) { func testAccSSMContactsRotation_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_rotation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1343,6 +1354,7 @@ func testAccSSMContactsRotation_tags_DefaultTags_updateToProviderOnly(t *testing func testAccSSMContactsRotation_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_rotation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1433,6 +1445,7 @@ func testAccSSMContactsRotation_tags_DefaultTags_emptyResourceTag(t *testing.T) t.Skip("Resource Rotation does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_rotation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1500,6 +1513,7 @@ func testAccSSMContactsRotation_tags_DefaultTags_emptyProviderOnlyTag(t *testing t.Skip("Resource Rotation does not support empty tags") ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_rotation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1559,6 +1573,7 @@ func testAccSSMContactsRotation_tags_DefaultTags_nullOverlappingResourceTag(t *t t.Skip("Resource Rotation does not support null tags") ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_rotation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1629,6 +1644,7 @@ func testAccSSMContactsRotation_tags_DefaultTags_nullNonOverlappingResourceTag(t t.Skip("Resource Rotation does not support null tags") ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_rotation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1699,6 +1715,7 @@ func testAccSSMContactsRotation_tags_DefaultTags_nullNonOverlappingResourceTag(t func testAccSSMContactsRotation_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_rotation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1753,6 +1770,7 @@ func testAccSSMContactsRotation_tags_ComputedTag_OnCreate(t *testing.T) { func testAccSSMContactsRotation_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_rotation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1849,6 +1867,7 @@ func testAccSSMContactsRotation_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func testAccSSMContactsRotation_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_rotation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1935,6 +1954,7 @@ func testAccSSMContactsRotation_tags_ComputedTag_OnUpdate_Replace(t *testing.T) func testAccSSMContactsRotation_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_rotation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2096,6 +2116,7 @@ func testAccSSMContactsRotation_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) func testAccSSMContactsRotation_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssmcontacts_rotation.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/ssoadmin/application_assignment_configuration_identity_gen_test.go b/internal/service/ssoadmin/application_assignment_configuration_identity_gen_test.go index 7ed7f1505303..290effa32f06 100644 --- a/internal/service/ssoadmin/application_assignment_configuration_identity_gen_test.go +++ b/internal/service/ssoadmin/application_assignment_configuration_identity_gen_test.go @@ -21,6 +21,7 @@ import ( func TestAccSSOAdminApplicationAssignmentConfiguration_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssoadmin_application_assignment_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -233,6 +234,7 @@ func TestAccSSOAdminApplicationAssignmentConfiguration_Identity_RegionOverride(t func TestAccSSOAdminApplicationAssignmentConfiguration_Identity_ExistingResource_fromV5(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssoadmin_application_assignment_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -293,6 +295,7 @@ func TestAccSSOAdminApplicationAssignmentConfiguration_Identity_ExistingResource func TestAccSSOAdminApplicationAssignmentConfiguration_Identity_ExistingResource_fromV6(t *testing.T) { ctx := acctest.Context(t) + resourceName := "aws_ssoadmin_application_assignment_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) diff --git a/internal/service/timestreaminfluxdb/db_instance_tags_gen_test.go b/internal/service/timestreaminfluxdb/db_instance_tags_gen_test.go index 909bf918894f..2e5e78fbe989 100644 --- a/internal/service/timestreaminfluxdb/db_instance_tags_gen_test.go +++ b/internal/service/timestreaminfluxdb/db_instance_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccTimestreamInfluxDBDBInstance_tags(t *testing.T) { ctx := acctest.Context(t) + var v timestreaminfluxdb.GetDbInstanceOutput resourceName := "aws_timestreaminfluxdb_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -212,6 +213,7 @@ func TestAccTimestreamInfluxDBDBInstance_tags(t *testing.T) { func TestAccTimestreamInfluxDBDBInstance_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v timestreaminfluxdb.GetDbInstanceOutput resourceName := "aws_timestreaminfluxdb_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -275,6 +277,7 @@ func TestAccTimestreamInfluxDBDBInstance_tags_null(t *testing.T) { func TestAccTimestreamInfluxDBDBInstance_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v timestreaminfluxdb.GetDbInstanceOutput resourceName := "aws_timestreaminfluxdb_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -326,6 +329,7 @@ func TestAccTimestreamInfluxDBDBInstance_tags_EmptyMap(t *testing.T) { func TestAccTimestreamInfluxDBDBInstance_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v timestreaminfluxdb.GetDbInstanceOutput resourceName := "aws_timestreaminfluxdb_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -409,6 +413,7 @@ func TestAccTimestreamInfluxDBDBInstance_tags_AddOnUpdate(t *testing.T) { func TestAccTimestreamInfluxDBDBInstance_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v timestreaminfluxdb.GetDbInstanceOutput resourceName := "aws_timestreaminfluxdb_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -505,6 +510,7 @@ func TestAccTimestreamInfluxDBDBInstance_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccTimestreamInfluxDBDBInstance_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v timestreaminfluxdb.GetDbInstanceOutput resourceName := "aws_timestreaminfluxdb_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -650,6 +656,7 @@ func TestAccTimestreamInfluxDBDBInstance_tags_EmptyTag_OnUpdate_Add(t *testing.T func TestAccTimestreamInfluxDBDBInstance_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v timestreaminfluxdb.GetDbInstanceOutput resourceName := "aws_timestreaminfluxdb_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -743,6 +750,7 @@ func TestAccTimestreamInfluxDBDBInstance_tags_EmptyTag_OnUpdate_Replace(t *testi func TestAccTimestreamInfluxDBDBInstance_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v timestreaminfluxdb.GetDbInstanceOutput resourceName := "aws_timestreaminfluxdb_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -936,6 +944,7 @@ func TestAccTimestreamInfluxDBDBInstance_tags_DefaultTags_providerOnly(t *testin func TestAccTimestreamInfluxDBDBInstance_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v timestreaminfluxdb.GetDbInstanceOutput resourceName := "aws_timestreaminfluxdb_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1105,6 +1114,7 @@ func TestAccTimestreamInfluxDBDBInstance_tags_DefaultTags_nonOverlapping(t *test func TestAccTimestreamInfluxDBDBInstance_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v timestreaminfluxdb.GetDbInstanceOutput resourceName := "aws_timestreaminfluxdb_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1290,6 +1300,7 @@ func TestAccTimestreamInfluxDBDBInstance_tags_DefaultTags_overlapping(t *testing func TestAccTimestreamInfluxDBDBInstance_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v timestreaminfluxdb.GetDbInstanceOutput resourceName := "aws_timestreaminfluxdb_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1383,6 +1394,7 @@ func TestAccTimestreamInfluxDBDBInstance_tags_DefaultTags_updateToProviderOnly(t func TestAccTimestreamInfluxDBDBInstance_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v timestreaminfluxdb.GetDbInstanceOutput resourceName := "aws_timestreaminfluxdb_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1475,6 +1487,7 @@ func TestAccTimestreamInfluxDBDBInstance_tags_DefaultTags_updateToResourceOnly(t func TestAccTimestreamInfluxDBDBInstance_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v timestreaminfluxdb.GetDbInstanceOutput resourceName := "aws_timestreaminfluxdb_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1557,7 @@ func TestAccTimestreamInfluxDBDBInstance_tags_DefaultTags_emptyResourceTag(t *te func TestAccTimestreamInfluxDBDBInstance_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v timestreaminfluxdb.GetDbInstanceOutput resourceName := "aws_timestreaminfluxdb_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1605,6 +1619,7 @@ func TestAccTimestreamInfluxDBDBInstance_tags_DefaultTags_emptyProviderOnlyTag(t func TestAccTimestreamInfluxDBDBInstance_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v timestreaminfluxdb.GetDbInstanceOutput resourceName := "aws_timestreaminfluxdb_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1675,6 +1690,7 @@ func TestAccTimestreamInfluxDBDBInstance_tags_DefaultTags_nullOverlappingResourc func TestAccTimestreamInfluxDBDBInstance_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v timestreaminfluxdb.GetDbInstanceOutput resourceName := "aws_timestreaminfluxdb_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1747,6 +1763,7 @@ func TestAccTimestreamInfluxDBDBInstance_tags_DefaultTags_nullNonOverlappingReso func TestAccTimestreamInfluxDBDBInstance_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v timestreaminfluxdb.GetDbInstanceOutput resourceName := "aws_timestreaminfluxdb_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1805,6 +1822,7 @@ func TestAccTimestreamInfluxDBDBInstance_tags_ComputedTag_OnCreate(t *testing.T) func TestAccTimestreamInfluxDBDBInstance_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v timestreaminfluxdb.GetDbInstanceOutput resourceName := "aws_timestreaminfluxdb_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1905,6 +1923,7 @@ func TestAccTimestreamInfluxDBDBInstance_tags_ComputedTag_OnUpdate_Add(t *testin func TestAccTimestreamInfluxDBDBInstance_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v timestreaminfluxdb.GetDbInstanceOutput resourceName := "aws_timestreaminfluxdb_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1995,6 +2014,7 @@ func TestAccTimestreamInfluxDBDBInstance_tags_ComputedTag_OnUpdate_Replace(t *te func TestAccTimestreamInfluxDBDBInstance_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v timestreaminfluxdb.GetDbInstanceOutput resourceName := "aws_timestreaminfluxdb_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2157,6 +2177,7 @@ func TestAccTimestreamInfluxDBDBInstance_tags_IgnoreTags_Overlap_DefaultTag(t *t func TestAccTimestreamInfluxDBDBInstance_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v timestreaminfluxdb.GetDbInstanceOutput resourceName := "aws_timestreaminfluxdb_db_instance.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/vpclattice/resource_configuration_tags_gen_test.go b/internal/service/vpclattice/resource_configuration_tags_gen_test.go index 1bed65faf553..1e82568cd9bb 100644 --- a/internal/service/vpclattice/resource_configuration_tags_gen_test.go +++ b/internal/service/vpclattice/resource_configuration_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccVPCLatticeResourceConfiguration_tags(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceConfigurationOutput resourceName := "aws_vpclattice_resource_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccVPCLatticeResourceConfiguration_tags(t *testing.T) { func TestAccVPCLatticeResourceConfiguration_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceConfigurationOutput resourceName := "aws_vpclattice_resource_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -262,6 +264,7 @@ func TestAccVPCLatticeResourceConfiguration_tags_null(t *testing.T) { func TestAccVPCLatticeResourceConfiguration_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceConfigurationOutput resourceName := "aws_vpclattice_resource_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -312,6 +315,7 @@ func TestAccVPCLatticeResourceConfiguration_tags_EmptyMap(t *testing.T) { func TestAccVPCLatticeResourceConfiguration_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceConfigurationOutput resourceName := "aws_vpclattice_resource_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -392,6 +396,7 @@ func TestAccVPCLatticeResourceConfiguration_tags_AddOnUpdate(t *testing.T) { func TestAccVPCLatticeResourceConfiguration_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceConfigurationOutput resourceName := "aws_vpclattice_resource_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -482,6 +487,7 @@ func TestAccVPCLatticeResourceConfiguration_tags_EmptyTag_OnCreate(t *testing.T) func TestAccVPCLatticeResourceConfiguration_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceConfigurationOutput resourceName := "aws_vpclattice_resource_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -621,6 +627,7 @@ func TestAccVPCLatticeResourceConfiguration_tags_EmptyTag_OnUpdate_Add(t *testin func TestAccVPCLatticeResourceConfiguration_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceConfigurationOutput resourceName := "aws_vpclattice_resource_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -711,6 +718,7 @@ func TestAccVPCLatticeResourceConfiguration_tags_EmptyTag_OnUpdate_Replace(t *te func TestAccVPCLatticeResourceConfiguration_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceConfigurationOutput resourceName := "aws_vpclattice_resource_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -892,6 +900,7 @@ func TestAccVPCLatticeResourceConfiguration_tags_DefaultTags_providerOnly(t *tes func TestAccVPCLatticeResourceConfiguration_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceConfigurationOutput resourceName := "aws_vpclattice_resource_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1052,6 +1061,7 @@ func TestAccVPCLatticeResourceConfiguration_tags_DefaultTags_nonOverlapping(t *t func TestAccVPCLatticeResourceConfiguration_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceConfigurationOutput resourceName := "aws_vpclattice_resource_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1228,6 +1238,7 @@ func TestAccVPCLatticeResourceConfiguration_tags_DefaultTags_overlapping(t *test func TestAccVPCLatticeResourceConfiguration_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceConfigurationOutput resourceName := "aws_vpclattice_resource_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1318,6 +1329,7 @@ func TestAccVPCLatticeResourceConfiguration_tags_DefaultTags_updateToProviderOnl func TestAccVPCLatticeResourceConfiguration_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceConfigurationOutput resourceName := "aws_vpclattice_resource_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1407,6 +1419,7 @@ func TestAccVPCLatticeResourceConfiguration_tags_DefaultTags_updateToResourceOnl func TestAccVPCLatticeResourceConfiguration_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceConfigurationOutput resourceName := "aws_vpclattice_resource_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccVPCLatticeResourceConfiguration_tags_DefaultTags_emptyResourceTag(t func TestAccVPCLatticeResourceConfiguration_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceConfigurationOutput resourceName := "aws_vpclattice_resource_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1531,6 +1545,7 @@ func TestAccVPCLatticeResourceConfiguration_tags_DefaultTags_emptyProviderOnlyTa func TestAccVPCLatticeResourceConfiguration_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceConfigurationOutput resourceName := "aws_vpclattice_resource_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1600,6 +1615,7 @@ func TestAccVPCLatticeResourceConfiguration_tags_DefaultTags_nullOverlappingReso func TestAccVPCLatticeResourceConfiguration_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceConfigurationOutput resourceName := "aws_vpclattice_resource_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1671,6 +1687,7 @@ func TestAccVPCLatticeResourceConfiguration_tags_DefaultTags_nullNonOverlappingR func TestAccVPCLatticeResourceConfiguration_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceConfigurationOutput resourceName := "aws_vpclattice_resource_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1726,6 +1743,7 @@ func TestAccVPCLatticeResourceConfiguration_tags_ComputedTag_OnCreate(t *testing func TestAccVPCLatticeResourceConfiguration_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceConfigurationOutput resourceName := "aws_vpclattice_resource_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1823,6 +1841,7 @@ func TestAccVPCLatticeResourceConfiguration_tags_ComputedTag_OnUpdate_Add(t *tes func TestAccVPCLatticeResourceConfiguration_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceConfigurationOutput resourceName := "aws_vpclattice_resource_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1929,7 @@ func TestAccVPCLatticeResourceConfiguration_tags_ComputedTag_OnUpdate_Replace(t func TestAccVPCLatticeResourceConfiguration_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceConfigurationOutput resourceName := "aws_vpclattice_resource_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2072,6 +2092,7 @@ func TestAccVPCLatticeResourceConfiguration_tags_IgnoreTags_Overlap_DefaultTag(t func TestAccVPCLatticeResourceConfiguration_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceConfigurationOutput resourceName := "aws_vpclattice_resource_configuration.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/vpclattice/resource_gateway_tags_gen_test.go b/internal/service/vpclattice/resource_gateway_tags_gen_test.go index da2bd0e96dce..430b174cac3b 100644 --- a/internal/service/vpclattice/resource_gateway_tags_gen_test.go +++ b/internal/service/vpclattice/resource_gateway_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccVPCLatticeResourceGateway_tags(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceGatewayOutput resourceName := "aws_vpclattice_resource_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccVPCLatticeResourceGateway_tags(t *testing.T) { func TestAccVPCLatticeResourceGateway_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceGatewayOutput resourceName := "aws_vpclattice_resource_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -262,6 +264,7 @@ func TestAccVPCLatticeResourceGateway_tags_null(t *testing.T) { func TestAccVPCLatticeResourceGateway_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceGatewayOutput resourceName := "aws_vpclattice_resource_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -312,6 +315,7 @@ func TestAccVPCLatticeResourceGateway_tags_EmptyMap(t *testing.T) { func TestAccVPCLatticeResourceGateway_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceGatewayOutput resourceName := "aws_vpclattice_resource_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -392,6 +396,7 @@ func TestAccVPCLatticeResourceGateway_tags_AddOnUpdate(t *testing.T) { func TestAccVPCLatticeResourceGateway_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceGatewayOutput resourceName := "aws_vpclattice_resource_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -482,6 +487,7 @@ func TestAccVPCLatticeResourceGateway_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccVPCLatticeResourceGateway_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceGatewayOutput resourceName := "aws_vpclattice_resource_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -621,6 +627,7 @@ func TestAccVPCLatticeResourceGateway_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccVPCLatticeResourceGateway_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceGatewayOutput resourceName := "aws_vpclattice_resource_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -711,6 +718,7 @@ func TestAccVPCLatticeResourceGateway_tags_EmptyTag_OnUpdate_Replace(t *testing. func TestAccVPCLatticeResourceGateway_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceGatewayOutput resourceName := "aws_vpclattice_resource_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -892,6 +900,7 @@ func TestAccVPCLatticeResourceGateway_tags_DefaultTags_providerOnly(t *testing.T func TestAccVPCLatticeResourceGateway_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceGatewayOutput resourceName := "aws_vpclattice_resource_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1052,6 +1061,7 @@ func TestAccVPCLatticeResourceGateway_tags_DefaultTags_nonOverlapping(t *testing func TestAccVPCLatticeResourceGateway_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceGatewayOutput resourceName := "aws_vpclattice_resource_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1228,6 +1238,7 @@ func TestAccVPCLatticeResourceGateway_tags_DefaultTags_overlapping(t *testing.T) func TestAccVPCLatticeResourceGateway_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceGatewayOutput resourceName := "aws_vpclattice_resource_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1318,6 +1329,7 @@ func TestAccVPCLatticeResourceGateway_tags_DefaultTags_updateToProviderOnly(t *t func TestAccVPCLatticeResourceGateway_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceGatewayOutput resourceName := "aws_vpclattice_resource_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1407,6 +1419,7 @@ func TestAccVPCLatticeResourceGateway_tags_DefaultTags_updateToResourceOnly(t *t func TestAccVPCLatticeResourceGateway_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceGatewayOutput resourceName := "aws_vpclattice_resource_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccVPCLatticeResourceGateway_tags_DefaultTags_emptyResourceTag(t *testi func TestAccVPCLatticeResourceGateway_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceGatewayOutput resourceName := "aws_vpclattice_resource_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1531,6 +1545,7 @@ func TestAccVPCLatticeResourceGateway_tags_DefaultTags_emptyProviderOnlyTag(t *t func TestAccVPCLatticeResourceGateway_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceGatewayOutput resourceName := "aws_vpclattice_resource_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1600,6 +1615,7 @@ func TestAccVPCLatticeResourceGateway_tags_DefaultTags_nullOverlappingResourceTa func TestAccVPCLatticeResourceGateway_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceGatewayOutput resourceName := "aws_vpclattice_resource_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1671,6 +1687,7 @@ func TestAccVPCLatticeResourceGateway_tags_DefaultTags_nullNonOverlappingResourc func TestAccVPCLatticeResourceGateway_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceGatewayOutput resourceName := "aws_vpclattice_resource_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1726,6 +1743,7 @@ func TestAccVPCLatticeResourceGateway_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccVPCLatticeResourceGateway_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceGatewayOutput resourceName := "aws_vpclattice_resource_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1823,6 +1841,7 @@ func TestAccVPCLatticeResourceGateway_tags_ComputedTag_OnUpdate_Add(t *testing.T func TestAccVPCLatticeResourceGateway_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceGatewayOutput resourceName := "aws_vpclattice_resource_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1929,7 @@ func TestAccVPCLatticeResourceGateway_tags_ComputedTag_OnUpdate_Replace(t *testi func TestAccVPCLatticeResourceGateway_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceGatewayOutput resourceName := "aws_vpclattice_resource_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2072,6 +2092,7 @@ func TestAccVPCLatticeResourceGateway_tags_IgnoreTags_Overlap_DefaultTag(t *test func TestAccVPCLatticeResourceGateway_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetResourceGatewayOutput resourceName := "aws_vpclattice_resource_gateway.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/vpclattice/service_network_resource_association_tags_gen_test.go b/internal/service/vpclattice/service_network_resource_association_tags_gen_test.go index 4aa0d87274c8..a751da8167d4 100644 --- a/internal/service/vpclattice/service_network_resource_association_tags_gen_test.go +++ b/internal/service/vpclattice/service_network_resource_association_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccVPCLatticeServiceNetworkResourceAssociation_tags(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetServiceNetworkResourceAssociationOutput resourceName := "aws_vpclattice_service_network_resource_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccVPCLatticeServiceNetworkResourceAssociation_tags(t *testing.T) { func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetServiceNetworkResourceAssociationOutput resourceName := "aws_vpclattice_service_network_resource_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -262,6 +264,7 @@ func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_null(t *testing.T) func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetServiceNetworkResourceAssociationOutput resourceName := "aws_vpclattice_service_network_resource_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -312,6 +315,7 @@ func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_EmptyMap(t *testing func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetServiceNetworkResourceAssociationOutput resourceName := "aws_vpclattice_service_network_resource_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -392,6 +396,7 @@ func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_AddOnUpdate(t *test func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetServiceNetworkResourceAssociationOutput resourceName := "aws_vpclattice_service_network_resource_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -482,6 +487,7 @@ func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_EmptyTag_OnCreate(t func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetServiceNetworkResourceAssociationOutput resourceName := "aws_vpclattice_service_network_resource_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -621,6 +627,7 @@ func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_EmptyTag_OnUpdate_A func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetServiceNetworkResourceAssociationOutput resourceName := "aws_vpclattice_service_network_resource_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -711,6 +718,7 @@ func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_EmptyTag_OnUpdate_R func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetServiceNetworkResourceAssociationOutput resourceName := "aws_vpclattice_service_network_resource_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -892,6 +900,7 @@ func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_DefaultTags_provide func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetServiceNetworkResourceAssociationOutput resourceName := "aws_vpclattice_service_network_resource_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1052,6 +1061,7 @@ func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_DefaultTags_nonOver func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetServiceNetworkResourceAssociationOutput resourceName := "aws_vpclattice_service_network_resource_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1228,6 +1238,7 @@ func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_DefaultTags_overlap func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetServiceNetworkResourceAssociationOutput resourceName := "aws_vpclattice_service_network_resource_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1318,6 +1329,7 @@ func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_DefaultTags_updateT func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetServiceNetworkResourceAssociationOutput resourceName := "aws_vpclattice_service_network_resource_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1407,6 +1419,7 @@ func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_DefaultTags_updateT func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetServiceNetworkResourceAssociationOutput resourceName := "aws_vpclattice_service_network_resource_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_DefaultTags_emptyRe func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetServiceNetworkResourceAssociationOutput resourceName := "aws_vpclattice_service_network_resource_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1531,6 +1545,7 @@ func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_DefaultTags_emptyPr func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetServiceNetworkResourceAssociationOutput resourceName := "aws_vpclattice_service_network_resource_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1600,6 +1615,7 @@ func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_DefaultTags_nullOve func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetServiceNetworkResourceAssociationOutput resourceName := "aws_vpclattice_service_network_resource_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1671,6 +1687,7 @@ func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_DefaultTags_nullNon func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetServiceNetworkResourceAssociationOutput resourceName := "aws_vpclattice_service_network_resource_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1726,6 +1743,7 @@ func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_ComputedTag_OnCreat func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetServiceNetworkResourceAssociationOutput resourceName := "aws_vpclattice_service_network_resource_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1823,6 +1841,7 @@ func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_ComputedTag_OnUpdat func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetServiceNetworkResourceAssociationOutput resourceName := "aws_vpclattice_service_network_resource_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1929,7 @@ func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_ComputedTag_OnUpdat func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetServiceNetworkResourceAssociationOutput resourceName := "aws_vpclattice_service_network_resource_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2072,6 +2092,7 @@ func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_IgnoreTags_Overlap_ func TestAccVPCLatticeServiceNetworkResourceAssociation_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v vpclattice.GetServiceNetworkResourceAssociationOutput resourceName := "aws_vpclattice_service_network_resource_association.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/workspacesweb/browser_settings_tags_gen_test.go b/internal/service/workspacesweb/browser_settings_tags_gen_test.go index 8e83fae0e757..2e5d717491aa 100644 --- a/internal/service/workspacesweb/browser_settings_tags_gen_test.go +++ b/internal/service/workspacesweb/browser_settings_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccWorkSpacesWebBrowserSettings_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.BrowserSettings resourceName := "aws_workspacesweb_browser_settings.test" @@ -199,6 +200,7 @@ func TestAccWorkSpacesWebBrowserSettings_tags(t *testing.T) { func TestAccWorkSpacesWebBrowserSettings_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.BrowserSettings resourceName := "aws_workspacesweb_browser_settings.test" @@ -260,6 +262,7 @@ func TestAccWorkSpacesWebBrowserSettings_tags_null(t *testing.T) { func TestAccWorkSpacesWebBrowserSettings_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.BrowserSettings resourceName := "aws_workspacesweb_browser_settings.test" @@ -309,6 +312,7 @@ func TestAccWorkSpacesWebBrowserSettings_tags_EmptyMap(t *testing.T) { func TestAccWorkSpacesWebBrowserSettings_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.BrowserSettings resourceName := "aws_workspacesweb_browser_settings.test" @@ -387,6 +391,7 @@ func TestAccWorkSpacesWebBrowserSettings_tags_AddOnUpdate(t *testing.T) { func TestAccWorkSpacesWebBrowserSettings_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.BrowserSettings resourceName := "aws_workspacesweb_browser_settings.test" @@ -476,6 +481,7 @@ func TestAccWorkSpacesWebBrowserSettings_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccWorkSpacesWebBrowserSettings_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.BrowserSettings resourceName := "aws_workspacesweb_browser_settings.test" @@ -613,6 +619,7 @@ func TestAccWorkSpacesWebBrowserSettings_tags_EmptyTag_OnUpdate_Add(t *testing.T func TestAccWorkSpacesWebBrowserSettings_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.BrowserSettings resourceName := "aws_workspacesweb_browser_settings.test" @@ -701,6 +708,7 @@ func TestAccWorkSpacesWebBrowserSettings_tags_EmptyTag_OnUpdate_Replace(t *testi func TestAccWorkSpacesWebBrowserSettings_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.BrowserSettings resourceName := "aws_workspacesweb_browser_settings.test" @@ -881,6 +889,7 @@ func TestAccWorkSpacesWebBrowserSettings_tags_DefaultTags_providerOnly(t *testin func TestAccWorkSpacesWebBrowserSettings_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.BrowserSettings resourceName := "aws_workspacesweb_browser_settings.test" @@ -1040,6 +1049,7 @@ func TestAccWorkSpacesWebBrowserSettings_tags_DefaultTags_nonOverlapping(t *test func TestAccWorkSpacesWebBrowserSettings_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.BrowserSettings resourceName := "aws_workspacesweb_browser_settings.test" @@ -1215,6 +1225,7 @@ func TestAccWorkSpacesWebBrowserSettings_tags_DefaultTags_overlapping(t *testing func TestAccWorkSpacesWebBrowserSettings_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.BrowserSettings resourceName := "aws_workspacesweb_browser_settings.test" @@ -1303,6 +1314,7 @@ func TestAccWorkSpacesWebBrowserSettings_tags_DefaultTags_updateToProviderOnly(t func TestAccWorkSpacesWebBrowserSettings_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.BrowserSettings resourceName := "aws_workspacesweb_browser_settings.test" @@ -1390,6 +1402,7 @@ func TestAccWorkSpacesWebBrowserSettings_tags_DefaultTags_updateToResourceOnly(t func TestAccWorkSpacesWebBrowserSettings_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.BrowserSettings resourceName := "aws_workspacesweb_browser_settings.test" @@ -1455,6 +1468,7 @@ func TestAccWorkSpacesWebBrowserSettings_tags_DefaultTags_emptyResourceTag(t *te func TestAccWorkSpacesWebBrowserSettings_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.BrowserSettings resourceName := "aws_workspacesweb_browser_settings.test" @@ -1512,6 +1526,7 @@ func TestAccWorkSpacesWebBrowserSettings_tags_DefaultTags_emptyProviderOnlyTag(t func TestAccWorkSpacesWebBrowserSettings_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.BrowserSettings resourceName := "aws_workspacesweb_browser_settings.test" @@ -1580,6 +1595,7 @@ func TestAccWorkSpacesWebBrowserSettings_tags_DefaultTags_nullOverlappingResourc func TestAccWorkSpacesWebBrowserSettings_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.BrowserSettings resourceName := "aws_workspacesweb_browser_settings.test" @@ -1650,6 +1666,7 @@ func TestAccWorkSpacesWebBrowserSettings_tags_DefaultTags_nullNonOverlappingReso func TestAccWorkSpacesWebBrowserSettings_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.BrowserSettings resourceName := "aws_workspacesweb_browser_settings.test" @@ -1704,6 +1721,7 @@ func TestAccWorkSpacesWebBrowserSettings_tags_ComputedTag_OnCreate(t *testing.T) func TestAccWorkSpacesWebBrowserSettings_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.BrowserSettings resourceName := "aws_workspacesweb_browser_settings.test" @@ -1799,6 +1817,7 @@ func TestAccWorkSpacesWebBrowserSettings_tags_ComputedTag_OnUpdate_Add(t *testin func TestAccWorkSpacesWebBrowserSettings_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.BrowserSettings resourceName := "aws_workspacesweb_browser_settings.test" @@ -1884,6 +1903,7 @@ func TestAccWorkSpacesWebBrowserSettings_tags_ComputedTag_OnUpdate_Replace(t *te func TestAccWorkSpacesWebBrowserSettings_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.BrowserSettings resourceName := "aws_workspacesweb_browser_settings.test" @@ -2042,6 +2062,7 @@ func TestAccWorkSpacesWebBrowserSettings_tags_IgnoreTags_Overlap_DefaultTag(t *t func TestAccWorkSpacesWebBrowserSettings_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.BrowserSettings resourceName := "aws_workspacesweb_browser_settings.test" diff --git a/internal/service/workspacesweb/data_protection_settings_tags_gen_test.go b/internal/service/workspacesweb/data_protection_settings_tags_gen_test.go index a89dfdb12aa3..595d702d121c 100644 --- a/internal/service/workspacesweb/data_protection_settings_tags_gen_test.go +++ b/internal/service/workspacesweb/data_protection_settings_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccWorkSpacesWebDataProtectionSettings_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.DataProtectionSettings resourceName := "aws_workspacesweb_data_protection_settings.test" @@ -199,6 +200,7 @@ func TestAccWorkSpacesWebDataProtectionSettings_tags(t *testing.T) { func TestAccWorkSpacesWebDataProtectionSettings_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.DataProtectionSettings resourceName := "aws_workspacesweb_data_protection_settings.test" @@ -260,6 +262,7 @@ func TestAccWorkSpacesWebDataProtectionSettings_tags_null(t *testing.T) { func TestAccWorkSpacesWebDataProtectionSettings_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.DataProtectionSettings resourceName := "aws_workspacesweb_data_protection_settings.test" @@ -309,6 +312,7 @@ func TestAccWorkSpacesWebDataProtectionSettings_tags_EmptyMap(t *testing.T) { func TestAccWorkSpacesWebDataProtectionSettings_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.DataProtectionSettings resourceName := "aws_workspacesweb_data_protection_settings.test" @@ -387,6 +391,7 @@ func TestAccWorkSpacesWebDataProtectionSettings_tags_AddOnUpdate(t *testing.T) { func TestAccWorkSpacesWebDataProtectionSettings_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.DataProtectionSettings resourceName := "aws_workspacesweb_data_protection_settings.test" @@ -476,6 +481,7 @@ func TestAccWorkSpacesWebDataProtectionSettings_tags_EmptyTag_OnCreate(t *testin func TestAccWorkSpacesWebDataProtectionSettings_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.DataProtectionSettings resourceName := "aws_workspacesweb_data_protection_settings.test" @@ -613,6 +619,7 @@ func TestAccWorkSpacesWebDataProtectionSettings_tags_EmptyTag_OnUpdate_Add(t *te func TestAccWorkSpacesWebDataProtectionSettings_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.DataProtectionSettings resourceName := "aws_workspacesweb_data_protection_settings.test" @@ -701,6 +708,7 @@ func TestAccWorkSpacesWebDataProtectionSettings_tags_EmptyTag_OnUpdate_Replace(t func TestAccWorkSpacesWebDataProtectionSettings_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.DataProtectionSettings resourceName := "aws_workspacesweb_data_protection_settings.test" @@ -881,6 +889,7 @@ func TestAccWorkSpacesWebDataProtectionSettings_tags_DefaultTags_providerOnly(t func TestAccWorkSpacesWebDataProtectionSettings_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.DataProtectionSettings resourceName := "aws_workspacesweb_data_protection_settings.test" @@ -1040,6 +1049,7 @@ func TestAccWorkSpacesWebDataProtectionSettings_tags_DefaultTags_nonOverlapping( func TestAccWorkSpacesWebDataProtectionSettings_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.DataProtectionSettings resourceName := "aws_workspacesweb_data_protection_settings.test" @@ -1215,6 +1225,7 @@ func TestAccWorkSpacesWebDataProtectionSettings_tags_DefaultTags_overlapping(t * func TestAccWorkSpacesWebDataProtectionSettings_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.DataProtectionSettings resourceName := "aws_workspacesweb_data_protection_settings.test" @@ -1303,6 +1314,7 @@ func TestAccWorkSpacesWebDataProtectionSettings_tags_DefaultTags_updateToProvide func TestAccWorkSpacesWebDataProtectionSettings_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.DataProtectionSettings resourceName := "aws_workspacesweb_data_protection_settings.test" @@ -1390,6 +1402,7 @@ func TestAccWorkSpacesWebDataProtectionSettings_tags_DefaultTags_updateToResourc func TestAccWorkSpacesWebDataProtectionSettings_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.DataProtectionSettings resourceName := "aws_workspacesweb_data_protection_settings.test" @@ -1455,6 +1468,7 @@ func TestAccWorkSpacesWebDataProtectionSettings_tags_DefaultTags_emptyResourceTa func TestAccWorkSpacesWebDataProtectionSettings_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.DataProtectionSettings resourceName := "aws_workspacesweb_data_protection_settings.test" @@ -1512,6 +1526,7 @@ func TestAccWorkSpacesWebDataProtectionSettings_tags_DefaultTags_emptyProviderOn func TestAccWorkSpacesWebDataProtectionSettings_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.DataProtectionSettings resourceName := "aws_workspacesweb_data_protection_settings.test" @@ -1580,6 +1595,7 @@ func TestAccWorkSpacesWebDataProtectionSettings_tags_DefaultTags_nullOverlapping func TestAccWorkSpacesWebDataProtectionSettings_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.DataProtectionSettings resourceName := "aws_workspacesweb_data_protection_settings.test" @@ -1650,6 +1666,7 @@ func TestAccWorkSpacesWebDataProtectionSettings_tags_DefaultTags_nullNonOverlapp func TestAccWorkSpacesWebDataProtectionSettings_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.DataProtectionSettings resourceName := "aws_workspacesweb_data_protection_settings.test" @@ -1704,6 +1721,7 @@ func TestAccWorkSpacesWebDataProtectionSettings_tags_ComputedTag_OnCreate(t *tes func TestAccWorkSpacesWebDataProtectionSettings_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.DataProtectionSettings resourceName := "aws_workspacesweb_data_protection_settings.test" @@ -1799,6 +1817,7 @@ func TestAccWorkSpacesWebDataProtectionSettings_tags_ComputedTag_OnUpdate_Add(t func TestAccWorkSpacesWebDataProtectionSettings_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.DataProtectionSettings resourceName := "aws_workspacesweb_data_protection_settings.test" @@ -1884,6 +1903,7 @@ func TestAccWorkSpacesWebDataProtectionSettings_tags_ComputedTag_OnUpdate_Replac func TestAccWorkSpacesWebDataProtectionSettings_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.DataProtectionSettings resourceName := "aws_workspacesweb_data_protection_settings.test" @@ -2042,6 +2062,7 @@ func TestAccWorkSpacesWebDataProtectionSettings_tags_IgnoreTags_Overlap_DefaultT func TestAccWorkSpacesWebDataProtectionSettings_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.DataProtectionSettings resourceName := "aws_workspacesweb_data_protection_settings.test" diff --git a/internal/service/workspacesweb/ip_access_settings_tags_gen_test.go b/internal/service/workspacesweb/ip_access_settings_tags_gen_test.go index 367819e2a557..96833b1b0757 100644 --- a/internal/service/workspacesweb/ip_access_settings_tags_gen_test.go +++ b/internal/service/workspacesweb/ip_access_settings_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccWorkSpacesWebIPAccessSettings_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.IpAccessSettings resourceName := "aws_workspacesweb_ip_access_settings.test" @@ -199,6 +200,7 @@ func TestAccWorkSpacesWebIPAccessSettings_tags(t *testing.T) { func TestAccWorkSpacesWebIPAccessSettings_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.IpAccessSettings resourceName := "aws_workspacesweb_ip_access_settings.test" @@ -260,6 +262,7 @@ func TestAccWorkSpacesWebIPAccessSettings_tags_null(t *testing.T) { func TestAccWorkSpacesWebIPAccessSettings_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.IpAccessSettings resourceName := "aws_workspacesweb_ip_access_settings.test" @@ -309,6 +312,7 @@ func TestAccWorkSpacesWebIPAccessSettings_tags_EmptyMap(t *testing.T) { func TestAccWorkSpacesWebIPAccessSettings_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.IpAccessSettings resourceName := "aws_workspacesweb_ip_access_settings.test" @@ -387,6 +391,7 @@ func TestAccWorkSpacesWebIPAccessSettings_tags_AddOnUpdate(t *testing.T) { func TestAccWorkSpacesWebIPAccessSettings_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.IpAccessSettings resourceName := "aws_workspacesweb_ip_access_settings.test" @@ -476,6 +481,7 @@ func TestAccWorkSpacesWebIPAccessSettings_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccWorkSpacesWebIPAccessSettings_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.IpAccessSettings resourceName := "aws_workspacesweb_ip_access_settings.test" @@ -613,6 +619,7 @@ func TestAccWorkSpacesWebIPAccessSettings_tags_EmptyTag_OnUpdate_Add(t *testing. func TestAccWorkSpacesWebIPAccessSettings_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.IpAccessSettings resourceName := "aws_workspacesweb_ip_access_settings.test" @@ -701,6 +708,7 @@ func TestAccWorkSpacesWebIPAccessSettings_tags_EmptyTag_OnUpdate_Replace(t *test func TestAccWorkSpacesWebIPAccessSettings_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.IpAccessSettings resourceName := "aws_workspacesweb_ip_access_settings.test" @@ -881,6 +889,7 @@ func TestAccWorkSpacesWebIPAccessSettings_tags_DefaultTags_providerOnly(t *testi func TestAccWorkSpacesWebIPAccessSettings_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.IpAccessSettings resourceName := "aws_workspacesweb_ip_access_settings.test" @@ -1040,6 +1049,7 @@ func TestAccWorkSpacesWebIPAccessSettings_tags_DefaultTags_nonOverlapping(t *tes func TestAccWorkSpacesWebIPAccessSettings_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.IpAccessSettings resourceName := "aws_workspacesweb_ip_access_settings.test" @@ -1215,6 +1225,7 @@ func TestAccWorkSpacesWebIPAccessSettings_tags_DefaultTags_overlapping(t *testin func TestAccWorkSpacesWebIPAccessSettings_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.IpAccessSettings resourceName := "aws_workspacesweb_ip_access_settings.test" @@ -1303,6 +1314,7 @@ func TestAccWorkSpacesWebIPAccessSettings_tags_DefaultTags_updateToProviderOnly( func TestAccWorkSpacesWebIPAccessSettings_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.IpAccessSettings resourceName := "aws_workspacesweb_ip_access_settings.test" @@ -1390,6 +1402,7 @@ func TestAccWorkSpacesWebIPAccessSettings_tags_DefaultTags_updateToResourceOnly( func TestAccWorkSpacesWebIPAccessSettings_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.IpAccessSettings resourceName := "aws_workspacesweb_ip_access_settings.test" @@ -1455,6 +1468,7 @@ func TestAccWorkSpacesWebIPAccessSettings_tags_DefaultTags_emptyResourceTag(t *t func TestAccWorkSpacesWebIPAccessSettings_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.IpAccessSettings resourceName := "aws_workspacesweb_ip_access_settings.test" @@ -1512,6 +1526,7 @@ func TestAccWorkSpacesWebIPAccessSettings_tags_DefaultTags_emptyProviderOnlyTag( func TestAccWorkSpacesWebIPAccessSettings_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.IpAccessSettings resourceName := "aws_workspacesweb_ip_access_settings.test" @@ -1580,6 +1595,7 @@ func TestAccWorkSpacesWebIPAccessSettings_tags_DefaultTags_nullOverlappingResour func TestAccWorkSpacesWebIPAccessSettings_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.IpAccessSettings resourceName := "aws_workspacesweb_ip_access_settings.test" @@ -1650,6 +1666,7 @@ func TestAccWorkSpacesWebIPAccessSettings_tags_DefaultTags_nullNonOverlappingRes func TestAccWorkSpacesWebIPAccessSettings_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.IpAccessSettings resourceName := "aws_workspacesweb_ip_access_settings.test" @@ -1704,6 +1721,7 @@ func TestAccWorkSpacesWebIPAccessSettings_tags_ComputedTag_OnCreate(t *testing.T func TestAccWorkSpacesWebIPAccessSettings_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.IpAccessSettings resourceName := "aws_workspacesweb_ip_access_settings.test" @@ -1799,6 +1817,7 @@ func TestAccWorkSpacesWebIPAccessSettings_tags_ComputedTag_OnUpdate_Add(t *testi func TestAccWorkSpacesWebIPAccessSettings_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.IpAccessSettings resourceName := "aws_workspacesweb_ip_access_settings.test" @@ -1884,6 +1903,7 @@ func TestAccWorkSpacesWebIPAccessSettings_tags_ComputedTag_OnUpdate_Replace(t *t func TestAccWorkSpacesWebIPAccessSettings_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.IpAccessSettings resourceName := "aws_workspacesweb_ip_access_settings.test" @@ -2042,6 +2062,7 @@ func TestAccWorkSpacesWebIPAccessSettings_tags_IgnoreTags_Overlap_DefaultTag(t * func TestAccWorkSpacesWebIPAccessSettings_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.IpAccessSettings resourceName := "aws_workspacesweb_ip_access_settings.test" diff --git a/internal/service/workspacesweb/network_settings_tags_gen_test.go b/internal/service/workspacesweb/network_settings_tags_gen_test.go index ca2b12c7a899..dae18ed395e8 100644 --- a/internal/service/workspacesweb/network_settings_tags_gen_test.go +++ b/internal/service/workspacesweb/network_settings_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccWorkSpacesWebNetworkSettings_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.NetworkSettings resourceName := "aws_workspacesweb_network_settings.test" @@ -199,6 +200,7 @@ func TestAccWorkSpacesWebNetworkSettings_tags(t *testing.T) { func TestAccWorkSpacesWebNetworkSettings_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.NetworkSettings resourceName := "aws_workspacesweb_network_settings.test" @@ -260,6 +262,7 @@ func TestAccWorkSpacesWebNetworkSettings_tags_null(t *testing.T) { func TestAccWorkSpacesWebNetworkSettings_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.NetworkSettings resourceName := "aws_workspacesweb_network_settings.test" @@ -309,6 +312,7 @@ func TestAccWorkSpacesWebNetworkSettings_tags_EmptyMap(t *testing.T) { func TestAccWorkSpacesWebNetworkSettings_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.NetworkSettings resourceName := "aws_workspacesweb_network_settings.test" @@ -387,6 +391,7 @@ func TestAccWorkSpacesWebNetworkSettings_tags_AddOnUpdate(t *testing.T) { func TestAccWorkSpacesWebNetworkSettings_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.NetworkSettings resourceName := "aws_workspacesweb_network_settings.test" @@ -476,6 +481,7 @@ func TestAccWorkSpacesWebNetworkSettings_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccWorkSpacesWebNetworkSettings_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.NetworkSettings resourceName := "aws_workspacesweb_network_settings.test" @@ -613,6 +619,7 @@ func TestAccWorkSpacesWebNetworkSettings_tags_EmptyTag_OnUpdate_Add(t *testing.T func TestAccWorkSpacesWebNetworkSettings_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.NetworkSettings resourceName := "aws_workspacesweb_network_settings.test" @@ -701,6 +708,7 @@ func TestAccWorkSpacesWebNetworkSettings_tags_EmptyTag_OnUpdate_Replace(t *testi func TestAccWorkSpacesWebNetworkSettings_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.NetworkSettings resourceName := "aws_workspacesweb_network_settings.test" @@ -881,6 +889,7 @@ func TestAccWorkSpacesWebNetworkSettings_tags_DefaultTags_providerOnly(t *testin func TestAccWorkSpacesWebNetworkSettings_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.NetworkSettings resourceName := "aws_workspacesweb_network_settings.test" @@ -1040,6 +1049,7 @@ func TestAccWorkSpacesWebNetworkSettings_tags_DefaultTags_nonOverlapping(t *test func TestAccWorkSpacesWebNetworkSettings_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.NetworkSettings resourceName := "aws_workspacesweb_network_settings.test" @@ -1215,6 +1225,7 @@ func TestAccWorkSpacesWebNetworkSettings_tags_DefaultTags_overlapping(t *testing func TestAccWorkSpacesWebNetworkSettings_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.NetworkSettings resourceName := "aws_workspacesweb_network_settings.test" @@ -1303,6 +1314,7 @@ func TestAccWorkSpacesWebNetworkSettings_tags_DefaultTags_updateToProviderOnly(t func TestAccWorkSpacesWebNetworkSettings_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.NetworkSettings resourceName := "aws_workspacesweb_network_settings.test" @@ -1390,6 +1402,7 @@ func TestAccWorkSpacesWebNetworkSettings_tags_DefaultTags_updateToResourceOnly(t func TestAccWorkSpacesWebNetworkSettings_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.NetworkSettings resourceName := "aws_workspacesweb_network_settings.test" @@ -1455,6 +1468,7 @@ func TestAccWorkSpacesWebNetworkSettings_tags_DefaultTags_emptyResourceTag(t *te func TestAccWorkSpacesWebNetworkSettings_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.NetworkSettings resourceName := "aws_workspacesweb_network_settings.test" @@ -1512,6 +1526,7 @@ func TestAccWorkSpacesWebNetworkSettings_tags_DefaultTags_emptyProviderOnlyTag(t func TestAccWorkSpacesWebNetworkSettings_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.NetworkSettings resourceName := "aws_workspacesweb_network_settings.test" @@ -1580,6 +1595,7 @@ func TestAccWorkSpacesWebNetworkSettings_tags_DefaultTags_nullOverlappingResourc func TestAccWorkSpacesWebNetworkSettings_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.NetworkSettings resourceName := "aws_workspacesweb_network_settings.test" @@ -1650,6 +1666,7 @@ func TestAccWorkSpacesWebNetworkSettings_tags_DefaultTags_nullNonOverlappingReso func TestAccWorkSpacesWebNetworkSettings_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.NetworkSettings resourceName := "aws_workspacesweb_network_settings.test" @@ -1704,6 +1721,7 @@ func TestAccWorkSpacesWebNetworkSettings_tags_ComputedTag_OnCreate(t *testing.T) func TestAccWorkSpacesWebNetworkSettings_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.NetworkSettings resourceName := "aws_workspacesweb_network_settings.test" @@ -1799,6 +1817,7 @@ func TestAccWorkSpacesWebNetworkSettings_tags_ComputedTag_OnUpdate_Add(t *testin func TestAccWorkSpacesWebNetworkSettings_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.NetworkSettings resourceName := "aws_workspacesweb_network_settings.test" @@ -1884,6 +1903,7 @@ func TestAccWorkSpacesWebNetworkSettings_tags_ComputedTag_OnUpdate_Replace(t *te func TestAccWorkSpacesWebNetworkSettings_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.NetworkSettings resourceName := "aws_workspacesweb_network_settings.test" @@ -2042,6 +2062,7 @@ func TestAccWorkSpacesWebNetworkSettings_tags_IgnoreTags_Overlap_DefaultTag(t *t func TestAccWorkSpacesWebNetworkSettings_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.NetworkSettings resourceName := "aws_workspacesweb_network_settings.test" diff --git a/internal/service/workspacesweb/user_access_logging_settings_tags_gen_test.go b/internal/service/workspacesweb/user_access_logging_settings_tags_gen_test.go index 2c2f944bf03c..6da331c4d75c 100644 --- a/internal/service/workspacesweb/user_access_logging_settings_tags_gen_test.go +++ b/internal/service/workspacesweb/user_access_logging_settings_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccWorkSpacesWebUserAccessLoggingSettings_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.UserAccessLoggingSettings resourceName := "aws_workspacesweb_user_access_logging_settings.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -208,6 +209,7 @@ func TestAccWorkSpacesWebUserAccessLoggingSettings_tags(t *testing.T) { func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.UserAccessLoggingSettings resourceName := "aws_workspacesweb_user_access_logging_settings.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -272,6 +274,7 @@ func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_null(t *testing.T) { func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.UserAccessLoggingSettings resourceName := "aws_workspacesweb_user_access_logging_settings.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -324,6 +327,7 @@ func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_EmptyMap(t *testing.T) { func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.UserAccessLoggingSettings resourceName := "aws_workspacesweb_user_access_logging_settings.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -406,6 +410,7 @@ func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_AddOnUpdate(t *testing.T func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.UserAccessLoggingSettings resourceName := "aws_workspacesweb_user_access_logging_settings.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_EmptyTag_OnCreate(t *tes func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.UserAccessLoggingSettings resourceName := "aws_workspacesweb_user_access_logging_settings.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -643,6 +649,7 @@ func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_EmptyTag_OnUpdate_Add(t func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.UserAccessLoggingSettings resourceName := "aws_workspacesweb_user_access_logging_settings.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -735,6 +742,7 @@ func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_EmptyTag_OnUpdate_Replac func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.UserAccessLoggingSettings resourceName := "aws_workspacesweb_user_access_logging_settings.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -924,6 +932,7 @@ func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_DefaultTags_providerOnly func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.UserAccessLoggingSettings resourceName := "aws_workspacesweb_user_access_logging_settings.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1090,6 +1099,7 @@ func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_DefaultTags_nonOverlappi func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.UserAccessLoggingSettings resourceName := "aws_workspacesweb_user_access_logging_settings.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1272,6 +1282,7 @@ func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_DefaultTags_overlapping( func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.UserAccessLoggingSettings resourceName := "aws_workspacesweb_user_access_logging_settings.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1364,6 +1375,7 @@ func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_DefaultTags_updateToProv func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.UserAccessLoggingSettings resourceName := "aws_workspacesweb_user_access_logging_settings.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1455,6 +1467,7 @@ func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_DefaultTags_updateToReso func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.UserAccessLoggingSettings resourceName := "aws_workspacesweb_user_access_logging_settings.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1523,6 +1536,7 @@ func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_DefaultTags_emptyResourc func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.UserAccessLoggingSettings resourceName := "aws_workspacesweb_user_access_logging_settings.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1583,6 +1597,7 @@ func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_DefaultTags_emptyProvide func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.UserAccessLoggingSettings resourceName := "aws_workspacesweb_user_access_logging_settings.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1654,6 +1669,7 @@ func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_DefaultTags_nullOverlapp func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.UserAccessLoggingSettings resourceName := "aws_workspacesweb_user_access_logging_settings.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1727,6 +1743,7 @@ func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_DefaultTags_nullNonOverl func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.UserAccessLoggingSettings resourceName := "aws_workspacesweb_user_access_logging_settings.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1784,6 +1801,7 @@ func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_ComputedTag_OnCreate(t * func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.UserAccessLoggingSettings resourceName := "aws_workspacesweb_user_access_logging_settings.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1883,6 +1901,7 @@ func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_ComputedTag_OnUpdate_Add func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.UserAccessLoggingSettings resourceName := "aws_workspacesweb_user_access_logging_settings.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1972,6 +1991,7 @@ func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_ComputedTag_OnUpdate_Rep func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.UserAccessLoggingSettings resourceName := "aws_workspacesweb_user_access_logging_settings.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2134,6 +2154,7 @@ func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_IgnoreTags_Overlap_Defau func TestAccWorkSpacesWebUserAccessLoggingSettings_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.UserAccessLoggingSettings resourceName := "aws_workspacesweb_user_access_logging_settings.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/workspacesweb/user_settings_tags_gen_test.go b/internal/service/workspacesweb/user_settings_tags_gen_test.go index 20d0ba52b1e0..1510985e51a6 100644 --- a/internal/service/workspacesweb/user_settings_tags_gen_test.go +++ b/internal/service/workspacesweb/user_settings_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccWorkSpacesWebUserSettings_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.UserSettings resourceName := "aws_workspacesweb_user_settings.test" @@ -199,6 +200,7 @@ func TestAccWorkSpacesWebUserSettings_tags(t *testing.T) { func TestAccWorkSpacesWebUserSettings_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.UserSettings resourceName := "aws_workspacesweb_user_settings.test" @@ -260,6 +262,7 @@ func TestAccWorkSpacesWebUserSettings_tags_null(t *testing.T) { func TestAccWorkSpacesWebUserSettings_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.UserSettings resourceName := "aws_workspacesweb_user_settings.test" @@ -309,6 +312,7 @@ func TestAccWorkSpacesWebUserSettings_tags_EmptyMap(t *testing.T) { func TestAccWorkSpacesWebUserSettings_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.UserSettings resourceName := "aws_workspacesweb_user_settings.test" @@ -387,6 +391,7 @@ func TestAccWorkSpacesWebUserSettings_tags_AddOnUpdate(t *testing.T) { func TestAccWorkSpacesWebUserSettings_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.UserSettings resourceName := "aws_workspacesweb_user_settings.test" @@ -476,6 +481,7 @@ func TestAccWorkSpacesWebUserSettings_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccWorkSpacesWebUserSettings_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.UserSettings resourceName := "aws_workspacesweb_user_settings.test" @@ -613,6 +619,7 @@ func TestAccWorkSpacesWebUserSettings_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccWorkSpacesWebUserSettings_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.UserSettings resourceName := "aws_workspacesweb_user_settings.test" @@ -701,6 +708,7 @@ func TestAccWorkSpacesWebUserSettings_tags_EmptyTag_OnUpdate_Replace(t *testing. func TestAccWorkSpacesWebUserSettings_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.UserSettings resourceName := "aws_workspacesweb_user_settings.test" @@ -881,6 +889,7 @@ func TestAccWorkSpacesWebUserSettings_tags_DefaultTags_providerOnly(t *testing.T func TestAccWorkSpacesWebUserSettings_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.UserSettings resourceName := "aws_workspacesweb_user_settings.test" @@ -1040,6 +1049,7 @@ func TestAccWorkSpacesWebUserSettings_tags_DefaultTags_nonOverlapping(t *testing func TestAccWorkSpacesWebUserSettings_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.UserSettings resourceName := "aws_workspacesweb_user_settings.test" @@ -1215,6 +1225,7 @@ func TestAccWorkSpacesWebUserSettings_tags_DefaultTags_overlapping(t *testing.T) func TestAccWorkSpacesWebUserSettings_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.UserSettings resourceName := "aws_workspacesweb_user_settings.test" @@ -1303,6 +1314,7 @@ func TestAccWorkSpacesWebUserSettings_tags_DefaultTags_updateToProviderOnly(t *t func TestAccWorkSpacesWebUserSettings_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.UserSettings resourceName := "aws_workspacesweb_user_settings.test" @@ -1390,6 +1402,7 @@ func TestAccWorkSpacesWebUserSettings_tags_DefaultTags_updateToResourceOnly(t *t func TestAccWorkSpacesWebUserSettings_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.UserSettings resourceName := "aws_workspacesweb_user_settings.test" @@ -1455,6 +1468,7 @@ func TestAccWorkSpacesWebUserSettings_tags_DefaultTags_emptyResourceTag(t *testi func TestAccWorkSpacesWebUserSettings_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.UserSettings resourceName := "aws_workspacesweb_user_settings.test" @@ -1512,6 +1526,7 @@ func TestAccWorkSpacesWebUserSettings_tags_DefaultTags_emptyProviderOnlyTag(t *t func TestAccWorkSpacesWebUserSettings_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.UserSettings resourceName := "aws_workspacesweb_user_settings.test" @@ -1580,6 +1595,7 @@ func TestAccWorkSpacesWebUserSettings_tags_DefaultTags_nullOverlappingResourceTa func TestAccWorkSpacesWebUserSettings_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.UserSettings resourceName := "aws_workspacesweb_user_settings.test" @@ -1650,6 +1666,7 @@ func TestAccWorkSpacesWebUserSettings_tags_DefaultTags_nullNonOverlappingResourc func TestAccWorkSpacesWebUserSettings_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.UserSettings resourceName := "aws_workspacesweb_user_settings.test" @@ -1704,6 +1721,7 @@ func TestAccWorkSpacesWebUserSettings_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccWorkSpacesWebUserSettings_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.UserSettings resourceName := "aws_workspacesweb_user_settings.test" @@ -1799,6 +1817,7 @@ func TestAccWorkSpacesWebUserSettings_tags_ComputedTag_OnUpdate_Add(t *testing.T func TestAccWorkSpacesWebUserSettings_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.UserSettings resourceName := "aws_workspacesweb_user_settings.test" @@ -1884,6 +1903,7 @@ func TestAccWorkSpacesWebUserSettings_tags_ComputedTag_OnUpdate_Replace(t *testi func TestAccWorkSpacesWebUserSettings_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.UserSettings resourceName := "aws_workspacesweb_user_settings.test" @@ -2042,6 +2062,7 @@ func TestAccWorkSpacesWebUserSettings_tags_IgnoreTags_Overlap_DefaultTag(t *test func TestAccWorkSpacesWebUserSettings_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.UserSettings resourceName := "aws_workspacesweb_user_settings.test" diff --git a/internal/service/xray/group_tags_gen_test.go b/internal/service/xray/group_tags_gen_test.go index ce6f0c86a289..0f83c3d5785a 100644 --- a/internal/service/xray/group_tags_gen_test.go +++ b/internal/service/xray/group_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccXRayGroup_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.Group resourceName := "aws_xray_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccXRayGroup_tags(t *testing.T) { func TestAccXRayGroup_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.Group resourceName := "aws_xray_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccXRayGroup_tags_null(t *testing.T) { func TestAccXRayGroup_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.Group resourceName := "aws_xray_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccXRayGroup_tags_EmptyMap(t *testing.T) { func TestAccXRayGroup_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.Group resourceName := "aws_xray_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccXRayGroup_tags_AddOnUpdate(t *testing.T) { func TestAccXRayGroup_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.Group resourceName := "aws_xray_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccXRayGroup_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccXRayGroup_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.Group resourceName := "aws_xray_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccXRayGroup_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccXRayGroup_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.Group resourceName := "aws_xray_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccXRayGroup_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccXRayGroup_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.Group resourceName := "aws_xray_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccXRayGroup_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccXRayGroup_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.Group resourceName := "aws_xray_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccXRayGroup_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccXRayGroup_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.Group resourceName := "aws_xray_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccXRayGroup_tags_DefaultTags_overlapping(t *testing.T) { func TestAccXRayGroup_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.Group resourceName := "aws_xray_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccXRayGroup_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccXRayGroup_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.Group resourceName := "aws_xray_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccXRayGroup_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccXRayGroup_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Group resourceName := "aws_xray_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccXRayGroup_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccXRayGroup_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Group resourceName := "aws_xray_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccXRayGroup_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccXRayGroup_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Group resourceName := "aws_xray_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccXRayGroup_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) func TestAccXRayGroup_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Group resourceName := "aws_xray_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccXRayGroup_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing. func TestAccXRayGroup_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.Group resourceName := "aws_xray_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccXRayGroup_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccXRayGroup_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.Group resourceName := "aws_xray_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccXRayGroup_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccXRayGroup_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.Group resourceName := "aws_xray_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccXRayGroup_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccXRayGroup_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Group resourceName := "aws_xray_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccXRayGroup_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccXRayGroup_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.Group resourceName := "aws_xray_group.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/xray/sampling_rule_tags_gen_test.go b/internal/service/xray/sampling_rule_tags_gen_test.go index 4774a07a7ece..beee9b442d84 100644 --- a/internal/service/xray/sampling_rule_tags_gen_test.go +++ b/internal/service/xray/sampling_rule_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccXRaySamplingRule_tags(t *testing.T) { ctx := acctest.Context(t) + var v types.SamplingRule resourceName := "aws_xray_sampling_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccXRaySamplingRule_tags(t *testing.T) { func TestAccXRaySamplingRule_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v types.SamplingRule resourceName := "aws_xray_sampling_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccXRaySamplingRule_tags_null(t *testing.T) { func TestAccXRaySamplingRule_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v types.SamplingRule resourceName := "aws_xray_sampling_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccXRaySamplingRule_tags_EmptyMap(t *testing.T) { func TestAccXRaySamplingRule_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v types.SamplingRule resourceName := "aws_xray_sampling_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccXRaySamplingRule_tags_AddOnUpdate(t *testing.T) { func TestAccXRaySamplingRule_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.SamplingRule resourceName := "aws_xray_sampling_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccXRaySamplingRule_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccXRaySamplingRule_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.SamplingRule resourceName := "aws_xray_sampling_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccXRaySamplingRule_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccXRaySamplingRule_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.SamplingRule resourceName := "aws_xray_sampling_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccXRaySamplingRule_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccXRaySamplingRule_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.SamplingRule resourceName := "aws_xray_sampling_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccXRaySamplingRule_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccXRaySamplingRule_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.SamplingRule resourceName := "aws_xray_sampling_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccXRaySamplingRule_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccXRaySamplingRule_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v types.SamplingRule resourceName := "aws_xray_sampling_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccXRaySamplingRule_tags_DefaultTags_overlapping(t *testing.T) { func TestAccXRaySamplingRule_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.SamplingRule resourceName := "aws_xray_sampling_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccXRaySamplingRule_tags_DefaultTags_updateToProviderOnly(t *testing.T) func TestAccXRaySamplingRule_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v types.SamplingRule resourceName := "aws_xray_sampling_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccXRaySamplingRule_tags_DefaultTags_updateToResourceOnly(t *testing.T) func TestAccXRaySamplingRule_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.SamplingRule resourceName := "aws_xray_sampling_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccXRaySamplingRule_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccXRaySamplingRule_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v types.SamplingRule resourceName := "aws_xray_sampling_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccXRaySamplingRule_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) func TestAccXRaySamplingRule_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.SamplingRule resourceName := "aws_xray_sampling_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccXRaySamplingRule_tags_DefaultTags_nullOverlappingResourceTag(t *test func TestAccXRaySamplingRule_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.SamplingRule resourceName := "aws_xray_sampling_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccXRaySamplingRule_tags_DefaultTags_nullNonOverlappingResourceTag(t *t func TestAccXRaySamplingRule_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v types.SamplingRule resourceName := "aws_xray_sampling_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccXRaySamplingRule_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccXRaySamplingRule_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v types.SamplingRule resourceName := "aws_xray_sampling_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccXRaySamplingRule_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccXRaySamplingRule_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v types.SamplingRule resourceName := "aws_xray_sampling_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccXRaySamplingRule_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccXRaySamplingRule_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v types.SamplingRule resourceName := "aws_xray_sampling_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccXRaySamplingRule_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccXRaySamplingRule_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v types.SamplingRule resourceName := "aws_xray_sampling_rule.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) From fdef849e8a5bcaea25df8a30299e6ed0630bd431 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Thu, 31 Jul 2025 14:52:13 -0700 Subject: [PATCH 0186/1301] Uses `acctest.Test` or `acctest.ParallelTest` instead of `resource` version --- .../identitytests/resource_test.go.gtpl | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/internal/generate/identitytests/resource_test.go.gtpl b/internal/generate/identitytests/resource_test.go.gtpl index 382a99002b53..de8ad9dd89cc 100644 --- a/internal/generate/identitytests/resource_test.go.gtpl +++ b/internal/generate/identitytests/resource_test.go.gtpl @@ -15,10 +15,6 @@ {{ template "commonInit" . }} {{ end }} -{{ define "Test" -}} -resource.{{ if and .Serialize (not .SerializeParallelTests) }}Test{{ else }}ParallelTest{{ end }} -{{- end }} - {{ define "TestCaseSetupNoProviders" -}} TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), @@ -253,7 +249,7 @@ func {{ template "testname" . }}_IdentitySerial(t *testing.T) { func {{ template "testname" . }}_Identity_Basic(t *testing.T) { {{- template "Init" . }} - {{ template "Test" . }}(t, resource.TestCase{ + {{ template "Test" . }}(ctx, t, resource.TestCase{ {{ template "TestCaseSetup" . }} Steps: []resource.TestStep{ {{ $step := 1 -}} @@ -382,7 +378,7 @@ func {{ template "testname" . }}_Identity_Basic(t *testing.T) { func {{ template "testname" . }}_Identity_RegionOverride(t *testing.T) { {{- template "InitRegionOverride" . }} - {{ template "Test" . }}(t, resource.TestCase{ + {{ template "Test" . }}(ctx, t, resource.TestCase{ {{ template "TestCaseSetupRegionOverride" . }} Steps: []resource.TestStep{ {{ $step := 1 -}} @@ -545,7 +541,7 @@ func {{ template "testname" . }}_Identity_RegionOverride(t *testing.T) { func {{ template "testname" . }}_Identity_ExistingResource_fromV5(t *testing.T) { {{- template "Init" . }} - {{ template "Test" . }}(t, resource.TestCase{ + {{ template "Test" . }}(ctx, t, resource.TestCase{ {{ template "TestCaseSetupNoProviders" . }} Steps: []resource.TestStep{ {{ $step := 1 -}} @@ -630,7 +626,7 @@ func {{ template "testname" . }}_Identity_RegionOverride(t *testing.T) { func {{ template "testname" . }}_Identity_ExistingResource_fromV6(t *testing.T) { {{- template "Init" . }} - {{ template "Test" . }}(t, resource.TestCase{ + {{ template "Test" . }}(ctx, t, resource.TestCase{ {{ template "TestCaseSetupNoProviders" . }} Steps: []resource.TestStep{ {{ $step := 1 -}} @@ -747,7 +743,7 @@ func {{ template "testname" . }}_Identity_RegionOverride(t *testing.T) { func {{ template "testname" . }}_Identity_ExistingResource(t *testing.T) { {{- template "Init" . }} - {{ template "Test" . }}(t, resource.TestCase{ + {{ template "Test" . }}(ctx, t, resource.TestCase{ {{ template "TestCaseSetupNoProviders" . }} Steps: []resource.TestStep{ {{ $step := 1 -}} @@ -880,7 +876,7 @@ func {{ template "testname" . }}_Identity_RegionOverride(t *testing.T) { func {{ template "testname" . }}_Identity_ExistingResource(t *testing.T) { {{- template "Init" . }} - {{ template "Test" . }}(t, resource.TestCase{ + {{ template "Test" . }}(ctx, t, resource.TestCase{ {{ template "TestCaseSetupNoProviders" . }} Steps: []resource.TestStep{ {{ $step := 1 -}} @@ -967,7 +963,7 @@ func {{ template "testname" . }}_Identity_RegionOverride(t *testing.T) { func {{ template "testname" . }}_Identity_ExistingResource(t *testing.T) { {{- template "Init" . }} - {{ template "Test" . }}(t, resource.TestCase{ + {{ template "Test" . }}(ctx, t, resource.TestCase{ {{ template "TestCaseSetupNoProviders" . }} Steps: []resource.TestStep{ {{ $step := 1 -}} From 0b0fc83da23dc5b1f6eaf7299b7c5f70ee5558a9 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Thu, 31 Jul 2025 14:52:31 -0700 Subject: [PATCH 0187/1301] Generates tests --- internal/service/acm/certificate_identity_gen_test.go | 6 +++--- ...certificate_authority_certificate_identity_gen_test.go | 6 +++--- .../acmpca/certificate_authority_identity_gen_test.go | 6 +++--- internal/service/acmpca/certificate_identity_gen_test.go | 6 +++--- internal/service/acmpca/policy_identity_gen_test.go | 6 +++--- .../service/amp/rule_group_namespace_identity_gen_test.go | 6 +++--- .../domain_name_access_association_identity_gen_test.go | 6 +++--- .../service/appfabric/app_bundle_identity_gen_test.go | 6 +++--- .../appflow/connector_profile_identity_gen_test.go | 8 ++++---- internal/service/appflow/flow_identity_gen_test.go | 6 +++--- ...uto_scaling_configuration_version_identity_gen_test.go | 6 +++--- .../observability_configuration_identity_gen_test.go | 6 +++--- internal/service/apprunner/service_identity_gen_test.go | 6 +++--- .../service/apprunner/vpc_connector_identity_gen_test.go | 6 +++--- .../apprunner/vpc_ingress_connection_identity_gen_test.go | 6 +++--- .../account_registration_identity_gen_test.go | 6 +++--- .../service/backup/region_settings_identity_gen_test.go | 6 +++--- .../service/batch/job_definition_identity_gen_test.go | 6 +++--- internal/service/batch/job_queue_identity_gen_test.go | 6 +++--- .../service/bcmdataexports/export_identity_gen_test.go | 6 +++--- .../service/bedrock/custom_model_identity_gen_test.go | 6 +++--- ..._invocation_logging_configuration_identity_gen_test.go | 6 +++--- internal/service/ce/anomaly_monitor_identity_gen_test.go | 4 ++-- .../service/ce/anomaly_subscription_identity_gen_test.go | 4 ++-- internal/service/ce/cost_category_identity_gen_test.go | 4 ++-- ...a_insights_pipeline_configuration_identity_gen_test.go | 6 +++--- .../cloudfront/key_value_store_identity_gen_test.go | 4 ++-- .../cloudfront/realtime_log_config_identity_gen_test.go | 4 ++-- .../cloudfrontkeyvaluestore/key_identity_gen_test.go | 4 ++-- .../cloudtrail/event_data_store_identity_gen_test.go | 6 +++--- internal/service/cloudtrail/trail_identity_gen_test.go | 6 +++--- internal/service/codeartifact/domain_identity_gen_test.go | 6 +++--- .../domain_permissions_policy_identity_gen_test.go | 6 +++--- .../service/codeartifact/repository_identity_gen_test.go | 6 +++--- .../repository_permissions_policy_identity_gen_test.go | 6 +++--- internal/service/codebuild/fleet_identity_gen_test.go | 6 +++--- internal/service/codebuild/project_identity_gen_test.go | 6 +++--- .../service/codebuild/report_group_identity_gen_test.go | 6 +++--- .../codebuild/resource_policy_identity_gen_test.go | 6 +++--- .../codebuild/source_credential_identity_gen_test.go | 6 +++--- .../codeconnections/connection_identity_gen_test.go | 6 +++--- .../service/codeconnections/host_identity_gen_test.go | 6 +++--- .../repository_association_identity_gen_test.go | 6 +++--- .../service/codepipeline/webhook_identity_gen_test.go | 6 +++--- .../codestarconnections/connection_identity_gen_test.go | 6 +++--- .../service/codestarconnections/host_identity_gen_test.go | 6 +++--- .../notification_rule_identity_gen_test.go | 6 +++--- .../log_delivery_configuration_identity_gen_test.go | 6 +++--- .../comprehend/document_classifier_identity_gen_test.go | 6 +++--- .../comprehend/entity_recognizer_identity_gen_test.go | 6 +++--- internal/service/datasync/agent_identity_gen_test.go | 6 +++--- .../datasync/location_azure_blob_identity_gen_test.go | 6 +++--- .../service/datasync/location_efs_identity_gen_test.go | 6 +++--- .../service/datasync/location_hdfs_identity_gen_test.go | 6 +++--- .../service/datasync/location_nfs_identity_gen_test.go | 6 +++--- .../datasync/location_object_storage_identity_gen_test.go | 6 +++--- .../service/datasync/location_s3_identity_gen_test.go | 6 +++--- .../service/datasync/location_smb_identity_gen_test.go | 6 +++--- internal/service/datasync/task_identity_gen_test.go | 6 +++--- .../service/devicefarm/device_pool_identity_gen_test.go | 4 ++-- .../devicefarm/instance_profile_identity_gen_test.go | 4 ++-- .../devicefarm/network_profile_identity_gen_test.go | 4 ++-- internal/service/devicefarm/project_identity_gen_test.go | 4 ++-- .../devicefarm/test_grid_project_identity_gen_test.go | 4 ++-- internal/service/devicefarm/upload_identity_gen_test.go | 4 ++-- .../devopsguru/event_sources_config_identity_gen_test.go | 6 +++--- .../devopsguru/service_integration_identity_gen_test.go | 6 +++--- .../service/dms/replication_config_identity_gen_test.go | 6 +++--- .../service/docdbelastic/cluster_identity_gen_test.go | 6 +++--- .../service/dynamodb/resource_policy_identity_gen_test.go | 6 +++--- .../service/dynamodb/table_export_identity_gen_test.go | 6 +++--- .../ebs_snapshot_block_public_access_identity_gen_test.go | 6 +++--- .../ec2_image_block_public_access_identity_gen_test.go | 4 ++-- .../ec2/ec2_serial_console_access_identity_gen_test.go | 4 ++-- ...pc_security_group_vpc_association_identity_gen_test.go | 6 +++--- .../service/ecs/capacity_provider_identity_gen_test.go | 6 +++--- internal/service/elbv2/listener_identity_gen_test.go | 6 +++--- internal/service/elbv2/listener_rule_identity_gen_test.go | 6 +++--- internal/service/elbv2/load_balancer_identity_gen_test.go | 6 +++--- internal/service/elbv2/target_group_identity_gen_test.go | 6 +++--- internal/service/elbv2/trust_store_identity_gen_test.go | 6 +++--- .../globalaccelerator/accelerator_identity_gen_test.go | 4 ++-- .../cross_account_attachment_identity_gen_test.go | 4 ++-- .../custom_routing_accelerator_identity_gen_test.go | 4 ++-- .../custom_routing_endpoint_group_identity_gen_test.go | 4 ++-- .../custom_routing_listener_identity_gen_test.go | 4 ++-- .../globalaccelerator/endpoint_group_identity_gen_test.go | 4 ++-- .../globalaccelerator/listener_identity_gen_test.go | 4 ++-- internal/service/glue/registry_identity_gen_test.go | 6 +++--- .../service/glue/resource_policy_identity_gen_test.go | 6 +++--- internal/service/glue/schema_identity_gen_test.go | 6 +++--- .../iam/openid_connect_provider_identity_gen_test.go | 4 ++-- internal/service/iam/policy_identity_gen_test.go | 4 ++-- internal/service/iam/role_identity_gen_test.go | 4 ++-- .../iam/role_policy_attachment_identity_gen_test.go | 4 ++-- internal/service/iam/role_policy_identity_gen_test.go | 4 ++-- internal/service/iam/saml_provider_identity_gen_test.go | 4 ++-- .../service/iam/service_linked_role_identity_gen_test.go | 4 ++-- .../imagebuilder/container_recipe_identity_gen_test.go | 6 +++--- .../distribution_configuration_identity_gen_test.go | 6 +++--- internal/service/imagebuilder/image_identity_gen_test.go | 6 +++--- .../imagebuilder/image_pipeline_identity_gen_test.go | 6 +++--- .../imagebuilder/image_recipe_identity_gen_test.go | 6 +++--- .../infrastructure_configuration_identity_gen_test.go | 6 +++--- .../imagebuilder/lifecycle_policy_identity_gen_test.go | 6 +++--- .../service/imagebuilder/workflow_identity_gen_test.go | 6 +++--- .../inspector/assessment_target_identity_gen_test.go | 6 +++--- .../inspector/assessment_template_identity_gen_test.go | 6 +++--- .../service/inspector/resource_group_identity_gen_test.go | 6 +++--- .../service/iot/event_configurations_identity_gen_test.go | 6 +++--- .../iot/indexing_configuration_identity_gen_test.go | 6 +++--- internal/service/iot/logging_options_identity_gen_test.go | 6 +++--- .../service/kinesis/resource_policy_identity_gen_test.go | 6 +++--- ...assification_export_configuration_identity_gen_test.go | 6 +++--- .../tls_inspection_configuration_identity_gen_test.go | 6 +++--- .../organizations/organization_identity_gen_test.go | 4 ++-- .../organizational_unit_identity_gen_test.go | 4 ++-- .../organizations/policy_attachment_identity_gen_test.go | 4 ++-- .../service/organizations/policy_identity_gen_test.go | 4 ++-- .../organizations/resource_policy_identity_gen_test.go | 4 ++-- .../service/paymentcryptography/key_identity_gen_test.go | 6 +++--- internal/service/rds/certificate_identity_gen_test.go | 6 +++--- internal/service/rds/integration_identity_gen_test.go | 6 +++--- .../service/resourceexplorer2/index_identity_gen_test.go | 6 +++--- .../service/resourceexplorer2/view_identity_gen_test.go | 6 +++--- internal/service/route53/record_identity_gen_test.go | 4 ++-- internal/service/s3/bucket_identity_gen_test.go | 6 +++--- internal/service/s3/bucket_object_identity_gen_test.go | 6 +++--- internal/service/s3/object_identity_gen_test.go | 6 +++--- .../account_public_access_block_identity_gen_test.go | 4 ++-- .../servicecatalog_portfolio_status_identity_gen_test.go | 6 +++--- .../service/sagemaker/user_profile_identity_gen_test.go | 6 +++--- .../securityhub/automation_rule_identity_gen_test.go | 6 +++--- ...lication_layer_automatic_response_identity_gen_test.go | 4 ++-- internal/service/sns/topic_identity_gen_test.go | 6 +++--- .../service/ssmcontacts/rotation_identity_gen_test.go | 4 ++-- ...lication_assignment_configuration_identity_gen_test.go | 8 ++++---- .../service/ssoadmin/application_identity_gen_test.go | 6 +++--- .../ssoadmin/trusted_token_issuer_identity_gen_test.go | 6 +++--- .../service/xray/encryption_config_identity_gen_test.go | 6 +++--- internal/service/xray/group_identity_gen_test.go | 6 +++--- 141 files changed, 388 insertions(+), 388 deletions(-) diff --git a/internal/service/acm/certificate_identity_gen_test.go b/internal/service/acm/certificate_identity_gen_test.go index cc17d2acd002..0404cfeedb47 100644 --- a/internal/service/acm/certificate_identity_gen_test.go +++ b/internal/service/acm/certificate_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccACMCertificate_Identity_Basic(t *testing.T) { privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) certificatePEM := acctest.TLSRSAX509SelfSignedCertificatePEM(t, privateKeyPEM, acctest.RandomDomain().String()) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -124,7 +124,7 @@ func TestAccACMCertificate_Identity_RegionOverride(t *testing.T) { privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) certificatePEM := acctest.TLSRSAX509SelfSignedCertificatePEM(t, privateKeyPEM, acctest.RandomDomain().String()) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -264,7 +264,7 @@ func TestAccACMCertificate_Identity_ExistingResource(t *testing.T) { privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) certificatePEM := acctest.TLSRSAX509SelfSignedCertificatePEM(t, privateKeyPEM, acctest.RandomDomain().String()) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/acmpca/certificate_authority_certificate_identity_gen_test.go b/internal/service/acmpca/certificate_authority_certificate_identity_gen_test.go index d11c404d63e4..e83d9edb4666 100644 --- a/internal/service/acmpca/certificate_authority_certificate_identity_gen_test.go +++ b/internal/service/acmpca/certificate_authority_certificate_identity_gen_test.go @@ -26,7 +26,7 @@ func TestAccACMPCACertificateAuthorityCertificate_Identity_Basic(t *testing.T) { resourceName := "aws_acmpca_certificate_authority_certificate.test" rName := acctest.RandomDomainName() - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -111,7 +111,7 @@ func TestAccACMPCACertificateAuthorityCertificate_Identity_RegionOverride(t *tes resourceName := "aws_acmpca_certificate_authority_certificate.test" rName := acctest.RandomDomainName() - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -232,7 +232,7 @@ func TestAccACMPCACertificateAuthorityCertificate_Identity_ExistingResource(t *t resourceName := "aws_acmpca_certificate_authority_certificate.test" rName := acctest.RandomDomainName() - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/acmpca/certificate_authority_identity_gen_test.go b/internal/service/acmpca/certificate_authority_identity_gen_test.go index b67ad534e9df..85a338b27f79 100644 --- a/internal/service/acmpca/certificate_authority_identity_gen_test.go +++ b/internal/service/acmpca/certificate_authority_identity_gen_test.go @@ -26,7 +26,7 @@ func TestAccACMPCACertificateAuthority_Identity_Basic(t *testing.T) { resourceName := "aws_acmpca_certificate_authority.test" rName := acctest.RandomDomainName() - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -118,7 +118,7 @@ func TestAccACMPCACertificateAuthority_Identity_RegionOverride(t *testing.T) { resourceName := "aws_acmpca_certificate_authority.test" rName := acctest.RandomDomainName() - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -251,7 +251,7 @@ func TestAccACMPCACertificateAuthority_Identity_ExistingResource(t *testing.T) { resourceName := "aws_acmpca_certificate_authority.test" rName := acctest.RandomDomainName() - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/acmpca/certificate_identity_gen_test.go b/internal/service/acmpca/certificate_identity_gen_test.go index c0f888355444..02c642dda7a2 100644 --- a/internal/service/acmpca/certificate_identity_gen_test.go +++ b/internal/service/acmpca/certificate_identity_gen_test.go @@ -24,7 +24,7 @@ func TestAccACMPCACertificate_Identity_Basic(t *testing.T) { resourceName := "aws_acmpca_certificate.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -116,7 +116,7 @@ func TestAccACMPCACertificate_Identity_RegionOverride(t *testing.T) { resourceName := "aws_acmpca_certificate.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -247,7 +247,7 @@ func TestAccACMPCACertificate_Identity_ExistingResource(t *testing.T) { resourceName := "aws_acmpca_certificate.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/acmpca/policy_identity_gen_test.go b/internal/service/acmpca/policy_identity_gen_test.go index 8791d6108afc..01377d6aa209 100644 --- a/internal/service/acmpca/policy_identity_gen_test.go +++ b/internal/service/acmpca/policy_identity_gen_test.go @@ -22,7 +22,7 @@ func TestAccACMPCAPolicy_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) resourceName := "aws_acmpca_policy.test" - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -98,7 +98,7 @@ func TestAccACMPCAPolicy_Identity_RegionOverride(t *testing.T) { resourceName := "aws_acmpca_policy.test" - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -210,7 +210,7 @@ func TestAccACMPCAPolicy_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) resourceName := "aws_acmpca_policy.test" - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/amp/rule_group_namespace_identity_gen_test.go b/internal/service/amp/rule_group_namespace_identity_gen_test.go index 56f61da6b442..ce3d72dbf810 100644 --- a/internal/service/amp/rule_group_namespace_identity_gen_test.go +++ b/internal/service/amp/rule_group_namespace_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccAMPRuleGroupNamespace_Identity_Basic(t *testing.T) { resourceName := "aws_prometheus_rule_group_namespace.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -112,7 +112,7 @@ func TestAccAMPRuleGroupNamespace_Identity_RegionOverride(t *testing.T) { resourceName := "aws_prometheus_rule_group_namespace.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -233,7 +233,7 @@ func TestAccAMPRuleGroupNamespace_Identity_ExistingResource(t *testing.T) { resourceName := "aws_prometheus_rule_group_namespace.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/apigateway/domain_name_access_association_identity_gen_test.go b/internal/service/apigateway/domain_name_access_association_identity_gen_test.go index a6f1d9c102b4..8804e3cedde7 100644 --- a/internal/service/apigateway/domain_name_access_association_identity_gen_test.go +++ b/internal/service/apigateway/domain_name_access_association_identity_gen_test.go @@ -28,7 +28,7 @@ func TestAccAPIGatewayDomainNameAccessAssociation_Identity_Basic(t *testing.T) { privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) certificatePEM := acctest.TLSRSAX509SelfSignedCertificatePEM(t, privateKeyPEM, rName) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -123,7 +123,7 @@ func TestAccAPIGatewayDomainNameAccessAssociation_Identity_RegionOverride(t *tes privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) certificatePEM := acctest.TLSRSAX509SelfSignedCertificatePEM(t, privateKeyPEM, rName) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -258,7 +258,7 @@ func TestAccAPIGatewayDomainNameAccessAssociation_Identity_ExistingResource(t *t privateKeyPEM := acctest.TLSRSAPrivateKeyPEM(t, 2048) certificatePEM := acctest.TLSRSAX509SelfSignedCertificatePEM(t, privateKeyPEM, rName) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/appfabric/app_bundle_identity_gen_test.go b/internal/service/appfabric/app_bundle_identity_gen_test.go index 3b0665ef7d48..98017b970871 100644 --- a/internal/service/appfabric/app_bundle_identity_gen_test.go +++ b/internal/service/appfabric/app_bundle_identity_gen_test.go @@ -38,7 +38,7 @@ func testAccAppFabricAppBundle_Identity_Basic(t *testing.T) { var v awstypes.AppBundle resourceName := "aws_appfabric_app_bundle.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -117,7 +117,7 @@ func testAccAppFabricAppBundle_Identity_RegionOverride(t *testing.T) { resourceName := "aws_appfabric_app_bundle.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -234,7 +234,7 @@ func testAccAppFabricAppBundle_Identity_ExistingResource(t *testing.T) { var v awstypes.AppBundle resourceName := "aws_appfabric_app_bundle.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/appflow/connector_profile_identity_gen_test.go b/internal/service/appflow/connector_profile_identity_gen_test.go index 5a284643fdf0..261bdb2d9f18 100644 --- a/internal/service/appflow/connector_profile_identity_gen_test.go +++ b/internal/service/appflow/connector_profile_identity_gen_test.go @@ -28,7 +28,7 @@ func TestAccAppFlowConnectorProfile_Identity_Basic(t *testing.T) { resourceName := "aws_appflow_connector_profile.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -123,7 +123,7 @@ func TestAccAppFlowConnectorProfile_Identity_RegionOverride(t *testing.T) { resourceName := "aws_appflow_connector_profile.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -220,7 +220,7 @@ func TestAccAppFlowConnectorProfile_Identity_ExistingResource_fromV5(t *testing. resourceName := "aws_appflow_connector_profile.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -280,7 +280,7 @@ func TestAccAppFlowConnectorProfile_Identity_ExistingResource_fromV6(t *testing. resourceName := "aws_appflow_connector_profile.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/appflow/flow_identity_gen_test.go b/internal/service/appflow/flow_identity_gen_test.go index f81b7a28c172..3b3057b2392b 100644 --- a/internal/service/appflow/flow_identity_gen_test.go +++ b/internal/service/appflow/flow_identity_gen_test.go @@ -28,7 +28,7 @@ func TestAccAppFlowFlow_Identity_Basic(t *testing.T) { resourceName := "aws_appflow_flow.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -116,7 +116,7 @@ func TestAccAppFlowFlow_Identity_RegionOverride(t *testing.T) { resourceName := "aws_appflow_flow.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -206,7 +206,7 @@ func TestAccAppFlowFlow_Identity_ExistingResource(t *testing.T) { resourceName := "aws_appflow_flow.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/apprunner/auto_scaling_configuration_version_identity_gen_test.go b/internal/service/apprunner/auto_scaling_configuration_version_identity_gen_test.go index e3559cba26a7..52171200faf8 100644 --- a/internal/service/apprunner/auto_scaling_configuration_version_identity_gen_test.go +++ b/internal/service/apprunner/auto_scaling_configuration_version_identity_gen_test.go @@ -24,7 +24,7 @@ func TestAccAppRunnerAutoScalingConfigurationVersion_Identity_Basic(t *testing.T resourceName := "aws_apprunner_auto_scaling_configuration_version.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -109,7 +109,7 @@ func TestAccAppRunnerAutoScalingConfigurationVersion_Identity_RegionOverride(t * resourceName := "aws_apprunner_auto_scaling_configuration_version.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -228,7 +228,7 @@ func TestAccAppRunnerAutoScalingConfigurationVersion_Identity_ExistingResource(t resourceName := "aws_apprunner_auto_scaling_configuration_version.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/apprunner/observability_configuration_identity_gen_test.go b/internal/service/apprunner/observability_configuration_identity_gen_test.go index 2d0b1bb8e825..72273a1b0f4c 100644 --- a/internal/service/apprunner/observability_configuration_identity_gen_test.go +++ b/internal/service/apprunner/observability_configuration_identity_gen_test.go @@ -24,7 +24,7 @@ func TestAccAppRunnerObservabilityConfiguration_Identity_Basic(t *testing.T) { resourceName := "aws_apprunner_observability_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -109,7 +109,7 @@ func TestAccAppRunnerObservabilityConfiguration_Identity_RegionOverride(t *testi resourceName := "aws_apprunner_observability_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -228,7 +228,7 @@ func TestAccAppRunnerObservabilityConfiguration_Identity_ExistingResource(t *tes resourceName := "aws_apprunner_observability_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/apprunner/service_identity_gen_test.go b/internal/service/apprunner/service_identity_gen_test.go index d35a5595bbaa..f65884410f6e 100644 --- a/internal/service/apprunner/service_identity_gen_test.go +++ b/internal/service/apprunner/service_identity_gen_test.go @@ -24,7 +24,7 @@ func TestAccAppRunnerService_Identity_Basic(t *testing.T) { resourceName := "aws_apprunner_service.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -109,7 +109,7 @@ func TestAccAppRunnerService_Identity_RegionOverride(t *testing.T) { resourceName := "aws_apprunner_service.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -228,7 +228,7 @@ func TestAccAppRunnerService_Identity_ExistingResource(t *testing.T) { resourceName := "aws_apprunner_service.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/apprunner/vpc_connector_identity_gen_test.go b/internal/service/apprunner/vpc_connector_identity_gen_test.go index 44864105d0c6..9e82e9b68642 100644 --- a/internal/service/apprunner/vpc_connector_identity_gen_test.go +++ b/internal/service/apprunner/vpc_connector_identity_gen_test.go @@ -24,7 +24,7 @@ func TestAccAppRunnerVPCConnector_Identity_Basic(t *testing.T) { resourceName := "aws_apprunner_vpc_connector.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -109,7 +109,7 @@ func TestAccAppRunnerVPCConnector_Identity_RegionOverride(t *testing.T) { resourceName := "aws_apprunner_vpc_connector.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -228,7 +228,7 @@ func TestAccAppRunnerVPCConnector_Identity_ExistingResource(t *testing.T) { resourceName := "aws_apprunner_vpc_connector.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/apprunner/vpc_ingress_connection_identity_gen_test.go b/internal/service/apprunner/vpc_ingress_connection_identity_gen_test.go index be36136e8151..0b66783a3514 100644 --- a/internal/service/apprunner/vpc_ingress_connection_identity_gen_test.go +++ b/internal/service/apprunner/vpc_ingress_connection_identity_gen_test.go @@ -24,7 +24,7 @@ func TestAccAppRunnerVPCIngressConnection_Identity_Basic(t *testing.T) { resourceName := "aws_apprunner_vpc_ingress_connection.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -109,7 +109,7 @@ func TestAccAppRunnerVPCIngressConnection_Identity_RegionOverride(t *testing.T) resourceName := "aws_apprunner_vpc_ingress_connection.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -228,7 +228,7 @@ func TestAccAppRunnerVPCIngressConnection_Identity_ExistingResource(t *testing.T resourceName := "aws_apprunner_vpc_ingress_connection.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/auditmanager/account_registration_identity_gen_test.go b/internal/service/auditmanager/account_registration_identity_gen_test.go index 755e79794220..da6ab1a410b8 100644 --- a/internal/service/auditmanager/account_registration_identity_gen_test.go +++ b/internal/service/auditmanager/account_registration_identity_gen_test.go @@ -35,7 +35,7 @@ func testAccAuditManagerAccountRegistration_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) resourceName := "aws_auditmanager_account_registration.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -106,7 +106,7 @@ func testAccAuditManagerAccountRegistration_Identity_RegionOverride(t *testing.T resourceName := "aws_auditmanager_account_registration.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -215,7 +215,7 @@ func testAccAuditManagerAccountRegistration_Identity_ExistingResource(t *testing ctx := acctest.Context(t) resourceName := "aws_auditmanager_account_registration.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/backup/region_settings_identity_gen_test.go b/internal/service/backup/region_settings_identity_gen_test.go index 434f50bd7ea4..eb6b02ef9acb 100644 --- a/internal/service/backup/region_settings_identity_gen_test.go +++ b/internal/service/backup/region_settings_identity_gen_test.go @@ -38,7 +38,7 @@ func testAccBackupRegionSettings_Identity_Basic(t *testing.T) { var v backup.DescribeRegionSettingsOutput resourceName := "aws_backup_region_settings.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -115,7 +115,7 @@ func testAccBackupRegionSettings_Identity_RegionOverride(t *testing.T) { resourceName := "aws_backup_region_settings.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -229,7 +229,7 @@ func testAccBackupRegionSettings_Identity_ExistingResource(t *testing.T) { var v backup.DescribeRegionSettingsOutput resourceName := "aws_backup_region_settings.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/batch/job_definition_identity_gen_test.go b/internal/service/batch/job_definition_identity_gen_test.go index 06e2bf434a0b..515cde790554 100644 --- a/internal/service/batch/job_definition_identity_gen_test.go +++ b/internal/service/batch/job_definition_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccBatchJobDefinition_Identity_Basic(t *testing.T) { resourceName := "aws_batch_job_definition.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -113,7 +113,7 @@ func TestAccBatchJobDefinition_Identity_RegionOverride(t *testing.T) { resourceName := "aws_batch_job_definition.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -236,7 +236,7 @@ func TestAccBatchJobDefinition_Identity_ExistingResource(t *testing.T) { resourceName := "aws_batch_job_definition.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/batch/job_queue_identity_gen_test.go b/internal/service/batch/job_queue_identity_gen_test.go index 71942acfa4b9..8a242d43dace 100644 --- a/internal/service/batch/job_queue_identity_gen_test.go +++ b/internal/service/batch/job_queue_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccBatchJobQueue_Identity_Basic(t *testing.T) { resourceName := "aws_batch_job_queue.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -113,7 +113,7 @@ func TestAccBatchJobQueue_Identity_RegionOverride(t *testing.T) { resourceName := "aws_batch_job_queue.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -235,7 +235,7 @@ func TestAccBatchJobQueue_Identity_ExistingResource(t *testing.T) { resourceName := "aws_batch_job_queue.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/bcmdataexports/export_identity_gen_test.go b/internal/service/bcmdataexports/export_identity_gen_test.go index 703ec87eee99..aa45d4c8e636 100644 --- a/internal/service/bcmdataexports/export_identity_gen_test.go +++ b/internal/service/bcmdataexports/export_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccBCMDataExportsExport_Identity_Basic(t *testing.T) { resourceName := "aws_bcmdataexports_export.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -110,7 +110,7 @@ func TestAccBCMDataExportsExport_Identity_ExistingResource_fromV5(t *testing.T) resourceName := "aws_bcmdataexports_export.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -168,7 +168,7 @@ func TestAccBCMDataExportsExport_Identity_ExistingResource_fromV6(t *testing.T) resourceName := "aws_bcmdataexports_export.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/bedrock/custom_model_identity_gen_test.go b/internal/service/bedrock/custom_model_identity_gen_test.go index c18c8153b8a5..8cd955815ddc 100644 --- a/internal/service/bedrock/custom_model_identity_gen_test.go +++ b/internal/service/bedrock/custom_model_identity_gen_test.go @@ -39,7 +39,7 @@ func testAccBedrockCustomModel_Identity_Basic(t *testing.T) { resourceName := "aws_bedrock_custom_model.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -131,7 +131,7 @@ func testAccBedrockCustomModel_Identity_RegionOverride(t *testing.T) { resourceName := "aws_bedrock_custom_model.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -264,7 +264,7 @@ func testAccBedrockCustomModel_Identity_ExistingResource(t *testing.T) { resourceName := "aws_bedrock_custom_model.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/bedrock/model_invocation_logging_configuration_identity_gen_test.go b/internal/service/bedrock/model_invocation_logging_configuration_identity_gen_test.go index c8ab5d2923ce..20f0f606de82 100644 --- a/internal/service/bedrock/model_invocation_logging_configuration_identity_gen_test.go +++ b/internal/service/bedrock/model_invocation_logging_configuration_identity_gen_test.go @@ -37,7 +37,7 @@ func testAccBedrockModelInvocationLoggingConfiguration_Identity_Basic(t *testing resourceName := "aws_bedrock_model_invocation_logging_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -120,7 +120,7 @@ func testAccBedrockModelInvocationLoggingConfiguration_Identity_RegionOverride(t resourceName := "aws_bedrock_model_invocation_logging_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -236,7 +236,7 @@ func testAccBedrockModelInvocationLoggingConfiguration_Identity_ExistingResource resourceName := "aws_bedrock_model_invocation_logging_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/ce/anomaly_monitor_identity_gen_test.go b/internal/service/ce/anomaly_monitor_identity_gen_test.go index 149dc2911646..afddb7687fad 100644 --- a/internal/service/ce/anomaly_monitor_identity_gen_test.go +++ b/internal/service/ce/anomaly_monitor_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccCEAnomalyMonitor_Identity_Basic(t *testing.T) { resourceName := "aws_ce_anomaly_monitor.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -110,7 +110,7 @@ func TestAccCEAnomalyMonitor_Identity_ExistingResource(t *testing.T) { resourceName := "aws_ce_anomaly_monitor.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/ce/anomaly_subscription_identity_gen_test.go b/internal/service/ce/anomaly_subscription_identity_gen_test.go index 7c41fa90db1c..2b56a73243b1 100644 --- a/internal/service/ce/anomaly_subscription_identity_gen_test.go +++ b/internal/service/ce/anomaly_subscription_identity_gen_test.go @@ -29,7 +29,7 @@ func TestAccCEAnomalySubscription_Identity_Basic(t *testing.T) { domain := acctest.RandomDomainName() email_address := acctest.RandomEmailAddress(domain) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -118,7 +118,7 @@ func TestAccCEAnomalySubscription_Identity_ExistingResource(t *testing.T) { domain := acctest.RandomDomainName() email_address := acctest.RandomEmailAddress(domain) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/ce/cost_category_identity_gen_test.go b/internal/service/ce/cost_category_identity_gen_test.go index a50090ac3768..815042cab4ca 100644 --- a/internal/service/ce/cost_category_identity_gen_test.go +++ b/internal/service/ce/cost_category_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccCECostCategory_Identity_Basic(t *testing.T) { resourceName := "aws_ce_cost_category.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -110,7 +110,7 @@ func TestAccCECostCategory_Identity_ExistingResource(t *testing.T) { resourceName := "aws_ce_cost_category.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/chimesdkmediapipelines/media_insights_pipeline_configuration_identity_gen_test.go b/internal/service/chimesdkmediapipelines/media_insights_pipeline_configuration_identity_gen_test.go index a5bf7433d6dd..02eb0b225882 100644 --- a/internal/service/chimesdkmediapipelines/media_insights_pipeline_configuration_identity_gen_test.go +++ b/internal/service/chimesdkmediapipelines/media_insights_pipeline_configuration_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccChimeSDKMediaPipelinesMediaInsightsPipelineConfiguration_Identity_Ba resourceName := "aws_chimesdkmediapipelines_media_insights_pipeline_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -112,7 +112,7 @@ func TestAccChimeSDKMediaPipelinesMediaInsightsPipelineConfiguration_Identity_Re resourceName := "aws_chimesdkmediapipelines_media_insights_pipeline_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -233,7 +233,7 @@ func TestAccChimeSDKMediaPipelinesMediaInsightsPipelineConfiguration_Identity_Ex resourceName := "aws_chimesdkmediapipelines_media_insights_pipeline_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/cloudfront/key_value_store_identity_gen_test.go b/internal/service/cloudfront/key_value_store_identity_gen_test.go index e83234e0e11c..b6e7cc8a5889 100644 --- a/internal/service/cloudfront/key_value_store_identity_gen_test.go +++ b/internal/service/cloudfront/key_value_store_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccCloudFrontKeyValueStore_Identity_Basic(t *testing.T) { resourceName := "aws_cloudfront_key_value_store.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -112,7 +112,7 @@ func TestAccCloudFrontKeyValueStore_Identity_ExistingResource(t *testing.T) { resourceName := "aws_cloudfront_key_value_store.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/cloudfront/realtime_log_config_identity_gen_test.go b/internal/service/cloudfront/realtime_log_config_identity_gen_test.go index b880dcd2123a..a075714d19ea 100644 --- a/internal/service/cloudfront/realtime_log_config_identity_gen_test.go +++ b/internal/service/cloudfront/realtime_log_config_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccCloudFrontRealtimeLogConfig_Identity_Basic(t *testing.T) { resourceName := "aws_cloudfront_realtime_log_config.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -111,7 +111,7 @@ func TestAccCloudFrontRealtimeLogConfig_Identity_ExistingResource(t *testing.T) resourceName := "aws_cloudfront_realtime_log_config.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/cloudfrontkeyvaluestore/key_identity_gen_test.go b/internal/service/cloudfrontkeyvaluestore/key_identity_gen_test.go index f91cf1715643..f1ffbabe3877 100644 --- a/internal/service/cloudfrontkeyvaluestore/key_identity_gen_test.go +++ b/internal/service/cloudfrontkeyvaluestore/key_identity_gen_test.go @@ -24,7 +24,7 @@ func TestAccCloudFrontKeyValueStoreKey_Identity_Basic(t *testing.T) { resourceName := "aws_cloudfrontkeyvaluestore_key.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -108,7 +108,7 @@ func TestAccCloudFrontKeyValueStoreKey_Identity_ExistingResource(t *testing.T) { resourceName := "aws_cloudfrontkeyvaluestore_key.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/cloudtrail/event_data_store_identity_gen_test.go b/internal/service/cloudtrail/event_data_store_identity_gen_test.go index 4071968256e1..2031e4795bbe 100644 --- a/internal/service/cloudtrail/event_data_store_identity_gen_test.go +++ b/internal/service/cloudtrail/event_data_store_identity_gen_test.go @@ -24,7 +24,7 @@ func TestAccCloudTrailEventDataStore_Identity_Basic(t *testing.T) { resourceName := "aws_cloudtrail_event_data_store.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -109,7 +109,7 @@ func TestAccCloudTrailEventDataStore_Identity_RegionOverride(t *testing.T) { resourceName := "aws_cloudtrail_event_data_store.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -228,7 +228,7 @@ func TestAccCloudTrailEventDataStore_Identity_ExistingResource(t *testing.T) { resourceName := "aws_cloudtrail_event_data_store.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/cloudtrail/trail_identity_gen_test.go b/internal/service/cloudtrail/trail_identity_gen_test.go index 2b292a827e56..375dc04b9c3d 100644 --- a/internal/service/cloudtrail/trail_identity_gen_test.go +++ b/internal/service/cloudtrail/trail_identity_gen_test.go @@ -39,7 +39,7 @@ func testAccCloudTrailTrail_Identity_Basic(t *testing.T) { resourceName := "aws_cloudtrail.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -124,7 +124,7 @@ func testAccCloudTrailTrail_Identity_RegionOverride(t *testing.T) { resourceName := "aws_cloudtrail.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -245,7 +245,7 @@ func testAccCloudTrailTrail_Identity_ExistingResource(t *testing.T) { resourceName := "aws_cloudtrail.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/codeartifact/domain_identity_gen_test.go b/internal/service/codeartifact/domain_identity_gen_test.go index 7cb63b1f821d..1c4571a04b7a 100644 --- a/internal/service/codeartifact/domain_identity_gen_test.go +++ b/internal/service/codeartifact/domain_identity_gen_test.go @@ -36,7 +36,7 @@ func testAccCodeArtifactDomain_Identity_Basic(t *testing.T) { resourceName := "aws_codeartifact_domain.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -122,7 +122,7 @@ func testAccCodeArtifactDomain_Identity_RegionOverride(t *testing.T) { resourceName := "aws_codeartifact_domain.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -242,7 +242,7 @@ func testAccCodeArtifactDomain_Identity_ExistingResource(t *testing.T) { resourceName := "aws_codeartifact_domain.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/codeartifact/domain_permissions_policy_identity_gen_test.go b/internal/service/codeartifact/domain_permissions_policy_identity_gen_test.go index 6e658290e129..4f3139e1dc0d 100644 --- a/internal/service/codeartifact/domain_permissions_policy_identity_gen_test.go +++ b/internal/service/codeartifact/domain_permissions_policy_identity_gen_test.go @@ -36,7 +36,7 @@ func testAccCodeArtifactDomainPermissionsPolicy_Identity_Basic(t *testing.T) { resourceName := "aws_codeartifact_domain_permissions_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -121,7 +121,7 @@ func testAccCodeArtifactDomainPermissionsPolicy_Identity_RegionOverride(t *testi resourceName := "aws_codeartifact_domain_permissions_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -240,7 +240,7 @@ func testAccCodeArtifactDomainPermissionsPolicy_Identity_ExistingResource(t *tes resourceName := "aws_codeartifact_domain_permissions_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/codeartifact/repository_identity_gen_test.go b/internal/service/codeartifact/repository_identity_gen_test.go index c58eab0f8a15..c8446af704b6 100644 --- a/internal/service/codeartifact/repository_identity_gen_test.go +++ b/internal/service/codeartifact/repository_identity_gen_test.go @@ -36,7 +36,7 @@ func testAccCodeArtifactRepository_Identity_Basic(t *testing.T) { resourceName := "aws_codeartifact_repository.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -122,7 +122,7 @@ func testAccCodeArtifactRepository_Identity_RegionOverride(t *testing.T) { resourceName := "aws_codeartifact_repository.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -242,7 +242,7 @@ func testAccCodeArtifactRepository_Identity_ExistingResource(t *testing.T) { resourceName := "aws_codeartifact_repository.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/codeartifact/repository_permissions_policy_identity_gen_test.go b/internal/service/codeartifact/repository_permissions_policy_identity_gen_test.go index 08b151290337..b0af92484aec 100644 --- a/internal/service/codeartifact/repository_permissions_policy_identity_gen_test.go +++ b/internal/service/codeartifact/repository_permissions_policy_identity_gen_test.go @@ -36,7 +36,7 @@ func testAccCodeArtifactRepositoryPermissionsPolicy_Identity_Basic(t *testing.T) resourceName := "aws_codeartifact_repository_permissions_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -121,7 +121,7 @@ func testAccCodeArtifactRepositoryPermissionsPolicy_Identity_RegionOverride(t *t resourceName := "aws_codeartifact_repository_permissions_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -240,7 +240,7 @@ func testAccCodeArtifactRepositoryPermissionsPolicy_Identity_ExistingResource(t resourceName := "aws_codeartifact_repository_permissions_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/codebuild/fleet_identity_gen_test.go b/internal/service/codebuild/fleet_identity_gen_test.go index 79001c2d2b4e..29b6a0ba59d8 100644 --- a/internal/service/codebuild/fleet_identity_gen_test.go +++ b/internal/service/codebuild/fleet_identity_gen_test.go @@ -24,7 +24,7 @@ func TestAccCodeBuildFleet_Identity_Basic(t *testing.T) { resourceName := "aws_codebuild_fleet.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -109,7 +109,7 @@ func TestAccCodeBuildFleet_Identity_RegionOverride(t *testing.T) { resourceName := "aws_codebuild_fleet.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -228,7 +228,7 @@ func TestAccCodeBuildFleet_Identity_ExistingResource(t *testing.T) { resourceName := "aws_codebuild_fleet.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/codebuild/project_identity_gen_test.go b/internal/service/codebuild/project_identity_gen_test.go index 8b52057f6236..189fb3f4062b 100644 --- a/internal/service/codebuild/project_identity_gen_test.go +++ b/internal/service/codebuild/project_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccCodeBuildProject_Identity_Basic(t *testing.T) { resourceName := "aws_codebuild_project.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -117,7 +117,7 @@ func TestAccCodeBuildProject_Identity_RegionOverride(t *testing.T) { resourceName := "aws_codebuild_project.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -244,7 +244,7 @@ func TestAccCodeBuildProject_Identity_ExistingResource(t *testing.T) { resourceName := "aws_codebuild_project.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/codebuild/report_group_identity_gen_test.go b/internal/service/codebuild/report_group_identity_gen_test.go index f42293e2bd3b..9cae3b523866 100644 --- a/internal/service/codebuild/report_group_identity_gen_test.go +++ b/internal/service/codebuild/report_group_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccCodeBuildReportGroup_Identity_Basic(t *testing.T) { resourceName := "aws_codebuild_report_group.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -116,7 +116,7 @@ func TestAccCodeBuildReportGroup_Identity_RegionOverride(t *testing.T) { resourceName := "aws_codebuild_report_group.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -244,7 +244,7 @@ func TestAccCodeBuildReportGroup_Identity_ExistingResource(t *testing.T) { resourceName := "aws_codebuild_report_group.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/codebuild/resource_policy_identity_gen_test.go b/internal/service/codebuild/resource_policy_identity_gen_test.go index 90829c9be154..c509fbcab669 100644 --- a/internal/service/codebuild/resource_policy_identity_gen_test.go +++ b/internal/service/codebuild/resource_policy_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccCodeBuildResourcePolicy_Identity_Basic(t *testing.T) { resourceName := "aws_codebuild_resource_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -112,7 +112,7 @@ func TestAccCodeBuildResourcePolicy_Identity_RegionOverride(t *testing.T) { resourceName := "aws_codebuild_resource_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -233,7 +233,7 @@ func TestAccCodeBuildResourcePolicy_Identity_ExistingResource(t *testing.T) { resourceName := "aws_codebuild_resource_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/codebuild/source_credential_identity_gen_test.go b/internal/service/codebuild/source_credential_identity_gen_test.go index bf293d49c5da..8efb868ac1c3 100644 --- a/internal/service/codebuild/source_credential_identity_gen_test.go +++ b/internal/service/codebuild/source_credential_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccCodeBuildSourceCredential_Identity_Basic(t *testing.T) { resourceName := "aws_codebuild_source_credential.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -119,7 +119,7 @@ func TestAccCodeBuildSourceCredential_Identity_RegionOverride(t *testing.T) { resourceName := "aws_codebuild_source_credential.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -252,7 +252,7 @@ func TestAccCodeBuildSourceCredential_Identity_ExistingResource(t *testing.T) { resourceName := "aws_codebuild_source_credential.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/codeconnections/connection_identity_gen_test.go b/internal/service/codeconnections/connection_identity_gen_test.go index 49d0653206a8..229def0611ba 100644 --- a/internal/service/codeconnections/connection_identity_gen_test.go +++ b/internal/service/codeconnections/connection_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccCodeConnectionsConnection_Identity_Basic(t *testing.T) { resourceName := "aws_codeconnections_connection.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -112,7 +112,7 @@ func TestAccCodeConnectionsConnection_Identity_RegionOverride(t *testing.T) { resourceName := "aws_codeconnections_connection.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -233,7 +233,7 @@ func TestAccCodeConnectionsConnection_Identity_ExistingResource(t *testing.T) { resourceName := "aws_codeconnections_connection.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/codeconnections/host_identity_gen_test.go b/internal/service/codeconnections/host_identity_gen_test.go index eed0d1626de8..9dcbb9a1a72b 100644 --- a/internal/service/codeconnections/host_identity_gen_test.go +++ b/internal/service/codeconnections/host_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccCodeConnectionsHost_Identity_Basic(t *testing.T) { resourceName := "aws_codeconnections_host.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -112,7 +112,7 @@ func TestAccCodeConnectionsHost_Identity_RegionOverride(t *testing.T) { resourceName := "aws_codeconnections_host.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -233,7 +233,7 @@ func TestAccCodeConnectionsHost_Identity_ExistingResource(t *testing.T) { resourceName := "aws_codeconnections_host.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/codegurureviewer/repository_association_identity_gen_test.go b/internal/service/codegurureviewer/repository_association_identity_gen_test.go index 19c7e5254737..7aaa44facfb3 100644 --- a/internal/service/codegurureviewer/repository_association_identity_gen_test.go +++ b/internal/service/codegurureviewer/repository_association_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccCodeGuruReviewerRepositoryAssociation_Identity_Basic(t *testing.T) { resourceName := "aws_codegurureviewer_repository_association.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -119,7 +119,7 @@ func TestAccCodeGuruReviewerRepositoryAssociation_Identity_RegionOverride(t *tes resourceName := "aws_codegurureviewer_repository_association.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -252,7 +252,7 @@ func TestAccCodeGuruReviewerRepositoryAssociation_Identity_ExistingResource(t *t resourceName := "aws_codegurureviewer_repository_association.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/codepipeline/webhook_identity_gen_test.go b/internal/service/codepipeline/webhook_identity_gen_test.go index 046d2da3e779..2ab627ad77da 100644 --- a/internal/service/codepipeline/webhook_identity_gen_test.go +++ b/internal/service/codepipeline/webhook_identity_gen_test.go @@ -28,7 +28,7 @@ func TestAccCodePipelineWebhook_Identity_Basic(t *testing.T) { resourceName := "aws_codepipeline_webhook.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -118,7 +118,7 @@ func TestAccCodePipelineWebhook_Identity_RegionOverride(t *testing.T) { resourceName := "aws_codepipeline_webhook.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -244,7 +244,7 @@ func TestAccCodePipelineWebhook_Identity_ExistingResource(t *testing.T) { resourceName := "aws_codepipeline_webhook.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/codestarconnections/connection_identity_gen_test.go b/internal/service/codestarconnections/connection_identity_gen_test.go index dbb8797e625b..d274b5e0ecff 100644 --- a/internal/service/codestarconnections/connection_identity_gen_test.go +++ b/internal/service/codestarconnections/connection_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccCodeStarConnectionsConnection_Identity_Basic(t *testing.T) { resourceName := "aws_codestarconnections_connection.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -112,7 +112,7 @@ func TestAccCodeStarConnectionsConnection_Identity_RegionOverride(t *testing.T) resourceName := "aws_codestarconnections_connection.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -233,7 +233,7 @@ func TestAccCodeStarConnectionsConnection_Identity_ExistingResource(t *testing.T resourceName := "aws_codestarconnections_connection.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/codestarconnections/host_identity_gen_test.go b/internal/service/codestarconnections/host_identity_gen_test.go index 1c61706628d0..c1ccf36bf0d1 100644 --- a/internal/service/codestarconnections/host_identity_gen_test.go +++ b/internal/service/codestarconnections/host_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccCodeStarConnectionsHost_Identity_Basic(t *testing.T) { resourceName := "aws_codestarconnections_host.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -112,7 +112,7 @@ func TestAccCodeStarConnectionsHost_Identity_RegionOverride(t *testing.T) { resourceName := "aws_codestarconnections_host.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -233,7 +233,7 @@ func TestAccCodeStarConnectionsHost_Identity_ExistingResource(t *testing.T) { resourceName := "aws_codestarconnections_host.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/codestarnotifications/notification_rule_identity_gen_test.go b/internal/service/codestarnotifications/notification_rule_identity_gen_test.go index 9ff2bec514d9..353b9b7ae699 100644 --- a/internal/service/codestarnotifications/notification_rule_identity_gen_test.go +++ b/internal/service/codestarnotifications/notification_rule_identity_gen_test.go @@ -24,7 +24,7 @@ func TestAccCodeStarNotificationsNotificationRule_Identity_Basic(t *testing.T) { resourceName := "aws_codestarnotifications_notification_rule.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -109,7 +109,7 @@ func TestAccCodeStarNotificationsNotificationRule_Identity_RegionOverride(t *tes resourceName := "aws_codestarnotifications_notification_rule.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -228,7 +228,7 @@ func TestAccCodeStarNotificationsNotificationRule_Identity_ExistingResource(t *t resourceName := "aws_codestarnotifications_notification_rule.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/cognitoidp/log_delivery_configuration_identity_gen_test.go b/internal/service/cognitoidp/log_delivery_configuration_identity_gen_test.go index 7ca63fd1f9b5..f0c97acdb84c 100644 --- a/internal/service/cognitoidp/log_delivery_configuration_identity_gen_test.go +++ b/internal/service/cognitoidp/log_delivery_configuration_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccCognitoIDPLogDeliveryConfiguration_Identity_Basic(t *testing.T) { resourceName := "aws_cognito_log_delivery_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -114,7 +114,7 @@ func TestAccCognitoIDPLogDeliveryConfiguration_Identity_RegionOverride(t *testin resourceName := "aws_cognito_log_delivery_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -204,7 +204,7 @@ func TestAccCognitoIDPLogDeliveryConfiguration_Identity_ExistingResource(t *test resourceName := "aws_cognito_log_delivery_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/comprehend/document_classifier_identity_gen_test.go b/internal/service/comprehend/document_classifier_identity_gen_test.go index 01e20f22cbd4..3d149a357c0d 100644 --- a/internal/service/comprehend/document_classifier_identity_gen_test.go +++ b/internal/service/comprehend/document_classifier_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccComprehendDocumentClassifier_Identity_Basic(t *testing.T) { resourceName := "aws_comprehend_document_classifier.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -115,7 +115,7 @@ func TestAccComprehendDocumentClassifier_Identity_RegionOverride(t *testing.T) { resourceName := "aws_comprehend_document_classifier.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -239,7 +239,7 @@ func TestAccComprehendDocumentClassifier_Identity_ExistingResource(t *testing.T) resourceName := "aws_comprehend_document_classifier.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/comprehend/entity_recognizer_identity_gen_test.go b/internal/service/comprehend/entity_recognizer_identity_gen_test.go index f86c253591bc..06c220b40ee4 100644 --- a/internal/service/comprehend/entity_recognizer_identity_gen_test.go +++ b/internal/service/comprehend/entity_recognizer_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccComprehendEntityRecognizer_Identity_Basic(t *testing.T) { resourceName := "aws_comprehend_entity_recognizer.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -115,7 +115,7 @@ func TestAccComprehendEntityRecognizer_Identity_RegionOverride(t *testing.T) { resourceName := "aws_comprehend_entity_recognizer.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -239,7 +239,7 @@ func TestAccComprehendEntityRecognizer_Identity_ExistingResource(t *testing.T) { resourceName := "aws_comprehend_entity_recognizer.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/datasync/agent_identity_gen_test.go b/internal/service/datasync/agent_identity_gen_test.go index d4db315b3240..5e265a74551d 100644 --- a/internal/service/datasync/agent_identity_gen_test.go +++ b/internal/service/datasync/agent_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccDataSyncAgent_Identity_Basic(t *testing.T) { resourceName := "aws_datasync_agent.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -122,7 +122,7 @@ func TestAccDataSyncAgent_Identity_RegionOverride(t *testing.T) { resourceName := "aws_datasync_agent.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -258,7 +258,7 @@ func TestAccDataSyncAgent_Identity_ExistingResource(t *testing.T) { resourceName := "aws_datasync_agent.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/datasync/location_azure_blob_identity_gen_test.go b/internal/service/datasync/location_azure_blob_identity_gen_test.go index b81bfb487fbe..0021b1bdc7de 100644 --- a/internal/service/datasync/location_azure_blob_identity_gen_test.go +++ b/internal/service/datasync/location_azure_blob_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccDataSyncLocationAzureBlob_Identity_Basic(t *testing.T) { resourceName := "aws_datasync_location_azure_blob.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -122,7 +122,7 @@ func TestAccDataSyncLocationAzureBlob_Identity_RegionOverride(t *testing.T) { resourceName := "aws_datasync_location_azure_blob.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -258,7 +258,7 @@ func TestAccDataSyncLocationAzureBlob_Identity_ExistingResource(t *testing.T) { resourceName := "aws_datasync_location_azure_blob.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/datasync/location_efs_identity_gen_test.go b/internal/service/datasync/location_efs_identity_gen_test.go index 734e87a5bf73..278b88f2cd39 100644 --- a/internal/service/datasync/location_efs_identity_gen_test.go +++ b/internal/service/datasync/location_efs_identity_gen_test.go @@ -25,7 +25,7 @@ func TestAccDataSyncLocationEFS_Identity_Basic(t *testing.T) { var v datasync.DescribeLocationEfsOutput resourceName := "aws_datasync_location_efs.test" - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -104,7 +104,7 @@ func TestAccDataSyncLocationEFS_Identity_RegionOverride(t *testing.T) { resourceName := "aws_datasync_location_efs.test" - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -221,7 +221,7 @@ func TestAccDataSyncLocationEFS_Identity_ExistingResource(t *testing.T) { var v datasync.DescribeLocationEfsOutput resourceName := "aws_datasync_location_efs.test" - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/datasync/location_hdfs_identity_gen_test.go b/internal/service/datasync/location_hdfs_identity_gen_test.go index a856ebdc2f80..8c3ccfe29918 100644 --- a/internal/service/datasync/location_hdfs_identity_gen_test.go +++ b/internal/service/datasync/location_hdfs_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccDataSyncLocationHDFS_Identity_Basic(t *testing.T) { resourceName := "aws_datasync_location_hdfs.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -115,7 +115,7 @@ func TestAccDataSyncLocationHDFS_Identity_RegionOverride(t *testing.T) { resourceName := "aws_datasync_location_hdfs.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -239,7 +239,7 @@ func TestAccDataSyncLocationHDFS_Identity_ExistingResource(t *testing.T) { resourceName := "aws_datasync_location_hdfs.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/datasync/location_nfs_identity_gen_test.go b/internal/service/datasync/location_nfs_identity_gen_test.go index 79db547982b1..091f9e44f16e 100644 --- a/internal/service/datasync/location_nfs_identity_gen_test.go +++ b/internal/service/datasync/location_nfs_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccDataSyncLocationNFS_Identity_Basic(t *testing.T) { resourceName := "aws_datasync_location_nfs.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -115,7 +115,7 @@ func TestAccDataSyncLocationNFS_Identity_RegionOverride(t *testing.T) { resourceName := "aws_datasync_location_nfs.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -239,7 +239,7 @@ func TestAccDataSyncLocationNFS_Identity_ExistingResource(t *testing.T) { resourceName := "aws_datasync_location_nfs.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/datasync/location_object_storage_identity_gen_test.go b/internal/service/datasync/location_object_storage_identity_gen_test.go index 1c32e68a5e58..f7e533303de8 100644 --- a/internal/service/datasync/location_object_storage_identity_gen_test.go +++ b/internal/service/datasync/location_object_storage_identity_gen_test.go @@ -28,7 +28,7 @@ func TestAccDataSyncLocationObjectStorage_Identity_Basic(t *testing.T) { rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) domain := acctest.RandomDomainName() - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -121,7 +121,7 @@ func TestAccDataSyncLocationObjectStorage_Identity_RegionOverride(t *testing.T) rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) domain := acctest.RandomDomainName() - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -252,7 +252,7 @@ func TestAccDataSyncLocationObjectStorage_Identity_ExistingResource(t *testing.T rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) domain := acctest.RandomDomainName() - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/datasync/location_s3_identity_gen_test.go b/internal/service/datasync/location_s3_identity_gen_test.go index 36f7d3447034..f787e1dc9586 100644 --- a/internal/service/datasync/location_s3_identity_gen_test.go +++ b/internal/service/datasync/location_s3_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccDataSyncLocationS3_Identity_Basic(t *testing.T) { resourceName := "aws_datasync_location_s3.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -115,7 +115,7 @@ func TestAccDataSyncLocationS3_Identity_RegionOverride(t *testing.T) { resourceName := "aws_datasync_location_s3.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -239,7 +239,7 @@ func TestAccDataSyncLocationS3_Identity_ExistingResource(t *testing.T) { resourceName := "aws_datasync_location_s3.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/datasync/location_smb_identity_gen_test.go b/internal/service/datasync/location_smb_identity_gen_test.go index 554fe0002671..ed556bb9d2f7 100644 --- a/internal/service/datasync/location_smb_identity_gen_test.go +++ b/internal/service/datasync/location_smb_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccDataSyncLocationSMB_Identity_Basic(t *testing.T) { resourceName := "aws_datasync_location_smb.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -122,7 +122,7 @@ func TestAccDataSyncLocationSMB_Identity_RegionOverride(t *testing.T) { resourceName := "aws_datasync_location_smb.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -258,7 +258,7 @@ func TestAccDataSyncLocationSMB_Identity_ExistingResource(t *testing.T) { resourceName := "aws_datasync_location_smb.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/datasync/task_identity_gen_test.go b/internal/service/datasync/task_identity_gen_test.go index d31b53734f12..af0c506fdadc 100644 --- a/internal/service/datasync/task_identity_gen_test.go +++ b/internal/service/datasync/task_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccDataSyncTask_Identity_Basic(t *testing.T) { resourceName := "aws_datasync_task.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -115,7 +115,7 @@ func TestAccDataSyncTask_Identity_RegionOverride(t *testing.T) { resourceName := "aws_datasync_task.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -239,7 +239,7 @@ func TestAccDataSyncTask_Identity_ExistingResource(t *testing.T) { resourceName := "aws_datasync_task.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/devicefarm/device_pool_identity_gen_test.go b/internal/service/devicefarm/device_pool_identity_gen_test.go index 5fab059a8636..e2e006084c50 100644 --- a/internal/service/devicefarm/device_pool_identity_gen_test.go +++ b/internal/service/devicefarm/device_pool_identity_gen_test.go @@ -28,7 +28,7 @@ func TestAccDeviceFarmDevicePool_Identity_Basic(t *testing.T) { resourceName := "aws_devicefarm_device_pool.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -117,7 +117,7 @@ func TestAccDeviceFarmDevicePool_Identity_ExistingResource(t *testing.T) { resourceName := "aws_devicefarm_device_pool.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/devicefarm/instance_profile_identity_gen_test.go b/internal/service/devicefarm/instance_profile_identity_gen_test.go index 83ff2246761b..0418f0d9baed 100644 --- a/internal/service/devicefarm/instance_profile_identity_gen_test.go +++ b/internal/service/devicefarm/instance_profile_identity_gen_test.go @@ -28,7 +28,7 @@ func TestAccDeviceFarmInstanceProfile_Identity_Basic(t *testing.T) { resourceName := "aws_devicefarm_instance_profile.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -117,7 +117,7 @@ func TestAccDeviceFarmInstanceProfile_Identity_ExistingResource(t *testing.T) { resourceName := "aws_devicefarm_instance_profile.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/devicefarm/network_profile_identity_gen_test.go b/internal/service/devicefarm/network_profile_identity_gen_test.go index cfd7a0c59d62..326cbaf98ed9 100644 --- a/internal/service/devicefarm/network_profile_identity_gen_test.go +++ b/internal/service/devicefarm/network_profile_identity_gen_test.go @@ -28,7 +28,7 @@ func TestAccDeviceFarmNetworkProfile_Identity_Basic(t *testing.T) { resourceName := "aws_devicefarm_network_profile.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -117,7 +117,7 @@ func TestAccDeviceFarmNetworkProfile_Identity_ExistingResource(t *testing.T) { resourceName := "aws_devicefarm_network_profile.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/devicefarm/project_identity_gen_test.go b/internal/service/devicefarm/project_identity_gen_test.go index 4294ee486224..f8f8cff84940 100644 --- a/internal/service/devicefarm/project_identity_gen_test.go +++ b/internal/service/devicefarm/project_identity_gen_test.go @@ -28,7 +28,7 @@ func TestAccDeviceFarmProject_Identity_Basic(t *testing.T) { resourceName := "aws_devicefarm_project.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -117,7 +117,7 @@ func TestAccDeviceFarmProject_Identity_ExistingResource(t *testing.T) { resourceName := "aws_devicefarm_project.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/devicefarm/test_grid_project_identity_gen_test.go b/internal/service/devicefarm/test_grid_project_identity_gen_test.go index 74d3471a0815..8ce7437ea40d 100644 --- a/internal/service/devicefarm/test_grid_project_identity_gen_test.go +++ b/internal/service/devicefarm/test_grid_project_identity_gen_test.go @@ -28,7 +28,7 @@ func TestAccDeviceFarmTestGridProject_Identity_Basic(t *testing.T) { resourceName := "aws_devicefarm_test_grid_project.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -117,7 +117,7 @@ func TestAccDeviceFarmTestGridProject_Identity_ExistingResource(t *testing.T) { resourceName := "aws_devicefarm_test_grid_project.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/devicefarm/upload_identity_gen_test.go b/internal/service/devicefarm/upload_identity_gen_test.go index 24d474766df1..70c46595b631 100644 --- a/internal/service/devicefarm/upload_identity_gen_test.go +++ b/internal/service/devicefarm/upload_identity_gen_test.go @@ -28,7 +28,7 @@ func TestAccDeviceFarmUpload_Identity_Basic(t *testing.T) { resourceName := "aws_devicefarm_upload.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -120,7 +120,7 @@ func TestAccDeviceFarmUpload_Identity_ExistingResource(t *testing.T) { resourceName := "aws_devicefarm_upload.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/devopsguru/event_sources_config_identity_gen_test.go b/internal/service/devopsguru/event_sources_config_identity_gen_test.go index f28c86e70c6f..c758adf8b50c 100644 --- a/internal/service/devopsguru/event_sources_config_identity_gen_test.go +++ b/internal/service/devopsguru/event_sources_config_identity_gen_test.go @@ -38,7 +38,7 @@ func testAccDevOpsGuruEventSourcesConfig_Identity_Basic(t *testing.T) { var v devopsguru.DescribeEventSourcesConfigOutput resourceName := "aws_devopsguru_event_sources_config.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -115,7 +115,7 @@ func testAccDevOpsGuruEventSourcesConfig_Identity_RegionOverride(t *testing.T) { resourceName := "aws_devopsguru_event_sources_config.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -229,7 +229,7 @@ func testAccDevOpsGuruEventSourcesConfig_Identity_ExistingResource(t *testing.T) var v devopsguru.DescribeEventSourcesConfigOutput resourceName := "aws_devopsguru_event_sources_config.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/devopsguru/service_integration_identity_gen_test.go b/internal/service/devopsguru/service_integration_identity_gen_test.go index 0f5c98a2d0c2..c5521e0ad927 100644 --- a/internal/service/devopsguru/service_integration_identity_gen_test.go +++ b/internal/service/devopsguru/service_integration_identity_gen_test.go @@ -35,7 +35,7 @@ func testAccDevOpsGuruServiceIntegration_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) resourceName := "aws_devopsguru_service_integration.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -112,7 +112,7 @@ func testAccDevOpsGuruServiceIntegration_Identity_RegionOverride(t *testing.T) { resourceName := "aws_devopsguru_service_integration.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -224,7 +224,7 @@ func testAccDevOpsGuruServiceIntegration_Identity_ExistingResource(t *testing.T) ctx := acctest.Context(t) resourceName := "aws_devopsguru_service_integration.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/dms/replication_config_identity_gen_test.go b/internal/service/dms/replication_config_identity_gen_test.go index fd516d3ed612..388458195d2f 100644 --- a/internal/service/dms/replication_config_identity_gen_test.go +++ b/internal/service/dms/replication_config_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccDMSReplicationConfig_Identity_Basic(t *testing.T) { resourceName := "aws_dms_replication_config.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -115,7 +115,7 @@ func TestAccDMSReplicationConfig_Identity_RegionOverride(t *testing.T) { resourceName := "aws_dms_replication_config.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -242,7 +242,7 @@ func TestAccDMSReplicationConfig_Identity_ExistingResource(t *testing.T) { resourceName := "aws_dms_replication_config.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/docdbelastic/cluster_identity_gen_test.go b/internal/service/docdbelastic/cluster_identity_gen_test.go index 558e3ce7e98f..79ce28f1d9c9 100644 --- a/internal/service/docdbelastic/cluster_identity_gen_test.go +++ b/internal/service/docdbelastic/cluster_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccDocDBElasticCluster_Identity_Basic(t *testing.T) { resourceName := "aws_docdbelastic_cluster.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -119,7 +119,7 @@ func TestAccDocDBElasticCluster_Identity_RegionOverride(t *testing.T) { resourceName := "aws_docdbelastic_cluster.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -252,7 +252,7 @@ func TestAccDocDBElasticCluster_Identity_ExistingResource(t *testing.T) { resourceName := "aws_docdbelastic_cluster.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/dynamodb/resource_policy_identity_gen_test.go b/internal/service/dynamodb/resource_policy_identity_gen_test.go index 1be8e78f39c5..33ccb055fb80 100644 --- a/internal/service/dynamodb/resource_policy_identity_gen_test.go +++ b/internal/service/dynamodb/resource_policy_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccDynamoDBResourcePolicy_Identity_Basic(t *testing.T) { resourceName := "aws_dynamodb_resource_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -119,7 +119,7 @@ func TestAccDynamoDBResourcePolicy_Identity_RegionOverride(t *testing.T) { resourceName := "aws_dynamodb_resource_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -252,7 +252,7 @@ func TestAccDynamoDBResourcePolicy_Identity_ExistingResource(t *testing.T) { resourceName := "aws_dynamodb_resource_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/dynamodb/table_export_identity_gen_test.go b/internal/service/dynamodb/table_export_identity_gen_test.go index 509780fa5fed..c7c86a6f61b3 100644 --- a/internal/service/dynamodb/table_export_identity_gen_test.go +++ b/internal/service/dynamodb/table_export_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccDynamoDBTableExport_Identity_Basic(t *testing.T) { resourceName := "aws_dynamodb_table_export.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -112,7 +112,7 @@ func TestAccDynamoDBTableExport_Identity_RegionOverride(t *testing.T) { resourceName := "aws_dynamodb_table_export.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -233,7 +233,7 @@ func TestAccDynamoDBTableExport_Identity_ExistingResource(t *testing.T) { resourceName := "aws_dynamodb_table_export.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/ec2/ebs_snapshot_block_public_access_identity_gen_test.go b/internal/service/ec2/ebs_snapshot_block_public_access_identity_gen_test.go index b381d38a3035..67a1c41b7479 100644 --- a/internal/service/ec2/ebs_snapshot_block_public_access_identity_gen_test.go +++ b/internal/service/ec2/ebs_snapshot_block_public_access_identity_gen_test.go @@ -35,7 +35,7 @@ func testAccEC2EBSEBSSnapshotBlockPublicAccess_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) resourceName := "aws_ebs_snapshot_block_public_access.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -106,7 +106,7 @@ func testAccEC2EBSEBSSnapshotBlockPublicAccess_Identity_RegionOverride(t *testin resourceName := "aws_ebs_snapshot_block_public_access.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -215,7 +215,7 @@ func testAccEC2EBSEBSSnapshotBlockPublicAccess_Identity_ExistingResource(t *test ctx := acctest.Context(t) resourceName := "aws_ebs_snapshot_block_public_access.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/ec2/ec2_image_block_public_access_identity_gen_test.go b/internal/service/ec2/ec2_image_block_public_access_identity_gen_test.go index 5a6f30bbf8b4..cb0d4c8623b1 100644 --- a/internal/service/ec2/ec2_image_block_public_access_identity_gen_test.go +++ b/internal/service/ec2/ec2_image_block_public_access_identity_gen_test.go @@ -33,7 +33,7 @@ func testAccEC2ImageBlockPublicAccess_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) resourceName := "aws_ec2_image_block_public_access.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -61,7 +61,7 @@ func testAccEC2ImageBlockPublicAccess_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) resourceName := "aws_ec2_image_block_public_access.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/ec2/ec2_serial_console_access_identity_gen_test.go b/internal/service/ec2/ec2_serial_console_access_identity_gen_test.go index 40f75eae754e..d94ba20f2e86 100644 --- a/internal/service/ec2/ec2_serial_console_access_identity_gen_test.go +++ b/internal/service/ec2/ec2_serial_console_access_identity_gen_test.go @@ -33,7 +33,7 @@ func testAccEC2SerialConsoleAccess_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) resourceName := "aws_ec2_serial_console_access.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -99,7 +99,7 @@ func testAccEC2SerialConsoleAccess_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) resourceName := "aws_ec2_serial_console_access.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/ec2/vpc_security_group_vpc_association_identity_gen_test.go b/internal/service/ec2/vpc_security_group_vpc_association_identity_gen_test.go index db014511054f..ef24a44e21f4 100644 --- a/internal/service/ec2/vpc_security_group_vpc_association_identity_gen_test.go +++ b/internal/service/ec2/vpc_security_group_vpc_association_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccVPCSecurityGroupVPCAssociation_Identity_Basic(t *testing.T) { resourceName := "aws_vpc_security_group_vpc_association.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -118,7 +118,7 @@ func TestAccVPCSecurityGroupVPCAssociation_Identity_RegionOverride(t *testing.T) resourceName := "aws_vpc_security_group_vpc_association.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -212,7 +212,7 @@ func TestAccVPCSecurityGroupVPCAssociation_Identity_ExistingResource(t *testing. resourceName := "aws_vpc_security_group_vpc_association.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/ecs/capacity_provider_identity_gen_test.go b/internal/service/ecs/capacity_provider_identity_gen_test.go index 7d8875cae982..1ebb2d8f482f 100644 --- a/internal/service/ecs/capacity_provider_identity_gen_test.go +++ b/internal/service/ecs/capacity_provider_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccECSCapacityProvider_Identity_Basic(t *testing.T) { resourceName := "aws_ecs_capacity_provider.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -113,7 +113,7 @@ func TestAccECSCapacityProvider_Identity_RegionOverride(t *testing.T) { resourceName := "aws_ecs_capacity_provider.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -235,7 +235,7 @@ func TestAccECSCapacityProvider_Identity_ExistingResource(t *testing.T) { resourceName := "aws_ecs_capacity_provider.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/elbv2/listener_identity_gen_test.go b/internal/service/elbv2/listener_identity_gen_test.go index 389ec01e5e2d..6917e6dada8b 100644 --- a/internal/service/elbv2/listener_identity_gen_test.go +++ b/internal/service/elbv2/listener_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccELBV2Listener_Identity_Basic(t *testing.T) { resourceName := "aws_lb_listener.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -119,7 +119,7 @@ func TestAccELBV2Listener_Identity_RegionOverride(t *testing.T) { resourceName := "aws_lb_listener.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -253,7 +253,7 @@ func TestAccELBV2Listener_Identity_ExistingResource(t *testing.T) { resourceName := "aws_lb_listener.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/elbv2/listener_rule_identity_gen_test.go b/internal/service/elbv2/listener_rule_identity_gen_test.go index a18f442ec95a..e6d544ae8b09 100644 --- a/internal/service/elbv2/listener_rule_identity_gen_test.go +++ b/internal/service/elbv2/listener_rule_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccELBV2ListenerRule_Identity_Basic(t *testing.T) { resourceName := "aws_lb_listener_rule.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -115,7 +115,7 @@ func TestAccELBV2ListenerRule_Identity_RegionOverride(t *testing.T) { resourceName := "aws_lb_listener_rule.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -243,7 +243,7 @@ func TestAccELBV2ListenerRule_Identity_ExistingResource(t *testing.T) { resourceName := "aws_lb_listener_rule.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/elbv2/load_balancer_identity_gen_test.go b/internal/service/elbv2/load_balancer_identity_gen_test.go index cca9aa98d565..385f59de65e2 100644 --- a/internal/service/elbv2/load_balancer_identity_gen_test.go +++ b/internal/service/elbv2/load_balancer_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccELBV2LoadBalancer_Identity_Basic(t *testing.T) { resourceName := "aws_lb.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -112,7 +112,7 @@ func TestAccELBV2LoadBalancer_Identity_RegionOverride(t *testing.T) { resourceName := "aws_lb.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -233,7 +233,7 @@ func TestAccELBV2LoadBalancer_Identity_ExistingResource(t *testing.T) { resourceName := "aws_lb.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/elbv2/target_group_identity_gen_test.go b/internal/service/elbv2/target_group_identity_gen_test.go index 1f6cc8117254..a60236081192 100644 --- a/internal/service/elbv2/target_group_identity_gen_test.go +++ b/internal/service/elbv2/target_group_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccELBV2TargetGroup_Identity_Basic(t *testing.T) { resourceName := "aws_lb_target_group.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -115,7 +115,7 @@ func TestAccELBV2TargetGroup_Identity_RegionOverride(t *testing.T) { resourceName := "aws_lb_target_group.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -243,7 +243,7 @@ func TestAccELBV2TargetGroup_Identity_ExistingResource(t *testing.T) { resourceName := "aws_lb_target_group.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/elbv2/trust_store_identity_gen_test.go b/internal/service/elbv2/trust_store_identity_gen_test.go index bdb185776958..3e33de1a0c81 100644 --- a/internal/service/elbv2/trust_store_identity_gen_test.go +++ b/internal/service/elbv2/trust_store_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccELBV2TrustStore_Identity_Basic(t *testing.T) { resourceName := "aws_lb_trust_store.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -119,7 +119,7 @@ func TestAccELBV2TrustStore_Identity_RegionOverride(t *testing.T) { resourceName := "aws_lb_trust_store.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -253,7 +253,7 @@ func TestAccELBV2TrustStore_Identity_ExistingResource(t *testing.T) { resourceName := "aws_lb_trust_store.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/globalaccelerator/accelerator_identity_gen_test.go b/internal/service/globalaccelerator/accelerator_identity_gen_test.go index 48ab0c2ffe5a..2a58196203f1 100644 --- a/internal/service/globalaccelerator/accelerator_identity_gen_test.go +++ b/internal/service/globalaccelerator/accelerator_identity_gen_test.go @@ -24,7 +24,7 @@ func TestAccGlobalAcceleratorAccelerator_Identity_Basic(t *testing.T) { resourceName := "aws_globalaccelerator_accelerator.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -106,7 +106,7 @@ func TestAccGlobalAcceleratorAccelerator_Identity_ExistingResource(t *testing.T) resourceName := "aws_globalaccelerator_accelerator.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/globalaccelerator/cross_account_attachment_identity_gen_test.go b/internal/service/globalaccelerator/cross_account_attachment_identity_gen_test.go index fa3febbc71f8..917b61339872 100644 --- a/internal/service/globalaccelerator/cross_account_attachment_identity_gen_test.go +++ b/internal/service/globalaccelerator/cross_account_attachment_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccGlobalAcceleratorCrossAccountAttachment_Identity_Basic(t *testing.T) resourceName := "aws_globalaccelerator_cross_account_attachment.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -110,7 +110,7 @@ func TestAccGlobalAcceleratorCrossAccountAttachment_Identity_ExistingResource(t resourceName := "aws_globalaccelerator_cross_account_attachment.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/globalaccelerator/custom_routing_accelerator_identity_gen_test.go b/internal/service/globalaccelerator/custom_routing_accelerator_identity_gen_test.go index 7c9837cf1e1b..16d1bd76c269 100644 --- a/internal/service/globalaccelerator/custom_routing_accelerator_identity_gen_test.go +++ b/internal/service/globalaccelerator/custom_routing_accelerator_identity_gen_test.go @@ -24,7 +24,7 @@ func TestAccGlobalAcceleratorCustomRoutingAccelerator_Identity_Basic(t *testing. resourceName := "aws_globalaccelerator_custom_routing_accelerator.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -106,7 +106,7 @@ func TestAccGlobalAcceleratorCustomRoutingAccelerator_Identity_ExistingResource( resourceName := "aws_globalaccelerator_custom_routing_accelerator.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/globalaccelerator/custom_routing_endpoint_group_identity_gen_test.go b/internal/service/globalaccelerator/custom_routing_endpoint_group_identity_gen_test.go index fa4a77b1af13..5b15d05a02b9 100644 --- a/internal/service/globalaccelerator/custom_routing_endpoint_group_identity_gen_test.go +++ b/internal/service/globalaccelerator/custom_routing_endpoint_group_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccGlobalAcceleratorCustomRoutingEndpointGroup_Identity_Basic(t *testin resourceName := "aws_globalaccelerator_custom_routing_endpoint_group.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -111,7 +111,7 @@ func TestAccGlobalAcceleratorCustomRoutingEndpointGroup_Identity_ExistingResourc resourceName := "aws_globalaccelerator_custom_routing_endpoint_group.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/globalaccelerator/custom_routing_listener_identity_gen_test.go b/internal/service/globalaccelerator/custom_routing_listener_identity_gen_test.go index 5baa4ab70742..32fe5dda9c8e 100644 --- a/internal/service/globalaccelerator/custom_routing_listener_identity_gen_test.go +++ b/internal/service/globalaccelerator/custom_routing_listener_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccGlobalAcceleratorCustomRoutingListener_Identity_Basic(t *testing.T) resourceName := "aws_globalaccelerator_custom_routing_listener.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -111,7 +111,7 @@ func TestAccGlobalAcceleratorCustomRoutingListener_Identity_ExistingResource(t * resourceName := "aws_globalaccelerator_custom_routing_listener.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/globalaccelerator/endpoint_group_identity_gen_test.go b/internal/service/globalaccelerator/endpoint_group_identity_gen_test.go index 6ec7bd472411..b8372021ee74 100644 --- a/internal/service/globalaccelerator/endpoint_group_identity_gen_test.go +++ b/internal/service/globalaccelerator/endpoint_group_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccGlobalAcceleratorEndpointGroup_Identity_Basic(t *testing.T) { resourceName := "aws_globalaccelerator_endpoint_group.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -111,7 +111,7 @@ func TestAccGlobalAcceleratorEndpointGroup_Identity_ExistingResource(t *testing. resourceName := "aws_globalaccelerator_endpoint_group.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/globalaccelerator/listener_identity_gen_test.go b/internal/service/globalaccelerator/listener_identity_gen_test.go index d78f92cba4d5..112c9a0b5bb3 100644 --- a/internal/service/globalaccelerator/listener_identity_gen_test.go +++ b/internal/service/globalaccelerator/listener_identity_gen_test.go @@ -24,7 +24,7 @@ func TestAccGlobalAcceleratorListener_Identity_Basic(t *testing.T) { resourceName := "aws_globalaccelerator_listener.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -106,7 +106,7 @@ func TestAccGlobalAcceleratorListener_Identity_ExistingResource(t *testing.T) { resourceName := "aws_globalaccelerator_listener.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/glue/registry_identity_gen_test.go b/internal/service/glue/registry_identity_gen_test.go index 0f540bfd7647..93a44b5ab0bb 100644 --- a/internal/service/glue/registry_identity_gen_test.go +++ b/internal/service/glue/registry_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccGlueRegistry_Identity_Basic(t *testing.T) { resourceName := "aws_glue_registry.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -112,7 +112,7 @@ func TestAccGlueRegistry_Identity_RegionOverride(t *testing.T) { resourceName := "aws_glue_registry.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -234,7 +234,7 @@ func TestAccGlueRegistry_Identity_ExistingResource(t *testing.T) { resourceName := "aws_glue_registry.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/glue/resource_policy_identity_gen_test.go b/internal/service/glue/resource_policy_identity_gen_test.go index df8c4ee44418..0944ef1738c4 100644 --- a/internal/service/glue/resource_policy_identity_gen_test.go +++ b/internal/service/glue/resource_policy_identity_gen_test.go @@ -35,7 +35,7 @@ func testAccGlueResourcePolicy_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) resourceName := "aws_glue_resource_policy.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -106,7 +106,7 @@ func testAccGlueResourcePolicy_Identity_RegionOverride(t *testing.T) { resourceName := "aws_glue_resource_policy.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -215,7 +215,7 @@ func testAccGlueResourcePolicy_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) resourceName := "aws_glue_resource_policy.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/glue/schema_identity_gen_test.go b/internal/service/glue/schema_identity_gen_test.go index b6c93357757d..3e8e677ac621 100644 --- a/internal/service/glue/schema_identity_gen_test.go +++ b/internal/service/glue/schema_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccGlueSchema_Identity_Basic(t *testing.T) { resourceName := "aws_glue_schema.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -112,7 +112,7 @@ func TestAccGlueSchema_Identity_RegionOverride(t *testing.T) { resourceName := "aws_glue_schema.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -234,7 +234,7 @@ func TestAccGlueSchema_Identity_ExistingResource(t *testing.T) { resourceName := "aws_glue_schema.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/iam/openid_connect_provider_identity_gen_test.go b/internal/service/iam/openid_connect_provider_identity_gen_test.go index 410dd03ae8b1..ea005a3dd131 100644 --- a/internal/service/iam/openid_connect_provider_identity_gen_test.go +++ b/internal/service/iam/openid_connect_provider_identity_gen_test.go @@ -24,7 +24,7 @@ func TestAccIAMOpenIDConnectProvider_Identity_Basic(t *testing.T) { resourceName := "aws_iam_openid_connect_provider.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -106,7 +106,7 @@ func TestAccIAMOpenIDConnectProvider_Identity_ExistingResource(t *testing.T) { resourceName := "aws_iam_openid_connect_provider.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/iam/policy_identity_gen_test.go b/internal/service/iam/policy_identity_gen_test.go index 60a9b0ae79fe..1c29b095fdc8 100644 --- a/internal/service/iam/policy_identity_gen_test.go +++ b/internal/service/iam/policy_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccIAMPolicy_Identity_Basic(t *testing.T) { resourceName := "aws_iam_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -111,7 +111,7 @@ func TestAccIAMPolicy_Identity_ExistingResource(t *testing.T) { resourceName := "aws_iam_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/iam/role_identity_gen_test.go b/internal/service/iam/role_identity_gen_test.go index 4e513947fc81..5505787b31b0 100644 --- a/internal/service/iam/role_identity_gen_test.go +++ b/internal/service/iam/role_identity_gen_test.go @@ -28,7 +28,7 @@ func TestAccIAMRole_Identity_Basic(t *testing.T) { resourceName := "aws_iam_role.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -112,7 +112,7 @@ func TestAccIAMRole_Identity_ExistingResource(t *testing.T) { resourceName := "aws_iam_role.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/iam/role_policy_attachment_identity_gen_test.go b/internal/service/iam/role_policy_attachment_identity_gen_test.go index 11e5ba1faa5d..70c0f0c5a8a0 100644 --- a/internal/service/iam/role_policy_attachment_identity_gen_test.go +++ b/internal/service/iam/role_policy_attachment_identity_gen_test.go @@ -24,7 +24,7 @@ func TestAccIAMRolePolicyAttachment_Identity_Basic(t *testing.T) { resourceName := "aws_iam_role_policy_attachment.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -109,7 +109,7 @@ func TestAccIAMRolePolicyAttachment_Identity_ExistingResource(t *testing.T) { resourceName := "aws_iam_role_policy_attachment.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/iam/role_policy_identity_gen_test.go b/internal/service/iam/role_policy_identity_gen_test.go index e4a447e42143..cfddf4b9fb4a 100644 --- a/internal/service/iam/role_policy_identity_gen_test.go +++ b/internal/service/iam/role_policy_identity_gen_test.go @@ -26,7 +26,7 @@ func TestAccIAMRolePolicy_Identity_Basic(t *testing.T) { resourceName := "aws_iam_role_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -113,7 +113,7 @@ func TestAccIAMRolePolicy_Identity_ExistingResource(t *testing.T) { resourceName := "aws_iam_role_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/iam/saml_provider_identity_gen_test.go b/internal/service/iam/saml_provider_identity_gen_test.go index e597d0f0cdea..218ff75ef191 100644 --- a/internal/service/iam/saml_provider_identity_gen_test.go +++ b/internal/service/iam/saml_provider_identity_gen_test.go @@ -24,7 +24,7 @@ func TestAccIAMSAMLProvider_Identity_Basic(t *testing.T) { resourceName := "aws_iam_saml_provider.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -106,7 +106,7 @@ func TestAccIAMSAMLProvider_Identity_ExistingResource(t *testing.T) { resourceName := "aws_iam_saml_provider.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/iam/service_linked_role_identity_gen_test.go b/internal/service/iam/service_linked_role_identity_gen_test.go index e301af165bbf..dc3d88fa5ea7 100644 --- a/internal/service/iam/service_linked_role_identity_gen_test.go +++ b/internal/service/iam/service_linked_role_identity_gen_test.go @@ -24,7 +24,7 @@ func TestAccIAMServiceLinkedRole_Identity_Basic(t *testing.T) { resourceName := "aws_iam_service_linked_role.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -106,7 +106,7 @@ func TestAccIAMServiceLinkedRole_Identity_ExistingResource(t *testing.T) { resourceName := "aws_iam_service_linked_role.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/imagebuilder/container_recipe_identity_gen_test.go b/internal/service/imagebuilder/container_recipe_identity_gen_test.go index e9ae3851a92c..5d8515864315 100644 --- a/internal/service/imagebuilder/container_recipe_identity_gen_test.go +++ b/internal/service/imagebuilder/container_recipe_identity_gen_test.go @@ -24,7 +24,7 @@ func TestAccImageBuilderContainerRecipe_Identity_Basic(t *testing.T) { resourceName := "aws_imagebuilder_container_recipe.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -109,7 +109,7 @@ func TestAccImageBuilderContainerRecipe_Identity_RegionOverride(t *testing.T) { resourceName := "aws_imagebuilder_container_recipe.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -229,7 +229,7 @@ func TestAccImageBuilderContainerRecipe_Identity_ExistingResource(t *testing.T) resourceName := "aws_imagebuilder_container_recipe.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/imagebuilder/distribution_configuration_identity_gen_test.go b/internal/service/imagebuilder/distribution_configuration_identity_gen_test.go index 95ee91c43053..d4deacf7064c 100644 --- a/internal/service/imagebuilder/distribution_configuration_identity_gen_test.go +++ b/internal/service/imagebuilder/distribution_configuration_identity_gen_test.go @@ -24,7 +24,7 @@ func TestAccImageBuilderDistributionConfiguration_Identity_Basic(t *testing.T) { resourceName := "aws_imagebuilder_distribution_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -109,7 +109,7 @@ func TestAccImageBuilderDistributionConfiguration_Identity_RegionOverride(t *tes resourceName := "aws_imagebuilder_distribution_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -229,7 +229,7 @@ func TestAccImageBuilderDistributionConfiguration_Identity_ExistingResource(t *t resourceName := "aws_imagebuilder_distribution_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/imagebuilder/image_identity_gen_test.go b/internal/service/imagebuilder/image_identity_gen_test.go index aee71ef82b2f..9ceaf59528d0 100644 --- a/internal/service/imagebuilder/image_identity_gen_test.go +++ b/internal/service/imagebuilder/image_identity_gen_test.go @@ -24,7 +24,7 @@ func TestAccImageBuilderImage_Identity_Basic(t *testing.T) { resourceName := "aws_imagebuilder_image.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -109,7 +109,7 @@ func TestAccImageBuilderImage_Identity_RegionOverride(t *testing.T) { resourceName := "aws_imagebuilder_image.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -229,7 +229,7 @@ func TestAccImageBuilderImage_Identity_ExistingResource(t *testing.T) { resourceName := "aws_imagebuilder_image.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/imagebuilder/image_pipeline_identity_gen_test.go b/internal/service/imagebuilder/image_pipeline_identity_gen_test.go index 515c7ee66b00..f87c1ffc5efd 100644 --- a/internal/service/imagebuilder/image_pipeline_identity_gen_test.go +++ b/internal/service/imagebuilder/image_pipeline_identity_gen_test.go @@ -24,7 +24,7 @@ func TestAccImageBuilderImagePipeline_Identity_Basic(t *testing.T) { resourceName := "aws_imagebuilder_image_pipeline.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -109,7 +109,7 @@ func TestAccImageBuilderImagePipeline_Identity_RegionOverride(t *testing.T) { resourceName := "aws_imagebuilder_image_pipeline.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -229,7 +229,7 @@ func TestAccImageBuilderImagePipeline_Identity_ExistingResource(t *testing.T) { resourceName := "aws_imagebuilder_image_pipeline.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/imagebuilder/image_recipe_identity_gen_test.go b/internal/service/imagebuilder/image_recipe_identity_gen_test.go index e34ab1087835..ca7f08bd9791 100644 --- a/internal/service/imagebuilder/image_recipe_identity_gen_test.go +++ b/internal/service/imagebuilder/image_recipe_identity_gen_test.go @@ -24,7 +24,7 @@ func TestAccImageBuilderImageRecipe_Identity_Basic(t *testing.T) { resourceName := "aws_imagebuilder_image_recipe.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -109,7 +109,7 @@ func TestAccImageBuilderImageRecipe_Identity_RegionOverride(t *testing.T) { resourceName := "aws_imagebuilder_image_recipe.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -229,7 +229,7 @@ func TestAccImageBuilderImageRecipe_Identity_ExistingResource(t *testing.T) { resourceName := "aws_imagebuilder_image_recipe.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/imagebuilder/infrastructure_configuration_identity_gen_test.go b/internal/service/imagebuilder/infrastructure_configuration_identity_gen_test.go index 49f50320bd46..6752514c013c 100644 --- a/internal/service/imagebuilder/infrastructure_configuration_identity_gen_test.go +++ b/internal/service/imagebuilder/infrastructure_configuration_identity_gen_test.go @@ -24,7 +24,7 @@ func TestAccImageBuilderInfrastructureConfiguration_Identity_Basic(t *testing.T) resourceName := "aws_imagebuilder_infrastructure_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -109,7 +109,7 @@ func TestAccImageBuilderInfrastructureConfiguration_Identity_RegionOverride(t *t resourceName := "aws_imagebuilder_infrastructure_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -229,7 +229,7 @@ func TestAccImageBuilderInfrastructureConfiguration_Identity_ExistingResource(t resourceName := "aws_imagebuilder_infrastructure_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/imagebuilder/lifecycle_policy_identity_gen_test.go b/internal/service/imagebuilder/lifecycle_policy_identity_gen_test.go index 3cd205999df8..90ad9cc88aa0 100644 --- a/internal/service/imagebuilder/lifecycle_policy_identity_gen_test.go +++ b/internal/service/imagebuilder/lifecycle_policy_identity_gen_test.go @@ -24,7 +24,7 @@ func TestAccImageBuilderLifecyclePolicy_Identity_Basic(t *testing.T) { resourceName := "aws_imagebuilder_lifecycle_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -110,7 +110,7 @@ func TestAccImageBuilderLifecyclePolicy_Identity_RegionOverride(t *testing.T) { resourceName := "aws_imagebuilder_lifecycle_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -230,7 +230,7 @@ func TestAccImageBuilderLifecyclePolicy_Identity_ExistingResource(t *testing.T) resourceName := "aws_imagebuilder_lifecycle_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/imagebuilder/workflow_identity_gen_test.go b/internal/service/imagebuilder/workflow_identity_gen_test.go index e571995e7e32..f87f7cf5b54d 100644 --- a/internal/service/imagebuilder/workflow_identity_gen_test.go +++ b/internal/service/imagebuilder/workflow_identity_gen_test.go @@ -24,7 +24,7 @@ func TestAccImageBuilderWorkflow_Identity_Basic(t *testing.T) { resourceName := "aws_imagebuilder_workflow.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -109,7 +109,7 @@ func TestAccImageBuilderWorkflow_Identity_RegionOverride(t *testing.T) { resourceName := "aws_imagebuilder_workflow.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -229,7 +229,7 @@ func TestAccImageBuilderWorkflow_Identity_ExistingResource(t *testing.T) { resourceName := "aws_imagebuilder_workflow.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/inspector/assessment_target_identity_gen_test.go b/internal/service/inspector/assessment_target_identity_gen_test.go index a5cf8a67a9fe..99adb2b5aa00 100644 --- a/internal/service/inspector/assessment_target_identity_gen_test.go +++ b/internal/service/inspector/assessment_target_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccInspectorAssessmentTarget_Identity_Basic(t *testing.T) { resourceName := "aws_inspector_assessment_target.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -112,7 +112,7 @@ func TestAccInspectorAssessmentTarget_Identity_RegionOverride(t *testing.T) { resourceName := "aws_inspector_assessment_target.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -234,7 +234,7 @@ func TestAccInspectorAssessmentTarget_Identity_ExistingResource(t *testing.T) { resourceName := "aws_inspector_assessment_target.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/inspector/assessment_template_identity_gen_test.go b/internal/service/inspector/assessment_template_identity_gen_test.go index 9aef30eac0dc..bb0a2113141a 100644 --- a/internal/service/inspector/assessment_template_identity_gen_test.go +++ b/internal/service/inspector/assessment_template_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccInspectorAssessmentTemplate_Identity_Basic(t *testing.T) { resourceName := "aws_inspector_assessment_template.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -112,7 +112,7 @@ func TestAccInspectorAssessmentTemplate_Identity_RegionOverride(t *testing.T) { resourceName := "aws_inspector_assessment_template.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -234,7 +234,7 @@ func TestAccInspectorAssessmentTemplate_Identity_ExistingResource(t *testing.T) resourceName := "aws_inspector_assessment_template.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/inspector/resource_group_identity_gen_test.go b/internal/service/inspector/resource_group_identity_gen_test.go index 0a9683dc505e..e2dfb0aa3a4c 100644 --- a/internal/service/inspector/resource_group_identity_gen_test.go +++ b/internal/service/inspector/resource_group_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccInspectorResourceGroup_Identity_Basic(t *testing.T) { resourceName := "aws_inspector_resource_group.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -112,7 +112,7 @@ func TestAccInspectorResourceGroup_Identity_RegionOverride(t *testing.T) { resourceName := "aws_inspector_resource_group.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -234,7 +234,7 @@ func TestAccInspectorResourceGroup_Identity_ExistingResource(t *testing.T) { resourceName := "aws_inspector_resource_group.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/iot/event_configurations_identity_gen_test.go b/internal/service/iot/event_configurations_identity_gen_test.go index 8689e4480453..127e952a2111 100644 --- a/internal/service/iot/event_configurations_identity_gen_test.go +++ b/internal/service/iot/event_configurations_identity_gen_test.go @@ -35,7 +35,7 @@ func testAccIoTEventConfigurations_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) resourceName := "aws_iot_event_configurations.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -106,7 +106,7 @@ func testAccIoTEventConfigurations_Identity_RegionOverride(t *testing.T) { resourceName := "aws_iot_event_configurations.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -215,7 +215,7 @@ func testAccIoTEventConfigurations_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) resourceName := "aws_iot_event_configurations.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/iot/indexing_configuration_identity_gen_test.go b/internal/service/iot/indexing_configuration_identity_gen_test.go index 9cdda6e96f2f..7f552c79221d 100644 --- a/internal/service/iot/indexing_configuration_identity_gen_test.go +++ b/internal/service/iot/indexing_configuration_identity_gen_test.go @@ -35,7 +35,7 @@ func testAccIoTIndexingConfiguration_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) resourceName := "aws_iot_indexing_configuration.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -106,7 +106,7 @@ func testAccIoTIndexingConfiguration_Identity_RegionOverride(t *testing.T) { resourceName := "aws_iot_indexing_configuration.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -215,7 +215,7 @@ func testAccIoTIndexingConfiguration_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) resourceName := "aws_iot_indexing_configuration.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/iot/logging_options_identity_gen_test.go b/internal/service/iot/logging_options_identity_gen_test.go index 7d42c4e1dec1..688f53f5a75e 100644 --- a/internal/service/iot/logging_options_identity_gen_test.go +++ b/internal/service/iot/logging_options_identity_gen_test.go @@ -37,7 +37,7 @@ func testAccIoTLoggingOptions_Identity_Basic(t *testing.T) { resourceName := "aws_iot_logging_options.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -71,7 +71,7 @@ func testAccIoTLoggingOptions_Identity_RegionOverride(t *testing.T) { resourceName := "aws_iot_logging_options.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -105,7 +105,7 @@ func testAccIoTLoggingOptions_Identity_ExistingResource(t *testing.T) { resourceName := "aws_iot_logging_options.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/kinesis/resource_policy_identity_gen_test.go b/internal/service/kinesis/resource_policy_identity_gen_test.go index ab195ea8145a..bf48197214ab 100644 --- a/internal/service/kinesis/resource_policy_identity_gen_test.go +++ b/internal/service/kinesis/resource_policy_identity_gen_test.go @@ -26,7 +26,7 @@ func TestAccKinesisResourcePolicy_Identity_Basic(t *testing.T) { rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) providers := make(map[string]*schema.Provider) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -125,7 +125,7 @@ func TestAccKinesisResourcePolicy_Identity_RegionOverride(t *testing.T) { rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) providers := make(map[string]*schema.Provider) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -265,7 +265,7 @@ func TestAccKinesisResourcePolicy_Identity_ExistingResource(t *testing.T) { rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) providers := make(map[string]*schema.Provider) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/macie2/classification_export_configuration_identity_gen_test.go b/internal/service/macie2/classification_export_configuration_identity_gen_test.go index 5c5ec596b402..74ebdfa93b29 100644 --- a/internal/service/macie2/classification_export_configuration_identity_gen_test.go +++ b/internal/service/macie2/classification_export_configuration_identity_gen_test.go @@ -38,7 +38,7 @@ func testAccMacie2ClassificationExportConfiguration_Identity_Basic(t *testing.T) var v macie2.GetClassificationExportConfigurationOutput resourceName := "aws_macie2_classification_export_configuration.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -112,7 +112,7 @@ func testAccMacie2ClassificationExportConfiguration_Identity_RegionOverride(t *t resourceName := "aws_macie2_classification_export_configuration.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -223,7 +223,7 @@ func testAccMacie2ClassificationExportConfiguration_Identity_ExistingResource(t var v macie2.GetClassificationExportConfigurationOutput resourceName := "aws_macie2_classification_export_configuration.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/networkfirewall/tls_inspection_configuration_identity_gen_test.go b/internal/service/networkfirewall/tls_inspection_configuration_identity_gen_test.go index f6651d8526a8..5b778d9b05a6 100644 --- a/internal/service/networkfirewall/tls_inspection_configuration_identity_gen_test.go +++ b/internal/service/networkfirewall/tls_inspection_configuration_identity_gen_test.go @@ -29,7 +29,7 @@ func TestAccNetworkFirewallTLSInspectionConfiguration_Identity_Basic(t *testing. common_name := acctest.RandomDomain() certificate_domain := common_name.RandomSubdomain() - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -128,7 +128,7 @@ func TestAccNetworkFirewallTLSInspectionConfiguration_Identity_RegionOverride(t common_name := acctest.RandomDomain() certificate_domain := common_name.RandomSubdomain() - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -270,7 +270,7 @@ func TestAccNetworkFirewallTLSInspectionConfiguration_Identity_ExistingResource( common_name := acctest.RandomDomain() certificate_domain := common_name.RandomSubdomain() - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/organizations/organization_identity_gen_test.go b/internal/service/organizations/organization_identity_gen_test.go index 88d7faac2352..75938ba67e30 100644 --- a/internal/service/organizations/organization_identity_gen_test.go +++ b/internal/service/organizations/organization_identity_gen_test.go @@ -36,7 +36,7 @@ func testAccOrganizationsOrganization_Identity_Basic(t *testing.T) { var v awstypes.Organization resourceName := "aws_organizations_organization.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -112,7 +112,7 @@ func testAccOrganizationsOrganization_Identity_ExistingResource(t *testing.T) { var v awstypes.Organization resourceName := "aws_organizations_organization.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/organizations/organizational_unit_identity_gen_test.go b/internal/service/organizations/organizational_unit_identity_gen_test.go index ec17a109d5fc..6bfd773a396c 100644 --- a/internal/service/organizations/organizational_unit_identity_gen_test.go +++ b/internal/service/organizations/organizational_unit_identity_gen_test.go @@ -38,7 +38,7 @@ func testAccOrganizationsOrganizationalUnit_Identity_Basic(t *testing.T) { resourceName := "aws_organizations_organizational_unit.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -123,7 +123,7 @@ func testAccOrganizationsOrganizationalUnit_Identity_ExistingResource(t *testing resourceName := "aws_organizations_organizational_unit.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/organizations/policy_attachment_identity_gen_test.go b/internal/service/organizations/policy_attachment_identity_gen_test.go index c5c0b9982023..9ccc4c376420 100644 --- a/internal/service/organizations/policy_attachment_identity_gen_test.go +++ b/internal/service/organizations/policy_attachment_identity_gen_test.go @@ -35,7 +35,7 @@ func testAccOrganizationsPolicyAttachment_Identity_Basic(t *testing.T) { resourceName := "aws_organizations_policy_attachment.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -122,7 +122,7 @@ func testAccOrganizationsPolicyAttachment_Identity_ExistingResource(t *testing.T resourceName := "aws_organizations_policy_attachment.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/organizations/policy_identity_gen_test.go b/internal/service/organizations/policy_identity_gen_test.go index fa43b079f272..ff397e93527d 100644 --- a/internal/service/organizations/policy_identity_gen_test.go +++ b/internal/service/organizations/policy_identity_gen_test.go @@ -38,7 +38,7 @@ func testAccOrganizationsPolicy_Identity_Basic(t *testing.T) { resourceName := "aws_organizations_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -123,7 +123,7 @@ func testAccOrganizationsPolicy_Identity_ExistingResource(t *testing.T) { resourceName := "aws_organizations_policy.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/organizations/resource_policy_identity_gen_test.go b/internal/service/organizations/resource_policy_identity_gen_test.go index 543faf834ff4..0e27d21882d2 100644 --- a/internal/service/organizations/resource_policy_identity_gen_test.go +++ b/internal/service/organizations/resource_policy_identity_gen_test.go @@ -38,7 +38,7 @@ func testAccOrganizationsResourcePolicy_Identity_Basic(t *testing.T) { resourceName := "aws_organizations_resource_policy.test" providers := make(map[string]*schema.Provider) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -119,7 +119,7 @@ func testAccOrganizationsResourcePolicy_Identity_ExistingResource(t *testing.T) resourceName := "aws_organizations_resource_policy.test" providers := make(map[string]*schema.Provider) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/paymentcryptography/key_identity_gen_test.go b/internal/service/paymentcryptography/key_identity_gen_test.go index 99bbdfb6ad26..ff5ee6c31b3c 100644 --- a/internal/service/paymentcryptography/key_identity_gen_test.go +++ b/internal/service/paymentcryptography/key_identity_gen_test.go @@ -25,7 +25,7 @@ func TestAccPaymentCryptographyKey_Identity_Basic(t *testing.T) { var v paymentcryptography.GetKeyOutput resourceName := "aws_paymentcryptography_key.test" - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -108,7 +108,7 @@ func TestAccPaymentCryptographyKey_Identity_RegionOverride(t *testing.T) { resourceName := "aws_paymentcryptography_key.test" - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -234,7 +234,7 @@ func TestAccPaymentCryptographyKey_Identity_ExistingResource(t *testing.T) { var v paymentcryptography.GetKeyOutput resourceName := "aws_paymentcryptography_key.test" - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/rds/certificate_identity_gen_test.go b/internal/service/rds/certificate_identity_gen_test.go index 19e97c9d046d..f7fde18dd51b 100644 --- a/internal/service/rds/certificate_identity_gen_test.go +++ b/internal/service/rds/certificate_identity_gen_test.go @@ -38,7 +38,7 @@ func testAccRDSCertificate_Identity_Basic(t *testing.T) { var v awstypes.Certificate resourceName := "aws_rds_certificate.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -112,7 +112,7 @@ func testAccRDSCertificate_Identity_RegionOverride(t *testing.T) { resourceName := "aws_rds_certificate.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -223,7 +223,7 @@ func testAccRDSCertificate_Identity_ExistingResource(t *testing.T) { var v awstypes.Certificate resourceName := "aws_rds_certificate.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/rds/integration_identity_gen_test.go b/internal/service/rds/integration_identity_gen_test.go index 90bcd2b3b9b3..46abfc8d024f 100644 --- a/internal/service/rds/integration_identity_gen_test.go +++ b/internal/service/rds/integration_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccRDSIntegration_Identity_Basic(t *testing.T) { resourceName := "aws_rds_integration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -112,7 +112,7 @@ func TestAccRDSIntegration_Identity_RegionOverride(t *testing.T) { resourceName := "aws_rds_integration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -233,7 +233,7 @@ func TestAccRDSIntegration_Identity_ExistingResource(t *testing.T) { resourceName := "aws_rds_integration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/resourceexplorer2/index_identity_gen_test.go b/internal/service/resourceexplorer2/index_identity_gen_test.go index 793f9c4aaedc..52a3b783982f 100644 --- a/internal/service/resourceexplorer2/index_identity_gen_test.go +++ b/internal/service/resourceexplorer2/index_identity_gen_test.go @@ -34,7 +34,7 @@ func testAccResourceExplorer2Index_Identity_Basic(t *testing.T) { ctx := acctest.Context(t) resourceName := "aws_resourceexplorer2_index.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -110,7 +110,7 @@ func testAccResourceExplorer2Index_Identity_RegionOverride(t *testing.T) { resourceName := "aws_resourceexplorer2_index.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -222,7 +222,7 @@ func testAccResourceExplorer2Index_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) resourceName := "aws_resourceexplorer2_index.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/resourceexplorer2/view_identity_gen_test.go b/internal/service/resourceexplorer2/view_identity_gen_test.go index 5be4c313b984..d9ac41340d6c 100644 --- a/internal/service/resourceexplorer2/view_identity_gen_test.go +++ b/internal/service/resourceexplorer2/view_identity_gen_test.go @@ -39,7 +39,7 @@ func testAccResourceExplorer2View_Identity_Basic(t *testing.T) { resourceName := "aws_resourceexplorer2_view.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -124,7 +124,7 @@ func testAccResourceExplorer2View_Identity_RegionOverride(t *testing.T) { resourceName := "aws_resourceexplorer2_view.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -245,7 +245,7 @@ func testAccResourceExplorer2View_Identity_ExistingResource(t *testing.T) { resourceName := "aws_resourceexplorer2_view.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/route53/record_identity_gen_test.go b/internal/service/route53/record_identity_gen_test.go index 3b48d5668a3e..500c6ee31b02 100644 --- a/internal/service/route53/record_identity_gen_test.go +++ b/internal/service/route53/record_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccRoute53Record_Identity_Basic(t *testing.T) { zoneName := acctest.RandomDomain() recordName := zoneName.RandomSubdomain() - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -125,7 +125,7 @@ func TestAccRoute53Record_Identity_ExistingResource(t *testing.T) { zoneName := acctest.RandomDomain() recordName := zoneName.RandomSubdomain() - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/s3/bucket_identity_gen_test.go b/internal/service/s3/bucket_identity_gen_test.go index d5fabea5a0aa..d801d4a3d56a 100644 --- a/internal/service/s3/bucket_identity_gen_test.go +++ b/internal/service/s3/bucket_identity_gen_test.go @@ -25,7 +25,7 @@ func TestAccS3Bucket_Identity_Basic(t *testing.T) { resourceName := "aws_s3_bucket.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -112,7 +112,7 @@ func TestAccS3Bucket_Identity_RegionOverride(t *testing.T) { resourceName := "aws_s3_bucket.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -199,7 +199,7 @@ func TestAccS3Bucket_Identity_ExistingResource(t *testing.T) { resourceName := "aws_s3_bucket.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/s3/bucket_object_identity_gen_test.go b/internal/service/s3/bucket_object_identity_gen_test.go index 47f05e22799a..36933eb03f20 100644 --- a/internal/service/s3/bucket_object_identity_gen_test.go +++ b/internal/service/s3/bucket_object_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccS3BucketObject_Identity_Basic(t *testing.T) { resourceName := "aws_s3_bucket_object.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -123,7 +123,7 @@ func TestAccS3BucketObject_Identity_RegionOverride(t *testing.T) { resourceName := "aws_s3_bucket_object.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -224,7 +224,7 @@ func TestAccS3BucketObject_Identity_ExistingResource(t *testing.T) { resourceName := "aws_s3_bucket_object.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/s3/object_identity_gen_test.go b/internal/service/s3/object_identity_gen_test.go index a4a4d2a44315..c194a258b21b 100644 --- a/internal/service/s3/object_identity_gen_test.go +++ b/internal/service/s3/object_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccS3Object_Identity_Basic(t *testing.T) { resourceName := "aws_s3_object.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -119,7 +119,7 @@ func TestAccS3Object_Identity_RegionOverride(t *testing.T) { resourceName := "aws_s3_object.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -216,7 +216,7 @@ func TestAccS3Object_Identity_ExistingResource(t *testing.T) { resourceName := "aws_s3_object.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/s3control/account_public_access_block_identity_gen_test.go b/internal/service/s3control/account_public_access_block_identity_gen_test.go index 78235fc8ec6e..d0549e12b97d 100644 --- a/internal/service/s3control/account_public_access_block_identity_gen_test.go +++ b/internal/service/s3control/account_public_access_block_identity_gen_test.go @@ -36,7 +36,7 @@ func testAccS3ControlAccountPublicAccessBlock_Identity_Basic(t *testing.T) { var v awstypes.PublicAccessBlockConfiguration resourceName := "aws_s3_account_public_access_block.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -107,7 +107,7 @@ func testAccS3ControlAccountPublicAccessBlock_Identity_ExistingResource(t *testi var v awstypes.PublicAccessBlockConfiguration resourceName := "aws_s3_account_public_access_block.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/sagemaker/servicecatalog_portfolio_status_identity_gen_test.go b/internal/service/sagemaker/servicecatalog_portfolio_status_identity_gen_test.go index a1bd1972eb4d..6513ab96cdc2 100644 --- a/internal/service/sagemaker/servicecatalog_portfolio_status_identity_gen_test.go +++ b/internal/service/sagemaker/servicecatalog_portfolio_status_identity_gen_test.go @@ -38,7 +38,7 @@ func testAccSageMakerServicecatalogPortfolioStatus_Identity_Basic(t *testing.T) var v sagemaker.GetSagemakerServicecatalogPortfolioStatusOutput resourceName := "aws_sagemaker_servicecatalog_portfolio_status.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -112,7 +112,7 @@ func testAccSageMakerServicecatalogPortfolioStatus_Identity_RegionOverride(t *te resourceName := "aws_sagemaker_servicecatalog_portfolio_status.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -223,7 +223,7 @@ func testAccSageMakerServicecatalogPortfolioStatus_Identity_ExistingResource(t * var v sagemaker.GetSagemakerServicecatalogPortfolioStatusOutput resourceName := "aws_sagemaker_servicecatalog_portfolio_status.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/sagemaker/user_profile_identity_gen_test.go b/internal/service/sagemaker/user_profile_identity_gen_test.go index 0bcb3fbd9093..9271bde0f308 100644 --- a/internal/service/sagemaker/user_profile_identity_gen_test.go +++ b/internal/service/sagemaker/user_profile_identity_gen_test.go @@ -39,7 +39,7 @@ func testAccSageMakerUserProfile_Identity_Basic(t *testing.T) { resourceName := "aws_sagemaker_user_profile.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -128,7 +128,7 @@ func testAccSageMakerUserProfile_Identity_RegionOverride(t *testing.T) { resourceName := "aws_sagemaker_user_profile.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -222,7 +222,7 @@ func testAccSageMakerUserProfile_Identity_ExistingResource(t *testing.T) { resourceName := "aws_sagemaker_user_profile.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/securityhub/automation_rule_identity_gen_test.go b/internal/service/securityhub/automation_rule_identity_gen_test.go index 4b07853a6c49..97bd71520038 100644 --- a/internal/service/securityhub/automation_rule_identity_gen_test.go +++ b/internal/service/securityhub/automation_rule_identity_gen_test.go @@ -39,7 +39,7 @@ func testAccSecurityHubAutomationRule_Identity_Basic(t *testing.T) { resourceName := "aws_securityhub_automation_rule.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -124,7 +124,7 @@ func testAccSecurityHubAutomationRule_Identity_RegionOverride(t *testing.T) { resourceName := "aws_securityhub_automation_rule.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -245,7 +245,7 @@ func testAccSecurityHubAutomationRule_Identity_ExistingResource(t *testing.T) { resourceName := "aws_securityhub_automation_rule.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/shield/application_layer_automatic_response_identity_gen_test.go b/internal/service/shield/application_layer_automatic_response_identity_gen_test.go index 865083d8b24b..83276613c434 100644 --- a/internal/service/shield/application_layer_automatic_response_identity_gen_test.go +++ b/internal/service/shield/application_layer_automatic_response_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccShieldApplicationLayerAutomaticResponse_Identity_Basic(t *testing.T) resourceName := "aws_shield_application_layer_automatic_response.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -114,7 +114,7 @@ func TestAccShieldApplicationLayerAutomaticResponse_Identity_ExistingResource(t resourceName := "aws_shield_application_layer_automatic_response.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/sns/topic_identity_gen_test.go b/internal/service/sns/topic_identity_gen_test.go index 353c69ddb6a3..a4761213442e 100644 --- a/internal/service/sns/topic_identity_gen_test.go +++ b/internal/service/sns/topic_identity_gen_test.go @@ -26,7 +26,7 @@ func TestAccSNSTopic_Identity_Basic(t *testing.T) { resourceName := "aws_sns_topic.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -111,7 +111,7 @@ func TestAccSNSTopic_Identity_RegionOverride(t *testing.T) { resourceName := "aws_sns_topic.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -233,7 +233,7 @@ func TestAccSNSTopic_Identity_ExistingResource(t *testing.T) { resourceName := "aws_sns_topic.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/ssmcontacts/rotation_identity_gen_test.go b/internal/service/ssmcontacts/rotation_identity_gen_test.go index fb222bed7652..50ab603aec10 100644 --- a/internal/service/ssmcontacts/rotation_identity_gen_test.go +++ b/internal/service/ssmcontacts/rotation_identity_gen_test.go @@ -35,7 +35,7 @@ func testAccSSMContactsRotation_Identity_Basic(t *testing.T) { resourceName := "aws_ssmcontacts_rotation.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -119,7 +119,7 @@ func testAccSSMContactsRotation_Identity_ExistingResource(t *testing.T) { resourceName := "aws_ssmcontacts_rotation.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/ssoadmin/application_assignment_configuration_identity_gen_test.go b/internal/service/ssoadmin/application_assignment_configuration_identity_gen_test.go index 7ed7f1505303..295f67df8199 100644 --- a/internal/service/ssoadmin/application_assignment_configuration_identity_gen_test.go +++ b/internal/service/ssoadmin/application_assignment_configuration_identity_gen_test.go @@ -24,7 +24,7 @@ func TestAccSSOAdminApplicationAssignmentConfiguration_Identity_Basic(t *testing resourceName := "aws_ssoadmin_application_assignment_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -113,7 +113,7 @@ func TestAccSSOAdminApplicationAssignmentConfiguration_Identity_RegionOverride(t resourceName := "aws_ssoadmin_application_assignment_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -236,7 +236,7 @@ func TestAccSSOAdminApplicationAssignmentConfiguration_Identity_ExistingResource resourceName := "aws_ssoadmin_application_assignment_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -296,7 +296,7 @@ func TestAccSSOAdminApplicationAssignmentConfiguration_Identity_ExistingResource resourceName := "aws_ssoadmin_application_assignment_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/ssoadmin/application_identity_gen_test.go b/internal/service/ssoadmin/application_identity_gen_test.go index 596a520a4675..d49f1db73966 100644 --- a/internal/service/ssoadmin/application_identity_gen_test.go +++ b/internal/service/ssoadmin/application_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccSSOAdminApplication_Identity_Basic(t *testing.T) { resourceName := "aws_ssoadmin_application.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -119,7 +119,7 @@ func TestAccSSOAdminApplication_Identity_RegionOverride(t *testing.T) { resourceName := "aws_ssoadmin_application.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -248,7 +248,7 @@ func TestAccSSOAdminApplication_Identity_ExistingResource(t *testing.T) { resourceName := "aws_ssoadmin_application.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/ssoadmin/trusted_token_issuer_identity_gen_test.go b/internal/service/ssoadmin/trusted_token_issuer_identity_gen_test.go index 984632b9691f..156a5a82a6f2 100644 --- a/internal/service/ssoadmin/trusted_token_issuer_identity_gen_test.go +++ b/internal/service/ssoadmin/trusted_token_issuer_identity_gen_test.go @@ -39,7 +39,7 @@ func testAccSSOAdminTrustedTokenIssuer_Identity_Basic(t *testing.T) { resourceName := "aws_ssoadmin_trusted_token_issuer.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -128,7 +128,7 @@ func testAccSSOAdminTrustedTokenIssuer_Identity_RegionOverride(t *testing.T) { resourceName := "aws_ssoadmin_trusted_token_issuer.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -253,7 +253,7 @@ func testAccSSOAdminTrustedTokenIssuer_Identity_ExistingResource(t *testing.T) { resourceName := "aws_ssoadmin_trusted_token_issuer.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/xray/encryption_config_identity_gen_test.go b/internal/service/xray/encryption_config_identity_gen_test.go index 79f909484866..2c0b2ad6fd4c 100644 --- a/internal/service/xray/encryption_config_identity_gen_test.go +++ b/internal/service/xray/encryption_config_identity_gen_test.go @@ -38,7 +38,7 @@ func testAccXRayEncryptionConfig_Identity_Basic(t *testing.T) { var v awstypes.EncryptionConfig resourceName := "aws_xray_encryption_config.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -112,7 +112,7 @@ func testAccXRayEncryptionConfig_Identity_RegionOverride(t *testing.T) { resourceName := "aws_xray_encryption_config.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -223,7 +223,7 @@ func testAccXRayEncryptionConfig_Identity_ExistingResource(t *testing.T) { var v awstypes.EncryptionConfig resourceName := "aws_xray_encryption_config.test" - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/xray/group_identity_gen_test.go b/internal/service/xray/group_identity_gen_test.go index 9d945654ab2e..78e717e930c3 100644 --- a/internal/service/xray/group_identity_gen_test.go +++ b/internal/service/xray/group_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccXRayGroup_Identity_Basic(t *testing.T) { resourceName := "aws_xray_group.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -112,7 +112,7 @@ func TestAccXRayGroup_Identity_RegionOverride(t *testing.T) { resourceName := "aws_xray_group.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -233,7 +233,7 @@ func TestAccXRayGroup_Identity_ExistingResource(t *testing.T) { resourceName := "aws_xray_group.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, From 5610db471f7e3a83d49b1265e2d76b7677099fee Mon Sep 17 00:00:00 2001 From: tabito Date: Sat, 2 Aug 2025 03:33:59 +0900 Subject: [PATCH 0188/1301] Fix the documentation to reflect the current implementation --- .../docs/d/eks_cluster_versions.html.markdown | 33 +++++++++++++------ 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/website/docs/d/eks_cluster_versions.html.markdown b/website/docs/d/eks_cluster_versions.html.markdown index 7a9a17f39a36..6fcae8779c73 100644 --- a/website/docs/d/eks_cluster_versions.html.markdown +++ b/website/docs/d/eks_cluster_versions.html.markdown @@ -16,6 +16,18 @@ Terraform data source for managing AWS EKS (Elastic Kubernetes) Cluster Versions ```terraform data "aws_eks_cluster_versions" "example" {} + +output "eks_cluster_versions" { + value = data.aws_eks_cluster_versions.example.cluster_versions +} + +output "eks_cluster_version_filtered" { + value = [for version in data.aws_eks_cluster_versions.example.cluster_versions : version if version.cluster_version == "1.33"] +} + +output "eks_cluster_version_list" { + value = [for version in data.aws_eks_cluster_versions.example.cluster_versions : version.cluster_version] +} ``` ### Filter by Cluster Type @@ -41,7 +53,6 @@ The following arguments are optional: * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `cluster_type` - (Optional) Type of clusters to filter by. Currently, the only valid value is `eks`. -* `cluster_versions` - (Optional) A list of Kubernetes versions that you can use to check if EKS supports it. * `default_only` - (Optional) Whether to show only the default versions of Kubernetes supported by EKS. * `include_all` - (Optional) Whether to include all kubernetes versions in the response. * `version_status` - (Optional) Status of the EKS cluster versions to list. @@ -51,12 +62,14 @@ Valid values are `STANDARD_SUPPORT` or `UNSUPPORTED` or `EXTENDED_SUPPORT`. This data source exports the following attributes in addition to the arguments above: -* `cluster_type` - Type of cluster that the version belongs to. -* `cluster_version` - Kubernetes version supported by EKS. -* `default_platform_version` - Default eks platform version for the cluster version. -* `default_version` - Default Kubernetes version for the cluster version. -* `end_of_extended_support_date` - End of extended support date for the cluster version. -* `end_of_standard_support_date` - End of standard support date for the cluster version. -* `kubernetes_patch_version` - Kubernetes patch version for the cluster version. -* `release_date` - Release date of the cluster version. -* `version_status` - Status of the EKS cluster version. +* `cluster_versions` - A list of Kubernetes version information. + + * `cluster_type` - Type of cluster that the version belongs to. + * `cluster_version` - Kubernetes version supported by EKS. + * `default_platform_version` - Default eks platform version for the cluster version. + * `default_version` - Default Kubernetes version for the cluster version. + * `end_of_extended_support_date` - End of extended support date for the cluster version. + * `end_of_standard_support_date` - End of standard support date for the cluster version. + * `kubernetes_patch_version` - Kubernetes patch version for the cluster version. + * `release_date` - Release date of the cluster version. + * `version_status` - Status of the EKS cluster version. From e973a0b1223df44fc1ad163c0498ec33ebaa75f1 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Fri, 1 Aug 2025 14:47:53 -0400 Subject: [PATCH 0189/1301] internal/sweep: additional skippable errors (#43657) --- internal/sweep/awsv2/skip.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/internal/sweep/awsv2/skip.go b/internal/sweep/awsv2/skip.go index 78024fb6fdad..c4fbcfa1a509 100644 --- a/internal/sweep/awsv2/skip.go +++ b/internal/sweep/awsv2/skip.go @@ -94,6 +94,10 @@ func SkipSweepError(err error) bool { if tfawserr.ErrMessageContains(err, "InvalidParameterValueException", "Access Denied to API Version") { return true } + // Example (GovCloud): InvalidParameterException: The DATA_PROTECTION_POLICY policy type is not supported in this region + if tfawserr.ErrMessageContains(err, "InvalidParameterException", "DATA_PROTECTION_POLICY policy type is not supported in this region") { + return true + } // Example (GovCloud): The AppStream 2.0 user pool feature is not supported in the us-gov-west-1 AWS Region if tfawserr.ErrMessageContains(err, "InvalidParameterValueException", "feature is not supported") { return true @@ -102,6 +106,10 @@ func SkipSweepError(err error) bool { if tfawserr.ErrMessageContains(err, "InvalidParameterValueException", "This API operation is currently unavailable") { return true } + // Example (GovCloud): InvalidSignatureException: Credential should be scoped to a valid region + if tfawserr.ErrMessageContains(err, "InvalidSignatureException", "Credential should be scoped to a valid region") { + return true + } // For example from us-west-2 Route53 zone if tfawserr.ErrMessageContains(err, "KeySigningKeyInParentDSRecord", "Due to DNS lookup failure") { return true @@ -114,6 +122,10 @@ func SkipSweepError(err error) bool { if tfawserr.ErrMessageContains(err, "ResourceNotFoundException", "The subscription does not exist") { return true } + // Example (GovCloud): SignatureDoesNotMatch: Credential should be scoped to a valid region + if tfawserr.ErrMessageContains(err, "SignatureDoesNotMatch", "Credential should be scoped to a valid region") { + return true + } // For example from us-gov-east-1 IoT domain configuration if tfawserr.ErrMessageContains(err, "UnauthorizedException", "API is not available in") { return true From ee4d7a407d5cb8d252a934bdbd94f2a647fecbe5 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 14:51:19 -0400 Subject: [PATCH 0190/1301] TestAccS3TablesTable_disappears: Add ConfigPlanChecks.PostApplyPostRefresh (#42261). --- internal/service/s3tables/table_test.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/internal/service/s3tables/table_test.go b/internal/service/s3tables/table_test.go index aaa6c18833cd..6536091d83ef 100644 --- a/internal/service/s3tables/table_test.go +++ b/internal/service/s3tables/table_test.go @@ -129,6 +129,11 @@ func TestAccS3TablesTable_disappears(t *testing.T) { acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfs3tables.NewResourceTable, resourceName), ), ExpectNonEmptyPlan: true, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, }, }, }) From f2e7c9a5ab5c5cadc2c4f9060b910ea194e7c38d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 14:53:21 -0400 Subject: [PATCH 0191/1301] TestAccS3ControlAccessPoint_disappears: Add ConfigPlanChecks.PostApplyPostRefresh (#42261). --- internal/service/s3control/access_point_test.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/internal/service/s3control/access_point_test.go b/internal/service/s3control/access_point_test.go index 3c547716f0f7..ff4764422fe0 100644 --- a/internal/service/s3control/access_point_test.go +++ b/internal/service/s3control/access_point_test.go @@ -14,6 +14,7 @@ import ( sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" "github.com/hashicorp/terraform-plugin-testing/statecheck" "github.com/hashicorp/terraform-plugin-testing/terraform" "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" @@ -92,6 +93,11 @@ func TestAccS3ControlAccessPoint_disappears(t *testing.T) { acctest.CheckResourceDisappears(ctx, acctest.Provider, tfs3control.ResourceAccessPoint(), resourceName), ), ExpectNonEmptyPlan: true, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, }, }, }) From b62c307c707fc78a5de8cbabf833efa5de8f8a72 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 15:12:45 -0400 Subject: [PATCH 0192/1301] interceptors: Consistent handling of refreshes resulting in disappeared resource. --- internal/provider/framework/region.go | 4 +++- internal/provider/sdkv2/region.go | 5 +++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/internal/provider/framework/region.go b/internal/provider/framework/region.go index d577d02ea2e4..3bbee23cb5ea 100644 --- a/internal/provider/framework/region.go +++ b/internal/provider/framework/region.go @@ -332,10 +332,12 @@ func (r resourceSetRegionInStateInterceptor) read(ctx context.Context, opts inte switch response, when := opts.response, opts.when; when { case After: - // Set region in state after R but skip if the provider just called RemoveResource(ctx) due to disappearance. + // Will occur on a refresh when the resource does not exist in AWS and needs to be recreated, e.g. "_disappears" tests. if response.State.Raw.IsNull() { return diags } + + // Set region in state after R. diags.Append(response.State.SetAttribute(ctx, path.Root(names.AttrRegion), c.Region(ctx))...) if diags.HasError() { return diags diff --git a/internal/provider/sdkv2/region.go b/internal/provider/sdkv2/region.go index ab61f7d105a8..ddf0bff02712 100644 --- a/internal/provider/sdkv2/region.go +++ b/internal/provider/sdkv2/region.go @@ -78,6 +78,11 @@ func setRegionInState() crudInterceptor { // Set region in state after R. switch why { case Read: + // Will occur on a refresh when the resource does not exist in AWS and needs to be recreated, e.g. "_disappears" tests. + if d.Id() == "" { + return diags + } + if err := d.Set(names.AttrRegion, c.Region(ctx)); err != nil { return sdkdiag.AppendErrorf(diags, "setting %s: %s", names.AttrRegion, err) } From cd9e2b79de7b4053372ab8417aa3231c671b1505 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 15:15:10 -0400 Subject: [PATCH 0193/1301] TestAccVPC_disappears: Add ConfigPlanChecks.PostApplyPostRefresh (#42261). --- internal/service/ec2/vpc_test.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/internal/service/ec2/vpc_test.go b/internal/service/ec2/vpc_test.go index 31b3c27cd5e8..056accddcd37 100644 --- a/internal/service/ec2/vpc_test.go +++ b/internal/service/ec2/vpc_test.go @@ -94,6 +94,11 @@ func TestAccVPC_disappears(t *testing.T) { acctest.CheckResourceDisappears(ctx, acctest.Provider, tfec2.ResourceVPC(), resourceName), ), ExpectNonEmptyPlan: true, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, }, }, }) From 982c553aa0987fa2d5271b41861f11542ffb7c9a Mon Sep 17 00:00:00 2001 From: tabito Date: Sat, 2 Aug 2025 04:15:52 +0900 Subject: [PATCH 0194/1301] implement serverless_v2_scaling_configuration block --- internal/service/docdb/cluster.go | 103 ++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) diff --git a/internal/service/docdb/cluster.go b/internal/service/docdb/cluster.go index e8e7b2a96011..dc414fde8885 100644 --- a/internal/service/docdb/cluster.go +++ b/internal/service/docdb/cluster.go @@ -17,6 +17,7 @@ import ( "github.com/hashicorp/aws-sdk-go-base/v2/tfawserr" "github.com/hashicorp/go-cty/cty" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/customdiff" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" @@ -301,6 +302,31 @@ func resourceCluster() *schema.Resource { "snapshot_identifier", }, }, + "serverless_v2_scaling_configuration": { + Type: schema.TypeList, + Optional: true, + MaxItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "max_capacity": { + Type: schema.TypeFloat, + Required: true, + ValidateFunc: validation.All( + validation.FloatBetween(1.0, 256.0), + validateServerlessCapacity, + ), + }, + "min_capacity": { + Type: schema.TypeFloat, + Required: true, + ValidateFunc: validation.All( + validation.FloatBetween(0.5, 256.0), + validateServerlessCapacity, + ), + }, + }, + }, + }, "skip_final_snapshot": { Type: schema.TypeBool, Optional: true, @@ -346,7 +372,33 @@ func resourceCluster() *schema.Resource { Elem: &schema.Schema{Type: schema.TypeString}, }, }, + CustomizeDiff: customdiff.All( + // if serverless_v2_scaling_configuration is newly set or deleted, ForceNew is required + customdiff.ForceNewIfChange("serverless_v2_scaling_configuration", + func(_ context.Context, old, new, meta any) bool { + o := old != nil && len(old.([]any)) > 0 + n := new != nil && len(new.([]any)) > 0 + if (o && n) || (!o && !n) { + return false + } + return true + }), + ), + } +} + +func validateServerlessCapacity(i any, k string) (ws []string, es []error) { + v, ok := i.(float64) + if !ok { + es = append(es, fmt.Errorf("expected type of %s to be float64", k)) + return } + // add a small epsilon to avoid floating point precision issues + if int(v*10+1.0e-10)%5 != 0 { + es = append(es, fmt.Errorf("%s must be a multiple of 0.5", k)) + return + } + return } func resourceClusterCreate(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics { @@ -444,6 +496,10 @@ func resourceClusterCreate(ctx context.Context, d *schema.ResourceData, meta any requiresModifyDbCluster = true } + if v, ok := d.GetOk("serverless_v2_scaling_configuration"); ok && len(v.([]any)) > 0 && v.([]any)[0] != nil { + input.ServerlessV2ScalingConfiguration = expandServerlessV2ScalingConfiguration(v.([]any)[0].(map[string]any)) + } + if v, ok := d.GetOk(names.AttrStorageType); ok { input.StorageType = aws.String(v.(string)) } @@ -501,6 +557,10 @@ func resourceClusterCreate(ctx context.Context, d *schema.ResourceData, meta any input.Port = aws.Int32(int32(v.(int))) } + if v, ok := d.GetOk("serverless_v2_scaling_configuration"); ok && len(v.([]any)) > 0 && v.([]any)[0] != nil { + input.ServerlessV2ScalingConfiguration = expandServerlessV2ScalingConfiguration(v.([]any)[0].(map[string]any)) + } + if v, ok := d.GetOk(names.AttrStorageType); ok { input.StorageType = aws.String(v.(string)) } @@ -597,6 +657,10 @@ func resourceClusterCreate(ctx context.Context, d *schema.ResourceData, meta any input.PreferredMaintenanceWindow = aws.String(v.(string)) } + if v, ok := d.GetOk("serverless_v2_scaling_configuration"); ok && len(v.([]any)) > 0 && v.([]any)[0] != nil { + input.ServerlessV2ScalingConfiguration = expandServerlessV2ScalingConfiguration(v.([]any)[0].(map[string]any)) + } + if v, ok := d.GetOk(names.AttrStorageEncrypted); ok { input.StorageEncrypted = aws.Bool(v.(bool)) } @@ -704,6 +768,7 @@ func resourceClusterRead(ctx context.Context, d *schema.ResourceData, meta any) d.Set("preferred_backup_window", dbc.PreferredBackupWindow) d.Set(names.AttrPreferredMaintenanceWindow, dbc.PreferredMaintenanceWindow) d.Set("reader_endpoint", dbc.ReaderEndpoint) + d.Set("serverless_v2_scaling_configuration", flattenServerlessV2ScalingConfiguration(dbc.ServerlessV2ScalingConfiguration)) d.Set(names.AttrStorageEncrypted, dbc.StorageEncrypted) d.Set(names.AttrStorageType, dbc.StorageType) d.Set(names.AttrVPCSecurityGroupIDs, tfslices.ApplyToAll(dbc.VpcSecurityGroups, func(v awstypes.VpcSecurityGroupMembership) string { @@ -771,6 +836,12 @@ func resourceClusterUpdate(ctx context.Context, d *schema.ResourceData, meta any input.PreferredBackupWindow = aws.String(d.Get("preferred_backup_window").(string)) } + if d.HasChange("serverless_v2_scaling_configuration") { + if v, ok := d.GetOk("serverless_v2_scaling_configuration"); ok && len(v.([]any)) > 0 && v.([]any)[0] != nil { + input.ServerlessV2ScalingConfiguration = expandServerlessV2ScalingConfiguration(v.([]any)[0].(map[string]any)) + } + } + if d.HasChange(names.AttrStorageType) { input.StorageType = aws.String(d.Get(names.AttrStorageType).(string)) } @@ -929,6 +1000,38 @@ func diffCloudWatchLogsExportConfiguration(old, new []any) ([]any, []any) { return add, disable } +func expandServerlessV2ScalingConfiguration(v map[string]any) *awstypes.ServerlessV2ScalingConfiguration { + if v == nil { + return nil + } + + apiObject := &awstypes.ServerlessV2ScalingConfiguration{} + if v, ok := v["max_capacity"].(float64); ok { + apiObject.MaxCapacity = aws.Float64(v) + } + if v, ok := v["min_capacity"].(float64); ok { + apiObject.MinCapacity = aws.Float64(v) + } + + return apiObject +} + +func flattenServerlessV2ScalingConfiguration(v *awstypes.ServerlessV2ScalingConfigurationInfo) []any { + if v == nil { + return nil + } + + tfMap := map[string]any{} + + if v.MaxCapacity != nil { + tfMap["max_capacity"] = aws.ToFloat64(v.MaxCapacity) + } + if v.MinCapacity != nil { + tfMap["min_capacity"] = aws.ToFloat64(v.MinCapacity) + } + return []any{tfMap} +} + func removeClusterFromGlobalCluster(ctx context.Context, conn *docdb.Client, clusterARN, globalClusterID string, timeout time.Duration) error { input := docdb.RemoveFromGlobalClusterInput{ DbClusterIdentifier: aws.String(clusterARN), From abf730a366754e683ac3d275d99cc89d4b6cd88c Mon Sep 17 00:00:00 2001 From: tabito Date: Sat, 2 Aug 2025 04:16:54 +0900 Subject: [PATCH 0195/1301] add an acctest for serverless --- internal/service/docdb/cluster_test.go | 103 +++++++++++++++++++++++++ 1 file changed, 103 insertions(+) diff --git a/internal/service/docdb/cluster_test.go b/internal/service/docdb/cluster_test.go index a27bf7e5cb56..6fd53f154ce8 100644 --- a/internal/service/docdb/cluster_test.go +++ b/internal/service/docdb/cluster_test.go @@ -17,6 +17,7 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/plancheck" "github.com/hashicorp/terraform-plugin-testing/terraform" "github.com/hashicorp/terraform-plugin-testing/tfversion" "github.com/hashicorp/terraform-provider-aws/internal/acctest" @@ -1005,6 +1006,79 @@ func TestAccDocDBCluster_manageMasterUserPassword(t *testing.T) { }) } +func TestAccDocDBCluster_serverless(t *testing.T) { + ctx := acctest.Context(t) + var dbCluster awstypes.DBCluster + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_docdb_cluster.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.DocDBServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckClusterDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccClusterConfig_serverless(rName, 0.6, 1.0), + ExpectError: regexache.MustCompile(`must be a multiple of 0.5`), + }, + { + Config: testAccClusterConfig_serverless(rName, 0.5, 1.0), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, + Check: resource.ComposeTestCheckFunc( + testAccCheckClusterExists(ctx, resourceName, &dbCluster), + resource.TestCheckResourceAttr(resourceName, "serverless_v2_scaling_configuration.#", "1"), + resource.TestCheckResourceAttr(resourceName, "serverless_v2_scaling_configuration.0.min_capacity", "0.5"), + resource.TestCheckResourceAttr(resourceName, "serverless_v2_scaling_configuration.0.max_capacity", "1"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + names.AttrAllowMajorVersionUpgrade, + names.AttrApplyImmediately, + names.AttrFinalSnapshotIdentifier, + "master_password", + "skip_final_snapshot", + "manage_master_user_password", + }, + }, + { + Config: testAccClusterConfig_serverless(rName, 1.0, 1.5), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + }, + }, + Check: resource.ComposeTestCheckFunc( + testAccCheckClusterExists(ctx, resourceName, &dbCluster), + resource.TestCheckResourceAttr(resourceName, "serverless_v2_scaling_configuration.#", "1"), + resource.TestCheckResourceAttr(resourceName, "serverless_v2_scaling_configuration.0.min_capacity", "1"), + resource.TestCheckResourceAttr(resourceName, "serverless_v2_scaling_configuration.0.max_capacity", "1.5"), + ), + }, + { + Config: testAccClusterConfig_serverlessRemoved(rName), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionDestroyBeforeCreate), + }, + }, + Check: resource.ComposeTestCheckFunc( + testAccCheckClusterExists(ctx, resourceName, &dbCluster), + resource.TestCheckResourceAttr(resourceName, "serverless_v2_scaling_configuration.#", "0"), + ), + }, + }, + }) +} + func testAccCheckClusterDestroy(ctx context.Context) resource.TestCheckFunc { return func(s *terraform.State) error { conn := acctest.Provider.Meta().(*conns.AWSClient).DocDBClient(ctx) @@ -1637,3 +1711,32 @@ resource "aws_docdb_cluster" "test" { } `, rName, passwordConfig)) } + +func testAccClusterConfig_serverless(rName string, minCapacity, maxCapacity float64) string { + return acctest.ConfigCompose(fmt.Sprintf(` +resource "aws_docdb_cluster" "test" { + cluster_identifier = %[1]q + + master_password = "avoid-plaintext-passwords" + master_username = "tfacctest" + skip_final_snapshot = true + + serverless_v2_scaling_configuration { + min_capacity = %[2]f + max_capacity = %[3]f + } +} +`, rName, minCapacity, maxCapacity)) +} + +func testAccClusterConfig_serverlessRemoved(rName string) string { + return acctest.ConfigCompose(fmt.Sprintf(` +resource "aws_docdb_cluster" "test" { + cluster_identifier = %[1]q + + master_password = "avoid-plaintext-passwords" + master_username = "tfacctest" + skip_final_snapshot = true +} +`, rName)) +} From aa2176ed61c537987bec347deed2447563143591 Mon Sep 17 00:00:00 2001 From: tabito Date: Sat, 2 Aug 2025 04:17:33 +0900 Subject: [PATCH 0196/1301] add ExpectResourceAction check to ensure not replaced --- internal/service/docdb/cluster_test.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/internal/service/docdb/cluster_test.go b/internal/service/docdb/cluster_test.go index 6fd53f154ce8..1ca25d1369c0 100644 --- a/internal/service/docdb/cluster_test.go +++ b/internal/service/docdb/cluster_test.go @@ -321,6 +321,11 @@ func TestAccDocDBCluster_updateCloudWatchLogsExports(t *testing.T) { Steps: []resource.TestStep{ { Config: testAccClusterConfig_noCloudWatchLogs(rName), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, Check: resource.ComposeTestCheckFunc( testAccCheckClusterExists(ctx, resourceName, &v), resource.TestCheckResourceAttr(resourceName, "enabled_cloudwatch_logs_exports.#", "0"), @@ -340,6 +345,11 @@ func TestAccDocDBCluster_updateCloudWatchLogsExports(t *testing.T) { }, { Config: testAccClusterConfig_basic(rName), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + }, + }, Check: resource.ComposeTestCheckFunc( testAccCheckClusterExists(ctx, resourceName, &v), resource.TestCheckResourceAttr(resourceName, "enabled_cloudwatch_logs_exports.#", "2"), @@ -435,6 +445,11 @@ func TestAccDocDBCluster_backupsUpdate(t *testing.T) { Steps: []resource.TestStep{ { Config: testAccClusterConfig_backups(rName), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, Check: resource.ComposeTestCheckFunc( testAccCheckClusterExists(ctx, resourceName, &v), resource.TestCheckResourceAttr(resourceName, "backup_retention_period", "5"), @@ -456,6 +471,11 @@ func TestAccDocDBCluster_backupsUpdate(t *testing.T) { }, { Config: testAccClusterConfig_backupsUpdate(rName), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + }, + }, Check: resource.ComposeTestCheckFunc( testAccCheckClusterExists(ctx, resourceName, &v), resource.TestCheckResourceAttr(resourceName, "backup_retention_period", "10"), From 6fe70631459375c399987393bd9b7b920263bfbd Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 15:18:30 -0400 Subject: [PATCH 0197/1301] testAccAppBundle_disappears: Add ConfigPlanChecks.PostApplyPostRefresh (#42261). --- internal/service/appfabric/app_bundle_test.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/internal/service/appfabric/app_bundle_test.go b/internal/service/appfabric/app_bundle_test.go index 144f7091b16c..d655d395d2fb 100644 --- a/internal/service/appfabric/app_bundle_test.go +++ b/internal/service/appfabric/app_bundle_test.go @@ -89,6 +89,11 @@ func testAccAppBundle_disappears(t *testing.T) { acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfappfabric.ResourceAppBundle, resourceName), ), ExpectNonEmptyPlan: true, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, }, }, }) From 180f7112a52f879e0a2aed5682d312d3a7317a40 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 15:24:01 -0400 Subject: [PATCH 0198/1301] Fix CHANGELOG entry. --- .changelog/43659.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/43659.txt diff --git a/.changelog/43659.txt b/.changelog/43659.txt new file mode 100644 index 000000000000..e57a56c9e81a --- /dev/null +++ b/.changelog/43659.txt @@ -0,0 +1,3 @@ +```release-note:bug +provider: Fix failure to detect resources deleted outside of Terraform as missing for numerous resource types +``` \ No newline at end of file From 86b477f6544732776bc5f994b943ec13f4fbada5 Mon Sep 17 00:00:00 2001 From: tabito Date: Sat, 2 Aug 2025 04:29:54 +0900 Subject: [PATCH 0199/1301] add serverless_v2_scaling_configuration to the documentation --- website/docs/r/docdb_cluster.html.markdown | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/website/docs/r/docdb_cluster.html.markdown b/website/docs/r/docdb_cluster.html.markdown index 63ec86bedd4b..9674a5963d77 100644 --- a/website/docs/r/docdb_cluster.html.markdown +++ b/website/docs/r/docdb_cluster.html.markdown @@ -75,6 +75,7 @@ This resource supports the following arguments: Default: A 30-minute window selected at random from an 8-hour block of time per regionE.g., 04:00-09:00 * `preferred_maintenance_window` - (Optional) The weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30 * `restore_to_point_in_time` - (Optional, Forces new resource) A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See [Restore To Point In Time](#restore-to-point-in-time) below for details. +* `serverless_v2_scaling_configuration` - (Optional) Scaling configuration of an Amazon DocumentDB Serverless cluster. See [Serverless V2 Scaling Configuration](#serverless-v2-scaling-configuration) below for details. * `skip_final_snapshot` - (Optional) Determines whether a final DB snapshot is created before the DB cluster is deleted. If true is specified, no DB snapshot is created. If false is specified, a DB snapshot is created before the DB cluster is deleted, using the value from `final_snapshot_identifier`. Default is `false`. * `snapshot_identifier` - (Optional) Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot. Automated snapshots **should not** be used for this attribute, unless from a different cluster. Automated snapshots are deleted as part of cluster destruction when the resource is replaced. * `storage_encrypted` - (Optional) Specifies whether the DB cluster is encrypted. The default is `false`. @@ -95,6 +96,14 @@ The `restore_to_point_in_time` block supports the following arguments: * `source_cluster_identifier` - (Required) The identifier of the source DB cluster from which to restore. Must match the identifier of an existing DB cluster. * `use_latest_restorable_time` - (Optional) A boolean value that indicates whether the DB cluster is restored from the latest backup time. Defaults to `false`. Cannot be specified with `restore_to_time`. +### Serverless V2 Scaling Configuration + +The `serverless_v2_scaling_configuration` block supports the following arguments. +Adding this block (switching to serverless) or removing it (switching from serverless) will trigger cluster replacement. + +* `max_capacity` - (Required) Maximum number of Amazon DocumentDB capacity units (DCUs) for an instance in an Amazon DocumentDB Serverless cluster. Valid values are multiples of 0.5 between 1 and 256. +* `min_capacity` - (Required) Minimum number of Amazon DocumentDB capacity units (DCUs) for an instance in an Amazon DocumentDB Serverless cluster. Valid values are multiples of 0.5 between 0.5 and 256. + ## Attribute Reference This resource exports the following attributes in addition to the arguments above: From 8b499d305842b647454fe47abdeaa7de0fb16bfd Mon Sep 17 00:00:00 2001 From: tabito Date: Sat, 2 Aug 2025 04:39:19 +0900 Subject: [PATCH 0200/1301] add changelog --- .changelog/43667.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/43667.txt diff --git a/.changelog/43667.txt b/.changelog/43667.txt new file mode 100644 index 000000000000..62b9f9fb3b80 --- /dev/null +++ b/.changelog/43667.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/aws_docdb_cluster: Add `serverless_v2_scaling_configuration` argument. +``` From 14aa05914cef1447f05f120cb2cdd0be4e03683d Mon Sep 17 00:00:00 2001 From: tabito Date: Sat, 2 Aug 2025 04:41:48 +0900 Subject: [PATCH 0201/1301] terrform fmt --- internal/service/docdb/cluster_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/docdb/cluster_test.go b/internal/service/docdb/cluster_test.go index 1ca25d1369c0..63df1237e0b1 100644 --- a/internal/service/docdb/cluster_test.go +++ b/internal/service/docdb/cluster_test.go @@ -1742,8 +1742,8 @@ resource "aws_docdb_cluster" "test" { skip_final_snapshot = true serverless_v2_scaling_configuration { - min_capacity = %[2]f - max_capacity = %[3]f + min_capacity = %[2]f + max_capacity = %[3]f } } `, rName, minCapacity, maxCapacity)) From 01f7e042ab07a6e6d839b8daf26f007a07f218bd Mon Sep 17 00:00:00 2001 From: Marcin Belczewski Date: Fri, 1 Aug 2025 21:46:16 +0200 Subject: [PATCH 0202/1301] fix: compilation errors in resource not found code in Read method (#43663) Co-authored-by: Marcin Belczewski --- skaff/resource/resourcefw.gtpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/skaff/resource/resourcefw.gtpl b/skaff/resource/resourcefw.gtpl index 84acda2daa4f..a2f534395ac3 100644 --- a/skaff/resource/resourcefw.gtpl +++ b/skaff/resource/resourcefw.gtpl @@ -359,7 +359,7 @@ func (r *resource{{ .Resource }}) Read(ctx context.Context, req resource.ReadReq // TIP: -- 4. Remove resource from state if it is not found {{- end }} if tfresource.NotFound(err) { - smerr.append(ctx, &resp.Diagnostics, fwdiag.NewResourceNotFoundWarningDiagnostic(err)) + resp.Diagnostics.Append(fwdiag.NewResourceNotFoundWarningDiagnostic(err)) resp.State.RemoveResource(ctx) return } From 169f40a46e0de9cbb9621143c33e401b41c4d7b6 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 16:00:07 -0400 Subject: [PATCH 0203/1301] tfresource.RetryWhenAWSErrCodeEquals: Use 'internal/retry'. --- internal/tfresource/retry.go | 4 ++-- internal/tfresource/retry_test.go | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/tfresource/retry.go b/internal/tfresource/retry.go index f4e1fed806c8..8c84f17eb04b 100644 --- a/internal/tfresource/retry.go +++ b/internal/tfresource/retry.go @@ -96,8 +96,8 @@ func RetryGWhen[T any](ctx context.Context, timeout time.Duration, f func() (T, } // RetryWhenAWSErrCodeEquals retries the specified function when it returns one of the specified AWS error codes. -func RetryWhenAWSErrCodeEquals(ctx context.Context, timeout time.Duration, f func() (any, error), codes ...string) (any, error) { // nosemgrep:ci.aws-in-func-name - return RetryWhen(ctx, timeout, f, func(err error) (bool, error) { +func RetryWhenAWSErrCodeEquals[T any](ctx context.Context, timeout time.Duration, f func(context.Context) (T, error), codes ...string) (T, error) { // nosemgrep:ci.aws-in-func-name + return retryWhen(ctx, timeout, f, func(err error) (bool, error) { if tfawserr.ErrCodeEquals(err, codes...) { return true, err } diff --git a/internal/tfresource/retry_test.go b/internal/tfresource/retry_test.go index 4c0dcbfc3714..05a88fc74b28 100644 --- a/internal/tfresource/retry_test.go +++ b/internal/tfresource/retry_test.go @@ -22,18 +22,18 @@ func TestRetryWhenAWSErrCodeEquals(t *testing.T) { // nosemgrep:ci.aws-in-func-n ctx := t.Context() testCases := []struct { Name string - F func() (any, error) + F func(context.Context) (any, error) ExpectError bool }{ { Name: "no error", - F: func() (any, error) { + F: func(context.Context) (any, error) { return nil, nil }, }, { Name: "non-retryable other error", - F: func() (any, error) { + F: func(context.Context) (any, error) { return nil, errors.New("TestCode") }, ExpectError: true, From e757f5da376e2604a4708b81918dcbfa098aaf64 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 16:05:46 -0400 Subject: [PATCH 0204/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrCodeEquals' - autoscaling. --- internal/service/autoscaling/group.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/service/autoscaling/group.go b/internal/service/autoscaling/group.go index c64282cae6d7..084c10763cec 100644 --- a/internal/service/autoscaling/group.go +++ b/internal/service/autoscaling/group.go @@ -1562,7 +1562,7 @@ func resourceGroupUpdate(ctx context.Context, d *schema.ResourceData, meta any) } _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.UpdateAutoScalingGroup(ctx, &input) }, errCodeOperationError, errCodeUpdateASG, errCodeValidationError) @@ -1895,7 +1895,7 @@ func resourceGroupDelete(ctx context.Context, d *schema.ResourceData, meta any) ForceDelete: aws.Bool(forceDeleteGroup), } _, err = tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutDelete), - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.DeleteAutoScalingGroup(ctx, &input) }, errCodeResourceInUseFault, errCodeScalingActivityInProgressFault) @@ -1989,7 +1989,7 @@ func deleteWarmPool(ctx context.Context, conn *autoscaling.Client, name string, ForceDelete: aws.Bool(force), } _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, timeout, - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.DeleteWarmPool(ctx, &input) }, errCodeResourceInUseFault, errCodeScalingActivityInProgressFault) From eb986c17de532951ab40affc62da063ca42ecb47 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 16:05:48 -0400 Subject: [PATCH 0205/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrCodeEquals' - chatbot. --- internal/service/chatbot/slack_channel_configuration.go | 2 +- internal/service/chatbot/teams_channel_configuration.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/chatbot/slack_channel_configuration.go b/internal/service/chatbot/slack_channel_configuration.go index 64295fb90fec..f10f03fd6bc4 100644 --- a/internal/service/chatbot/slack_channel_configuration.go +++ b/internal/service/chatbot/slack_channel_configuration.go @@ -276,7 +276,7 @@ func (r *slackChannelConfigurationResource) Delete(ctx context.Context, request ChatConfigurationArn: data.ChatConfigurationARN.ValueStringPointer(), } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, r.DeleteTimeout(ctx, data.Timeouts), func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, r.DeleteTimeout(ctx, data.Timeouts), func(ctx context.Context) (any, error) { return conn.DeleteSlackChannelConfiguration(ctx, input) }, "DependencyViolation") diff --git a/internal/service/chatbot/teams_channel_configuration.go b/internal/service/chatbot/teams_channel_configuration.go index 8b5609a6918e..f3b79bc819ba 100644 --- a/internal/service/chatbot/teams_channel_configuration.go +++ b/internal/service/chatbot/teams_channel_configuration.go @@ -280,7 +280,7 @@ func (r *teamsChannelConfigurationResource) Delete(ctx context.Context, request ChatConfigurationArn: data.ChatConfigurationARN.ValueStringPointer(), } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, r.DeleteTimeout(ctx, data.Timeouts), func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, r.DeleteTimeout(ctx, data.Timeouts), func(ctx context.Context) (any, error) { return conn.DeleteMicrosoftTeamsChannelConfiguration(ctx, input) }, "DependencyViolation") From f350ab96d665efbba9ace13d4a67392f7c052cc4 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 16:05:54 -0400 Subject: [PATCH 0206/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrCodeEquals' - drs. --- internal/service/drs/replication_configuration_template.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/drs/replication_configuration_template.go b/internal/service/drs/replication_configuration_template.go index 564eac092d70..49acddae358a 100644 --- a/internal/service/drs/replication_configuration_template.go +++ b/internal/service/drs/replication_configuration_template.go @@ -282,7 +282,7 @@ func (r *replicationConfigurationTemplateResource) Delete(ctx context.Context, r ReplicationConfigurationTemplateID: data.ID.ValueStringPointer(), } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, 5*time.Minute, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, 5*time.Minute, func(ctx context.Context) (any, error) { return conn.DeleteReplicationConfigurationTemplate(ctx, input) }, "DependencyViolation") From a2ae64ae9b963e71982dfaa98b3b2cf16bb1d922 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 16:05:55 -0400 Subject: [PATCH 0207/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrCodeEquals' - ec2. --- internal/service/ec2/ebs_snapshot.go | 4 ++-- internal/service/ec2/ebs_snapshot_copy.go | 2 +- internal/service/ec2/ebs_volume.go | 4 ++-- internal/service/ec2/ec2_eip.go | 2 +- internal/service/ec2/transitgateway_.go | 2 +- internal/service/ec2/vpc_.go | 2 +- internal/service/ec2/vpc_dhcp_options.go | 2 +- internal/service/ec2/vpc_internet_gateway.go | 6 +++--- internal/service/ec2/vpc_managed_prefix_list_entry.go | 4 ++-- internal/service/ec2/vpc_network_acl.go | 2 +- internal/service/ec2/vpc_network_acl_association.go | 2 +- internal/service/ec2/vpc_network_insights_path.go | 2 +- internal/service/ec2/vpc_route.go | 4 ++-- internal/service/ec2/vpc_route_table.go | 6 +++--- internal/service/ec2/vpc_route_table_association.go | 2 +- internal/service/ec2/vpc_security_group.go | 4 ++-- internal/service/ec2/vpc_subnet.go | 2 +- internal/service/ec2/vpnclient_route.go | 2 +- internal/service/ec2/vpnsite_gateway.go | 4 ++-- 19 files changed, 29 insertions(+), 29 deletions(-) diff --git a/internal/service/ec2/ebs_snapshot.go b/internal/service/ec2/ebs_snapshot.go index d626bb02c90c..32d8fafe1ed0 100644 --- a/internal/service/ec2/ebs_snapshot.go +++ b/internal/service/ec2/ebs_snapshot.go @@ -139,7 +139,7 @@ func resourceEBSSnapshotCreate(ctx context.Context, d *schema.ResourceData, meta d.SetId(aws.ToString(outputRaw.(*ec2.CreateSnapshotOutput).SnapshotId)) _, err = tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutCreate), - func() (any, error) { + func(ctx context.Context) (any, error) { return waitSnapshotCompleted(ctx, conn, d.Id(), d.Timeout(schema.TimeoutCreate)) }, errCodeResourceNotReady) @@ -253,7 +253,7 @@ func resourceEBSSnapshotDelete(ctx context.Context, d *schema.ResourceData, meta input := ec2.DeleteSnapshotInput{ SnapshotId: aws.String(d.Id()), } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutDelete), func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutDelete), func(ctx context.Context) (any, error) { return conn.DeleteSnapshot(ctx, &input) }, errCodeInvalidSnapshotInUse) diff --git a/internal/service/ec2/ebs_snapshot_copy.go b/internal/service/ec2/ebs_snapshot_copy.go index c94b1526f7af..d974d337acd3 100644 --- a/internal/service/ec2/ebs_snapshot_copy.go +++ b/internal/service/ec2/ebs_snapshot_copy.go @@ -151,7 +151,7 @@ func resourceEBSSnapshotCopyCreate(ctx context.Context, d *schema.ResourceData, d.SetId(aws.ToString(output.SnapshotId)) _, err = tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutCreate), - func() (any, error) { + func(ctx context.Context) (any, error) { return waitSnapshotCompleted(ctx, conn, d.Id(), d.Timeout(schema.TimeoutCreate)) }, errCodeResourceNotReady) diff --git a/internal/service/ec2/ebs_volume.go b/internal/service/ec2/ebs_volume.go index c547ace29cec..45b194fab0e4 100644 --- a/internal/service/ec2/ebs_volume.go +++ b/internal/service/ec2/ebs_volume.go @@ -304,7 +304,7 @@ func resourceEBSVolumeDelete(ctx context.Context, d *schema.ResourceData, meta a snapshotID := aws.ToString(outputRaw.(*ec2.CreateSnapshotOutput).SnapshotId) _, err = tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutDelete), - func() (any, error) { + func(ctx context.Context) (any, error) { return waitSnapshotCompleted(ctx, conn, snapshotID, d.Timeout(schema.TimeoutDelete)) }, errCodeResourceNotReady) @@ -319,7 +319,7 @@ func resourceEBSVolumeDelete(ctx context.Context, d *schema.ResourceData, meta a VolumeId: aws.String(d.Id()), } _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutDelete), - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.DeleteVolume(ctx, &input) }, errCodeVolumeInUse) diff --git a/internal/service/ec2/ec2_eip.go b/internal/service/ec2/ec2_eip.go index d0ac6df09610..f4d3b3c7e1c8 100644 --- a/internal/service/ec2/ec2_eip.go +++ b/internal/service/ec2/ec2_eip.go @@ -192,7 +192,7 @@ func resourceEIPCreate(ctx context.Context, d *schema.ResourceData, meta any) di if instanceID, eniID := d.Get("instance").(string), d.Get("network_interface").(string); instanceID != "" || eniID != "" { _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutCreate), - func() (any, error) { + func(ctx context.Context) (any, error) { return nil, associateEIP(ctx, conn, d.Id(), instanceID, eniID, d.Get("associate_with_private_ip").(string)) }, errCodeInvalidAllocationIDNotFound) diff --git a/internal/service/ec2/transitgateway_.go b/internal/service/ec2/transitgateway_.go index 382f667b8913..5acf92ab34db 100644 --- a/internal/service/ec2/transitgateway_.go +++ b/internal/service/ec2/transitgateway_.go @@ -305,7 +305,7 @@ func resourceTransitGatewayDelete(ctx context.Context, d *schema.ResourceData, m const ( timeout = 5 * time.Minute ) - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, timeout, func(ctx context.Context) (any, error) { return conn.DeleteTransitGateway(ctx, &ec2.DeleteTransitGatewayInput{ TransitGatewayId: aws.String(d.Id()), }) diff --git a/internal/service/ec2/vpc_.go b/internal/service/ec2/vpc_.go index b4cdaf23d8ce..d23501aa8049 100644 --- a/internal/service/ec2/vpc_.go +++ b/internal/service/ec2/vpc_.go @@ -449,7 +449,7 @@ func resourceVPCDelete(ctx context.Context, d *schema.ResourceData, meta any) di } log.Printf("[INFO] Deleting EC2 VPC: %s", d.Id()) - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutDelete), func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutDelete), func(ctx context.Context) (any, error) { return conn.DeleteVpc(ctx, input) }, errCodeDependencyViolation) diff --git a/internal/service/ec2/vpc_dhcp_options.go b/internal/service/ec2/vpc_dhcp_options.go index 7ca9cfcf484d..696457271ee4 100644 --- a/internal/service/ec2/vpc_dhcp_options.go +++ b/internal/service/ec2/vpc_dhcp_options.go @@ -208,7 +208,7 @@ func resourceVPCDHCPOptionsDelete(ctx context.Context, d *schema.ResourceData, m } log.Printf("[INFO] Deleting EC2 DHCP Options Set: %s", d.Id()) - _, err = tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutDelete), func() (any, error) { + _, err = tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutDelete), func(ctx context.Context) (any, error) { return conn.DeleteDhcpOptions(ctx, input) }, errCodeDependencyViolation) diff --git a/internal/service/ec2/vpc_internet_gateway.go b/internal/service/ec2/vpc_internet_gateway.go index 518591daadd0..4388c7e7fca0 100644 --- a/internal/service/ec2/vpc_internet_gateway.go +++ b/internal/service/ec2/vpc_internet_gateway.go @@ -164,7 +164,7 @@ func resourceInternetGatewayDelete(ctx context.Context, d *schema.ResourceData, } log.Printf("[INFO] Deleting Internet Gateway: %s", d.Id()) - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutDelete), func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutDelete), func(ctx context.Context) (any, error) { return conn.DeleteInternetGateway(ctx, input) }, errCodeDependencyViolation) @@ -186,7 +186,7 @@ func attachInternetGateway(ctx context.Context, conn *ec2.Client, internetGatewa } log.Printf("[INFO] Attaching EC2 Internet Gateway: %#v", input) - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, timeout, func(ctx context.Context) (any, error) { return conn.AttachInternetGateway(ctx, input) }, errCodeInvalidInternetGatewayIDNotFound) @@ -210,7 +210,7 @@ func detachInternetGateway(ctx context.Context, conn *ec2.Client, internetGatewa } log.Printf("[INFO] Detaching EC2 Internet Gateway: %#v", input) - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, timeout, func(ctx context.Context) (any, error) { return conn.DetachInternetGateway(ctx, input) }, errCodeDependencyViolation) diff --git a/internal/service/ec2/vpc_managed_prefix_list_entry.go b/internal/service/ec2/vpc_managed_prefix_list_entry.go index 3a64df8165e5..99560a11decd 100644 --- a/internal/service/ec2/vpc_managed_prefix_list_entry.go +++ b/internal/service/ec2/vpc_managed_prefix_list_entry.go @@ -71,7 +71,7 @@ func resourceManagedPrefixListEntryCreate(ctx context.Context, d *schema.Resourc addPrefixListEntry.Description = aws.String(v.(string)) } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutCreate), func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutCreate), func(ctx context.Context) (any, error) { mutexKey := fmt.Sprintf("vpc-managed-prefix-list-%s", plID) conns.GlobalMutexKV.Lock(mutexKey) defer conns.GlobalMutexKV.Unlock(mutexKey) @@ -146,7 +146,7 @@ func resourceManagedPrefixListEntryDelete(ctx context.Context, d *schema.Resourc return sdkdiag.AppendFromErr(diags, err) } - _, err = tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutCreate), func() (any, error) { + _, err = tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutCreate), func(ctx context.Context) (any, error) { mutexKey := fmt.Sprintf("vpc-managed-prefix-list-%s", plID) conns.GlobalMutexKV.Lock(mutexKey) defer conns.GlobalMutexKV.Unlock(mutexKey) diff --git a/internal/service/ec2/vpc_network_acl.go b/internal/service/ec2/vpc_network_acl.go index 2fa5f757d66a..4c59f0b906a0 100644 --- a/internal/service/ec2/vpc_network_acl.go +++ b/internal/service/ec2/vpc_network_acl.go @@ -288,7 +288,7 @@ func resourceNetworkACLDelete(ctx context.Context, d *schema.ResourceData, meta } log.Printf("[INFO] Deleting EC2 Network ACL: %s", d.Id()) - _, err = tfresource.RetryWhenAWSErrCodeEquals(ctx, ec2PropagationTimeout, func() (any, error) { + _, err = tfresource.RetryWhenAWSErrCodeEquals(ctx, ec2PropagationTimeout, func(ctx context.Context) (any, error) { return conn.DeleteNetworkAcl(ctx, input) }, errCodeDependencyViolation) diff --git a/internal/service/ec2/vpc_network_acl_association.go b/internal/service/ec2/vpc_network_acl_association.go index 946e2f2b304a..4122ab09eded 100644 --- a/internal/service/ec2/vpc_network_acl_association.go +++ b/internal/service/ec2/vpc_network_acl_association.go @@ -133,7 +133,7 @@ func networkACLAssociationCreate(ctx context.Context, conn *ec2.Client, naclID, } log.Printf("[DEBUG] Creating EC2 Network ACL Association: %#v", input) - outputRaw, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, ec2PropagationTimeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, ec2PropagationTimeout, func(ctx context.Context) (any, error) { return conn.ReplaceNetworkAclAssociation(ctx, input) }, errCodeInvalidAssociationIDNotFound) diff --git a/internal/service/ec2/vpc_network_insights_path.go b/internal/service/ec2/vpc_network_insights_path.go index 83ce6f4cb29c..63b9561e418c 100644 --- a/internal/service/ec2/vpc_network_insights_path.go +++ b/internal/service/ec2/vpc_network_insights_path.go @@ -265,7 +265,7 @@ func resourceNetworkInsightsPathDelete(ctx context.Context, d *schema.ResourceDa input := ec2.DeleteNetworkInsightsPathInput{ NetworkInsightsPathId: aws.String(d.Id()), } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, ec2PropagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, ec2PropagationTimeout, func(ctx context.Context) (any, error) { return conn.DeleteNetworkInsightsPath(ctx, &input) }, errCodeAnalysisExistsForNetworkInsightsPath) diff --git a/internal/service/ec2/vpc_route.go b/internal/service/ec2/vpc_route.go index 437954d1132b..60e7859a7037 100644 --- a/internal/service/ec2/vpc_route.go +++ b/internal/service/ec2/vpc_route.go @@ -254,7 +254,7 @@ func resourceRouteCreate(ctx context.Context, d *schema.ResourceData, meta any) } _, err = tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutCreate), - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.CreateRoute(ctx, input) }, errCodeInvalidParameterException, @@ -457,7 +457,7 @@ func resourceRouteDelete(ctx context.Context, d *schema.ResourceData, meta any) log.Printf("[DEBUG] Deleting Route: %v", input) _, err = tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutDelete), - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.DeleteRoute(ctx, input) }, errCodeInvalidParameterException, diff --git a/internal/service/ec2/vpc_route_table.go b/internal/service/ec2/vpc_route_table.go index bfaa5ef74d99..9bc6ed77016a 100644 --- a/internal/service/ec2/vpc_route_table.go +++ b/internal/service/ec2/vpc_route_table.go @@ -487,7 +487,7 @@ func routeTableAddRoute(ctx context.Context, conn *ec2.Client, routeTableID stri // created by AWS so probably doesn't need a retry but just to be sure // we provide a small one _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, time.Second*15, - func() (any, error) { + func(ctx context.Context) (any, error) { return routeFinder(ctx, conn, routeTableID, destination) }, errCodeInvalidRouteNotFound, @@ -505,7 +505,7 @@ func routeTableAddRoute(ctx context.Context, conn *ec2.Client, routeTableID stri } _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, timeout, - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.CreateRoute(ctx, input) }, errCodeInvalidParameterException, @@ -636,7 +636,7 @@ func routeTableEnableVGWRoutePropagation(ctx context.Context, conn *ec2.Client, } _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, timeout, - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.EnableVgwRoutePropagation(ctx, input) }, errCodeGatewayNotAttached, diff --git a/internal/service/ec2/vpc_route_table_association.go b/internal/service/ec2/vpc_route_table_association.go index 6b5a66d16325..87de94529aaf 100644 --- a/internal/service/ec2/vpc_route_table_association.go +++ b/internal/service/ec2/vpc_route_table_association.go @@ -78,7 +78,7 @@ func resourceRouteTableAssociationCreate(ctx context.Context, d *schema.Resource } output, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, ec2PropagationTimeout, - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.AssociateRouteTable(ctx, input) }, errCodeInvalidRouteTableIDNotFound, diff --git a/internal/service/ec2/vpc_security_group.go b/internal/service/ec2/vpc_security_group.go index 9d9710cdc46f..c8d9ef0ca7e8 100644 --- a/internal/service/ec2/vpc_security_group.go +++ b/internal/service/ec2/vpc_security_group.go @@ -368,7 +368,7 @@ func resourceSecurityGroupDelete(ctx context.Context, d *schema.ResourceData, me _, err := tfresource.RetryWhenAWSErrCodeEquals( ctx, firstShortRetry, // short initial attempt followed by full length attempt - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.DeleteSecurityGroup(ctx, &ec2.DeleteSecurityGroupInput{ GroupId: aws.String(d.Id()), }) @@ -388,7 +388,7 @@ func resourceSecurityGroupDelete(ctx context.Context, d *schema.ResourceData, me _, err = tfresource.RetryWhenAWSErrCodeEquals( ctx, remainingRetry, - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.DeleteSecurityGroup(ctx, &ec2.DeleteSecurityGroupInput{ GroupId: aws.String(d.Id()), }) diff --git a/internal/service/ec2/vpc_subnet.go b/internal/service/ec2/vpc_subnet.go index f9158e365028..03f23b0d5603 100644 --- a/internal/service/ec2/vpc_subnet.go +++ b/internal/service/ec2/vpc_subnet.go @@ -373,7 +373,7 @@ func resourceSubnetDelete(ctx context.Context, d *schema.ResourceData, meta any) return sdkdiag.AppendErrorf(diags, "deleting ENIs for EC2 Subnet (%s): %s", d.Id(), err) } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutDelete), func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutDelete), func(ctx context.Context) (any, error) { return conn.DeleteSubnet(ctx, &ec2.DeleteSubnetInput{ SubnetId: aws.String(d.Id()), }) diff --git a/internal/service/ec2/vpnclient_route.go b/internal/service/ec2/vpnclient_route.go index 5a359ec8f715..c1223f114dfc 100644 --- a/internal/service/ec2/vpnclient_route.go +++ b/internal/service/ec2/vpnclient_route.go @@ -92,7 +92,7 @@ func resourceClientVPNRouteCreate(ctx context.Context, d *schema.ResourceData, m input.Description = aws.String(v.(string)) } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, ec2PropagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, ec2PropagationTimeout, func(ctx context.Context) (any, error) { return conn.CreateClientVpnRoute(ctx, input) }, errCodeInvalidClientVPNActiveAssociationNotFound) diff --git a/internal/service/ec2/vpnsite_gateway.go b/internal/service/ec2/vpnsite_gateway.go index 89f959af034c..3a06aca9f0c0 100644 --- a/internal/service/ec2/vpnsite_gateway.go +++ b/internal/service/ec2/vpnsite_gateway.go @@ -174,7 +174,7 @@ func resourceVPNGatewayDelete(ctx context.Context, d *schema.ResourceData, meta const ( timeout = 5 * time.Minute ) - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, timeout, func(ctx context.Context) (any, error) { return conn.DeleteVpnGateway(ctx, &ec2.DeleteVpnGatewayInput{ VpnGatewayId: aws.String(d.Id()), }) @@ -201,7 +201,7 @@ func attachVPNGatewayToVPC(ctx context.Context, conn *ec2.Client, vpnGatewayID, VpnGatewayId: aws.String(vpnGatewayID), } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, ec2PropagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, ec2PropagationTimeout, func(ctx context.Context) (any, error) { return conn.AttachVpnGateway(ctx, &input) }, errCodeInvalidVPNGatewayIDNotFound) From 2cd86e3404a8104ea5ae803b8b2ce649b30bf051 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 16:05:56 -0400 Subject: [PATCH 0208/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrCodeEquals' - elasticache. --- internal/service/elasticache/serverless_cache.go | 2 +- internal/service/elasticache/subnet_group.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/elasticache/serverless_cache.go b/internal/service/elasticache/serverless_cache.go index 2660b645b23c..3f02c04bb47b 100644 --- a/internal/service/elasticache/serverless_cache.go +++ b/internal/service/elasticache/serverless_cache.go @@ -405,7 +405,7 @@ func (r *serverlessCacheResource) Delete(ctx context.Context, request resource.D FinalSnapshotName: nil, } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, 5*time.Minute, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, 5*time.Minute, func(ctx context.Context) (any, error) { return conn.DeleteServerlessCache(ctx, input) }, errCodeDependencyViolation) diff --git a/internal/service/elasticache/subnet_group.go b/internal/service/elasticache/subnet_group.go index d9fe8d98dba3..e733ba52e0f4 100644 --- a/internal/service/elasticache/subnet_group.go +++ b/internal/service/elasticache/subnet_group.go @@ -178,7 +178,7 @@ func resourceSubnetGroupDelete(ctx context.Context, d *schema.ResourceData, meta conn := meta.(*conns.AWSClient).ElastiCacheClient(ctx) log.Printf("[DEBUG] Deleting ElastiCache Subnet Group: %s", d.Id()) - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, 5*time.Minute, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, 5*time.Minute, func(ctx context.Context) (any, error) { return conn.DeleteCacheSubnetGroup(ctx, &elasticache.DeleteCacheSubnetGroupInput{ CacheSubnetGroupName: aws.String(d.Id()), }) From 5b5590e226d2629a59c06841d453278a870633a7 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 16:05:56 -0400 Subject: [PATCH 0209/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrCodeEquals' - elb. --- internal/service/elb/attachment.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/elb/attachment.go b/internal/service/elb/attachment.go index 70360dc61cd3..394a39399823 100644 --- a/internal/service/elb/attachment.go +++ b/internal/service/elb/attachment.go @@ -58,7 +58,7 @@ func resourceAttachmentCreate(ctx context.Context, d *schema.ResourceData, meta const ( timeout = 10 * time.Minute ) - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, timeout, func(ctx context.Context) (any, error) { return conn.RegisterInstancesWithLoadBalancer(ctx, input) }, errCodeInvalidTarget) From 7cbf1a51e83f64940ef11b9ef8441ffa259f3f52 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 16:05:59 -0400 Subject: [PATCH 0210/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrCodeEquals' - iam. --- internal/service/iam/group_policy_attachment.go | 4 ++-- internal/service/iam/role_policy_attachment.go | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/service/iam/group_policy_attachment.go b/internal/service/iam/group_policy_attachment.go index 9a1b7f38ce6d..cf6a25bb7eb9 100644 --- a/internal/service/iam/group_policy_attachment.go +++ b/internal/service/iam/group_policy_attachment.go @@ -124,7 +124,7 @@ func resourceGroupPolicyAttachmentImport(ctx context.Context, d *schema.Resource func attachPolicyToGroup(ctx context.Context, conn *iam.Client, group, policyARN string) error { var errConcurrentModificationException *awstypes.ConcurrentModificationException - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.AttachGroupPolicy(ctx, &iam.AttachGroupPolicyInput{ GroupName: aws.String(group), PolicyArn: aws.String(policyARN), @@ -140,7 +140,7 @@ func attachPolicyToGroup(ctx context.Context, conn *iam.Client, group, policyARN func detachPolicyFromGroup(ctx context.Context, conn *iam.Client, group, policyARN string) error { var errConcurrentModificationException *awstypes.ConcurrentModificationException - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.DetachGroupPolicy(ctx, &iam.DetachGroupPolicyInput{ GroupName: aws.String(group), PolicyArn: aws.String(policyARN), diff --git a/internal/service/iam/role_policy_attachment.go b/internal/service/iam/role_policy_attachment.go index 2882f3c06514..550c90889194 100644 --- a/internal/service/iam/role_policy_attachment.go +++ b/internal/service/iam/role_policy_attachment.go @@ -107,7 +107,7 @@ func resourceRolePolicyAttachmentDelete(ctx context.Context, d *schema.ResourceD func attachPolicyToRole(ctx context.Context, conn *iam.Client, role, policyARN string) error { var errConcurrentModificationException *awstypes.ConcurrentModificationException - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.AttachRolePolicy(ctx, &iam.AttachRolePolicyInput{ PolicyArn: aws.String(policyARN), RoleName: aws.String(role), @@ -123,7 +123,7 @@ func attachPolicyToRole(ctx context.Context, conn *iam.Client, role, policyARN s func detachPolicyFromRole(ctx context.Context, conn *iam.Client, role, policyARN string) error { var errConcurrentModificationException *awstypes.ConcurrentModificationException - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.DetachRolePolicy(ctx, &iam.DetachRolePolicyInput{ PolicyArn: aws.String(policyARN), RoleName: aws.String(role), From e74fe1e493cd77ee54205fbe999574c44c8ca594 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 16:06:03 -0400 Subject: [PATCH 0211/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrCodeEquals' - macie2. --- internal/service/macie2/classification_job.go | 2 +- internal/service/macie2/custom_data_identifier.go | 2 +- internal/service/macie2/findings_filter.go | 2 +- internal/service/macie2/member.go | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/service/macie2/classification_job.go b/internal/service/macie2/classification_job.go index 019d129b0988..d378fedd561e 100644 --- a/internal/service/macie2/classification_job.go +++ b/internal/service/macie2/classification_job.go @@ -677,7 +677,7 @@ func resourceClassificationJobCreate(ctx context.Context, d *schema.ResourceData input.ScheduleFrequency = expandScheduleFrequency(v.([]any)) } - outputRaw, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutCreate), func() (any, error) { + outputRaw, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutCreate), func(ctx context.Context) (any, error) { return conn.CreateClassificationJob(ctx, &input) }, errCodeClientError) diff --git a/internal/service/macie2/custom_data_identifier.go b/internal/service/macie2/custom_data_identifier.go index 5ffd3c2a0b35..8e9f5dcb7c76 100644 --- a/internal/service/macie2/custom_data_identifier.go +++ b/internal/service/macie2/custom_data_identifier.go @@ -146,7 +146,7 @@ func resourceCustomDataIdentifierCreate(ctx context.Context, d *schema.ResourceD input.Regex = aws.String(v.(string)) } - outputRaw, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutCreate), func() (any, error) { + outputRaw, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutCreate), func(ctx context.Context) (any, error) { return conn.CreateCustomDataIdentifier(ctx, &input) }, errCodeClientError) diff --git a/internal/service/macie2/findings_filter.go b/internal/service/macie2/findings_filter.go index 2b5640848714..8eadf0a7bb66 100644 --- a/internal/service/macie2/findings_filter.go +++ b/internal/service/macie2/findings_filter.go @@ -169,7 +169,7 @@ func resourceFindingsFilterCreate(ctx context.Context, d *schema.ResourceData, m input.Position = aws.Int32(int32(v.(int))) } - outputRaw, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutCreate), func() (any, error) { + outputRaw, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutCreate), func(ctx context.Context) (any, error) { return conn.CreateFindingsFilter(ctx, &input) }, errCodeClientError) diff --git a/internal/service/macie2/member.go b/internal/service/macie2/member.go index 3ca9ebf60eba..44d6f1dd5c58 100644 --- a/internal/service/macie2/member.go +++ b/internal/service/macie2/member.go @@ -117,7 +117,7 @@ func resourceMemberCreate(ctx context.Context, d *schema.ResourceData, meta any) Tags: getTagsIn(ctx), } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutCreate), func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutCreate), func(ctx context.Context) (any, error) { return conn.CreateMember(ctx, &input) }, errCodeClientError) @@ -250,7 +250,7 @@ func inviteMember(ctx context.Context, conn *macie2.Client, d *schema.ResourceDa input.Message = aws.String(v.(string)) } - outputRaw, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, timeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, timeout, func(ctx context.Context) (any, error) { return conn.CreateInvitations(ctx, &input) }, errCodeClientError) From f7cea0542b919e5855351d6754753aa260f9e740 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 16:06:05 -0400 Subject: [PATCH 0212/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrCodeEquals' - mwaa. --- internal/service/mwaa/environment.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/mwaa/environment.go b/internal/service/mwaa/environment.go index cfaf7062dfd3..1c98cc1989e3 100644 --- a/internal/service/mwaa/environment.go +++ b/internal/service/mwaa/environment.go @@ -418,7 +418,7 @@ func resourceEnvironmentCreate(ctx context.Context, d *schema.ResourceData, meta */ var validationException, internalServerException = &awstypes.ValidationException{}, &awstypes.InternalServerException{} - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.CreateEnvironment(ctx, input) }, validationException.ErrorCode(), internalServerException.ErrorCode()) From d882b856affed0b04a719ab11d714880728f9350 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 16:06:11 -0400 Subject: [PATCH 0213/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrCodeEquals' - s3. --- internal/service/s3/bucket.go | 40 +++++++++---------- .../s3/bucket_accelerate_configuration.go | 2 +- internal/service/s3/bucket_acl.go | 2 +- .../s3/bucket_analytics_configuration.go | 2 +- .../service/s3/bucket_cors_configuration.go | 2 +- ...ucket_intelligent_tiering_configuration.go | 2 +- internal/service/s3/bucket_inventory.go | 2 +- .../s3/bucket_lifecycle_configuration.go | 4 +- internal/service/s3/bucket_logging.go | 2 +- internal/service/s3/bucket_metric.go | 2 +- internal/service/s3/bucket_notification.go | 2 +- .../s3/bucket_object_lock_configuration.go | 2 +- .../service/s3/bucket_ownership_controls.go | 2 +- internal/service/s3/bucket_policy.go | 2 +- .../service/s3/bucket_public_access_block.go | 2 +- .../bucket_request_payment_configuration.go | 2 +- ...et_server_side_encryption_configuration.go | 4 +- internal/service/s3/bucket_versioning.go | 2 +- .../s3/bucket_website_configuration.go | 2 +- 19 files changed, 40 insertions(+), 40 deletions(-) diff --git a/internal/service/s3/bucket.go b/internal/service/s3/bucket.go index 32e86d1a3da8..05351829e78c 100644 --- a/internal/service/s3/bucket.go +++ b/internal/service/s3/bucket.go @@ -768,7 +768,7 @@ func resourceBucketCreate(ctx context.Context, d *schema.ResourceData, meta any) input.ObjectLockEnabledForBucket = aws.Bool(true) } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutCreate), func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutCreate), func(ctx context.Context) (any, error) { return conn.CreateBucket(ctx, input) }, errCodeOperationAborted) @@ -1173,7 +1173,7 @@ func resourceBucketUpdate(ctx context.Context, d *schema.ResourceData, meta any) } if policy == "" { - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func(ctx context.Context) (any, error) { return conn.DeleteBucketPolicy(ctx, &s3.DeleteBucketPolicyInput{ Bucket: aws.String(d.Id()), }) @@ -1188,7 +1188,7 @@ func resourceBucketUpdate(ctx context.Context, d *schema.ResourceData, meta any) Policy: aws.String(policy), } - _, err = tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func() (any, error) { + _, err = tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func(ctx context.Context) (any, error) { return conn.PutBucketPolicy(ctx, input) }, errCodeMalformedPolicy, errCodeNoSuchBucket) @@ -1203,7 +1203,7 @@ func resourceBucketUpdate(ctx context.Context, d *schema.ResourceData, meta any) // if d.HasChange("cors_rule") { if v, ok := d.GetOk("cors_rule"); !ok || len(v.([]any)) == 0 { - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func(ctx context.Context) (any, error) { return conn.DeleteBucketCors(ctx, &s3.DeleteBucketCorsInput{ Bucket: aws.String(d.Id()), }) @@ -1220,7 +1220,7 @@ func resourceBucketUpdate(ctx context.Context, d *schema.ResourceData, meta any) }, } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func(ctx context.Context) (any, error) { return conn.PutBucketCors(ctx, input) }, errCodeNoSuchBucket) @@ -1235,7 +1235,7 @@ func resourceBucketUpdate(ctx context.Context, d *schema.ResourceData, meta any) // if d.HasChange("website") { if v, ok := d.GetOk("website"); !ok || len(v.([]any)) == 0 || v.([]any)[0] == nil { - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func(ctx context.Context) (any, error) { return conn.DeleteBucketWebsite(ctx, &s3.DeleteBucketWebsiteInput{ Bucket: aws.String(d.Id()), }) @@ -1255,7 +1255,7 @@ func resourceBucketUpdate(ctx context.Context, d *schema.ResourceData, meta any) WebsiteConfiguration: websiteConfig, } - _, err = tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func() (any, error) { + _, err = tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func(ctx context.Context) (any, error) { return conn.PutBucketWebsite(ctx, input) }, errCodeNoSuchBucket) @@ -1284,7 +1284,7 @@ func resourceBucketUpdate(ctx context.Context, d *schema.ResourceData, meta any) VersioningConfiguration: versioningConfig, } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func(ctx context.Context) (any, error) { return conn.PutBucketVersioning(ctx, input) }, errCodeNoSuchBucket) @@ -1308,7 +1308,7 @@ func resourceBucketUpdate(ctx context.Context, d *schema.ResourceData, meta any) Bucket: aws.String(d.Id()), } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func(ctx context.Context) (any, error) { return conn.PutBucketAcl(ctx, input) }, errCodeNoSuchBucket) @@ -1334,7 +1334,7 @@ func resourceBucketUpdate(ctx context.Context, d *schema.ResourceData, meta any) Bucket: aws.String(d.Id()), } - _, err = tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func() (any, error) { + _, err = tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func(ctx context.Context) (any, error) { return conn.PutBucketAcl(ctx, input) }, errCodeNoSuchBucket) @@ -1366,7 +1366,7 @@ func resourceBucketUpdate(ctx context.Context, d *schema.ResourceData, meta any) } } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func(ctx context.Context) (any, error) { return conn.PutBucketLogging(ctx, input) }, errCodeNoSuchBucket) @@ -1380,7 +1380,7 @@ func resourceBucketUpdate(ctx context.Context, d *schema.ResourceData, meta any) // if d.HasChange("lifecycle_rule") { if v, ok := d.GetOk("lifecycle_rule"); !ok || len(v.([]any)) == 0 { - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func(ctx context.Context) (any, error) { return conn.DeleteBucketLifecycle(ctx, &s3.DeleteBucketLifecycleInput{ Bucket: aws.String(d.Id()), }) @@ -1397,7 +1397,7 @@ func resourceBucketUpdate(ctx context.Context, d *schema.ResourceData, meta any) }, } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func(ctx context.Context) (any, error) { return conn.PutBucketLifecycleConfiguration(ctx, input) }, errCodeNoSuchBucket) @@ -1418,7 +1418,7 @@ func resourceBucketUpdate(ctx context.Context, d *schema.ResourceData, meta any) Bucket: aws.String(d.Id()), } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func(ctx context.Context) (any, error) { return conn.PutBucketAccelerateConfiguration(ctx, input) }, errCodeNoSuchBucket) @@ -1438,7 +1438,7 @@ func resourceBucketUpdate(ctx context.Context, d *schema.ResourceData, meta any) }, } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func(ctx context.Context) (any, error) { return conn.PutBucketRequestPayment(ctx, input) }, errCodeNoSuchBucket) @@ -1452,7 +1452,7 @@ func resourceBucketUpdate(ctx context.Context, d *schema.ResourceData, meta any) // if d.HasChange("replication_configuration") { if v, ok := d.GetOk("replication_configuration"); !ok || len(v.([]any)) == 0 || v.([]any)[0] == nil { - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func(ctx context.Context) (any, error) { return conn.DeleteBucketReplication(ctx, &s3.DeleteBucketReplicationInput{ Bucket: aws.String(d.Id()), }) @@ -1506,7 +1506,7 @@ func resourceBucketUpdate(ctx context.Context, d *schema.ResourceData, meta any) // if d.HasChange("server_side_encryption_configuration") { if v, ok := d.GetOk("server_side_encryption_configuration"); !ok || len(v.([]any)) == 0 { - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func(ctx context.Context) (any, error) { return conn.DeleteBucketEncryption(ctx, &s3.DeleteBucketEncryptionInput{ Bucket: aws.String(d.Id()), }) @@ -1523,7 +1523,7 @@ func resourceBucketUpdate(ctx context.Context, d *schema.ResourceData, meta any) }, } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func(ctx context.Context) (any, error) { return conn.PutBucketEncryption(ctx, input) }, errCodeNoSuchBucket, errCodeOperationAborted) @@ -1543,7 +1543,7 @@ func resourceBucketUpdate(ctx context.Context, d *schema.ResourceData, meta any) ObjectLockConfiguration: expandBucketObjectLockConfiguration(d.Get("object_lock_configuration").([]any)), } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutUpdate), func(ctx context.Context) (any, error) { return conn.PutObjectLockConfiguration(ctx, input) }, errCodeNoSuchBucket) @@ -1660,7 +1660,7 @@ func findBucketRegion(ctx context.Context, c *conns.AWSClient, bucket string, op } func retryWhenNoSuchBucketError[T any](ctx context.Context, timeout time.Duration, f func() (T, error)) (T, error) { - outputRaw, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, timeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, timeout, func(ctx context.Context) (any, error) { return f() }, errCodeNoSuchBucket) diff --git a/internal/service/s3/bucket_accelerate_configuration.go b/internal/service/s3/bucket_accelerate_configuration.go index 9b659f247946..ee3af7e50af2 100644 --- a/internal/service/s3/bucket_accelerate_configuration.go +++ b/internal/service/s3/bucket_accelerate_configuration.go @@ -76,7 +76,7 @@ func resourceBucketAccelerateConfigurationCreate(ctx context.Context, d *schema. input.ExpectedBucketOwner = aws.String(expectedBucketOwner) } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func(ctx context.Context) (any, error) { return conn.PutBucketAccelerateConfiguration(ctx, input) }, errCodeNoSuchBucket) diff --git a/internal/service/s3/bucket_acl.go b/internal/service/s3/bucket_acl.go index 8c4a5159516d..553a44d6df12 100644 --- a/internal/service/s3/bucket_acl.go +++ b/internal/service/s3/bucket_acl.go @@ -172,7 +172,7 @@ func resourceBucketACLCreate(ctx context.Context, d *schema.ResourceData, meta a input.AccessControlPolicy = expandAccessControlPolicy(v.([]any)) } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func(ctx context.Context) (any, error) { return conn.PutBucketAcl(ctx, input) }, errCodeNoSuchBucket) diff --git a/internal/service/s3/bucket_analytics_configuration.go b/internal/service/s3/bucket_analytics_configuration.go index 567fef0e6e6c..953e8001d8e4 100644 --- a/internal/service/s3/bucket_analytics_configuration.go +++ b/internal/service/s3/bucket_analytics_configuration.go @@ -158,7 +158,7 @@ func resourceBucketAnalyticsConfigurationPut(ctx context.Context, d *schema.Reso AnalyticsConfiguration: analyticsConfiguration, } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func(ctx context.Context) (any, error) { return conn.PutBucketAnalyticsConfiguration(ctx, input) }, errCodeNoSuchBucket) diff --git a/internal/service/s3/bucket_cors_configuration.go b/internal/service/s3/bucket_cors_configuration.go index 527be24a1544..3dad9dfce247 100644 --- a/internal/service/s3/bucket_cors_configuration.go +++ b/internal/service/s3/bucket_cors_configuration.go @@ -109,7 +109,7 @@ func resourceBucketCorsConfigurationCreate(ctx context.Context, d *schema.Resour input.ExpectedBucketOwner = aws.String(expectedBucketOwner) } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func(ctx context.Context) (any, error) { return conn.PutBucketCors(ctx, input) }, errCodeNoSuchBucket) diff --git a/internal/service/s3/bucket_intelligent_tiering_configuration.go b/internal/service/s3/bucket_intelligent_tiering_configuration.go index 2628534e2742..9690b4f7e614 100644 --- a/internal/service/s3/bucket_intelligent_tiering_configuration.go +++ b/internal/service/s3/bucket_intelligent_tiering_configuration.go @@ -123,7 +123,7 @@ func resourceBucketIntelligentTieringConfigurationPut(ctx context.Context, d *sc IntelligentTieringConfiguration: intelligentTieringConfiguration, } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func(ctx context.Context) (any, error) { return conn.PutBucketIntelligentTieringConfiguration(ctx, input) }, errCodeNoSuchBucket) diff --git a/internal/service/s3/bucket_inventory.go b/internal/service/s3/bucket_inventory.go index 9b9fbe2a525f..0af863452d97 100644 --- a/internal/service/s3/bucket_inventory.go +++ b/internal/service/s3/bucket_inventory.go @@ -219,7 +219,7 @@ func resourceBucketInventoryPut(ctx context.Context, d *schema.ResourceData, met InventoryConfiguration: inventoryConfiguration, } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func(ctx context.Context) (any, error) { return conn.PutBucketInventoryConfiguration(ctx, input) }, errCodeNoSuchBucket) diff --git a/internal/service/s3/bucket_lifecycle_configuration.go b/internal/service/s3/bucket_lifecycle_configuration.go index 0f3397fe71cd..3bb4bdc8a09d 100644 --- a/internal/service/s3/bucket_lifecycle_configuration.go +++ b/internal/service/s3/bucket_lifecycle_configuration.go @@ -423,7 +423,7 @@ func (r *bucketLifecycleConfigurationResource) Create(ctx context.Context, reque input.LifecycleConfiguration = &lifecycleConfiguraton - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func(ctx context.Context) (any, error) { return conn.PutBucketLifecycleConfiguration(ctx, &input) }, errCodeNoSuchBucket) if tfawserr.ErrMessageContains(err, errCodeInvalidArgument, "LifecycleConfiguration is not valid, expected CreateBucketConfiguration") { @@ -542,7 +542,7 @@ func (r *bucketLifecycleConfigurationResource) Update(ctx context.Context, reque input.LifecycleConfiguration = &lifecycleConfiguraton - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func(ctx context.Context) (any, error) { return conn.PutBucketLifecycleConfiguration(ctx, &input) }, errCodeNoSuchBucket) if err != nil { diff --git a/internal/service/s3/bucket_logging.go b/internal/service/s3/bucket_logging.go index 45c4751505fa..ce6ea789b611 100644 --- a/internal/service/s3/bucket_logging.go +++ b/internal/service/s3/bucket_logging.go @@ -166,7 +166,7 @@ func resourceBucketLoggingCreate(ctx context.Context, d *schema.ResourceData, me input.BucketLoggingStatus.LoggingEnabled.TargetObjectKeyFormat = expandTargetObjectKeyFormat(v.([]any)[0].(map[string]any)) } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func(ctx context.Context) (any, error) { return conn.PutBucketLogging(ctx, input) }, errCodeNoSuchBucket) diff --git a/internal/service/s3/bucket_metric.go b/internal/service/s3/bucket_metric.go index 4a0f08e5a3a1..35ae683ae752 100644 --- a/internal/service/s3/bucket_metric.go +++ b/internal/service/s3/bucket_metric.go @@ -104,7 +104,7 @@ func resourceBucketMetricPut(ctx context.Context, d *schema.ResourceData, meta a MetricsConfiguration: metricsConfiguration, } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func(ctx context.Context) (any, error) { return conn.PutBucketMetricsConfiguration(ctx, input) }, errCodeNoSuchBucket) diff --git a/internal/service/s3/bucket_notification.go b/internal/service/s3/bucket_notification.go index 8b8472252967..83cf5d373865 100644 --- a/internal/service/s3/bucket_notification.go +++ b/internal/service/s3/bucket_notification.go @@ -309,7 +309,7 @@ func resourceBucketNotificationPut(ctx context.Context, d *schema.ResourceData, NotificationConfiguration: notificationConfiguration, } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func(ctx context.Context) (any, error) { return conn.PutBucketNotificationConfiguration(ctx, input) }, errCodeNoSuchBucket) diff --git a/internal/service/s3/bucket_object_lock_configuration.go b/internal/service/s3/bucket_object_lock_configuration.go index f98fa19e2c83..fc0e86e16d07 100644 --- a/internal/service/s3/bucket_object_lock_configuration.go +++ b/internal/service/s3/bucket_object_lock_configuration.go @@ -128,7 +128,7 @@ func resourceBucketObjectLockConfigurationCreate(ctx context.Context, d *schema. input.Token = aws.String(v.(string)) } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func(ctx context.Context) (any, error) { return conn.PutObjectLockConfiguration(ctx, input) }, errCodeNoSuchBucket) diff --git a/internal/service/s3/bucket_ownership_controls.go b/internal/service/s3/bucket_ownership_controls.go index 3bbd5944662b..ff974a9d9b18 100644 --- a/internal/service/s3/bucket_ownership_controls.go +++ b/internal/service/s3/bucket_ownership_controls.go @@ -163,7 +163,7 @@ func resourceBucketOwnershipControlsDelete(ctx context.Context, d *schema.Resour } log.Printf("[DEBUG] Deleting S3 Bucket Ownership Controls: %s", d.Id()) - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, 5*time.Minute, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, 5*time.Minute, func(ctx context.Context) (any, error) { return conn.DeleteBucketOwnershipControls(ctx, &s3.DeleteBucketOwnershipControlsInput{ Bucket: aws.String(bucket), }) diff --git a/internal/service/s3/bucket_policy.go b/internal/service/s3/bucket_policy.go index 5de1d5707035..712aecff1d27 100644 --- a/internal/service/s3/bucket_policy.go +++ b/internal/service/s3/bucket_policy.go @@ -63,7 +63,7 @@ func resourceBucketPolicyPut(ctx context.Context, d *schema.ResourceData, meta a Policy: aws.String(policy), } - _, err = tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func() (any, error) { + _, err = tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func(ctx context.Context) (any, error) { return conn.PutBucketPolicy(ctx, input) }, errCodeMalformedPolicy, errCodeNoSuchBucket) diff --git a/internal/service/s3/bucket_public_access_block.go b/internal/service/s3/bucket_public_access_block.go index 4beac69adf48..72963ae0252e 100644 --- a/internal/service/s3/bucket_public_access_block.go +++ b/internal/service/s3/bucket_public_access_block.go @@ -84,7 +84,7 @@ func resourceBucketPublicAccessBlockCreate(ctx context.Context, d *schema.Resour }, } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func(ctx context.Context) (any, error) { return conn.PutPublicAccessBlock(ctx, input) }, errCodeNoSuchBucket) diff --git a/internal/service/s3/bucket_request_payment_configuration.go b/internal/service/s3/bucket_request_payment_configuration.go index a0c2c8287914..dfbd7a572d4a 100644 --- a/internal/service/s3/bucket_request_payment_configuration.go +++ b/internal/service/s3/bucket_request_payment_configuration.go @@ -76,7 +76,7 @@ func resourceBucketRequestPaymentConfigurationCreate(ctx context.Context, d *sch input.ExpectedBucketOwner = aws.String(expectedBucketOwner) } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func(ctx context.Context) (any, error) { return conn.PutBucketRequestPayment(ctx, input) }, errCodeNoSuchBucket) diff --git a/internal/service/s3/bucket_server_side_encryption_configuration.go b/internal/service/s3/bucket_server_side_encryption_configuration.go index 00e58ecb44d4..5ed5b471f0c2 100644 --- a/internal/service/s3/bucket_server_side_encryption_configuration.go +++ b/internal/service/s3/bucket_server_side_encryption_configuration.go @@ -101,7 +101,7 @@ func resourceBucketServerSideEncryptionConfigurationCreate(ctx context.Context, input.ExpectedBucketOwner = aws.String(expectedBucketOwner) } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func(ctx context.Context) (any, error) { return conn.PutBucketEncryption(ctx, input) }, errCodeNoSuchBucket, errCodeOperationAborted) @@ -179,7 +179,7 @@ func resourceBucketServerSideEncryptionConfigurationUpdate(ctx context.Context, input.ExpectedBucketOwner = aws.String(expectedBucketOwner) } - _, err = tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func() (any, error) { + _, err = tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func(ctx context.Context) (any, error) { return conn.PutBucketEncryption(ctx, input) }, errCodeNoSuchBucket, errCodeOperationAborted) diff --git a/internal/service/s3/bucket_versioning.go b/internal/service/s3/bucket_versioning.go index dd7ddc45904e..132fc6002a8d 100644 --- a/internal/service/s3/bucket_versioning.go +++ b/internal/service/s3/bucket_versioning.go @@ -129,7 +129,7 @@ func resourceBucketVersioningCreate(ctx context.Context, d *schema.ResourceData, input.MFA = aws.String(v.(string)) } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func(ctx context.Context) (any, error) { return conn.PutBucketVersioning(ctx, input) }, errCodeNoSuchBucket) diff --git a/internal/service/s3/bucket_website_configuration.go b/internal/service/s3/bucket_website_configuration.go index 32a61dd01299..52b9a81a3168 100644 --- a/internal/service/s3/bucket_website_configuration.go +++ b/internal/service/s3/bucket_website_configuration.go @@ -223,7 +223,7 @@ func resourceBucketWebsiteConfigurationCreate(ctx context.Context, d *schema.Res input.ExpectedBucketOwner = aws.String(expectedBucketOwner) } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketPropagationTimeout, func(ctx context.Context) (any, error) { return conn.PutBucketWebsite(ctx, input) }, errCodeNoSuchBucket) From ef4b6924f784415404280aefb6e7693ff61b4013 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 16:06:11 -0400 Subject: [PATCH 0214/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrCodeEquals' - s3control. --- internal/service/s3control/access_grants_location.go | 6 +++--- internal/service/s3control/bucket.go | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/service/s3control/access_grants_location.go b/internal/service/s3control/access_grants_location.go index f363e2771381..81bfb98492e3 100644 --- a/internal/service/s3control/access_grants_location.go +++ b/internal/service/s3control/access_grants_location.go @@ -105,7 +105,7 @@ func (r *accessGrantsLocationResource) Create(ctx context.Context, request resou // Additional fields. input.Tags = getTagsIn(ctx) - outputRaw, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, s3PropagationTimeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, s3PropagationTimeout, func(ctx context.Context) (any, error) { return conn.CreateAccessGrantsLocation(ctx, &input) }, errCodeInvalidIAMRole) @@ -190,7 +190,7 @@ func (r *accessGrantsLocationResource) Update(ctx context.Context, request resou return } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, s3PropagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, s3PropagationTimeout, func(ctx context.Context) (any, error) { return conn.UpdateAccessGrantsLocation(ctx, &input) }, errCodeInvalidIAMRole) @@ -218,7 +218,7 @@ func (r *accessGrantsLocationResource) Delete(ctx context.Context, request resou AccountId: fwflex.StringFromFramework(ctx, data.AccountID), } // "AccessGrantsLocationNotEmptyError: Please delete access grants before deleting access grants location". - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, s3PropagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, s3PropagationTimeout, func(ctx context.Context) (any, error) { return conn.DeleteAccessGrantsLocation(ctx, &input) }, errCodeAccessGrantsLocationNotEmptyError) diff --git a/internal/service/s3control/bucket.go b/internal/service/s3control/bucket.go index e3df9434bb6e..f827cec6c134 100644 --- a/internal/service/s3control/bucket.go +++ b/internal/service/s3control/bucket.go @@ -186,7 +186,7 @@ func resourceBucketDelete(ctx context.Context, d *schema.ResourceData, meta any) // can occur on deletion: // InvalidBucketState: Bucket is in an invalid state log.Printf("[DEBUG] Deleting S3 Control Bucket: %s", d.Id()) - _, err = tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketStatePropagationTimeout, func() (any, error) { + _, err = tfresource.RetryWhenAWSErrCodeEquals(ctx, bucketStatePropagationTimeout, func(ctx context.Context) (any, error) { return conn.DeleteBucket(ctx, input) }, errCodeInvalidBucketState) From c71d406ed2ca1d90100bf18a7a115f7f42c3ef75 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 16:06:11 -0400 Subject: [PATCH 0215/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrCodeEquals' - sagemaker. --- internal/service/sagemaker/device_fleet.go | 2 +- internal/service/sagemaker/flow_definition.go | 2 +- internal/service/sagemaker/model.go | 2 +- internal/service/sagemaker/project.go | 2 +- internal/service/sagemaker/workteam.go | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/service/sagemaker/device_fleet.go b/internal/service/sagemaker/device_fleet.go index 5f807aacb7a1..2192e12a11c8 100644 --- a/internal/service/sagemaker/device_fleet.go +++ b/internal/service/sagemaker/device_fleet.go @@ -114,7 +114,7 @@ func resourceDeviceFleetCreate(ctx context.Context, d *schema.ResourceData, meta input.Description = aws.String(v.(string)) } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, 2*time.Minute, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, 2*time.Minute, func(ctx context.Context) (any, error) { return conn.CreateDeviceFleet(ctx, input) }, ErrCodeValidationException) if err != nil { diff --git a/internal/service/sagemaker/flow_definition.go b/internal/service/sagemaker/flow_definition.go index f52133ea08f7..1a359bed24a9 100644 --- a/internal/service/sagemaker/flow_definition.go +++ b/internal/service/sagemaker/flow_definition.go @@ -274,7 +274,7 @@ func resourceFlowDefinitionCreate(ctx context.Context, d *schema.ResourceData, m } log.Printf("[DEBUG] Creating SageMaker AI Flow Definition: %#v", input) - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.CreateFlowDefinition(ctx, input) }, ErrCodeValidationException) diff --git a/internal/service/sagemaker/model.go b/internal/service/sagemaker/model.go index c1df6adba83b..0f3588c90b6d 100644 --- a/internal/service/sagemaker/model.go +++ b/internal/service/sagemaker/model.go @@ -445,7 +445,7 @@ func resourceModelCreate(ctx context.Context, d *schema.ResourceData, meta any) } log.Printf("[DEBUG] SageMaker AI model create config: %#v", *createOpts) - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, 2*time.Minute, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, 2*time.Minute, func(ctx context.Context) (any, error) { return conn.CreateModel(ctx, createOpts) }, ErrCodeValidationException) diff --git a/internal/service/sagemaker/project.go b/internal/service/sagemaker/project.go index 8c6e0fae5202..094c1c290cc9 100644 --- a/internal/service/sagemaker/project.go +++ b/internal/service/sagemaker/project.go @@ -121,7 +121,7 @@ func resourceProjectCreate(ctx context.Context, d *schema.ResourceData, meta any input.ProjectDescription = aws.String(v.(string)) } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, 2*time.Minute, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, 2*time.Minute, func(ctx context.Context) (any, error) { return conn.CreateProject(ctx, input) }, ErrCodeValidationException) if err != nil { diff --git a/internal/service/sagemaker/workteam.go b/internal/service/sagemaker/workteam.go index efb05ffe2a00..0ba7029f9782 100644 --- a/internal/service/sagemaker/workteam.go +++ b/internal/service/sagemaker/workteam.go @@ -206,7 +206,7 @@ func resourceWorkteamCreate(ctx context.Context, d *schema.ResourceData, meta an input.WorkforceName = aws.String(v.(string)) } - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, 2*time.Minute, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, 2*time.Minute, func(ctx context.Context) (any, error) { return conn.CreateWorkteam(ctx, input) }, ErrCodeValidationException) From 35d9301932390f790b598d1dc53e997ebf1e82d2 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 16:06:12 -0400 Subject: [PATCH 0216/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrCodeEquals' - secretsmanager. --- internal/service/secretsmanager/secret_rotation.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/secretsmanager/secret_rotation.go b/internal/service/secretsmanager/secret_rotation.go index 8e8e71cb1675..690aa08a7c53 100644 --- a/internal/service/secretsmanager/secret_rotation.go +++ b/internal/service/secretsmanager/secret_rotation.go @@ -113,7 +113,7 @@ func resourceSecretRotationCreate(ctx context.Context, d *schema.ResourceData, m } // AccessDeniedException: Secrets Manager cannot invoke the specified Lambda function. - outputRaw, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, 1*time.Minute, func() (any, error) { + outputRaw, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, 1*time.Minute, func(ctx context.Context) (any, error) { return conn.RotateSecret(ctx, input) }, "AccessDeniedException") @@ -176,7 +176,7 @@ func resourceSecretRotationUpdate(ctx context.Context, d *schema.ResourceData, m } // AccessDeniedException: Secrets Manager cannot invoke the specified Lambda function. - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, 1*time.Minute, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, 1*time.Minute, func(ctx context.Context) (any, error) { return conn.RotateSecret(ctx, input) }, "AccessDeniedException", "InvalidRequestException") From 224e8bf3a0e4f548ecaf66dded4f31986be638c1 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 16:06:12 -0400 Subject: [PATCH 0217/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrCodeEquals' - securityhub. --- internal/service/securityhub/organization_admin_account.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/securityhub/organization_admin_account.go b/internal/service/securityhub/organization_admin_account.go index 03068c055446..2415aef6d762 100644 --- a/internal/service/securityhub/organization_admin_account.go +++ b/internal/service/securityhub/organization_admin_account.go @@ -57,7 +57,7 @@ func resourceOrganizationAdminAccountCreate(ctx context.Context, d *schema.Resou const ( timeout = 2 * time.Minute ) - _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, timeout, func(ctx context.Context) (any, error) { return conn.EnableOrganizationAdminAccount(ctx, input) }, errCodeResourceConflictException) From 489091bef2756f35d17eff0a60db94534bb73a36 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 16:06:13 -0400 Subject: [PATCH 0218/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrCodeEquals' - sfn. --- internal/service/sfn/state_machine.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/sfn/state_machine.go b/internal/service/sfn/state_machine.go index db3755d887c0..d017f4c5a839 100644 --- a/internal/service/sfn/state_machine.go +++ b/internal/service/sfn/state_machine.go @@ -230,7 +230,7 @@ func resourceStateMachineCreate(ctx context.Context, d *schema.ResourceData, met // Note: the instance may be in a deleting mode, hence the retry // when creating the step function. This can happen when we are // updating the resource (since there is no update API call). - outputRaw, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutCreate), func() (any, error) { + outputRaw, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutCreate), func(ctx context.Context) (any, error) { return conn.CreateStateMachine(ctx, input) }, "StateMachineDeleting", "AccessDeniedException") From d693076d8f50495628b568b4624c120985446567 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 16:06:13 -0400 Subject: [PATCH 0219/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrCodeEquals' - sqs. --- internal/service/sqs/queue.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/sqs/queue.go b/internal/service/sqs/queue.go index 1c0ec8162328..8d4bec04815a 100644 --- a/internal/service/sqs/queue.go +++ b/internal/service/sqs/queue.go @@ -238,7 +238,7 @@ func resourceQueueCreate(ctx context.Context, d *schema.ResourceData, meta any) // create is 2 phase: 1. create, 2. wait for propagation deadline := inttypes.NewDeadline(d.Timeout(schema.TimeoutCreate)) - outputRaw, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutCreate)/2, func() (any, error) { + outputRaw, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutCreate)/2, func(ctx context.Context) (any, error) { return conn.CreateQueue(ctx, input) }, errCodeQueueDeletedRecently) @@ -246,7 +246,7 @@ func resourceQueueCreate(ctx context.Context, d *schema.ResourceData, meta any) if input.Tags != nil && errs.IsUnsupportedOperationInPartitionError(meta.(*conns.AWSClient).Partition(ctx), err) { input.Tags = nil - outputRaw, err = tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutCreate)/2, func() (any, error) { + outputRaw, err = tfresource.RetryWhenAWSErrCodeEquals(ctx, d.Timeout(schema.TimeoutCreate)/2, func(ctx context.Context) (any, error) { return conn.CreateQueue(ctx, input) }, errCodeQueueDeletedRecently) } From 031750c153da90de9ceb74d448d56f8feb8d3817 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 1 Aug 2025 16:14:19 -0400 Subject: [PATCH 0220/1301] Replace use of 'tfresource.RetryGWhenAWSErrCodeEquals' with 'tfresource.RetryWhenAWSErrCodeEquals'. --- internal/service/applicationinsights/application.go | 2 +- internal/service/iam/service_linked_role.go | 2 +- internal/tfresource/retry.go | 11 ----------- 3 files changed, 2 insertions(+), 13 deletions(-) diff --git a/internal/service/applicationinsights/application.go b/internal/service/applicationinsights/application.go index faa2d530ed71..df29bbc7903e 100644 --- a/internal/service/applicationinsights/application.go +++ b/internal/service/applicationinsights/application.go @@ -104,7 +104,7 @@ func resourceApplicationCreate(ctx context.Context, d *schema.ResourceData, meta input.OpsItemSNSTopicArn = aws.String(v.(string)) } - output, err := tfresource.RetryGWhenAWSErrCodeEquals(ctx, 2*time.Minute, func() (*applicationinsights.CreateApplicationOutput, error) { + output, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, 2*time.Minute, func(ctx context.Context) (*applicationinsights.CreateApplicationOutput, error) { return conn.CreateApplication(ctx, input) }) if err != nil { diff --git a/internal/service/iam/service_linked_role.go b/internal/service/iam/service_linked_role.go index bd9a26a1020e..b25a94ea2a22 100644 --- a/internal/service/iam/service_linked_role.go +++ b/internal/service/iam/service_linked_role.go @@ -105,7 +105,7 @@ func resourceServiceLinkedRoleCreate(ctx context.Context, d *schema.ResourceData input.Description = aws.String(v.(string)) } - output, err := tfresource.RetryGWhenAWSErrCodeEquals(ctx, propagationTimeout, func() (*iam.CreateServiceLinkedRoleOutput, error) { + output, err := tfresource.RetryWhenAWSErrCodeEquals(ctx, propagationTimeout, func(ctx context.Context) (*iam.CreateServiceLinkedRoleOutput, error) { return conn.CreateServiceLinkedRole(ctx, input) }, "AccessDenied") if err != nil { diff --git a/internal/tfresource/retry.go b/internal/tfresource/retry.go index 8c84f17eb04b..dee26fbb8593 100644 --- a/internal/tfresource/retry.go +++ b/internal/tfresource/retry.go @@ -106,17 +106,6 @@ func RetryWhenAWSErrCodeEquals[T any](ctx context.Context, timeout time.Duration }) } -// RetryGWhenAWSErrCodeEquals retries the specified function when it returns one of the specified AWS error codes. -func RetryGWhenAWSErrCodeEquals[T any](ctx context.Context, timeout time.Duration, f func() (T, error), codes ...string) (T, error) { // nosemgrep:ci.aws-in-func-name - return RetryGWhen(ctx, timeout, f, func(err error) (bool, error) { - if tfawserr.ErrCodeEquals(err, codes...) { - return true, err - } - - return false, err - }) -} - // RetryWhenAWSErrCodeContains retries the specified function when it returns an AWS error containing the specified code. func RetryWhenAWSErrCodeContains[T any](ctx context.Context, timeout time.Duration, f func(context.Context) (T, error), code string) (T, error) { // nosemgrep:ci.aws-in-func-name return retryWhen(ctx, timeout, f, func(err error) (bool, error) { From 5bb30a7b33fa952017487060449caa39559b5790 Mon Sep 17 00:00:00 2001 From: changelogbot Date: Fri, 1 Aug 2025 20:16:38 +0000 Subject: [PATCH 0221/1301] Update CHANGELOG.md for #43639 --- CHANGELOG.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f1185f3db88e..650a3942279a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,23 @@ ## 6.8.0 (Unreleased) +FEATURES: + +* **New Resource:** `aws_quicksight_custom_permissions` ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) +* **New Resource:** `aws_quicksight_role_custom_permission` ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) +* **New Resource:** `aws_quicksight_user_custom_permission` ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) + +ENHANCEMENTS: + +* data-source/aws_quicksight_user: Add `custom_permissions_name` attribute ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) +* resource/aws_quicksight_user: Add plan-time validation of `iam_arn` ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) +* resource/aws_quicksight_user: Change `user_name` to Optional and Computed ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) +* resource/aws_quicksight_user: Support `IAM_IDENTITY_CENTER` as a valid value for `identity_type` ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) +* resource/aws_quicksight_user: Support `RESTRICTED_AUTHOR` and `RESTRICTED_READER` as valid values for `user_role` ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) + +BUG FIXES: + +* provider: Fix failure to detect resources deleted outside of Terraform as missing for numerous resource types ([#43659](https://github.com/hashicorp/terraform-provider-aws/issues/43659)) + ## 6.7.0 (July 31, 2025) FEATURES: From dabb9e65ea8dcbc7e198d45f539b55f659af09f8 Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Fri, 1 Aug 2025 17:47:16 -0500 Subject: [PATCH 0222/1301] aws_batch_compute_environment: force new resource --- internal/service/batch/compute_environment.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/internal/service/batch/compute_environment.go b/internal/service/batch/compute_environment.go index ef5c78d7c86b..bc46ff3611da 100644 --- a/internal/service/batch/compute_environment.go +++ b/internal/service/batch/compute_environment.go @@ -81,7 +81,7 @@ func resourceComputeEnvironment() *schema.Resource { "compute_resources": { Type: schema.TypeList, Optional: true, - ForceNew: true, + Computed: true, MinItems: 0, MaxItems: 1, Elem: &schema.Resource{ @@ -576,7 +576,7 @@ func resourceComputeEnvironmentDelete(ctx context.Context, d *schema.ResourceDat return diags } -func resourceComputeEnvironmentCustomizeDiff(_ context.Context, diff *schema.ResourceDiff, meta any) error { +func resourceComputeEnvironmentCustomizeDiff(ctx context.Context, diff *schema.ResourceDiff, _ any) error { if computeEnvironmentType := strings.ToUpper(diff.Get(names.AttrType).(string)); computeEnvironmentType == string(awstypes.CETypeUnmanaged) { // UNMANAGED compute environments can have no compute_resources configured. if v, ok := diff.GetOk("compute_resources"); ok && len(v.([]any)) > 0 && v.([]any)[0] != nil { @@ -668,11 +668,13 @@ func resourceComputeEnvironmentCustomizeDiff(_ context.Context, diff *schema.Res } } - // If the launch template ID is unknown, ForceNew. + // If the launch template version is unknown, set new value to ForceNew. if v := diff.GetRawPlan().GetAttr("compute_resources"); v.IsKnown() && v.LengthInt() == 1 { if v := v.AsValueSlice()[0].GetAttr(names.AttrLaunchTemplate); v.IsKnown() && v.LengthInt() == 1 { if v := v.AsValueSlice()[0].GetAttr(names.AttrVersion); !v.IsKnown() { - if err := diff.ForceNew("compute_resources.0.launch_template.0.launch_template_id"); err != nil { + out := expandComputeResource(ctx, diff.Get("compute_resources").([]any)[0].(map[string]any)) + out.LaunchTemplate.Version = aws.String("") // Forces new if version has changed + if err := diff.SetNew("compute_resources", []any{flattenComputeResource(ctx, out)}); err != nil { return err } } From c6f56cf2051e8f6387dec0833037cab8c67d3ca9 Mon Sep 17 00:00:00 2001 From: tabito Date: Sat, 2 Aug 2025 08:29:11 +0900 Subject: [PATCH 0223/1301] replace max_capacity with names.AttrMaxCapacity --- internal/service/docdb/cluster.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/service/docdb/cluster.go b/internal/service/docdb/cluster.go index dc414fde8885..c492397d41a4 100644 --- a/internal/service/docdb/cluster.go +++ b/internal/service/docdb/cluster.go @@ -308,7 +308,7 @@ func resourceCluster() *schema.Resource { MaxItems: 1, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ - "max_capacity": { + names.AttrMaxCapacity: { Type: schema.TypeFloat, Required: true, ValidateFunc: validation.All( @@ -1006,7 +1006,7 @@ func expandServerlessV2ScalingConfiguration(v map[string]any) *awstypes.Serverle } apiObject := &awstypes.ServerlessV2ScalingConfiguration{} - if v, ok := v["max_capacity"].(float64); ok { + if v, ok := v[names.AttrMaxCapacity].(float64); ok { apiObject.MaxCapacity = aws.Float64(v) } if v, ok := v["min_capacity"].(float64); ok { @@ -1024,7 +1024,7 @@ func flattenServerlessV2ScalingConfiguration(v *awstypes.ServerlessV2ScalingConf tfMap := map[string]any{} if v.MaxCapacity != nil { - tfMap["max_capacity"] = aws.ToFloat64(v.MaxCapacity) + tfMap[names.AttrMaxCapacity] = aws.ToFloat64(v.MaxCapacity) } if v.MinCapacity != nil { tfMap["min_capacity"] = aws.ToFloat64(v.MinCapacity) From 4f5d1356b853dfc7582fec5d226acaf1a894e0df Mon Sep 17 00:00:00 2001 From: tabito Date: Sat, 2 Aug 2025 08:29:42 +0900 Subject: [PATCH 0224/1301] replace a magic number with constant variable --- internal/service/docdb/cluster.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/service/docdb/cluster.go b/internal/service/docdb/cluster.go index c492397d41a4..f84ff6fbd72b 100644 --- a/internal/service/docdb/cluster.go +++ b/internal/service/docdb/cluster.go @@ -388,13 +388,17 @@ func resourceCluster() *schema.Resource { } func validateServerlessCapacity(i any, k string) (ws []string, es []error) { + const ( + epsilon = 1.0e-10 + ) + v, ok := i.(float64) if !ok { es = append(es, fmt.Errorf("expected type of %s to be float64", k)) return } // add a small epsilon to avoid floating point precision issues - if int(v*10+1.0e-10)%5 != 0 { + if int(v*10+epsilon)%5 != 0 { es = append(es, fmt.Errorf("%s must be a multiple of 0.5", k)) return } From deea01f670628e9f84004d8fe67de86eb3008467 Mon Sep 17 00:00:00 2001 From: yoshizawa56 Date: Sat, 2 Aug 2025 08:49:32 +0900 Subject: [PATCH 0225/1301] Add MUTABLE_WITH_EXCLUSION support and documentation updates --- .changelog/43642.txt | 2 +- internal/service/ecr/repository_test.go | 53 +++++++++++++++++++++ website/docs/r/ecr_repository.html.markdown | 4 +- 3 files changed, 56 insertions(+), 3 deletions(-) diff --git a/.changelog/43642.txt b/.changelog/43642.txt index 2dd706714e24..466fb026f71f 100644 --- a/.changelog/43642.txt +++ b/.changelog/43642.txt @@ -1,3 +1,3 @@ ```release-note:enhancement -resource/aws_ecr_repository: Add support for `IMMUTABLE_WITH_EXCLUSION` image tag mutability mode with `image_tag_mutability_exclusion_filter` configuration block +resource/aws_ecr_repository: Add support for `IMMUTABLE_WITH_EXCLUSION` and `MUTABLE_WITH_EXCLUSION` image tag mutability modes with `image_tag_mutability_exclusion_filter` configuration block ``` \ No newline at end of file diff --git a/internal/service/ecr/repository_test.go b/internal/service/ecr/repository_test.go index 0ed835f90837..39ad38995831 100644 --- a/internal/service/ecr/repository_test.go +++ b/internal/service/ecr/repository_test.go @@ -196,6 +196,45 @@ func TestAccECRRepository_immutabilityWithExclusion(t *testing.T) { }) } +func TestAccECRRepository_mutabilityWithExclusion(t *testing.T) { + ctx := acctest.Context(t) + var v types.Repository + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_ecr_repository.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.ECRServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckRepositoryDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccRepositoryConfig_mutabilityWithExclusion(rName, "prod-*"), + Check: resource.ComposeTestCheckFunc( + testAccCheckRepositoryExists(ctx, resourceName, &v), + resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), + resource.TestCheckResourceAttr(resourceName, "image_tag_mutability", string(types.ImageTagMutabilityMutableWithExclusion)), + resource.TestCheckResourceAttr(resourceName, "image_tag_mutability_exclusion_filter.#", "1"), + resource.TestCheckResourceAttr(resourceName, "image_tag_mutability_exclusion_filter.0.filter", "prod-*"), + resource.TestCheckResourceAttr(resourceName, "image_tag_mutability_exclusion_filter.0.filter_type", string(types.ImageTagMutabilityExclusionFilterTypeWildcard)), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + Config: testAccRepositoryConfig_mutabilityWithExclusion(rName, "release-*"), + Check: resource.ComposeTestCheckFunc( + testAccCheckRepositoryExists(ctx, resourceName, &v), + resource.TestCheckResourceAttr(resourceName, "image_tag_mutability_exclusion_filter.0.filter", "release-*"), + ), + }, + }, + }) +} + func TestAccECRRepository_immutabilityWithExclusion_validation(t *testing.T) { ctx := acctest.Context(t) rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -546,6 +585,20 @@ resource "aws_ecr_repository" "test" { `, rName, filter) } +func testAccRepositoryConfig_mutabilityWithExclusion(rName, filter string) string { + return fmt.Sprintf(` +resource "aws_ecr_repository" "test" { + name = %[1]q + image_tag_mutability = "MUTABLE_WITH_EXCLUSION" + + image_tag_mutability_exclusion_filter { + filter = %[2]q + filter_type = "WILDCARD" + } +} +`, rName, filter) +} + func testAccRepositoryConfig_immutabilityWithExclusionInvalid(rName string) string { return fmt.Sprintf(` resource "aws_ecr_repository" "test" { diff --git a/website/docs/r/ecr_repository.html.markdown b/website/docs/r/ecr_repository.html.markdown index 8177ebe046b3..17d44a8be012 100644 --- a/website/docs/r/ecr_repository.html.markdown +++ b/website/docs/r/ecr_repository.html.markdown @@ -51,8 +51,8 @@ This resource supports the following arguments: * `encryption_configuration` - (Optional) Encryption configuration for the repository. See [below for schema](#encryption_configuration). * `force_delete` - (Optional) If `true`, will delete the repository even if it contains images. Defaults to `false`. -* `image_tag_mutability` - (Optional) The tag mutability setting for the repository. Must be one of: `MUTABLE`, `IMMUTABLE`, or `IMMUTABLE_WITH_EXCLUSION`. Defaults to `MUTABLE`. -* `image_tag_mutability_exclusion_filter` - (Optional) Configuration block that defines filters to specify which image tags can override the default tag mutability setting. Only applicable when `image_tag_mutability` is set to `IMMUTABLE_WITH_EXCLUSION`. See [below for schema](#image_tag_mutability_exclusion_filter). +* `image_tag_mutability` - (Optional) The tag mutability setting for the repository. Must be one of: `MUTABLE`, `IMMUTABLE`, `IMMUTABLE_WITH_EXCLUSION`, or `MUTABLE_WITH_EXCLUSION`. Defaults to `MUTABLE`. +* `image_tag_mutability_exclusion_filter` - (Optional) Configuration block that defines filters to specify which image tags can override the default tag mutability setting. Only applicable when `image_tag_mutability` is set to `IMMUTABLE_WITH_EXCLUSION` or `MUTABLE_WITH_EXCLUSION`. See [below for schema](#image_tag_mutability_exclusion_filter). * `image_scanning_configuration` - (Optional) Configuration block that defines image scanning configuration for the repository. By default, image scanning must be manually triggered. See the [ECR User Guide](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning.html) for more information about image scanning. * `scan_on_push` - (Required) Indicates whether images are scanned after being pushed to the repository (true) or not scanned (false). * `tags` - (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. From 51afd3df0fa8e97c0ca58a4cfe7606d7a683bb9d Mon Sep 17 00:00:00 2001 From: tabito Date: Sat, 2 Aug 2025 08:49:37 +0900 Subject: [PATCH 0226/1301] add tiny fix to the documentation --- website/docs/r/docdb_cluster.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/r/docdb_cluster.html.markdown b/website/docs/r/docdb_cluster.html.markdown index 9674a5963d77..0e43dfb151a9 100644 --- a/website/docs/r/docdb_cluster.html.markdown +++ b/website/docs/r/docdb_cluster.html.markdown @@ -99,7 +99,7 @@ The `restore_to_point_in_time` block supports the following arguments: ### Serverless V2 Scaling Configuration The `serverless_v2_scaling_configuration` block supports the following arguments. -Adding this block (switching to serverless) or removing it (switching from serverless) will trigger cluster replacement. +Adding this block (i.e. switching to serverless) or removing it (i.e. switching from serverless) will trigger cluster replacement. * `max_capacity` - (Required) Maximum number of Amazon DocumentDB capacity units (DCUs) for an instance in an Amazon DocumentDB Serverless cluster. Valid values are multiples of 0.5 between 1 and 256. * `min_capacity` - (Required) Minimum number of Amazon DocumentDB capacity units (DCUs) for an instance in an Amazon DocumentDB Serverless cluster. Valid values are multiples of 0.5 between 0.5 and 256. From f703ed099fa746fabcb16609402e61845495f486 Mon Sep 17 00:00:00 2001 From: tabito Date: Sat, 2 Aug 2025 12:33:20 +0900 Subject: [PATCH 0227/1301] Fix to support import --- internal/service/lightsail/static_ip.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/internal/service/lightsail/static_ip.go b/internal/service/lightsail/static_ip.go index 5c39bfc3b778..814919f81c96 100644 --- a/internal/service/lightsail/static_ip.go +++ b/internal/service/lightsail/static_ip.go @@ -25,6 +25,10 @@ func ResourceStaticIP() *schema.Resource { ReadWithoutTimeout: resourceStaticIPRead, DeleteWithoutTimeout: resourceStaticIPDelete, + Importer: &schema.ResourceImporter{ + StateContext: schema.ImportStatePassthroughContext, + }, + Schema: map[string]*schema.Schema{ names.AttrName: { Type: schema.TypeString, @@ -69,7 +73,7 @@ func resourceStaticIPRead(ctx context.Context, d *schema.ResourceData, meta any) var diags diag.Diagnostics conn := meta.(*conns.AWSClient).LightsailClient(ctx) - name := d.Get(names.AttrName).(string) + name := d.Id() log.Printf("[INFO] Reading Lightsail Static IP: %q", name) out, err := conn.GetStaticIp(ctx, &lightsail.GetStaticIpInput{ StaticIpName: aws.String(name), @@ -85,6 +89,7 @@ func resourceStaticIPRead(ctx context.Context, d *schema.ResourceData, meta any) d.Set(names.AttrARN, out.StaticIp.Arn) d.Set(names.AttrIPAddress, out.StaticIp.IpAddress) + d.Set(names.AttrName, out.StaticIp.Name) d.Set("support_code", out.StaticIp.SupportCode) return diags From fa6e68d3f7f084664e7f1ee1e24429147a3ce4f0 Mon Sep 17 00:00:00 2001 From: tabito Date: Sat, 2 Aug 2025 12:34:34 +0900 Subject: [PATCH 0228/1301] add a test case to check import functionality --- internal/service/lightsail/static_ip_test.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/internal/service/lightsail/static_ip_test.go b/internal/service/lightsail/static_ip_test.go index 786fa5c5319c..32931f90c602 100644 --- a/internal/service/lightsail/static_ip_test.go +++ b/internal/service/lightsail/static_ip_test.go @@ -23,6 +23,7 @@ import ( func TestAccLightsailStaticIP_basic(t *testing.T) { ctx := acctest.Context(t) staticIpName := fmt.Sprintf("tf-test-lightsail-%s", sdkacctest.RandString(5)) + resourceName := "aws_lightsail_static_ip.test" resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { acctest.PreCheck(ctx, t); testAccPreCheck(ctx, t) }, @@ -33,9 +34,14 @@ func TestAccLightsailStaticIP_basic(t *testing.T) { { Config: testAccStaticIPConfig_basic(staticIpName), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckStaticIPExists(ctx, "aws_lightsail_static_ip.test"), + testAccCheckStaticIPExists(ctx, resourceName), ), }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, }, }) } From 91b8f8f1fb5bdd6dc9e0fc269f8b12a9fa9d79fe Mon Sep 17 00:00:00 2001 From: tabito Date: Sat, 2 Aug 2025 12:52:46 +0900 Subject: [PATCH 0229/1301] add changelog --- .changelog/43672.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/43672.txt diff --git a/.changelog/43672.txt b/.changelog/43672.txt new file mode 100644 index 000000000000..9e196e510a71 --- /dev/null +++ b/.changelog/43672.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/aws_lightsail_static_ip: Support resource import +``` From 7890cbd37417ee6fc4b6aa330895f55cb987e624 Mon Sep 17 00:00:00 2001 From: tabito Date: Sat, 2 Aug 2025 13:28:34 +0900 Subject: [PATCH 0230/1301] add Importer declaration in the schama --- internal/service/inspector2/enabler.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/internal/service/inspector2/enabler.go b/internal/service/inspector2/enabler.go index a551af5ddc1d..8f4ce6a76cb8 100644 --- a/internal/service/inspector2/enabler.go +++ b/internal/service/inspector2/enabler.go @@ -48,6 +48,10 @@ func ResourceEnabler() *schema.Resource { Delete: schema.DefaultTimeout(5 * time.Minute), }, + Importer: &schema.ResourceImporter{ + StateContext: schema.ImportStatePassthroughContext, + }, + Schema: map[string]*schema.Schema{ "account_ids": { Type: schema.TypeSet, From 231aa2834797f4a93f90c5a3aa606d9cd6e97ae5 Mon Sep 17 00:00:00 2001 From: tabito Date: Sat, 2 Aug 2025 13:29:00 +0900 Subject: [PATCH 0231/1301] add test cases for import to some existing acctests --- internal/service/inspector2/enabler_test.go | 25 +++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/internal/service/inspector2/enabler_test.go b/internal/service/inspector2/enabler_test.go index 4f99952255ba..3a8146963501 100644 --- a/internal/service/inspector2/enabler_test.go +++ b/internal/service/inspector2/enabler_test.go @@ -53,6 +53,11 @@ func testAccEnabler_basic(t *testing.T) { resource.TestCheckTypeSetElemAttr(resourceName, "resource_types.*", string(types.ResourceScanTypeEcr)), ), }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, }, }) } @@ -86,6 +91,11 @@ func testAccEnabler_accountID(t *testing.T) { resource.TestCheckTypeSetElemAttr(resourceName, "resource_types.*", string(types.ResourceScanTypeEcr)), ), }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, }, }) } @@ -248,6 +258,11 @@ func testAccEnabler_lambda(t *testing.T) { resource.TestCheckTypeSetElemAttr(resourceName, "resource_types.*", string(types.ResourceScanTypeLambda)), ), }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, }, }) } @@ -283,6 +298,11 @@ func testAccEnabler_lambdaCode(t *testing.T) { resource.TestCheckTypeSetElemAttr(resourceName, "resource_types.*", string(types.ResourceScanTypeLambdaCode)), ), }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, }, }) } @@ -315,6 +335,11 @@ func testAccEnabler_codeRepository(t *testing.T) { resource.TestCheckTypeSetElemAttr(resourceName, "resource_types.*", string(types.ResourceScanTypeCodeRepository)), ), }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, }, }) } From dc6f71c877572cb43aa6de99d0a948a9e243b627 Mon Sep 17 00:00:00 2001 From: tabito Date: Sat, 2 Aug 2025 13:30:43 +0900 Subject: [PATCH 0232/1301] add description abount import to the documentation --- .../docs/r/inspector2_enabler.html.markdown | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/website/docs/r/inspector2_enabler.html.markdown b/website/docs/r/inspector2_enabler.html.markdown index 9507cb6fdd89..74e35dfb01aa 100644 --- a/website/docs/r/inspector2_enabler.html.markdown +++ b/website/docs/r/inspector2_enabler.html.markdown @@ -47,7 +47,7 @@ This resource supports the following arguments: ## Attribute Reference -This resource exports no additional attributes. +* `id` - A unique identifier, formatted as `[account_id1]:[account_id2]:...-[resource_type1]:[resource_type2]:....`, where `account_ids` are sored in ascending order and `resource_types` are sorted in alphabetical order. ## Timeouts @@ -56,3 +56,20 @@ This resource exports no additional attributes. * `create` - (Default `5m`) * `update` - (Default `5m`) * `delete` - (Default `5m`) + +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Inspector Enabler using the `id`. For example: + +```terraform +import { + to = aws_inspector2_enabler.example + id = "123456789012:234567890123-EC2:ECR" +} +``` + +Using `terraform import`, import Inspector Enabler using the `id`. For example: + +```console +% terraform import aws_inspector2_enabler.example 123456789012:234567890123-EC2:ECR +``` From c5a9ba50d202f06bb7c9c5d32d610cfb6f9dc3c6 Mon Sep 17 00:00:00 2001 From: tabito Date: Sat, 2 Aug 2025 13:40:23 +0900 Subject: [PATCH 0233/1301] applied a small correction to the documentation --- website/docs/r/inspector2_enabler.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/r/inspector2_enabler.html.markdown b/website/docs/r/inspector2_enabler.html.markdown index 74e35dfb01aa..a2c4aba116f1 100644 --- a/website/docs/r/inspector2_enabler.html.markdown +++ b/website/docs/r/inspector2_enabler.html.markdown @@ -47,7 +47,7 @@ This resource supports the following arguments: ## Attribute Reference -* `id` - A unique identifier, formatted as `[account_id1]:[account_id2]:...-[resource_type1]:[resource_type2]:....`, where `account_ids` are sored in ascending order and `resource_types` are sorted in alphabetical order. +* `id` – A unique identifier formatted as `[account_id1]:[account_id2]:...-[resource_type1]:[resource_type2]:...`, where `account_id`s are sorted in ascending order and `resource_type`s are sorted in alphabetical order. ## Timeouts From 76e47aa7efd0a80ccfdade05506977f86d2cbf98 Mon Sep 17 00:00:00 2001 From: tabito Date: Sat, 2 Aug 2025 13:43:57 +0900 Subject: [PATCH 0234/1301] add changelog --- .changelog/43673.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/43673.txt diff --git a/.changelog/43673.txt b/.changelog/43673.txt new file mode 100644 index 000000000000..e74f3cbcc905 --- /dev/null +++ b/.changelog/43673.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/aws_inspector2_enabler: Support resource import +``` From 95f504cdc7702803309ba7655abc9ed0f65fd7d5 Mon Sep 17 00:00:00 2001 From: tabito Date: Sat, 2 Aug 2025 14:30:15 +0900 Subject: [PATCH 0235/1301] fix an issue of the document reported by linter --- website/docs/r/inspector2_enabler.html.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/docs/r/inspector2_enabler.html.markdown b/website/docs/r/inspector2_enabler.html.markdown index a2c4aba116f1..55251a9e0b2e 100644 --- a/website/docs/r/inspector2_enabler.html.markdown +++ b/website/docs/r/inspector2_enabler.html.markdown @@ -47,6 +47,8 @@ This resource supports the following arguments: ## Attribute Reference +This resource exports the following attributes in addition to the arguments above: + * `id` – A unique identifier formatted as `[account_id1]:[account_id2]:...-[resource_type1]:[resource_type2]:...`, where `account_id`s are sorted in ascending order and `resource_type`s are sorted in alphabetical order. ## Timeouts From 20119f4aa07c7f7946db91c846e9182b106f02f7 Mon Sep 17 00:00:00 2001 From: tabito Date: Sat, 2 Aug 2025 15:12:09 +0900 Subject: [PATCH 0236/1301] update the doc: fix explanation using id --- website/docs/r/inspector2_enabler.html.markdown | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/website/docs/r/inspector2_enabler.html.markdown b/website/docs/r/inspector2_enabler.html.markdown index 55251a9e0b2e..d2b363718df8 100644 --- a/website/docs/r/inspector2_enabler.html.markdown +++ b/website/docs/r/inspector2_enabler.html.markdown @@ -47,9 +47,7 @@ This resource supports the following arguments: ## Attribute Reference -This resource exports the following attributes in addition to the arguments above: - -* `id` – A unique identifier formatted as `[account_id1]:[account_id2]:...-[resource_type1]:[resource_type2]:...`, where `account_id`s are sorted in ascending order and `resource_type`s are sorted in alphabetical order. +This resource exports no additional attributes. ## Timeouts @@ -61,7 +59,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Inspector Enabler using the `id`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Inspector Enabler using `account_ids` and `region_types` formatted as `[account_id1]:[account_id2]:...-[resource_type1]:[resource_type2]:...`, where `account_ids` are sorted in ascending order and `resource_types` are sorted in alphabetical order. For example: ```terraform import { @@ -70,7 +68,7 @@ import { } ``` -Using `terraform import`, import Inspector Enabler using the `id`. For example: +Using `terraform import`, import Inspector Enabler using using `account_ids` and `region_types` formatted as `[account_id1]:[account_id2]:...-[resource_type1]:[resource_type2]:...`, where `account_ids` are sorted in ascending order and `resource_types` are sorted in alphabetical order. For example: ```console % terraform import aws_inspector2_enabler.example 123456789012:234567890123-EC2:ECR From 1c4eef5ed444a49c76addbc2933dbe72809ea46e Mon Sep 17 00:00:00 2001 From: tabito Date: Sat, 2 Aug 2025 15:22:43 +0900 Subject: [PATCH 0237/1301] fix to support resource import --- internal/service/opensearch/domain_policy.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/internal/service/opensearch/domain_policy.go b/internal/service/opensearch/domain_policy.go index d49329aaea98..0d5f363b596f 100644 --- a/internal/service/opensearch/domain_policy.go +++ b/internal/service/opensearch/domain_policy.go @@ -6,6 +6,7 @@ package opensearch import ( "context" "log" + "strings" "time" "github.com/aws/aws-sdk-go-v2/aws" @@ -35,6 +36,10 @@ func resourceDomainPolicy() *schema.Resource { Delete: schema.DefaultTimeout(90 * time.Minute), }, + Importer: &schema.ResourceImporter{ + StateContext: schema.ImportStatePassthroughContext, + }, + Schema: map[string]*schema.Schema{ names.AttrDomainName: { Type: schema.TypeString, @@ -58,7 +63,8 @@ func resourceDomainPolicyRead(ctx context.Context, d *schema.ResourceData, meta var diags diag.Diagnostics conn := meta.(*conns.AWSClient).OpenSearchClient(ctx) - ds, err := findDomainByName(ctx, conn, d.Get(names.AttrDomainName).(string)) + domainName := strings.Replace(d.Id(), "esd-policy-", "", 1) + ds, err := findDomainByName(ctx, conn, domainName) if !d.IsNewResource() && tfresource.NotFound(err) { log.Printf("[WARN] OpenSearch Domain Policy (%s) not found, removing from state", d.Id()) @@ -77,6 +83,7 @@ func resourceDomainPolicyRead(ctx context.Context, d *schema.ResourceData, meta } d.Set("access_policies", policies) + d.Set(names.AttrDomainName, ds.DomainName) return diags } From 6acea39ac74be737b20ddd9d4d50d8a2fd6ae3b9 Mon Sep 17 00:00:00 2001 From: tabito Date: Sat, 2 Aug 2025 15:23:06 +0900 Subject: [PATCH 0238/1301] add a test case for import --- internal/service/opensearch/domain_policy_test.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/internal/service/opensearch/domain_policy_test.go b/internal/service/opensearch/domain_policy_test.go index beb72c1b193f..aedf2920c163 100644 --- a/internal/service/opensearch/domain_policy_test.go +++ b/internal/service/opensearch/domain_policy_test.go @@ -21,6 +21,7 @@ func TestAccOpenSearchDomainPolicy_basic(t *testing.T) { ctx := acctest.Context(t) var domain awstypes.DomainStatus ri := sdkacctest.RandInt() + resourceName := "aws_opensearch_domain_policy.test" policy := `{ "Version": "2012-10-17", "Statement": [ @@ -69,10 +70,15 @@ func TestAccOpenSearchDomainPolicy_basic(t *testing.T) { } expectedPolicy := fmt.Sprintf(expectedPolicyTpl, expectedArn) - return testAccCheckPolicyMatch("aws_opensearch_domain_policy.test", "access_policies", expectedPolicy)(s) + return testAccCheckPolicyMatch(resourceName, "access_policies", expectedPolicy)(s) }, ), }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, }, }) } From b81710e67c9d0f7abccfe3df3d904d9b71162c50 Mon Sep 17 00:00:00 2001 From: tabito Date: Sat, 2 Aug 2025 15:23:56 +0900 Subject: [PATCH 0239/1301] add instruction of import to the documentation --- .../r/opensearch_domain_policy.html.markdown | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/website/docs/r/opensearch_domain_policy.html.markdown b/website/docs/r/opensearch_domain_policy.html.markdown index c857add58802..f3ace154298d 100644 --- a/website/docs/r/opensearch_domain_policy.html.markdown +++ b/website/docs/r/opensearch_domain_policy.html.markdown @@ -62,3 +62,20 @@ This resource exports no additional attributes. * `update` - (Default `180m`) * `delete` - (Default `90m`) + +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import OpenSearch Domain Policy using `domain_name` prefixed with `esd-policy-`. For example: + +```terraform +import { + to = aws_opensearch_domain_policy.example + id = "esd-policy-tf-test" +} +``` + +Using `terraform import`, import OpenSearch Domain Policy using `domain_name` prefixed with `esd-policy-`. For example: + +```console +% terraform import aws_opensearch_domain_policy.example esd-policy-tf-test +``` From 07ed56b68f87ed00faf12afe5a2fae4e80ffcb59 Mon Sep 17 00:00:00 2001 From: tabito Date: Sat, 2 Aug 2025 15:35:03 +0900 Subject: [PATCH 0240/1301] add changelog --- .changelog/43674.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/43674.txt diff --git a/.changelog/43674.txt b/.changelog/43674.txt new file mode 100644 index 000000000000..e4bca455c146 --- /dev/null +++ b/.changelog/43674.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/aws_opensearch_domain_policy: Support resource import +``` From cdb6d416d9b230f38c53b038dc36411f68e0bcf4 Mon Sep 17 00:00:00 2001 From: Alex Bacchin Date: Sat, 2 Aug 2025 22:12:16 +1000 Subject: [PATCH 0241/1301] added resource, test, documentation and changelog --- .changelog/43675.txt | 3 + .../vpc_endpoint_association.go | 86 +++++++++-------- .../vpc_endpoint_association_test.go | 93 ++++++++----------- 3 files changed, 88 insertions(+), 94 deletions(-) create mode 100644 .changelog/43675.txt diff --git a/.changelog/43675.txt b/.changelog/43675.txt new file mode 100644 index 000000000000..f0d443f5340b --- /dev/null +++ b/.changelog/43675.txt @@ -0,0 +1,3 @@ +```release-note:new-resource +aws_networkfirewall_vpc_endpoint_association +``` \ No newline at end of file diff --git a/internal/service/networkfirewall/vpc_endpoint_association.go b/internal/service/networkfirewall/vpc_endpoint_association.go index d58ca84cc20a..3027d76ac179 100644 --- a/internal/service/networkfirewall/vpc_endpoint_association.go +++ b/internal/service/networkfirewall/vpc_endpoint_association.go @@ -13,9 +13,11 @@ import ( awstypes "github.com/aws/aws-sdk-go-v2/service/networkfirewall/types" "github.com/hashicorp/terraform-plugin-framework-timeouts/resource/timeouts" "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" + "github.com/hashicorp/terraform-plugin-framework/diag" "github.com/hashicorp/terraform-plugin-framework/path" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/listplanmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" "github.com/hashicorp/terraform-plugin-framework/schema/validator" @@ -103,6 +105,9 @@ func (r *resourceVPCEndpointAssociation) Schema(ctx context.Context, req resourc Validators: []validator.List{ listvalidator.SizeAtMost(1), }, + PlanModifiers: []planmodifier.List{ + listplanmodifier.UseStateForUnknown(), + }, NestedObject: schema.NestedBlockObject{ Attributes: map[string]schema.Attribute{ names.AttrStatus: schema.StringAttribute{ @@ -156,23 +161,18 @@ func (r *resourceVPCEndpointAssociation) Create(ctx context.Context, req resourc conn := r.Meta().NetworkFirewallClient(ctx) var plan resourceVPCEndpointAssociationModel + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) if resp.Diagnostics.HasError() { return } - planVpcEndpointAssociationStatusModel, diags := plan.VpcEndpointAssociationStatus.ToPtr(ctx) - // "VpcEndpointAssociationStatusModel.AZSyncState" cannot be handled by AutoFlex, since the parameter in the AWS API is a map - resp.Diagnostics.Append(diags...) - if diags.HasError() { - return - } - var input networkfirewall.CreateVpcEndpointAssociationInput - resp.Diagnostics.Append(flex.Expand(ctx, plan, &input, flex.WithIgnoredFieldNamesAppend("VpcEndpointAssociationStatus"))...) + resp.Diagnostics.Append(flex.Expand(ctx, plan, &input)...) if resp.Diagnostics.HasError() { return } + input.Tags = getTagsIn(ctx) out, err := conn.CreateVpcEndpointAssociation(ctx, &input) if err != nil { @@ -190,16 +190,18 @@ func (r *resourceVPCEndpointAssociation) Create(ctx context.Context, req resourc return } arn := aws.ToString(out.VpcEndpointAssociation.VpcEndpointAssociationArn) - resp.Diagnostics.Append(flex.Flatten(ctx, out.VpcEndpointAssociation, &plan, flex.WithIgnoredFieldNamesAppend("VpcEndpointAssociationStatus"))...) + resp.Diagnostics.Append(flex.Flatten(ctx, out.VpcEndpointAssociation, &plan)...) + if resp.Diagnostics.HasError() { + return + } + resp.Diagnostics.Append(flex.Flatten(ctx, out.VpcEndpointAssociationStatus, &plan.VpcEndpointAssociationStatus, flex.WithIgnoredFieldNamesAppend("AssociationSyncState"))...) if resp.Diagnostics.HasError() { return } - plan.VpcEndpointAssociationId = flex.StringToFramework(ctx, out.VpcEndpointAssociation.VpcEndpointAssociationId) plan.VpcEndpointAssociationArn = flex.StringValueToFramework(ctx, arn) plan.setID() createTimeout := r.CreateTimeout(ctx, plan.Timeouts) - created, err := waitVPCEndpointAssociationCreated(ctx, conn, arn, createTimeout) if err != nil { resp.Diagnostics.AddError( @@ -208,9 +210,13 @@ func (r *resourceVPCEndpointAssociation) Create(ctx context.Context, req resourc ) return } - - plan.flattenVpcEndpointAssociationStatus(ctx, created.VpcEndpointAssociationStatus) - + // AZState is a map and needs to be flattened into a set of objects + vpcEndpointAssociationStatusModel, d := plan.VpcEndpointAssociationStatus.ToPtr(ctx) + resp.Diagnostics.Append(d...) + if resp.Diagnostics.HasError() { + return + } + resp.Diagnostics.Append(vpcEndpointAssociationStatusModel.flattenAZSyncState(ctx, created.VpcEndpointAssociationStatus.AssociationSyncState)...) resp.Diagnostics.Append(resp.State.Set(ctx, plan)...) } @@ -237,12 +243,20 @@ func (r *resourceVPCEndpointAssociation) Read(ctx context.Context, req resource. return } - resp.Diagnostics.Append(flex.Flatten(ctx, out.VpcEndpointAssociation, &state, flex.WithIgnoredFieldNamesAppend("VpcEndpointAssociationStatus"))...) + resp.Diagnostics.Append(flex.Flatten(ctx, out, &state, flex.WithIgnoredFieldNamesAppend("VpcEndpointAssociationStatus"))...) if resp.Diagnostics.HasError() { return } - - state.flattenVpcEndpointAssociationStatus(ctx, out.VpcEndpointAssociationStatus) + resp.Diagnostics.Append(flex.Flatten(ctx, out.VpcEndpointAssociationStatus, &state.VpcEndpointAssociationStatus, flex.WithIgnoredFieldNamesAppend("AssociationSyncState"))...) + if resp.Diagnostics.HasError() { + return + } + vpcEndpointAssociationStatusModel, d := state.VpcEndpointAssociationStatus.ToPtr(ctx) + resp.Diagnostics.Append(d...) + if resp.Diagnostics.HasError() { + return + } + resp.Diagnostics.Append(vpcEndpointAssociationStatusModel.flattenAZSyncState(ctx, out.VpcEndpointAssociationStatus.AssociationSyncState)...) setTagsOut(ctx, out.VpcEndpointAssociation.Tags) @@ -250,6 +264,7 @@ func (r *resourceVPCEndpointAssociation) Read(ctx context.Context, req resource. } func (r *resourceVPCEndpointAssociation) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { + conn := r.Meta().NetworkFirewallClient(ctx) var state resourceVPCEndpointAssociationModel @@ -384,8 +399,8 @@ func (model *resourceVPCEndpointAssociationModel) setID() { } type subnetMappingModel struct { - SubnetId types.String `tfsdk:"subnet_id"` - IPAddressType types.String `tfsdk:"ip_address_type"` + SubnetId types.String `tfsdk:"subnet_id"` + IPAddressType fwtypes.StringEnum[awstypes.IPAddressType] `tfsdk:"ip_address_type"` } type vpcEndpointAssociationStatusModel struct { @@ -405,33 +420,26 @@ type attachmentModel struct { StatusMessage types.String `tfsdk:"status_message"` } -func (m *resourceVPCEndpointAssociationModel) flattenVpcEndpointAssociationStatus(ctx context.Context, vpcEndpointAssociationStatus *awstypes.VpcEndpointAssociationStatus) { - - statusModel.Status = flex.StringValueToFramework(ctx, string(vpcEndpointAssociationStatus.Status)) +func (m *vpcEndpointAssociationStatusModel) flattenAZSyncState(ctx context.Context, azSyncStateMap map[string]awstypes.AZSyncState) diag.Diagnostics { + var diags diag.Diagnostics - if len(vpcEndpointAssociationStatus.AssociationSyncState) == 0 { - statusModel.AssociationSyncState = fwtypes.NewSetNestedObjectValueOfNull[AZSyncStateModel](ctx) - return + if len(azSyncStateMap) == 0 { + return diags } - azSyncStates := make([]*AZSyncStateModel, 0, len(vpcEndpointAssociationStatus.AssociationSyncState)) - for az, syncState := range vpcEndpointAssociationStatus.AssociationSyncState { + azSyncStates := make([]*AZSyncStateModel, 0, len(azSyncStateMap)) + for az, syncState := range azSyncStateMap { azSyncState := &AZSyncStateModel{ AvailabilityZone: flex.StringValueToFramework(ctx, az), } - if syncState.Attachment != nil { - attachment := &attachmentModel{ - EndpointId: flex.StringToFramework(ctx, syncState.Attachment.EndpointId), - SubnetId: flex.StringToFramework(ctx, syncState.Attachment.SubnetId), - Status: flex.StringValueToFramework(ctx, string(syncState.Attachment.Status)), - StatusMessage: flex.StringToFramework(ctx, syncState.Attachment.StatusMessage), - } - azSyncState.Attachment = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, []*attachmentModel{attachment}) - } else { - azSyncState.Attachment = fwtypes.NewListNestedObjectValueOfNull[attachmentModel](ctx) + var attachment attachmentModel + diags.Append(flex.Flatten(ctx, syncState.Attachment, &attachment)...) + if diags.HasError() { + return diags } - + azSyncState.Attachment = fwtypes.NewListNestedObjectValueOfPtrMust(ctx, &attachment) azSyncStates = append(azSyncStates, azSyncState) } + m.AssociationSyncState = fwtypes.NewSetNestedObjectValueOfSliceMust(ctx, azSyncStates) - statusModel.AssociationSyncState = fwtypes.NewSetNestedObjectValueOfSliceMust(ctx, azSyncStates) + return diags } diff --git a/internal/service/networkfirewall/vpc_endpoint_association_test.go b/internal/service/networkfirewall/vpc_endpoint_association_test.go index bbbe458f4dfa..65405cab87df 100644 --- a/internal/service/networkfirewall/vpc_endpoint_association_test.go +++ b/internal/service/networkfirewall/vpc_endpoint_association_test.go @@ -33,9 +33,9 @@ func TestAccNetworkFirewallVPCEndpointAssociation_basic(t *testing.T) { var vpcendpointassociation networkfirewall.DescribeVpcEndpointAssociationOutput rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_networkfirewall_vpc_endpoint_association.test" - // firewallResourceName := "aws_networkfirewall_firewall.test" - // vpcResourceName := "aws_vpc.target" - //subnetResourceName := "aws_subnet.target" + firewallResourceName := "aws_networkfirewall_firewall.test" + vpcResourceName := "aws_vpc.target" + subnetResourceName := "aws_subnet.target" resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { @@ -50,9 +50,9 @@ func TestAccNetworkFirewallVPCEndpointAssociation_basic(t *testing.T) { Config: testAccVPCEndpointAssociationConfig_basic(rName), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckVPCEndpointAssociationExists(ctx, resourceName, &vpcendpointassociation), - // resource.TestCheckResourceAttrPair(resourceName, "firewall_arn", firewallResourceName, names.AttrARN), - // resource.TestCheckResourceAttrPair(resourceName, "vpc_id", vpcResourceName, names.AttrID), - //resource.TestCheckResourceAttrPair(resourceName, "subnet_mapping.0.subnet_id", subnetResourceName, names.AttrID), + resource.TestCheckResourceAttrPair(resourceName, "firewall_arn", firewallResourceName, names.AttrARN), + resource.TestCheckResourceAttrPair(resourceName, "vpc_id", vpcResourceName, names.AttrID), + resource.TestCheckResourceAttrPair(resourceName, "subnet_mapping.0.subnet_id", subnetResourceName, names.AttrID), resource.TestMatchTypeSetElemNestedAttrs(resourceName, "vpc_endpoint_association_status.0.association_sync_state.*", map[string]*regexp.Regexp{ "attachment.0.endpoint_id": regexache.MustCompile(`vpce-`), }), @@ -167,63 +167,46 @@ func testAccVPCEndpointAssociationPreCheck(ctx context.Context, t *testing.T) { } } -// func testAccVPCEndpointAssociationConfig_basic(rName string) string { -// return acctest.ConfigCompose(testAccFirewallConfig_baseVPC(rName), fmt.Sprintf(` -// resource "aws_networkfirewall_firewall" "test" { -// name = %[1]q -// firewall_policy_arn = aws_networkfirewall_firewall_policy.test.arn -// vpc_id = aws_vpc.test.id - -// subnet_mapping { -// subnet_id = aws_subnet.test[0].id -// } -// } - -// resource "aws_vpc" "target" { -// cidr_block = "10.0.0.0/16" - -// tags = { -// Name = %[1]q -// } -// } - -// resource "aws_subnet" "target" { -// vpc_id = aws_vpc.target.id -// availability_zone = data.aws_availability_zones.available.names[0] -// cidr_block = cidrsubnet(aws_vpc.target.cidr_block, 8, 1) - -// tags = { -// Name = %[1]q -// } -// } -// resource "aws_networkfirewall_vpc_endpoint_association" "test" { -// firewall_arn = aws_networkfirewall_firewall.test.arn -// vpc_id = aws_vpc.target.id - -// subnet_mapping { -// subnet_id = aws_subnet.target.id -// } - -// tags = { -// Name = %[1]q -// } -// } -// `, rName)) -// } - func testAccVPCEndpointAssociationConfig_basic(rName string) string { - return fmt.Sprintf(` + return acctest.ConfigCompose(testAccFirewallConfig_baseVPC(rName), fmt.Sprintf(` +resource "aws_networkfirewall_firewall" "test" { + name = %[1]q + firewall_policy_arn = aws_networkfirewall_firewall_policy.test.arn + vpc_id = aws_vpc.test.id + + subnet_mapping { + subnet_id = aws_subnet.test[0].id + } +} + +resource "aws_vpc" "target" { + cidr_block = "10.0.0.0/16" + + tags = { + Name = %[1]q + } +} + +resource "aws_subnet" "target" { + vpc_id = aws_vpc.target.id + availability_zone = data.aws_availability_zones.available.names[0] + cidr_block = cidrsubnet(aws_vpc.target.cidr_block, 8, 1) + + tags = { + Name = %[1]q + } +} resource "aws_networkfirewall_vpc_endpoint_association" "test" { - firewall_arn = "arn:aws:network-firewall:ap-southeast-2:922421696073:firewall/tf-acc-test-3237751493501276692" - vpc_id = "vpc-08d9d6d6e21fa4afc" + firewall_arn = aws_networkfirewall_firewall.test.arn + vpc_id = aws_vpc.target.id subnet_mapping { - subnet_id = "subnet-0c58d6ca32f04ce8f" + subnet_id = aws_subnet.target.id } tags = { Name = %[1]q } } -`, rName) +`, rName)) } From 95cfcfa2d832ad57b8cfe5e3719e5fd88fbb11a7 Mon Sep 17 00:00:00 2001 From: Alex Bacchin Date: Sat, 2 Aug 2025 22:51:58 +1000 Subject: [PATCH 0242/1301] fixed lint and semgrep --- internal/service/networkfirewall/vpc_endpoint_association.go | 1 - .../service/networkfirewall/vpc_endpoint_association_test.go | 3 ++- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/networkfirewall/vpc_endpoint_association.go b/internal/service/networkfirewall/vpc_endpoint_association.go index 3027d76ac179..52d8061f9692 100644 --- a/internal/service/networkfirewall/vpc_endpoint_association.go +++ b/internal/service/networkfirewall/vpc_endpoint_association.go @@ -264,7 +264,6 @@ func (r *resourceVPCEndpointAssociation) Read(ctx context.Context, req resource. } func (r *resourceVPCEndpointAssociation) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { - conn := r.Meta().NetworkFirewallClient(ctx) var state resourceVPCEndpointAssociationModel diff --git a/internal/service/networkfirewall/vpc_endpoint_association_test.go b/internal/service/networkfirewall/vpc_endpoint_association_test.go index 65405cab87df..fb606727795b 100644 --- a/internal/service/networkfirewall/vpc_endpoint_association_test.go +++ b/internal/service/networkfirewall/vpc_endpoint_association_test.go @@ -51,7 +51,7 @@ func TestAccNetworkFirewallVPCEndpointAssociation_basic(t *testing.T) { Check: resource.ComposeAggregateTestCheckFunc( testAccCheckVPCEndpointAssociationExists(ctx, resourceName, &vpcendpointassociation), resource.TestCheckResourceAttrPair(resourceName, "firewall_arn", firewallResourceName, names.AttrARN), - resource.TestCheckResourceAttrPair(resourceName, "vpc_id", vpcResourceName, names.AttrID), + resource.TestCheckResourceAttrPair(resourceName, names.AttrVPCID, vpcResourceName, names.AttrID), resource.TestCheckResourceAttrPair(resourceName, "subnet_mapping.0.subnet_id", subnetResourceName, names.AttrID), resource.TestMatchTypeSetElemNestedAttrs(resourceName, "vpc_endpoint_association_status.0.association_sync_state.*", map[string]*regexp.Regexp{ "attachment.0.endpoint_id": regexache.MustCompile(`vpce-`), @@ -196,6 +196,7 @@ resource "aws_subnet" "target" { Name = %[1]q } } + resource "aws_networkfirewall_vpc_endpoint_association" "test" { firewall_arn = aws_networkfirewall_firewall.test.arn vpc_id = aws_vpc.target.id From 1017158311477da83b330d20a5fc0e9b0d29e315 Mon Sep 17 00:00:00 2001 From: tabito Date: Sat, 2 Aug 2025 23:30:35 +0900 Subject: [PATCH 0243/1301] fix: restore data.Payload with input payload --- internal/service/lambda/invocation_ephemeral.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/internal/service/lambda/invocation_ephemeral.go b/internal/service/lambda/invocation_ephemeral.go index 61c9b8f015e4..528d47091d90 100644 --- a/internal/service/lambda/invocation_ephemeral.go +++ b/internal/service/lambda/invocation_ephemeral.go @@ -118,6 +118,10 @@ func (e *invocationEphemeralResource) Open(ctx context.Context, req ephemeral.Op resp.Diagnostics.Append(flex.Flatten(ctx, output, &data)...) data.Result = flex.StringValueToFramework(ctx, string(output.Payload)) + // data.Payload field is originally intended to store the input payload. + // However, it is inadvertently overwritten by the result data during the flattening process. + // Therefore, it is necessary to restore the original input payload manually after flattening. + data.Payload = flex.StringValueToFramework(ctx, string(input.Payload)) resp.Diagnostics.Append(resp.Result.Set(ctx, &data)...) } From 06f45f4b155371e1a1572b3d33cddcf6894d775f Mon Sep 17 00:00:00 2001 From: tabito Date: Sat, 2 Aug 2025 23:31:24 +0900 Subject: [PATCH 0244/1301] Fix acctest to use function with distinct input and output --- .../service/lambda/invocation_ephemeral_test.go | 8 ++++---- .../test-fixtures/lambda_invocation_ephemeral.js | 11 +++++++++++ .../test-fixtures/lambda_invocation_ephemeral.zip | Bin 0 -> 382 bytes 3 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 internal/service/lambda/test-fixtures/lambda_invocation_ephemeral.js create mode 100644 internal/service/lambda/test-fixtures/lambda_invocation_ephemeral.zip diff --git a/internal/service/lambda/invocation_ephemeral_test.go b/internal/service/lambda/invocation_ephemeral_test.go index 04dc3ae00251..7975720127fa 100644 --- a/internal/service/lambda/invocation_ephemeral_test.go +++ b/internal/service/lambda/invocation_ephemeral_test.go @@ -40,7 +40,7 @@ func TestAccLambdaInvocationEphemeral_basic(t *testing.T) { statecheck.ExpectKnownValue(echoResourceName, dp.AtMapKey("executed_version"), knownvalue.StringExact("$LATEST")), statecheck.ExpectKnownValue(echoResourceName, dp.AtMapKey("function_name"), knownvalue.NotNull()), statecheck.ExpectKnownValue(echoResourceName, dp.AtMapKey("log_result"), knownvalue.Null()), - statecheck.ExpectKnownValue(echoResourceName, dp.AtMapKey("result"), knownvalue.StringExact(`{"key1":"value1","key2":"value2"}`)), + statecheck.ExpectKnownValue(echoResourceName, dp.AtMapKey("result"), knownvalue.StringExact(`{"output":{"key1":"value1","key2":"value2"}}`)), statecheck.ExpectKnownValue(echoResourceName, dp.AtMapKey(names.AttrStatusCode), knownvalue.NumberExact(big.NewFloat(200))), }, }, @@ -78,11 +78,11 @@ resource "aws_iam_role_policy_attachment" "test" { resource "aws_lambda_function" "test" { depends_on = [aws_iam_role_policy_attachment.test] - filename = "test-fixtures/lambda_invocation.zip" + filename = "test-fixtures/lambda_invocation_ephemeral.zip" function_name = %[1]q role = aws_iam_role.test.arn - handler = "lambda_invocation.handler" - runtime = "nodejs18.x" + handler = "lambda_invocation_ephemeral.handler" + runtime = "nodejs22.x" } ephemeral "aws_lambda_invocation" "test" { diff --git a/internal/service/lambda/test-fixtures/lambda_invocation_ephemeral.js b/internal/service/lambda/test-fixtures/lambda_invocation_ephemeral.js new file mode 100644 index 000000000000..6b5c0f453f3e --- /dev/null +++ b/internal/service/lambda/test-fixtures/lambda_invocation_ephemeral.js @@ -0,0 +1,11 @@ +/** + * Copyright (c) HashiCorp, Inc. + * SPDX-License-Identifier: MPL-2.0 + */ + +exports.handler = async (event) => { + if (process.env.TEST_DATA) { + event.key3 = process.env.TEST_DATA; + } + return {output: event}; +} diff --git a/internal/service/lambda/test-fixtures/lambda_invocation_ephemeral.zip b/internal/service/lambda/test-fixtures/lambda_invocation_ephemeral.zip new file mode 100644 index 0000000000000000000000000000000000000000..78c1c53c2e2bb83f2e42a859616c71cc7daa58c0 GIT binary patch literal 382 zcmWIWW@Zs#U|`^2sM^UC-4-NkxCY330>p9*G7LG1xk)LB@tJvL`N@eTnfZC~sRbFS zxv52oIeJ;ep&^_M%*$o^GFAd{X$3a}Bgm7YlhR4%4fzZ3;wTOUHZoQ%*#skP9-+MH(OqM+>>T+Om8;Z+)-2pIS4iN&X>r9h z<`;}VOg3d{+v1RIxk_CB+w@1%a=UYXFh5?_VZR~zmwWx!tWAeYIAguJs_t4{-t{G# zU)yX0e}Fe5lN>XyP>=wI1p@=nUkpncK`cUH!U_o!wD1V Date: Sun, 3 Aug 2025 00:05:26 +0900 Subject: [PATCH 0245/1301] fix comment in the code --- internal/service/lambda/invocation_ephemeral.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/service/lambda/invocation_ephemeral.go b/internal/service/lambda/invocation_ephemeral.go index 528d47091d90..31183d554f47 100644 --- a/internal/service/lambda/invocation_ephemeral.go +++ b/internal/service/lambda/invocation_ephemeral.go @@ -118,9 +118,9 @@ func (e *invocationEphemeralResource) Open(ctx context.Context, req ephemeral.Op resp.Diagnostics.Append(flex.Flatten(ctx, output, &data)...) data.Result = flex.StringValueToFramework(ctx, string(output.Payload)) - // data.Payload field is originally intended to store the input payload. - // However, it is inadvertently overwritten by the result data during the flattening process. - // Therefore, it is necessary to restore the original input payload manually after flattening. + // data.Payload field is originally meant to hold the input payload. + // However, during the flattening process, it is populated with the result payload. + // To correct this, the original input payload needs to be manually restored to data.Payload after flattening. data.Payload = flex.StringValueToFramework(ctx, string(input.Payload)) resp.Diagnostics.Append(resp.Result.Set(ctx, &data)...) } From 6900107a8a09b296397d4ec6c7024ff88ed5b1b2 Mon Sep 17 00:00:00 2001 From: tabito Date: Sun, 3 Aug 2025 00:21:22 +0900 Subject: [PATCH 0246/1301] add changelog --- .changelog/43676.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/43676.txt diff --git a/.changelog/43676.txt b/.changelog/43676.txt new file mode 100644 index 000000000000..9a1ea0a54878 --- /dev/null +++ b/.changelog/43676.txt @@ -0,0 +1,3 @@ +```release-note:bug +ephemeral-resource/aws_lambda_invocation: Fix plan inconsistency issue due to improperly assigned payload values +``` From 7cd2e77dddeeb4ba984d9d705a1489cae513a760 Mon Sep 17 00:00:00 2001 From: tabito Date: Sun, 3 Aug 2025 00:49:28 +0900 Subject: [PATCH 0247/1301] add AuroraDBClusterStorage as a valid value for resource_type --- internal/service/computeoptimizer/recommendation_preferences.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/computeoptimizer/recommendation_preferences.go b/internal/service/computeoptimizer/recommendation_preferences.go index a8c551888941..6b4c8296be46 100644 --- a/internal/service/computeoptimizer/recommendation_preferences.go +++ b/internal/service/computeoptimizer/recommendation_preferences.go @@ -71,7 +71,7 @@ func (r *recommendationPreferencesResource) Schema(ctx context.Context, request stringplanmodifier.RequiresReplace(), }, Validators: []validator.String{ - stringvalidator.OneOf(enum.Slice(awstypes.ResourceTypeAutoScalingGroup, awstypes.ResourceTypeEc2Instance, awstypes.ResourceTypeRdsDbInstance)...), + stringvalidator.OneOf(enum.Slice(awstypes.ResourceTypeAutoScalingGroup, awstypes.ResourceTypeEc2Instance, awstypes.ResourceTypeRdsDbInstance, awstypes.ResourceTypeAuroraDbClusterStorage)...), }, }, "savings_estimation_mode": schema.StringAttribute{ From 6bceca1f9787015526554c2f7c0ef9243bd02286 Mon Sep 17 00:00:00 2001 From: tabito Date: Sun, 3 Aug 2025 00:50:06 +0900 Subject: [PATCH 0248/1301] update the documentation --- .../r/computeoptimizer_recommendation_preferences.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/r/computeoptimizer_recommendation_preferences.html.markdown b/website/docs/r/computeoptimizer_recommendation_preferences.html.markdown index 7d36ebfc58b9..2d5a166f658e 100644 --- a/website/docs/r/computeoptimizer_recommendation_preferences.html.markdown +++ b/website/docs/r/computeoptimizer_recommendation_preferences.html.markdown @@ -59,7 +59,7 @@ This resource supports the following arguments: * `inferred_workload_types` - (Optional) The status of the inferred workload types recommendation preference. Valid values: `Active`, `Inactive`. * `look_back_period` - (Optional) The preference to control the number of days the utilization metrics of the AWS resource are analyzed. Valid values: `DAYS_14`, `DAYS_32`, `DAYS_93`. * `preferred_resource` - (Optional) The preference to control which resource type values are considered when generating rightsizing recommendations. See [Preferred Resources](#preferred-resources) below. -* `resource_type` - (Required) The target resource type of the recommendation preferences. Valid values: `Ec2Instance`, `AutoScalingGroup`, `RdsDBInstance`. +* `resource_type` - (Required) The target resource type of the recommendation preferences. Valid values: `Ec2Instance`, `AutoScalingGroup`, `RdsDBInstance`, `AuroraDBClusterStorage`. * `savings_estimation_mode` - (Optional) The status of the savings estimation mode preference. Valid values: `AfterDiscounts`, `BeforeDiscounts`. * `scope` - (Required) The scope of the recommendation preferences. See [Scope](#scope) below. * `utilization_preference` - (Optional) The preference to control the resource’s CPU utilization threshold, CPU utilization headroom, and memory utilization headroom. See [Utilization Preferences](#utilization-preferences) below. From 89aa8e8c72f90890c4358fa82c8626441c99476b Mon Sep 17 00:00:00 2001 From: tabito Date: Sun, 3 Aug 2025 01:04:47 +0900 Subject: [PATCH 0249/1301] add changelog --- .changelog/43677.txt | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .changelog/43677.txt diff --git a/.changelog/43677.txt b/.changelog/43677.txt new file mode 100644 index 000000000000..2ad6d986e2a0 --- /dev/null +++ b/.changelog/43677.txt @@ -0,0 +1,4 @@ +```release-note:enhancement +resource/aws_computeoptimizer_recommendation_preferences: Add `AuroraDBClusterStorage` as a valid `resource_type` +``` + From 3c9d52759fb14df93ebbefd5c886c3009e60bc7d Mon Sep 17 00:00:00 2001 From: Hugh Palmer Date: Sat, 2 Aug 2025 23:14:30 +0200 Subject: [PATCH 0250/1301] Added Note block explaining use of stream_enabled and replica --- website/docs/cdktf/python/r/dynamodb_table.html.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/docs/cdktf/python/r/dynamodb_table.html.markdown b/website/docs/cdktf/python/r/dynamodb_table.html.markdown index dbf46fb2f8d1..35fbdd4ccb32 100644 --- a/website/docs/cdktf/python/r/dynamodb_table.html.markdown +++ b/website/docs/cdktf/python/r/dynamodb_table.html.markdown @@ -16,6 +16,8 @@ Provides a DynamoDB table resource. ~> **Note:** When using [aws_dynamodb_table_replica](/docs/providers/aws/r/dynamodb_table_replica.html) with this resource, use `lifecycle` [`ignore_changes`](https://www.terraform.io/docs/configuration/meta-arguments/lifecycle.html#ignore_changes) for `replica`, _e.g._, `lifecycle { ignore_changes = [replica] }`. +~> **Note:** If the replica configuration block is used you **must** set `stream_enabled = true` as AWS will require this for global tables. + ## DynamoDB Table attributes Only define attributes on the table object that are going to be used as: From 02c09c0050e49af02e5439114fbc969dccf4ccd7 Mon Sep 17 00:00:00 2001 From: Anthony Wat Date: Sat, 2 Aug 2025 18:30:31 -0400 Subject: [PATCH 0251/1301] docs: Replace all placeholder arg `example_id_arg` with actual values in affected resource docs --- .../r/appsync_source_api_association.html.markdown | 14 +++++++------- .../docs/r/bedrock_inference_profile.html.markdown | 4 ++-- .../r/cloudfrontkeyvaluestore_key.html.markdown | 4 ++-- .../cloudwatch_log_anomaly_detector.html.markdown | 2 +- website/docs/r/datazone_glossary.html.markdown | 2 +- .../docs/r/dynamodb_resource_policy.html.markdown | 4 ++-- .../docs/r/ebs_fast_snapshot_restore.html.markdown | 4 ++-- ...elerator_cross_account_attachment.html.markdown | 4 ++-- website/docs/r/imagebuilder_workflow.html.markdown | 4 ++-- website/docs/r/inspector2_filter.html.markdown | 2 +- .../lakeformation_data_cells_filter.html.markdown | 4 ++-- ...rch_authorize_vpc_endpoint_access.html.markdown | 4 ++-- website/docs/r/rds_instance_state.html.markdown | 8 +++----- .../docs/r/rekognition_collection.html.markdown | 4 ++-- website/docs/r/rekognition_project.html.markdown | 2 +- .../r/route53profiles_association.html.markdown | 2 +- .../docs/r/route53profiles_profile.html.markdown | 4 ++-- ...te53profiles_resource_association.html.markdown | 2 +- .../r/sesv2_email_identity_policy.html.markdown | 4 ++-- 19 files changed, 38 insertions(+), 40 deletions(-) diff --git a/website/docs/r/appsync_source_api_association.html.markdown b/website/docs/r/appsync_source_api_association.html.markdown index 802f6e4f5869..48847f954096 100644 --- a/website/docs/r/appsync_source_api_association.html.markdown +++ b/website/docs/r/appsync_source_api_association.html.markdown @@ -3,11 +3,11 @@ subcategory: "AppSync" layout: "aws" page_title: "AWS: aws_appsync_source_api_association" description: |- - Terraform resource for managing an AWS AppSync Source Api Association. + Terraform resource for managing an AWS AppSync Source API Association. --- # Resource: aws_appsync_source_api_association -Terraform resource for managing an AWS AppSync Source Api Association. +Terraform resource for managing an AWS AppSync Source API Association. ## Example Usage @@ -42,9 +42,9 @@ The `source_api_association_config` configuration block supports the following a This resource exports the following attributes in addition to the arguments above: -* `arn` - ARN of the Source Api Association. -* `association_id` - ID of the Source Api Association. -* `id` - Combined ID of the Source Api Association and Merge Api. +* `arn` - ARN of the Source API Association. +* `association_id` - ID of the Source API Association. +* `id` - Combined ID of the Source API Association and Merge API. ## Timeouts @@ -56,7 +56,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import AppSync Source Api Association using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import AppSync Source API Association using the `association_id` and `merged_api_id` separated by `,`. For example: ```terraform import { @@ -65,7 +65,7 @@ import { } ``` -Using `terraform import`, import AppSync Source Api Association using the `gzos6bteufdunffzzifiowisoe,243685a0-9347-4a1a-89c1-9b57dea01e31`. For example: +Using `terraform import`, import AppSync Source API Association using the `association_id` and `merged_api_id` separated by `,`. For example: ```console % terraform import aws_appsync_source_api_association.example gzos6bteufdunffzzifiowisoe,243685a0-9347-4a1a-89c1-9b57dea01e31 diff --git a/website/docs/r/bedrock_inference_profile.html.markdown b/website/docs/r/bedrock_inference_profile.html.markdown index c7fe84deea70..5ab1bdc9e701 100644 --- a/website/docs/r/bedrock_inference_profile.html.markdown +++ b/website/docs/r/bedrock_inference_profile.html.markdown @@ -79,7 +79,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Bedrock Inference Profile using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Bedrock Inference Profile using the `name`. For example: ```terraform import { @@ -88,7 +88,7 @@ import { } ``` -Using `terraform import`, import Bedrock Inference Profile using the `example_id_arg`. For example: +Using `terraform import`, import Bedrock Inference Profile using the `name`. For example: ```console % terraform import aws_bedrock_inference_profile.example inference_profile-id-12345678 diff --git a/website/docs/r/cloudfrontkeyvaluestore_key.html.markdown b/website/docs/r/cloudfrontkeyvaluestore_key.html.markdown index cfc452fe6f91..3b3399c9973f 100644 --- a/website/docs/r/cloudfrontkeyvaluestore_key.html.markdown +++ b/website/docs/r/cloudfrontkeyvaluestore_key.html.markdown @@ -46,7 +46,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import CloudFront KeyValueStore Key using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import CloudFront KeyValueStore Key using the `key_value_store_arn` and 'key' separated by `,`. For example: ```terraform import { @@ -55,7 +55,7 @@ import { } ``` -Using `terraform import`, import CloudFront KeyValueStore Key using the `id`. For example: +Using `terraform import`, import CloudFront KeyValueStore Key using the `key_value_store_arn` and 'key' separated by `,`. For example: ```console % terraform import aws_cloudfrontkeyvaluestore_key.example arn:aws:cloudfront::111111111111:key-value-store/8562g61f-caba-2845-9d99-b97diwae5d3c,someKey diff --git a/website/docs/r/cloudwatch_log_anomaly_detector.html.markdown b/website/docs/r/cloudwatch_log_anomaly_detector.html.markdown index fe702ac22b2d..5b80038b8f6c 100644 --- a/website/docs/r/cloudwatch_log_anomaly_detector.html.markdown +++ b/website/docs/r/cloudwatch_log_anomaly_detector.html.markdown @@ -66,7 +66,7 @@ import { } ``` -Using `terraform import`, import CloudWatch Log Anomaly Detector using the `example_id_arg`. For example: +Using `terraform import`, import CloudWatch Log Anomaly Detector using the `arn`. For example: ```console % terraform import aws_cloudwatch_log_anomaly_detector.example log_anomaly_detector-arn-12345678 diff --git a/website/docs/r/datazone_glossary.html.markdown b/website/docs/r/datazone_glossary.html.markdown index a517396c8b30..0bd7f7cd1e78 100644 --- a/website/docs/r/datazone_glossary.html.markdown +++ b/website/docs/r/datazone_glossary.html.markdown @@ -115,7 +115,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import DataZone Glossary using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import DataZone Glossary using a comma-delimited string combining the domain id, glossary id, and the id of the project it's under. For example: ```terraform import { diff --git a/website/docs/r/dynamodb_resource_policy.html.markdown b/website/docs/r/dynamodb_resource_policy.html.markdown index 58b57a130156..7ef0961f209a 100644 --- a/website/docs/r/dynamodb_resource_policy.html.markdown +++ b/website/docs/r/dynamodb_resource_policy.html.markdown @@ -42,7 +42,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import DynamoDB Resource Policy using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import DynamoDB Resource Policy using the `resource_arn`. For example: ```terraform import { @@ -51,7 +51,7 @@ import { } ``` -Using `terraform import`, import DynamoDB Resource Policy using the `example_id_arg`. For example: +Using `terraform import`, import DynamoDB Resource Policy using the `resource_arn`. For example: ```console % terraform import aws_dynamodb_resource_policy.example arn:aws:dynamodb:us-east-1:1234567890:table/my-table diff --git a/website/docs/r/ebs_fast_snapshot_restore.html.markdown b/website/docs/r/ebs_fast_snapshot_restore.html.markdown index e8898ac5d37e..d92628db70b2 100644 --- a/website/docs/r/ebs_fast_snapshot_restore.html.markdown +++ b/website/docs/r/ebs_fast_snapshot_restore.html.markdown @@ -45,7 +45,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import EC2 (Elastic Compute Cloud) EBS Fast Snapshot Restore using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import EC2 (Elastic Compute Cloud) EBS Fast Snapshot Restore using the `availability_zone` and `snapshot_id` separated by `,`. For example: ```terraform import { @@ -54,7 +54,7 @@ import { } ``` -Using `terraform import`, import EC2 (Elastic Compute Cloud) EBS Fast Snapshot Restore using the `id`. For example: +Using `terraform import`, import EC2 (Elastic Compute Cloud) EBS Fast Snapshot Restore using the `availability_zone` and `snapshot_id` separated by `,`. For example: ```console % terraform import aws_ebs_fast_snapshot_restore.example us-west-2a,snap-abcdef123456 diff --git a/website/docs/r/globalaccelerator_cross_account_attachment.html.markdown b/website/docs/r/globalaccelerator_cross_account_attachment.html.markdown index 9c4bbaa89697..363fb3d86dde 100644 --- a/website/docs/r/globalaccelerator_cross_account_attachment.html.markdown +++ b/website/docs/r/globalaccelerator_cross_account_attachment.html.markdown @@ -69,7 +69,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Global Accelerator Cross Account Attachment using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Global Accelerator Cross Account Attachment using the `arn`. For example: ```terraform import { @@ -78,7 +78,7 @@ import { } ``` -Using `terraform import`, import Global Accelerator Cross Account Attachment using the `example_id_arg`. For example: +Using `terraform import`, import Global Accelerator Cross Account Attachment using the `arn`. For example: ```console % terraform import aws_globalaccelerator_cross_account_attachment.example arn:aws:globalaccelerator::012345678910:attachment/01234567-abcd-8910-efgh-123456789012 diff --git a/website/docs/r/imagebuilder_workflow.html.markdown b/website/docs/r/imagebuilder_workflow.html.markdown index a1acbe63929b..41b9a8eaa13e 100644 --- a/website/docs/r/imagebuilder_workflow.html.markdown +++ b/website/docs/r/imagebuilder_workflow.html.markdown @@ -80,7 +80,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import EC2 Image Builder Workflow using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import EC2 Image Builder Workflow using the `arn`. For example: ```terraform import { @@ -89,7 +89,7 @@ import { } ``` -Using `terraform import`, import EC2 Image Builder Workflow using the `example_id_arg`. For example: +Using `terraform import`, import EC2 Image Builder Workflow using the `arn`. For example: ```console % terraform import aws_imagebuilder_workflow.example arn:aws:imagebuilder:us-east-1:aws:workflow/test/example/1.0.1/1 diff --git a/website/docs/r/inspector2_filter.html.markdown b/website/docs/r/inspector2_filter.html.markdown index b2544b0f7b75..fb18ee6dc364 100644 --- a/website/docs/r/inspector2_filter.html.markdown +++ b/website/docs/r/inspector2_filter.html.markdown @@ -156,7 +156,7 @@ import { } ``` -Using `terraform import`, import Inspector Filter using the `example_id_arg`. For example: +Using `terraform import`, import Inspector Filter using the `arn`. For example: ```console % terraform import aws_inspector2_filter.example "arn:aws:inspector2:us-east-1:111222333444:owner/111222333444/filter/abcdefgh12345678" diff --git a/website/docs/r/lakeformation_data_cells_filter.html.markdown b/website/docs/r/lakeformation_data_cells_filter.html.markdown index 243db10cdb46..77536786c4f2 100644 --- a/website/docs/r/lakeformation_data_cells_filter.html.markdown +++ b/website/docs/r/lakeformation_data_cells_filter.html.markdown @@ -71,7 +71,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Lake Formation Data Cells Filter using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Lake Formation Data Cells Filter using the `database_name`, `name`, `table_catalog_id`, and `table_name` separated by `,`. For example: ```terraform import { @@ -80,7 +80,7 @@ import { } ``` -Using `terraform import`, import Lake Formation Data Cells Filter using the `id`. For example: +Using `terraform import`, import Lake Formation Data Cells Filter using the `database_name`, `name`, `table_catalog_id`, and `table_name` separated by `,`. For example: ```console % terraform import aws_lakeformation_data_cells_filter.example database_name,name,table_catalog_id,table_name diff --git a/website/docs/r/opensearch_authorize_vpc_endpoint_access.html.markdown b/website/docs/r/opensearch_authorize_vpc_endpoint_access.html.markdown index c459e11c9901..0141e58c7006 100644 --- a/website/docs/r/opensearch_authorize_vpc_endpoint_access.html.markdown +++ b/website/docs/r/opensearch_authorize_vpc_endpoint_access.html.markdown @@ -44,7 +44,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import OpenSearch Authorize Vpc Endpoint Access using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import OpenSearch Authorize Vpc Endpoint Access using the `domain_name`. For example: ```terraform import { @@ -53,7 +53,7 @@ import { } ``` -Using `terraform import`, import OpenSearch Authorize Vpc Endpoint Access using the `example_id_arg`. For example: +Using `terraform import`, import OpenSearch Authorize Vpc Endpoint Access using the `domain_name`. For example: ```console % terraform import aws_opensearch_authorize_vpc_endpoint_access.example authorize_vpc_endpoint_access-id-12345678 diff --git a/website/docs/r/rds_instance_state.html.markdown b/website/docs/r/rds_instance_state.html.markdown index 3ecc6cbefece..56de232f09b7 100644 --- a/website/docs/r/rds_instance_state.html.markdown +++ b/website/docs/r/rds_instance_state.html.markdown @@ -33,9 +33,7 @@ This resource supports the following arguments: ## Attribute Reference -This resource exports the following attributes in addition to the arguments above: - -* `identifier` - DB Instance Identifier +This resource exports no additional attributes. ## Timeouts @@ -46,7 +44,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import RDS (Relational Database) RDS Instance State using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import RDS (Relational Database) RDS Instance State using the `identifier`. For example: ```terraform import { @@ -55,7 +53,7 @@ import { } ``` -Using `terraform import`, import RDS (Relational Database) RDS Instance State using the `example_id_arg`. For example: +Using `terraform import`, import RDS (Relational Database) RDS Instance State using the `identifier`. For example: ```console % terraform import aws_rds_instance_state.example rds_instance_state-id-12345678 diff --git a/website/docs/r/rekognition_collection.html.markdown b/website/docs/r/rekognition_collection.html.markdown index cf8859799a02..d617aad1e126 100644 --- a/website/docs/r/rekognition_collection.html.markdown +++ b/website/docs/r/rekognition_collection.html.markdown @@ -49,7 +49,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Rekognition Collection using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Rekognition Collection using the `collection_id`. For example: ```terraform import { @@ -58,7 +58,7 @@ import { } ``` -Using `terraform import`, import Rekognition Collection using the `example_id_arg`. For example: +Using `terraform import`, import Rekognition Collection using the `collection_id`. For example: ```console % terraform import aws_rekognition_collection.example collection-id-12345678 diff --git a/website/docs/r/rekognition_project.html.markdown b/website/docs/r/rekognition_project.html.markdown index c1bb5f974c61..4b4deaa4d211 100644 --- a/website/docs/r/rekognition_project.html.markdown +++ b/website/docs/r/rekognition_project.html.markdown @@ -61,7 +61,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Rekognition Project using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Rekognition Project using the `name`. For example: ```terraform import { diff --git a/website/docs/r/route53profiles_association.html.markdown b/website/docs/r/route53profiles_association.html.markdown index 038a1def3c90..ed8fb921b297 100644 --- a/website/docs/r/route53profiles_association.html.markdown +++ b/website/docs/r/route53profiles_association.html.markdown @@ -72,7 +72,7 @@ import { } ``` -Using `terraform import`, import Route 53 Profiles Association using the `example_id_arg`. For example: +Using `terraform import`, import Route 53 Profiles Association using the `id`. For example: ```console % terraform import aws_route53profiles_association.example rpa-id-12345678 diff --git a/website/docs/r/route53profiles_profile.html.markdown b/website/docs/r/route53profiles_profile.html.markdown index 1eb323762bdc..aa5a067a226b 100644 --- a/website/docs/r/route53profiles_profile.html.markdown +++ b/website/docs/r/route53profiles_profile.html.markdown @@ -54,7 +54,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Route 53 Profiles Profile using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Route 53 Profiles Profile using the `id`. For example: ```terraform import { @@ -63,7 +63,7 @@ import { } ``` -Using `terraform import`, import Route 53 Profiles Profile using the `example`. For example: +Using `terraform import`, import Route 53 Profiles Profile using the `id`. For example: ```console % terraform import aws_route53profiles_profile.example rp-12345678 diff --git a/website/docs/r/route53profiles_resource_association.html.markdown b/website/docs/r/route53profiles_resource_association.html.markdown index 1e2b01996900..995ba99fb3d3 100644 --- a/website/docs/r/route53profiles_resource_association.html.markdown +++ b/website/docs/r/route53profiles_resource_association.html.markdown @@ -77,7 +77,7 @@ import { } ``` -Using `terraform import`, import Route 53 Profiles Resource Association using the `example_id_arg`. For example: +Using `terraform import`, import Route 53 Profiles Resource Association using the `id`. For example: ```console % terraform import aws_route53profiles_resource_association.example rpa-id-12345678 diff --git a/website/docs/r/sesv2_email_identity_policy.html.markdown b/website/docs/r/sesv2_email_identity_policy.html.markdown index 9ca457d961f3..5b1d5c718ea0 100644 --- a/website/docs/r/sesv2_email_identity_policy.html.markdown +++ b/website/docs/r/sesv2_email_identity_policy.html.markdown @@ -63,7 +63,7 @@ This resource exports no additional attributes. ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import SESv2 (Simple Email V2) Email Identity Policy using the `id` (`email_identity|policy_name`). For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import SESv2 (Simple Email V2) Email Identity Policy using the `email_identity` and `policy_name` separated by `|`. For example: ```terraform import { @@ -72,7 +72,7 @@ import { } ``` -Using `terraform import`, import SESv2 (Simple Email V2) Email Identity Policy using the `example_id_arg`. For example: +Using `terraform import`, import SESv2 (Simple Email V2) Email Identity Policy using the `email_identity` and `policy_name` separated by `|`. For example: ```console % terraform import aws_sesv2_email_identity_policy.example example_email_identity|example_policy_name From 01d6efc84bb2ae82a0e90508b9f29891fafd9377 Mon Sep 17 00:00:00 2001 From: Anthony Wat Date: Sat, 2 Aug 2025 23:55:55 -0400 Subject: [PATCH 0252/1301] fix: Remove related test case and update doc for visible_to_all_users being no longer supported for r/aws_emr_cluster --- internal/service/emr/cluster_test.go | 105 ----------------------- website/docs/r/emr_cluster.html.markdown | 3 +- 2 files changed, 2 insertions(+), 106 deletions(-) diff --git a/internal/service/emr/cluster_test.go b/internal/service/emr/cluster_test.go index e3c3d920cee8..2761c164ca60 100644 --- a/internal/service/emr/cluster_test.go +++ b/internal/service/emr/cluster_test.go @@ -1293,56 +1293,6 @@ func TestAccEMRCluster_keepJob(t *testing.T) { }) } -func TestAccEMRCluster_visibleToAllUsers(t *testing.T) { - ctx := acctest.Context(t) - var cluster awstypes.Cluster - - resourceName := "aws_emr_cluster.test" - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { acctest.PreCheck(ctx, t) }, - ErrorCheck: acctest.ErrorCheck(t, names.EMRServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckClusterDestroy(ctx), - Steps: []resource.TestStep{ - { - Config: testAccClusterConfig_basic(rName), - Check: resource.ComposeTestCheckFunc( - testAccCheckClusterExists(ctx, resourceName, &cluster), - resource.TestCheckResourceAttr(resourceName, "visible_to_all_users", acctest.CtTrue), - ), - }, - { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIgnore: []string{ - "cluster_state", // Ignore RUNNING versus WAITING changes - "configurations", - "keep_job_flow_alive_when_no_steps", - }, - }, - { - Config: testAccClusterConfig_visibleToAllUsersUpdated(rName), - Check: resource.ComposeTestCheckFunc( - testAccCheckClusterExists(ctx, resourceName, &cluster), - resource.TestCheckResourceAttr(resourceName, "visible_to_all_users", acctest.CtFalse), - ), - }, - { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIgnore: []string{ - "cluster_state", // Ignore RUNNING versus WAITING changes - "configurations", - "keep_job_flow_alive_when_no_steps", - }, - }, - }, - }) -} - func TestAccEMRCluster_s3Logging(t *testing.T) { ctx := acctest.Context(t) var cluster awstypes.Cluster @@ -3664,61 +3614,6 @@ resource "aws_emr_cluster" "test" { `, rName, keepJob)) } -func testAccClusterConfig_visibleToAllUsersUpdated(rName string) string { - return acctest.ConfigCompose( - testAccClusterConfig_baseVPC(rName, false), - testAccClusterConfig_baseIAMServiceRole(rName), - testAccClusterConfig_baseIAMInstanceProfile(rName), - testAccClusterConfig_baseIAMAutoScalingRole(rName), - fmt.Sprintf(` -data "aws_partition" "current" {} - -resource "aws_emr_cluster" "test" { - name = %[1]q - release_label = "emr-4.6.0" - applications = ["Spark"] - - ec2_attributes { - subnet_id = aws_subnet.test.id - emr_managed_master_security_group = aws_security_group.test.id - emr_managed_slave_security_group = aws_security_group.test.id - instance_profile = aws_iam_instance_profile.emr_instance_profile.arn - } - - master_instance_group { - instance_type = "c4.large" - } - - core_instance_group { - instance_count = 1 - instance_type = "c4.large" - } - - tags = { - role = "rolename" - dns_zone = "env_zone" - env = "env" - name = "name-env" - } - - keep_job_flow_alive_when_no_steps = true - visible_to_all_users = false - - configurations = "test-fixtures/emr_configurations.json" - - depends_on = [ - aws_route_table_association.test, - aws_iam_role_policy_attachment.emr_service, - aws_iam_role_policy_attachment.emr_instance_profile, - aws_iam_role_policy_attachment.emr_autoscaling_role, - ] - - service_role = aws_iam_role.emr_service.arn - autoscaling_role = aws_iam_role.emr_autoscaling_role.arn -} -`, rName)) -} - func testAccClusterConfig_s3Logging(rName string) string { return acctest.ConfigCompose( testAccClusterConfig_baseVPC(rName, false), diff --git a/website/docs/r/emr_cluster.html.markdown b/website/docs/r/emr_cluster.html.markdown index 61000f843276..96a7c2853fe2 100644 --- a/website/docs/r/emr_cluster.html.markdown +++ b/website/docs/r/emr_cluster.html.markdown @@ -668,6 +668,8 @@ EOF * `unhealthy_node_replacement` - (Optional) Whether whether Amazon EMR should gracefully replace core nodes that have degraded within the cluster. Default value is `false`. * `visible_to_all_users` - (Optional) Whether the job flow is visible to all IAM users of the AWS account associated with the job flow. Default value is `true`. + **NOTE:** As per the [Amazon EMR API Reference](https://docs.aws.amazon.com/emr/latest/APIReference/API_RunJobFlow.html#EMR-RunJobFlow-request-VisibleToAllUsers), this argument is no longer supported. Do not set this argument, particularly to `false`, as it would lead to perpetual differences. + ### bootstrap_action * `args` - (Optional) List of command line arguments to pass to the bootstrap action script. @@ -834,7 +836,6 @@ This resource exports the following attributes in addition to the arguments abov * `release_label` - Release label for the Amazon EMR release. * `service_role` - IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf. * `tags_all` - Map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). -* `visible_to_all_users` - Indicates whether the job flow is visible to all IAM users of the AWS account associated with the job flow. ## Import From 3fdf9ac80dd153ded849b29f485d906df8355f9e Mon Sep 17 00:00:00 2001 From: Alex Bacchin Date: Sun, 3 Aug 2025 14:08:38 +1000 Subject: [PATCH 0253/1301] fixed another semgrep --- internal/service/networkfirewall/vpc_endpoint_association.go | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/internal/service/networkfirewall/vpc_endpoint_association.go b/internal/service/networkfirewall/vpc_endpoint_association.go index 52d8061f9692..aa1df7b02e1f 100644 --- a/internal/service/networkfirewall/vpc_endpoint_association.go +++ b/internal/service/networkfirewall/vpc_endpoint_association.go @@ -54,6 +54,7 @@ type resourceVPCEndpointAssociation struct { framework.ResourceWithModel[resourceVPCEndpointAssociationModel] framework.WithTimeouts framework.WithNoUpdate + framework.WithImportByID } func (r *resourceVPCEndpointAssociation) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { @@ -300,10 +301,6 @@ func (r *resourceVPCEndpointAssociation) Delete(ctx context.Context, req resourc } } -func (r *resourceVPCEndpointAssociation) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { - resource.ImportStatePassthroughID(ctx, path.Root(names.AttrID), req, resp) -} - func waitVPCEndpointAssociationCreated(ctx context.Context, conn *networkfirewall.Client, arn string, timeout time.Duration) (*networkfirewall.DescribeVpcEndpointAssociationOutput, error) { stateConf := &retry.StateChangeConf{ Pending: enum.Slice(awstypes.FirewallStatusValueProvisioning), From a2998145418445e4872c47442c07dee048540953 Mon Sep 17 00:00:00 2001 From: Anthony Wat Date: Sun, 3 Aug 2025 00:59:29 -0400 Subject: [PATCH 0254/1301] skaff: Use `names` package attr consts in older TF Plugin SDK V2 templates --- skaff/datasource/datasource.gtpl | 14 +++++++------- skaff/resource/resource.gtpl | 16 ++++++++-------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/skaff/datasource/datasource.gtpl b/skaff/datasource/datasource.gtpl index 18f53ea79505..f8521721d68e 100644 --- a/skaff/datasource/datasource.gtpl +++ b/skaff/datasource/datasource.gtpl @@ -112,7 +112,7 @@ func DataSource{{ .DataSource }}() *schema.Resource { // https://pkg.go.dev/github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema#Schema {{- end }} Schema: map[string]*schema.Schema{ - "arn": { {{- if .IncludeComments }} // TIP: Many, but not all, data sources have an `arn` attribute.{{- end }} + names.AttrARN: { {{- if .IncludeComments }} // TIP: Many, but not all, data sources have an `arn` attribute.{{- end }} Type: schema.TypeString, Computed: true, }, @@ -139,7 +139,7 @@ func DataSource{{ .DataSource }}() *schema.Resource { }, }, {{- if .IncludeTags }} - "tags": tftags.TagsSchemaComputed(), {{- if .IncludeComments }} // TIP: Many, but not all, data sources have `tags` attributes.{{- end }} + names.AttrTags: tftags.TagsSchemaComputed(), {{- if .IncludeComments }} // TIP: Many, but not all, data sources have `tags` attributes.{{- end }} {{- end }} }, } @@ -175,7 +175,7 @@ func dataSource{{ .DataSource }}Read(ctx context.Context, d *schema.ResourceData // elements. However, a data source will have perhaps one or a few arguments // that are key to finding the relevant information, such as 'name' below. {{- end }} - name := d.Get("name").(string) + name := d.Get(names.AttrName).(string) out, err := find{{ .DataSource }}ByName(ctx, conn, name) if err != nil { @@ -198,7 +198,7 @@ func dataSource{{ .DataSource }}Read(ctx context.Context, d *schema.ResourceData // // For simple data types (i.e., schema.TypeString, schema.TypeBool, // schema.TypeInt, and schema.TypeFloat), a simple Set call (e.g., - // d.Set("arn", out.Arn) is sufficient. No error or nil checking is + // d.Set(names.AttrARN, out.Arn) is sufficient. No error or nil checking is // necessary. // // However, there are some situations where more handling is needed. @@ -208,8 +208,8 @@ func dataSource{{ .DataSource }}Read(ctx context.Context, d *schema.ResourceData // is equivalent to what is already set. In that case, you may check if // it is equivalent before setting the different JSON. {{- end }} - d.Set("arn", out.ARN) - d.Set("name", out.Name) + d.Set(names.AttrARN, out.ARN) + d.Set(names.AttrName, out.Name) {{ if .IncludeComments }} // TIP: Setting a complex type. // For more information, see: @@ -246,7 +246,7 @@ func dataSource{{ .DataSource }}Read(ctx context.Context, d *schema.ResourceData {{- if .IncludeTags }} ignoreTagsConfig := meta.(*conns.AWSClient).IgnoreTagsConfig(ctx) - if err := d.Set("tags", KeyValueTags(out.Tags).IgnoreAWS().IgnoreConfig(ignoreTagsConfig).Map()); err != nil { + if err := d.Set(names.AttrTags, KeyValueTags(out.Tags).IgnoreAWS().IgnoreConfig(ignoreTagsConfig).Map()); err != nil { smerr.Append(ctx, diags, err, smerr.ID, d.Id()) return diags } diff --git a/skaff/resource/resource.gtpl b/skaff/resource/resource.gtpl index 29c939b6a0a0..607ec583428b 100644 --- a/skaff/resource/resource.gtpl +++ b/skaff/resource/resource.gtpl @@ -165,7 +165,7 @@ func Resource{{ .Resource }}() *schema.Resource { // https://pkg.go.dev/github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema#Schema {{- end }} Schema: map[string]*schema.Schema{ - "arn": { {{- if .IncludeComments }} // TIP: Many, but not all, resources have an `arn` attribute.{{- end }} + names.AttrARN: { {{- if .IncludeComments }} // TIP: Many, but not all, resources have an `arn` attribute.{{- end }} Type: schema.TypeString, Computed: true, }, @@ -232,8 +232,8 @@ func resource{{ .Resource }}Create(ctx context.Context, d *schema.ResourceData, // TIP: Mandatory or fields that will always be present can be set when // you create the Input structure. (Replace these with real fields.) {{- end }} - {{ .Resource }}Name: aws.String(d.Get("name").(string)), - {{ .Resource }}Type: aws.String(d.Get("type").(string)), + {{ .Resource }}Name: aws.String(d.Get(names.AttrName).(string)), + {{ .Resource }}Type: aws.String(d.Get(names.AttrType).(string)), {{ if .IncludeComments }} // TIP: Not all resources support tags and tags don't always make sense. If // your resource doesn't need tags, you can remove the tags lines here and @@ -269,11 +269,11 @@ func resource{{ .Resource }}Create(ctx context.Context, d *schema.ResourceData, // TIP: Since d.SetId() has not been called yet, you cannot use d.Id() // in error messages at this point. {{- end }} - return smerr.Append(ctx, diags, err, smerr.ID, d.Get("name").(string)) + return smerr.Append(ctx, diags, err, smerr.ID, d.Get(names.AttrName).(string)) } if out == nil || out.{{ .Resource }} == nil { - return smerr.Append(ctx, diags, errors.New("empty output"), smerr.ID, d.Get("name").(string)) + return smerr.Append(ctx, diags, errors.New("empty output"), smerr.ID, d.Get(names.AttrName).(string)) } {{ if .IncludeComments }} // TIP: -- 4. Set the minimum arguments and/or attributes for the Read function to @@ -333,7 +333,7 @@ func resource{{ .Resource }}Read(ctx context.Context, d *schema.ResourceData, me // // For simple data types (i.e., schema.TypeString, schema.TypeBool, // schema.TypeInt, and schema.TypeFloat), a simple Set call (e.g., - // d.Set("arn", out.Arn) is sufficient. No error or nil checking is + // d.Set(names.AttrARN, out.Arn) is sufficient. No error or nil checking is // necessary. // // However, there are some situations where more handling is needed. @@ -343,8 +343,8 @@ func resource{{ .Resource }}Read(ctx context.Context, d *schema.ResourceData, me // is equivalent to what is already set. In that case, you may check if // it is equivalent before setting the different JSON. {{- end }} - d.Set("arn", out.Arn) - d.Set("name", out.Name) + d.Set(names.AttrARN, out.Arn) + d.Set(names.AttrName, out.Name) {{ if .IncludeComments }} // TIP: Setting a complex type. // For more information, see: From 1eb5787a75d06124151185313c7b792468cdbd24 Mon Sep 17 00:00:00 2001 From: Anthony Wat Date: Sun, 3 Aug 2025 01:32:08 -0400 Subject: [PATCH 0255/1301] chore: Update tflint-ruleset-aws version to 0.41.0 and re-enable aws_accessanalyzer_analyzer_invalid_type linter rule --- .ci/.tflint.hcl | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.ci/.tflint.hcl b/.ci/.tflint.hcl index bdffe7525511..a2e255ccd2eb 100644 --- a/.ci/.tflint.hcl +++ b/.ci/.tflint.hcl @@ -1,6 +1,6 @@ plugin "aws" { enabled = true - version = "0.39.0" + version = "0.41.0" source = "github.com/terraform-linters/tflint-ruleset-aws" } @@ -26,10 +26,6 @@ rule "aws_acm_certificate_lifecycle" { enabled = false } -rule "aws_accessanalyzer_analyzer_invalid_type" { - enabled = false -} - # Avoids errant findings related to directory paths in generated configuration files rule "aws_iam_saml_provider_invalid_saml_metadata_document" { enabled = false From 3d3769ccf9f3c75042ea64c8e93bdb6b75debb77 Mon Sep 17 00:00:00 2001 From: Stefan Freitag Date: Sun, 3 Aug 2025 17:07:01 +0200 Subject: [PATCH 0256/1301] docs: add missing standards for aws_securityhub_standards_subscription --- .../docs/r/securityhub_standards_subscription.html.markdown | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/website/docs/r/securityhub_standards_subscription.html.markdown b/website/docs/r/securityhub_standards_subscription.html.markdown index abea85bc7379..497bc4bdb212 100644 --- a/website/docs/r/securityhub_standards_subscription.html.markdown +++ b/website/docs/r/securityhub_standards_subscription.html.markdown @@ -45,7 +45,9 @@ Currently available standards (remember to replace `${var.partition}` and `${var | CIS AWS Foundations Benchmark v1.4.0 | `arn:${var.partition}:securityhub:${var.region}::standards/cis-aws-foundations-benchmark/v/1.4.0` | | CIS AWS Foundations Benchmark v3.0.0 | `arn:${var.partition}:securityhub:${var.region}::standards/cis-aws-foundations-benchmark/v/3.0.0` | | NIST SP 800-53 Rev. 5 | `arn:${var.partition}:securityhub:${var.region}::standards/nist-800-53/v/5.0.0` | -| PCI DSS | `arn:${var.partition}:securityhub:${var.region}::standards/pci-dss/v/3.2.1` | +| NIST SP 800-171 Rev. 2 | `arn:${var.partition}:securityhub:${var.region}::standards/nist-800-171/v/2.0.0` | +| PCI DSS v3.2.1 | `arn:${var.partition}:securityhub:${var.region}::standards/pci-dss/v/3.2.1` | +| PCI DSS v4.0.1 | `arn:${var.partition}:securityhub:${var.region}::standards/pci-dss/v/4.0.1` | ## Attribute Reference From 9bb879ed261d7f9a26f8ca09c6c5a95fd44fcd00 Mon Sep 17 00:00:00 2001 From: Anthony Wat Date: Sun, 3 Aug 2025 17:34:06 -0400 Subject: [PATCH 0257/1301] ci: Disable new DMS tflint rules that are failing due to enum case inconsistencies --- .ci/.tflint.hcl | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.ci/.tflint.hcl b/.ci/.tflint.hcl index a2e255ccd2eb..1dbf6c968ade 100644 --- a/.ci/.tflint.hcl +++ b/.ci/.tflint.hcl @@ -26,6 +26,18 @@ rule "aws_acm_certificate_lifecycle" { enabled = false } +rule "aws_dms_s3_endpoint_invalid_compression_type" { + enabled= false +} + +rule "aws_dms_s3_endpoint_invalid_date_partition_sequence" { + enabled= false +} + +rule "aws_dms_s3_endpoint_invalid_encryption_mode" { + enabled= false +} + # Avoids errant findings related to directory paths in generated configuration files rule "aws_iam_saml_provider_invalid_saml_metadata_document" { enabled = false From 10e8f4b9287a42e8611be67e141ee4c24fab35cf Mon Sep 17 00:00:00 2001 From: Anthony Wat Date: Sun, 3 Aug 2025 18:30:05 -0400 Subject: [PATCH 0258/1301] ci: Disable tflint rule aws_guardduty_member_invalid_email due to bad email regex in the rule --- .ci/.tflint.hcl | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.ci/.tflint.hcl b/.ci/.tflint.hcl index 1dbf6c968ade..eb97244a8493 100644 --- a/.ci/.tflint.hcl +++ b/.ci/.tflint.hcl @@ -26,19 +26,27 @@ rule "aws_acm_certificate_lifecycle" { enabled = false } +# Rule needs to be disabled due to enum value case inconsistencies rule "aws_dms_s3_endpoint_invalid_compression_type" { - enabled= false + enabled = false } +# Rule needs to be disabled due to enum value case inconsistencies rule "aws_dms_s3_endpoint_invalid_date_partition_sequence" { - enabled= false + enabled = false } +# Rule needs to be disabled due to enum value case inconsistencies rule "aws_dms_s3_endpoint_invalid_encryption_mode" { - enabled= false + enabled = false } # Avoids errant findings related to directory paths in generated configuration files rule "aws_iam_saml_provider_invalid_saml_metadata_document" { enabled = false } + +# Rule needs to be disabled due to bad email regex in the linter rule +rule "aws_guardduty_member_invalid_email" { + enabled = false +} From e05bec819919c94c138ecb15a173fa38e4588e99 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Aug 2025 08:42:06 +0000 Subject: [PATCH 0259/1301] build(deps): bump github.com/golangci/golangci-lint/v2 in /.ci/tools Bumps [github.com/golangci/golangci-lint/v2](https://github.com/golangci/golangci-lint) from 2.3.0 to 2.3.1. - [Release notes](https://github.com/golangci/golangci-lint/releases) - [Changelog](https://github.com/golangci/golangci-lint/blob/main/CHANGELOG.md) - [Commits](https://github.com/golangci/golangci-lint/compare/v2.3.0...v2.3.1) --- updated-dependencies: - dependency-name: github.com/golangci/golangci-lint/v2 dependency-version: 2.3.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .ci/tools/go.mod | 12 ++++++------ .ci/tools/go.sum | 24 ++++++++++++------------ 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.ci/tools/go.mod b/.ci/tools/go.mod index 4bab75411e07..86400b689788 100644 --- a/.ci/tools/go.mod +++ b/.ci/tools/go.mod @@ -5,7 +5,7 @@ go 1.24.5 require ( github.com/YakDriver/tfproviderdocs v0.22.0 github.com/client9/misspell v0.3.4 - github.com/golangci/golangci-lint/v2 v2.3.0 + github.com/golangci/golangci-lint/v2 v2.3.1 github.com/hashicorp/copywrite v0.22.0 github.com/hashicorp/go-changelog v0.0.0-20250127101332-effe3832fb0b github.com/katbyte/terrafmt v0.5.5 @@ -71,7 +71,7 @@ require ( github.com/bmatcuk/doublestar v1.3.4 // indirect github.com/bmatcuk/doublestar/v4 v4.8.0 // indirect github.com/bombsimon/wsl/v4 v4.7.0 // indirect - github.com/bombsimon/wsl/v5 v5.1.0 // indirect + github.com/bombsimon/wsl/v5 v5.1.1 // indirect github.com/bradleyfalzon/ghinstallation/v2 v2.5.0 // indirect github.com/breml/bidichk v0.3.3 // indirect github.com/breml/errchkjson v0.4.1 // indirect @@ -95,7 +95,7 @@ require ( github.com/curioswitch/go-reassign v0.3.0 // indirect github.com/cyberphone/json-canonicalization v0.0.0-20220623050100-57a0ce2678a7 // indirect github.com/cyphar/filepath-securejoin v0.2.5 // indirect - github.com/daixiang0/gci v0.13.6 // indirect + github.com/daixiang0/gci v0.13.7 // indirect github.com/dave/dst v0.27.3 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/denis-tingaikin/go-header v0.5.0 // indirect @@ -224,7 +224,7 @@ require ( github.com/lasiar/canonicalheader v1.1.2 // indirect github.com/ldez/exptostd v0.4.4 // indirect github.com/ldez/gomoddirectives v0.7.0 // indirect - github.com/ldez/grignotin v0.9.0 // indirect + github.com/ldez/grignotin v0.10.0 // indirect github.com/ldez/tagliatelle v0.7.1 // indirect github.com/ldez/usetesting v0.5.0 // indirect github.com/leonklingele/grouper v1.1.2 // indirect @@ -293,7 +293,7 @@ require ( github.com/sashamelentyev/usestdlibvars v1.29.0 // indirect github.com/sassoftware/relic v7.2.1+incompatible // indirect github.com/secure-systems-lab/go-securesystemslib v0.9.0 // indirect - github.com/securego/gosec/v2 v2.22.6 // indirect + github.com/securego/gosec/v2 v2.22.7 // indirect github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect github.com/shibumi/go-pathspec v1.3.0 // indirect github.com/shopspring/decimal v1.4.0 // indirect @@ -305,7 +305,7 @@ require ( github.com/sirupsen/logrus v1.9.3 // indirect github.com/sivchari/containedctx v1.0.3 // indirect github.com/skeema/knownhosts v1.3.0 // indirect - github.com/sonatard/noctx v0.3.5 // indirect + github.com/sonatard/noctx v0.4.0 // indirect github.com/sourcegraph/conc v0.3.0 // indirect github.com/sourcegraph/go-diff v0.7.0 // indirect github.com/sourcegraph/go-lsp v0.0.0-20200429204803-219e11d77f5d // indirect diff --git a/.ci/tools/go.sum b/.ci/tools/go.sum index 7291ad59a6f3..7fbdcac04c8b 100644 --- a/.ci/tools/go.sum +++ b/.ci/tools/go.sum @@ -821,8 +821,8 @@ github.com/bmatcuk/doublestar/v4 v4.8.0 h1:DSXtrypQddoug1459viM9X9D3dp1Z7993fw36 github.com/bmatcuk/doublestar/v4 v4.8.0/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= github.com/bombsimon/wsl/v4 v4.7.0 h1:1Ilm9JBPRczjyUs6hvOPKvd7VL1Q++PL8M0SXBDf+jQ= github.com/bombsimon/wsl/v4 v4.7.0/go.mod h1:uV/+6BkffuzSAVYD+yGyld1AChO7/EuLrCF/8xTiapg= -github.com/bombsimon/wsl/v5 v5.1.0 h1:pLmVRBMxSL1D3/rCe65s/iCSFqU37Cz5/8dVEB4UNBw= -github.com/bombsimon/wsl/v5 v5.1.0/go.mod h1:Gp8lD04z27wm3FANIUPZycXp+8huVsn0oxc+n4qfV9I= +github.com/bombsimon/wsl/v5 v5.1.1 h1:cQg5KJf9FlctAH4cpL9vLKnziYknoCMCdqXl0wjl72Q= +github.com/bombsimon/wsl/v5 v5.1.1/go.mod h1:Gp8lD04z27wm3FANIUPZycXp+8huVsn0oxc+n4qfV9I= github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= github.com/bradleyfalzon/ghinstallation/v2 v2.5.0 h1:yaYcGQ7yEIGbsJfW/9z7v1sLiZg/5rSNNXwmMct5XaE= @@ -914,8 +914,8 @@ github.com/cyberphone/json-canonicalization v0.0.0-20220623050100-57a0ce2678a7 h github.com/cyberphone/json-canonicalization v0.0.0-20220623050100-57a0ce2678a7/go.mod h1:uzvlm1mxhHkdfqitSA92i7Se+S9ksOn3a3qmv/kyOCw= github.com/cyphar/filepath-securejoin v0.2.5 h1:6iR5tXJ/e6tJZzzdMc1km3Sa7RRIVBKAK32O2s7AYfo= github.com/cyphar/filepath-securejoin v0.2.5/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= -github.com/daixiang0/gci v0.13.6 h1:RKuEOSkGpSadkGbvZ6hJ4ddItT3cVZ9Vn9Rybk6xjl8= -github.com/daixiang0/gci v0.13.6/go.mod h1:12etP2OniiIdP4q+kjUGrC/rUagga7ODbqsom5Eo5Yk= +github.com/daixiang0/gci v0.13.7 h1:+0bG5eK9vlI08J+J/NWGbWPTNiXPG4WhNLJOkSxWITQ= +github.com/daixiang0/gci v0.13.7/go.mod h1:812WVN6JLFY9S6Tv76twqmNqevN0pa3SX3nih0brVzQ= github.com/danieljoos/wincred v1.2.0 h1:ozqKHaLK0W/ii4KVbbvluM91W2H3Sh0BncbUNPS7jLE= github.com/danieljoos/wincred v1.2.0/go.mod h1:FzQLLMKBFdvu+osBrnFODiv32YGwCfx0SkRa/eYHgec= github.com/dave/dst v0.27.3 h1:P1HPoMza3cMEquVf9kKy8yXsFirry4zEnWOdYPOoIzY= @@ -1156,8 +1156,8 @@ github.com/golangci/go-printf-func-name v0.1.0 h1:dVokQP+NMTO7jwO4bwsRwLWeudOVUP github.com/golangci/go-printf-func-name v0.1.0/go.mod h1:wqhWFH5mUdJQhweRnldEywnR5021wTdZSNgwYceV14s= github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d h1:viFft9sS/dxoYY0aiOTsLKO2aZQAPT4nlQCsimGcSGE= github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d/go.mod h1:ivJ9QDg0XucIkmwhzCDsqcnxxlDStoTl89jDMIoNxKY= -github.com/golangci/golangci-lint/v2 v2.3.0 h1:SgxoaAXH8vMuuSnvRDjfF0sxWeIplxJTcs4o6gGEu9Q= -github.com/golangci/golangci-lint/v2 v2.3.0/go.mod h1:9eHPNOsTOqLGSnDsfPRcOaC2m52stgt37uxsjtQwjg0= +github.com/golangci/golangci-lint/v2 v2.3.1 h1:kregGxX/IsDeHCmBbHo0LKJ5wNLKMGosMBTrxKyIweM= +github.com/golangci/golangci-lint/v2 v2.3.1/go.mod h1:JEcfo5MEAzo6nY7SLzLzhHoYBJudAd55rgB5ZYOHrXE= github.com/golangci/golines v0.0.0-20250217134842-442fd0091d95 h1:AkK+w9FZBXlU/xUmBtSJN1+tAI4FIvy5WtnUnY8e4p8= github.com/golangci/golines v0.0.0-20250217134842-442fd0091d95/go.mod h1:k9mmcyWKSTMcPPvQUCfRWWQ9VHJ1U9Dc0R7kaXAgtnQ= github.com/golangci/misspell v0.7.0 h1:4GOHr/T1lTW0hhR4tgaaV1WS/lJ+ncvYCoFKmqJsj0c= @@ -1512,8 +1512,8 @@ github.com/ldez/exptostd v0.4.4 h1:58AtQjnLcT/tI5W/1KU7xE/O7zW9RAWB6c/ScQAnfus= github.com/ldez/exptostd v0.4.4/go.mod h1:QfdzPw6oHjFVdNV7ILoPu5sw3OZ3OG1JS0I5JN3J4Js= github.com/ldez/gomoddirectives v0.7.0 h1:EOx8Dd56BZYSez11LVgdj025lKwlP0/E5OLSl9HDwsY= github.com/ldez/gomoddirectives v0.7.0/go.mod h1:wR4v8MN9J8kcwvrkzrx6sC9xe9Cp68gWYCsda5xvyGc= -github.com/ldez/grignotin v0.9.0 h1:MgOEmjZIVNn6p5wPaGp/0OKWyvq42KnzAt/DAb8O4Ow= -github.com/ldez/grignotin v0.9.0/go.mod h1:uaVTr0SoZ1KBii33c47O1M8Jp3OP3YDwhZCmzT9GHEk= +github.com/ldez/grignotin v0.10.0 h1:NQPeh1E/Eza4F0exCeC1WkpnLvgUcQDT8MQ1vOLML0E= +github.com/ldez/grignotin v0.10.0/go.mod h1:oR4iCKUP9fwoeO6vCQeD7M5SMxCT6xdVas4vg0h1LaI= github.com/ldez/tagliatelle v0.7.1 h1:bTgKjjc2sQcsgPiT902+aadvMjCeMHrY7ly2XKFORIk= github.com/ldez/tagliatelle v0.7.1/go.mod h1:3zjxUpsNB2aEZScWiZTHrAXOl1x25t3cRmzfK1mlo2I= github.com/ldez/usetesting v0.5.0 h1:3/QtzZObBKLy1F4F8jLuKJiKBjjVFi1IavpoWbmqLwc= @@ -1766,8 +1766,8 @@ github.com/sassoftware/relic/v7 v7.6.2/go.mod h1:kjmP0IBVkJZ6gXeAu35/KCEfca//+PK github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/secure-systems-lab/go-securesystemslib v0.9.0 h1:rf1HIbL64nUpEIZnjLZ3mcNEL9NBPB0iuVjyxvq3LZc= github.com/secure-systems-lab/go-securesystemslib v0.9.0/go.mod h1:DVHKMcZ+V4/woA/peqr+L0joiRXbPpQ042GgJckkFgw= -github.com/securego/gosec/v2 v2.22.6 h1:mixR+X+Z5fT6QddWY8jyU9gs43CyW0SnADHB6kJm8NY= -github.com/securego/gosec/v2 v2.22.6/go.mod h1:510TFNDMrIPytokyHQAVLvPeDr41Yihn2ak8P+XQfNE= +github.com/securego/gosec/v2 v2.22.7 h1:8/9P+oTYI4yIpAzccQKVsg1/90Po+JzGtAhqoHImDeM= +github.com/securego/gosec/v2 v2.22.7/go.mod h1:510TFNDMrIPytokyHQAVLvPeDr41Yihn2ak8P+XQfNE= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8= github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4= @@ -1807,8 +1807,8 @@ github.com/sivchari/containedctx v1.0.3 h1:x+etemjbsh2fB5ewm5FeLNi5bUjK0V8n0RB+W github.com/sivchari/containedctx v1.0.3/go.mod h1:c1RDvCbnJLtH4lLcYD/GqwiBSSf4F5Qk0xld2rBqzJ4= github.com/skeema/knownhosts v1.3.0 h1:AM+y0rI04VksttfwjkSTNQorvGqmwATnvnAHpSgc0LY= github.com/skeema/knownhosts v1.3.0/go.mod h1:sPINvnADmT/qYH1kfv+ePMmOBTH6Tbl7b5LvTDjFK7M= -github.com/sonatard/noctx v0.3.5 h1:KJmJt2jEXFu2JLlGfjpGNOjyjc4qvfzl4918XJ4Odpc= -github.com/sonatard/noctx v0.3.5/go.mod h1:64XdbzFb18XL4LporKXp8poqZtPKbCrqQ402CV+kJas= +github.com/sonatard/noctx v0.4.0 h1:7MC/5Gg4SQ4lhLYR6mvOP6mQVSxCrdyiExo7atBs27o= +github.com/sonatard/noctx v0.4.0/go.mod h1:64XdbzFb18XL4LporKXp8poqZtPKbCrqQ402CV+kJas= github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= github.com/sourcegraph/go-diff v0.7.0 h1:9uLlrd5T46OXs5qpp8L/MTltk0zikUGi0sNNyCpA8G0= From 7f7525e64f6b81402f3a5ce3d6814515dae0cb15 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Aug 2025 09:24:38 +0000 Subject: [PATCH 0260/1301] build(deps): bump the aws-sdk-go-v2 group across 1 directory with 10 updates Bumps the aws-sdk-go-v2 group with 10 updates in the / directory: | Package | From | To | | --- | --- | --- | | [github.com/aws/aws-sdk-go-v2/service/acmpca](https://github.com/aws/aws-sdk-go-v2) | `1.41.1` | `1.41.2` | | [github.com/aws/aws-sdk-go-v2/service/auditmanager](https://github.com/aws/aws-sdk-go-v2) | `1.41.1` | `1.42.0` | | [github.com/aws/aws-sdk-go-v2/service/greengrass](https://github.com/aws/aws-sdk-go-v2) | `1.29.1` | `1.29.2` | | [github.com/aws/aws-sdk-go-v2/service/guardduty](https://github.com/aws/aws-sdk-go-v2) | `1.58.1` | `1.58.2` | | [github.com/aws/aws-sdk-go-v2/service/iot](https://github.com/aws/aws-sdk-go-v2) | `1.66.0` | `1.66.1` | | [github.com/aws/aws-sdk-go-v2/service/kinesisvideo](https://github.com/aws/aws-sdk-go-v2) | `1.29.1` | `1.29.2` | | [github.com/aws/aws-sdk-go-v2/service/lightsail](https://github.com/aws/aws-sdk-go-v2) | `1.44.1` | `1.45.0` | | [github.com/aws/aws-sdk-go-v2/service/pcs](https://github.com/aws/aws-sdk-go-v2) | `1.7.1` | `1.8.0` | | [github.com/aws/aws-sdk-go-v2/service/securityhub](https://github.com/aws/aws-sdk-go-v2) | `1.59.1` | `1.60.0` | | [github.com/aws/aws-sdk-go-v2/service/sns](https://github.com/aws/aws-sdk-go-v2) | `1.35.1` | `1.35.2` | Updates `github.com/aws/aws-sdk-go-v2/service/acmpca` from 1.41.1 to 1.41.2 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/eks/v1.41.1...service/eks/v1.41.2) Updates `github.com/aws/aws-sdk-go-v2/service/auditmanager` from 1.41.1 to 1.42.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/eks/v1.41.1...service/s3/v1.42.0) Updates `github.com/aws/aws-sdk-go-v2/service/greengrass` from 1.29.1 to 1.29.2 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.29.1...config/v1.29.2) Updates `github.com/aws/aws-sdk-go-v2/service/guardduty` from 1.58.1 to 1.58.2 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.58.1...service/s3/v1.58.2) Updates `github.com/aws/aws-sdk-go-v2/service/iot` from 1.66.0 to 1.66.1 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.66.0...service/s3/v1.66.1) Updates `github.com/aws/aws-sdk-go-v2/service/kinesisvideo` from 1.29.1 to 1.29.2 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.29.1...config/v1.29.2) Updates `github.com/aws/aws-sdk-go-v2/service/lightsail` from 1.44.1 to 1.45.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/ecr/v1.44.1...service/s3/v1.45.0) Updates `github.com/aws/aws-sdk-go-v2/service/pcs` from 1.7.1 to 1.8.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/v1.8.0/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.7.1...v1.8.0) Updates `github.com/aws/aws-sdk-go-v2/service/securityhub` from 1.59.1 to 1.60.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/iot/v1.59.1...service/s3/v1.60.0) Updates `github.com/aws/aws-sdk-go-v2/service/sns` from 1.35.1 to 1.35.2 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/iam/v1.35.1...service/ecr/v1.35.2) --- updated-dependencies: - dependency-name: github.com/aws/aws-sdk-go-v2/service/acmpca dependency-version: 1.41.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/auditmanager dependency-version: 1.42.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/greengrass dependency-version: 1.29.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/guardduty dependency-version: 1.58.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/iot dependency-version: 1.66.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/kinesisvideo dependency-version: 1.29.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/lightsail dependency-version: 1.45.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/pcs dependency-version: 1.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/securityhub dependency-version: 1.60.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/sns dependency-version: 1.35.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: aws-sdk-go-v2 ... Signed-off-by: dependabot[bot] --- go.mod | 20 ++++++++++---------- go.sum | 40 ++++++++++++++++++++-------------------- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/go.mod b/go.mod index c082ac559c09..3d040e98dbec 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.41.1 github.com/aws/aws-sdk-go-v2/service/account v1.25.1 github.com/aws/aws-sdk-go-v2/service/acm v1.34.1 - github.com/aws/aws-sdk-go-v2/service/acmpca v1.41.1 + github.com/aws/aws-sdk-go-v2/service/acmpca v1.41.2 github.com/aws/aws-sdk-go-v2/service/amp v1.35.1 github.com/aws/aws-sdk-go-v2/service/amplify v1.34.1 github.com/aws/aws-sdk-go-v2/service/apigateway v1.32.1 @@ -36,7 +36,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/appstream v1.46.1 github.com/aws/aws-sdk-go-v2/service/appsync v1.48.1 github.com/aws/aws-sdk-go-v2/service/athena v1.52.1 - github.com/aws/aws-sdk-go-v2/service/auditmanager v1.41.1 + github.com/aws/aws-sdk-go-v2/service/auditmanager v1.42.0 github.com/aws/aws-sdk-go-v2/service/autoscaling v1.55.1 github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.26.1 github.com/aws/aws-sdk-go-v2/service/backup v1.44.1 @@ -130,9 +130,9 @@ require ( github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.31.1 github.com/aws/aws-sdk-go-v2/service/glue v1.121.0 github.com/aws/aws-sdk-go-v2/service/grafana v1.28.1 - github.com/aws/aws-sdk-go-v2/service/greengrass v1.29.1 + github.com/aws/aws-sdk-go-v2/service/greengrass v1.29.2 github.com/aws/aws-sdk-go-v2/service/groundstation v1.34.1 - github.com/aws/aws-sdk-go-v2/service/guardduty v1.58.1 + github.com/aws/aws-sdk-go-v2/service/guardduty v1.58.2 github.com/aws/aws-sdk-go-v2/service/healthlake v1.31.1 github.com/aws/aws-sdk-go-v2/service/iam v1.44.1 github.com/aws/aws-sdk-go-v2/service/identitystore v1.29.1 @@ -141,7 +141,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/inspector2 v1.40.0 github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.22.1 github.com/aws/aws-sdk-go-v2/service/invoicing v1.3.1 - github.com/aws/aws-sdk-go-v2/service/iot v1.66.0 + github.com/aws/aws-sdk-go-v2/service/iot v1.66.1 github.com/aws/aws-sdk-go-v2/service/ivs v1.44.1 github.com/aws/aws-sdk-go-v2/service/ivschat v1.18.1 github.com/aws/aws-sdk-go-v2/service/kafka v1.40.1 @@ -151,7 +151,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/kinesis v1.36.1 github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.27.1 github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.33.1 - github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.29.1 + github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.29.2 github.com/aws/aws-sdk-go-v2/service/kms v1.42.1 github.com/aws/aws-sdk-go-v2/service/lakeformation v1.42.1 github.com/aws/aws-sdk-go-v2/service/lambda v1.74.1 @@ -159,7 +159,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.30.1 github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.53.1 github.com/aws/aws-sdk-go-v2/service/licensemanager v1.33.1 - github.com/aws/aws-sdk-go-v2/service/lightsail v1.44.1 + github.com/aws/aws-sdk-go-v2/service/lightsail v1.45.0 github.com/aws/aws-sdk-go-v2/service/location v1.46.1 github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.33.1 github.com/aws/aws-sdk-go-v2/service/m2 v1.22.1 @@ -191,7 +191,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/outposts v1.53.1 github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.20.1 github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.12.1 - github.com/aws/aws-sdk-go-v2/service/pcs v1.7.1 + github.com/aws/aws-sdk-go-v2/service/pcs v1.8.0 github.com/aws/aws-sdk-go-v2/service/pinpoint v1.36.1 github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.21.1 github.com/aws/aws-sdk-go-v2/service/pipes v1.20.1 @@ -228,7 +228,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/scheduler v1.14.1 github.com/aws/aws-sdk-go-v2/service/schemas v1.30.1 github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.36.1 - github.com/aws/aws-sdk-go-v2/service/securityhub v1.59.1 + github.com/aws/aws-sdk-go-v2/service/securityhub v1.60.0 github.com/aws/aws-sdk-go-v2/service/securitylake v1.21.1 github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.26.1 github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.35.1 @@ -240,7 +240,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/sfn v1.36.1 github.com/aws/aws-sdk-go-v2/service/shield v1.31.1 github.com/aws/aws-sdk-go-v2/service/signer v1.28.1 - github.com/aws/aws-sdk-go-v2/service/sns v1.35.1 + github.com/aws/aws-sdk-go-v2/service/sns v1.35.2 github.com/aws/aws-sdk-go-v2/service/sqs v1.39.1 github.com/aws/aws-sdk-go-v2/service/ssm v1.61.1 github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.28.1 diff --git a/go.sum b/go.sum index 306df99ed648..f69909c37030 100644 --- a/go.sum +++ b/go.sum @@ -49,8 +49,8 @@ github.com/aws/aws-sdk-go-v2/service/account v1.25.1 h1:FmkAacg5OYFEMLXpCa5NWLvQ github.com/aws/aws-sdk-go-v2/service/account v1.25.1/go.mod h1:QSb7ynpJNa+VKXHxmWN+rs3ByfBGs+p0SAoPFxX67aE= github.com/aws/aws-sdk-go-v2/service/acm v1.34.1 h1:bbwYpBRLNjE55qY4Mb0fnkPKeAmyaCk+ycGuOeI4r9Y= github.com/aws/aws-sdk-go-v2/service/acm v1.34.1/go.mod h1:mZqY4hx40BypyT3Qm4FWpIoSdkauoV1EUDk/3ByQSuk= -github.com/aws/aws-sdk-go-v2/service/acmpca v1.41.1 h1:YQRAmjHJd08P0/1ADX386WVr2SgOlHX5epQ1LGOzG54= -github.com/aws/aws-sdk-go-v2/service/acmpca v1.41.1/go.mod h1:kZGFX2gboWjbnAuuKVLXB+S/TQ8AcY9Q9hWzcJrhink= +github.com/aws/aws-sdk-go-v2/service/acmpca v1.41.2 h1:CGEnYec9EM2uhrwzhXnevW8UhWh4ciX8cQpL3/0D3FE= +github.com/aws/aws-sdk-go-v2/service/acmpca v1.41.2/go.mod h1:kZGFX2gboWjbnAuuKVLXB+S/TQ8AcY9Q9hWzcJrhink= github.com/aws/aws-sdk-go-v2/service/amp v1.35.1 h1:5p9HHs0vsAaDn5sWSu6eH76iw6xnPRw7h+M3J5u8wp8= github.com/aws/aws-sdk-go-v2/service/amp v1.35.1/go.mod h1:bKEb2NoSPx/F+m6gzuyuQwYrP1jVWxoEsp8dJaroviY= github.com/aws/aws-sdk-go-v2/service/amplify v1.34.1 h1:Av8JqcN88qS1bsfxT7Sdc3V/teB3/RjtTOo3MBU5N6M= @@ -83,8 +83,8 @@ github.com/aws/aws-sdk-go-v2/service/appsync v1.48.1 h1:ZDL25UdJ53x6+HRznXwBcgoZ github.com/aws/aws-sdk-go-v2/service/appsync v1.48.1/go.mod h1:E8yfHHkF3MIWOWRmvopbeK8wfCkeiNIqQ5f8G7fPaO4= github.com/aws/aws-sdk-go-v2/service/athena v1.52.1 h1:5rNoigvi9hF3zv7e8hI5l+iY5KAwKklcZCgpAh56JKI= github.com/aws/aws-sdk-go-v2/service/athena v1.52.1/go.mod h1:Xu33b8kDuxb2omK+SUaQfbJh48c0QA7t08ne92DvTOM= -github.com/aws/aws-sdk-go-v2/service/auditmanager v1.41.1 h1:Qwhpy/ijOSxxI/V+je0qsHdxbqbDfBWR6MQ3HJF6BEs= -github.com/aws/aws-sdk-go-v2/service/auditmanager v1.41.1/go.mod h1:EarhE4+FhGV6sYnrDvsw7z4+pYSY9zX2xlkbuetUVmg= +github.com/aws/aws-sdk-go-v2/service/auditmanager v1.42.0 h1:qQyzQj7ckTHNSsLzPhxPTvnHETTOExpltPon803jC94= +github.com/aws/aws-sdk-go-v2/service/auditmanager v1.42.0/go.mod h1:EarhE4+FhGV6sYnrDvsw7z4+pYSY9zX2xlkbuetUVmg= github.com/aws/aws-sdk-go-v2/service/autoscaling v1.55.1 h1:zX6/huIuV5ldMXSiVVdmRT2oO1M+xNLzdt0du0QuhVE= github.com/aws/aws-sdk-go-v2/service/autoscaling v1.55.1/go.mod h1:KWk5jIp+F7eu9vjz6g/UdeIk5FX2zw7zllkf8EwmHjM= github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.26.1 h1:CkI6bqB4xGt4i8WFa4VPqkSS+2pnclSY4Zo0dwuplkE= @@ -271,12 +271,12 @@ github.com/aws/aws-sdk-go-v2/service/glue v1.121.0 h1:b+B71JBhFSVOifMMcnilfqPcrs github.com/aws/aws-sdk-go-v2/service/glue v1.121.0/go.mod h1:GrfuFuhLuhdZy8Tx0W29A6avb0+Xey8DDS0izAj3/gY= github.com/aws/aws-sdk-go-v2/service/grafana v1.28.1 h1:xef5GSQwdnBBEodb67YGYE7CanW5uuQyI/8q+rMs6IE= github.com/aws/aws-sdk-go-v2/service/grafana v1.28.1/go.mod h1:wejuc0EF416jLYLVi4yyRZiZLtBwIPHR+L0fUnTlMeU= -github.com/aws/aws-sdk-go-v2/service/greengrass v1.29.1 h1:OiVM4eAVc1Ixumpnf4wQTJVHGA01qjzZlvaisWUBx08= -github.com/aws/aws-sdk-go-v2/service/greengrass v1.29.1/go.mod h1:ctd0N/Z5NBrVk8DRHDnVPDGXLYgEIw1UvG2ia2Tgbvg= +github.com/aws/aws-sdk-go-v2/service/greengrass v1.29.2 h1:sUwdjTF+gsxgeQ5EDloohEfrridf46LAv4liH11CSiE= +github.com/aws/aws-sdk-go-v2/service/greengrass v1.29.2/go.mod h1:ctd0N/Z5NBrVk8DRHDnVPDGXLYgEIw1UvG2ia2Tgbvg= github.com/aws/aws-sdk-go-v2/service/groundstation v1.34.1 h1:dMBjI+4ScXf5fIeYI+70DHxC35hknZUYs2/u2ou9BZ0= github.com/aws/aws-sdk-go-v2/service/groundstation v1.34.1/go.mod h1:co4tdt5zpodqW74jxLUio7V/EGMBNimy/8RJP8KF0vk= -github.com/aws/aws-sdk-go-v2/service/guardduty v1.58.1 h1:rsEOQaTAe6aJqwntPqjzY/o9E2/3HzP4GQajzizEgkA= -github.com/aws/aws-sdk-go-v2/service/guardduty v1.58.1/go.mod h1:eQ9c3TyaAMTn2/P6vjnPjZ6b3ViTaHsTPOY9gdUBvXo= +github.com/aws/aws-sdk-go-v2/service/guardduty v1.58.2 h1:87eI9lnHusm5MogDxtMDmxMHA9ojX0Ez8QpNVdJ70FY= +github.com/aws/aws-sdk-go-v2/service/guardduty v1.58.2/go.mod h1:eQ9c3TyaAMTn2/P6vjnPjZ6b3ViTaHsTPOY9gdUBvXo= github.com/aws/aws-sdk-go-v2/service/healthlake v1.31.1 h1:71vwj+vvOeZJ3w9XuW/9tv80byCdifbQ/Qf5Mc5y2zU= github.com/aws/aws-sdk-go-v2/service/healthlake v1.31.1/go.mod h1:QrR1Yf1RmLYOxRFL/ctdUAF8ee4LSBHKOa46wV90nQ8= github.com/aws/aws-sdk-go-v2/service/iam v1.44.1 h1:V82Oyj0zU2QFJL+qvvdAqt2YYsRO0QNb9RewnvDWpdo= @@ -303,8 +303,8 @@ github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.22.1 h1:3jvrdU0UOGm8mQ7e github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.22.1/go.mod h1:loi2iyY5Vs3EC7FI5Yp8TWUGZQC8flvpisZK4HQdNBs= github.com/aws/aws-sdk-go-v2/service/invoicing v1.3.1 h1:ZqHny6zHB8yb3NT0Wz9vSIy5Zub1qcqrEAF1d6K3zuE= github.com/aws/aws-sdk-go-v2/service/invoicing v1.3.1/go.mod h1:K4gG6tXdTb/nIFfe1R5jyW1JRsFORvFiRMDJkGNc9dA= -github.com/aws/aws-sdk-go-v2/service/iot v1.66.0 h1:WfrMX/3r0d9QAETHTQtVOYLWpagcKUyKi5peIH5QG6A= -github.com/aws/aws-sdk-go-v2/service/iot v1.66.0/go.mod h1:0ogtONfjFzm7daWG4XWQhmpHkC0P0nTjoO7n4JKzb0U= +github.com/aws/aws-sdk-go-v2/service/iot v1.66.1 h1:swiMxQAfOYKErad14viM37FlgUwHDXTHMbaT1OgG6v0= +github.com/aws/aws-sdk-go-v2/service/iot v1.66.1/go.mod h1:0ogtONfjFzm7daWG4XWQhmpHkC0P0nTjoO7n4JKzb0U= github.com/aws/aws-sdk-go-v2/service/ivs v1.44.1 h1:k8SgaBMH/3e3oRv5XyMS6qJAvKtc5/3xTjCSMlkaeFI= github.com/aws/aws-sdk-go-v2/service/ivs v1.44.1/go.mod h1:Oobt8m2Ut1xg78QLmsw13wnSknC9PnFOmvgFcN3OobA= github.com/aws/aws-sdk-go-v2/service/ivschat v1.18.1 h1:KeOqEh9bzMzaRbjzil41SOu7UVcHmyPZ415wDhvpRVI= @@ -323,8 +323,8 @@ github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.27.1 h1:HJ/Yqyc+z6yPznL github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.27.1/go.mod h1:lF63nbQGTaLvFxfl25+flfgcLy+TVUT5ACG8NQkdXbg= github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.33.1 h1:IUTnaFqzwDoCbbT9dChPffQUwwwNplP9ZMwdVD/zzmM= github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.33.1/go.mod h1:t8Gl3+K/J7GWoyTEkBF+ehVUIGP67o3OUiKnssQINBA= -github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.29.1 h1:UdzvaZQ7UgNPiWmk2yU9281DsKm1kGUyVAY3wZhZf2s= -github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.29.1/go.mod h1:FrPChe9AimOwPREPAMrmE9ZPJQY7PLxFaeg7QXHxKD8= +github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.29.2 h1:XTlh+wgWERa11uPdUVUq/AdEZTBfY+H/i0v3OZp932M= +github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.29.2/go.mod h1:FrPChe9AimOwPREPAMrmE9ZPJQY7PLxFaeg7QXHxKD8= github.com/aws/aws-sdk-go-v2/service/kms v1.42.1 h1:YozphKGMWbikYX1H8Cjmh+QUboGA1c/D48m1pBosDmM= github.com/aws/aws-sdk-go-v2/service/kms v1.42.1/go.mod h1:I/6K08h6XpKZPzb1jMZb1k5N6HpzLyjS4Z0uBFzvaDc= github.com/aws/aws-sdk-go-v2/service/lakeformation v1.42.1 h1:4CyftMR6RY8OcqPXevgS1DOwiSwYwgTcLK2cdUcVZCo= @@ -339,8 +339,8 @@ github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.53.1 h1:1qKrJXGcgICGlJ1dwlvO github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.53.1/go.mod h1:IQdDJQwO16pmmylU4iIgbgBSNk5bPhlUnuhsl5HhfS8= github.com/aws/aws-sdk-go-v2/service/licensemanager v1.33.1 h1:BpPBMw8QekkoJpH34s/XYoNpVtMr7QTpDNcxQnMOvhw= github.com/aws/aws-sdk-go-v2/service/licensemanager v1.33.1/go.mod h1:dSYHIVdITBrd19X2U36SemcuPoX7Mtxif3YjBSgKGa0= -github.com/aws/aws-sdk-go-v2/service/lightsail v1.44.1 h1:szsDy+Jx8LhOvlyqJfGzho4sPxist94khUm4QwTG+cs= -github.com/aws/aws-sdk-go-v2/service/lightsail v1.44.1/go.mod h1:FUyjCuISm1KKO++ZK9Lc251IfdJXZBRKo4cHCZa7RcI= +github.com/aws/aws-sdk-go-v2/service/lightsail v1.45.0 h1:eOFZ0iaR+/ws2vfLLrA4e9B9C2nICQhpjzBcUmz3qDA= +github.com/aws/aws-sdk-go-v2/service/lightsail v1.45.0/go.mod h1:FUyjCuISm1KKO++ZK9Lc251IfdJXZBRKo4cHCZa7RcI= github.com/aws/aws-sdk-go-v2/service/location v1.46.1 h1:rWsI4OIvYu8fMV1KbccxlpTKWcQEPk1YKWiUiRLfNgs= github.com/aws/aws-sdk-go-v2/service/location v1.46.1/go.mod h1:ZW2qOTqxIPQtuMLv7nj4WS+h4utqLoaNzDmCfgeqTNg= github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.33.1 h1:/LIKKQyGfyjLElsw12AAD/b4T1gjvCRpo9PWXFBXG1Y= @@ -403,8 +403,8 @@ github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.20.1 h1:AX6HWyE3hshM github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.20.1/go.mod h1:fPpm6h3keIbLil7fhZ0W1lLDg9DrfYHVans55yzlFyM= github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.12.1 h1:IZ2DReKRxTvXr2RGhcB/z4DJGesXSfMvY5vSGycCEGk= github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.12.1/go.mod h1:ySW1vL+f/079GdqHIx7tOSP81yiB1Z01uKdtNlH0eb8= -github.com/aws/aws-sdk-go-v2/service/pcs v1.7.1 h1:KSAs6CUxcS3ObH0aABXu6lpAdLGYd+KaDO4MqZ8uwpk= -github.com/aws/aws-sdk-go-v2/service/pcs v1.7.1/go.mod h1:06QcV8x3XG2rejuINX53oYb1+owkCEY0wW0orumnvOI= +github.com/aws/aws-sdk-go-v2/service/pcs v1.8.0 h1:4nlUROOVIOnDFWLVcb2f6gUZXRinV+6XlSKJ/hzHEiY= +github.com/aws/aws-sdk-go-v2/service/pcs v1.8.0/go.mod h1:06QcV8x3XG2rejuINX53oYb1+owkCEY0wW0orumnvOI= github.com/aws/aws-sdk-go-v2/service/pinpoint v1.36.1 h1:7vBcJCy6iXGagB8Z5zaRpF49H8nd3TVdVxLN5DrYYAs= github.com/aws/aws-sdk-go-v2/service/pinpoint v1.36.1/go.mod h1:D6qGC37YHDdlcGgNc9RA3++WTdWNRNq5gQP00cHFUQ4= github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.21.1 h1:tzp5DSj5QSMDMSxr9BpxuJBocueIQJ9bFnmaa9kZuLQ= @@ -477,8 +477,8 @@ github.com/aws/aws-sdk-go-v2/service/schemas v1.30.1 h1:AeR1HvScTM6v8FIL5ONZhOKx github.com/aws/aws-sdk-go-v2/service/schemas v1.30.1/go.mod h1:RNx0SkALkXNDSJKm/I1cAMmUfdTKB/KHIq/ddWG6tvg= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.36.1 h1:fnOIjzwTVrtVnkRef3Qs+uTr3qYKwXuFom5pqdZERNQ= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.36.1/go.mod h1:/19D53IxSX9W8uu5bo0t89oCLncvNP68V1KiRthhLd4= -github.com/aws/aws-sdk-go-v2/service/securityhub v1.59.1 h1:q/3LLpo4PcoM2GUTyE1GMiEtDekkuKjtqD9mw6K+g2s= -github.com/aws/aws-sdk-go-v2/service/securityhub v1.59.1/go.mod h1:vZ92NituujfniQ/4SuNBn87qTvD2mNreUhaR3Kscm8U= +github.com/aws/aws-sdk-go-v2/service/securityhub v1.60.0 h1:iYMP5iOlUDy/WnEOMgzmHcgugJNl4ipUrnx06jaUVFI= +github.com/aws/aws-sdk-go-v2/service/securityhub v1.60.0/go.mod h1:vZ92NituujfniQ/4SuNBn87qTvD2mNreUhaR3Kscm8U= github.com/aws/aws-sdk-go-v2/service/securitylake v1.21.1 h1:/RKW3AGx4P4zBoiBevP9omqR4nawRTFcIaSX27l4fDE= github.com/aws/aws-sdk-go-v2/service/securitylake v1.21.1/go.mod h1:NamZRs6fW0/J8Di0CqJXRwbB58f4xVPNTfohMxi5lB0= github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.26.1 h1:G00kAq1ULynJ5Sl4yBoa+7CKd35YVJj4nLMl8s0OXsM= @@ -501,8 +501,8 @@ github.com/aws/aws-sdk-go-v2/service/shield v1.31.1 h1:xVThf6EHHHIacded51XqxPMEn github.com/aws/aws-sdk-go-v2/service/shield v1.31.1/go.mod h1:Gr5mZJ4DgXyZBskh7KgfNUb+zqhywkI4tOizNK0ado0= github.com/aws/aws-sdk-go-v2/service/signer v1.28.1 h1:9LIObcOOXWwrT3fdo//lXO5evcqhkzzFLpqkdwcg3/Y= github.com/aws/aws-sdk-go-v2/service/signer v1.28.1/go.mod h1:L2cwuhZJxxw/dvQJLkkUW3iTBWAoHC+8EyI/14imqhs= -github.com/aws/aws-sdk-go-v2/service/sns v1.35.1 h1:rXYKNcWkL86HT+vbkf/3YSCFCoNFcUlyFJp78dF36Rk= -github.com/aws/aws-sdk-go-v2/service/sns v1.35.1/go.mod h1:el2B16jJPkZCHv7NcBt3uf/JLLt0TBxcHcsjsyG+L40= +github.com/aws/aws-sdk-go-v2/service/sns v1.35.2 h1:2hhKj36fq0XvkGaRF/aJdW+Ui1D35stQosGHcaIyquE= +github.com/aws/aws-sdk-go-v2/service/sns v1.35.2/go.mod h1:el2B16jJPkZCHv7NcBt3uf/JLLt0TBxcHcsjsyG+L40= github.com/aws/aws-sdk-go-v2/service/sqs v1.39.1 h1:fkHJs2m1rKVBsE0n6tKi988JhpOMIu2MO2ZIHQQfeho= github.com/aws/aws-sdk-go-v2/service/sqs v1.39.1/go.mod h1:uo+sko7ERytamU7kYji04fBiMbPAgTHxzr0MX7KznO4= github.com/aws/aws-sdk-go-v2/service/ssm v1.61.1 h1:Pu5hveFc6RslFZP61W5SEMOoPd6RR2yrOu11ZxCkr+Y= From 0bf419b81a7521c60398967d71c9cd8766b9b9bd Mon Sep 17 00:00:00 2001 From: Marcin Belczewski Date: Sun, 3 Aug 2025 17:59:22 +0200 Subject: [PATCH 0261/1301] feat: create new service for Amazon Bedrock AgentCore --- .ci/.semgrep-service-name0.yml | 110 ++-- .ci/.semgrep-service-name1.yml | 78 ++- .ci/.semgrep-service-name2.yml | 29 + .github/labeler-issue-triage.yml | 2 + .github/labeler-pr-triage.yml | 6 + .../components/generated/services_all.kt | 1 + go.mod | 1 + go.sum | 2 + infrastructure/repository/labels-service.tf | 1 + internal/conns/awsclient_gen.go | 5 + internal/provider/framework/provider_gen.go | 7 + internal/provider/sdkv2/provider_gen.go | 8 + .../provider/sdkv2/service_packages_gen.go | 2 + internal/service/bedrockagentcore/generate.go | 7 + .../service_endpoint_resolver_gen.go | 82 +++ .../service_endpoints_gen_test.go | 602 ++++++++++++++++++ .../bedrockagentcore/service_package_gen.go | 88 +++ internal/sweep/service_packages_gen_test.go | 2 + names/consts_gen.go | 2 + names/data/names_data.hcl | 33 + tools/tfsdk2fw/go.mod | 2 +- tools/tfsdk2fw/go.sum | 1 + website/allowed-subcategories.txt | 1 + .../custom-service-endpoints.html.markdown | 1 + 24 files changed, 994 insertions(+), 79 deletions(-) create mode 100644 internal/service/bedrockagentcore/generate.go create mode 100644 internal/service/bedrockagentcore/service_endpoint_resolver_gen.go create mode 100644 internal/service/bedrockagentcore/service_endpoints_gen_test.go create mode 100644 internal/service/bedrockagentcore/service_package_gen.go diff --git a/.ci/.semgrep-service-name0.yml b/.ci/.semgrep-service-name0.yml index 65593ca326b9..519582fa3031 100644 --- a/.ci/.semgrep-service-name0.yml +++ b/.ci/.semgrep-service-name0.yml @@ -1938,6 +1938,67 @@ rules: patterns: - pattern-regex: "(?i)BedrockAgent" severity: WARNING + - id: bedrockagentcore-in-func-name + languages: + - go + message: Do not use "BedrockAgentCore" in func name inside bedrockagentcore package + paths: + include: + - internal/service/bedrockagentcore + exclude: + - internal/service/bedrockagentcore/list_pages_gen.go + patterns: + - pattern: func $NAME( ... ) + - metavariable-pattern: + metavariable: $NAME + patterns: + - pattern-regex: "(?i)BedrockAgentCore" + - focus-metavariable: $NAME + - pattern-not: func $NAME($T *testing.T) + severity: WARNING + - id: bedrockagentcore-in-test-name + languages: + - go + message: Include "BedrockAgentCore" in test name + paths: + include: + - internal/service/bedrockagentcore/*_test.go + patterns: + - pattern: func $NAME( ... ) + - metavariable-pattern: + metavariable: $NAME + patterns: + - pattern-not-regex: "^TestAccBedrockAgentCore" + - pattern-regex: ^TestAcc.* + severity: WARNING + - id: bedrockagentcore-in-const-name + languages: + - go + message: Do not use "BedrockAgentCore" in const name inside bedrockagentcore package + paths: + include: + - internal/service/bedrockagentcore + patterns: + - pattern: const $NAME = ... + - metavariable-pattern: + metavariable: $NAME + patterns: + - pattern-regex: "(?i)BedrockAgentCore" + severity: WARNING + - id: bedrockagentcore-in-var-name + languages: + - go + message: Do not use "BedrockAgentCore" in var name inside bedrockagentcore package + paths: + include: + - internal/service/bedrockagentcore + patterns: + - pattern: var $NAME = ... + - metavariable-pattern: + metavariable: $NAME + patterns: + - pattern-regex: "(?i)BedrockAgentCore" + severity: WARNING - id: billing-in-func-name languages: - go @@ -4357,52 +4418,3 @@ rules: patterns: - pattern-regex: "(?i)ConfigService" severity: WARNING - - id: connect-in-func-name - languages: - - go - message: Do not use "Connect" in func name inside connect package - paths: - include: - - internal/service/connect - exclude: - - internal/service/connect/list_pages_gen.go - patterns: - - pattern: func $NAME( ... ) - - metavariable-pattern: - metavariable: $NAME - patterns: - - pattern-regex: "(?i)Connect" - - pattern-not-regex: .*uickConnect.* - - focus-metavariable: $NAME - - pattern-not: func $NAME($T *testing.T) - severity: WARNING - - id: connect-in-test-name - languages: - - go - message: Include "Connect" in test name - paths: - include: - - internal/service/connect/*_test.go - patterns: - - pattern: func $NAME( ... ) - - metavariable-pattern: - metavariable: $NAME - patterns: - - pattern-not-regex: "^TestAccConnect" - - pattern-regex: ^TestAcc.* - severity: WARNING - - id: connect-in-const-name - languages: - - go - message: Do not use "Connect" in const name inside connect package - paths: - include: - - internal/service/connect - patterns: - - pattern: const $NAME = ... - - metavariable-pattern: - metavariable: $NAME - patterns: - - pattern-regex: "(?i)Connect" - - pattern-not-regex: .*uickConnect.* - severity: WARNING diff --git a/.ci/.semgrep-service-name1.yml b/.ci/.semgrep-service-name1.yml index 3460c0efafaf..91c627e0e7f9 100644 --- a/.ci/.semgrep-service-name1.yml +++ b/.ci/.semgrep-service-name1.yml @@ -1,5 +1,54 @@ # Generated by internal/generate/servicesemgrep/main.go; DO NOT EDIT. rules: + - id: connect-in-func-name + languages: + - go + message: Do not use "Connect" in func name inside connect package + paths: + include: + - internal/service/connect + exclude: + - internal/service/connect/list_pages_gen.go + patterns: + - pattern: func $NAME( ... ) + - metavariable-pattern: + metavariable: $NAME + patterns: + - pattern-regex: "(?i)Connect" + - pattern-not-regex: .*uickConnect.* + - focus-metavariable: $NAME + - pattern-not: func $NAME($T *testing.T) + severity: WARNING + - id: connect-in-test-name + languages: + - go + message: Include "Connect" in test name + paths: + include: + - internal/service/connect/*_test.go + patterns: + - pattern: func $NAME( ... ) + - metavariable-pattern: + metavariable: $NAME + patterns: + - pattern-not-regex: "^TestAccConnect" + - pattern-regex: ^TestAcc.* + severity: WARNING + - id: connect-in-const-name + languages: + - go + message: Do not use "Connect" in const name inside connect package + paths: + include: + - internal/service/connect + patterns: + - pattern: const $NAME = ... + - metavariable-pattern: + metavariable: $NAME + patterns: + - pattern-regex: "(?i)Connect" + - pattern-not-regex: .*uickConnect.* + severity: WARNING - id: connect-in-var-name languages: - go @@ -4368,32 +4417,3 @@ rules: - focus-metavariable: $NAME - pattern-not: func $NAME($T *testing.T) severity: WARNING - - id: iot-in-test-name - languages: - - go - message: Include "IoT" in test name - paths: - include: - - internal/service/iot/*_test.go - patterns: - - pattern: func $NAME( ... ) - - metavariable-pattern: - metavariable: $NAME - patterns: - - pattern-not-regex: "^TestAccIoT" - - pattern-regex: ^TestAcc.* - severity: WARNING - - id: iot-in-const-name - languages: - - go - message: Do not use "IoT" in const name inside iot package - paths: - include: - - internal/service/iot - patterns: - - pattern: const $NAME = ... - - metavariable-pattern: - metavariable: $NAME - patterns: - - pattern-regex: "(?i)IoT" - severity: WARNING diff --git a/.ci/.semgrep-service-name2.yml b/.ci/.semgrep-service-name2.yml index 394173650a9e..4d9bcaf1968a 100644 --- a/.ci/.semgrep-service-name2.yml +++ b/.ci/.semgrep-service-name2.yml @@ -1,5 +1,34 @@ # Generated by internal/generate/servicesemgrep/main.go; DO NOT EDIT. rules: + - id: iot-in-test-name + languages: + - go + message: Include "IoT" in test name + paths: + include: + - internal/service/iot/*_test.go + patterns: + - pattern: func $NAME( ... ) + - metavariable-pattern: + metavariable: $NAME + patterns: + - pattern-not-regex: "^TestAccIoT" + - pattern-regex: ^TestAcc.* + severity: WARNING + - id: iot-in-const-name + languages: + - go + message: Do not use "IoT" in const name inside iot package + paths: + include: + - internal/service/iot + patterns: + - pattern: const $NAME = ... + - metavariable-pattern: + metavariable: $NAME + patterns: + - pattern-regex: "(?i)IoT" + severity: WARNING - id: iot-in-var-name languages: - go diff --git a/.github/labeler-issue-triage.yml b/.github/labeler-issue-triage.yml index 72e963ea2033..0bdfe2b5c673 100644 --- a/.github/labeler-issue-triage.yml +++ b/.github/labeler-issue-triage.yml @@ -97,6 +97,8 @@ service/bedrock: - '((\*|-)\s*`?|(data|resource)\s+"?)aws_bedrock_' service/bedrockagent: - '((\*|-)\s*`?|(data|resource)\s+"?)aws_bedrockagent_' +service/bedrockagentcore: + - '((\*|-)\s*`?|(data|resource)\s+"?)aws_bedrockagentcore_' service/billing: - '((\*|-)\s*`?|(data|resource)\s+"?)aws_billing_' service/billingconductor: diff --git a/.github/labeler-pr-triage.yml b/.github/labeler-pr-triage.yml index ff2b9384a0a3..53d3c782a3a5 100644 --- a/.github/labeler-pr-triage.yml +++ b/.github/labeler-pr-triage.yml @@ -331,6 +331,12 @@ service/bedrockagent: - any-glob-to-any-file: - 'internal/service/bedrockagent/**/*' - 'website/**/bedrockagent_*' +service/bedrockagentcore: + - any: + - changed-files: + - any-glob-to-any-file: + - 'internal/service/bedrockagentcore/**/*' + - 'website/**/bedrockagentcore_*' service/billing: - any: - changed-files: diff --git a/.teamcity/components/generated/services_all.kt b/.teamcity/components/generated/services_all.kt index 618afeafe744..ed0fe9a03529 100644 --- a/.teamcity/components/generated/services_all.kt +++ b/.teamcity/components/generated/services_all.kt @@ -29,6 +29,7 @@ val services = mapOf( "bcmdataexports" to ServiceSpec("BCM Data Exports", parallelismOverride = 5), "bedrock" to ServiceSpec("Bedrock"), "bedrockagent" to ServiceSpec("Bedrock Agents"), + "bedrockagentcore" to ServiceSpec("Bedrock AgentCore"), "billing" to ServiceSpec("Billing"), "budgets" to ServiceSpec("Web Services Budgets"), "ce" to ServiceSpec("CE (Cost Explorer)"), diff --git a/go.mod b/go.mod index c082ac559c09..780c01032ce6 100644 --- a/go.mod +++ b/go.mod @@ -44,6 +44,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.9.1 github.com/aws/aws-sdk-go-v2/service/bedrock v1.40.2 github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.46.1 + github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.1.1 github.com/aws/aws-sdk-go-v2/service/billing v1.3.1 github.com/aws/aws-sdk-go-v2/service/budgets v1.33.1 github.com/aws/aws-sdk-go-v2/service/chatbot v1.11.1 diff --git a/go.sum b/go.sum index 306df99ed648..edecc5228331 100644 --- a/go.sum +++ b/go.sum @@ -99,6 +99,8 @@ github.com/aws/aws-sdk-go-v2/service/bedrock v1.40.2 h1:RF6r/HIBx3Ox1d8QBjSFf3jW github.com/aws/aws-sdk-go-v2/service/bedrock v1.40.2/go.mod h1:ZTp/fekiiAUkmAU4CDYjtk/hlRpPJnbGKaFzMNr+Hq4= github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.46.1 h1:+964aZWEhatObFc4aShL6yyLXcmr4rA6NPGd+y6TlSM= github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.46.1/go.mod h1:PYXdjAxfDP6jvOtgZIlXn+7DS2rYfMONfDiYxx1I3T0= +github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.1.1 h1:B5TtLHc5RV/ezQo3BsFfDxKUdbnRl6Ni3b927eGLxsk= +github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.1.1/go.mod h1:YpZIw5tCg/UZMYIrqCvK5wv2Uze3IKeB2lhq8yQU8j0= github.com/aws/aws-sdk-go-v2/service/billing v1.3.1 h1:ubne5J3y/pp9c/ojwPhTbBy5PJB7Gs1WM6JooUQJzCg= github.com/aws/aws-sdk-go-v2/service/billing v1.3.1/go.mod h1:YeisxBuT89KEnsEw/BXZy+En8LjBzP4wfVqHf9Lkqzw= github.com/aws/aws-sdk-go-v2/service/budgets v1.33.1 h1:Iai284Y0UvwLD8Bz/qDXbmdMGzrYOHCnvAKStFIn78A= diff --git a/infrastructure/repository/labels-service.tf b/infrastructure/repository/labels-service.tf index 29d1f435e598..0b0b2991b290 100644 --- a/infrastructure/repository/labels-service.tf +++ b/infrastructure/repository/labels-service.tf @@ -36,6 +36,7 @@ variable "service_labels" { "bcmdataexports", "bedrock", "bedrockagent", + "bedrockagentcore", "billing", "billingconductor", "braket", diff --git a/internal/conns/awsclient_gen.go b/internal/conns/awsclient_gen.go index c30e7eb786a4..ab86d8135ea4 100644 --- a/internal/conns/awsclient_gen.go +++ b/internal/conns/awsclient_gen.go @@ -32,6 +32,7 @@ import ( "github.com/aws/aws-sdk-go-v2/service/bcmdataexports" "github.com/aws/aws-sdk-go-v2/service/bedrock" "github.com/aws/aws-sdk-go-v2/service/bedrockagent" + "github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol" "github.com/aws/aws-sdk-go-v2/service/billing" "github.com/aws/aws-sdk-go-v2/service/budgets" "github.com/aws/aws-sdk-go-v2/service/chatbot" @@ -372,6 +373,10 @@ func (c *AWSClient) BedrockAgentClient(ctx context.Context) *bedrockagent.Client return errs.Must(client[*bedrockagent.Client](ctx, c, names.BedrockAgent, make(map[string]any))) } +func (c *AWSClient) BedrockAgentCoreClient(ctx context.Context) *bedrockagentcorecontrol.Client { + return errs.Must(client[*bedrockagentcorecontrol.Client](ctx, c, names.BedrockAgentCore, make(map[string]any))) +} + func (c *AWSClient) BillingClient(ctx context.Context) *billing.Client { return errs.Must(client[*billing.Client](ctx, c, names.Billing, make(map[string]any))) } diff --git a/internal/provider/framework/provider_gen.go b/internal/provider/framework/provider_gen.go index e62bfe9653aa..b9ef915c359c 100644 --- a/internal/provider/framework/provider_gen.go +++ b/internal/provider/framework/provider_gen.go @@ -226,6 +226,13 @@ func endpointsBlock() schema.SetNestedBlock { Description: "Use this to override the default service endpoint URL", }, + // bedrockagentcore + + "bedrockagentcore": schema.StringAttribute{ + Optional: true, + Description: "Use this to override the default service endpoint URL", + }, + // billing "billing": schema.StringAttribute{ diff --git a/internal/provider/sdkv2/provider_gen.go b/internal/provider/sdkv2/provider_gen.go index 099821f4b1be..80f5ccb2a225 100644 --- a/internal/provider/sdkv2/provider_gen.go +++ b/internal/provider/sdkv2/provider_gen.go @@ -267,6 +267,14 @@ func endpointsSchema() *schema.Schema { Description: "Use this to override the default service endpoint URL", }, + // bedrockagentcore + + "bedrockagentcore": { + Type: schema.TypeString, + Optional: true, + Description: "Use this to override the default service endpoint URL", + }, + // billing "billing": { diff --git a/internal/provider/sdkv2/service_packages_gen.go b/internal/provider/sdkv2/service_packages_gen.go index 0ad5c7f79eaa..a62b3b8dd0d3 100644 --- a/internal/provider/sdkv2/service_packages_gen.go +++ b/internal/provider/sdkv2/service_packages_gen.go @@ -35,6 +35,7 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/service/bcmdataexports" "github.com/hashicorp/terraform-provider-aws/internal/service/bedrock" "github.com/hashicorp/terraform-provider-aws/internal/service/bedrockagent" + "github.com/hashicorp/terraform-provider-aws/internal/service/bedrockagentcore" "github.com/hashicorp/terraform-provider-aws/internal/service/billing" "github.com/hashicorp/terraform-provider-aws/internal/service/budgets" "github.com/hashicorp/terraform-provider-aws/internal/service/ce" @@ -292,6 +293,7 @@ func servicePackages(ctx context.Context) []conns.ServicePackage { bcmdataexports.ServicePackage(ctx), bedrock.ServicePackage(ctx), bedrockagent.ServicePackage(ctx), + bedrockagentcore.ServicePackage(ctx), billing.ServicePackage(ctx), budgets.ServicePackage(ctx), ce.ServicePackage(ctx), diff --git a/internal/service/bedrockagentcore/generate.go b/internal/service/bedrockagentcore/generate.go new file mode 100644 index 000000000000..81cf8cd03548 --- /dev/null +++ b/internal/service/bedrockagentcore/generate.go @@ -0,0 +1,7 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +//go:generate go run ../../generate/servicepackage/main.go +// ONLY generate directives and package declaration! Do not add anything else to this file. + +package bedrockagentcore diff --git a/internal/service/bedrockagentcore/service_endpoint_resolver_gen.go b/internal/service/bedrockagentcore/service_endpoint_resolver_gen.go new file mode 100644 index 000000000000..4b0961e4834f --- /dev/null +++ b/internal/service/bedrockagentcore/service_endpoint_resolver_gen.go @@ -0,0 +1,82 @@ +// Code generated by internal/generate/servicepackage/main.go; DO NOT EDIT. + +package bedrockagentcore + +import ( + "context" + "fmt" + "net" + + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol" + smithyendpoints "github.com/aws/smithy-go/endpoints" + "github.com/hashicorp/terraform-plugin-log/tflog" + "github.com/hashicorp/terraform-provider-aws/internal/errs" +) + +var _ bedrockagentcorecontrol.EndpointResolverV2 = resolverV2{} + +type resolverV2 struct { + defaultResolver bedrockagentcorecontrol.EndpointResolverV2 +} + +func newEndpointResolverV2() resolverV2 { + return resolverV2{ + defaultResolver: bedrockagentcorecontrol.NewDefaultEndpointResolverV2(), + } +} + +func (r resolverV2) ResolveEndpoint(ctx context.Context, params bedrockagentcorecontrol.EndpointParameters) (endpoint smithyendpoints.Endpoint, err error) { + params = params.WithDefaults() + useFIPS := aws.ToBool(params.UseFIPS) + + if eps := params.Endpoint; aws.ToString(eps) != "" { + tflog.Debug(ctx, "setting endpoint", map[string]any{ + "tf_aws.endpoint": endpoint, + }) + + if useFIPS { + tflog.Debug(ctx, "endpoint set, ignoring UseFIPSEndpoint setting") + params.UseFIPS = aws.Bool(false) + } + + return r.defaultResolver.ResolveEndpoint(ctx, params) + } else if useFIPS { + ctx = tflog.SetField(ctx, "tf_aws.use_fips", useFIPS) + + endpoint, err = r.defaultResolver.ResolveEndpoint(ctx, params) + if err != nil { + return endpoint, err + } + + tflog.Debug(ctx, "endpoint resolved", map[string]any{ + "tf_aws.endpoint": endpoint.URI.String(), + }) + + hostname := endpoint.URI.Hostname() + _, err = net.LookupHost(hostname) + if err != nil { + if dnsErr, ok := errs.As[*net.DNSError](err); ok && dnsErr.IsNotFound { + tflog.Debug(ctx, "default endpoint host not found, disabling FIPS", map[string]any{ + "tf_aws.hostname": hostname, + }) + params.UseFIPS = aws.Bool(false) + } else { + err = fmt.Errorf("looking up bedrockagentcorecontrol endpoint %q: %s", hostname, err) + return + } + } else { + return endpoint, err + } + } + + return r.defaultResolver.ResolveEndpoint(ctx, params) +} + +func withBaseEndpoint(endpoint string) func(*bedrockagentcorecontrol.Options) { + return func(o *bedrockagentcorecontrol.Options) { + if endpoint != "" { + o.BaseEndpoint = aws.String(endpoint) + } + } +} diff --git a/internal/service/bedrockagentcore/service_endpoints_gen_test.go b/internal/service/bedrockagentcore/service_endpoints_gen_test.go new file mode 100644 index 000000000000..e551cd696b45 --- /dev/null +++ b/internal/service/bedrockagentcore/service_endpoints_gen_test.go @@ -0,0 +1,602 @@ +// Code generated by internal/generate/serviceendpointtests/main.go; DO NOT EDIT. + +package bedrockagentcore_test + +import ( + "context" + "errors" + "fmt" + "maps" + "net" + "net/url" + "os" + "path/filepath" + "reflect" + "strings" + "testing" + + "github.com/aws/aws-sdk-go-v2/aws" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" + "github.com/google/go-cmp/cmp" + "github.com/hashicorp/aws-sdk-go-base/v2/servicemocks" + "github.com/hashicorp/terraform-plugin-sdk/v2/diag" + terraformsdk "github.com/hashicorp/terraform-plugin-sdk/v2/terraform" + "github.com/hashicorp/terraform-provider-aws/internal/conns" + "github.com/hashicorp/terraform-provider-aws/internal/errs" + "github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag" + "github.com/hashicorp/terraform-provider-aws/internal/provider/sdkv2" + "github.com/hashicorp/terraform-provider-aws/names" +) + +type endpointTestCase struct { + with []setupFunc + expected caseExpectations +} + +type caseSetup struct { + config map[string]any + configFile configFile + environmentVariables map[string]string +} + +type configFile struct { + baseUrl string + serviceUrl string +} + +type caseExpectations struct { + diags diag.Diagnostics + endpoint string + region string +} + +type apiCallParams struct { + endpoint string + region string +} + +type setupFunc func(setup *caseSetup) + +type callFunc func(ctx context.Context, t *testing.T, meta *conns.AWSClient) apiCallParams + +const ( + packageNameConfigEndpoint = "https://packagename-config.endpoint.test/" + awsServiceEnvvarEndpoint = "https://service-envvar.endpoint.test/" + baseEnvvarEndpoint = "https://base-envvar.endpoint.test/" + serviceConfigFileEndpoint = "https://service-configfile.endpoint.test/" + baseConfigFileEndpoint = "https://base-configfile.endpoint.test/" +) + +const ( + packageName = "bedrockagentcore" + awsEnvVar = "AWS_ENDPOINT_URL_BEDROCK_AGENTCORE_CONTROL" + baseEnvVar = "AWS_ENDPOINT_URL" + configParam = "bedrock_agentcore_control" +) + +const ( + expectedCallRegion = "us-west-2" //lintignore:AWSAT003 +) + +func TestEndpointConfiguration(t *testing.T) { //nolint:paralleltest // uses t.Setenv + ctx := t.Context() + const providerRegion = "us-west-2" //lintignore:AWSAT003 + const expectedEndpointRegion = providerRegion + + testcases := map[string]endpointTestCase{ + "no config": { + with: []setupFunc{withNoConfig}, + expected: expectDefaultEndpoint(ctx, t, expectedEndpointRegion), + }, + + // Package name endpoint on Config + + "package name endpoint config": { + with: []setupFunc{ + withPackageNameEndpointInConfig, + }, + expected: expectPackageNameConfigEndpoint(), + }, + + "package name endpoint config overrides aws service envvar": { + with: []setupFunc{ + withPackageNameEndpointInConfig, + withAwsEnvVar, + }, + expected: expectPackageNameConfigEndpoint(), + }, + + "package name endpoint config overrides base envvar": { + with: []setupFunc{ + withPackageNameEndpointInConfig, + withBaseEnvVar, + }, + expected: expectPackageNameConfigEndpoint(), + }, + + "package name endpoint config overrides service config file": { + with: []setupFunc{ + withPackageNameEndpointInConfig, + withServiceEndpointInConfigFile, + }, + expected: expectPackageNameConfigEndpoint(), + }, + + "package name endpoint config overrides base config file": { + with: []setupFunc{ + withPackageNameEndpointInConfig, + withBaseEndpointInConfigFile, + }, + expected: expectPackageNameConfigEndpoint(), + }, + + // Service endpoint in AWS envvar + + "service aws envvar": { + with: []setupFunc{ + withAwsEnvVar, + }, + expected: expectAwsEnvVarEndpoint(), + }, + + "service aws envvar overrides base envvar": { + with: []setupFunc{ + withAwsEnvVar, + withBaseEnvVar, + }, + expected: expectAwsEnvVarEndpoint(), + }, + + "service aws envvar overrides service config file": { + with: []setupFunc{ + withAwsEnvVar, + withServiceEndpointInConfigFile, + }, + expected: expectAwsEnvVarEndpoint(), + }, + + "service aws envvar overrides base config file": { + with: []setupFunc{ + withAwsEnvVar, + withBaseEndpointInConfigFile, + }, + expected: expectAwsEnvVarEndpoint(), + }, + + // Base endpoint in envvar + + "base endpoint envvar": { + with: []setupFunc{ + withBaseEnvVar, + }, + expected: expectBaseEnvVarEndpoint(), + }, + + "base endpoint envvar overrides service config file": { + with: []setupFunc{ + withBaseEnvVar, + withServiceEndpointInConfigFile, + }, + expected: expectBaseEnvVarEndpoint(), + }, + + "base endpoint envvar overrides base config file": { + with: []setupFunc{ + withBaseEnvVar, + withBaseEndpointInConfigFile, + }, + expected: expectBaseEnvVarEndpoint(), + }, + + // Service endpoint in config file + + "service config file": { + with: []setupFunc{ + withServiceEndpointInConfigFile, + }, + expected: expectServiceConfigFileEndpoint(), + }, + + "service config file overrides base config file": { + with: []setupFunc{ + withServiceEndpointInConfigFile, + withBaseEndpointInConfigFile, + }, + expected: expectServiceConfigFileEndpoint(), + }, + + // Base endpoint in config file + + "base endpoint config file": { + with: []setupFunc{ + withBaseEndpointInConfigFile, + }, + expected: expectBaseConfigFileEndpoint(), + }, + + // Use FIPS endpoint on Config + + "use fips config": { + with: []setupFunc{ + withUseFIPSInConfig, + }, + expected: expectDefaultFIPSEndpoint(ctx, t, expectedEndpointRegion), + }, + + "use fips config with package name endpoint config": { + with: []setupFunc{ + withUseFIPSInConfig, + withPackageNameEndpointInConfig, + }, + expected: expectPackageNameConfigEndpoint(), + }, + } + + for name, testcase := range testcases { //nolint:paralleltest // uses t.Setenv + t.Run(name, func(t *testing.T) { + testEndpointCase(ctx, t, providerRegion, testcase, callService) + }) + } +} + +func defaultEndpoint(ctx context.Context, region string) (url.URL, error) { + r := bedrockagentcorecontrol.NewDefaultEndpointResolverV2() + + ep, err := r.ResolveEndpoint(ctx, bedrockagentcorecontrol.EndpointParameters{ + Region: aws.String(region), + }) + if err != nil { + return url.URL{}, err + } + + if ep.URI.Path == "" { + ep.URI.Path = "/" + } + + return ep.URI, nil +} + +func defaultFIPSEndpoint(ctx context.Context, region string) (url.URL, error) { + r := bedrockagentcorecontrol.NewDefaultEndpointResolverV2() + + ep, err := r.ResolveEndpoint(ctx, bedrockagentcorecontrol.EndpointParameters{ + Region: aws.String(region), + UseFIPS: aws.Bool(true), + }) + if err != nil { + return url.URL{}, err + } + + if ep.URI.Path == "" { + ep.URI.Path = "/" + } + + return ep.URI, nil +} + +func callService(ctx context.Context, t *testing.T, meta *conns.AWSClient) apiCallParams { + t.Helper() + + client := meta.BedrockAgentCoreClient(ctx) + + var result apiCallParams + + input := bedrockagentcorecontrol.ListAgentRuntimesInput{} + _, err := client.ListAgentRuntimes(ctx, &input, + func(opts *bedrockagentcorecontrol.Options) { + opts.APIOptions = append(opts.APIOptions, + addRetrieveEndpointURLMiddleware(t, &result.endpoint), + addRetrieveRegionMiddleware(&result.region), + addCancelRequestMiddleware(), + ) + }, + ) + if err == nil { + t.Fatal("Expected an error, got none") + } else if !errors.Is(err, errCancelOperation) { + t.Fatalf("Unexpected error: %s", err) + } + + return result +} + +func withNoConfig(_ *caseSetup) { + // no-op +} + +func withPackageNameEndpointInConfig(setup *caseSetup) { + if _, ok := setup.config[names.AttrEndpoints]; !ok { + setup.config[names.AttrEndpoints] = []any{ + map[string]any{}, + } + } + endpoints := setup.config[names.AttrEndpoints].([]any)[0].(map[string]any) + endpoints[packageName] = packageNameConfigEndpoint +} + +func withAwsEnvVar(setup *caseSetup) { + setup.environmentVariables[awsEnvVar] = awsServiceEnvvarEndpoint +} + +func withBaseEnvVar(setup *caseSetup) { + setup.environmentVariables[baseEnvVar] = baseEnvvarEndpoint +} + +func withServiceEndpointInConfigFile(setup *caseSetup) { + setup.configFile.serviceUrl = serviceConfigFileEndpoint +} + +func withBaseEndpointInConfigFile(setup *caseSetup) { + setup.configFile.baseUrl = baseConfigFileEndpoint +} + +func withUseFIPSInConfig(setup *caseSetup) { + setup.config["use_fips_endpoint"] = true +} + +func expectDefaultEndpoint(ctx context.Context, t *testing.T, region string) caseExpectations { + t.Helper() + + endpoint, err := defaultEndpoint(ctx, region) + if err != nil { + t.Fatalf("resolving accessanalyzer default endpoint: %s", err) + } + + return caseExpectations{ + endpoint: endpoint.String(), + region: expectedCallRegion, + } +} + +func expectDefaultFIPSEndpoint(ctx context.Context, t *testing.T, region string) caseExpectations { + t.Helper() + + endpoint, err := defaultFIPSEndpoint(ctx, region) + if err != nil { + t.Fatalf("resolving accessanalyzer FIPS endpoint: %s", err) + } + + hostname := endpoint.Hostname() + _, err = net.LookupHost(hostname) + if dnsErr, ok := errs.As[*net.DNSError](err); ok && dnsErr.IsNotFound { + return expectDefaultEndpoint(ctx, t, region) + } else if err != nil { + t.Fatalf("looking up accessanalyzer endpoint %q: %s", hostname, err) + } + + return caseExpectations{ + endpoint: endpoint.String(), + region: expectedCallRegion, + } +} + +func expectPackageNameConfigEndpoint() caseExpectations { + return caseExpectations{ + endpoint: packageNameConfigEndpoint, + region: expectedCallRegion, + } +} + +func expectAwsEnvVarEndpoint() caseExpectations { + return caseExpectations{ + endpoint: awsServiceEnvvarEndpoint, + region: expectedCallRegion, + } +} + +func expectBaseEnvVarEndpoint() caseExpectations { + return caseExpectations{ + endpoint: baseEnvvarEndpoint, + region: expectedCallRegion, + } +} + +func expectServiceConfigFileEndpoint() caseExpectations { + return caseExpectations{ + endpoint: serviceConfigFileEndpoint, + region: expectedCallRegion, + } +} + +func expectBaseConfigFileEndpoint() caseExpectations { + return caseExpectations{ + endpoint: baseConfigFileEndpoint, + region: expectedCallRegion, + } +} + +func testEndpointCase(ctx context.Context, t *testing.T, region string, testcase endpointTestCase, callF callFunc) { + t.Helper() + + setup := caseSetup{ + config: map[string]any{}, + environmentVariables: map[string]string{}, + } + + for _, f := range testcase.with { + f(&setup) + } + + config := map[string]any{ + names.AttrAccessKey: servicemocks.MockStaticAccessKey, + names.AttrSecretKey: servicemocks.MockStaticSecretKey, + names.AttrRegion: region, + names.AttrSkipCredentialsValidation: true, + names.AttrSkipRequestingAccountID: true, + } + + maps.Copy(config, setup.config) + + if setup.configFile.baseUrl != "" || setup.configFile.serviceUrl != "" { + config[names.AttrProfile] = "default" + tempDir := t.TempDir() + writeSharedConfigFile(t, &config, tempDir, generateSharedConfigFile(setup.configFile)) + } + + for k, v := range setup.environmentVariables { + t.Setenv(k, v) + } + + p, err := sdkv2.NewProvider(ctx) + if err != nil { + t.Fatal(err) + } + + p.TerraformVersion = "1.0.0" + + expectedDiags := testcase.expected.diags + diags := p.Configure(ctx, terraformsdk.NewResourceConfigRaw(config)) + + if diff := cmp.Diff(diags, expectedDiags, cmp.Comparer(sdkdiag.Comparer)); diff != "" { + t.Errorf("unexpected diagnostics difference: %s", diff) + } + + if diags.HasError() { + return + } + + meta := p.Meta().(*conns.AWSClient) + + callParams := callF(ctx, t, meta) + + if e, a := testcase.expected.endpoint, callParams.endpoint; e != a { + t.Errorf("expected endpoint %q, got %q", e, a) + } + + if e, a := testcase.expected.region, callParams.region; e != a { + t.Errorf("expected region %q, got %q", e, a) + } +} + +func addRetrieveEndpointURLMiddleware(t *testing.T, endpoint *string) func(*middleware.Stack) error { + return func(stack *middleware.Stack) error { + return stack.Finalize.Add( + retrieveEndpointURLMiddleware(t, endpoint), + middleware.After, + ) + } +} + +func retrieveEndpointURLMiddleware(t *testing.T, endpoint *string) middleware.FinalizeMiddleware { + return middleware.FinalizeMiddlewareFunc( + "Test: Retrieve Endpoint", + func(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (middleware.FinalizeOutput, middleware.Metadata, error) { + t.Helper() + + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + t.Fatalf("Expected *github.com/aws/smithy-go/transport/http.Request, got %s", fullTypeName(in.Request)) + } + + url := request.URL + url.RawQuery = "" + url.Path = "/" + + *endpoint = url.String() + + return next.HandleFinalize(ctx, in) + }) +} + +func addRetrieveRegionMiddleware(region *string) func(*middleware.Stack) error { + return func(stack *middleware.Stack) error { + return stack.Serialize.Add( + retrieveRegionMiddleware(region), + middleware.After, + ) + } +} + +func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { + return middleware.SerializeMiddlewareFunc( + "Test: Retrieve Region", + func(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (middleware.SerializeOutput, middleware.Metadata, error) { + *region = awsmiddleware.GetRegion(ctx) + + return next.HandleSerialize(ctx, in) + }, + ) +} + +var errCancelOperation = fmt.Errorf("Test: Canceling request") + +func addCancelRequestMiddleware() func(*middleware.Stack) error { + return func(stack *middleware.Stack) error { + return stack.Finalize.Add( + cancelRequestMiddleware(), + middleware.After, + ) + } +} + +// cancelRequestMiddleware creates a Smithy middleware that intercepts the request before sending and cancels it +func cancelRequestMiddleware() middleware.FinalizeMiddleware { + return middleware.FinalizeMiddlewareFunc( + "Test: Cancel Requests", + func(_ context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (middleware.FinalizeOutput, middleware.Metadata, error) { + return middleware.FinalizeOutput{}, middleware.Metadata{}, errCancelOperation + }) +} + +func fullTypeName(i any) string { + return fullValueTypeName(reflect.ValueOf(i)) +} + +func fullValueTypeName(v reflect.Value) string { + if v.Kind() == reflect.Ptr { + return "*" + fullValueTypeName(reflect.Indirect(v)) + } + + requestType := v.Type() + return fmt.Sprintf("%s.%s", requestType.PkgPath(), requestType.Name()) +} + +func generateSharedConfigFile(config configFile) string { + var buf strings.Builder + + buf.WriteString(` +[default] +aws_access_key_id = DefaultSharedCredentialsAccessKey +aws_secret_access_key = DefaultSharedCredentialsSecretKey +`) + if config.baseUrl != "" { + fmt.Fprintf(&buf, "endpoint_url = %s\n", config.baseUrl) + } + + if config.serviceUrl != "" { + fmt.Fprintf(&buf, ` +services = endpoint-test + +[services endpoint-test] +%[1]s = + endpoint_url = %[2]s +`, configParam, serviceConfigFileEndpoint) + } + + return buf.String() +} + +func writeSharedConfigFile(t *testing.T, config *map[string]any, tempDir, content string) string { + t.Helper() + + file, err := os.Create(filepath.Join(tempDir, "aws-sdk-go-base-shared-configuration-file")) + if err != nil { + t.Fatalf("creating shared configuration file: %s", err) + } + + _, err = file.WriteString(content) + if err != nil { + t.Fatalf(" writing shared configuration file: %s", err) + } + + if v, ok := (*config)[names.AttrSharedConfigFiles]; !ok { + (*config)[names.AttrSharedConfigFiles] = []any{file.Name()} + } else { + (*config)[names.AttrSharedConfigFiles] = append(v.([]any), file.Name()) + } + + return file.Name() +} diff --git a/internal/service/bedrockagentcore/service_package_gen.go b/internal/service/bedrockagentcore/service_package_gen.go new file mode 100644 index 000000000000..0561f94c21ca --- /dev/null +++ b/internal/service/bedrockagentcore/service_package_gen.go @@ -0,0 +1,88 @@ +// Code generated by internal/generate/servicepackage/main.go; DO NOT EDIT. + +package bedrockagentcore + +import ( + "context" + + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/aws/retry" + "github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol" + "github.com/hashicorp/terraform-plugin-log/tflog" + "github.com/hashicorp/terraform-provider-aws/internal/conns" + inttypes "github.com/hashicorp/terraform-provider-aws/internal/types" + "github.com/hashicorp/terraform-provider-aws/internal/vcr" + "github.com/hashicorp/terraform-provider-aws/names" +) + +type servicePackage struct{} + +func (p *servicePackage) FrameworkDataSources(ctx context.Context) []*inttypes.ServicePackageFrameworkDataSource { + return []*inttypes.ServicePackageFrameworkDataSource{} +} + +func (p *servicePackage) FrameworkResources(ctx context.Context) []*inttypes.ServicePackageFrameworkResource { + return []*inttypes.ServicePackageFrameworkResource{} +} + +func (p *servicePackage) SDKDataSources(ctx context.Context) []*inttypes.ServicePackageSDKDataSource { + return []*inttypes.ServicePackageSDKDataSource{} +} + +func (p *servicePackage) SDKResources(ctx context.Context) []*inttypes.ServicePackageSDKResource { + return []*inttypes.ServicePackageSDKResource{} +} + +func (p *servicePackage) ServicePackageName() string { + return names.BedrockAgentCore +} + +// NewClient returns a new AWS SDK for Go v2 client for this service package's AWS API. +func (p *servicePackage) NewClient(ctx context.Context, config map[string]any) (*bedrockagentcorecontrol.Client, error) { + cfg := *(config["aws_sdkv2_config"].(*aws.Config)) + optFns := []func(*bedrockagentcorecontrol.Options){ + bedrockagentcorecontrol.WithEndpointResolverV2(newEndpointResolverV2()), + withBaseEndpoint(config[names.AttrEndpoint].(string)), + func(o *bedrockagentcorecontrol.Options) { + if region := config[names.AttrRegion].(string); o.Region != region { + tflog.Info(ctx, "overriding provider-configured AWS API region", map[string]any{ + "service": p.ServicePackageName(), + "original_region": o.Region, + "override_region": region, + }) + o.Region = region + } + }, + func(o *bedrockagentcorecontrol.Options) { + if inContext, ok := conns.FromContext(ctx); ok && inContext.VCREnabled() { + tflog.Info(ctx, "overriding retry behavior to immediately return VCR errors") + o.Retryer = conns.AddIsErrorRetryables(cfg.Retryer().(aws.RetryerV2), retry.IsErrorRetryableFunc(vcr.InteractionNotFoundRetryableFunc)) + } + }, + withExtraOptions(ctx, p, config), + } + + return bedrockagentcorecontrol.NewFromConfig(cfg, optFns...), nil +} + +// withExtraOptions returns a functional option that allows this service package to specify extra API client options. +// This option is always called after any generated options. +func withExtraOptions(ctx context.Context, sp conns.ServicePackage, config map[string]any) func(*bedrockagentcorecontrol.Options) { + if v, ok := sp.(interface { + withExtraOptions(context.Context, map[string]any) []func(*bedrockagentcorecontrol.Options) + }); ok { + optFns := v.withExtraOptions(ctx, config) + + return func(o *bedrockagentcorecontrol.Options) { + for _, optFn := range optFns { + optFn(o) + } + } + } + + return func(*bedrockagentcorecontrol.Options) {} +} + +func ServicePackage(ctx context.Context) conns.ServicePackage { + return &servicePackage{} +} diff --git a/internal/sweep/service_packages_gen_test.go b/internal/sweep/service_packages_gen_test.go index b441c7f491b5..95e985bfbe2a 100644 --- a/internal/sweep/service_packages_gen_test.go +++ b/internal/sweep/service_packages_gen_test.go @@ -35,6 +35,7 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/service/bcmdataexports" "github.com/hashicorp/terraform-provider-aws/internal/service/bedrock" "github.com/hashicorp/terraform-provider-aws/internal/service/bedrockagent" + "github.com/hashicorp/terraform-provider-aws/internal/service/bedrockagentcore" "github.com/hashicorp/terraform-provider-aws/internal/service/billing" "github.com/hashicorp/terraform-provider-aws/internal/service/budgets" "github.com/hashicorp/terraform-provider-aws/internal/service/ce" @@ -292,6 +293,7 @@ func servicePackages(ctx context.Context) []conns.ServicePackage { bcmdataexports.ServicePackage(ctx), bedrock.ServicePackage(ctx), bedrockagent.ServicePackage(ctx), + bedrockagentcore.ServicePackage(ctx), billing.ServicePackage(ctx), budgets.ServicePackage(ctx), ce.ServicePackage(ctx), diff --git a/names/consts_gen.go b/names/consts_gen.go index cafbb5b6cb00..bdb4e6242568 100644 --- a/names/consts_gen.go +++ b/names/consts_gen.go @@ -30,6 +30,7 @@ const ( Batch = "batch" Bedrock = "bedrock" BedrockAgent = "bedrockagent" + BedrockAgentCore = "bedrockagentcore" Billing = "billing" Budgets = "budgets" CE = "ce" @@ -287,6 +288,7 @@ const ( BatchServiceID = "Batch" BedrockServiceID = "Bedrock" BedrockAgentServiceID = "Bedrock Agent" + BedrockAgentCoreServiceID = "Bedrock AgentCore Control" BillingServiceID = "Billing" BudgetsServiceID = "Budgets" CEServiceID = "Cost Explorer" diff --git a/names/data/names_data.hcl b/names/data/names_data.hcl index f0f9bf00cb8e..da2600fbf852 100644 --- a/names/data/names_data.hcl +++ b/names/data/names_data.hcl @@ -875,6 +875,39 @@ service "bedrockagent" { brand = "Amazon" } +service "bedrockagentcore" { + cli_v2_command { + aws_cli_v2_command = "bedrock-agentcore-control" + aws_cli_v2_command_no_dashes = "bedrockagentcorecontrol" + } + + go_packages { + v2_package = "bedrockagentcorecontrol" + } + + sdk { + id = "Bedrock AgentCore Control" + arn_namespace = "bedrock-agentcore" + } + + names { + provider_name_upper = "BedrockAgentCore" + human_friendly = "Bedrock AgentCore" + } + + endpoint_info { + endpoint_api_call = "ListAgentRuntimes" + } + + resource_prefix { + correct = "aws_bedrockagentcore_" + } + + provider_package_correct = "bedrockagentcore" + doc_prefix = ["bedrockagentcore_"] + brand = "Amazon" +} + service "bcmdataexports" { sdk { id = "BCM Data Exports" diff --git a/tools/tfsdk2fw/go.mod b/tools/tfsdk2fw/go.mod index 8e2ecdf2cd3b..b4140d7c5ff7 100644 --- a/tools/tfsdk2fw/go.mod +++ b/tools/tfsdk2fw/go.mod @@ -318,7 +318,7 @@ require ( github.com/hashicorp/logutils v1.0.0 // indirect github.com/hashicorp/terraform-exec v0.23.0 // indirect github.com/hashicorp/terraform-json v0.25.0 // indirect - github.com/hashicorp/terraform-plugin-framework v1.15.0 // indirect + github.com/hashicorp/terraform-plugin-framework v1.15.1 // indirect github.com/hashicorp/terraform-plugin-framework-jsontypes v0.2.0 // indirect github.com/hashicorp/terraform-plugin-framework-timeouts v0.5.0 // indirect github.com/hashicorp/terraform-plugin-framework-timetypes v0.5.0 // indirect diff --git a/tools/tfsdk2fw/go.sum b/tools/tfsdk2fw/go.sum index 19860a7b9a4f..b061abbdcd8e 100644 --- a/tools/tfsdk2fw/go.sum +++ b/tools/tfsdk2fw/go.sum @@ -660,6 +660,7 @@ github.com/hashicorp/terraform-json v0.25.0 h1:rmNqc/CIfcWawGiwXmRuiXJKEiJu1ntGo github.com/hashicorp/terraform-json v0.25.0/go.mod h1:sMKS8fiRDX4rVlR6EJUMudg1WcanxCMoWwTLkgZP/vc= github.com/hashicorp/terraform-plugin-framework v1.15.0 h1:LQ2rsOfmDLxcn5EeIwdXFtr03FVsNktbbBci8cOKdb4= github.com/hashicorp/terraform-plugin-framework v1.15.0/go.mod h1:hxrNI/GY32KPISpWqlCoTLM9JZsGH3CyYlir09bD/fI= +github.com/hashicorp/terraform-plugin-framework v1.15.1/go.mod h1:hxrNI/GY32KPISpWqlCoTLM9JZsGH3CyYlir09bD/fI= github.com/hashicorp/terraform-plugin-framework-jsontypes v0.2.0 h1:SJXL5FfJJm17554Kpt9jFXngdM6fXbnUnZ6iT2IeiYA= github.com/hashicorp/terraform-plugin-framework-jsontypes v0.2.0/go.mod h1:p0phD0IYhsu9bR4+6OetVvvH59I6LwjXGnTVEr8ox6E= github.com/hashicorp/terraform-plugin-framework-timeouts v0.5.0 h1:I/N0g/eLZ1ZkLZXUQ0oRSXa8YG/EF0CEuQP1wXdrzKw= diff --git a/website/allowed-subcategories.txt b/website/allowed-subcategories.txt index 841dd34234a8..36c1480daafd 100644 --- a/website/allowed-subcategories.txt +++ b/website/allowed-subcategories.txt @@ -26,6 +26,7 @@ BCM Data Exports Backup Batch Bedrock +Bedrock AgentCore Bedrock Agents Billing CE (Cost Explorer) diff --git a/website/docs/guides/custom-service-endpoints.html.markdown b/website/docs/guides/custom-service-endpoints.html.markdown index 973f1110da8b..0c39dbc8bbe1 100644 --- a/website/docs/guides/custom-service-endpoints.html.markdown +++ b/website/docs/guides/custom-service-endpoints.html.markdown @@ -111,6 +111,7 @@ provider "aws" { |BCM Data Exports|`bcmdataexports`|`AWS_ENDPOINT_URL_BCM_DATA_EXPORTS`|`bcm_data_exports`| |Bedrock|`bedrock`|`AWS_ENDPOINT_URL_BEDROCK`|`bedrock`| |Bedrock Agents|`bedrockagent`|`AWS_ENDPOINT_URL_BEDROCK_AGENT`|`bedrock_agent`| +|Bedrock AgentCore|`bedrockagentcore`|`AWS_ENDPOINT_URL_BEDROCK_AGENTCORE_CONTROL`|`bedrock_agentcore_control`| |Billing|`billing`|`AWS_ENDPOINT_URL_BILLING`|`billing`| |Web Services Budgets|`budgets`|`AWS_ENDPOINT_URL_BUDGETS`|`budgets`| |CE (Cost Explorer)|`ce`(or `costexplorer`)|`AWS_ENDPOINT_URL_COST_EXPLORER`|`cost_explorer`| From bbd98236a5b6628a983a2c1d57dde3f46c9a6bb4 Mon Sep 17 00:00:00 2001 From: Stefan Freitag Date: Mon, 4 Aug 2025 13:56:27 +0200 Subject: [PATCH 0262/1301] remove max limit from regular expression argument --- internal/service/wafv2/regex_pattern_set.go | 1 - website/docs/r/wafv2_regex_pattern_set.html.markdown | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/internal/service/wafv2/regex_pattern_set.go b/internal/service/wafv2/regex_pattern_set.go index 64d259211293..ebbdf94a7cc5 100644 --- a/internal/service/wafv2/regex_pattern_set.go +++ b/internal/service/wafv2/regex_pattern_set.go @@ -94,7 +94,6 @@ func resourceRegexPatternSet() *schema.Resource { "regular_expression": { Type: schema.TypeSet, Optional: true, - MaxItems: 10, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ "regex_string": { diff --git a/website/docs/r/wafv2_regex_pattern_set.html.markdown b/website/docs/r/wafv2_regex_pattern_set.html.markdown index 8921d27f5dae..71c2b55a2c9f 100644 --- a/website/docs/r/wafv2_regex_pattern_set.html.markdown +++ b/website/docs/r/wafv2_regex_pattern_set.html.markdown @@ -42,7 +42,7 @@ This resource supports the following arguments: * `name_prefix` - (Optional) Creates a unique name beginning with the specified prefix. Conflicts with `name`. * `description` - (Optional) A friendly description of the regular expression pattern set. * `scope` - (Required) Specifies whether this is for an AWS CloudFront distribution or for a regional application. Valid values are `CLOUDFRONT` or `REGIONAL`. To work with CloudFront, you must also specify the region `us-east-1` (N. Virginia) on the AWS provider. -* `regular_expression` - (Optional) One or more blocks of regular expression patterns that you want AWS WAF to search for, such as `B[a@]dB[o0]t`. See [Regular Expression](#regular-expression) below for details. A maximum of 10 `regular_expression` blocks may be specified. +* `regular_expression` - (Optional) One or more blocks of regular expression patterns that you want AWS WAF to search for, such as `B[a@]dB[o0]t`. See [Regular Expression](#regular-expression) below for details. * `tags` - (Optional) An array of key:value pairs to associate with the resource. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. ### Regular Expression From 5785a714f83a641ba255c090b148ce84fbc51f1c Mon Sep 17 00:00:00 2001 From: Tabito Hara <105637744+tabito-hara@users.noreply.github.com> Date: Mon, 4 Aug 2025 22:16:37 +0900 Subject: [PATCH 0263/1301] Update website/docs/d/eks_cluster_versions.html.markdown Co-authored-by: Kit Ewbank --- website/docs/d/eks_cluster_versions.html.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/website/docs/d/eks_cluster_versions.html.markdown b/website/docs/d/eks_cluster_versions.html.markdown index 6fcae8779c73..f363e7c612ec 100644 --- a/website/docs/d/eks_cluster_versions.html.markdown +++ b/website/docs/d/eks_cluster_versions.html.markdown @@ -63,7 +63,6 @@ Valid values are `STANDARD_SUPPORT` or `UNSUPPORTED` or `EXTENDED_SUPPORT`. This data source exports the following attributes in addition to the arguments above: * `cluster_versions` - A list of Kubernetes version information. - * `cluster_type` - Type of cluster that the version belongs to. * `cluster_version` - Kubernetes version supported by EKS. * `default_platform_version` - Default eks platform version for the cluster version. From 0924373b48b66192abae3f86ccc9e37bc6b39d05 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Mon, 4 Aug 2025 09:48:41 -0400 Subject: [PATCH 0264/1301] Tweak CHANGELOG entry. --- .changelog/43661.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changelog/43661.txt b/.changelog/43661.txt index 0d46574d8826..b06b5906836a 100644 --- a/.changelog/43661.txt +++ b/.changelog/43661.txt @@ -1,3 +1,3 @@ ```release-note:bug -resource/aws_ec2_managed_prefix_list: Fix PrefixListVersionMismatch error when updating entry descriptions +resource/aws_ec2_managed_prefix_list: Fix `PrefixListVersionMismatch: The prefix list has the incorrect version number` errors when updating entry description ``` \ No newline at end of file From c20071010a10da4e357cae03463c36db9de7d0da Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Mon, 4 Aug 2025 10:10:45 -0400 Subject: [PATCH 0265/1301] chore: make clean-tidy --- tools/tfsdk2fw/go.mod | 22 +++++++++++----------- tools/tfsdk2fw/go.sum | 44 +++++++++++++++++++++---------------------- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/tools/tfsdk2fw/go.mod b/tools/tfsdk2fw/go.mod index 8e2ecdf2cd3b..d0822178fe3e 100644 --- a/tools/tfsdk2fw/go.mod +++ b/tools/tfsdk2fw/go.mod @@ -31,7 +31,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.41.1 // indirect github.com/aws/aws-sdk-go-v2/service/account v1.25.1 // indirect github.com/aws/aws-sdk-go-v2/service/acm v1.34.1 // indirect - github.com/aws/aws-sdk-go-v2/service/acmpca v1.41.1 // indirect + github.com/aws/aws-sdk-go-v2/service/acmpca v1.41.2 // indirect github.com/aws/aws-sdk-go-v2/service/amp v1.35.1 // indirect github.com/aws/aws-sdk-go-v2/service/amplify v1.34.1 // indirect github.com/aws/aws-sdk-go-v2/service/apigateway v1.32.1 // indirect @@ -48,7 +48,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/appstream v1.46.1 // indirect github.com/aws/aws-sdk-go-v2/service/appsync v1.48.1 // indirect github.com/aws/aws-sdk-go-v2/service/athena v1.52.1 // indirect - github.com/aws/aws-sdk-go-v2/service/auditmanager v1.41.1 // indirect + github.com/aws/aws-sdk-go-v2/service/auditmanager v1.42.0 // indirect github.com/aws/aws-sdk-go-v2/service/autoscaling v1.55.1 // indirect github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.26.1 // indirect github.com/aws/aws-sdk-go-v2/service/backup v1.44.1 // indirect @@ -142,9 +142,9 @@ require ( github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.31.1 // indirect github.com/aws/aws-sdk-go-v2/service/glue v1.121.0 // indirect github.com/aws/aws-sdk-go-v2/service/grafana v1.28.1 // indirect - github.com/aws/aws-sdk-go-v2/service/greengrass v1.29.1 // indirect + github.com/aws/aws-sdk-go-v2/service/greengrass v1.29.2 // indirect github.com/aws/aws-sdk-go-v2/service/groundstation v1.34.1 // indirect - github.com/aws/aws-sdk-go-v2/service/guardduty v1.58.1 // indirect + github.com/aws/aws-sdk-go-v2/service/guardduty v1.58.2 // indirect github.com/aws/aws-sdk-go-v2/service/healthlake v1.31.1 // indirect github.com/aws/aws-sdk-go-v2/service/iam v1.44.1 // indirect github.com/aws/aws-sdk-go-v2/service/identitystore v1.29.1 // indirect @@ -158,7 +158,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.1 // indirect github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.22.1 // indirect github.com/aws/aws-sdk-go-v2/service/invoicing v1.3.1 // indirect - github.com/aws/aws-sdk-go-v2/service/iot v1.66.0 // indirect + github.com/aws/aws-sdk-go-v2/service/iot v1.66.1 // indirect github.com/aws/aws-sdk-go-v2/service/ivs v1.44.1 // indirect github.com/aws/aws-sdk-go-v2/service/ivschat v1.18.1 // indirect github.com/aws/aws-sdk-go-v2/service/kafka v1.40.1 // indirect @@ -168,7 +168,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/kinesis v1.36.1 // indirect github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.27.1 // indirect github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.33.1 // indirect - github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.29.1 // indirect + github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.29.2 // indirect github.com/aws/aws-sdk-go-v2/service/kms v1.42.1 // indirect github.com/aws/aws-sdk-go-v2/service/lakeformation v1.42.1 // indirect github.com/aws/aws-sdk-go-v2/service/lambda v1.74.1 // indirect @@ -176,7 +176,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.30.1 // indirect github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.53.1 // indirect github.com/aws/aws-sdk-go-v2/service/licensemanager v1.33.1 // indirect - github.com/aws/aws-sdk-go-v2/service/lightsail v1.44.1 // indirect + github.com/aws/aws-sdk-go-v2/service/lightsail v1.45.0 // indirect github.com/aws/aws-sdk-go-v2/service/location v1.46.1 // indirect github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.33.1 // indirect github.com/aws/aws-sdk-go-v2/service/m2 v1.22.1 // indirect @@ -208,7 +208,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/outposts v1.53.1 // indirect github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.20.1 // indirect github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.12.1 // indirect - github.com/aws/aws-sdk-go-v2/service/pcs v1.7.1 // indirect + github.com/aws/aws-sdk-go-v2/service/pcs v1.8.0 // indirect github.com/aws/aws-sdk-go-v2/service/pinpoint v1.36.1 // indirect github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.21.1 // indirect github.com/aws/aws-sdk-go-v2/service/pipes v1.20.1 // indirect @@ -245,7 +245,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/scheduler v1.14.1 // indirect github.com/aws/aws-sdk-go-v2/service/schemas v1.30.1 // indirect github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.36.1 // indirect - github.com/aws/aws-sdk-go-v2/service/securityhub v1.59.1 // indirect + github.com/aws/aws-sdk-go-v2/service/securityhub v1.60.0 // indirect github.com/aws/aws-sdk-go-v2/service/securitylake v1.21.1 // indirect github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.26.1 // indirect github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.35.1 // indirect @@ -257,7 +257,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/sfn v1.36.1 // indirect github.com/aws/aws-sdk-go-v2/service/shield v1.31.1 // indirect github.com/aws/aws-sdk-go-v2/service/signer v1.28.1 // indirect - github.com/aws/aws-sdk-go-v2/service/sns v1.35.1 // indirect + github.com/aws/aws-sdk-go-v2/service/sns v1.35.2 // indirect github.com/aws/aws-sdk-go-v2/service/sqs v1.39.1 // indirect github.com/aws/aws-sdk-go-v2/service/ssm v1.61.1 // indirect github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.28.1 // indirect @@ -318,7 +318,7 @@ require ( github.com/hashicorp/logutils v1.0.0 // indirect github.com/hashicorp/terraform-exec v0.23.0 // indirect github.com/hashicorp/terraform-json v0.25.0 // indirect - github.com/hashicorp/terraform-plugin-framework v1.15.0 // indirect + github.com/hashicorp/terraform-plugin-framework v1.15.1 // indirect github.com/hashicorp/terraform-plugin-framework-jsontypes v0.2.0 // indirect github.com/hashicorp/terraform-plugin-framework-timeouts v0.5.0 // indirect github.com/hashicorp/terraform-plugin-framework-timetypes v0.5.0 // indirect diff --git a/tools/tfsdk2fw/go.sum b/tools/tfsdk2fw/go.sum index 19860a7b9a4f..ef6d7631da22 100644 --- a/tools/tfsdk2fw/go.sum +++ b/tools/tfsdk2fw/go.sum @@ -49,8 +49,8 @@ github.com/aws/aws-sdk-go-v2/service/account v1.25.1 h1:FmkAacg5OYFEMLXpCa5NWLvQ github.com/aws/aws-sdk-go-v2/service/account v1.25.1/go.mod h1:QSb7ynpJNa+VKXHxmWN+rs3ByfBGs+p0SAoPFxX67aE= github.com/aws/aws-sdk-go-v2/service/acm v1.34.1 h1:bbwYpBRLNjE55qY4Mb0fnkPKeAmyaCk+ycGuOeI4r9Y= github.com/aws/aws-sdk-go-v2/service/acm v1.34.1/go.mod h1:mZqY4hx40BypyT3Qm4FWpIoSdkauoV1EUDk/3ByQSuk= -github.com/aws/aws-sdk-go-v2/service/acmpca v1.41.1 h1:YQRAmjHJd08P0/1ADX386WVr2SgOlHX5epQ1LGOzG54= -github.com/aws/aws-sdk-go-v2/service/acmpca v1.41.1/go.mod h1:kZGFX2gboWjbnAuuKVLXB+S/TQ8AcY9Q9hWzcJrhink= +github.com/aws/aws-sdk-go-v2/service/acmpca v1.41.2 h1:CGEnYec9EM2uhrwzhXnevW8UhWh4ciX8cQpL3/0D3FE= +github.com/aws/aws-sdk-go-v2/service/acmpca v1.41.2/go.mod h1:kZGFX2gboWjbnAuuKVLXB+S/TQ8AcY9Q9hWzcJrhink= github.com/aws/aws-sdk-go-v2/service/amp v1.35.1 h1:5p9HHs0vsAaDn5sWSu6eH76iw6xnPRw7h+M3J5u8wp8= github.com/aws/aws-sdk-go-v2/service/amp v1.35.1/go.mod h1:bKEb2NoSPx/F+m6gzuyuQwYrP1jVWxoEsp8dJaroviY= github.com/aws/aws-sdk-go-v2/service/amplify v1.34.1 h1:Av8JqcN88qS1bsfxT7Sdc3V/teB3/RjtTOo3MBU5N6M= @@ -83,8 +83,8 @@ github.com/aws/aws-sdk-go-v2/service/appsync v1.48.1 h1:ZDL25UdJ53x6+HRznXwBcgoZ github.com/aws/aws-sdk-go-v2/service/appsync v1.48.1/go.mod h1:E8yfHHkF3MIWOWRmvopbeK8wfCkeiNIqQ5f8G7fPaO4= github.com/aws/aws-sdk-go-v2/service/athena v1.52.1 h1:5rNoigvi9hF3zv7e8hI5l+iY5KAwKklcZCgpAh56JKI= github.com/aws/aws-sdk-go-v2/service/athena v1.52.1/go.mod h1:Xu33b8kDuxb2omK+SUaQfbJh48c0QA7t08ne92DvTOM= -github.com/aws/aws-sdk-go-v2/service/auditmanager v1.41.1 h1:Qwhpy/ijOSxxI/V+je0qsHdxbqbDfBWR6MQ3HJF6BEs= -github.com/aws/aws-sdk-go-v2/service/auditmanager v1.41.1/go.mod h1:EarhE4+FhGV6sYnrDvsw7z4+pYSY9zX2xlkbuetUVmg= +github.com/aws/aws-sdk-go-v2/service/auditmanager v1.42.0 h1:qQyzQj7ckTHNSsLzPhxPTvnHETTOExpltPon803jC94= +github.com/aws/aws-sdk-go-v2/service/auditmanager v1.42.0/go.mod h1:EarhE4+FhGV6sYnrDvsw7z4+pYSY9zX2xlkbuetUVmg= github.com/aws/aws-sdk-go-v2/service/autoscaling v1.55.1 h1:zX6/huIuV5ldMXSiVVdmRT2oO1M+xNLzdt0du0QuhVE= github.com/aws/aws-sdk-go-v2/service/autoscaling v1.55.1/go.mod h1:KWk5jIp+F7eu9vjz6g/UdeIk5FX2zw7zllkf8EwmHjM= github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.26.1 h1:CkI6bqB4xGt4i8WFa4VPqkSS+2pnclSY4Zo0dwuplkE= @@ -271,12 +271,12 @@ github.com/aws/aws-sdk-go-v2/service/glue v1.121.0 h1:b+B71JBhFSVOifMMcnilfqPcrs github.com/aws/aws-sdk-go-v2/service/glue v1.121.0/go.mod h1:GrfuFuhLuhdZy8Tx0W29A6avb0+Xey8DDS0izAj3/gY= github.com/aws/aws-sdk-go-v2/service/grafana v1.28.1 h1:xef5GSQwdnBBEodb67YGYE7CanW5uuQyI/8q+rMs6IE= github.com/aws/aws-sdk-go-v2/service/grafana v1.28.1/go.mod h1:wejuc0EF416jLYLVi4yyRZiZLtBwIPHR+L0fUnTlMeU= -github.com/aws/aws-sdk-go-v2/service/greengrass v1.29.1 h1:OiVM4eAVc1Ixumpnf4wQTJVHGA01qjzZlvaisWUBx08= -github.com/aws/aws-sdk-go-v2/service/greengrass v1.29.1/go.mod h1:ctd0N/Z5NBrVk8DRHDnVPDGXLYgEIw1UvG2ia2Tgbvg= +github.com/aws/aws-sdk-go-v2/service/greengrass v1.29.2 h1:sUwdjTF+gsxgeQ5EDloohEfrridf46LAv4liH11CSiE= +github.com/aws/aws-sdk-go-v2/service/greengrass v1.29.2/go.mod h1:ctd0N/Z5NBrVk8DRHDnVPDGXLYgEIw1UvG2ia2Tgbvg= github.com/aws/aws-sdk-go-v2/service/groundstation v1.34.1 h1:dMBjI+4ScXf5fIeYI+70DHxC35hknZUYs2/u2ou9BZ0= github.com/aws/aws-sdk-go-v2/service/groundstation v1.34.1/go.mod h1:co4tdt5zpodqW74jxLUio7V/EGMBNimy/8RJP8KF0vk= -github.com/aws/aws-sdk-go-v2/service/guardduty v1.58.1 h1:rsEOQaTAe6aJqwntPqjzY/o9E2/3HzP4GQajzizEgkA= -github.com/aws/aws-sdk-go-v2/service/guardduty v1.58.1/go.mod h1:eQ9c3TyaAMTn2/P6vjnPjZ6b3ViTaHsTPOY9gdUBvXo= +github.com/aws/aws-sdk-go-v2/service/guardduty v1.58.2 h1:87eI9lnHusm5MogDxtMDmxMHA9ojX0Ez8QpNVdJ70FY= +github.com/aws/aws-sdk-go-v2/service/guardduty v1.58.2/go.mod h1:eQ9c3TyaAMTn2/P6vjnPjZ6b3ViTaHsTPOY9gdUBvXo= github.com/aws/aws-sdk-go-v2/service/healthlake v1.31.1 h1:71vwj+vvOeZJ3w9XuW/9tv80byCdifbQ/Qf5Mc5y2zU= github.com/aws/aws-sdk-go-v2/service/healthlake v1.31.1/go.mod h1:QrR1Yf1RmLYOxRFL/ctdUAF8ee4LSBHKOa46wV90nQ8= github.com/aws/aws-sdk-go-v2/service/iam v1.44.1 h1:V82Oyj0zU2QFJL+qvvdAqt2YYsRO0QNb9RewnvDWpdo= @@ -303,8 +303,8 @@ github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.22.1 h1:3jvrdU0UOGm8mQ7e github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.22.1/go.mod h1:loi2iyY5Vs3EC7FI5Yp8TWUGZQC8flvpisZK4HQdNBs= github.com/aws/aws-sdk-go-v2/service/invoicing v1.3.1 h1:ZqHny6zHB8yb3NT0Wz9vSIy5Zub1qcqrEAF1d6K3zuE= github.com/aws/aws-sdk-go-v2/service/invoicing v1.3.1/go.mod h1:K4gG6tXdTb/nIFfe1R5jyW1JRsFORvFiRMDJkGNc9dA= -github.com/aws/aws-sdk-go-v2/service/iot v1.66.0 h1:WfrMX/3r0d9QAETHTQtVOYLWpagcKUyKi5peIH5QG6A= -github.com/aws/aws-sdk-go-v2/service/iot v1.66.0/go.mod h1:0ogtONfjFzm7daWG4XWQhmpHkC0P0nTjoO7n4JKzb0U= +github.com/aws/aws-sdk-go-v2/service/iot v1.66.1 h1:swiMxQAfOYKErad14viM37FlgUwHDXTHMbaT1OgG6v0= +github.com/aws/aws-sdk-go-v2/service/iot v1.66.1/go.mod h1:0ogtONfjFzm7daWG4XWQhmpHkC0P0nTjoO7n4JKzb0U= github.com/aws/aws-sdk-go-v2/service/ivs v1.44.1 h1:k8SgaBMH/3e3oRv5XyMS6qJAvKtc5/3xTjCSMlkaeFI= github.com/aws/aws-sdk-go-v2/service/ivs v1.44.1/go.mod h1:Oobt8m2Ut1xg78QLmsw13wnSknC9PnFOmvgFcN3OobA= github.com/aws/aws-sdk-go-v2/service/ivschat v1.18.1 h1:KeOqEh9bzMzaRbjzil41SOu7UVcHmyPZ415wDhvpRVI= @@ -323,8 +323,8 @@ github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.27.1 h1:HJ/Yqyc+z6yPznL github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.27.1/go.mod h1:lF63nbQGTaLvFxfl25+flfgcLy+TVUT5ACG8NQkdXbg= github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.33.1 h1:IUTnaFqzwDoCbbT9dChPffQUwwwNplP9ZMwdVD/zzmM= github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.33.1/go.mod h1:t8Gl3+K/J7GWoyTEkBF+ehVUIGP67o3OUiKnssQINBA= -github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.29.1 h1:UdzvaZQ7UgNPiWmk2yU9281DsKm1kGUyVAY3wZhZf2s= -github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.29.1/go.mod h1:FrPChe9AimOwPREPAMrmE9ZPJQY7PLxFaeg7QXHxKD8= +github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.29.2 h1:XTlh+wgWERa11uPdUVUq/AdEZTBfY+H/i0v3OZp932M= +github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.29.2/go.mod h1:FrPChe9AimOwPREPAMrmE9ZPJQY7PLxFaeg7QXHxKD8= github.com/aws/aws-sdk-go-v2/service/kms v1.42.1 h1:YozphKGMWbikYX1H8Cjmh+QUboGA1c/D48m1pBosDmM= github.com/aws/aws-sdk-go-v2/service/kms v1.42.1/go.mod h1:I/6K08h6XpKZPzb1jMZb1k5N6HpzLyjS4Z0uBFzvaDc= github.com/aws/aws-sdk-go-v2/service/lakeformation v1.42.1 h1:4CyftMR6RY8OcqPXevgS1DOwiSwYwgTcLK2cdUcVZCo= @@ -339,8 +339,8 @@ github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.53.1 h1:1qKrJXGcgICGlJ1dwlvO github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.53.1/go.mod h1:IQdDJQwO16pmmylU4iIgbgBSNk5bPhlUnuhsl5HhfS8= github.com/aws/aws-sdk-go-v2/service/licensemanager v1.33.1 h1:BpPBMw8QekkoJpH34s/XYoNpVtMr7QTpDNcxQnMOvhw= github.com/aws/aws-sdk-go-v2/service/licensemanager v1.33.1/go.mod h1:dSYHIVdITBrd19X2U36SemcuPoX7Mtxif3YjBSgKGa0= -github.com/aws/aws-sdk-go-v2/service/lightsail v1.44.1 h1:szsDy+Jx8LhOvlyqJfGzho4sPxist94khUm4QwTG+cs= -github.com/aws/aws-sdk-go-v2/service/lightsail v1.44.1/go.mod h1:FUyjCuISm1KKO++ZK9Lc251IfdJXZBRKo4cHCZa7RcI= +github.com/aws/aws-sdk-go-v2/service/lightsail v1.45.0 h1:eOFZ0iaR+/ws2vfLLrA4e9B9C2nICQhpjzBcUmz3qDA= +github.com/aws/aws-sdk-go-v2/service/lightsail v1.45.0/go.mod h1:FUyjCuISm1KKO++ZK9Lc251IfdJXZBRKo4cHCZa7RcI= github.com/aws/aws-sdk-go-v2/service/location v1.46.1 h1:rWsI4OIvYu8fMV1KbccxlpTKWcQEPk1YKWiUiRLfNgs= github.com/aws/aws-sdk-go-v2/service/location v1.46.1/go.mod h1:ZW2qOTqxIPQtuMLv7nj4WS+h4utqLoaNzDmCfgeqTNg= github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.33.1 h1:/LIKKQyGfyjLElsw12AAD/b4T1gjvCRpo9PWXFBXG1Y= @@ -403,8 +403,8 @@ github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.20.1 h1:AX6HWyE3hshM github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.20.1/go.mod h1:fPpm6h3keIbLil7fhZ0W1lLDg9DrfYHVans55yzlFyM= github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.12.1 h1:IZ2DReKRxTvXr2RGhcB/z4DJGesXSfMvY5vSGycCEGk= github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.12.1/go.mod h1:ySW1vL+f/079GdqHIx7tOSP81yiB1Z01uKdtNlH0eb8= -github.com/aws/aws-sdk-go-v2/service/pcs v1.7.1 h1:KSAs6CUxcS3ObH0aABXu6lpAdLGYd+KaDO4MqZ8uwpk= -github.com/aws/aws-sdk-go-v2/service/pcs v1.7.1/go.mod h1:06QcV8x3XG2rejuINX53oYb1+owkCEY0wW0orumnvOI= +github.com/aws/aws-sdk-go-v2/service/pcs v1.8.0 h1:4nlUROOVIOnDFWLVcb2f6gUZXRinV+6XlSKJ/hzHEiY= +github.com/aws/aws-sdk-go-v2/service/pcs v1.8.0/go.mod h1:06QcV8x3XG2rejuINX53oYb1+owkCEY0wW0orumnvOI= github.com/aws/aws-sdk-go-v2/service/pinpoint v1.36.1 h1:7vBcJCy6iXGagB8Z5zaRpF49H8nd3TVdVxLN5DrYYAs= github.com/aws/aws-sdk-go-v2/service/pinpoint v1.36.1/go.mod h1:D6qGC37YHDdlcGgNc9RA3++WTdWNRNq5gQP00cHFUQ4= github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.21.1 h1:tzp5DSj5QSMDMSxr9BpxuJBocueIQJ9bFnmaa9kZuLQ= @@ -477,8 +477,8 @@ github.com/aws/aws-sdk-go-v2/service/schemas v1.30.1 h1:AeR1HvScTM6v8FIL5ONZhOKx github.com/aws/aws-sdk-go-v2/service/schemas v1.30.1/go.mod h1:RNx0SkALkXNDSJKm/I1cAMmUfdTKB/KHIq/ddWG6tvg= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.36.1 h1:fnOIjzwTVrtVnkRef3Qs+uTr3qYKwXuFom5pqdZERNQ= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.36.1/go.mod h1:/19D53IxSX9W8uu5bo0t89oCLncvNP68V1KiRthhLd4= -github.com/aws/aws-sdk-go-v2/service/securityhub v1.59.1 h1:q/3LLpo4PcoM2GUTyE1GMiEtDekkuKjtqD9mw6K+g2s= -github.com/aws/aws-sdk-go-v2/service/securityhub v1.59.1/go.mod h1:vZ92NituujfniQ/4SuNBn87qTvD2mNreUhaR3Kscm8U= +github.com/aws/aws-sdk-go-v2/service/securityhub v1.60.0 h1:iYMP5iOlUDy/WnEOMgzmHcgugJNl4ipUrnx06jaUVFI= +github.com/aws/aws-sdk-go-v2/service/securityhub v1.60.0/go.mod h1:vZ92NituujfniQ/4SuNBn87qTvD2mNreUhaR3Kscm8U= github.com/aws/aws-sdk-go-v2/service/securitylake v1.21.1 h1:/RKW3AGx4P4zBoiBevP9omqR4nawRTFcIaSX27l4fDE= github.com/aws/aws-sdk-go-v2/service/securitylake v1.21.1/go.mod h1:NamZRs6fW0/J8Di0CqJXRwbB58f4xVPNTfohMxi5lB0= github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.26.1 h1:G00kAq1ULynJ5Sl4yBoa+7CKd35YVJj4nLMl8s0OXsM= @@ -501,8 +501,8 @@ github.com/aws/aws-sdk-go-v2/service/shield v1.31.1 h1:xVThf6EHHHIacded51XqxPMEn github.com/aws/aws-sdk-go-v2/service/shield v1.31.1/go.mod h1:Gr5mZJ4DgXyZBskh7KgfNUb+zqhywkI4tOizNK0ado0= github.com/aws/aws-sdk-go-v2/service/signer v1.28.1 h1:9LIObcOOXWwrT3fdo//lXO5evcqhkzzFLpqkdwcg3/Y= github.com/aws/aws-sdk-go-v2/service/signer v1.28.1/go.mod h1:L2cwuhZJxxw/dvQJLkkUW3iTBWAoHC+8EyI/14imqhs= -github.com/aws/aws-sdk-go-v2/service/sns v1.35.1 h1:rXYKNcWkL86HT+vbkf/3YSCFCoNFcUlyFJp78dF36Rk= -github.com/aws/aws-sdk-go-v2/service/sns v1.35.1/go.mod h1:el2B16jJPkZCHv7NcBt3uf/JLLt0TBxcHcsjsyG+L40= +github.com/aws/aws-sdk-go-v2/service/sns v1.35.2 h1:2hhKj36fq0XvkGaRF/aJdW+Ui1D35stQosGHcaIyquE= +github.com/aws/aws-sdk-go-v2/service/sns v1.35.2/go.mod h1:el2B16jJPkZCHv7NcBt3uf/JLLt0TBxcHcsjsyG+L40= github.com/aws/aws-sdk-go-v2/service/sqs v1.39.1 h1:fkHJs2m1rKVBsE0n6tKi988JhpOMIu2MO2ZIHQQfeho= github.com/aws/aws-sdk-go-v2/service/sqs v1.39.1/go.mod h1:uo+sko7ERytamU7kYji04fBiMbPAgTHxzr0MX7KznO4= github.com/aws/aws-sdk-go-v2/service/ssm v1.61.1 h1:Pu5hveFc6RslFZP61W5SEMOoPd6RR2yrOu11ZxCkr+Y= @@ -658,8 +658,8 @@ github.com/hashicorp/terraform-exec v0.23.0 h1:MUiBM1s0CNlRFsCLJuM5wXZrzA3MnPYEs github.com/hashicorp/terraform-exec v0.23.0/go.mod h1:mA+qnx1R8eePycfwKkCRk3Wy65mwInvlpAeOwmA7vlY= github.com/hashicorp/terraform-json v0.25.0 h1:rmNqc/CIfcWawGiwXmRuiXJKEiJu1ntGoxseG1hLhoQ= github.com/hashicorp/terraform-json v0.25.0/go.mod h1:sMKS8fiRDX4rVlR6EJUMudg1WcanxCMoWwTLkgZP/vc= -github.com/hashicorp/terraform-plugin-framework v1.15.0 h1:LQ2rsOfmDLxcn5EeIwdXFtr03FVsNktbbBci8cOKdb4= -github.com/hashicorp/terraform-plugin-framework v1.15.0/go.mod h1:hxrNI/GY32KPISpWqlCoTLM9JZsGH3CyYlir09bD/fI= +github.com/hashicorp/terraform-plugin-framework v1.15.1 h1:2mKDkwb8rlx/tvJTlIcpw0ykcmvdWv+4gY3SIgk8Pq8= +github.com/hashicorp/terraform-plugin-framework v1.15.1/go.mod h1:hxrNI/GY32KPISpWqlCoTLM9JZsGH3CyYlir09bD/fI= github.com/hashicorp/terraform-plugin-framework-jsontypes v0.2.0 h1:SJXL5FfJJm17554Kpt9jFXngdM6fXbnUnZ6iT2IeiYA= github.com/hashicorp/terraform-plugin-framework-jsontypes v0.2.0/go.mod h1:p0phD0IYhsu9bR4+6OetVvvH59I6LwjXGnTVEr8ox6E= github.com/hashicorp/terraform-plugin-framework-timeouts v0.5.0 h1:I/N0g/eLZ1ZkLZXUQ0oRSXa8YG/EF0CEuQP1wXdrzKw= From aa49eece3bac5ba0d854dcd22b6b8702f4ae29d6 Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Mon, 4 Aug 2025 10:47:27 -0500 Subject: [PATCH 0266/1301] aws_servicequotas_service_quota: move validation as a plan time error --- .../service/servicequotas/service_quota.go | 95 ++++++++++++------- .../servicequotas/service_quota_test.go | 2 +- 2 files changed, 63 insertions(+), 34 deletions(-) diff --git a/internal/service/servicequotas/service_quota.go b/internal/service/servicequotas/service_quota.go index eb7656f0c4ec..35d3d7805a22 100644 --- a/internal/service/servicequotas/service_quota.go +++ b/internal/service/servicequotas/service_quota.go @@ -135,6 +135,35 @@ func resourceServiceQuota() *schema.Resource { Required: true, }, }, + CustomizeDiff: func(ctx context.Context, diff *schema.ResourceDiff, meta any) error { + conn := meta.(*conns.AWSClient).ServiceQuotasClient(ctx) + + serviceCode, quotaCode := diff.Get("service_code").(string), diff.Get("quota_code").(string) + + // A Service Quota will always have a default value, but will only have a current value if it has been set. + defaultQuota, err := findDefaultServiceQuotaByServiceCodeAndQuotaCode(ctx, conn, serviceCode, quotaCode) + if err != nil { + return err + } + + quotaValue := aws.ToFloat64(defaultQuota.Value) + + serviceQuota, err := findServiceQuotaByServiceCodeAndQuotaCode(ctx, conn, serviceCode, quotaCode) + switch { + case tfresource.NotFound(err): + case err != nil: + return err + default: + quotaValue = aws.ToFloat64(serviceQuota.Value) + } + + value := diff.Get(names.AttrValue).(float64) + if value <= quotaValue { + return fmt.Errorf(`"value" (%f) should be greater than the default or current value (%f) for Service Quota (%s/%s)`, value, quotaValue, serviceCode, quotaCode) + } + + return nil + }, } } @@ -144,46 +173,46 @@ func resourceServiceQuotaCreate(ctx context.Context, d *schema.ResourceData, met serviceCode, quotaCode := d.Get("service_code").(string), d.Get("quota_code").(string) - // A Service Quota will always have a default value, but will only have a current value if it has been set. - defaultQuota, err := findDefaultServiceQuotaByServiceCodeAndQuotaCode(ctx, conn, serviceCode, quotaCode) - if err != nil { - return sdkdiag.AppendErrorf(diags, "reading Service Quotas default Service Quota (%s/%s): %s", serviceCode, quotaCode, err) - } - - quotaValue := aws.ToFloat64(defaultQuota.Value) - - serviceQuota, err := findServiceQuotaByServiceCodeAndQuotaCode(ctx, conn, serviceCode, quotaCode) - - switch { - case tfresource.NotFound(err): - case err != nil: - return sdkdiag.AppendErrorf(diags, "reading Service Quotas Service Quota (%s/%s): %s", serviceCode, quotaCode, err) - default: - quotaValue = aws.ToFloat64(serviceQuota.Value) - } - + //// A Service Quota will always have a default value, but will only have a current value if it has been set. + //defaultQuota, err := findDefaultServiceQuotaByServiceCodeAndQuotaCode(ctx, conn, serviceCode, quotaCode) + //if err != nil { + // return sdkdiag.AppendErrorf(diags, "reading Service Quotas default Service Quota (%s/%s): %s", serviceCode, quotaCode, err) + //} + // + //quotaValue := aws.ToFloat64(defaultQuota.Value) + // + //serviceQuota, err := findServiceQuotaByServiceCodeAndQuotaCode(ctx, conn, serviceCode, quotaCode) + // + //switch { + //case tfresource.NotFound(err): + //case err != nil: + // return sdkdiag.AppendErrorf(diags, "reading Service Quotas Service Quota (%s/%s): %s", serviceCode, quotaCode, err) + //default: + // quotaValue = aws.ToFloat64(serviceQuota.Value) + //} + // id := serviceQuotaCreateResourceID(serviceCode, quotaCode) value := d.Get(names.AttrValue).(float64) + // + //if value < quotaValue { + // return sdkdiag.AppendErrorf(diags, "requesting Service Quotas Service Quota (%s) with value less than current", id) + //} - if value < quotaValue { - return sdkdiag.AppendErrorf(diags, "requesting Service Quotas Service Quota (%s) with value less than current", id) + //if value > quotaValue { + input := servicequotas.RequestServiceQuotaIncreaseInput{ + DesiredValue: aws.Float64(value), + QuotaCode: aws.String(quotaCode), + ServiceCode: aws.String(serviceCode), } - if value > quotaValue { - input := servicequotas.RequestServiceQuotaIncreaseInput{ - DesiredValue: aws.Float64(value), - QuotaCode: aws.String(quotaCode), - ServiceCode: aws.String(serviceCode), - } - - output, err := conn.RequestServiceQuotaIncrease(ctx, &input) - if err != nil { - return sdkdiag.AppendErrorf(diags, "requesting Service Quotas Service Quota (%s) increase: %s", id, err) - } - - d.Set("request_id", output.RequestedQuota.Id) + output, err := conn.RequestServiceQuotaIncrease(ctx, &input) + if err != nil { + return sdkdiag.AppendErrorf(diags, "requesting Service Quotas Service Quota (%s) increase: %s", id, err) } + d.Set("request_id", output.RequestedQuota.Id) + //} + d.SetId(id) return append(diags, resourceServiceQuotaRead(ctx, d, meta)...) diff --git a/internal/service/servicequotas/service_quota_test.go b/internal/service/servicequotas/service_quota_test.go index 11a8a715d5c1..a7aaaf3301ff 100644 --- a/internal/service/servicequotas/service_quota_test.go +++ b/internal/service/servicequotas/service_quota_test.go @@ -267,7 +267,7 @@ func TestAccServiceQuotasServiceQuota_valueLessThanCurrent(t *testing.T) { Steps: []resource.TestStep{ { Config: testAccServiceQuotaConfig_valueLessThanCurrent(setQuotaServiceCode, setQuotaQuotaCode), - ExpectError: regexache.MustCompile(`requesting Service Quotas Service Quota \([^)]+\) with value less than current`), + ExpectError: regexache.MustCompile(`"value" \(\d+(\.\d+)?\) should be greater than the default or current value \(\d+(\.\d+)?\) for Service Quota \([^)]+\)`), }, }, }) From e1207692f350becbb8051bab88b6714ddd64eb03 Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Mon, 4 Aug 2025 10:47:50 -0500 Subject: [PATCH 0267/1301] fmt --- internal/service/batch/compute_environment.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/batch/compute_environment.go b/internal/service/batch/compute_environment.go index bc46ff3611da..22f022817134 100644 --- a/internal/service/batch/compute_environment.go +++ b/internal/service/batch/compute_environment.go @@ -673,7 +673,7 @@ func resourceComputeEnvironmentCustomizeDiff(ctx context.Context, diff *schema.R if v := v.AsValueSlice()[0].GetAttr(names.AttrLaunchTemplate); v.IsKnown() && v.LengthInt() == 1 { if v := v.AsValueSlice()[0].GetAttr(names.AttrVersion); !v.IsKnown() { out := expandComputeResource(ctx, diff.Get("compute_resources").([]any)[0].(map[string]any)) - out.LaunchTemplate.Version = aws.String("") // Forces new if version has changed + out.LaunchTemplate.Version = aws.String(" ") // set version to a new empty value to trigger a replacement if err := diff.SetNew("compute_resources", []any{flattenComputeResource(ctx, out)}); err != nil { return err } From a6812dd72aef5105e561ca4739b98a821b25ade7 Mon Sep 17 00:00:00 2001 From: changelogbot Date: Mon, 4 Aug 2025 16:04:10 +0000 Subject: [PATCH 0268/1301] Update CHANGELOG.md for #43668 --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 650a3942279a..b16917d08e08 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,9 @@ FEATURES: ENHANCEMENTS: * data-source/aws_quicksight_user: Add `custom_permissions_name` attribute ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) +* resource/aws_inspector2_enabler: Support resource import ([#43673](https://github.com/hashicorp/terraform-provider-aws/issues/43673)) +* resource/aws_lightsail_static_ip: Support resource import ([#43672](https://github.com/hashicorp/terraform-provider-aws/issues/43672)) +* resource/aws_opensearch_domain_policy: Support resource import ([#43674](https://github.com/hashicorp/terraform-provider-aws/issues/43674)) * resource/aws_quicksight_user: Add plan-time validation of `iam_arn` ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) * resource/aws_quicksight_user: Change `user_name` to Optional and Computed ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) * resource/aws_quicksight_user: Support `IAM_IDENTITY_CENTER` as a valid value for `identity_type` ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) From 84a36f0e49cc120bda25665e51354810f367ca80 Mon Sep 17 00:00:00 2001 From: GHA Date: Mon, 4 Aug 2025 09:35:48 -0700 Subject: [PATCH 0269/1301] test gen for new resource --- go.mod | 2 +- go.sum | 4 +- internal/service/appsync/api.go | 10 +- .../service/appsync/api_identity_gen_test.go | 68 +++-- internal/service/appsync/api_tags_gen_test.go | 248 +++++++----------- 5 files changed, 150 insertions(+), 182 deletions(-) diff --git a/go.mod b/go.mod index 5a22e5460d89..dd509df88218 100644 --- a/go.mod +++ b/go.mod @@ -285,7 +285,7 @@ require ( github.com/hashicorp/go-version v1.7.0 github.com/hashicorp/hcl/v2 v2.23.0 github.com/hashicorp/terraform-json v0.25.0 - github.com/hashicorp/terraform-plugin-framework v1.15.0 + github.com/hashicorp/terraform-plugin-framework v1.15.1 github.com/hashicorp/terraform-plugin-framework-jsontypes v0.2.0 github.com/hashicorp/terraform-plugin-framework-timeouts v0.5.0 github.com/hashicorp/terraform-plugin-framework-timetypes v0.5.0 diff --git a/go.sum b/go.sum index cf7cafddba47..2b90818bf4b5 100644 --- a/go.sum +++ b/go.sum @@ -656,8 +656,8 @@ github.com/hashicorp/terraform-exec v0.23.0 h1:MUiBM1s0CNlRFsCLJuM5wXZrzA3MnPYEs github.com/hashicorp/terraform-exec v0.23.0/go.mod h1:mA+qnx1R8eePycfwKkCRk3Wy65mwInvlpAeOwmA7vlY= github.com/hashicorp/terraform-json v0.25.0 h1:rmNqc/CIfcWawGiwXmRuiXJKEiJu1ntGoxseG1hLhoQ= github.com/hashicorp/terraform-json v0.25.0/go.mod h1:sMKS8fiRDX4rVlR6EJUMudg1WcanxCMoWwTLkgZP/vc= -github.com/hashicorp/terraform-plugin-framework v1.15.0 h1:LQ2rsOfmDLxcn5EeIwdXFtr03FVsNktbbBci8cOKdb4= -github.com/hashicorp/terraform-plugin-framework v1.15.0/go.mod h1:hxrNI/GY32KPISpWqlCoTLM9JZsGH3CyYlir09bD/fI= +github.com/hashicorp/terraform-plugin-framework v1.15.1 h1:2mKDkwb8rlx/tvJTlIcpw0ykcmvdWv+4gY3SIgk8Pq8= +github.com/hashicorp/terraform-plugin-framework v1.15.1/go.mod h1:hxrNI/GY32KPISpWqlCoTLM9JZsGH3CyYlir09bD/fI= github.com/hashicorp/terraform-plugin-framework-jsontypes v0.2.0 h1:SJXL5FfJJm17554Kpt9jFXngdM6fXbnUnZ6iT2IeiYA= github.com/hashicorp/terraform-plugin-framework-jsontypes v0.2.0/go.mod h1:p0phD0IYhsu9bR4+6OetVvvH59I6LwjXGnTVEr8ox6E= github.com/hashicorp/terraform-plugin-framework-timeouts v0.5.0 h1:I/N0g/eLZ1ZkLZXUQ0oRSXa8YG/EF0CEuQP1wXdrzKw= diff --git a/internal/service/appsync/api.go b/internal/service/appsync/api.go index 770aed33c521..47d42ffa8cca 100644 --- a/internal/service/appsync/api.go +++ b/internal/service/appsync/api.go @@ -18,6 +18,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/boolplanmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/int64planmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/mapplanmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" @@ -39,8 +40,9 @@ import ( // @FrameworkResource("aws_appsync_api", name="API") // @Tags(identifierAttribute="arn") // @IdentityAttribute("id") -// @Testing(importStateIdAttribute="id") +// @#Testing(importStateIdAttribute="id") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/appsync/types;awstypes;awstypes.Api") +// @Testing(preIdentityVersion="") func newAPIResource(_ context.Context) (resource.ResourceWithConfigure, error) { r := &resourceAPI{} @@ -74,6 +76,9 @@ func (r *resourceAPI) Schema(ctx context.Context, req resource.SchemaRequest, re "created": schema.StringAttribute{ CustomType: timetypes.RFC3339Type{}, Computed: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.UseStateForUnknown(), + }, }, "dns": schema.MapAttribute{ CustomType: fwtypes.MapOfStringType, @@ -98,6 +103,9 @@ func (r *resourceAPI) Schema(ctx context.Context, req resource.SchemaRequest, re }, "xray_enabled": schema.BoolAttribute{ Computed: true, + PlanModifiers: []planmodifier.Bool{ + boolplanmodifier.UseStateForUnknown(), + }, }, }, Blocks: map[string]schema.Block{ diff --git a/internal/service/appsync/api_identity_gen_test.go b/internal/service/appsync/api_identity_gen_test.go index 8c1c3f675317..f937ce3c0093 100644 --- a/internal/service/appsync/api_identity_gen_test.go +++ b/internal/service/appsync/api_identity_gen_test.go @@ -62,12 +62,10 @@ func TestAccAppSyncAPI_Identity_Basic(t *testing.T) { ConfigVariables: config.Variables{ acctest.CtRName: config.StringVariable(rName), }, - ImportStateKind: resource.ImportCommandWithID, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, // Step 3: Import block with Import ID @@ -76,10 +74,9 @@ func TestAccAppSyncAPI_Identity_Basic(t *testing.T) { ConfigVariables: config.Variables{ acctest.CtRName: config.StringVariable(rName), }, - ResourceName: resourceName, - ImportState: true, - ImportStateKind: resource.ImportBlockWithID, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, ImportPlanChecks: resource.ImportPlanChecks{ PreApply: []plancheck.PlanCheck{ plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), @@ -148,12 +145,11 @@ func TestAccAppSyncAPI_Identity_RegionOverride(t *testing.T) { acctest.CtRName: config.StringVariable(rName), "region": config.StringVariable(acctest.AlternateRegion()), }, - ImportStateKind: resource.ImportCommandWithID, - // TODO - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ImportStateKind: resource.ImportCommandWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, // Step 3: Import block with Import ID @@ -163,10 +159,10 @@ func TestAccAppSyncAPI_Identity_RegionOverride(t *testing.T) { acctest.CtRName: config.StringVariable(rName), "region": config.StringVariable(acctest.AlternateRegion()), }, - ResourceName: resourceName, - ImportState: true, - ImportStateKind: resource.ImportBlockWithID, - // TODO + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), ImportPlanChecks: resource.ImportPlanChecks{ PreApply: []plancheck.PlanCheck{ plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), @@ -196,7 +192,6 @@ func TestAccAppSyncAPI_Identity_RegionOverride(t *testing.T) { }) } -// Resource Identity was added after v6.3.0 func TestAccAppSyncAPI_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) @@ -214,7 +209,7 @@ func TestAccAppSyncAPI_Identity_ExistingResource(t *testing.T) { Steps: []resource.TestStep{ // Step 1: Create pre-Identity { - ConfigDirectory: config.StaticDirectory("testdata/API/basic_v6.3.0/"), + ConfigDirectory: config.StaticDirectory("testdata/API/basic_v5.100.0/"), ConfigVariables: config.Variables{ acctest.CtRName: config.StringVariable(rName), }, @@ -226,7 +221,34 @@ func TestAccAppSyncAPI_Identity_ExistingResource(t *testing.T) { }, }, - // Step 2: Current version + // Step 2: v6.0 Identity set on refresh + { + ConfigDirectory: config.StaticDirectory("testdata/API/basic_v6.0.0/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.Region()), + names.AttrID: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), + }, + }, + + // Step 3: Current version { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, ConfigDirectory: config.StaticDirectory("testdata/API/basic/"), diff --git a/internal/service/appsync/api_tags_gen_test.go b/internal/service/appsync/api_tags_gen_test.go index 1d710f88064d..aa9ed5069b47 100644 --- a/internal/service/appsync/api_tags_gen_test.go +++ b/internal/service/appsync/api_tags_gen_test.go @@ -67,11 +67,9 @@ func TestAccAppSyncAPI_tags(t *testing.T) { acctest.CtKey1: config.StringVariable(acctest.CtValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, { ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), @@ -118,11 +116,9 @@ func TestAccAppSyncAPI_tags(t *testing.T) { acctest.CtKey2: config.StringVariable(acctest.CtValue2), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, { ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), @@ -163,11 +159,9 @@ func TestAccAppSyncAPI_tags(t *testing.T) { acctest.CtKey2: config.StringVariable(acctest.CtValue2), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, { ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), @@ -196,11 +190,9 @@ func TestAccAppSyncAPI_tags(t *testing.T) { acctest.CtRName: config.StringVariable(rName), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) @@ -257,11 +249,9 @@ func TestAccAppSyncAPI_tags_null(t *testing.T) { acctest.CtKey1: nil, }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, ImportStateVerifyIgnore: []string{ acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" }, @@ -309,11 +299,9 @@ func TestAccAppSyncAPI_tags_EmptyMap(t *testing.T) { acctest.CtRName: config.StringVariable(rName), acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{}), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, ImportStateVerifyIgnore: []string{ acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" }, @@ -394,11 +382,9 @@ func TestAccAppSyncAPI_tags_AddOnUpdate(t *testing.T) { acctest.CtKey1: config.StringVariable(acctest.CtValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) @@ -455,11 +441,9 @@ func TestAccAppSyncAPI_tags_EmptyTag_OnCreate(t *testing.T) { acctest.CtKey1: config.StringVariable(""), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, { ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), @@ -488,11 +472,9 @@ func TestAccAppSyncAPI_tags_EmptyTag_OnCreate(t *testing.T) { acctest.CtRName: config.StringVariable(rName), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) @@ -586,11 +568,9 @@ func TestAccAppSyncAPI_tags_EmptyTag_OnUpdate_Add(t *testing.T) { acctest.CtKey2: config.StringVariable(""), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, { ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), @@ -631,11 +611,9 @@ func TestAccAppSyncAPI_tags_EmptyTag_OnUpdate_Add(t *testing.T) { acctest.CtKey1: config.StringVariable(acctest.CtValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) @@ -723,11 +701,9 @@ func TestAccAppSyncAPI_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { acctest.CtKey1: config.StringVariable(""), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) @@ -783,11 +759,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_providerOnly(t *testing.T) { }), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -832,11 +806,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_providerOnly(t *testing.T) { }), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -877,11 +849,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_providerOnly(t *testing.T) { }), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -912,11 +882,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_providerOnly(t *testing.T) { acctest.CtRName: config.StringVariable(rName), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) @@ -982,11 +950,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_nonOverlapping(t *testing.T) { acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -1043,11 +1009,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_nonOverlapping(t *testing.T) { acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -1078,11 +1042,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_nonOverlapping(t *testing.T) { acctest.CtRName: config.StringVariable(rName), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) @@ -1146,11 +1108,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_overlapping(t *testing.T) { acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -1207,11 +1167,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_overlapping(t *testing.T) { acctest.CtOverlapKey2: config.StringVariable(acctest.CtResourceValue2), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -1260,11 +1218,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_overlapping(t *testing.T) { acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue2), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) @@ -1352,11 +1308,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_updateToProviderOnly(t *testing.T) { }), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) @@ -1443,11 +1397,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_updateToResourceOnly(t *testing.T) { acctest.CtKey1: config.StringVariable(acctest.CtValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) @@ -1511,11 +1463,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_emptyResourceTag(t *testing.T) { acctest.CtKey1: config.StringVariable(""), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) @@ -1571,11 +1521,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { }), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) @@ -1639,11 +1587,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) acctest.CtKey1: nil, }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, ImportStateVerifyIgnore: []string{ acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" }, @@ -1712,11 +1658,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing acctest.CtResourceKey1: nil, }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, ImportStateVerifyIgnore: []string{ "tags.resourcekey1", // The canonical value returned by the AWS API is "" }, @@ -1772,11 +1716,9 @@ func TestAccAppSyncAPI_tags_ComputedTag_OnCreate(t *testing.T) { acctest.CtRName: config.StringVariable(rName), "unknownTagKey": config.StringVariable("computedkey1"), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) @@ -1871,11 +1813,9 @@ func TestAccAppSyncAPI_tags_ComputedTag_OnUpdate_Add(t *testing.T) { "knownTagKey": config.StringVariable(acctest.CtKey1), "knownTagValue": config.StringVariable(acctest.CtValue1), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) @@ -1960,11 +1900,9 @@ func TestAccAppSyncAPI_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { acctest.CtRName: config.StringVariable(rName), "unknownTagKey": config.StringVariable(acctest.CtKey1), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) From 741848de7a971736d23125139bafd7f7ff2b48f0 Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Mon, 4 Aug 2025 11:41:38 -0500 Subject: [PATCH 0270/1301] aws_servicequotas_service_quota: revert --- .../service/servicequotas/service_quota.go | 122 +++++++++--------- .../servicequotas/service_quota_test.go | 2 +- 2 files changed, 62 insertions(+), 62 deletions(-) diff --git a/internal/service/servicequotas/service_quota.go b/internal/service/servicequotas/service_quota.go index 35d3d7805a22..fccd6ddc9c5c 100644 --- a/internal/service/servicequotas/service_quota.go +++ b/internal/service/servicequotas/service_quota.go @@ -135,35 +135,35 @@ func resourceServiceQuota() *schema.Resource { Required: true, }, }, - CustomizeDiff: func(ctx context.Context, diff *schema.ResourceDiff, meta any) error { - conn := meta.(*conns.AWSClient).ServiceQuotasClient(ctx) - - serviceCode, quotaCode := diff.Get("service_code").(string), diff.Get("quota_code").(string) - - // A Service Quota will always have a default value, but will only have a current value if it has been set. - defaultQuota, err := findDefaultServiceQuotaByServiceCodeAndQuotaCode(ctx, conn, serviceCode, quotaCode) - if err != nil { - return err - } - - quotaValue := aws.ToFloat64(defaultQuota.Value) - - serviceQuota, err := findServiceQuotaByServiceCodeAndQuotaCode(ctx, conn, serviceCode, quotaCode) - switch { - case tfresource.NotFound(err): - case err != nil: - return err - default: - quotaValue = aws.ToFloat64(serviceQuota.Value) - } - - value := diff.Get(names.AttrValue).(float64) - if value <= quotaValue { - return fmt.Errorf(`"value" (%f) should be greater than the default or current value (%f) for Service Quota (%s/%s)`, value, quotaValue, serviceCode, quotaCode) - } - - return nil - }, + //CustomizeDiff: func(ctx context.Context, diff *schema.ResourceDiff, meta any) error { + // conn := meta.(*conns.AWSClient).ServiceQuotasClient(ctx) + // + // serviceCode, quotaCode := diff.Get("service_code").(string), diff.Get("quota_code").(string) + // + // // A Service Quota will always have a default value, but will only have a current value if it has been set. + // defaultQuota, err := findDefaultServiceQuotaByServiceCodeAndQuotaCode(ctx, conn, serviceCode, quotaCode) + // if err != nil { + // return err + // } + // + // quotaValue := aws.ToFloat64(defaultQuota.Value) + // + // serviceQuota, err := findServiceQuotaByServiceCodeAndQuotaCode(ctx, conn, serviceCode, quotaCode) + // switch { + // case tfresource.NotFound(err): + // case err != nil: + // return err + // default: + // quotaValue = aws.ToFloat64(serviceQuota.Value) + // } + // + // value := diff.Get(names.AttrValue).(float64) + // if value <= quotaValue { + // return fmt.Errorf(`"value" (%f) should be greater than the default or current value (%f) for Service Quota (%s/%s)`, value, quotaValue, serviceCode, quotaCode) + // } + // + // return nil + //}, } } @@ -174,44 +174,44 @@ func resourceServiceQuotaCreate(ctx context.Context, d *schema.ResourceData, met serviceCode, quotaCode := d.Get("service_code").(string), d.Get("quota_code").(string) //// A Service Quota will always have a default value, but will only have a current value if it has been set. - //defaultQuota, err := findDefaultServiceQuotaByServiceCodeAndQuotaCode(ctx, conn, serviceCode, quotaCode) - //if err != nil { - // return sdkdiag.AppendErrorf(diags, "reading Service Quotas default Service Quota (%s/%s): %s", serviceCode, quotaCode, err) - //} - // - //quotaValue := aws.ToFloat64(defaultQuota.Value) - // - //serviceQuota, err := findServiceQuotaByServiceCodeAndQuotaCode(ctx, conn, serviceCode, quotaCode) - // - //switch { - //case tfresource.NotFound(err): - //case err != nil: - // return sdkdiag.AppendErrorf(diags, "reading Service Quotas Service Quota (%s/%s): %s", serviceCode, quotaCode, err) - //default: - // quotaValue = aws.ToFloat64(serviceQuota.Value) - //} - // + defaultQuota, err := findDefaultServiceQuotaByServiceCodeAndQuotaCode(ctx, conn, serviceCode, quotaCode) + if err != nil { + return sdkdiag.AppendErrorf(diags, "reading Service Quotas default Service Quota (%s/%s): %s", serviceCode, quotaCode, err) + } + + quotaValue := aws.ToFloat64(defaultQuota.Value) + + serviceQuota, err := findServiceQuotaByServiceCodeAndQuotaCode(ctx, conn, serviceCode, quotaCode) + + switch { + case tfresource.NotFound(err): + case err != nil: + return sdkdiag.AppendErrorf(diags, "reading Service Quotas Service Quota (%s/%s): %s", serviceCode, quotaCode, err) + default: + quotaValue = aws.ToFloat64(serviceQuota.Value) + } + id := serviceQuotaCreateResourceID(serviceCode, quotaCode) value := d.Get(names.AttrValue).(float64) - // - //if value < quotaValue { - // return sdkdiag.AppendErrorf(diags, "requesting Service Quotas Service Quota (%s) with value less than current", id) - //} - //if value > quotaValue { - input := servicequotas.RequestServiceQuotaIncreaseInput{ - DesiredValue: aws.Float64(value), - QuotaCode: aws.String(quotaCode), - ServiceCode: aws.String(serviceCode), + if value < quotaValue { + return sdkdiag.AppendErrorf(diags, "requesting Service Quotas Service Quota (%s) with value less than current", id) } - output, err := conn.RequestServiceQuotaIncrease(ctx, &input) - if err != nil { - return sdkdiag.AppendErrorf(diags, "requesting Service Quotas Service Quota (%s) increase: %s", id, err) - } + if value > quotaValue { + input := servicequotas.RequestServiceQuotaIncreaseInput{ + DesiredValue: aws.Float64(value), + QuotaCode: aws.String(quotaCode), + ServiceCode: aws.String(serviceCode), + } - d.Set("request_id", output.RequestedQuota.Id) - //} + output, err := conn.RequestServiceQuotaIncrease(ctx, &input) + if err != nil { + return sdkdiag.AppendErrorf(diags, "requesting Service Quotas Service Quota (%s) increase: %s", id, err) + } + + d.Set("request_id", output.RequestedQuota.Id) + } d.SetId(id) diff --git a/internal/service/servicequotas/service_quota_test.go b/internal/service/servicequotas/service_quota_test.go index a7aaaf3301ff..11a8a715d5c1 100644 --- a/internal/service/servicequotas/service_quota_test.go +++ b/internal/service/servicequotas/service_quota_test.go @@ -267,7 +267,7 @@ func TestAccServiceQuotasServiceQuota_valueLessThanCurrent(t *testing.T) { Steps: []resource.TestStep{ { Config: testAccServiceQuotaConfig_valueLessThanCurrent(setQuotaServiceCode, setQuotaQuotaCode), - ExpectError: regexache.MustCompile(`"value" \(\d+(\.\d+)?\) should be greater than the default or current value \(\d+(\.\d+)?\) for Service Quota \([^)]+\)`), + ExpectError: regexache.MustCompile(`requesting Service Quotas Service Quota \([^)]+\) with value less than current`), }, }, }) From 9a4f00f0b36de41d0d52c851c5ba657cd176f243 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Mon, 4 Aug 2025 14:43:59 -0400 Subject: [PATCH 0271/1301] Add ARN-based resource identity to `ivschat` (#43697) Add resource identity to ARN-based resources in ivschat. This includes: `aws_ivschat_room` `aws_ivschat_logging_configuration` ```console % make testacc PKG=ivschat TESTS="TestAccIVSChat.*_Identity" make: Verifying source code with gofmt... ==> Checking that code complies with gofmt requirements... TF_ACC=1 go1.24.5 test ./internal/service/ivschat/... -v -count 1 -parallel 20 -run='TestAccIVSChat.*_Identity' -timeout 360m -vet=off 2025/08/04 10:53:08 Creating Terraform AWS Provider (SDKv2-style)... 2025/08/04 10:53:08 Initializing Terraform AWS Provider (SDKv2-style)... --- PASS: TestAccIVSChatRoom_Identity_Basic (29.39s) --- PASS: TestAccIVSChatRoom_Identity_RegionOverride (35.98s) --- PASS: TestAccIVSChatLoggingConfiguration_Identity_RegionOverride (38.33s) --- PASS: TestAccIVSChatLoggingConfiguration_Identity_Basic (39.75s) --- PASS: TestAccIVSChatRoom_Identity_ExistingResource (45.62s) --- PASS: TestAccIVSChatLoggingConfiguration_Identity_ExistingResource (58.05s) PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/ivschat 64.651s ``` ```console % make testacc PKG=ivschat TESTS="TestAccIVSChatLoggingConfiguration|TestAccIVSChatRoom" make: Verifying source code with gofmt... ==> Checking that code complies with gofmt requirements... TF_ACC=1 go1.24.5 test ./internal/service/ivschat/... -v -count 1 -parallel 20 -run='TestAccIVSChatLoggingConfiguration|TestAccIVSChatRoom' -timeout 360m -vet=off 2025/08/04 11:11:22 Creating Terraform AWS Provider (SDKv2-style)... 2025/08/04 11:11:22 Initializing Terraform AWS Provider (SDKv2-style)... --- PASS: TestAccIVSChatLoggingConfiguration_failure_invalidDestination (10.79s) --- PASS: TestAccIVSChatRoom_disappears (32.19s) --- PASS: TestAccIVSChatRoom_basic (35.51s) --- PASS: TestAccIVSChatLoggingConfiguration_basic_cloudwatch (38.33s) --- PASS: TestAccIVSChatLoggingConfiguration_disappears (41.37s) --- PASS: TestAccIVSChatLoggingConfiguration_basic_s3 (42.32s) --- PASS: TestAccIVSChatRoom_Identity_Basic (48.28s) --- PASS: TestAccIVSChatRoom_Identity_RegionOverride (56.38s) --- PASS: TestAccIVSChatLoggingConfiguration_Identity_Basic (56.53s) --- PASS: TestAccIVSChatLoggingConfiguration_Identity_RegionOverride (58.06s) --- PASS: TestAccIVSChatLoggingConfiguration_update_s3 (58.71s) --- PASS: TestAccIVSChatRoom_update_remove_messageReviewHandler_uri (62.22s) --- PASS: TestAccIVSChatRoom_tags (62.46s) --- PASS: TestAccIVSChatRoom_Identity_ExistingResource (62.91s) --- PASS: TestAccIVSChatRoom_update (64.96s) --- PASS: TestAccIVSChatLoggingConfiguration_Identity_ExistingResource (70.92s) --- PASS: TestAccIVSChatLoggingConfiguration_tags (72.23s) --- PASS: TestAccIVSChatLoggingConfiguration_basic_firehose (78.55s) --- PASS: TestAccIVSChatRoom_loggingConfiguration (87.28s) PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/ivschat 93.092s ``` --- .changelog/43697.txt | 6 + internal/service/ivschat/generate.go | 1 + .../service/ivschat/logging_configuration.go | 7 +- ...logging_configuration_identity_gen_test.go | 283 ++++++++++++++++++ internal/service/ivschat/room.go | 8 +- .../service/ivschat/room_identity_gen_test.go | 261 ++++++++++++++++ .../service/ivschat/service_package_gen.go | 12 + .../LoggingConfiguration/basic/main_gen.tf | 21 ++ .../basic_v6.5.0/main_gen.tf | 31 ++ .../region_override/main_gen.tf | 31 ++ .../ivschat/testdata/Room/basic/main_gen.tf | 6 + .../testdata/Room/basic_v6.5.0/main_gen.tf | 16 + .../testdata/Room/region_override/main_gen.tf | 14 + .../tmpl/logging_configuration_basic.gtpl | 15 + .../ivschat/testdata/tmpl/room_basic.gtpl | 4 + 15 files changed, 708 insertions(+), 8 deletions(-) create mode 100644 .changelog/43697.txt create mode 100644 internal/service/ivschat/logging_configuration_identity_gen_test.go create mode 100644 internal/service/ivschat/room_identity_gen_test.go create mode 100644 internal/service/ivschat/testdata/LoggingConfiguration/basic/main_gen.tf create mode 100644 internal/service/ivschat/testdata/LoggingConfiguration/basic_v6.5.0/main_gen.tf create mode 100644 internal/service/ivschat/testdata/LoggingConfiguration/region_override/main_gen.tf create mode 100644 internal/service/ivschat/testdata/Room/basic/main_gen.tf create mode 100644 internal/service/ivschat/testdata/Room/basic_v6.5.0/main_gen.tf create mode 100644 internal/service/ivschat/testdata/Room/region_override/main_gen.tf create mode 100644 internal/service/ivschat/testdata/tmpl/logging_configuration_basic.gtpl create mode 100644 internal/service/ivschat/testdata/tmpl/room_basic.gtpl diff --git a/.changelog/43697.txt b/.changelog/43697.txt new file mode 100644 index 000000000000..bd31a7d1e318 --- /dev/null +++ b/.changelog/43697.txt @@ -0,0 +1,6 @@ +```release-note:enhancement +resource/aws_ivschat_room: Add resource identity support +``` +```release-note:enhancement +resource/aws_ivschat_logging_configuration: Add resource identity support +``` diff --git a/internal/service/ivschat/generate.go b/internal/service/ivschat/generate.go index 0bcf935ada23..5ac899821a9a 100644 --- a/internal/service/ivschat/generate.go +++ b/internal/service/ivschat/generate.go @@ -3,6 +3,7 @@ //go:generate go run ../../generate/tags/main.go -ListTags -ServiceTagsMap -UpdateTags -KVTValues //go:generate go run ../../generate/servicepackage/main.go +//go:generate go run ../../generate/identitytests/main.go // ONLY generate directives and package declaration! Do not add anything else to this file. package ivschat diff --git a/internal/service/ivschat/logging_configuration.go b/internal/service/ivschat/logging_configuration.go index fd261f4636f5..3bc150229764 100644 --- a/internal/service/ivschat/logging_configuration.go +++ b/internal/service/ivschat/logging_configuration.go @@ -25,6 +25,9 @@ import ( // @SDKResource("aws_ivschat_logging_configuration", name="Logging Configuration") // @Tags(identifierAttribute="id") +// @ArnIdentity +// @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/ivschat;ivschat.GetLoggingConfigurationOutput") +// @Testing(preIdentityVersion="v6.5.0") func ResourceLoggingConfiguration() *schema.Resource { return &schema.Resource{ CreateWithoutTimeout: resourceLoggingConfigurationCreate, @@ -32,10 +35,6 @@ func ResourceLoggingConfiguration() *schema.Resource { UpdateWithoutTimeout: resourceLoggingConfigurationUpdate, DeleteWithoutTimeout: resourceLoggingConfigurationDelete, - Importer: &schema.ResourceImporter{ - StateContext: schema.ImportStatePassthroughContext, - }, - Timeouts: &schema.ResourceTimeout{ Create: schema.DefaultTimeout(5 * time.Minute), Update: schema.DefaultTimeout(5 * time.Minute), diff --git a/internal/service/ivschat/logging_configuration_identity_gen_test.go b/internal/service/ivschat/logging_configuration_identity_gen_test.go new file mode 100644 index 000000000000..7fb50536dd49 --- /dev/null +++ b/internal/service/ivschat/logging_configuration_identity_gen_test.go @@ -0,0 +1,283 @@ +// Code generated by internal/generate/identitytests/main.go; DO NOT EDIT. + +package ivschat_test + +import ( + "testing" + + "github.com/aws/aws-sdk-go-v2/service/ivschat" + "github.com/hashicorp/terraform-plugin-testing/compare" + "github.com/hashicorp/terraform-plugin-testing/config" + sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-plugin-testing/tfversion" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfstatecheck "github.com/hashicorp/terraform-provider-aws/internal/acctest/statecheck" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccIVSChatLoggingConfiguration_Identity_Basic(t *testing.T) { + ctx := acctest.Context(t) + + var v ivschat.GetLoggingConfigurationOutput + resourceName := "aws_ivschat_logging_configuration.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.IVSChatServiceID), + CheckDestroy: testAccCheckLoggingConfigurationDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/LoggingConfiguration/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckLoggingConfigurationExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.CompareValuePairs(resourceName, tfjsonpath.New(names.AttrID), resourceName, tfjsonpath.New(names.AttrARN), compare.ValuesSame()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrARN: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrARN)), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/LoggingConfiguration/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/LoggingConfiguration/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/LoggingConfiguration/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + }, + }) +} + +func TestAccIVSChatLoggingConfiguration_Identity_RegionOverride(t *testing.T) { + ctx := acctest.Context(t) + + resourceName := "aws_ivschat_logging_configuration.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.IVSChatServiceID), + CheckDestroy: acctest.CheckDestroyNoop, + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/LoggingConfiguration/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.CompareValuePairs(resourceName, tfjsonpath.New(names.AttrID), resourceName, tfjsonpath.New(names.AttrARN), compare.ValuesSame()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrARN: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrARN)), + }, + }, + + // Step 2: Import command with appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/LoggingConfiguration/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + + // Step 3: Import command without appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/LoggingConfiguration/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + + // Step 4: Import block with Import ID and appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/LoggingConfiguration/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + + // Step 5: Import block with Import ID and no appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/LoggingConfiguration/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + + // Step 6: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/LoggingConfiguration/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + }, + }) +} + +// Resource Identity was added after v6.5.0 +func TestAccIVSChatLoggingConfiguration_Identity_ExistingResource(t *testing.T) { + ctx := acctest.Context(t) + + var v ivschat.GetLoggingConfigurationOutput + resourceName := "aws_ivschat_logging_configuration.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.IVSChatServiceID), + CheckDestroy: testAccCheckLoggingConfigurationDestroy(ctx), + Steps: []resource.TestStep{ + // Step 1: Create pre-Identity + { + ConfigDirectory: config.StaticDirectory("testdata/LoggingConfiguration/basic_v6.5.0/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckLoggingConfigurationExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + tfstatecheck.ExpectNoIdentity(resourceName), + }, + }, + + // Step 2: Current version + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/LoggingConfiguration/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrARN: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrARN)), + }, + }, + }, + }) +} diff --git a/internal/service/ivschat/room.go b/internal/service/ivschat/room.go index dffb4fd7970d..a61867da6d3c 100644 --- a/internal/service/ivschat/room.go +++ b/internal/service/ivschat/room.go @@ -27,6 +27,10 @@ import ( // @SDKResource("aws_ivschat_room", name="Room") // @Tags(identifierAttribute="id") +// @ArnIdentity +// @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/ivschat;ivschat.GetRoomOutput") +// @Testing(preIdentityVersion="v6.5.0") +// @Testing(generator=false) func ResourceRoom() *schema.Resource { return &schema.Resource{ CreateWithoutTimeout: resourceRoomCreate, @@ -34,10 +38,6 @@ func ResourceRoom() *schema.Resource { UpdateWithoutTimeout: resourceRoomUpdate, DeleteWithoutTimeout: resourceRoomDelete, - Importer: &schema.ResourceImporter{ - StateContext: schema.ImportStatePassthroughContext, - }, - Timeouts: &schema.ResourceTimeout{ Create: schema.DefaultTimeout(5 * time.Minute), Update: schema.DefaultTimeout(5 * time.Minute), diff --git a/internal/service/ivschat/room_identity_gen_test.go b/internal/service/ivschat/room_identity_gen_test.go new file mode 100644 index 000000000000..6faccb6c67a9 --- /dev/null +++ b/internal/service/ivschat/room_identity_gen_test.go @@ -0,0 +1,261 @@ +// Code generated by internal/generate/identitytests/main.go; DO NOT EDIT. + +package ivschat_test + +import ( + "testing" + + "github.com/aws/aws-sdk-go-v2/service/ivschat" + "github.com/hashicorp/terraform-plugin-testing/compare" + "github.com/hashicorp/terraform-plugin-testing/config" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-plugin-testing/tfversion" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfstatecheck "github.com/hashicorp/terraform-provider-aws/internal/acctest/statecheck" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccIVSChatRoom_Identity_Basic(t *testing.T) { + ctx := acctest.Context(t) + + var v ivschat.GetRoomOutput + resourceName := "aws_ivschat_room.test" + + resource.ParallelTest(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.IVSChatServiceID), + CheckDestroy: testAccCheckRoomDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/Room/basic/"), + ConfigVariables: config.Variables{}, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckRoomExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.CompareValuePairs(resourceName, tfjsonpath.New(names.AttrID), resourceName, tfjsonpath.New(names.AttrARN), compare.ValuesSame()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrARN: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrARN)), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/Room/basic/"), + ConfigVariables: config.Variables{}, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/Room/basic/"), + ConfigVariables: config.Variables{}, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/Room/basic/"), + ConfigVariables: config.Variables{}, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + }, + }) +} + +func TestAccIVSChatRoom_Identity_RegionOverride(t *testing.T) { + ctx := acctest.Context(t) + + resourceName := "aws_ivschat_room.test" + + resource.ParallelTest(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.IVSChatServiceID), + CheckDestroy: acctest.CheckDestroyNoop, + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/Room/region_override/"), + ConfigVariables: config.Variables{ + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.CompareValuePairs(resourceName, tfjsonpath.New(names.AttrID), resourceName, tfjsonpath.New(names.AttrARN), compare.ValuesSame()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrARN: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrARN)), + }, + }, + + // Step 2: Import command with appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/Room/region_override/"), + ConfigVariables: config.Variables{ + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + + // Step 3: Import command without appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/Room/region_override/"), + ConfigVariables: config.Variables{ + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + + // Step 4: Import block with Import ID and appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/Room/region_override/"), + ConfigVariables: config.Variables{ + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + + // Step 5: Import block with Import ID and no appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/Room/region_override/"), + ConfigVariables: config.Variables{ + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + + // Step 6: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/Room/region_override/"), + ConfigVariables: config.Variables{ + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + }, + }) +} + +// Resource Identity was added after v6.5.0 +func TestAccIVSChatRoom_Identity_ExistingResource(t *testing.T) { + ctx := acctest.Context(t) + + var v ivschat.GetRoomOutput + resourceName := "aws_ivschat_room.test" + + resource.ParallelTest(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.IVSChatServiceID), + CheckDestroy: testAccCheckRoomDestroy(ctx), + Steps: []resource.TestStep{ + // Step 1: Create pre-Identity + { + ConfigDirectory: config.StaticDirectory("testdata/Room/basic_v6.5.0/"), + ConfigVariables: config.Variables{}, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckRoomExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + tfstatecheck.ExpectNoIdentity(resourceName), + }, + }, + + // Step 2: Current version + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/Room/basic/"), + ConfigVariables: config.Variables{}, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrARN: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrARN)), + }, + }, + }, + }) +} diff --git a/internal/service/ivschat/service_package_gen.go b/internal/service/ivschat/service_package_gen.go index 7d3e4396b603..02274ce5eadc 100644 --- a/internal/service/ivschat/service_package_gen.go +++ b/internal/service/ivschat/service_package_gen.go @@ -40,6 +40,12 @@ func (p *servicePackage) SDKResources(ctx context.Context) []*inttypes.ServicePa IdentifierAttribute: names.AttrID, }), Region: unique.Make(inttypes.ResourceRegionDefault()), + Identity: inttypes.RegionalARNIdentity( + inttypes.WithIdentityDuplicateAttrs(names.AttrID), + ), + Import: inttypes.SDKv2Import{ + WrappedImport: true, + }, }, { Factory: ResourceRoom, @@ -49,6 +55,12 @@ func (p *servicePackage) SDKResources(ctx context.Context) []*inttypes.ServicePa IdentifierAttribute: names.AttrID, }), Region: unique.Make(inttypes.ResourceRegionDefault()), + Identity: inttypes.RegionalARNIdentity( + inttypes.WithIdentityDuplicateAttrs(names.AttrID), + ), + Import: inttypes.SDKv2Import{ + WrappedImport: true, + }, }, } } diff --git a/internal/service/ivschat/testdata/LoggingConfiguration/basic/main_gen.tf b/internal/service/ivschat/testdata/LoggingConfiguration/basic/main_gen.tf new file mode 100644 index 000000000000..a19d91f69070 --- /dev/null +++ b/internal/service/ivschat/testdata/LoggingConfiguration/basic/main_gen.tf @@ -0,0 +1,21 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_s3_bucket" "test" { + bucket = var.rName + force_destroy = true +} + +resource "aws_ivschat_logging_configuration" "test" { + destination_configuration { + s3 { + bucket_name = aws_s3_bucket.test.id + } + } +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} diff --git a/internal/service/ivschat/testdata/LoggingConfiguration/basic_v6.5.0/main_gen.tf b/internal/service/ivschat/testdata/LoggingConfiguration/basic_v6.5.0/main_gen.tf new file mode 100644 index 000000000000..637e2febdc7b --- /dev/null +++ b/internal/service/ivschat/testdata/LoggingConfiguration/basic_v6.5.0/main_gen.tf @@ -0,0 +1,31 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_s3_bucket" "test" { + bucket = var.rName + force_destroy = true +} + +resource "aws_ivschat_logging_configuration" "test" { + destination_configuration { + s3 { + bucket_name = aws_s3_bucket.test.id + } + } +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "6.5.0" + } + } +} + +provider "aws" {} diff --git a/internal/service/ivschat/testdata/LoggingConfiguration/region_override/main_gen.tf b/internal/service/ivschat/testdata/LoggingConfiguration/region_override/main_gen.tf new file mode 100644 index 000000000000..592b286629a1 --- /dev/null +++ b/internal/service/ivschat/testdata/LoggingConfiguration/region_override/main_gen.tf @@ -0,0 +1,31 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_s3_bucket" "test" { + region = var.region + + bucket = var.rName + force_destroy = true +} + +resource "aws_ivschat_logging_configuration" "test" { + region = var.region + + destination_configuration { + s3 { + bucket_name = aws_s3_bucket.test.id + } + } +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "region" { + description = "Region to deploy resource in" + type = string + nullable = false +} diff --git a/internal/service/ivschat/testdata/Room/basic/main_gen.tf b/internal/service/ivschat/testdata/Room/basic/main_gen.tf new file mode 100644 index 000000000000..8cc01c33bdcc --- /dev/null +++ b/internal/service/ivschat/testdata/Room/basic/main_gen.tf @@ -0,0 +1,6 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_ivschat_room" "test" { +} + diff --git a/internal/service/ivschat/testdata/Room/basic_v6.5.0/main_gen.tf b/internal/service/ivschat/testdata/Room/basic_v6.5.0/main_gen.tf new file mode 100644 index 000000000000..07b528f5a951 --- /dev/null +++ b/internal/service/ivschat/testdata/Room/basic_v6.5.0/main_gen.tf @@ -0,0 +1,16 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_ivschat_room" "test" { +} + +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "6.5.0" + } + } +} + +provider "aws" {} diff --git a/internal/service/ivschat/testdata/Room/region_override/main_gen.tf b/internal/service/ivschat/testdata/Room/region_override/main_gen.tf new file mode 100644 index 000000000000..bbc646144fa1 --- /dev/null +++ b/internal/service/ivschat/testdata/Room/region_override/main_gen.tf @@ -0,0 +1,14 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_ivschat_room" "test" { + region = var.region + +} + + +variable "region" { + description = "Region to deploy resource in" + type = string + nullable = false +} diff --git a/internal/service/ivschat/testdata/tmpl/logging_configuration_basic.gtpl b/internal/service/ivschat/testdata/tmpl/logging_configuration_basic.gtpl new file mode 100644 index 000000000000..66a5ca753ecb --- /dev/null +++ b/internal/service/ivschat/testdata/tmpl/logging_configuration_basic.gtpl @@ -0,0 +1,15 @@ +resource "aws_s3_bucket" "test" { +{{- template "region" }} + bucket = var.rName + force_destroy = true +} + +resource "aws_ivschat_logging_configuration" "test" { +{{- template "region" }} + destination_configuration { + s3 { + bucket_name = aws_s3_bucket.test.id + } + } +{{- template "tags" }} +} diff --git a/internal/service/ivschat/testdata/tmpl/room_basic.gtpl b/internal/service/ivschat/testdata/tmpl/room_basic.gtpl new file mode 100644 index 000000000000..68fe84f05daa --- /dev/null +++ b/internal/service/ivschat/testdata/tmpl/room_basic.gtpl @@ -0,0 +1,4 @@ +resource "aws_ivschat_room" "test" { +{{- template "region" }} +{{- template "tags" }} +} From 4ad9d177384fbce3f2b3b4a2403afbf237d15f02 Mon Sep 17 00:00:00 2001 From: changelogbot Date: Mon, 4 Aug 2025 18:49:04 +0000 Subject: [PATCH 0272/1301] Update CHANGELOG.md for #43697 --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b16917d08e08..b5b9cf4d3004 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ ENHANCEMENTS: * data-source/aws_quicksight_user: Add `custom_permissions_name` attribute ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) * resource/aws_inspector2_enabler: Support resource import ([#43673](https://github.com/hashicorp/terraform-provider-aws/issues/43673)) +* resource/aws_ivschat_logging_configuration: Add resource identity support ([#43697](https://github.com/hashicorp/terraform-provider-aws/issues/43697)) +* resource/aws_ivschat_room: Add resource identity support ([#43697](https://github.com/hashicorp/terraform-provider-aws/issues/43697)) * resource/aws_lightsail_static_ip: Support resource import ([#43672](https://github.com/hashicorp/terraform-provider-aws/issues/43672)) * resource/aws_opensearch_domain_policy: Support resource import ([#43674](https://github.com/hashicorp/terraform-provider-aws/issues/43674)) * resource/aws_quicksight_user: Add plan-time validation of `iam_arn` ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) @@ -20,6 +22,7 @@ ENHANCEMENTS: BUG FIXES: * provider: Fix failure to detect resources deleted outside of Terraform as missing for numerous resource types ([#43659](https://github.com/hashicorp/terraform-provider-aws/issues/43659)) +* resource/aws_ec2_managed_prefix_list: Fix `PrefixListVersionMismatch: The prefix list has the incorrect version number` errors when updating entry description ([#43661](https://github.com/hashicorp/terraform-provider-aws/issues/43661)) ## 6.7.0 (July 31, 2025) From 36dda84ce439447bca0d39ca3a5a919f6ef72336 Mon Sep 17 00:00:00 2001 From: Stefan Freitag Date: Mon, 4 Aug 2025 21:04:25 +0200 Subject: [PATCH 0273/1301] chore: add changelog --- .changelog/43693.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/43693.txt diff --git a/.changelog/43693.txt b/.changelog/43693.txt new file mode 100644 index 000000000000..b3a2df3a11d9 --- /dev/null +++ b/.changelog/43693.txt @@ -0,0 +1,3 @@ +```release-note:bug +resource/aws_wafv2_regex_pattern_set: Remove maximum items limit on the `regular_expression` argument +``` \ No newline at end of file From bf0e4176df47abcbc85d6457b5676860e427334a Mon Sep 17 00:00:00 2001 From: anthony Date: Mon, 4 Aug 2025 12:55:07 -0600 Subject: [PATCH 0274/1301] feat(bedrock): Add enhanced action fields to bedrock_guardrail resource - Add input_action, output_action, input_enabled, output_enabled fields to pii_entities_config and regexes_config - Maintain backwards compatibility with existing action field (required) - Add comprehensive test coverage for enhanced actions - Update documentation for all language variants (Terraform, Python CDK, TypeScript CDK) - Follow consistent naming patterns using names.Attr* constants Closes: Support for AWS CLI enhanced guardrail action fields Ref: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GuardrailPiiEntityConfig.html Ref: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GuardrailRegexConfig.html --- internal/service/bedrock/guardrail.go | 81 +++++++++++++++++-- internal/service/bedrock/guardrail_test.go | 75 +++++++++++++++++ names/attr_constants.csv | 4 + names/attr_consts_gen.go | 4 + .../python/r/bedrock_guardrail.html.markdown | 14 +++- .../r/bedrock_guardrail.html.markdown | 14 +++- .../docs/r/bedrock_guardrail.html.markdown | 32 ++++++-- 7 files changed, 204 insertions(+), 20 deletions(-) diff --git a/internal/service/bedrock/guardrail.go b/internal/service/bedrock/guardrail.go index 1b42e717a7eb..2cb9c0b50553 100644 --- a/internal/service/bedrock/guardrail.go +++ b/internal/service/bedrock/guardrail.go @@ -21,6 +21,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/path" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/boolplanmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/listplanmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" @@ -225,6 +226,36 @@ func (r *guardrailResource) Schema(ctx context.Context, req resource.SchemaReque Required: true, CustomType: fwtypes.StringEnumType[awstypes.GuardrailSensitiveInformationAction](), }, + names.AttrInputAction: schema.StringAttribute{ + Optional: true, + Computed: true, + CustomType: fwtypes.StringEnumType[awstypes.GuardrailSensitiveInformationAction](), + PlanModifiers: []planmodifier.String{ + stringplanmodifier.UseStateForUnknown(), + }, + }, + names.AttrInputEnabled: schema.BoolAttribute{ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Bool{ + boolplanmodifier.UseStateForUnknown(), + }, + }, + names.AttrOutputAction: schema.StringAttribute{ + Optional: true, + Computed: true, + CustomType: fwtypes.StringEnumType[awstypes.GuardrailSensitiveInformationAction](), + PlanModifiers: []planmodifier.String{ + stringplanmodifier.UseStateForUnknown(), + }, + }, + names.AttrOutputEnabled: schema.BoolAttribute{ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Bool{ + boolplanmodifier.UseStateForUnknown(), + }, + }, names.AttrType: schema.StringAttribute{ Required: true, CustomType: fwtypes.StringEnumType[awstypes.GuardrailPiiEntityType](), @@ -250,12 +281,42 @@ func (r *guardrailResource) Schema(ctx context.Context, req resource.SchemaReque stringplanmodifier.UseStateForUnknown(), }, }, + names.AttrInputAction: schema.StringAttribute{ + Optional: true, + Computed: true, + CustomType: fwtypes.StringEnumType[awstypes.GuardrailSensitiveInformationAction](), + PlanModifiers: []planmodifier.String{ + stringplanmodifier.UseStateForUnknown(), + }, + }, + names.AttrInputEnabled: schema.BoolAttribute{ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Bool{ + boolplanmodifier.UseStateForUnknown(), + }, + }, names.AttrName: schema.StringAttribute{ Required: true, Validators: []validator.String{ stringvalidator.LengthBetween(1, 100), }, }, + names.AttrOutputAction: schema.StringAttribute{ + Optional: true, + Computed: true, + CustomType: fwtypes.StringEnumType[awstypes.GuardrailSensitiveInformationAction](), + PlanModifiers: []planmodifier.String{ + stringplanmodifier.UseStateForUnknown(), + }, + }, + names.AttrOutputEnabled: schema.BoolAttribute{ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Bool{ + boolplanmodifier.UseStateForUnknown(), + }, + }, "pattern": schema.StringAttribute{ Required: true, Validators: []validator.String{ @@ -734,15 +795,23 @@ type sensitiveInformationPolicyConfig struct { } type piiEntitiesConfig struct { - Action fwtypes.StringEnum[awstypes.GuardrailSensitiveInformationAction] `tfsdk:"action"` - Type fwtypes.StringEnum[awstypes.GuardrailPiiEntityType] `tfsdk:"type"` + Action fwtypes.StringEnum[awstypes.GuardrailSensitiveInformationAction] `tfsdk:"action"` + InputAction fwtypes.StringEnum[awstypes.GuardrailSensitiveInformationAction] `tfsdk:"input_action"` + InputEnabled types.Bool `tfsdk:"input_enabled"` + OutputAction fwtypes.StringEnum[awstypes.GuardrailSensitiveInformationAction] `tfsdk:"output_action"` + OutputEnabled types.Bool `tfsdk:"output_enabled"` + Type fwtypes.StringEnum[awstypes.GuardrailPiiEntityType] `tfsdk:"type"` } type regexesConfig struct { - Action fwtypes.StringEnum[awstypes.GuardrailSensitiveInformationAction] `tfsdk:"action"` - Description types.String `tfsdk:"description"` - Name types.String `tfsdk:"name"` - Pattern types.String `tfsdk:"pattern"` + Action fwtypes.StringEnum[awstypes.GuardrailSensitiveInformationAction] `tfsdk:"action"` + Description types.String `tfsdk:"description"` + InputAction fwtypes.StringEnum[awstypes.GuardrailSensitiveInformationAction] `tfsdk:"input_action"` + InputEnabled types.Bool `tfsdk:"input_enabled"` + Name types.String `tfsdk:"name"` + OutputAction fwtypes.StringEnum[awstypes.GuardrailSensitiveInformationAction] `tfsdk:"output_action"` + OutputEnabled types.Bool `tfsdk:"output_enabled"` + Pattern types.String `tfsdk:"pattern"` } type guardrailTopicPolicyConfigModel struct { diff --git a/internal/service/bedrock/guardrail_test.go b/internal/service/bedrock/guardrail_test.go index 2c222a66cd6e..390dd7319b04 100644 --- a/internal/service/bedrock/guardrail_test.go +++ b/internal/service/bedrock/guardrail_test.go @@ -579,3 +579,78 @@ resource "aws_bedrock_guardrail" "test" { } `, rName) } + +func TestAccBedrockGuardrail_enhancedActions(t *testing.T) { + ctx := acctest.Context(t) + + var guardrail bedrock.GetGuardrailOutput + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_bedrock_guardrail.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckPartitionHasService(t, names.BedrockEndpointID) + acctest.PreCheckRegion(t, endpoints.UsWest2RegionID) + }, + ErrorCheck: acctest.ErrorCheck(t, names.BedrockServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckGuardrailDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccGuardrailConfig_enhancedActions(rName), + Check: resource.ComposeTestCheckFunc( + testAccCheckGuardrailExists(ctx, resourceName, &guardrail), + resource.TestCheckResourceAttr(resourceName, "sensitive_information_policy_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "sensitive_information_policy_config.0.pii_entities_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "sensitive_information_policy_config.0.pii_entities_config.0.input_action", "BLOCK"), + resource.TestCheckResourceAttr(resourceName, "sensitive_information_policy_config.0.pii_entities_config.0.output_action", "ANONYMIZE"), + resource.TestCheckResourceAttr(resourceName, "sensitive_information_policy_config.0.pii_entities_config.0.input_enabled", acctest.CtTrue), + resource.TestCheckResourceAttr(resourceName, "sensitive_information_policy_config.0.pii_entities_config.0.output_enabled", acctest.CtFalse), + resource.TestCheckResourceAttr(resourceName, "sensitive_information_policy_config.0.regexes_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "sensitive_information_policy_config.0.regexes_config.0.input_action", "ANONYMIZE"), + resource.TestCheckResourceAttr(resourceName, "sensitive_information_policy_config.0.regexes_config.0.output_action", "BLOCK"), + resource.TestCheckResourceAttr(resourceName, "sensitive_information_policy_config.0.regexes_config.0.input_enabled", acctest.CtFalse), + resource.TestCheckResourceAttr(resourceName, "sensitive_information_policy_config.0.regexes_config.0.output_enabled", acctest.CtTrue), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: testAccGuardrailImportStateIDFunc(resourceName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "guardrail_id", + }, + }, + }) +} + +func testAccGuardrailConfig_enhancedActions(rName string) string { + return fmt.Sprintf(` +resource "aws_bedrock_guardrail" "test" { + name = %[1]q + blocked_input_messaging = "test" + blocked_outputs_messaging = "test" + description = "test" + + sensitive_information_policy_config { + pii_entities_config { + input_action = "BLOCK" + output_action = "ANONYMIZE" + input_enabled = true + output_enabled = false + type = "NAME" + } + regexes_config { + input_action = "ANONYMIZE" + output_action = "BLOCK" + input_enabled = false + output_enabled = true + description = "enhanced regex example" + name = "enhanced_regex" + pattern = "^\d{3}-\d{2}-\d{4}$" + } + } +} +`, rName) +} diff --git a/names/attr_constants.csv b/names/attr_constants.csv index 292ca28a602c..12856e9d0273 100644 --- a/names/attr_constants.csv +++ b/names/attr_constants.csv @@ -89,6 +89,8 @@ iam_role_arn,IAMRoleARN id,ID identifier,Identifier ids,IDs +input_action,InputAction +input_enabled,InputEnabled instance_count,InstanceCount instance_id,InstanceID instance_type,InstanceType @@ -127,6 +129,8 @@ network_interface_id,NetworkInterfaceID owner,Owner owner_account_id,OwnerAccountID owner_id,OwnerID +output_action,OutputAction +output_enabled,OutputEnabled parameter,Parameter parameter_group_name,ParameterGroupName parameters,Parameters diff --git a/names/attr_consts_gen.go b/names/attr_consts_gen.go index 783e418eb0f4..85b683254a18 100644 --- a/names/attr_consts_gen.go +++ b/names/attr_consts_gen.go @@ -100,6 +100,8 @@ const ( AttrIPAddressType = "ip_address_type" AttrIPAddresses = "ip_addresses" AttrIdentifier = "identifier" + AttrInputAction = "input_action" + AttrInputEnabled = "input_enabled" AttrInstanceCount = "instance_count" AttrInstanceID = "instance_id" AttrInstanceType = "instance_type" @@ -131,6 +133,8 @@ const ( AttrNamespace = "namespace" AttrNetworkConfiguration = "network_configuration" AttrNetworkInterfaceID = "network_interface_id" + AttrOutputAction = "output_action" + AttrOutputEnabled = "output_enabled" AttrOwner = "owner" AttrOwnerAccountID = "owner_account_id" AttrOwnerID = "owner_id" diff --git a/website/docs/cdktf/python/r/bedrock_guardrail.html.markdown b/website/docs/cdktf/python/r/bedrock_guardrail.html.markdown index 7b51d4938cab..54572754d755 100644 --- a/website/docs/cdktf/python/r/bedrock_guardrail.html.markdown +++ b/website/docs/cdktf/python/r/bedrock_guardrail.html.markdown @@ -157,13 +157,21 @@ The `tier_config` configuration block supports the following arguments: #### PII Entities Config -* `action` (Required) Options for sensitive information action. +* `action` (Required) Options for sensitive information action. Valid values: `BLOCK`, `ANONYMIZE`, `NONE`. +* `input_action` (Optional) Action to take when harmful content is detected in the input. Valid values: `BLOCK`, `ANONYMIZE`, `NONE`. +* `input_enabled` (Optional) Whether to enable guardrail evaluation on the input. When disabled, you aren't charged for the evaluation. +* `output_action` (Optional) Action to take when harmful content is detected in the output. Valid values: `BLOCK`, `ANONYMIZE`, `NONE`. +* `output_enabled` (Optional) Whether to enable guardrail evaluation on the output. When disabled, you aren't charged for the evaluation. * `type` (Required) The currently supported PII entities. #### Regexes Config -* `action` (Required) Options for sensitive information action. +* `action` (Required) Options for sensitive information action. Valid values: `BLOCK`, `ANONYMIZE`, `NONE`. +* `input_action` (Optional) Action to take when harmful content is detected in the input. Valid values: `BLOCK`, `ANONYMIZE`, `NONE`. +* `input_enabled` (Optional) Whether to enable guardrail evaluation on the input. When disabled, you aren't charged for the evaluation. * `name` (Required) The regex name. +* `output_action` (Optional) Action to take when harmful content is detected in the output. Valid values: `BLOCK`, `ANONYMIZE`, `NONE`. +* `output_enabled` (Optional) Whether to enable guardrail evaluation on the output. When disabled, you aren't charged for the evaluation. * `pattern` (Required) The regex pattern. * `description` (Optional) The regex description. @@ -223,4 +231,4 @@ Using `terraform import`, import Amazon Bedrock Guardrail using using a comma-de % terraform import aws_bedrock_guardrail.example guardrail-id-12345678,DRAFT ``` - \ No newline at end of file + diff --git a/website/docs/cdktf/typescript/r/bedrock_guardrail.html.markdown b/website/docs/cdktf/typescript/r/bedrock_guardrail.html.markdown index a3d297a01b7f..9209e2835a3a 100644 --- a/website/docs/cdktf/typescript/r/bedrock_guardrail.html.markdown +++ b/website/docs/cdktf/typescript/r/bedrock_guardrail.html.markdown @@ -157,13 +157,21 @@ The `tier_config` configuration block supports the following arguments: #### PII Entities Config -* `action` (Required) Options for sensitive information action. +* `action` (Required) Options for sensitive information action. Valid values: `BLOCK`, `ANONYMIZE`, `NONE`. +* `inputAction` (Optional) Action to take when harmful content is detected in the input. Valid values: `BLOCK`, `ANONYMIZE`, `NONE`. +* `inputEnabled` (Optional) Whether to enable guardrail evaluation on the input. When disabled, you aren't charged for the evaluation. +* `outputAction` (Optional) Action to take when harmful content is detected in the output. Valid values: `BLOCK`, `ANONYMIZE`, `NONE`. +* `outputEnabled` (Optional) Whether to enable guardrail evaluation on the output. When disabled, you aren't charged for the evaluation. * `type` (Required) The currently supported PII entities. #### Regexes Config -* `action` (Required) Options for sensitive information action. +* `action` (Required) Options for sensitive information action. Valid values: `BLOCK`, `ANONYMIZE`, `NONE`. * `name` (Required) The regex name. +* `inputAction` (Optional) Action to take when harmful content is detected in the input. Valid values: `BLOCK`, `ANONYMIZE`, `NONE`. +* `inputEnabled` (Optional) Whether to enable guardrail evaluation on the input. When disabled, you aren't charged for the evaluation. +* `outputAction` (Optional) Action to take when harmful content is detected in the output. Valid values: `BLOCK`, `ANONYMIZE`, `NONE`. +* `outputEnabled` (Optional) Whether to enable guardrail evaluation on the output. When disabled, you aren't charged for the evaluation. * `pattern` (Required) The regex pattern. * `description` (Optional) The regex description. @@ -230,4 +238,4 @@ Using `terraform import`, import Amazon Bedrock Guardrail using using a comma-de % terraform import aws_bedrock_guardrail.example guardrail-id-12345678,DRAFT ``` - \ No newline at end of file + diff --git a/website/docs/r/bedrock_guardrail.html.markdown b/website/docs/r/bedrock_guardrail.html.markdown index 9fba113b093b..8d01928ef910 100644 --- a/website/docs/r/bedrock_guardrail.html.markdown +++ b/website/docs/r/bedrock_guardrail.html.markdown @@ -34,15 +34,23 @@ resource "aws_bedrock_guardrail" "example" { sensitive_information_policy_config { pii_entities_config { - action = "BLOCK" - type = "NAME" + action = "BLOCK" + input_action = "BLOCK" + output_action = "ANONYMIZE" + input_enabled = true + output_enabled = true + type = "NAME" } regexes_config { - action = "BLOCK" - description = "example regex" - name = "regex_example" - pattern = "^\\d{3}-\\d{2}-\\d{4}$" + action = "BLOCK" + input_action = "BLOCK" + output_action = "BLOCK" + input_enabled = true + output_enabled = false + description = "example regex" + name = "regex_example" + pattern = "^\\d{3}-\\d{2}-\\d{4}$" } } @@ -155,13 +163,21 @@ The `tier_config` configuration block supports the following arguments: #### PII Entities Config -* `action` (Required) Options for sensitive information action. +* `action` (Required) Options for sensitive information action. Valid values: `BLOCK`, `ANONYMIZE`, `NONE`. +* `input_action` (Optional) Action to take when harmful content is detected in the input. Valid values: `BLOCK`, `ANONYMIZE`, `NONE`. +* `input_enabled` (Optional) Whether to enable guardrail evaluation on the input. When disabled, you aren't charged for the evaluation. +* `output_action` (Optional) Action to take when harmful content is detected in the output. Valid values: `BLOCK`, `ANONYMIZE`, `NONE`. +* `output_enabled` (Optional) Whether to enable guardrail evaluation on the output. When disabled, you aren't charged for the evaluation. * `type` (Required) The currently supported PII entities. #### Regexes Config -* `action` (Required) Options for sensitive information action. +* `action` (Required) Options for sensitive information action. Valid values: `BLOCK`, `ANONYMIZE`, `NONE`. +* `input_action` (Optional) Action to take when harmful content is detected in the input. Valid values: `BLOCK`, `ANONYMIZE`, `NONE`. +* `input_enabled` (Optional) Whether to enable guardrail evaluation on the input. When disabled, you aren't charged for the evaluation. * `name` (Required) The regex name. +* `output_action` (Optional) Action to take when harmful content is detected in the output. Valid values: `BLOCK`, `ANONYMIZE`, `NONE`. +* `output_enabled` (Optional) Whether to enable guardrail evaluation on the output. When disabled, you aren't charged for the evaluation. * `pattern` (Required) The regex pattern. * `description` (Optional) The regex description. From 5b810f0d5e10821465467ec95dd038096aabf110 Mon Sep 17 00:00:00 2001 From: anthony Date: Mon, 4 Aug 2025 13:09:25 -0600 Subject: [PATCH 0275/1301] Fix test configuration and include required action field in enhanced actions test --- CHANGELOG.md | 4 +--- internal/service/bedrock/guardrail_test.go | 2 ++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b5b9cf4d3004..4f4eefe56914 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,9 +9,8 @@ FEATURES: ENHANCEMENTS: * data-source/aws_quicksight_user: Add `custom_permissions_name` attribute ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) +* resource/aws_bedrock_guardrail: Add `input_action`, `output_action`, `input_enabled`, and `output_enabled` fields to `pii_entities_config` and `regexes_config` blocks for enhanced granular control over guardrail actions * resource/aws_inspector2_enabler: Support resource import ([#43673](https://github.com/hashicorp/terraform-provider-aws/issues/43673)) -* resource/aws_ivschat_logging_configuration: Add resource identity support ([#43697](https://github.com/hashicorp/terraform-provider-aws/issues/43697)) -* resource/aws_ivschat_room: Add resource identity support ([#43697](https://github.com/hashicorp/terraform-provider-aws/issues/43697)) * resource/aws_lightsail_static_ip: Support resource import ([#43672](https://github.com/hashicorp/terraform-provider-aws/issues/43672)) * resource/aws_opensearch_domain_policy: Support resource import ([#43674](https://github.com/hashicorp/terraform-provider-aws/issues/43674)) * resource/aws_quicksight_user: Add plan-time validation of `iam_arn` ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) @@ -22,7 +21,6 @@ ENHANCEMENTS: BUG FIXES: * provider: Fix failure to detect resources deleted outside of Terraform as missing for numerous resource types ([#43659](https://github.com/hashicorp/terraform-provider-aws/issues/43659)) -* resource/aws_ec2_managed_prefix_list: Fix `PrefixListVersionMismatch: The prefix list has the incorrect version number` errors when updating entry description ([#43661](https://github.com/hashicorp/terraform-provider-aws/issues/43661)) ## 6.7.0 (July 31, 2025) diff --git a/internal/service/bedrock/guardrail_test.go b/internal/service/bedrock/guardrail_test.go index 390dd7319b04..f8fbe9b28715 100644 --- a/internal/service/bedrock/guardrail_test.go +++ b/internal/service/bedrock/guardrail_test.go @@ -603,11 +603,13 @@ func TestAccBedrockGuardrail_enhancedActions(t *testing.T) { testAccCheckGuardrailExists(ctx, resourceName, &guardrail), resource.TestCheckResourceAttr(resourceName, "sensitive_information_policy_config.#", "1"), resource.TestCheckResourceAttr(resourceName, "sensitive_information_policy_config.0.pii_entities_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "sensitive_information_policy_config.0.pii_entities_config.0.action", "BLOCK"), resource.TestCheckResourceAttr(resourceName, "sensitive_information_policy_config.0.pii_entities_config.0.input_action", "BLOCK"), resource.TestCheckResourceAttr(resourceName, "sensitive_information_policy_config.0.pii_entities_config.0.output_action", "ANONYMIZE"), resource.TestCheckResourceAttr(resourceName, "sensitive_information_policy_config.0.pii_entities_config.0.input_enabled", acctest.CtTrue), resource.TestCheckResourceAttr(resourceName, "sensitive_information_policy_config.0.pii_entities_config.0.output_enabled", acctest.CtFalse), resource.TestCheckResourceAttr(resourceName, "sensitive_information_policy_config.0.regexes_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "sensitive_information_policy_config.0.regexes_config.0.action", "ANONYMIZE"), resource.TestCheckResourceAttr(resourceName, "sensitive_information_policy_config.0.regexes_config.0.input_action", "ANONYMIZE"), resource.TestCheckResourceAttr(resourceName, "sensitive_information_policy_config.0.regexes_config.0.output_action", "BLOCK"), resource.TestCheckResourceAttr(resourceName, "sensitive_information_policy_config.0.regexes_config.0.input_enabled", acctest.CtFalse), From 17b07f420a66e28d68891176941815f5dd3f04c5 Mon Sep 17 00:00:00 2001 From: anthony Date: Mon, 4 Aug 2025 13:26:33 -0600 Subject: [PATCH 0276/1301] Add required action field to enhanced actions test configuration The action field is still required by the AWS API even when using the new enhanced action fields (input_action, output_action, etc). --- internal/service/bedrock/guardrail_test.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/internal/service/bedrock/guardrail_test.go b/internal/service/bedrock/guardrail_test.go index f8fbe9b28715..a4efc3b00fed 100644 --- a/internal/service/bedrock/guardrail_test.go +++ b/internal/service/bedrock/guardrail_test.go @@ -637,6 +637,7 @@ resource "aws_bedrock_guardrail" "test" { sensitive_information_policy_config { pii_entities_config { + action = "BLOCK" input_action = "BLOCK" output_action = "ANONYMIZE" input_enabled = true @@ -644,6 +645,7 @@ resource "aws_bedrock_guardrail" "test" { type = "NAME" } regexes_config { + action = "ANONYMIZE" input_action = "ANONYMIZE" output_action = "BLOCK" input_enabled = false From 30623d104b7b5de5a752d7fbf84cbb21b462516d Mon Sep 17 00:00:00 2001 From: anthony Date: Mon, 4 Aug 2025 13:32:41 -0600 Subject: [PATCH 0277/1301] Add changelog entry and remove direct CHANGELOG.md modifications - Create .changelog/43702.txt with proper enhancement entry - Remove direct CHANGELOG.md modifications per process guidelines --- .changelog/43702.txt | 3 +++ CHANGELOG.md | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 .changelog/43702.txt diff --git a/.changelog/43702.txt b/.changelog/43702.txt new file mode 100644 index 000000000000..1f5139e749b6 --- /dev/null +++ b/.changelog/43702.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/aws_bedrock_guardrail: Add `input_action`, `output_action`, `input_enabled`, and `output_enabled` fields to `pii_entities_config` and `regexes_config` blocks for enhanced granular control over guardrail actions +``` diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f4eefe56914..b5b9cf4d3004 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,8 +9,9 @@ FEATURES: ENHANCEMENTS: * data-source/aws_quicksight_user: Add `custom_permissions_name` attribute ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) -* resource/aws_bedrock_guardrail: Add `input_action`, `output_action`, `input_enabled`, and `output_enabled` fields to `pii_entities_config` and `regexes_config` blocks for enhanced granular control over guardrail actions * resource/aws_inspector2_enabler: Support resource import ([#43673](https://github.com/hashicorp/terraform-provider-aws/issues/43673)) +* resource/aws_ivschat_logging_configuration: Add resource identity support ([#43697](https://github.com/hashicorp/terraform-provider-aws/issues/43697)) +* resource/aws_ivschat_room: Add resource identity support ([#43697](https://github.com/hashicorp/terraform-provider-aws/issues/43697)) * resource/aws_lightsail_static_ip: Support resource import ([#43672](https://github.com/hashicorp/terraform-provider-aws/issues/43672)) * resource/aws_opensearch_domain_policy: Support resource import ([#43674](https://github.com/hashicorp/terraform-provider-aws/issues/43674)) * resource/aws_quicksight_user: Add plan-time validation of `iam_arn` ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) @@ -21,6 +22,7 @@ ENHANCEMENTS: BUG FIXES: * provider: Fix failure to detect resources deleted outside of Terraform as missing for numerous resource types ([#43659](https://github.com/hashicorp/terraform-provider-aws/issues/43659)) +* resource/aws_ec2_managed_prefix_list: Fix `PrefixListVersionMismatch: The prefix list has the incorrect version number` errors when updating entry description ([#43661](https://github.com/hashicorp/terraform-provider-aws/issues/43661)) ## 6.7.0 (July 31, 2025) From 0c7f78b4f046dc4c859cfcd700689d0a19e16570 Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Mon, 4 Aug 2025 16:21:15 -0500 Subject: [PATCH 0278/1301] add CHANGELOG entry (#43705) --- .changelog/43337.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/43337.txt diff --git a/.changelog/43337.txt b/.changelog/43337.txt new file mode 100644 index 000000000000..9b2ce0d52e41 --- /dev/null +++ b/.changelog/43337.txt @@ -0,0 +1,3 @@ +```release-note:bug +resource/aws_batch_compute_environment: Fix `inconsistent final plan` error when `compute_resource.launch_template.version` is unknown during an update +``` \ No newline at end of file From 0315b2830b8e0ee4aa323af8c14d6cb7210c3c15 Mon Sep 17 00:00:00 2001 From: changelogbot Date: Mon, 4 Aug 2025 21:26:10 +0000 Subject: [PATCH 0279/1301] Update CHANGELOG.md for #43705 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b5b9cf4d3004..4cbe162e0302 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ ENHANCEMENTS: BUG FIXES: * provider: Fix failure to detect resources deleted outside of Terraform as missing for numerous resource types ([#43659](https://github.com/hashicorp/terraform-provider-aws/issues/43659)) +* resource/aws_batch_compute_environment: Fix `inconsistent final plan` error when `compute_resource.launch_template.version` is unknown during an update ([#43337](https://github.com/hashicorp/terraform-provider-aws/issues/43337)) * resource/aws_ec2_managed_prefix_list: Fix `PrefixListVersionMismatch: The prefix list has the incorrect version number` errors when updating entry description ([#43661](https://github.com/hashicorp/terraform-provider-aws/issues/43661)) ## 6.7.0 (July 31, 2025) From 0417a8ccb813fcf97b4a0910a668a68fc9e4dbb6 Mon Sep 17 00:00:00 2001 From: anthony Date: Mon, 4 Aug 2025 16:31:07 -0600 Subject: [PATCH 0280/1301] fix(test): escape backslash in regex pattern for enhanced guardrail test --- internal/service/bedrock/guardrail_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/bedrock/guardrail_test.go b/internal/service/bedrock/guardrail_test.go index a4efc3b00fed..bb338c9a4ac9 100644 --- a/internal/service/bedrock/guardrail_test.go +++ b/internal/service/bedrock/guardrail_test.go @@ -652,7 +652,7 @@ resource "aws_bedrock_guardrail" "test" { output_enabled = true description = "enhanced regex example" name = "enhanced_regex" - pattern = "^\d{3}-\d{2}-\d{4}$" + pattern = "^\\d{3}-\\d{2}-\\d{4}$" } } } From 954383ac17a7a3c961e56f83ef5bc6132a5aa07a Mon Sep 17 00:00:00 2001 From: Ryotaro Oda Date: Tue, 5 Aug 2025 14:51:22 +0900 Subject: [PATCH 0281/1301] fix: handle maintainance configuration only exists --- internal/service/s3tables/table_bucket.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/internal/service/s3tables/table_bucket.go b/internal/service/s3tables/table_bucket.go index a4ecd768546c..7d041ea81a5c 100644 --- a/internal/service/s3tables/table_bucket.go +++ b/internal/service/s3tables/table_bucket.go @@ -255,12 +255,14 @@ func (r *tableBucketResource) Read(ctx context.Context, req resource.ReadRequest err.Error(), ) } - maintenanceConfiguration, d := flattenTableBucketMaintenanceConfiguration(ctx, awsMaintenanceConfig) - resp.Diagnostics.Append(d...) - if resp.Diagnostics.HasError() { - return + if awsMaintenanceConfig != nil { + maintenanceConfiguration, d := flattenTableBucketMaintenanceConfiguration(ctx, awsMaintenanceConfig) + resp.Diagnostics.Append(d...) + if resp.Diagnostics.HasError() { + return + } + state.MaintenanceConfiguration = maintenanceConfiguration } - state.MaintenanceConfiguration = maintenanceConfiguration awsEncryptionConfig, err := findTableBucketEncryptionConfiguration(ctx, conn, state.ARN.ValueString()) switch { From ffbd323285ba6a53b212bd0d1abe5ec80d9f1b23 Mon Sep 17 00:00:00 2001 From: Ryotaro Oda Date: Tue, 5 Aug 2025 15:01:34 +0900 Subject: [PATCH 0282/1301] fix: changelog --- .changelog/43707.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/43707.txt diff --git a/.changelog/43707.txt b/.changelog/43707.txt new file mode 100644 index 000000000000..ef6ce8a84ebb --- /dev/null +++ b/.changelog/43707.txt @@ -0,0 +1,3 @@ +```release-note:bug +resource/aws_s3tables_table_bucket: Fix panic on maintenance configuration read failure +``` \ No newline at end of file From 88789e5f2c3a6529c3b5137d0c3b972e0bc232dd Mon Sep 17 00:00:00 2001 From: Ryotaro Oda Date: Tue, 5 Aug 2025 15:01:41 +0900 Subject: [PATCH 0283/1301] fix: other points --- internal/service/s3tables/table_bucket.go | 24 +++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/internal/service/s3tables/table_bucket.go b/internal/service/s3tables/table_bucket.go index 7d041ea81a5c..ed27c35b3526 100644 --- a/internal/service/s3tables/table_bucket.go +++ b/internal/service/s3tables/table_bucket.go @@ -192,12 +192,14 @@ func (r *tableBucketResource) Create(ctx context.Context, req resource.CreateReq err.Error(), ) } - maintenanceConfiguration, d := flattenTableBucketMaintenanceConfiguration(ctx, awsMaintenanceConfig) - resp.Diagnostics.Append(d...) - if resp.Diagnostics.HasError() { - return + if awsMaintenanceConfig != nil { + maintenanceConfiguration, d := flattenTableBucketMaintenanceConfiguration(ctx, awsMaintenanceConfig) + resp.Diagnostics.Append(d...) + if resp.Diagnostics.HasError() { + return + } + plan.MaintenanceConfiguration = maintenanceConfiguration } - plan.MaintenanceConfiguration = maintenanceConfiguration awsEncryptionConfig, err := findTableBucketEncryptionConfiguration(ctx, conn, plan.ARN.ValueString()) switch { @@ -367,12 +369,14 @@ func (r *tableBucketResource) Update(ctx context.Context, req resource.UpdateReq err.Error(), ) } - maintenanceConfiguration, d := flattenTableBucketMaintenanceConfiguration(ctx, awsMaintenanceConfig) - resp.Diagnostics.Append(d...) - if resp.Diagnostics.HasError() { - return + if awsMaintenanceConfig != nil { + maintenanceConfiguration, d := flattenTableBucketMaintenanceConfiguration(ctx, awsMaintenanceConfig) + resp.Diagnostics.Append(d...) + if resp.Diagnostics.HasError() { + return + } + plan.MaintenanceConfiguration = maintenanceConfiguration } - plan.MaintenanceConfiguration = maintenanceConfiguration } resp.Diagnostics.Append(resp.State.Set(ctx, &plan)...) From 792ba5c12d1d6b7bdce2e06edc4539ca8cef34ec Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:03:51 -0400 Subject: [PATCH 0284/1301] go get github.com/aws/aws-sdk-go-v2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 67c1a82e3d18..84e193babba4 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/YakDriver/go-version v0.1.0 github.com/YakDriver/regexache v0.24.0 github.com/YakDriver/smarterr v0.6.0 - github.com/aws/aws-sdk-go-v2 v1.37.1 + github.com/aws/aws-sdk-go-v2 v1.37.2 github.com/aws/aws-sdk-go-v2/config v1.30.2 github.com/aws/aws-sdk-go-v2/credentials v1.18.2 github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.1 diff --git a/go.sum b/go.sum index 075c4849cfee..747ed0a24bd2 100644 --- a/go.sum +++ b/go.sum @@ -23,8 +23,8 @@ github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/aws/aws-sdk-go-v2 v1.37.1 h1:SMUxeNz3Z6nqGsXv0JuJXc8w5YMtrQMuIBmDx//bBDY= -github.com/aws/aws-sdk-go-v2 v1.37.1/go.mod h1:9Q0OoGQoboYIAJyslFyF1f5K1Ryddop8gqMhWx/n4Wg= +github.com/aws/aws-sdk-go-v2 v1.37.2 h1:xkW1iMYawzcmYFYEV0UCMxc8gSsjCGEhBXQkdQywVbo= +github.com/aws/aws-sdk-go-v2 v1.37.2/go.mod h1:9Q0OoGQoboYIAJyslFyF1f5K1Ryddop8gqMhWx/n4Wg= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.0 h1:6GMWV6CNpA/6fbFHnoAjrv4+LGfyTqZz2LtCHnspgDg= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.0/go.mod h1:/mXlTIVG9jbxkqDnr5UQNQxW1HRYxeGklkM9vAFeabg= github.com/aws/aws-sdk-go-v2/config v1.30.2 h1:YE1BmSc4fFYqFgN1mN8uzrtc7R9x+7oSWeX8ckoltAw= From 579c80ae73b102eadb2c7884cb9655d3da82fa6c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:03:52 -0400 Subject: [PATCH 0285/1301] go get github.com/aws/aws-sdk-go-v2/config. --- go.mod | 18 +++++++++--------- go.sum | 36 ++++++++++++++++++------------------ 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/go.mod b/go.mod index 84e193babba4..7a73680ffd95 100644 --- a/go.mod +++ b/go.mod @@ -12,9 +12,9 @@ require ( github.com/YakDriver/regexache v0.24.0 github.com/YakDriver/smarterr v0.6.0 github.com/aws/aws-sdk-go-v2 v1.37.2 - github.com/aws/aws-sdk-go-v2/config v1.30.2 - github.com/aws/aws-sdk-go-v2/credentials v1.18.2 - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.1 + github.com/aws/aws-sdk-go-v2/config v1.30.3 + github.com/aws/aws-sdk-go-v2/credentials v1.18.3 + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.2 github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.2 github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.41.1 github.com/aws/aws-sdk-go-v2/service/account v1.25.1 @@ -248,10 +248,10 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.36.1 github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.5.1 github.com/aws/aws-sdk-go-v2/service/ssmsap v1.21.1 - github.com/aws/aws-sdk-go-v2/service/sso v1.26.1 + github.com/aws/aws-sdk-go-v2/service/sso v1.27.0 github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.32.1 github.com/aws/aws-sdk-go-v2/service/storagegateway v1.39.1 - github.com/aws/aws-sdk-go-v2/service/sts v1.35.1 + github.com/aws/aws-sdk-go-v2/service/sts v1.36.0 github.com/aws/aws-sdk-go-v2/service/swf v1.29.1 github.com/aws/aws-sdk-go-v2/service/synthetics v1.37.1 github.com/aws/aws-sdk-go-v2/service/taxsettings v1.13.1 @@ -322,16 +322,16 @@ require ( github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect github.com/armon/go-radix v1.0.0 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.0 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.1 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.1 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.2 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.2 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 // indirect github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.1 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 // indirect github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.1 // indirect github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.1 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.1 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2 // indirect github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.31.1 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.32.0 // indirect github.com/bgentry/speakeasy v0.1.0 // indirect github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc // indirect github.com/cloudflare/circl v1.6.1 // indirect diff --git a/go.sum b/go.sum index 747ed0a24bd2..9645deee12e7 100644 --- a/go.sum +++ b/go.sum @@ -27,18 +27,18 @@ github.com/aws/aws-sdk-go-v2 v1.37.2 h1:xkW1iMYawzcmYFYEV0UCMxc8gSsjCGEhBXQkdQyw github.com/aws/aws-sdk-go-v2 v1.37.2/go.mod h1:9Q0OoGQoboYIAJyslFyF1f5K1Ryddop8gqMhWx/n4Wg= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.0 h1:6GMWV6CNpA/6fbFHnoAjrv4+LGfyTqZz2LtCHnspgDg= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.0/go.mod h1:/mXlTIVG9jbxkqDnr5UQNQxW1HRYxeGklkM9vAFeabg= -github.com/aws/aws-sdk-go-v2/config v1.30.2 h1:YE1BmSc4fFYqFgN1mN8uzrtc7R9x+7oSWeX8ckoltAw= -github.com/aws/aws-sdk-go-v2/config v1.30.2/go.mod h1:UNrLGZ6jfAVjgVJpkIxjLufRJqTXCVYOpkeVf83kwBo= -github.com/aws/aws-sdk-go-v2/credentials v1.18.2 h1:mfm0GKY/PHLhs7KO0sUaOtFnIQ15Qqxt+wXbO/5fIfs= -github.com/aws/aws-sdk-go-v2/credentials v1.18.2/go.mod h1:v0SdJX6ayPeZFQxgXUKw5RhLpAoZUuynxWDfh8+Eknc= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.1 h1:owmNBboeA0kHKDcdF8KiSXmrIuXZustfMGGytv6OMkM= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.1/go.mod h1:Bg1miN59SGxrZqlP8vJZSmXW+1N8Y1MjQDq1OfuNod8= +github.com/aws/aws-sdk-go-v2/config v1.30.3 h1:utupeVnE3bmB221W08P0Moz1lDI3OwYa2fBtUhl7TCc= +github.com/aws/aws-sdk-go-v2/config v1.30.3/go.mod h1:NDGwOEBdpyZwLPlQkpKIO7frf18BW8PaCmAM9iUxQmI= +github.com/aws/aws-sdk-go-v2/credentials v1.18.3 h1:ptfyXmv+ooxzFwyuBth0yqABcjVIkjDL0iTYZBSbum8= +github.com/aws/aws-sdk-go-v2/credentials v1.18.3/go.mod h1:Q43Nci++Wohb0qUh4m54sNln0dbxJw8PvQWkrwOkGOI= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.2 h1:nRniHAvjFJGUCl04F3WaAj7qp/rcz5Gi1OVoj5ErBkc= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.2/go.mod h1:eJDFKAMHHUvv4a0Zfa7bQb//wFNUXGrbFpYRCHe2kD0= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.2 h1:YFX4DvH1CPQXgQR8935b46Om+L7+6jus4aTdKqyDR84= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.2/go.mod h1:DgMPy7GqxcV0RSyaITnI3rw8HC3lIHB87U3KPQKDxHg= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.1 h1:ksZXBYv80EFTcgc8OJO48aQ8XDWXIQL7gGasPeCoTzI= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.1/go.mod h1:HSksQyyJETVZS7uM54cir0IgxttTD+8aEoJMPGepHBI= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.1 h1:+dn/xF/05utS7tUhjIcndbuaPjfll2LhbH1cCDGLYUQ= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.1/go.mod h1:hyAGz30LHdm5KBZDI58MXx5lDVZ5CUfvfTZvMu4HCZo= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.2 h1:sPiRHLVUIIQcoVZTNwqQcdtjkqkPopyYmIX0M5ElRf4= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.2/go.mod h1:ik86P3sgV+Bk7c1tBFCwI3VxMoSEwl4YkRB9xn1s340= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.2 h1:ZdzDAg075H6stMZtbD2o+PyB933M/f20e9WmCBC17wA= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.2/go.mod h1:eE1IIzXG9sdZCB0pNNpMpsYTLl4YdOQD3njiVN1e/E4= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 h1:bIqFDwgGXXN1Kpp99pDOdKMTTb5d2KyU5X/BZxjOkRo= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3/go.mod h1:H5O/EsxDWyU+LP/V8i5sm8cxoZgc2fdNR9bxlOFrQTo= github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.1 h1:4HbnOGE9491a9zYJ9VpPh1ApgEq6ZlD4Kuv1PJenFpc= @@ -297,8 +297,8 @@ github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.1 h1:ps3nrmBWdWwakZB github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.1/go.mod h1:bAdfrfxENre68Hh2swNaGEVuFYE74o0SaSCAlaG9E74= github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.1 h1:/E4JUPMI8LRX2XpXsbmKN42l1lZPoLjGJ/Kun97pLc0= github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.1/go.mod h1:qgbd/t8S8y5e87KPQ4kC0kyxZ0K6nC1QiDtFMoxlsOo= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.1 h1:ky79ysLMxhwk5rxJtS+ILd3Mc8kC5fhsLBrP27r6h4I= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.1/go.mod h1:+2MmkvFvPYM1vsozBWduoLJUi5maxFk5B7KJFECujhY= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2 h1:oxmDEO14NBZJbK/M8y3brhMFEIGN4j8a6Aq8eY0sqlo= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2/go.mod h1:4hH+8QCrk1uRWDPsVfsNDUup3taAjO8Dnx63au7smAU= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.1 h1:MdVYlN5pcQu1t1OYx4Ajo3fKl1IEhzgdPQbYFCRjYS8= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.1/go.mod h1:iikmNLrvHm2p4a3/4BPeix2S9P+nW8yM1IZW73x8bFA= github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.22.1 h1:3jvrdU0UOGm8mQ7eMrbsbKErYn13xM2rJVe9t7QFfE8= @@ -517,16 +517,16 @@ github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.5.1 h1:kpAZB/7E8vcJabxjuBg github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.5.1/go.mod h1:5Paze51it1WMLnEuoMWZhJeXxAUThOdl0LNHqbFkVmY= github.com/aws/aws-sdk-go-v2/service/ssmsap v1.21.1 h1:qHmgtw+6t+U3HoGEfBGRlnWyWH90u7g4yNT5r4YSBHQ= github.com/aws/aws-sdk-go-v2/service/ssmsap v1.21.1/go.mod h1:dls7w/cdUdzL0r0oCbz/zNMtnuBNIayq2wDDYr57Mmo= -github.com/aws/aws-sdk-go-v2/service/sso v1.26.1 h1:uWaz3DoNK9MNhm7i6UGxqufwu3BEuJZm72WlpGwyVtY= -github.com/aws/aws-sdk-go-v2/service/sso v1.26.1/go.mod h1:ILpVNjL0BO+Z3Mm0SbEeUoYS9e0eJWV1BxNppp0fcb8= +github.com/aws/aws-sdk-go-v2/service/sso v1.27.0 h1:j7/jTOjWeJDolPwZ/J4yZ7dUsxsWZEsxNwH5O7F8eEA= +github.com/aws/aws-sdk-go-v2/service/sso v1.27.0/go.mod h1:M0xdEPQtgpNT7kdAX4/vOAPkFj60hSQRb7TvW9B0iug= github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.32.1 h1:Wqti4CxhMVIQU0ucF/RSIhgqy8i7jO/kX+s1uw73YH0= github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.32.1/go.mod h1:TbMaMLH88FDGdgBJ/7lbx0fiUP/Zz0QloIaATlW8e2w= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.31.1 h1:XdG6/o1/ZDmn3wJU5SRAejHaWgKS4zHv0jBamuKuS2k= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.31.1/go.mod h1:oiotGTKadCOCl3vg/tYh4k45JlDF81Ka8rdumNhEnIQ= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.32.0 h1:ywQF2N4VjqX+Psw+jLjMmUL2g1RDHlvri3NxHA08MGI= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.32.0/go.mod h1:Z+qv5Q6b7sWiclvbJyPSOT1BRVU9wfSUPaqQzZ1Xg3E= github.com/aws/aws-sdk-go-v2/service/storagegateway v1.39.1 h1:O5zyb5Nag2fUvcIXMK1v+ZXWaPFCoPmqX6WAR0Jmsno= github.com/aws/aws-sdk-go-v2/service/storagegateway v1.39.1/go.mod h1:AQSOz7HtJBbLMExu5ftB5sN8B9ZaHE00Rc/8P3MPpjo= -github.com/aws/aws-sdk-go-v2/service/sts v1.35.1 h1:iF4Xxkc0H9c/K2dS0zZw3SCkj0Z7n6AMnUiiyoJND+I= -github.com/aws/aws-sdk-go-v2/service/sts v1.35.1/go.mod h1:0bxIatfN0aLq4mjoLDeBpOjOke68OsFlXPDFJ7V0MYw= +github.com/aws/aws-sdk-go-v2/service/sts v1.36.0 h1:bRP/a9llXSSgDPk7Rqn5GD/DQCGo6uk95plBFKoXt2M= +github.com/aws/aws-sdk-go-v2/service/sts v1.36.0/go.mod h1:tgBsFzxwl65BWkuJ/x2EUs59bD4SfYKgikvFDJi1S58= github.com/aws/aws-sdk-go-v2/service/swf v1.29.1 h1:3MokmeLAz3SAzZW/PT3+QebJYVUtzNDpHrSpO0SQtPs= github.com/aws/aws-sdk-go-v2/service/swf v1.29.1/go.mod h1:KBITTXjOcUqvzGilyMCW/lLL2aLTN6PxS+OxMJsoitw= github.com/aws/aws-sdk-go-v2/service/synthetics v1.37.1 h1:bWH6tBabdGAWbpbV3FFukqUlY54I6jjzHHQWE/1YJbY= From 319433d1e043f6ebaa87c5ed460430f908f2fd29 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:03:55 -0400 Subject: [PATCH 0286/1301] go get github.com/aws/aws-sdk-go-v2/feature/s3/manager. --- go.mod | 10 +++++----- go.sum | 20 ++++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/go.mod b/go.mod index 7a73680ffd95..e1a9c30e9f1e 100644 --- a/go.mod +++ b/go.mod @@ -15,7 +15,7 @@ require ( github.com/aws/aws-sdk-go-v2/config v1.30.3 github.com/aws/aws-sdk-go-v2/credentials v1.18.3 github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.2 - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.2 + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.3 github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.41.1 github.com/aws/aws-sdk-go-v2/service/account v1.25.1 github.com/aws/aws-sdk-go-v2/service/acm v1.34.1 @@ -220,7 +220,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.23.1 github.com/aws/aws-sdk-go-v2/service/route53resolver v1.37.1 github.com/aws/aws-sdk-go-v2/service/rum v1.25.1 - github.com/aws/aws-sdk-go-v2/service/s3 v1.85.1 + github.com/aws/aws-sdk-go-v2/service/s3 v1.86.0 github.com/aws/aws-sdk-go-v2/service/s3control v1.62.0 github.com/aws/aws-sdk-go-v2/service/s3outposts v1.30.1 github.com/aws/aws-sdk-go-v2/service/s3tables v1.7.1 @@ -325,12 +325,12 @@ require ( github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.2 // indirect github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.2 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.1 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.2 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.1 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.2 // indirect github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.1 // indirect github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.1 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.2 // indirect github.com/aws/aws-sdk-go-v2/service/ssooidc v1.32.0 // indirect github.com/bgentry/speakeasy v0.1.0 // indirect github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc // indirect diff --git a/go.sum b/go.sum index 9645deee12e7..cdd49fdb36a0 100644 --- a/go.sum +++ b/go.sum @@ -33,16 +33,16 @@ github.com/aws/aws-sdk-go-v2/credentials v1.18.3 h1:ptfyXmv+ooxzFwyuBth0yqABcjVI github.com/aws/aws-sdk-go-v2/credentials v1.18.3/go.mod h1:Q43Nci++Wohb0qUh4m54sNln0dbxJw8PvQWkrwOkGOI= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.2 h1:nRniHAvjFJGUCl04F3WaAj7qp/rcz5Gi1OVoj5ErBkc= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.2/go.mod h1:eJDFKAMHHUvv4a0Zfa7bQb//wFNUXGrbFpYRCHe2kD0= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.2 h1:YFX4DvH1CPQXgQR8935b46Om+L7+6jus4aTdKqyDR84= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.2/go.mod h1:DgMPy7GqxcV0RSyaITnI3rw8HC3lIHB87U3KPQKDxHg= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.3 h1:Nb2pUE30lySKPGdkiIJ1SZgHsjiebOiRNI7R9NA1WtM= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.3/go.mod h1:BO5EKulvhBF1NXwui8lfnuDPBQQU5807yvWASZ/5n6k= github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.2 h1:sPiRHLVUIIQcoVZTNwqQcdtjkqkPopyYmIX0M5ElRf4= github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.2/go.mod h1:ik86P3sgV+Bk7c1tBFCwI3VxMoSEwl4YkRB9xn1s340= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.2 h1:ZdzDAg075H6stMZtbD2o+PyB933M/f20e9WmCBC17wA= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.2/go.mod h1:eE1IIzXG9sdZCB0pNNpMpsYTLl4YdOQD3njiVN1e/E4= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 h1:bIqFDwgGXXN1Kpp99pDOdKMTTb5d2KyU5X/BZxjOkRo= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3/go.mod h1:H5O/EsxDWyU+LP/V8i5sm8cxoZgc2fdNR9bxlOFrQTo= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.1 h1:4HbnOGE9491a9zYJ9VpPh1ApgEq6ZlD4Kuv1PJenFpc= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.1/go.mod h1:Z6QnHC6TmpJWUxAy8FI4JzA7rTwl6EIANkyK9OR5z5w= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.2 h1:sBpc8Ph6CpfZsEdkz/8bfg8WhKlWMCms5iWj6W/AW2U= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.2/go.mod h1:Z2lDojZB+92Wo6EKiZZmJid9pPrDJW2NNIXSlaEfVlU= github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.41.1 h1:sHIsHhoZZSZkInpvgMzfvUVkf/yeiRam8DNu9090gEE= github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.41.1/go.mod h1:8P/8gmNo2309Bc0hyBS2EX0M3MRzhzbiRSXGp1MfcIE= github.com/aws/aws-sdk-go-v2/service/account v1.25.1 h1:FmkAacg5OYFEMLXpCa5NWLvQHNumYVRtwcG5sc4UUNk= @@ -293,14 +293,14 @@ github.com/aws/aws-sdk-go-v2/service/inspector2 v1.40.0 h1:u57xVdqtt4O5UkA02bf0B github.com/aws/aws-sdk-go-v2/service/inspector2 v1.40.0/go.mod h1:Go5fLgTjY0qKiAVTvcS+nlYH0pHa5IAETQPsoYM/3WY= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 h1:6+lZi2JeGKtCraAj1rpoZfKqnQ9SptseRZioejfUOLM= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0/go.mod h1:eb3gfbVIxIoGgJsi9pGne19dhCBpK6opTYpQqAmdy44= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.1 h1:ps3nrmBWdWwakZBydGX1CxeYFK80HsQ79JLMwm7Y4/c= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.1/go.mod h1:bAdfrfxENre68Hh2swNaGEVuFYE74o0SaSCAlaG9E74= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.2 h1:blV3dY6WbxIVOFggfYIo2E1Q2lZoy5imS7nKgu5m6Tc= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.2/go.mod h1:cBWNeLBjHJRSmXAxdS7mwiMUEgx6zup4wQ9J+/PcsRQ= github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.1 h1:/E4JUPMI8LRX2XpXsbmKN42l1lZPoLjGJ/Kun97pLc0= github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.1/go.mod h1:qgbd/t8S8y5e87KPQ4kC0kyxZ0K6nC1QiDtFMoxlsOo= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2 h1:oxmDEO14NBZJbK/M8y3brhMFEIGN4j8a6Aq8eY0sqlo= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2/go.mod h1:4hH+8QCrk1uRWDPsVfsNDUup3taAjO8Dnx63au7smAU= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.1 h1:MdVYlN5pcQu1t1OYx4Ajo3fKl1IEhzgdPQbYFCRjYS8= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.1/go.mod h1:iikmNLrvHm2p4a3/4BPeix2S9P+nW8yM1IZW73x8bFA= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.2 h1:0hBNFAPwecERLzkhhBY+lQKUMpXSKVv4Sxovikrioms= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.2/go.mod h1:Vcnh4KyR4imrrjGN7A2kP2v9y6EPudqoPKXtnmBliPU= github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.22.1 h1:3jvrdU0UOGm8mQ7eMrbsbKErYn13xM2rJVe9t7QFfE8= github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.22.1/go.mod h1:loi2iyY5Vs3EC7FI5Yp8TWUGZQC8flvpisZK4HQdNBs= github.com/aws/aws-sdk-go-v2/service/invoicing v1.3.1 h1:ZqHny6zHB8yb3NT0Wz9vSIy5Zub1qcqrEAF1d6K3zuE= @@ -461,8 +461,8 @@ github.com/aws/aws-sdk-go-v2/service/route53resolver v1.37.1 h1:mp3ADBMz3nLgY4k9 github.com/aws/aws-sdk-go-v2/service/route53resolver v1.37.1/go.mod h1:nQNdcvkdveeChWT7i/0yD/vFsttMOqK/VbCOcsyx+E4= github.com/aws/aws-sdk-go-v2/service/rum v1.25.1 h1:IPGVJBSdfbowzlpJ2WamBS6X5bbIG22VjWp961JEkoI= github.com/aws/aws-sdk-go-v2/service/rum v1.25.1/go.mod h1:bP77oXsN8c23i7o1A46SQmqlmuslx4OmYtX2Ns4p0R8= -github.com/aws/aws-sdk-go-v2/service/s3 v1.85.1 h1:Hsqo8+dFxSdDvv9B2PgIx1AJAnDpqgS0znVI+R+MoGY= -github.com/aws/aws-sdk-go-v2/service/s3 v1.85.1/go.mod h1:8Q0TAPXD68Z8YqlcIGHs/UNIDHsxErV9H4dl4vJEpgw= +github.com/aws/aws-sdk-go-v2/service/s3 v1.86.0 h1:utPhv4ECQzJIUbtx7vMN4A8uZxlQ5tSt1H1toPI41h8= +github.com/aws/aws-sdk-go-v2/service/s3 v1.86.0/go.mod h1:1/eZYtTWazDgVl96LmGdGktHFi7prAcGCrJ9JGvBITU= github.com/aws/aws-sdk-go-v2/service/s3control v1.62.0 h1:tdFV3pnbKsSrxaPywUyvKOB/S+q+DvtpuPwq8m98enk= github.com/aws/aws-sdk-go-v2/service/s3control v1.62.0/go.mod h1:E6DME7R1bQBJaH/dIS2070dgcgba97shJWUTWMrTbgM= github.com/aws/aws-sdk-go-v2/service/s3outposts v1.30.1 h1:iOFQNXtgNsVQjQLJQTvGC5NsIv43fW07igtoDHEIvKs= From 2e93e7ff3246779f5aa060d1679c9ad8d428554e Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:03:57 -0400 Subject: [PATCH 0287/1301] go get github.com/aws/aws-sdk-go-v2/service/accessanalyzer. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e1a9c30e9f1e..cf04d57b6e76 100644 --- a/go.mod +++ b/go.mod @@ -16,7 +16,7 @@ require ( github.com/aws/aws-sdk-go-v2/credentials v1.18.3 github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.2 github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.3 - github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.41.1 + github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.42.0 github.com/aws/aws-sdk-go-v2/service/account v1.25.1 github.com/aws/aws-sdk-go-v2/service/acm v1.34.1 github.com/aws/aws-sdk-go-v2/service/acmpca v1.41.2 diff --git a/go.sum b/go.sum index cdd49fdb36a0..6a75e571303e 100644 --- a/go.sum +++ b/go.sum @@ -43,8 +43,8 @@ github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 h1:bIqFDwgGXXN1Kpp99pDOdKMTTb5d github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3/go.mod h1:H5O/EsxDWyU+LP/V8i5sm8cxoZgc2fdNR9bxlOFrQTo= github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.2 h1:sBpc8Ph6CpfZsEdkz/8bfg8WhKlWMCms5iWj6W/AW2U= github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.2/go.mod h1:Z2lDojZB+92Wo6EKiZZmJid9pPrDJW2NNIXSlaEfVlU= -github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.41.1 h1:sHIsHhoZZSZkInpvgMzfvUVkf/yeiRam8DNu9090gEE= -github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.41.1/go.mod h1:8P/8gmNo2309Bc0hyBS2EX0M3MRzhzbiRSXGp1MfcIE= +github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.42.0 h1:vt+gYvW60oCHXXC8r956qdFRCF+/fQtryCDn5y0HsGs= +github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.42.0/go.mod h1:TwIVACwD7QWQf7pgwDH0vdrqK9TNLmvKfaIAFVMG+n8= github.com/aws/aws-sdk-go-v2/service/account v1.25.1 h1:FmkAacg5OYFEMLXpCa5NWLvQHNumYVRtwcG5sc4UUNk= github.com/aws/aws-sdk-go-v2/service/account v1.25.1/go.mod h1:QSb7ynpJNa+VKXHxmWN+rs3ByfBGs+p0SAoPFxX67aE= github.com/aws/aws-sdk-go-v2/service/acm v1.34.1 h1:bbwYpBRLNjE55qY4Mb0fnkPKeAmyaCk+ycGuOeI4r9Y= From 69cbe834fb5e9e478aefd70e9363b672cb45d1fd Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:03:57 -0400 Subject: [PATCH 0288/1301] go get github.com/aws/aws-sdk-go-v2/service/account. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index cf04d57b6e76..04d16df787a0 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.2 github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.3 github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.42.0 - github.com/aws/aws-sdk-go-v2/service/account v1.25.1 + github.com/aws/aws-sdk-go-v2/service/account v1.26.0 github.com/aws/aws-sdk-go-v2/service/acm v1.34.1 github.com/aws/aws-sdk-go-v2/service/acmpca v1.41.2 github.com/aws/aws-sdk-go-v2/service/amp v1.35.1 diff --git a/go.sum b/go.sum index 6a75e571303e..9114cebf4f7a 100644 --- a/go.sum +++ b/go.sum @@ -45,8 +45,8 @@ github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.2 h1:sBpc8Ph6CpfZsEdkz/8bfg8WhKlW github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.2/go.mod h1:Z2lDojZB+92Wo6EKiZZmJid9pPrDJW2NNIXSlaEfVlU= github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.42.0 h1:vt+gYvW60oCHXXC8r956qdFRCF+/fQtryCDn5y0HsGs= github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.42.0/go.mod h1:TwIVACwD7QWQf7pgwDH0vdrqK9TNLmvKfaIAFVMG+n8= -github.com/aws/aws-sdk-go-v2/service/account v1.25.1 h1:FmkAacg5OYFEMLXpCa5NWLvQHNumYVRtwcG5sc4UUNk= -github.com/aws/aws-sdk-go-v2/service/account v1.25.1/go.mod h1:QSb7ynpJNa+VKXHxmWN+rs3ByfBGs+p0SAoPFxX67aE= +github.com/aws/aws-sdk-go-v2/service/account v1.26.0 h1:y/f+sL3VLjkjxNcGcUm6Bmhlok4utFT6Qq2AEuEG7G8= +github.com/aws/aws-sdk-go-v2/service/account v1.26.0/go.mod h1:XcdxcMpieE+6jFZOm4oACLClafqEaY4E3Q0gIDYAq+w= github.com/aws/aws-sdk-go-v2/service/acm v1.34.1 h1:bbwYpBRLNjE55qY4Mb0fnkPKeAmyaCk+ycGuOeI4r9Y= github.com/aws/aws-sdk-go-v2/service/acm v1.34.1/go.mod h1:mZqY4hx40BypyT3Qm4FWpIoSdkauoV1EUDk/3ByQSuk= github.com/aws/aws-sdk-go-v2/service/acmpca v1.41.2 h1:CGEnYec9EM2uhrwzhXnevW8UhWh4ciX8cQpL3/0D3FE= From d38f2b61385398017767a0b90a39a8837673b3a5 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:03:58 -0400 Subject: [PATCH 0289/1301] go get github.com/aws/aws-sdk-go-v2/service/acm. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 04d16df787a0..ad1e061850c2 100644 --- a/go.mod +++ b/go.mod @@ -18,7 +18,7 @@ require ( github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.3 github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.42.0 github.com/aws/aws-sdk-go-v2/service/account v1.26.0 - github.com/aws/aws-sdk-go-v2/service/acm v1.34.1 + github.com/aws/aws-sdk-go-v2/service/acm v1.35.0 github.com/aws/aws-sdk-go-v2/service/acmpca v1.41.2 github.com/aws/aws-sdk-go-v2/service/amp v1.35.1 github.com/aws/aws-sdk-go-v2/service/amplify v1.34.1 diff --git a/go.sum b/go.sum index 9114cebf4f7a..9503a369f829 100644 --- a/go.sum +++ b/go.sum @@ -47,8 +47,8 @@ github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.42.0 h1:vt+gYvW60oCHXXC8r github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.42.0/go.mod h1:TwIVACwD7QWQf7pgwDH0vdrqK9TNLmvKfaIAFVMG+n8= github.com/aws/aws-sdk-go-v2/service/account v1.26.0 h1:y/f+sL3VLjkjxNcGcUm6Bmhlok4utFT6Qq2AEuEG7G8= github.com/aws/aws-sdk-go-v2/service/account v1.26.0/go.mod h1:XcdxcMpieE+6jFZOm4oACLClafqEaY4E3Q0gIDYAq+w= -github.com/aws/aws-sdk-go-v2/service/acm v1.34.1 h1:bbwYpBRLNjE55qY4Mb0fnkPKeAmyaCk+ycGuOeI4r9Y= -github.com/aws/aws-sdk-go-v2/service/acm v1.34.1/go.mod h1:mZqY4hx40BypyT3Qm4FWpIoSdkauoV1EUDk/3ByQSuk= +github.com/aws/aws-sdk-go-v2/service/acm v1.35.0 h1:gVIYcaezeE2zZIUI1yrV+n/KAOMouNYmsFi8MFHmrQ0= +github.com/aws/aws-sdk-go-v2/service/acm v1.35.0/go.mod h1:ec9XD6wr6wjTjlWDj1nfjoJHYSG8X0qVNklU8zztBE4= github.com/aws/aws-sdk-go-v2/service/acmpca v1.41.2 h1:CGEnYec9EM2uhrwzhXnevW8UhWh4ciX8cQpL3/0D3FE= github.com/aws/aws-sdk-go-v2/service/acmpca v1.41.2/go.mod h1:kZGFX2gboWjbnAuuKVLXB+S/TQ8AcY9Q9hWzcJrhink= github.com/aws/aws-sdk-go-v2/service/amp v1.35.1 h1:5p9HHs0vsAaDn5sWSu6eH76iw6xnPRw7h+M3J5u8wp8= From cf79cc6bb53c830284198d405f17a934d75800fa Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:03:59 -0400 Subject: [PATCH 0290/1301] go get github.com/aws/aws-sdk-go-v2/service/acmpca. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ad1e061850c2..730cd50eaea5 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.42.0 github.com/aws/aws-sdk-go-v2/service/account v1.26.0 github.com/aws/aws-sdk-go-v2/service/acm v1.35.0 - github.com/aws/aws-sdk-go-v2/service/acmpca v1.41.2 + github.com/aws/aws-sdk-go-v2/service/acmpca v1.42.0 github.com/aws/aws-sdk-go-v2/service/amp v1.35.1 github.com/aws/aws-sdk-go-v2/service/amplify v1.34.1 github.com/aws/aws-sdk-go-v2/service/apigateway v1.32.1 diff --git a/go.sum b/go.sum index 9503a369f829..4cbe255575c0 100644 --- a/go.sum +++ b/go.sum @@ -49,8 +49,8 @@ github.com/aws/aws-sdk-go-v2/service/account v1.26.0 h1:y/f+sL3VLjkjxNcGcUm6Bmhl github.com/aws/aws-sdk-go-v2/service/account v1.26.0/go.mod h1:XcdxcMpieE+6jFZOm4oACLClafqEaY4E3Q0gIDYAq+w= github.com/aws/aws-sdk-go-v2/service/acm v1.35.0 h1:gVIYcaezeE2zZIUI1yrV+n/KAOMouNYmsFi8MFHmrQ0= github.com/aws/aws-sdk-go-v2/service/acm v1.35.0/go.mod h1:ec9XD6wr6wjTjlWDj1nfjoJHYSG8X0qVNklU8zztBE4= -github.com/aws/aws-sdk-go-v2/service/acmpca v1.41.2 h1:CGEnYec9EM2uhrwzhXnevW8UhWh4ciX8cQpL3/0D3FE= -github.com/aws/aws-sdk-go-v2/service/acmpca v1.41.2/go.mod h1:kZGFX2gboWjbnAuuKVLXB+S/TQ8AcY9Q9hWzcJrhink= +github.com/aws/aws-sdk-go-v2/service/acmpca v1.42.0 h1:29UrIJP7RqSv60o0Ijn4Osshw2CLIpXs3ydWwL1ncRU= +github.com/aws/aws-sdk-go-v2/service/acmpca v1.42.0/go.mod h1:MEHD++O08p58bU+t9xbTRH4A4lQIjFkOffNUzjXGwjU= github.com/aws/aws-sdk-go-v2/service/amp v1.35.1 h1:5p9HHs0vsAaDn5sWSu6eH76iw6xnPRw7h+M3J5u8wp8= github.com/aws/aws-sdk-go-v2/service/amp v1.35.1/go.mod h1:bKEb2NoSPx/F+m6gzuyuQwYrP1jVWxoEsp8dJaroviY= github.com/aws/aws-sdk-go-v2/service/amplify v1.34.1 h1:Av8JqcN88qS1bsfxT7Sdc3V/teB3/RjtTOo3MBU5N6M= From 679ed9c06385761cc97a83dedbc689bf4bca1445 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:00 -0400 Subject: [PATCH 0291/1301] go get github.com/aws/aws-sdk-go-v2/service/amp. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 730cd50eaea5..45a9401d7e76 100644 --- a/go.mod +++ b/go.mod @@ -20,7 +20,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/account v1.26.0 github.com/aws/aws-sdk-go-v2/service/acm v1.35.0 github.com/aws/aws-sdk-go-v2/service/acmpca v1.42.0 - github.com/aws/aws-sdk-go-v2/service/amp v1.35.1 + github.com/aws/aws-sdk-go-v2/service/amp v1.36.0 github.com/aws/aws-sdk-go-v2/service/amplify v1.34.1 github.com/aws/aws-sdk-go-v2/service/apigateway v1.32.1 github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.29.1 diff --git a/go.sum b/go.sum index 4cbe255575c0..d5f6491d9b7b 100644 --- a/go.sum +++ b/go.sum @@ -51,8 +51,8 @@ github.com/aws/aws-sdk-go-v2/service/acm v1.35.0 h1:gVIYcaezeE2zZIUI1yrV+n/KAOMo github.com/aws/aws-sdk-go-v2/service/acm v1.35.0/go.mod h1:ec9XD6wr6wjTjlWDj1nfjoJHYSG8X0qVNklU8zztBE4= github.com/aws/aws-sdk-go-v2/service/acmpca v1.42.0 h1:29UrIJP7RqSv60o0Ijn4Osshw2CLIpXs3ydWwL1ncRU= github.com/aws/aws-sdk-go-v2/service/acmpca v1.42.0/go.mod h1:MEHD++O08p58bU+t9xbTRH4A4lQIjFkOffNUzjXGwjU= -github.com/aws/aws-sdk-go-v2/service/amp v1.35.1 h1:5p9HHs0vsAaDn5sWSu6eH76iw6xnPRw7h+M3J5u8wp8= -github.com/aws/aws-sdk-go-v2/service/amp v1.35.1/go.mod h1:bKEb2NoSPx/F+m6gzuyuQwYrP1jVWxoEsp8dJaroviY= +github.com/aws/aws-sdk-go-v2/service/amp v1.36.0 h1:bkMWckc+0CtmzdUls0WxNMgJW+FfVFBWXbI8gaD8xts= +github.com/aws/aws-sdk-go-v2/service/amp v1.36.0/go.mod h1:LJjtJRt+mqjs4D8JRKGEYjW4w4XNd7s5oXjivdbPXfc= github.com/aws/aws-sdk-go-v2/service/amplify v1.34.1 h1:Av8JqcN88qS1bsfxT7Sdc3V/teB3/RjtTOo3MBU5N6M= github.com/aws/aws-sdk-go-v2/service/amplify v1.34.1/go.mod h1:UlevIZWf/Y2UXiBXJQ0RZGxSXPtryaYZx8AunJPpR2U= github.com/aws/aws-sdk-go-v2/service/apigateway v1.32.1 h1:XfYB8mz3dzqnYzK0N4iR6FqADNg/eJIrJ3rbOEuYWKo= From 9cf84e82f0b333c82f4c0534472f5f0fe87f937b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:02 -0400 Subject: [PATCH 0292/1301] go get github.com/aws/aws-sdk-go-v2/service/amplify. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 45a9401d7e76..1926941222f1 100644 --- a/go.mod +++ b/go.mod @@ -21,7 +21,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/acm v1.35.0 github.com/aws/aws-sdk-go-v2/service/acmpca v1.42.0 github.com/aws/aws-sdk-go-v2/service/amp v1.36.0 - github.com/aws/aws-sdk-go-v2/service/amplify v1.34.1 + github.com/aws/aws-sdk-go-v2/service/amplify v1.35.0 github.com/aws/aws-sdk-go-v2/service/apigateway v1.32.1 github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.29.1 github.com/aws/aws-sdk-go-v2/service/appconfig v1.39.1 diff --git a/go.sum b/go.sum index d5f6491d9b7b..39a0395cfea8 100644 --- a/go.sum +++ b/go.sum @@ -53,8 +53,8 @@ github.com/aws/aws-sdk-go-v2/service/acmpca v1.42.0 h1:29UrIJP7RqSv60o0Ijn4Osshw github.com/aws/aws-sdk-go-v2/service/acmpca v1.42.0/go.mod h1:MEHD++O08p58bU+t9xbTRH4A4lQIjFkOffNUzjXGwjU= github.com/aws/aws-sdk-go-v2/service/amp v1.36.0 h1:bkMWckc+0CtmzdUls0WxNMgJW+FfVFBWXbI8gaD8xts= github.com/aws/aws-sdk-go-v2/service/amp v1.36.0/go.mod h1:LJjtJRt+mqjs4D8JRKGEYjW4w4XNd7s5oXjivdbPXfc= -github.com/aws/aws-sdk-go-v2/service/amplify v1.34.1 h1:Av8JqcN88qS1bsfxT7Sdc3V/teB3/RjtTOo3MBU5N6M= -github.com/aws/aws-sdk-go-v2/service/amplify v1.34.1/go.mod h1:UlevIZWf/Y2UXiBXJQ0RZGxSXPtryaYZx8AunJPpR2U= +github.com/aws/aws-sdk-go-v2/service/amplify v1.35.0 h1:gT1MIIVClB3AeJ3Re/cPcipnIVWRFqz72DmXRR36RaM= +github.com/aws/aws-sdk-go-v2/service/amplify v1.35.0/go.mod h1:nNI4E6Z2lhFF0lYz6AlHemTIZLnvclsu2Rlr5cuEBPk= github.com/aws/aws-sdk-go-v2/service/apigateway v1.32.1 h1:XfYB8mz3dzqnYzK0N4iR6FqADNg/eJIrJ3rbOEuYWKo= github.com/aws/aws-sdk-go-v2/service/apigateway v1.32.1/go.mod h1:xAQ3iEH3mZpJE9/Us5Zw/kdjqEDMllQU7zVSrykSqq0= github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.29.1 h1:zIO8otLy+xqjrPDSaWyML1hcmQuwnvS8HsCdU+ljuN8= From 7df9d164b8c61029c14bc0d58c4610ce102ece98 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:03 -0400 Subject: [PATCH 0293/1301] go get github.com/aws/aws-sdk-go-v2/service/apigateway. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 1926941222f1..08fe390bb448 100644 --- a/go.mod +++ b/go.mod @@ -22,7 +22,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/acmpca v1.42.0 github.com/aws/aws-sdk-go-v2/service/amp v1.36.0 github.com/aws/aws-sdk-go-v2/service/amplify v1.35.0 - github.com/aws/aws-sdk-go-v2/service/apigateway v1.32.1 + github.com/aws/aws-sdk-go-v2/service/apigateway v1.33.0 github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.29.1 github.com/aws/aws-sdk-go-v2/service/appconfig v1.39.1 github.com/aws/aws-sdk-go-v2/service/appfabric v1.13.1 diff --git a/go.sum b/go.sum index 39a0395cfea8..5ba26a53b8e7 100644 --- a/go.sum +++ b/go.sum @@ -55,8 +55,8 @@ github.com/aws/aws-sdk-go-v2/service/amp v1.36.0 h1:bkMWckc+0CtmzdUls0WxNMgJW+Ff github.com/aws/aws-sdk-go-v2/service/amp v1.36.0/go.mod h1:LJjtJRt+mqjs4D8JRKGEYjW4w4XNd7s5oXjivdbPXfc= github.com/aws/aws-sdk-go-v2/service/amplify v1.35.0 h1:gT1MIIVClB3AeJ3Re/cPcipnIVWRFqz72DmXRR36RaM= github.com/aws/aws-sdk-go-v2/service/amplify v1.35.0/go.mod h1:nNI4E6Z2lhFF0lYz6AlHemTIZLnvclsu2Rlr5cuEBPk= -github.com/aws/aws-sdk-go-v2/service/apigateway v1.32.1 h1:XfYB8mz3dzqnYzK0N4iR6FqADNg/eJIrJ3rbOEuYWKo= -github.com/aws/aws-sdk-go-v2/service/apigateway v1.32.1/go.mod h1:xAQ3iEH3mZpJE9/Us5Zw/kdjqEDMllQU7zVSrykSqq0= +github.com/aws/aws-sdk-go-v2/service/apigateway v1.33.0 h1:KiF6zCaH5RWJ5JvIQg3K8UHDDKavsm7AjKrqIMOkWBY= +github.com/aws/aws-sdk-go-v2/service/apigateway v1.33.0/go.mod h1:EyTXepZ4wjZZzQRZakRLJt0CPzSvp0DEIZEvGFfY4vo= github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.29.1 h1:zIO8otLy+xqjrPDSaWyML1hcmQuwnvS8HsCdU+ljuN8= github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.29.1/go.mod h1:RgLyUe4baqp9nU779yVNqknHpDg/KqV5laDsCfqIfSA= github.com/aws/aws-sdk-go-v2/service/appconfig v1.39.1 h1:3bGMrqprI9jnWqa/40jnp6RwEV6w5pGLTXTZZbBXZkk= From d1f2bd1103b01e0664b78af2aa3a9bcd36bf00ae Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:04 -0400 Subject: [PATCH 0294/1301] go get github.com/aws/aws-sdk-go-v2/service/apigatewayv2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 08fe390bb448..47befee0c965 100644 --- a/go.mod +++ b/go.mod @@ -23,7 +23,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/amp v1.36.0 github.com/aws/aws-sdk-go-v2/service/amplify v1.35.0 github.com/aws/aws-sdk-go-v2/service/apigateway v1.33.0 - github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.29.1 + github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.30.0 github.com/aws/aws-sdk-go-v2/service/appconfig v1.39.1 github.com/aws/aws-sdk-go-v2/service/appfabric v1.13.1 github.com/aws/aws-sdk-go-v2/service/appflow v1.47.1 diff --git a/go.sum b/go.sum index 5ba26a53b8e7..8cc4b49d8b0a 100644 --- a/go.sum +++ b/go.sum @@ -57,8 +57,8 @@ github.com/aws/aws-sdk-go-v2/service/amplify v1.35.0 h1:gT1MIIVClB3AeJ3Re/cPcipn github.com/aws/aws-sdk-go-v2/service/amplify v1.35.0/go.mod h1:nNI4E6Z2lhFF0lYz6AlHemTIZLnvclsu2Rlr5cuEBPk= github.com/aws/aws-sdk-go-v2/service/apigateway v1.33.0 h1:KiF6zCaH5RWJ5JvIQg3K8UHDDKavsm7AjKrqIMOkWBY= github.com/aws/aws-sdk-go-v2/service/apigateway v1.33.0/go.mod h1:EyTXepZ4wjZZzQRZakRLJt0CPzSvp0DEIZEvGFfY4vo= -github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.29.1 h1:zIO8otLy+xqjrPDSaWyML1hcmQuwnvS8HsCdU+ljuN8= -github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.29.1/go.mod h1:RgLyUe4baqp9nU779yVNqknHpDg/KqV5laDsCfqIfSA= +github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.30.0 h1:TKcprXn0kE8tO52+U0r4qV6ZS5MzhsFPf/Oll86VTBM= +github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.30.0/go.mod h1:8omZuwkmT/FCrrspTnSV7zfBkXUU0kCx4GhF45kILZA= github.com/aws/aws-sdk-go-v2/service/appconfig v1.39.1 h1:3bGMrqprI9jnWqa/40jnp6RwEV6w5pGLTXTZZbBXZkk= github.com/aws/aws-sdk-go-v2/service/appconfig v1.39.1/go.mod h1:dtjuU/bnTddHETE8FbgcROmOnD/zkW7EX9JNusF3iLs= github.com/aws/aws-sdk-go-v2/service/appfabric v1.13.1 h1:kpb5/Bux2n8fQpAcQ3bP4Sei0TMRpeDHTvBFFR6GuFQ= From bb87772fdf2875019d725a854ad816d308eb3e87 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:05 -0400 Subject: [PATCH 0295/1301] go get github.com/aws/aws-sdk-go-v2/service/appconfig. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 47befee0c965..a0652cdd24e8 100644 --- a/go.mod +++ b/go.mod @@ -24,7 +24,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/amplify v1.35.0 github.com/aws/aws-sdk-go-v2/service/apigateway v1.33.0 github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.30.0 - github.com/aws/aws-sdk-go-v2/service/appconfig v1.39.1 + github.com/aws/aws-sdk-go-v2/service/appconfig v1.40.0 github.com/aws/aws-sdk-go-v2/service/appfabric v1.13.1 github.com/aws/aws-sdk-go-v2/service/appflow v1.47.1 github.com/aws/aws-sdk-go-v2/service/appintegrations v1.33.1 diff --git a/go.sum b/go.sum index 8cc4b49d8b0a..5df152792882 100644 --- a/go.sum +++ b/go.sum @@ -59,8 +59,8 @@ github.com/aws/aws-sdk-go-v2/service/apigateway v1.33.0 h1:KiF6zCaH5RWJ5JvIQg3K8 github.com/aws/aws-sdk-go-v2/service/apigateway v1.33.0/go.mod h1:EyTXepZ4wjZZzQRZakRLJt0CPzSvp0DEIZEvGFfY4vo= github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.30.0 h1:TKcprXn0kE8tO52+U0r4qV6ZS5MzhsFPf/Oll86VTBM= github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.30.0/go.mod h1:8omZuwkmT/FCrrspTnSV7zfBkXUU0kCx4GhF45kILZA= -github.com/aws/aws-sdk-go-v2/service/appconfig v1.39.1 h1:3bGMrqprI9jnWqa/40jnp6RwEV6w5pGLTXTZZbBXZkk= -github.com/aws/aws-sdk-go-v2/service/appconfig v1.39.1/go.mod h1:dtjuU/bnTddHETE8FbgcROmOnD/zkW7EX9JNusF3iLs= +github.com/aws/aws-sdk-go-v2/service/appconfig v1.40.0 h1:6Pj5dEAlzJvWDfVjFpbc7ZnHA5Dvjdh1XemDMpboFvc= +github.com/aws/aws-sdk-go-v2/service/appconfig v1.40.0/go.mod h1:BsSGAj9mD3U2GbJ+rNTZR3h+fb4+I2LObTU8cwOWj9w= github.com/aws/aws-sdk-go-v2/service/appfabric v1.13.1 h1:kpb5/Bux2n8fQpAcQ3bP4Sei0TMRpeDHTvBFFR6GuFQ= github.com/aws/aws-sdk-go-v2/service/appfabric v1.13.1/go.mod h1:9wFbrLrpuBUxnAsL2m7tU9pIY3L+dDZCMbNW4Hpr7dk= github.com/aws/aws-sdk-go-v2/service/appflow v1.47.1 h1:6LIRPPKQWchfkDZbC9iW0FCkvv+V2uQk6PUn+zw1QaQ= From 3644276ebd0737ca9799ef98ab4d9b30e6351539 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:06 -0400 Subject: [PATCH 0296/1301] go get github.com/aws/aws-sdk-go-v2/service/appfabric. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a0652cdd24e8..0c1a736589ea 100644 --- a/go.mod +++ b/go.mod @@ -25,7 +25,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/apigateway v1.33.0 github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.30.0 github.com/aws/aws-sdk-go-v2/service/appconfig v1.40.0 - github.com/aws/aws-sdk-go-v2/service/appfabric v1.13.1 + github.com/aws/aws-sdk-go-v2/service/appfabric v1.14.0 github.com/aws/aws-sdk-go-v2/service/appflow v1.47.1 github.com/aws/aws-sdk-go-v2/service/appintegrations v1.33.1 github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.37.1 diff --git a/go.sum b/go.sum index 5df152792882..832c1c6f99de 100644 --- a/go.sum +++ b/go.sum @@ -61,8 +61,8 @@ github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.30.0 h1:TKcprXn0kE8tO52+U0r github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.30.0/go.mod h1:8omZuwkmT/FCrrspTnSV7zfBkXUU0kCx4GhF45kILZA= github.com/aws/aws-sdk-go-v2/service/appconfig v1.40.0 h1:6Pj5dEAlzJvWDfVjFpbc7ZnHA5Dvjdh1XemDMpboFvc= github.com/aws/aws-sdk-go-v2/service/appconfig v1.40.0/go.mod h1:BsSGAj9mD3U2GbJ+rNTZR3h+fb4+I2LObTU8cwOWj9w= -github.com/aws/aws-sdk-go-v2/service/appfabric v1.13.1 h1:kpb5/Bux2n8fQpAcQ3bP4Sei0TMRpeDHTvBFFR6GuFQ= -github.com/aws/aws-sdk-go-v2/service/appfabric v1.13.1/go.mod h1:9wFbrLrpuBUxnAsL2m7tU9pIY3L+dDZCMbNW4Hpr7dk= +github.com/aws/aws-sdk-go-v2/service/appfabric v1.14.0 h1:Omx/A2miHighL12A8GXXPir98p9mSLKbZduAoh/vhiI= +github.com/aws/aws-sdk-go-v2/service/appfabric v1.14.0/go.mod h1:riUMB17QXzuHibU+FpEqYSJ1v5hnKHpbZ6SY9HMrwAQ= github.com/aws/aws-sdk-go-v2/service/appflow v1.47.1 h1:6LIRPPKQWchfkDZbC9iW0FCkvv+V2uQk6PUn+zw1QaQ= github.com/aws/aws-sdk-go-v2/service/appflow v1.47.1/go.mod h1:bOvWsq5G25xdPP8KN1rfXq+cF5Uh3apZJQ9/xhhqzVU= github.com/aws/aws-sdk-go-v2/service/appintegrations v1.33.1 h1:sBqUFcefH0sf+d0uS75pYpPiwFg8AzrINC0PartTgqk= From 8ffc5979d17772f6f69c94ac135bab0096706d95 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:07 -0400 Subject: [PATCH 0297/1301] go get github.com/aws/aws-sdk-go-v2/service/appflow. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 0c1a736589ea..a1ed7f1c1d87 100644 --- a/go.mod +++ b/go.mod @@ -26,7 +26,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.30.0 github.com/aws/aws-sdk-go-v2/service/appconfig v1.40.0 github.com/aws/aws-sdk-go-v2/service/appfabric v1.14.0 - github.com/aws/aws-sdk-go-v2/service/appflow v1.47.1 + github.com/aws/aws-sdk-go-v2/service/appflow v1.48.0 github.com/aws/aws-sdk-go-v2/service/appintegrations v1.33.1 github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.37.1 github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.31.1 diff --git a/go.sum b/go.sum index 832c1c6f99de..9ae65220269e 100644 --- a/go.sum +++ b/go.sum @@ -63,8 +63,8 @@ github.com/aws/aws-sdk-go-v2/service/appconfig v1.40.0 h1:6Pj5dEAlzJvWDfVjFpbc7Z github.com/aws/aws-sdk-go-v2/service/appconfig v1.40.0/go.mod h1:BsSGAj9mD3U2GbJ+rNTZR3h+fb4+I2LObTU8cwOWj9w= github.com/aws/aws-sdk-go-v2/service/appfabric v1.14.0 h1:Omx/A2miHighL12A8GXXPir98p9mSLKbZduAoh/vhiI= github.com/aws/aws-sdk-go-v2/service/appfabric v1.14.0/go.mod h1:riUMB17QXzuHibU+FpEqYSJ1v5hnKHpbZ6SY9HMrwAQ= -github.com/aws/aws-sdk-go-v2/service/appflow v1.47.1 h1:6LIRPPKQWchfkDZbC9iW0FCkvv+V2uQk6PUn+zw1QaQ= -github.com/aws/aws-sdk-go-v2/service/appflow v1.47.1/go.mod h1:bOvWsq5G25xdPP8KN1rfXq+cF5Uh3apZJQ9/xhhqzVU= +github.com/aws/aws-sdk-go-v2/service/appflow v1.48.0 h1:+oYSboLPBZygfCNUhpEYtuQSqoN/LpRMuPimTGKK3eo= +github.com/aws/aws-sdk-go-v2/service/appflow v1.48.0/go.mod h1:S3KIf4WL9w8ZYLI+IYNm0JGVpR7V6qFVhNoEZTHtpgE= github.com/aws/aws-sdk-go-v2/service/appintegrations v1.33.1 h1:sBqUFcefH0sf+d0uS75pYpPiwFg8AzrINC0PartTgqk= github.com/aws/aws-sdk-go-v2/service/appintegrations v1.33.1/go.mod h1:unDUxaKaATQsiTmjeLwD1dz9zFR6DUSfdaUuczhqZ60= github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.37.1 h1:jJscyHRsZoSRMINE7JTaezT1o4hoNrmnq+3LZzsA2KA= From b49fa8f6140ee17ecf0f4dc722bbf25c1e286d13 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:08 -0400 Subject: [PATCH 0298/1301] go get github.com/aws/aws-sdk-go-v2/service/appintegrations. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a1ed7f1c1d87..42859d4b1750 100644 --- a/go.mod +++ b/go.mod @@ -27,7 +27,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/appconfig v1.40.0 github.com/aws/aws-sdk-go-v2/service/appfabric v1.14.0 github.com/aws/aws-sdk-go-v2/service/appflow v1.48.0 - github.com/aws/aws-sdk-go-v2/service/appintegrations v1.33.1 + github.com/aws/aws-sdk-go-v2/service/appintegrations v1.34.0 github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.37.1 github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.31.1 github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.12.1 diff --git a/go.sum b/go.sum index 9ae65220269e..6dd1959536ff 100644 --- a/go.sum +++ b/go.sum @@ -65,8 +65,8 @@ github.com/aws/aws-sdk-go-v2/service/appfabric v1.14.0 h1:Omx/A2miHighL12A8GXXPi github.com/aws/aws-sdk-go-v2/service/appfabric v1.14.0/go.mod h1:riUMB17QXzuHibU+FpEqYSJ1v5hnKHpbZ6SY9HMrwAQ= github.com/aws/aws-sdk-go-v2/service/appflow v1.48.0 h1:+oYSboLPBZygfCNUhpEYtuQSqoN/LpRMuPimTGKK3eo= github.com/aws/aws-sdk-go-v2/service/appflow v1.48.0/go.mod h1:S3KIf4WL9w8ZYLI+IYNm0JGVpR7V6qFVhNoEZTHtpgE= -github.com/aws/aws-sdk-go-v2/service/appintegrations v1.33.1 h1:sBqUFcefH0sf+d0uS75pYpPiwFg8AzrINC0PartTgqk= -github.com/aws/aws-sdk-go-v2/service/appintegrations v1.33.1/go.mod h1:unDUxaKaATQsiTmjeLwD1dz9zFR6DUSfdaUuczhqZ60= +github.com/aws/aws-sdk-go-v2/service/appintegrations v1.34.0 h1:DPlrEqTxtDqWfvdPfz2hHB/02FutaUvpCH8E+tgkQDo= +github.com/aws/aws-sdk-go-v2/service/appintegrations v1.34.0/go.mod h1:Ky7v+zg7tT84MMw+pQYTpfNmXictBFk+Q82C0akJfHs= github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.37.1 h1:jJscyHRsZoSRMINE7JTaezT1o4hoNrmnq+3LZzsA2KA= github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.37.1/go.mod h1:U6e5PYaKSZZB5h5MHp5M5HZsqa0Fnhh8ts2nU2HUYz8= github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.31.1 h1:hL38Wrg+M1ppQsh/7KU3zF4LJ37EYJgP6lxsJzk8JAY= From cca25c6215e36fe80c9cf6baeef56635263ab17c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:09 -0400 Subject: [PATCH 0299/1301] go get github.com/aws/aws-sdk-go-v2/service/applicationautoscaling. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 42859d4b1750..0fa432bf737b 100644 --- a/go.mod +++ b/go.mod @@ -28,7 +28,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/appfabric v1.14.0 github.com/aws/aws-sdk-go-v2/service/appflow v1.48.0 github.com/aws/aws-sdk-go-v2/service/appintegrations v1.34.0 - github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.37.1 + github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.38.0 github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.31.1 github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.12.1 github.com/aws/aws-sdk-go-v2/service/appmesh v1.31.1 diff --git a/go.sum b/go.sum index 6dd1959536ff..de42f73109ac 100644 --- a/go.sum +++ b/go.sum @@ -67,8 +67,8 @@ github.com/aws/aws-sdk-go-v2/service/appflow v1.48.0 h1:+oYSboLPBZygfCNUhpEYtuQS github.com/aws/aws-sdk-go-v2/service/appflow v1.48.0/go.mod h1:S3KIf4WL9w8ZYLI+IYNm0JGVpR7V6qFVhNoEZTHtpgE= github.com/aws/aws-sdk-go-v2/service/appintegrations v1.34.0 h1:DPlrEqTxtDqWfvdPfz2hHB/02FutaUvpCH8E+tgkQDo= github.com/aws/aws-sdk-go-v2/service/appintegrations v1.34.0/go.mod h1:Ky7v+zg7tT84MMw+pQYTpfNmXictBFk+Q82C0akJfHs= -github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.37.1 h1:jJscyHRsZoSRMINE7JTaezT1o4hoNrmnq+3LZzsA2KA= -github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.37.1/go.mod h1:U6e5PYaKSZZB5h5MHp5M5HZsqa0Fnhh8ts2nU2HUYz8= +github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.38.0 h1:gt+ZqLthoEKRCB0Mkw4R/ABdCmW6Y53Dfn67LczfcDw= +github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.38.0/go.mod h1:6t2ZF+2KvF8UI2XO5CmtuDO3mSqQ5iXAUbNZ/6cxCBc= github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.31.1 h1:hL38Wrg+M1ppQsh/7KU3zF4LJ37EYJgP6lxsJzk8JAY= github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.31.1/go.mod h1:Sb1hExvSSaroiqVyAZvSNSnde+ljebREjCK9NcFgGSw= github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.12.1 h1:iy4/2jZHe+AZ+dXaajLA9GiFqjCgSr98sNNaBchCWic= From 93acbb0507158ea7ca66120aba71efac8bfeb4c8 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:10 -0400 Subject: [PATCH 0300/1301] go get github.com/aws/aws-sdk-go-v2/service/applicationinsights. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 0fa432bf737b..53775e7c6804 100644 --- a/go.mod +++ b/go.mod @@ -29,7 +29,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/appflow v1.48.0 github.com/aws/aws-sdk-go-v2/service/appintegrations v1.34.0 github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.38.0 - github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.31.1 + github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.32.0 github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.12.1 github.com/aws/aws-sdk-go-v2/service/appmesh v1.31.1 github.com/aws/aws-sdk-go-v2/service/apprunner v1.35.1 diff --git a/go.sum b/go.sum index de42f73109ac..d48088b64c72 100644 --- a/go.sum +++ b/go.sum @@ -69,8 +69,8 @@ github.com/aws/aws-sdk-go-v2/service/appintegrations v1.34.0 h1:DPlrEqTxtDqWfvdP github.com/aws/aws-sdk-go-v2/service/appintegrations v1.34.0/go.mod h1:Ky7v+zg7tT84MMw+pQYTpfNmXictBFk+Q82C0akJfHs= github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.38.0 h1:gt+ZqLthoEKRCB0Mkw4R/ABdCmW6Y53Dfn67LczfcDw= github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.38.0/go.mod h1:6t2ZF+2KvF8UI2XO5CmtuDO3mSqQ5iXAUbNZ/6cxCBc= -github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.31.1 h1:hL38Wrg+M1ppQsh/7KU3zF4LJ37EYJgP6lxsJzk8JAY= -github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.31.1/go.mod h1:Sb1hExvSSaroiqVyAZvSNSnde+ljebREjCK9NcFgGSw= +github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.32.0 h1:DU6QP0nzEAXKYHGNUjsp7eLJR6SR/XxVZ7bWQDukK8w= +github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.32.0/go.mod h1:2MuTGd75ViK4GpS4AHFOu7mkLUIRQzDqc1vpLduWsVk= github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.12.1 h1:iy4/2jZHe+AZ+dXaajLA9GiFqjCgSr98sNNaBchCWic= github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.12.1/go.mod h1:m2DMDjqYA42+z/vUFqhCH0JMPSQBRj1x7qzx0xb3BGU= github.com/aws/aws-sdk-go-v2/service/appmesh v1.31.1 h1:e8FX41jsKWustjg9j2aCB8U6lGEJc4M2AmQg/4sly4k= From 471e02f8a5d6d79025f9d48b7b8e36fbceafbf55 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:11 -0400 Subject: [PATCH 0301/1301] go get github.com/aws/aws-sdk-go-v2/service/applicationsignals. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 53775e7c6804..4728517915fe 100644 --- a/go.mod +++ b/go.mod @@ -30,7 +30,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/appintegrations v1.34.0 github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.38.0 github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.32.0 - github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.12.1 + github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.13.0 github.com/aws/aws-sdk-go-v2/service/appmesh v1.31.1 github.com/aws/aws-sdk-go-v2/service/apprunner v1.35.1 github.com/aws/aws-sdk-go-v2/service/appstream v1.46.1 diff --git a/go.sum b/go.sum index d48088b64c72..4a3483e13c93 100644 --- a/go.sum +++ b/go.sum @@ -71,8 +71,8 @@ github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.38.0 h1:gt+ZqLtho github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.38.0/go.mod h1:6t2ZF+2KvF8UI2XO5CmtuDO3mSqQ5iXAUbNZ/6cxCBc= github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.32.0 h1:DU6QP0nzEAXKYHGNUjsp7eLJR6SR/XxVZ7bWQDukK8w= github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.32.0/go.mod h1:2MuTGd75ViK4GpS4AHFOu7mkLUIRQzDqc1vpLduWsVk= -github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.12.1 h1:iy4/2jZHe+AZ+dXaajLA9GiFqjCgSr98sNNaBchCWic= -github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.12.1/go.mod h1:m2DMDjqYA42+z/vUFqhCH0JMPSQBRj1x7qzx0xb3BGU= +github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.13.0 h1:J9gIKlvB2N0hAv+Qa6OXitHBCuB5shSlQcYeZEhnhC8= +github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.13.0/go.mod h1:k1nvlCbN8YF5tZn3vQ/nhLWsWgtjpt2V6DyTU32RBO8= github.com/aws/aws-sdk-go-v2/service/appmesh v1.31.1 h1:e8FX41jsKWustjg9j2aCB8U6lGEJc4M2AmQg/4sly4k= github.com/aws/aws-sdk-go-v2/service/appmesh v1.31.1/go.mod h1:QI0IZBZJ5PDUkH5H3RsywJidrT6FfQ7kPKs+dCBXsfA= github.com/aws/aws-sdk-go-v2/service/apprunner v1.35.1 h1:+Zn6vfiFbRmQCcGQiyImMftao+e7s360Q/qFhz2Cgmg= From 1e3365e799e74469c51791480d61ca772d34a2c9 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:12 -0400 Subject: [PATCH 0302/1301] go get github.com/aws/aws-sdk-go-v2/service/appmesh. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 4728517915fe..746c44205007 100644 --- a/go.mod +++ b/go.mod @@ -31,7 +31,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.38.0 github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.32.0 github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.13.0 - github.com/aws/aws-sdk-go-v2/service/appmesh v1.31.1 + github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0 github.com/aws/aws-sdk-go-v2/service/apprunner v1.35.1 github.com/aws/aws-sdk-go-v2/service/appstream v1.46.1 github.com/aws/aws-sdk-go-v2/service/appsync v1.48.1 diff --git a/go.sum b/go.sum index 4a3483e13c93..a76ee79865c8 100644 --- a/go.sum +++ b/go.sum @@ -73,8 +73,8 @@ github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.32.0 h1:DU6QP0nzEAXK github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.32.0/go.mod h1:2MuTGd75ViK4GpS4AHFOu7mkLUIRQzDqc1vpLduWsVk= github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.13.0 h1:J9gIKlvB2N0hAv+Qa6OXitHBCuB5shSlQcYeZEhnhC8= github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.13.0/go.mod h1:k1nvlCbN8YF5tZn3vQ/nhLWsWgtjpt2V6DyTU32RBO8= -github.com/aws/aws-sdk-go-v2/service/appmesh v1.31.1 h1:e8FX41jsKWustjg9j2aCB8U6lGEJc4M2AmQg/4sly4k= -github.com/aws/aws-sdk-go-v2/service/appmesh v1.31.1/go.mod h1:QI0IZBZJ5PDUkH5H3RsywJidrT6FfQ7kPKs+dCBXsfA= +github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0 h1:O9PZ3rZ3kO78qUS0+b89tozNOCC5HNe2BDmduzVU/gk= +github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0/go.mod h1:oAWy74yo48WYE/39Tvr1/MqaLTpZ1nyr4r6/cPuTS1g= github.com/aws/aws-sdk-go-v2/service/apprunner v1.35.1 h1:+Zn6vfiFbRmQCcGQiyImMftao+e7s360Q/qFhz2Cgmg= github.com/aws/aws-sdk-go-v2/service/apprunner v1.35.1/go.mod h1:S07Cfmppi5b3wu11h6o3My/N9nUqjQ7u0U+wbISMciU= github.com/aws/aws-sdk-go-v2/service/appstream v1.46.1 h1:I2q1xR7PWi/LQlEQKuYhs85c5Pe+8lVXhK8MJ6gbiMI= From bcb61dc18ff215791cae9f9e801babf21588e8d3 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:13 -0400 Subject: [PATCH 0303/1301] go get github.com/aws/aws-sdk-go-v2/service/apprunner. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 746c44205007..49a6c3c81290 100644 --- a/go.mod +++ b/go.mod @@ -32,7 +32,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.32.0 github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.13.0 github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0 - github.com/aws/aws-sdk-go-v2/service/apprunner v1.35.1 + github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0 github.com/aws/aws-sdk-go-v2/service/appstream v1.46.1 github.com/aws/aws-sdk-go-v2/service/appsync v1.48.1 github.com/aws/aws-sdk-go-v2/service/athena v1.52.1 diff --git a/go.sum b/go.sum index a76ee79865c8..784ed3cf52ec 100644 --- a/go.sum +++ b/go.sum @@ -75,8 +75,8 @@ github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.13.0 h1:J9gIKlvB2N0hA github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.13.0/go.mod h1:k1nvlCbN8YF5tZn3vQ/nhLWsWgtjpt2V6DyTU32RBO8= github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0 h1:O9PZ3rZ3kO78qUS0+b89tozNOCC5HNe2BDmduzVU/gk= github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0/go.mod h1:oAWy74yo48WYE/39Tvr1/MqaLTpZ1nyr4r6/cPuTS1g= -github.com/aws/aws-sdk-go-v2/service/apprunner v1.35.1 h1:+Zn6vfiFbRmQCcGQiyImMftao+e7s360Q/qFhz2Cgmg= -github.com/aws/aws-sdk-go-v2/service/apprunner v1.35.1/go.mod h1:S07Cfmppi5b3wu11h6o3My/N9nUqjQ7u0U+wbISMciU= +github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0 h1:PGgY/BIQ82RFrR9rmJYejYk4jb4HmrR4+bxMe0Jj3t8= +github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0/go.mod h1:BjYI0ZEPp4hIXG+3ZoVBr1qA0alLeY98/spY5vsvw7A= github.com/aws/aws-sdk-go-v2/service/appstream v1.46.1 h1:I2q1xR7PWi/LQlEQKuYhs85c5Pe+8lVXhK8MJ6gbiMI= github.com/aws/aws-sdk-go-v2/service/appstream v1.46.1/go.mod h1:5kFtgc4YQoe7OR0BU2niXUX/gIxvO0e7P3gl0w/qNa0= github.com/aws/aws-sdk-go-v2/service/appsync v1.48.1 h1:ZDL25UdJ53x6+HRznXwBcgoZS3I8YtJKUyNAD9P37F8= From 5adb23a1c516f5498f7d7a0060a0c9d2bceb6ae2 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:14 -0400 Subject: [PATCH 0304/1301] go get github.com/aws/aws-sdk-go-v2/service/appstream. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 49a6c3c81290..2abc9fe6ca52 100644 --- a/go.mod +++ b/go.mod @@ -33,7 +33,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.13.0 github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0 github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0 - github.com/aws/aws-sdk-go-v2/service/appstream v1.46.1 + github.com/aws/aws-sdk-go-v2/service/appstream v1.47.0 github.com/aws/aws-sdk-go-v2/service/appsync v1.48.1 github.com/aws/aws-sdk-go-v2/service/athena v1.52.1 github.com/aws/aws-sdk-go-v2/service/auditmanager v1.42.0 diff --git a/go.sum b/go.sum index 784ed3cf52ec..727c2209ee98 100644 --- a/go.sum +++ b/go.sum @@ -77,8 +77,8 @@ github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0 h1:O9PZ3rZ3kO78qUS0+b89tozN github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0/go.mod h1:oAWy74yo48WYE/39Tvr1/MqaLTpZ1nyr4r6/cPuTS1g= github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0 h1:PGgY/BIQ82RFrR9rmJYejYk4jb4HmrR4+bxMe0Jj3t8= github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0/go.mod h1:BjYI0ZEPp4hIXG+3ZoVBr1qA0alLeY98/spY5vsvw7A= -github.com/aws/aws-sdk-go-v2/service/appstream v1.46.1 h1:I2q1xR7PWi/LQlEQKuYhs85c5Pe+8lVXhK8MJ6gbiMI= -github.com/aws/aws-sdk-go-v2/service/appstream v1.46.1/go.mod h1:5kFtgc4YQoe7OR0BU2niXUX/gIxvO0e7P3gl0w/qNa0= +github.com/aws/aws-sdk-go-v2/service/appstream v1.47.0 h1:sKliINBtT3oMvfhHf4/gNXKgdB5X5DLmUengQTuCokk= +github.com/aws/aws-sdk-go-v2/service/appstream v1.47.0/go.mod h1:VAnAk0EgMx9TVmWtZWnLH6JCnhfcSWVmzxNdIAHVxSs= github.com/aws/aws-sdk-go-v2/service/appsync v1.48.1 h1:ZDL25UdJ53x6+HRznXwBcgoZS3I8YtJKUyNAD9P37F8= github.com/aws/aws-sdk-go-v2/service/appsync v1.48.1/go.mod h1:E8yfHHkF3MIWOWRmvopbeK8wfCkeiNIqQ5f8G7fPaO4= github.com/aws/aws-sdk-go-v2/service/athena v1.52.1 h1:5rNoigvi9hF3zv7e8hI5l+iY5KAwKklcZCgpAh56JKI= From 572979ee8ba79f9eddd455c10edee2791711ef99 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:15 -0400 Subject: [PATCH 0305/1301] go get github.com/aws/aws-sdk-go-v2/service/appsync. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 2abc9fe6ca52..5acc57bfad26 100644 --- a/go.mod +++ b/go.mod @@ -34,7 +34,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0 github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0 github.com/aws/aws-sdk-go-v2/service/appstream v1.47.0 - github.com/aws/aws-sdk-go-v2/service/appsync v1.48.1 + github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0 github.com/aws/aws-sdk-go-v2/service/athena v1.52.1 github.com/aws/aws-sdk-go-v2/service/auditmanager v1.42.0 github.com/aws/aws-sdk-go-v2/service/autoscaling v1.55.1 diff --git a/go.sum b/go.sum index 727c2209ee98..3fbc7b2b40b2 100644 --- a/go.sum +++ b/go.sum @@ -79,8 +79,8 @@ github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0 h1:PGgY/BIQ82RFrR9rmJYejY github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0/go.mod h1:BjYI0ZEPp4hIXG+3ZoVBr1qA0alLeY98/spY5vsvw7A= github.com/aws/aws-sdk-go-v2/service/appstream v1.47.0 h1:sKliINBtT3oMvfhHf4/gNXKgdB5X5DLmUengQTuCokk= github.com/aws/aws-sdk-go-v2/service/appstream v1.47.0/go.mod h1:VAnAk0EgMx9TVmWtZWnLH6JCnhfcSWVmzxNdIAHVxSs= -github.com/aws/aws-sdk-go-v2/service/appsync v1.48.1 h1:ZDL25UdJ53x6+HRznXwBcgoZS3I8YtJKUyNAD9P37F8= -github.com/aws/aws-sdk-go-v2/service/appsync v1.48.1/go.mod h1:E8yfHHkF3MIWOWRmvopbeK8wfCkeiNIqQ5f8G7fPaO4= +github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0 h1:h1DrjjLvycToReHS4nlv5CpH4wpqVUEZKzQ+gaomC+M= +github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0/go.mod h1:SHB4PzNsxsI+4dcTpSll9FTlbkE6t3zxDoBYERPIVnQ= github.com/aws/aws-sdk-go-v2/service/athena v1.52.1 h1:5rNoigvi9hF3zv7e8hI5l+iY5KAwKklcZCgpAh56JKI= github.com/aws/aws-sdk-go-v2/service/athena v1.52.1/go.mod h1:Xu33b8kDuxb2omK+SUaQfbJh48c0QA7t08ne92DvTOM= github.com/aws/aws-sdk-go-v2/service/auditmanager v1.42.0 h1:qQyzQj7ckTHNSsLzPhxPTvnHETTOExpltPon803jC94= From 3085847fb01a91c76cdaf9a8731f4cb2072ca52d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:16 -0400 Subject: [PATCH 0306/1301] go get github.com/aws/aws-sdk-go-v2/service/athena. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5acc57bfad26..5d82f868c977 100644 --- a/go.mod +++ b/go.mod @@ -35,7 +35,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0 github.com/aws/aws-sdk-go-v2/service/appstream v1.47.0 github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0 - github.com/aws/aws-sdk-go-v2/service/athena v1.52.1 + github.com/aws/aws-sdk-go-v2/service/athena v1.53.0 github.com/aws/aws-sdk-go-v2/service/auditmanager v1.42.0 github.com/aws/aws-sdk-go-v2/service/autoscaling v1.55.1 github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.26.1 diff --git a/go.sum b/go.sum index 3fbc7b2b40b2..749a5dba49ce 100644 --- a/go.sum +++ b/go.sum @@ -81,8 +81,8 @@ github.com/aws/aws-sdk-go-v2/service/appstream v1.47.0 h1:sKliINBtT3oMvfhHf4/gNX github.com/aws/aws-sdk-go-v2/service/appstream v1.47.0/go.mod h1:VAnAk0EgMx9TVmWtZWnLH6JCnhfcSWVmzxNdIAHVxSs= github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0 h1:h1DrjjLvycToReHS4nlv5CpH4wpqVUEZKzQ+gaomC+M= github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0/go.mod h1:SHB4PzNsxsI+4dcTpSll9FTlbkE6t3zxDoBYERPIVnQ= -github.com/aws/aws-sdk-go-v2/service/athena v1.52.1 h1:5rNoigvi9hF3zv7e8hI5l+iY5KAwKklcZCgpAh56JKI= -github.com/aws/aws-sdk-go-v2/service/athena v1.52.1/go.mod h1:Xu33b8kDuxb2omK+SUaQfbJh48c0QA7t08ne92DvTOM= +github.com/aws/aws-sdk-go-v2/service/athena v1.53.0 h1:TL5fazHlqxo8Ri3Do0s4EJXhd3Oc7BVZ9uN1NPUKFpE= +github.com/aws/aws-sdk-go-v2/service/athena v1.53.0/go.mod h1:nIHAy7lnmNN7QJKWnV7+sbevrF4ij41ysIfNnh0PKfA= github.com/aws/aws-sdk-go-v2/service/auditmanager v1.42.0 h1:qQyzQj7ckTHNSsLzPhxPTvnHETTOExpltPon803jC94= github.com/aws/aws-sdk-go-v2/service/auditmanager v1.42.0/go.mod h1:EarhE4+FhGV6sYnrDvsw7z4+pYSY9zX2xlkbuetUVmg= github.com/aws/aws-sdk-go-v2/service/autoscaling v1.55.1 h1:zX6/huIuV5ldMXSiVVdmRT2oO1M+xNLzdt0du0QuhVE= From f64a4264cacfa245217ec3f37d24c59b1fb02a74 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:17 -0400 Subject: [PATCH 0307/1301] go get github.com/aws/aws-sdk-go-v2/service/auditmanager. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5d82f868c977..c8c346b4a4fc 100644 --- a/go.mod +++ b/go.mod @@ -36,7 +36,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/appstream v1.47.0 github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0 github.com/aws/aws-sdk-go-v2/service/athena v1.53.0 - github.com/aws/aws-sdk-go-v2/service/auditmanager v1.42.0 + github.com/aws/aws-sdk-go-v2/service/auditmanager v1.43.0 github.com/aws/aws-sdk-go-v2/service/autoscaling v1.55.1 github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.26.1 github.com/aws/aws-sdk-go-v2/service/backup v1.44.1 diff --git a/go.sum b/go.sum index 749a5dba49ce..0c4f73c4d9ad 100644 --- a/go.sum +++ b/go.sum @@ -83,8 +83,8 @@ github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0 h1:h1DrjjLvycToReHS4nlv5CpH github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0/go.mod h1:SHB4PzNsxsI+4dcTpSll9FTlbkE6t3zxDoBYERPIVnQ= github.com/aws/aws-sdk-go-v2/service/athena v1.53.0 h1:TL5fazHlqxo8Ri3Do0s4EJXhd3Oc7BVZ9uN1NPUKFpE= github.com/aws/aws-sdk-go-v2/service/athena v1.53.0/go.mod h1:nIHAy7lnmNN7QJKWnV7+sbevrF4ij41ysIfNnh0PKfA= -github.com/aws/aws-sdk-go-v2/service/auditmanager v1.42.0 h1:qQyzQj7ckTHNSsLzPhxPTvnHETTOExpltPon803jC94= -github.com/aws/aws-sdk-go-v2/service/auditmanager v1.42.0/go.mod h1:EarhE4+FhGV6sYnrDvsw7z4+pYSY9zX2xlkbuetUVmg= +github.com/aws/aws-sdk-go-v2/service/auditmanager v1.43.0 h1:nkPjY6Hw/VJ930pA0fZmbCJ6B/7xKrPcLeCJBTKucyw= +github.com/aws/aws-sdk-go-v2/service/auditmanager v1.43.0/go.mod h1:EMNIZLHE8IshUfYavm/63BKudlZ2wTGm6sKSnQxCcPo= github.com/aws/aws-sdk-go-v2/service/autoscaling v1.55.1 h1:zX6/huIuV5ldMXSiVVdmRT2oO1M+xNLzdt0du0QuhVE= github.com/aws/aws-sdk-go-v2/service/autoscaling v1.55.1/go.mod h1:KWk5jIp+F7eu9vjz6g/UdeIk5FX2zw7zllkf8EwmHjM= github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.26.1 h1:CkI6bqB4xGt4i8WFa4VPqkSS+2pnclSY4Zo0dwuplkE= From e704c5ed9ea201cc6a4eca092da19f72fc553180 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:18 -0400 Subject: [PATCH 0308/1301] go get github.com/aws/aws-sdk-go-v2/service/autoscaling. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c8c346b4a4fc..452c723c6fe1 100644 --- a/go.mod +++ b/go.mod @@ -37,7 +37,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0 github.com/aws/aws-sdk-go-v2/service/athena v1.53.0 github.com/aws/aws-sdk-go-v2/service/auditmanager v1.43.0 - github.com/aws/aws-sdk-go-v2/service/autoscaling v1.55.1 + github.com/aws/aws-sdk-go-v2/service/autoscaling v1.56.0 github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.26.1 github.com/aws/aws-sdk-go-v2/service/backup v1.44.1 github.com/aws/aws-sdk-go-v2/service/batch v1.55.2 diff --git a/go.sum b/go.sum index 0c4f73c4d9ad..bb3097dd7899 100644 --- a/go.sum +++ b/go.sum @@ -85,8 +85,8 @@ github.com/aws/aws-sdk-go-v2/service/athena v1.53.0 h1:TL5fazHlqxo8Ri3Do0s4EJXhd github.com/aws/aws-sdk-go-v2/service/athena v1.53.0/go.mod h1:nIHAy7lnmNN7QJKWnV7+sbevrF4ij41ysIfNnh0PKfA= github.com/aws/aws-sdk-go-v2/service/auditmanager v1.43.0 h1:nkPjY6Hw/VJ930pA0fZmbCJ6B/7xKrPcLeCJBTKucyw= github.com/aws/aws-sdk-go-v2/service/auditmanager v1.43.0/go.mod h1:EMNIZLHE8IshUfYavm/63BKudlZ2wTGm6sKSnQxCcPo= -github.com/aws/aws-sdk-go-v2/service/autoscaling v1.55.1 h1:zX6/huIuV5ldMXSiVVdmRT2oO1M+xNLzdt0du0QuhVE= -github.com/aws/aws-sdk-go-v2/service/autoscaling v1.55.1/go.mod h1:KWk5jIp+F7eu9vjz6g/UdeIk5FX2zw7zllkf8EwmHjM= +github.com/aws/aws-sdk-go-v2/service/autoscaling v1.56.0 h1:YO7rat493hVtpBExbcDPKdGzk9eYTtaUrwaFJSWAqLo= +github.com/aws/aws-sdk-go-v2/service/autoscaling v1.56.0/go.mod h1:6vrMqNnS2fpOfZ9tZmIGDWYGTio7+SJ18fql3IwoSBg= github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.26.1 h1:CkI6bqB4xGt4i8WFa4VPqkSS+2pnclSY4Zo0dwuplkE= github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.26.1/go.mod h1:kvxZ8JSGk6ZHbsYqn02OFN2IPwKIyPq4gJJP2i68tlE= github.com/aws/aws-sdk-go-v2/service/backup v1.44.1 h1:g8w8gNNnmpj6IB6f/ZwbTLgCHTq72EP3vFy3LYAQ49k= From 50c4b65f5ca204a22c5932a4f6c71618adcfd57b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:19 -0400 Subject: [PATCH 0309/1301] go get github.com/aws/aws-sdk-go-v2/service/autoscalingplans. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 452c723c6fe1..29a35df39058 100644 --- a/go.mod +++ b/go.mod @@ -38,7 +38,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/athena v1.53.0 github.com/aws/aws-sdk-go-v2/service/auditmanager v1.43.0 github.com/aws/aws-sdk-go-v2/service/autoscaling v1.56.0 - github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.26.1 + github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.27.0 github.com/aws/aws-sdk-go-v2/service/backup v1.44.1 github.com/aws/aws-sdk-go-v2/service/batch v1.55.2 github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.9.1 diff --git a/go.sum b/go.sum index bb3097dd7899..a01681ad3760 100644 --- a/go.sum +++ b/go.sum @@ -87,8 +87,8 @@ github.com/aws/aws-sdk-go-v2/service/auditmanager v1.43.0 h1:nkPjY6Hw/VJ930pA0fZ github.com/aws/aws-sdk-go-v2/service/auditmanager v1.43.0/go.mod h1:EMNIZLHE8IshUfYavm/63BKudlZ2wTGm6sKSnQxCcPo= github.com/aws/aws-sdk-go-v2/service/autoscaling v1.56.0 h1:YO7rat493hVtpBExbcDPKdGzk9eYTtaUrwaFJSWAqLo= github.com/aws/aws-sdk-go-v2/service/autoscaling v1.56.0/go.mod h1:6vrMqNnS2fpOfZ9tZmIGDWYGTio7+SJ18fql3IwoSBg= -github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.26.1 h1:CkI6bqB4xGt4i8WFa4VPqkSS+2pnclSY4Zo0dwuplkE= -github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.26.1/go.mod h1:kvxZ8JSGk6ZHbsYqn02OFN2IPwKIyPq4gJJP2i68tlE= +github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.27.0 h1:IE8KDjm+M64FnD6zUCE4Kkbharyl8nFlt+NKBRsBJ6A= +github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.27.0/go.mod h1:HN2DjMKUSk1fQSIeKYT2xz9CLeupOwl4yowG8OE+56c= github.com/aws/aws-sdk-go-v2/service/backup v1.44.1 h1:g8w8gNNnmpj6IB6f/ZwbTLgCHTq72EP3vFy3LYAQ49k= github.com/aws/aws-sdk-go-v2/service/backup v1.44.1/go.mod h1:w/Tj0I8Gs1JAz/cDsWZg0Eph8Tq++krpwr5lxzRj9gs= github.com/aws/aws-sdk-go-v2/service/batch v1.55.2 h1:v71NzFEzn9m7sZJ31v0pYU+cMEYilmZAnGftfaavOPk= From cd3f48283c8835ff0b85b59c0d2180fd8145b02b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:20 -0400 Subject: [PATCH 0310/1301] go get github.com/aws/aws-sdk-go-v2/service/backup. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 29a35df39058..8894aa769b2a 100644 --- a/go.mod +++ b/go.mod @@ -39,7 +39,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/auditmanager v1.43.0 github.com/aws/aws-sdk-go-v2/service/autoscaling v1.56.0 github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.27.0 - github.com/aws/aws-sdk-go-v2/service/backup v1.44.1 + github.com/aws/aws-sdk-go-v2/service/backup v1.45.0 github.com/aws/aws-sdk-go-v2/service/batch v1.55.2 github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.9.1 github.com/aws/aws-sdk-go-v2/service/bedrock v1.40.2 diff --git a/go.sum b/go.sum index a01681ad3760..62532a2a44e3 100644 --- a/go.sum +++ b/go.sum @@ -89,8 +89,8 @@ github.com/aws/aws-sdk-go-v2/service/autoscaling v1.56.0 h1:YO7rat493hVtpBExbcDP github.com/aws/aws-sdk-go-v2/service/autoscaling v1.56.0/go.mod h1:6vrMqNnS2fpOfZ9tZmIGDWYGTio7+SJ18fql3IwoSBg= github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.27.0 h1:IE8KDjm+M64FnD6zUCE4Kkbharyl8nFlt+NKBRsBJ6A= github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.27.0/go.mod h1:HN2DjMKUSk1fQSIeKYT2xz9CLeupOwl4yowG8OE+56c= -github.com/aws/aws-sdk-go-v2/service/backup v1.44.1 h1:g8w8gNNnmpj6IB6f/ZwbTLgCHTq72EP3vFy3LYAQ49k= -github.com/aws/aws-sdk-go-v2/service/backup v1.44.1/go.mod h1:w/Tj0I8Gs1JAz/cDsWZg0Eph8Tq++krpwr5lxzRj9gs= +github.com/aws/aws-sdk-go-v2/service/backup v1.45.0 h1:vujSEbS2qKGnQktbNcmFk7N3rmdKmS5x7uQCNjbpIsI= +github.com/aws/aws-sdk-go-v2/service/backup v1.45.0/go.mod h1:hG/r8+r8CH++grUXo3DJpfAP06UhM0QC7QGFM0FbIfY= github.com/aws/aws-sdk-go-v2/service/batch v1.55.2 h1:v71NzFEzn9m7sZJ31v0pYU+cMEYilmZAnGftfaavOPk= github.com/aws/aws-sdk-go-v2/service/batch v1.55.2/go.mod h1:JfQ32ZzGrphsjC5aSZ6NirIQKQEvIRxd7XOBA2GqP3Q= github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.9.1 h1:KLTrvcyHoLx34b0r8DJrg6IveMJ6Rhrr/W7CTtcyHcY= From 01c53bae651f26abe2ddef01f042e087befff9d3 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:21 -0400 Subject: [PATCH 0311/1301] go get github.com/aws/aws-sdk-go-v2/service/batch. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8894aa769b2a..466e1321f241 100644 --- a/go.mod +++ b/go.mod @@ -40,7 +40,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/autoscaling v1.56.0 github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.27.0 github.com/aws/aws-sdk-go-v2/service/backup v1.45.0 - github.com/aws/aws-sdk-go-v2/service/batch v1.55.2 + github.com/aws/aws-sdk-go-v2/service/batch v1.56.0 github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.9.1 github.com/aws/aws-sdk-go-v2/service/bedrock v1.40.2 github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.46.1 diff --git a/go.sum b/go.sum index 62532a2a44e3..4401e3009d2d 100644 --- a/go.sum +++ b/go.sum @@ -91,8 +91,8 @@ github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.27.0 h1:IE8KDjm+M64FnD6 github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.27.0/go.mod h1:HN2DjMKUSk1fQSIeKYT2xz9CLeupOwl4yowG8OE+56c= github.com/aws/aws-sdk-go-v2/service/backup v1.45.0 h1:vujSEbS2qKGnQktbNcmFk7N3rmdKmS5x7uQCNjbpIsI= github.com/aws/aws-sdk-go-v2/service/backup v1.45.0/go.mod h1:hG/r8+r8CH++grUXo3DJpfAP06UhM0QC7QGFM0FbIfY= -github.com/aws/aws-sdk-go-v2/service/batch v1.55.2 h1:v71NzFEzn9m7sZJ31v0pYU+cMEYilmZAnGftfaavOPk= -github.com/aws/aws-sdk-go-v2/service/batch v1.55.2/go.mod h1:JfQ32ZzGrphsjC5aSZ6NirIQKQEvIRxd7XOBA2GqP3Q= +github.com/aws/aws-sdk-go-v2/service/batch v1.56.0 h1:XTIHEJ95YH5IehTJx5p6Y8XtjZwLXV5r/RBzCWOpADA= +github.com/aws/aws-sdk-go-v2/service/batch v1.56.0/go.mod h1:uAslawt50dv4iZfpjAh9YVEbAU3jyPIt3ycDSs5VrEg= github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.9.1 h1:KLTrvcyHoLx34b0r8DJrg6IveMJ6Rhrr/W7CTtcyHcY= github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.9.1/go.mod h1:5ycq8robRvawqh+gGGSYDCtX/lgJcBHSpbXS41G2YZ0= github.com/aws/aws-sdk-go-v2/service/bedrock v1.40.2 h1:RF6r/HIBx3Ox1d8QBjSFf3jWmtbHod+CGpJIxtqwKuw= From d8d956bf19eb4629a6abfb45860661436c4a63d7 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:21 -0400 Subject: [PATCH 0312/1301] go get github.com/aws/aws-sdk-go-v2/service/bcmdataexports. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 466e1321f241..8bb7dfa17f0c 100644 --- a/go.mod +++ b/go.mod @@ -41,7 +41,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.27.0 github.com/aws/aws-sdk-go-v2/service/backup v1.45.0 github.com/aws/aws-sdk-go-v2/service/batch v1.56.0 - github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.9.1 + github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0 github.com/aws/aws-sdk-go-v2/service/bedrock v1.40.2 github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.46.1 github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.1.1 diff --git a/go.sum b/go.sum index 4401e3009d2d..cdaf4fcd5578 100644 --- a/go.sum +++ b/go.sum @@ -93,8 +93,8 @@ github.com/aws/aws-sdk-go-v2/service/backup v1.45.0 h1:vujSEbS2qKGnQktbNcmFk7N3r github.com/aws/aws-sdk-go-v2/service/backup v1.45.0/go.mod h1:hG/r8+r8CH++grUXo3DJpfAP06UhM0QC7QGFM0FbIfY= github.com/aws/aws-sdk-go-v2/service/batch v1.56.0 h1:XTIHEJ95YH5IehTJx5p6Y8XtjZwLXV5r/RBzCWOpADA= github.com/aws/aws-sdk-go-v2/service/batch v1.56.0/go.mod h1:uAslawt50dv4iZfpjAh9YVEbAU3jyPIt3ycDSs5VrEg= -github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.9.1 h1:KLTrvcyHoLx34b0r8DJrg6IveMJ6Rhrr/W7CTtcyHcY= -github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.9.1/go.mod h1:5ycq8robRvawqh+gGGSYDCtX/lgJcBHSpbXS41G2YZ0= +github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0 h1:Wq3UeoqqQFm+HwQbmpB5vN3v3t8X5YsDLn/0yRG3ALY= +github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0/go.mod h1:yWUWnhYtaiRSARc/Y3vU6dZAV9/thOTFMLST2Oxvj78= github.com/aws/aws-sdk-go-v2/service/bedrock v1.40.2 h1:RF6r/HIBx3Ox1d8QBjSFf3jWmtbHod+CGpJIxtqwKuw= github.com/aws/aws-sdk-go-v2/service/bedrock v1.40.2/go.mod h1:ZTp/fekiiAUkmAU4CDYjtk/hlRpPJnbGKaFzMNr+Hq4= github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.46.1 h1:+964aZWEhatObFc4aShL6yyLXcmr4rA6NPGd+y6TlSM= From 4c13bdf88a9bb79e7b5556ec04e4890be3c4b2b8 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:23 -0400 Subject: [PATCH 0313/1301] go get github.com/aws/aws-sdk-go-v2/service/bedrock. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8bb7dfa17f0c..2d447a42cfdc 100644 --- a/go.mod +++ b/go.mod @@ -42,7 +42,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/backup v1.45.0 github.com/aws/aws-sdk-go-v2/service/batch v1.56.0 github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0 - github.com/aws/aws-sdk-go-v2/service/bedrock v1.40.2 + github.com/aws/aws-sdk-go-v2/service/bedrock v1.41.0 github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.46.1 github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.1.1 github.com/aws/aws-sdk-go-v2/service/billing v1.3.1 diff --git a/go.sum b/go.sum index cdaf4fcd5578..e60e7c26b1b6 100644 --- a/go.sum +++ b/go.sum @@ -95,8 +95,8 @@ github.com/aws/aws-sdk-go-v2/service/batch v1.56.0 h1:XTIHEJ95YH5IehTJx5p6Y8XtjZ github.com/aws/aws-sdk-go-v2/service/batch v1.56.0/go.mod h1:uAslawt50dv4iZfpjAh9YVEbAU3jyPIt3ycDSs5VrEg= github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0 h1:Wq3UeoqqQFm+HwQbmpB5vN3v3t8X5YsDLn/0yRG3ALY= github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0/go.mod h1:yWUWnhYtaiRSARc/Y3vU6dZAV9/thOTFMLST2Oxvj78= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.40.2 h1:RF6r/HIBx3Ox1d8QBjSFf3jWmtbHod+CGpJIxtqwKuw= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.40.2/go.mod h1:ZTp/fekiiAUkmAU4CDYjtk/hlRpPJnbGKaFzMNr+Hq4= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.41.0 h1:SUw2DmmMnAJB+wlXUvhdDHkbKfHmV8CpgFdiYSxuF8I= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.41.0/go.mod h1:yGZu+RiNnteeM+ZdeuOHlI4whLyGjENoGn1MLqd1o2s= github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.46.1 h1:+964aZWEhatObFc4aShL6yyLXcmr4rA6NPGd+y6TlSM= github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.46.1/go.mod h1:PYXdjAxfDP6jvOtgZIlXn+7DS2rYfMONfDiYxx1I3T0= github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.1.1 h1:B5TtLHc5RV/ezQo3BsFfDxKUdbnRl6Ni3b927eGLxsk= From 610ab77ffedfa970b204922f72520c7e2a326210 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:24 -0400 Subject: [PATCH 0314/1301] go get github.com/aws/aws-sdk-go-v2/service/bedrockagent. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 2d447a42cfdc..27f896e7fc24 100644 --- a/go.mod +++ b/go.mod @@ -43,7 +43,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/batch v1.56.0 github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0 github.com/aws/aws-sdk-go-v2/service/bedrock v1.41.0 - github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.46.1 + github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0 github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.1.1 github.com/aws/aws-sdk-go-v2/service/billing v1.3.1 github.com/aws/aws-sdk-go-v2/service/budgets v1.33.1 diff --git a/go.sum b/go.sum index e60e7c26b1b6..4b9d947ee7f6 100644 --- a/go.sum +++ b/go.sum @@ -97,8 +97,8 @@ github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0 h1:Wq3UeoqqQFm+HwQbm github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0/go.mod h1:yWUWnhYtaiRSARc/Y3vU6dZAV9/thOTFMLST2Oxvj78= github.com/aws/aws-sdk-go-v2/service/bedrock v1.41.0 h1:SUw2DmmMnAJB+wlXUvhdDHkbKfHmV8CpgFdiYSxuF8I= github.com/aws/aws-sdk-go-v2/service/bedrock v1.41.0/go.mod h1:yGZu+RiNnteeM+ZdeuOHlI4whLyGjENoGn1MLqd1o2s= -github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.46.1 h1:+964aZWEhatObFc4aShL6yyLXcmr4rA6NPGd+y6TlSM= -github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.46.1/go.mod h1:PYXdjAxfDP6jvOtgZIlXn+7DS2rYfMONfDiYxx1I3T0= +github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0 h1:lhY8kqSq+ph2avN5EgZfWx1Gc6HWYyjbuy73LPGLadU= +github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0/go.mod h1:VE33Y1A7q8XkY0I0DWF04eQlg1z5dsKw1EEQzfhkCoc= github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.1.1 h1:B5TtLHc5RV/ezQo3BsFfDxKUdbnRl6Ni3b927eGLxsk= github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.1.1/go.mod h1:YpZIw5tCg/UZMYIrqCvK5wv2Uze3IKeB2lhq8yQU8j0= github.com/aws/aws-sdk-go-v2/service/billing v1.3.1 h1:ubne5J3y/pp9c/ojwPhTbBy5PJB7Gs1WM6JooUQJzCg= From 9729f174bc3f4140231ee0cf864dcbd6af493bde Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:25 -0400 Subject: [PATCH 0315/1301] go get github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 27f896e7fc24..464834f4e256 100644 --- a/go.mod +++ b/go.mod @@ -44,7 +44,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0 github.com/aws/aws-sdk-go-v2/service/bedrock v1.41.0 github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0 - github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.1.1 + github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0 github.com/aws/aws-sdk-go-v2/service/billing v1.3.1 github.com/aws/aws-sdk-go-v2/service/budgets v1.33.1 github.com/aws/aws-sdk-go-v2/service/chatbot v1.11.1 diff --git a/go.sum b/go.sum index 4b9d947ee7f6..b1ac5f8a2d6a 100644 --- a/go.sum +++ b/go.sum @@ -99,8 +99,8 @@ github.com/aws/aws-sdk-go-v2/service/bedrock v1.41.0 h1:SUw2DmmMnAJB+wlXUvhdDHkb github.com/aws/aws-sdk-go-v2/service/bedrock v1.41.0/go.mod h1:yGZu+RiNnteeM+ZdeuOHlI4whLyGjENoGn1MLqd1o2s= github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0 h1:lhY8kqSq+ph2avN5EgZfWx1Gc6HWYyjbuy73LPGLadU= github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0/go.mod h1:VE33Y1A7q8XkY0I0DWF04eQlg1z5dsKw1EEQzfhkCoc= -github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.1.1 h1:B5TtLHc5RV/ezQo3BsFfDxKUdbnRl6Ni3b927eGLxsk= -github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.1.1/go.mod h1:YpZIw5tCg/UZMYIrqCvK5wv2Uze3IKeB2lhq8yQU8j0= +github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0 h1:GJdyUvYs/81imU2h6wqSa4T9guevI7eBr9YhXUmOwIA= +github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0/go.mod h1:QmHnuYuWyavbwugFNSSJRvzMGaFngJD52D2Q3Rm9Mz0= github.com/aws/aws-sdk-go-v2/service/billing v1.3.1 h1:ubne5J3y/pp9c/ojwPhTbBy5PJB7Gs1WM6JooUQJzCg= github.com/aws/aws-sdk-go-v2/service/billing v1.3.1/go.mod h1:YeisxBuT89KEnsEw/BXZy+En8LjBzP4wfVqHf9Lkqzw= github.com/aws/aws-sdk-go-v2/service/budgets v1.33.1 h1:Iai284Y0UvwLD8Bz/qDXbmdMGzrYOHCnvAKStFIn78A= From 568a13a9a0038c1499335c96495271398352838f Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:26 -0400 Subject: [PATCH 0316/1301] go get github.com/aws/aws-sdk-go-v2/service/billing. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 464834f4e256..7f0a7205c35e 100644 --- a/go.mod +++ b/go.mod @@ -45,7 +45,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/bedrock v1.41.0 github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0 github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0 - github.com/aws/aws-sdk-go-v2/service/billing v1.3.1 + github.com/aws/aws-sdk-go-v2/service/billing v1.4.0 github.com/aws/aws-sdk-go-v2/service/budgets v1.33.1 github.com/aws/aws-sdk-go-v2/service/chatbot v1.11.1 github.com/aws/aws-sdk-go-v2/service/chime v1.37.1 diff --git a/go.sum b/go.sum index b1ac5f8a2d6a..ef2f4996430f 100644 --- a/go.sum +++ b/go.sum @@ -101,8 +101,8 @@ github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0 h1:lhY8kqSq+ph2avN5EgZ github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0/go.mod h1:VE33Y1A7q8XkY0I0DWF04eQlg1z5dsKw1EEQzfhkCoc= github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0 h1:GJdyUvYs/81imU2h6wqSa4T9guevI7eBr9YhXUmOwIA= github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0/go.mod h1:QmHnuYuWyavbwugFNSSJRvzMGaFngJD52D2Q3Rm9Mz0= -github.com/aws/aws-sdk-go-v2/service/billing v1.3.1 h1:ubne5J3y/pp9c/ojwPhTbBy5PJB7Gs1WM6JooUQJzCg= -github.com/aws/aws-sdk-go-v2/service/billing v1.3.1/go.mod h1:YeisxBuT89KEnsEw/BXZy+En8LjBzP4wfVqHf9Lkqzw= +github.com/aws/aws-sdk-go-v2/service/billing v1.4.0 h1:9cAmZFgJC5ymi2OD5OOlsDgatSVGHuwaxvO0/bkfyBI= +github.com/aws/aws-sdk-go-v2/service/billing v1.4.0/go.mod h1:jV6JqgNCURYxs3c4fp3dMQUdoTC5NnwtqKT8y8tF71s= github.com/aws/aws-sdk-go-v2/service/budgets v1.33.1 h1:Iai284Y0UvwLD8Bz/qDXbmdMGzrYOHCnvAKStFIn78A= github.com/aws/aws-sdk-go-v2/service/budgets v1.33.1/go.mod h1:KkS6P8P77BprIvQyfB8cX0qkYftuwBSpug2AYjGQRow= github.com/aws/aws-sdk-go-v2/service/chatbot v1.11.1 h1:MQ4cl83vzh3+xNt6p9wpd9Eu4UffTZDwPq3Ow6fr/4E= From f9ab096905456175028aded9473cbfa0ef524b60 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:27 -0400 Subject: [PATCH 0317/1301] go get github.com/aws/aws-sdk-go-v2/service/budgets. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7f0a7205c35e..fe484084a492 100644 --- a/go.mod +++ b/go.mod @@ -46,7 +46,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0 github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0 github.com/aws/aws-sdk-go-v2/service/billing v1.4.0 - github.com/aws/aws-sdk-go-v2/service/budgets v1.33.1 + github.com/aws/aws-sdk-go-v2/service/budgets v1.34.0 github.com/aws/aws-sdk-go-v2/service/chatbot v1.11.1 github.com/aws/aws-sdk-go-v2/service/chime v1.37.1 github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.23.1 diff --git a/go.sum b/go.sum index ef2f4996430f..4082356fa78b 100644 --- a/go.sum +++ b/go.sum @@ -103,8 +103,8 @@ github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0 h1:GJdyUvYs/ github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0/go.mod h1:QmHnuYuWyavbwugFNSSJRvzMGaFngJD52D2Q3Rm9Mz0= github.com/aws/aws-sdk-go-v2/service/billing v1.4.0 h1:9cAmZFgJC5ymi2OD5OOlsDgatSVGHuwaxvO0/bkfyBI= github.com/aws/aws-sdk-go-v2/service/billing v1.4.0/go.mod h1:jV6JqgNCURYxs3c4fp3dMQUdoTC5NnwtqKT8y8tF71s= -github.com/aws/aws-sdk-go-v2/service/budgets v1.33.1 h1:Iai284Y0UvwLD8Bz/qDXbmdMGzrYOHCnvAKStFIn78A= -github.com/aws/aws-sdk-go-v2/service/budgets v1.33.1/go.mod h1:KkS6P8P77BprIvQyfB8cX0qkYftuwBSpug2AYjGQRow= +github.com/aws/aws-sdk-go-v2/service/budgets v1.34.0 h1:nB8rYoMzGtmoyfDVJFFcA0erXeQgncsy1sJfFB01gwY= +github.com/aws/aws-sdk-go-v2/service/budgets v1.34.0/go.mod h1:Q0u6QOkKcwMNEvPgZAZlFo+zs3aP1wgMJANH0XKJEPU= github.com/aws/aws-sdk-go-v2/service/chatbot v1.11.1 h1:MQ4cl83vzh3+xNt6p9wpd9Eu4UffTZDwPq3Ow6fr/4E= github.com/aws/aws-sdk-go-v2/service/chatbot v1.11.1/go.mod h1:6WF++CTyTdZuyhTl1hXbgCe1GUvBop62/HpVvlX7uHY= github.com/aws/aws-sdk-go-v2/service/chime v1.37.1 h1:uZotozsudJwrN4dmmRz35pXBCsDUyRNREHS6K54UNic= From 58805c57ae5c1b5ebe80cea13b64b55853d66366 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:28 -0400 Subject: [PATCH 0318/1301] go get github.com/aws/aws-sdk-go-v2/service/chatbot. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index fe484084a492..ce9c219e0ec6 100644 --- a/go.mod +++ b/go.mod @@ -47,7 +47,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0 github.com/aws/aws-sdk-go-v2/service/billing v1.4.0 github.com/aws/aws-sdk-go-v2/service/budgets v1.34.0 - github.com/aws/aws-sdk-go-v2/service/chatbot v1.11.1 + github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0 github.com/aws/aws-sdk-go-v2/service/chime v1.37.1 github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.23.1 github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.23.1 diff --git a/go.sum b/go.sum index 4082356fa78b..c5584f4aadf6 100644 --- a/go.sum +++ b/go.sum @@ -105,8 +105,8 @@ github.com/aws/aws-sdk-go-v2/service/billing v1.4.0 h1:9cAmZFgJC5ymi2OD5OOlsDgat github.com/aws/aws-sdk-go-v2/service/billing v1.4.0/go.mod h1:jV6JqgNCURYxs3c4fp3dMQUdoTC5NnwtqKT8y8tF71s= github.com/aws/aws-sdk-go-v2/service/budgets v1.34.0 h1:nB8rYoMzGtmoyfDVJFFcA0erXeQgncsy1sJfFB01gwY= github.com/aws/aws-sdk-go-v2/service/budgets v1.34.0/go.mod h1:Q0u6QOkKcwMNEvPgZAZlFo+zs3aP1wgMJANH0XKJEPU= -github.com/aws/aws-sdk-go-v2/service/chatbot v1.11.1 h1:MQ4cl83vzh3+xNt6p9wpd9Eu4UffTZDwPq3Ow6fr/4E= -github.com/aws/aws-sdk-go-v2/service/chatbot v1.11.1/go.mod h1:6WF++CTyTdZuyhTl1hXbgCe1GUvBop62/HpVvlX7uHY= +github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0 h1:uMXPZGOAfgo6jmvuaEyLSKt0Y3OrwQb+c/ZWv8apz+M= +github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0/go.mod h1:e7Yi+X2nUGErWGG98k3U6QTocR3HFVRelFYyZrM/6kI= github.com/aws/aws-sdk-go-v2/service/chime v1.37.1 h1:uZotozsudJwrN4dmmRz35pXBCsDUyRNREHS6K54UNic= github.com/aws/aws-sdk-go-v2/service/chime v1.37.1/go.mod h1:RtRWdRgq659iw+IX8GkicgBeUrAi/uM/F6UB2kRXLEw= github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.23.1 h1:snEGKLwYw3hQWjnFWP4tJgeGB58EJ5pKVRXOQr8mgiM= From 194f935e78ef2d0105fd5d66d2806e396295721b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:29 -0400 Subject: [PATCH 0319/1301] go get github.com/aws/aws-sdk-go-v2/service/chime. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ce9c219e0ec6..923fe37321aa 100644 --- a/go.mod +++ b/go.mod @@ -48,7 +48,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/billing v1.4.0 github.com/aws/aws-sdk-go-v2/service/budgets v1.34.0 github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0 - github.com/aws/aws-sdk-go-v2/service/chime v1.37.1 + github.com/aws/aws-sdk-go-v2/service/chime v1.38.0 github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.23.1 github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.23.1 github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.27.1 diff --git a/go.sum b/go.sum index c5584f4aadf6..c9b7a0abf32e 100644 --- a/go.sum +++ b/go.sum @@ -107,8 +107,8 @@ github.com/aws/aws-sdk-go-v2/service/budgets v1.34.0 h1:nB8rYoMzGtmoyfDVJFFcA0er github.com/aws/aws-sdk-go-v2/service/budgets v1.34.0/go.mod h1:Q0u6QOkKcwMNEvPgZAZlFo+zs3aP1wgMJANH0XKJEPU= github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0 h1:uMXPZGOAfgo6jmvuaEyLSKt0Y3OrwQb+c/ZWv8apz+M= github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0/go.mod h1:e7Yi+X2nUGErWGG98k3U6QTocR3HFVRelFYyZrM/6kI= -github.com/aws/aws-sdk-go-v2/service/chime v1.37.1 h1:uZotozsudJwrN4dmmRz35pXBCsDUyRNREHS6K54UNic= -github.com/aws/aws-sdk-go-v2/service/chime v1.37.1/go.mod h1:RtRWdRgq659iw+IX8GkicgBeUrAi/uM/F6UB2kRXLEw= +github.com/aws/aws-sdk-go-v2/service/chime v1.38.0 h1:iJ+spCNIok1pcSB8Ep+icpsEZE3zJBmsy2utIwtVfog= +github.com/aws/aws-sdk-go-v2/service/chime v1.38.0/go.mod h1:F/VVaff6oOMj33p0J+/aKHCPnDLY5CPOqZOy818/sQA= github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.23.1 h1:snEGKLwYw3hQWjnFWP4tJgeGB58EJ5pKVRXOQr8mgiM= github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.23.1/go.mod h1:Jw4s1iOrBDZFuypWDpOLuZYnAWT1E7n7NI+F/oPTyR0= github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.23.1 h1:37kUAkGtiiFvuwB8Q+fx9WwYuCN6UsCAj17hi30mVLs= From 10e9497f0bba9eda0c4e5b2af9b67afec3bc2b9c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:30 -0400 Subject: [PATCH 0320/1301] go get github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 923fe37321aa..9be37073a59d 100644 --- a/go.mod +++ b/go.mod @@ -49,7 +49,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/budgets v1.34.0 github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0 github.com/aws/aws-sdk-go-v2/service/chime v1.38.0 - github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.23.1 + github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.24.0 github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.23.1 github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.27.1 github.com/aws/aws-sdk-go-v2/service/cloud9 v1.30.1 diff --git a/go.sum b/go.sum index c9b7a0abf32e..9ef89daffde4 100644 --- a/go.sum +++ b/go.sum @@ -109,8 +109,8 @@ github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0 h1:uMXPZGOAfgo6jmvuaEyLSKt0 github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0/go.mod h1:e7Yi+X2nUGErWGG98k3U6QTocR3HFVRelFYyZrM/6kI= github.com/aws/aws-sdk-go-v2/service/chime v1.38.0 h1:iJ+spCNIok1pcSB8Ep+icpsEZE3zJBmsy2utIwtVfog= github.com/aws/aws-sdk-go-v2/service/chime v1.38.0/go.mod h1:F/VVaff6oOMj33p0J+/aKHCPnDLY5CPOqZOy818/sQA= -github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.23.1 h1:snEGKLwYw3hQWjnFWP4tJgeGB58EJ5pKVRXOQr8mgiM= -github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.23.1/go.mod h1:Jw4s1iOrBDZFuypWDpOLuZYnAWT1E7n7NI+F/oPTyR0= +github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.24.0 h1:hqtaNtiTl0ecaXe+u8c2T/5guiwvDqeNzGYJV+UIcU0= +github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.24.0/go.mod h1:sVQ3ND/Erl/qSzVLwb9x7tO3KCXit4UxaFlrE4uEY30= github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.23.1 h1:37kUAkGtiiFvuwB8Q+fx9WwYuCN6UsCAj17hi30mVLs= github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.23.1/go.mod h1:zbl4bbWYNgSrLi2KshZcnXhgUogEMwI7mTu0BL1z3m0= github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.27.1 h1:BCWj3VrS1wrgaixwbrJ9VJG9JtdSdA5u5S5RHbv036E= From 7dd76fd09b545d0f69ffff00044db44132eb00ea Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:31 -0400 Subject: [PATCH 0321/1301] go get github.com/aws/aws-sdk-go-v2/service/chimesdkvoice. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 9be37073a59d..6ac58b737617 100644 --- a/go.mod +++ b/go.mod @@ -50,7 +50,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0 github.com/aws/aws-sdk-go-v2/service/chime v1.38.0 github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.24.0 - github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.23.1 + github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.24.0 github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.27.1 github.com/aws/aws-sdk-go-v2/service/cloud9 v1.30.1 github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.25.1 diff --git a/go.sum b/go.sum index 9ef89daffde4..c2b7bc62a981 100644 --- a/go.sum +++ b/go.sum @@ -111,8 +111,8 @@ github.com/aws/aws-sdk-go-v2/service/chime v1.38.0 h1:iJ+spCNIok1pcSB8Ep+icpsEZE github.com/aws/aws-sdk-go-v2/service/chime v1.38.0/go.mod h1:F/VVaff6oOMj33p0J+/aKHCPnDLY5CPOqZOy818/sQA= github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.24.0 h1:hqtaNtiTl0ecaXe+u8c2T/5guiwvDqeNzGYJV+UIcU0= github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.24.0/go.mod h1:sVQ3ND/Erl/qSzVLwb9x7tO3KCXit4UxaFlrE4uEY30= -github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.23.1 h1:37kUAkGtiiFvuwB8Q+fx9WwYuCN6UsCAj17hi30mVLs= -github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.23.1/go.mod h1:zbl4bbWYNgSrLi2KshZcnXhgUogEMwI7mTu0BL1z3m0= +github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.24.0 h1:2W77vBqwQKr+Jf1X7bb5Kwmlpg/PcF0ccW5iNbk9F4A= +github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.24.0/go.mod h1:K5kdhfL23lGFx1yqnWek8LIiF5OpJw09rEnUCcalUmc= github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.27.1 h1:BCWj3VrS1wrgaixwbrJ9VJG9JtdSdA5u5S5RHbv036E= github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.27.1/go.mod h1:VNBjeDkZNToj7jboiPq4KlPI7Y7OP5m1tN5Y652vNgQ= github.com/aws/aws-sdk-go-v2/service/cloud9 v1.30.1 h1:04cu8ernMSugkM31n9yPzvweuze8bTlifLe1Ky1J+3w= From 9e12ecf42fe984c4ca01a60ee5a52b935923a15b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:32 -0400 Subject: [PATCH 0322/1301] go get github.com/aws/aws-sdk-go-v2/service/cleanrooms. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 6ac58b737617..d053c6e10da3 100644 --- a/go.mod +++ b/go.mod @@ -51,7 +51,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/chime v1.38.0 github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.24.0 github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.24.0 - github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.27.1 + github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.28.0 github.com/aws/aws-sdk-go-v2/service/cloud9 v1.30.1 github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.25.1 github.com/aws/aws-sdk-go-v2/service/cloudformation v1.62.1 diff --git a/go.sum b/go.sum index c2b7bc62a981..c13c06ff6b0e 100644 --- a/go.sum +++ b/go.sum @@ -113,8 +113,8 @@ github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.24.0 h1:hqtaNtiTl github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.24.0/go.mod h1:sVQ3ND/Erl/qSzVLwb9x7tO3KCXit4UxaFlrE4uEY30= github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.24.0 h1:2W77vBqwQKr+Jf1X7bb5Kwmlpg/PcF0ccW5iNbk9F4A= github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.24.0/go.mod h1:K5kdhfL23lGFx1yqnWek8LIiF5OpJw09rEnUCcalUmc= -github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.27.1 h1:BCWj3VrS1wrgaixwbrJ9VJG9JtdSdA5u5S5RHbv036E= -github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.27.1/go.mod h1:VNBjeDkZNToj7jboiPq4KlPI7Y7OP5m1tN5Y652vNgQ= +github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.28.0 h1:YN21H1gfpZnJ6+u0R50FCxadXnVoF+sp8Z+nfmNxaQM= +github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.28.0/go.mod h1:zP86jfwHZOeA5qSJkhYhsrXxcxl+2ruie+Twtn8q5mw= github.com/aws/aws-sdk-go-v2/service/cloud9 v1.30.1 h1:04cu8ernMSugkM31n9yPzvweuze8bTlifLe1Ky1J+3w= github.com/aws/aws-sdk-go-v2/service/cloud9 v1.30.1/go.mod h1:vJ5ns5qOlLbAA3A4IhAXNYJ2ao+3ckUkeshi6IuBZxg= github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.25.1 h1:7S5JbWI2b7lSCWcWcrgaE0XSYS3muGnt+rrxEWH7c5Y= From 2531810f21167e12d749825e6abf7ef969e3b6bf Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:33 -0400 Subject: [PATCH 0323/1301] go get github.com/aws/aws-sdk-go-v2/service/cloud9. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d053c6e10da3..1a0fb7215cb5 100644 --- a/go.mod +++ b/go.mod @@ -52,7 +52,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.24.0 github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.24.0 github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.28.0 - github.com/aws/aws-sdk-go-v2/service/cloud9 v1.30.1 + github.com/aws/aws-sdk-go-v2/service/cloud9 v1.31.0 github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.25.1 github.com/aws/aws-sdk-go-v2/service/cloudformation v1.62.1 github.com/aws/aws-sdk-go-v2/service/cloudfront v1.49.0 diff --git a/go.sum b/go.sum index c13c06ff6b0e..2681a3c3afb5 100644 --- a/go.sum +++ b/go.sum @@ -115,8 +115,8 @@ github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.24.0 h1:2W77vBqwQKr+Jf1X7b github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.24.0/go.mod h1:K5kdhfL23lGFx1yqnWek8LIiF5OpJw09rEnUCcalUmc= github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.28.0 h1:YN21H1gfpZnJ6+u0R50FCxadXnVoF+sp8Z+nfmNxaQM= github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.28.0/go.mod h1:zP86jfwHZOeA5qSJkhYhsrXxcxl+2ruie+Twtn8q5mw= -github.com/aws/aws-sdk-go-v2/service/cloud9 v1.30.1 h1:04cu8ernMSugkM31n9yPzvweuze8bTlifLe1Ky1J+3w= -github.com/aws/aws-sdk-go-v2/service/cloud9 v1.30.1/go.mod h1:vJ5ns5qOlLbAA3A4IhAXNYJ2ao+3ckUkeshi6IuBZxg= +github.com/aws/aws-sdk-go-v2/service/cloud9 v1.31.0 h1:86u99iNYazCQU8jq2uoKy5dFwn/mko+8Il0jnPY+sDI= +github.com/aws/aws-sdk-go-v2/service/cloud9 v1.31.0/go.mod h1:mJzLUSOFx5+Q/ceeC+resgBf9gElJcYFtxOH/ZBxWT8= github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.25.1 h1:7S5JbWI2b7lSCWcWcrgaE0XSYS3muGnt+rrxEWH7c5Y= github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.25.1/go.mod h1:bvxQ0XpcdTa32bVV9ORpSQA3dLKBGZbbH+1HFQgx4ng= github.com/aws/aws-sdk-go-v2/service/cloudformation v1.62.1 h1:gqN14m9ds7GOyB9B3es0Gv0xf1OaPpqmU1qUGXh8sR0= From b7e762e166e0e0e290451ee2fba5ce33e98a34df Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:34 -0400 Subject: [PATCH 0324/1301] go get github.com/aws/aws-sdk-go-v2/service/cloudcontrol. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 1a0fb7215cb5..2034ead0aef2 100644 --- a/go.mod +++ b/go.mod @@ -53,7 +53,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.24.0 github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.28.0 github.com/aws/aws-sdk-go-v2/service/cloud9 v1.31.0 - github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.25.1 + github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.26.0 github.com/aws/aws-sdk-go-v2/service/cloudformation v1.62.1 github.com/aws/aws-sdk-go-v2/service/cloudfront v1.49.0 github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.10.1 diff --git a/go.sum b/go.sum index 2681a3c3afb5..752f5faabfdb 100644 --- a/go.sum +++ b/go.sum @@ -117,8 +117,8 @@ github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.28.0 h1:YN21H1gfpZnJ6+u0R50FC github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.28.0/go.mod h1:zP86jfwHZOeA5qSJkhYhsrXxcxl+2ruie+Twtn8q5mw= github.com/aws/aws-sdk-go-v2/service/cloud9 v1.31.0 h1:86u99iNYazCQU8jq2uoKy5dFwn/mko+8Il0jnPY+sDI= github.com/aws/aws-sdk-go-v2/service/cloud9 v1.31.0/go.mod h1:mJzLUSOFx5+Q/ceeC+resgBf9gElJcYFtxOH/ZBxWT8= -github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.25.1 h1:7S5JbWI2b7lSCWcWcrgaE0XSYS3muGnt+rrxEWH7c5Y= -github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.25.1/go.mod h1:bvxQ0XpcdTa32bVV9ORpSQA3dLKBGZbbH+1HFQgx4ng= +github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.26.0 h1:fbq4r7n94nSyyJbEsDsVvjlMPMPJXSke8gawk/EGaC0= +github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.26.0/go.mod h1:La5Cr0mDPCAuBwu+VVnbOoXd5HVow52Pt/UnPAdZyn8= github.com/aws/aws-sdk-go-v2/service/cloudformation v1.62.1 h1:gqN14m9ds7GOyB9B3es0Gv0xf1OaPpqmU1qUGXh8sR0= github.com/aws/aws-sdk-go-v2/service/cloudformation v1.62.1/go.mod h1:bfVI9myeahAr36mMKS/dtXsU4inMeZd9CCYe1kcHmHA= github.com/aws/aws-sdk-go-v2/service/cloudfront v1.49.0 h1:ZABkPLtfK+q2GkW1pA+NukaGM/EAKamEUR347B1md2U= From 584bef27998e0f1097f3722e40e22f3869084a4c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:35 -0400 Subject: [PATCH 0325/1301] go get github.com/aws/aws-sdk-go-v2/service/cloudformation. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 2034ead0aef2..2178565863fc 100644 --- a/go.mod +++ b/go.mod @@ -54,7 +54,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.28.0 github.com/aws/aws-sdk-go-v2/service/cloud9 v1.31.0 github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.26.0 - github.com/aws/aws-sdk-go-v2/service/cloudformation v1.62.1 + github.com/aws/aws-sdk-go-v2/service/cloudformation v1.63.0 github.com/aws/aws-sdk-go-v2/service/cloudfront v1.49.0 github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.10.1 github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.31.1 diff --git a/go.sum b/go.sum index 752f5faabfdb..f5b369b7edc5 100644 --- a/go.sum +++ b/go.sum @@ -119,8 +119,8 @@ github.com/aws/aws-sdk-go-v2/service/cloud9 v1.31.0 h1:86u99iNYazCQU8jq2uoKy5dFw github.com/aws/aws-sdk-go-v2/service/cloud9 v1.31.0/go.mod h1:mJzLUSOFx5+Q/ceeC+resgBf9gElJcYFtxOH/ZBxWT8= github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.26.0 h1:fbq4r7n94nSyyJbEsDsVvjlMPMPJXSke8gawk/EGaC0= github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.26.0/go.mod h1:La5Cr0mDPCAuBwu+VVnbOoXd5HVow52Pt/UnPAdZyn8= -github.com/aws/aws-sdk-go-v2/service/cloudformation v1.62.1 h1:gqN14m9ds7GOyB9B3es0Gv0xf1OaPpqmU1qUGXh8sR0= -github.com/aws/aws-sdk-go-v2/service/cloudformation v1.62.1/go.mod h1:bfVI9myeahAr36mMKS/dtXsU4inMeZd9CCYe1kcHmHA= +github.com/aws/aws-sdk-go-v2/service/cloudformation v1.63.0 h1:GHnZM6p3b2Do9wBwwuAzPuGy+HY597jv5LKiKxu0PAs= +github.com/aws/aws-sdk-go-v2/service/cloudformation v1.63.0/go.mod h1:B3WrgqTVkLUTpX5C/ctNig6S78CqebFxLkwrxAYtjIg= github.com/aws/aws-sdk-go-v2/service/cloudfront v1.49.0 h1:ZABkPLtfK+q2GkW1pA+NukaGM/EAKamEUR347B1md2U= github.com/aws/aws-sdk-go-v2/service/cloudfront v1.49.0/go.mod h1:PHC5ybfgglvCqD7fLaqR5A7LIuJqIoUxhlwF/8faMt0= github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.10.1 h1:c0BRZh3XLzqzx0UuJ13HsnFQEpPWwpGKDoiONRZmdPg= From 974b46ba786c8bbf7ef9134de824eb4523b3cde4 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:36 -0400 Subject: [PATCH 0326/1301] go get github.com/aws/aws-sdk-go-v2/service/cloudfront. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 2178565863fc..73f7ecf24269 100644 --- a/go.mod +++ b/go.mod @@ -55,7 +55,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloud9 v1.31.0 github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.26.0 github.com/aws/aws-sdk-go-v2/service/cloudformation v1.63.0 - github.com/aws/aws-sdk-go-v2/service/cloudfront v1.49.0 + github.com/aws/aws-sdk-go-v2/service/cloudfront v1.50.0 github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.10.1 github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.31.1 github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.28.1 diff --git a/go.sum b/go.sum index f5b369b7edc5..a73be2c5b16e 100644 --- a/go.sum +++ b/go.sum @@ -121,8 +121,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.26.0 h1:fbq4r7n94nSyyJbEsDs github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.26.0/go.mod h1:La5Cr0mDPCAuBwu+VVnbOoXd5HVow52Pt/UnPAdZyn8= github.com/aws/aws-sdk-go-v2/service/cloudformation v1.63.0 h1:GHnZM6p3b2Do9wBwwuAzPuGy+HY597jv5LKiKxu0PAs= github.com/aws/aws-sdk-go-v2/service/cloudformation v1.63.0/go.mod h1:B3WrgqTVkLUTpX5C/ctNig6S78CqebFxLkwrxAYtjIg= -github.com/aws/aws-sdk-go-v2/service/cloudfront v1.49.0 h1:ZABkPLtfK+q2GkW1pA+NukaGM/EAKamEUR347B1md2U= -github.com/aws/aws-sdk-go-v2/service/cloudfront v1.49.0/go.mod h1:PHC5ybfgglvCqD7fLaqR5A7LIuJqIoUxhlwF/8faMt0= +github.com/aws/aws-sdk-go-v2/service/cloudfront v1.50.0 h1:PN9qG49RrQ5b9in9ZfHqY3LxVEKoURo0Ia0LMjzFkw8= +github.com/aws/aws-sdk-go-v2/service/cloudfront v1.50.0/go.mod h1:HLzQI9ENSq0pNCO+ASh5KbwL7AoYBqPkTLv1Y40+pl4= github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.10.1 h1:c0BRZh3XLzqzx0UuJ13HsnFQEpPWwpGKDoiONRZmdPg= github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.10.1/go.mod h1:Vyk18vQt9kEsM/YyRmnLKUmLd6DI/JhcL7MeRD60WpQ= github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.31.1 h1:beB+ptVgyQsnISH3XjxUmbhtn7oO6cuuB8kwSQp6LfE= From 7b17080713f08e65e338262be56a364aa34f8241 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:37 -0400 Subject: [PATCH 0327/1301] go get github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 73f7ecf24269..07f4eac19a30 100644 --- a/go.mod +++ b/go.mod @@ -56,7 +56,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.26.0 github.com/aws/aws-sdk-go-v2/service/cloudformation v1.63.0 github.com/aws/aws-sdk-go-v2/service/cloudfront v1.50.0 - github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.10.1 + github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.11.0 github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.31.1 github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.28.1 github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.50.1 diff --git a/go.sum b/go.sum index a73be2c5b16e..d9863fa8f4a1 100644 --- a/go.sum +++ b/go.sum @@ -123,8 +123,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudformation v1.63.0 h1:GHnZM6p3b2Do9wBww github.com/aws/aws-sdk-go-v2/service/cloudformation v1.63.0/go.mod h1:B3WrgqTVkLUTpX5C/ctNig6S78CqebFxLkwrxAYtjIg= github.com/aws/aws-sdk-go-v2/service/cloudfront v1.50.0 h1:PN9qG49RrQ5b9in9ZfHqY3LxVEKoURo0Ia0LMjzFkw8= github.com/aws/aws-sdk-go-v2/service/cloudfront v1.50.0/go.mod h1:HLzQI9ENSq0pNCO+ASh5KbwL7AoYBqPkTLv1Y40+pl4= -github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.10.1 h1:c0BRZh3XLzqzx0UuJ13HsnFQEpPWwpGKDoiONRZmdPg= -github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.10.1/go.mod h1:Vyk18vQt9kEsM/YyRmnLKUmLd6DI/JhcL7MeRD60WpQ= +github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.11.0 h1:iaCqgJY6oh3i+lfw6EM9XF7QzgFTX8FEFYrbrdNTCtw= +github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.11.0/go.mod h1:vYTN8GiXfF6PAeyueEsqS0C9t0X3c4ELvX6a8XdDWSc= github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.31.1 h1:beB+ptVgyQsnISH3XjxUmbhtn7oO6cuuB8kwSQp6LfE= github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.31.1/go.mod h1:lKCraexL7AGqlyR6j4uBJWKDMvMyDydrjOLcSmgCAK8= github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.28.1 h1:ggLVSG9dPkP02VXhRAWLpq7FpNxM9S8F6M2UGqKsv98= From 060eda6cf77e1a4041f3babd15967621641f6a05 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:38 -0400 Subject: [PATCH 0328/1301] go get github.com/aws/aws-sdk-go-v2/service/cloudhsmv2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 07f4eac19a30..86a4109d5e20 100644 --- a/go.mod +++ b/go.mod @@ -57,7 +57,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloudformation v1.63.0 github.com/aws/aws-sdk-go-v2/service/cloudfront v1.50.0 github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.11.0 - github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.31.1 + github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.32.0 github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.28.1 github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.50.1 github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.46.1 diff --git a/go.sum b/go.sum index d9863fa8f4a1..331532282b1d 100644 --- a/go.sum +++ b/go.sum @@ -125,8 +125,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudfront v1.50.0 h1:PN9qG49RrQ5b9in9ZfHqY github.com/aws/aws-sdk-go-v2/service/cloudfront v1.50.0/go.mod h1:HLzQI9ENSq0pNCO+ASh5KbwL7AoYBqPkTLv1Y40+pl4= github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.11.0 h1:iaCqgJY6oh3i+lfw6EM9XF7QzgFTX8FEFYrbrdNTCtw= github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.11.0/go.mod h1:vYTN8GiXfF6PAeyueEsqS0C9t0X3c4ELvX6a8XdDWSc= -github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.31.1 h1:beB+ptVgyQsnISH3XjxUmbhtn7oO6cuuB8kwSQp6LfE= -github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.31.1/go.mod h1:lKCraexL7AGqlyR6j4uBJWKDMvMyDydrjOLcSmgCAK8= +github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.32.0 h1:6OKTiz2vZO39/1WIbD1qp1+fWdXkkSNRWaV6yslKjyY= +github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.32.0/go.mod h1:VMuT9tI291dMpyjO8fo6YybLejDn7yZwPF5LcgEolVA= github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.28.1 h1:ggLVSG9dPkP02VXhRAWLpq7FpNxM9S8F6M2UGqKsv98= github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.28.1/go.mod h1:2+h6rZKo2OMnxiE5gyqLwB50cfGm25PsDYSiamOQ9Dg= github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.50.1 h1:f+n0I/ayFBFUrq/x9Y7YwJlQr+SkoNjJpWy24scdtps= From 8df6a3b0910bafe1bfcd3fbfdf35d6e30f239c4e Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:39 -0400 Subject: [PATCH 0329/1301] go get github.com/aws/aws-sdk-go-v2/service/cloudsearch. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 86a4109d5e20..623f81eb280c 100644 --- a/go.mod +++ b/go.mod @@ -58,7 +58,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloudfront v1.50.0 github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.11.0 github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.32.0 - github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.28.1 + github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.29.0 github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.50.1 github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.46.1 github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.54.1 diff --git a/go.sum b/go.sum index 331532282b1d..d599b68161dd 100644 --- a/go.sum +++ b/go.sum @@ -127,8 +127,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.11.0 h1:iaCqgJY6 github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.11.0/go.mod h1:vYTN8GiXfF6PAeyueEsqS0C9t0X3c4ELvX6a8XdDWSc= github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.32.0 h1:6OKTiz2vZO39/1WIbD1qp1+fWdXkkSNRWaV6yslKjyY= github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.32.0/go.mod h1:VMuT9tI291dMpyjO8fo6YybLejDn7yZwPF5LcgEolVA= -github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.28.1 h1:ggLVSG9dPkP02VXhRAWLpq7FpNxM9S8F6M2UGqKsv98= -github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.28.1/go.mod h1:2+h6rZKo2OMnxiE5gyqLwB50cfGm25PsDYSiamOQ9Dg= +github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.29.0 h1:gXu97OvveSwWxTSKF81O/FeGh773qrXI3lhS1YSv7X4= +github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.29.0/go.mod h1:DytnWBTZOnhwCWKehIXDqmo+Ixppa3wAurbgDE7isg4= github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.50.1 h1:f+n0I/ayFBFUrq/x9Y7YwJlQr+SkoNjJpWy24scdtps= github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.50.1/go.mod h1:OE2RTaxbHdirCXEtYu4/2K2VNDT2fJdW2XsGngXLEKA= github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.46.1 h1:jdaLx0Fle7TsNNpd4fe1C5JOtIQCUtYveT5qOsmTHdg= From 43df029fb987dffbdfafb71d324430955b4949a9 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:40 -0400 Subject: [PATCH 0330/1301] go get github.com/aws/aws-sdk-go-v2/service/cloudtrail. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 623f81eb280c..025ac6dcee22 100644 --- a/go.mod +++ b/go.mod @@ -59,7 +59,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.11.0 github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.32.0 github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.29.0 - github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.50.1 + github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.51.0 github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.46.1 github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.54.1 github.com/aws/aws-sdk-go-v2/service/codeartifact v1.35.1 diff --git a/go.sum b/go.sum index d599b68161dd..90bb58fb890d 100644 --- a/go.sum +++ b/go.sum @@ -129,8 +129,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.32.0 h1:6OKTiz2vZO39/1WIbD1qp github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.32.0/go.mod h1:VMuT9tI291dMpyjO8fo6YybLejDn7yZwPF5LcgEolVA= github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.29.0 h1:gXu97OvveSwWxTSKF81O/FeGh773qrXI3lhS1YSv7X4= github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.29.0/go.mod h1:DytnWBTZOnhwCWKehIXDqmo+Ixppa3wAurbgDE7isg4= -github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.50.1 h1:f+n0I/ayFBFUrq/x9Y7YwJlQr+SkoNjJpWy24scdtps= -github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.50.1/go.mod h1:OE2RTaxbHdirCXEtYu4/2K2VNDT2fJdW2XsGngXLEKA= +github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.51.0 h1:mEDXhybFN7q39EBrN3SiZt0sebBU18ZNUuvOPftYI84= +github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.51.0/go.mod h1:bAz9Mfw6YqILCw087zDfCyDuZNs4wK4S+G+JSHBSyW0= github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.46.1 h1:jdaLx0Fle7TsNNpd4fe1C5JOtIQCUtYveT5qOsmTHdg= github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.46.1/go.mod h1:ZCCs9PKEJ2qp3sA1IH7VWYmEJnenvHoR1gEqDH6qNoI= github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.54.1 h1:eKC7wj2CjC0dJcTPPZa33ku+mueglsEb3c8L8GMarnQ= From 64f69c1c000808330de12a629d439abfbe4eaaff Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:41 -0400 Subject: [PATCH 0331/1301] go get github.com/aws/aws-sdk-go-v2/service/cloudwatch. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 025ac6dcee22..a34b3aea747f 100644 --- a/go.mod +++ b/go.mod @@ -60,7 +60,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.32.0 github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.29.0 github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.51.0 - github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.46.1 + github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.47.0 github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.54.1 github.com/aws/aws-sdk-go-v2/service/codeartifact v1.35.1 github.com/aws/aws-sdk-go-v2/service/codebuild v1.62.1 diff --git a/go.sum b/go.sum index 90bb58fb890d..5bc16beb89ab 100644 --- a/go.sum +++ b/go.sum @@ -131,8 +131,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.29.0 h1:gXu97OvveSwWxTSKF81O github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.29.0/go.mod h1:DytnWBTZOnhwCWKehIXDqmo+Ixppa3wAurbgDE7isg4= github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.51.0 h1:mEDXhybFN7q39EBrN3SiZt0sebBU18ZNUuvOPftYI84= github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.51.0/go.mod h1:bAz9Mfw6YqILCw087zDfCyDuZNs4wK4S+G+JSHBSyW0= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.46.1 h1:jdaLx0Fle7TsNNpd4fe1C5JOtIQCUtYveT5qOsmTHdg= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.46.1/go.mod h1:ZCCs9PKEJ2qp3sA1IH7VWYmEJnenvHoR1gEqDH6qNoI= +github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.47.0 h1:Lpr8QXTUoSqu+E6YTxQlmPnvCE4gouG+vHpzhSYAU/Y= +github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.47.0/go.mod h1:Izz13TvjH3bi2LxgMybJYhrY1UJ9N4c4l/th1iLvRDI= github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.54.1 h1:eKC7wj2CjC0dJcTPPZa33ku+mueglsEb3c8L8GMarnQ= github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.54.1/go.mod h1:+Y32vrMhsQMA+q2x2cyQrox40n9RSkmZ6t+sGujF0ME= github.com/aws/aws-sdk-go-v2/service/codeartifact v1.35.1 h1:q99yNK/Gt8XzQ7hfxIDlK97S9Vmjsg/R0ihMS4P+QPw= From a99283bba63a10b00ba2921f6d1d070618adc522 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:42 -0400 Subject: [PATCH 0332/1301] go get github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a34b3aea747f..cef1d4959f30 100644 --- a/go.mod +++ b/go.mod @@ -61,7 +61,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.29.0 github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.51.0 github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.47.0 - github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.54.1 + github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.55.0 github.com/aws/aws-sdk-go-v2/service/codeartifact v1.35.1 github.com/aws/aws-sdk-go-v2/service/codebuild v1.62.1 github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.18.1 diff --git a/go.sum b/go.sum index 5bc16beb89ab..4e007fd6f6f4 100644 --- a/go.sum +++ b/go.sum @@ -133,8 +133,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.51.0 h1:mEDXhybFN7q39EBrN3SiZ github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.51.0/go.mod h1:bAz9Mfw6YqILCw087zDfCyDuZNs4wK4S+G+JSHBSyW0= github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.47.0 h1:Lpr8QXTUoSqu+E6YTxQlmPnvCE4gouG+vHpzhSYAU/Y= github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.47.0/go.mod h1:Izz13TvjH3bi2LxgMybJYhrY1UJ9N4c4l/th1iLvRDI= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.54.1 h1:eKC7wj2CjC0dJcTPPZa33ku+mueglsEb3c8L8GMarnQ= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.54.1/go.mod h1:+Y32vrMhsQMA+q2x2cyQrox40n9RSkmZ6t+sGujF0ME= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.55.0 h1:1gVT2+4KGrv47pHjZ83ijtozDcGqmmNevrzRcanrNbU= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.55.0/go.mod h1:HzB9FL1Jq/q+Pjkw1A7eeLzyj3NV87qthLnhzoXArvU= github.com/aws/aws-sdk-go-v2/service/codeartifact v1.35.1 h1:q99yNK/Gt8XzQ7hfxIDlK97S9Vmjsg/R0ihMS4P+QPw= github.com/aws/aws-sdk-go-v2/service/codeartifact v1.35.1/go.mod h1:VKj4D43shqsd8dQPL/ToiS07uq+T0EZrQAxSA/CpXJQ= github.com/aws/aws-sdk-go-v2/service/codebuild v1.62.1 h1:YgQ9aeWfU3BIvgATyl0QmrNJCJvptK1JGLOpSWyrAh8= From d337237b709f9c076091000ce01e3b0dac22f73f Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:43 -0400 Subject: [PATCH 0333/1301] go get github.com/aws/aws-sdk-go-v2/service/codeartifact. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index cef1d4959f30..174a7983680a 100644 --- a/go.mod +++ b/go.mod @@ -62,7 +62,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.51.0 github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.47.0 github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.55.0 - github.com/aws/aws-sdk-go-v2/service/codeartifact v1.35.1 + github.com/aws/aws-sdk-go-v2/service/codeartifact v1.36.0 github.com/aws/aws-sdk-go-v2/service/codebuild v1.62.1 github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.18.1 github.com/aws/aws-sdk-go-v2/service/codecommit v1.29.1 diff --git a/go.sum b/go.sum index 4e007fd6f6f4..e13bf99ea170 100644 --- a/go.sum +++ b/go.sum @@ -135,8 +135,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.47.0 h1:Lpr8QXTUoSqu+E6YTxQlm github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.47.0/go.mod h1:Izz13TvjH3bi2LxgMybJYhrY1UJ9N4c4l/th1iLvRDI= github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.55.0 h1:1gVT2+4KGrv47pHjZ83ijtozDcGqmmNevrzRcanrNbU= github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.55.0/go.mod h1:HzB9FL1Jq/q+Pjkw1A7eeLzyj3NV87qthLnhzoXArvU= -github.com/aws/aws-sdk-go-v2/service/codeartifact v1.35.1 h1:q99yNK/Gt8XzQ7hfxIDlK97S9Vmjsg/R0ihMS4P+QPw= -github.com/aws/aws-sdk-go-v2/service/codeartifact v1.35.1/go.mod h1:VKj4D43shqsd8dQPL/ToiS07uq+T0EZrQAxSA/CpXJQ= +github.com/aws/aws-sdk-go-v2/service/codeartifact v1.36.0 h1:fdtKm+B01B8gyakcbWAVRTp/dF6RZ8bSAwJ0SAUo+sU= +github.com/aws/aws-sdk-go-v2/service/codeartifact v1.36.0/go.mod h1:u3m1BxQTHIh9rSpYNSVXbkwf+e/SQCbCnkbiUOihF9c= github.com/aws/aws-sdk-go-v2/service/codebuild v1.62.1 h1:YgQ9aeWfU3BIvgATyl0QmrNJCJvptK1JGLOpSWyrAh8= github.com/aws/aws-sdk-go-v2/service/codebuild v1.62.1/go.mod h1:WOmjO0fUYhgcNaa2jaqqZ7mpJxcg08OmDcBeOManSrE= github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.18.1 h1:w8Ehk06uqB2zyiKTnbkRUqdCiVe65GiLEXlsOXjPkPs= From 5a370e72b5eef1bd3ab010f19dbe5739c7b3f1f8 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:44 -0400 Subject: [PATCH 0334/1301] go get github.com/aws/aws-sdk-go-v2/service/codebuild. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 174a7983680a..eebbc10e5feb 100644 --- a/go.mod +++ b/go.mod @@ -63,7 +63,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.47.0 github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.55.0 github.com/aws/aws-sdk-go-v2/service/codeartifact v1.36.0 - github.com/aws/aws-sdk-go-v2/service/codebuild v1.62.1 + github.com/aws/aws-sdk-go-v2/service/codebuild v1.63.0 github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.18.1 github.com/aws/aws-sdk-go-v2/service/codecommit v1.29.1 github.com/aws/aws-sdk-go-v2/service/codeconnections v1.7.1 diff --git a/go.sum b/go.sum index e13bf99ea170..e0827260c63c 100644 --- a/go.sum +++ b/go.sum @@ -137,8 +137,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.55.0 h1:1gVT2+4KGrv47pHjZ github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.55.0/go.mod h1:HzB9FL1Jq/q+Pjkw1A7eeLzyj3NV87qthLnhzoXArvU= github.com/aws/aws-sdk-go-v2/service/codeartifact v1.36.0 h1:fdtKm+B01B8gyakcbWAVRTp/dF6RZ8bSAwJ0SAUo+sU= github.com/aws/aws-sdk-go-v2/service/codeartifact v1.36.0/go.mod h1:u3m1BxQTHIh9rSpYNSVXbkwf+e/SQCbCnkbiUOihF9c= -github.com/aws/aws-sdk-go-v2/service/codebuild v1.62.1 h1:YgQ9aeWfU3BIvgATyl0QmrNJCJvptK1JGLOpSWyrAh8= -github.com/aws/aws-sdk-go-v2/service/codebuild v1.62.1/go.mod h1:WOmjO0fUYhgcNaa2jaqqZ7mpJxcg08OmDcBeOManSrE= +github.com/aws/aws-sdk-go-v2/service/codebuild v1.63.0 h1:OWCZwl6LdRnxnuW83NuEXHt+mkQPkKDsYEyvlDyQAxE= +github.com/aws/aws-sdk-go-v2/service/codebuild v1.63.0/go.mod h1:0k+YT2xx+g/GuLX2uLqm5A3Kno7zEtTYdI1FWGjliPM= github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.18.1 h1:w8Ehk06uqB2zyiKTnbkRUqdCiVe65GiLEXlsOXjPkPs= github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.18.1/go.mod h1:q7wXTFLkr082Ae1N3j+r9as7Qjow+XTu3Ck/dKtksGo= github.com/aws/aws-sdk-go-v2/service/codecommit v1.29.1 h1:dpVTBYBDawcWN5Dzs/mEIsvbTIB7DZahTE8ZFbOXfDc= From d13b81c3f09981e1fc004fd7681219b77c713bb3 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:45 -0400 Subject: [PATCH 0335/1301] go get github.com/aws/aws-sdk-go-v2/service/codecatalyst. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index eebbc10e5feb..9edbeff397c6 100644 --- a/go.mod +++ b/go.mod @@ -64,7 +64,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.55.0 github.com/aws/aws-sdk-go-v2/service/codeartifact v1.36.0 github.com/aws/aws-sdk-go-v2/service/codebuild v1.63.0 - github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.18.1 + github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.19.0 github.com/aws/aws-sdk-go-v2/service/codecommit v1.29.1 github.com/aws/aws-sdk-go-v2/service/codeconnections v1.7.1 github.com/aws/aws-sdk-go-v2/service/codedeploy v1.31.1 diff --git a/go.sum b/go.sum index e0827260c63c..99787be6d41a 100644 --- a/go.sum +++ b/go.sum @@ -139,8 +139,8 @@ github.com/aws/aws-sdk-go-v2/service/codeartifact v1.36.0 h1:fdtKm+B01B8gyakcbWA github.com/aws/aws-sdk-go-v2/service/codeartifact v1.36.0/go.mod h1:u3m1BxQTHIh9rSpYNSVXbkwf+e/SQCbCnkbiUOihF9c= github.com/aws/aws-sdk-go-v2/service/codebuild v1.63.0 h1:OWCZwl6LdRnxnuW83NuEXHt+mkQPkKDsYEyvlDyQAxE= github.com/aws/aws-sdk-go-v2/service/codebuild v1.63.0/go.mod h1:0k+YT2xx+g/GuLX2uLqm5A3Kno7zEtTYdI1FWGjliPM= -github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.18.1 h1:w8Ehk06uqB2zyiKTnbkRUqdCiVe65GiLEXlsOXjPkPs= -github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.18.1/go.mod h1:q7wXTFLkr082Ae1N3j+r9as7Qjow+XTu3Ck/dKtksGo= +github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.19.0 h1:7fMl5RowdxZ54KTTZUdSeeSfFwbRCoI1foY/gokc2zI= +github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.19.0/go.mod h1:GRd3mFvPtUuXg4j7mTtw4SV3tMwseEoerrdRkGV9sH4= github.com/aws/aws-sdk-go-v2/service/codecommit v1.29.1 h1:dpVTBYBDawcWN5Dzs/mEIsvbTIB7DZahTE8ZFbOXfDc= github.com/aws/aws-sdk-go-v2/service/codecommit v1.29.1/go.mod h1:CDOCvuSESB8TytvDLyElgP4gVMZgYJNEbCBWiVSHbYg= github.com/aws/aws-sdk-go-v2/service/codeconnections v1.7.1 h1:f20DiugdjJZGsFhdaKrKX5bF2V7DzE48gPNWVBCtCaE= From d88eea996dfa49da41eb3f3acd05d6e17e9576be Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:46 -0400 Subject: [PATCH 0336/1301] go get github.com/aws/aws-sdk-go-v2/service/codecommit. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 9edbeff397c6..88348490ae9f 100644 --- a/go.mod +++ b/go.mod @@ -65,7 +65,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/codeartifact v1.36.0 github.com/aws/aws-sdk-go-v2/service/codebuild v1.63.0 github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.19.0 - github.com/aws/aws-sdk-go-v2/service/codecommit v1.29.1 + github.com/aws/aws-sdk-go-v2/service/codecommit v1.30.0 github.com/aws/aws-sdk-go-v2/service/codeconnections v1.7.1 github.com/aws/aws-sdk-go-v2/service/codedeploy v1.31.1 github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.26.2 diff --git a/go.sum b/go.sum index 99787be6d41a..e0dac160c1db 100644 --- a/go.sum +++ b/go.sum @@ -141,8 +141,8 @@ github.com/aws/aws-sdk-go-v2/service/codebuild v1.63.0 h1:OWCZwl6LdRnxnuW83NuEXH github.com/aws/aws-sdk-go-v2/service/codebuild v1.63.0/go.mod h1:0k+YT2xx+g/GuLX2uLqm5A3Kno7zEtTYdI1FWGjliPM= github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.19.0 h1:7fMl5RowdxZ54KTTZUdSeeSfFwbRCoI1foY/gokc2zI= github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.19.0/go.mod h1:GRd3mFvPtUuXg4j7mTtw4SV3tMwseEoerrdRkGV9sH4= -github.com/aws/aws-sdk-go-v2/service/codecommit v1.29.1 h1:dpVTBYBDawcWN5Dzs/mEIsvbTIB7DZahTE8ZFbOXfDc= -github.com/aws/aws-sdk-go-v2/service/codecommit v1.29.1/go.mod h1:CDOCvuSESB8TytvDLyElgP4gVMZgYJNEbCBWiVSHbYg= +github.com/aws/aws-sdk-go-v2/service/codecommit v1.30.0 h1:kA7yaCs2MQE81SJXOQ6wg9alTogzkUUQElJFLTNMNa0= +github.com/aws/aws-sdk-go-v2/service/codecommit v1.30.0/go.mod h1:N76szOQF2OkKQyuKDnvlj900Jpvmvs2JseKzbZpmjZk= github.com/aws/aws-sdk-go-v2/service/codeconnections v1.7.1 h1:f20DiugdjJZGsFhdaKrKX5bF2V7DzE48gPNWVBCtCaE= github.com/aws/aws-sdk-go-v2/service/codeconnections v1.7.1/go.mod h1:B/DVlqEIwSkOQFdy5IMbTWvmvc/b/lY/v9wZFWlxCqc= github.com/aws/aws-sdk-go-v2/service/codedeploy v1.31.1 h1:nLtbuM+D3kr0TANA53zNzfgCn1msUIZIVvO8GQ8zgsw= From ef1665f6430f8bba9b0b362c9423c3f171f743fb Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:47 -0400 Subject: [PATCH 0337/1301] go get github.com/aws/aws-sdk-go-v2/service/codeconnections. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 88348490ae9f..3e5d421bd415 100644 --- a/go.mod +++ b/go.mod @@ -66,7 +66,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/codebuild v1.63.0 github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.19.0 github.com/aws/aws-sdk-go-v2/service/codecommit v1.30.0 - github.com/aws/aws-sdk-go-v2/service/codeconnections v1.7.1 + github.com/aws/aws-sdk-go-v2/service/codeconnections v1.8.0 github.com/aws/aws-sdk-go-v2/service/codedeploy v1.31.1 github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.26.2 github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.31.1 diff --git a/go.sum b/go.sum index e0dac160c1db..661afcfb3610 100644 --- a/go.sum +++ b/go.sum @@ -143,8 +143,8 @@ github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.19.0 h1:7fMl5RowdxZ54KTTZUd github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.19.0/go.mod h1:GRd3mFvPtUuXg4j7mTtw4SV3tMwseEoerrdRkGV9sH4= github.com/aws/aws-sdk-go-v2/service/codecommit v1.30.0 h1:kA7yaCs2MQE81SJXOQ6wg9alTogzkUUQElJFLTNMNa0= github.com/aws/aws-sdk-go-v2/service/codecommit v1.30.0/go.mod h1:N76szOQF2OkKQyuKDnvlj900Jpvmvs2JseKzbZpmjZk= -github.com/aws/aws-sdk-go-v2/service/codeconnections v1.7.1 h1:f20DiugdjJZGsFhdaKrKX5bF2V7DzE48gPNWVBCtCaE= -github.com/aws/aws-sdk-go-v2/service/codeconnections v1.7.1/go.mod h1:B/DVlqEIwSkOQFdy5IMbTWvmvc/b/lY/v9wZFWlxCqc= +github.com/aws/aws-sdk-go-v2/service/codeconnections v1.8.0 h1:9ggs7LTq0oFTTRquvQlsPrGQqdQyXE/gFXhrIJVwOB0= +github.com/aws/aws-sdk-go-v2/service/codeconnections v1.8.0/go.mod h1:ZK7JgKbTqG8Bco84nIqbhjJfvxFOtttVWRbAI18jGkU= github.com/aws/aws-sdk-go-v2/service/codedeploy v1.31.1 h1:nLtbuM+D3kr0TANA53zNzfgCn1msUIZIVvO8GQ8zgsw= github.com/aws/aws-sdk-go-v2/service/codedeploy v1.31.1/go.mod h1:nhyDCGnLTixvFU4RfdiQywPgounyF0se2CAAQZC200c= github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.26.2 h1:4qJa9WJ+AD87urgE6BPHeW7gcmyXfEGS0dfHztC+A78= From dce79a61ac80c696bd4956ae4936a758b4a59f88 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:48 -0400 Subject: [PATCH 0338/1301] go get github.com/aws/aws-sdk-go-v2/service/codedeploy. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 3e5d421bd415..fb9ab85df6d7 100644 --- a/go.mod +++ b/go.mod @@ -67,7 +67,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.19.0 github.com/aws/aws-sdk-go-v2/service/codecommit v1.30.0 github.com/aws/aws-sdk-go-v2/service/codeconnections v1.8.0 - github.com/aws/aws-sdk-go-v2/service/codedeploy v1.31.1 + github.com/aws/aws-sdk-go-v2/service/codedeploy v1.32.0 github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.26.2 github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.31.1 github.com/aws/aws-sdk-go-v2/service/codepipeline v1.43.1 diff --git a/go.sum b/go.sum index 661afcfb3610..113e6dde9818 100644 --- a/go.sum +++ b/go.sum @@ -145,8 +145,8 @@ github.com/aws/aws-sdk-go-v2/service/codecommit v1.30.0 h1:kA7yaCs2MQE81SJXOQ6wg github.com/aws/aws-sdk-go-v2/service/codecommit v1.30.0/go.mod h1:N76szOQF2OkKQyuKDnvlj900Jpvmvs2JseKzbZpmjZk= github.com/aws/aws-sdk-go-v2/service/codeconnections v1.8.0 h1:9ggs7LTq0oFTTRquvQlsPrGQqdQyXE/gFXhrIJVwOB0= github.com/aws/aws-sdk-go-v2/service/codeconnections v1.8.0/go.mod h1:ZK7JgKbTqG8Bco84nIqbhjJfvxFOtttVWRbAI18jGkU= -github.com/aws/aws-sdk-go-v2/service/codedeploy v1.31.1 h1:nLtbuM+D3kr0TANA53zNzfgCn1msUIZIVvO8GQ8zgsw= -github.com/aws/aws-sdk-go-v2/service/codedeploy v1.31.1/go.mod h1:nhyDCGnLTixvFU4RfdiQywPgounyF0se2CAAQZC200c= +github.com/aws/aws-sdk-go-v2/service/codedeploy v1.32.0 h1:PHX06bkOdv1UJHtI2M9ELpPIYrfRUvEXDVby24+kyig= +github.com/aws/aws-sdk-go-v2/service/codedeploy v1.32.0/go.mod h1:Kl0CnLEkSe4LQqoioPDwcvU2E++vkunyW3wVrKessPc= github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.26.2 h1:4qJa9WJ+AD87urgE6BPHeW7gcmyXfEGS0dfHztC+A78= github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.26.2/go.mod h1:M5AqEEJg0YVH0HolYS6qlDmVotbAkIaU1d17sAPFyDI= github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.31.1 h1:o02/8n6dGGYFrTCE0mqHKLZkprnUjehxqf1WldSWrJ8= From 1409f563a236f768516b2efdff5c926d211f8d30 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:49 -0400 Subject: [PATCH 0339/1301] go get github.com/aws/aws-sdk-go-v2/service/codeguruprofiler. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index fb9ab85df6d7..8904a2345ffe 100644 --- a/go.mod +++ b/go.mod @@ -68,7 +68,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/codecommit v1.30.0 github.com/aws/aws-sdk-go-v2/service/codeconnections v1.8.0 github.com/aws/aws-sdk-go-v2/service/codedeploy v1.32.0 - github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.26.2 + github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.27.0 github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.31.1 github.com/aws/aws-sdk-go-v2/service/codepipeline v1.43.1 github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.31.1 diff --git a/go.sum b/go.sum index 113e6dde9818..20e5d8bc98cb 100644 --- a/go.sum +++ b/go.sum @@ -147,8 +147,8 @@ github.com/aws/aws-sdk-go-v2/service/codeconnections v1.8.0 h1:9ggs7LTq0oFTTRquv github.com/aws/aws-sdk-go-v2/service/codeconnections v1.8.0/go.mod h1:ZK7JgKbTqG8Bco84nIqbhjJfvxFOtttVWRbAI18jGkU= github.com/aws/aws-sdk-go-v2/service/codedeploy v1.32.0 h1:PHX06bkOdv1UJHtI2M9ELpPIYrfRUvEXDVby24+kyig= github.com/aws/aws-sdk-go-v2/service/codedeploy v1.32.0/go.mod h1:Kl0CnLEkSe4LQqoioPDwcvU2E++vkunyW3wVrKessPc= -github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.26.2 h1:4qJa9WJ+AD87urgE6BPHeW7gcmyXfEGS0dfHztC+A78= -github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.26.2/go.mod h1:M5AqEEJg0YVH0HolYS6qlDmVotbAkIaU1d17sAPFyDI= +github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.27.0 h1:VSNGyDlucRnMWFu1xV9LMcfqbmWz8+0gcrYKmM0ENxQ= +github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.27.0/go.mod h1:trcwSnDAuhnWVGSkvIzi8B2Rq09lkUWw2xLV381k9F0= github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.31.1 h1:o02/8n6dGGYFrTCE0mqHKLZkprnUjehxqf1WldSWrJ8= github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.31.1/go.mod h1:HiWlOR1PpVyB59fCnPuULZ/M0P/qPPV27cJgMZza0+g= github.com/aws/aws-sdk-go-v2/service/codepipeline v1.43.1 h1:4f9TwbJesmy9tqPtUbSMo7gg6TLnCK4ylLq7n0qFVWc= From 00aff31bab538fef5c3f2a88085ca076ffe27a15 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:50 -0400 Subject: [PATCH 0340/1301] go get github.com/aws/aws-sdk-go-v2/service/codegurureviewer. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8904a2345ffe..8126d97b2770 100644 --- a/go.mod +++ b/go.mod @@ -69,7 +69,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/codeconnections v1.8.0 github.com/aws/aws-sdk-go-v2/service/codedeploy v1.32.0 github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.27.0 - github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.31.1 + github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.32.0 github.com/aws/aws-sdk-go-v2/service/codepipeline v1.43.1 github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.31.1 github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.28.1 diff --git a/go.sum b/go.sum index 20e5d8bc98cb..53c92622b91b 100644 --- a/go.sum +++ b/go.sum @@ -149,8 +149,8 @@ github.com/aws/aws-sdk-go-v2/service/codedeploy v1.32.0 h1:PHX06bkOdv1UJHtI2M9EL github.com/aws/aws-sdk-go-v2/service/codedeploy v1.32.0/go.mod h1:Kl0CnLEkSe4LQqoioPDwcvU2E++vkunyW3wVrKessPc= github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.27.0 h1:VSNGyDlucRnMWFu1xV9LMcfqbmWz8+0gcrYKmM0ENxQ= github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.27.0/go.mod h1:trcwSnDAuhnWVGSkvIzi8B2Rq09lkUWw2xLV381k9F0= -github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.31.1 h1:o02/8n6dGGYFrTCE0mqHKLZkprnUjehxqf1WldSWrJ8= -github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.31.1/go.mod h1:HiWlOR1PpVyB59fCnPuULZ/M0P/qPPV27cJgMZza0+g= +github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.32.0 h1:RFXWXJSZeHGwB0s8MmnKDEYzIoe65GlZoVjfkPJmgpU= +github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.32.0/go.mod h1:uJ/ig0xo6LTLoXv1UZKiCAMhMCGofitZBeu1hU8r3+I= github.com/aws/aws-sdk-go-v2/service/codepipeline v1.43.1 h1:4f9TwbJesmy9tqPtUbSMo7gg6TLnCK4ylLq7n0qFVWc= github.com/aws/aws-sdk-go-v2/service/codepipeline v1.43.1/go.mod h1:s6P0ArGOLmTXbc1lIeRczLm6R04ZvayVWeX8k3Z9v6I= github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.31.1 h1:YPFqlu6T3bxhmfur9CFazxh5puWiL0uxjrukw2GEFPg= From 7440198ce41b77fd1b68045d08030b1c4cfbefbc Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:51 -0400 Subject: [PATCH 0341/1301] go get github.com/aws/aws-sdk-go-v2/service/codepipeline. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8126d97b2770..a8e9f5354fa6 100644 --- a/go.mod +++ b/go.mod @@ -70,7 +70,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/codedeploy v1.32.0 github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.27.0 github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.32.0 - github.com/aws/aws-sdk-go-v2/service/codepipeline v1.43.1 + github.com/aws/aws-sdk-go-v2/service/codepipeline v1.44.0 github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.31.1 github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.28.1 github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.30.1 diff --git a/go.sum b/go.sum index 53c92622b91b..6fbfcb09d160 100644 --- a/go.sum +++ b/go.sum @@ -151,8 +151,8 @@ github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.27.0 h1:VSNGyDlucRnMWFu github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.27.0/go.mod h1:trcwSnDAuhnWVGSkvIzi8B2Rq09lkUWw2xLV381k9F0= github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.32.0 h1:RFXWXJSZeHGwB0s8MmnKDEYzIoe65GlZoVjfkPJmgpU= github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.32.0/go.mod h1:uJ/ig0xo6LTLoXv1UZKiCAMhMCGofitZBeu1hU8r3+I= -github.com/aws/aws-sdk-go-v2/service/codepipeline v1.43.1 h1:4f9TwbJesmy9tqPtUbSMo7gg6TLnCK4ylLq7n0qFVWc= -github.com/aws/aws-sdk-go-v2/service/codepipeline v1.43.1/go.mod h1:s6P0ArGOLmTXbc1lIeRczLm6R04ZvayVWeX8k3Z9v6I= +github.com/aws/aws-sdk-go-v2/service/codepipeline v1.44.0 h1:uDyvWWCg52jNkZK3XxZ/KDKUHR6i5frkm95OgIrNvhc= +github.com/aws/aws-sdk-go-v2/service/codepipeline v1.44.0/go.mod h1:dCgth/lQudLt1s1AcZVYv6JElD1S6SYm4IF2Vx26bI8= github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.31.1 h1:YPFqlu6T3bxhmfur9CFazxh5puWiL0uxjrukw2GEFPg= github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.31.1/go.mod h1:y3qe0icKlqpF2ccL/o6t8fPR8c0o4tGplskz34fvJx4= github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.28.1 h1:fRqouJqnHOFgVHLjhe/UXJWkihuDByU9CBBuZGUU4Ek= From 295a8792284f2969d7c125319405532b337d60ac Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:52 -0400 Subject: [PATCH 0342/1301] go get github.com/aws/aws-sdk-go-v2/service/codestarconnections. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a8e9f5354fa6..75726d50e6dc 100644 --- a/go.mod +++ b/go.mod @@ -71,7 +71,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.27.0 github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.32.0 github.com/aws/aws-sdk-go-v2/service/codepipeline v1.44.0 - github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.31.1 + github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.32.0 github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.28.1 github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.30.1 github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.54.1 diff --git a/go.sum b/go.sum index 6fbfcb09d160..270738de8eff 100644 --- a/go.sum +++ b/go.sum @@ -153,8 +153,8 @@ github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.32.0 h1:RFXWXJSZeHGwB0s github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.32.0/go.mod h1:uJ/ig0xo6LTLoXv1UZKiCAMhMCGofitZBeu1hU8r3+I= github.com/aws/aws-sdk-go-v2/service/codepipeline v1.44.0 h1:uDyvWWCg52jNkZK3XxZ/KDKUHR6i5frkm95OgIrNvhc= github.com/aws/aws-sdk-go-v2/service/codepipeline v1.44.0/go.mod h1:dCgth/lQudLt1s1AcZVYv6JElD1S6SYm4IF2Vx26bI8= -github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.31.1 h1:YPFqlu6T3bxhmfur9CFazxh5puWiL0uxjrukw2GEFPg= -github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.31.1/go.mod h1:y3qe0icKlqpF2ccL/o6t8fPR8c0o4tGplskz34fvJx4= +github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.32.0 h1:SVqD1PIAnx6/nWmwW4oCaW4axUgH+B6UpSY0NDCCrRE= +github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.32.0/go.mod h1:Jmw0a/S9yQUNCVV+un8ZE5LkmelsqF4vMIP7JjWHFtc= github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.28.1 h1:fRqouJqnHOFgVHLjhe/UXJWkihuDByU9CBBuZGUU4Ek= github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.28.1/go.mod h1:oPiggwnMwW1eRcFq3rImb6gms6HIqgr+h65NSZzOn3o= github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.30.1 h1:NB1+cWutptq+UHLSodvhdhNw8mSf3L2slhysVs5HCh8= From 11ed99242505b0f37772fbc97d828e0acb80050d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:53 -0400 Subject: [PATCH 0343/1301] go get github.com/aws/aws-sdk-go-v2/service/codestarnotifications. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 75726d50e6dc..c68bedf75c20 100644 --- a/go.mod +++ b/go.mod @@ -72,7 +72,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.32.0 github.com/aws/aws-sdk-go-v2/service/codepipeline v1.44.0 github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.32.0 - github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.28.1 + github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.29.0 github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.30.1 github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.54.1 github.com/aws/aws-sdk-go-v2/service/comprehend v1.37.1 diff --git a/go.sum b/go.sum index 270738de8eff..0ce1f4c3ff9c 100644 --- a/go.sum +++ b/go.sum @@ -155,8 +155,8 @@ github.com/aws/aws-sdk-go-v2/service/codepipeline v1.44.0 h1:uDyvWWCg52jNkZK3XxZ github.com/aws/aws-sdk-go-v2/service/codepipeline v1.44.0/go.mod h1:dCgth/lQudLt1s1AcZVYv6JElD1S6SYm4IF2Vx26bI8= github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.32.0 h1:SVqD1PIAnx6/nWmwW4oCaW4axUgH+B6UpSY0NDCCrRE= github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.32.0/go.mod h1:Jmw0a/S9yQUNCVV+un8ZE5LkmelsqF4vMIP7JjWHFtc= -github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.28.1 h1:fRqouJqnHOFgVHLjhe/UXJWkihuDByU9CBBuZGUU4Ek= -github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.28.1/go.mod h1:oPiggwnMwW1eRcFq3rImb6gms6HIqgr+h65NSZzOn3o= +github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.29.0 h1:K+e6W3hgnYL5caTmtlKB2D0nsqHYi9Rye03Zz0VyuuI= +github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.29.0/go.mod h1:M5+qaBchhL2wQjhkkiZtPB1vARELZvrudYOHhhRzfQg= github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.30.1 h1:NB1+cWutptq+UHLSodvhdhNw8mSf3L2slhysVs5HCh8= github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.30.1/go.mod h1:nPuM/gz996X+i7RSnw1LNdaP9NFBMgEpamx6YB2mrQQ= github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.54.1 h1:QS+vL4FEdHfs7wSGj7SQJZmbk3m7SMzNI3uluL8KMwU= From ca5af393e658d1cc60ecf213a17e6624cd4617a8 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:54 -0400 Subject: [PATCH 0344/1301] go get github.com/aws/aws-sdk-go-v2/service/cognitoidentity. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c68bedf75c20..19a20b658c2a 100644 --- a/go.mod +++ b/go.mod @@ -73,7 +73,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/codepipeline v1.44.0 github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.32.0 github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.29.0 - github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.30.1 + github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.31.0 github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.54.1 github.com/aws/aws-sdk-go-v2/service/comprehend v1.37.1 github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.44.1 diff --git a/go.sum b/go.sum index 0ce1f4c3ff9c..1e63cd7dfc8d 100644 --- a/go.sum +++ b/go.sum @@ -157,8 +157,8 @@ github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.32.0 h1:SVqD1PIAnx6/ github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.32.0/go.mod h1:Jmw0a/S9yQUNCVV+un8ZE5LkmelsqF4vMIP7JjWHFtc= github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.29.0 h1:K+e6W3hgnYL5caTmtlKB2D0nsqHYi9Rye03Zz0VyuuI= github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.29.0/go.mod h1:M5+qaBchhL2wQjhkkiZtPB1vARELZvrudYOHhhRzfQg= -github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.30.1 h1:NB1+cWutptq+UHLSodvhdhNw8mSf3L2slhysVs5HCh8= -github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.30.1/go.mod h1:nPuM/gz996X+i7RSnw1LNdaP9NFBMgEpamx6YB2mrQQ= +github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.31.0 h1:zdCXwCQo/M62euQql/gQDJgN3x4IUH2zPhPySrx1chk= +github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.31.0/go.mod h1:VNqYrKczE/NTZ4l7EQhC9l1qyXETcgEY09FN584Llkw= github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.54.1 h1:QS+vL4FEdHfs7wSGj7SQJZmbk3m7SMzNI3uluL8KMwU= github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.54.1/go.mod h1:gdYsfThKvm9P3PAqtXR9Lx4up/w83eKGCW0myw5s5wI= github.com/aws/aws-sdk-go-v2/service/comprehend v1.37.1 h1:Xat/BhQMFHWTNCcZeYu6ETUyk1xrTBHmSBabQZsoCTQ= From 0a428b933d421203057a78a4fb795656848a1d5b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:55 -0400 Subject: [PATCH 0345/1301] go get github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 19a20b658c2a..b292fd54e964 100644 --- a/go.mod +++ b/go.mod @@ -74,7 +74,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.32.0 github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.29.0 github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.31.0 - github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.54.1 + github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.55.0 github.com/aws/aws-sdk-go-v2/service/comprehend v1.37.1 github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.44.1 github.com/aws/aws-sdk-go-v2/service/configservice v1.54.1 diff --git a/go.sum b/go.sum index 1e63cd7dfc8d..bb615a2b0dfb 100644 --- a/go.sum +++ b/go.sum @@ -159,8 +159,8 @@ github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.29.0 h1:K+e6W3hgnY github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.29.0/go.mod h1:M5+qaBchhL2wQjhkkiZtPB1vARELZvrudYOHhhRzfQg= github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.31.0 h1:zdCXwCQo/M62euQql/gQDJgN3x4IUH2zPhPySrx1chk= github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.31.0/go.mod h1:VNqYrKczE/NTZ4l7EQhC9l1qyXETcgEY09FN584Llkw= -github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.54.1 h1:QS+vL4FEdHfs7wSGj7SQJZmbk3m7SMzNI3uluL8KMwU= -github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.54.1/go.mod h1:gdYsfThKvm9P3PAqtXR9Lx4up/w83eKGCW0myw5s5wI= +github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.55.0 h1:0WmwdwAbMJw1XWhjE65Xv+3mtCH0likwg3d1DaCAqvw= +github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.55.0/go.mod h1:XG40nxqr+s9i1ceNxNnwEKpvhV7XJDSuoJHjL+6yRZA= github.com/aws/aws-sdk-go-v2/service/comprehend v1.37.1 h1:Xat/BhQMFHWTNCcZeYu6ETUyk1xrTBHmSBabQZsoCTQ= github.com/aws/aws-sdk-go-v2/service/comprehend v1.37.1/go.mod h1:j9LTyGi9ayVVJTv24l18umZyMghJMBGAz00LNa/FD+Y= github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.44.1 h1:Vz3eSSKha0gWpZtUmGDJDUGw+J+CWNUs9NtM2FnOgiE= From 596d1ff349c749f8c6afbf1945f85884c428ba03 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:56 -0400 Subject: [PATCH 0346/1301] go get github.com/aws/aws-sdk-go-v2/service/comprehend. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b292fd54e964..fa323c901457 100644 --- a/go.mod +++ b/go.mod @@ -75,7 +75,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.29.0 github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.31.0 github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.55.0 - github.com/aws/aws-sdk-go-v2/service/comprehend v1.37.1 + github.com/aws/aws-sdk-go-v2/service/comprehend v1.38.0 github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.44.1 github.com/aws/aws-sdk-go-v2/service/configservice v1.54.1 github.com/aws/aws-sdk-go-v2/service/connect v1.132.1 diff --git a/go.sum b/go.sum index bb615a2b0dfb..eb91e8357bd9 100644 --- a/go.sum +++ b/go.sum @@ -161,8 +161,8 @@ github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.31.0 h1:zdCXwCQo/M62euQq github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.31.0/go.mod h1:VNqYrKczE/NTZ4l7EQhC9l1qyXETcgEY09FN584Llkw= github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.55.0 h1:0WmwdwAbMJw1XWhjE65Xv+3mtCH0likwg3d1DaCAqvw= github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.55.0/go.mod h1:XG40nxqr+s9i1ceNxNnwEKpvhV7XJDSuoJHjL+6yRZA= -github.com/aws/aws-sdk-go-v2/service/comprehend v1.37.1 h1:Xat/BhQMFHWTNCcZeYu6ETUyk1xrTBHmSBabQZsoCTQ= -github.com/aws/aws-sdk-go-v2/service/comprehend v1.37.1/go.mod h1:j9LTyGi9ayVVJTv24l18umZyMghJMBGAz00LNa/FD+Y= +github.com/aws/aws-sdk-go-v2/service/comprehend v1.38.0 h1:BfH3iZdWIRFtWZ32bgL1+L1hvzvRZQUbtpHmutWk0UQ= +github.com/aws/aws-sdk-go-v2/service/comprehend v1.38.0/go.mod h1:ssJ/Mv2wWVTh5hG09fGCCnQOfOeOVG3/7zVcxMGatvo= github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.44.1 h1:Vz3eSSKha0gWpZtUmGDJDUGw+J+CWNUs9NtM2FnOgiE= github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.44.1/go.mod h1:/GZI/NTlYrq4ebfgeAWd28CYAIkma0LEhzR6LBxkAsc= github.com/aws/aws-sdk-go-v2/service/configservice v1.54.1 h1:f6aReZOJPcBvEdpMUy16fHeOEs9Dy7PwqQ1qMQpYxt8= From 8e6cafd2105b5dedd4991fbcf0015b232d7147b9 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:57 -0400 Subject: [PATCH 0347/1301] go get github.com/aws/aws-sdk-go-v2/service/computeoptimizer. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index fa323c901457..9c7bd6b3f83b 100644 --- a/go.mod +++ b/go.mod @@ -76,7 +76,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.31.0 github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.55.0 github.com/aws/aws-sdk-go-v2/service/comprehend v1.38.0 - github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.44.1 + github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.45.0 github.com/aws/aws-sdk-go-v2/service/configservice v1.54.1 github.com/aws/aws-sdk-go-v2/service/connect v1.132.1 github.com/aws/aws-sdk-go-v2/service/connectcases v1.27.1 diff --git a/go.sum b/go.sum index eb91e8357bd9..1bf66d591046 100644 --- a/go.sum +++ b/go.sum @@ -163,8 +163,8 @@ github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.55.0 h1:0WmwdwAb github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.55.0/go.mod h1:XG40nxqr+s9i1ceNxNnwEKpvhV7XJDSuoJHjL+6yRZA= github.com/aws/aws-sdk-go-v2/service/comprehend v1.38.0 h1:BfH3iZdWIRFtWZ32bgL1+L1hvzvRZQUbtpHmutWk0UQ= github.com/aws/aws-sdk-go-v2/service/comprehend v1.38.0/go.mod h1:ssJ/Mv2wWVTh5hG09fGCCnQOfOeOVG3/7zVcxMGatvo= -github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.44.1 h1:Vz3eSSKha0gWpZtUmGDJDUGw+J+CWNUs9NtM2FnOgiE= -github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.44.1/go.mod h1:/GZI/NTlYrq4ebfgeAWd28CYAIkma0LEhzR6LBxkAsc= +github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.45.0 h1:6L0Q42EJrrPVL48g9nOuNgNE2r/5nHU0pVCzc79P19c= +github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.45.0/go.mod h1:moeEA/s0wSAhXmQcy2mTjAtm5Q+rhZDI8gJxZxVRIGk= github.com/aws/aws-sdk-go-v2/service/configservice v1.54.1 h1:f6aReZOJPcBvEdpMUy16fHeOEs9Dy7PwqQ1qMQpYxt8= github.com/aws/aws-sdk-go-v2/service/configservice v1.54.1/go.mod h1:AF+ERbemhpKFDlA+LTHNgol4p7uY1ovFe9fCB+RLALk= github.com/aws/aws-sdk-go-v2/service/connect v1.132.1 h1:eKxoFnZ+WuKSCvnrUSfUYsxniYA1PCKtu97+3fhhdP0= From 4dc214eebcaf01d737d2589b462344e1a742d0e5 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:04:58 -0400 Subject: [PATCH 0348/1301] go get github.com/aws/aws-sdk-go-v2/service/configservice. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 9c7bd6b3f83b..e452d62e7893 100644 --- a/go.mod +++ b/go.mod @@ -77,7 +77,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.55.0 github.com/aws/aws-sdk-go-v2/service/comprehend v1.38.0 github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.45.0 - github.com/aws/aws-sdk-go-v2/service/configservice v1.54.1 + github.com/aws/aws-sdk-go-v2/service/configservice v1.55.0 github.com/aws/aws-sdk-go-v2/service/connect v1.132.1 github.com/aws/aws-sdk-go-v2/service/connectcases v1.27.1 github.com/aws/aws-sdk-go-v2/service/controltower v1.23.1 diff --git a/go.sum b/go.sum index 1bf66d591046..cfa8099b2674 100644 --- a/go.sum +++ b/go.sum @@ -165,8 +165,8 @@ github.com/aws/aws-sdk-go-v2/service/comprehend v1.38.0 h1:BfH3iZdWIRFtWZ32bgL1+ github.com/aws/aws-sdk-go-v2/service/comprehend v1.38.0/go.mod h1:ssJ/Mv2wWVTh5hG09fGCCnQOfOeOVG3/7zVcxMGatvo= github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.45.0 h1:6L0Q42EJrrPVL48g9nOuNgNE2r/5nHU0pVCzc79P19c= github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.45.0/go.mod h1:moeEA/s0wSAhXmQcy2mTjAtm5Q+rhZDI8gJxZxVRIGk= -github.com/aws/aws-sdk-go-v2/service/configservice v1.54.1 h1:f6aReZOJPcBvEdpMUy16fHeOEs9Dy7PwqQ1qMQpYxt8= -github.com/aws/aws-sdk-go-v2/service/configservice v1.54.1/go.mod h1:AF+ERbemhpKFDlA+LTHNgol4p7uY1ovFe9fCB+RLALk= +github.com/aws/aws-sdk-go-v2/service/configservice v1.55.0 h1:Xl8gWAZJVlVfXJ8BKQP+pmy4wp+ne/dAUtS5g68KnOc= +github.com/aws/aws-sdk-go-v2/service/configservice v1.55.0/go.mod h1:HJ5pf1PwMaGldNUKWpczuf3HscpY0zXRKwyBA44IaFY= github.com/aws/aws-sdk-go-v2/service/connect v1.132.1 h1:eKxoFnZ+WuKSCvnrUSfUYsxniYA1PCKtu97+3fhhdP0= github.com/aws/aws-sdk-go-v2/service/connect v1.132.1/go.mod h1:rbvCsyvfb8gqfvmS25MbGtytizsOhSUcxLWt1rGCNj0= github.com/aws/aws-sdk-go-v2/service/connectcases v1.27.1 h1:5aZmKdQjd1rSCDjEBKKt0EzQY5DRfHFCCTpNiw/0haw= From 831f338362e30cdb87b4deed30b216fbf4eb9112 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:00 -0400 Subject: [PATCH 0349/1301] go get github.com/aws/aws-sdk-go-v2/service/connect. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e452d62e7893..c0878ff03808 100644 --- a/go.mod +++ b/go.mod @@ -78,7 +78,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/comprehend v1.38.0 github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.45.0 github.com/aws/aws-sdk-go-v2/service/configservice v1.55.0 - github.com/aws/aws-sdk-go-v2/service/connect v1.132.1 + github.com/aws/aws-sdk-go-v2/service/connect v1.133.0 github.com/aws/aws-sdk-go-v2/service/connectcases v1.27.1 github.com/aws/aws-sdk-go-v2/service/controltower v1.23.1 github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.30.1 diff --git a/go.sum b/go.sum index cfa8099b2674..7835d6352ee9 100644 --- a/go.sum +++ b/go.sum @@ -167,8 +167,8 @@ github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.45.0 h1:6L0Q42EJrrPVL48 github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.45.0/go.mod h1:moeEA/s0wSAhXmQcy2mTjAtm5Q+rhZDI8gJxZxVRIGk= github.com/aws/aws-sdk-go-v2/service/configservice v1.55.0 h1:Xl8gWAZJVlVfXJ8BKQP+pmy4wp+ne/dAUtS5g68KnOc= github.com/aws/aws-sdk-go-v2/service/configservice v1.55.0/go.mod h1:HJ5pf1PwMaGldNUKWpczuf3HscpY0zXRKwyBA44IaFY= -github.com/aws/aws-sdk-go-v2/service/connect v1.132.1 h1:eKxoFnZ+WuKSCvnrUSfUYsxniYA1PCKtu97+3fhhdP0= -github.com/aws/aws-sdk-go-v2/service/connect v1.132.1/go.mod h1:rbvCsyvfb8gqfvmS25MbGtytizsOhSUcxLWt1rGCNj0= +github.com/aws/aws-sdk-go-v2/service/connect v1.133.0 h1:hmIt4+AaalBGIfPUd4BLe3oh8Or0nJIsAOllG4Q4Zc4= +github.com/aws/aws-sdk-go-v2/service/connect v1.133.0/go.mod h1:SG9D1SyE7QBNPmrzOU3SMb1uHl/vOiu52HZdetka4b4= github.com/aws/aws-sdk-go-v2/service/connectcases v1.27.1 h1:5aZmKdQjd1rSCDjEBKKt0EzQY5DRfHFCCTpNiw/0haw= github.com/aws/aws-sdk-go-v2/service/connectcases v1.27.1/go.mod h1:Fv0vm+4lp7bGowaFlHsM6OWGRGsRmhL4R1UZU4F4Y68= github.com/aws/aws-sdk-go-v2/service/controltower v1.23.1 h1:Y3vnotVgNjDLTajaTTH+XbDcmmB9jfQ+Qz/YN1dbONo= From e0151b87038e6251f902f446dc24e30811dcfcff Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:01 -0400 Subject: [PATCH 0350/1301] go get github.com/aws/aws-sdk-go-v2/service/connectcases. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c0878ff03808..f0d59bef515e 100644 --- a/go.mod +++ b/go.mod @@ -79,7 +79,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.45.0 github.com/aws/aws-sdk-go-v2/service/configservice v1.55.0 github.com/aws/aws-sdk-go-v2/service/connect v1.133.0 - github.com/aws/aws-sdk-go-v2/service/connectcases v1.27.1 + github.com/aws/aws-sdk-go-v2/service/connectcases v1.28.0 github.com/aws/aws-sdk-go-v2/service/controltower v1.23.1 github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.30.1 github.com/aws/aws-sdk-go-v2/service/costexplorer v1.52.1 diff --git a/go.sum b/go.sum index 7835d6352ee9..65dff0bb30eb 100644 --- a/go.sum +++ b/go.sum @@ -169,8 +169,8 @@ github.com/aws/aws-sdk-go-v2/service/configservice v1.55.0 h1:Xl8gWAZJVlVfXJ8BKQ github.com/aws/aws-sdk-go-v2/service/configservice v1.55.0/go.mod h1:HJ5pf1PwMaGldNUKWpczuf3HscpY0zXRKwyBA44IaFY= github.com/aws/aws-sdk-go-v2/service/connect v1.133.0 h1:hmIt4+AaalBGIfPUd4BLe3oh8Or0nJIsAOllG4Q4Zc4= github.com/aws/aws-sdk-go-v2/service/connect v1.133.0/go.mod h1:SG9D1SyE7QBNPmrzOU3SMb1uHl/vOiu52HZdetka4b4= -github.com/aws/aws-sdk-go-v2/service/connectcases v1.27.1 h1:5aZmKdQjd1rSCDjEBKKt0EzQY5DRfHFCCTpNiw/0haw= -github.com/aws/aws-sdk-go-v2/service/connectcases v1.27.1/go.mod h1:Fv0vm+4lp7bGowaFlHsM6OWGRGsRmhL4R1UZU4F4Y68= +github.com/aws/aws-sdk-go-v2/service/connectcases v1.28.0 h1:Il7H8Syx1lhWVQ7dyAhnmX5s6SoTVmbhpgfQcMc+Ijk= +github.com/aws/aws-sdk-go-v2/service/connectcases v1.28.0/go.mod h1:yyZCnX4vIiFOhcHzP1vCOOXTybYt+sJjsesvFHIKZ+c= github.com/aws/aws-sdk-go-v2/service/controltower v1.23.1 h1:Y3vnotVgNjDLTajaTTH+XbDcmmB9jfQ+Qz/YN1dbONo= github.com/aws/aws-sdk-go-v2/service/controltower v1.23.1/go.mod h1:nKfpvxTfSBs+V/OSWVlzYV5K7RL9J/P5ZvGNk+0/Mug= github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.30.1 h1:SYiS9JKkBdWl3sV6v2KMt82XKc+JVUwifpf6JMIyI4U= From 84e4c7c3860b6cb871aac613f9307881f2a75097 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:02 -0400 Subject: [PATCH 0351/1301] go get github.com/aws/aws-sdk-go-v2/service/controltower. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index f0d59bef515e..03efeb7d5a20 100644 --- a/go.mod +++ b/go.mod @@ -80,7 +80,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/configservice v1.55.0 github.com/aws/aws-sdk-go-v2/service/connect v1.133.0 github.com/aws/aws-sdk-go-v2/service/connectcases v1.28.0 - github.com/aws/aws-sdk-go-v2/service/controltower v1.23.1 + github.com/aws/aws-sdk-go-v2/service/controltower v1.24.0 github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.30.1 github.com/aws/aws-sdk-go-v2/service/costexplorer v1.52.1 github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.17.1 diff --git a/go.sum b/go.sum index 65dff0bb30eb..312e31ca0dd7 100644 --- a/go.sum +++ b/go.sum @@ -171,8 +171,8 @@ github.com/aws/aws-sdk-go-v2/service/connect v1.133.0 h1:hmIt4+AaalBGIfPUd4BLe3o github.com/aws/aws-sdk-go-v2/service/connect v1.133.0/go.mod h1:SG9D1SyE7QBNPmrzOU3SMb1uHl/vOiu52HZdetka4b4= github.com/aws/aws-sdk-go-v2/service/connectcases v1.28.0 h1:Il7H8Syx1lhWVQ7dyAhnmX5s6SoTVmbhpgfQcMc+Ijk= github.com/aws/aws-sdk-go-v2/service/connectcases v1.28.0/go.mod h1:yyZCnX4vIiFOhcHzP1vCOOXTybYt+sJjsesvFHIKZ+c= -github.com/aws/aws-sdk-go-v2/service/controltower v1.23.1 h1:Y3vnotVgNjDLTajaTTH+XbDcmmB9jfQ+Qz/YN1dbONo= -github.com/aws/aws-sdk-go-v2/service/controltower v1.23.1/go.mod h1:nKfpvxTfSBs+V/OSWVlzYV5K7RL9J/P5ZvGNk+0/Mug= +github.com/aws/aws-sdk-go-v2/service/controltower v1.24.0 h1:GqMI2xbsngIXKK9u0n7Uq9tlmOeuxqkXfF4JS7EiuWo= +github.com/aws/aws-sdk-go-v2/service/controltower v1.24.0/go.mod h1:Wd1uRXhy8eruccPAIexw7rroEP3pNmywpaIYJPOaxeU= github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.30.1 h1:SYiS9JKkBdWl3sV6v2KMt82XKc+JVUwifpf6JMIyI4U= github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.30.1/go.mod h1:yElKdxGVSH05dS0kzR6AAiyp/+/c0tGk5DoPgffIl2A= github.com/aws/aws-sdk-go-v2/service/costexplorer v1.52.1 h1:MRfsy+UosplTbrTui5cUVJ4era6XBjZv0lEGUgcG86Q= From fd06d5527ec122bff89a2d7738d0f85ca20b442e Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:03 -0400 Subject: [PATCH 0352/1301] go get github.com/aws/aws-sdk-go-v2/service/costandusagereportservice. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 03efeb7d5a20..2837129f3495 100644 --- a/go.mod +++ b/go.mod @@ -81,7 +81,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/connect v1.133.0 github.com/aws/aws-sdk-go-v2/service/connectcases v1.28.0 github.com/aws/aws-sdk-go-v2/service/controltower v1.24.0 - github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.30.1 + github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.31.0 github.com/aws/aws-sdk-go-v2/service/costexplorer v1.52.1 github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.17.1 github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.49.0 diff --git a/go.sum b/go.sum index 312e31ca0dd7..0e9c3f4e32ac 100644 --- a/go.sum +++ b/go.sum @@ -173,8 +173,8 @@ github.com/aws/aws-sdk-go-v2/service/connectcases v1.28.0 h1:Il7H8Syx1lhWVQ7dyAh github.com/aws/aws-sdk-go-v2/service/connectcases v1.28.0/go.mod h1:yyZCnX4vIiFOhcHzP1vCOOXTybYt+sJjsesvFHIKZ+c= github.com/aws/aws-sdk-go-v2/service/controltower v1.24.0 h1:GqMI2xbsngIXKK9u0n7Uq9tlmOeuxqkXfF4JS7EiuWo= github.com/aws/aws-sdk-go-v2/service/controltower v1.24.0/go.mod h1:Wd1uRXhy8eruccPAIexw7rroEP3pNmywpaIYJPOaxeU= -github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.30.1 h1:SYiS9JKkBdWl3sV6v2KMt82XKc+JVUwifpf6JMIyI4U= -github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.30.1/go.mod h1:yElKdxGVSH05dS0kzR6AAiyp/+/c0tGk5DoPgffIl2A= +github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.31.0 h1:5OmrdE3scZzl0O9ZbHUZMQMSMN1YCCnf6+vVbD511UI= +github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.31.0/go.mod h1:WAXGRf4GydDydvvh9DBVXsqq+0FPnPGlc8hVvF0G+ek= github.com/aws/aws-sdk-go-v2/service/costexplorer v1.52.1 h1:MRfsy+UosplTbrTui5cUVJ4era6XBjZv0lEGUgcG86Q= github.com/aws/aws-sdk-go-v2/service/costexplorer v1.52.1/go.mod h1:XhV87ldg1xBh4WjKcc6aW3SFwzaIjNhuPtDEhZ5/gds= github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.17.1 h1:wP6PryT7nTlNrnsBh5riZLJXM1zOjzcS0xCKvAqmRnM= From d20573e2f41b5c842494ed3ac88559a34b3d61c6 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:04 -0400 Subject: [PATCH 0353/1301] go get github.com/aws/aws-sdk-go-v2/service/costexplorer. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 2837129f3495..4d7f6d61f108 100644 --- a/go.mod +++ b/go.mod @@ -82,7 +82,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/connectcases v1.28.0 github.com/aws/aws-sdk-go-v2/service/controltower v1.24.0 github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.31.0 - github.com/aws/aws-sdk-go-v2/service/costexplorer v1.52.1 + github.com/aws/aws-sdk-go-v2/service/costexplorer v1.53.0 github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.17.1 github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.49.0 github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.54.1 diff --git a/go.sum b/go.sum index 0e9c3f4e32ac..fbee751e1707 100644 --- a/go.sum +++ b/go.sum @@ -175,8 +175,8 @@ github.com/aws/aws-sdk-go-v2/service/controltower v1.24.0 h1:GqMI2xbsngIXKK9u0n7 github.com/aws/aws-sdk-go-v2/service/controltower v1.24.0/go.mod h1:Wd1uRXhy8eruccPAIexw7rroEP3pNmywpaIYJPOaxeU= github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.31.0 h1:5OmrdE3scZzl0O9ZbHUZMQMSMN1YCCnf6+vVbD511UI= github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.31.0/go.mod h1:WAXGRf4GydDydvvh9DBVXsqq+0FPnPGlc8hVvF0G+ek= -github.com/aws/aws-sdk-go-v2/service/costexplorer v1.52.1 h1:MRfsy+UosplTbrTui5cUVJ4era6XBjZv0lEGUgcG86Q= -github.com/aws/aws-sdk-go-v2/service/costexplorer v1.52.1/go.mod h1:XhV87ldg1xBh4WjKcc6aW3SFwzaIjNhuPtDEhZ5/gds= +github.com/aws/aws-sdk-go-v2/service/costexplorer v1.53.0 h1:VcccLOrD/qXf+7OPJz2tWn5SnshpIbjlU8+jORroTAc= +github.com/aws/aws-sdk-go-v2/service/costexplorer v1.53.0/go.mod h1:cwD17qE4SFbx3dF5K5pJCljAP5s42ClDPr7sQYehngY= github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.17.1 h1:wP6PryT7nTlNrnsBh5riZLJXM1zOjzcS0xCKvAqmRnM= github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.17.1/go.mod h1:ptisHEhEb179hVX6qvulR2ZQ2oRJU3BpmouFmM8SRDU= github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.49.0 h1:sNtNRPNKso+u9nD5JNmM74NFoCeHsped7N2i+1tA7Jo= From 4a58a1d499c04e2143101d8f636b917c9ce580d2 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:05 -0400 Subject: [PATCH 0354/1301] go get github.com/aws/aws-sdk-go-v2/service/costoptimizationhub. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 4d7f6d61f108..85098e6ea946 100644 --- a/go.mod +++ b/go.mod @@ -83,7 +83,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/controltower v1.24.0 github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.31.0 github.com/aws/aws-sdk-go-v2/service/costexplorer v1.53.0 - github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.17.1 + github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.18.0 github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.49.0 github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.54.1 github.com/aws/aws-sdk-go-v2/service/databrew v1.35.1 diff --git a/go.sum b/go.sum index fbee751e1707..5092a265e17f 100644 --- a/go.sum +++ b/go.sum @@ -177,8 +177,8 @@ github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.31.0 h1:5OmrdE github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.31.0/go.mod h1:WAXGRf4GydDydvvh9DBVXsqq+0FPnPGlc8hVvF0G+ek= github.com/aws/aws-sdk-go-v2/service/costexplorer v1.53.0 h1:VcccLOrD/qXf+7OPJz2tWn5SnshpIbjlU8+jORroTAc= github.com/aws/aws-sdk-go-v2/service/costexplorer v1.53.0/go.mod h1:cwD17qE4SFbx3dF5K5pJCljAP5s42ClDPr7sQYehngY= -github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.17.1 h1:wP6PryT7nTlNrnsBh5riZLJXM1zOjzcS0xCKvAqmRnM= -github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.17.1/go.mod h1:ptisHEhEb179hVX6qvulR2ZQ2oRJU3BpmouFmM8SRDU= +github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.18.0 h1:Qw2xhORM48yggaIIxx0JHZkqY05GMBkKbTZ4/Nlk6K0= +github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.18.0/go.mod h1:UWmTogJwOTa4t/Uxee94BP5io+8Ax7sQvb49JfDycJs= github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.49.0 h1:sNtNRPNKso+u9nD5JNmM74NFoCeHsped7N2i+1tA7Jo= github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.49.0/go.mod h1:E96OYyTW0QrMri8Xc3RYV7BrJhd7SUrqsGL5YYCsneU= github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.54.1 h1:tHAEfv1QzqRN0I46Bxc7vNav9B54dDPv8ZyJei+TtUU= From 3d7430f5bf5b36330d328f55a5b87397dc08ebd0 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:06 -0400 Subject: [PATCH 0355/1301] go get github.com/aws/aws-sdk-go-v2/service/customerprofiles. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 85098e6ea946..0823bae9010e 100644 --- a/go.mod +++ b/go.mod @@ -84,7 +84,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.31.0 github.com/aws/aws-sdk-go-v2/service/costexplorer v1.53.0 github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.18.0 - github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.49.0 + github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.50.0 github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.54.1 github.com/aws/aws-sdk-go-v2/service/databrew v1.35.1 github.com/aws/aws-sdk-go-v2/service/dataexchange v1.36.1 diff --git a/go.sum b/go.sum index 5092a265e17f..69b5482da00d 100644 --- a/go.sum +++ b/go.sum @@ -179,8 +179,8 @@ github.com/aws/aws-sdk-go-v2/service/costexplorer v1.53.0 h1:VcccLOrD/qXf+7OPJz2 github.com/aws/aws-sdk-go-v2/service/costexplorer v1.53.0/go.mod h1:cwD17qE4SFbx3dF5K5pJCljAP5s42ClDPr7sQYehngY= github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.18.0 h1:Qw2xhORM48yggaIIxx0JHZkqY05GMBkKbTZ4/Nlk6K0= github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.18.0/go.mod h1:UWmTogJwOTa4t/Uxee94BP5io+8Ax7sQvb49JfDycJs= -github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.49.0 h1:sNtNRPNKso+u9nD5JNmM74NFoCeHsped7N2i+1tA7Jo= -github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.49.0/go.mod h1:E96OYyTW0QrMri8Xc3RYV7BrJhd7SUrqsGL5YYCsneU= +github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.50.0 h1:jrKo1cDREuXUUJcGa80oNJmS60oUT8ZZuZf47Eop/1k= +github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.50.0/go.mod h1:NCs06jvgjsSE66kg2fHCRb39XpJAwIYFXeuYpriEvZI= github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.54.1 h1:tHAEfv1QzqRN0I46Bxc7vNav9B54dDPv8ZyJei+TtUU= github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.54.1/go.mod h1:l/63jy0JYcuPgsIn0sCarneGQZT60Z3VJZCTHg9joJQ= github.com/aws/aws-sdk-go-v2/service/databrew v1.35.1 h1:WyjDtS3+ZYk6PYc5f+r92dUbl8rKXafSALk4gbSc9sE= From 27ae39f48e207626df55bcf12a22bca14783dc1d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:07 -0400 Subject: [PATCH 0356/1301] go get github.com/aws/aws-sdk-go-v2/service/databasemigrationservice. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 0823bae9010e..ef7575a56032 100644 --- a/go.mod +++ b/go.mod @@ -85,7 +85,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/costexplorer v1.53.0 github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.18.0 github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.50.0 - github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.54.1 + github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.55.0 github.com/aws/aws-sdk-go-v2/service/databrew v1.35.1 github.com/aws/aws-sdk-go-v2/service/dataexchange v1.36.1 github.com/aws/aws-sdk-go-v2/service/datapipeline v1.27.1 diff --git a/go.sum b/go.sum index 69b5482da00d..d9c366697b70 100644 --- a/go.sum +++ b/go.sum @@ -181,8 +181,8 @@ github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.18.0 h1:Qw2xhORM48yg github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.18.0/go.mod h1:UWmTogJwOTa4t/Uxee94BP5io+8Ax7sQvb49JfDycJs= github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.50.0 h1:jrKo1cDREuXUUJcGa80oNJmS60oUT8ZZuZf47Eop/1k= github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.50.0/go.mod h1:NCs06jvgjsSE66kg2fHCRb39XpJAwIYFXeuYpriEvZI= -github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.54.1 h1:tHAEfv1QzqRN0I46Bxc7vNav9B54dDPv8ZyJei+TtUU= -github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.54.1/go.mod h1:l/63jy0JYcuPgsIn0sCarneGQZT60Z3VJZCTHg9joJQ= +github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.55.0 h1:LpAao9HUxs14aBKcaWZGvjNhn10CHQlWvQYdtK4Mhkg= +github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.55.0/go.mod h1:/fHYyXjfj53THx+bN9TLIADHqjVzsYOyJrvnRMp/df8= github.com/aws/aws-sdk-go-v2/service/databrew v1.35.1 h1:WyjDtS3+ZYk6PYc5f+r92dUbl8rKXafSALk4gbSc9sE= github.com/aws/aws-sdk-go-v2/service/databrew v1.35.1/go.mod h1:ZU262AoIUejl0Sjc4iZcOa3V4tGM9eJGmFl2kVuqXmE= github.com/aws/aws-sdk-go-v2/service/dataexchange v1.36.1 h1:vhAcPY29FzRoyJEeFZny/cW50gS24Gt94VLgEk00THQ= From 0f07a431dd112fb766d60ae4e13638784f3fe68c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:08 -0400 Subject: [PATCH 0357/1301] go get github.com/aws/aws-sdk-go-v2/service/databrew. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ef7575a56032..ffab8595868c 100644 --- a/go.mod +++ b/go.mod @@ -86,7 +86,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.18.0 github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.50.0 github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.55.0 - github.com/aws/aws-sdk-go-v2/service/databrew v1.35.1 + github.com/aws/aws-sdk-go-v2/service/databrew v1.36.0 github.com/aws/aws-sdk-go-v2/service/dataexchange v1.36.1 github.com/aws/aws-sdk-go-v2/service/datapipeline v1.27.1 github.com/aws/aws-sdk-go-v2/service/datasync v1.51.1 diff --git a/go.sum b/go.sum index d9c366697b70..3aac39855d48 100644 --- a/go.sum +++ b/go.sum @@ -183,8 +183,8 @@ github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.50.0 h1:jrKo1cDREuXUUJc github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.50.0/go.mod h1:NCs06jvgjsSE66kg2fHCRb39XpJAwIYFXeuYpriEvZI= github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.55.0 h1:LpAao9HUxs14aBKcaWZGvjNhn10CHQlWvQYdtK4Mhkg= github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.55.0/go.mod h1:/fHYyXjfj53THx+bN9TLIADHqjVzsYOyJrvnRMp/df8= -github.com/aws/aws-sdk-go-v2/service/databrew v1.35.1 h1:WyjDtS3+ZYk6PYc5f+r92dUbl8rKXafSALk4gbSc9sE= -github.com/aws/aws-sdk-go-v2/service/databrew v1.35.1/go.mod h1:ZU262AoIUejl0Sjc4iZcOa3V4tGM9eJGmFl2kVuqXmE= +github.com/aws/aws-sdk-go-v2/service/databrew v1.36.0 h1:eL80XBaRTr4CIwgJSl3VJG4TlCLnP4Abg8utuDN1tRw= +github.com/aws/aws-sdk-go-v2/service/databrew v1.36.0/go.mod h1:u3ErK72jmKHdoZt5Ds9bgHJ1XCSuyuIB1nvKvkkYYFk= github.com/aws/aws-sdk-go-v2/service/dataexchange v1.36.1 h1:vhAcPY29FzRoyJEeFZny/cW50gS24Gt94VLgEk00THQ= github.com/aws/aws-sdk-go-v2/service/dataexchange v1.36.1/go.mod h1:+3KxWI5wJ70b7eCiUOQQArXw1ba9fRWjwrtJ++SlAcE= github.com/aws/aws-sdk-go-v2/service/datapipeline v1.27.1 h1:yDWeBJrxYOeqZalv6rYH8pKG+yHHcT3IlagoVvWgGaU= From 9af0d98d9cc64ab060afad241c4205b2f623a026 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:09 -0400 Subject: [PATCH 0358/1301] go get github.com/aws/aws-sdk-go-v2/service/dataexchange. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ffab8595868c..a84ec0795923 100644 --- a/go.mod +++ b/go.mod @@ -87,7 +87,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.50.0 github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.55.0 github.com/aws/aws-sdk-go-v2/service/databrew v1.36.0 - github.com/aws/aws-sdk-go-v2/service/dataexchange v1.36.1 + github.com/aws/aws-sdk-go-v2/service/dataexchange v1.37.0 github.com/aws/aws-sdk-go-v2/service/datapipeline v1.27.1 github.com/aws/aws-sdk-go-v2/service/datasync v1.51.1 github.com/aws/aws-sdk-go-v2/service/datazone v1.34.1 diff --git a/go.sum b/go.sum index 3aac39855d48..3da002e29f86 100644 --- a/go.sum +++ b/go.sum @@ -185,8 +185,8 @@ github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.55.0 h1:LpAao9H github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.55.0/go.mod h1:/fHYyXjfj53THx+bN9TLIADHqjVzsYOyJrvnRMp/df8= github.com/aws/aws-sdk-go-v2/service/databrew v1.36.0 h1:eL80XBaRTr4CIwgJSl3VJG4TlCLnP4Abg8utuDN1tRw= github.com/aws/aws-sdk-go-v2/service/databrew v1.36.0/go.mod h1:u3ErK72jmKHdoZt5Ds9bgHJ1XCSuyuIB1nvKvkkYYFk= -github.com/aws/aws-sdk-go-v2/service/dataexchange v1.36.1 h1:vhAcPY29FzRoyJEeFZny/cW50gS24Gt94VLgEk00THQ= -github.com/aws/aws-sdk-go-v2/service/dataexchange v1.36.1/go.mod h1:+3KxWI5wJ70b7eCiUOQQArXw1ba9fRWjwrtJ++SlAcE= +github.com/aws/aws-sdk-go-v2/service/dataexchange v1.37.0 h1:8QbCaACtsGDYv+1MgDm7isYQEqGTc0osuLuxiW2CRDQ= +github.com/aws/aws-sdk-go-v2/service/dataexchange v1.37.0/go.mod h1:dCb9rZ739QDJZRTy2v2P3qYz4vc+RFx4T0Kd6e1Y3QY= github.com/aws/aws-sdk-go-v2/service/datapipeline v1.27.1 h1:yDWeBJrxYOeqZalv6rYH8pKG+yHHcT3IlagoVvWgGaU= github.com/aws/aws-sdk-go-v2/service/datapipeline v1.27.1/go.mod h1:XOb2itVVqEMQUUsCisw4B2ViGuF8bgnxTJDEUfeQmfA= github.com/aws/aws-sdk-go-v2/service/datasync v1.51.1 h1:OmB6TLQAlHe674BdA6iYos3twoaqlRi3O3D4ugY48PA= From 9bb8d53817b4533c46ce001bb3eb39868deed08b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:10 -0400 Subject: [PATCH 0359/1301] go get github.com/aws/aws-sdk-go-v2/service/datapipeline. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a84ec0795923..63bfc277e24c 100644 --- a/go.mod +++ b/go.mod @@ -88,7 +88,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.55.0 github.com/aws/aws-sdk-go-v2/service/databrew v1.36.0 github.com/aws/aws-sdk-go-v2/service/dataexchange v1.37.0 - github.com/aws/aws-sdk-go-v2/service/datapipeline v1.27.1 + github.com/aws/aws-sdk-go-v2/service/datapipeline v1.28.0 github.com/aws/aws-sdk-go-v2/service/datasync v1.51.1 github.com/aws/aws-sdk-go-v2/service/datazone v1.34.1 github.com/aws/aws-sdk-go-v2/service/dax v1.25.1 diff --git a/go.sum b/go.sum index 3da002e29f86..e77ddc48f54e 100644 --- a/go.sum +++ b/go.sum @@ -187,8 +187,8 @@ github.com/aws/aws-sdk-go-v2/service/databrew v1.36.0 h1:eL80XBaRTr4CIwgJSl3VJG4 github.com/aws/aws-sdk-go-v2/service/databrew v1.36.0/go.mod h1:u3ErK72jmKHdoZt5Ds9bgHJ1XCSuyuIB1nvKvkkYYFk= github.com/aws/aws-sdk-go-v2/service/dataexchange v1.37.0 h1:8QbCaACtsGDYv+1MgDm7isYQEqGTc0osuLuxiW2CRDQ= github.com/aws/aws-sdk-go-v2/service/dataexchange v1.37.0/go.mod h1:dCb9rZ739QDJZRTy2v2P3qYz4vc+RFx4T0Kd6e1Y3QY= -github.com/aws/aws-sdk-go-v2/service/datapipeline v1.27.1 h1:yDWeBJrxYOeqZalv6rYH8pKG+yHHcT3IlagoVvWgGaU= -github.com/aws/aws-sdk-go-v2/service/datapipeline v1.27.1/go.mod h1:XOb2itVVqEMQUUsCisw4B2ViGuF8bgnxTJDEUfeQmfA= +github.com/aws/aws-sdk-go-v2/service/datapipeline v1.28.0 h1:ONEu7270NT+T2OLxKpdt2hl0lf2dfiqYyRNRDXGN2UM= +github.com/aws/aws-sdk-go-v2/service/datapipeline v1.28.0/go.mod h1:5MfUdmmH5Qpt8XIMET4CkFYf26XoQp9UUo9B2zR02qc= github.com/aws/aws-sdk-go-v2/service/datasync v1.51.1 h1:OmB6TLQAlHe674BdA6iYos3twoaqlRi3O3D4ugY48PA= github.com/aws/aws-sdk-go-v2/service/datasync v1.51.1/go.mod h1:sYdcLC2TL27hMrCF22BodOKNHw5qp9p+3lMR8MOhBT0= github.com/aws/aws-sdk-go-v2/service/datazone v1.34.1 h1:7Vc7AKcOiWiUnEkuKIJym8mx0ZVAElRxek8nO/Fu1JQ= From 1a318aa7b2e8d15eeb04bfe75ec60ef4313835dd Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:11 -0400 Subject: [PATCH 0360/1301] go get github.com/aws/aws-sdk-go-v2/service/datasync. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 63bfc277e24c..976eb1493f84 100644 --- a/go.mod +++ b/go.mod @@ -89,7 +89,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/databrew v1.36.0 github.com/aws/aws-sdk-go-v2/service/dataexchange v1.37.0 github.com/aws/aws-sdk-go-v2/service/datapipeline v1.28.0 - github.com/aws/aws-sdk-go-v2/service/datasync v1.51.1 + github.com/aws/aws-sdk-go-v2/service/datasync v1.52.0 github.com/aws/aws-sdk-go-v2/service/datazone v1.34.1 github.com/aws/aws-sdk-go-v2/service/dax v1.25.1 github.com/aws/aws-sdk-go-v2/service/detective v1.34.1 diff --git a/go.sum b/go.sum index e77ddc48f54e..efc686cd0721 100644 --- a/go.sum +++ b/go.sum @@ -189,8 +189,8 @@ github.com/aws/aws-sdk-go-v2/service/dataexchange v1.37.0 h1:8QbCaACtsGDYv+1MgDm github.com/aws/aws-sdk-go-v2/service/dataexchange v1.37.0/go.mod h1:dCb9rZ739QDJZRTy2v2P3qYz4vc+RFx4T0Kd6e1Y3QY= github.com/aws/aws-sdk-go-v2/service/datapipeline v1.28.0 h1:ONEu7270NT+T2OLxKpdt2hl0lf2dfiqYyRNRDXGN2UM= github.com/aws/aws-sdk-go-v2/service/datapipeline v1.28.0/go.mod h1:5MfUdmmH5Qpt8XIMET4CkFYf26XoQp9UUo9B2zR02qc= -github.com/aws/aws-sdk-go-v2/service/datasync v1.51.1 h1:OmB6TLQAlHe674BdA6iYos3twoaqlRi3O3D4ugY48PA= -github.com/aws/aws-sdk-go-v2/service/datasync v1.51.1/go.mod h1:sYdcLC2TL27hMrCF22BodOKNHw5qp9p+3lMR8MOhBT0= +github.com/aws/aws-sdk-go-v2/service/datasync v1.52.0 h1:VEy9B26hfFF5Vn4tXBZ2NCcr81juq3wGcx+MUmKdkv0= +github.com/aws/aws-sdk-go-v2/service/datasync v1.52.0/go.mod h1:dbXY0ll66czxvMM2NXqp9ohthxKyyRhz98AKFA1ih9A= github.com/aws/aws-sdk-go-v2/service/datazone v1.34.1 h1:7Vc7AKcOiWiUnEkuKIJym8mx0ZVAElRxek8nO/Fu1JQ= github.com/aws/aws-sdk-go-v2/service/datazone v1.34.1/go.mod h1:7cSev4IbgiJPWqraB12r4ieb73nrGFfOCvDwuGkTdJ8= github.com/aws/aws-sdk-go-v2/service/dax v1.25.1 h1:r3jbJgyI9lsSbQI8IMFEMmawIzEaD97nk54Xe/Voq0Q= From e88a24799b13601ef9f8c2d77bd2e4d8a3d3a9be Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:12 -0400 Subject: [PATCH 0361/1301] go get github.com/aws/aws-sdk-go-v2/service/datazone. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 976eb1493f84..efb20ed612aa 100644 --- a/go.mod +++ b/go.mod @@ -90,7 +90,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/dataexchange v1.37.0 github.com/aws/aws-sdk-go-v2/service/datapipeline v1.28.0 github.com/aws/aws-sdk-go-v2/service/datasync v1.52.0 - github.com/aws/aws-sdk-go-v2/service/datazone v1.34.1 + github.com/aws/aws-sdk-go-v2/service/datazone v1.35.0 github.com/aws/aws-sdk-go-v2/service/dax v1.25.1 github.com/aws/aws-sdk-go-v2/service/detective v1.34.1 github.com/aws/aws-sdk-go-v2/service/devicefarm v1.32.1 diff --git a/go.sum b/go.sum index efc686cd0721..b6073c4c6053 100644 --- a/go.sum +++ b/go.sum @@ -191,8 +191,8 @@ github.com/aws/aws-sdk-go-v2/service/datapipeline v1.28.0 h1:ONEu7270NT+T2OLxKpd github.com/aws/aws-sdk-go-v2/service/datapipeline v1.28.0/go.mod h1:5MfUdmmH5Qpt8XIMET4CkFYf26XoQp9UUo9B2zR02qc= github.com/aws/aws-sdk-go-v2/service/datasync v1.52.0 h1:VEy9B26hfFF5Vn4tXBZ2NCcr81juq3wGcx+MUmKdkv0= github.com/aws/aws-sdk-go-v2/service/datasync v1.52.0/go.mod h1:dbXY0ll66czxvMM2NXqp9ohthxKyyRhz98AKFA1ih9A= -github.com/aws/aws-sdk-go-v2/service/datazone v1.34.1 h1:7Vc7AKcOiWiUnEkuKIJym8mx0ZVAElRxek8nO/Fu1JQ= -github.com/aws/aws-sdk-go-v2/service/datazone v1.34.1/go.mod h1:7cSev4IbgiJPWqraB12r4ieb73nrGFfOCvDwuGkTdJ8= +github.com/aws/aws-sdk-go-v2/service/datazone v1.35.0 h1:gx2Z59PUE6tYjoZjWtSZ5fFFKphRg5mhS4mXGdKixYU= +github.com/aws/aws-sdk-go-v2/service/datazone v1.35.0/go.mod h1:w8NSiTlR6hMHKrmhJZo1QGeNp5Gb+y89mscKzPXmZWc= github.com/aws/aws-sdk-go-v2/service/dax v1.25.1 h1:r3jbJgyI9lsSbQI8IMFEMmawIzEaD97nk54Xe/Voq0Q= github.com/aws/aws-sdk-go-v2/service/dax v1.25.1/go.mod h1:PIN6XFvWGPlyg8Mb/P3OEBq4Qh7Ue1CGXNen/kpGi0U= github.com/aws/aws-sdk-go-v2/service/detective v1.34.1 h1:R1+JPYi15Sow0hS36G0vbg7A6Xk5u3vUxDXSm/wry4c= From 1fbf71339b157c078287b9dce3c6b8e81b6e034b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:13 -0400 Subject: [PATCH 0362/1301] go get github.com/aws/aws-sdk-go-v2/service/dax. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index efb20ed612aa..475a7df67a91 100644 --- a/go.mod +++ b/go.mod @@ -91,7 +91,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/datapipeline v1.28.0 github.com/aws/aws-sdk-go-v2/service/datasync v1.52.0 github.com/aws/aws-sdk-go-v2/service/datazone v1.35.0 - github.com/aws/aws-sdk-go-v2/service/dax v1.25.1 + github.com/aws/aws-sdk-go-v2/service/dax v1.26.0 github.com/aws/aws-sdk-go-v2/service/detective v1.34.1 github.com/aws/aws-sdk-go-v2/service/devicefarm v1.32.1 github.com/aws/aws-sdk-go-v2/service/devopsguru v1.36.1 diff --git a/go.sum b/go.sum index b6073c4c6053..7f1e00a7aed9 100644 --- a/go.sum +++ b/go.sum @@ -193,8 +193,8 @@ github.com/aws/aws-sdk-go-v2/service/datasync v1.52.0 h1:VEy9B26hfFF5Vn4tXBZ2NCc github.com/aws/aws-sdk-go-v2/service/datasync v1.52.0/go.mod h1:dbXY0ll66czxvMM2NXqp9ohthxKyyRhz98AKFA1ih9A= github.com/aws/aws-sdk-go-v2/service/datazone v1.35.0 h1:gx2Z59PUE6tYjoZjWtSZ5fFFKphRg5mhS4mXGdKixYU= github.com/aws/aws-sdk-go-v2/service/datazone v1.35.0/go.mod h1:w8NSiTlR6hMHKrmhJZo1QGeNp5Gb+y89mscKzPXmZWc= -github.com/aws/aws-sdk-go-v2/service/dax v1.25.1 h1:r3jbJgyI9lsSbQI8IMFEMmawIzEaD97nk54Xe/Voq0Q= -github.com/aws/aws-sdk-go-v2/service/dax v1.25.1/go.mod h1:PIN6XFvWGPlyg8Mb/P3OEBq4Qh7Ue1CGXNen/kpGi0U= +github.com/aws/aws-sdk-go-v2/service/dax v1.26.0 h1:l8l+s6FOEf5GEOqT0qYlR88Xc6xDW7lSvrmnkx3V6RI= +github.com/aws/aws-sdk-go-v2/service/dax v1.26.0/go.mod h1:rnmY/yPKUef7WyczLw08Yknm4c8R2xFCOK8/tMytvSI= github.com/aws/aws-sdk-go-v2/service/detective v1.34.1 h1:R1+JPYi15Sow0hS36G0vbg7A6Xk5u3vUxDXSm/wry4c= github.com/aws/aws-sdk-go-v2/service/detective v1.34.1/go.mod h1:76n0ZZINIlFxYRJAJE036Es05+2B29Ry9ua6sbwmeNc= github.com/aws/aws-sdk-go-v2/service/devicefarm v1.32.1 h1:ReB2/CPevDweGjecwp8ya3vJsmhH6fziyhuYXbW7l8s= From 83098cd159c74023486c7490dfe22f8c35e3e696 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:14 -0400 Subject: [PATCH 0363/1301] go get github.com/aws/aws-sdk-go-v2/service/detective. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 475a7df67a91..88d0ab0d3ece 100644 --- a/go.mod +++ b/go.mod @@ -92,7 +92,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/datasync v1.52.0 github.com/aws/aws-sdk-go-v2/service/datazone v1.35.0 github.com/aws/aws-sdk-go-v2/service/dax v1.26.0 - github.com/aws/aws-sdk-go-v2/service/detective v1.34.1 + github.com/aws/aws-sdk-go-v2/service/detective v1.35.0 github.com/aws/aws-sdk-go-v2/service/devicefarm v1.32.1 github.com/aws/aws-sdk-go-v2/service/devopsguru v1.36.1 github.com/aws/aws-sdk-go-v2/service/directconnect v1.33.1 diff --git a/go.sum b/go.sum index 7f1e00a7aed9..9e7bdc8332e5 100644 --- a/go.sum +++ b/go.sum @@ -195,8 +195,8 @@ github.com/aws/aws-sdk-go-v2/service/datazone v1.35.0 h1:gx2Z59PUE6tYjoZjWtSZ5fF github.com/aws/aws-sdk-go-v2/service/datazone v1.35.0/go.mod h1:w8NSiTlR6hMHKrmhJZo1QGeNp5Gb+y89mscKzPXmZWc= github.com/aws/aws-sdk-go-v2/service/dax v1.26.0 h1:l8l+s6FOEf5GEOqT0qYlR88Xc6xDW7lSvrmnkx3V6RI= github.com/aws/aws-sdk-go-v2/service/dax v1.26.0/go.mod h1:rnmY/yPKUef7WyczLw08Yknm4c8R2xFCOK8/tMytvSI= -github.com/aws/aws-sdk-go-v2/service/detective v1.34.1 h1:R1+JPYi15Sow0hS36G0vbg7A6Xk5u3vUxDXSm/wry4c= -github.com/aws/aws-sdk-go-v2/service/detective v1.34.1/go.mod h1:76n0ZZINIlFxYRJAJE036Es05+2B29Ry9ua6sbwmeNc= +github.com/aws/aws-sdk-go-v2/service/detective v1.35.0 h1:033fW/G7tQ5DST0dsqGxBytsFigH6fCfGkbCAnk/Oog= +github.com/aws/aws-sdk-go-v2/service/detective v1.35.0/go.mod h1:dOP8aoGmNgpLzNvQjtRy5Jd2GAtKWova01M2Zq3YLqY= github.com/aws/aws-sdk-go-v2/service/devicefarm v1.32.1 h1:ReB2/CPevDweGjecwp8ya3vJsmhH6fziyhuYXbW7l8s= github.com/aws/aws-sdk-go-v2/service/devicefarm v1.32.1/go.mod h1:yiyj6Af9/jK0/N3KwTsNf8HGEMDMzwWuKNeNCv+xq0g= github.com/aws/aws-sdk-go-v2/service/devopsguru v1.36.1 h1:cvXl9NB4eCIcI2OJoGGUP1UTe3lgMwECXu6rKX4/fxA= From 7c31b888bfcecc88551bae1a27f7e7a6b53748b2 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:15 -0400 Subject: [PATCH 0364/1301] go get github.com/aws/aws-sdk-go-v2/service/devicefarm. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 88d0ab0d3ece..65bcaabafdfb 100644 --- a/go.mod +++ b/go.mod @@ -93,7 +93,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/datazone v1.35.0 github.com/aws/aws-sdk-go-v2/service/dax v1.26.0 github.com/aws/aws-sdk-go-v2/service/detective v1.35.0 - github.com/aws/aws-sdk-go-v2/service/devicefarm v1.32.1 + github.com/aws/aws-sdk-go-v2/service/devicefarm v1.33.0 github.com/aws/aws-sdk-go-v2/service/devopsguru v1.36.1 github.com/aws/aws-sdk-go-v2/service/directconnect v1.33.1 github.com/aws/aws-sdk-go-v2/service/directoryservice v1.33.0 diff --git a/go.sum b/go.sum index 9e7bdc8332e5..3bc79f902ff7 100644 --- a/go.sum +++ b/go.sum @@ -197,8 +197,8 @@ github.com/aws/aws-sdk-go-v2/service/dax v1.26.0 h1:l8l+s6FOEf5GEOqT0qYlR88Xc6xD github.com/aws/aws-sdk-go-v2/service/dax v1.26.0/go.mod h1:rnmY/yPKUef7WyczLw08Yknm4c8R2xFCOK8/tMytvSI= github.com/aws/aws-sdk-go-v2/service/detective v1.35.0 h1:033fW/G7tQ5DST0dsqGxBytsFigH6fCfGkbCAnk/Oog= github.com/aws/aws-sdk-go-v2/service/detective v1.35.0/go.mod h1:dOP8aoGmNgpLzNvQjtRy5Jd2GAtKWova01M2Zq3YLqY= -github.com/aws/aws-sdk-go-v2/service/devicefarm v1.32.1 h1:ReB2/CPevDweGjecwp8ya3vJsmhH6fziyhuYXbW7l8s= -github.com/aws/aws-sdk-go-v2/service/devicefarm v1.32.1/go.mod h1:yiyj6Af9/jK0/N3KwTsNf8HGEMDMzwWuKNeNCv+xq0g= +github.com/aws/aws-sdk-go-v2/service/devicefarm v1.33.0 h1:K7uueN+UmS2GHVw2+vwqOV/O3Ga4JyZfOg+cwbaiBJg= +github.com/aws/aws-sdk-go-v2/service/devicefarm v1.33.0/go.mod h1:IMYHh62tZCSyUHeyGrOtLSmTkex8ctsG9ODnZmj5jsY= github.com/aws/aws-sdk-go-v2/service/devopsguru v1.36.1 h1:cvXl9NB4eCIcI2OJoGGUP1UTe3lgMwECXu6rKX4/fxA= github.com/aws/aws-sdk-go-v2/service/devopsguru v1.36.1/go.mod h1:AGvxtUnglcKvdNDclLBhfO/ksr7cPXlcXYcErasXHM8= github.com/aws/aws-sdk-go-v2/service/directconnect v1.33.1 h1:ur6teJsonXZ3DQ4HY4F68b5rEvRVxpm7WYaZTTZiYeY= From 54c6150847ebd917d9b9ccfbecbbe5f5e7157455 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:17 -0400 Subject: [PATCH 0365/1301] go get github.com/aws/aws-sdk-go-v2/service/devopsguru. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 65bcaabafdfb..534b743598d7 100644 --- a/go.mod +++ b/go.mod @@ -94,7 +94,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/dax v1.26.0 github.com/aws/aws-sdk-go-v2/service/detective v1.35.0 github.com/aws/aws-sdk-go-v2/service/devicefarm v1.33.0 - github.com/aws/aws-sdk-go-v2/service/devopsguru v1.36.1 + github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0 github.com/aws/aws-sdk-go-v2/service/directconnect v1.33.1 github.com/aws/aws-sdk-go-v2/service/directoryservice v1.33.0 github.com/aws/aws-sdk-go-v2/service/dlm v1.31.1 diff --git a/go.sum b/go.sum index 3bc79f902ff7..f4c0886f1002 100644 --- a/go.sum +++ b/go.sum @@ -199,8 +199,8 @@ github.com/aws/aws-sdk-go-v2/service/detective v1.35.0 h1:033fW/G7tQ5DST0dsqGxBy github.com/aws/aws-sdk-go-v2/service/detective v1.35.0/go.mod h1:dOP8aoGmNgpLzNvQjtRy5Jd2GAtKWova01M2Zq3YLqY= github.com/aws/aws-sdk-go-v2/service/devicefarm v1.33.0 h1:K7uueN+UmS2GHVw2+vwqOV/O3Ga4JyZfOg+cwbaiBJg= github.com/aws/aws-sdk-go-v2/service/devicefarm v1.33.0/go.mod h1:IMYHh62tZCSyUHeyGrOtLSmTkex8ctsG9ODnZmj5jsY= -github.com/aws/aws-sdk-go-v2/service/devopsguru v1.36.1 h1:cvXl9NB4eCIcI2OJoGGUP1UTe3lgMwECXu6rKX4/fxA= -github.com/aws/aws-sdk-go-v2/service/devopsguru v1.36.1/go.mod h1:AGvxtUnglcKvdNDclLBhfO/ksr7cPXlcXYcErasXHM8= +github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0 h1:SUJxgNXb9Gl+gm9p5Q0M5M9G3E8AjV6ELnmgMwt2MTM= +github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0/go.mod h1:Uttl2g1mxh8OO3Nn6L/O5RyMW96Q9NCQ9v95NH7AAIs= github.com/aws/aws-sdk-go-v2/service/directconnect v1.33.1 h1:ur6teJsonXZ3DQ4HY4F68b5rEvRVxpm7WYaZTTZiYeY= github.com/aws/aws-sdk-go-v2/service/directconnect v1.33.1/go.mod h1:Zz+wZAdmA+3xJ2/4HFfkDJUqCri4i4wJ51RC08CS39k= github.com/aws/aws-sdk-go-v2/service/directoryservice v1.33.0 h1:6Mkvj/XKGR0un5ZN3C/fzbwEQDfvFyiqz9onbul2tXE= From bc7c4fe0b9cb8c9f1c5eb670459e89986d525952 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:17 -0400 Subject: [PATCH 0366/1301] go get github.com/aws/aws-sdk-go-v2/service/directconnect. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 534b743598d7..38eadcb0ffa5 100644 --- a/go.mod +++ b/go.mod @@ -95,7 +95,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/detective v1.35.0 github.com/aws/aws-sdk-go-v2/service/devicefarm v1.33.0 github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0 - github.com/aws/aws-sdk-go-v2/service/directconnect v1.33.1 + github.com/aws/aws-sdk-go-v2/service/directconnect v1.34.0 github.com/aws/aws-sdk-go-v2/service/directoryservice v1.33.0 github.com/aws/aws-sdk-go-v2/service/dlm v1.31.1 github.com/aws/aws-sdk-go-v2/service/docdb v1.43.0 diff --git a/go.sum b/go.sum index f4c0886f1002..960c750e77ae 100644 --- a/go.sum +++ b/go.sum @@ -201,8 +201,8 @@ github.com/aws/aws-sdk-go-v2/service/devicefarm v1.33.0 h1:K7uueN+UmS2GHVw2+vwqO github.com/aws/aws-sdk-go-v2/service/devicefarm v1.33.0/go.mod h1:IMYHh62tZCSyUHeyGrOtLSmTkex8ctsG9ODnZmj5jsY= github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0 h1:SUJxgNXb9Gl+gm9p5Q0M5M9G3E8AjV6ELnmgMwt2MTM= github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0/go.mod h1:Uttl2g1mxh8OO3Nn6L/O5RyMW96Q9NCQ9v95NH7AAIs= -github.com/aws/aws-sdk-go-v2/service/directconnect v1.33.1 h1:ur6teJsonXZ3DQ4HY4F68b5rEvRVxpm7WYaZTTZiYeY= -github.com/aws/aws-sdk-go-v2/service/directconnect v1.33.1/go.mod h1:Zz+wZAdmA+3xJ2/4HFfkDJUqCri4i4wJ51RC08CS39k= +github.com/aws/aws-sdk-go-v2/service/directconnect v1.34.0 h1:dRzDaZMpehpHs4adhwkDmXayIIptqQ4O8U1HTCiwhPE= +github.com/aws/aws-sdk-go-v2/service/directconnect v1.34.0/go.mod h1:/E+jep1XiQdEOARijsuGgWpw7UxiX7cv3Dv8vTAj+6M= github.com/aws/aws-sdk-go-v2/service/directoryservice v1.33.0 h1:6Mkvj/XKGR0un5ZN3C/fzbwEQDfvFyiqz9onbul2tXE= github.com/aws/aws-sdk-go-v2/service/directoryservice v1.33.0/go.mod h1:cE8g6YE7isdWy1WJEuslcG9/O/xYpN56+Gd+v5Nay2Q= github.com/aws/aws-sdk-go-v2/service/dlm v1.31.1 h1:X3N98uVi57B01cxV5wlSEXmaQDoH0SkT/cPVFNGis3o= From ab1765f3bd7d308e3fb5d374a8f18cc73606d2ef Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:18 -0400 Subject: [PATCH 0367/1301] go get github.com/aws/aws-sdk-go-v2/service/directoryservice. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 38eadcb0ffa5..123760c97909 100644 --- a/go.mod +++ b/go.mod @@ -96,7 +96,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/devicefarm v1.33.0 github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0 github.com/aws/aws-sdk-go-v2/service/directconnect v1.34.0 - github.com/aws/aws-sdk-go-v2/service/directoryservice v1.33.0 + github.com/aws/aws-sdk-go-v2/service/directoryservice v1.34.0 github.com/aws/aws-sdk-go-v2/service/dlm v1.31.1 github.com/aws/aws-sdk-go-v2/service/docdb v1.43.0 github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.16.1 diff --git a/go.sum b/go.sum index 960c750e77ae..dc3a1d1a5773 100644 --- a/go.sum +++ b/go.sum @@ -203,8 +203,8 @@ github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0 h1:SUJxgNXb9Gl+gm9p5Q0M5 github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0/go.mod h1:Uttl2g1mxh8OO3Nn6L/O5RyMW96Q9NCQ9v95NH7AAIs= github.com/aws/aws-sdk-go-v2/service/directconnect v1.34.0 h1:dRzDaZMpehpHs4adhwkDmXayIIptqQ4O8U1HTCiwhPE= github.com/aws/aws-sdk-go-v2/service/directconnect v1.34.0/go.mod h1:/E+jep1XiQdEOARijsuGgWpw7UxiX7cv3Dv8vTAj+6M= -github.com/aws/aws-sdk-go-v2/service/directoryservice v1.33.0 h1:6Mkvj/XKGR0un5ZN3C/fzbwEQDfvFyiqz9onbul2tXE= -github.com/aws/aws-sdk-go-v2/service/directoryservice v1.33.0/go.mod h1:cE8g6YE7isdWy1WJEuslcG9/O/xYpN56+Gd+v5Nay2Q= +github.com/aws/aws-sdk-go-v2/service/directoryservice v1.34.0 h1:oXzjqV5vL3jj9gNTaktrBiGBnaFAgRWSmoyswhMs+80= +github.com/aws/aws-sdk-go-v2/service/directoryservice v1.34.0/go.mod h1:OPGuMZ8mYvD1ezKVAlCGB22c4umHsWkKY4YAwFfn8Bg= github.com/aws/aws-sdk-go-v2/service/dlm v1.31.1 h1:X3N98uVi57B01cxV5wlSEXmaQDoH0SkT/cPVFNGis3o= github.com/aws/aws-sdk-go-v2/service/dlm v1.31.1/go.mod h1:8cJzEU8w/u2gkatmGTd3O7EFLoGP0feaIWihDpDsS90= github.com/aws/aws-sdk-go-v2/service/docdb v1.43.0 h1:KkTo1IeL3eI6bpAUzzte6byFZmO26njFqdfn0fMgrZU= From 53c238d33690dd3f5b85f2c6bb26c9381dd4fa9c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:19 -0400 Subject: [PATCH 0368/1301] go get github.com/aws/aws-sdk-go-v2/service/dlm. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 123760c97909..d3c87fd1c5ec 100644 --- a/go.mod +++ b/go.mod @@ -97,7 +97,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0 github.com/aws/aws-sdk-go-v2/service/directconnect v1.34.0 github.com/aws/aws-sdk-go-v2/service/directoryservice v1.34.0 - github.com/aws/aws-sdk-go-v2/service/dlm v1.31.1 + github.com/aws/aws-sdk-go-v2/service/dlm v1.32.0 github.com/aws/aws-sdk-go-v2/service/docdb v1.43.0 github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.16.1 github.com/aws/aws-sdk-go-v2/service/drs v1.32.1 diff --git a/go.sum b/go.sum index dc3a1d1a5773..41930cfa1091 100644 --- a/go.sum +++ b/go.sum @@ -205,8 +205,8 @@ github.com/aws/aws-sdk-go-v2/service/directconnect v1.34.0 h1:dRzDaZMpehpHs4adhw github.com/aws/aws-sdk-go-v2/service/directconnect v1.34.0/go.mod h1:/E+jep1XiQdEOARijsuGgWpw7UxiX7cv3Dv8vTAj+6M= github.com/aws/aws-sdk-go-v2/service/directoryservice v1.34.0 h1:oXzjqV5vL3jj9gNTaktrBiGBnaFAgRWSmoyswhMs+80= github.com/aws/aws-sdk-go-v2/service/directoryservice v1.34.0/go.mod h1:OPGuMZ8mYvD1ezKVAlCGB22c4umHsWkKY4YAwFfn8Bg= -github.com/aws/aws-sdk-go-v2/service/dlm v1.31.1 h1:X3N98uVi57B01cxV5wlSEXmaQDoH0SkT/cPVFNGis3o= -github.com/aws/aws-sdk-go-v2/service/dlm v1.31.1/go.mod h1:8cJzEU8w/u2gkatmGTd3O7EFLoGP0feaIWihDpDsS90= +github.com/aws/aws-sdk-go-v2/service/dlm v1.32.0 h1:u6V4K637EL6sPNHf6zZO0bZlDMbBqHzfXBYEPFucGjo= +github.com/aws/aws-sdk-go-v2/service/dlm v1.32.0/go.mod h1:ybd3+ET1/CpQP3qdj/CbTaEWUDhwYT+0bT4eXLcnQ5c= github.com/aws/aws-sdk-go-v2/service/docdb v1.43.0 h1:KkTo1IeL3eI6bpAUzzte6byFZmO26njFqdfn0fMgrZU= github.com/aws/aws-sdk-go-v2/service/docdb v1.43.0/go.mod h1:LXUurR6oU0Mur/zfXB6ZUpWeC3nGOv4TZCvKvxyd1Ts= github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.16.1 h1:NpdGerAwJLMan0qv9FZkMKurlfrfWpB/tuIxQGcIoKQ= From 041bef135f6467fa6a49340a87c25ac65e9711f3 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:20 -0400 Subject: [PATCH 0369/1301] go get github.com/aws/aws-sdk-go-v2/service/docdb. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d3c87fd1c5ec..8e7a26bb8afb 100644 --- a/go.mod +++ b/go.mod @@ -98,7 +98,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/directconnect v1.34.0 github.com/aws/aws-sdk-go-v2/service/directoryservice v1.34.0 github.com/aws/aws-sdk-go-v2/service/dlm v1.32.0 - github.com/aws/aws-sdk-go-v2/service/docdb v1.43.0 + github.com/aws/aws-sdk-go-v2/service/docdb v1.44.0 github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.16.1 github.com/aws/aws-sdk-go-v2/service/drs v1.32.1 github.com/aws/aws-sdk-go-v2/service/dsql v1.6.1 diff --git a/go.sum b/go.sum index 41930cfa1091..50e8256bcb15 100644 --- a/go.sum +++ b/go.sum @@ -207,8 +207,8 @@ github.com/aws/aws-sdk-go-v2/service/directoryservice v1.34.0 h1:oXzjqV5vL3jj9gN github.com/aws/aws-sdk-go-v2/service/directoryservice v1.34.0/go.mod h1:OPGuMZ8mYvD1ezKVAlCGB22c4umHsWkKY4YAwFfn8Bg= github.com/aws/aws-sdk-go-v2/service/dlm v1.32.0 h1:u6V4K637EL6sPNHf6zZO0bZlDMbBqHzfXBYEPFucGjo= github.com/aws/aws-sdk-go-v2/service/dlm v1.32.0/go.mod h1:ybd3+ET1/CpQP3qdj/CbTaEWUDhwYT+0bT4eXLcnQ5c= -github.com/aws/aws-sdk-go-v2/service/docdb v1.43.0 h1:KkTo1IeL3eI6bpAUzzte6byFZmO26njFqdfn0fMgrZU= -github.com/aws/aws-sdk-go-v2/service/docdb v1.43.0/go.mod h1:LXUurR6oU0Mur/zfXB6ZUpWeC3nGOv4TZCvKvxyd1Ts= +github.com/aws/aws-sdk-go-v2/service/docdb v1.44.0 h1:5bs2HTu2+khau4yBDAgsZsFO2Mrc89Zz9uEBLmmZp7E= +github.com/aws/aws-sdk-go-v2/service/docdb v1.44.0/go.mod h1:W7LM0wHrgjuZgh2ugJLc9SunYq8dUvtgu/lamy9UXBA= github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.16.1 h1:NpdGerAwJLMan0qv9FZkMKurlfrfWpB/tuIxQGcIoKQ= github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.16.1/go.mod h1:Rt5mVlAnNpabHok0G9i2aP2kuCXmZqUluUWu9Gr4L2o= github.com/aws/aws-sdk-go-v2/service/drs v1.32.1 h1:Bnca8nXq9fzKneUaKGg6EPs6BRokMoCMjCjxOujPsok= From 838feb0fbadec3fb956edb76943aea3892753331 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:22 -0400 Subject: [PATCH 0370/1301] go get github.com/aws/aws-sdk-go-v2/service/docdbelastic. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8e7a26bb8afb..f66fcad9fc03 100644 --- a/go.mod +++ b/go.mod @@ -99,7 +99,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/directoryservice v1.34.0 github.com/aws/aws-sdk-go-v2/service/dlm v1.32.0 github.com/aws/aws-sdk-go-v2/service/docdb v1.44.0 - github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.16.1 + github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.17.0 github.com/aws/aws-sdk-go-v2/service/drs v1.32.1 github.com/aws/aws-sdk-go-v2/service/dsql v1.6.1 github.com/aws/aws-sdk-go-v2/service/dynamodb v1.45.1 diff --git a/go.sum b/go.sum index 50e8256bcb15..2b542007601a 100644 --- a/go.sum +++ b/go.sum @@ -209,8 +209,8 @@ github.com/aws/aws-sdk-go-v2/service/dlm v1.32.0 h1:u6V4K637EL6sPNHf6zZO0bZlDMbB github.com/aws/aws-sdk-go-v2/service/dlm v1.32.0/go.mod h1:ybd3+ET1/CpQP3qdj/CbTaEWUDhwYT+0bT4eXLcnQ5c= github.com/aws/aws-sdk-go-v2/service/docdb v1.44.0 h1:5bs2HTu2+khau4yBDAgsZsFO2Mrc89Zz9uEBLmmZp7E= github.com/aws/aws-sdk-go-v2/service/docdb v1.44.0/go.mod h1:W7LM0wHrgjuZgh2ugJLc9SunYq8dUvtgu/lamy9UXBA= -github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.16.1 h1:NpdGerAwJLMan0qv9FZkMKurlfrfWpB/tuIxQGcIoKQ= -github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.16.1/go.mod h1:Rt5mVlAnNpabHok0G9i2aP2kuCXmZqUluUWu9Gr4L2o= +github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.17.0 h1:vU40uE7CLo63AusHL0hJl9g99qMd8s1lj2Atp3CF/H8= +github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.17.0/go.mod h1:aa5vQ9iApmgcG4hkt0f7fDPIHGgV5Hsc+JxeRDclOjw= github.com/aws/aws-sdk-go-v2/service/drs v1.32.1 h1:Bnca8nXq9fzKneUaKGg6EPs6BRokMoCMjCjxOujPsok= github.com/aws/aws-sdk-go-v2/service/drs v1.32.1/go.mod h1:GkjA421JeU3rZw+OtqtRhcTX5/oMV4eCktMTP49RjEY= github.com/aws/aws-sdk-go-v2/service/dsql v1.6.1 h1:9gsd5GS4hpu0Dy51zyUZbO48c94BaUL6445wO0puPfk= From 6de9792c429dd446c8b68970c412411c9143a213 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:23 -0400 Subject: [PATCH 0371/1301] go get github.com/aws/aws-sdk-go-v2/service/drs. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index f66fcad9fc03..f7b2aa7d9eb2 100644 --- a/go.mod +++ b/go.mod @@ -100,7 +100,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/dlm v1.32.0 github.com/aws/aws-sdk-go-v2/service/docdb v1.44.0 github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.17.0 - github.com/aws/aws-sdk-go-v2/service/drs v1.32.1 + github.com/aws/aws-sdk-go-v2/service/drs v1.33.0 github.com/aws/aws-sdk-go-v2/service/dsql v1.6.1 github.com/aws/aws-sdk-go-v2/service/dynamodb v1.45.1 github.com/aws/aws-sdk-go-v2/service/ec2 v1.239.0 diff --git a/go.sum b/go.sum index 2b542007601a..ea0e4b94d59e 100644 --- a/go.sum +++ b/go.sum @@ -211,8 +211,8 @@ github.com/aws/aws-sdk-go-v2/service/docdb v1.44.0 h1:5bs2HTu2+khau4yBDAgsZsFO2M github.com/aws/aws-sdk-go-v2/service/docdb v1.44.0/go.mod h1:W7LM0wHrgjuZgh2ugJLc9SunYq8dUvtgu/lamy9UXBA= github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.17.0 h1:vU40uE7CLo63AusHL0hJl9g99qMd8s1lj2Atp3CF/H8= github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.17.0/go.mod h1:aa5vQ9iApmgcG4hkt0f7fDPIHGgV5Hsc+JxeRDclOjw= -github.com/aws/aws-sdk-go-v2/service/drs v1.32.1 h1:Bnca8nXq9fzKneUaKGg6EPs6BRokMoCMjCjxOujPsok= -github.com/aws/aws-sdk-go-v2/service/drs v1.32.1/go.mod h1:GkjA421JeU3rZw+OtqtRhcTX5/oMV4eCktMTP49RjEY= +github.com/aws/aws-sdk-go-v2/service/drs v1.33.0 h1:Iijr+LEma1xNOPifbN7Eb7aL73v/UkD7FFcxyknDfOI= +github.com/aws/aws-sdk-go-v2/service/drs v1.33.0/go.mod h1:cPdn2XdBmgHtq+Ei10EeCPy+j6l1I6g4FLjlPnh7g64= github.com/aws/aws-sdk-go-v2/service/dsql v1.6.1 h1:9gsd5GS4hpu0Dy51zyUZbO48c94BaUL6445wO0puPfk= github.com/aws/aws-sdk-go-v2/service/dsql v1.6.1/go.mod h1:zCjUFiEqbIipUKwhROZhoOtW7bgBBfOXf1FSGc2uSRQ= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.45.1 h1:gFD9BLrXox2Q5zxFwyD2OnGb40YYofQ/anaGxVP848Q= From 66f808710b41190ddf1edd581cdfca0c3b3a2286 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:24 -0400 Subject: [PATCH 0372/1301] go get github.com/aws/aws-sdk-go-v2/service/dsql. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index f7b2aa7d9eb2..4ffe63b38a29 100644 --- a/go.mod +++ b/go.mod @@ -101,7 +101,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/docdb v1.44.0 github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.17.0 github.com/aws/aws-sdk-go-v2/service/drs v1.33.0 - github.com/aws/aws-sdk-go-v2/service/dsql v1.6.1 + github.com/aws/aws-sdk-go-v2/service/dsql v1.7.0 github.com/aws/aws-sdk-go-v2/service/dynamodb v1.45.1 github.com/aws/aws-sdk-go-v2/service/ec2 v1.239.0 github.com/aws/aws-sdk-go-v2/service/ecr v1.47.1 diff --git a/go.sum b/go.sum index ea0e4b94d59e..009d4853433c 100644 --- a/go.sum +++ b/go.sum @@ -213,8 +213,8 @@ github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.17.0 h1:vU40uE7CLo63AusHL0h github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.17.0/go.mod h1:aa5vQ9iApmgcG4hkt0f7fDPIHGgV5Hsc+JxeRDclOjw= github.com/aws/aws-sdk-go-v2/service/drs v1.33.0 h1:Iijr+LEma1xNOPifbN7Eb7aL73v/UkD7FFcxyknDfOI= github.com/aws/aws-sdk-go-v2/service/drs v1.33.0/go.mod h1:cPdn2XdBmgHtq+Ei10EeCPy+j6l1I6g4FLjlPnh7g64= -github.com/aws/aws-sdk-go-v2/service/dsql v1.6.1 h1:9gsd5GS4hpu0Dy51zyUZbO48c94BaUL6445wO0puPfk= -github.com/aws/aws-sdk-go-v2/service/dsql v1.6.1/go.mod h1:zCjUFiEqbIipUKwhROZhoOtW7bgBBfOXf1FSGc2uSRQ= +github.com/aws/aws-sdk-go-v2/service/dsql v1.7.0 h1:90eZGtuddgUIcOTCrA8FhgaGb4eFxIEFAsWKnc1GzXE= +github.com/aws/aws-sdk-go-v2/service/dsql v1.7.0/go.mod h1:FRIS/nQBGwjD+CfPct4I2Sly16EJXFl8iq9sd/n2t4c= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.45.1 h1:gFD9BLrXox2Q5zxFwyD2OnGb40YYofQ/anaGxVP848Q= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.45.1/go.mod h1:J+qJkxNypYjDcwXldBH+ox2T7OshtP6LOq5VhU0v6hg= github.com/aws/aws-sdk-go-v2/service/ec2 v1.239.0 h1:pPuzRQQoRY7pwxlNf1//yz5goxB98p1KMa3cdBO+E1E= From 32b88ccc7de7b5380ae5bdbe23b03d132e930c16 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:24 -0400 Subject: [PATCH 0373/1301] go get github.com/aws/aws-sdk-go-v2/service/dynamodb. --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 4ffe63b38a29..c97c6f9a7b9c 100644 --- a/go.mod +++ b/go.mod @@ -102,7 +102,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.17.0 github.com/aws/aws-sdk-go-v2/service/drs v1.33.0 github.com/aws/aws-sdk-go-v2/service/dsql v1.7.0 - github.com/aws/aws-sdk-go-v2/service/dynamodb v1.45.1 + github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0 github.com/aws/aws-sdk-go-v2/service/ec2 v1.239.0 github.com/aws/aws-sdk-go-v2/service/ecr v1.47.1 github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.34.1 @@ -328,7 +328,7 @@ require ( github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.2 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 // indirect github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.2 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.1 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.2 // indirect github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2 // indirect github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.2 // indirect github.com/aws/aws-sdk-go-v2/service/ssooidc v1.32.0 // indirect diff --git a/go.sum b/go.sum index 009d4853433c..2fb88d4b78e0 100644 --- a/go.sum +++ b/go.sum @@ -215,8 +215,8 @@ github.com/aws/aws-sdk-go-v2/service/drs v1.33.0 h1:Iijr+LEma1xNOPifbN7Eb7aL73v/ github.com/aws/aws-sdk-go-v2/service/drs v1.33.0/go.mod h1:cPdn2XdBmgHtq+Ei10EeCPy+j6l1I6g4FLjlPnh7g64= github.com/aws/aws-sdk-go-v2/service/dsql v1.7.0 h1:90eZGtuddgUIcOTCrA8FhgaGb4eFxIEFAsWKnc1GzXE= github.com/aws/aws-sdk-go-v2/service/dsql v1.7.0/go.mod h1:FRIS/nQBGwjD+CfPct4I2Sly16EJXFl8iq9sd/n2t4c= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.45.1 h1:gFD9BLrXox2Q5zxFwyD2OnGb40YYofQ/anaGxVP848Q= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.45.1/go.mod h1:J+qJkxNypYjDcwXldBH+ox2T7OshtP6LOq5VhU0v6hg= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0 h1:b7F96mjkzsqymMSGhuCqBQTZFx3mhTMa6IoG6SoVvC8= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0/go.mod h1:F8Rqs4FVGBTUzx3wbFm7HB/mgIA4Tc6/x0yQmjoB+/w= github.com/aws/aws-sdk-go-v2/service/ec2 v1.239.0 h1:pPuzRQQoRY7pwxlNf1//yz5goxB98p1KMa3cdBO+E1E= github.com/aws/aws-sdk-go-v2/service/ec2 v1.239.0/go.mod h1:lhyI/MJGGbPnOdYmmQRZe07S+2fW2uWI1XrUfAZgXLM= github.com/aws/aws-sdk-go-v2/service/ecr v1.47.1 h1:gwqCrRvz+vnhWyG9/WSzo6HspAO5mWXBeYo9ELFUcIM= @@ -295,8 +295,8 @@ github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 h1:6+lZi2J github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0/go.mod h1:eb3gfbVIxIoGgJsi9pGne19dhCBpK6opTYpQqAmdy44= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.2 h1:blV3dY6WbxIVOFggfYIo2E1Q2lZoy5imS7nKgu5m6Tc= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.2/go.mod h1:cBWNeLBjHJRSmXAxdS7mwiMUEgx6zup4wQ9J+/PcsRQ= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.1 h1:/E4JUPMI8LRX2XpXsbmKN42l1lZPoLjGJ/Kun97pLc0= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.1/go.mod h1:qgbd/t8S8y5e87KPQ4kC0kyxZ0K6nC1QiDtFMoxlsOo= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.2 h1:pOnBcmmHWBDbxawnpomSKFbDe8yn+t0OznR+Vo9Tj/Q= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.2/go.mod h1:iseakOEtbeRjQkEtKZQ149M/fLJIaMlF0lS0X3/gXdg= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2 h1:oxmDEO14NBZJbK/M8y3brhMFEIGN4j8a6Aq8eY0sqlo= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2/go.mod h1:4hH+8QCrk1uRWDPsVfsNDUup3taAjO8Dnx63au7smAU= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.2 h1:0hBNFAPwecERLzkhhBY+lQKUMpXSKVv4Sxovikrioms= From fde3c72e6ff6ed7c4e67dc6f452c960e36dd65ba Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:26 -0400 Subject: [PATCH 0374/1301] go get github.com/aws/aws-sdk-go-v2/service/ec2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c97c6f9a7b9c..c285bdbdcca1 100644 --- a/go.mod +++ b/go.mod @@ -103,7 +103,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/drs v1.33.0 github.com/aws/aws-sdk-go-v2/service/dsql v1.7.0 github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0 - github.com/aws/aws-sdk-go-v2/service/ec2 v1.239.0 + github.com/aws/aws-sdk-go-v2/service/ec2 v1.240.0 github.com/aws/aws-sdk-go-v2/service/ecr v1.47.1 github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.34.1 github.com/aws/aws-sdk-go-v2/service/ecs v1.61.1 diff --git a/go.sum b/go.sum index 2fb88d4b78e0..b60c1a51db91 100644 --- a/go.sum +++ b/go.sum @@ -217,8 +217,8 @@ github.com/aws/aws-sdk-go-v2/service/dsql v1.7.0 h1:90eZGtuddgUIcOTCrA8FhgaGb4eF github.com/aws/aws-sdk-go-v2/service/dsql v1.7.0/go.mod h1:FRIS/nQBGwjD+CfPct4I2Sly16EJXFl8iq9sd/n2t4c= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0 h1:b7F96mjkzsqymMSGhuCqBQTZFx3mhTMa6IoG6SoVvC8= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0/go.mod h1:F8Rqs4FVGBTUzx3wbFm7HB/mgIA4Tc6/x0yQmjoB+/w= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.239.0 h1:pPuzRQQoRY7pwxlNf1//yz5goxB98p1KMa3cdBO+E1E= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.239.0/go.mod h1:lhyI/MJGGbPnOdYmmQRZe07S+2fW2uWI1XrUfAZgXLM= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.240.0 h1:/NUzag+6BGBNvM7FEHDsDK8itSgWEUVhmC2HDBR8NrM= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.240.0/go.mod h1:HDxGArx3/bUnkoFsuvTNIxEj/cR3f+IgsVh1B7Pvay8= github.com/aws/aws-sdk-go-v2/service/ecr v1.47.1 h1:gwqCrRvz+vnhWyG9/WSzo6HspAO5mWXBeYo9ELFUcIM= github.com/aws/aws-sdk-go-v2/service/ecr v1.47.1/go.mod h1:VVqrGCL0/zQif1J6axnyUBVRf6lySV5/QhxV9RspEHY= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.34.1 h1:BiOKbndtmSaZypHR0S7lO0DuffGegLvbkGfq4aNJlFc= From 864d7e5a5da870fc4d0aa104e36227160fd994ed Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:27 -0400 Subject: [PATCH 0375/1301] go get github.com/aws/aws-sdk-go-v2/service/ecr. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c285bdbdcca1..de3a96bb48da 100644 --- a/go.mod +++ b/go.mod @@ -104,7 +104,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/dsql v1.7.0 github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0 github.com/aws/aws-sdk-go-v2/service/ec2 v1.240.0 - github.com/aws/aws-sdk-go-v2/service/ecr v1.47.1 + github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0 github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.34.1 github.com/aws/aws-sdk-go-v2/service/ecs v1.61.1 github.com/aws/aws-sdk-go-v2/service/efs v1.37.1 diff --git a/go.sum b/go.sum index b60c1a51db91..2afbfec27fdd 100644 --- a/go.sum +++ b/go.sum @@ -219,8 +219,8 @@ github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0 h1:b7F96mjkzsqymMSGhuCqBQT github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0/go.mod h1:F8Rqs4FVGBTUzx3wbFm7HB/mgIA4Tc6/x0yQmjoB+/w= github.com/aws/aws-sdk-go-v2/service/ec2 v1.240.0 h1:/NUzag+6BGBNvM7FEHDsDK8itSgWEUVhmC2HDBR8NrM= github.com/aws/aws-sdk-go-v2/service/ec2 v1.240.0/go.mod h1:HDxGArx3/bUnkoFsuvTNIxEj/cR3f+IgsVh1B7Pvay8= -github.com/aws/aws-sdk-go-v2/service/ecr v1.47.1 h1:gwqCrRvz+vnhWyG9/WSzo6HspAO5mWXBeYo9ELFUcIM= -github.com/aws/aws-sdk-go-v2/service/ecr v1.47.1/go.mod h1:VVqrGCL0/zQif1J6axnyUBVRf6lySV5/QhxV9RspEHY= +github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0 h1:2SOhwFVwG8PxJVT8DM6nhGsX+JZ8bl9CVgeiueeL4gs= +github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0/go.mod h1:j8i+iiBvaf+Em29qBiXuhw5r9tGWDbpFEvLDqLtnMh8= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.34.1 h1:BiOKbndtmSaZypHR0S7lO0DuffGegLvbkGfq4aNJlFc= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.34.1/go.mod h1:rAWV5KSmhcjfXEzn2j+heWufy+JWlNDvkhyirRPB0+o= github.com/aws/aws-sdk-go-v2/service/ecs v1.61.1 h1:C9YpiBJwF9ORx1PNLK7hIT9edNcezQs+ioCT64414+8= From 37dc063de0cc4958c48cbdf5656e44b4ac84a5cb Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:28 -0400 Subject: [PATCH 0376/1301] go get github.com/aws/aws-sdk-go-v2/service/ecrpublic. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index de3a96bb48da..36b6d3c60e16 100644 --- a/go.mod +++ b/go.mod @@ -105,7 +105,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0 github.com/aws/aws-sdk-go-v2/service/ec2 v1.240.0 github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0 - github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.34.1 + github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0 github.com/aws/aws-sdk-go-v2/service/ecs v1.61.1 github.com/aws/aws-sdk-go-v2/service/efs v1.37.1 github.com/aws/aws-sdk-go-v2/service/eks v1.67.1 diff --git a/go.sum b/go.sum index 2afbfec27fdd..6c0fb6d55373 100644 --- a/go.sum +++ b/go.sum @@ -221,8 +221,8 @@ github.com/aws/aws-sdk-go-v2/service/ec2 v1.240.0 h1:/NUzag+6BGBNvM7FEHDsDK8itSg github.com/aws/aws-sdk-go-v2/service/ec2 v1.240.0/go.mod h1:HDxGArx3/bUnkoFsuvTNIxEj/cR3f+IgsVh1B7Pvay8= github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0 h1:2SOhwFVwG8PxJVT8DM6nhGsX+JZ8bl9CVgeiueeL4gs= github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0/go.mod h1:j8i+iiBvaf+Em29qBiXuhw5r9tGWDbpFEvLDqLtnMh8= -github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.34.1 h1:BiOKbndtmSaZypHR0S7lO0DuffGegLvbkGfq4aNJlFc= -github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.34.1/go.mod h1:rAWV5KSmhcjfXEzn2j+heWufy+JWlNDvkhyirRPB0+o= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0 h1:Jcgm/dOm/6M0882pZwLzlN3BZyKEl4Pxp1isTkHoems= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0/go.mod h1:jpQxFtT7JO3idCuyrKsoEjPcCIrrJNpeGvZFl1986rA= github.com/aws/aws-sdk-go-v2/service/ecs v1.61.1 h1:C9YpiBJwF9ORx1PNLK7hIT9edNcezQs+ioCT64414+8= github.com/aws/aws-sdk-go-v2/service/ecs v1.61.1/go.mod h1:NzX/k/6nc9X5l1NShl1p2PLbBZ2IohBcD0d76o7uPtw= github.com/aws/aws-sdk-go-v2/service/efs v1.37.1 h1:if46gpuITm8t4b7C/1hWSiHTI35LVWXN55H/SCWowl4= From bfa540cf161ecf17fcaf541068a77631df004062 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:29 -0400 Subject: [PATCH 0377/1301] go get github.com/aws/aws-sdk-go-v2/service/ecs. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 36b6d3c60e16..bacc0dbdb993 100644 --- a/go.mod +++ b/go.mod @@ -106,7 +106,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ec2 v1.240.0 github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0 github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0 - github.com/aws/aws-sdk-go-v2/service/ecs v1.61.1 + github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0 github.com/aws/aws-sdk-go-v2/service/efs v1.37.1 github.com/aws/aws-sdk-go-v2/service/eks v1.67.1 github.com/aws/aws-sdk-go-v2/service/elasticache v1.47.1 diff --git a/go.sum b/go.sum index 6c0fb6d55373..462a9bc9c42e 100644 --- a/go.sum +++ b/go.sum @@ -223,8 +223,8 @@ github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0 h1:2SOhwFVwG8PxJVT8DM6nhGsX+JZ8 github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0/go.mod h1:j8i+iiBvaf+Em29qBiXuhw5r9tGWDbpFEvLDqLtnMh8= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0 h1:Jcgm/dOm/6M0882pZwLzlN3BZyKEl4Pxp1isTkHoems= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0/go.mod h1:jpQxFtT7JO3idCuyrKsoEjPcCIrrJNpeGvZFl1986rA= -github.com/aws/aws-sdk-go-v2/service/ecs v1.61.1 h1:C9YpiBJwF9ORx1PNLK7hIT9edNcezQs+ioCT64414+8= -github.com/aws/aws-sdk-go-v2/service/ecs v1.61.1/go.mod h1:NzX/k/6nc9X5l1NShl1p2PLbBZ2IohBcD0d76o7uPtw= +github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0 h1:E5/BzpoN6fc/xWtKiFPUJBW6nW3KFINCz6so7v/fQ8E= +github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0/go.mod h1:UrdK8ip8HSwnESeuXhte4vlRVv0GIOpC92LR1+2m+zA= github.com/aws/aws-sdk-go-v2/service/efs v1.37.1 h1:if46gpuITm8t4b7C/1hWSiHTI35LVWXN55H/SCWowl4= github.com/aws/aws-sdk-go-v2/service/efs v1.37.1/go.mod h1:ytV6yB7YT5kElfKIubv3CP9nKG1IVEXAMDHOC0Wgrgo= github.com/aws/aws-sdk-go-v2/service/eks v1.67.1 h1:Pw8b30mgnG894pn6DHOvnHqT9tIAqOyg3NuBcsBaL3c= From 1c39d2f315ae7a3e2bfefba3fe6825393fd39637 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:30 -0400 Subject: [PATCH 0378/1301] go get github.com/aws/aws-sdk-go-v2/service/efs. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index bacc0dbdb993..d9d84c42a3cf 100644 --- a/go.mod +++ b/go.mod @@ -107,7 +107,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0 github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0 github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0 - github.com/aws/aws-sdk-go-v2/service/efs v1.37.1 + github.com/aws/aws-sdk-go-v2/service/efs v1.38.0 github.com/aws/aws-sdk-go-v2/service/eks v1.67.1 github.com/aws/aws-sdk-go-v2/service/elasticache v1.47.1 github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.30.1 diff --git a/go.sum b/go.sum index 462a9bc9c42e..740a64438b45 100644 --- a/go.sum +++ b/go.sum @@ -225,8 +225,8 @@ github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0 h1:Jcgm/dOm/6M0882pZwLzlN github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0/go.mod h1:jpQxFtT7JO3idCuyrKsoEjPcCIrrJNpeGvZFl1986rA= github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0 h1:E5/BzpoN6fc/xWtKiFPUJBW6nW3KFINCz6so7v/fQ8E= github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0/go.mod h1:UrdK8ip8HSwnESeuXhte4vlRVv0GIOpC92LR1+2m+zA= -github.com/aws/aws-sdk-go-v2/service/efs v1.37.1 h1:if46gpuITm8t4b7C/1hWSiHTI35LVWXN55H/SCWowl4= -github.com/aws/aws-sdk-go-v2/service/efs v1.37.1/go.mod h1:ytV6yB7YT5kElfKIubv3CP9nKG1IVEXAMDHOC0Wgrgo= +github.com/aws/aws-sdk-go-v2/service/efs v1.38.0 h1:W8v+PwOUTeh3JE53yBW8nAaRkDvMq7mMO+/bvmYHAlI= +github.com/aws/aws-sdk-go-v2/service/efs v1.38.0/go.mod h1:ijPHatoNwxKTySdgDNoGUZw3toYwvRJKWwS/1dr3M/c= github.com/aws/aws-sdk-go-v2/service/eks v1.67.1 h1:Pw8b30mgnG894pn6DHOvnHqT9tIAqOyg3NuBcsBaL3c= github.com/aws/aws-sdk-go-v2/service/eks v1.67.1/go.mod h1:ZkszcAXXOpLXbLBZrrog9lCwZF3NyZryUDxXY/InzSM= github.com/aws/aws-sdk-go-v2/service/elasticache v1.47.1 h1:DIP+2UukVi9P4PHLUF2HXpZEtkbDLmqYcWILuU/m0IQ= From 4e8b445b9fdf88bc6c392167ac6defc5f93342ca Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:31 -0400 Subject: [PATCH 0379/1301] go get github.com/aws/aws-sdk-go-v2/service/eks. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d9d84c42a3cf..7f24511f1544 100644 --- a/go.mod +++ b/go.mod @@ -108,7 +108,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0 github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0 github.com/aws/aws-sdk-go-v2/service/efs v1.38.0 - github.com/aws/aws-sdk-go-v2/service/eks v1.67.1 + github.com/aws/aws-sdk-go-v2/service/eks v1.68.0 github.com/aws/aws-sdk-go-v2/service/elasticache v1.47.1 github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.30.1 github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.30.1 diff --git a/go.sum b/go.sum index 740a64438b45..83d63321960f 100644 --- a/go.sum +++ b/go.sum @@ -227,8 +227,8 @@ github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0 h1:E5/BzpoN6fc/xWtKiFPUJBW6nW3K github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0/go.mod h1:UrdK8ip8HSwnESeuXhte4vlRVv0GIOpC92LR1+2m+zA= github.com/aws/aws-sdk-go-v2/service/efs v1.38.0 h1:W8v+PwOUTeh3JE53yBW8nAaRkDvMq7mMO+/bvmYHAlI= github.com/aws/aws-sdk-go-v2/service/efs v1.38.0/go.mod h1:ijPHatoNwxKTySdgDNoGUZw3toYwvRJKWwS/1dr3M/c= -github.com/aws/aws-sdk-go-v2/service/eks v1.67.1 h1:Pw8b30mgnG894pn6DHOvnHqT9tIAqOyg3NuBcsBaL3c= -github.com/aws/aws-sdk-go-v2/service/eks v1.67.1/go.mod h1:ZkszcAXXOpLXbLBZrrog9lCwZF3NyZryUDxXY/InzSM= +github.com/aws/aws-sdk-go-v2/service/eks v1.68.0 h1:3hgPfytQLttZmM2fFejtC1i/5OM1p3o9BHzCwGjcMpc= +github.com/aws/aws-sdk-go-v2/service/eks v1.68.0/go.mod h1:u3CDoNUAkSIGKNiA6LfQtApPmHPGRuAjikx3ObM5XBs= github.com/aws/aws-sdk-go-v2/service/elasticache v1.47.1 h1:DIP+2UukVi9P4PHLUF2HXpZEtkbDLmqYcWILuU/m0IQ= github.com/aws/aws-sdk-go-v2/service/elasticache v1.47.1/go.mod h1:8LEhIVZFKc9OfOrug9sIsm9lTSmiS0KT121aXUnoTPo= github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.30.1 h1:j4jxdx6ZiG2Xcj9DfjHhX65af8gpUZ4uvEZxJsEuTHk= From 6cc90c77b185e58541bd3d2e7111e45a1bb79661 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:32 -0400 Subject: [PATCH 0380/1301] go get github.com/aws/aws-sdk-go-v2/service/elasticache. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7f24511f1544..43f39587cd8e 100644 --- a/go.mod +++ b/go.mod @@ -109,7 +109,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0 github.com/aws/aws-sdk-go-v2/service/efs v1.38.0 github.com/aws/aws-sdk-go-v2/service/eks v1.68.0 - github.com/aws/aws-sdk-go-v2/service/elasticache v1.47.1 + github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0 github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.30.1 github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.30.1 github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.47.2 diff --git a/go.sum b/go.sum index 83d63321960f..c7862c9bd607 100644 --- a/go.sum +++ b/go.sum @@ -229,8 +229,8 @@ github.com/aws/aws-sdk-go-v2/service/efs v1.38.0 h1:W8v+PwOUTeh3JE53yBW8nAaRkDvM github.com/aws/aws-sdk-go-v2/service/efs v1.38.0/go.mod h1:ijPHatoNwxKTySdgDNoGUZw3toYwvRJKWwS/1dr3M/c= github.com/aws/aws-sdk-go-v2/service/eks v1.68.0 h1:3hgPfytQLttZmM2fFejtC1i/5OM1p3o9BHzCwGjcMpc= github.com/aws/aws-sdk-go-v2/service/eks v1.68.0/go.mod h1:u3CDoNUAkSIGKNiA6LfQtApPmHPGRuAjikx3ObM5XBs= -github.com/aws/aws-sdk-go-v2/service/elasticache v1.47.1 h1:DIP+2UukVi9P4PHLUF2HXpZEtkbDLmqYcWILuU/m0IQ= -github.com/aws/aws-sdk-go-v2/service/elasticache v1.47.1/go.mod h1:8LEhIVZFKc9OfOrug9sIsm9lTSmiS0KT121aXUnoTPo= +github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0 h1:88Xh6SCyuge4BwPrbeJEDjDIUr/bMBZ6G7NrB785xCk= +github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0/go.mod h1:X6aJWShG65SH3DVd4LEyPzMmtJyCSIZvKfcGnYhOF7U= github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.30.1 h1:j4jxdx6ZiG2Xcj9DfjHhX65af8gpUZ4uvEZxJsEuTHk= github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.30.1/go.mod h1:PWa7FRheclz+S0lyhGNw0w4HBoa1fqBzE/a1UXfUqzk= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.30.1 h1:ZZeI9bCwIbqoKu5hll1dmisMJ4ZeBEhdsszV/gOFm1s= From bae375b1d3e5a6d53f5ffba7d0bd947276b3ac4e Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:33 -0400 Subject: [PATCH 0381/1301] go get github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 43f39587cd8e..ea3b9be18030 100644 --- a/go.mod +++ b/go.mod @@ -110,7 +110,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/efs v1.38.0 github.com/aws/aws-sdk-go-v2/service/eks v1.68.0 github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0 - github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.30.1 + github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0 github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.30.1 github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.47.2 github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.34.1 diff --git a/go.sum b/go.sum index c7862c9bd607..778e0cf4821b 100644 --- a/go.sum +++ b/go.sum @@ -231,8 +231,8 @@ github.com/aws/aws-sdk-go-v2/service/eks v1.68.0 h1:3hgPfytQLttZmM2fFejtC1i/5OM1 github.com/aws/aws-sdk-go-v2/service/eks v1.68.0/go.mod h1:u3CDoNUAkSIGKNiA6LfQtApPmHPGRuAjikx3ObM5XBs= github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0 h1:88Xh6SCyuge4BwPrbeJEDjDIUr/bMBZ6G7NrB785xCk= github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0/go.mod h1:X6aJWShG65SH3DVd4LEyPzMmtJyCSIZvKfcGnYhOF7U= -github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.30.1 h1:j4jxdx6ZiG2Xcj9DfjHhX65af8gpUZ4uvEZxJsEuTHk= -github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.30.1/go.mod h1:PWa7FRheclz+S0lyhGNw0w4HBoa1fqBzE/a1UXfUqzk= +github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0 h1:31GWaDmLEVzUW7UEnF7vbuESL8pAbeVsX3nOQbXxZQg= +github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0/go.mod h1:oS1D1rubFhxS1keERM8hva16MsJ0RUa4llwwEGrtEow= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.30.1 h1:ZZeI9bCwIbqoKu5hll1dmisMJ4ZeBEhdsszV/gOFm1s= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.30.1/go.mod h1:fcC73gpU/J/SmRut8/CmwM5oJO3bSpW7wgufVdtWSbg= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.47.2 h1:2/qaKwyF2UrPyQLcPxHqcxuWS/Pu6O/c+FrKKsdiB4Y= From 53646811a5d025e4589b0b854e202056c9fbf902 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:34 -0400 Subject: [PATCH 0382/1301] go get github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ea3b9be18030..9c9677db7b4b 100644 --- a/go.mod +++ b/go.mod @@ -111,7 +111,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/eks v1.68.0 github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0 github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0 - github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.30.1 + github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.31.0 github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.47.2 github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.34.1 github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.29.1 diff --git a/go.sum b/go.sum index 778e0cf4821b..61c4ec0ee0a0 100644 --- a/go.sum +++ b/go.sum @@ -233,8 +233,8 @@ github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0 h1:88Xh6SCyuge4BwPrbeJE github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0/go.mod h1:X6aJWShG65SH3DVd4LEyPzMmtJyCSIZvKfcGnYhOF7U= github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0 h1:31GWaDmLEVzUW7UEnF7vbuESL8pAbeVsX3nOQbXxZQg= github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0/go.mod h1:oS1D1rubFhxS1keERM8hva16MsJ0RUa4llwwEGrtEow= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.30.1 h1:ZZeI9bCwIbqoKu5hll1dmisMJ4ZeBEhdsszV/gOFm1s= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.30.1/go.mod h1:fcC73gpU/J/SmRut8/CmwM5oJO3bSpW7wgufVdtWSbg= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.31.0 h1:zyAlg5a3STXdaVI5ddiBSXKyQj/CSV4+FYAnUA6it0s= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.31.0/go.mod h1:k++MddMr1Lo5BlQf/uvXK7O+FbY8XKKHClnsfVxrzRo= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.47.2 h1:2/qaKwyF2UrPyQLcPxHqcxuWS/Pu6O/c+FrKKsdiB4Y= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.47.2/go.mod h1:91PY/MUWThH0rH61v9r3QA4e7dS/PfXl+K63wltBeas= github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.34.1 h1:kVZzJvXCPx1Tkiqfxxw/a4uZmbquVu5NG4FgYXkiHOg= From 1cd4dd4ac5584464ccdcf7fc10d812ccdbe1e197 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:35 -0400 Subject: [PATCH 0383/1301] go get github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 9c9677db7b4b..3480eb7542d8 100644 --- a/go.mod +++ b/go.mod @@ -112,7 +112,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0 github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0 github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.31.0 - github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.47.2 + github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.48.0 github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.34.1 github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.29.1 github.com/aws/aws-sdk-go-v2/service/emr v1.51.1 diff --git a/go.sum b/go.sum index 61c4ec0ee0a0..925569501b8c 100644 --- a/go.sum +++ b/go.sum @@ -235,8 +235,8 @@ github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0 h1:31GWaDmLEVzUW7U github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0/go.mod h1:oS1D1rubFhxS1keERM8hva16MsJ0RUa4llwwEGrtEow= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.31.0 h1:zyAlg5a3STXdaVI5ddiBSXKyQj/CSV4+FYAnUA6it0s= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.31.0/go.mod h1:k++MddMr1Lo5BlQf/uvXK7O+FbY8XKKHClnsfVxrzRo= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.47.2 h1:2/qaKwyF2UrPyQLcPxHqcxuWS/Pu6O/c+FrKKsdiB4Y= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.47.2/go.mod h1:91PY/MUWThH0rH61v9r3QA4e7dS/PfXl+K63wltBeas= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.48.0 h1:p1fXiEYfAVo7eF8MfPEMYIxNJHgZUhD9weB8s2y8d2o= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.48.0/go.mod h1:20UGYMqfkTlXKS1zCzZxNZa5nTNOwRbmUC4/z3AGRt8= github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.34.1 h1:kVZzJvXCPx1Tkiqfxxw/a4uZmbquVu5NG4FgYXkiHOg= github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.34.1/go.mod h1:yHOWiozIeWy2Twojm1eq+2AV9XSY9NBcGLP81eaxTJs= github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.29.1 h1:qMs7UOiRWN5skmmfmBkT+8ygksVYbPEUNflmlqYhTNM= From fd70dc8f370ad66090e185df5eda1e1a7a8c7bba Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:36 -0400 Subject: [PATCH 0384/1301] go get github.com/aws/aws-sdk-go-v2/service/elasticsearchservice. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 3480eb7542d8..24d50df780f6 100644 --- a/go.mod +++ b/go.mod @@ -113,7 +113,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0 github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.31.0 github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.48.0 - github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.34.1 + github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.35.0 github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.29.1 github.com/aws/aws-sdk-go-v2/service/emr v1.51.1 github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.36.1 diff --git a/go.sum b/go.sum index 925569501b8c..d5314cb7a260 100644 --- a/go.sum +++ b/go.sum @@ -237,8 +237,8 @@ github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.31.0 h1:zyAlg5a3STX github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.31.0/go.mod h1:k++MddMr1Lo5BlQf/uvXK7O+FbY8XKKHClnsfVxrzRo= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.48.0 h1:p1fXiEYfAVo7eF8MfPEMYIxNJHgZUhD9weB8s2y8d2o= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.48.0/go.mod h1:20UGYMqfkTlXKS1zCzZxNZa5nTNOwRbmUC4/z3AGRt8= -github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.34.1 h1:kVZzJvXCPx1Tkiqfxxw/a4uZmbquVu5NG4FgYXkiHOg= -github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.34.1/go.mod h1:yHOWiozIeWy2Twojm1eq+2AV9XSY9NBcGLP81eaxTJs= +github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.35.0 h1:SNH+YetxZwCGYXYnt9bUdLo/uqk0VCKTNnLBpdBv+NE= +github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.35.0/go.mod h1:f4FCx6Swsy0d/uLcNwZj9U/LS6PZoTI4hu9Ukj/pwpE= github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.29.1 h1:qMs7UOiRWN5skmmfmBkT+8ygksVYbPEUNflmlqYhTNM= github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.29.1/go.mod h1:DThfdXM8k1f9rWh0nUVIqBA35+i8m9oNXdn7vbT9Aig= github.com/aws/aws-sdk-go-v2/service/emr v1.51.1 h1:uqDQXEq5AEju5XxbycnFiLdsK1+IbmaOqqqt0D3MaRM= From 8c7b9842efbca92742be7b698ff4567cdc5a6672 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:37 -0400 Subject: [PATCH 0385/1301] go get github.com/aws/aws-sdk-go-v2/service/elastictranscoder. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 24d50df780f6..a7efa1a6a129 100644 --- a/go.mod +++ b/go.mod @@ -114,7 +114,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.31.0 github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.48.0 github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.35.0 - github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.29.1 + github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.30.0 github.com/aws/aws-sdk-go-v2/service/emr v1.51.1 github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.36.1 github.com/aws/aws-sdk-go-v2/service/emrserverless v1.33.1 diff --git a/go.sum b/go.sum index d5314cb7a260..102dcdea46a5 100644 --- a/go.sum +++ b/go.sum @@ -239,8 +239,8 @@ github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.48.0 h1:p1fXiEYfA github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.48.0/go.mod h1:20UGYMqfkTlXKS1zCzZxNZa5nTNOwRbmUC4/z3AGRt8= github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.35.0 h1:SNH+YetxZwCGYXYnt9bUdLo/uqk0VCKTNnLBpdBv+NE= github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.35.0/go.mod h1:f4FCx6Swsy0d/uLcNwZj9U/LS6PZoTI4hu9Ukj/pwpE= -github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.29.1 h1:qMs7UOiRWN5skmmfmBkT+8ygksVYbPEUNflmlqYhTNM= -github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.29.1/go.mod h1:DThfdXM8k1f9rWh0nUVIqBA35+i8m9oNXdn7vbT9Aig= +github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.30.0 h1:FPl40b9dfpGtG2hruC6eGhQAI8Ydma++eQcHL5qSd3U= +github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.30.0/go.mod h1:v10Bb6tl5+8Gw6G4HfdtNbMc6TilkLihp1bikKVwzjo= github.com/aws/aws-sdk-go-v2/service/emr v1.51.1 h1:uqDQXEq5AEju5XxbycnFiLdsK1+IbmaOqqqt0D3MaRM= github.com/aws/aws-sdk-go-v2/service/emr v1.51.1/go.mod h1:dYB/K65iH3LBAsSfE2V9hQMMZCWwZ/eskSnvwB+94Dg= github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.36.1 h1:fatKIhCAmO39bB0XvT0aIsABOtNzirPHkY0O0mibr1I= From 7b3d5796351bb835144716a08736037d7b64ac66 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:38 -0400 Subject: [PATCH 0386/1301] go get github.com/aws/aws-sdk-go-v2/service/emr. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a7efa1a6a129..2aed1f16b63f 100644 --- a/go.mod +++ b/go.mod @@ -115,7 +115,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.48.0 github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.35.0 github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.30.0 - github.com/aws/aws-sdk-go-v2/service/emr v1.51.1 + github.com/aws/aws-sdk-go-v2/service/emr v1.52.0 github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.36.1 github.com/aws/aws-sdk-go-v2/service/emrserverless v1.33.1 github.com/aws/aws-sdk-go-v2/service/eventbridge v1.42.1 diff --git a/go.sum b/go.sum index 102dcdea46a5..590ee7d60904 100644 --- a/go.sum +++ b/go.sum @@ -241,8 +241,8 @@ github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.35.0 h1:SNH+YetxZwC github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.35.0/go.mod h1:f4FCx6Swsy0d/uLcNwZj9U/LS6PZoTI4hu9Ukj/pwpE= github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.30.0 h1:FPl40b9dfpGtG2hruC6eGhQAI8Ydma++eQcHL5qSd3U= github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.30.0/go.mod h1:v10Bb6tl5+8Gw6G4HfdtNbMc6TilkLihp1bikKVwzjo= -github.com/aws/aws-sdk-go-v2/service/emr v1.51.1 h1:uqDQXEq5AEju5XxbycnFiLdsK1+IbmaOqqqt0D3MaRM= -github.com/aws/aws-sdk-go-v2/service/emr v1.51.1/go.mod h1:dYB/K65iH3LBAsSfE2V9hQMMZCWwZ/eskSnvwB+94Dg= +github.com/aws/aws-sdk-go-v2/service/emr v1.52.0 h1:1LcyFr3wJWIWA7TH1GQl3d2cBkg0ZeMAowkLsMMkphU= +github.com/aws/aws-sdk-go-v2/service/emr v1.52.0/go.mod h1:9h1RQVgB3yZ45laVfX257QRx1/jrl3LR6VnaxAQ7HSo= github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.36.1 h1:fatKIhCAmO39bB0XvT0aIsABOtNzirPHkY0O0mibr1I= github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.36.1/go.mod h1:JkeTS9XADAj2PRKxxzXLlp+pyyxAQpbaoIFo7ydRGBM= github.com/aws/aws-sdk-go-v2/service/emrserverless v1.33.1 h1:uFi7sYl7SR4WLG3h+L1rW/HFolCi/L/hWHG9fnj1c+Y= From 27017e41e9fcdfdd91bc629601302778ea1fb942 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:39 -0400 Subject: [PATCH 0387/1301] go get github.com/aws/aws-sdk-go-v2/service/emrcontainers. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 2aed1f16b63f..17f5219ae45a 100644 --- a/go.mod +++ b/go.mod @@ -116,7 +116,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.35.0 github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.30.0 github.com/aws/aws-sdk-go-v2/service/emr v1.52.0 - github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.36.1 + github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.37.0 github.com/aws/aws-sdk-go-v2/service/emrserverless v1.33.1 github.com/aws/aws-sdk-go-v2/service/eventbridge v1.42.1 github.com/aws/aws-sdk-go-v2/service/evidently v1.25.1 diff --git a/go.sum b/go.sum index 590ee7d60904..394d0e2e0993 100644 --- a/go.sum +++ b/go.sum @@ -243,8 +243,8 @@ github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.30.0 h1:FPl40b9dfpGtG2 github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.30.0/go.mod h1:v10Bb6tl5+8Gw6G4HfdtNbMc6TilkLihp1bikKVwzjo= github.com/aws/aws-sdk-go-v2/service/emr v1.52.0 h1:1LcyFr3wJWIWA7TH1GQl3d2cBkg0ZeMAowkLsMMkphU= github.com/aws/aws-sdk-go-v2/service/emr v1.52.0/go.mod h1:9h1RQVgB3yZ45laVfX257QRx1/jrl3LR6VnaxAQ7HSo= -github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.36.1 h1:fatKIhCAmO39bB0XvT0aIsABOtNzirPHkY0O0mibr1I= -github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.36.1/go.mod h1:JkeTS9XADAj2PRKxxzXLlp+pyyxAQpbaoIFo7ydRGBM= +github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.37.0 h1:g36yievH3ecx+76/79+LIal5FqIXT+2J3Ztynayj9d4= +github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.37.0/go.mod h1:7J9Pidm1n/FvnKMcCUzi8eWNDzzqR6w3sbjhXrMXaxk= github.com/aws/aws-sdk-go-v2/service/emrserverless v1.33.1 h1:uFi7sYl7SR4WLG3h+L1rW/HFolCi/L/hWHG9fnj1c+Y= github.com/aws/aws-sdk-go-v2/service/emrserverless v1.33.1/go.mod h1:puDjU4Zu69ZZjkh5L2RyR5T3TVJDeWmQhXV0ZpSfZg0= github.com/aws/aws-sdk-go-v2/service/eventbridge v1.42.1 h1:ME8HTzLgCmHN32s9KChZexwyouSyLPvDn2LJl4r89OE= From 8c60fcd59556d08e1fae9687e5b10841e55a16da Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:40 -0400 Subject: [PATCH 0388/1301] go get github.com/aws/aws-sdk-go-v2/service/emrserverless. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 17f5219ae45a..e55218b3324b 100644 --- a/go.mod +++ b/go.mod @@ -117,7 +117,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.30.0 github.com/aws/aws-sdk-go-v2/service/emr v1.52.0 github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.37.0 - github.com/aws/aws-sdk-go-v2/service/emrserverless v1.33.1 + github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.0 github.com/aws/aws-sdk-go-v2/service/eventbridge v1.42.1 github.com/aws/aws-sdk-go-v2/service/evidently v1.25.1 github.com/aws/aws-sdk-go-v2/service/evs v1.1.1 diff --git a/go.sum b/go.sum index 394d0e2e0993..bdad10ee5690 100644 --- a/go.sum +++ b/go.sum @@ -245,8 +245,8 @@ github.com/aws/aws-sdk-go-v2/service/emr v1.52.0 h1:1LcyFr3wJWIWA7TH1GQl3d2cBkg0 github.com/aws/aws-sdk-go-v2/service/emr v1.52.0/go.mod h1:9h1RQVgB3yZ45laVfX257QRx1/jrl3LR6VnaxAQ7HSo= github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.37.0 h1:g36yievH3ecx+76/79+LIal5FqIXT+2J3Ztynayj9d4= github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.37.0/go.mod h1:7J9Pidm1n/FvnKMcCUzi8eWNDzzqR6w3sbjhXrMXaxk= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.33.1 h1:uFi7sYl7SR4WLG3h+L1rW/HFolCi/L/hWHG9fnj1c+Y= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.33.1/go.mod h1:puDjU4Zu69ZZjkh5L2RyR5T3TVJDeWmQhXV0ZpSfZg0= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.0 h1:L+J6Yudf1p8Mwgril3zP/Q3VN3zWFPagSVAjluk5KTM= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.0/go.mod h1:PHHbsCqpXEU5cGq2PogfV8qTlfobfSmLWeaPjJawwuc= github.com/aws/aws-sdk-go-v2/service/eventbridge v1.42.1 h1:ME8HTzLgCmHN32s9KChZexwyouSyLPvDn2LJl4r89OE= github.com/aws/aws-sdk-go-v2/service/eventbridge v1.42.1/go.mod h1:lJVM+ARsu8r3lf4dR0RLB1G6NToIJQRb0Gu6ykAMGCM= github.com/aws/aws-sdk-go-v2/service/evidently v1.25.1 h1:NhuU+ww2xUvZoMLQ2dLmTcZUt9rbU0avHsdAAgkl6fU= From dcf08debf714cdf547d1709e8a623dc44cc2f061 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:41 -0400 Subject: [PATCH 0389/1301] go get github.com/aws/aws-sdk-go-v2/service/eventbridge. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e55218b3324b..64b35e93a611 100644 --- a/go.mod +++ b/go.mod @@ -118,7 +118,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/emr v1.52.0 github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.37.0 github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.0 - github.com/aws/aws-sdk-go-v2/service/eventbridge v1.42.1 + github.com/aws/aws-sdk-go-v2/service/eventbridge v1.43.0 github.com/aws/aws-sdk-go-v2/service/evidently v1.25.1 github.com/aws/aws-sdk-go-v2/service/evs v1.1.1 github.com/aws/aws-sdk-go-v2/service/finspace v1.30.1 diff --git a/go.sum b/go.sum index bdad10ee5690..7ab857872456 100644 --- a/go.sum +++ b/go.sum @@ -247,8 +247,8 @@ github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.37.0 h1:g36yievH3ecx+76/79 github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.37.0/go.mod h1:7J9Pidm1n/FvnKMcCUzi8eWNDzzqR6w3sbjhXrMXaxk= github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.0 h1:L+J6Yudf1p8Mwgril3zP/Q3VN3zWFPagSVAjluk5KTM= github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.0/go.mod h1:PHHbsCqpXEU5cGq2PogfV8qTlfobfSmLWeaPjJawwuc= -github.com/aws/aws-sdk-go-v2/service/eventbridge v1.42.1 h1:ME8HTzLgCmHN32s9KChZexwyouSyLPvDn2LJl4r89OE= -github.com/aws/aws-sdk-go-v2/service/eventbridge v1.42.1/go.mod h1:lJVM+ARsu8r3lf4dR0RLB1G6NToIJQRb0Gu6ykAMGCM= +github.com/aws/aws-sdk-go-v2/service/eventbridge v1.43.0 h1:ZzdGUjZhtS6eDU+zyzjg5RwBc9UUk3dvRnwlKt1u5No= +github.com/aws/aws-sdk-go-v2/service/eventbridge v1.43.0/go.mod h1:oLGWKN3c58kslfI1Slifgjq0jGFgzFeDquv9WRlWTwo= github.com/aws/aws-sdk-go-v2/service/evidently v1.25.1 h1:NhuU+ww2xUvZoMLQ2dLmTcZUt9rbU0avHsdAAgkl6fU= github.com/aws/aws-sdk-go-v2/service/evidently v1.25.1/go.mod h1:tpNT0uaDvJIpW3ykBc3dQ+nr1SEnf/7RgExF6oD3sG4= github.com/aws/aws-sdk-go-v2/service/evs v1.1.1 h1:/CDLFn0/JzQkRPudFgezHiocIyi466amw3+RcxvfZSY= From 634896883085dec3bd8b00b7ff73999b2e36c74c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:42 -0400 Subject: [PATCH 0390/1301] go get github.com/aws/aws-sdk-go-v2/service/evidently. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 64b35e93a611..68463acdfaa4 100644 --- a/go.mod +++ b/go.mod @@ -119,7 +119,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.37.0 github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.0 github.com/aws/aws-sdk-go-v2/service/eventbridge v1.43.0 - github.com/aws/aws-sdk-go-v2/service/evidently v1.25.1 + github.com/aws/aws-sdk-go-v2/service/evidently v1.26.0 github.com/aws/aws-sdk-go-v2/service/evs v1.1.1 github.com/aws/aws-sdk-go-v2/service/finspace v1.30.1 github.com/aws/aws-sdk-go-v2/service/firehose v1.38.1 diff --git a/go.sum b/go.sum index 7ab857872456..47636c679fb3 100644 --- a/go.sum +++ b/go.sum @@ -249,8 +249,8 @@ github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.0 h1:L+J6Yudf1p8Mwgril3 github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.0/go.mod h1:PHHbsCqpXEU5cGq2PogfV8qTlfobfSmLWeaPjJawwuc= github.com/aws/aws-sdk-go-v2/service/eventbridge v1.43.0 h1:ZzdGUjZhtS6eDU+zyzjg5RwBc9UUk3dvRnwlKt1u5No= github.com/aws/aws-sdk-go-v2/service/eventbridge v1.43.0/go.mod h1:oLGWKN3c58kslfI1Slifgjq0jGFgzFeDquv9WRlWTwo= -github.com/aws/aws-sdk-go-v2/service/evidently v1.25.1 h1:NhuU+ww2xUvZoMLQ2dLmTcZUt9rbU0avHsdAAgkl6fU= -github.com/aws/aws-sdk-go-v2/service/evidently v1.25.1/go.mod h1:tpNT0uaDvJIpW3ykBc3dQ+nr1SEnf/7RgExF6oD3sG4= +github.com/aws/aws-sdk-go-v2/service/evidently v1.26.0 h1:qfbkXGBL5NDZmQZpSW1fNATABgFdwj3mg5Qlcm9nYsE= +github.com/aws/aws-sdk-go-v2/service/evidently v1.26.0/go.mod h1:Mfeuqcqd81nUMjNpSA10fnsEbtxFipfwLYNA91w2xWI= github.com/aws/aws-sdk-go-v2/service/evs v1.1.1 h1:/CDLFn0/JzQkRPudFgezHiocIyi466amw3+RcxvfZSY= github.com/aws/aws-sdk-go-v2/service/evs v1.1.1/go.mod h1:Uz/HiziBhzCTge8mOxy8l2oMiS4Zsqr2uO52hRs7jLI= github.com/aws/aws-sdk-go-v2/service/finspace v1.30.1 h1:V0gqQtpjjOtrt1Lede0xuTIa5DCf5geHAeEnFmeEqdU= From dea14b8393084948a69b99930992d9356efdd68c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:43 -0400 Subject: [PATCH 0391/1301] go get github.com/aws/aws-sdk-go-v2/service/evs. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 68463acdfaa4..ee0128d456c7 100644 --- a/go.mod +++ b/go.mod @@ -120,7 +120,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.0 github.com/aws/aws-sdk-go-v2/service/eventbridge v1.43.0 github.com/aws/aws-sdk-go-v2/service/evidently v1.26.0 - github.com/aws/aws-sdk-go-v2/service/evs v1.1.1 + github.com/aws/aws-sdk-go-v2/service/evs v1.2.0 github.com/aws/aws-sdk-go-v2/service/finspace v1.30.1 github.com/aws/aws-sdk-go-v2/service/firehose v1.38.1 github.com/aws/aws-sdk-go-v2/service/fis v1.34.1 diff --git a/go.sum b/go.sum index 47636c679fb3..ea4f17dc7431 100644 --- a/go.sum +++ b/go.sum @@ -251,8 +251,8 @@ github.com/aws/aws-sdk-go-v2/service/eventbridge v1.43.0 h1:ZzdGUjZhtS6eDU+zyzjg github.com/aws/aws-sdk-go-v2/service/eventbridge v1.43.0/go.mod h1:oLGWKN3c58kslfI1Slifgjq0jGFgzFeDquv9WRlWTwo= github.com/aws/aws-sdk-go-v2/service/evidently v1.26.0 h1:qfbkXGBL5NDZmQZpSW1fNATABgFdwj3mg5Qlcm9nYsE= github.com/aws/aws-sdk-go-v2/service/evidently v1.26.0/go.mod h1:Mfeuqcqd81nUMjNpSA10fnsEbtxFipfwLYNA91w2xWI= -github.com/aws/aws-sdk-go-v2/service/evs v1.1.1 h1:/CDLFn0/JzQkRPudFgezHiocIyi466amw3+RcxvfZSY= -github.com/aws/aws-sdk-go-v2/service/evs v1.1.1/go.mod h1:Uz/HiziBhzCTge8mOxy8l2oMiS4Zsqr2uO52hRs7jLI= +github.com/aws/aws-sdk-go-v2/service/evs v1.2.0 h1:LKz5V6E7Sddts6SmR0alPq8c/YTtJfvfW7JPfaqkIA8= +github.com/aws/aws-sdk-go-v2/service/evs v1.2.0/go.mod h1:vTp3tPWtAH4Q6wPQffJ3k8jQMUMGKOIJq/d1bKPtgTQ= github.com/aws/aws-sdk-go-v2/service/finspace v1.30.1 h1:V0gqQtpjjOtrt1Lede0xuTIa5DCf5geHAeEnFmeEqdU= github.com/aws/aws-sdk-go-v2/service/finspace v1.30.1/go.mod h1:rA1xygzkTSu7WWIhd5QS7QHb6910QBIBe2rN+HTtbqo= github.com/aws/aws-sdk-go-v2/service/firehose v1.38.1 h1:D5mbw/YzZ9ibZT/SZcc+jppu1EC2YPBXC7n60gEYHhw= From 243da243f75da3c8d826f5507dc2960ca37eaae5 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:44 -0400 Subject: [PATCH 0392/1301] go get github.com/aws/aws-sdk-go-v2/service/finspace. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ee0128d456c7..4c809210d11e 100644 --- a/go.mod +++ b/go.mod @@ -121,7 +121,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/eventbridge v1.43.0 github.com/aws/aws-sdk-go-v2/service/evidently v1.26.0 github.com/aws/aws-sdk-go-v2/service/evs v1.2.0 - github.com/aws/aws-sdk-go-v2/service/finspace v1.30.1 + github.com/aws/aws-sdk-go-v2/service/finspace v1.31.0 github.com/aws/aws-sdk-go-v2/service/firehose v1.38.1 github.com/aws/aws-sdk-go-v2/service/fis v1.34.1 github.com/aws/aws-sdk-go-v2/service/fms v1.41.1 diff --git a/go.sum b/go.sum index ea4f17dc7431..093a69e398b9 100644 --- a/go.sum +++ b/go.sum @@ -253,8 +253,8 @@ github.com/aws/aws-sdk-go-v2/service/evidently v1.26.0 h1:qfbkXGBL5NDZmQZpSW1fNA github.com/aws/aws-sdk-go-v2/service/evidently v1.26.0/go.mod h1:Mfeuqcqd81nUMjNpSA10fnsEbtxFipfwLYNA91w2xWI= github.com/aws/aws-sdk-go-v2/service/evs v1.2.0 h1:LKz5V6E7Sddts6SmR0alPq8c/YTtJfvfW7JPfaqkIA8= github.com/aws/aws-sdk-go-v2/service/evs v1.2.0/go.mod h1:vTp3tPWtAH4Q6wPQffJ3k8jQMUMGKOIJq/d1bKPtgTQ= -github.com/aws/aws-sdk-go-v2/service/finspace v1.30.1 h1:V0gqQtpjjOtrt1Lede0xuTIa5DCf5geHAeEnFmeEqdU= -github.com/aws/aws-sdk-go-v2/service/finspace v1.30.1/go.mod h1:rA1xygzkTSu7WWIhd5QS7QHb6910QBIBe2rN+HTtbqo= +github.com/aws/aws-sdk-go-v2/service/finspace v1.31.0 h1:9fNPlSSV2NlEGG6CQssB1/CBE1XRWGTZceyvSORxh+M= +github.com/aws/aws-sdk-go-v2/service/finspace v1.31.0/go.mod h1:LlAKT9SZA/Xpy+4qkzYDZVLRbOtpOcc3xI750r34gxE= github.com/aws/aws-sdk-go-v2/service/firehose v1.38.1 h1:D5mbw/YzZ9ibZT/SZcc+jppu1EC2YPBXC7n60gEYHhw= github.com/aws/aws-sdk-go-v2/service/firehose v1.38.1/go.mod h1:nvVn2pz5jdhGbwcYzJ/o+kbZXRwjblofi3stc2mfKpk= github.com/aws/aws-sdk-go-v2/service/fis v1.34.1 h1:gEd15BudHu1LEW7cE+78CjASMvxrK36z1Z1ayzMwnbQ= From c72bad135c89c44b52f7c42574421d15164277b2 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:45 -0400 Subject: [PATCH 0393/1301] go get github.com/aws/aws-sdk-go-v2/service/firehose. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 4c809210d11e..b14ab85ab573 100644 --- a/go.mod +++ b/go.mod @@ -122,7 +122,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/evidently v1.26.0 github.com/aws/aws-sdk-go-v2/service/evs v1.2.0 github.com/aws/aws-sdk-go-v2/service/finspace v1.31.0 - github.com/aws/aws-sdk-go-v2/service/firehose v1.38.1 + github.com/aws/aws-sdk-go-v2/service/firehose v1.39.0 github.com/aws/aws-sdk-go-v2/service/fis v1.34.1 github.com/aws/aws-sdk-go-v2/service/fms v1.41.1 github.com/aws/aws-sdk-go-v2/service/fsx v1.56.1 diff --git a/go.sum b/go.sum index 093a69e398b9..644b8465a563 100644 --- a/go.sum +++ b/go.sum @@ -255,8 +255,8 @@ github.com/aws/aws-sdk-go-v2/service/evs v1.2.0 h1:LKz5V6E7Sddts6SmR0alPq8c/YTtJ github.com/aws/aws-sdk-go-v2/service/evs v1.2.0/go.mod h1:vTp3tPWtAH4Q6wPQffJ3k8jQMUMGKOIJq/d1bKPtgTQ= github.com/aws/aws-sdk-go-v2/service/finspace v1.31.0 h1:9fNPlSSV2NlEGG6CQssB1/CBE1XRWGTZceyvSORxh+M= github.com/aws/aws-sdk-go-v2/service/finspace v1.31.0/go.mod h1:LlAKT9SZA/Xpy+4qkzYDZVLRbOtpOcc3xI750r34gxE= -github.com/aws/aws-sdk-go-v2/service/firehose v1.38.1 h1:D5mbw/YzZ9ibZT/SZcc+jppu1EC2YPBXC7n60gEYHhw= -github.com/aws/aws-sdk-go-v2/service/firehose v1.38.1/go.mod h1:nvVn2pz5jdhGbwcYzJ/o+kbZXRwjblofi3stc2mfKpk= +github.com/aws/aws-sdk-go-v2/service/firehose v1.39.0 h1:1VPPV8hqaxunlD94jcn08kqXXuzUKiCm2BH7hB+ulHU= +github.com/aws/aws-sdk-go-v2/service/firehose v1.39.0/go.mod h1:VP1ztgkR7+8UA6n+uKY4wmuAegv0f+MRz+1TG/PEmZk= github.com/aws/aws-sdk-go-v2/service/fis v1.34.1 h1:gEd15BudHu1LEW7cE+78CjASMvxrK36z1Z1ayzMwnbQ= github.com/aws/aws-sdk-go-v2/service/fis v1.34.1/go.mod h1:F5SaK324QSusZ4YLbuROwZ2ZUaczsr4uGTNQK0cTjxA= github.com/aws/aws-sdk-go-v2/service/fms v1.41.1 h1:b+ol8ooL9qFSVulRN7gT7LMPbCeSXYhS5irfU3U+gJU= From b90e12700888d0820de5e396d6b332fa4d2261d6 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:46 -0400 Subject: [PATCH 0394/1301] go get github.com/aws/aws-sdk-go-v2/service/fis. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b14ab85ab573..61b7b640f0d9 100644 --- a/go.mod +++ b/go.mod @@ -123,7 +123,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/evs v1.2.0 github.com/aws/aws-sdk-go-v2/service/finspace v1.31.0 github.com/aws/aws-sdk-go-v2/service/firehose v1.39.0 - github.com/aws/aws-sdk-go-v2/service/fis v1.34.1 + github.com/aws/aws-sdk-go-v2/service/fis v1.35.0 github.com/aws/aws-sdk-go-v2/service/fms v1.41.1 github.com/aws/aws-sdk-go-v2/service/fsx v1.56.1 github.com/aws/aws-sdk-go-v2/service/gamelift v1.43.1 diff --git a/go.sum b/go.sum index 644b8465a563..24490e693b7f 100644 --- a/go.sum +++ b/go.sum @@ -257,8 +257,8 @@ github.com/aws/aws-sdk-go-v2/service/finspace v1.31.0 h1:9fNPlSSV2NlEGG6CQssB1/C github.com/aws/aws-sdk-go-v2/service/finspace v1.31.0/go.mod h1:LlAKT9SZA/Xpy+4qkzYDZVLRbOtpOcc3xI750r34gxE= github.com/aws/aws-sdk-go-v2/service/firehose v1.39.0 h1:1VPPV8hqaxunlD94jcn08kqXXuzUKiCm2BH7hB+ulHU= github.com/aws/aws-sdk-go-v2/service/firehose v1.39.0/go.mod h1:VP1ztgkR7+8UA6n+uKY4wmuAegv0f+MRz+1TG/PEmZk= -github.com/aws/aws-sdk-go-v2/service/fis v1.34.1 h1:gEd15BudHu1LEW7cE+78CjASMvxrK36z1Z1ayzMwnbQ= -github.com/aws/aws-sdk-go-v2/service/fis v1.34.1/go.mod h1:F5SaK324QSusZ4YLbuROwZ2ZUaczsr4uGTNQK0cTjxA= +github.com/aws/aws-sdk-go-v2/service/fis v1.35.0 h1:YHC0ZKx9zbavtqH8tft/KoAxGhxzEHMRus9SLS+i+6s= +github.com/aws/aws-sdk-go-v2/service/fis v1.35.0/go.mod h1:54I827xI6fu7SpDWIODZ+hKBC5+64TeqvHb6eeZCK+g= github.com/aws/aws-sdk-go-v2/service/fms v1.41.1 h1:b+ol8ooL9qFSVulRN7gT7LMPbCeSXYhS5irfU3U+gJU= github.com/aws/aws-sdk-go-v2/service/fms v1.41.1/go.mod h1:H7I1xzO0zfGnTGLO5KxdFi3Sv2aHBm/LSEt/ECnMTbE= github.com/aws/aws-sdk-go-v2/service/fsx v1.56.1 h1:CYITpNYHh86TCr2VJbo9x3BCbHepyF5Tah0P/Z12bqg= From 6cef6a3ebad033db8a90bc1e1bd95e70e291ab36 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:47 -0400 Subject: [PATCH 0395/1301] go get github.com/aws/aws-sdk-go-v2/service/fms. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 61b7b640f0d9..ca22143ab0a3 100644 --- a/go.mod +++ b/go.mod @@ -124,7 +124,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/finspace v1.31.0 github.com/aws/aws-sdk-go-v2/service/firehose v1.39.0 github.com/aws/aws-sdk-go-v2/service/fis v1.35.0 - github.com/aws/aws-sdk-go-v2/service/fms v1.41.1 + github.com/aws/aws-sdk-go-v2/service/fms v1.42.0 github.com/aws/aws-sdk-go-v2/service/fsx v1.56.1 github.com/aws/aws-sdk-go-v2/service/gamelift v1.43.1 github.com/aws/aws-sdk-go-v2/service/glacier v1.28.1 diff --git a/go.sum b/go.sum index 24490e693b7f..844d65535bd0 100644 --- a/go.sum +++ b/go.sum @@ -259,8 +259,8 @@ github.com/aws/aws-sdk-go-v2/service/firehose v1.39.0 h1:1VPPV8hqaxunlD94jcn08kq github.com/aws/aws-sdk-go-v2/service/firehose v1.39.0/go.mod h1:VP1ztgkR7+8UA6n+uKY4wmuAegv0f+MRz+1TG/PEmZk= github.com/aws/aws-sdk-go-v2/service/fis v1.35.0 h1:YHC0ZKx9zbavtqH8tft/KoAxGhxzEHMRus9SLS+i+6s= github.com/aws/aws-sdk-go-v2/service/fis v1.35.0/go.mod h1:54I827xI6fu7SpDWIODZ+hKBC5+64TeqvHb6eeZCK+g= -github.com/aws/aws-sdk-go-v2/service/fms v1.41.1 h1:b+ol8ooL9qFSVulRN7gT7LMPbCeSXYhS5irfU3U+gJU= -github.com/aws/aws-sdk-go-v2/service/fms v1.41.1/go.mod h1:H7I1xzO0zfGnTGLO5KxdFi3Sv2aHBm/LSEt/ECnMTbE= +github.com/aws/aws-sdk-go-v2/service/fms v1.42.0 h1:9BGiFztuYik0YMjSp8i2xcJOtg/FIR2tZi+qXdAhwi8= +github.com/aws/aws-sdk-go-v2/service/fms v1.42.0/go.mod h1:Ism46YVzDJXjFuIcUoLZW4a2kA8DM85aslmG3HQrB0k= github.com/aws/aws-sdk-go-v2/service/fsx v1.56.1 h1:CYITpNYHh86TCr2VJbo9x3BCbHepyF5Tah0P/Z12bqg= github.com/aws/aws-sdk-go-v2/service/fsx v1.56.1/go.mod h1:vAxwTvmBYSfkC8qVllyQyL7XCgwQpYuUbGjyL/djBD4= github.com/aws/aws-sdk-go-v2/service/gamelift v1.43.1 h1:DgDl1xmkazdMYxjQgE6dUAZ/IV4DtEjsbiZAt+VgTc8= From bef8e495b7167de373dbd37450023c9a16245e43 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:48 -0400 Subject: [PATCH 0396/1301] go get github.com/aws/aws-sdk-go-v2/service/fsx. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ca22143ab0a3..6386ce1b27e3 100644 --- a/go.mod +++ b/go.mod @@ -125,7 +125,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/firehose v1.39.0 github.com/aws/aws-sdk-go-v2/service/fis v1.35.0 github.com/aws/aws-sdk-go-v2/service/fms v1.42.0 - github.com/aws/aws-sdk-go-v2/service/fsx v1.56.1 + github.com/aws/aws-sdk-go-v2/service/fsx v1.57.0 github.com/aws/aws-sdk-go-v2/service/gamelift v1.43.1 github.com/aws/aws-sdk-go-v2/service/glacier v1.28.1 github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.31.1 diff --git a/go.sum b/go.sum index 844d65535bd0..9fa354011f60 100644 --- a/go.sum +++ b/go.sum @@ -261,8 +261,8 @@ github.com/aws/aws-sdk-go-v2/service/fis v1.35.0 h1:YHC0ZKx9zbavtqH8tft/KoAxGhxz github.com/aws/aws-sdk-go-v2/service/fis v1.35.0/go.mod h1:54I827xI6fu7SpDWIODZ+hKBC5+64TeqvHb6eeZCK+g= github.com/aws/aws-sdk-go-v2/service/fms v1.42.0 h1:9BGiFztuYik0YMjSp8i2xcJOtg/FIR2tZi+qXdAhwi8= github.com/aws/aws-sdk-go-v2/service/fms v1.42.0/go.mod h1:Ism46YVzDJXjFuIcUoLZW4a2kA8DM85aslmG3HQrB0k= -github.com/aws/aws-sdk-go-v2/service/fsx v1.56.1 h1:CYITpNYHh86TCr2VJbo9x3BCbHepyF5Tah0P/Z12bqg= -github.com/aws/aws-sdk-go-v2/service/fsx v1.56.1/go.mod h1:vAxwTvmBYSfkC8qVllyQyL7XCgwQpYuUbGjyL/djBD4= +github.com/aws/aws-sdk-go-v2/service/fsx v1.57.0 h1:vkW/D8CfYTszVLqh6bfMerRVUMkDaTM/AJNb36nyfgs= +github.com/aws/aws-sdk-go-v2/service/fsx v1.57.0/go.mod h1:u1aeKi+yVpcQRVOq1VDqUhdvOaqQm9FJFf1MgJoXfn0= github.com/aws/aws-sdk-go-v2/service/gamelift v1.43.1 h1:DgDl1xmkazdMYxjQgE6dUAZ/IV4DtEjsbiZAt+VgTc8= github.com/aws/aws-sdk-go-v2/service/gamelift v1.43.1/go.mod h1:3ovhs4O2fcf1tFiUC0J7D253BXrI9w3/VVo49EBCI1E= github.com/aws/aws-sdk-go-v2/service/glacier v1.28.1 h1:UDiRjAcoJ9pxHvwaR83mGhdkVhXqYY8tnLLyYbR/X+w= From c3e76069f694f4564f650992a2137e0f1f023dc8 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:49 -0400 Subject: [PATCH 0397/1301] go get github.com/aws/aws-sdk-go-v2/service/gamelift. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 6386ce1b27e3..f91b94cf859d 100644 --- a/go.mod +++ b/go.mod @@ -126,7 +126,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/fis v1.35.0 github.com/aws/aws-sdk-go-v2/service/fms v1.42.0 github.com/aws/aws-sdk-go-v2/service/fsx v1.57.0 - github.com/aws/aws-sdk-go-v2/service/gamelift v1.43.1 + github.com/aws/aws-sdk-go-v2/service/gamelift v1.44.0 github.com/aws/aws-sdk-go-v2/service/glacier v1.28.1 github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.31.1 github.com/aws/aws-sdk-go-v2/service/glue v1.121.0 diff --git a/go.sum b/go.sum index 9fa354011f60..31dc34fc7475 100644 --- a/go.sum +++ b/go.sum @@ -263,8 +263,8 @@ github.com/aws/aws-sdk-go-v2/service/fms v1.42.0 h1:9BGiFztuYik0YMjSp8i2xcJOtg/F github.com/aws/aws-sdk-go-v2/service/fms v1.42.0/go.mod h1:Ism46YVzDJXjFuIcUoLZW4a2kA8DM85aslmG3HQrB0k= github.com/aws/aws-sdk-go-v2/service/fsx v1.57.0 h1:vkW/D8CfYTszVLqh6bfMerRVUMkDaTM/AJNb36nyfgs= github.com/aws/aws-sdk-go-v2/service/fsx v1.57.0/go.mod h1:u1aeKi+yVpcQRVOq1VDqUhdvOaqQm9FJFf1MgJoXfn0= -github.com/aws/aws-sdk-go-v2/service/gamelift v1.43.1 h1:DgDl1xmkazdMYxjQgE6dUAZ/IV4DtEjsbiZAt+VgTc8= -github.com/aws/aws-sdk-go-v2/service/gamelift v1.43.1/go.mod h1:3ovhs4O2fcf1tFiUC0J7D253BXrI9w3/VVo49EBCI1E= +github.com/aws/aws-sdk-go-v2/service/gamelift v1.44.0 h1:j6xThxTofUac0LEr6idGSmXGqZiDIVtQEBdCbqGmqSs= +github.com/aws/aws-sdk-go-v2/service/gamelift v1.44.0/go.mod h1:kHDlGPM/x/CmKP7konxLR99jMhfYCC3bdKUCrpSIUCs= github.com/aws/aws-sdk-go-v2/service/glacier v1.28.1 h1:UDiRjAcoJ9pxHvwaR83mGhdkVhXqYY8tnLLyYbR/X+w= github.com/aws/aws-sdk-go-v2/service/glacier v1.28.1/go.mod h1:JF/OUsjyuN42tFdT6Z7XPMUL0TdgQauFdpAjOlgPzMA= github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.31.1 h1:BlojjkVblgLjPzotny0DsKcfLBb/bC4ODhI9fXu/YpM= From 92c04d583192a73cb6dc6448fab6fa73ffd22fa2 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:50 -0400 Subject: [PATCH 0398/1301] go get github.com/aws/aws-sdk-go-v2/service/glacier. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index f91b94cf859d..16a6b8e73156 100644 --- a/go.mod +++ b/go.mod @@ -127,7 +127,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/fms v1.42.0 github.com/aws/aws-sdk-go-v2/service/fsx v1.57.0 github.com/aws/aws-sdk-go-v2/service/gamelift v1.44.0 - github.com/aws/aws-sdk-go-v2/service/glacier v1.28.1 + github.com/aws/aws-sdk-go-v2/service/glacier v1.29.0 github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.31.1 github.com/aws/aws-sdk-go-v2/service/glue v1.121.0 github.com/aws/aws-sdk-go-v2/service/grafana v1.28.1 diff --git a/go.sum b/go.sum index 31dc34fc7475..5b3581bf967d 100644 --- a/go.sum +++ b/go.sum @@ -265,8 +265,8 @@ github.com/aws/aws-sdk-go-v2/service/fsx v1.57.0 h1:vkW/D8CfYTszVLqh6bfMerRVUMkD github.com/aws/aws-sdk-go-v2/service/fsx v1.57.0/go.mod h1:u1aeKi+yVpcQRVOq1VDqUhdvOaqQm9FJFf1MgJoXfn0= github.com/aws/aws-sdk-go-v2/service/gamelift v1.44.0 h1:j6xThxTofUac0LEr6idGSmXGqZiDIVtQEBdCbqGmqSs= github.com/aws/aws-sdk-go-v2/service/gamelift v1.44.0/go.mod h1:kHDlGPM/x/CmKP7konxLR99jMhfYCC3bdKUCrpSIUCs= -github.com/aws/aws-sdk-go-v2/service/glacier v1.28.1 h1:UDiRjAcoJ9pxHvwaR83mGhdkVhXqYY8tnLLyYbR/X+w= -github.com/aws/aws-sdk-go-v2/service/glacier v1.28.1/go.mod h1:JF/OUsjyuN42tFdT6Z7XPMUL0TdgQauFdpAjOlgPzMA= +github.com/aws/aws-sdk-go-v2/service/glacier v1.29.0 h1:Fbm8Od3/crUN82KmW7GyX7yt06PYJCfL80CrXUtO6qc= +github.com/aws/aws-sdk-go-v2/service/glacier v1.29.0/go.mod h1:YtF4euf0dO4hPHj0qOM5ae8irG/qkCBJLlrf8cIh6X4= github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.31.1 h1:BlojjkVblgLjPzotny0DsKcfLBb/bC4ODhI9fXu/YpM= github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.31.1/go.mod h1:BqZ/xicmt1yJLth0oV8o86GKsEIjF7XLKJA6o6+Tb4g= github.com/aws/aws-sdk-go-v2/service/glue v1.121.0 h1:b+B71JBhFSVOifMMcnilfqPcrskBgDYruY8mQ7Au8Hg= From 91959f9c424332fba7975b0928900c9b1e07c157 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:51 -0400 Subject: [PATCH 0399/1301] go get github.com/aws/aws-sdk-go-v2/service/globalaccelerator. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 16a6b8e73156..027bda0a4da7 100644 --- a/go.mod +++ b/go.mod @@ -128,7 +128,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/fsx v1.57.0 github.com/aws/aws-sdk-go-v2/service/gamelift v1.44.0 github.com/aws/aws-sdk-go-v2/service/glacier v1.29.0 - github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.31.1 + github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.32.0 github.com/aws/aws-sdk-go-v2/service/glue v1.121.0 github.com/aws/aws-sdk-go-v2/service/grafana v1.28.1 github.com/aws/aws-sdk-go-v2/service/greengrass v1.29.2 diff --git a/go.sum b/go.sum index 5b3581bf967d..b991fc490858 100644 --- a/go.sum +++ b/go.sum @@ -267,8 +267,8 @@ github.com/aws/aws-sdk-go-v2/service/gamelift v1.44.0 h1:j6xThxTofUac0LEr6idGSmX github.com/aws/aws-sdk-go-v2/service/gamelift v1.44.0/go.mod h1:kHDlGPM/x/CmKP7konxLR99jMhfYCC3bdKUCrpSIUCs= github.com/aws/aws-sdk-go-v2/service/glacier v1.29.0 h1:Fbm8Od3/crUN82KmW7GyX7yt06PYJCfL80CrXUtO6qc= github.com/aws/aws-sdk-go-v2/service/glacier v1.29.0/go.mod h1:YtF4euf0dO4hPHj0qOM5ae8irG/qkCBJLlrf8cIh6X4= -github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.31.1 h1:BlojjkVblgLjPzotny0DsKcfLBb/bC4ODhI9fXu/YpM= -github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.31.1/go.mod h1:BqZ/xicmt1yJLth0oV8o86GKsEIjF7XLKJA6o6+Tb4g= +github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.32.0 h1:5i6DYz0BE1x2o+2Ig++dmjohzlNjlA7nNA/cNTCU60U= +github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.32.0/go.mod h1:FCpLBbV4XEcc768mvlBb2Ovz66V+DwOjemPlBIWk6/E= github.com/aws/aws-sdk-go-v2/service/glue v1.121.0 h1:b+B71JBhFSVOifMMcnilfqPcrskBgDYruY8mQ7Au8Hg= github.com/aws/aws-sdk-go-v2/service/glue v1.121.0/go.mod h1:GrfuFuhLuhdZy8Tx0W29A6avb0+Xey8DDS0izAj3/gY= github.com/aws/aws-sdk-go-v2/service/grafana v1.28.1 h1:xef5GSQwdnBBEodb67YGYE7CanW5uuQyI/8q+rMs6IE= From b3b336bfd8168a597620e135b8b2cac776c14ece Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:53 -0400 Subject: [PATCH 0400/1301] go get github.com/aws/aws-sdk-go-v2/service/glue. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 027bda0a4da7..44288101989e 100644 --- a/go.mod +++ b/go.mod @@ -129,7 +129,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/gamelift v1.44.0 github.com/aws/aws-sdk-go-v2/service/glacier v1.29.0 github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.32.0 - github.com/aws/aws-sdk-go-v2/service/glue v1.121.0 + github.com/aws/aws-sdk-go-v2/service/glue v1.122.0 github.com/aws/aws-sdk-go-v2/service/grafana v1.28.1 github.com/aws/aws-sdk-go-v2/service/greengrass v1.29.2 github.com/aws/aws-sdk-go-v2/service/groundstation v1.34.1 diff --git a/go.sum b/go.sum index b991fc490858..f33cdf5255b9 100644 --- a/go.sum +++ b/go.sum @@ -269,8 +269,8 @@ github.com/aws/aws-sdk-go-v2/service/glacier v1.29.0 h1:Fbm8Od3/crUN82KmW7GyX7yt github.com/aws/aws-sdk-go-v2/service/glacier v1.29.0/go.mod h1:YtF4euf0dO4hPHj0qOM5ae8irG/qkCBJLlrf8cIh6X4= github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.32.0 h1:5i6DYz0BE1x2o+2Ig++dmjohzlNjlA7nNA/cNTCU60U= github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.32.0/go.mod h1:FCpLBbV4XEcc768mvlBb2Ovz66V+DwOjemPlBIWk6/E= -github.com/aws/aws-sdk-go-v2/service/glue v1.121.0 h1:b+B71JBhFSVOifMMcnilfqPcrskBgDYruY8mQ7Au8Hg= -github.com/aws/aws-sdk-go-v2/service/glue v1.121.0/go.mod h1:GrfuFuhLuhdZy8Tx0W29A6avb0+Xey8DDS0izAj3/gY= +github.com/aws/aws-sdk-go-v2/service/glue v1.122.0 h1:KgFpvwctTUZM8+hpk0iK7Zg+rB1spjOXk063dRHSrNk= +github.com/aws/aws-sdk-go-v2/service/glue v1.122.0/go.mod h1:UnMg9irwCEC9F0qiaOGFwcXatZH+QNxj1hcXe0PPU0U= github.com/aws/aws-sdk-go-v2/service/grafana v1.28.1 h1:xef5GSQwdnBBEodb67YGYE7CanW5uuQyI/8q+rMs6IE= github.com/aws/aws-sdk-go-v2/service/grafana v1.28.1/go.mod h1:wejuc0EF416jLYLVi4yyRZiZLtBwIPHR+L0fUnTlMeU= github.com/aws/aws-sdk-go-v2/service/greengrass v1.29.2 h1:sUwdjTF+gsxgeQ5EDloohEfrridf46LAv4liH11CSiE= From 76ccb6c91959ed8c7ea3acc5a5c7db5f160ad5dc Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:54 -0400 Subject: [PATCH 0401/1301] go get github.com/aws/aws-sdk-go-v2/service/grafana. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 44288101989e..e0cf4d0e0d05 100644 --- a/go.mod +++ b/go.mod @@ -130,7 +130,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/glacier v1.29.0 github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.32.0 github.com/aws/aws-sdk-go-v2/service/glue v1.122.0 - github.com/aws/aws-sdk-go-v2/service/grafana v1.28.1 + github.com/aws/aws-sdk-go-v2/service/grafana v1.29.0 github.com/aws/aws-sdk-go-v2/service/greengrass v1.29.2 github.com/aws/aws-sdk-go-v2/service/groundstation v1.34.1 github.com/aws/aws-sdk-go-v2/service/guardduty v1.58.2 diff --git a/go.sum b/go.sum index f33cdf5255b9..f130343f44c3 100644 --- a/go.sum +++ b/go.sum @@ -271,8 +271,8 @@ github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.32.0 h1:5i6DYz0BE1x2o+ github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.32.0/go.mod h1:FCpLBbV4XEcc768mvlBb2Ovz66V+DwOjemPlBIWk6/E= github.com/aws/aws-sdk-go-v2/service/glue v1.122.0 h1:KgFpvwctTUZM8+hpk0iK7Zg+rB1spjOXk063dRHSrNk= github.com/aws/aws-sdk-go-v2/service/glue v1.122.0/go.mod h1:UnMg9irwCEC9F0qiaOGFwcXatZH+QNxj1hcXe0PPU0U= -github.com/aws/aws-sdk-go-v2/service/grafana v1.28.1 h1:xef5GSQwdnBBEodb67YGYE7CanW5uuQyI/8q+rMs6IE= -github.com/aws/aws-sdk-go-v2/service/grafana v1.28.1/go.mod h1:wejuc0EF416jLYLVi4yyRZiZLtBwIPHR+L0fUnTlMeU= +github.com/aws/aws-sdk-go-v2/service/grafana v1.29.0 h1:RHaROqWEZduMgamzYhxQMJV+yU4c00DNpuFNNrLH4Tw= +github.com/aws/aws-sdk-go-v2/service/grafana v1.29.0/go.mod h1:rQ5s18ZiGCKhfSmAcEloiN7pvVRR1uPxFJv/gXBWMrA= github.com/aws/aws-sdk-go-v2/service/greengrass v1.29.2 h1:sUwdjTF+gsxgeQ5EDloohEfrridf46LAv4liH11CSiE= github.com/aws/aws-sdk-go-v2/service/greengrass v1.29.2/go.mod h1:ctd0N/Z5NBrVk8DRHDnVPDGXLYgEIw1UvG2ia2Tgbvg= github.com/aws/aws-sdk-go-v2/service/groundstation v1.34.1 h1:dMBjI+4ScXf5fIeYI+70DHxC35hknZUYs2/u2ou9BZ0= From b5a9cf46c122219f112f1405670dac0e201dde68 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:55 -0400 Subject: [PATCH 0402/1301] go get github.com/aws/aws-sdk-go-v2/service/greengrass. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e0cf4d0e0d05..4b1e83aab7d4 100644 --- a/go.mod +++ b/go.mod @@ -131,7 +131,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.32.0 github.com/aws/aws-sdk-go-v2/service/glue v1.122.0 github.com/aws/aws-sdk-go-v2/service/grafana v1.29.0 - github.com/aws/aws-sdk-go-v2/service/greengrass v1.29.2 + github.com/aws/aws-sdk-go-v2/service/greengrass v1.30.0 github.com/aws/aws-sdk-go-v2/service/groundstation v1.34.1 github.com/aws/aws-sdk-go-v2/service/guardduty v1.58.2 github.com/aws/aws-sdk-go-v2/service/healthlake v1.31.1 diff --git a/go.sum b/go.sum index f130343f44c3..60e91ec2b810 100644 --- a/go.sum +++ b/go.sum @@ -273,8 +273,8 @@ github.com/aws/aws-sdk-go-v2/service/glue v1.122.0 h1:KgFpvwctTUZM8+hpk0iK7Zg+rB github.com/aws/aws-sdk-go-v2/service/glue v1.122.0/go.mod h1:UnMg9irwCEC9F0qiaOGFwcXatZH+QNxj1hcXe0PPU0U= github.com/aws/aws-sdk-go-v2/service/grafana v1.29.0 h1:RHaROqWEZduMgamzYhxQMJV+yU4c00DNpuFNNrLH4Tw= github.com/aws/aws-sdk-go-v2/service/grafana v1.29.0/go.mod h1:rQ5s18ZiGCKhfSmAcEloiN7pvVRR1uPxFJv/gXBWMrA= -github.com/aws/aws-sdk-go-v2/service/greengrass v1.29.2 h1:sUwdjTF+gsxgeQ5EDloohEfrridf46LAv4liH11CSiE= -github.com/aws/aws-sdk-go-v2/service/greengrass v1.29.2/go.mod h1:ctd0N/Z5NBrVk8DRHDnVPDGXLYgEIw1UvG2ia2Tgbvg= +github.com/aws/aws-sdk-go-v2/service/greengrass v1.30.0 h1:ogCs+AbzCNSCUMcWq94Bi3mHde21qPpR1znwTO1bGeU= +github.com/aws/aws-sdk-go-v2/service/greengrass v1.30.0/go.mod h1:VWGNxq54dTkPMl1WMYI6t1l6fePKtzT5kOJ6KTtULjs= github.com/aws/aws-sdk-go-v2/service/groundstation v1.34.1 h1:dMBjI+4ScXf5fIeYI+70DHxC35hknZUYs2/u2ou9BZ0= github.com/aws/aws-sdk-go-v2/service/groundstation v1.34.1/go.mod h1:co4tdt5zpodqW74jxLUio7V/EGMBNimy/8RJP8KF0vk= github.com/aws/aws-sdk-go-v2/service/guardduty v1.58.2 h1:87eI9lnHusm5MogDxtMDmxMHA9ojX0Ez8QpNVdJ70FY= From f76ad44815cbc796e7288ad06169621021b65cb3 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:57 -0400 Subject: [PATCH 0403/1301] go get github.com/aws/aws-sdk-go-v2/service/groundstation. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 4b1e83aab7d4..1da4763cb9e5 100644 --- a/go.mod +++ b/go.mod @@ -132,7 +132,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/glue v1.122.0 github.com/aws/aws-sdk-go-v2/service/grafana v1.29.0 github.com/aws/aws-sdk-go-v2/service/greengrass v1.30.0 - github.com/aws/aws-sdk-go-v2/service/groundstation v1.34.1 + github.com/aws/aws-sdk-go-v2/service/groundstation v1.35.0 github.com/aws/aws-sdk-go-v2/service/guardduty v1.58.2 github.com/aws/aws-sdk-go-v2/service/healthlake v1.31.1 github.com/aws/aws-sdk-go-v2/service/iam v1.44.1 diff --git a/go.sum b/go.sum index 60e91ec2b810..bfe24725f43b 100644 --- a/go.sum +++ b/go.sum @@ -275,8 +275,8 @@ github.com/aws/aws-sdk-go-v2/service/grafana v1.29.0 h1:RHaROqWEZduMgamzYhxQMJV+ github.com/aws/aws-sdk-go-v2/service/grafana v1.29.0/go.mod h1:rQ5s18ZiGCKhfSmAcEloiN7pvVRR1uPxFJv/gXBWMrA= github.com/aws/aws-sdk-go-v2/service/greengrass v1.30.0 h1:ogCs+AbzCNSCUMcWq94Bi3mHde21qPpR1znwTO1bGeU= github.com/aws/aws-sdk-go-v2/service/greengrass v1.30.0/go.mod h1:VWGNxq54dTkPMl1WMYI6t1l6fePKtzT5kOJ6KTtULjs= -github.com/aws/aws-sdk-go-v2/service/groundstation v1.34.1 h1:dMBjI+4ScXf5fIeYI+70DHxC35hknZUYs2/u2ou9BZ0= -github.com/aws/aws-sdk-go-v2/service/groundstation v1.34.1/go.mod h1:co4tdt5zpodqW74jxLUio7V/EGMBNimy/8RJP8KF0vk= +github.com/aws/aws-sdk-go-v2/service/groundstation v1.35.0 h1:t7EmpuEsT1KryHEC+ZJhN9Hvg3jy8+wuUIOeauoSEyo= +github.com/aws/aws-sdk-go-v2/service/groundstation v1.35.0/go.mod h1:CJDWshApYf/go1kkHtplQ/dxM4tgceOyI/bcbQj5CGA= github.com/aws/aws-sdk-go-v2/service/guardduty v1.58.2 h1:87eI9lnHusm5MogDxtMDmxMHA9ojX0Ez8QpNVdJ70FY= github.com/aws/aws-sdk-go-v2/service/guardduty v1.58.2/go.mod h1:eQ9c3TyaAMTn2/P6vjnPjZ6b3ViTaHsTPOY9gdUBvXo= github.com/aws/aws-sdk-go-v2/service/healthlake v1.31.1 h1:71vwj+vvOeZJ3w9XuW/9tv80byCdifbQ/Qf5Mc5y2zU= From 686dbdee988cb875828b66431bcff68813028901 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:58 -0400 Subject: [PATCH 0404/1301] go get github.com/aws/aws-sdk-go-v2/service/guardduty. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 1da4763cb9e5..180b649ce71b 100644 --- a/go.mod +++ b/go.mod @@ -133,7 +133,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/grafana v1.29.0 github.com/aws/aws-sdk-go-v2/service/greengrass v1.30.0 github.com/aws/aws-sdk-go-v2/service/groundstation v1.35.0 - github.com/aws/aws-sdk-go-v2/service/guardduty v1.58.2 + github.com/aws/aws-sdk-go-v2/service/guardduty v1.59.0 github.com/aws/aws-sdk-go-v2/service/healthlake v1.31.1 github.com/aws/aws-sdk-go-v2/service/iam v1.44.1 github.com/aws/aws-sdk-go-v2/service/identitystore v1.29.1 diff --git a/go.sum b/go.sum index bfe24725f43b..8c09eaa936c1 100644 --- a/go.sum +++ b/go.sum @@ -277,8 +277,8 @@ github.com/aws/aws-sdk-go-v2/service/greengrass v1.30.0 h1:ogCs+AbzCNSCUMcWq94Bi github.com/aws/aws-sdk-go-v2/service/greengrass v1.30.0/go.mod h1:VWGNxq54dTkPMl1WMYI6t1l6fePKtzT5kOJ6KTtULjs= github.com/aws/aws-sdk-go-v2/service/groundstation v1.35.0 h1:t7EmpuEsT1KryHEC+ZJhN9Hvg3jy8+wuUIOeauoSEyo= github.com/aws/aws-sdk-go-v2/service/groundstation v1.35.0/go.mod h1:CJDWshApYf/go1kkHtplQ/dxM4tgceOyI/bcbQj5CGA= -github.com/aws/aws-sdk-go-v2/service/guardduty v1.58.2 h1:87eI9lnHusm5MogDxtMDmxMHA9ojX0Ez8QpNVdJ70FY= -github.com/aws/aws-sdk-go-v2/service/guardduty v1.58.2/go.mod h1:eQ9c3TyaAMTn2/P6vjnPjZ6b3ViTaHsTPOY9gdUBvXo= +github.com/aws/aws-sdk-go-v2/service/guardduty v1.59.0 h1:6TJGUGB44DYl0eLa42cH6rao0MAbxIP2GQBWnTqlB4Y= +github.com/aws/aws-sdk-go-v2/service/guardduty v1.59.0/go.mod h1:/0f7xSNgp1HvUOzvaUFsoVo24P6D/VPW2q4cBudw090= github.com/aws/aws-sdk-go-v2/service/healthlake v1.31.1 h1:71vwj+vvOeZJ3w9XuW/9tv80byCdifbQ/Qf5Mc5y2zU= github.com/aws/aws-sdk-go-v2/service/healthlake v1.31.1/go.mod h1:QrR1Yf1RmLYOxRFL/ctdUAF8ee4LSBHKOa46wV90nQ8= github.com/aws/aws-sdk-go-v2/service/iam v1.44.1 h1:V82Oyj0zU2QFJL+qvvdAqt2YYsRO0QNb9RewnvDWpdo= From e1e8ba3449aeab4ddb2f70228ceccb7075734794 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:05:59 -0400 Subject: [PATCH 0405/1301] go get github.com/aws/aws-sdk-go-v2/service/healthlake. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 180b649ce71b..326097365441 100644 --- a/go.mod +++ b/go.mod @@ -134,7 +134,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/greengrass v1.30.0 github.com/aws/aws-sdk-go-v2/service/groundstation v1.35.0 github.com/aws/aws-sdk-go-v2/service/guardduty v1.59.0 - github.com/aws/aws-sdk-go-v2/service/healthlake v1.31.1 + github.com/aws/aws-sdk-go-v2/service/healthlake v1.32.0 github.com/aws/aws-sdk-go-v2/service/iam v1.44.1 github.com/aws/aws-sdk-go-v2/service/identitystore v1.29.1 github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.43.1 diff --git a/go.sum b/go.sum index 8c09eaa936c1..32615f6864cb 100644 --- a/go.sum +++ b/go.sum @@ -279,8 +279,8 @@ github.com/aws/aws-sdk-go-v2/service/groundstation v1.35.0 h1:t7EmpuEsT1KryHEC+Z github.com/aws/aws-sdk-go-v2/service/groundstation v1.35.0/go.mod h1:CJDWshApYf/go1kkHtplQ/dxM4tgceOyI/bcbQj5CGA= github.com/aws/aws-sdk-go-v2/service/guardduty v1.59.0 h1:6TJGUGB44DYl0eLa42cH6rao0MAbxIP2GQBWnTqlB4Y= github.com/aws/aws-sdk-go-v2/service/guardduty v1.59.0/go.mod h1:/0f7xSNgp1HvUOzvaUFsoVo24P6D/VPW2q4cBudw090= -github.com/aws/aws-sdk-go-v2/service/healthlake v1.31.1 h1:71vwj+vvOeZJ3w9XuW/9tv80byCdifbQ/Qf5Mc5y2zU= -github.com/aws/aws-sdk-go-v2/service/healthlake v1.31.1/go.mod h1:QrR1Yf1RmLYOxRFL/ctdUAF8ee4LSBHKOa46wV90nQ8= +github.com/aws/aws-sdk-go-v2/service/healthlake v1.32.0 h1:g9VEqxrBxNlrdt73yLrOJhe+AWQgu/ECRLO0FB9p4B8= +github.com/aws/aws-sdk-go-v2/service/healthlake v1.32.0/go.mod h1:/Zlk6NkxmzWRJfz86zgMK5SOGOX7HxfhfUmm5rcUvRI= github.com/aws/aws-sdk-go-v2/service/iam v1.44.1 h1:V82Oyj0zU2QFJL+qvvdAqt2YYsRO0QNb9RewnvDWpdo= github.com/aws/aws-sdk-go-v2/service/iam v1.44.1/go.mod h1:aZ7pMz0bZfPi485gVCIinav3M61EbkGENEMlcMMWuhI= github.com/aws/aws-sdk-go-v2/service/identitystore v1.29.1 h1:6EYdc0UwxUCGZRj+iGDU9z47XgUAt1Y/Ol+dALGynp0= From e552d3884fdcb0f8073b7ce61e42987b779c7a49 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:00 -0400 Subject: [PATCH 0406/1301] go get github.com/aws/aws-sdk-go-v2/service/iam. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 326097365441..6790e63ab1c3 100644 --- a/go.mod +++ b/go.mod @@ -135,7 +135,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/groundstation v1.35.0 github.com/aws/aws-sdk-go-v2/service/guardduty v1.59.0 github.com/aws/aws-sdk-go-v2/service/healthlake v1.32.0 - github.com/aws/aws-sdk-go-v2/service/iam v1.44.1 + github.com/aws/aws-sdk-go-v2/service/iam v1.45.0 github.com/aws/aws-sdk-go-v2/service/identitystore v1.29.1 github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.43.1 github.com/aws/aws-sdk-go-v2/service/inspector v1.27.1 diff --git a/go.sum b/go.sum index 32615f6864cb..36ab8c1c5a51 100644 --- a/go.sum +++ b/go.sum @@ -281,8 +281,8 @@ github.com/aws/aws-sdk-go-v2/service/guardduty v1.59.0 h1:6TJGUGB44DYl0eLa42cH6r github.com/aws/aws-sdk-go-v2/service/guardduty v1.59.0/go.mod h1:/0f7xSNgp1HvUOzvaUFsoVo24P6D/VPW2q4cBudw090= github.com/aws/aws-sdk-go-v2/service/healthlake v1.32.0 h1:g9VEqxrBxNlrdt73yLrOJhe+AWQgu/ECRLO0FB9p4B8= github.com/aws/aws-sdk-go-v2/service/healthlake v1.32.0/go.mod h1:/Zlk6NkxmzWRJfz86zgMK5SOGOX7HxfhfUmm5rcUvRI= -github.com/aws/aws-sdk-go-v2/service/iam v1.44.1 h1:V82Oyj0zU2QFJL+qvvdAqt2YYsRO0QNb9RewnvDWpdo= -github.com/aws/aws-sdk-go-v2/service/iam v1.44.1/go.mod h1:aZ7pMz0bZfPi485gVCIinav3M61EbkGENEMlcMMWuhI= +github.com/aws/aws-sdk-go-v2/service/iam v1.45.0 h1:H4iGrdJQREYDugHeFeknCZSIQKi2j9xqCFuK0VG1ldI= +github.com/aws/aws-sdk-go-v2/service/iam v1.45.0/go.mod h1:RLNjsuRZyUKWwC1Tj51dEpEKi3IgrxIvEbYdvD14WjU= github.com/aws/aws-sdk-go-v2/service/identitystore v1.29.1 h1:6EYdc0UwxUCGZRj+iGDU9z47XgUAt1Y/Ol+dALGynp0= github.com/aws/aws-sdk-go-v2/service/identitystore v1.29.1/go.mod h1:S0hd0msvckDEAMvVPpAv3A5ND3slDD/6V3K9an6sn7o= github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.43.1 h1:PmJzM5B+coktfBZWoSqfehsm0x97bg0bEworfDe9rB4= From 26bd93bd20182a8ec87af47eabae425828068556 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:01 -0400 Subject: [PATCH 0407/1301] go get github.com/aws/aws-sdk-go-v2/service/identitystore. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 6790e63ab1c3..6d2a21ddf580 100644 --- a/go.mod +++ b/go.mod @@ -136,7 +136,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/guardduty v1.59.0 github.com/aws/aws-sdk-go-v2/service/healthlake v1.32.0 github.com/aws/aws-sdk-go-v2/service/iam v1.45.0 - github.com/aws/aws-sdk-go-v2/service/identitystore v1.29.1 + github.com/aws/aws-sdk-go-v2/service/identitystore v1.30.0 github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.43.1 github.com/aws/aws-sdk-go-v2/service/inspector v1.27.1 github.com/aws/aws-sdk-go-v2/service/inspector2 v1.40.0 diff --git a/go.sum b/go.sum index 36ab8c1c5a51..58e62711504c 100644 --- a/go.sum +++ b/go.sum @@ -283,8 +283,8 @@ github.com/aws/aws-sdk-go-v2/service/healthlake v1.32.0 h1:g9VEqxrBxNlrdt73yLrOJ github.com/aws/aws-sdk-go-v2/service/healthlake v1.32.0/go.mod h1:/Zlk6NkxmzWRJfz86zgMK5SOGOX7HxfhfUmm5rcUvRI= github.com/aws/aws-sdk-go-v2/service/iam v1.45.0 h1:H4iGrdJQREYDugHeFeknCZSIQKi2j9xqCFuK0VG1ldI= github.com/aws/aws-sdk-go-v2/service/iam v1.45.0/go.mod h1:RLNjsuRZyUKWwC1Tj51dEpEKi3IgrxIvEbYdvD14WjU= -github.com/aws/aws-sdk-go-v2/service/identitystore v1.29.1 h1:6EYdc0UwxUCGZRj+iGDU9z47XgUAt1Y/Ol+dALGynp0= -github.com/aws/aws-sdk-go-v2/service/identitystore v1.29.1/go.mod h1:S0hd0msvckDEAMvVPpAv3A5ND3slDD/6V3K9an6sn7o= +github.com/aws/aws-sdk-go-v2/service/identitystore v1.30.0 h1:/hjYtl0PyFG3X4AU4npfYHQa7JKHz1X5y4Qg7Br+a4I= +github.com/aws/aws-sdk-go-v2/service/identitystore v1.30.0/go.mod h1:qL3gyU/WyGQo1DscmhMiL8/oThY+PqEhKusqyONF5jU= github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.43.1 h1:PmJzM5B+coktfBZWoSqfehsm0x97bg0bEworfDe9rB4= github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.43.1/go.mod h1:XQjpa5wcTMPwzOW+ur3sj3NRKhwkeyP4ofPuW6OG42A= github.com/aws/aws-sdk-go-v2/service/inspector v1.27.1 h1:QG8CsTmAhAPFmpowqocbfVfRDkh5WkoNtzv4vW1BiJk= From b323b2dc6fecc683cb2102105485f630086f1249 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:02 -0400 Subject: [PATCH 0408/1301] go get github.com/aws/aws-sdk-go-v2/service/imagebuilder. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 6d2a21ddf580..7dac2fc446ae 100644 --- a/go.mod +++ b/go.mod @@ -137,7 +137,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/healthlake v1.32.0 github.com/aws/aws-sdk-go-v2/service/iam v1.45.0 github.com/aws/aws-sdk-go-v2/service/identitystore v1.30.0 - github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.43.1 + github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.44.0 github.com/aws/aws-sdk-go-v2/service/inspector v1.27.1 github.com/aws/aws-sdk-go-v2/service/inspector2 v1.40.0 github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.22.1 diff --git a/go.sum b/go.sum index 58e62711504c..f0266bc0a7ca 100644 --- a/go.sum +++ b/go.sum @@ -285,8 +285,8 @@ github.com/aws/aws-sdk-go-v2/service/iam v1.45.0 h1:H4iGrdJQREYDugHeFeknCZSIQKi2 github.com/aws/aws-sdk-go-v2/service/iam v1.45.0/go.mod h1:RLNjsuRZyUKWwC1Tj51dEpEKi3IgrxIvEbYdvD14WjU= github.com/aws/aws-sdk-go-v2/service/identitystore v1.30.0 h1:/hjYtl0PyFG3X4AU4npfYHQa7JKHz1X5y4Qg7Br+a4I= github.com/aws/aws-sdk-go-v2/service/identitystore v1.30.0/go.mod h1:qL3gyU/WyGQo1DscmhMiL8/oThY+PqEhKusqyONF5jU= -github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.43.1 h1:PmJzM5B+coktfBZWoSqfehsm0x97bg0bEworfDe9rB4= -github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.43.1/go.mod h1:XQjpa5wcTMPwzOW+ur3sj3NRKhwkeyP4ofPuW6OG42A= +github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.44.0 h1:muZl56NGdKq46mKqOBQ8S4+tgBS8YvU9UQgbhw+4LVk= +github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.44.0/go.mod h1:Q9XC36P6xNG1612gw7M8vx4MglZuxt/EuFBnKkdKbgQ= github.com/aws/aws-sdk-go-v2/service/inspector v1.27.1 h1:QG8CsTmAhAPFmpowqocbfVfRDkh5WkoNtzv4vW1BiJk= github.com/aws/aws-sdk-go-v2/service/inspector v1.27.1/go.mod h1:3LVGyTD16Yf0GQ4jl39tnMRYO/nE8VS5rZGsJyAKm4A= github.com/aws/aws-sdk-go-v2/service/inspector2 v1.40.0 h1:u57xVdqtt4O5UkA02bf0BCmENrZCz/VVi3fPSw6MZAE= From da9b607f4b870d666653011feade881aedfa0c7d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:03 -0400 Subject: [PATCH 0409/1301] go get github.com/aws/aws-sdk-go-v2/service/inspector. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7dac2fc446ae..a884e2f2b405 100644 --- a/go.mod +++ b/go.mod @@ -138,7 +138,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/iam v1.45.0 github.com/aws/aws-sdk-go-v2/service/identitystore v1.30.0 github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.44.0 - github.com/aws/aws-sdk-go-v2/service/inspector v1.27.1 + github.com/aws/aws-sdk-go-v2/service/inspector v1.28.0 github.com/aws/aws-sdk-go-v2/service/inspector2 v1.40.0 github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.22.1 github.com/aws/aws-sdk-go-v2/service/invoicing v1.3.1 diff --git a/go.sum b/go.sum index f0266bc0a7ca..d24b2643df18 100644 --- a/go.sum +++ b/go.sum @@ -287,8 +287,8 @@ github.com/aws/aws-sdk-go-v2/service/identitystore v1.30.0 h1:/hjYtl0PyFG3X4AU4n github.com/aws/aws-sdk-go-v2/service/identitystore v1.30.0/go.mod h1:qL3gyU/WyGQo1DscmhMiL8/oThY+PqEhKusqyONF5jU= github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.44.0 h1:muZl56NGdKq46mKqOBQ8S4+tgBS8YvU9UQgbhw+4LVk= github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.44.0/go.mod h1:Q9XC36P6xNG1612gw7M8vx4MglZuxt/EuFBnKkdKbgQ= -github.com/aws/aws-sdk-go-v2/service/inspector v1.27.1 h1:QG8CsTmAhAPFmpowqocbfVfRDkh5WkoNtzv4vW1BiJk= -github.com/aws/aws-sdk-go-v2/service/inspector v1.27.1/go.mod h1:3LVGyTD16Yf0GQ4jl39tnMRYO/nE8VS5rZGsJyAKm4A= +github.com/aws/aws-sdk-go-v2/service/inspector v1.28.0 h1:dwa4S72d+eotYy1MIncpvQZjQpb4aQsIdJkw6UNStDk= +github.com/aws/aws-sdk-go-v2/service/inspector v1.28.0/go.mod h1:C1sKaCeju2VcZ6NFiu0K6mXnAgROjnaqDhuLON2jmO0= github.com/aws/aws-sdk-go-v2/service/inspector2 v1.40.0 h1:u57xVdqtt4O5UkA02bf0BCmENrZCz/VVi3fPSw6MZAE= github.com/aws/aws-sdk-go-v2/service/inspector2 v1.40.0/go.mod h1:Go5fLgTjY0qKiAVTvcS+nlYH0pHa5IAETQPsoYM/3WY= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 h1:6+lZi2JeGKtCraAj1rpoZfKqnQ9SptseRZioejfUOLM= From 7c7d57175a71d7a8675cca8770e4109fc4c539e4 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:04 -0400 Subject: [PATCH 0410/1301] go get github.com/aws/aws-sdk-go-v2/service/inspector2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a884e2f2b405..b138412181a2 100644 --- a/go.mod +++ b/go.mod @@ -139,7 +139,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/identitystore v1.30.0 github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.44.0 github.com/aws/aws-sdk-go-v2/service/inspector v1.28.0 - github.com/aws/aws-sdk-go-v2/service/inspector2 v1.40.0 + github.com/aws/aws-sdk-go-v2/service/inspector2 v1.41.0 github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.22.1 github.com/aws/aws-sdk-go-v2/service/invoicing v1.3.1 github.com/aws/aws-sdk-go-v2/service/iot v1.66.1 diff --git a/go.sum b/go.sum index d24b2643df18..b778265db89e 100644 --- a/go.sum +++ b/go.sum @@ -289,8 +289,8 @@ github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.44.0 h1:muZl56NGdKq46mKqOBQ github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.44.0/go.mod h1:Q9XC36P6xNG1612gw7M8vx4MglZuxt/EuFBnKkdKbgQ= github.com/aws/aws-sdk-go-v2/service/inspector v1.28.0 h1:dwa4S72d+eotYy1MIncpvQZjQpb4aQsIdJkw6UNStDk= github.com/aws/aws-sdk-go-v2/service/inspector v1.28.0/go.mod h1:C1sKaCeju2VcZ6NFiu0K6mXnAgROjnaqDhuLON2jmO0= -github.com/aws/aws-sdk-go-v2/service/inspector2 v1.40.0 h1:u57xVdqtt4O5UkA02bf0BCmENrZCz/VVi3fPSw6MZAE= -github.com/aws/aws-sdk-go-v2/service/inspector2 v1.40.0/go.mod h1:Go5fLgTjY0qKiAVTvcS+nlYH0pHa5IAETQPsoYM/3WY= +github.com/aws/aws-sdk-go-v2/service/inspector2 v1.41.0 h1:09DXpa+CSYABpTNkqH/PdMRODOE0NNBojp4p5Wu93zU= +github.com/aws/aws-sdk-go-v2/service/inspector2 v1.41.0/go.mod h1:ClLIVjq4ypDXNZ/n8edCQyd2f/lVn2xZpsHgWGjtCUA= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 h1:6+lZi2JeGKtCraAj1rpoZfKqnQ9SptseRZioejfUOLM= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0/go.mod h1:eb3gfbVIxIoGgJsi9pGne19dhCBpK6opTYpQqAmdy44= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.2 h1:blV3dY6WbxIVOFggfYIo2E1Q2lZoy5imS7nKgu5m6Tc= From 8df85041bf665b3a1fb7ded4bc1806e8c8626464 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:06 -0400 Subject: [PATCH 0411/1301] go get github.com/aws/aws-sdk-go-v2/service/internetmonitor. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b138412181a2..dd07e54e4959 100644 --- a/go.mod +++ b/go.mod @@ -140,7 +140,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.44.0 github.com/aws/aws-sdk-go-v2/service/inspector v1.28.0 github.com/aws/aws-sdk-go-v2/service/inspector2 v1.41.0 - github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.22.1 + github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.23.0 github.com/aws/aws-sdk-go-v2/service/invoicing v1.3.1 github.com/aws/aws-sdk-go-v2/service/iot v1.66.1 github.com/aws/aws-sdk-go-v2/service/ivs v1.44.1 diff --git a/go.sum b/go.sum index b778265db89e..e18f8b5b5e21 100644 --- a/go.sum +++ b/go.sum @@ -301,8 +301,8 @@ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2 h1:oxmDEO14N github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2/go.mod h1:4hH+8QCrk1uRWDPsVfsNDUup3taAjO8Dnx63au7smAU= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.2 h1:0hBNFAPwecERLzkhhBY+lQKUMpXSKVv4Sxovikrioms= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.2/go.mod h1:Vcnh4KyR4imrrjGN7A2kP2v9y6EPudqoPKXtnmBliPU= -github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.22.1 h1:3jvrdU0UOGm8mQ7eMrbsbKErYn13xM2rJVe9t7QFfE8= -github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.22.1/go.mod h1:loi2iyY5Vs3EC7FI5Yp8TWUGZQC8flvpisZK4HQdNBs= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.23.0 h1:/44qK3M/wwUHIh6fw8Z/pm362EqpfD+fZAGYfhWi0sM= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.23.0/go.mod h1:p3ntR2Ri7KsPgyP3KwxAULDZS2uvcyflGlCG7P12GPM= github.com/aws/aws-sdk-go-v2/service/invoicing v1.3.1 h1:ZqHny6zHB8yb3NT0Wz9vSIy5Zub1qcqrEAF1d6K3zuE= github.com/aws/aws-sdk-go-v2/service/invoicing v1.3.1/go.mod h1:K4gG6tXdTb/nIFfe1R5jyW1JRsFORvFiRMDJkGNc9dA= github.com/aws/aws-sdk-go-v2/service/iot v1.66.1 h1:swiMxQAfOYKErad14viM37FlgUwHDXTHMbaT1OgG6v0= From e4f7db4b3b715eec1e8ebafec5b0e624c5a34b13 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:07 -0400 Subject: [PATCH 0412/1301] go get github.com/aws/aws-sdk-go-v2/service/invoicing. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index dd07e54e4959..519946841f17 100644 --- a/go.mod +++ b/go.mod @@ -141,7 +141,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/inspector v1.28.0 github.com/aws/aws-sdk-go-v2/service/inspector2 v1.41.0 github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.23.0 - github.com/aws/aws-sdk-go-v2/service/invoicing v1.3.1 + github.com/aws/aws-sdk-go-v2/service/invoicing v1.4.0 github.com/aws/aws-sdk-go-v2/service/iot v1.66.1 github.com/aws/aws-sdk-go-v2/service/ivs v1.44.1 github.com/aws/aws-sdk-go-v2/service/ivschat v1.18.1 diff --git a/go.sum b/go.sum index e18f8b5b5e21..7dcee3bd2efb 100644 --- a/go.sum +++ b/go.sum @@ -303,8 +303,8 @@ github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.2 h1:0hBNFAPwecERLz github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.2/go.mod h1:Vcnh4KyR4imrrjGN7A2kP2v9y6EPudqoPKXtnmBliPU= github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.23.0 h1:/44qK3M/wwUHIh6fw8Z/pm362EqpfD+fZAGYfhWi0sM= github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.23.0/go.mod h1:p3ntR2Ri7KsPgyP3KwxAULDZS2uvcyflGlCG7P12GPM= -github.com/aws/aws-sdk-go-v2/service/invoicing v1.3.1 h1:ZqHny6zHB8yb3NT0Wz9vSIy5Zub1qcqrEAF1d6K3zuE= -github.com/aws/aws-sdk-go-v2/service/invoicing v1.3.1/go.mod h1:K4gG6tXdTb/nIFfe1R5jyW1JRsFORvFiRMDJkGNc9dA= +github.com/aws/aws-sdk-go-v2/service/invoicing v1.4.0 h1:UqKNZKv1RZoZgtUEqitmGQ0dne6YlX7tGjh+te3V6p0= +github.com/aws/aws-sdk-go-v2/service/invoicing v1.4.0/go.mod h1:ETBlZYI8+Z9TZrkgUaNwsPlszeWXKAKsMx3rf+o0uS8= github.com/aws/aws-sdk-go-v2/service/iot v1.66.1 h1:swiMxQAfOYKErad14viM37FlgUwHDXTHMbaT1OgG6v0= github.com/aws/aws-sdk-go-v2/service/iot v1.66.1/go.mod h1:0ogtONfjFzm7daWG4XWQhmpHkC0P0nTjoO7n4JKzb0U= github.com/aws/aws-sdk-go-v2/service/ivs v1.44.1 h1:k8SgaBMH/3e3oRv5XyMS6qJAvKtc5/3xTjCSMlkaeFI= From 8e0aa4afc466c19ac1b5226ecc39b490c221ac17 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:08 -0400 Subject: [PATCH 0413/1301] go get github.com/aws/aws-sdk-go-v2/service/iot. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 519946841f17..0a3e947b0a7f 100644 --- a/go.mod +++ b/go.mod @@ -142,7 +142,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/inspector2 v1.41.0 github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.23.0 github.com/aws/aws-sdk-go-v2/service/invoicing v1.4.0 - github.com/aws/aws-sdk-go-v2/service/iot v1.66.1 + github.com/aws/aws-sdk-go-v2/service/iot v1.67.0 github.com/aws/aws-sdk-go-v2/service/ivs v1.44.1 github.com/aws/aws-sdk-go-v2/service/ivschat v1.18.1 github.com/aws/aws-sdk-go-v2/service/kafka v1.40.1 diff --git a/go.sum b/go.sum index 7dcee3bd2efb..cd72169132a5 100644 --- a/go.sum +++ b/go.sum @@ -305,8 +305,8 @@ github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.23.0 h1:/44qK3M/wwUHIh6f github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.23.0/go.mod h1:p3ntR2Ri7KsPgyP3KwxAULDZS2uvcyflGlCG7P12GPM= github.com/aws/aws-sdk-go-v2/service/invoicing v1.4.0 h1:UqKNZKv1RZoZgtUEqitmGQ0dne6YlX7tGjh+te3V6p0= github.com/aws/aws-sdk-go-v2/service/invoicing v1.4.0/go.mod h1:ETBlZYI8+Z9TZrkgUaNwsPlszeWXKAKsMx3rf+o0uS8= -github.com/aws/aws-sdk-go-v2/service/iot v1.66.1 h1:swiMxQAfOYKErad14viM37FlgUwHDXTHMbaT1OgG6v0= -github.com/aws/aws-sdk-go-v2/service/iot v1.66.1/go.mod h1:0ogtONfjFzm7daWG4XWQhmpHkC0P0nTjoO7n4JKzb0U= +github.com/aws/aws-sdk-go-v2/service/iot v1.67.0 h1:0L3aLkPF/jPeNj72Ngq3IEUajjG/4NHImu3Cgp2ZxhI= +github.com/aws/aws-sdk-go-v2/service/iot v1.67.0/go.mod h1:BZC1OnoCZY2CrgV+eaIEA+4M9i7DSugWwEFiUavIZMI= github.com/aws/aws-sdk-go-v2/service/ivs v1.44.1 h1:k8SgaBMH/3e3oRv5XyMS6qJAvKtc5/3xTjCSMlkaeFI= github.com/aws/aws-sdk-go-v2/service/ivs v1.44.1/go.mod h1:Oobt8m2Ut1xg78QLmsw13wnSknC9PnFOmvgFcN3OobA= github.com/aws/aws-sdk-go-v2/service/ivschat v1.18.1 h1:KeOqEh9bzMzaRbjzil41SOu7UVcHmyPZ415wDhvpRVI= From e8da9a4b0fd5c7b363d96e67cc3133614b388465 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:09 -0400 Subject: [PATCH 0414/1301] go get github.com/aws/aws-sdk-go-v2/service/ivs. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 0a3e947b0a7f..33b773b55477 100644 --- a/go.mod +++ b/go.mod @@ -143,7 +143,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.23.0 github.com/aws/aws-sdk-go-v2/service/invoicing v1.4.0 github.com/aws/aws-sdk-go-v2/service/iot v1.67.0 - github.com/aws/aws-sdk-go-v2/service/ivs v1.44.1 + github.com/aws/aws-sdk-go-v2/service/ivs v1.45.0 github.com/aws/aws-sdk-go-v2/service/ivschat v1.18.1 github.com/aws/aws-sdk-go-v2/service/kafka v1.40.1 github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.24.2 diff --git a/go.sum b/go.sum index cd72169132a5..ec68d840ccef 100644 --- a/go.sum +++ b/go.sum @@ -307,8 +307,8 @@ github.com/aws/aws-sdk-go-v2/service/invoicing v1.4.0 h1:UqKNZKv1RZoZgtUEqitmGQ0 github.com/aws/aws-sdk-go-v2/service/invoicing v1.4.0/go.mod h1:ETBlZYI8+Z9TZrkgUaNwsPlszeWXKAKsMx3rf+o0uS8= github.com/aws/aws-sdk-go-v2/service/iot v1.67.0 h1:0L3aLkPF/jPeNj72Ngq3IEUajjG/4NHImu3Cgp2ZxhI= github.com/aws/aws-sdk-go-v2/service/iot v1.67.0/go.mod h1:BZC1OnoCZY2CrgV+eaIEA+4M9i7DSugWwEFiUavIZMI= -github.com/aws/aws-sdk-go-v2/service/ivs v1.44.1 h1:k8SgaBMH/3e3oRv5XyMS6qJAvKtc5/3xTjCSMlkaeFI= -github.com/aws/aws-sdk-go-v2/service/ivs v1.44.1/go.mod h1:Oobt8m2Ut1xg78QLmsw13wnSknC9PnFOmvgFcN3OobA= +github.com/aws/aws-sdk-go-v2/service/ivs v1.45.0 h1:tbr4jDMvdK5cyF++EOKsBWzsHfNOOhWdRje/pt8yEck= +github.com/aws/aws-sdk-go-v2/service/ivs v1.45.0/go.mod h1:gVMCa/YIGkrmmXyQKFNMlJkhW+PKv7+divKAAgORJcg= github.com/aws/aws-sdk-go-v2/service/ivschat v1.18.1 h1:KeOqEh9bzMzaRbjzil41SOu7UVcHmyPZ415wDhvpRVI= github.com/aws/aws-sdk-go-v2/service/ivschat v1.18.1/go.mod h1:MHSEX+9G3NOzzTPs/sP88KgGBc1MyJm5eleKu6+4IqQ= github.com/aws/aws-sdk-go-v2/service/kafka v1.40.1 h1:RpJi/JcawCLe/3Gc7XLr6wJVeaLmfIUcG0VFdqJNVpQ= From 1146d52df446ba948021dbcb056de1f17c8da7a6 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:10 -0400 Subject: [PATCH 0415/1301] go get github.com/aws/aws-sdk-go-v2/service/ivschat. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 33b773b55477..0e2a3c15109b 100644 --- a/go.mod +++ b/go.mod @@ -144,7 +144,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/invoicing v1.4.0 github.com/aws/aws-sdk-go-v2/service/iot v1.67.0 github.com/aws/aws-sdk-go-v2/service/ivs v1.45.0 - github.com/aws/aws-sdk-go-v2/service/ivschat v1.18.1 + github.com/aws/aws-sdk-go-v2/service/ivschat v1.19.0 github.com/aws/aws-sdk-go-v2/service/kafka v1.40.1 github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.24.2 github.com/aws/aws-sdk-go-v2/service/kendra v1.57.1 diff --git a/go.sum b/go.sum index ec68d840ccef..0d4f0367802e 100644 --- a/go.sum +++ b/go.sum @@ -309,8 +309,8 @@ github.com/aws/aws-sdk-go-v2/service/iot v1.67.0 h1:0L3aLkPF/jPeNj72Ngq3IEUajjG/ github.com/aws/aws-sdk-go-v2/service/iot v1.67.0/go.mod h1:BZC1OnoCZY2CrgV+eaIEA+4M9i7DSugWwEFiUavIZMI= github.com/aws/aws-sdk-go-v2/service/ivs v1.45.0 h1:tbr4jDMvdK5cyF++EOKsBWzsHfNOOhWdRje/pt8yEck= github.com/aws/aws-sdk-go-v2/service/ivs v1.45.0/go.mod h1:gVMCa/YIGkrmmXyQKFNMlJkhW+PKv7+divKAAgORJcg= -github.com/aws/aws-sdk-go-v2/service/ivschat v1.18.1 h1:KeOqEh9bzMzaRbjzil41SOu7UVcHmyPZ415wDhvpRVI= -github.com/aws/aws-sdk-go-v2/service/ivschat v1.18.1/go.mod h1:MHSEX+9G3NOzzTPs/sP88KgGBc1MyJm5eleKu6+4IqQ= +github.com/aws/aws-sdk-go-v2/service/ivschat v1.19.0 h1:SMsudfw7qNlaCzbU1j7K62MVLYkGHiRob0lSDEw5H8U= +github.com/aws/aws-sdk-go-v2/service/ivschat v1.19.0/go.mod h1:LwHzV162D41DHQuctLDHDl5+yME86LaxCyOt/e7dLUc= github.com/aws/aws-sdk-go-v2/service/kafka v1.40.1 h1:RpJi/JcawCLe/3Gc7XLr6wJVeaLmfIUcG0VFdqJNVpQ= github.com/aws/aws-sdk-go-v2/service/kafka v1.40.1/go.mod h1:wHKXRek0tTlaXyzoS24hGiZHD0Nv2sHdv8qV0JwWbvs= github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.24.2 h1:YbmQuJfiHhvtz+KkoVTEX5EJP+b0iLTqtBd0eXL3N8o= From 5867fe8041437f7734095b2eee625088e33b1ba7 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:11 -0400 Subject: [PATCH 0416/1301] go get github.com/aws/aws-sdk-go-v2/service/kafka. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 0e2a3c15109b..5003b8135f2b 100644 --- a/go.mod +++ b/go.mod @@ -145,7 +145,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/iot v1.67.0 github.com/aws/aws-sdk-go-v2/service/ivs v1.45.0 github.com/aws/aws-sdk-go-v2/service/ivschat v1.19.0 - github.com/aws/aws-sdk-go-v2/service/kafka v1.40.1 + github.com/aws/aws-sdk-go-v2/service/kafka v1.41.0 github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.24.2 github.com/aws/aws-sdk-go-v2/service/kendra v1.57.1 github.com/aws/aws-sdk-go-v2/service/keyspaces v1.20.1 diff --git a/go.sum b/go.sum index 0d4f0367802e..9cc019564771 100644 --- a/go.sum +++ b/go.sum @@ -311,8 +311,8 @@ github.com/aws/aws-sdk-go-v2/service/ivs v1.45.0 h1:tbr4jDMvdK5cyF++EOKsBWzsHfNO github.com/aws/aws-sdk-go-v2/service/ivs v1.45.0/go.mod h1:gVMCa/YIGkrmmXyQKFNMlJkhW+PKv7+divKAAgORJcg= github.com/aws/aws-sdk-go-v2/service/ivschat v1.19.0 h1:SMsudfw7qNlaCzbU1j7K62MVLYkGHiRob0lSDEw5H8U= github.com/aws/aws-sdk-go-v2/service/ivschat v1.19.0/go.mod h1:LwHzV162D41DHQuctLDHDl5+yME86LaxCyOt/e7dLUc= -github.com/aws/aws-sdk-go-v2/service/kafka v1.40.1 h1:RpJi/JcawCLe/3Gc7XLr6wJVeaLmfIUcG0VFdqJNVpQ= -github.com/aws/aws-sdk-go-v2/service/kafka v1.40.1/go.mod h1:wHKXRek0tTlaXyzoS24hGiZHD0Nv2sHdv8qV0JwWbvs= +github.com/aws/aws-sdk-go-v2/service/kafka v1.41.0 h1:Qvi3PzV7Rs8rZ98XghcC+UcrwOU4wiqOlyrtUdRzO8M= +github.com/aws/aws-sdk-go-v2/service/kafka v1.41.0/go.mod h1:8lU0PKySh1exBCLxYH7jj9vhsKdekf8OEgDh8WfoX2o= github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.24.2 h1:YbmQuJfiHhvtz+KkoVTEX5EJP+b0iLTqtBd0eXL3N8o= github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.24.2/go.mod h1:rCCQe2X/+/7Lco7w5rDuepJF4PeTEjMpSJ0jpwOBSp4= github.com/aws/aws-sdk-go-v2/service/kendra v1.57.1 h1:hJ6rwXUwlPbo+KtQFC+8DPRLLDAm9nLKwK89g1zeBq8= From 0a481144f31eafbf0970d046178c07ac645f56c8 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:12 -0400 Subject: [PATCH 0417/1301] go get github.com/aws/aws-sdk-go-v2/service/kafkaconnect. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5003b8135f2b..9672cc079591 100644 --- a/go.mod +++ b/go.mod @@ -146,7 +146,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ivs v1.45.0 github.com/aws/aws-sdk-go-v2/service/ivschat v1.19.0 github.com/aws/aws-sdk-go-v2/service/kafka v1.41.0 - github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.24.2 + github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.25.0 github.com/aws/aws-sdk-go-v2/service/kendra v1.57.1 github.com/aws/aws-sdk-go-v2/service/keyspaces v1.20.1 github.com/aws/aws-sdk-go-v2/service/kinesis v1.36.1 diff --git a/go.sum b/go.sum index 9cc019564771..91701630b8bf 100644 --- a/go.sum +++ b/go.sum @@ -313,8 +313,8 @@ github.com/aws/aws-sdk-go-v2/service/ivschat v1.19.0 h1:SMsudfw7qNlaCzbU1j7K62MV github.com/aws/aws-sdk-go-v2/service/ivschat v1.19.0/go.mod h1:LwHzV162D41DHQuctLDHDl5+yME86LaxCyOt/e7dLUc= github.com/aws/aws-sdk-go-v2/service/kafka v1.41.0 h1:Qvi3PzV7Rs8rZ98XghcC+UcrwOU4wiqOlyrtUdRzO8M= github.com/aws/aws-sdk-go-v2/service/kafka v1.41.0/go.mod h1:8lU0PKySh1exBCLxYH7jj9vhsKdekf8OEgDh8WfoX2o= -github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.24.2 h1:YbmQuJfiHhvtz+KkoVTEX5EJP+b0iLTqtBd0eXL3N8o= -github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.24.2/go.mod h1:rCCQe2X/+/7Lco7w5rDuepJF4PeTEjMpSJ0jpwOBSp4= +github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.25.0 h1:8r0YE7x3VNiq1Jp0iywp/NhhsLEZOK/BKmPaOe0wOgQ= +github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.25.0/go.mod h1:HymqyW16ZuSQ+QeJwj//SMXR6stp/nebPEK3B+gMDHg= github.com/aws/aws-sdk-go-v2/service/kendra v1.57.1 h1:hJ6rwXUwlPbo+KtQFC+8DPRLLDAm9nLKwK89g1zeBq8= github.com/aws/aws-sdk-go-v2/service/kendra v1.57.1/go.mod h1:SnU/DUXKZxP2o/WIKJZVa0aRsb4sSN9W2C2mI8hdvIA= github.com/aws/aws-sdk-go-v2/service/keyspaces v1.20.1 h1:2Jhdp2Tt5zK+fYYtGvZSIUBJKTTOwR/dYFCbvwHTF4s= From 55b35d73d93c12b1808a8cff62a2c7c16dc9b3a3 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:13 -0400 Subject: [PATCH 0418/1301] go get github.com/aws/aws-sdk-go-v2/service/kendra. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 9672cc079591..201fa07c421c 100644 --- a/go.mod +++ b/go.mod @@ -147,7 +147,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ivschat v1.19.0 github.com/aws/aws-sdk-go-v2/service/kafka v1.41.0 github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.25.0 - github.com/aws/aws-sdk-go-v2/service/kendra v1.57.1 + github.com/aws/aws-sdk-go-v2/service/kendra v1.58.0 github.com/aws/aws-sdk-go-v2/service/keyspaces v1.20.1 github.com/aws/aws-sdk-go-v2/service/kinesis v1.36.1 github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.27.1 diff --git a/go.sum b/go.sum index 91701630b8bf..faeecad5caa2 100644 --- a/go.sum +++ b/go.sum @@ -315,8 +315,8 @@ github.com/aws/aws-sdk-go-v2/service/kafka v1.41.0 h1:Qvi3PzV7Rs8rZ98XghcC+UcrwO github.com/aws/aws-sdk-go-v2/service/kafka v1.41.0/go.mod h1:8lU0PKySh1exBCLxYH7jj9vhsKdekf8OEgDh8WfoX2o= github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.25.0 h1:8r0YE7x3VNiq1Jp0iywp/NhhsLEZOK/BKmPaOe0wOgQ= github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.25.0/go.mod h1:HymqyW16ZuSQ+QeJwj//SMXR6stp/nebPEK3B+gMDHg= -github.com/aws/aws-sdk-go-v2/service/kendra v1.57.1 h1:hJ6rwXUwlPbo+KtQFC+8DPRLLDAm9nLKwK89g1zeBq8= -github.com/aws/aws-sdk-go-v2/service/kendra v1.57.1/go.mod h1:SnU/DUXKZxP2o/WIKJZVa0aRsb4sSN9W2C2mI8hdvIA= +github.com/aws/aws-sdk-go-v2/service/kendra v1.58.0 h1:LODkytjlgmORWiXBgIa10NhaCYDqnN42a8Jx++E4RCs= +github.com/aws/aws-sdk-go-v2/service/kendra v1.58.0/go.mod h1:paLQu0/ibDpSNSVWXCXOVE9MsqVfjd7fQwU1q9aiPVk= github.com/aws/aws-sdk-go-v2/service/keyspaces v1.20.1 h1:2Jhdp2Tt5zK+fYYtGvZSIUBJKTTOwR/dYFCbvwHTF4s= github.com/aws/aws-sdk-go-v2/service/keyspaces v1.20.1/go.mod h1:r8yQore6pt2Qd5xYUha+USf7u0iRsRHJh/4gDB7jg/o= github.com/aws/aws-sdk-go-v2/service/kinesis v1.36.1 h1:rs+doEUMM7TYDQCm8hse37Nc8RtaOUR3L9yn72cYGEU= From a437087c1a0b1187cab7bf620f72383dfec7c8b2 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:14 -0400 Subject: [PATCH 0419/1301] go get github.com/aws/aws-sdk-go-v2/service/keyspaces. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 201fa07c421c..444a8827084a 100644 --- a/go.mod +++ b/go.mod @@ -148,7 +148,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/kafka v1.41.0 github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.25.0 github.com/aws/aws-sdk-go-v2/service/kendra v1.58.0 - github.com/aws/aws-sdk-go-v2/service/keyspaces v1.20.1 + github.com/aws/aws-sdk-go-v2/service/keyspaces v1.21.0 github.com/aws/aws-sdk-go-v2/service/kinesis v1.36.1 github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.27.1 github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.33.1 diff --git a/go.sum b/go.sum index faeecad5caa2..7896af6232dc 100644 --- a/go.sum +++ b/go.sum @@ -317,8 +317,8 @@ github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.25.0 h1:8r0YE7x3VNiq1Jp0iyw github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.25.0/go.mod h1:HymqyW16ZuSQ+QeJwj//SMXR6stp/nebPEK3B+gMDHg= github.com/aws/aws-sdk-go-v2/service/kendra v1.58.0 h1:LODkytjlgmORWiXBgIa10NhaCYDqnN42a8Jx++E4RCs= github.com/aws/aws-sdk-go-v2/service/kendra v1.58.0/go.mod h1:paLQu0/ibDpSNSVWXCXOVE9MsqVfjd7fQwU1q9aiPVk= -github.com/aws/aws-sdk-go-v2/service/keyspaces v1.20.1 h1:2Jhdp2Tt5zK+fYYtGvZSIUBJKTTOwR/dYFCbvwHTF4s= -github.com/aws/aws-sdk-go-v2/service/keyspaces v1.20.1/go.mod h1:r8yQore6pt2Qd5xYUha+USf7u0iRsRHJh/4gDB7jg/o= +github.com/aws/aws-sdk-go-v2/service/keyspaces v1.21.0 h1:PTWPRc0gTpz0394LRIANHEQMnQzzX18jVTOWUDSyP0Q= +github.com/aws/aws-sdk-go-v2/service/keyspaces v1.21.0/go.mod h1:byOVm/xWXux+M1sFM4UlnGiAe3ExDdNmQ+NbbBGYe3c= github.com/aws/aws-sdk-go-v2/service/kinesis v1.36.1 h1:rs+doEUMM7TYDQCm8hse37Nc8RtaOUR3L9yn72cYGEU= github.com/aws/aws-sdk-go-v2/service/kinesis v1.36.1/go.mod h1:4b3rDh9I9qfJ7otpn9F/QPplu8P70X3QYujWfsabPrU= github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.27.1 h1:HJ/Yqyc+z6yPznLf7HTB2tnnCuV40KJEjwPBKPdIoLo= From 0c9743648c70f793ca0817701636eec4a0e98704 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:15 -0400 Subject: [PATCH 0420/1301] go get github.com/aws/aws-sdk-go-v2/service/kinesis. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 444a8827084a..a02b98b6b430 100644 --- a/go.mod +++ b/go.mod @@ -149,7 +149,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.25.0 github.com/aws/aws-sdk-go-v2/service/kendra v1.58.0 github.com/aws/aws-sdk-go-v2/service/keyspaces v1.21.0 - github.com/aws/aws-sdk-go-v2/service/kinesis v1.36.1 + github.com/aws/aws-sdk-go-v2/service/kinesis v1.37.0 github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.27.1 github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.33.1 github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.29.2 diff --git a/go.sum b/go.sum index 7896af6232dc..5d538519af15 100644 --- a/go.sum +++ b/go.sum @@ -319,8 +319,8 @@ github.com/aws/aws-sdk-go-v2/service/kendra v1.58.0 h1:LODkytjlgmORWiXBgIa10NhaC github.com/aws/aws-sdk-go-v2/service/kendra v1.58.0/go.mod h1:paLQu0/ibDpSNSVWXCXOVE9MsqVfjd7fQwU1q9aiPVk= github.com/aws/aws-sdk-go-v2/service/keyspaces v1.21.0 h1:PTWPRc0gTpz0394LRIANHEQMnQzzX18jVTOWUDSyP0Q= github.com/aws/aws-sdk-go-v2/service/keyspaces v1.21.0/go.mod h1:byOVm/xWXux+M1sFM4UlnGiAe3ExDdNmQ+NbbBGYe3c= -github.com/aws/aws-sdk-go-v2/service/kinesis v1.36.1 h1:rs+doEUMM7TYDQCm8hse37Nc8RtaOUR3L9yn72cYGEU= -github.com/aws/aws-sdk-go-v2/service/kinesis v1.36.1/go.mod h1:4b3rDh9I9qfJ7otpn9F/QPplu8P70X3QYujWfsabPrU= +github.com/aws/aws-sdk-go-v2/service/kinesis v1.37.0 h1:EcSM2x6s3zTIgauRgrgf5f7Q9/+LP/fdepNlBTUv1UA= +github.com/aws/aws-sdk-go-v2/service/kinesis v1.37.0/go.mod h1:ESOdPjy8Bu1IG/ipcWcGbvEkEH0DlP8Mp4MldKQ8JPI= github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.27.1 h1:HJ/Yqyc+z6yPznLf7HTB2tnnCuV40KJEjwPBKPdIoLo= github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.27.1/go.mod h1:lF63nbQGTaLvFxfl25+flfgcLy+TVUT5ACG8NQkdXbg= github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.33.1 h1:IUTnaFqzwDoCbbT9dChPffQUwwwNplP9ZMwdVD/zzmM= From 7eb482635935cbc9c3948b86ea61d0d8b418c270 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:16 -0400 Subject: [PATCH 0421/1301] go get github.com/aws/aws-sdk-go-v2/service/kinesisanalytics. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a02b98b6b430..7ec97e7b55b2 100644 --- a/go.mod +++ b/go.mod @@ -150,7 +150,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/kendra v1.58.0 github.com/aws/aws-sdk-go-v2/service/keyspaces v1.21.0 github.com/aws/aws-sdk-go-v2/service/kinesis v1.37.0 - github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.27.1 + github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.28.0 github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.33.1 github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.29.2 github.com/aws/aws-sdk-go-v2/service/kms v1.42.1 diff --git a/go.sum b/go.sum index 5d538519af15..da70dcfa3819 100644 --- a/go.sum +++ b/go.sum @@ -321,8 +321,8 @@ github.com/aws/aws-sdk-go-v2/service/keyspaces v1.21.0 h1:PTWPRc0gTpz0394LRIANHE github.com/aws/aws-sdk-go-v2/service/keyspaces v1.21.0/go.mod h1:byOVm/xWXux+M1sFM4UlnGiAe3ExDdNmQ+NbbBGYe3c= github.com/aws/aws-sdk-go-v2/service/kinesis v1.37.0 h1:EcSM2x6s3zTIgauRgrgf5f7Q9/+LP/fdepNlBTUv1UA= github.com/aws/aws-sdk-go-v2/service/kinesis v1.37.0/go.mod h1:ESOdPjy8Bu1IG/ipcWcGbvEkEH0DlP8Mp4MldKQ8JPI= -github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.27.1 h1:HJ/Yqyc+z6yPznLf7HTB2tnnCuV40KJEjwPBKPdIoLo= -github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.27.1/go.mod h1:lF63nbQGTaLvFxfl25+flfgcLy+TVUT5ACG8NQkdXbg= +github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.28.0 h1:lVTz3x7HJBenVv4K+HlMzPFL9IZLa7bMH9qlqryiUXE= +github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.28.0/go.mod h1:KR9sZNn5H2ql1SSrLjouaqoOz1vPq2c6aX//TCcSriI= github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.33.1 h1:IUTnaFqzwDoCbbT9dChPffQUwwwNplP9ZMwdVD/zzmM= github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.33.1/go.mod h1:t8Gl3+K/J7GWoyTEkBF+ehVUIGP67o3OUiKnssQINBA= github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.29.2 h1:XTlh+wgWERa11uPdUVUq/AdEZTBfY+H/i0v3OZp932M= From 705e83426170264d31fb99f473084e30549a2b87 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:18 -0400 Subject: [PATCH 0422/1301] go get github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7ec97e7b55b2..ef026d6fa222 100644 --- a/go.mod +++ b/go.mod @@ -151,7 +151,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/keyspaces v1.21.0 github.com/aws/aws-sdk-go-v2/service/kinesis v1.37.0 github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.28.0 - github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.33.1 + github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.34.0 github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.29.2 github.com/aws/aws-sdk-go-v2/service/kms v1.42.1 github.com/aws/aws-sdk-go-v2/service/lakeformation v1.42.1 diff --git a/go.sum b/go.sum index da70dcfa3819..0d826a97ac37 100644 --- a/go.sum +++ b/go.sum @@ -323,8 +323,8 @@ github.com/aws/aws-sdk-go-v2/service/kinesis v1.37.0 h1:EcSM2x6s3zTIgauRgrgf5f7Q github.com/aws/aws-sdk-go-v2/service/kinesis v1.37.0/go.mod h1:ESOdPjy8Bu1IG/ipcWcGbvEkEH0DlP8Mp4MldKQ8JPI= github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.28.0 h1:lVTz3x7HJBenVv4K+HlMzPFL9IZLa7bMH9qlqryiUXE= github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.28.0/go.mod h1:KR9sZNn5H2ql1SSrLjouaqoOz1vPq2c6aX//TCcSriI= -github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.33.1 h1:IUTnaFqzwDoCbbT9dChPffQUwwwNplP9ZMwdVD/zzmM= -github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.33.1/go.mod h1:t8Gl3+K/J7GWoyTEkBF+ehVUIGP67o3OUiKnssQINBA= +github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.34.0 h1:BtQ7j7Y//2/recBi925s0LFAKlWpl5BG4C3uaZ322cI= +github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.34.0/go.mod h1:0AaL8NjpCLrYqdUr/kCI8u3rRMKQEshCIlM6SUrOYOE= github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.29.2 h1:XTlh+wgWERa11uPdUVUq/AdEZTBfY+H/i0v3OZp932M= github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.29.2/go.mod h1:FrPChe9AimOwPREPAMrmE9ZPJQY7PLxFaeg7QXHxKD8= github.com/aws/aws-sdk-go-v2/service/kms v1.42.1 h1:YozphKGMWbikYX1H8Cjmh+QUboGA1c/D48m1pBosDmM= From c1a3f22c85308f695ebbaa9949ab2af4536d6e0f Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:19 -0400 Subject: [PATCH 0423/1301] go get github.com/aws/aws-sdk-go-v2/service/kinesisvideo. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ef026d6fa222..f8d28ca9d928 100644 --- a/go.mod +++ b/go.mod @@ -152,7 +152,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/kinesis v1.37.0 github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.28.0 github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.34.0 - github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.29.2 + github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0 github.com/aws/aws-sdk-go-v2/service/kms v1.42.1 github.com/aws/aws-sdk-go-v2/service/lakeformation v1.42.1 github.com/aws/aws-sdk-go-v2/service/lambda v1.74.1 diff --git a/go.sum b/go.sum index 0d826a97ac37..4c31f8d5e5bd 100644 --- a/go.sum +++ b/go.sum @@ -325,8 +325,8 @@ github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.28.0 h1:lVTz3x7HJBenVv4 github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.28.0/go.mod h1:KR9sZNn5H2ql1SSrLjouaqoOz1vPq2c6aX//TCcSriI= github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.34.0 h1:BtQ7j7Y//2/recBi925s0LFAKlWpl5BG4C3uaZ322cI= github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.34.0/go.mod h1:0AaL8NjpCLrYqdUr/kCI8u3rRMKQEshCIlM6SUrOYOE= -github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.29.2 h1:XTlh+wgWERa11uPdUVUq/AdEZTBfY+H/i0v3OZp932M= -github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.29.2/go.mod h1:FrPChe9AimOwPREPAMrmE9ZPJQY7PLxFaeg7QXHxKD8= +github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0 h1:tv3RAtA6Sy920l3QRvhjnve0hrBG3tDrpOyjVD6fz9s= +github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0/go.mod h1:RogDtUwHccKseh8E8wGF7THiQFb+IIS170v/d4zBfJ8= github.com/aws/aws-sdk-go-v2/service/kms v1.42.1 h1:YozphKGMWbikYX1H8Cjmh+QUboGA1c/D48m1pBosDmM= github.com/aws/aws-sdk-go-v2/service/kms v1.42.1/go.mod h1:I/6K08h6XpKZPzb1jMZb1k5N6HpzLyjS4Z0uBFzvaDc= github.com/aws/aws-sdk-go-v2/service/lakeformation v1.42.1 h1:4CyftMR6RY8OcqPXevgS1DOwiSwYwgTcLK2cdUcVZCo= From 6bc29e85dadd2da09df761817527a1a526d73415 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:20 -0400 Subject: [PATCH 0424/1301] go get github.com/aws/aws-sdk-go-v2/service/kms. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index f8d28ca9d928..a95043b3d1e8 100644 --- a/go.mod +++ b/go.mod @@ -153,7 +153,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.28.0 github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.34.0 github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0 - github.com/aws/aws-sdk-go-v2/service/kms v1.42.1 + github.com/aws/aws-sdk-go-v2/service/kms v1.43.0 github.com/aws/aws-sdk-go-v2/service/lakeformation v1.42.1 github.com/aws/aws-sdk-go-v2/service/lambda v1.74.1 github.com/aws/aws-sdk-go-v2/service/launchwizard v1.10.1 diff --git a/go.sum b/go.sum index 4c31f8d5e5bd..8e2b93be1323 100644 --- a/go.sum +++ b/go.sum @@ -327,8 +327,8 @@ github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.34.0 h1:BtQ7j7Y//2/re github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.34.0/go.mod h1:0AaL8NjpCLrYqdUr/kCI8u3rRMKQEshCIlM6SUrOYOE= github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0 h1:tv3RAtA6Sy920l3QRvhjnve0hrBG3tDrpOyjVD6fz9s= github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0/go.mod h1:RogDtUwHccKseh8E8wGF7THiQFb+IIS170v/d4zBfJ8= -github.com/aws/aws-sdk-go-v2/service/kms v1.42.1 h1:YozphKGMWbikYX1H8Cjmh+QUboGA1c/D48m1pBosDmM= -github.com/aws/aws-sdk-go-v2/service/kms v1.42.1/go.mod h1:I/6K08h6XpKZPzb1jMZb1k5N6HpzLyjS4Z0uBFzvaDc= +github.com/aws/aws-sdk-go-v2/service/kms v1.43.0 h1:mdbWU38ipmDapPcsD6F7ObjjxMLrWUK0jI2NcC7zAcI= +github.com/aws/aws-sdk-go-v2/service/kms v1.43.0/go.mod h1:6FWXdzVbnG8ExnBQLHGIo/ilb1K7Ek1u6dcllumBe1s= github.com/aws/aws-sdk-go-v2/service/lakeformation v1.42.1 h1:4CyftMR6RY8OcqPXevgS1DOwiSwYwgTcLK2cdUcVZCo= github.com/aws/aws-sdk-go-v2/service/lakeformation v1.42.1/go.mod h1:K9YPr/AqAVkWctfBvUQA0cx1rWVhmLK40TuVpSP5f2Y= github.com/aws/aws-sdk-go-v2/service/lambda v1.74.1 h1:UOf0eSkWmna/6lR+tOwJYJaTSJsA/WFYm86nE2VPklY= From e9fa892f257aee9fc10b3e5abe5702c7c978e084 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:21 -0400 Subject: [PATCH 0425/1301] go get github.com/aws/aws-sdk-go-v2/service/lakeformation. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a95043b3d1e8..3dee1a0850ec 100644 --- a/go.mod +++ b/go.mod @@ -154,7 +154,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.34.0 github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0 github.com/aws/aws-sdk-go-v2/service/kms v1.43.0 - github.com/aws/aws-sdk-go-v2/service/lakeformation v1.42.1 + github.com/aws/aws-sdk-go-v2/service/lakeformation v1.43.0 github.com/aws/aws-sdk-go-v2/service/lambda v1.74.1 github.com/aws/aws-sdk-go-v2/service/launchwizard v1.10.1 github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.30.1 diff --git a/go.sum b/go.sum index 8e2b93be1323..4f2e5428b24c 100644 --- a/go.sum +++ b/go.sum @@ -329,8 +329,8 @@ github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0 h1:tv3RAtA6Sy920l3QRvh github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0/go.mod h1:RogDtUwHccKseh8E8wGF7THiQFb+IIS170v/d4zBfJ8= github.com/aws/aws-sdk-go-v2/service/kms v1.43.0 h1:mdbWU38ipmDapPcsD6F7ObjjxMLrWUK0jI2NcC7zAcI= github.com/aws/aws-sdk-go-v2/service/kms v1.43.0/go.mod h1:6FWXdzVbnG8ExnBQLHGIo/ilb1K7Ek1u6dcllumBe1s= -github.com/aws/aws-sdk-go-v2/service/lakeformation v1.42.1 h1:4CyftMR6RY8OcqPXevgS1DOwiSwYwgTcLK2cdUcVZCo= -github.com/aws/aws-sdk-go-v2/service/lakeformation v1.42.1/go.mod h1:K9YPr/AqAVkWctfBvUQA0cx1rWVhmLK40TuVpSP5f2Y= +github.com/aws/aws-sdk-go-v2/service/lakeformation v1.43.0 h1:4ZTxobrzObRa8hMvD5UNYlJ+kbUSdgYTLX4qshn48jI= +github.com/aws/aws-sdk-go-v2/service/lakeformation v1.43.0/go.mod h1:9ecAY8txZxHPO7IhrQCI0rpj4Dw+vbLOv1Rinr46OgU= github.com/aws/aws-sdk-go-v2/service/lambda v1.74.1 h1:UOf0eSkWmna/6lR+tOwJYJaTSJsA/WFYm86nE2VPklY= github.com/aws/aws-sdk-go-v2/service/lambda v1.74.1/go.mod h1:6wi1Ji6Z2WhSfVVrFj40GbWCX+cjaCEaTuCXnAVFytM= github.com/aws/aws-sdk-go-v2/service/launchwizard v1.10.1 h1:UHzprFuR4wfo8uRS3L8v+dgKeh42yksH1B3hByojDcU= From ea4916f8c1c1a8c5dfb3be6c8ab8b76ec68c774f Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:22 -0400 Subject: [PATCH 0426/1301] go get github.com/aws/aws-sdk-go-v2/service/lambda. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 3dee1a0850ec..e0721a875b42 100644 --- a/go.mod +++ b/go.mod @@ -155,7 +155,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0 github.com/aws/aws-sdk-go-v2/service/kms v1.43.0 github.com/aws/aws-sdk-go-v2/service/lakeformation v1.43.0 - github.com/aws/aws-sdk-go-v2/service/lambda v1.74.1 + github.com/aws/aws-sdk-go-v2/service/lambda v1.75.0 github.com/aws/aws-sdk-go-v2/service/launchwizard v1.10.1 github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.30.1 github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.53.1 diff --git a/go.sum b/go.sum index 4f2e5428b24c..db3ce759c16e 100644 --- a/go.sum +++ b/go.sum @@ -331,8 +331,8 @@ github.com/aws/aws-sdk-go-v2/service/kms v1.43.0 h1:mdbWU38ipmDapPcsD6F7ObjjxMLr github.com/aws/aws-sdk-go-v2/service/kms v1.43.0/go.mod h1:6FWXdzVbnG8ExnBQLHGIo/ilb1K7Ek1u6dcllumBe1s= github.com/aws/aws-sdk-go-v2/service/lakeformation v1.43.0 h1:4ZTxobrzObRa8hMvD5UNYlJ+kbUSdgYTLX4qshn48jI= github.com/aws/aws-sdk-go-v2/service/lakeformation v1.43.0/go.mod h1:9ecAY8txZxHPO7IhrQCI0rpj4Dw+vbLOv1Rinr46OgU= -github.com/aws/aws-sdk-go-v2/service/lambda v1.74.1 h1:UOf0eSkWmna/6lR+tOwJYJaTSJsA/WFYm86nE2VPklY= -github.com/aws/aws-sdk-go-v2/service/lambda v1.74.1/go.mod h1:6wi1Ji6Z2WhSfVVrFj40GbWCX+cjaCEaTuCXnAVFytM= +github.com/aws/aws-sdk-go-v2/service/lambda v1.75.0 h1:8hoKtn/EgZ0bA2dQ/meHFNsalY5fuA7M3QDqnrVxPLA= +github.com/aws/aws-sdk-go-v2/service/lambda v1.75.0/go.mod h1:YDWB9+Y6hLDGdI+S1TQIs8Fq3pu5ZF+7l2ZwF7dzhjg= github.com/aws/aws-sdk-go-v2/service/launchwizard v1.10.1 h1:UHzprFuR4wfo8uRS3L8v+dgKeh42yksH1B3hByojDcU= github.com/aws/aws-sdk-go-v2/service/launchwizard v1.10.1/go.mod h1:jvg+B3ZzZjLCMUBKdLCpEIZv5Mz/QqPyWHlCUlQXxjg= github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.30.1 h1:ZdNwKDTwPA1Bei71W6Q57HdTrAGWTCJEpKD24/r0Avo= From 2a1a45d54a20baeccc698f1eb3d1aff8692d416a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:23 -0400 Subject: [PATCH 0427/1301] go get github.com/aws/aws-sdk-go-v2/service/launchwizard. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e0721a875b42..3ca746450a9a 100644 --- a/go.mod +++ b/go.mod @@ -156,7 +156,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/kms v1.43.0 github.com/aws/aws-sdk-go-v2/service/lakeformation v1.43.0 github.com/aws/aws-sdk-go-v2/service/lambda v1.75.0 - github.com/aws/aws-sdk-go-v2/service/launchwizard v1.10.1 + github.com/aws/aws-sdk-go-v2/service/launchwizard v1.11.0 github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.30.1 github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.53.1 github.com/aws/aws-sdk-go-v2/service/licensemanager v1.33.1 diff --git a/go.sum b/go.sum index db3ce759c16e..944bf209262a 100644 --- a/go.sum +++ b/go.sum @@ -333,8 +333,8 @@ github.com/aws/aws-sdk-go-v2/service/lakeformation v1.43.0 h1:4ZTxobrzObRa8hMvD5 github.com/aws/aws-sdk-go-v2/service/lakeformation v1.43.0/go.mod h1:9ecAY8txZxHPO7IhrQCI0rpj4Dw+vbLOv1Rinr46OgU= github.com/aws/aws-sdk-go-v2/service/lambda v1.75.0 h1:8hoKtn/EgZ0bA2dQ/meHFNsalY5fuA7M3QDqnrVxPLA= github.com/aws/aws-sdk-go-v2/service/lambda v1.75.0/go.mod h1:YDWB9+Y6hLDGdI+S1TQIs8Fq3pu5ZF+7l2ZwF7dzhjg= -github.com/aws/aws-sdk-go-v2/service/launchwizard v1.10.1 h1:UHzprFuR4wfo8uRS3L8v+dgKeh42yksH1B3hByojDcU= -github.com/aws/aws-sdk-go-v2/service/launchwizard v1.10.1/go.mod h1:jvg+B3ZzZjLCMUBKdLCpEIZv5Mz/QqPyWHlCUlQXxjg= +github.com/aws/aws-sdk-go-v2/service/launchwizard v1.11.0 h1:c2kqypd7Juq0l6Q9ozqTiffCxJRVZILGFmJvx1AM6us= +github.com/aws/aws-sdk-go-v2/service/launchwizard v1.11.0/go.mod h1:DcOHLG85sWbjxgWPosBUFjyZlXU1/UmZoqwx6U3ve1Y= github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.30.1 h1:ZdNwKDTwPA1Bei71W6Q57HdTrAGWTCJEpKD24/r0Avo= github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.30.1/go.mod h1:uYKKga1apHlzaH5HG+Y52OKjXLTJsC0HQ4+XTBkM7qA= github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.53.1 h1:1qKrJXGcgICGlJ1dwlvOHS2gutVQpdBdYweO+spMIAo= From d32ae1bb21f3fa92defe4ee3cb04af255e5a7066 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:24 -0400 Subject: [PATCH 0428/1301] go get github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 3ca746450a9a..c004f31c6a11 100644 --- a/go.mod +++ b/go.mod @@ -157,7 +157,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/lakeformation v1.43.0 github.com/aws/aws-sdk-go-v2/service/lambda v1.75.0 github.com/aws/aws-sdk-go-v2/service/launchwizard v1.11.0 - github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.30.1 + github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0 github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.53.1 github.com/aws/aws-sdk-go-v2/service/licensemanager v1.33.1 github.com/aws/aws-sdk-go-v2/service/lightsail v1.45.0 diff --git a/go.sum b/go.sum index 944bf209262a..1919c751ec0b 100644 --- a/go.sum +++ b/go.sum @@ -335,8 +335,8 @@ github.com/aws/aws-sdk-go-v2/service/lambda v1.75.0 h1:8hoKtn/EgZ0bA2dQ/meHFNsal github.com/aws/aws-sdk-go-v2/service/lambda v1.75.0/go.mod h1:YDWB9+Y6hLDGdI+S1TQIs8Fq3pu5ZF+7l2ZwF7dzhjg= github.com/aws/aws-sdk-go-v2/service/launchwizard v1.11.0 h1:c2kqypd7Juq0l6Q9ozqTiffCxJRVZILGFmJvx1AM6us= github.com/aws/aws-sdk-go-v2/service/launchwizard v1.11.0/go.mod h1:DcOHLG85sWbjxgWPosBUFjyZlXU1/UmZoqwx6U3ve1Y= -github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.30.1 h1:ZdNwKDTwPA1Bei71W6Q57HdTrAGWTCJEpKD24/r0Avo= -github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.30.1/go.mod h1:uYKKga1apHlzaH5HG+Y52OKjXLTJsC0HQ4+XTBkM7qA= +github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0 h1:DryMhIIU/p/fxOHl0TonOAeAEEn2loHAeWjpgkYwsx4= +github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0/go.mod h1:/rstK38nPVP5Nl1QHVVZukDHfHGhU312byZZhRrpbO8= github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.53.1 h1:1qKrJXGcgICGlJ1dwlvOHS2gutVQpdBdYweO+spMIAo= github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.53.1/go.mod h1:IQdDJQwO16pmmylU4iIgbgBSNk5bPhlUnuhsl5HhfS8= github.com/aws/aws-sdk-go-v2/service/licensemanager v1.33.1 h1:BpPBMw8QekkoJpH34s/XYoNpVtMr7QTpDNcxQnMOvhw= From 8287ce8a94fdd4d20105d21cc6a6f15459d8df4d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:26 -0400 Subject: [PATCH 0429/1301] go get github.com/aws/aws-sdk-go-v2/service/lexmodelsv2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c004f31c6a11..43cd45e9eefe 100644 --- a/go.mod +++ b/go.mod @@ -158,7 +158,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/lambda v1.75.0 github.com/aws/aws-sdk-go-v2/service/launchwizard v1.11.0 github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0 - github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.53.1 + github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0 github.com/aws/aws-sdk-go-v2/service/licensemanager v1.33.1 github.com/aws/aws-sdk-go-v2/service/lightsail v1.45.0 github.com/aws/aws-sdk-go-v2/service/location v1.46.1 diff --git a/go.sum b/go.sum index 1919c751ec0b..8c54f72b1d3d 100644 --- a/go.sum +++ b/go.sum @@ -337,8 +337,8 @@ github.com/aws/aws-sdk-go-v2/service/launchwizard v1.11.0 h1:c2kqypd7Juq0l6Q9ozq github.com/aws/aws-sdk-go-v2/service/launchwizard v1.11.0/go.mod h1:DcOHLG85sWbjxgWPosBUFjyZlXU1/UmZoqwx6U3ve1Y= github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0 h1:DryMhIIU/p/fxOHl0TonOAeAEEn2loHAeWjpgkYwsx4= github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0/go.mod h1:/rstK38nPVP5Nl1QHVVZukDHfHGhU312byZZhRrpbO8= -github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.53.1 h1:1qKrJXGcgICGlJ1dwlvOHS2gutVQpdBdYweO+spMIAo= -github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.53.1/go.mod h1:IQdDJQwO16pmmylU4iIgbgBSNk5bPhlUnuhsl5HhfS8= +github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0 h1:KuBBxr7w0WOh6/hhYcqnKQx7A/J7a/tuvH11VGkVTv0= +github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0/go.mod h1:vAb5Jggb9ASoapJtOJU9CHd+11OBZWa7OHQPfgTwTFE= github.com/aws/aws-sdk-go-v2/service/licensemanager v1.33.1 h1:BpPBMw8QekkoJpH34s/XYoNpVtMr7QTpDNcxQnMOvhw= github.com/aws/aws-sdk-go-v2/service/licensemanager v1.33.1/go.mod h1:dSYHIVdITBrd19X2U36SemcuPoX7Mtxif3YjBSgKGa0= github.com/aws/aws-sdk-go-v2/service/lightsail v1.45.0 h1:eOFZ0iaR+/ws2vfLLrA4e9B9C2nICQhpjzBcUmz3qDA= From c1be010f4794f58721550a510c03f65c33362de1 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:26 -0400 Subject: [PATCH 0430/1301] go get github.com/aws/aws-sdk-go-v2/service/licensemanager. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 43cd45e9eefe..ccf1a3da8a21 100644 --- a/go.mod +++ b/go.mod @@ -159,7 +159,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/launchwizard v1.11.0 github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0 github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0 - github.com/aws/aws-sdk-go-v2/service/licensemanager v1.33.1 + github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.0 github.com/aws/aws-sdk-go-v2/service/lightsail v1.45.0 github.com/aws/aws-sdk-go-v2/service/location v1.46.1 github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.33.1 diff --git a/go.sum b/go.sum index 8c54f72b1d3d..57fe6e508ed1 100644 --- a/go.sum +++ b/go.sum @@ -339,8 +339,8 @@ github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0 h1:DryMhIIU github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0/go.mod h1:/rstK38nPVP5Nl1QHVVZukDHfHGhU312byZZhRrpbO8= github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0 h1:KuBBxr7w0WOh6/hhYcqnKQx7A/J7a/tuvH11VGkVTv0= github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0/go.mod h1:vAb5Jggb9ASoapJtOJU9CHd+11OBZWa7OHQPfgTwTFE= -github.com/aws/aws-sdk-go-v2/service/licensemanager v1.33.1 h1:BpPBMw8QekkoJpH34s/XYoNpVtMr7QTpDNcxQnMOvhw= -github.com/aws/aws-sdk-go-v2/service/licensemanager v1.33.1/go.mod h1:dSYHIVdITBrd19X2U36SemcuPoX7Mtxif3YjBSgKGa0= +github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.0 h1:4yI6oqURdPfSoP1MUGNhXe8W/krJWnOCaHejJAPCRFs= +github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.0/go.mod h1:5rXpi6YHnL1oERjl0cFvH0ijwGfZqbKQBdpHc9Kdq6g= github.com/aws/aws-sdk-go-v2/service/lightsail v1.45.0 h1:eOFZ0iaR+/ws2vfLLrA4e9B9C2nICQhpjzBcUmz3qDA= github.com/aws/aws-sdk-go-v2/service/lightsail v1.45.0/go.mod h1:FUyjCuISm1KKO++ZK9Lc251IfdJXZBRKo4cHCZa7RcI= github.com/aws/aws-sdk-go-v2/service/location v1.46.1 h1:rWsI4OIvYu8fMV1KbccxlpTKWcQEPk1YKWiUiRLfNgs= From ab19bfe3d9beeef121b9048dabfb19207bd10b42 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:28 -0400 Subject: [PATCH 0431/1301] go get github.com/aws/aws-sdk-go-v2/service/lightsail. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ccf1a3da8a21..125896dbd216 100644 --- a/go.mod +++ b/go.mod @@ -160,7 +160,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0 github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0 github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.0 - github.com/aws/aws-sdk-go-v2/service/lightsail v1.45.0 + github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0 github.com/aws/aws-sdk-go-v2/service/location v1.46.1 github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.33.1 github.com/aws/aws-sdk-go-v2/service/m2 v1.22.1 diff --git a/go.sum b/go.sum index 57fe6e508ed1..7fde02040b9b 100644 --- a/go.sum +++ b/go.sum @@ -341,8 +341,8 @@ github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0 h1:KuBBxr7w0WOh6/hhYcqn github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0/go.mod h1:vAb5Jggb9ASoapJtOJU9CHd+11OBZWa7OHQPfgTwTFE= github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.0 h1:4yI6oqURdPfSoP1MUGNhXe8W/krJWnOCaHejJAPCRFs= github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.0/go.mod h1:5rXpi6YHnL1oERjl0cFvH0ijwGfZqbKQBdpHc9Kdq6g= -github.com/aws/aws-sdk-go-v2/service/lightsail v1.45.0 h1:eOFZ0iaR+/ws2vfLLrA4e9B9C2nICQhpjzBcUmz3qDA= -github.com/aws/aws-sdk-go-v2/service/lightsail v1.45.0/go.mod h1:FUyjCuISm1KKO++ZK9Lc251IfdJXZBRKo4cHCZa7RcI= +github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0 h1:nQX2q3dUdqwyxNPEjAw5WgH0F0HuHlVS8iq7TW3xHi8= +github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0/go.mod h1:c0o7fqQS36cwXMizMSqpG4job2HsU1b8Wb2QoYSWyu0= github.com/aws/aws-sdk-go-v2/service/location v1.46.1 h1:rWsI4OIvYu8fMV1KbccxlpTKWcQEPk1YKWiUiRLfNgs= github.com/aws/aws-sdk-go-v2/service/location v1.46.1/go.mod h1:ZW2qOTqxIPQtuMLv7nj4WS+h4utqLoaNzDmCfgeqTNg= github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.33.1 h1:/LIKKQyGfyjLElsw12AAD/b4T1gjvCRpo9PWXFBXG1Y= From 0062932920c24a4a049237fa600e1db172110d53 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:29 -0400 Subject: [PATCH 0432/1301] go get github.com/aws/aws-sdk-go-v2/service/location. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 125896dbd216..c55fe6aa4c37 100644 --- a/go.mod +++ b/go.mod @@ -161,7 +161,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0 github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.0 github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0 - github.com/aws/aws-sdk-go-v2/service/location v1.46.1 + github.com/aws/aws-sdk-go-v2/service/location v1.47.0 github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.33.1 github.com/aws/aws-sdk-go-v2/service/m2 v1.22.1 github.com/aws/aws-sdk-go-v2/service/macie2 v1.46.1 diff --git a/go.sum b/go.sum index 7fde02040b9b..2064801ad045 100644 --- a/go.sum +++ b/go.sum @@ -343,8 +343,8 @@ github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.0 h1:4yI6oqURdPfSoP1MU github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.0/go.mod h1:5rXpi6YHnL1oERjl0cFvH0ijwGfZqbKQBdpHc9Kdq6g= github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0 h1:nQX2q3dUdqwyxNPEjAw5WgH0F0HuHlVS8iq7TW3xHi8= github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0/go.mod h1:c0o7fqQS36cwXMizMSqpG4job2HsU1b8Wb2QoYSWyu0= -github.com/aws/aws-sdk-go-v2/service/location v1.46.1 h1:rWsI4OIvYu8fMV1KbccxlpTKWcQEPk1YKWiUiRLfNgs= -github.com/aws/aws-sdk-go-v2/service/location v1.46.1/go.mod h1:ZW2qOTqxIPQtuMLv7nj4WS+h4utqLoaNzDmCfgeqTNg= +github.com/aws/aws-sdk-go-v2/service/location v1.47.0 h1:oo7GB7Mtr+OkyA9E2CvdwLW98QEMbM0CVAay0NceOUc= +github.com/aws/aws-sdk-go-v2/service/location v1.47.0/go.mod h1:hRYGyCf4DRFqL1cuNV2+QLi6FNsUIbuYFh673ajAaSA= github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.33.1 h1:/LIKKQyGfyjLElsw12AAD/b4T1gjvCRpo9PWXFBXG1Y= github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.33.1/go.mod h1:Pw2uocVTqdNrapt5q/mtamq/+D57zWgIx3U+rzGc6To= github.com/aws/aws-sdk-go-v2/service/m2 v1.22.1 h1:tFiMPcBLb+/33azrdMA2hqqc15D+h8H7mAI70dhuKLI= From 8313b019e8ac3e8027903956fb0d7f8dae17cb10 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:30 -0400 Subject: [PATCH 0433/1301] go get github.com/aws/aws-sdk-go-v2/service/lookoutmetrics. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c55fe6aa4c37..12340f1fa93f 100644 --- a/go.mod +++ b/go.mod @@ -162,7 +162,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.0 github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0 github.com/aws/aws-sdk-go-v2/service/location v1.47.0 - github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.33.1 + github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.34.0 github.com/aws/aws-sdk-go-v2/service/m2 v1.22.1 github.com/aws/aws-sdk-go-v2/service/macie2 v1.46.1 github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.41.1 diff --git a/go.sum b/go.sum index 2064801ad045..2725fc5e4a74 100644 --- a/go.sum +++ b/go.sum @@ -345,8 +345,8 @@ github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0 h1:nQX2q3dUdqwyxNPEjAw5Wg github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0/go.mod h1:c0o7fqQS36cwXMizMSqpG4job2HsU1b8Wb2QoYSWyu0= github.com/aws/aws-sdk-go-v2/service/location v1.47.0 h1:oo7GB7Mtr+OkyA9E2CvdwLW98QEMbM0CVAay0NceOUc= github.com/aws/aws-sdk-go-v2/service/location v1.47.0/go.mod h1:hRYGyCf4DRFqL1cuNV2+QLi6FNsUIbuYFh673ajAaSA= -github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.33.1 h1:/LIKKQyGfyjLElsw12AAD/b4T1gjvCRpo9PWXFBXG1Y= -github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.33.1/go.mod h1:Pw2uocVTqdNrapt5q/mtamq/+D57zWgIx3U+rzGc6To= +github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.34.0 h1:AeDQIQ96Ojw+Q5RYjRV0wUDut2GPfFrRZx3LSUkK/9k= +github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.34.0/go.mod h1:38He4+8qkSA4lPgtYstoMRMtBXQooHszWnrwZZIgB9E= github.com/aws/aws-sdk-go-v2/service/m2 v1.22.1 h1:tFiMPcBLb+/33azrdMA2hqqc15D+h8H7mAI70dhuKLI= github.com/aws/aws-sdk-go-v2/service/m2 v1.22.1/go.mod h1:HumPBe3ugDYqq08O7tsa4etAg05gfPRJCnXhVlmUR94= github.com/aws/aws-sdk-go-v2/service/macie2 v1.46.1 h1:KEtnVAAkIZZ8/G6IKWxyaGKQBMaq9HetTD0QvPfcO4g= From 107b82f65881ad5871b5bb0fd0a3fc359f9b3827 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:31 -0400 Subject: [PATCH 0434/1301] go get github.com/aws/aws-sdk-go-v2/service/m2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 12340f1fa93f..c9ba47d8bf7a 100644 --- a/go.mod +++ b/go.mod @@ -163,7 +163,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0 github.com/aws/aws-sdk-go-v2/service/location v1.47.0 github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.34.0 - github.com/aws/aws-sdk-go-v2/service/m2 v1.22.1 + github.com/aws/aws-sdk-go-v2/service/m2 v1.23.0 github.com/aws/aws-sdk-go-v2/service/macie2 v1.46.1 github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.41.1 github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.78.1 diff --git a/go.sum b/go.sum index 2725fc5e4a74..10eb749a6987 100644 --- a/go.sum +++ b/go.sum @@ -347,8 +347,8 @@ github.com/aws/aws-sdk-go-v2/service/location v1.47.0 h1:oo7GB7Mtr+OkyA9E2CvdwLW github.com/aws/aws-sdk-go-v2/service/location v1.47.0/go.mod h1:hRYGyCf4DRFqL1cuNV2+QLi6FNsUIbuYFh673ajAaSA= github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.34.0 h1:AeDQIQ96Ojw+Q5RYjRV0wUDut2GPfFrRZx3LSUkK/9k= github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.34.0/go.mod h1:38He4+8qkSA4lPgtYstoMRMtBXQooHszWnrwZZIgB9E= -github.com/aws/aws-sdk-go-v2/service/m2 v1.22.1 h1:tFiMPcBLb+/33azrdMA2hqqc15D+h8H7mAI70dhuKLI= -github.com/aws/aws-sdk-go-v2/service/m2 v1.22.1/go.mod h1:HumPBe3ugDYqq08O7tsa4etAg05gfPRJCnXhVlmUR94= +github.com/aws/aws-sdk-go-v2/service/m2 v1.23.0 h1:I5DRi/03gmvdTLlwoAILcZCWcoqaDljk75q7Fs+6F68= +github.com/aws/aws-sdk-go-v2/service/m2 v1.23.0/go.mod h1:HlXF381spH689iWpO3aUPsneI4ogQ9vEpc+7MW9qmTw= github.com/aws/aws-sdk-go-v2/service/macie2 v1.46.1 h1:KEtnVAAkIZZ8/G6IKWxyaGKQBMaq9HetTD0QvPfcO4g= github.com/aws/aws-sdk-go-v2/service/macie2 v1.46.1/go.mod h1:yMp0gljSvRon61sIkFuvhEocyO/YhPgCkwC/BR9t02k= github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.41.1 h1:taLUiA6Yq4G+47P/wKx4c0DJvCeb7oIP55hjjd49kXA= From 59c9f91194bce641179874e1b9e1f8966401e1d2 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:32 -0400 Subject: [PATCH 0435/1301] go get github.com/aws/aws-sdk-go-v2/service/macie2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c9ba47d8bf7a..c695a8f3171a 100644 --- a/go.mod +++ b/go.mod @@ -164,7 +164,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/location v1.47.0 github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.34.0 github.com/aws/aws-sdk-go-v2/service/m2 v1.23.0 - github.com/aws/aws-sdk-go-v2/service/macie2 v1.46.1 + github.com/aws/aws-sdk-go-v2/service/macie2 v1.47.0 github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.41.1 github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.78.1 github.com/aws/aws-sdk-go-v2/service/medialive v1.77.1 diff --git a/go.sum b/go.sum index 10eb749a6987..ea0848cff1f9 100644 --- a/go.sum +++ b/go.sum @@ -349,8 +349,8 @@ github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.34.0 h1:AeDQIQ96Ojw+Q5RYj github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.34.0/go.mod h1:38He4+8qkSA4lPgtYstoMRMtBXQooHszWnrwZZIgB9E= github.com/aws/aws-sdk-go-v2/service/m2 v1.23.0 h1:I5DRi/03gmvdTLlwoAILcZCWcoqaDljk75q7Fs+6F68= github.com/aws/aws-sdk-go-v2/service/m2 v1.23.0/go.mod h1:HlXF381spH689iWpO3aUPsneI4ogQ9vEpc+7MW9qmTw= -github.com/aws/aws-sdk-go-v2/service/macie2 v1.46.1 h1:KEtnVAAkIZZ8/G6IKWxyaGKQBMaq9HetTD0QvPfcO4g= -github.com/aws/aws-sdk-go-v2/service/macie2 v1.46.1/go.mod h1:yMp0gljSvRon61sIkFuvhEocyO/YhPgCkwC/BR9t02k= +github.com/aws/aws-sdk-go-v2/service/macie2 v1.47.0 h1:463pft8QLCiwYmOrKNO8xNnB5AH5yhQXfOOT6jqOy64= +github.com/aws/aws-sdk-go-v2/service/macie2 v1.47.0/go.mod h1:VNSXUIl8dkUtHG2XwMAK5DoxFgDK7+yo49qtmVYKC+k= github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.41.1 h1:taLUiA6Yq4G+47P/wKx4c0DJvCeb7oIP55hjjd49kXA= github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.41.1/go.mod h1:SebyqBabeN7s4OeaWRueG654W6sLdfCpx/G1sPuIEls= github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.78.1 h1:ILaU1jUkOz1RsqmpUHv1sha/112LGVCbWMbOj9KdG1U= From 52fc2a29a83ebbe9b7d046256f6085122b810a76 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:34 -0400 Subject: [PATCH 0436/1301] go get github.com/aws/aws-sdk-go-v2/service/mediaconnect. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c695a8f3171a..66dba3fe3684 100644 --- a/go.mod +++ b/go.mod @@ -165,7 +165,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.34.0 github.com/aws/aws-sdk-go-v2/service/m2 v1.23.0 github.com/aws/aws-sdk-go-v2/service/macie2 v1.47.0 - github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.41.1 + github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.42.0 github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.78.1 github.com/aws/aws-sdk-go-v2/service/medialive v1.77.1 github.com/aws/aws-sdk-go-v2/service/mediapackage v1.36.1 diff --git a/go.sum b/go.sum index ea0848cff1f9..c332f9f92768 100644 --- a/go.sum +++ b/go.sum @@ -351,8 +351,8 @@ github.com/aws/aws-sdk-go-v2/service/m2 v1.23.0 h1:I5DRi/03gmvdTLlwoAILcZCWcoqaD github.com/aws/aws-sdk-go-v2/service/m2 v1.23.0/go.mod h1:HlXF381spH689iWpO3aUPsneI4ogQ9vEpc+7MW9qmTw= github.com/aws/aws-sdk-go-v2/service/macie2 v1.47.0 h1:463pft8QLCiwYmOrKNO8xNnB5AH5yhQXfOOT6jqOy64= github.com/aws/aws-sdk-go-v2/service/macie2 v1.47.0/go.mod h1:VNSXUIl8dkUtHG2XwMAK5DoxFgDK7+yo49qtmVYKC+k= -github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.41.1 h1:taLUiA6Yq4G+47P/wKx4c0DJvCeb7oIP55hjjd49kXA= -github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.41.1/go.mod h1:SebyqBabeN7s4OeaWRueG654W6sLdfCpx/G1sPuIEls= +github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.42.0 h1:myMe1lFa6K1NgC1E60kB68mTZmSwFc3w5ofz1DzDBtI= +github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.42.0/go.mod h1:7dKRBvWiHdQmUZ66ZgiJuCVF9zyU/+9q9oC2j2zPunw= github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.78.1 h1:ILaU1jUkOz1RsqmpUHv1sha/112LGVCbWMbOj9KdG1U= github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.78.1/go.mod h1:RZLbG6qHRZJ6IlYG0dBVguA5Q5bBL6KwegIN9nzvxGs= github.com/aws/aws-sdk-go-v2/service/medialive v1.77.1 h1:OXrgpZTIzQDjkXXBy/RQKVqF91IwyC0ryEw+erBjMzY= From e877df5a5f4190b8f66e9252fbc3bda217b6e6cb Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:35 -0400 Subject: [PATCH 0437/1301] go get github.com/aws/aws-sdk-go-v2/service/mediaconvert. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 66dba3fe3684..d2cb64a9e76e 100644 --- a/go.mod +++ b/go.mod @@ -166,7 +166,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/m2 v1.23.0 github.com/aws/aws-sdk-go-v2/service/macie2 v1.47.0 github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.42.0 - github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.78.1 + github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.79.0 github.com/aws/aws-sdk-go-v2/service/medialive v1.77.1 github.com/aws/aws-sdk-go-v2/service/mediapackage v1.36.1 github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.27.1 diff --git a/go.sum b/go.sum index c332f9f92768..1cf9063674ab 100644 --- a/go.sum +++ b/go.sum @@ -353,8 +353,8 @@ github.com/aws/aws-sdk-go-v2/service/macie2 v1.47.0 h1:463pft8QLCiwYmOrKNO8xNnB5 github.com/aws/aws-sdk-go-v2/service/macie2 v1.47.0/go.mod h1:VNSXUIl8dkUtHG2XwMAK5DoxFgDK7+yo49qtmVYKC+k= github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.42.0 h1:myMe1lFa6K1NgC1E60kB68mTZmSwFc3w5ofz1DzDBtI= github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.42.0/go.mod h1:7dKRBvWiHdQmUZ66ZgiJuCVF9zyU/+9q9oC2j2zPunw= -github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.78.1 h1:ILaU1jUkOz1RsqmpUHv1sha/112LGVCbWMbOj9KdG1U= -github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.78.1/go.mod h1:RZLbG6qHRZJ6IlYG0dBVguA5Q5bBL6KwegIN9nzvxGs= +github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.79.0 h1:YQEf1gKL1qAJFos4jrByaoe2KiAJs/6TiZIccOlKlyI= +github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.79.0/go.mod h1:WvDW+pJT3sadqMWbBF2eCJExryZPCAQE0M18kazuwCI= github.com/aws/aws-sdk-go-v2/service/medialive v1.77.1 h1:OXrgpZTIzQDjkXXBy/RQKVqF91IwyC0ryEw+erBjMzY= github.com/aws/aws-sdk-go-v2/service/medialive v1.77.1/go.mod h1:56LdU29xEz15jYRBxzt8valuQ/2GQDhuftdNowx39io= github.com/aws/aws-sdk-go-v2/service/mediapackage v1.36.1 h1:6sqsETpJLgYGK8IWAd6MX47sCAyqLvPuRGLoENO4sYQ= From ebf250e9b3cca4d97df803adc8c3b4481219ae1a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:36 -0400 Subject: [PATCH 0438/1301] go get github.com/aws/aws-sdk-go-v2/service/medialive. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d2cb64a9e76e..755104b7167b 100644 --- a/go.mod +++ b/go.mod @@ -167,7 +167,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/macie2 v1.47.0 github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.42.0 github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.79.0 - github.com/aws/aws-sdk-go-v2/service/medialive v1.77.1 + github.com/aws/aws-sdk-go-v2/service/medialive v1.78.0 github.com/aws/aws-sdk-go-v2/service/mediapackage v1.36.1 github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.27.1 github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.36.1 diff --git a/go.sum b/go.sum index 1cf9063674ab..0c8997adfc1c 100644 --- a/go.sum +++ b/go.sum @@ -355,8 +355,8 @@ github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.42.0 h1:myMe1lFa6K1NgC1E60k github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.42.0/go.mod h1:7dKRBvWiHdQmUZ66ZgiJuCVF9zyU/+9q9oC2j2zPunw= github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.79.0 h1:YQEf1gKL1qAJFos4jrByaoe2KiAJs/6TiZIccOlKlyI= github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.79.0/go.mod h1:WvDW+pJT3sadqMWbBF2eCJExryZPCAQE0M18kazuwCI= -github.com/aws/aws-sdk-go-v2/service/medialive v1.77.1 h1:OXrgpZTIzQDjkXXBy/RQKVqF91IwyC0ryEw+erBjMzY= -github.com/aws/aws-sdk-go-v2/service/medialive v1.77.1/go.mod h1:56LdU29xEz15jYRBxzt8valuQ/2GQDhuftdNowx39io= +github.com/aws/aws-sdk-go-v2/service/medialive v1.78.0 h1:oHnfXdnD+X8MTihLSzNPJ+wiVXYWUS+1+UnZVHsCUJ4= +github.com/aws/aws-sdk-go-v2/service/medialive v1.78.0/go.mod h1:GDIXX4xAoByJpI6ms6csOCCMjuZQxGbvMdbIkrpvty4= github.com/aws/aws-sdk-go-v2/service/mediapackage v1.36.1 h1:6sqsETpJLgYGK8IWAd6MX47sCAyqLvPuRGLoENO4sYQ= github.com/aws/aws-sdk-go-v2/service/mediapackage v1.36.1/go.mod h1:zFu5Y9pAUOvd9APBDiwwaMdexPv8coEizOtJmcTTVKY= github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.27.1 h1:FvjHODeuJ7LCmlOAB1hVQIFvOQyORIVuDJfi3+6R3oo= From c5a4e7ccb9bd46e34a234977cef77d7ea5c9b40a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:37 -0400 Subject: [PATCH 0439/1301] go get github.com/aws/aws-sdk-go-v2/service/mediapackage. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 755104b7167b..b43baf4e0761 100644 --- a/go.mod +++ b/go.mod @@ -168,7 +168,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.42.0 github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.79.0 github.com/aws/aws-sdk-go-v2/service/medialive v1.78.0 - github.com/aws/aws-sdk-go-v2/service/mediapackage v1.36.1 + github.com/aws/aws-sdk-go-v2/service/mediapackage v1.37.0 github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.27.1 github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.36.1 github.com/aws/aws-sdk-go-v2/service/mediastore v1.26.1 diff --git a/go.sum b/go.sum index 0c8997adfc1c..6b70fc6a967d 100644 --- a/go.sum +++ b/go.sum @@ -357,8 +357,8 @@ github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.79.0 h1:YQEf1gKL1qAJFos4jrB github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.79.0/go.mod h1:WvDW+pJT3sadqMWbBF2eCJExryZPCAQE0M18kazuwCI= github.com/aws/aws-sdk-go-v2/service/medialive v1.78.0 h1:oHnfXdnD+X8MTihLSzNPJ+wiVXYWUS+1+UnZVHsCUJ4= github.com/aws/aws-sdk-go-v2/service/medialive v1.78.0/go.mod h1:GDIXX4xAoByJpI6ms6csOCCMjuZQxGbvMdbIkrpvty4= -github.com/aws/aws-sdk-go-v2/service/mediapackage v1.36.1 h1:6sqsETpJLgYGK8IWAd6MX47sCAyqLvPuRGLoENO4sYQ= -github.com/aws/aws-sdk-go-v2/service/mediapackage v1.36.1/go.mod h1:zFu5Y9pAUOvd9APBDiwwaMdexPv8coEizOtJmcTTVKY= +github.com/aws/aws-sdk-go-v2/service/mediapackage v1.37.0 h1:hRHvIJ6LsYOOlO8VbrdG3BkotOXKAXFfApbuCQ+WbtE= +github.com/aws/aws-sdk-go-v2/service/mediapackage v1.37.0/go.mod h1:mdts8QkX+u23oMp0ZjlMzG4lP6u16B3BPb8SpX/oIP8= github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.27.1 h1:FvjHODeuJ7LCmlOAB1hVQIFvOQyORIVuDJfi3+6R3oo= github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.27.1/go.mod h1:H5n6sQyEZPmFcdU8XSh8iIh/oR7PeJXBKL2TVyAq4Yo= github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.36.1 h1:AQ2g2KbJsfagdo2CwQAGINtwFhDpFo6U6NE/BP9ft54= From 1fe221a0e1ea02ab9e5f342f0852e25ba3e846fd Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:38 -0400 Subject: [PATCH 0440/1301] go get github.com/aws/aws-sdk-go-v2/service/mediapackagev2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b43baf4e0761..52a0b0e9338a 100644 --- a/go.mod +++ b/go.mod @@ -169,7 +169,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.79.0 github.com/aws/aws-sdk-go-v2/service/medialive v1.78.0 github.com/aws/aws-sdk-go-v2/service/mediapackage v1.37.0 - github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.27.1 + github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.28.0 github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.36.1 github.com/aws/aws-sdk-go-v2/service/mediastore v1.26.1 github.com/aws/aws-sdk-go-v2/service/memorydb v1.28.1 diff --git a/go.sum b/go.sum index 6b70fc6a967d..7492d828e00b 100644 --- a/go.sum +++ b/go.sum @@ -359,8 +359,8 @@ github.com/aws/aws-sdk-go-v2/service/medialive v1.78.0 h1:oHnfXdnD+X8MTihLSzNPJ+ github.com/aws/aws-sdk-go-v2/service/medialive v1.78.0/go.mod h1:GDIXX4xAoByJpI6ms6csOCCMjuZQxGbvMdbIkrpvty4= github.com/aws/aws-sdk-go-v2/service/mediapackage v1.37.0 h1:hRHvIJ6LsYOOlO8VbrdG3BkotOXKAXFfApbuCQ+WbtE= github.com/aws/aws-sdk-go-v2/service/mediapackage v1.37.0/go.mod h1:mdts8QkX+u23oMp0ZjlMzG4lP6u16B3BPb8SpX/oIP8= -github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.27.1 h1:FvjHODeuJ7LCmlOAB1hVQIFvOQyORIVuDJfi3+6R3oo= -github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.27.1/go.mod h1:H5n6sQyEZPmFcdU8XSh8iIh/oR7PeJXBKL2TVyAq4Yo= +github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.28.0 h1:advvzK2BMNQSWweRS88MHftRRTbAP1XhjoP0lp/P4BE= +github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.28.0/go.mod h1:51YIgiiLBi2XdQkO/iIOoNQhW5GBVKcefQ7K6N3EKHU= github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.36.1 h1:AQ2g2KbJsfagdo2CwQAGINtwFhDpFo6U6NE/BP9ft54= github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.36.1/go.mod h1:C/K0HedKYyj/az2xaZz5yWoi9vv6hpRTcPjCHk7jkTg= github.com/aws/aws-sdk-go-v2/service/mediastore v1.26.1 h1:vqr5cfKyoCtj3FJXYnHpZ/svnPUQ2Qce3wiX2exVKJU= From f57c6a12ad033936aedd48ea4b47aa574c0afa84 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:39 -0400 Subject: [PATCH 0441/1301] go get github.com/aws/aws-sdk-go-v2/service/mediapackagevod. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 52a0b0e9338a..87a5d30ae5cd 100644 --- a/go.mod +++ b/go.mod @@ -170,7 +170,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/medialive v1.78.0 github.com/aws/aws-sdk-go-v2/service/mediapackage v1.37.0 github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.28.0 - github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.36.1 + github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.37.0 github.com/aws/aws-sdk-go-v2/service/mediastore v1.26.1 github.com/aws/aws-sdk-go-v2/service/memorydb v1.28.1 github.com/aws/aws-sdk-go-v2/service/mgn v1.34.1 diff --git a/go.sum b/go.sum index 7492d828e00b..aa021025f609 100644 --- a/go.sum +++ b/go.sum @@ -361,8 +361,8 @@ github.com/aws/aws-sdk-go-v2/service/mediapackage v1.37.0 h1:hRHvIJ6LsYOOlO8Vbrd github.com/aws/aws-sdk-go-v2/service/mediapackage v1.37.0/go.mod h1:mdts8QkX+u23oMp0ZjlMzG4lP6u16B3BPb8SpX/oIP8= github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.28.0 h1:advvzK2BMNQSWweRS88MHftRRTbAP1XhjoP0lp/P4BE= github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.28.0/go.mod h1:51YIgiiLBi2XdQkO/iIOoNQhW5GBVKcefQ7K6N3EKHU= -github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.36.1 h1:AQ2g2KbJsfagdo2CwQAGINtwFhDpFo6U6NE/BP9ft54= -github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.36.1/go.mod h1:C/K0HedKYyj/az2xaZz5yWoi9vv6hpRTcPjCHk7jkTg= +github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.37.0 h1:7PKUjYcop2QCd/2u+209jx0x559L+LP2jd2ZErvobuw= +github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.37.0/go.mod h1:8qat4Jx8YtTiys0U6ByUnbP+FaXJuDab1xNNCb4Crp0= github.com/aws/aws-sdk-go-v2/service/mediastore v1.26.1 h1:vqr5cfKyoCtj3FJXYnHpZ/svnPUQ2Qce3wiX2exVKJU= github.com/aws/aws-sdk-go-v2/service/mediastore v1.26.1/go.mod h1:udUYbqmxEiWg4Pe4v7CoSWSZdVTjjbkvcnUKSY0ANM4= github.com/aws/aws-sdk-go-v2/service/memorydb v1.28.1 h1:RlrxrWzRLmhIchnmXnBvzuklCur+mEuYJQ670y1YjNI= From d17cd8c1ff6bebb874b7604dd6abe152105787ff Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:40 -0400 Subject: [PATCH 0442/1301] go get github.com/aws/aws-sdk-go-v2/service/mediastore. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 87a5d30ae5cd..621edf86de66 100644 --- a/go.mod +++ b/go.mod @@ -171,7 +171,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/mediapackage v1.37.0 github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.28.0 github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.37.0 - github.com/aws/aws-sdk-go-v2/service/mediastore v1.26.1 + github.com/aws/aws-sdk-go-v2/service/mediastore v1.27.0 github.com/aws/aws-sdk-go-v2/service/memorydb v1.28.1 github.com/aws/aws-sdk-go-v2/service/mgn v1.34.1 github.com/aws/aws-sdk-go-v2/service/mq v1.30.1 diff --git a/go.sum b/go.sum index aa021025f609..bdc019f28a35 100644 --- a/go.sum +++ b/go.sum @@ -363,8 +363,8 @@ github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.28.0 h1:advvzK2BMNQSWweRS github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.28.0/go.mod h1:51YIgiiLBi2XdQkO/iIOoNQhW5GBVKcefQ7K6N3EKHU= github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.37.0 h1:7PKUjYcop2QCd/2u+209jx0x559L+LP2jd2ZErvobuw= github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.37.0/go.mod h1:8qat4Jx8YtTiys0U6ByUnbP+FaXJuDab1xNNCb4Crp0= -github.com/aws/aws-sdk-go-v2/service/mediastore v1.26.1 h1:vqr5cfKyoCtj3FJXYnHpZ/svnPUQ2Qce3wiX2exVKJU= -github.com/aws/aws-sdk-go-v2/service/mediastore v1.26.1/go.mod h1:udUYbqmxEiWg4Pe4v7CoSWSZdVTjjbkvcnUKSY0ANM4= +github.com/aws/aws-sdk-go-v2/service/mediastore v1.27.0 h1:7K52IQd61BqDtuOS20/BgJSnjstuVRFmmEpjYmq1pAs= +github.com/aws/aws-sdk-go-v2/service/mediastore v1.27.0/go.mod h1:J9u5c8XP0bjouR1/nx9SDO6Dw0p2n5lUvumttLXaWpw= github.com/aws/aws-sdk-go-v2/service/memorydb v1.28.1 h1:RlrxrWzRLmhIchnmXnBvzuklCur+mEuYJQ670y1YjNI= github.com/aws/aws-sdk-go-v2/service/memorydb v1.28.1/go.mod h1:dn0CuzrlLsPQwdmrfd/7GjJxMTXiQX3/cYyYPw/cBU4= github.com/aws/aws-sdk-go-v2/service/mgn v1.34.1 h1:mcW3ZmVS/c/al7w6/+2ren1FM6ZKsQ5OkffMODe8Yy4= From 1ededbee7e074302ecf8d57a5efdb7ba281a4111 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:41 -0400 Subject: [PATCH 0443/1301] go get github.com/aws/aws-sdk-go-v2/service/memorydb. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 621edf86de66..49c53aa1a1ad 100644 --- a/go.mod +++ b/go.mod @@ -172,7 +172,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.28.0 github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.37.0 github.com/aws/aws-sdk-go-v2/service/mediastore v1.27.0 - github.com/aws/aws-sdk-go-v2/service/memorydb v1.28.1 + github.com/aws/aws-sdk-go-v2/service/memorydb v1.29.0 github.com/aws/aws-sdk-go-v2/service/mgn v1.34.1 github.com/aws/aws-sdk-go-v2/service/mq v1.30.1 github.com/aws/aws-sdk-go-v2/service/mwaa v1.36.1 diff --git a/go.sum b/go.sum index bdc019f28a35..83866e5f813a 100644 --- a/go.sum +++ b/go.sum @@ -365,8 +365,8 @@ github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.37.0 h1:7PKUjYcop2QCd/2u github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.37.0/go.mod h1:8qat4Jx8YtTiys0U6ByUnbP+FaXJuDab1xNNCb4Crp0= github.com/aws/aws-sdk-go-v2/service/mediastore v1.27.0 h1:7K52IQd61BqDtuOS20/BgJSnjstuVRFmmEpjYmq1pAs= github.com/aws/aws-sdk-go-v2/service/mediastore v1.27.0/go.mod h1:J9u5c8XP0bjouR1/nx9SDO6Dw0p2n5lUvumttLXaWpw= -github.com/aws/aws-sdk-go-v2/service/memorydb v1.28.1 h1:RlrxrWzRLmhIchnmXnBvzuklCur+mEuYJQ670y1YjNI= -github.com/aws/aws-sdk-go-v2/service/memorydb v1.28.1/go.mod h1:dn0CuzrlLsPQwdmrfd/7GjJxMTXiQX3/cYyYPw/cBU4= +github.com/aws/aws-sdk-go-v2/service/memorydb v1.29.0 h1:/nFectiONsdEdi5uRGqV2GvaekykxE/SXXKDysyb1HY= +github.com/aws/aws-sdk-go-v2/service/memorydb v1.29.0/go.mod h1:6w41UB9aJQhcsYOSQB3L1+ISGNZMrzX5Dvs9Dva/Mq8= github.com/aws/aws-sdk-go-v2/service/mgn v1.34.1 h1:mcW3ZmVS/c/al7w6/+2ren1FM6ZKsQ5OkffMODe8Yy4= github.com/aws/aws-sdk-go-v2/service/mgn v1.34.1/go.mod h1:f5LNAteLLvz1d+a8udEyicskowMJv3tClJnA7H2DrHs= github.com/aws/aws-sdk-go-v2/service/mq v1.30.1 h1:O9duS6XPKgBYv0JyqNXEjRb0Zp+DJdEqh/P1sTTFL9Y= From 10c06b196257aa25372cf5a3389855533f8abb51 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:42 -0400 Subject: [PATCH 0444/1301] go get github.com/aws/aws-sdk-go-v2/service/mgn. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 49c53aa1a1ad..a366e8e9bbe4 100644 --- a/go.mod +++ b/go.mod @@ -173,7 +173,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.37.0 github.com/aws/aws-sdk-go-v2/service/mediastore v1.27.0 github.com/aws/aws-sdk-go-v2/service/memorydb v1.29.0 - github.com/aws/aws-sdk-go-v2/service/mgn v1.34.1 + github.com/aws/aws-sdk-go-v2/service/mgn v1.35.0 github.com/aws/aws-sdk-go-v2/service/mq v1.30.1 github.com/aws/aws-sdk-go-v2/service/mwaa v1.36.1 github.com/aws/aws-sdk-go-v2/service/neptune v1.38.1 diff --git a/go.sum b/go.sum index 83866e5f813a..a8af81cb93e2 100644 --- a/go.sum +++ b/go.sum @@ -367,8 +367,8 @@ github.com/aws/aws-sdk-go-v2/service/mediastore v1.27.0 h1:7K52IQd61BqDtuOS20/Bg github.com/aws/aws-sdk-go-v2/service/mediastore v1.27.0/go.mod h1:J9u5c8XP0bjouR1/nx9SDO6Dw0p2n5lUvumttLXaWpw= github.com/aws/aws-sdk-go-v2/service/memorydb v1.29.0 h1:/nFectiONsdEdi5uRGqV2GvaekykxE/SXXKDysyb1HY= github.com/aws/aws-sdk-go-v2/service/memorydb v1.29.0/go.mod h1:6w41UB9aJQhcsYOSQB3L1+ISGNZMrzX5Dvs9Dva/Mq8= -github.com/aws/aws-sdk-go-v2/service/mgn v1.34.1 h1:mcW3ZmVS/c/al7w6/+2ren1FM6ZKsQ5OkffMODe8Yy4= -github.com/aws/aws-sdk-go-v2/service/mgn v1.34.1/go.mod h1:f5LNAteLLvz1d+a8udEyicskowMJv3tClJnA7H2DrHs= +github.com/aws/aws-sdk-go-v2/service/mgn v1.35.0 h1:y7CunlI986quanuSNZYVqt5Ig2xL8ImFoe/RZBdeNUE= +github.com/aws/aws-sdk-go-v2/service/mgn v1.35.0/go.mod h1:E82DkPWlL9jQG839fM8JUw0mz8OAh/pJF2WrlQg5qg8= github.com/aws/aws-sdk-go-v2/service/mq v1.30.1 h1:O9duS6XPKgBYv0JyqNXEjRb0Zp+DJdEqh/P1sTTFL9Y= github.com/aws/aws-sdk-go-v2/service/mq v1.30.1/go.mod h1:uTgClBQfeUtsIdBJCbaf1xjtE6jCxGiMJSXHsi8WEAM= github.com/aws/aws-sdk-go-v2/service/mwaa v1.36.1 h1:TptI10con5UPABjYCBMaBckWD5/gNMYD0m+88NkscSo= From 028722608e2a4d364dcd51a9797b6f6ba8a57553 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:43 -0400 Subject: [PATCH 0445/1301] go get github.com/aws/aws-sdk-go-v2/service/mq. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a366e8e9bbe4..5d65ff3c8ac0 100644 --- a/go.mod +++ b/go.mod @@ -174,7 +174,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/mediastore v1.27.0 github.com/aws/aws-sdk-go-v2/service/memorydb v1.29.0 github.com/aws/aws-sdk-go-v2/service/mgn v1.35.0 - github.com/aws/aws-sdk-go-v2/service/mq v1.30.1 + github.com/aws/aws-sdk-go-v2/service/mq v1.31.0 github.com/aws/aws-sdk-go-v2/service/mwaa v1.36.1 github.com/aws/aws-sdk-go-v2/service/neptune v1.38.1 github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.18.1 diff --git a/go.sum b/go.sum index a8af81cb93e2..547b933bd8ae 100644 --- a/go.sum +++ b/go.sum @@ -369,8 +369,8 @@ github.com/aws/aws-sdk-go-v2/service/memorydb v1.29.0 h1:/nFectiONsdEdi5uRGqV2Gv github.com/aws/aws-sdk-go-v2/service/memorydb v1.29.0/go.mod h1:6w41UB9aJQhcsYOSQB3L1+ISGNZMrzX5Dvs9Dva/Mq8= github.com/aws/aws-sdk-go-v2/service/mgn v1.35.0 h1:y7CunlI986quanuSNZYVqt5Ig2xL8ImFoe/RZBdeNUE= github.com/aws/aws-sdk-go-v2/service/mgn v1.35.0/go.mod h1:E82DkPWlL9jQG839fM8JUw0mz8OAh/pJF2WrlQg5qg8= -github.com/aws/aws-sdk-go-v2/service/mq v1.30.1 h1:O9duS6XPKgBYv0JyqNXEjRb0Zp+DJdEqh/P1sTTFL9Y= -github.com/aws/aws-sdk-go-v2/service/mq v1.30.1/go.mod h1:uTgClBQfeUtsIdBJCbaf1xjtE6jCxGiMJSXHsi8WEAM= +github.com/aws/aws-sdk-go-v2/service/mq v1.31.0 h1:6Y9BsayI3em0Dcrac8VOODM66gDf6sqhMJReYNXWrGw= +github.com/aws/aws-sdk-go-v2/service/mq v1.31.0/go.mod h1:H19HQQ5aulO4iFeBQcE14Zo9EC0w3oToCdKMQLeYC3k= github.com/aws/aws-sdk-go-v2/service/mwaa v1.36.1 h1:TptI10con5UPABjYCBMaBckWD5/gNMYD0m+88NkscSo= github.com/aws/aws-sdk-go-v2/service/mwaa v1.36.1/go.mod h1:3pxCY9yQHuj3mntGtK5IR0HADRhEP+lWTOmg74n5ZR0= github.com/aws/aws-sdk-go-v2/service/neptune v1.38.1 h1:NOYfXtQUnF41UakvQFfi4+mbgZ/4IgO1n5j8RMsIEfg= From 47d0f4917d62e97916f02665b1f4a59556a648f9 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:44 -0400 Subject: [PATCH 0446/1301] go get github.com/aws/aws-sdk-go-v2/service/mwaa. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5d65ff3c8ac0..3a64c872d60d 100644 --- a/go.mod +++ b/go.mod @@ -175,7 +175,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/memorydb v1.29.0 github.com/aws/aws-sdk-go-v2/service/mgn v1.35.0 github.com/aws/aws-sdk-go-v2/service/mq v1.31.0 - github.com/aws/aws-sdk-go-v2/service/mwaa v1.36.1 + github.com/aws/aws-sdk-go-v2/service/mwaa v1.37.0 github.com/aws/aws-sdk-go-v2/service/neptune v1.38.1 github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.18.1 github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.52.1 diff --git a/go.sum b/go.sum index 547b933bd8ae..5b37ab534a96 100644 --- a/go.sum +++ b/go.sum @@ -371,8 +371,8 @@ github.com/aws/aws-sdk-go-v2/service/mgn v1.35.0 h1:y7CunlI986quanuSNZYVqt5Ig2xL github.com/aws/aws-sdk-go-v2/service/mgn v1.35.0/go.mod h1:E82DkPWlL9jQG839fM8JUw0mz8OAh/pJF2WrlQg5qg8= github.com/aws/aws-sdk-go-v2/service/mq v1.31.0 h1:6Y9BsayI3em0Dcrac8VOODM66gDf6sqhMJReYNXWrGw= github.com/aws/aws-sdk-go-v2/service/mq v1.31.0/go.mod h1:H19HQQ5aulO4iFeBQcE14Zo9EC0w3oToCdKMQLeYC3k= -github.com/aws/aws-sdk-go-v2/service/mwaa v1.36.1 h1:TptI10con5UPABjYCBMaBckWD5/gNMYD0m+88NkscSo= -github.com/aws/aws-sdk-go-v2/service/mwaa v1.36.1/go.mod h1:3pxCY9yQHuj3mntGtK5IR0HADRhEP+lWTOmg74n5ZR0= +github.com/aws/aws-sdk-go-v2/service/mwaa v1.37.0 h1:bGdw3+sTFFqd/VhHeb20i5ko7vfEoDiISobiLNc+MHY= +github.com/aws/aws-sdk-go-v2/service/mwaa v1.37.0/go.mod h1:GCKSqs00/Uhtx3JKsDhPWfQzstY73K0/O8AiQV8yZo4= github.com/aws/aws-sdk-go-v2/service/neptune v1.38.1 h1:NOYfXtQUnF41UakvQFfi4+mbgZ/4IgO1n5j8RMsIEfg= github.com/aws/aws-sdk-go-v2/service/neptune v1.38.1/go.mod h1:+12tTJOR1ZRkMm1sBbwxbUJlNh2GRIam7Lc7C/+Pa94= github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.18.1 h1:wIRxcq1kp678ogQ67us56SmBEr3JntDmtw0hzSnQIWk= From b538a8ad356b0ccd21a1cdf9c723122ef7423f6d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:46 -0400 Subject: [PATCH 0447/1301] go get github.com/aws/aws-sdk-go-v2/service/neptune. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 3a64c872d60d..092518d3d4d4 100644 --- a/go.mod +++ b/go.mod @@ -176,7 +176,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/mgn v1.35.0 github.com/aws/aws-sdk-go-v2/service/mq v1.31.0 github.com/aws/aws-sdk-go-v2/service/mwaa v1.37.0 - github.com/aws/aws-sdk-go-v2/service/neptune v1.38.1 + github.com/aws/aws-sdk-go-v2/service/neptune v1.39.0 github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.18.1 github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.52.1 github.com/aws/aws-sdk-go-v2/service/networkmanager v1.36.1 diff --git a/go.sum b/go.sum index 5b37ab534a96..05737165b204 100644 --- a/go.sum +++ b/go.sum @@ -373,8 +373,8 @@ github.com/aws/aws-sdk-go-v2/service/mq v1.31.0 h1:6Y9BsayI3em0Dcrac8VOODM66gDf6 github.com/aws/aws-sdk-go-v2/service/mq v1.31.0/go.mod h1:H19HQQ5aulO4iFeBQcE14Zo9EC0w3oToCdKMQLeYC3k= github.com/aws/aws-sdk-go-v2/service/mwaa v1.37.0 h1:bGdw3+sTFFqd/VhHeb20i5ko7vfEoDiISobiLNc+MHY= github.com/aws/aws-sdk-go-v2/service/mwaa v1.37.0/go.mod h1:GCKSqs00/Uhtx3JKsDhPWfQzstY73K0/O8AiQV8yZo4= -github.com/aws/aws-sdk-go-v2/service/neptune v1.38.1 h1:NOYfXtQUnF41UakvQFfi4+mbgZ/4IgO1n5j8RMsIEfg= -github.com/aws/aws-sdk-go-v2/service/neptune v1.38.1/go.mod h1:+12tTJOR1ZRkMm1sBbwxbUJlNh2GRIam7Lc7C/+Pa94= +github.com/aws/aws-sdk-go-v2/service/neptune v1.39.0 h1:0iRrarRL6MheR0/VctAAubu2GPUPKHCFxtuNmS4Nf8o= +github.com/aws/aws-sdk-go-v2/service/neptune v1.39.0/go.mod h1:XT+KZcW1UpUpT1Tp+11BsMh7ypQONYJ9SXg1REJlxjw= github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.18.1 h1:wIRxcq1kp678ogQ67us56SmBEr3JntDmtw0hzSnQIWk= github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.18.1/go.mod h1:lF2OHvTjVdVU8fqeM/Cw7SMO8TWt515zlBFxLjzKEN0= github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.52.1 h1:iMxoDME9qFjS6TOIYE99yC1ocnYfd1Rw8IMvgbZJBfo= From 440fce105f500c27e741cbb08549e97820f550cc Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:47 -0400 Subject: [PATCH 0448/1301] go get github.com/aws/aws-sdk-go-v2/service/neptunegraph. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 092518d3d4d4..7dfedb3049ee 100644 --- a/go.mod +++ b/go.mod @@ -177,7 +177,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/mq v1.31.0 github.com/aws/aws-sdk-go-v2/service/mwaa v1.37.0 github.com/aws/aws-sdk-go-v2/service/neptune v1.39.0 - github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.18.1 + github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0 github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.52.1 github.com/aws/aws-sdk-go-v2/service/networkmanager v1.36.1 github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.9.1 diff --git a/go.sum b/go.sum index 05737165b204..0b148afa8b9f 100644 --- a/go.sum +++ b/go.sum @@ -375,8 +375,8 @@ github.com/aws/aws-sdk-go-v2/service/mwaa v1.37.0 h1:bGdw3+sTFFqd/VhHeb20i5ko7vf github.com/aws/aws-sdk-go-v2/service/mwaa v1.37.0/go.mod h1:GCKSqs00/Uhtx3JKsDhPWfQzstY73K0/O8AiQV8yZo4= github.com/aws/aws-sdk-go-v2/service/neptune v1.39.0 h1:0iRrarRL6MheR0/VctAAubu2GPUPKHCFxtuNmS4Nf8o= github.com/aws/aws-sdk-go-v2/service/neptune v1.39.0/go.mod h1:XT+KZcW1UpUpT1Tp+11BsMh7ypQONYJ9SXg1REJlxjw= -github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.18.1 h1:wIRxcq1kp678ogQ67us56SmBEr3JntDmtw0hzSnQIWk= -github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.18.1/go.mod h1:lF2OHvTjVdVU8fqeM/Cw7SMO8TWt515zlBFxLjzKEN0= +github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0 h1:3G+4uyOmh4qWkMVZoRt0ELDtlfpObFk13SrsD35cAsk= +github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0/go.mod h1:kkG79+f09Fmee5bohISd+JaieXQRXlfixZLcOikkxXg= github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.52.1 h1:iMxoDME9qFjS6TOIYE99yC1ocnYfd1Rw8IMvgbZJBfo= github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.52.1/go.mod h1:k2KrxH4IGJZsA6VI8CsTx+mGKEkxpbXLRl9XKTcqE2I= github.com/aws/aws-sdk-go-v2/service/networkmanager v1.36.1 h1:Ps/spyjORK9/tx2pMpEzEjWOYqoNqR8OMHIXHudzvKg= From 965d5588732f323d2c72e369ccfefe29dea99977 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:48 -0400 Subject: [PATCH 0449/1301] go get github.com/aws/aws-sdk-go-v2/service/networkfirewall. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7dfedb3049ee..57ca604acb00 100644 --- a/go.mod +++ b/go.mod @@ -178,7 +178,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/mwaa v1.37.0 github.com/aws/aws-sdk-go-v2/service/neptune v1.39.0 github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0 - github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.52.1 + github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0 github.com/aws/aws-sdk-go-v2/service/networkmanager v1.36.1 github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.9.1 github.com/aws/aws-sdk-go-v2/service/notifications v1.3.1 diff --git a/go.sum b/go.sum index 0b148afa8b9f..b68e299e15b2 100644 --- a/go.sum +++ b/go.sum @@ -377,8 +377,8 @@ github.com/aws/aws-sdk-go-v2/service/neptune v1.39.0 h1:0iRrarRL6MheR0/VctAAubu2 github.com/aws/aws-sdk-go-v2/service/neptune v1.39.0/go.mod h1:XT+KZcW1UpUpT1Tp+11BsMh7ypQONYJ9SXg1REJlxjw= github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0 h1:3G+4uyOmh4qWkMVZoRt0ELDtlfpObFk13SrsD35cAsk= github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0/go.mod h1:kkG79+f09Fmee5bohISd+JaieXQRXlfixZLcOikkxXg= -github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.52.1 h1:iMxoDME9qFjS6TOIYE99yC1ocnYfd1Rw8IMvgbZJBfo= -github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.52.1/go.mod h1:k2KrxH4IGJZsA6VI8CsTx+mGKEkxpbXLRl9XKTcqE2I= +github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0 h1:FHl1QPk+MTUjcbGtnNfcVnq5bPkP71Tbzt++qQ/dCnY= +github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0/go.mod h1:EiHBjTVCeOUX045RTpHUuqrtexp4OtSbMLj+nXiaaHw= github.com/aws/aws-sdk-go-v2/service/networkmanager v1.36.1 h1:Ps/spyjORK9/tx2pMpEzEjWOYqoNqR8OMHIXHudzvKg= github.com/aws/aws-sdk-go-v2/service/networkmanager v1.36.1/go.mod h1:2QEw0rfjtUMjqiHcthI+GdvcHZ935TenF1UQyj++Ehc= github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.9.1 h1:BdxoAPeLCPbrYHC/osQftQUzW2hkI5yIl36/iEQboXw= From 8e6a97c401e39dbea4ecf8949045f35a6a149e60 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:50 -0400 Subject: [PATCH 0450/1301] go get github.com/aws/aws-sdk-go-v2/service/networkmonitor. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 57ca604acb00..f548870c9f88 100644 --- a/go.mod +++ b/go.mod @@ -180,7 +180,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0 github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0 github.com/aws/aws-sdk-go-v2/service/networkmanager v1.36.1 - github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.9.1 + github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0 github.com/aws/aws-sdk-go-v2/service/notifications v1.3.1 github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.2.1 github.com/aws/aws-sdk-go-v2/service/oam v1.19.1 diff --git a/go.sum b/go.sum index b68e299e15b2..b426765cf5e2 100644 --- a/go.sum +++ b/go.sum @@ -381,8 +381,8 @@ github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0 h1:FHl1QPk+MTUjcbGt github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0/go.mod h1:EiHBjTVCeOUX045RTpHUuqrtexp4OtSbMLj+nXiaaHw= github.com/aws/aws-sdk-go-v2/service/networkmanager v1.36.1 h1:Ps/spyjORK9/tx2pMpEzEjWOYqoNqR8OMHIXHudzvKg= github.com/aws/aws-sdk-go-v2/service/networkmanager v1.36.1/go.mod h1:2QEw0rfjtUMjqiHcthI+GdvcHZ935TenF1UQyj++Ehc= -github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.9.1 h1:BdxoAPeLCPbrYHC/osQftQUzW2hkI5yIl36/iEQboXw= -github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.9.1/go.mod h1:ZlR0Ioqx3FHzSvPMLGWRJl7KG8fswWTTaBrZjixWhng= +github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0 h1:dM23haMPsRX6r06zzY7rKskzOnmcAf4u3gQe4/vKM5c= +github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0/go.mod h1:Lh8S1WeO7D8Ns0h1idoyviPIKqgAQcFzZo3VvQ+AgI8= github.com/aws/aws-sdk-go-v2/service/notifications v1.3.1 h1:W/V33HIpFFm3SEczC5rNTSk0oLuCZJiCRt3ftI+OfzQ= github.com/aws/aws-sdk-go-v2/service/notifications v1.3.1/go.mod h1:lcT7GSBMHxkYhnvfrJ8KASTffPmVmwUVIXQA0+FQR+4= github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.2.1 h1:P9vU+dUkH9J6NR8K1FWpuGCUrGYqPkxj97wDZI2cpYU= From 67b2a1f62e22b22c5d486e5710fa69133d6484b7 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:51 -0400 Subject: [PATCH 0451/1301] go get github.com/aws/aws-sdk-go-v2/service/notifications. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index f548870c9f88..c64e54c9f4b9 100644 --- a/go.mod +++ b/go.mod @@ -181,7 +181,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0 github.com/aws/aws-sdk-go-v2/service/networkmanager v1.36.1 github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0 - github.com/aws/aws-sdk-go-v2/service/notifications v1.3.1 + github.com/aws/aws-sdk-go-v2/service/notifications v1.4.0 github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.2.1 github.com/aws/aws-sdk-go-v2/service/oam v1.19.1 github.com/aws/aws-sdk-go-v2/service/odb v1.1.1 diff --git a/go.sum b/go.sum index b426765cf5e2..caaad7a4762b 100644 --- a/go.sum +++ b/go.sum @@ -383,8 +383,8 @@ github.com/aws/aws-sdk-go-v2/service/networkmanager v1.36.1 h1:Ps/spyjORK9/tx2pM github.com/aws/aws-sdk-go-v2/service/networkmanager v1.36.1/go.mod h1:2QEw0rfjtUMjqiHcthI+GdvcHZ935TenF1UQyj++Ehc= github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0 h1:dM23haMPsRX6r06zzY7rKskzOnmcAf4u3gQe4/vKM5c= github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0/go.mod h1:Lh8S1WeO7D8Ns0h1idoyviPIKqgAQcFzZo3VvQ+AgI8= -github.com/aws/aws-sdk-go-v2/service/notifications v1.3.1 h1:W/V33HIpFFm3SEczC5rNTSk0oLuCZJiCRt3ftI+OfzQ= -github.com/aws/aws-sdk-go-v2/service/notifications v1.3.1/go.mod h1:lcT7GSBMHxkYhnvfrJ8KASTffPmVmwUVIXQA0+FQR+4= +github.com/aws/aws-sdk-go-v2/service/notifications v1.4.0 h1:ZBcFqe31Uf8k8UeeJdHnH3lKpoFx5uWnu2tg01CTmos= +github.com/aws/aws-sdk-go-v2/service/notifications v1.4.0/go.mod h1:W2ABt0ansVFxchQAfWPN15TpYJ8j57V2l85IWCVLwYc= github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.2.1 h1:P9vU+dUkH9J6NR8K1FWpuGCUrGYqPkxj97wDZI2cpYU= github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.2.1/go.mod h1:M2m8kz89mBvwsJ3sHJ/sAniRFqQh2U2eQgj0Xcdgi38= github.com/aws/aws-sdk-go-v2/service/oam v1.19.1 h1:Qy3Z3Iec62/ZQxeOtNMfGkW+0O+h4m1jlfpMG2v7Jqc= From afc9900f3b65bb90e072f37660dcdf114c5346a6 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:52 -0400 Subject: [PATCH 0452/1301] go get github.com/aws/aws-sdk-go-v2/service/notificationscontacts. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c64e54c9f4b9..1bf49b0c26a9 100644 --- a/go.mod +++ b/go.mod @@ -182,7 +182,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/networkmanager v1.36.1 github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0 github.com/aws/aws-sdk-go-v2/service/notifications v1.4.0 - github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.2.1 + github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.3.0 github.com/aws/aws-sdk-go-v2/service/oam v1.19.1 github.com/aws/aws-sdk-go-v2/service/odb v1.1.1 github.com/aws/aws-sdk-go-v2/service/opensearch v1.49.0 diff --git a/go.sum b/go.sum index caaad7a4762b..56d7840017fd 100644 --- a/go.sum +++ b/go.sum @@ -385,8 +385,8 @@ github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0 h1:dM23haMPsRX6r06zz github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0/go.mod h1:Lh8S1WeO7D8Ns0h1idoyviPIKqgAQcFzZo3VvQ+AgI8= github.com/aws/aws-sdk-go-v2/service/notifications v1.4.0 h1:ZBcFqe31Uf8k8UeeJdHnH3lKpoFx5uWnu2tg01CTmos= github.com/aws/aws-sdk-go-v2/service/notifications v1.4.0/go.mod h1:W2ABt0ansVFxchQAfWPN15TpYJ8j57V2l85IWCVLwYc= -github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.2.1 h1:P9vU+dUkH9J6NR8K1FWpuGCUrGYqPkxj97wDZI2cpYU= -github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.2.1/go.mod h1:M2m8kz89mBvwsJ3sHJ/sAniRFqQh2U2eQgj0Xcdgi38= +github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.3.0 h1:UQxLazViGi1qelen17Bu1NtoGS+S2/fj+FhpJMj02gg= +github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.3.0/go.mod h1:Z6RSoe6VNgsneyA8k2BHoCtPo4Hg6XUyQtxsSFCd7pc= github.com/aws/aws-sdk-go-v2/service/oam v1.19.1 h1:Qy3Z3Iec62/ZQxeOtNMfGkW+0O+h4m1jlfpMG2v7Jqc= github.com/aws/aws-sdk-go-v2/service/oam v1.19.1/go.mod h1:SELnx5vYtclgFgk0qAUuW8gPd9QaGGvn9J0gLLAN/qI= github.com/aws/aws-sdk-go-v2/service/odb v1.1.1 h1:8jESG/46E95brAN7H1RTbT2QWOiVX0hJR0Jl9A5Kzoc= From 31929c5a705aabc590ef60aa986600c411f70f8c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:53 -0400 Subject: [PATCH 0453/1301] go get github.com/aws/aws-sdk-go-v2/service/oam. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 1bf49b0c26a9..4c06bac8f07f 100644 --- a/go.mod +++ b/go.mod @@ -183,7 +183,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0 github.com/aws/aws-sdk-go-v2/service/notifications v1.4.0 github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.3.0 - github.com/aws/aws-sdk-go-v2/service/oam v1.19.1 + github.com/aws/aws-sdk-go-v2/service/oam v1.20.0 github.com/aws/aws-sdk-go-v2/service/odb v1.1.1 github.com/aws/aws-sdk-go-v2/service/opensearch v1.49.0 github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.21.1 diff --git a/go.sum b/go.sum index 56d7840017fd..5aac9e807be1 100644 --- a/go.sum +++ b/go.sum @@ -387,8 +387,8 @@ github.com/aws/aws-sdk-go-v2/service/notifications v1.4.0 h1:ZBcFqe31Uf8k8UeeJdH github.com/aws/aws-sdk-go-v2/service/notifications v1.4.0/go.mod h1:W2ABt0ansVFxchQAfWPN15TpYJ8j57V2l85IWCVLwYc= github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.3.0 h1:UQxLazViGi1qelen17Bu1NtoGS+S2/fj+FhpJMj02gg= github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.3.0/go.mod h1:Z6RSoe6VNgsneyA8k2BHoCtPo4Hg6XUyQtxsSFCd7pc= -github.com/aws/aws-sdk-go-v2/service/oam v1.19.1 h1:Qy3Z3Iec62/ZQxeOtNMfGkW+0O+h4m1jlfpMG2v7Jqc= -github.com/aws/aws-sdk-go-v2/service/oam v1.19.1/go.mod h1:SELnx5vYtclgFgk0qAUuW8gPd9QaGGvn9J0gLLAN/qI= +github.com/aws/aws-sdk-go-v2/service/oam v1.20.0 h1:AGZUcqcsU1QR4xi4A4foyeHY5XtmjQQd5+bIDoP3keQ= +github.com/aws/aws-sdk-go-v2/service/oam v1.20.0/go.mod h1:3D54bBPVQYqvjyX9mC5kGoPyW2vUvpmJoNzlTriumJQ= github.com/aws/aws-sdk-go-v2/service/odb v1.1.1 h1:8jESG/46E95brAN7H1RTbT2QWOiVX0hJR0Jl9A5Kzoc= github.com/aws/aws-sdk-go-v2/service/odb v1.1.1/go.mod h1:7UJX4FCk3Igx2UjhSePlxoSYSS5x9DtYsFHJY+kU3sA= github.com/aws/aws-sdk-go-v2/service/opensearch v1.49.0 h1:OF/8+8L9jZSnIFKC7G/I7d0FnWylckLWJ2T+rWpqnZI= From 474dd30ab648c09dc90cf70a28cc590b02638489 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:54 -0400 Subject: [PATCH 0454/1301] go get github.com/aws/aws-sdk-go-v2/service/odb. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 4c06bac8f07f..5600d37d9d5d 100644 --- a/go.mod +++ b/go.mod @@ -184,7 +184,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/notifications v1.4.0 github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.3.0 github.com/aws/aws-sdk-go-v2/service/oam v1.20.0 - github.com/aws/aws-sdk-go-v2/service/odb v1.1.1 + github.com/aws/aws-sdk-go-v2/service/odb v1.2.0 github.com/aws/aws-sdk-go-v2/service/opensearch v1.49.0 github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.21.1 github.com/aws/aws-sdk-go-v2/service/organizations v1.40.1 diff --git a/go.sum b/go.sum index 5aac9e807be1..2ec4f06bebd1 100644 --- a/go.sum +++ b/go.sum @@ -389,8 +389,8 @@ github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.3.0 h1:UQxLazViGi1 github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.3.0/go.mod h1:Z6RSoe6VNgsneyA8k2BHoCtPo4Hg6XUyQtxsSFCd7pc= github.com/aws/aws-sdk-go-v2/service/oam v1.20.0 h1:AGZUcqcsU1QR4xi4A4foyeHY5XtmjQQd5+bIDoP3keQ= github.com/aws/aws-sdk-go-v2/service/oam v1.20.0/go.mod h1:3D54bBPVQYqvjyX9mC5kGoPyW2vUvpmJoNzlTriumJQ= -github.com/aws/aws-sdk-go-v2/service/odb v1.1.1 h1:8jESG/46E95brAN7H1RTbT2QWOiVX0hJR0Jl9A5Kzoc= -github.com/aws/aws-sdk-go-v2/service/odb v1.1.1/go.mod h1:7UJX4FCk3Igx2UjhSePlxoSYSS5x9DtYsFHJY+kU3sA= +github.com/aws/aws-sdk-go-v2/service/odb v1.2.0 h1:8EO3R+giEm/zs9KfQ4eBqa4W17bcpGvG7LEBjMjpdVQ= +github.com/aws/aws-sdk-go-v2/service/odb v1.2.0/go.mod h1:hBGfe5c+UNIxT5X1e7DG9ychYOeYoeGEsyEhHXybRjw= github.com/aws/aws-sdk-go-v2/service/opensearch v1.49.0 h1:OF/8+8L9jZSnIFKC7G/I7d0FnWylckLWJ2T+rWpqnZI= github.com/aws/aws-sdk-go-v2/service/opensearch v1.49.0/go.mod h1:2MLCxAIIw9nb59dvYANZHyhoiOMaajJtKlBqvnyWg0c= github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.21.1 h1:mbkX8wApJAaoWpV0V0EgnjN1/sI6ymNqQGPE+nakSP8= From 081b882fb7b4f637e6da06622496890b32205bb8 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:56 -0400 Subject: [PATCH 0455/1301] go get github.com/aws/aws-sdk-go-v2/service/opensearch. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5600d37d9d5d..095f56a48646 100644 --- a/go.mod +++ b/go.mod @@ -185,7 +185,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.3.0 github.com/aws/aws-sdk-go-v2/service/oam v1.20.0 github.com/aws/aws-sdk-go-v2/service/odb v1.2.0 - github.com/aws/aws-sdk-go-v2/service/opensearch v1.49.0 + github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0 github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.21.1 github.com/aws/aws-sdk-go-v2/service/organizations v1.40.1 github.com/aws/aws-sdk-go-v2/service/osis v1.16.1 diff --git a/go.sum b/go.sum index 2ec4f06bebd1..c40849ea934d 100644 --- a/go.sum +++ b/go.sum @@ -391,8 +391,8 @@ github.com/aws/aws-sdk-go-v2/service/oam v1.20.0 h1:AGZUcqcsU1QR4xi4A4foyeHY5Xtm github.com/aws/aws-sdk-go-v2/service/oam v1.20.0/go.mod h1:3D54bBPVQYqvjyX9mC5kGoPyW2vUvpmJoNzlTriumJQ= github.com/aws/aws-sdk-go-v2/service/odb v1.2.0 h1:8EO3R+giEm/zs9KfQ4eBqa4W17bcpGvG7LEBjMjpdVQ= github.com/aws/aws-sdk-go-v2/service/odb v1.2.0/go.mod h1:hBGfe5c+UNIxT5X1e7DG9ychYOeYoeGEsyEhHXybRjw= -github.com/aws/aws-sdk-go-v2/service/opensearch v1.49.0 h1:OF/8+8L9jZSnIFKC7G/I7d0FnWylckLWJ2T+rWpqnZI= -github.com/aws/aws-sdk-go-v2/service/opensearch v1.49.0/go.mod h1:2MLCxAIIw9nb59dvYANZHyhoiOMaajJtKlBqvnyWg0c= +github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0 h1:vWVR6vfZxY0i3IeTP0RSCDuXo+7wDoLpmyAAHMcgnFI= +github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0/go.mod h1:WO1sqmUu2AMSgpI07AqrL/9kdFTpVl+6BUy69gdQdWE= github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.21.1 h1:mbkX8wApJAaoWpV0V0EgnjN1/sI6ymNqQGPE+nakSP8= github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.21.1/go.mod h1:C0qtSLUYGv6qGGy3nHPR7T4ZrsBA9/dcMDcov82uoK8= github.com/aws/aws-sdk-go-v2/service/organizations v1.40.1 h1:9u1hD7vW7BjOxiCmE5TUDvyGk8sZiI6nTHhbUW9npPY= From a9cf5dc35cbc174ec56e92428fecf23a42fc20d9 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:57 -0400 Subject: [PATCH 0456/1301] go get github.com/aws/aws-sdk-go-v2/service/opensearchserverless. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 095f56a48646..9b0234bd1bae 100644 --- a/go.mod +++ b/go.mod @@ -186,7 +186,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/oam v1.20.0 github.com/aws/aws-sdk-go-v2/service/odb v1.2.0 github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0 - github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.21.1 + github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.22.0 github.com/aws/aws-sdk-go-v2/service/organizations v1.40.1 github.com/aws/aws-sdk-go-v2/service/osis v1.16.1 github.com/aws/aws-sdk-go-v2/service/outposts v1.53.1 diff --git a/go.sum b/go.sum index c40849ea934d..f20a2faf6a18 100644 --- a/go.sum +++ b/go.sum @@ -393,8 +393,8 @@ github.com/aws/aws-sdk-go-v2/service/odb v1.2.0 h1:8EO3R+giEm/zs9KfQ4eBqa4W17bcp github.com/aws/aws-sdk-go-v2/service/odb v1.2.0/go.mod h1:hBGfe5c+UNIxT5X1e7DG9ychYOeYoeGEsyEhHXybRjw= github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0 h1:vWVR6vfZxY0i3IeTP0RSCDuXo+7wDoLpmyAAHMcgnFI= github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0/go.mod h1:WO1sqmUu2AMSgpI07AqrL/9kdFTpVl+6BUy69gdQdWE= -github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.21.1 h1:mbkX8wApJAaoWpV0V0EgnjN1/sI6ymNqQGPE+nakSP8= -github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.21.1/go.mod h1:C0qtSLUYGv6qGGy3nHPR7T4ZrsBA9/dcMDcov82uoK8= +github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.22.0 h1:8kX9RWCVpUZLAreWTiLh1pBgJBdIa5oFGyRa9ejkS2c= +github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.22.0/go.mod h1:HVCHnRUafo3sI/BIycRiTB1QMO/IfsbiMmE2STsW7kM= github.com/aws/aws-sdk-go-v2/service/organizations v1.40.1 h1:9u1hD7vW7BjOxiCmE5TUDvyGk8sZiI6nTHhbUW9npPY= github.com/aws/aws-sdk-go-v2/service/organizations v1.40.1/go.mod h1:pEuSCVYuJKZHwfkIkbO4Xa40lgUlVxWCiLJgckMppXo= github.com/aws/aws-sdk-go-v2/service/osis v1.16.1 h1:Mfng5L3nO4JB4PCHqUUWIFgaB40DrMrkAb60hKnSP/o= From cffaa2965e8203b96267c1985a9872dce83c1380 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:58 -0400 Subject: [PATCH 0457/1301] go get github.com/aws/aws-sdk-go-v2/service/organizations. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 9b0234bd1bae..55e37a398e4d 100644 --- a/go.mod +++ b/go.mod @@ -187,7 +187,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/odb v1.2.0 github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0 github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.22.0 - github.com/aws/aws-sdk-go-v2/service/organizations v1.40.1 + github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0 github.com/aws/aws-sdk-go-v2/service/osis v1.16.1 github.com/aws/aws-sdk-go-v2/service/outposts v1.53.1 github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.20.1 diff --git a/go.sum b/go.sum index f20a2faf6a18..866df8d9a0a4 100644 --- a/go.sum +++ b/go.sum @@ -395,8 +395,8 @@ github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0 h1:vWVR6vfZxY0i3IeTP0RSC github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0/go.mod h1:WO1sqmUu2AMSgpI07AqrL/9kdFTpVl+6BUy69gdQdWE= github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.22.0 h1:8kX9RWCVpUZLAreWTiLh1pBgJBdIa5oFGyRa9ejkS2c= github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.22.0/go.mod h1:HVCHnRUafo3sI/BIycRiTB1QMO/IfsbiMmE2STsW7kM= -github.com/aws/aws-sdk-go-v2/service/organizations v1.40.1 h1:9u1hD7vW7BjOxiCmE5TUDvyGk8sZiI6nTHhbUW9npPY= -github.com/aws/aws-sdk-go-v2/service/organizations v1.40.1/go.mod h1:pEuSCVYuJKZHwfkIkbO4Xa40lgUlVxWCiLJgckMppXo= +github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0 h1:lsi8q6BbwvvmTZ2Oz839olZoSbBaupAJEppyOnsBTYQ= +github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0/go.mod h1:FG8JIT+tCSCQGK04ac7mXLnP0FZUr3tLqoiiRIKRbiQ= github.com/aws/aws-sdk-go-v2/service/osis v1.16.1 h1:Mfng5L3nO4JB4PCHqUUWIFgaB40DrMrkAb60hKnSP/o= github.com/aws/aws-sdk-go-v2/service/osis v1.16.1/go.mod h1:AU8G+nH8NIQKfX1ibliZF+qoe4EwQ071UDRABz9X+Os= github.com/aws/aws-sdk-go-v2/service/outposts v1.53.1 h1:NXHJcaJajCUFbim84eVwhFHCwUzp3BuGKP2ZACbF/oA= From 0ea9886a683d4a65ea43cbd8e68c1378870cf893 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:06:59 -0400 Subject: [PATCH 0458/1301] go get github.com/aws/aws-sdk-go-v2/service/osis. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 55e37a398e4d..d66ef1643fb0 100644 --- a/go.mod +++ b/go.mod @@ -188,7 +188,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0 github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.22.0 github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0 - github.com/aws/aws-sdk-go-v2/service/osis v1.16.1 + github.com/aws/aws-sdk-go-v2/service/osis v1.17.0 github.com/aws/aws-sdk-go-v2/service/outposts v1.53.1 github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.20.1 github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.12.1 diff --git a/go.sum b/go.sum index 866df8d9a0a4..57f3f81fd446 100644 --- a/go.sum +++ b/go.sum @@ -397,8 +397,8 @@ github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.22.0 h1:8kX9RWCVpUZ github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.22.0/go.mod h1:HVCHnRUafo3sI/BIycRiTB1QMO/IfsbiMmE2STsW7kM= github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0 h1:lsi8q6BbwvvmTZ2Oz839olZoSbBaupAJEppyOnsBTYQ= github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0/go.mod h1:FG8JIT+tCSCQGK04ac7mXLnP0FZUr3tLqoiiRIKRbiQ= -github.com/aws/aws-sdk-go-v2/service/osis v1.16.1 h1:Mfng5L3nO4JB4PCHqUUWIFgaB40DrMrkAb60hKnSP/o= -github.com/aws/aws-sdk-go-v2/service/osis v1.16.1/go.mod h1:AU8G+nH8NIQKfX1ibliZF+qoe4EwQ071UDRABz9X+Os= +github.com/aws/aws-sdk-go-v2/service/osis v1.17.0 h1:nVl7YEWp58Yvr+xIhmB0Uv6gG819eYFIVrW7sSEXXag= +github.com/aws/aws-sdk-go-v2/service/osis v1.17.0/go.mod h1:XC+s07X9mHnIkFCbyUetdnnsXq5JAk3euhAkPQLP8No= github.com/aws/aws-sdk-go-v2/service/outposts v1.53.1 h1:NXHJcaJajCUFbim84eVwhFHCwUzp3BuGKP2ZACbF/oA= github.com/aws/aws-sdk-go-v2/service/outposts v1.53.1/go.mod h1:xjh3+zMePLINjP5HtXTCkbKcnF4Ijet/c9yOCuBGxzA= github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.20.1 h1:AX6HWyE3hshMWlMUGzZQ+dMVNaa2f+yJ8VIEnUKbsQg= From 4fe2648e36175e8b7a7653acf21d7389b274a239 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:00 -0400 Subject: [PATCH 0459/1301] go get github.com/aws/aws-sdk-go-v2/service/outposts. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d66ef1643fb0..d39aa7054397 100644 --- a/go.mod +++ b/go.mod @@ -189,7 +189,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.22.0 github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0 github.com/aws/aws-sdk-go-v2/service/osis v1.17.0 - github.com/aws/aws-sdk-go-v2/service/outposts v1.53.1 + github.com/aws/aws-sdk-go-v2/service/outposts v1.54.0 github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.20.1 github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.12.1 github.com/aws/aws-sdk-go-v2/service/pcs v1.8.0 diff --git a/go.sum b/go.sum index 57f3f81fd446..af7c17bd5534 100644 --- a/go.sum +++ b/go.sum @@ -399,8 +399,8 @@ github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0 h1:lsi8q6BbwvvmTZ2Oz8 github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0/go.mod h1:FG8JIT+tCSCQGK04ac7mXLnP0FZUr3tLqoiiRIKRbiQ= github.com/aws/aws-sdk-go-v2/service/osis v1.17.0 h1:nVl7YEWp58Yvr+xIhmB0Uv6gG819eYFIVrW7sSEXXag= github.com/aws/aws-sdk-go-v2/service/osis v1.17.0/go.mod h1:XC+s07X9mHnIkFCbyUetdnnsXq5JAk3euhAkPQLP8No= -github.com/aws/aws-sdk-go-v2/service/outposts v1.53.1 h1:NXHJcaJajCUFbim84eVwhFHCwUzp3BuGKP2ZACbF/oA= -github.com/aws/aws-sdk-go-v2/service/outposts v1.53.1/go.mod h1:xjh3+zMePLINjP5HtXTCkbKcnF4Ijet/c9yOCuBGxzA= +github.com/aws/aws-sdk-go-v2/service/outposts v1.54.0 h1:8ZaAYen5L9x5f39dUL0VTZqZxhPvSSgqVeAiJBxIhyI= +github.com/aws/aws-sdk-go-v2/service/outposts v1.54.0/go.mod h1:vY1UGGY5/OVqeJarn/SdEBpt1iG5bZwDSd9ZyKHpdkA= github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.20.1 h1:AX6HWyE3hshMWlMUGzZQ+dMVNaa2f+yJ8VIEnUKbsQg= github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.20.1/go.mod h1:fPpm6h3keIbLil7fhZ0W1lLDg9DrfYHVans55yzlFyM= github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.12.1 h1:IZ2DReKRxTvXr2RGhcB/z4DJGesXSfMvY5vSGycCEGk= From 0c60ca01e77549b182a379b5533e7ed9b35bf676 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:01 -0400 Subject: [PATCH 0460/1301] go get github.com/aws/aws-sdk-go-v2/service/paymentcryptography. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d39aa7054397..4c909fa8dd25 100644 --- a/go.mod +++ b/go.mod @@ -190,7 +190,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0 github.com/aws/aws-sdk-go-v2/service/osis v1.17.0 github.com/aws/aws-sdk-go-v2/service/outposts v1.54.0 - github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.20.1 + github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.21.0 github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.12.1 github.com/aws/aws-sdk-go-v2/service/pcs v1.8.0 github.com/aws/aws-sdk-go-v2/service/pinpoint v1.36.1 diff --git a/go.sum b/go.sum index af7c17bd5534..576693601836 100644 --- a/go.sum +++ b/go.sum @@ -401,8 +401,8 @@ github.com/aws/aws-sdk-go-v2/service/osis v1.17.0 h1:nVl7YEWp58Yvr+xIhmB0Uv6gG81 github.com/aws/aws-sdk-go-v2/service/osis v1.17.0/go.mod h1:XC+s07X9mHnIkFCbyUetdnnsXq5JAk3euhAkPQLP8No= github.com/aws/aws-sdk-go-v2/service/outposts v1.54.0 h1:8ZaAYen5L9x5f39dUL0VTZqZxhPvSSgqVeAiJBxIhyI= github.com/aws/aws-sdk-go-v2/service/outposts v1.54.0/go.mod h1:vY1UGGY5/OVqeJarn/SdEBpt1iG5bZwDSd9ZyKHpdkA= -github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.20.1 h1:AX6HWyE3hshMWlMUGzZQ+dMVNaa2f+yJ8VIEnUKbsQg= -github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.20.1/go.mod h1:fPpm6h3keIbLil7fhZ0W1lLDg9DrfYHVans55yzlFyM= +github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.21.0 h1:SXwcY2aJHH94ml1IDB3nI5OEP354jRrE7l291J31Ysk= +github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.21.0/go.mod h1:t9pbgPWLNsys/dSf1FX/0dOFRzYZIM3kBpUpHhXPc3M= github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.12.1 h1:IZ2DReKRxTvXr2RGhcB/z4DJGesXSfMvY5vSGycCEGk= github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.12.1/go.mod h1:ySW1vL+f/079GdqHIx7tOSP81yiB1Z01uKdtNlH0eb8= github.com/aws/aws-sdk-go-v2/service/pcs v1.8.0 h1:4nlUROOVIOnDFWLVcb2f6gUZXRinV+6XlSKJ/hzHEiY= From 4c7dc46b17304caca6b7ba34e83d936d3d736ab3 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:02 -0400 Subject: [PATCH 0461/1301] go get github.com/aws/aws-sdk-go-v2/service/pcaconnectorad. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 4c909fa8dd25..265ec6827bb5 100644 --- a/go.mod +++ b/go.mod @@ -191,7 +191,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/osis v1.17.0 github.com/aws/aws-sdk-go-v2/service/outposts v1.54.0 github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.21.0 - github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.12.1 + github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.13.0 github.com/aws/aws-sdk-go-v2/service/pcs v1.8.0 github.com/aws/aws-sdk-go-v2/service/pinpoint v1.36.1 github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.21.1 diff --git a/go.sum b/go.sum index 576693601836..b73a07d1bac2 100644 --- a/go.sum +++ b/go.sum @@ -403,8 +403,8 @@ github.com/aws/aws-sdk-go-v2/service/outposts v1.54.0 h1:8ZaAYen5L9x5f39dUL0VTZq github.com/aws/aws-sdk-go-v2/service/outposts v1.54.0/go.mod h1:vY1UGGY5/OVqeJarn/SdEBpt1iG5bZwDSd9ZyKHpdkA= github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.21.0 h1:SXwcY2aJHH94ml1IDB3nI5OEP354jRrE7l291J31Ysk= github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.21.0/go.mod h1:t9pbgPWLNsys/dSf1FX/0dOFRzYZIM3kBpUpHhXPc3M= -github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.12.1 h1:IZ2DReKRxTvXr2RGhcB/z4DJGesXSfMvY5vSGycCEGk= -github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.12.1/go.mod h1:ySW1vL+f/079GdqHIx7tOSP81yiB1Z01uKdtNlH0eb8= +github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.13.0 h1:Q1t6E3yautudrcIpwakAoKv26PAJyW6Ig/cIUQDDHNw= +github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.13.0/go.mod h1:SsEJc0U74aARkZh0N6LWwCMQ09fKS5an4zCA5vnWMAY= github.com/aws/aws-sdk-go-v2/service/pcs v1.8.0 h1:4nlUROOVIOnDFWLVcb2f6gUZXRinV+6XlSKJ/hzHEiY= github.com/aws/aws-sdk-go-v2/service/pcs v1.8.0/go.mod h1:06QcV8x3XG2rejuINX53oYb1+owkCEY0wW0orumnvOI= github.com/aws/aws-sdk-go-v2/service/pinpoint v1.36.1 h1:7vBcJCy6iXGagB8Z5zaRpF49H8nd3TVdVxLN5DrYYAs= From 58fe3c3d40e3958068bf25f47cbeec05e93fc4ad Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:03 -0400 Subject: [PATCH 0462/1301] go get github.com/aws/aws-sdk-go-v2/service/pcs. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 265ec6827bb5..2e84dfe9cdfb 100644 --- a/go.mod +++ b/go.mod @@ -192,7 +192,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/outposts v1.54.0 github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.21.0 github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.13.0 - github.com/aws/aws-sdk-go-v2/service/pcs v1.8.0 + github.com/aws/aws-sdk-go-v2/service/pcs v1.9.0 github.com/aws/aws-sdk-go-v2/service/pinpoint v1.36.1 github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.21.1 github.com/aws/aws-sdk-go-v2/service/pipes v1.20.1 diff --git a/go.sum b/go.sum index b73a07d1bac2..fda68180514d 100644 --- a/go.sum +++ b/go.sum @@ -405,8 +405,8 @@ github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.21.0 h1:SXwcY2aJHH94 github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.21.0/go.mod h1:t9pbgPWLNsys/dSf1FX/0dOFRzYZIM3kBpUpHhXPc3M= github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.13.0 h1:Q1t6E3yautudrcIpwakAoKv26PAJyW6Ig/cIUQDDHNw= github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.13.0/go.mod h1:SsEJc0U74aARkZh0N6LWwCMQ09fKS5an4zCA5vnWMAY= -github.com/aws/aws-sdk-go-v2/service/pcs v1.8.0 h1:4nlUROOVIOnDFWLVcb2f6gUZXRinV+6XlSKJ/hzHEiY= -github.com/aws/aws-sdk-go-v2/service/pcs v1.8.0/go.mod h1:06QcV8x3XG2rejuINX53oYb1+owkCEY0wW0orumnvOI= +github.com/aws/aws-sdk-go-v2/service/pcs v1.9.0 h1:p4b4SNco5g62xo/5MvMpDOflVRPW71QvNs2sr/fCNlM= +github.com/aws/aws-sdk-go-v2/service/pcs v1.9.0/go.mod h1:JDqZ9JPioPhoEHMzvqs7N6/YPP+lj3HfS5r3obaMP+Q= github.com/aws/aws-sdk-go-v2/service/pinpoint v1.36.1 h1:7vBcJCy6iXGagB8Z5zaRpF49H8nd3TVdVxLN5DrYYAs= github.com/aws/aws-sdk-go-v2/service/pinpoint v1.36.1/go.mod h1:D6qGC37YHDdlcGgNc9RA3++WTdWNRNq5gQP00cHFUQ4= github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.21.1 h1:tzp5DSj5QSMDMSxr9BpxuJBocueIQJ9bFnmaa9kZuLQ= From 1ac5a805126e366fff410bca1688873a00ac2875 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:04 -0400 Subject: [PATCH 0463/1301] go get github.com/aws/aws-sdk-go-v2/service/pinpoint. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 2e84dfe9cdfb..59e34d94bc80 100644 --- a/go.mod +++ b/go.mod @@ -193,7 +193,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.21.0 github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.13.0 github.com/aws/aws-sdk-go-v2/service/pcs v1.9.0 - github.com/aws/aws-sdk-go-v2/service/pinpoint v1.36.1 + github.com/aws/aws-sdk-go-v2/service/pinpoint v1.37.0 github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.21.1 github.com/aws/aws-sdk-go-v2/service/pipes v1.20.1 github.com/aws/aws-sdk-go-v2/service/polly v1.49.1 diff --git a/go.sum b/go.sum index fda68180514d..53d3050b3682 100644 --- a/go.sum +++ b/go.sum @@ -407,8 +407,8 @@ github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.13.0 h1:Q1t6E3yautudrcIpw github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.13.0/go.mod h1:SsEJc0U74aARkZh0N6LWwCMQ09fKS5an4zCA5vnWMAY= github.com/aws/aws-sdk-go-v2/service/pcs v1.9.0 h1:p4b4SNco5g62xo/5MvMpDOflVRPW71QvNs2sr/fCNlM= github.com/aws/aws-sdk-go-v2/service/pcs v1.9.0/go.mod h1:JDqZ9JPioPhoEHMzvqs7N6/YPP+lj3HfS5r3obaMP+Q= -github.com/aws/aws-sdk-go-v2/service/pinpoint v1.36.1 h1:7vBcJCy6iXGagB8Z5zaRpF49H8nd3TVdVxLN5DrYYAs= -github.com/aws/aws-sdk-go-v2/service/pinpoint v1.36.1/go.mod h1:D6qGC37YHDdlcGgNc9RA3++WTdWNRNq5gQP00cHFUQ4= +github.com/aws/aws-sdk-go-v2/service/pinpoint v1.37.0 h1:iblCKYZgkaT8MOFkXE45PP2vpkt/owgF/NKDuFW5QSk= +github.com/aws/aws-sdk-go-v2/service/pinpoint v1.37.0/go.mod h1:vvYqVkfExLWmdIuCBSVVnyRpOtoNArWFeLAtdACABJU= github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.21.1 h1:tzp5DSj5QSMDMSxr9BpxuJBocueIQJ9bFnmaa9kZuLQ= github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.21.1/go.mod h1:Fch5jvGSwyCbJp4xaqnXaGAtbA0Hp6WWnTjN5JzRzts= github.com/aws/aws-sdk-go-v2/service/pipes v1.20.1 h1:M1knm5Myge9U14SLwnEuJ/jMjnn/vVfk7CYCQd7H0Mg= From 073a5b3dea43b3a42e69ad56d500baefb63022f0 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:05 -0400 Subject: [PATCH 0464/1301] go get github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 59e34d94bc80..19ea4f0729f7 100644 --- a/go.mod +++ b/go.mod @@ -194,7 +194,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.13.0 github.com/aws/aws-sdk-go-v2/service/pcs v1.9.0 github.com/aws/aws-sdk-go-v2/service/pinpoint v1.37.0 - github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.21.1 + github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.22.0 github.com/aws/aws-sdk-go-v2/service/pipes v1.20.1 github.com/aws/aws-sdk-go-v2/service/polly v1.49.1 github.com/aws/aws-sdk-go-v2/service/pricing v1.36.1 diff --git a/go.sum b/go.sum index 53d3050b3682..0f6e75b90b2f 100644 --- a/go.sum +++ b/go.sum @@ -409,8 +409,8 @@ github.com/aws/aws-sdk-go-v2/service/pcs v1.9.0 h1:p4b4SNco5g62xo/5MvMpDOflVRPW7 github.com/aws/aws-sdk-go-v2/service/pcs v1.9.0/go.mod h1:JDqZ9JPioPhoEHMzvqs7N6/YPP+lj3HfS5r3obaMP+Q= github.com/aws/aws-sdk-go-v2/service/pinpoint v1.37.0 h1:iblCKYZgkaT8MOFkXE45PP2vpkt/owgF/NKDuFW5QSk= github.com/aws/aws-sdk-go-v2/service/pinpoint v1.37.0/go.mod h1:vvYqVkfExLWmdIuCBSVVnyRpOtoNArWFeLAtdACABJU= -github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.21.1 h1:tzp5DSj5QSMDMSxr9BpxuJBocueIQJ9bFnmaa9kZuLQ= -github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.21.1/go.mod h1:Fch5jvGSwyCbJp4xaqnXaGAtbA0Hp6WWnTjN5JzRzts= +github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.22.0 h1:yzCebSsGUtm2b0ydoCV/P4pPgyPnGrZbREr4SqbMYI4= +github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.22.0/go.mod h1:kun/un0OGKu3X40RldUHcOVAZ1esJh+UQ2Ygfscvxfs= github.com/aws/aws-sdk-go-v2/service/pipes v1.20.1 h1:M1knm5Myge9U14SLwnEuJ/jMjnn/vVfk7CYCQd7H0Mg= github.com/aws/aws-sdk-go-v2/service/pipes v1.20.1/go.mod h1:fi5webS7jgREIhMVEK9HcI1lXGzhyKf0l6JlgaQ4UZs= github.com/aws/aws-sdk-go-v2/service/polly v1.49.1 h1:g4JAX2yxmN9iJSE42TGR5GnionKpizF5IGqRdkw0aXA= From 0c4381690271761498d1685da8d2cc2058e130e0 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:07 -0400 Subject: [PATCH 0465/1301] go get github.com/aws/aws-sdk-go-v2/service/pipes. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 19ea4f0729f7..8157c711f2e0 100644 --- a/go.mod +++ b/go.mod @@ -195,7 +195,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/pcs v1.9.0 github.com/aws/aws-sdk-go-v2/service/pinpoint v1.37.0 github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.22.0 - github.com/aws/aws-sdk-go-v2/service/pipes v1.20.1 + github.com/aws/aws-sdk-go-v2/service/pipes v1.21.0 github.com/aws/aws-sdk-go-v2/service/polly v1.49.1 github.com/aws/aws-sdk-go-v2/service/pricing v1.36.1 github.com/aws/aws-sdk-go-v2/service/qbusiness v1.29.1 diff --git a/go.sum b/go.sum index 0f6e75b90b2f..e62fe379b481 100644 --- a/go.sum +++ b/go.sum @@ -411,8 +411,8 @@ github.com/aws/aws-sdk-go-v2/service/pinpoint v1.37.0 h1:iblCKYZgkaT8MOFkXE45PP2 github.com/aws/aws-sdk-go-v2/service/pinpoint v1.37.0/go.mod h1:vvYqVkfExLWmdIuCBSVVnyRpOtoNArWFeLAtdACABJU= github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.22.0 h1:yzCebSsGUtm2b0ydoCV/P4pPgyPnGrZbREr4SqbMYI4= github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.22.0/go.mod h1:kun/un0OGKu3X40RldUHcOVAZ1esJh+UQ2Ygfscvxfs= -github.com/aws/aws-sdk-go-v2/service/pipes v1.20.1 h1:M1knm5Myge9U14SLwnEuJ/jMjnn/vVfk7CYCQd7H0Mg= -github.com/aws/aws-sdk-go-v2/service/pipes v1.20.1/go.mod h1:fi5webS7jgREIhMVEK9HcI1lXGzhyKf0l6JlgaQ4UZs= +github.com/aws/aws-sdk-go-v2/service/pipes v1.21.0 h1:5G5fh9qKLjEo28aBdSm8kXdHhILG8n4XmZINTJoz2UM= +github.com/aws/aws-sdk-go-v2/service/pipes v1.21.0/go.mod h1:x9qPwjCG2xU8z6NPhOof1lKCtftMLRI33kW+F4V41eA= github.com/aws/aws-sdk-go-v2/service/polly v1.49.1 h1:g4JAX2yxmN9iJSE42TGR5GnionKpizF5IGqRdkw0aXA= github.com/aws/aws-sdk-go-v2/service/polly v1.49.1/go.mod h1:meOGU/2EvK6KAjTy4wey28iXOXOkMwYCw+jIQ3+7Mxs= github.com/aws/aws-sdk-go-v2/service/pricing v1.36.1 h1:LDR5vJNnAVqg9bZBI9sqSEpjhPGVelVFkxUwdvD6L2s= From c028f01e9645d29a68bca373bc4d444d55b2793b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:08 -0400 Subject: [PATCH 0466/1301] go get github.com/aws/aws-sdk-go-v2/service/polly. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8157c711f2e0..12286d503971 100644 --- a/go.mod +++ b/go.mod @@ -196,7 +196,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/pinpoint v1.37.0 github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.22.0 github.com/aws/aws-sdk-go-v2/service/pipes v1.21.0 - github.com/aws/aws-sdk-go-v2/service/polly v1.49.1 + github.com/aws/aws-sdk-go-v2/service/polly v1.50.0 github.com/aws/aws-sdk-go-v2/service/pricing v1.36.1 github.com/aws/aws-sdk-go-v2/service/qbusiness v1.29.1 github.com/aws/aws-sdk-go-v2/service/qldb v1.27.1 diff --git a/go.sum b/go.sum index e62fe379b481..2e0745133e8e 100644 --- a/go.sum +++ b/go.sum @@ -413,8 +413,8 @@ github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.22.0 h1:yzCebSsGUtm2b github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.22.0/go.mod h1:kun/un0OGKu3X40RldUHcOVAZ1esJh+UQ2Ygfscvxfs= github.com/aws/aws-sdk-go-v2/service/pipes v1.21.0 h1:5G5fh9qKLjEo28aBdSm8kXdHhILG8n4XmZINTJoz2UM= github.com/aws/aws-sdk-go-v2/service/pipes v1.21.0/go.mod h1:x9qPwjCG2xU8z6NPhOof1lKCtftMLRI33kW+F4V41eA= -github.com/aws/aws-sdk-go-v2/service/polly v1.49.1 h1:g4JAX2yxmN9iJSE42TGR5GnionKpizF5IGqRdkw0aXA= -github.com/aws/aws-sdk-go-v2/service/polly v1.49.1/go.mod h1:meOGU/2EvK6KAjTy4wey28iXOXOkMwYCw+jIQ3+7Mxs= +github.com/aws/aws-sdk-go-v2/service/polly v1.50.0 h1:/Ko6i/+k+0uCk4r+QWxNos2Ud5rdYfhhOa7H91YGP9c= +github.com/aws/aws-sdk-go-v2/service/polly v1.50.0/go.mod h1:M1YMwzU5ZvAvHSGYP0tehS+ZyugVNN/iOVs8qtkBDZc= github.com/aws/aws-sdk-go-v2/service/pricing v1.36.1 h1:LDR5vJNnAVqg9bZBI9sqSEpjhPGVelVFkxUwdvD6L2s= github.com/aws/aws-sdk-go-v2/service/pricing v1.36.1/go.mod h1:n6r5jWgZaSRvoEp+hVB18QPHBdlAnqu+nI/vaZXcZ4A= github.com/aws/aws-sdk-go-v2/service/qbusiness v1.29.1 h1:UEg5RyOrwwTgO3pEPVkBOZBhlZjGiVTJlLzUJcXLKQs= From a1ecce070c02cb3a846355afa705cfce71d4b82c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:09 -0400 Subject: [PATCH 0467/1301] go get github.com/aws/aws-sdk-go-v2/service/pricing. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 12286d503971..e163c2997f5d 100644 --- a/go.mod +++ b/go.mod @@ -197,7 +197,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.22.0 github.com/aws/aws-sdk-go-v2/service/pipes v1.21.0 github.com/aws/aws-sdk-go-v2/service/polly v1.50.0 - github.com/aws/aws-sdk-go-v2/service/pricing v1.36.1 + github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0 github.com/aws/aws-sdk-go-v2/service/qbusiness v1.29.1 github.com/aws/aws-sdk-go-v2/service/qldb v1.27.1 github.com/aws/aws-sdk-go-v2/service/quicksight v1.90.0 diff --git a/go.sum b/go.sum index 2e0745133e8e..53f7c951ce2e 100644 --- a/go.sum +++ b/go.sum @@ -415,8 +415,8 @@ github.com/aws/aws-sdk-go-v2/service/pipes v1.21.0 h1:5G5fh9qKLjEo28aBdSm8kXdHhI github.com/aws/aws-sdk-go-v2/service/pipes v1.21.0/go.mod h1:x9qPwjCG2xU8z6NPhOof1lKCtftMLRI33kW+F4V41eA= github.com/aws/aws-sdk-go-v2/service/polly v1.50.0 h1:/Ko6i/+k+0uCk4r+QWxNos2Ud5rdYfhhOa7H91YGP9c= github.com/aws/aws-sdk-go-v2/service/polly v1.50.0/go.mod h1:M1YMwzU5ZvAvHSGYP0tehS+ZyugVNN/iOVs8qtkBDZc= -github.com/aws/aws-sdk-go-v2/service/pricing v1.36.1 h1:LDR5vJNnAVqg9bZBI9sqSEpjhPGVelVFkxUwdvD6L2s= -github.com/aws/aws-sdk-go-v2/service/pricing v1.36.1/go.mod h1:n6r5jWgZaSRvoEp+hVB18QPHBdlAnqu+nI/vaZXcZ4A= +github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0 h1:zpM/q6rXnv8qt4DCnMmGY9sDQgzi8TDsIK6Px2pEYss= +github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0/go.mod h1:i1FZ0Fod5/f8GgwlEJYKrniHDzKY+CTpKGZbkNNUv8s= github.com/aws/aws-sdk-go-v2/service/qbusiness v1.29.1 h1:UEg5RyOrwwTgO3pEPVkBOZBhlZjGiVTJlLzUJcXLKQs= github.com/aws/aws-sdk-go-v2/service/qbusiness v1.29.1/go.mod h1:RbC8dW2YmTMAE9jWWuOw1imZjbGQXbzZs3i/XzmhZkc= github.com/aws/aws-sdk-go-v2/service/qldb v1.27.1 h1:M0bDQzEES16it3M8iwvYw0JYWSHtAELprn66MS8jjBo= From 604e3d27aad5f69fb1ab3f3b2d272a8d84970efe Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:10 -0400 Subject: [PATCH 0468/1301] go get github.com/aws/aws-sdk-go-v2/service/qbusiness. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e163c2997f5d..88deecc26a66 100644 --- a/go.mod +++ b/go.mod @@ -198,7 +198,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/pipes v1.21.0 github.com/aws/aws-sdk-go-v2/service/polly v1.50.0 github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0 - github.com/aws/aws-sdk-go-v2/service/qbusiness v1.29.1 + github.com/aws/aws-sdk-go-v2/service/qbusiness v1.30.0 github.com/aws/aws-sdk-go-v2/service/qldb v1.27.1 github.com/aws/aws-sdk-go-v2/service/quicksight v1.90.0 github.com/aws/aws-sdk-go-v2/service/ram v1.31.1 diff --git a/go.sum b/go.sum index 53f7c951ce2e..49731a78818e 100644 --- a/go.sum +++ b/go.sum @@ -417,8 +417,8 @@ github.com/aws/aws-sdk-go-v2/service/polly v1.50.0 h1:/Ko6i/+k+0uCk4r+QWxNos2Ud5 github.com/aws/aws-sdk-go-v2/service/polly v1.50.0/go.mod h1:M1YMwzU5ZvAvHSGYP0tehS+ZyugVNN/iOVs8qtkBDZc= github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0 h1:zpM/q6rXnv8qt4DCnMmGY9sDQgzi8TDsIK6Px2pEYss= github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0/go.mod h1:i1FZ0Fod5/f8GgwlEJYKrniHDzKY+CTpKGZbkNNUv8s= -github.com/aws/aws-sdk-go-v2/service/qbusiness v1.29.1 h1:UEg5RyOrwwTgO3pEPVkBOZBhlZjGiVTJlLzUJcXLKQs= -github.com/aws/aws-sdk-go-v2/service/qbusiness v1.29.1/go.mod h1:RbC8dW2YmTMAE9jWWuOw1imZjbGQXbzZs3i/XzmhZkc= +github.com/aws/aws-sdk-go-v2/service/qbusiness v1.30.0 h1:DukPIuKXpMXa3/fFj5qEAN3h6XT0bCN19DWJ/FCWgcs= +github.com/aws/aws-sdk-go-v2/service/qbusiness v1.30.0/go.mod h1:QE7cNn5zN0YDL/6KkqzX19kbBRQhK02OwfFZeCL55n4= github.com/aws/aws-sdk-go-v2/service/qldb v1.27.1 h1:M0bDQzEES16it3M8iwvYw0JYWSHtAELprn66MS8jjBo= github.com/aws/aws-sdk-go-v2/service/qldb v1.27.1/go.mod h1:UCoQ1I3GDheCu90XJjXyvO/v2AUFTwLER6h4QmvSego= github.com/aws/aws-sdk-go-v2/service/quicksight v1.90.0 h1:dt5QvxSk2EvYWpCFtHRu31scM9sC9PLjgRwvdShfNrg= From 76374000e533b418d779d6aecd7b8ecd37ce4706 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:11 -0400 Subject: [PATCH 0469/1301] go get github.com/aws/aws-sdk-go-v2/service/qldb. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 88deecc26a66..2873628aa31c 100644 --- a/go.mod +++ b/go.mod @@ -199,7 +199,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/polly v1.50.0 github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0 github.com/aws/aws-sdk-go-v2/service/qbusiness v1.30.0 - github.com/aws/aws-sdk-go-v2/service/qldb v1.27.1 + github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0 github.com/aws/aws-sdk-go-v2/service/quicksight v1.90.0 github.com/aws/aws-sdk-go-v2/service/ram v1.31.1 github.com/aws/aws-sdk-go-v2/service/rbin v1.23.1 diff --git a/go.sum b/go.sum index 49731a78818e..8b822f878457 100644 --- a/go.sum +++ b/go.sum @@ -419,8 +419,8 @@ github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0 h1:zpM/q6rXnv8qt4DCnMmGY9sD github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0/go.mod h1:i1FZ0Fod5/f8GgwlEJYKrniHDzKY+CTpKGZbkNNUv8s= github.com/aws/aws-sdk-go-v2/service/qbusiness v1.30.0 h1:DukPIuKXpMXa3/fFj5qEAN3h6XT0bCN19DWJ/FCWgcs= github.com/aws/aws-sdk-go-v2/service/qbusiness v1.30.0/go.mod h1:QE7cNn5zN0YDL/6KkqzX19kbBRQhK02OwfFZeCL55n4= -github.com/aws/aws-sdk-go-v2/service/qldb v1.27.1 h1:M0bDQzEES16it3M8iwvYw0JYWSHtAELprn66MS8jjBo= -github.com/aws/aws-sdk-go-v2/service/qldb v1.27.1/go.mod h1:UCoQ1I3GDheCu90XJjXyvO/v2AUFTwLER6h4QmvSego= +github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0 h1:dDMYSGq/6QkySf70y+o7uFTI2jXrfGUVBJpip1n27XI= +github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0/go.mod h1:cMl4sBdwqdM8xQal4Sm1IiA9gIgFO9ZhvxL0qd6TH24= github.com/aws/aws-sdk-go-v2/service/quicksight v1.90.0 h1:dt5QvxSk2EvYWpCFtHRu31scM9sC9PLjgRwvdShfNrg= github.com/aws/aws-sdk-go-v2/service/quicksight v1.90.0/go.mod h1:YQlQUXV3sa9nZR2W2DyrOVHoLoEDUjcoqe3vGgYTPPg= github.com/aws/aws-sdk-go-v2/service/ram v1.31.1 h1:DZ1qMqkin2aoXDI9X4G48hufZ5Unag/11WmDgIEN31w= From 717f68c54962b915b11039b9ad4324174651c1c4 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:13 -0400 Subject: [PATCH 0470/1301] go get github.com/aws/aws-sdk-go-v2/service/quicksight. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 2873628aa31c..00be1dbb22cf 100644 --- a/go.mod +++ b/go.mod @@ -200,7 +200,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0 github.com/aws/aws-sdk-go-v2/service/qbusiness v1.30.0 github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0 - github.com/aws/aws-sdk-go-v2/service/quicksight v1.90.0 + github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0 github.com/aws/aws-sdk-go-v2/service/ram v1.31.1 github.com/aws/aws-sdk-go-v2/service/rbin v1.23.1 github.com/aws/aws-sdk-go-v2/service/rds v1.100.1 diff --git a/go.sum b/go.sum index 8b822f878457..65fa096c556c 100644 --- a/go.sum +++ b/go.sum @@ -421,8 +421,8 @@ github.com/aws/aws-sdk-go-v2/service/qbusiness v1.30.0 h1:DukPIuKXpMXa3/fFj5qEAN github.com/aws/aws-sdk-go-v2/service/qbusiness v1.30.0/go.mod h1:QE7cNn5zN0YDL/6KkqzX19kbBRQhK02OwfFZeCL55n4= github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0 h1:dDMYSGq/6QkySf70y+o7uFTI2jXrfGUVBJpip1n27XI= github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0/go.mod h1:cMl4sBdwqdM8xQal4Sm1IiA9gIgFO9ZhvxL0qd6TH24= -github.com/aws/aws-sdk-go-v2/service/quicksight v1.90.0 h1:dt5QvxSk2EvYWpCFtHRu31scM9sC9PLjgRwvdShfNrg= -github.com/aws/aws-sdk-go-v2/service/quicksight v1.90.0/go.mod h1:YQlQUXV3sa9nZR2W2DyrOVHoLoEDUjcoqe3vGgYTPPg= +github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0 h1:UmX69w9sT2swoojDQY9VlUObHjUh27PyFUCK98b8RcY= +github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0/go.mod h1:giBYbL9xfVEcGSMmvnynNB8Em78y8UKpnrgUZ1ulV/U= github.com/aws/aws-sdk-go-v2/service/ram v1.31.1 h1:DZ1qMqkin2aoXDI9X4G48hufZ5Unag/11WmDgIEN31w= github.com/aws/aws-sdk-go-v2/service/ram v1.31.1/go.mod h1:EtWvsAzhCnrUB03jgf70O8Sqi5gmRUQsFExhChPMI3U= github.com/aws/aws-sdk-go-v2/service/rbin v1.23.1 h1:MuUdwoKOOY+H54Fb596ADns1ug2qM9QxGUIsgZshhVQ= From c97e2e4928686913f7e7038be608e436eccab7d4 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:14 -0400 Subject: [PATCH 0471/1301] go get github.com/aws/aws-sdk-go-v2/service/ram. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 00be1dbb22cf..35aafe958069 100644 --- a/go.mod +++ b/go.mod @@ -201,7 +201,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/qbusiness v1.30.0 github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0 github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0 - github.com/aws/aws-sdk-go-v2/service/ram v1.31.1 + github.com/aws/aws-sdk-go-v2/service/ram v1.32.0 github.com/aws/aws-sdk-go-v2/service/rbin v1.23.1 github.com/aws/aws-sdk-go-v2/service/rds v1.100.1 github.com/aws/aws-sdk-go-v2/service/redshift v1.55.1 diff --git a/go.sum b/go.sum index 65fa096c556c..75e9f8157b64 100644 --- a/go.sum +++ b/go.sum @@ -423,8 +423,8 @@ github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0 h1:dDMYSGq/6QkySf70y+o7uFTI2jX github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0/go.mod h1:cMl4sBdwqdM8xQal4Sm1IiA9gIgFO9ZhvxL0qd6TH24= github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0 h1:UmX69w9sT2swoojDQY9VlUObHjUh27PyFUCK98b8RcY= github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0/go.mod h1:giBYbL9xfVEcGSMmvnynNB8Em78y8UKpnrgUZ1ulV/U= -github.com/aws/aws-sdk-go-v2/service/ram v1.31.1 h1:DZ1qMqkin2aoXDI9X4G48hufZ5Unag/11WmDgIEN31w= -github.com/aws/aws-sdk-go-v2/service/ram v1.31.1/go.mod h1:EtWvsAzhCnrUB03jgf70O8Sqi5gmRUQsFExhChPMI3U= +github.com/aws/aws-sdk-go-v2/service/ram v1.32.0 h1:G+68C4zK76iUFgJhkipUKRWh2HLLtRnDTZapiOfJdhA= +github.com/aws/aws-sdk-go-v2/service/ram v1.32.0/go.mod h1:nw5Xtgpjw7qpk2pLnnUFfM1OJR4mbgGyM/mW5Tq3uvM= github.com/aws/aws-sdk-go-v2/service/rbin v1.23.1 h1:MuUdwoKOOY+H54Fb596ADns1ug2qM9QxGUIsgZshhVQ= github.com/aws/aws-sdk-go-v2/service/rbin v1.23.1/go.mod h1:Gs3msPhLk/QQjEfCDK3iZXEOJltg2JyQJMuQ0hhvFLk= github.com/aws/aws-sdk-go-v2/service/rds v1.100.1 h1:1QZUBDI1zr0RrVorJMgtgs2heL/23IxiKM0eRdW48Cc= From a1a33205ce14809dccd1337921bbe0ede601a72f Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:15 -0400 Subject: [PATCH 0472/1301] go get github.com/aws/aws-sdk-go-v2/service/rbin. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 35aafe958069..e0bca4b8ff47 100644 --- a/go.mod +++ b/go.mod @@ -202,7 +202,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0 github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0 github.com/aws/aws-sdk-go-v2/service/ram v1.32.0 - github.com/aws/aws-sdk-go-v2/service/rbin v1.23.1 + github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0 github.com/aws/aws-sdk-go-v2/service/rds v1.100.1 github.com/aws/aws-sdk-go-v2/service/redshift v1.55.1 github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.34.1 diff --git a/go.sum b/go.sum index 75e9f8157b64..afe0c7c1fd2d 100644 --- a/go.sum +++ b/go.sum @@ -425,8 +425,8 @@ github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0 h1:UmX69w9sT2swoojDQY9Vl github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0/go.mod h1:giBYbL9xfVEcGSMmvnynNB8Em78y8UKpnrgUZ1ulV/U= github.com/aws/aws-sdk-go-v2/service/ram v1.32.0 h1:G+68C4zK76iUFgJhkipUKRWh2HLLtRnDTZapiOfJdhA= github.com/aws/aws-sdk-go-v2/service/ram v1.32.0/go.mod h1:nw5Xtgpjw7qpk2pLnnUFfM1OJR4mbgGyM/mW5Tq3uvM= -github.com/aws/aws-sdk-go-v2/service/rbin v1.23.1 h1:MuUdwoKOOY+H54Fb596ADns1ug2qM9QxGUIsgZshhVQ= -github.com/aws/aws-sdk-go-v2/service/rbin v1.23.1/go.mod h1:Gs3msPhLk/QQjEfCDK3iZXEOJltg2JyQJMuQ0hhvFLk= +github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0 h1:lCSjmiJBPQ+YQpVv7HDuSQxzdMaOF6VHIpEAo6JuCgE= +github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0/go.mod h1:qvr0xsDkBeaCaYZb0sWWItYyapmRxaJkOJ3H9c0nRu4= github.com/aws/aws-sdk-go-v2/service/rds v1.100.1 h1:1QZUBDI1zr0RrVorJMgtgs2heL/23IxiKM0eRdW48Cc= github.com/aws/aws-sdk-go-v2/service/rds v1.100.1/go.mod h1:7xLgcsUoy294mtsJFC+1/lZBwkZRuhb6Tnr2X/AOrl8= github.com/aws/aws-sdk-go-v2/service/redshift v1.55.1 h1:g2AXKrTkVjnWpYXBXJ00lU6NaU849/jIIRxLVo10HGM= From 61aefed50c6744022b0381db09c7197eccaeac86 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:16 -0400 Subject: [PATCH 0473/1301] go get github.com/aws/aws-sdk-go-v2/service/rds. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e0bca4b8ff47..cab21bd154d4 100644 --- a/go.mod +++ b/go.mod @@ -203,7 +203,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0 github.com/aws/aws-sdk-go-v2/service/ram v1.32.0 github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0 - github.com/aws/aws-sdk-go-v2/service/rds v1.100.1 + github.com/aws/aws-sdk-go-v2/service/rds v1.101.0 github.com/aws/aws-sdk-go-v2/service/redshift v1.55.1 github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.34.1 github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.28.1 diff --git a/go.sum b/go.sum index afe0c7c1fd2d..94b187a2c697 100644 --- a/go.sum +++ b/go.sum @@ -427,8 +427,8 @@ github.com/aws/aws-sdk-go-v2/service/ram v1.32.0 h1:G+68C4zK76iUFgJhkipUKRWh2HLL github.com/aws/aws-sdk-go-v2/service/ram v1.32.0/go.mod h1:nw5Xtgpjw7qpk2pLnnUFfM1OJR4mbgGyM/mW5Tq3uvM= github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0 h1:lCSjmiJBPQ+YQpVv7HDuSQxzdMaOF6VHIpEAo6JuCgE= github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0/go.mod h1:qvr0xsDkBeaCaYZb0sWWItYyapmRxaJkOJ3H9c0nRu4= -github.com/aws/aws-sdk-go-v2/service/rds v1.100.1 h1:1QZUBDI1zr0RrVorJMgtgs2heL/23IxiKM0eRdW48Cc= -github.com/aws/aws-sdk-go-v2/service/rds v1.100.1/go.mod h1:7xLgcsUoy294mtsJFC+1/lZBwkZRuhb6Tnr2X/AOrl8= +github.com/aws/aws-sdk-go-v2/service/rds v1.101.0 h1:CWTHGWkLi+lBSt3tlFNKA8YrNG7hr1xOG6IO5XW3cpE= +github.com/aws/aws-sdk-go-v2/service/rds v1.101.0/go.mod h1:BSg3GYV7zYSk/vUsT77SlTZcYz7JmBprKslzqSuC9Nw= github.com/aws/aws-sdk-go-v2/service/redshift v1.55.1 h1:g2AXKrTkVjnWpYXBXJ00lU6NaU849/jIIRxLVo10HGM= github.com/aws/aws-sdk-go-v2/service/redshift v1.55.1/go.mod h1:GGQqtUubSmvzcr23P48Qkkv2auTeatL67pL9SO6/b14= github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.34.1 h1:4+OFVGzIg6JcwbR8FKtYdC6AuSg1jV11Hk3RIv6y2oY= From 3f535a45d149d450210c080638ebf1dfc198c498 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:17 -0400 Subject: [PATCH 0474/1301] go get github.com/aws/aws-sdk-go-v2/service/redshift. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index cab21bd154d4..110966315312 100644 --- a/go.mod +++ b/go.mod @@ -204,7 +204,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ram v1.32.0 github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0 github.com/aws/aws-sdk-go-v2/service/rds v1.101.0 - github.com/aws/aws-sdk-go-v2/service/redshift v1.55.1 + github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0 github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.34.1 github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.28.1 github.com/aws/aws-sdk-go-v2/service/rekognition v1.48.1 diff --git a/go.sum b/go.sum index 94b187a2c697..6b61d6bba961 100644 --- a/go.sum +++ b/go.sum @@ -429,8 +429,8 @@ github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0 h1:lCSjmiJBPQ+YQpVv7HDuSQxzdMa github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0/go.mod h1:qvr0xsDkBeaCaYZb0sWWItYyapmRxaJkOJ3H9c0nRu4= github.com/aws/aws-sdk-go-v2/service/rds v1.101.0 h1:CWTHGWkLi+lBSt3tlFNKA8YrNG7hr1xOG6IO5XW3cpE= github.com/aws/aws-sdk-go-v2/service/rds v1.101.0/go.mod h1:BSg3GYV7zYSk/vUsT77SlTZcYz7JmBprKslzqSuC9Nw= -github.com/aws/aws-sdk-go-v2/service/redshift v1.55.1 h1:g2AXKrTkVjnWpYXBXJ00lU6NaU849/jIIRxLVo10HGM= -github.com/aws/aws-sdk-go-v2/service/redshift v1.55.1/go.mod h1:GGQqtUubSmvzcr23P48Qkkv2auTeatL67pL9SO6/b14= +github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0 h1:UzGm4pOaR1MQE8kQ0HzuzrIKZvjxfYWmHAhjmkFWrKY= +github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0/go.mod h1:gPTBFJ7XZEk2thUl1+MS6/kEd0jLuJBIzLz5xuveRvY= github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.34.1 h1:4+OFVGzIg6JcwbR8FKtYdC6AuSg1jV11Hk3RIv6y2oY= github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.34.1/go.mod h1:heOxElSAAGnh+jfAH0hK9ilW856kSFYBlYRJS5QKbm0= github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.28.1 h1:Tybcb+WE3hbjkF3kfkppyS6qRigIZwlPbtnFdMN9Hvg= From 4e8f6a55536484b7a5c85ab8de5a04215e146d45 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:17 -0400 Subject: [PATCH 0475/1301] go get github.com/aws/aws-sdk-go-v2/service/redshiftdata. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 110966315312..cc4be585b6c6 100644 --- a/go.mod +++ b/go.mod @@ -205,7 +205,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0 github.com/aws/aws-sdk-go-v2/service/rds v1.101.0 github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0 - github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.34.1 + github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0 github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.28.1 github.com/aws/aws-sdk-go-v2/service/rekognition v1.48.1 github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.31.1 diff --git a/go.sum b/go.sum index 6b61d6bba961..1ba91dfc7009 100644 --- a/go.sum +++ b/go.sum @@ -431,8 +431,8 @@ github.com/aws/aws-sdk-go-v2/service/rds v1.101.0 h1:CWTHGWkLi+lBSt3tlFNKA8YrNG7 github.com/aws/aws-sdk-go-v2/service/rds v1.101.0/go.mod h1:BSg3GYV7zYSk/vUsT77SlTZcYz7JmBprKslzqSuC9Nw= github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0 h1:UzGm4pOaR1MQE8kQ0HzuzrIKZvjxfYWmHAhjmkFWrKY= github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0/go.mod h1:gPTBFJ7XZEk2thUl1+MS6/kEd0jLuJBIzLz5xuveRvY= -github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.34.1 h1:4+OFVGzIg6JcwbR8FKtYdC6AuSg1jV11Hk3RIv6y2oY= -github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.34.1/go.mod h1:heOxElSAAGnh+jfAH0hK9ilW856kSFYBlYRJS5QKbm0= +github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0 h1:2uGuWyvd7uCOEcEMN+SWkJsXlXOPrzfBtElITMnVAp4= +github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0/go.mod h1:6Xy8SN1liN5+zoTMZ1C2UpeUdJURWSqr9u8wkOtSpdE= github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.28.1 h1:Tybcb+WE3hbjkF3kfkppyS6qRigIZwlPbtnFdMN9Hvg= github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.28.1/go.mod h1:PD4779i8tDuTz0p6k1XSZTF2RrepnIGeZOTCmuFhFOA= github.com/aws/aws-sdk-go-v2/service/rekognition v1.48.1 h1:MKivszAL8Z3w1hzxV6peGzSQsSekbrYcUaYS0IxjxbI= From 3c8a7a5f1b777adb13b522f42e72ac6995528a05 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:18 -0400 Subject: [PATCH 0476/1301] go get github.com/aws/aws-sdk-go-v2/service/redshiftserverless. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index cc4be585b6c6..4767a3ac0557 100644 --- a/go.mod +++ b/go.mod @@ -206,7 +206,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/rds v1.101.0 github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0 github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0 - github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.28.1 + github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.29.0 github.com/aws/aws-sdk-go-v2/service/rekognition v1.48.1 github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.31.1 github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.18.1 diff --git a/go.sum b/go.sum index 1ba91dfc7009..5fb19b29ec9b 100644 --- a/go.sum +++ b/go.sum @@ -433,8 +433,8 @@ github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0 h1:UzGm4pOaR1MQE8kQ0HzuzrI github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0/go.mod h1:gPTBFJ7XZEk2thUl1+MS6/kEd0jLuJBIzLz5xuveRvY= github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0 h1:2uGuWyvd7uCOEcEMN+SWkJsXlXOPrzfBtElITMnVAp4= github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0/go.mod h1:6Xy8SN1liN5+zoTMZ1C2UpeUdJURWSqr9u8wkOtSpdE= -github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.28.1 h1:Tybcb+WE3hbjkF3kfkppyS6qRigIZwlPbtnFdMN9Hvg= -github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.28.1/go.mod h1:PD4779i8tDuTz0p6k1XSZTF2RrepnIGeZOTCmuFhFOA= +github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.29.0 h1:U6WGIeSwoC0xrSi710RscXbEzLjEXpVWzVV4SsrZyRA= +github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.29.0/go.mod h1:HcZb7L9GmTq1C7RKGBb14VRSTPjnnP9aFJ0xL3KQPco= github.com/aws/aws-sdk-go-v2/service/rekognition v1.48.1 h1:MKivszAL8Z3w1hzxV6peGzSQsSekbrYcUaYS0IxjxbI= github.com/aws/aws-sdk-go-v2/service/rekognition v1.48.1/go.mod h1:cKS/VXrV5GDM0JLURHffLzC17fm3luMz/6XPH2A92fw= github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.31.1 h1:Y6aoFAl88KNul8+otRs+DRKmp9FUEhWtCpyox/VkZzM= From 6ce523b92124b909e1dac087bc7ce41f664c8a95 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:19 -0400 Subject: [PATCH 0477/1301] go get github.com/aws/aws-sdk-go-v2/service/rekognition. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 4767a3ac0557..79f329d2e43a 100644 --- a/go.mod +++ b/go.mod @@ -207,7 +207,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0 github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0 github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.29.0 - github.com/aws/aws-sdk-go-v2/service/rekognition v1.48.1 + github.com/aws/aws-sdk-go-v2/service/rekognition v1.49.0 github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.31.1 github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.18.1 github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.30.1 diff --git a/go.sum b/go.sum index 5fb19b29ec9b..a60bb11f1620 100644 --- a/go.sum +++ b/go.sum @@ -435,8 +435,8 @@ github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0 h1:2uGuWyvd7uCOEcEMN+S github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0/go.mod h1:6Xy8SN1liN5+zoTMZ1C2UpeUdJURWSqr9u8wkOtSpdE= github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.29.0 h1:U6WGIeSwoC0xrSi710RscXbEzLjEXpVWzVV4SsrZyRA= github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.29.0/go.mod h1:HcZb7L9GmTq1C7RKGBb14VRSTPjnnP9aFJ0xL3KQPco= -github.com/aws/aws-sdk-go-v2/service/rekognition v1.48.1 h1:MKivszAL8Z3w1hzxV6peGzSQsSekbrYcUaYS0IxjxbI= -github.com/aws/aws-sdk-go-v2/service/rekognition v1.48.1/go.mod h1:cKS/VXrV5GDM0JLURHffLzC17fm3luMz/6XPH2A92fw= +github.com/aws/aws-sdk-go-v2/service/rekognition v1.49.0 h1:yJ4TZzihb5umIh54Zryxeh/LGAtNu3zs/V4J90sQR0o= +github.com/aws/aws-sdk-go-v2/service/rekognition v1.49.0/go.mod h1:2KdIwOeztIPoWhKxA3Jnn1PYzDB45NOYUWkSKfFsHIo= github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.31.1 h1:Y6aoFAl88KNul8+otRs+DRKmp9FUEhWtCpyox/VkZzM= github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.31.1/go.mod h1:Z0BCXb/w38nvM+lPuYMGXuOHFgKl1y+MY11yzW4WprY= github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.18.1 h1:Ocp3eIEr9gyd7YunIdPRRDOAw+bm622Ys2rrw/Iylps= From 1945f48ba279fa8e3efb8bce208b6c4f280f1d49 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:20 -0400 Subject: [PATCH 0478/1301] go get github.com/aws/aws-sdk-go-v2/service/resiliencehub. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 79f329d2e43a..3a5786a7e118 100644 --- a/go.mod +++ b/go.mod @@ -208,7 +208,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0 github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.29.0 github.com/aws/aws-sdk-go-v2/service/rekognition v1.49.0 - github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.31.1 + github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.32.0 github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.18.1 github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.30.1 github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.27.1 diff --git a/go.sum b/go.sum index a60bb11f1620..b53feac9bb8b 100644 --- a/go.sum +++ b/go.sum @@ -437,8 +437,8 @@ github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.29.0 h1:U6WGIeSwoC0xr github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.29.0/go.mod h1:HcZb7L9GmTq1C7RKGBb14VRSTPjnnP9aFJ0xL3KQPco= github.com/aws/aws-sdk-go-v2/service/rekognition v1.49.0 h1:yJ4TZzihb5umIh54Zryxeh/LGAtNu3zs/V4J90sQR0o= github.com/aws/aws-sdk-go-v2/service/rekognition v1.49.0/go.mod h1:2KdIwOeztIPoWhKxA3Jnn1PYzDB45NOYUWkSKfFsHIo= -github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.31.1 h1:Y6aoFAl88KNul8+otRs+DRKmp9FUEhWtCpyox/VkZzM= -github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.31.1/go.mod h1:Z0BCXb/w38nvM+lPuYMGXuOHFgKl1y+MY11yzW4WprY= +github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.32.0 h1:W5cFv1nnrXWQIIcP9g0znL9GYrOs2OVxNvWIE+pJjqw= +github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.32.0/go.mod h1:Ya5/VbHcg63rRJ10MXtqA5i42LeOuP6edwuhISe6RNM= github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.18.1 h1:Ocp3eIEr9gyd7YunIdPRRDOAw+bm622Ys2rrw/Iylps= github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.18.1/go.mod h1:RGYowXd4xqI/xxZdNyvk1b4lO43heRlHt5hvFQgqT8Q= github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.30.1 h1:KhIp2JHWuSUDXyJK7PDfAr30cko1YKDhbE6O1byejkE= From 77d11f13ffb3e0f0b968ee9228624b793f66d23b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:21 -0400 Subject: [PATCH 0479/1301] go get github.com/aws/aws-sdk-go-v2/service/resourceexplorer2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 3a5786a7e118..62833b4d23af 100644 --- a/go.mod +++ b/go.mod @@ -209,7 +209,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.29.0 github.com/aws/aws-sdk-go-v2/service/rekognition v1.49.0 github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.32.0 - github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.18.1 + github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.19.0 github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.30.1 github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.27.1 github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.18.1 diff --git a/go.sum b/go.sum index b53feac9bb8b..1f7378d72767 100644 --- a/go.sum +++ b/go.sum @@ -439,8 +439,8 @@ github.com/aws/aws-sdk-go-v2/service/rekognition v1.49.0 h1:yJ4TZzihb5umIh54Zryx github.com/aws/aws-sdk-go-v2/service/rekognition v1.49.0/go.mod h1:2KdIwOeztIPoWhKxA3Jnn1PYzDB45NOYUWkSKfFsHIo= github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.32.0 h1:W5cFv1nnrXWQIIcP9g0znL9GYrOs2OVxNvWIE+pJjqw= github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.32.0/go.mod h1:Ya5/VbHcg63rRJ10MXtqA5i42LeOuP6edwuhISe6RNM= -github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.18.1 h1:Ocp3eIEr9gyd7YunIdPRRDOAw+bm622Ys2rrw/Iylps= -github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.18.1/go.mod h1:RGYowXd4xqI/xxZdNyvk1b4lO43heRlHt5hvFQgqT8Q= +github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.19.0 h1:3VIjZDJSYXEnVuWIRq0oXHISbO+tpya0qIHPPzpp2+A= +github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.19.0/go.mod h1:bf6/IS5mQoUM4XVKcEaNCF3ghEuOyan7agPlzSheMk4= github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.30.1 h1:KhIp2JHWuSUDXyJK7PDfAr30cko1YKDhbE6O1byejkE= github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.30.1/go.mod h1:2zyaohdBXZBnLMMXhx0e3cd63JycCSl+X9YFNHP7gtY= github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.27.1 h1:dGw/U6NbhnWoW2gw+75/AZvnYjFuxYRtzUpxALoRhLc= From 297a847099d31ea80b3206a7cfd1ee4b59854a1d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:22 -0400 Subject: [PATCH 0480/1301] go get github.com/aws/aws-sdk-go-v2/service/resourcegroups. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 62833b4d23af..dd3563041c0e 100644 --- a/go.mod +++ b/go.mod @@ -210,7 +210,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/rekognition v1.49.0 github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.32.0 github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.19.0 - github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.30.1 + github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.31.0 github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.27.1 github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.18.1 github.com/aws/aws-sdk-go-v2/service/route53 v1.54.1 diff --git a/go.sum b/go.sum index 1f7378d72767..825358aee207 100644 --- a/go.sum +++ b/go.sum @@ -441,8 +441,8 @@ github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.32.0 h1:W5cFv1nnrXWQIIcP9g github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.32.0/go.mod h1:Ya5/VbHcg63rRJ10MXtqA5i42LeOuP6edwuhISe6RNM= github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.19.0 h1:3VIjZDJSYXEnVuWIRq0oXHISbO+tpya0qIHPPzpp2+A= github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.19.0/go.mod h1:bf6/IS5mQoUM4XVKcEaNCF3ghEuOyan7agPlzSheMk4= -github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.30.1 h1:KhIp2JHWuSUDXyJK7PDfAr30cko1YKDhbE6O1byejkE= -github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.30.1/go.mod h1:2zyaohdBXZBnLMMXhx0e3cd63JycCSl+X9YFNHP7gtY= +github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.31.0 h1:L9r0qWc6316M37Pb4ce2qAtxAXb2ZJHUIRfqS0yP9eY= +github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.31.0/go.mod h1:7xr8mm8k3g6gDnYYn3MtEtmSg84Ki/3+exNQe3aLx8Y= github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.27.1 h1:dGw/U6NbhnWoW2gw+75/AZvnYjFuxYRtzUpxALoRhLc= github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.27.1/go.mod h1:ZNIISn1QONFDUbTmkIK53IBTrGn1TbsrBH5pG/BCwew= github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.18.1 h1:CS6N35VnEJGpPbXUoQEm0LBA/uDpTC/jfrAkkNsbjEo= From ab325614337c814f0f244988aaa3ea2748244a7e Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:23 -0400 Subject: [PATCH 0481/1301] go get github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index dd3563041c0e..a539b763d41e 100644 --- a/go.mod +++ b/go.mod @@ -211,7 +211,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.32.0 github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.19.0 github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.31.0 - github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.27.1 + github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0 github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.18.1 github.com/aws/aws-sdk-go-v2/service/route53 v1.54.1 github.com/aws/aws-sdk-go-v2/service/route53domains v1.30.1 diff --git a/go.sum b/go.sum index 825358aee207..8f62d902de55 100644 --- a/go.sum +++ b/go.sum @@ -443,8 +443,8 @@ github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.19.0 h1:3VIjZDJSYXEnVu github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.19.0/go.mod h1:bf6/IS5mQoUM4XVKcEaNCF3ghEuOyan7agPlzSheMk4= github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.31.0 h1:L9r0qWc6316M37Pb4ce2qAtxAXb2ZJHUIRfqS0yP9eY= github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.31.0/go.mod h1:7xr8mm8k3g6gDnYYn3MtEtmSg84Ki/3+exNQe3aLx8Y= -github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.27.1 h1:dGw/U6NbhnWoW2gw+75/AZvnYjFuxYRtzUpxALoRhLc= -github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.27.1/go.mod h1:ZNIISn1QONFDUbTmkIK53IBTrGn1TbsrBH5pG/BCwew= +github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0 h1:UtG7I7N+hYu6X4Yjz8XC7tgRCss5PiEgCW3KXMxz2R4= +github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0/go.mod h1:HEr473Fg94eiVW0HnobYqlkfz5dxw771ZseM6DWJAwg= github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.18.1 h1:CS6N35VnEJGpPbXUoQEm0LBA/uDpTC/jfrAkkNsbjEo= github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.18.1/go.mod h1:tlqfSYOwnjSkzCp1Oc5dT44TX1bvy1SchvixKOXPvTI= github.com/aws/aws-sdk-go-v2/service/route53 v1.54.1 h1:DvwcqU6ec5NNCACSSEYKuTg9J3PDFFlngkwV0k7wvaI= From 1567824fd6cb3c312ba4c5c560a340bfed046098 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:24 -0400 Subject: [PATCH 0482/1301] go get github.com/aws/aws-sdk-go-v2/service/rolesanywhere. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a539b763d41e..d2a2496f5e1e 100644 --- a/go.mod +++ b/go.mod @@ -212,7 +212,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.19.0 github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.31.0 github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0 - github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.18.1 + github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.19.0 github.com/aws/aws-sdk-go-v2/service/route53 v1.54.1 github.com/aws/aws-sdk-go-v2/service/route53domains v1.30.1 github.com/aws/aws-sdk-go-v2/service/route53profiles v1.6.1 diff --git a/go.sum b/go.sum index 8f62d902de55..15cc81f25bf9 100644 --- a/go.sum +++ b/go.sum @@ -445,8 +445,8 @@ github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.31.0 h1:L9r0qWc6316M37Pb4 github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.31.0/go.mod h1:7xr8mm8k3g6gDnYYn3MtEtmSg84Ki/3+exNQe3aLx8Y= github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0 h1:UtG7I7N+hYu6X4Yjz8XC7tgRCss5PiEgCW3KXMxz2R4= github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0/go.mod h1:HEr473Fg94eiVW0HnobYqlkfz5dxw771ZseM6DWJAwg= -github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.18.1 h1:CS6N35VnEJGpPbXUoQEm0LBA/uDpTC/jfrAkkNsbjEo= -github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.18.1/go.mod h1:tlqfSYOwnjSkzCp1Oc5dT44TX1bvy1SchvixKOXPvTI= +github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.19.0 h1:gDWKqmGdCXpmgQivZtYRH3rBWrZdWytswr4eCQdKCF8= +github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.19.0/go.mod h1:F6Tg7adKZCu0E2B8Ti4+x3M6HS+Qlgl0C57KbDCgtJw= github.com/aws/aws-sdk-go-v2/service/route53 v1.54.1 h1:DvwcqU6ec5NNCACSSEYKuTg9J3PDFFlngkwV0k7wvaI= github.com/aws/aws-sdk-go-v2/service/route53 v1.54.1/go.mod h1:POH50FEbIpazXJUVj2hbpJT819o2UF547G+BJBM7HQM= github.com/aws/aws-sdk-go-v2/service/route53domains v1.30.1 h1:+0csOL9MiuIxe57+7TsHl/yzxIT1Jf0ai6qnp1bXGoA= From 7fc022a47ee36298fa0573c7ca41477569d4d6c6 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:25 -0400 Subject: [PATCH 0483/1301] go get github.com/aws/aws-sdk-go-v2/service/route53. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d2a2496f5e1e..1ea0e0fb0e16 100644 --- a/go.mod +++ b/go.mod @@ -213,7 +213,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.31.0 github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0 github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.19.0 - github.com/aws/aws-sdk-go-v2/service/route53 v1.54.1 + github.com/aws/aws-sdk-go-v2/service/route53 v1.55.0 github.com/aws/aws-sdk-go-v2/service/route53domains v1.30.1 github.com/aws/aws-sdk-go-v2/service/route53profiles v1.6.1 github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.28.1 diff --git a/go.sum b/go.sum index 15cc81f25bf9..6ca5a59fde3a 100644 --- a/go.sum +++ b/go.sum @@ -447,8 +447,8 @@ github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0 h1:UtG7I7N github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0/go.mod h1:HEr473Fg94eiVW0HnobYqlkfz5dxw771ZseM6DWJAwg= github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.19.0 h1:gDWKqmGdCXpmgQivZtYRH3rBWrZdWytswr4eCQdKCF8= github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.19.0/go.mod h1:F6Tg7adKZCu0E2B8Ti4+x3M6HS+Qlgl0C57KbDCgtJw= -github.com/aws/aws-sdk-go-v2/service/route53 v1.54.1 h1:DvwcqU6ec5NNCACSSEYKuTg9J3PDFFlngkwV0k7wvaI= -github.com/aws/aws-sdk-go-v2/service/route53 v1.54.1/go.mod h1:POH50FEbIpazXJUVj2hbpJT819o2UF547G+BJBM7HQM= +github.com/aws/aws-sdk-go-v2/service/route53 v1.55.0 h1:uWgREKbrY/+EYuU9u4llSkbsIKLSEPriOSHmLCK3GAY= +github.com/aws/aws-sdk-go-v2/service/route53 v1.55.0/go.mod h1:6G0V3ndXAxeBFSDbUEZ3VTZgmL/9yoIuWM3s3AAV97E= github.com/aws/aws-sdk-go-v2/service/route53domains v1.30.1 h1:+0csOL9MiuIxe57+7TsHl/yzxIT1Jf0ai6qnp1bXGoA= github.com/aws/aws-sdk-go-v2/service/route53domains v1.30.1/go.mod h1:EbsE1mwREHAclraVgQhu89uyy2oE/C1ETLghnTE7ghs= github.com/aws/aws-sdk-go-v2/service/route53profiles v1.6.1 h1:OjU8qqebap7OqDkLU0/70sQ3LBxrR+kxzj8b+3aLJ5o= From f8ba656945c0e46e6455f0c8a4aa1c4708fbb15e Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:26 -0400 Subject: [PATCH 0484/1301] go get github.com/aws/aws-sdk-go-v2/service/route53domains. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 1ea0e0fb0e16..f78bfe21bf4e 100644 --- a/go.mod +++ b/go.mod @@ -214,7 +214,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0 github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.19.0 github.com/aws/aws-sdk-go-v2/service/route53 v1.55.0 - github.com/aws/aws-sdk-go-v2/service/route53domains v1.30.1 + github.com/aws/aws-sdk-go-v2/service/route53domains v1.31.0 github.com/aws/aws-sdk-go-v2/service/route53profiles v1.6.1 github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.28.1 github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.23.1 diff --git a/go.sum b/go.sum index 6ca5a59fde3a..39f06fd21f25 100644 --- a/go.sum +++ b/go.sum @@ -449,8 +449,8 @@ github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.19.0 h1:gDWKqmGdCXpmgQivZt github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.19.0/go.mod h1:F6Tg7adKZCu0E2B8Ti4+x3M6HS+Qlgl0C57KbDCgtJw= github.com/aws/aws-sdk-go-v2/service/route53 v1.55.0 h1:uWgREKbrY/+EYuU9u4llSkbsIKLSEPriOSHmLCK3GAY= github.com/aws/aws-sdk-go-v2/service/route53 v1.55.0/go.mod h1:6G0V3ndXAxeBFSDbUEZ3VTZgmL/9yoIuWM3s3AAV97E= -github.com/aws/aws-sdk-go-v2/service/route53domains v1.30.1 h1:+0csOL9MiuIxe57+7TsHl/yzxIT1Jf0ai6qnp1bXGoA= -github.com/aws/aws-sdk-go-v2/service/route53domains v1.30.1/go.mod h1:EbsE1mwREHAclraVgQhu89uyy2oE/C1ETLghnTE7ghs= +github.com/aws/aws-sdk-go-v2/service/route53domains v1.31.0 h1:1FNauE0fGAumFzEpmH+nx3OfvgnfUapdpBq9eCk/7II= +github.com/aws/aws-sdk-go-v2/service/route53domains v1.31.0/go.mod h1:s9AUhIpEw80em5ERrkUzrvQuDjSP9fKd9/+vi5jCr6w= github.com/aws/aws-sdk-go-v2/service/route53profiles v1.6.1 h1:OjU8qqebap7OqDkLU0/70sQ3LBxrR+kxzj8b+3aLJ5o= github.com/aws/aws-sdk-go-v2/service/route53profiles v1.6.1/go.mod h1:iTrcT7Arr04ilWo5huHKWP2Z+j9S5aRyZvuomlckusw= github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.28.1 h1:P5ZnN/WfxPJ0lD6iZY0TvXKViw2U3m5LIs9pMCOvUH4= From 95ea6b86730e64ef2ab817f34ca642a316eaaace Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:27 -0400 Subject: [PATCH 0485/1301] go get github.com/aws/aws-sdk-go-v2/service/route53profiles. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index f78bfe21bf4e..4ae88886f6bc 100644 --- a/go.mod +++ b/go.mod @@ -215,7 +215,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.19.0 github.com/aws/aws-sdk-go-v2/service/route53 v1.55.0 github.com/aws/aws-sdk-go-v2/service/route53domains v1.31.0 - github.com/aws/aws-sdk-go-v2/service/route53profiles v1.6.1 + github.com/aws/aws-sdk-go-v2/service/route53profiles v1.7.0 github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.28.1 github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.23.1 github.com/aws/aws-sdk-go-v2/service/route53resolver v1.37.1 diff --git a/go.sum b/go.sum index 39f06fd21f25..48ac9c33ffff 100644 --- a/go.sum +++ b/go.sum @@ -451,8 +451,8 @@ github.com/aws/aws-sdk-go-v2/service/route53 v1.55.0 h1:uWgREKbrY/+EYuU9u4llSkbs github.com/aws/aws-sdk-go-v2/service/route53 v1.55.0/go.mod h1:6G0V3ndXAxeBFSDbUEZ3VTZgmL/9yoIuWM3s3AAV97E= github.com/aws/aws-sdk-go-v2/service/route53domains v1.31.0 h1:1FNauE0fGAumFzEpmH+nx3OfvgnfUapdpBq9eCk/7II= github.com/aws/aws-sdk-go-v2/service/route53domains v1.31.0/go.mod h1:s9AUhIpEw80em5ERrkUzrvQuDjSP9fKd9/+vi5jCr6w= -github.com/aws/aws-sdk-go-v2/service/route53profiles v1.6.1 h1:OjU8qqebap7OqDkLU0/70sQ3LBxrR+kxzj8b+3aLJ5o= -github.com/aws/aws-sdk-go-v2/service/route53profiles v1.6.1/go.mod h1:iTrcT7Arr04ilWo5huHKWP2Z+j9S5aRyZvuomlckusw= +github.com/aws/aws-sdk-go-v2/service/route53profiles v1.7.0 h1:JhCFwPOmFja1kndJHeF2wPxGdvft9hqk9rmI+3VYBGg= +github.com/aws/aws-sdk-go-v2/service/route53profiles v1.7.0/go.mod h1:ZfLB7g4WQPzBcK37APvwX7u0cIz1dKL01MnxRTTkfQo= github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.28.1 h1:P5ZnN/WfxPJ0lD6iZY0TvXKViw2U3m5LIs9pMCOvUH4= github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.28.1/go.mod h1:Ng+ThDA2vsPOfe5nYvmWHMuCy8d4c1Jty3vLJ29fKF0= github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.23.1 h1:AX9S7S7hvb4UJKIgZQ9SJ84LjTF3/fF5SBYjyu9/c6A= From 626e112a908a0cc148f74ab395b4e31f77984a94 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:28 -0400 Subject: [PATCH 0486/1301] go get github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 4ae88886f6bc..20102c185057 100644 --- a/go.mod +++ b/go.mod @@ -216,7 +216,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/route53 v1.55.0 github.com/aws/aws-sdk-go-v2/service/route53domains v1.31.0 github.com/aws/aws-sdk-go-v2/service/route53profiles v1.7.0 - github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.28.1 + github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.29.0 github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.23.1 github.com/aws/aws-sdk-go-v2/service/route53resolver v1.37.1 github.com/aws/aws-sdk-go-v2/service/rum v1.25.1 diff --git a/go.sum b/go.sum index 48ac9c33ffff..4fe9ddabe256 100644 --- a/go.sum +++ b/go.sum @@ -453,8 +453,8 @@ github.com/aws/aws-sdk-go-v2/service/route53domains v1.31.0 h1:1FNauE0fGAumFzEpm github.com/aws/aws-sdk-go-v2/service/route53domains v1.31.0/go.mod h1:s9AUhIpEw80em5ERrkUzrvQuDjSP9fKd9/+vi5jCr6w= github.com/aws/aws-sdk-go-v2/service/route53profiles v1.7.0 h1:JhCFwPOmFja1kndJHeF2wPxGdvft9hqk9rmI+3VYBGg= github.com/aws/aws-sdk-go-v2/service/route53profiles v1.7.0/go.mod h1:ZfLB7g4WQPzBcK37APvwX7u0cIz1dKL01MnxRTTkfQo= -github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.28.1 h1:P5ZnN/WfxPJ0lD6iZY0TvXKViw2U3m5LIs9pMCOvUH4= -github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.28.1/go.mod h1:Ng+ThDA2vsPOfe5nYvmWHMuCy8d4c1Jty3vLJ29fKF0= +github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.29.0 h1:BSC4rRnApDd4lH2U5dggYS81lyF9v5yG5atDYQlUG4o= +github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.29.0/go.mod h1:2rt7/1yfNqxIc1+IiwdM2xIA01+FeH+hkkIc6Ui6KYg= github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.23.1 h1:AX9S7S7hvb4UJKIgZQ9SJ84LjTF3/fF5SBYjyu9/c6A= github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.23.1/go.mod h1:pbDtCWqLwS6CyyTiOpZVRtv+O/Es7VkhhLWbT9zMEas= github.com/aws/aws-sdk-go-v2/service/route53resolver v1.37.1 h1:mp3ADBMz3nLgY4k9bNUrID8kB8H3WoyNGKTV/TnGs/g= From b498121efb82a97783c79585984e04b7a93502da Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:29 -0400 Subject: [PATCH 0487/1301] go get github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 20102c185057..47cea3de0712 100644 --- a/go.mod +++ b/go.mod @@ -217,7 +217,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/route53domains v1.31.0 github.com/aws/aws-sdk-go-v2/service/route53profiles v1.7.0 github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.29.0 - github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.23.1 + github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.24.0 github.com/aws/aws-sdk-go-v2/service/route53resolver v1.37.1 github.com/aws/aws-sdk-go-v2/service/rum v1.25.1 github.com/aws/aws-sdk-go-v2/service/s3 v1.86.0 diff --git a/go.sum b/go.sum index 4fe9ddabe256..ae51cfa95a62 100644 --- a/go.sum +++ b/go.sum @@ -455,8 +455,8 @@ github.com/aws/aws-sdk-go-v2/service/route53profiles v1.7.0 h1:JhCFwPOmFja1kndJH github.com/aws/aws-sdk-go-v2/service/route53profiles v1.7.0/go.mod h1:ZfLB7g4WQPzBcK37APvwX7u0cIz1dKL01MnxRTTkfQo= github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.29.0 h1:BSC4rRnApDd4lH2U5dggYS81lyF9v5yG5atDYQlUG4o= github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.29.0/go.mod h1:2rt7/1yfNqxIc1+IiwdM2xIA01+FeH+hkkIc6Ui6KYg= -github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.23.1 h1:AX9S7S7hvb4UJKIgZQ9SJ84LjTF3/fF5SBYjyu9/c6A= -github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.23.1/go.mod h1:pbDtCWqLwS6CyyTiOpZVRtv+O/Es7VkhhLWbT9zMEas= +github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.24.0 h1:he+LHA/6HCUuFxdM0lUdr+OOTefeEq1G2w/e6yRraQs= +github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.24.0/go.mod h1:LdJD7I50vTaWfAdn1FBydN6r8XpkF6humwUN25hAV+4= github.com/aws/aws-sdk-go-v2/service/route53resolver v1.37.1 h1:mp3ADBMz3nLgY4k9bNUrID8kB8H3WoyNGKTV/TnGs/g= github.com/aws/aws-sdk-go-v2/service/route53resolver v1.37.1/go.mod h1:nQNdcvkdveeChWT7i/0yD/vFsttMOqK/VbCOcsyx+E4= github.com/aws/aws-sdk-go-v2/service/rum v1.25.1 h1:IPGVJBSdfbowzlpJ2WamBS6X5bbIG22VjWp961JEkoI= From 0c4bd6279d7d39848937bd37ce042b778aa143fb Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:30 -0400 Subject: [PATCH 0488/1301] go get github.com/aws/aws-sdk-go-v2/service/route53resolver. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 47cea3de0712..52b739d28a64 100644 --- a/go.mod +++ b/go.mod @@ -218,7 +218,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/route53profiles v1.7.0 github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.29.0 github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.24.0 - github.com/aws/aws-sdk-go-v2/service/route53resolver v1.37.1 + github.com/aws/aws-sdk-go-v2/service/route53resolver v1.38.0 github.com/aws/aws-sdk-go-v2/service/rum v1.25.1 github.com/aws/aws-sdk-go-v2/service/s3 v1.86.0 github.com/aws/aws-sdk-go-v2/service/s3control v1.62.0 diff --git a/go.sum b/go.sum index ae51cfa95a62..749eecbf38b1 100644 --- a/go.sum +++ b/go.sum @@ -457,8 +457,8 @@ github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.29.0 h1:BSC github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.29.0/go.mod h1:2rt7/1yfNqxIc1+IiwdM2xIA01+FeH+hkkIc6Ui6KYg= github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.24.0 h1:he+LHA/6HCUuFxdM0lUdr+OOTefeEq1G2w/e6yRraQs= github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.24.0/go.mod h1:LdJD7I50vTaWfAdn1FBydN6r8XpkF6humwUN25hAV+4= -github.com/aws/aws-sdk-go-v2/service/route53resolver v1.37.1 h1:mp3ADBMz3nLgY4k9bNUrID8kB8H3WoyNGKTV/TnGs/g= -github.com/aws/aws-sdk-go-v2/service/route53resolver v1.37.1/go.mod h1:nQNdcvkdveeChWT7i/0yD/vFsttMOqK/VbCOcsyx+E4= +github.com/aws/aws-sdk-go-v2/service/route53resolver v1.38.0 h1:HRDZKs73kNRsb+5MhAz4+ONvPgiXVmgTfsj4/PoJIWs= +github.com/aws/aws-sdk-go-v2/service/route53resolver v1.38.0/go.mod h1:b9+yk2umEzWK2xzbsBZDrAeG63ia8B1ess7IyZG+mX4= github.com/aws/aws-sdk-go-v2/service/rum v1.25.1 h1:IPGVJBSdfbowzlpJ2WamBS6X5bbIG22VjWp961JEkoI= github.com/aws/aws-sdk-go-v2/service/rum v1.25.1/go.mod h1:bP77oXsN8c23i7o1A46SQmqlmuslx4OmYtX2Ns4p0R8= github.com/aws/aws-sdk-go-v2/service/s3 v1.86.0 h1:utPhv4ECQzJIUbtx7vMN4A8uZxlQ5tSt1H1toPI41h8= From 5d2bf30fe26d1a05e046b47fc7818a87bb6912ea Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:31 -0400 Subject: [PATCH 0489/1301] go get github.com/aws/aws-sdk-go-v2/service/rum. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 52b739d28a64..dbedca78be3c 100644 --- a/go.mod +++ b/go.mod @@ -219,7 +219,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.29.0 github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.24.0 github.com/aws/aws-sdk-go-v2/service/route53resolver v1.38.0 - github.com/aws/aws-sdk-go-v2/service/rum v1.25.1 + github.com/aws/aws-sdk-go-v2/service/rum v1.26.0 github.com/aws/aws-sdk-go-v2/service/s3 v1.86.0 github.com/aws/aws-sdk-go-v2/service/s3control v1.62.0 github.com/aws/aws-sdk-go-v2/service/s3outposts v1.30.1 diff --git a/go.sum b/go.sum index 749eecbf38b1..5e1aa6288961 100644 --- a/go.sum +++ b/go.sum @@ -459,8 +459,8 @@ github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.24.0 h1:he+LHA/ github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.24.0/go.mod h1:LdJD7I50vTaWfAdn1FBydN6r8XpkF6humwUN25hAV+4= github.com/aws/aws-sdk-go-v2/service/route53resolver v1.38.0 h1:HRDZKs73kNRsb+5MhAz4+ONvPgiXVmgTfsj4/PoJIWs= github.com/aws/aws-sdk-go-v2/service/route53resolver v1.38.0/go.mod h1:b9+yk2umEzWK2xzbsBZDrAeG63ia8B1ess7IyZG+mX4= -github.com/aws/aws-sdk-go-v2/service/rum v1.25.1 h1:IPGVJBSdfbowzlpJ2WamBS6X5bbIG22VjWp961JEkoI= -github.com/aws/aws-sdk-go-v2/service/rum v1.25.1/go.mod h1:bP77oXsN8c23i7o1A46SQmqlmuslx4OmYtX2Ns4p0R8= +github.com/aws/aws-sdk-go-v2/service/rum v1.26.0 h1:ZqNEWtitFjwaKGPqtPSK8cq0LaTUGKOBbvT/2+n7Zg4= +github.com/aws/aws-sdk-go-v2/service/rum v1.26.0/go.mod h1:PLpZddWg0SWhlNl442cRfa5zeWV7NCECrE/naqMhzl8= github.com/aws/aws-sdk-go-v2/service/s3 v1.86.0 h1:utPhv4ECQzJIUbtx7vMN4A8uZxlQ5tSt1H1toPI41h8= github.com/aws/aws-sdk-go-v2/service/s3 v1.86.0/go.mod h1:1/eZYtTWazDgVl96LmGdGktHFi7prAcGCrJ9JGvBITU= github.com/aws/aws-sdk-go-v2/service/s3control v1.62.0 h1:tdFV3pnbKsSrxaPywUyvKOB/S+q+DvtpuPwq8m98enk= From c9fe6aaaaa48ba7d721551195f6ba3226028aecb Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:33 -0400 Subject: [PATCH 0490/1301] go get github.com/aws/aws-sdk-go-v2/service/s3control. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index dbedca78be3c..35a6a0924569 100644 --- a/go.mod +++ b/go.mod @@ -221,7 +221,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/route53resolver v1.38.0 github.com/aws/aws-sdk-go-v2/service/rum v1.26.0 github.com/aws/aws-sdk-go-v2/service/s3 v1.86.0 - github.com/aws/aws-sdk-go-v2/service/s3control v1.62.0 + github.com/aws/aws-sdk-go-v2/service/s3control v1.63.0 github.com/aws/aws-sdk-go-v2/service/s3outposts v1.30.1 github.com/aws/aws-sdk-go-v2/service/s3tables v1.7.1 github.com/aws/aws-sdk-go-v2/service/s3vectors v1.1.1 diff --git a/go.sum b/go.sum index 5e1aa6288961..278444ff347a 100644 --- a/go.sum +++ b/go.sum @@ -463,8 +463,8 @@ github.com/aws/aws-sdk-go-v2/service/rum v1.26.0 h1:ZqNEWtitFjwaKGPqtPSK8cq0LaTU github.com/aws/aws-sdk-go-v2/service/rum v1.26.0/go.mod h1:PLpZddWg0SWhlNl442cRfa5zeWV7NCECrE/naqMhzl8= github.com/aws/aws-sdk-go-v2/service/s3 v1.86.0 h1:utPhv4ECQzJIUbtx7vMN4A8uZxlQ5tSt1H1toPI41h8= github.com/aws/aws-sdk-go-v2/service/s3 v1.86.0/go.mod h1:1/eZYtTWazDgVl96LmGdGktHFi7prAcGCrJ9JGvBITU= -github.com/aws/aws-sdk-go-v2/service/s3control v1.62.0 h1:tdFV3pnbKsSrxaPywUyvKOB/S+q+DvtpuPwq8m98enk= -github.com/aws/aws-sdk-go-v2/service/s3control v1.62.0/go.mod h1:E6DME7R1bQBJaH/dIS2070dgcgba97shJWUTWMrTbgM= +github.com/aws/aws-sdk-go-v2/service/s3control v1.63.0 h1:Ke1mqUlAVTdAsd8MUOotJiYkmOIYPHsgsEvGw6GUUkE= +github.com/aws/aws-sdk-go-v2/service/s3control v1.63.0/go.mod h1:UjBvYLSsE98Zow7RHk2mfbw9QVlX5WNIqDPo1hxrjdY= github.com/aws/aws-sdk-go-v2/service/s3outposts v1.30.1 h1:iOFQNXtgNsVQjQLJQTvGC5NsIv43fW07igtoDHEIvKs= github.com/aws/aws-sdk-go-v2/service/s3outposts v1.30.1/go.mod h1:ANvlkElAoLD7KBmZAXJv+BmB42Ifw8DhKb4eEhmveMA= github.com/aws/aws-sdk-go-v2/service/s3tables v1.7.1 h1:Shyve/4zbd4pdKluYyXtcrBoZ1Olwodu/lbL9Dc6xOo= From 19e6697e31d7a8657daef58a18da655f17cbb4ad Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:33 -0400 Subject: [PATCH 0491/1301] go get github.com/aws/aws-sdk-go-v2/service/s3outposts. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 35a6a0924569..a0c9b5dac8ce 100644 --- a/go.mod +++ b/go.mod @@ -222,7 +222,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/rum v1.26.0 github.com/aws/aws-sdk-go-v2/service/s3 v1.86.0 github.com/aws/aws-sdk-go-v2/service/s3control v1.63.0 - github.com/aws/aws-sdk-go-v2/service/s3outposts v1.30.1 + github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0 github.com/aws/aws-sdk-go-v2/service/s3tables v1.7.1 github.com/aws/aws-sdk-go-v2/service/s3vectors v1.1.1 github.com/aws/aws-sdk-go-v2/service/sagemaker v1.203.1 diff --git a/go.sum b/go.sum index 278444ff347a..8d34a5d985bf 100644 --- a/go.sum +++ b/go.sum @@ -465,8 +465,8 @@ github.com/aws/aws-sdk-go-v2/service/s3 v1.86.0 h1:utPhv4ECQzJIUbtx7vMN4A8uZxlQ5 github.com/aws/aws-sdk-go-v2/service/s3 v1.86.0/go.mod h1:1/eZYtTWazDgVl96LmGdGktHFi7prAcGCrJ9JGvBITU= github.com/aws/aws-sdk-go-v2/service/s3control v1.63.0 h1:Ke1mqUlAVTdAsd8MUOotJiYkmOIYPHsgsEvGw6GUUkE= github.com/aws/aws-sdk-go-v2/service/s3control v1.63.0/go.mod h1:UjBvYLSsE98Zow7RHk2mfbw9QVlX5WNIqDPo1hxrjdY= -github.com/aws/aws-sdk-go-v2/service/s3outposts v1.30.1 h1:iOFQNXtgNsVQjQLJQTvGC5NsIv43fW07igtoDHEIvKs= -github.com/aws/aws-sdk-go-v2/service/s3outposts v1.30.1/go.mod h1:ANvlkElAoLD7KBmZAXJv+BmB42Ifw8DhKb4eEhmveMA= +github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0 h1:M5nUP3UBHZEjw0QS1JfqQupAvUgjDyoHBzk+y0cFIJs= +github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0/go.mod h1:jdBR10G+Lp9mVcEZkbFPVJdSAEq+HJVnQLOIkRylRt8= github.com/aws/aws-sdk-go-v2/service/s3tables v1.7.1 h1:Shyve/4zbd4pdKluYyXtcrBoZ1Olwodu/lbL9Dc6xOo= github.com/aws/aws-sdk-go-v2/service/s3tables v1.7.1/go.mod h1:7M+LyYRRMZQOXS/7SbLOFKuFPp4+SsqDMmyoxzX8YGU= github.com/aws/aws-sdk-go-v2/service/s3vectors v1.1.1 h1:kruR8Vsq1X+yxFmZDUAgCljls+P4MZ6bXVzbhxpZrOw= From c3b6992b231f28e1bf9570630e88efd2ed7e77d2 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:34 -0400 Subject: [PATCH 0492/1301] go get github.com/aws/aws-sdk-go-v2/service/s3tables. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a0c9b5dac8ce..48ff2fc4b3f4 100644 --- a/go.mod +++ b/go.mod @@ -223,7 +223,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/s3 v1.86.0 github.com/aws/aws-sdk-go-v2/service/s3control v1.63.0 github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0 - github.com/aws/aws-sdk-go-v2/service/s3tables v1.7.1 + github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0 github.com/aws/aws-sdk-go-v2/service/s3vectors v1.1.1 github.com/aws/aws-sdk-go-v2/service/sagemaker v1.203.1 github.com/aws/aws-sdk-go-v2/service/scheduler v1.14.1 diff --git a/go.sum b/go.sum index 8d34a5d985bf..12ed88a1e966 100644 --- a/go.sum +++ b/go.sum @@ -467,8 +467,8 @@ github.com/aws/aws-sdk-go-v2/service/s3control v1.63.0 h1:Ke1mqUlAVTdAsd8MUOotJi github.com/aws/aws-sdk-go-v2/service/s3control v1.63.0/go.mod h1:UjBvYLSsE98Zow7RHk2mfbw9QVlX5WNIqDPo1hxrjdY= github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0 h1:M5nUP3UBHZEjw0QS1JfqQupAvUgjDyoHBzk+y0cFIJs= github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0/go.mod h1:jdBR10G+Lp9mVcEZkbFPVJdSAEq+HJVnQLOIkRylRt8= -github.com/aws/aws-sdk-go-v2/service/s3tables v1.7.1 h1:Shyve/4zbd4pdKluYyXtcrBoZ1Olwodu/lbL9Dc6xOo= -github.com/aws/aws-sdk-go-v2/service/s3tables v1.7.1/go.mod h1:7M+LyYRRMZQOXS/7SbLOFKuFPp4+SsqDMmyoxzX8YGU= +github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0 h1:lLiy94CE3tRVKCFM6nsa0ERMBhDBC9EDC6Bx1shhack= +github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0/go.mod h1:4W2CAy/TSu6SJ8DlBv5LSz7x58DPN8aiRdlhjvg8WEA= github.com/aws/aws-sdk-go-v2/service/s3vectors v1.1.1 h1:kruR8Vsq1X+yxFmZDUAgCljls+P4MZ6bXVzbhxpZrOw= github.com/aws/aws-sdk-go-v2/service/s3vectors v1.1.1/go.mod h1:uyF8Eit5weVQfdK1nzux4gEDE3FpY8Kl3QrLrrFfmrE= github.com/aws/aws-sdk-go-v2/service/sagemaker v1.203.1 h1:jjitDItJQ3kdF5Jtkr1JMQ2Miu+X1axdpv+uJmU5eu4= From c363a8cb9c24c46aa47dc0f6edffc7cae9a65e88 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:36 -0400 Subject: [PATCH 0493/1301] go get github.com/aws/aws-sdk-go-v2/service/s3vectors. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 48ff2fc4b3f4..4a9966a4a357 100644 --- a/go.mod +++ b/go.mod @@ -224,7 +224,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/s3control v1.63.0 github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0 github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0 - github.com/aws/aws-sdk-go-v2/service/s3vectors v1.1.1 + github.com/aws/aws-sdk-go-v2/service/s3vectors v1.2.0 github.com/aws/aws-sdk-go-v2/service/sagemaker v1.203.1 github.com/aws/aws-sdk-go-v2/service/scheduler v1.14.1 github.com/aws/aws-sdk-go-v2/service/schemas v1.30.1 diff --git a/go.sum b/go.sum index 12ed88a1e966..797540ad8f97 100644 --- a/go.sum +++ b/go.sum @@ -469,8 +469,8 @@ github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0 h1:M5nUP3UBHZEjw0QS1JfqQ github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0/go.mod h1:jdBR10G+Lp9mVcEZkbFPVJdSAEq+HJVnQLOIkRylRt8= github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0 h1:lLiy94CE3tRVKCFM6nsa0ERMBhDBC9EDC6Bx1shhack= github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0/go.mod h1:4W2CAy/TSu6SJ8DlBv5LSz7x58DPN8aiRdlhjvg8WEA= -github.com/aws/aws-sdk-go-v2/service/s3vectors v1.1.1 h1:kruR8Vsq1X+yxFmZDUAgCljls+P4MZ6bXVzbhxpZrOw= -github.com/aws/aws-sdk-go-v2/service/s3vectors v1.1.1/go.mod h1:uyF8Eit5weVQfdK1nzux4gEDE3FpY8Kl3QrLrrFfmrE= +github.com/aws/aws-sdk-go-v2/service/s3vectors v1.2.0 h1:7xf0bQV6aVtFUV1Z59hT9AmWHY+LBww82jN2gywAgkM= +github.com/aws/aws-sdk-go-v2/service/s3vectors v1.2.0/go.mod h1:ionbPTnYOWe9G7OQi/yGz0fDefoTUiAWs2tFAxCQiss= github.com/aws/aws-sdk-go-v2/service/sagemaker v1.203.1 h1:jjitDItJQ3kdF5Jtkr1JMQ2Miu+X1axdpv+uJmU5eu4= github.com/aws/aws-sdk-go-v2/service/sagemaker v1.203.1/go.mod h1:VTFTvNY3kYVqdwZBTRSfnqQBBuBGtRjUSOFGIHDy4AI= github.com/aws/aws-sdk-go-v2/service/scheduler v1.14.1 h1:Q2mO7GN5wcU4HVWXLT3Wwu317fiAwkiUoq0QeiqsZBY= From d3ca8b70cb21e7dae5632453160f6cac1fcedc51 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:37 -0400 Subject: [PATCH 0494/1301] go get github.com/aws/aws-sdk-go-v2/service/sagemaker. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 4a9966a4a357..8fe90bcc34c1 100644 --- a/go.mod +++ b/go.mod @@ -225,7 +225,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0 github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0 github.com/aws/aws-sdk-go-v2/service/s3vectors v1.2.0 - github.com/aws/aws-sdk-go-v2/service/sagemaker v1.203.1 + github.com/aws/aws-sdk-go-v2/service/sagemaker v1.204.0 github.com/aws/aws-sdk-go-v2/service/scheduler v1.14.1 github.com/aws/aws-sdk-go-v2/service/schemas v1.30.1 github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.36.1 diff --git a/go.sum b/go.sum index 797540ad8f97..b6afe0abec7f 100644 --- a/go.sum +++ b/go.sum @@ -471,8 +471,8 @@ github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0 h1:lLiy94CE3tRVKCFM6nsa0ERM github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0/go.mod h1:4W2CAy/TSu6SJ8DlBv5LSz7x58DPN8aiRdlhjvg8WEA= github.com/aws/aws-sdk-go-v2/service/s3vectors v1.2.0 h1:7xf0bQV6aVtFUV1Z59hT9AmWHY+LBww82jN2gywAgkM= github.com/aws/aws-sdk-go-v2/service/s3vectors v1.2.0/go.mod h1:ionbPTnYOWe9G7OQi/yGz0fDefoTUiAWs2tFAxCQiss= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.203.1 h1:jjitDItJQ3kdF5Jtkr1JMQ2Miu+X1axdpv+uJmU5eu4= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.203.1/go.mod h1:VTFTvNY3kYVqdwZBTRSfnqQBBuBGtRjUSOFGIHDy4AI= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.204.0 h1:swdZcCAgomEWueWnxgLoez5w6SZIwTN6+kCwmOY7Slg= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.204.0/go.mod h1:QAk+j4WZ3VtD9yJDKqF/sVq0fQCcjjQ5gZLVvoVGmWA= github.com/aws/aws-sdk-go-v2/service/scheduler v1.14.1 h1:Q2mO7GN5wcU4HVWXLT3Wwu317fiAwkiUoq0QeiqsZBY= github.com/aws/aws-sdk-go-v2/service/scheduler v1.14.1/go.mod h1:3Fdk8jqhTM6Eivjt0v6HBIMarExmWKnXEaUFhogCVSc= github.com/aws/aws-sdk-go-v2/service/schemas v1.30.1 h1:AeR1HvScTM6v8FIL5ONZhOKxdiI+QJH2L/RGmg3vTEE= From 4f2d37cfe57c647fe6660e05230652746fc7431d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:38 -0400 Subject: [PATCH 0495/1301] go get github.com/aws/aws-sdk-go-v2/service/scheduler. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8fe90bcc34c1..38d8e88874f0 100644 --- a/go.mod +++ b/go.mod @@ -226,7 +226,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0 github.com/aws/aws-sdk-go-v2/service/s3vectors v1.2.0 github.com/aws/aws-sdk-go-v2/service/sagemaker v1.204.0 - github.com/aws/aws-sdk-go-v2/service/scheduler v1.14.1 + github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0 github.com/aws/aws-sdk-go-v2/service/schemas v1.30.1 github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.36.1 github.com/aws/aws-sdk-go-v2/service/securityhub v1.60.0 diff --git a/go.sum b/go.sum index b6afe0abec7f..3cc158d995d8 100644 --- a/go.sum +++ b/go.sum @@ -473,8 +473,8 @@ github.com/aws/aws-sdk-go-v2/service/s3vectors v1.2.0 h1:7xf0bQV6aVtFUV1Z59hT9Am github.com/aws/aws-sdk-go-v2/service/s3vectors v1.2.0/go.mod h1:ionbPTnYOWe9G7OQi/yGz0fDefoTUiAWs2tFAxCQiss= github.com/aws/aws-sdk-go-v2/service/sagemaker v1.204.0 h1:swdZcCAgomEWueWnxgLoez5w6SZIwTN6+kCwmOY7Slg= github.com/aws/aws-sdk-go-v2/service/sagemaker v1.204.0/go.mod h1:QAk+j4WZ3VtD9yJDKqF/sVq0fQCcjjQ5gZLVvoVGmWA= -github.com/aws/aws-sdk-go-v2/service/scheduler v1.14.1 h1:Q2mO7GN5wcU4HVWXLT3Wwu317fiAwkiUoq0QeiqsZBY= -github.com/aws/aws-sdk-go-v2/service/scheduler v1.14.1/go.mod h1:3Fdk8jqhTM6Eivjt0v6HBIMarExmWKnXEaUFhogCVSc= +github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0 h1:peHVUtoH7i9QzmkCMyky/a+b2ysCMJ/M+KOtCVmkg7M= +github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0/go.mod h1:cQvpps9Xy75b4TIzRYRMnSYaUneTlECRD6p0Vn9hLew= github.com/aws/aws-sdk-go-v2/service/schemas v1.30.1 h1:AeR1HvScTM6v8FIL5ONZhOKxdiI+QJH2L/RGmg3vTEE= github.com/aws/aws-sdk-go-v2/service/schemas v1.30.1/go.mod h1:RNx0SkALkXNDSJKm/I1cAMmUfdTKB/KHIq/ddWG6tvg= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.36.1 h1:fnOIjzwTVrtVnkRef3Qs+uTr3qYKwXuFom5pqdZERNQ= From 19f62f271a620e5299ec5b690d813ad89c7f6579 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:39 -0400 Subject: [PATCH 0496/1301] go get github.com/aws/aws-sdk-go-v2/service/schemas. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 38d8e88874f0..dba77a37d4cc 100644 --- a/go.mod +++ b/go.mod @@ -227,7 +227,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/s3vectors v1.2.0 github.com/aws/aws-sdk-go-v2/service/sagemaker v1.204.0 github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0 - github.com/aws/aws-sdk-go-v2/service/schemas v1.30.1 + github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0 github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.36.1 github.com/aws/aws-sdk-go-v2/service/securityhub v1.60.0 github.com/aws/aws-sdk-go-v2/service/securitylake v1.21.1 diff --git a/go.sum b/go.sum index 3cc158d995d8..c88415179d3f 100644 --- a/go.sum +++ b/go.sum @@ -475,8 +475,8 @@ github.com/aws/aws-sdk-go-v2/service/sagemaker v1.204.0 h1:swdZcCAgomEWueWnxgLoe github.com/aws/aws-sdk-go-v2/service/sagemaker v1.204.0/go.mod h1:QAk+j4WZ3VtD9yJDKqF/sVq0fQCcjjQ5gZLVvoVGmWA= github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0 h1:peHVUtoH7i9QzmkCMyky/a+b2ysCMJ/M+KOtCVmkg7M= github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0/go.mod h1:cQvpps9Xy75b4TIzRYRMnSYaUneTlECRD6p0Vn9hLew= -github.com/aws/aws-sdk-go-v2/service/schemas v1.30.1 h1:AeR1HvScTM6v8FIL5ONZhOKxdiI+QJH2L/RGmg3vTEE= -github.com/aws/aws-sdk-go-v2/service/schemas v1.30.1/go.mod h1:RNx0SkALkXNDSJKm/I1cAMmUfdTKB/KHIq/ddWG6tvg= +github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0 h1:gpBCY2ekUMIFVyczrg5RZlhfCSfPvq33oo+vAKuz5TI= +github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0/go.mod h1:rkj4nPmey5KTmwApEwZ4zMBBCQMKam+ATjLvNLz3flQ= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.36.1 h1:fnOIjzwTVrtVnkRef3Qs+uTr3qYKwXuFom5pqdZERNQ= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.36.1/go.mod h1:/19D53IxSX9W8uu5bo0t89oCLncvNP68V1KiRthhLd4= github.com/aws/aws-sdk-go-v2/service/securityhub v1.60.0 h1:iYMP5iOlUDy/WnEOMgzmHcgugJNl4ipUrnx06jaUVFI= From 6aa6826f4f17900bec6b1766e778b97aea566908 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:40 -0400 Subject: [PATCH 0497/1301] go get github.com/aws/aws-sdk-go-v2/service/secretsmanager. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index dba77a37d4cc..92fcb3cf1ec4 100644 --- a/go.mod +++ b/go.mod @@ -228,7 +228,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/sagemaker v1.204.0 github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0 github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0 - github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.36.1 + github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.37.0 github.com/aws/aws-sdk-go-v2/service/securityhub v1.60.0 github.com/aws/aws-sdk-go-v2/service/securitylake v1.21.1 github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.26.1 diff --git a/go.sum b/go.sum index c88415179d3f..e0b430e3d445 100644 --- a/go.sum +++ b/go.sum @@ -477,8 +477,8 @@ github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0 h1:peHVUtoH7i9QzmkCMyky/a github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0/go.mod h1:cQvpps9Xy75b4TIzRYRMnSYaUneTlECRD6p0Vn9hLew= github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0 h1:gpBCY2ekUMIFVyczrg5RZlhfCSfPvq33oo+vAKuz5TI= github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0/go.mod h1:rkj4nPmey5KTmwApEwZ4zMBBCQMKam+ATjLvNLz3flQ= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.36.1 h1:fnOIjzwTVrtVnkRef3Qs+uTr3qYKwXuFom5pqdZERNQ= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.36.1/go.mod h1:/19D53IxSX9W8uu5bo0t89oCLncvNP68V1KiRthhLd4= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.37.0 h1:fC0s79wxfsbz/4WCvosbHLk2mb9ICjPyB+lWs6a0TGM= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.37.0/go.mod h1:6HxvKCop1trgfFlQGQmlq+WbMM5yPazMN9ClWFWGtDM= github.com/aws/aws-sdk-go-v2/service/securityhub v1.60.0 h1:iYMP5iOlUDy/WnEOMgzmHcgugJNl4ipUrnx06jaUVFI= github.com/aws/aws-sdk-go-v2/service/securityhub v1.60.0/go.mod h1:vZ92NituujfniQ/4SuNBn87qTvD2mNreUhaR3Kscm8U= github.com/aws/aws-sdk-go-v2/service/securitylake v1.21.1 h1:/RKW3AGx4P4zBoiBevP9omqR4nawRTFcIaSX27l4fDE= From b61135433464216ceda73c7abb748d34bf310023 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:41 -0400 Subject: [PATCH 0498/1301] go get github.com/aws/aws-sdk-go-v2/service/securityhub. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 92fcb3cf1ec4..0b8767fefa42 100644 --- a/go.mod +++ b/go.mod @@ -229,7 +229,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0 github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0 github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.37.0 - github.com/aws/aws-sdk-go-v2/service/securityhub v1.60.0 + github.com/aws/aws-sdk-go-v2/service/securityhub v1.61.0 github.com/aws/aws-sdk-go-v2/service/securitylake v1.21.1 github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.26.1 github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.35.1 diff --git a/go.sum b/go.sum index e0b430e3d445..ca56861cd51d 100644 --- a/go.sum +++ b/go.sum @@ -479,8 +479,8 @@ github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0 h1:gpBCY2ekUMIFVyczrg5RZlhf github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0/go.mod h1:rkj4nPmey5KTmwApEwZ4zMBBCQMKam+ATjLvNLz3flQ= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.37.0 h1:fC0s79wxfsbz/4WCvosbHLk2mb9ICjPyB+lWs6a0TGM= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.37.0/go.mod h1:6HxvKCop1trgfFlQGQmlq+WbMM5yPazMN9ClWFWGtDM= -github.com/aws/aws-sdk-go-v2/service/securityhub v1.60.0 h1:iYMP5iOlUDy/WnEOMgzmHcgugJNl4ipUrnx06jaUVFI= -github.com/aws/aws-sdk-go-v2/service/securityhub v1.60.0/go.mod h1:vZ92NituujfniQ/4SuNBn87qTvD2mNreUhaR3Kscm8U= +github.com/aws/aws-sdk-go-v2/service/securityhub v1.61.0 h1:aCI2GYfTx4TzzPf2WEzsCqvXee1BRqtgzOcNFf2dFmk= +github.com/aws/aws-sdk-go-v2/service/securityhub v1.61.0/go.mod h1:32eH94E8iekHQ/YdEyJw50SNUiStOjMOZ7l8cEw4pLY= github.com/aws/aws-sdk-go-v2/service/securitylake v1.21.1 h1:/RKW3AGx4P4zBoiBevP9omqR4nawRTFcIaSX27l4fDE= github.com/aws/aws-sdk-go-v2/service/securitylake v1.21.1/go.mod h1:NamZRs6fW0/J8Di0CqJXRwbB58f4xVPNTfohMxi5lB0= github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.26.1 h1:G00kAq1ULynJ5Sl4yBoa+7CKd35YVJj4nLMl8s0OXsM= From c8d565b1ce8e664b0f584aabe3f0fd4d993552be Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:42 -0400 Subject: [PATCH 0499/1301] go get github.com/aws/aws-sdk-go-v2/service/securitylake. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 0b8767fefa42..4e4e1aeae588 100644 --- a/go.mod +++ b/go.mod @@ -230,7 +230,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0 github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.37.0 github.com/aws/aws-sdk-go-v2/service/securityhub v1.61.0 - github.com/aws/aws-sdk-go-v2/service/securitylake v1.21.1 + github.com/aws/aws-sdk-go-v2/service/securitylake v1.22.0 github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.26.1 github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.35.1 github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.32.1 diff --git a/go.sum b/go.sum index ca56861cd51d..f295ec8a21cb 100644 --- a/go.sum +++ b/go.sum @@ -481,8 +481,8 @@ github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.37.0 h1:fC0s79wxfsbz/4WCv github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.37.0/go.mod h1:6HxvKCop1trgfFlQGQmlq+WbMM5yPazMN9ClWFWGtDM= github.com/aws/aws-sdk-go-v2/service/securityhub v1.61.0 h1:aCI2GYfTx4TzzPf2WEzsCqvXee1BRqtgzOcNFf2dFmk= github.com/aws/aws-sdk-go-v2/service/securityhub v1.61.0/go.mod h1:32eH94E8iekHQ/YdEyJw50SNUiStOjMOZ7l8cEw4pLY= -github.com/aws/aws-sdk-go-v2/service/securitylake v1.21.1 h1:/RKW3AGx4P4zBoiBevP9omqR4nawRTFcIaSX27l4fDE= -github.com/aws/aws-sdk-go-v2/service/securitylake v1.21.1/go.mod h1:NamZRs6fW0/J8Di0CqJXRwbB58f4xVPNTfohMxi5lB0= +github.com/aws/aws-sdk-go-v2/service/securitylake v1.22.0 h1:gDD/r2shxWIUj+ewgBoKcESeME6uaTEZWrfp1eyq9Dg= +github.com/aws/aws-sdk-go-v2/service/securitylake v1.22.0/go.mod h1:8jHxtowB6qC1v2gsi4B7aWVynHuDTGvDGQdzftRZ+zA= github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.26.1 h1:G00kAq1ULynJ5Sl4yBoa+7CKd35YVJj4nLMl8s0OXsM= github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.26.1/go.mod h1:l21Hlsg40fSBVz2QqhI1+w0iSmJ8j35V6pxsp+4rne4= github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.35.1 h1:YnjdZk67nAaojegCz1QfvCjW6KxXRDbs3nONIaKd7R0= From cf6b8bb65dffa54a00dee4d05ada7f1a9115cd9c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:43 -0400 Subject: [PATCH 0500/1301] go get github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 4e4e1aeae588..61783f883ab6 100644 --- a/go.mod +++ b/go.mod @@ -231,7 +231,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.37.0 github.com/aws/aws-sdk-go-v2/service/securityhub v1.61.0 github.com/aws/aws-sdk-go-v2/service/securitylake v1.22.0 - github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.26.1 + github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.27.0 github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.35.1 github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.32.1 github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.36.1 diff --git a/go.sum b/go.sum index f295ec8a21cb..f40ef64a8fab 100644 --- a/go.sum +++ b/go.sum @@ -483,8 +483,8 @@ github.com/aws/aws-sdk-go-v2/service/securityhub v1.61.0 h1:aCI2GYfTx4TzzPf2WEzs github.com/aws/aws-sdk-go-v2/service/securityhub v1.61.0/go.mod h1:32eH94E8iekHQ/YdEyJw50SNUiStOjMOZ7l8cEw4pLY= github.com/aws/aws-sdk-go-v2/service/securitylake v1.22.0 h1:gDD/r2shxWIUj+ewgBoKcESeME6uaTEZWrfp1eyq9Dg= github.com/aws/aws-sdk-go-v2/service/securitylake v1.22.0/go.mod h1:8jHxtowB6qC1v2gsi4B7aWVynHuDTGvDGQdzftRZ+zA= -github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.26.1 h1:G00kAq1ULynJ5Sl4yBoa+7CKd35YVJj4nLMl8s0OXsM= -github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.26.1/go.mod h1:l21Hlsg40fSBVz2QqhI1+w0iSmJ8j35V6pxsp+4rne4= +github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.27.0 h1:1r06l2UbLJGUOP1LeQ2ulXm2PtS18joFm9dasYo5NXY= +github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.27.0/go.mod h1:NUStYN0KZE1VG4UVvp7XjZZe1F57Wwyoecq1paMLoiQ= github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.35.1 h1:YnjdZk67nAaojegCz1QfvCjW6KxXRDbs3nONIaKd7R0= github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.35.1/go.mod h1:ErWa3lU2aQKBwkdbwpccUW2nodv+S1Fn/R4bU7Rc18g= github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.32.1 h1:bqfWM2gefpr4FOCZrEuKxV9LQdxKkmFBSxyAbeDoBj8= From 68271d8f3329c007329bfae4dacfc355982aa166 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:44 -0400 Subject: [PATCH 0501/1301] go get github.com/aws/aws-sdk-go-v2/service/servicecatalog. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 61783f883ab6..383e4739408a 100644 --- a/go.mod +++ b/go.mod @@ -232,7 +232,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/securityhub v1.61.0 github.com/aws/aws-sdk-go-v2/service/securitylake v1.22.0 github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.27.0 - github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.35.1 + github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.36.0 github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.32.1 github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.36.1 github.com/aws/aws-sdk-go-v2/service/servicequotas v1.29.1 diff --git a/go.sum b/go.sum index f40ef64a8fab..2bdb3b6c639e 100644 --- a/go.sum +++ b/go.sum @@ -485,8 +485,8 @@ github.com/aws/aws-sdk-go-v2/service/securitylake v1.22.0 h1:gDD/r2shxWIUj+ewgBo github.com/aws/aws-sdk-go-v2/service/securitylake v1.22.0/go.mod h1:8jHxtowB6qC1v2gsi4B7aWVynHuDTGvDGQdzftRZ+zA= github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.27.0 h1:1r06l2UbLJGUOP1LeQ2ulXm2PtS18joFm9dasYo5NXY= github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.27.0/go.mod h1:NUStYN0KZE1VG4UVvp7XjZZe1F57Wwyoecq1paMLoiQ= -github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.35.1 h1:YnjdZk67nAaojegCz1QfvCjW6KxXRDbs3nONIaKd7R0= -github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.35.1/go.mod h1:ErWa3lU2aQKBwkdbwpccUW2nodv+S1Fn/R4bU7Rc18g= +github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.36.0 h1:zlCZr/65ADvLfmONcKzrbXoVnayipGvR1HyLzAenutA= +github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.36.0/go.mod h1:7KZX4tCstBrE2P1+VMJLpHOBm+QWOfEh40kcmuYmv4o= github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.32.1 h1:bqfWM2gefpr4FOCZrEuKxV9LQdxKkmFBSxyAbeDoBj8= github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.32.1/go.mod h1:TQJFC/xYbI6XAHE3Wz8GV63G0hEjlZzqtSCD/+DcjFg= github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.36.1 h1:EqupyVMtt84ZljchBzq+X+pPwuYhUT7dzfBoDqC0DB4= From a1e972cbe9c0cbf2113fe6000f2e1cd25e6de5e8 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:45 -0400 Subject: [PATCH 0502/1301] go get github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 383e4739408a..9025fc086203 100644 --- a/go.mod +++ b/go.mod @@ -233,7 +233,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/securitylake v1.22.0 github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.27.0 github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.36.0 - github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.32.1 + github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.33.0 github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.36.1 github.com/aws/aws-sdk-go-v2/service/servicequotas v1.29.1 github.com/aws/aws-sdk-go-v2/service/ses v1.31.1 diff --git a/go.sum b/go.sum index 2bdb3b6c639e..e936cf73df19 100644 --- a/go.sum +++ b/go.sum @@ -487,8 +487,8 @@ github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.27.0 h1: github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.27.0/go.mod h1:NUStYN0KZE1VG4UVvp7XjZZe1F57Wwyoecq1paMLoiQ= github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.36.0 h1:zlCZr/65ADvLfmONcKzrbXoVnayipGvR1HyLzAenutA= github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.36.0/go.mod h1:7KZX4tCstBrE2P1+VMJLpHOBm+QWOfEh40kcmuYmv4o= -github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.32.1 h1:bqfWM2gefpr4FOCZrEuKxV9LQdxKkmFBSxyAbeDoBj8= -github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.32.1/go.mod h1:TQJFC/xYbI6XAHE3Wz8GV63G0hEjlZzqtSCD/+DcjFg= +github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.33.0 h1:O4l2ptRmGbSau3W9r71yazynDiCyLcdoegwbKJNzS68= +github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.33.0/go.mod h1:Aet4t+BW0xV1hm0lLvWoS+LF++1ahOZn7qdZsNE8tjI= github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.36.1 h1:EqupyVMtt84ZljchBzq+X+pPwuYhUT7dzfBoDqC0DB4= github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.36.1/go.mod h1:HrkmhW8FU7GObElHC6Lm3sosolbig21w00VOm77Vsss= github.com/aws/aws-sdk-go-v2/service/servicequotas v1.29.1 h1:woOK9lW27mtpdERfmnV9DFdNmYBKZv0W+DbSMB7c8DI= From 3a51bf90db8dab7503fc91c1d1c5a2aae8d263ec Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:46 -0400 Subject: [PATCH 0503/1301] go get github.com/aws/aws-sdk-go-v2/service/servicediscovery. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 9025fc086203..b6df0042599e 100644 --- a/go.mod +++ b/go.mod @@ -234,7 +234,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.27.0 github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.36.0 github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.33.0 - github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.36.1 + github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.37.0 github.com/aws/aws-sdk-go-v2/service/servicequotas v1.29.1 github.com/aws/aws-sdk-go-v2/service/ses v1.31.1 github.com/aws/aws-sdk-go-v2/service/sesv2 v1.49.0 diff --git a/go.sum b/go.sum index e936cf73df19..2a1b85c1bc81 100644 --- a/go.sum +++ b/go.sum @@ -489,8 +489,8 @@ github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.36.0 h1:zlCZr/65ADvLfmONc github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.36.0/go.mod h1:7KZX4tCstBrE2P1+VMJLpHOBm+QWOfEh40kcmuYmv4o= github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.33.0 h1:O4l2ptRmGbSau3W9r71yazynDiCyLcdoegwbKJNzS68= github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.33.0/go.mod h1:Aet4t+BW0xV1hm0lLvWoS+LF++1ahOZn7qdZsNE8tjI= -github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.36.1 h1:EqupyVMtt84ZljchBzq+X+pPwuYhUT7dzfBoDqC0DB4= -github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.36.1/go.mod h1:HrkmhW8FU7GObElHC6Lm3sosolbig21w00VOm77Vsss= +github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.37.0 h1:ANrVQ718sD62ltN18eVQq5bIwEzQuPKXmd/H4eMSfPk= +github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.37.0/go.mod h1:0Y5X94ePWp4I/S4/BQ8fqdJni6Ymbnnh0Gyc4lpyY5U= github.com/aws/aws-sdk-go-v2/service/servicequotas v1.29.1 h1:woOK9lW27mtpdERfmnV9DFdNmYBKZv0W+DbSMB7c8DI= github.com/aws/aws-sdk-go-v2/service/servicequotas v1.29.1/go.mod h1:Bfj6o/QIVdpFkd95vGIY3fTEaTJZpu0vks/D8VKwLnU= github.com/aws/aws-sdk-go-v2/service/ses v1.31.1 h1:hi11Ld0VefrexMU5GL7/hNKzm6eplrSF4A3xe0S0M0U= From bfa966c7c6a47067e2d21a1bdef540182b47bea1 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:47 -0400 Subject: [PATCH 0504/1301] go get github.com/aws/aws-sdk-go-v2/service/servicequotas. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b6df0042599e..ff5b35644414 100644 --- a/go.mod +++ b/go.mod @@ -235,7 +235,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.36.0 github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.33.0 github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.37.0 - github.com/aws/aws-sdk-go-v2/service/servicequotas v1.29.1 + github.com/aws/aws-sdk-go-v2/service/servicequotas v1.30.0 github.com/aws/aws-sdk-go-v2/service/ses v1.31.1 github.com/aws/aws-sdk-go-v2/service/sesv2 v1.49.0 github.com/aws/aws-sdk-go-v2/service/sfn v1.36.1 diff --git a/go.sum b/go.sum index 2a1b85c1bc81..381ec8ff1d08 100644 --- a/go.sum +++ b/go.sum @@ -491,8 +491,8 @@ github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.33.0 h1:O4l2pt github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.33.0/go.mod h1:Aet4t+BW0xV1hm0lLvWoS+LF++1ahOZn7qdZsNE8tjI= github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.37.0 h1:ANrVQ718sD62ltN18eVQq5bIwEzQuPKXmd/H4eMSfPk= github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.37.0/go.mod h1:0Y5X94ePWp4I/S4/BQ8fqdJni6Ymbnnh0Gyc4lpyY5U= -github.com/aws/aws-sdk-go-v2/service/servicequotas v1.29.1 h1:woOK9lW27mtpdERfmnV9DFdNmYBKZv0W+DbSMB7c8DI= -github.com/aws/aws-sdk-go-v2/service/servicequotas v1.29.1/go.mod h1:Bfj6o/QIVdpFkd95vGIY3fTEaTJZpu0vks/D8VKwLnU= +github.com/aws/aws-sdk-go-v2/service/servicequotas v1.30.0 h1:DkMHQQ1yfoPT57erFe/SJXCZ5Weo5T0/AROuA6hg4VQ= +github.com/aws/aws-sdk-go-v2/service/servicequotas v1.30.0/go.mod h1:r9XW7P7bOhnjMycQWPVeIEPvmzmW8RqzW65vp4z+IjY= github.com/aws/aws-sdk-go-v2/service/ses v1.31.1 h1:hi11Ld0VefrexMU5GL7/hNKzm6eplrSF4A3xe0S0M0U= github.com/aws/aws-sdk-go-v2/service/ses v1.31.1/go.mod h1:YEsycIZqO487LztPmM2Q1U/g0ynw7Zj7zSD4Jt79SDY= github.com/aws/aws-sdk-go-v2/service/sesv2 v1.49.0 h1:XzMkmb8eU1B3WTgfKdLnhJCcWTLZPCoP54ZSsDzPKLY= From c4923f4ee2b86892285134fcdc905499c6c8f4c9 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:48 -0400 Subject: [PATCH 0505/1301] go get github.com/aws/aws-sdk-go-v2/service/ses. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ff5b35644414..eaaa7f493f5e 100644 --- a/go.mod +++ b/go.mod @@ -236,7 +236,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.33.0 github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.37.0 github.com/aws/aws-sdk-go-v2/service/servicequotas v1.30.0 - github.com/aws/aws-sdk-go-v2/service/ses v1.31.1 + github.com/aws/aws-sdk-go-v2/service/ses v1.32.0 github.com/aws/aws-sdk-go-v2/service/sesv2 v1.49.0 github.com/aws/aws-sdk-go-v2/service/sfn v1.36.1 github.com/aws/aws-sdk-go-v2/service/shield v1.31.1 diff --git a/go.sum b/go.sum index 381ec8ff1d08..db366d38863a 100644 --- a/go.sum +++ b/go.sum @@ -493,8 +493,8 @@ github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.37.0 h1:ANrVQ718sD62ltN github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.37.0/go.mod h1:0Y5X94ePWp4I/S4/BQ8fqdJni6Ymbnnh0Gyc4lpyY5U= github.com/aws/aws-sdk-go-v2/service/servicequotas v1.30.0 h1:DkMHQQ1yfoPT57erFe/SJXCZ5Weo5T0/AROuA6hg4VQ= github.com/aws/aws-sdk-go-v2/service/servicequotas v1.30.0/go.mod h1:r9XW7P7bOhnjMycQWPVeIEPvmzmW8RqzW65vp4z+IjY= -github.com/aws/aws-sdk-go-v2/service/ses v1.31.1 h1:hi11Ld0VefrexMU5GL7/hNKzm6eplrSF4A3xe0S0M0U= -github.com/aws/aws-sdk-go-v2/service/ses v1.31.1/go.mod h1:YEsycIZqO487LztPmM2Q1U/g0ynw7Zj7zSD4Jt79SDY= +github.com/aws/aws-sdk-go-v2/service/ses v1.32.0 h1:hsvll+Vlk63Wh38r5pWcZTGmA8oYAULQISXguLFc0IA= +github.com/aws/aws-sdk-go-v2/service/ses v1.32.0/go.mod h1:w6GEPvRXyzj34dGpgbo5MrRUEFTRoXEVNEvg56TpKhE= github.com/aws/aws-sdk-go-v2/service/sesv2 v1.49.0 h1:XzMkmb8eU1B3WTgfKdLnhJCcWTLZPCoP54ZSsDzPKLY= github.com/aws/aws-sdk-go-v2/service/sesv2 v1.49.0/go.mod h1:GvobvR4QPd7vuWZIyvKyRUddjjSKkUHqYa8aBfpIKh4= github.com/aws/aws-sdk-go-v2/service/sfn v1.36.1 h1:VEOUJkplqcaFW+Z3ZOFSWSVsmXVs10SFxb3Y6IGX+bc= From 4b9738794c327fb42a9ac2ca38100a5348f44048 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:49 -0400 Subject: [PATCH 0506/1301] go get github.com/aws/aws-sdk-go-v2/service/sesv2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index eaaa7f493f5e..19e44e5ccb55 100644 --- a/go.mod +++ b/go.mod @@ -237,7 +237,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.37.0 github.com/aws/aws-sdk-go-v2/service/servicequotas v1.30.0 github.com/aws/aws-sdk-go-v2/service/ses v1.32.0 - github.com/aws/aws-sdk-go-v2/service/sesv2 v1.49.0 + github.com/aws/aws-sdk-go-v2/service/sesv2 v1.50.0 github.com/aws/aws-sdk-go-v2/service/sfn v1.36.1 github.com/aws/aws-sdk-go-v2/service/shield v1.31.1 github.com/aws/aws-sdk-go-v2/service/signer v1.28.1 diff --git a/go.sum b/go.sum index db366d38863a..52cf567ae73b 100644 --- a/go.sum +++ b/go.sum @@ -495,8 +495,8 @@ github.com/aws/aws-sdk-go-v2/service/servicequotas v1.30.0 h1:DkMHQQ1yfoPT57erFe github.com/aws/aws-sdk-go-v2/service/servicequotas v1.30.0/go.mod h1:r9XW7P7bOhnjMycQWPVeIEPvmzmW8RqzW65vp4z+IjY= github.com/aws/aws-sdk-go-v2/service/ses v1.32.0 h1:hsvll+Vlk63Wh38r5pWcZTGmA8oYAULQISXguLFc0IA= github.com/aws/aws-sdk-go-v2/service/ses v1.32.0/go.mod h1:w6GEPvRXyzj34dGpgbo5MrRUEFTRoXEVNEvg56TpKhE= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.49.0 h1:XzMkmb8eU1B3WTgfKdLnhJCcWTLZPCoP54ZSsDzPKLY= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.49.0/go.mod h1:GvobvR4QPd7vuWZIyvKyRUddjjSKkUHqYa8aBfpIKh4= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.50.0 h1:ahFtnukBJ2pZmZ2lAHXozc0bH/Xid7ceScQXYM4nU6w= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.50.0/go.mod h1:BXVAeBjFCdDa+ah9DiaKj16DFXDPkFOYdUagssUsptI= github.com/aws/aws-sdk-go-v2/service/sfn v1.36.1 h1:VEOUJkplqcaFW+Z3ZOFSWSVsmXVs10SFxb3Y6IGX+bc= github.com/aws/aws-sdk-go-v2/service/sfn v1.36.1/go.mod h1:bwaYtZOogLKo3c/rpHpBQe7vnoieV5rQn+nQ52HFaz8= github.com/aws/aws-sdk-go-v2/service/shield v1.31.1 h1:xVThf6EHHHIacded51XqxPMEnmruw/VXtrtbMim26Zc= From 99db75874bd5d51e36e16857abb9da71d757cb5f Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:50 -0400 Subject: [PATCH 0507/1301] go get github.com/aws/aws-sdk-go-v2/service/sfn. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 19e44e5ccb55..1101563b0018 100644 --- a/go.mod +++ b/go.mod @@ -238,7 +238,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/servicequotas v1.30.0 github.com/aws/aws-sdk-go-v2/service/ses v1.32.0 github.com/aws/aws-sdk-go-v2/service/sesv2 v1.50.0 - github.com/aws/aws-sdk-go-v2/service/sfn v1.36.1 + github.com/aws/aws-sdk-go-v2/service/sfn v1.37.0 github.com/aws/aws-sdk-go-v2/service/shield v1.31.1 github.com/aws/aws-sdk-go-v2/service/signer v1.28.1 github.com/aws/aws-sdk-go-v2/service/sns v1.35.2 diff --git a/go.sum b/go.sum index 52cf567ae73b..74ce6d7d97c6 100644 --- a/go.sum +++ b/go.sum @@ -497,8 +497,8 @@ github.com/aws/aws-sdk-go-v2/service/ses v1.32.0 h1:hsvll+Vlk63Wh38r5pWcZTGmA8oY github.com/aws/aws-sdk-go-v2/service/ses v1.32.0/go.mod h1:w6GEPvRXyzj34dGpgbo5MrRUEFTRoXEVNEvg56TpKhE= github.com/aws/aws-sdk-go-v2/service/sesv2 v1.50.0 h1:ahFtnukBJ2pZmZ2lAHXozc0bH/Xid7ceScQXYM4nU6w= github.com/aws/aws-sdk-go-v2/service/sesv2 v1.50.0/go.mod h1:BXVAeBjFCdDa+ah9DiaKj16DFXDPkFOYdUagssUsptI= -github.com/aws/aws-sdk-go-v2/service/sfn v1.36.1 h1:VEOUJkplqcaFW+Z3ZOFSWSVsmXVs10SFxb3Y6IGX+bc= -github.com/aws/aws-sdk-go-v2/service/sfn v1.36.1/go.mod h1:bwaYtZOogLKo3c/rpHpBQe7vnoieV5rQn+nQ52HFaz8= +github.com/aws/aws-sdk-go-v2/service/sfn v1.37.0 h1:nmo7k4bHzYxK/iH/hdnYAWJ/tfV+ySV3rk029jVgP+c= +github.com/aws/aws-sdk-go-v2/service/sfn v1.37.0/go.mod h1:+yaDYK9QNsfC2Kp6UpboOqUVp3giQ7GTVBsWoNqtPHY= github.com/aws/aws-sdk-go-v2/service/shield v1.31.1 h1:xVThf6EHHHIacded51XqxPMEnmruw/VXtrtbMim26Zc= github.com/aws/aws-sdk-go-v2/service/shield v1.31.1/go.mod h1:Gr5mZJ4DgXyZBskh7KgfNUb+zqhywkI4tOizNK0ado0= github.com/aws/aws-sdk-go-v2/service/signer v1.28.1 h1:9LIObcOOXWwrT3fdo//lXO5evcqhkzzFLpqkdwcg3/Y= From 4af39004382d648e5b01c300539f8a9d2fbeba84 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:51 -0400 Subject: [PATCH 0508/1301] go get github.com/aws/aws-sdk-go-v2/service/shield. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 1101563b0018..17323b5087b9 100644 --- a/go.mod +++ b/go.mod @@ -239,7 +239,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ses v1.32.0 github.com/aws/aws-sdk-go-v2/service/sesv2 v1.50.0 github.com/aws/aws-sdk-go-v2/service/sfn v1.37.0 - github.com/aws/aws-sdk-go-v2/service/shield v1.31.1 + github.com/aws/aws-sdk-go-v2/service/shield v1.32.0 github.com/aws/aws-sdk-go-v2/service/signer v1.28.1 github.com/aws/aws-sdk-go-v2/service/sns v1.35.2 github.com/aws/aws-sdk-go-v2/service/sqs v1.39.1 diff --git a/go.sum b/go.sum index 74ce6d7d97c6..999b47bdbc36 100644 --- a/go.sum +++ b/go.sum @@ -499,8 +499,8 @@ github.com/aws/aws-sdk-go-v2/service/sesv2 v1.50.0 h1:ahFtnukBJ2pZmZ2lAHXozc0bH/ github.com/aws/aws-sdk-go-v2/service/sesv2 v1.50.0/go.mod h1:BXVAeBjFCdDa+ah9DiaKj16DFXDPkFOYdUagssUsptI= github.com/aws/aws-sdk-go-v2/service/sfn v1.37.0 h1:nmo7k4bHzYxK/iH/hdnYAWJ/tfV+ySV3rk029jVgP+c= github.com/aws/aws-sdk-go-v2/service/sfn v1.37.0/go.mod h1:+yaDYK9QNsfC2Kp6UpboOqUVp3giQ7GTVBsWoNqtPHY= -github.com/aws/aws-sdk-go-v2/service/shield v1.31.1 h1:xVThf6EHHHIacded51XqxPMEnmruw/VXtrtbMim26Zc= -github.com/aws/aws-sdk-go-v2/service/shield v1.31.1/go.mod h1:Gr5mZJ4DgXyZBskh7KgfNUb+zqhywkI4tOizNK0ado0= +github.com/aws/aws-sdk-go-v2/service/shield v1.32.0 h1:uekAZy4/sGCQxX+BxWsjMxmKWfavsQyc04NYb6JlIPM= +github.com/aws/aws-sdk-go-v2/service/shield v1.32.0/go.mod h1:uFSdevNXa2hQFSbvHTrd0/+N4llyjbegPt7T4ij5nIs= github.com/aws/aws-sdk-go-v2/service/signer v1.28.1 h1:9LIObcOOXWwrT3fdo//lXO5evcqhkzzFLpqkdwcg3/Y= github.com/aws/aws-sdk-go-v2/service/signer v1.28.1/go.mod h1:L2cwuhZJxxw/dvQJLkkUW3iTBWAoHC+8EyI/14imqhs= github.com/aws/aws-sdk-go-v2/service/sns v1.35.2 h1:2hhKj36fq0XvkGaRF/aJdW+Ui1D35stQosGHcaIyquE= From 5e0a762a651bf5519009e7f0c99aa7ecc194e2f2 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:52 -0400 Subject: [PATCH 0509/1301] go get github.com/aws/aws-sdk-go-v2/service/signer. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 17323b5087b9..20e7934a9f69 100644 --- a/go.mod +++ b/go.mod @@ -240,7 +240,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/sesv2 v1.50.0 github.com/aws/aws-sdk-go-v2/service/sfn v1.37.0 github.com/aws/aws-sdk-go-v2/service/shield v1.32.0 - github.com/aws/aws-sdk-go-v2/service/signer v1.28.1 + github.com/aws/aws-sdk-go-v2/service/signer v1.29.0 github.com/aws/aws-sdk-go-v2/service/sns v1.35.2 github.com/aws/aws-sdk-go-v2/service/sqs v1.39.1 github.com/aws/aws-sdk-go-v2/service/ssm v1.61.1 diff --git a/go.sum b/go.sum index 999b47bdbc36..cf9f1673d192 100644 --- a/go.sum +++ b/go.sum @@ -501,8 +501,8 @@ github.com/aws/aws-sdk-go-v2/service/sfn v1.37.0 h1:nmo7k4bHzYxK/iH/hdnYAWJ/tfV+ github.com/aws/aws-sdk-go-v2/service/sfn v1.37.0/go.mod h1:+yaDYK9QNsfC2Kp6UpboOqUVp3giQ7GTVBsWoNqtPHY= github.com/aws/aws-sdk-go-v2/service/shield v1.32.0 h1:uekAZy4/sGCQxX+BxWsjMxmKWfavsQyc04NYb6JlIPM= github.com/aws/aws-sdk-go-v2/service/shield v1.32.0/go.mod h1:uFSdevNXa2hQFSbvHTrd0/+N4llyjbegPt7T4ij5nIs= -github.com/aws/aws-sdk-go-v2/service/signer v1.28.1 h1:9LIObcOOXWwrT3fdo//lXO5evcqhkzzFLpqkdwcg3/Y= -github.com/aws/aws-sdk-go-v2/service/signer v1.28.1/go.mod h1:L2cwuhZJxxw/dvQJLkkUW3iTBWAoHC+8EyI/14imqhs= +github.com/aws/aws-sdk-go-v2/service/signer v1.29.0 h1:sF/j2NltXGKx6Tewc7RUwL7fQKxTgXib83qQI/rx5N0= +github.com/aws/aws-sdk-go-v2/service/signer v1.29.0/go.mod h1:kiL4+PJKl6UCNmJORt8IS/k/ydl31sI4WQJnqJQfQi8= github.com/aws/aws-sdk-go-v2/service/sns v1.35.2 h1:2hhKj36fq0XvkGaRF/aJdW+Ui1D35stQosGHcaIyquE= github.com/aws/aws-sdk-go-v2/service/sns v1.35.2/go.mod h1:el2B16jJPkZCHv7NcBt3uf/JLLt0TBxcHcsjsyG+L40= github.com/aws/aws-sdk-go-v2/service/sqs v1.39.1 h1:fkHJs2m1rKVBsE0n6tKi988JhpOMIu2MO2ZIHQQfeho= From 387b8c14bf987928625d2f42c7ee982153b6b49d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:53 -0400 Subject: [PATCH 0510/1301] go get github.com/aws/aws-sdk-go-v2/service/sns. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 20e7934a9f69..d0150a8ea34b 100644 --- a/go.mod +++ b/go.mod @@ -241,7 +241,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/sfn v1.37.0 github.com/aws/aws-sdk-go-v2/service/shield v1.32.0 github.com/aws/aws-sdk-go-v2/service/signer v1.29.0 - github.com/aws/aws-sdk-go-v2/service/sns v1.35.2 + github.com/aws/aws-sdk-go-v2/service/sns v1.36.0 github.com/aws/aws-sdk-go-v2/service/sqs v1.39.1 github.com/aws/aws-sdk-go-v2/service/ssm v1.61.1 github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.28.1 diff --git a/go.sum b/go.sum index cf9f1673d192..d5c12254090c 100644 --- a/go.sum +++ b/go.sum @@ -503,8 +503,8 @@ github.com/aws/aws-sdk-go-v2/service/shield v1.32.0 h1:uekAZy4/sGCQxX+BxWsjMxmKW github.com/aws/aws-sdk-go-v2/service/shield v1.32.0/go.mod h1:uFSdevNXa2hQFSbvHTrd0/+N4llyjbegPt7T4ij5nIs= github.com/aws/aws-sdk-go-v2/service/signer v1.29.0 h1:sF/j2NltXGKx6Tewc7RUwL7fQKxTgXib83qQI/rx5N0= github.com/aws/aws-sdk-go-v2/service/signer v1.29.0/go.mod h1:kiL4+PJKl6UCNmJORt8IS/k/ydl31sI4WQJnqJQfQi8= -github.com/aws/aws-sdk-go-v2/service/sns v1.35.2 h1:2hhKj36fq0XvkGaRF/aJdW+Ui1D35stQosGHcaIyquE= -github.com/aws/aws-sdk-go-v2/service/sns v1.35.2/go.mod h1:el2B16jJPkZCHv7NcBt3uf/JLLt0TBxcHcsjsyG+L40= +github.com/aws/aws-sdk-go-v2/service/sns v1.36.0 h1:Jal42fPojaJRvXps8yN7ZGyIJRAbgE8jBqxMIv10hEg= +github.com/aws/aws-sdk-go-v2/service/sns v1.36.0/go.mod h1:SyCtWzjWA5aLNfchfyuWTtwO0AXRg9rPwfCkOB7fUPA= github.com/aws/aws-sdk-go-v2/service/sqs v1.39.1 h1:fkHJs2m1rKVBsE0n6tKi988JhpOMIu2MO2ZIHQQfeho= github.com/aws/aws-sdk-go-v2/service/sqs v1.39.1/go.mod h1:uo+sko7ERytamU7kYji04fBiMbPAgTHxzr0MX7KznO4= github.com/aws/aws-sdk-go-v2/service/ssm v1.61.1 h1:Pu5hveFc6RslFZP61W5SEMOoPd6RR2yrOu11ZxCkr+Y= From 02e491edca588ff08f1898bbb5c442b3a3a56f6f Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:54 -0400 Subject: [PATCH 0511/1301] go get github.com/aws/aws-sdk-go-v2/service/sqs. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d0150a8ea34b..e48489afcf6e 100644 --- a/go.mod +++ b/go.mod @@ -242,7 +242,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/shield v1.32.0 github.com/aws/aws-sdk-go-v2/service/signer v1.29.0 github.com/aws/aws-sdk-go-v2/service/sns v1.36.0 - github.com/aws/aws-sdk-go-v2/service/sqs v1.39.1 + github.com/aws/aws-sdk-go-v2/service/sqs v1.40.0 github.com/aws/aws-sdk-go-v2/service/ssm v1.61.1 github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.28.1 github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.36.1 diff --git a/go.sum b/go.sum index d5c12254090c..5d51fcb16aaf 100644 --- a/go.sum +++ b/go.sum @@ -505,8 +505,8 @@ github.com/aws/aws-sdk-go-v2/service/signer v1.29.0 h1:sF/j2NltXGKx6Tewc7RUwL7fQ github.com/aws/aws-sdk-go-v2/service/signer v1.29.0/go.mod h1:kiL4+PJKl6UCNmJORt8IS/k/ydl31sI4WQJnqJQfQi8= github.com/aws/aws-sdk-go-v2/service/sns v1.36.0 h1:Jal42fPojaJRvXps8yN7ZGyIJRAbgE8jBqxMIv10hEg= github.com/aws/aws-sdk-go-v2/service/sns v1.36.0/go.mod h1:SyCtWzjWA5aLNfchfyuWTtwO0AXRg9rPwfCkOB7fUPA= -github.com/aws/aws-sdk-go-v2/service/sqs v1.39.1 h1:fkHJs2m1rKVBsE0n6tKi988JhpOMIu2MO2ZIHQQfeho= -github.com/aws/aws-sdk-go-v2/service/sqs v1.39.1/go.mod h1:uo+sko7ERytamU7kYji04fBiMbPAgTHxzr0MX7KznO4= +github.com/aws/aws-sdk-go-v2/service/sqs v1.40.0 h1:sgc/AOL84B6Uc+GYAY8oab8cg0m97JegJ+uVil3yiys= +github.com/aws/aws-sdk-go-v2/service/sqs v1.40.0/go.mod h1:ll5FUISR9gMMKlo+vgSFVkLCqFBnzHZDJ8IwlRQy0kU= github.com/aws/aws-sdk-go-v2/service/ssm v1.61.1 h1:Pu5hveFc6RslFZP61W5SEMOoPd6RR2yrOu11ZxCkr+Y= github.com/aws/aws-sdk-go-v2/service/ssm v1.61.1/go.mod h1:8OOmGP4EK2O8eJIKIgTUXTfznuhC1BBarYzb+B5ep44= github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.28.1 h1:1H1jDOo0680oHHo25w2z5zhQ18anlw3iyGBHEQ4KnHM= From 1214bee18fadc6d7d8ac07483af3e56afe284d86 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:55 -0400 Subject: [PATCH 0512/1301] go get github.com/aws/aws-sdk-go-v2/service/ssm. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e48489afcf6e..f72ce9d65864 100644 --- a/go.mod +++ b/go.mod @@ -243,7 +243,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/signer v1.29.0 github.com/aws/aws-sdk-go-v2/service/sns v1.36.0 github.com/aws/aws-sdk-go-v2/service/sqs v1.40.0 - github.com/aws/aws-sdk-go-v2/service/ssm v1.61.1 + github.com/aws/aws-sdk-go-v2/service/ssm v1.62.0 github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.28.1 github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.36.1 github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.5.1 diff --git a/go.sum b/go.sum index 5d51fcb16aaf..7942466eb9a8 100644 --- a/go.sum +++ b/go.sum @@ -507,8 +507,8 @@ github.com/aws/aws-sdk-go-v2/service/sns v1.36.0 h1:Jal42fPojaJRvXps8yN7ZGyIJRAb github.com/aws/aws-sdk-go-v2/service/sns v1.36.0/go.mod h1:SyCtWzjWA5aLNfchfyuWTtwO0AXRg9rPwfCkOB7fUPA= github.com/aws/aws-sdk-go-v2/service/sqs v1.40.0 h1:sgc/AOL84B6Uc+GYAY8oab8cg0m97JegJ+uVil3yiys= github.com/aws/aws-sdk-go-v2/service/sqs v1.40.0/go.mod h1:ll5FUISR9gMMKlo+vgSFVkLCqFBnzHZDJ8IwlRQy0kU= -github.com/aws/aws-sdk-go-v2/service/ssm v1.61.1 h1:Pu5hveFc6RslFZP61W5SEMOoPd6RR2yrOu11ZxCkr+Y= -github.com/aws/aws-sdk-go-v2/service/ssm v1.61.1/go.mod h1:8OOmGP4EK2O8eJIKIgTUXTfznuhC1BBarYzb+B5ep44= +github.com/aws/aws-sdk-go-v2/service/ssm v1.62.0 h1:o/2RGV3LouWdbEFpODWRQTw1VSSNOJ8Bh2StX8BpcFs= +github.com/aws/aws-sdk-go-v2/service/ssm v1.62.0/go.mod h1:Q42zmnvaj33ibL1cPu7N2hvQx6D19Rf94ScnppcQIlU= github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.28.1 h1:1H1jDOo0680oHHo25w2z5zhQ18anlw3iyGBHEQ4KnHM= github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.28.1/go.mod h1:20JJUbKRkWn+Ln9Xt8J3U4IfpM8Sbb0ks9KoQmgIGPA= github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.36.1 h1:1/T3AGKsL3mUURd6Dk0qJa2Pgmeqx6ZjpY+cM4iHcX0= From dd1aa004a46194274c5159b30c0dfbf8b53e875a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:56 -0400 Subject: [PATCH 0513/1301] go get github.com/aws/aws-sdk-go-v2/service/ssmcontacts. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index f72ce9d65864..087c8d1a8fc2 100644 --- a/go.mod +++ b/go.mod @@ -244,7 +244,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/sns v1.36.0 github.com/aws/aws-sdk-go-v2/service/sqs v1.40.0 github.com/aws/aws-sdk-go-v2/service/ssm v1.62.0 - github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.28.1 + github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.29.0 github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.36.1 github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.5.1 github.com/aws/aws-sdk-go-v2/service/ssmsap v1.21.1 diff --git a/go.sum b/go.sum index 7942466eb9a8..39f759661cd8 100644 --- a/go.sum +++ b/go.sum @@ -509,8 +509,8 @@ github.com/aws/aws-sdk-go-v2/service/sqs v1.40.0 h1:sgc/AOL84B6Uc+GYAY8oab8cg0m9 github.com/aws/aws-sdk-go-v2/service/sqs v1.40.0/go.mod h1:ll5FUISR9gMMKlo+vgSFVkLCqFBnzHZDJ8IwlRQy0kU= github.com/aws/aws-sdk-go-v2/service/ssm v1.62.0 h1:o/2RGV3LouWdbEFpODWRQTw1VSSNOJ8Bh2StX8BpcFs= github.com/aws/aws-sdk-go-v2/service/ssm v1.62.0/go.mod h1:Q42zmnvaj33ibL1cPu7N2hvQx6D19Rf94ScnppcQIlU= -github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.28.1 h1:1H1jDOo0680oHHo25w2z5zhQ18anlw3iyGBHEQ4KnHM= -github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.28.1/go.mod h1:20JJUbKRkWn+Ln9Xt8J3U4IfpM8Sbb0ks9KoQmgIGPA= +github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.29.0 h1:Ognxd7DYQTLnq6HzzMBEPfZUbCLfPK/fijUxI0c7oqY= +github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.29.0/go.mod h1:br4H1KoSMGLTG4PUzzhmp+7CnPqu4XFp1x+WhCsSsV4= github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.36.1 h1:1/T3AGKsL3mUURd6Dk0qJa2Pgmeqx6ZjpY+cM4iHcX0= github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.36.1/go.mod h1:a9gXJaVGkxv3DRJd9ZafQSCBaoBDSYOQnNzshN869gM= github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.5.1 h1:kpAZB/7E8vcJabxjuBgOS14H4vew0vpE4/OXyzZh4/U= From 01c43958071ab108a47b7c38608da2712f762f6d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:57 -0400 Subject: [PATCH 0514/1301] go get github.com/aws/aws-sdk-go-v2/service/ssmincidents. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 087c8d1a8fc2..926d126915f7 100644 --- a/go.mod +++ b/go.mod @@ -245,7 +245,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/sqs v1.40.0 github.com/aws/aws-sdk-go-v2/service/ssm v1.62.0 github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.29.0 - github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.36.1 + github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.37.0 github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.5.1 github.com/aws/aws-sdk-go-v2/service/ssmsap v1.21.1 github.com/aws/aws-sdk-go-v2/service/sso v1.27.0 diff --git a/go.sum b/go.sum index 39f759661cd8..19891ff03405 100644 --- a/go.sum +++ b/go.sum @@ -511,8 +511,8 @@ github.com/aws/aws-sdk-go-v2/service/ssm v1.62.0 h1:o/2RGV3LouWdbEFpODWRQTw1VSSN github.com/aws/aws-sdk-go-v2/service/ssm v1.62.0/go.mod h1:Q42zmnvaj33ibL1cPu7N2hvQx6D19Rf94ScnppcQIlU= github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.29.0 h1:Ognxd7DYQTLnq6HzzMBEPfZUbCLfPK/fijUxI0c7oqY= github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.29.0/go.mod h1:br4H1KoSMGLTG4PUzzhmp+7CnPqu4XFp1x+WhCsSsV4= -github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.36.1 h1:1/T3AGKsL3mUURd6Dk0qJa2Pgmeqx6ZjpY+cM4iHcX0= -github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.36.1/go.mod h1:a9gXJaVGkxv3DRJd9ZafQSCBaoBDSYOQnNzshN869gM= +github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.37.0 h1:2I7MLpAwSuZvMQZ7scGuHn0wRqeFYSxFQVn11g8CBUA= +github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.37.0/go.mod h1:ykpAISEQaGRKPKn9HS/VwH89LQh1zu0qjZY+AMgyQCA= github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.5.1 h1:kpAZB/7E8vcJabxjuBgOS14H4vew0vpE4/OXyzZh4/U= github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.5.1/go.mod h1:5Paze51it1WMLnEuoMWZhJeXxAUThOdl0LNHqbFkVmY= github.com/aws/aws-sdk-go-v2/service/ssmsap v1.21.1 h1:qHmgtw+6t+U3HoGEfBGRlnWyWH90u7g4yNT5r4YSBHQ= From c6949b6fcce2a3d3103c0cb3bcd8b9a0a586823b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:57 -0400 Subject: [PATCH 0515/1301] go get github.com/aws/aws-sdk-go-v2/service/ssmquicksetup. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 926d126915f7..d880baa225e3 100644 --- a/go.mod +++ b/go.mod @@ -246,7 +246,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssm v1.62.0 github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.29.0 github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.37.0 - github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.5.1 + github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.6.0 github.com/aws/aws-sdk-go-v2/service/ssmsap v1.21.1 github.com/aws/aws-sdk-go-v2/service/sso v1.27.0 github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.32.1 diff --git a/go.sum b/go.sum index 19891ff03405..176562f0725e 100644 --- a/go.sum +++ b/go.sum @@ -513,8 +513,8 @@ github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.29.0 h1:Ognxd7DYQTLnq6HzzMBE github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.29.0/go.mod h1:br4H1KoSMGLTG4PUzzhmp+7CnPqu4XFp1x+WhCsSsV4= github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.37.0 h1:2I7MLpAwSuZvMQZ7scGuHn0wRqeFYSxFQVn11g8CBUA= github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.37.0/go.mod h1:ykpAISEQaGRKPKn9HS/VwH89LQh1zu0qjZY+AMgyQCA= -github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.5.1 h1:kpAZB/7E8vcJabxjuBgOS14H4vew0vpE4/OXyzZh4/U= -github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.5.1/go.mod h1:5Paze51it1WMLnEuoMWZhJeXxAUThOdl0LNHqbFkVmY= +github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.6.0 h1:ivkaBapgjmE9Put5MJ3Yg7zYw+Fud/ZyLMfmSBgCJTs= +github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.6.0/go.mod h1:HAdCTJPmPNeZD6mAmPDcU9eK1yVP88JVu0kwp6HmJR0= github.com/aws/aws-sdk-go-v2/service/ssmsap v1.21.1 h1:qHmgtw+6t+U3HoGEfBGRlnWyWH90u7g4yNT5r4YSBHQ= github.com/aws/aws-sdk-go-v2/service/ssmsap v1.21.1/go.mod h1:dls7w/cdUdzL0r0oCbz/zNMtnuBNIayq2wDDYr57Mmo= github.com/aws/aws-sdk-go-v2/service/sso v1.27.0 h1:j7/jTOjWeJDolPwZ/J4yZ7dUsxsWZEsxNwH5O7F8eEA= From 6e942521d75618bf0bb105bf1f301a19b3cd44eb Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:07:58 -0400 Subject: [PATCH 0516/1301] go get github.com/aws/aws-sdk-go-v2/service/ssmsap. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d880baa225e3..fffdf4f7b6ee 100644 --- a/go.mod +++ b/go.mod @@ -247,7 +247,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.29.0 github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.37.0 github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.6.0 - github.com/aws/aws-sdk-go-v2/service/ssmsap v1.21.1 + github.com/aws/aws-sdk-go-v2/service/ssmsap v1.22.0 github.com/aws/aws-sdk-go-v2/service/sso v1.27.0 github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.32.1 github.com/aws/aws-sdk-go-v2/service/storagegateway v1.39.1 diff --git a/go.sum b/go.sum index 176562f0725e..c7775f39dad4 100644 --- a/go.sum +++ b/go.sum @@ -515,8 +515,8 @@ github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.37.0 h1:2I7MLpAwSuZvMQZ7scG github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.37.0/go.mod h1:ykpAISEQaGRKPKn9HS/VwH89LQh1zu0qjZY+AMgyQCA= github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.6.0 h1:ivkaBapgjmE9Put5MJ3Yg7zYw+Fud/ZyLMfmSBgCJTs= github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.6.0/go.mod h1:HAdCTJPmPNeZD6mAmPDcU9eK1yVP88JVu0kwp6HmJR0= -github.com/aws/aws-sdk-go-v2/service/ssmsap v1.21.1 h1:qHmgtw+6t+U3HoGEfBGRlnWyWH90u7g4yNT5r4YSBHQ= -github.com/aws/aws-sdk-go-v2/service/ssmsap v1.21.1/go.mod h1:dls7w/cdUdzL0r0oCbz/zNMtnuBNIayq2wDDYr57Mmo= +github.com/aws/aws-sdk-go-v2/service/ssmsap v1.22.0 h1:5+fIKFIbA80sYjNf2vccPvmrdp4nb1EbkQdsO9HZA9g= +github.com/aws/aws-sdk-go-v2/service/ssmsap v1.22.0/go.mod h1:mlTUZlO4rjFmS6ZZ7hJD6Oko4Geto1EMzta8T3R61r4= github.com/aws/aws-sdk-go-v2/service/sso v1.27.0 h1:j7/jTOjWeJDolPwZ/J4yZ7dUsxsWZEsxNwH5O7F8eEA= github.com/aws/aws-sdk-go-v2/service/sso v1.27.0/go.mod h1:M0xdEPQtgpNT7kdAX4/vOAPkFj60hSQRb7TvW9B0iug= github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.32.1 h1:Wqti4CxhMVIQU0ucF/RSIhgqy8i7jO/kX+s1uw73YH0= From 72a7dc0fd67d3ac0a6386b7565f81fed2647e251 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:08:00 -0400 Subject: [PATCH 0517/1301] go get github.com/aws/aws-sdk-go-v2/service/ssoadmin. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index fffdf4f7b6ee..5a890a4523a5 100644 --- a/go.mod +++ b/go.mod @@ -249,7 +249,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.6.0 github.com/aws/aws-sdk-go-v2/service/ssmsap v1.22.0 github.com/aws/aws-sdk-go-v2/service/sso v1.27.0 - github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.32.1 + github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.33.0 github.com/aws/aws-sdk-go-v2/service/storagegateway v1.39.1 github.com/aws/aws-sdk-go-v2/service/sts v1.36.0 github.com/aws/aws-sdk-go-v2/service/swf v1.29.1 diff --git a/go.sum b/go.sum index c7775f39dad4..606fb983f56f 100644 --- a/go.sum +++ b/go.sum @@ -519,8 +519,8 @@ github.com/aws/aws-sdk-go-v2/service/ssmsap v1.22.0 h1:5+fIKFIbA80sYjNf2vccPvmrd github.com/aws/aws-sdk-go-v2/service/ssmsap v1.22.0/go.mod h1:mlTUZlO4rjFmS6ZZ7hJD6Oko4Geto1EMzta8T3R61r4= github.com/aws/aws-sdk-go-v2/service/sso v1.27.0 h1:j7/jTOjWeJDolPwZ/J4yZ7dUsxsWZEsxNwH5O7F8eEA= github.com/aws/aws-sdk-go-v2/service/sso v1.27.0/go.mod h1:M0xdEPQtgpNT7kdAX4/vOAPkFj60hSQRb7TvW9B0iug= -github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.32.1 h1:Wqti4CxhMVIQU0ucF/RSIhgqy8i7jO/kX+s1uw73YH0= -github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.32.1/go.mod h1:TbMaMLH88FDGdgBJ/7lbx0fiUP/Zz0QloIaATlW8e2w= +github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.33.0 h1:61baAQJeQS9SdTXJ9MVUiT5hkMf65SUfjVV9j2/W45M= +github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.33.0/go.mod h1:nnlw3wIldhDvFLfpv/yH9j31xoz0EdczpuYu95M/Mm0= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.32.0 h1:ywQF2N4VjqX+Psw+jLjMmUL2g1RDHlvri3NxHA08MGI= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.32.0/go.mod h1:Z+qv5Q6b7sWiclvbJyPSOT1BRVU9wfSUPaqQzZ1Xg3E= github.com/aws/aws-sdk-go-v2/service/storagegateway v1.39.1 h1:O5zyb5Nag2fUvcIXMK1v+ZXWaPFCoPmqX6WAR0Jmsno= From e03171c9ee4c01f0516e768a13fe033a937586df Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:08:01 -0400 Subject: [PATCH 0518/1301] go get github.com/aws/aws-sdk-go-v2/service/storagegateway. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5a890a4523a5..8b82ee9aab3a 100644 --- a/go.mod +++ b/go.mod @@ -250,7 +250,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssmsap v1.22.0 github.com/aws/aws-sdk-go-v2/service/sso v1.27.0 github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.33.0 - github.com/aws/aws-sdk-go-v2/service/storagegateway v1.39.1 + github.com/aws/aws-sdk-go-v2/service/storagegateway v1.40.0 github.com/aws/aws-sdk-go-v2/service/sts v1.36.0 github.com/aws/aws-sdk-go-v2/service/swf v1.29.1 github.com/aws/aws-sdk-go-v2/service/synthetics v1.37.1 diff --git a/go.sum b/go.sum index 606fb983f56f..4bd4e0a872bc 100644 --- a/go.sum +++ b/go.sum @@ -523,8 +523,8 @@ github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.33.0 h1:61baAQJeQS9SdTXJ9MVUiT5 github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.33.0/go.mod h1:nnlw3wIldhDvFLfpv/yH9j31xoz0EdczpuYu95M/Mm0= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.32.0 h1:ywQF2N4VjqX+Psw+jLjMmUL2g1RDHlvri3NxHA08MGI= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.32.0/go.mod h1:Z+qv5Q6b7sWiclvbJyPSOT1BRVU9wfSUPaqQzZ1Xg3E= -github.com/aws/aws-sdk-go-v2/service/storagegateway v1.39.1 h1:O5zyb5Nag2fUvcIXMK1v+ZXWaPFCoPmqX6WAR0Jmsno= -github.com/aws/aws-sdk-go-v2/service/storagegateway v1.39.1/go.mod h1:AQSOz7HtJBbLMExu5ftB5sN8B9ZaHE00Rc/8P3MPpjo= +github.com/aws/aws-sdk-go-v2/service/storagegateway v1.40.0 h1:eywzm3eHsI6lkM7HpsLuoLUKuW87wINDWM/kpEahPbQ= +github.com/aws/aws-sdk-go-v2/service/storagegateway v1.40.0/go.mod h1:dpO8VuQCysRhgr+cTRKLjF27aJZ84dDR5mpC3YKSzvI= github.com/aws/aws-sdk-go-v2/service/sts v1.36.0 h1:bRP/a9llXSSgDPk7Rqn5GD/DQCGo6uk95plBFKoXt2M= github.com/aws/aws-sdk-go-v2/service/sts v1.36.0/go.mod h1:tgBsFzxwl65BWkuJ/x2EUs59bD4SfYKgikvFDJi1S58= github.com/aws/aws-sdk-go-v2/service/swf v1.29.1 h1:3MokmeLAz3SAzZW/PT3+QebJYVUtzNDpHrSpO0SQtPs= From 2e47681a19acee423db65a1bd1f6fe8d31c27f4d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:08:03 -0400 Subject: [PATCH 0519/1301] go get github.com/aws/aws-sdk-go-v2/service/swf. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8b82ee9aab3a..c9a546fa01a1 100644 --- a/go.mod +++ b/go.mod @@ -252,7 +252,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.33.0 github.com/aws/aws-sdk-go-v2/service/storagegateway v1.40.0 github.com/aws/aws-sdk-go-v2/service/sts v1.36.0 - github.com/aws/aws-sdk-go-v2/service/swf v1.29.1 + github.com/aws/aws-sdk-go-v2/service/swf v1.30.0 github.com/aws/aws-sdk-go-v2/service/synthetics v1.37.1 github.com/aws/aws-sdk-go-v2/service/taxsettings v1.13.1 github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.12.1 diff --git a/go.sum b/go.sum index 4bd4e0a872bc..46bf3619f064 100644 --- a/go.sum +++ b/go.sum @@ -527,8 +527,8 @@ github.com/aws/aws-sdk-go-v2/service/storagegateway v1.40.0 h1:eywzm3eHsI6lkM7Hp github.com/aws/aws-sdk-go-v2/service/storagegateway v1.40.0/go.mod h1:dpO8VuQCysRhgr+cTRKLjF27aJZ84dDR5mpC3YKSzvI= github.com/aws/aws-sdk-go-v2/service/sts v1.36.0 h1:bRP/a9llXSSgDPk7Rqn5GD/DQCGo6uk95plBFKoXt2M= github.com/aws/aws-sdk-go-v2/service/sts v1.36.0/go.mod h1:tgBsFzxwl65BWkuJ/x2EUs59bD4SfYKgikvFDJi1S58= -github.com/aws/aws-sdk-go-v2/service/swf v1.29.1 h1:3MokmeLAz3SAzZW/PT3+QebJYVUtzNDpHrSpO0SQtPs= -github.com/aws/aws-sdk-go-v2/service/swf v1.29.1/go.mod h1:KBITTXjOcUqvzGilyMCW/lLL2aLTN6PxS+OxMJsoitw= +github.com/aws/aws-sdk-go-v2/service/swf v1.30.0 h1:isVHS2KcvvQF+K4xm1d8gwn7oblSNrvLGnkgnrklU98= +github.com/aws/aws-sdk-go-v2/service/swf v1.30.0/go.mod h1:ew3I70Cp5/fov/t/5KR5gnUJKh/oUFaRSXiLhGdNEBQ= github.com/aws/aws-sdk-go-v2/service/synthetics v1.37.1 h1:bWH6tBabdGAWbpbV3FFukqUlY54I6jjzHHQWE/1YJbY= github.com/aws/aws-sdk-go-v2/service/synthetics v1.37.1/go.mod h1:BedpiqRrnMFzbm/g8ZuUnA1/TjAzT475hVNpUiNWpaM= github.com/aws/aws-sdk-go-v2/service/taxsettings v1.13.1 h1:1LsFNUBiAu20C/+DCTw3uhTmfgrenBJPGzNo5TkKPro= From 26a4e878effcaa91c68c4e0cd7e8d5a79b259708 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:08:04 -0400 Subject: [PATCH 0520/1301] go get github.com/aws/aws-sdk-go-v2/service/synthetics. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c9a546fa01a1..54c41b501625 100644 --- a/go.mod +++ b/go.mod @@ -253,7 +253,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/storagegateway v1.40.0 github.com/aws/aws-sdk-go-v2/service/sts v1.36.0 github.com/aws/aws-sdk-go-v2/service/swf v1.30.0 - github.com/aws/aws-sdk-go-v2/service/synthetics v1.37.1 + github.com/aws/aws-sdk-go-v2/service/synthetics v1.38.0 github.com/aws/aws-sdk-go-v2/service/taxsettings v1.13.1 github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.12.1 github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.32.1 diff --git a/go.sum b/go.sum index 46bf3619f064..7f5d09547515 100644 --- a/go.sum +++ b/go.sum @@ -529,8 +529,8 @@ github.com/aws/aws-sdk-go-v2/service/sts v1.36.0 h1:bRP/a9llXSSgDPk7Rqn5GD/DQCGo github.com/aws/aws-sdk-go-v2/service/sts v1.36.0/go.mod h1:tgBsFzxwl65BWkuJ/x2EUs59bD4SfYKgikvFDJi1S58= github.com/aws/aws-sdk-go-v2/service/swf v1.30.0 h1:isVHS2KcvvQF+K4xm1d8gwn7oblSNrvLGnkgnrklU98= github.com/aws/aws-sdk-go-v2/service/swf v1.30.0/go.mod h1:ew3I70Cp5/fov/t/5KR5gnUJKh/oUFaRSXiLhGdNEBQ= -github.com/aws/aws-sdk-go-v2/service/synthetics v1.37.1 h1:bWH6tBabdGAWbpbV3FFukqUlY54I6jjzHHQWE/1YJbY= -github.com/aws/aws-sdk-go-v2/service/synthetics v1.37.1/go.mod h1:BedpiqRrnMFzbm/g8ZuUnA1/TjAzT475hVNpUiNWpaM= +github.com/aws/aws-sdk-go-v2/service/synthetics v1.38.0 h1:bO03M5vd7lbwA2u+AJ5p5lNXDrX95irMpQGnTriIZCs= +github.com/aws/aws-sdk-go-v2/service/synthetics v1.38.0/go.mod h1:pNBlT8k2dNNduzB6k73U7zZ7yyHV2Kr0YlLfi84+c64= github.com/aws/aws-sdk-go-v2/service/taxsettings v1.13.1 h1:1LsFNUBiAu20C/+DCTw3uhTmfgrenBJPGzNo5TkKPro= github.com/aws/aws-sdk-go-v2/service/taxsettings v1.13.1/go.mod h1:5WaC771ktHDgK0787PVcUQ98ptYdxmYTCK4ymuQC4OE= github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.12.1 h1:izKMjMihlIJdADsWKFDu2Q3epWiT1ee5w2fHnvMQ80E= From eb95f449cb4d1760d065fb76c7d44b0ffcc91fd0 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:08:04 -0400 Subject: [PATCH 0521/1301] go get github.com/aws/aws-sdk-go-v2/service/taxsettings. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 54c41b501625..c2687f23e6c9 100644 --- a/go.mod +++ b/go.mod @@ -254,7 +254,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/sts v1.36.0 github.com/aws/aws-sdk-go-v2/service/swf v1.30.0 github.com/aws/aws-sdk-go-v2/service/synthetics v1.38.0 - github.com/aws/aws-sdk-go-v2/service/taxsettings v1.13.1 + github.com/aws/aws-sdk-go-v2/service/taxsettings v1.14.0 github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.12.1 github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.32.1 github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.32.1 diff --git a/go.sum b/go.sum index 7f5d09547515..20e5c3b6501a 100644 --- a/go.sum +++ b/go.sum @@ -531,8 +531,8 @@ github.com/aws/aws-sdk-go-v2/service/swf v1.30.0 h1:isVHS2KcvvQF+K4xm1d8gwn7oblS github.com/aws/aws-sdk-go-v2/service/swf v1.30.0/go.mod h1:ew3I70Cp5/fov/t/5KR5gnUJKh/oUFaRSXiLhGdNEBQ= github.com/aws/aws-sdk-go-v2/service/synthetics v1.38.0 h1:bO03M5vd7lbwA2u+AJ5p5lNXDrX95irMpQGnTriIZCs= github.com/aws/aws-sdk-go-v2/service/synthetics v1.38.0/go.mod h1:pNBlT8k2dNNduzB6k73U7zZ7yyHV2Kr0YlLfi84+c64= -github.com/aws/aws-sdk-go-v2/service/taxsettings v1.13.1 h1:1LsFNUBiAu20C/+DCTw3uhTmfgrenBJPGzNo5TkKPro= -github.com/aws/aws-sdk-go-v2/service/taxsettings v1.13.1/go.mod h1:5WaC771ktHDgK0787PVcUQ98ptYdxmYTCK4ymuQC4OE= +github.com/aws/aws-sdk-go-v2/service/taxsettings v1.14.0 h1:1pAiXK1faOGJi8KL/bokC4sqxMBkJePnR56mneSbTN4= +github.com/aws/aws-sdk-go-v2/service/taxsettings v1.14.0/go.mod h1:RdzWkdzuoaM98wctumapBmD2r3WImPXw6g7rICPLvyY= github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.12.1 h1:izKMjMihlIJdADsWKFDu2Q3epWiT1ee5w2fHnvMQ80E= github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.12.1/go.mod h1:Sbgai5mZj8POGBYyMxpwajp6PNHF2lf/i5oLv3lI9qo= github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.32.1 h1:TZ2ntXpVhqDub8hqOZnMJBFNETeYoFvy1gfTaIWB9vE= From a501e1406ebfea108ca191004ebf618d9f05d47f Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:08:05 -0400 Subject: [PATCH 0522/1301] go get github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c2687f23e6c9..09b3866052a3 100644 --- a/go.mod +++ b/go.mod @@ -255,7 +255,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/swf v1.30.0 github.com/aws/aws-sdk-go-v2/service/synthetics v1.38.0 github.com/aws/aws-sdk-go-v2/service/taxsettings v1.14.0 - github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.12.1 + github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.13.0 github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.32.1 github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.32.1 github.com/aws/aws-sdk-go-v2/service/transcribe v1.48.1 diff --git a/go.sum b/go.sum index 20e5c3b6501a..07e79dfc10b5 100644 --- a/go.sum +++ b/go.sum @@ -533,8 +533,8 @@ github.com/aws/aws-sdk-go-v2/service/synthetics v1.38.0 h1:bO03M5vd7lbwA2u+AJ5p5 github.com/aws/aws-sdk-go-v2/service/synthetics v1.38.0/go.mod h1:pNBlT8k2dNNduzB6k73U7zZ7yyHV2Kr0YlLfi84+c64= github.com/aws/aws-sdk-go-v2/service/taxsettings v1.14.0 h1:1pAiXK1faOGJi8KL/bokC4sqxMBkJePnR56mneSbTN4= github.com/aws/aws-sdk-go-v2/service/taxsettings v1.14.0/go.mod h1:RdzWkdzuoaM98wctumapBmD2r3WImPXw6g7rICPLvyY= -github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.12.1 h1:izKMjMihlIJdADsWKFDu2Q3epWiT1ee5w2fHnvMQ80E= -github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.12.1/go.mod h1:Sbgai5mZj8POGBYyMxpwajp6PNHF2lf/i5oLv3lI9qo= +github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.13.0 h1:ik+FNIDBN16wpzb2kJExF1FJ7jmyyq77gJAiXmxjsyI= +github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.13.0/go.mod h1:OOSSPOW5gjnWQfNOtYOnvXqWotSk2TWXW6PqXiM8Dd4= github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.32.1 h1:TZ2ntXpVhqDub8hqOZnMJBFNETeYoFvy1gfTaIWB9vE= github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.32.1/go.mod h1:FSe0ILWhP9eujXt5nq9j3MkDDeLs3/Mv7xxG2MR4sN0= github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.32.1 h1:zh3Jm1emj0IZeZAdimPPHwo2kscIYxxW4fCa+eL1SUE= From 3f70446ee539dbfc2d6fd3ec0f1c4c185cb41827 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:08:06 -0400 Subject: [PATCH 0523/1301] go get github.com/aws/aws-sdk-go-v2/service/timestreamquery. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 09b3866052a3..8e7a6fe221d1 100644 --- a/go.mod +++ b/go.mod @@ -256,7 +256,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/synthetics v1.38.0 github.com/aws/aws-sdk-go-v2/service/taxsettings v1.14.0 github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.13.0 - github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.32.1 + github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.33.0 github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.32.1 github.com/aws/aws-sdk-go-v2/service/transcribe v1.48.1 github.com/aws/aws-sdk-go-v2/service/transfer v1.62.2 diff --git a/go.sum b/go.sum index 07e79dfc10b5..3be98e1e2dbb 100644 --- a/go.sum +++ b/go.sum @@ -535,8 +535,8 @@ github.com/aws/aws-sdk-go-v2/service/taxsettings v1.14.0 h1:1pAiXK1faOGJi8KL/bok github.com/aws/aws-sdk-go-v2/service/taxsettings v1.14.0/go.mod h1:RdzWkdzuoaM98wctumapBmD2r3WImPXw6g7rICPLvyY= github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.13.0 h1:ik+FNIDBN16wpzb2kJExF1FJ7jmyyq77gJAiXmxjsyI= github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.13.0/go.mod h1:OOSSPOW5gjnWQfNOtYOnvXqWotSk2TWXW6PqXiM8Dd4= -github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.32.1 h1:TZ2ntXpVhqDub8hqOZnMJBFNETeYoFvy1gfTaIWB9vE= -github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.32.1/go.mod h1:FSe0ILWhP9eujXt5nq9j3MkDDeLs3/Mv7xxG2MR4sN0= +github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.33.0 h1:FpXclEjSpDkYeCvLpR6nmURQAZfXD235JFvFI6xkbak= +github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.33.0/go.mod h1:AOmT9Dn8c674nUD56pQAb9rCkhhrlK1K6ULaz3T6/EM= github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.32.1 h1:zh3Jm1emj0IZeZAdimPPHwo2kscIYxxW4fCa+eL1SUE= github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.32.1/go.mod h1:a74kIao0vSolFoqFuqoU/ZLbQdE7ean791+w7ke3UmI= github.com/aws/aws-sdk-go-v2/service/transcribe v1.48.1 h1:ydeDmQyYbaVk4Kk4rT7rasqar7WKizpIZc/MtTwx3XU= From db6f7f69c0b9da63059c6c4eaf17b1bce347b6d1 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:08:07 -0400 Subject: [PATCH 0524/1301] go get github.com/aws/aws-sdk-go-v2/service/timestreamwrite. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8e7a6fe221d1..a54cb2915a8f 100644 --- a/go.mod +++ b/go.mod @@ -257,7 +257,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/taxsettings v1.14.0 github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.13.0 github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.33.0 - github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.32.1 + github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.33.0 github.com/aws/aws-sdk-go-v2/service/transcribe v1.48.1 github.com/aws/aws-sdk-go-v2/service/transfer v1.62.2 github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.25.1 diff --git a/go.sum b/go.sum index 3be98e1e2dbb..d370f91d0c07 100644 --- a/go.sum +++ b/go.sum @@ -537,8 +537,8 @@ github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.13.0 h1:ik+FNIDBN16wp github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.13.0/go.mod h1:OOSSPOW5gjnWQfNOtYOnvXqWotSk2TWXW6PqXiM8Dd4= github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.33.0 h1:FpXclEjSpDkYeCvLpR6nmURQAZfXD235JFvFI6xkbak= github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.33.0/go.mod h1:AOmT9Dn8c674nUD56pQAb9rCkhhrlK1K6ULaz3T6/EM= -github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.32.1 h1:zh3Jm1emj0IZeZAdimPPHwo2kscIYxxW4fCa+eL1SUE= -github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.32.1/go.mod h1:a74kIao0vSolFoqFuqoU/ZLbQdE7ean791+w7ke3UmI= +github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.33.0 h1:Ien1hQnz4TwH27FV3BUZxOnp+OYoamqNG3DrHX7clJ0= +github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.33.0/go.mod h1:WquhdpcwQ2IToqTKc9GJSoA4Unm69MhLMXEO6qbhjKU= github.com/aws/aws-sdk-go-v2/service/transcribe v1.48.1 h1:ydeDmQyYbaVk4Kk4rT7rasqar7WKizpIZc/MtTwx3XU= github.com/aws/aws-sdk-go-v2/service/transcribe v1.48.1/go.mod h1:yebrHNdyMhIz0hKhQzHaKtr7GnfjCWfQXR8fI+biDOY= github.com/aws/aws-sdk-go-v2/service/transfer v1.62.2 h1:RlwtIPenSgzBHnNHNFgHiS/xhV/V52HHesCJAFT9pjA= From 3c1407157db5fcc86d07bb7851176080b032d580 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:08:08 -0400 Subject: [PATCH 0525/1301] go get github.com/aws/aws-sdk-go-v2/service/transcribe. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a54cb2915a8f..930fc1958856 100644 --- a/go.mod +++ b/go.mod @@ -258,7 +258,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.13.0 github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.33.0 github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.33.0 - github.com/aws/aws-sdk-go-v2/service/transcribe v1.48.1 + github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.0 github.com/aws/aws-sdk-go-v2/service/transfer v1.62.2 github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.25.1 github.com/aws/aws-sdk-go-v2/service/vpclattice v1.15.1 diff --git a/go.sum b/go.sum index d370f91d0c07..c6c72e4670c0 100644 --- a/go.sum +++ b/go.sum @@ -539,8 +539,8 @@ github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.33.0 h1:FpXclEjSpDkYeCvL github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.33.0/go.mod h1:AOmT9Dn8c674nUD56pQAb9rCkhhrlK1K6ULaz3T6/EM= github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.33.0 h1:Ien1hQnz4TwH27FV3BUZxOnp+OYoamqNG3DrHX7clJ0= github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.33.0/go.mod h1:WquhdpcwQ2IToqTKc9GJSoA4Unm69MhLMXEO6qbhjKU= -github.com/aws/aws-sdk-go-v2/service/transcribe v1.48.1 h1:ydeDmQyYbaVk4Kk4rT7rasqar7WKizpIZc/MtTwx3XU= -github.com/aws/aws-sdk-go-v2/service/transcribe v1.48.1/go.mod h1:yebrHNdyMhIz0hKhQzHaKtr7GnfjCWfQXR8fI+biDOY= +github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.0 h1:6M0y4QaxEOVKWytk0Dp+PqJyvuoiEZDuwqJSitZPTUM= +github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.0/go.mod h1:C4HQjEMMSrwJQKQsFslNNOeP3dICpXktxWJ6MjRCyq8= github.com/aws/aws-sdk-go-v2/service/transfer v1.62.2 h1:RlwtIPenSgzBHnNHNFgHiS/xhV/V52HHesCJAFT9pjA= github.com/aws/aws-sdk-go-v2/service/transfer v1.62.2/go.mod h1:pcob4Kb6kNQartCIk7k5DvcMgUWfFHgpvUmT6NJ+tfA= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.25.1 h1:YfjBV97VKP7BzolXmhkpoIIhfW2bMcxHbMOiK+bXVjA= From 527e2e737c3673fc90285c856f2918ec776fdfb3 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:08:09 -0400 Subject: [PATCH 0526/1301] go get github.com/aws/aws-sdk-go-v2/service/transfer. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 930fc1958856..f12bebb83176 100644 --- a/go.mod +++ b/go.mod @@ -259,7 +259,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.33.0 github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.33.0 github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.0 - github.com/aws/aws-sdk-go-v2/service/transfer v1.62.2 + github.com/aws/aws-sdk-go-v2/service/transfer v1.63.0 github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.25.1 github.com/aws/aws-sdk-go-v2/service/vpclattice v1.15.1 github.com/aws/aws-sdk-go-v2/service/waf v1.27.1 diff --git a/go.sum b/go.sum index c6c72e4670c0..83827d0265c7 100644 --- a/go.sum +++ b/go.sum @@ -541,8 +541,8 @@ github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.33.0 h1:Ien1hQnz4TwH27FV github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.33.0/go.mod h1:WquhdpcwQ2IToqTKc9GJSoA4Unm69MhLMXEO6qbhjKU= github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.0 h1:6M0y4QaxEOVKWytk0Dp+PqJyvuoiEZDuwqJSitZPTUM= github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.0/go.mod h1:C4HQjEMMSrwJQKQsFslNNOeP3dICpXktxWJ6MjRCyq8= -github.com/aws/aws-sdk-go-v2/service/transfer v1.62.2 h1:RlwtIPenSgzBHnNHNFgHiS/xhV/V52HHesCJAFT9pjA= -github.com/aws/aws-sdk-go-v2/service/transfer v1.62.2/go.mod h1:pcob4Kb6kNQartCIk7k5DvcMgUWfFHgpvUmT6NJ+tfA= +github.com/aws/aws-sdk-go-v2/service/transfer v1.63.0 h1:ccfREMOY7VoLlSuSEH/wvXr1Ex+AbmKSKf1iTYvsyYI= +github.com/aws/aws-sdk-go-v2/service/transfer v1.63.0/go.mod h1:zZCkAJeuF8Pfs9vOShUWoL7cXqANEbYaycWjiPeHzJo= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.25.1 h1:YfjBV97VKP7BzolXmhkpoIIhfW2bMcxHbMOiK+bXVjA= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.25.1/go.mod h1:5Eyf+GB1CKpvbvZFT7MIO5Mk3gPHBcyx+WC7Jb1WeIs= github.com/aws/aws-sdk-go-v2/service/vpclattice v1.15.1 h1:yNH2+yM+Fjdm7qyAkZ8jSvvGNJLY1B6Ojf0y1bxtnNU= From de43215979a9fcb3ba199fc6c699cceeee286a3e Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:08:10 -0400 Subject: [PATCH 0527/1301] go get github.com/aws/aws-sdk-go-v2/service/verifiedpermissions. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index f12bebb83176..57a96a385840 100644 --- a/go.mod +++ b/go.mod @@ -260,7 +260,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.33.0 github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.0 github.com/aws/aws-sdk-go-v2/service/transfer v1.63.0 - github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.25.1 + github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.26.0 github.com/aws/aws-sdk-go-v2/service/vpclattice v1.15.1 github.com/aws/aws-sdk-go-v2/service/waf v1.27.1 github.com/aws/aws-sdk-go-v2/service/wafregional v1.27.1 diff --git a/go.sum b/go.sum index 83827d0265c7..c8ec86e9de06 100644 --- a/go.sum +++ b/go.sum @@ -543,8 +543,8 @@ github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.0 h1:6M0y4QaxEOVKWytk0Dp+P github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.0/go.mod h1:C4HQjEMMSrwJQKQsFslNNOeP3dICpXktxWJ6MjRCyq8= github.com/aws/aws-sdk-go-v2/service/transfer v1.63.0 h1:ccfREMOY7VoLlSuSEH/wvXr1Ex+AbmKSKf1iTYvsyYI= github.com/aws/aws-sdk-go-v2/service/transfer v1.63.0/go.mod h1:zZCkAJeuF8Pfs9vOShUWoL7cXqANEbYaycWjiPeHzJo= -github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.25.1 h1:YfjBV97VKP7BzolXmhkpoIIhfW2bMcxHbMOiK+bXVjA= -github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.25.1/go.mod h1:5Eyf+GB1CKpvbvZFT7MIO5Mk3gPHBcyx+WC7Jb1WeIs= +github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.26.0 h1:PpHbbpQ2q02tM40tzUGwRpuTDHc36TtujWkKgcUZhJs= +github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.26.0/go.mod h1:hmDaQDyTtzWXZ9dImqrLz33w5W1zwq5Vl+ek1ocUEiU= github.com/aws/aws-sdk-go-v2/service/vpclattice v1.15.1 h1:yNH2+yM+Fjdm7qyAkZ8jSvvGNJLY1B6Ojf0y1bxtnNU= github.com/aws/aws-sdk-go-v2/service/vpclattice v1.15.1/go.mod h1:PIVQ2MlMezvs5/JN23nZQtdiCcXw1pck5Dc14UYXFys= github.com/aws/aws-sdk-go-v2/service/waf v1.27.1 h1:KXfH2cD/09HuOfEMy4+dOSgswvjsLlIq4MfZq54XVTE= From f0459d12762227ae922aa8993886328a8d443a36 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:08:11 -0400 Subject: [PATCH 0528/1301] go get github.com/aws/aws-sdk-go-v2/service/vpclattice. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 57a96a385840..2590a1def15f 100644 --- a/go.mod +++ b/go.mod @@ -261,7 +261,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.0 github.com/aws/aws-sdk-go-v2/service/transfer v1.63.0 github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.26.0 - github.com/aws/aws-sdk-go-v2/service/vpclattice v1.15.1 + github.com/aws/aws-sdk-go-v2/service/vpclattice v1.16.0 github.com/aws/aws-sdk-go-v2/service/waf v1.27.1 github.com/aws/aws-sdk-go-v2/service/wafregional v1.27.1 github.com/aws/aws-sdk-go-v2/service/wafv2 v1.64.1 diff --git a/go.sum b/go.sum index c8ec86e9de06..54531382d576 100644 --- a/go.sum +++ b/go.sum @@ -545,8 +545,8 @@ github.com/aws/aws-sdk-go-v2/service/transfer v1.63.0 h1:ccfREMOY7VoLlSuSEH/wvXr github.com/aws/aws-sdk-go-v2/service/transfer v1.63.0/go.mod h1:zZCkAJeuF8Pfs9vOShUWoL7cXqANEbYaycWjiPeHzJo= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.26.0 h1:PpHbbpQ2q02tM40tzUGwRpuTDHc36TtujWkKgcUZhJs= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.26.0/go.mod h1:hmDaQDyTtzWXZ9dImqrLz33w5W1zwq5Vl+ek1ocUEiU= -github.com/aws/aws-sdk-go-v2/service/vpclattice v1.15.1 h1:yNH2+yM+Fjdm7qyAkZ8jSvvGNJLY1B6Ojf0y1bxtnNU= -github.com/aws/aws-sdk-go-v2/service/vpclattice v1.15.1/go.mod h1:PIVQ2MlMezvs5/JN23nZQtdiCcXw1pck5Dc14UYXFys= +github.com/aws/aws-sdk-go-v2/service/vpclattice v1.16.0 h1:yvmIhQivdW+lkqwWjROA6Ig40WRBlUt1jxzZ8qiiYlk= +github.com/aws/aws-sdk-go-v2/service/vpclattice v1.16.0/go.mod h1:R3HlHnPqocjz6KcFNEH5eIqzCc8bcI7DyWb2LZGFpxk= github.com/aws/aws-sdk-go-v2/service/waf v1.27.1 h1:KXfH2cD/09HuOfEMy4+dOSgswvjsLlIq4MfZq54XVTE= github.com/aws/aws-sdk-go-v2/service/waf v1.27.1/go.mod h1:3Ox1y+Ece8qh6sh5SwhIApyChTMjB9M+ZPkfFrso9E8= github.com/aws/aws-sdk-go-v2/service/wafregional v1.27.1 h1:cT33VIS4q26eNlgc0BmJ3PztzPYz9fc2dZLwITYqLbA= From 5b30531a06cec1223a0c79fbb6b7daa267269f6d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:08:12 -0400 Subject: [PATCH 0529/1301] go get github.com/aws/aws-sdk-go-v2/service/waf. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 2590a1def15f..8d2b91e0d329 100644 --- a/go.mod +++ b/go.mod @@ -262,7 +262,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/transfer v1.63.0 github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.26.0 github.com/aws/aws-sdk-go-v2/service/vpclattice v1.16.0 - github.com/aws/aws-sdk-go-v2/service/waf v1.27.1 + github.com/aws/aws-sdk-go-v2/service/waf v1.28.0 github.com/aws/aws-sdk-go-v2/service/wafregional v1.27.1 github.com/aws/aws-sdk-go-v2/service/wafv2 v1.64.1 github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.36.1 diff --git a/go.sum b/go.sum index 54531382d576..97a981432769 100644 --- a/go.sum +++ b/go.sum @@ -547,8 +547,8 @@ github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.26.0 h1:PpHbbpQ2q02t github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.26.0/go.mod h1:hmDaQDyTtzWXZ9dImqrLz33w5W1zwq5Vl+ek1ocUEiU= github.com/aws/aws-sdk-go-v2/service/vpclattice v1.16.0 h1:yvmIhQivdW+lkqwWjROA6Ig40WRBlUt1jxzZ8qiiYlk= github.com/aws/aws-sdk-go-v2/service/vpclattice v1.16.0/go.mod h1:R3HlHnPqocjz6KcFNEH5eIqzCc8bcI7DyWb2LZGFpxk= -github.com/aws/aws-sdk-go-v2/service/waf v1.27.1 h1:KXfH2cD/09HuOfEMy4+dOSgswvjsLlIq4MfZq54XVTE= -github.com/aws/aws-sdk-go-v2/service/waf v1.27.1/go.mod h1:3Ox1y+Ece8qh6sh5SwhIApyChTMjB9M+ZPkfFrso9E8= +github.com/aws/aws-sdk-go-v2/service/waf v1.28.0 h1:OYxdAPcJF5HtA5QtvCBIxCyA5KTNB/CjT0Lw5SsKcUk= +github.com/aws/aws-sdk-go-v2/service/waf v1.28.0/go.mod h1:sBkZNIMfKDvcVtaNmeNqaBlL+okCb/ZhsYMfpL8fKTI= github.com/aws/aws-sdk-go-v2/service/wafregional v1.27.1 h1:cT33VIS4q26eNlgc0BmJ3PztzPYz9fc2dZLwITYqLbA= github.com/aws/aws-sdk-go-v2/service/wafregional v1.27.1/go.mod h1:WTjSh2yRo99f7MXyTkQJ2+jrWyyiSKpUpVdeoPFBdqI= github.com/aws/aws-sdk-go-v2/service/wafv2 v1.64.1 h1:oP8eLLYrvxRaOKd8P2Cx0v6BnlBHp9I7ke0hVIVM7Ow= From 121b40820f9f326dedce8259946b2c23125bf2be Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:08:13 -0400 Subject: [PATCH 0530/1301] go get github.com/aws/aws-sdk-go-v2/service/wafregional. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8d2b91e0d329..d5dbacfbb297 100644 --- a/go.mod +++ b/go.mod @@ -263,7 +263,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.26.0 github.com/aws/aws-sdk-go-v2/service/vpclattice v1.16.0 github.com/aws/aws-sdk-go-v2/service/waf v1.28.0 - github.com/aws/aws-sdk-go-v2/service/wafregional v1.27.1 + github.com/aws/aws-sdk-go-v2/service/wafregional v1.28.0 github.com/aws/aws-sdk-go-v2/service/wafv2 v1.64.1 github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.36.1 github.com/aws/aws-sdk-go-v2/service/workspaces v1.59.1 diff --git a/go.sum b/go.sum index 97a981432769..46b951296fef 100644 --- a/go.sum +++ b/go.sum @@ -549,8 +549,8 @@ github.com/aws/aws-sdk-go-v2/service/vpclattice v1.16.0 h1:yvmIhQivdW+lkqwWjROA6 github.com/aws/aws-sdk-go-v2/service/vpclattice v1.16.0/go.mod h1:R3HlHnPqocjz6KcFNEH5eIqzCc8bcI7DyWb2LZGFpxk= github.com/aws/aws-sdk-go-v2/service/waf v1.28.0 h1:OYxdAPcJF5HtA5QtvCBIxCyA5KTNB/CjT0Lw5SsKcUk= github.com/aws/aws-sdk-go-v2/service/waf v1.28.0/go.mod h1:sBkZNIMfKDvcVtaNmeNqaBlL+okCb/ZhsYMfpL8fKTI= -github.com/aws/aws-sdk-go-v2/service/wafregional v1.27.1 h1:cT33VIS4q26eNlgc0BmJ3PztzPYz9fc2dZLwITYqLbA= -github.com/aws/aws-sdk-go-v2/service/wafregional v1.27.1/go.mod h1:WTjSh2yRo99f7MXyTkQJ2+jrWyyiSKpUpVdeoPFBdqI= +github.com/aws/aws-sdk-go-v2/service/wafregional v1.28.0 h1:ZF2SFoVktg4N3dZZgTayqmJNoSfsvieI/S9bxFnrau8= +github.com/aws/aws-sdk-go-v2/service/wafregional v1.28.0/go.mod h1:TWzB6PEp1fYN63oDeiYgl8UzON3M7ygUDPvQOZKnK4A= github.com/aws/aws-sdk-go-v2/service/wafv2 v1.64.1 h1:oP8eLLYrvxRaOKd8P2Cx0v6BnlBHp9I7ke0hVIVM7Ow= github.com/aws/aws-sdk-go-v2/service/wafv2 v1.64.1/go.mod h1:hOrt3LfmAbeUsafBWZpHYkKLzX4Lhd1O9Fgy5Jahr/g= github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.36.1 h1:u5PVGnXaDhUzAi496HM0AqSHLMxsH8AXDGI+hvGGceg= From 35a10bdc252e9fa2a5794e1f64762ec2d27d5807 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:08:14 -0400 Subject: [PATCH 0531/1301] go get github.com/aws/aws-sdk-go-v2/service/wafv2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d5dbacfbb297..668095e33f83 100644 --- a/go.mod +++ b/go.mod @@ -264,7 +264,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/vpclattice v1.16.0 github.com/aws/aws-sdk-go-v2/service/waf v1.28.0 github.com/aws/aws-sdk-go-v2/service/wafregional v1.28.0 - github.com/aws/aws-sdk-go-v2/service/wafv2 v1.64.1 + github.com/aws/aws-sdk-go-v2/service/wafv2 v1.65.0 github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.36.1 github.com/aws/aws-sdk-go-v2/service/workspaces v1.59.1 github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.29.0 diff --git a/go.sum b/go.sum index 46b951296fef..8b1f6e06a496 100644 --- a/go.sum +++ b/go.sum @@ -551,8 +551,8 @@ github.com/aws/aws-sdk-go-v2/service/waf v1.28.0 h1:OYxdAPcJF5HtA5QtvCBIxCyA5KTN github.com/aws/aws-sdk-go-v2/service/waf v1.28.0/go.mod h1:sBkZNIMfKDvcVtaNmeNqaBlL+okCb/ZhsYMfpL8fKTI= github.com/aws/aws-sdk-go-v2/service/wafregional v1.28.0 h1:ZF2SFoVktg4N3dZZgTayqmJNoSfsvieI/S9bxFnrau8= github.com/aws/aws-sdk-go-v2/service/wafregional v1.28.0/go.mod h1:TWzB6PEp1fYN63oDeiYgl8UzON3M7ygUDPvQOZKnK4A= -github.com/aws/aws-sdk-go-v2/service/wafv2 v1.64.1 h1:oP8eLLYrvxRaOKd8P2Cx0v6BnlBHp9I7ke0hVIVM7Ow= -github.com/aws/aws-sdk-go-v2/service/wafv2 v1.64.1/go.mod h1:hOrt3LfmAbeUsafBWZpHYkKLzX4Lhd1O9Fgy5Jahr/g= +github.com/aws/aws-sdk-go-v2/service/wafv2 v1.65.0 h1:uY3OJEiMQuO+RDo0ibtWlU5GTPoMZJoiAiaRPEEZUjQ= +github.com/aws/aws-sdk-go-v2/service/wafv2 v1.65.0/go.mod h1:2y/+a6X3qVfn8T1s3ZT7+OAdyFNVfnG6GRa6EMf69u0= github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.36.1 h1:u5PVGnXaDhUzAi496HM0AqSHLMxsH8AXDGI+hvGGceg= github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.36.1/go.mod h1:9T+lndTY7HGyy99UmFciMfeG8DvHJxQLgKcZkVpfxtA= github.com/aws/aws-sdk-go-v2/service/workspaces v1.59.1 h1:pHLxmX312+1Y4TPvAKS1cVS8ky4Lcqlv0tfmjvSQO7Y= From c7d9b0eee1e1910c901fe21da3856eb3215a4377 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:08:15 -0400 Subject: [PATCH 0532/1301] go get github.com/aws/aws-sdk-go-v2/service/wellarchitected. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 668095e33f83..aee9a5c592af 100644 --- a/go.mod +++ b/go.mod @@ -265,7 +265,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/waf v1.28.0 github.com/aws/aws-sdk-go-v2/service/wafregional v1.28.0 github.com/aws/aws-sdk-go-v2/service/wafv2 v1.65.0 - github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.36.1 + github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.37.0 github.com/aws/aws-sdk-go-v2/service/workspaces v1.59.1 github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.29.0 github.com/aws/aws-sdk-go-v2/service/xray v1.32.1 diff --git a/go.sum b/go.sum index 8b1f6e06a496..4fb31e6138fe 100644 --- a/go.sum +++ b/go.sum @@ -553,8 +553,8 @@ github.com/aws/aws-sdk-go-v2/service/wafregional v1.28.0 h1:ZF2SFoVktg4N3dZZgTay github.com/aws/aws-sdk-go-v2/service/wafregional v1.28.0/go.mod h1:TWzB6PEp1fYN63oDeiYgl8UzON3M7ygUDPvQOZKnK4A= github.com/aws/aws-sdk-go-v2/service/wafv2 v1.65.0 h1:uY3OJEiMQuO+RDo0ibtWlU5GTPoMZJoiAiaRPEEZUjQ= github.com/aws/aws-sdk-go-v2/service/wafv2 v1.65.0/go.mod h1:2y/+a6X3qVfn8T1s3ZT7+OAdyFNVfnG6GRa6EMf69u0= -github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.36.1 h1:u5PVGnXaDhUzAi496HM0AqSHLMxsH8AXDGI+hvGGceg= -github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.36.1/go.mod h1:9T+lndTY7HGyy99UmFciMfeG8DvHJxQLgKcZkVpfxtA= +github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.37.0 h1:Ajd4pP2pftD3pnofQ1+7TEflSaNYevoII49UkI0xatA= +github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.37.0/go.mod h1:vhARHB5E9NBKpbcLcWo96asxlofoSEXItelnMf4L63Q= github.com/aws/aws-sdk-go-v2/service/workspaces v1.59.1 h1:pHLxmX312+1Y4TPvAKS1cVS8ky4Lcqlv0tfmjvSQO7Y= github.com/aws/aws-sdk-go-v2/service/workspaces v1.59.1/go.mod h1:GKRVmQy+p6FxWidtWnsx/qbxIKyu96pEYCdMrcuTgeM= github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.29.0 h1:7+e/FxVeBJ9676CmhjWwd5KamTvz1NqTuOkaJ0pitPg= From fa18925442c2f008a37bd9f07df68abc06c49365 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:08:16 -0400 Subject: [PATCH 0533/1301] go get github.com/aws/aws-sdk-go-v2/service/workspaces. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index aee9a5c592af..c2dd273cc6ce 100644 --- a/go.mod +++ b/go.mod @@ -266,7 +266,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/wafregional v1.28.0 github.com/aws/aws-sdk-go-v2/service/wafv2 v1.65.0 github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.37.0 - github.com/aws/aws-sdk-go-v2/service/workspaces v1.59.1 + github.com/aws/aws-sdk-go-v2/service/workspaces v1.60.0 github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.29.0 github.com/aws/aws-sdk-go-v2/service/xray v1.32.1 github.com/aws/smithy-go v1.22.5 diff --git a/go.sum b/go.sum index 4fb31e6138fe..4495474a8f33 100644 --- a/go.sum +++ b/go.sum @@ -555,8 +555,8 @@ github.com/aws/aws-sdk-go-v2/service/wafv2 v1.65.0 h1:uY3OJEiMQuO+RDo0ibtWlU5GTP github.com/aws/aws-sdk-go-v2/service/wafv2 v1.65.0/go.mod h1:2y/+a6X3qVfn8T1s3ZT7+OAdyFNVfnG6GRa6EMf69u0= github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.37.0 h1:Ajd4pP2pftD3pnofQ1+7TEflSaNYevoII49UkI0xatA= github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.37.0/go.mod h1:vhARHB5E9NBKpbcLcWo96asxlofoSEXItelnMf4L63Q= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.59.1 h1:pHLxmX312+1Y4TPvAKS1cVS8ky4Lcqlv0tfmjvSQO7Y= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.59.1/go.mod h1:GKRVmQy+p6FxWidtWnsx/qbxIKyu96pEYCdMrcuTgeM= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.60.0 h1:l+YQbYWAiupSnKXZ/HOYNOI0XdRexhwnlGY6EYBwZ7g= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.60.0/go.mod h1:wBy3knc+aXjHkaLrHApzc7N8saQha6AaeThgdopPLA8= github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.29.0 h1:7+e/FxVeBJ9676CmhjWwd5KamTvz1NqTuOkaJ0pitPg= github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.29.0/go.mod h1:gUs8tCNAp6COwgYIef9axji/vDiM5KXzjxXpSHrIz9U= github.com/aws/aws-sdk-go-v2/service/xray v1.32.1 h1:cEgIUA7e2jJX6dtw7QZHZC4Npgzc3qAhI6VgBAJhLys= From 2f8e68590a1ef154ad50be0094d7b6e0ee207028 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:08:17 -0400 Subject: [PATCH 0534/1301] go get github.com/aws/aws-sdk-go-v2/service/workspacesweb. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c2dd273cc6ce..b14f9805d989 100644 --- a/go.mod +++ b/go.mod @@ -267,7 +267,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/wafv2 v1.65.0 github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.37.0 github.com/aws/aws-sdk-go-v2/service/workspaces v1.60.0 - github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.29.0 + github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.30.0 github.com/aws/aws-sdk-go-v2/service/xray v1.32.1 github.com/aws/smithy-go v1.22.5 github.com/beevik/etree v1.5.1 diff --git a/go.sum b/go.sum index 4495474a8f33..7d5e06c70943 100644 --- a/go.sum +++ b/go.sum @@ -557,8 +557,8 @@ github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.37.0 h1:Ajd4pP2pftD3pnof github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.37.0/go.mod h1:vhARHB5E9NBKpbcLcWo96asxlofoSEXItelnMf4L63Q= github.com/aws/aws-sdk-go-v2/service/workspaces v1.60.0 h1:l+YQbYWAiupSnKXZ/HOYNOI0XdRexhwnlGY6EYBwZ7g= github.com/aws/aws-sdk-go-v2/service/workspaces v1.60.0/go.mod h1:wBy3knc+aXjHkaLrHApzc7N8saQha6AaeThgdopPLA8= -github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.29.0 h1:7+e/FxVeBJ9676CmhjWwd5KamTvz1NqTuOkaJ0pitPg= -github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.29.0/go.mod h1:gUs8tCNAp6COwgYIef9axji/vDiM5KXzjxXpSHrIz9U= +github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.30.0 h1:Qw3jH5JOp1Yx63HNLd3m/4fuqOmwZoTskrpnoHD8GL0= +github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.30.0/go.mod h1:aOovVVoUFe9mVrtezfjeSHi/AKnZm2JKjI5uf1v6Lhw= github.com/aws/aws-sdk-go-v2/service/xray v1.32.1 h1:cEgIUA7e2jJX6dtw7QZHZC4Npgzc3qAhI6VgBAJhLys= github.com/aws/aws-sdk-go-v2/service/xray v1.32.1/go.mod h1:yNBhxYF0/a7HxlvvPZ9pljsw3wSh6ooyxg5llocFwBQ= github.com/aws/smithy-go v1.22.5 h1:P9ATCXPMb2mPjYBgueqJNCA5S9UfktsW0tTxi+a7eqw= From 8dd54cbfa03fbad80aa097f3ba26fc099ae73bf6 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:08:18 -0400 Subject: [PATCH 0535/1301] go get github.com/aws/aws-sdk-go-v2/service/xray. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b14f9805d989..74b48c7badd4 100644 --- a/go.mod +++ b/go.mod @@ -268,7 +268,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.37.0 github.com/aws/aws-sdk-go-v2/service/workspaces v1.60.0 github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.30.0 - github.com/aws/aws-sdk-go-v2/service/xray v1.32.1 + github.com/aws/aws-sdk-go-v2/service/xray v1.33.0 github.com/aws/smithy-go v1.22.5 github.com/beevik/etree v1.5.1 github.com/cedar-policy/cedar-go v0.1.0 diff --git a/go.sum b/go.sum index 7d5e06c70943..9a66151098c9 100644 --- a/go.sum +++ b/go.sum @@ -559,8 +559,8 @@ github.com/aws/aws-sdk-go-v2/service/workspaces v1.60.0 h1:l+YQbYWAiupSnKXZ/HOYN github.com/aws/aws-sdk-go-v2/service/workspaces v1.60.0/go.mod h1:wBy3knc+aXjHkaLrHApzc7N8saQha6AaeThgdopPLA8= github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.30.0 h1:Qw3jH5JOp1Yx63HNLd3m/4fuqOmwZoTskrpnoHD8GL0= github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.30.0/go.mod h1:aOovVVoUFe9mVrtezfjeSHi/AKnZm2JKjI5uf1v6Lhw= -github.com/aws/aws-sdk-go-v2/service/xray v1.32.1 h1:cEgIUA7e2jJX6dtw7QZHZC4Npgzc3qAhI6VgBAJhLys= -github.com/aws/aws-sdk-go-v2/service/xray v1.32.1/go.mod h1:yNBhxYF0/a7HxlvvPZ9pljsw3wSh6ooyxg5llocFwBQ= +github.com/aws/aws-sdk-go-v2/service/xray v1.33.0 h1:iHeSWpMxk/qGq5op8qwHw4DGEP+hx7DLEsQbhlF4mW8= +github.com/aws/aws-sdk-go-v2/service/xray v1.33.0/go.mod h1:S8Ij3/mKF/976T6WrnozZw2QQBSLs1l2KQTL3SOCwPQ= github.com/aws/smithy-go v1.22.5 h1:P9ATCXPMb2mPjYBgueqJNCA5S9UfktsW0tTxi+a7eqw= github.com/aws/smithy-go v1.22.5/go.mod h1:t1ufH5HMublsJYulve2RKmHDC15xu1f26kHCp/HgceI= github.com/beevik/etree v1.5.1 h1:TC3zyxYp+81wAmbsi8SWUpZCurbxa6S8RITYRSkNRwo= From b5e3a36587c2aa08e07a33178c07c07390d34937 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:10:48 -0400 Subject: [PATCH 0536/1301] go get github.com/aws/aws-sdk-go-v2/service/networkmanager. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 74b48c7badd4..ae8d727f6e94 100644 --- a/go.mod +++ b/go.mod @@ -179,7 +179,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/neptune v1.39.0 github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0 github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0 - github.com/aws/aws-sdk-go-v2/service/networkmanager v1.36.1 + github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.0 github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0 github.com/aws/aws-sdk-go-v2/service/notifications v1.4.0 github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.3.0 diff --git a/go.sum b/go.sum index 9a66151098c9..16c8163e5c1f 100644 --- a/go.sum +++ b/go.sum @@ -379,8 +379,8 @@ github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0 h1:3G+4uyOmh4qWkMVZoRt github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0/go.mod h1:kkG79+f09Fmee5bohISd+JaieXQRXlfixZLcOikkxXg= github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0 h1:FHl1QPk+MTUjcbGtnNfcVnq5bPkP71Tbzt++qQ/dCnY= github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0/go.mod h1:EiHBjTVCeOUX045RTpHUuqrtexp4OtSbMLj+nXiaaHw= -github.com/aws/aws-sdk-go-v2/service/networkmanager v1.36.1 h1:Ps/spyjORK9/tx2pMpEzEjWOYqoNqR8OMHIXHudzvKg= -github.com/aws/aws-sdk-go-v2/service/networkmanager v1.36.1/go.mod h1:2QEw0rfjtUMjqiHcthI+GdvcHZ935TenF1UQyj++Ehc= +github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.0 h1:s3YuKk4+Q8cXKbBVBLkWa87R0VVVQt+IK3GNuN7KM9U= +github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.0/go.mod h1:DRGdwN5NLYVlzoGdtiL5MdMqU0BdFjdWoWhNzwKVm7Y= github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0 h1:dM23haMPsRX6r06zzY7rKskzOnmcAf4u3gQe4/vKM5c= github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0/go.mod h1:Lh8S1WeO7D8Ns0h1idoyviPIKqgAQcFzZo3VvQ+AgI8= github.com/aws/aws-sdk-go-v2/service/notifications v1.4.0 h1:ZBcFqe31Uf8k8UeeJdHnH3lKpoFx5uWnu2tg01CTmos= From c41971c30c1f6d676e8abaaf41ab78f789c614f1 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:11:06 -0400 Subject: [PATCH 0537/1301] Run 'make clean-tidy'. --- tools/tfsdk2fw/go.mod | 532 ++++++++++----------- tools/tfsdk2fw/go.sum | 1064 ++++++++++++++++++++--------------------- 2 files changed, 798 insertions(+), 798 deletions(-) diff --git a/tools/tfsdk2fw/go.mod b/tools/tfsdk2fw/go.mod index a68d8fd00333..7105996e317a 100644 --- a/tools/tfsdk2fw/go.mod +++ b/tools/tfsdk2fw/go.mod @@ -18,275 +18,275 @@ require ( github.com/agext/levenshtein v1.2.3 // indirect github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect github.com/armon/go-radix v1.0.0 // indirect - github.com/aws/aws-sdk-go-v2 v1.37.1 // indirect + github.com/aws/aws-sdk-go-v2 v1.37.2 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.0 // indirect - github.com/aws/aws-sdk-go-v2/config v1.30.2 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.18.2 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.1 // indirect - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.2 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.1 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.1 // indirect + github.com/aws/aws-sdk-go-v2/config v1.30.3 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.18.3 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.2 // indirect + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.3 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.2 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.2 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.1 // indirect - github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.41.1 // indirect - github.com/aws/aws-sdk-go-v2/service/account v1.25.1 // indirect - github.com/aws/aws-sdk-go-v2/service/acm v1.34.1 // indirect - github.com/aws/aws-sdk-go-v2/service/acmpca v1.41.2 // indirect - github.com/aws/aws-sdk-go-v2/service/amp v1.35.1 // indirect - github.com/aws/aws-sdk-go-v2/service/amplify v1.34.1 // indirect - github.com/aws/aws-sdk-go-v2/service/apigateway v1.32.1 // indirect - github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.29.1 // indirect - github.com/aws/aws-sdk-go-v2/service/appconfig v1.39.1 // indirect - github.com/aws/aws-sdk-go-v2/service/appfabric v1.13.1 // indirect - github.com/aws/aws-sdk-go-v2/service/appflow v1.47.1 // indirect - github.com/aws/aws-sdk-go-v2/service/appintegrations v1.33.1 // indirect - github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.37.1 // indirect - github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.31.1 // indirect - github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.12.1 // indirect - github.com/aws/aws-sdk-go-v2/service/appmesh v1.31.1 // indirect - github.com/aws/aws-sdk-go-v2/service/apprunner v1.35.1 // indirect - github.com/aws/aws-sdk-go-v2/service/appstream v1.46.1 // indirect - github.com/aws/aws-sdk-go-v2/service/appsync v1.48.1 // indirect - github.com/aws/aws-sdk-go-v2/service/athena v1.52.1 // indirect - github.com/aws/aws-sdk-go-v2/service/auditmanager v1.42.0 // indirect - github.com/aws/aws-sdk-go-v2/service/autoscaling v1.55.1 // indirect - github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.26.1 // indirect - github.com/aws/aws-sdk-go-v2/service/backup v1.44.1 // indirect - github.com/aws/aws-sdk-go-v2/service/batch v1.55.2 // indirect - github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.9.1 // indirect - github.com/aws/aws-sdk-go-v2/service/bedrock v1.40.2 // indirect - github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.46.1 // indirect - github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.1.1 // indirect - github.com/aws/aws-sdk-go-v2/service/billing v1.3.1 // indirect - github.com/aws/aws-sdk-go-v2/service/budgets v1.33.1 // indirect - github.com/aws/aws-sdk-go-v2/service/chatbot v1.11.1 // indirect - github.com/aws/aws-sdk-go-v2/service/chime v1.37.1 // indirect - github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.23.1 // indirect - github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.23.1 // indirect - github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.27.1 // indirect - github.com/aws/aws-sdk-go-v2/service/cloud9 v1.30.1 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.25.1 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudformation v1.62.1 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudfront v1.49.0 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.10.1 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.31.1 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.28.1 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.50.1 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.46.1 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.54.1 // indirect - github.com/aws/aws-sdk-go-v2/service/codeartifact v1.35.1 // indirect - github.com/aws/aws-sdk-go-v2/service/codebuild v1.62.1 // indirect - github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.18.1 // indirect - github.com/aws/aws-sdk-go-v2/service/codecommit v1.29.1 // indirect - github.com/aws/aws-sdk-go-v2/service/codeconnections v1.7.1 // indirect - github.com/aws/aws-sdk-go-v2/service/codedeploy v1.31.1 // indirect - github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.26.2 // indirect - github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.31.1 // indirect - github.com/aws/aws-sdk-go-v2/service/codepipeline v1.43.1 // indirect - github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.31.1 // indirect - github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.28.1 // indirect - github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.30.1 // indirect - github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.54.1 // indirect - github.com/aws/aws-sdk-go-v2/service/comprehend v1.37.1 // indirect - github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.44.1 // indirect - github.com/aws/aws-sdk-go-v2/service/configservice v1.54.1 // indirect - github.com/aws/aws-sdk-go-v2/service/connect v1.132.1 // indirect - github.com/aws/aws-sdk-go-v2/service/connectcases v1.27.1 // indirect - github.com/aws/aws-sdk-go-v2/service/controltower v1.23.1 // indirect - github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.30.1 // indirect - github.com/aws/aws-sdk-go-v2/service/costexplorer v1.52.1 // indirect - github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.17.1 // indirect - github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.49.0 // indirect - github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.54.1 // indirect - github.com/aws/aws-sdk-go-v2/service/databrew v1.35.1 // indirect - github.com/aws/aws-sdk-go-v2/service/dataexchange v1.36.1 // indirect - github.com/aws/aws-sdk-go-v2/service/datapipeline v1.27.1 // indirect - github.com/aws/aws-sdk-go-v2/service/datasync v1.51.1 // indirect - github.com/aws/aws-sdk-go-v2/service/datazone v1.34.1 // indirect - github.com/aws/aws-sdk-go-v2/service/dax v1.25.1 // indirect - github.com/aws/aws-sdk-go-v2/service/detective v1.34.1 // indirect - github.com/aws/aws-sdk-go-v2/service/devicefarm v1.32.1 // indirect - github.com/aws/aws-sdk-go-v2/service/devopsguru v1.36.1 // indirect - github.com/aws/aws-sdk-go-v2/service/directconnect v1.33.1 // indirect - github.com/aws/aws-sdk-go-v2/service/directoryservice v1.33.0 // indirect - github.com/aws/aws-sdk-go-v2/service/dlm v1.31.1 // indirect - github.com/aws/aws-sdk-go-v2/service/docdb v1.43.0 // indirect - github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.16.1 // indirect - github.com/aws/aws-sdk-go-v2/service/drs v1.32.1 // indirect - github.com/aws/aws-sdk-go-v2/service/dsql v1.6.1 // indirect - github.com/aws/aws-sdk-go-v2/service/dynamodb v1.45.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ec2 v1.239.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ecr v1.47.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.34.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ecs v1.61.1 // indirect - github.com/aws/aws-sdk-go-v2/service/efs v1.37.1 // indirect - github.com/aws/aws-sdk-go-v2/service/eks v1.67.1 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticache v1.47.1 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.30.1 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.30.1 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.47.2 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.34.1 // indirect - github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.29.1 // indirect - github.com/aws/aws-sdk-go-v2/service/emr v1.51.1 // indirect - github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.36.1 // indirect - github.com/aws/aws-sdk-go-v2/service/emrserverless v1.33.1 // indirect - github.com/aws/aws-sdk-go-v2/service/eventbridge v1.42.1 // indirect - github.com/aws/aws-sdk-go-v2/service/evidently v1.25.1 // indirect - github.com/aws/aws-sdk-go-v2/service/evs v1.1.1 // indirect - github.com/aws/aws-sdk-go-v2/service/finspace v1.30.1 // indirect - github.com/aws/aws-sdk-go-v2/service/firehose v1.38.1 // indirect - github.com/aws/aws-sdk-go-v2/service/fis v1.34.1 // indirect - github.com/aws/aws-sdk-go-v2/service/fms v1.41.1 // indirect - github.com/aws/aws-sdk-go-v2/service/fsx v1.56.1 // indirect - github.com/aws/aws-sdk-go-v2/service/gamelift v1.43.1 // indirect - github.com/aws/aws-sdk-go-v2/service/glacier v1.28.1 // indirect - github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.31.1 // indirect - github.com/aws/aws-sdk-go-v2/service/glue v1.121.0 // indirect - github.com/aws/aws-sdk-go-v2/service/grafana v1.28.1 // indirect - github.com/aws/aws-sdk-go-v2/service/greengrass v1.29.2 // indirect - github.com/aws/aws-sdk-go-v2/service/groundstation v1.34.1 // indirect - github.com/aws/aws-sdk-go-v2/service/guardduty v1.58.2 // indirect - github.com/aws/aws-sdk-go-v2/service/healthlake v1.31.1 // indirect - github.com/aws/aws-sdk-go-v2/service/iam v1.44.1 // indirect - github.com/aws/aws-sdk-go-v2/service/identitystore v1.29.1 // indirect - github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.43.1 // indirect - github.com/aws/aws-sdk-go-v2/service/inspector v1.27.1 // indirect - github.com/aws/aws-sdk-go-v2/service/inspector2 v1.40.0 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.2 // indirect + github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.42.0 // indirect + github.com/aws/aws-sdk-go-v2/service/account v1.26.0 // indirect + github.com/aws/aws-sdk-go-v2/service/acm v1.35.0 // indirect + github.com/aws/aws-sdk-go-v2/service/acmpca v1.42.0 // indirect + github.com/aws/aws-sdk-go-v2/service/amp v1.36.0 // indirect + github.com/aws/aws-sdk-go-v2/service/amplify v1.35.0 // indirect + github.com/aws/aws-sdk-go-v2/service/apigateway v1.33.0 // indirect + github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/appconfig v1.40.0 // indirect + github.com/aws/aws-sdk-go-v2/service/appfabric v1.14.0 // indirect + github.com/aws/aws-sdk-go-v2/service/appflow v1.48.0 // indirect + github.com/aws/aws-sdk-go-v2/service/appintegrations v1.34.0 // indirect + github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.38.0 // indirect + github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.13.0 // indirect + github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0 // indirect + github.com/aws/aws-sdk-go-v2/service/appstream v1.47.0 // indirect + github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0 // indirect + github.com/aws/aws-sdk-go-v2/service/athena v1.53.0 // indirect + github.com/aws/aws-sdk-go-v2/service/auditmanager v1.43.0 // indirect + github.com/aws/aws-sdk-go-v2/service/autoscaling v1.56.0 // indirect + github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.27.0 // indirect + github.com/aws/aws-sdk-go-v2/service/backup v1.45.0 // indirect + github.com/aws/aws-sdk-go-v2/service/batch v1.56.0 // indirect + github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0 // indirect + github.com/aws/aws-sdk-go-v2/service/bedrock v1.41.0 // indirect + github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0 // indirect + github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0 // indirect + github.com/aws/aws-sdk-go-v2/service/billing v1.4.0 // indirect + github.com/aws/aws-sdk-go-v2/service/budgets v1.34.0 // indirect + github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0 // indirect + github.com/aws/aws-sdk-go-v2/service/chime v1.38.0 // indirect + github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.24.0 // indirect + github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.24.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.28.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cloud9 v1.31.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.26.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudformation v1.63.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudfront v1.50.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.11.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.29.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.51.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.47.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.55.0 // indirect + github.com/aws/aws-sdk-go-v2/service/codeartifact v1.36.0 // indirect + github.com/aws/aws-sdk-go-v2/service/codebuild v1.63.0 // indirect + github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.19.0 // indirect + github.com/aws/aws-sdk-go-v2/service/codecommit v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/codeconnections v1.8.0 // indirect + github.com/aws/aws-sdk-go-v2/service/codedeploy v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.27.0 // indirect + github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/codepipeline v1.44.0 // indirect + github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.29.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.31.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.55.0 // indirect + github.com/aws/aws-sdk-go-v2/service/comprehend v1.38.0 // indirect + github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.45.0 // indirect + github.com/aws/aws-sdk-go-v2/service/configservice v1.55.0 // indirect + github.com/aws/aws-sdk-go-v2/service/connect v1.133.0 // indirect + github.com/aws/aws-sdk-go-v2/service/connectcases v1.28.0 // indirect + github.com/aws/aws-sdk-go-v2/service/controltower v1.24.0 // indirect + github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.31.0 // indirect + github.com/aws/aws-sdk-go-v2/service/costexplorer v1.53.0 // indirect + github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.18.0 // indirect + github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.50.0 // indirect + github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.55.0 // indirect + github.com/aws/aws-sdk-go-v2/service/databrew v1.36.0 // indirect + github.com/aws/aws-sdk-go-v2/service/dataexchange v1.37.0 // indirect + github.com/aws/aws-sdk-go-v2/service/datapipeline v1.28.0 // indirect + github.com/aws/aws-sdk-go-v2/service/datasync v1.52.0 // indirect + github.com/aws/aws-sdk-go-v2/service/datazone v1.35.0 // indirect + github.com/aws/aws-sdk-go-v2/service/dax v1.26.0 // indirect + github.com/aws/aws-sdk-go-v2/service/detective v1.35.0 // indirect + github.com/aws/aws-sdk-go-v2/service/devicefarm v1.33.0 // indirect + github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0 // indirect + github.com/aws/aws-sdk-go-v2/service/directconnect v1.34.0 // indirect + github.com/aws/aws-sdk-go-v2/service/directoryservice v1.34.0 // indirect + github.com/aws/aws-sdk-go-v2/service/dlm v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/docdb v1.44.0 // indirect + github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.17.0 // indirect + github.com/aws/aws-sdk-go-v2/service/drs v1.33.0 // indirect + github.com/aws/aws-sdk-go-v2/service/dsql v1.7.0 // indirect + github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ec2 v1.240.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0 // indirect + github.com/aws/aws-sdk-go-v2/service/efs v1.38.0 // indirect + github.com/aws/aws-sdk-go-v2/service/eks v1.68.0 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.31.0 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.48.0 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.35.0 // indirect + github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/emr v1.52.0 // indirect + github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.37.0 // indirect + github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.0 // indirect + github.com/aws/aws-sdk-go-v2/service/eventbridge v1.43.0 // indirect + github.com/aws/aws-sdk-go-v2/service/evidently v1.26.0 // indirect + github.com/aws/aws-sdk-go-v2/service/evs v1.2.0 // indirect + github.com/aws/aws-sdk-go-v2/service/finspace v1.31.0 // indirect + github.com/aws/aws-sdk-go-v2/service/firehose v1.39.0 // indirect + github.com/aws/aws-sdk-go-v2/service/fis v1.35.0 // indirect + github.com/aws/aws-sdk-go-v2/service/fms v1.42.0 // indirect + github.com/aws/aws-sdk-go-v2/service/fsx v1.57.0 // indirect + github.com/aws/aws-sdk-go-v2/service/gamelift v1.44.0 // indirect + github.com/aws/aws-sdk-go-v2/service/glacier v1.29.0 // indirect + github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/glue v1.122.0 // indirect + github.com/aws/aws-sdk-go-v2/service/grafana v1.29.0 // indirect + github.com/aws/aws-sdk-go-v2/service/greengrass v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/groundstation v1.35.0 // indirect + github.com/aws/aws-sdk-go-v2/service/guardduty v1.59.0 // indirect + github.com/aws/aws-sdk-go-v2/service/healthlake v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/iam v1.45.0 // indirect + github.com/aws/aws-sdk-go-v2/service/identitystore v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.44.0 // indirect + github.com/aws/aws-sdk-go-v2/service/inspector v1.28.0 // indirect + github.com/aws/aws-sdk-go-v2/service/inspector2 v1.41.0 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.1 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.1 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.1 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.1 // indirect - github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.22.1 // indirect - github.com/aws/aws-sdk-go-v2/service/invoicing v1.3.1 // indirect - github.com/aws/aws-sdk-go-v2/service/iot v1.66.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ivs v1.44.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ivschat v1.18.1 // indirect - github.com/aws/aws-sdk-go-v2/service/kafka v1.40.1 // indirect - github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.24.2 // indirect - github.com/aws/aws-sdk-go-v2/service/kendra v1.57.1 // indirect - github.com/aws/aws-sdk-go-v2/service/keyspaces v1.20.1 // indirect - github.com/aws/aws-sdk-go-v2/service/kinesis v1.36.1 // indirect - github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.27.1 // indirect - github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.33.1 // indirect - github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.29.2 // indirect - github.com/aws/aws-sdk-go-v2/service/kms v1.42.1 // indirect - github.com/aws/aws-sdk-go-v2/service/lakeformation v1.42.1 // indirect - github.com/aws/aws-sdk-go-v2/service/lambda v1.74.1 // indirect - github.com/aws/aws-sdk-go-v2/service/launchwizard v1.10.1 // indirect - github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.30.1 // indirect - github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.53.1 // indirect - github.com/aws/aws-sdk-go-v2/service/licensemanager v1.33.1 // indirect - github.com/aws/aws-sdk-go-v2/service/lightsail v1.45.0 // indirect - github.com/aws/aws-sdk-go-v2/service/location v1.46.1 // indirect - github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.33.1 // indirect - github.com/aws/aws-sdk-go-v2/service/m2 v1.22.1 // indirect - github.com/aws/aws-sdk-go-v2/service/macie2 v1.46.1 // indirect - github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.41.1 // indirect - github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.78.1 // indirect - github.com/aws/aws-sdk-go-v2/service/medialive v1.77.1 // indirect - github.com/aws/aws-sdk-go-v2/service/mediapackage v1.36.1 // indirect - github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.27.1 // indirect - github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.36.1 // indirect - github.com/aws/aws-sdk-go-v2/service/mediastore v1.26.1 // indirect - github.com/aws/aws-sdk-go-v2/service/memorydb v1.28.1 // indirect - github.com/aws/aws-sdk-go-v2/service/mgn v1.34.1 // indirect - github.com/aws/aws-sdk-go-v2/service/mq v1.30.1 // indirect - github.com/aws/aws-sdk-go-v2/service/mwaa v1.36.1 // indirect - github.com/aws/aws-sdk-go-v2/service/neptune v1.38.1 // indirect - github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.18.1 // indirect - github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.52.1 // indirect - github.com/aws/aws-sdk-go-v2/service/networkmanager v1.36.1 // indirect - github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.9.1 // indirect - github.com/aws/aws-sdk-go-v2/service/notifications v1.3.1 // indirect - github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.2.1 // indirect - github.com/aws/aws-sdk-go-v2/service/oam v1.19.1 // indirect - github.com/aws/aws-sdk-go-v2/service/odb v1.1.1 // indirect - github.com/aws/aws-sdk-go-v2/service/opensearch v1.49.0 // indirect - github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.21.1 // indirect - github.com/aws/aws-sdk-go-v2/service/organizations v1.40.1 // indirect - github.com/aws/aws-sdk-go-v2/service/osis v1.16.1 // indirect - github.com/aws/aws-sdk-go-v2/service/outposts v1.53.1 // indirect - github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.20.1 // indirect - github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.12.1 // indirect - github.com/aws/aws-sdk-go-v2/service/pcs v1.8.0 // indirect - github.com/aws/aws-sdk-go-v2/service/pinpoint v1.36.1 // indirect - github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.21.1 // indirect - github.com/aws/aws-sdk-go-v2/service/pipes v1.20.1 // indirect - github.com/aws/aws-sdk-go-v2/service/polly v1.49.1 // indirect - github.com/aws/aws-sdk-go-v2/service/pricing v1.36.1 // indirect - github.com/aws/aws-sdk-go-v2/service/qbusiness v1.29.1 // indirect - github.com/aws/aws-sdk-go-v2/service/qldb v1.27.1 // indirect - github.com/aws/aws-sdk-go-v2/service/quicksight v1.90.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ram v1.31.1 // indirect - github.com/aws/aws-sdk-go-v2/service/rbin v1.23.1 // indirect - github.com/aws/aws-sdk-go-v2/service/rds v1.100.1 // indirect - github.com/aws/aws-sdk-go-v2/service/redshift v1.55.1 // indirect - github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.34.1 // indirect - github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.28.1 // indirect - github.com/aws/aws-sdk-go-v2/service/rekognition v1.48.1 // indirect - github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.31.1 // indirect - github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.18.1 // indirect - github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.30.1 // indirect - github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.27.1 // indirect - github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.18.1 // indirect - github.com/aws/aws-sdk-go-v2/service/route53 v1.54.1 // indirect - github.com/aws/aws-sdk-go-v2/service/route53domains v1.30.1 // indirect - github.com/aws/aws-sdk-go-v2/service/route53profiles v1.6.1 // indirect - github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.28.1 // indirect - github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.23.1 // indirect - github.com/aws/aws-sdk-go-v2/service/route53resolver v1.37.1 // indirect - github.com/aws/aws-sdk-go-v2/service/rum v1.25.1 // indirect - github.com/aws/aws-sdk-go-v2/service/s3 v1.85.1 // indirect - github.com/aws/aws-sdk-go-v2/service/s3control v1.62.0 // indirect - github.com/aws/aws-sdk-go-v2/service/s3outposts v1.30.1 // indirect - github.com/aws/aws-sdk-go-v2/service/s3tables v1.7.1 // indirect - github.com/aws/aws-sdk-go-v2/service/s3vectors v1.1.1 // indirect - github.com/aws/aws-sdk-go-v2/service/sagemaker v1.203.1 // indirect - github.com/aws/aws-sdk-go-v2/service/scheduler v1.14.1 // indirect - github.com/aws/aws-sdk-go-v2/service/schemas v1.30.1 // indirect - github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.36.1 // indirect - github.com/aws/aws-sdk-go-v2/service/securityhub v1.60.0 // indirect - github.com/aws/aws-sdk-go-v2/service/securitylake v1.21.1 // indirect - github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.26.1 // indirect - github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.35.1 // indirect - github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.32.1 // indirect - github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.36.1 // indirect - github.com/aws/aws-sdk-go-v2/service/servicequotas v1.29.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ses v1.31.1 // indirect - github.com/aws/aws-sdk-go-v2/service/sesv2 v1.49.0 // indirect - github.com/aws/aws-sdk-go-v2/service/sfn v1.36.1 // indirect - github.com/aws/aws-sdk-go-v2/service/shield v1.31.1 // indirect - github.com/aws/aws-sdk-go-v2/service/signer v1.28.1 // indirect - github.com/aws/aws-sdk-go-v2/service/sns v1.35.2 // indirect - github.com/aws/aws-sdk-go-v2/service/sqs v1.39.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ssm v1.61.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.28.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.36.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.5.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmsap v1.21.1 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.26.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.32.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.31.1 // indirect - github.com/aws/aws-sdk-go-v2/service/storagegateway v1.39.1 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.35.1 // indirect - github.com/aws/aws-sdk-go-v2/service/swf v1.29.1 // indirect - github.com/aws/aws-sdk-go-v2/service/synthetics v1.37.1 // indirect - github.com/aws/aws-sdk-go-v2/service/taxsettings v1.13.1 // indirect - github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.12.1 // indirect - github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.32.1 // indirect - github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.32.1 // indirect - github.com/aws/aws-sdk-go-v2/service/transcribe v1.48.1 // indirect - github.com/aws/aws-sdk-go-v2/service/transfer v1.62.2 // indirect - github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.25.1 // indirect - github.com/aws/aws-sdk-go-v2/service/vpclattice v1.15.1 // indirect - github.com/aws/aws-sdk-go-v2/service/waf v1.27.1 // indirect - github.com/aws/aws-sdk-go-v2/service/wafregional v1.27.1 // indirect - github.com/aws/aws-sdk-go-v2/service/wafv2 v1.64.1 // indirect - github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.36.1 // indirect - github.com/aws/aws-sdk-go-v2/service/workspaces v1.59.1 // indirect - github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.29.0 // indirect - github.com/aws/aws-sdk-go-v2/service/xray v1.32.1 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.2 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.2 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.2 // indirect + github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.23.0 // indirect + github.com/aws/aws-sdk-go-v2/service/invoicing v1.4.0 // indirect + github.com/aws/aws-sdk-go-v2/service/iot v1.67.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ivs v1.45.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ivschat v1.19.0 // indirect + github.com/aws/aws-sdk-go-v2/service/kafka v1.41.0 // indirect + github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.25.0 // indirect + github.com/aws/aws-sdk-go-v2/service/kendra v1.58.0 // indirect + github.com/aws/aws-sdk-go-v2/service/keyspaces v1.21.0 // indirect + github.com/aws/aws-sdk-go-v2/service/kinesis v1.37.0 // indirect + github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.28.0 // indirect + github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.34.0 // indirect + github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/kms v1.43.0 // indirect + github.com/aws/aws-sdk-go-v2/service/lakeformation v1.43.0 // indirect + github.com/aws/aws-sdk-go-v2/service/lambda v1.75.0 // indirect + github.com/aws/aws-sdk-go-v2/service/launchwizard v1.11.0 // indirect + github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0 // indirect + github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0 // indirect + github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.0 // indirect + github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0 // indirect + github.com/aws/aws-sdk-go-v2/service/location v1.47.0 // indirect + github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.34.0 // indirect + github.com/aws/aws-sdk-go-v2/service/m2 v1.23.0 // indirect + github.com/aws/aws-sdk-go-v2/service/macie2 v1.47.0 // indirect + github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.42.0 // indirect + github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.79.0 // indirect + github.com/aws/aws-sdk-go-v2/service/medialive v1.78.0 // indirect + github.com/aws/aws-sdk-go-v2/service/mediapackage v1.37.0 // indirect + github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.28.0 // indirect + github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.37.0 // indirect + github.com/aws/aws-sdk-go-v2/service/mediastore v1.27.0 // indirect + github.com/aws/aws-sdk-go-v2/service/memorydb v1.29.0 // indirect + github.com/aws/aws-sdk-go-v2/service/mgn v1.35.0 // indirect + github.com/aws/aws-sdk-go-v2/service/mq v1.31.0 // indirect + github.com/aws/aws-sdk-go-v2/service/mwaa v1.37.0 // indirect + github.com/aws/aws-sdk-go-v2/service/neptune v1.39.0 // indirect + github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0 // indirect + github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0 // indirect + github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.0 // indirect + github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0 // indirect + github.com/aws/aws-sdk-go-v2/service/notifications v1.4.0 // indirect + github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.3.0 // indirect + github.com/aws/aws-sdk-go-v2/service/oam v1.20.0 // indirect + github.com/aws/aws-sdk-go-v2/service/odb v1.2.0 // indirect + github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0 // indirect + github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.22.0 // indirect + github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0 // indirect + github.com/aws/aws-sdk-go-v2/service/osis v1.17.0 // indirect + github.com/aws/aws-sdk-go-v2/service/outposts v1.54.0 // indirect + github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.21.0 // indirect + github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.13.0 // indirect + github.com/aws/aws-sdk-go-v2/service/pcs v1.9.0 // indirect + github.com/aws/aws-sdk-go-v2/service/pinpoint v1.37.0 // indirect + github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.22.0 // indirect + github.com/aws/aws-sdk-go-v2/service/pipes v1.21.0 // indirect + github.com/aws/aws-sdk-go-v2/service/polly v1.50.0 // indirect + github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0 // indirect + github.com/aws/aws-sdk-go-v2/service/qbusiness v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0 // indirect + github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ram v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0 // indirect + github.com/aws/aws-sdk-go-v2/service/rds v1.101.0 // indirect + github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0 // indirect + github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0 // indirect + github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.29.0 // indirect + github.com/aws/aws-sdk-go-v2/service/rekognition v1.49.0 // indirect + github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.19.0 // indirect + github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.31.0 // indirect + github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0 // indirect + github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.19.0 // indirect + github.com/aws/aws-sdk-go-v2/service/route53 v1.55.0 // indirect + github.com/aws/aws-sdk-go-v2/service/route53domains v1.31.0 // indirect + github.com/aws/aws-sdk-go-v2/service/route53profiles v1.7.0 // indirect + github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.29.0 // indirect + github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.24.0 // indirect + github.com/aws/aws-sdk-go-v2/service/route53resolver v1.38.0 // indirect + github.com/aws/aws-sdk-go-v2/service/rum v1.26.0 // indirect + github.com/aws/aws-sdk-go-v2/service/s3 v1.86.0 // indirect + github.com/aws/aws-sdk-go-v2/service/s3control v1.63.0 // indirect + github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0 // indirect + github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0 // indirect + github.com/aws/aws-sdk-go-v2/service/s3vectors v1.2.0 // indirect + github.com/aws/aws-sdk-go-v2/service/sagemaker v1.204.0 // indirect + github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0 // indirect + github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0 // indirect + github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.37.0 // indirect + github.com/aws/aws-sdk-go-v2/service/securityhub v1.61.0 // indirect + github.com/aws/aws-sdk-go-v2/service/securitylake v1.22.0 // indirect + github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.27.0 // indirect + github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.36.0 // indirect + github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.33.0 // indirect + github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.37.0 // indirect + github.com/aws/aws-sdk-go-v2/service/servicequotas v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ses v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/sesv2 v1.50.0 // indirect + github.com/aws/aws-sdk-go-v2/service/sfn v1.37.0 // indirect + github.com/aws/aws-sdk-go-v2/service/shield v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/signer v1.29.0 // indirect + github.com/aws/aws-sdk-go-v2/service/sns v1.36.0 // indirect + github.com/aws/aws-sdk-go-v2/service/sqs v1.40.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ssm v1.62.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.29.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.37.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.6.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmsap v1.22.0 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.27.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.33.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/storagegateway v1.40.0 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.36.0 // indirect + github.com/aws/aws-sdk-go-v2/service/swf v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/synthetics v1.38.0 // indirect + github.com/aws/aws-sdk-go-v2/service/taxsettings v1.14.0 // indirect + github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.13.0 // indirect + github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.33.0 // indirect + github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.33.0 // indirect + github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.0 // indirect + github.com/aws/aws-sdk-go-v2/service/transfer v1.63.0 // indirect + github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.26.0 // indirect + github.com/aws/aws-sdk-go-v2/service/vpclattice v1.16.0 // indirect + github.com/aws/aws-sdk-go-v2/service/waf v1.28.0 // indirect + github.com/aws/aws-sdk-go-v2/service/wafregional v1.28.0 // indirect + github.com/aws/aws-sdk-go-v2/service/wafv2 v1.65.0 // indirect + github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.37.0 // indirect + github.com/aws/aws-sdk-go-v2/service/workspaces v1.60.0 // indirect + github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/xray v1.33.0 // indirect github.com/aws/smithy-go v1.22.5 // indirect github.com/beevik/etree v1.5.1 // indirect github.com/bgentry/speakeasy v0.1.0 // indirect diff --git a/tools/tfsdk2fw/go.sum b/tools/tfsdk2fw/go.sum index f6ec4151c422..db266c495215 100644 --- a/tools/tfsdk2fw/go.sum +++ b/tools/tfsdk2fw/go.sum @@ -23,544 +23,544 @@ github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/aws/aws-sdk-go-v2 v1.37.1 h1:SMUxeNz3Z6nqGsXv0JuJXc8w5YMtrQMuIBmDx//bBDY= -github.com/aws/aws-sdk-go-v2 v1.37.1/go.mod h1:9Q0OoGQoboYIAJyslFyF1f5K1Ryddop8gqMhWx/n4Wg= +github.com/aws/aws-sdk-go-v2 v1.37.2 h1:xkW1iMYawzcmYFYEV0UCMxc8gSsjCGEhBXQkdQywVbo= +github.com/aws/aws-sdk-go-v2 v1.37.2/go.mod h1:9Q0OoGQoboYIAJyslFyF1f5K1Ryddop8gqMhWx/n4Wg= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.0 h1:6GMWV6CNpA/6fbFHnoAjrv4+LGfyTqZz2LtCHnspgDg= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.0/go.mod h1:/mXlTIVG9jbxkqDnr5UQNQxW1HRYxeGklkM9vAFeabg= -github.com/aws/aws-sdk-go-v2/config v1.30.2 h1:YE1BmSc4fFYqFgN1mN8uzrtc7R9x+7oSWeX8ckoltAw= -github.com/aws/aws-sdk-go-v2/config v1.30.2/go.mod h1:UNrLGZ6jfAVjgVJpkIxjLufRJqTXCVYOpkeVf83kwBo= -github.com/aws/aws-sdk-go-v2/credentials v1.18.2 h1:mfm0GKY/PHLhs7KO0sUaOtFnIQ15Qqxt+wXbO/5fIfs= -github.com/aws/aws-sdk-go-v2/credentials v1.18.2/go.mod h1:v0SdJX6ayPeZFQxgXUKw5RhLpAoZUuynxWDfh8+Eknc= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.1 h1:owmNBboeA0kHKDcdF8KiSXmrIuXZustfMGGytv6OMkM= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.1/go.mod h1:Bg1miN59SGxrZqlP8vJZSmXW+1N8Y1MjQDq1OfuNod8= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.2 h1:YFX4DvH1CPQXgQR8935b46Om+L7+6jus4aTdKqyDR84= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.2/go.mod h1:DgMPy7GqxcV0RSyaITnI3rw8HC3lIHB87U3KPQKDxHg= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.1 h1:ksZXBYv80EFTcgc8OJO48aQ8XDWXIQL7gGasPeCoTzI= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.1/go.mod h1:HSksQyyJETVZS7uM54cir0IgxttTD+8aEoJMPGepHBI= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.1 h1:+dn/xF/05utS7tUhjIcndbuaPjfll2LhbH1cCDGLYUQ= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.1/go.mod h1:hyAGz30LHdm5KBZDI58MXx5lDVZ5CUfvfTZvMu4HCZo= +github.com/aws/aws-sdk-go-v2/config v1.30.3 h1:utupeVnE3bmB221W08P0Moz1lDI3OwYa2fBtUhl7TCc= +github.com/aws/aws-sdk-go-v2/config v1.30.3/go.mod h1:NDGwOEBdpyZwLPlQkpKIO7frf18BW8PaCmAM9iUxQmI= +github.com/aws/aws-sdk-go-v2/credentials v1.18.3 h1:ptfyXmv+ooxzFwyuBth0yqABcjVIkjDL0iTYZBSbum8= +github.com/aws/aws-sdk-go-v2/credentials v1.18.3/go.mod h1:Q43Nci++Wohb0qUh4m54sNln0dbxJw8PvQWkrwOkGOI= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.2 h1:nRniHAvjFJGUCl04F3WaAj7qp/rcz5Gi1OVoj5ErBkc= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.2/go.mod h1:eJDFKAMHHUvv4a0Zfa7bQb//wFNUXGrbFpYRCHe2kD0= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.3 h1:Nb2pUE30lySKPGdkiIJ1SZgHsjiebOiRNI7R9NA1WtM= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.3/go.mod h1:BO5EKulvhBF1NXwui8lfnuDPBQQU5807yvWASZ/5n6k= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.2 h1:sPiRHLVUIIQcoVZTNwqQcdtjkqkPopyYmIX0M5ElRf4= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.2/go.mod h1:ik86P3sgV+Bk7c1tBFCwI3VxMoSEwl4YkRB9xn1s340= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.2 h1:ZdzDAg075H6stMZtbD2o+PyB933M/f20e9WmCBC17wA= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.2/go.mod h1:eE1IIzXG9sdZCB0pNNpMpsYTLl4YdOQD3njiVN1e/E4= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 h1:bIqFDwgGXXN1Kpp99pDOdKMTTb5d2KyU5X/BZxjOkRo= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3/go.mod h1:H5O/EsxDWyU+LP/V8i5sm8cxoZgc2fdNR9bxlOFrQTo= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.1 h1:4HbnOGE9491a9zYJ9VpPh1ApgEq6ZlD4Kuv1PJenFpc= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.1/go.mod h1:Z6QnHC6TmpJWUxAy8FI4JzA7rTwl6EIANkyK9OR5z5w= -github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.41.1 h1:sHIsHhoZZSZkInpvgMzfvUVkf/yeiRam8DNu9090gEE= -github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.41.1/go.mod h1:8P/8gmNo2309Bc0hyBS2EX0M3MRzhzbiRSXGp1MfcIE= -github.com/aws/aws-sdk-go-v2/service/account v1.25.1 h1:FmkAacg5OYFEMLXpCa5NWLvQHNumYVRtwcG5sc4UUNk= -github.com/aws/aws-sdk-go-v2/service/account v1.25.1/go.mod h1:QSb7ynpJNa+VKXHxmWN+rs3ByfBGs+p0SAoPFxX67aE= -github.com/aws/aws-sdk-go-v2/service/acm v1.34.1 h1:bbwYpBRLNjE55qY4Mb0fnkPKeAmyaCk+ycGuOeI4r9Y= -github.com/aws/aws-sdk-go-v2/service/acm v1.34.1/go.mod h1:mZqY4hx40BypyT3Qm4FWpIoSdkauoV1EUDk/3ByQSuk= -github.com/aws/aws-sdk-go-v2/service/acmpca v1.41.2 h1:CGEnYec9EM2uhrwzhXnevW8UhWh4ciX8cQpL3/0D3FE= -github.com/aws/aws-sdk-go-v2/service/acmpca v1.41.2/go.mod h1:kZGFX2gboWjbnAuuKVLXB+S/TQ8AcY9Q9hWzcJrhink= -github.com/aws/aws-sdk-go-v2/service/amp v1.35.1 h1:5p9HHs0vsAaDn5sWSu6eH76iw6xnPRw7h+M3J5u8wp8= -github.com/aws/aws-sdk-go-v2/service/amp v1.35.1/go.mod h1:bKEb2NoSPx/F+m6gzuyuQwYrP1jVWxoEsp8dJaroviY= -github.com/aws/aws-sdk-go-v2/service/amplify v1.34.1 h1:Av8JqcN88qS1bsfxT7Sdc3V/teB3/RjtTOo3MBU5N6M= -github.com/aws/aws-sdk-go-v2/service/amplify v1.34.1/go.mod h1:UlevIZWf/Y2UXiBXJQ0RZGxSXPtryaYZx8AunJPpR2U= -github.com/aws/aws-sdk-go-v2/service/apigateway v1.32.1 h1:XfYB8mz3dzqnYzK0N4iR6FqADNg/eJIrJ3rbOEuYWKo= -github.com/aws/aws-sdk-go-v2/service/apigateway v1.32.1/go.mod h1:xAQ3iEH3mZpJE9/Us5Zw/kdjqEDMllQU7zVSrykSqq0= -github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.29.1 h1:zIO8otLy+xqjrPDSaWyML1hcmQuwnvS8HsCdU+ljuN8= -github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.29.1/go.mod h1:RgLyUe4baqp9nU779yVNqknHpDg/KqV5laDsCfqIfSA= -github.com/aws/aws-sdk-go-v2/service/appconfig v1.39.1 h1:3bGMrqprI9jnWqa/40jnp6RwEV6w5pGLTXTZZbBXZkk= -github.com/aws/aws-sdk-go-v2/service/appconfig v1.39.1/go.mod h1:dtjuU/bnTddHETE8FbgcROmOnD/zkW7EX9JNusF3iLs= -github.com/aws/aws-sdk-go-v2/service/appfabric v1.13.1 h1:kpb5/Bux2n8fQpAcQ3bP4Sei0TMRpeDHTvBFFR6GuFQ= -github.com/aws/aws-sdk-go-v2/service/appfabric v1.13.1/go.mod h1:9wFbrLrpuBUxnAsL2m7tU9pIY3L+dDZCMbNW4Hpr7dk= -github.com/aws/aws-sdk-go-v2/service/appflow v1.47.1 h1:6LIRPPKQWchfkDZbC9iW0FCkvv+V2uQk6PUn+zw1QaQ= -github.com/aws/aws-sdk-go-v2/service/appflow v1.47.1/go.mod h1:bOvWsq5G25xdPP8KN1rfXq+cF5Uh3apZJQ9/xhhqzVU= -github.com/aws/aws-sdk-go-v2/service/appintegrations v1.33.1 h1:sBqUFcefH0sf+d0uS75pYpPiwFg8AzrINC0PartTgqk= -github.com/aws/aws-sdk-go-v2/service/appintegrations v1.33.1/go.mod h1:unDUxaKaATQsiTmjeLwD1dz9zFR6DUSfdaUuczhqZ60= -github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.37.1 h1:jJscyHRsZoSRMINE7JTaezT1o4hoNrmnq+3LZzsA2KA= -github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.37.1/go.mod h1:U6e5PYaKSZZB5h5MHp5M5HZsqa0Fnhh8ts2nU2HUYz8= -github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.31.1 h1:hL38Wrg+M1ppQsh/7KU3zF4LJ37EYJgP6lxsJzk8JAY= -github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.31.1/go.mod h1:Sb1hExvSSaroiqVyAZvSNSnde+ljebREjCK9NcFgGSw= -github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.12.1 h1:iy4/2jZHe+AZ+dXaajLA9GiFqjCgSr98sNNaBchCWic= -github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.12.1/go.mod h1:m2DMDjqYA42+z/vUFqhCH0JMPSQBRj1x7qzx0xb3BGU= -github.com/aws/aws-sdk-go-v2/service/appmesh v1.31.1 h1:e8FX41jsKWustjg9j2aCB8U6lGEJc4M2AmQg/4sly4k= -github.com/aws/aws-sdk-go-v2/service/appmesh v1.31.1/go.mod h1:QI0IZBZJ5PDUkH5H3RsywJidrT6FfQ7kPKs+dCBXsfA= -github.com/aws/aws-sdk-go-v2/service/apprunner v1.35.1 h1:+Zn6vfiFbRmQCcGQiyImMftao+e7s360Q/qFhz2Cgmg= -github.com/aws/aws-sdk-go-v2/service/apprunner v1.35.1/go.mod h1:S07Cfmppi5b3wu11h6o3My/N9nUqjQ7u0U+wbISMciU= -github.com/aws/aws-sdk-go-v2/service/appstream v1.46.1 h1:I2q1xR7PWi/LQlEQKuYhs85c5Pe+8lVXhK8MJ6gbiMI= -github.com/aws/aws-sdk-go-v2/service/appstream v1.46.1/go.mod h1:5kFtgc4YQoe7OR0BU2niXUX/gIxvO0e7P3gl0w/qNa0= -github.com/aws/aws-sdk-go-v2/service/appsync v1.48.1 h1:ZDL25UdJ53x6+HRznXwBcgoZS3I8YtJKUyNAD9P37F8= -github.com/aws/aws-sdk-go-v2/service/appsync v1.48.1/go.mod h1:E8yfHHkF3MIWOWRmvopbeK8wfCkeiNIqQ5f8G7fPaO4= -github.com/aws/aws-sdk-go-v2/service/athena v1.52.1 h1:5rNoigvi9hF3zv7e8hI5l+iY5KAwKklcZCgpAh56JKI= -github.com/aws/aws-sdk-go-v2/service/athena v1.52.1/go.mod h1:Xu33b8kDuxb2omK+SUaQfbJh48c0QA7t08ne92DvTOM= -github.com/aws/aws-sdk-go-v2/service/auditmanager v1.42.0 h1:qQyzQj7ckTHNSsLzPhxPTvnHETTOExpltPon803jC94= -github.com/aws/aws-sdk-go-v2/service/auditmanager v1.42.0/go.mod h1:EarhE4+FhGV6sYnrDvsw7z4+pYSY9zX2xlkbuetUVmg= -github.com/aws/aws-sdk-go-v2/service/autoscaling v1.55.1 h1:zX6/huIuV5ldMXSiVVdmRT2oO1M+xNLzdt0du0QuhVE= -github.com/aws/aws-sdk-go-v2/service/autoscaling v1.55.1/go.mod h1:KWk5jIp+F7eu9vjz6g/UdeIk5FX2zw7zllkf8EwmHjM= -github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.26.1 h1:CkI6bqB4xGt4i8WFa4VPqkSS+2pnclSY4Zo0dwuplkE= -github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.26.1/go.mod h1:kvxZ8JSGk6ZHbsYqn02OFN2IPwKIyPq4gJJP2i68tlE= -github.com/aws/aws-sdk-go-v2/service/backup v1.44.1 h1:g8w8gNNnmpj6IB6f/ZwbTLgCHTq72EP3vFy3LYAQ49k= -github.com/aws/aws-sdk-go-v2/service/backup v1.44.1/go.mod h1:w/Tj0I8Gs1JAz/cDsWZg0Eph8Tq++krpwr5lxzRj9gs= -github.com/aws/aws-sdk-go-v2/service/batch v1.55.2 h1:v71NzFEzn9m7sZJ31v0pYU+cMEYilmZAnGftfaavOPk= -github.com/aws/aws-sdk-go-v2/service/batch v1.55.2/go.mod h1:JfQ32ZzGrphsjC5aSZ6NirIQKQEvIRxd7XOBA2GqP3Q= -github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.9.1 h1:KLTrvcyHoLx34b0r8DJrg6IveMJ6Rhrr/W7CTtcyHcY= -github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.9.1/go.mod h1:5ycq8robRvawqh+gGGSYDCtX/lgJcBHSpbXS41G2YZ0= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.40.2 h1:RF6r/HIBx3Ox1d8QBjSFf3jWmtbHod+CGpJIxtqwKuw= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.40.2/go.mod h1:ZTp/fekiiAUkmAU4CDYjtk/hlRpPJnbGKaFzMNr+Hq4= -github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.46.1 h1:+964aZWEhatObFc4aShL6yyLXcmr4rA6NPGd+y6TlSM= -github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.46.1/go.mod h1:PYXdjAxfDP6jvOtgZIlXn+7DS2rYfMONfDiYxx1I3T0= -github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.1.1 h1:B5TtLHc5RV/ezQo3BsFfDxKUdbnRl6Ni3b927eGLxsk= -github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.1.1/go.mod h1:YpZIw5tCg/UZMYIrqCvK5wv2Uze3IKeB2lhq8yQU8j0= -github.com/aws/aws-sdk-go-v2/service/billing v1.3.1 h1:ubne5J3y/pp9c/ojwPhTbBy5PJB7Gs1WM6JooUQJzCg= -github.com/aws/aws-sdk-go-v2/service/billing v1.3.1/go.mod h1:YeisxBuT89KEnsEw/BXZy+En8LjBzP4wfVqHf9Lkqzw= -github.com/aws/aws-sdk-go-v2/service/budgets v1.33.1 h1:Iai284Y0UvwLD8Bz/qDXbmdMGzrYOHCnvAKStFIn78A= -github.com/aws/aws-sdk-go-v2/service/budgets v1.33.1/go.mod h1:KkS6P8P77BprIvQyfB8cX0qkYftuwBSpug2AYjGQRow= -github.com/aws/aws-sdk-go-v2/service/chatbot v1.11.1 h1:MQ4cl83vzh3+xNt6p9wpd9Eu4UffTZDwPq3Ow6fr/4E= -github.com/aws/aws-sdk-go-v2/service/chatbot v1.11.1/go.mod h1:6WF++CTyTdZuyhTl1hXbgCe1GUvBop62/HpVvlX7uHY= -github.com/aws/aws-sdk-go-v2/service/chime v1.37.1 h1:uZotozsudJwrN4dmmRz35pXBCsDUyRNREHS6K54UNic= -github.com/aws/aws-sdk-go-v2/service/chime v1.37.1/go.mod h1:RtRWdRgq659iw+IX8GkicgBeUrAi/uM/F6UB2kRXLEw= -github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.23.1 h1:snEGKLwYw3hQWjnFWP4tJgeGB58EJ5pKVRXOQr8mgiM= -github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.23.1/go.mod h1:Jw4s1iOrBDZFuypWDpOLuZYnAWT1E7n7NI+F/oPTyR0= -github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.23.1 h1:37kUAkGtiiFvuwB8Q+fx9WwYuCN6UsCAj17hi30mVLs= -github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.23.1/go.mod h1:zbl4bbWYNgSrLi2KshZcnXhgUogEMwI7mTu0BL1z3m0= -github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.27.1 h1:BCWj3VrS1wrgaixwbrJ9VJG9JtdSdA5u5S5RHbv036E= -github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.27.1/go.mod h1:VNBjeDkZNToj7jboiPq4KlPI7Y7OP5m1tN5Y652vNgQ= -github.com/aws/aws-sdk-go-v2/service/cloud9 v1.30.1 h1:04cu8ernMSugkM31n9yPzvweuze8bTlifLe1Ky1J+3w= -github.com/aws/aws-sdk-go-v2/service/cloud9 v1.30.1/go.mod h1:vJ5ns5qOlLbAA3A4IhAXNYJ2ao+3ckUkeshi6IuBZxg= -github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.25.1 h1:7S5JbWI2b7lSCWcWcrgaE0XSYS3muGnt+rrxEWH7c5Y= -github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.25.1/go.mod h1:bvxQ0XpcdTa32bVV9ORpSQA3dLKBGZbbH+1HFQgx4ng= -github.com/aws/aws-sdk-go-v2/service/cloudformation v1.62.1 h1:gqN14m9ds7GOyB9B3es0Gv0xf1OaPpqmU1qUGXh8sR0= -github.com/aws/aws-sdk-go-v2/service/cloudformation v1.62.1/go.mod h1:bfVI9myeahAr36mMKS/dtXsU4inMeZd9CCYe1kcHmHA= -github.com/aws/aws-sdk-go-v2/service/cloudfront v1.49.0 h1:ZABkPLtfK+q2GkW1pA+NukaGM/EAKamEUR347B1md2U= -github.com/aws/aws-sdk-go-v2/service/cloudfront v1.49.0/go.mod h1:PHC5ybfgglvCqD7fLaqR5A7LIuJqIoUxhlwF/8faMt0= -github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.10.1 h1:c0BRZh3XLzqzx0UuJ13HsnFQEpPWwpGKDoiONRZmdPg= -github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.10.1/go.mod h1:Vyk18vQt9kEsM/YyRmnLKUmLd6DI/JhcL7MeRD60WpQ= -github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.31.1 h1:beB+ptVgyQsnISH3XjxUmbhtn7oO6cuuB8kwSQp6LfE= -github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.31.1/go.mod h1:lKCraexL7AGqlyR6j4uBJWKDMvMyDydrjOLcSmgCAK8= -github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.28.1 h1:ggLVSG9dPkP02VXhRAWLpq7FpNxM9S8F6M2UGqKsv98= -github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.28.1/go.mod h1:2+h6rZKo2OMnxiE5gyqLwB50cfGm25PsDYSiamOQ9Dg= -github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.50.1 h1:f+n0I/ayFBFUrq/x9Y7YwJlQr+SkoNjJpWy24scdtps= -github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.50.1/go.mod h1:OE2RTaxbHdirCXEtYu4/2K2VNDT2fJdW2XsGngXLEKA= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.46.1 h1:jdaLx0Fle7TsNNpd4fe1C5JOtIQCUtYveT5qOsmTHdg= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.46.1/go.mod h1:ZCCs9PKEJ2qp3sA1IH7VWYmEJnenvHoR1gEqDH6qNoI= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.54.1 h1:eKC7wj2CjC0dJcTPPZa33ku+mueglsEb3c8L8GMarnQ= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.54.1/go.mod h1:+Y32vrMhsQMA+q2x2cyQrox40n9RSkmZ6t+sGujF0ME= -github.com/aws/aws-sdk-go-v2/service/codeartifact v1.35.1 h1:q99yNK/Gt8XzQ7hfxIDlK97S9Vmjsg/R0ihMS4P+QPw= -github.com/aws/aws-sdk-go-v2/service/codeartifact v1.35.1/go.mod h1:VKj4D43shqsd8dQPL/ToiS07uq+T0EZrQAxSA/CpXJQ= -github.com/aws/aws-sdk-go-v2/service/codebuild v1.62.1 h1:YgQ9aeWfU3BIvgATyl0QmrNJCJvptK1JGLOpSWyrAh8= -github.com/aws/aws-sdk-go-v2/service/codebuild v1.62.1/go.mod h1:WOmjO0fUYhgcNaa2jaqqZ7mpJxcg08OmDcBeOManSrE= -github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.18.1 h1:w8Ehk06uqB2zyiKTnbkRUqdCiVe65GiLEXlsOXjPkPs= -github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.18.1/go.mod h1:q7wXTFLkr082Ae1N3j+r9as7Qjow+XTu3Ck/dKtksGo= -github.com/aws/aws-sdk-go-v2/service/codecommit v1.29.1 h1:dpVTBYBDawcWN5Dzs/mEIsvbTIB7DZahTE8ZFbOXfDc= -github.com/aws/aws-sdk-go-v2/service/codecommit v1.29.1/go.mod h1:CDOCvuSESB8TytvDLyElgP4gVMZgYJNEbCBWiVSHbYg= -github.com/aws/aws-sdk-go-v2/service/codeconnections v1.7.1 h1:f20DiugdjJZGsFhdaKrKX5bF2V7DzE48gPNWVBCtCaE= -github.com/aws/aws-sdk-go-v2/service/codeconnections v1.7.1/go.mod h1:B/DVlqEIwSkOQFdy5IMbTWvmvc/b/lY/v9wZFWlxCqc= -github.com/aws/aws-sdk-go-v2/service/codedeploy v1.31.1 h1:nLtbuM+D3kr0TANA53zNzfgCn1msUIZIVvO8GQ8zgsw= -github.com/aws/aws-sdk-go-v2/service/codedeploy v1.31.1/go.mod h1:nhyDCGnLTixvFU4RfdiQywPgounyF0se2CAAQZC200c= -github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.26.2 h1:4qJa9WJ+AD87urgE6BPHeW7gcmyXfEGS0dfHztC+A78= -github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.26.2/go.mod h1:M5AqEEJg0YVH0HolYS6qlDmVotbAkIaU1d17sAPFyDI= -github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.31.1 h1:o02/8n6dGGYFrTCE0mqHKLZkprnUjehxqf1WldSWrJ8= -github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.31.1/go.mod h1:HiWlOR1PpVyB59fCnPuULZ/M0P/qPPV27cJgMZza0+g= -github.com/aws/aws-sdk-go-v2/service/codepipeline v1.43.1 h1:4f9TwbJesmy9tqPtUbSMo7gg6TLnCK4ylLq7n0qFVWc= -github.com/aws/aws-sdk-go-v2/service/codepipeline v1.43.1/go.mod h1:s6P0ArGOLmTXbc1lIeRczLm6R04ZvayVWeX8k3Z9v6I= -github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.31.1 h1:YPFqlu6T3bxhmfur9CFazxh5puWiL0uxjrukw2GEFPg= -github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.31.1/go.mod h1:y3qe0icKlqpF2ccL/o6t8fPR8c0o4tGplskz34fvJx4= -github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.28.1 h1:fRqouJqnHOFgVHLjhe/UXJWkihuDByU9CBBuZGUU4Ek= -github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.28.1/go.mod h1:oPiggwnMwW1eRcFq3rImb6gms6HIqgr+h65NSZzOn3o= -github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.30.1 h1:NB1+cWutptq+UHLSodvhdhNw8mSf3L2slhysVs5HCh8= -github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.30.1/go.mod h1:nPuM/gz996X+i7RSnw1LNdaP9NFBMgEpamx6YB2mrQQ= -github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.54.1 h1:QS+vL4FEdHfs7wSGj7SQJZmbk3m7SMzNI3uluL8KMwU= -github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.54.1/go.mod h1:gdYsfThKvm9P3PAqtXR9Lx4up/w83eKGCW0myw5s5wI= -github.com/aws/aws-sdk-go-v2/service/comprehend v1.37.1 h1:Xat/BhQMFHWTNCcZeYu6ETUyk1xrTBHmSBabQZsoCTQ= -github.com/aws/aws-sdk-go-v2/service/comprehend v1.37.1/go.mod h1:j9LTyGi9ayVVJTv24l18umZyMghJMBGAz00LNa/FD+Y= -github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.44.1 h1:Vz3eSSKha0gWpZtUmGDJDUGw+J+CWNUs9NtM2FnOgiE= -github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.44.1/go.mod h1:/GZI/NTlYrq4ebfgeAWd28CYAIkma0LEhzR6LBxkAsc= -github.com/aws/aws-sdk-go-v2/service/configservice v1.54.1 h1:f6aReZOJPcBvEdpMUy16fHeOEs9Dy7PwqQ1qMQpYxt8= -github.com/aws/aws-sdk-go-v2/service/configservice v1.54.1/go.mod h1:AF+ERbemhpKFDlA+LTHNgol4p7uY1ovFe9fCB+RLALk= -github.com/aws/aws-sdk-go-v2/service/connect v1.132.1 h1:eKxoFnZ+WuKSCvnrUSfUYsxniYA1PCKtu97+3fhhdP0= -github.com/aws/aws-sdk-go-v2/service/connect v1.132.1/go.mod h1:rbvCsyvfb8gqfvmS25MbGtytizsOhSUcxLWt1rGCNj0= -github.com/aws/aws-sdk-go-v2/service/connectcases v1.27.1 h1:5aZmKdQjd1rSCDjEBKKt0EzQY5DRfHFCCTpNiw/0haw= -github.com/aws/aws-sdk-go-v2/service/connectcases v1.27.1/go.mod h1:Fv0vm+4lp7bGowaFlHsM6OWGRGsRmhL4R1UZU4F4Y68= -github.com/aws/aws-sdk-go-v2/service/controltower v1.23.1 h1:Y3vnotVgNjDLTajaTTH+XbDcmmB9jfQ+Qz/YN1dbONo= -github.com/aws/aws-sdk-go-v2/service/controltower v1.23.1/go.mod h1:nKfpvxTfSBs+V/OSWVlzYV5K7RL9J/P5ZvGNk+0/Mug= -github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.30.1 h1:SYiS9JKkBdWl3sV6v2KMt82XKc+JVUwifpf6JMIyI4U= -github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.30.1/go.mod h1:yElKdxGVSH05dS0kzR6AAiyp/+/c0tGk5DoPgffIl2A= -github.com/aws/aws-sdk-go-v2/service/costexplorer v1.52.1 h1:MRfsy+UosplTbrTui5cUVJ4era6XBjZv0lEGUgcG86Q= -github.com/aws/aws-sdk-go-v2/service/costexplorer v1.52.1/go.mod h1:XhV87ldg1xBh4WjKcc6aW3SFwzaIjNhuPtDEhZ5/gds= -github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.17.1 h1:wP6PryT7nTlNrnsBh5riZLJXM1zOjzcS0xCKvAqmRnM= -github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.17.1/go.mod h1:ptisHEhEb179hVX6qvulR2ZQ2oRJU3BpmouFmM8SRDU= -github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.49.0 h1:sNtNRPNKso+u9nD5JNmM74NFoCeHsped7N2i+1tA7Jo= -github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.49.0/go.mod h1:E96OYyTW0QrMri8Xc3RYV7BrJhd7SUrqsGL5YYCsneU= -github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.54.1 h1:tHAEfv1QzqRN0I46Bxc7vNav9B54dDPv8ZyJei+TtUU= -github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.54.1/go.mod h1:l/63jy0JYcuPgsIn0sCarneGQZT60Z3VJZCTHg9joJQ= -github.com/aws/aws-sdk-go-v2/service/databrew v1.35.1 h1:WyjDtS3+ZYk6PYc5f+r92dUbl8rKXafSALk4gbSc9sE= -github.com/aws/aws-sdk-go-v2/service/databrew v1.35.1/go.mod h1:ZU262AoIUejl0Sjc4iZcOa3V4tGM9eJGmFl2kVuqXmE= -github.com/aws/aws-sdk-go-v2/service/dataexchange v1.36.1 h1:vhAcPY29FzRoyJEeFZny/cW50gS24Gt94VLgEk00THQ= -github.com/aws/aws-sdk-go-v2/service/dataexchange v1.36.1/go.mod h1:+3KxWI5wJ70b7eCiUOQQArXw1ba9fRWjwrtJ++SlAcE= -github.com/aws/aws-sdk-go-v2/service/datapipeline v1.27.1 h1:yDWeBJrxYOeqZalv6rYH8pKG+yHHcT3IlagoVvWgGaU= -github.com/aws/aws-sdk-go-v2/service/datapipeline v1.27.1/go.mod h1:XOb2itVVqEMQUUsCisw4B2ViGuF8bgnxTJDEUfeQmfA= -github.com/aws/aws-sdk-go-v2/service/datasync v1.51.1 h1:OmB6TLQAlHe674BdA6iYos3twoaqlRi3O3D4ugY48PA= -github.com/aws/aws-sdk-go-v2/service/datasync v1.51.1/go.mod h1:sYdcLC2TL27hMrCF22BodOKNHw5qp9p+3lMR8MOhBT0= -github.com/aws/aws-sdk-go-v2/service/datazone v1.34.1 h1:7Vc7AKcOiWiUnEkuKIJym8mx0ZVAElRxek8nO/Fu1JQ= -github.com/aws/aws-sdk-go-v2/service/datazone v1.34.1/go.mod h1:7cSev4IbgiJPWqraB12r4ieb73nrGFfOCvDwuGkTdJ8= -github.com/aws/aws-sdk-go-v2/service/dax v1.25.1 h1:r3jbJgyI9lsSbQI8IMFEMmawIzEaD97nk54Xe/Voq0Q= -github.com/aws/aws-sdk-go-v2/service/dax v1.25.1/go.mod h1:PIN6XFvWGPlyg8Mb/P3OEBq4Qh7Ue1CGXNen/kpGi0U= -github.com/aws/aws-sdk-go-v2/service/detective v1.34.1 h1:R1+JPYi15Sow0hS36G0vbg7A6Xk5u3vUxDXSm/wry4c= -github.com/aws/aws-sdk-go-v2/service/detective v1.34.1/go.mod h1:76n0ZZINIlFxYRJAJE036Es05+2B29Ry9ua6sbwmeNc= -github.com/aws/aws-sdk-go-v2/service/devicefarm v1.32.1 h1:ReB2/CPevDweGjecwp8ya3vJsmhH6fziyhuYXbW7l8s= -github.com/aws/aws-sdk-go-v2/service/devicefarm v1.32.1/go.mod h1:yiyj6Af9/jK0/N3KwTsNf8HGEMDMzwWuKNeNCv+xq0g= -github.com/aws/aws-sdk-go-v2/service/devopsguru v1.36.1 h1:cvXl9NB4eCIcI2OJoGGUP1UTe3lgMwECXu6rKX4/fxA= -github.com/aws/aws-sdk-go-v2/service/devopsguru v1.36.1/go.mod h1:AGvxtUnglcKvdNDclLBhfO/ksr7cPXlcXYcErasXHM8= -github.com/aws/aws-sdk-go-v2/service/directconnect v1.33.1 h1:ur6teJsonXZ3DQ4HY4F68b5rEvRVxpm7WYaZTTZiYeY= -github.com/aws/aws-sdk-go-v2/service/directconnect v1.33.1/go.mod h1:Zz+wZAdmA+3xJ2/4HFfkDJUqCri4i4wJ51RC08CS39k= -github.com/aws/aws-sdk-go-v2/service/directoryservice v1.33.0 h1:6Mkvj/XKGR0un5ZN3C/fzbwEQDfvFyiqz9onbul2tXE= -github.com/aws/aws-sdk-go-v2/service/directoryservice v1.33.0/go.mod h1:cE8g6YE7isdWy1WJEuslcG9/O/xYpN56+Gd+v5Nay2Q= -github.com/aws/aws-sdk-go-v2/service/dlm v1.31.1 h1:X3N98uVi57B01cxV5wlSEXmaQDoH0SkT/cPVFNGis3o= -github.com/aws/aws-sdk-go-v2/service/dlm v1.31.1/go.mod h1:8cJzEU8w/u2gkatmGTd3O7EFLoGP0feaIWihDpDsS90= -github.com/aws/aws-sdk-go-v2/service/docdb v1.43.0 h1:KkTo1IeL3eI6bpAUzzte6byFZmO26njFqdfn0fMgrZU= -github.com/aws/aws-sdk-go-v2/service/docdb v1.43.0/go.mod h1:LXUurR6oU0Mur/zfXB6ZUpWeC3nGOv4TZCvKvxyd1Ts= -github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.16.1 h1:NpdGerAwJLMan0qv9FZkMKurlfrfWpB/tuIxQGcIoKQ= -github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.16.1/go.mod h1:Rt5mVlAnNpabHok0G9i2aP2kuCXmZqUluUWu9Gr4L2o= -github.com/aws/aws-sdk-go-v2/service/drs v1.32.1 h1:Bnca8nXq9fzKneUaKGg6EPs6BRokMoCMjCjxOujPsok= -github.com/aws/aws-sdk-go-v2/service/drs v1.32.1/go.mod h1:GkjA421JeU3rZw+OtqtRhcTX5/oMV4eCktMTP49RjEY= -github.com/aws/aws-sdk-go-v2/service/dsql v1.6.1 h1:9gsd5GS4hpu0Dy51zyUZbO48c94BaUL6445wO0puPfk= -github.com/aws/aws-sdk-go-v2/service/dsql v1.6.1/go.mod h1:zCjUFiEqbIipUKwhROZhoOtW7bgBBfOXf1FSGc2uSRQ= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.45.1 h1:gFD9BLrXox2Q5zxFwyD2OnGb40YYofQ/anaGxVP848Q= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.45.1/go.mod h1:J+qJkxNypYjDcwXldBH+ox2T7OshtP6LOq5VhU0v6hg= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.239.0 h1:pPuzRQQoRY7pwxlNf1//yz5goxB98p1KMa3cdBO+E1E= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.239.0/go.mod h1:lhyI/MJGGbPnOdYmmQRZe07S+2fW2uWI1XrUfAZgXLM= -github.com/aws/aws-sdk-go-v2/service/ecr v1.47.1 h1:gwqCrRvz+vnhWyG9/WSzo6HspAO5mWXBeYo9ELFUcIM= -github.com/aws/aws-sdk-go-v2/service/ecr v1.47.1/go.mod h1:VVqrGCL0/zQif1J6axnyUBVRf6lySV5/QhxV9RspEHY= -github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.34.1 h1:BiOKbndtmSaZypHR0S7lO0DuffGegLvbkGfq4aNJlFc= -github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.34.1/go.mod h1:rAWV5KSmhcjfXEzn2j+heWufy+JWlNDvkhyirRPB0+o= -github.com/aws/aws-sdk-go-v2/service/ecs v1.61.1 h1:C9YpiBJwF9ORx1PNLK7hIT9edNcezQs+ioCT64414+8= -github.com/aws/aws-sdk-go-v2/service/ecs v1.61.1/go.mod h1:NzX/k/6nc9X5l1NShl1p2PLbBZ2IohBcD0d76o7uPtw= -github.com/aws/aws-sdk-go-v2/service/efs v1.37.1 h1:if46gpuITm8t4b7C/1hWSiHTI35LVWXN55H/SCWowl4= -github.com/aws/aws-sdk-go-v2/service/efs v1.37.1/go.mod h1:ytV6yB7YT5kElfKIubv3CP9nKG1IVEXAMDHOC0Wgrgo= -github.com/aws/aws-sdk-go-v2/service/eks v1.67.1 h1:Pw8b30mgnG894pn6DHOvnHqT9tIAqOyg3NuBcsBaL3c= -github.com/aws/aws-sdk-go-v2/service/eks v1.67.1/go.mod h1:ZkszcAXXOpLXbLBZrrog9lCwZF3NyZryUDxXY/InzSM= -github.com/aws/aws-sdk-go-v2/service/elasticache v1.47.1 h1:DIP+2UukVi9P4PHLUF2HXpZEtkbDLmqYcWILuU/m0IQ= -github.com/aws/aws-sdk-go-v2/service/elasticache v1.47.1/go.mod h1:8LEhIVZFKc9OfOrug9sIsm9lTSmiS0KT121aXUnoTPo= -github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.30.1 h1:j4jxdx6ZiG2Xcj9DfjHhX65af8gpUZ4uvEZxJsEuTHk= -github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.30.1/go.mod h1:PWa7FRheclz+S0lyhGNw0w4HBoa1fqBzE/a1UXfUqzk= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.30.1 h1:ZZeI9bCwIbqoKu5hll1dmisMJ4ZeBEhdsszV/gOFm1s= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.30.1/go.mod h1:fcC73gpU/J/SmRut8/CmwM5oJO3bSpW7wgufVdtWSbg= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.47.2 h1:2/qaKwyF2UrPyQLcPxHqcxuWS/Pu6O/c+FrKKsdiB4Y= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.47.2/go.mod h1:91PY/MUWThH0rH61v9r3QA4e7dS/PfXl+K63wltBeas= -github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.34.1 h1:kVZzJvXCPx1Tkiqfxxw/a4uZmbquVu5NG4FgYXkiHOg= -github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.34.1/go.mod h1:yHOWiozIeWy2Twojm1eq+2AV9XSY9NBcGLP81eaxTJs= -github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.29.1 h1:qMs7UOiRWN5skmmfmBkT+8ygksVYbPEUNflmlqYhTNM= -github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.29.1/go.mod h1:DThfdXM8k1f9rWh0nUVIqBA35+i8m9oNXdn7vbT9Aig= -github.com/aws/aws-sdk-go-v2/service/emr v1.51.1 h1:uqDQXEq5AEju5XxbycnFiLdsK1+IbmaOqqqt0D3MaRM= -github.com/aws/aws-sdk-go-v2/service/emr v1.51.1/go.mod h1:dYB/K65iH3LBAsSfE2V9hQMMZCWwZ/eskSnvwB+94Dg= -github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.36.1 h1:fatKIhCAmO39bB0XvT0aIsABOtNzirPHkY0O0mibr1I= -github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.36.1/go.mod h1:JkeTS9XADAj2PRKxxzXLlp+pyyxAQpbaoIFo7ydRGBM= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.33.1 h1:uFi7sYl7SR4WLG3h+L1rW/HFolCi/L/hWHG9fnj1c+Y= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.33.1/go.mod h1:puDjU4Zu69ZZjkh5L2RyR5T3TVJDeWmQhXV0ZpSfZg0= -github.com/aws/aws-sdk-go-v2/service/eventbridge v1.42.1 h1:ME8HTzLgCmHN32s9KChZexwyouSyLPvDn2LJl4r89OE= -github.com/aws/aws-sdk-go-v2/service/eventbridge v1.42.1/go.mod h1:lJVM+ARsu8r3lf4dR0RLB1G6NToIJQRb0Gu6ykAMGCM= -github.com/aws/aws-sdk-go-v2/service/evidently v1.25.1 h1:NhuU+ww2xUvZoMLQ2dLmTcZUt9rbU0avHsdAAgkl6fU= -github.com/aws/aws-sdk-go-v2/service/evidently v1.25.1/go.mod h1:tpNT0uaDvJIpW3ykBc3dQ+nr1SEnf/7RgExF6oD3sG4= -github.com/aws/aws-sdk-go-v2/service/evs v1.1.1 h1:/CDLFn0/JzQkRPudFgezHiocIyi466amw3+RcxvfZSY= -github.com/aws/aws-sdk-go-v2/service/evs v1.1.1/go.mod h1:Uz/HiziBhzCTge8mOxy8l2oMiS4Zsqr2uO52hRs7jLI= -github.com/aws/aws-sdk-go-v2/service/finspace v1.30.1 h1:V0gqQtpjjOtrt1Lede0xuTIa5DCf5geHAeEnFmeEqdU= -github.com/aws/aws-sdk-go-v2/service/finspace v1.30.1/go.mod h1:rA1xygzkTSu7WWIhd5QS7QHb6910QBIBe2rN+HTtbqo= -github.com/aws/aws-sdk-go-v2/service/firehose v1.38.1 h1:D5mbw/YzZ9ibZT/SZcc+jppu1EC2YPBXC7n60gEYHhw= -github.com/aws/aws-sdk-go-v2/service/firehose v1.38.1/go.mod h1:nvVn2pz5jdhGbwcYzJ/o+kbZXRwjblofi3stc2mfKpk= -github.com/aws/aws-sdk-go-v2/service/fis v1.34.1 h1:gEd15BudHu1LEW7cE+78CjASMvxrK36z1Z1ayzMwnbQ= -github.com/aws/aws-sdk-go-v2/service/fis v1.34.1/go.mod h1:F5SaK324QSusZ4YLbuROwZ2ZUaczsr4uGTNQK0cTjxA= -github.com/aws/aws-sdk-go-v2/service/fms v1.41.1 h1:b+ol8ooL9qFSVulRN7gT7LMPbCeSXYhS5irfU3U+gJU= -github.com/aws/aws-sdk-go-v2/service/fms v1.41.1/go.mod h1:H7I1xzO0zfGnTGLO5KxdFi3Sv2aHBm/LSEt/ECnMTbE= -github.com/aws/aws-sdk-go-v2/service/fsx v1.56.1 h1:CYITpNYHh86TCr2VJbo9x3BCbHepyF5Tah0P/Z12bqg= -github.com/aws/aws-sdk-go-v2/service/fsx v1.56.1/go.mod h1:vAxwTvmBYSfkC8qVllyQyL7XCgwQpYuUbGjyL/djBD4= -github.com/aws/aws-sdk-go-v2/service/gamelift v1.43.1 h1:DgDl1xmkazdMYxjQgE6dUAZ/IV4DtEjsbiZAt+VgTc8= -github.com/aws/aws-sdk-go-v2/service/gamelift v1.43.1/go.mod h1:3ovhs4O2fcf1tFiUC0J7D253BXrI9w3/VVo49EBCI1E= -github.com/aws/aws-sdk-go-v2/service/glacier v1.28.1 h1:UDiRjAcoJ9pxHvwaR83mGhdkVhXqYY8tnLLyYbR/X+w= -github.com/aws/aws-sdk-go-v2/service/glacier v1.28.1/go.mod h1:JF/OUsjyuN42tFdT6Z7XPMUL0TdgQauFdpAjOlgPzMA= -github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.31.1 h1:BlojjkVblgLjPzotny0DsKcfLBb/bC4ODhI9fXu/YpM= -github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.31.1/go.mod h1:BqZ/xicmt1yJLth0oV8o86GKsEIjF7XLKJA6o6+Tb4g= -github.com/aws/aws-sdk-go-v2/service/glue v1.121.0 h1:b+B71JBhFSVOifMMcnilfqPcrskBgDYruY8mQ7Au8Hg= -github.com/aws/aws-sdk-go-v2/service/glue v1.121.0/go.mod h1:GrfuFuhLuhdZy8Tx0W29A6avb0+Xey8DDS0izAj3/gY= -github.com/aws/aws-sdk-go-v2/service/grafana v1.28.1 h1:xef5GSQwdnBBEodb67YGYE7CanW5uuQyI/8q+rMs6IE= -github.com/aws/aws-sdk-go-v2/service/grafana v1.28.1/go.mod h1:wejuc0EF416jLYLVi4yyRZiZLtBwIPHR+L0fUnTlMeU= -github.com/aws/aws-sdk-go-v2/service/greengrass v1.29.2 h1:sUwdjTF+gsxgeQ5EDloohEfrridf46LAv4liH11CSiE= -github.com/aws/aws-sdk-go-v2/service/greengrass v1.29.2/go.mod h1:ctd0N/Z5NBrVk8DRHDnVPDGXLYgEIw1UvG2ia2Tgbvg= -github.com/aws/aws-sdk-go-v2/service/groundstation v1.34.1 h1:dMBjI+4ScXf5fIeYI+70DHxC35hknZUYs2/u2ou9BZ0= -github.com/aws/aws-sdk-go-v2/service/groundstation v1.34.1/go.mod h1:co4tdt5zpodqW74jxLUio7V/EGMBNimy/8RJP8KF0vk= -github.com/aws/aws-sdk-go-v2/service/guardduty v1.58.2 h1:87eI9lnHusm5MogDxtMDmxMHA9ojX0Ez8QpNVdJ70FY= -github.com/aws/aws-sdk-go-v2/service/guardduty v1.58.2/go.mod h1:eQ9c3TyaAMTn2/P6vjnPjZ6b3ViTaHsTPOY9gdUBvXo= -github.com/aws/aws-sdk-go-v2/service/healthlake v1.31.1 h1:71vwj+vvOeZJ3w9XuW/9tv80byCdifbQ/Qf5Mc5y2zU= -github.com/aws/aws-sdk-go-v2/service/healthlake v1.31.1/go.mod h1:QrR1Yf1RmLYOxRFL/ctdUAF8ee4LSBHKOa46wV90nQ8= -github.com/aws/aws-sdk-go-v2/service/iam v1.44.1 h1:V82Oyj0zU2QFJL+qvvdAqt2YYsRO0QNb9RewnvDWpdo= -github.com/aws/aws-sdk-go-v2/service/iam v1.44.1/go.mod h1:aZ7pMz0bZfPi485gVCIinav3M61EbkGENEMlcMMWuhI= -github.com/aws/aws-sdk-go-v2/service/identitystore v1.29.1 h1:6EYdc0UwxUCGZRj+iGDU9z47XgUAt1Y/Ol+dALGynp0= -github.com/aws/aws-sdk-go-v2/service/identitystore v1.29.1/go.mod h1:S0hd0msvckDEAMvVPpAv3A5ND3slDD/6V3K9an6sn7o= -github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.43.1 h1:PmJzM5B+coktfBZWoSqfehsm0x97bg0bEworfDe9rB4= -github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.43.1/go.mod h1:XQjpa5wcTMPwzOW+ur3sj3NRKhwkeyP4ofPuW6OG42A= -github.com/aws/aws-sdk-go-v2/service/inspector v1.27.1 h1:QG8CsTmAhAPFmpowqocbfVfRDkh5WkoNtzv4vW1BiJk= -github.com/aws/aws-sdk-go-v2/service/inspector v1.27.1/go.mod h1:3LVGyTD16Yf0GQ4jl39tnMRYO/nE8VS5rZGsJyAKm4A= -github.com/aws/aws-sdk-go-v2/service/inspector2 v1.40.0 h1:u57xVdqtt4O5UkA02bf0BCmENrZCz/VVi3fPSw6MZAE= -github.com/aws/aws-sdk-go-v2/service/inspector2 v1.40.0/go.mod h1:Go5fLgTjY0qKiAVTvcS+nlYH0pHa5IAETQPsoYM/3WY= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.2 h1:sBpc8Ph6CpfZsEdkz/8bfg8WhKlWMCms5iWj6W/AW2U= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.2/go.mod h1:Z2lDojZB+92Wo6EKiZZmJid9pPrDJW2NNIXSlaEfVlU= +github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.42.0 h1:vt+gYvW60oCHXXC8r956qdFRCF+/fQtryCDn5y0HsGs= +github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.42.0/go.mod h1:TwIVACwD7QWQf7pgwDH0vdrqK9TNLmvKfaIAFVMG+n8= +github.com/aws/aws-sdk-go-v2/service/account v1.26.0 h1:y/f+sL3VLjkjxNcGcUm6Bmhlok4utFT6Qq2AEuEG7G8= +github.com/aws/aws-sdk-go-v2/service/account v1.26.0/go.mod h1:XcdxcMpieE+6jFZOm4oACLClafqEaY4E3Q0gIDYAq+w= +github.com/aws/aws-sdk-go-v2/service/acm v1.35.0 h1:gVIYcaezeE2zZIUI1yrV+n/KAOMouNYmsFi8MFHmrQ0= +github.com/aws/aws-sdk-go-v2/service/acm v1.35.0/go.mod h1:ec9XD6wr6wjTjlWDj1nfjoJHYSG8X0qVNklU8zztBE4= +github.com/aws/aws-sdk-go-v2/service/acmpca v1.42.0 h1:29UrIJP7RqSv60o0Ijn4Osshw2CLIpXs3ydWwL1ncRU= +github.com/aws/aws-sdk-go-v2/service/acmpca v1.42.0/go.mod h1:MEHD++O08p58bU+t9xbTRH4A4lQIjFkOffNUzjXGwjU= +github.com/aws/aws-sdk-go-v2/service/amp v1.36.0 h1:bkMWckc+0CtmzdUls0WxNMgJW+FfVFBWXbI8gaD8xts= +github.com/aws/aws-sdk-go-v2/service/amp v1.36.0/go.mod h1:LJjtJRt+mqjs4D8JRKGEYjW4w4XNd7s5oXjivdbPXfc= +github.com/aws/aws-sdk-go-v2/service/amplify v1.35.0 h1:gT1MIIVClB3AeJ3Re/cPcipnIVWRFqz72DmXRR36RaM= +github.com/aws/aws-sdk-go-v2/service/amplify v1.35.0/go.mod h1:nNI4E6Z2lhFF0lYz6AlHemTIZLnvclsu2Rlr5cuEBPk= +github.com/aws/aws-sdk-go-v2/service/apigateway v1.33.0 h1:KiF6zCaH5RWJ5JvIQg3K8UHDDKavsm7AjKrqIMOkWBY= +github.com/aws/aws-sdk-go-v2/service/apigateway v1.33.0/go.mod h1:EyTXepZ4wjZZzQRZakRLJt0CPzSvp0DEIZEvGFfY4vo= +github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.30.0 h1:TKcprXn0kE8tO52+U0r4qV6ZS5MzhsFPf/Oll86VTBM= +github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.30.0/go.mod h1:8omZuwkmT/FCrrspTnSV7zfBkXUU0kCx4GhF45kILZA= +github.com/aws/aws-sdk-go-v2/service/appconfig v1.40.0 h1:6Pj5dEAlzJvWDfVjFpbc7ZnHA5Dvjdh1XemDMpboFvc= +github.com/aws/aws-sdk-go-v2/service/appconfig v1.40.0/go.mod h1:BsSGAj9mD3U2GbJ+rNTZR3h+fb4+I2LObTU8cwOWj9w= +github.com/aws/aws-sdk-go-v2/service/appfabric v1.14.0 h1:Omx/A2miHighL12A8GXXPir98p9mSLKbZduAoh/vhiI= +github.com/aws/aws-sdk-go-v2/service/appfabric v1.14.0/go.mod h1:riUMB17QXzuHibU+FpEqYSJ1v5hnKHpbZ6SY9HMrwAQ= +github.com/aws/aws-sdk-go-v2/service/appflow v1.48.0 h1:+oYSboLPBZygfCNUhpEYtuQSqoN/LpRMuPimTGKK3eo= +github.com/aws/aws-sdk-go-v2/service/appflow v1.48.0/go.mod h1:S3KIf4WL9w8ZYLI+IYNm0JGVpR7V6qFVhNoEZTHtpgE= +github.com/aws/aws-sdk-go-v2/service/appintegrations v1.34.0 h1:DPlrEqTxtDqWfvdPfz2hHB/02FutaUvpCH8E+tgkQDo= +github.com/aws/aws-sdk-go-v2/service/appintegrations v1.34.0/go.mod h1:Ky7v+zg7tT84MMw+pQYTpfNmXictBFk+Q82C0akJfHs= +github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.38.0 h1:gt+ZqLthoEKRCB0Mkw4R/ABdCmW6Y53Dfn67LczfcDw= +github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.38.0/go.mod h1:6t2ZF+2KvF8UI2XO5CmtuDO3mSqQ5iXAUbNZ/6cxCBc= +github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.32.0 h1:DU6QP0nzEAXKYHGNUjsp7eLJR6SR/XxVZ7bWQDukK8w= +github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.32.0/go.mod h1:2MuTGd75ViK4GpS4AHFOu7mkLUIRQzDqc1vpLduWsVk= +github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.13.0 h1:J9gIKlvB2N0hAv+Qa6OXitHBCuB5shSlQcYeZEhnhC8= +github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.13.0/go.mod h1:k1nvlCbN8YF5tZn3vQ/nhLWsWgtjpt2V6DyTU32RBO8= +github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0 h1:O9PZ3rZ3kO78qUS0+b89tozNOCC5HNe2BDmduzVU/gk= +github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0/go.mod h1:oAWy74yo48WYE/39Tvr1/MqaLTpZ1nyr4r6/cPuTS1g= +github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0 h1:PGgY/BIQ82RFrR9rmJYejYk4jb4HmrR4+bxMe0Jj3t8= +github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0/go.mod h1:BjYI0ZEPp4hIXG+3ZoVBr1qA0alLeY98/spY5vsvw7A= +github.com/aws/aws-sdk-go-v2/service/appstream v1.47.0 h1:sKliINBtT3oMvfhHf4/gNXKgdB5X5DLmUengQTuCokk= +github.com/aws/aws-sdk-go-v2/service/appstream v1.47.0/go.mod h1:VAnAk0EgMx9TVmWtZWnLH6JCnhfcSWVmzxNdIAHVxSs= +github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0 h1:h1DrjjLvycToReHS4nlv5CpH4wpqVUEZKzQ+gaomC+M= +github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0/go.mod h1:SHB4PzNsxsI+4dcTpSll9FTlbkE6t3zxDoBYERPIVnQ= +github.com/aws/aws-sdk-go-v2/service/athena v1.53.0 h1:TL5fazHlqxo8Ri3Do0s4EJXhd3Oc7BVZ9uN1NPUKFpE= +github.com/aws/aws-sdk-go-v2/service/athena v1.53.0/go.mod h1:nIHAy7lnmNN7QJKWnV7+sbevrF4ij41ysIfNnh0PKfA= +github.com/aws/aws-sdk-go-v2/service/auditmanager v1.43.0 h1:nkPjY6Hw/VJ930pA0fZmbCJ6B/7xKrPcLeCJBTKucyw= +github.com/aws/aws-sdk-go-v2/service/auditmanager v1.43.0/go.mod h1:EMNIZLHE8IshUfYavm/63BKudlZ2wTGm6sKSnQxCcPo= +github.com/aws/aws-sdk-go-v2/service/autoscaling v1.56.0 h1:YO7rat493hVtpBExbcDPKdGzk9eYTtaUrwaFJSWAqLo= +github.com/aws/aws-sdk-go-v2/service/autoscaling v1.56.0/go.mod h1:6vrMqNnS2fpOfZ9tZmIGDWYGTio7+SJ18fql3IwoSBg= +github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.27.0 h1:IE8KDjm+M64FnD6zUCE4Kkbharyl8nFlt+NKBRsBJ6A= +github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.27.0/go.mod h1:HN2DjMKUSk1fQSIeKYT2xz9CLeupOwl4yowG8OE+56c= +github.com/aws/aws-sdk-go-v2/service/backup v1.45.0 h1:vujSEbS2qKGnQktbNcmFk7N3rmdKmS5x7uQCNjbpIsI= +github.com/aws/aws-sdk-go-v2/service/backup v1.45.0/go.mod h1:hG/r8+r8CH++grUXo3DJpfAP06UhM0QC7QGFM0FbIfY= +github.com/aws/aws-sdk-go-v2/service/batch v1.56.0 h1:XTIHEJ95YH5IehTJx5p6Y8XtjZwLXV5r/RBzCWOpADA= +github.com/aws/aws-sdk-go-v2/service/batch v1.56.0/go.mod h1:uAslawt50dv4iZfpjAh9YVEbAU3jyPIt3ycDSs5VrEg= +github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0 h1:Wq3UeoqqQFm+HwQbmpB5vN3v3t8X5YsDLn/0yRG3ALY= +github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0/go.mod h1:yWUWnhYtaiRSARc/Y3vU6dZAV9/thOTFMLST2Oxvj78= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.41.0 h1:SUw2DmmMnAJB+wlXUvhdDHkbKfHmV8CpgFdiYSxuF8I= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.41.0/go.mod h1:yGZu+RiNnteeM+ZdeuOHlI4whLyGjENoGn1MLqd1o2s= +github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0 h1:lhY8kqSq+ph2avN5EgZfWx1Gc6HWYyjbuy73LPGLadU= +github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0/go.mod h1:VE33Y1A7q8XkY0I0DWF04eQlg1z5dsKw1EEQzfhkCoc= +github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0 h1:GJdyUvYs/81imU2h6wqSa4T9guevI7eBr9YhXUmOwIA= +github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0/go.mod h1:QmHnuYuWyavbwugFNSSJRvzMGaFngJD52D2Q3Rm9Mz0= +github.com/aws/aws-sdk-go-v2/service/billing v1.4.0 h1:9cAmZFgJC5ymi2OD5OOlsDgatSVGHuwaxvO0/bkfyBI= +github.com/aws/aws-sdk-go-v2/service/billing v1.4.0/go.mod h1:jV6JqgNCURYxs3c4fp3dMQUdoTC5NnwtqKT8y8tF71s= +github.com/aws/aws-sdk-go-v2/service/budgets v1.34.0 h1:nB8rYoMzGtmoyfDVJFFcA0erXeQgncsy1sJfFB01gwY= +github.com/aws/aws-sdk-go-v2/service/budgets v1.34.0/go.mod h1:Q0u6QOkKcwMNEvPgZAZlFo+zs3aP1wgMJANH0XKJEPU= +github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0 h1:uMXPZGOAfgo6jmvuaEyLSKt0Y3OrwQb+c/ZWv8apz+M= +github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0/go.mod h1:e7Yi+X2nUGErWGG98k3U6QTocR3HFVRelFYyZrM/6kI= +github.com/aws/aws-sdk-go-v2/service/chime v1.38.0 h1:iJ+spCNIok1pcSB8Ep+icpsEZE3zJBmsy2utIwtVfog= +github.com/aws/aws-sdk-go-v2/service/chime v1.38.0/go.mod h1:F/VVaff6oOMj33p0J+/aKHCPnDLY5CPOqZOy818/sQA= +github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.24.0 h1:hqtaNtiTl0ecaXe+u8c2T/5guiwvDqeNzGYJV+UIcU0= +github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.24.0/go.mod h1:sVQ3ND/Erl/qSzVLwb9x7tO3KCXit4UxaFlrE4uEY30= +github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.24.0 h1:2W77vBqwQKr+Jf1X7bb5Kwmlpg/PcF0ccW5iNbk9F4A= +github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.24.0/go.mod h1:K5kdhfL23lGFx1yqnWek8LIiF5OpJw09rEnUCcalUmc= +github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.28.0 h1:YN21H1gfpZnJ6+u0R50FCxadXnVoF+sp8Z+nfmNxaQM= +github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.28.0/go.mod h1:zP86jfwHZOeA5qSJkhYhsrXxcxl+2ruie+Twtn8q5mw= +github.com/aws/aws-sdk-go-v2/service/cloud9 v1.31.0 h1:86u99iNYazCQU8jq2uoKy5dFwn/mko+8Il0jnPY+sDI= +github.com/aws/aws-sdk-go-v2/service/cloud9 v1.31.0/go.mod h1:mJzLUSOFx5+Q/ceeC+resgBf9gElJcYFtxOH/ZBxWT8= +github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.26.0 h1:fbq4r7n94nSyyJbEsDsVvjlMPMPJXSke8gawk/EGaC0= +github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.26.0/go.mod h1:La5Cr0mDPCAuBwu+VVnbOoXd5HVow52Pt/UnPAdZyn8= +github.com/aws/aws-sdk-go-v2/service/cloudformation v1.63.0 h1:GHnZM6p3b2Do9wBwwuAzPuGy+HY597jv5LKiKxu0PAs= +github.com/aws/aws-sdk-go-v2/service/cloudformation v1.63.0/go.mod h1:B3WrgqTVkLUTpX5C/ctNig6S78CqebFxLkwrxAYtjIg= +github.com/aws/aws-sdk-go-v2/service/cloudfront v1.50.0 h1:PN9qG49RrQ5b9in9ZfHqY3LxVEKoURo0Ia0LMjzFkw8= +github.com/aws/aws-sdk-go-v2/service/cloudfront v1.50.0/go.mod h1:HLzQI9ENSq0pNCO+ASh5KbwL7AoYBqPkTLv1Y40+pl4= +github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.11.0 h1:iaCqgJY6oh3i+lfw6EM9XF7QzgFTX8FEFYrbrdNTCtw= +github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.11.0/go.mod h1:vYTN8GiXfF6PAeyueEsqS0C9t0X3c4ELvX6a8XdDWSc= +github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.32.0 h1:6OKTiz2vZO39/1WIbD1qp1+fWdXkkSNRWaV6yslKjyY= +github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.32.0/go.mod h1:VMuT9tI291dMpyjO8fo6YybLejDn7yZwPF5LcgEolVA= +github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.29.0 h1:gXu97OvveSwWxTSKF81O/FeGh773qrXI3lhS1YSv7X4= +github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.29.0/go.mod h1:DytnWBTZOnhwCWKehIXDqmo+Ixppa3wAurbgDE7isg4= +github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.51.0 h1:mEDXhybFN7q39EBrN3SiZt0sebBU18ZNUuvOPftYI84= +github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.51.0/go.mod h1:bAz9Mfw6YqILCw087zDfCyDuZNs4wK4S+G+JSHBSyW0= +github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.47.0 h1:Lpr8QXTUoSqu+E6YTxQlmPnvCE4gouG+vHpzhSYAU/Y= +github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.47.0/go.mod h1:Izz13TvjH3bi2LxgMybJYhrY1UJ9N4c4l/th1iLvRDI= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.55.0 h1:1gVT2+4KGrv47pHjZ83ijtozDcGqmmNevrzRcanrNbU= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.55.0/go.mod h1:HzB9FL1Jq/q+Pjkw1A7eeLzyj3NV87qthLnhzoXArvU= +github.com/aws/aws-sdk-go-v2/service/codeartifact v1.36.0 h1:fdtKm+B01B8gyakcbWAVRTp/dF6RZ8bSAwJ0SAUo+sU= +github.com/aws/aws-sdk-go-v2/service/codeartifact v1.36.0/go.mod h1:u3m1BxQTHIh9rSpYNSVXbkwf+e/SQCbCnkbiUOihF9c= +github.com/aws/aws-sdk-go-v2/service/codebuild v1.63.0 h1:OWCZwl6LdRnxnuW83NuEXHt+mkQPkKDsYEyvlDyQAxE= +github.com/aws/aws-sdk-go-v2/service/codebuild v1.63.0/go.mod h1:0k+YT2xx+g/GuLX2uLqm5A3Kno7zEtTYdI1FWGjliPM= +github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.19.0 h1:7fMl5RowdxZ54KTTZUdSeeSfFwbRCoI1foY/gokc2zI= +github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.19.0/go.mod h1:GRd3mFvPtUuXg4j7mTtw4SV3tMwseEoerrdRkGV9sH4= +github.com/aws/aws-sdk-go-v2/service/codecommit v1.30.0 h1:kA7yaCs2MQE81SJXOQ6wg9alTogzkUUQElJFLTNMNa0= +github.com/aws/aws-sdk-go-v2/service/codecommit v1.30.0/go.mod h1:N76szOQF2OkKQyuKDnvlj900Jpvmvs2JseKzbZpmjZk= +github.com/aws/aws-sdk-go-v2/service/codeconnections v1.8.0 h1:9ggs7LTq0oFTTRquvQlsPrGQqdQyXE/gFXhrIJVwOB0= +github.com/aws/aws-sdk-go-v2/service/codeconnections v1.8.0/go.mod h1:ZK7JgKbTqG8Bco84nIqbhjJfvxFOtttVWRbAI18jGkU= +github.com/aws/aws-sdk-go-v2/service/codedeploy v1.32.0 h1:PHX06bkOdv1UJHtI2M9ELpPIYrfRUvEXDVby24+kyig= +github.com/aws/aws-sdk-go-v2/service/codedeploy v1.32.0/go.mod h1:Kl0CnLEkSe4LQqoioPDwcvU2E++vkunyW3wVrKessPc= +github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.27.0 h1:VSNGyDlucRnMWFu1xV9LMcfqbmWz8+0gcrYKmM0ENxQ= +github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.27.0/go.mod h1:trcwSnDAuhnWVGSkvIzi8B2Rq09lkUWw2xLV381k9F0= +github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.32.0 h1:RFXWXJSZeHGwB0s8MmnKDEYzIoe65GlZoVjfkPJmgpU= +github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.32.0/go.mod h1:uJ/ig0xo6LTLoXv1UZKiCAMhMCGofitZBeu1hU8r3+I= +github.com/aws/aws-sdk-go-v2/service/codepipeline v1.44.0 h1:uDyvWWCg52jNkZK3XxZ/KDKUHR6i5frkm95OgIrNvhc= +github.com/aws/aws-sdk-go-v2/service/codepipeline v1.44.0/go.mod h1:dCgth/lQudLt1s1AcZVYv6JElD1S6SYm4IF2Vx26bI8= +github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.32.0 h1:SVqD1PIAnx6/nWmwW4oCaW4axUgH+B6UpSY0NDCCrRE= +github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.32.0/go.mod h1:Jmw0a/S9yQUNCVV+un8ZE5LkmelsqF4vMIP7JjWHFtc= +github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.29.0 h1:K+e6W3hgnYL5caTmtlKB2D0nsqHYi9Rye03Zz0VyuuI= +github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.29.0/go.mod h1:M5+qaBchhL2wQjhkkiZtPB1vARELZvrudYOHhhRzfQg= +github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.31.0 h1:zdCXwCQo/M62euQql/gQDJgN3x4IUH2zPhPySrx1chk= +github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.31.0/go.mod h1:VNqYrKczE/NTZ4l7EQhC9l1qyXETcgEY09FN584Llkw= +github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.55.0 h1:0WmwdwAbMJw1XWhjE65Xv+3mtCH0likwg3d1DaCAqvw= +github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.55.0/go.mod h1:XG40nxqr+s9i1ceNxNnwEKpvhV7XJDSuoJHjL+6yRZA= +github.com/aws/aws-sdk-go-v2/service/comprehend v1.38.0 h1:BfH3iZdWIRFtWZ32bgL1+L1hvzvRZQUbtpHmutWk0UQ= +github.com/aws/aws-sdk-go-v2/service/comprehend v1.38.0/go.mod h1:ssJ/Mv2wWVTh5hG09fGCCnQOfOeOVG3/7zVcxMGatvo= +github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.45.0 h1:6L0Q42EJrrPVL48g9nOuNgNE2r/5nHU0pVCzc79P19c= +github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.45.0/go.mod h1:moeEA/s0wSAhXmQcy2mTjAtm5Q+rhZDI8gJxZxVRIGk= +github.com/aws/aws-sdk-go-v2/service/configservice v1.55.0 h1:Xl8gWAZJVlVfXJ8BKQP+pmy4wp+ne/dAUtS5g68KnOc= +github.com/aws/aws-sdk-go-v2/service/configservice v1.55.0/go.mod h1:HJ5pf1PwMaGldNUKWpczuf3HscpY0zXRKwyBA44IaFY= +github.com/aws/aws-sdk-go-v2/service/connect v1.133.0 h1:hmIt4+AaalBGIfPUd4BLe3oh8Or0nJIsAOllG4Q4Zc4= +github.com/aws/aws-sdk-go-v2/service/connect v1.133.0/go.mod h1:SG9D1SyE7QBNPmrzOU3SMb1uHl/vOiu52HZdetka4b4= +github.com/aws/aws-sdk-go-v2/service/connectcases v1.28.0 h1:Il7H8Syx1lhWVQ7dyAhnmX5s6SoTVmbhpgfQcMc+Ijk= +github.com/aws/aws-sdk-go-v2/service/connectcases v1.28.0/go.mod h1:yyZCnX4vIiFOhcHzP1vCOOXTybYt+sJjsesvFHIKZ+c= +github.com/aws/aws-sdk-go-v2/service/controltower v1.24.0 h1:GqMI2xbsngIXKK9u0n7Uq9tlmOeuxqkXfF4JS7EiuWo= +github.com/aws/aws-sdk-go-v2/service/controltower v1.24.0/go.mod h1:Wd1uRXhy8eruccPAIexw7rroEP3pNmywpaIYJPOaxeU= +github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.31.0 h1:5OmrdE3scZzl0O9ZbHUZMQMSMN1YCCnf6+vVbD511UI= +github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.31.0/go.mod h1:WAXGRf4GydDydvvh9DBVXsqq+0FPnPGlc8hVvF0G+ek= +github.com/aws/aws-sdk-go-v2/service/costexplorer v1.53.0 h1:VcccLOrD/qXf+7OPJz2tWn5SnshpIbjlU8+jORroTAc= +github.com/aws/aws-sdk-go-v2/service/costexplorer v1.53.0/go.mod h1:cwD17qE4SFbx3dF5K5pJCljAP5s42ClDPr7sQYehngY= +github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.18.0 h1:Qw2xhORM48yggaIIxx0JHZkqY05GMBkKbTZ4/Nlk6K0= +github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.18.0/go.mod h1:UWmTogJwOTa4t/Uxee94BP5io+8Ax7sQvb49JfDycJs= +github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.50.0 h1:jrKo1cDREuXUUJcGa80oNJmS60oUT8ZZuZf47Eop/1k= +github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.50.0/go.mod h1:NCs06jvgjsSE66kg2fHCRb39XpJAwIYFXeuYpriEvZI= +github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.55.0 h1:LpAao9HUxs14aBKcaWZGvjNhn10CHQlWvQYdtK4Mhkg= +github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.55.0/go.mod h1:/fHYyXjfj53THx+bN9TLIADHqjVzsYOyJrvnRMp/df8= +github.com/aws/aws-sdk-go-v2/service/databrew v1.36.0 h1:eL80XBaRTr4CIwgJSl3VJG4TlCLnP4Abg8utuDN1tRw= +github.com/aws/aws-sdk-go-v2/service/databrew v1.36.0/go.mod h1:u3ErK72jmKHdoZt5Ds9bgHJ1XCSuyuIB1nvKvkkYYFk= +github.com/aws/aws-sdk-go-v2/service/dataexchange v1.37.0 h1:8QbCaACtsGDYv+1MgDm7isYQEqGTc0osuLuxiW2CRDQ= +github.com/aws/aws-sdk-go-v2/service/dataexchange v1.37.0/go.mod h1:dCb9rZ739QDJZRTy2v2P3qYz4vc+RFx4T0Kd6e1Y3QY= +github.com/aws/aws-sdk-go-v2/service/datapipeline v1.28.0 h1:ONEu7270NT+T2OLxKpdt2hl0lf2dfiqYyRNRDXGN2UM= +github.com/aws/aws-sdk-go-v2/service/datapipeline v1.28.0/go.mod h1:5MfUdmmH5Qpt8XIMET4CkFYf26XoQp9UUo9B2zR02qc= +github.com/aws/aws-sdk-go-v2/service/datasync v1.52.0 h1:VEy9B26hfFF5Vn4tXBZ2NCcr81juq3wGcx+MUmKdkv0= +github.com/aws/aws-sdk-go-v2/service/datasync v1.52.0/go.mod h1:dbXY0ll66czxvMM2NXqp9ohthxKyyRhz98AKFA1ih9A= +github.com/aws/aws-sdk-go-v2/service/datazone v1.35.0 h1:gx2Z59PUE6tYjoZjWtSZ5fFFKphRg5mhS4mXGdKixYU= +github.com/aws/aws-sdk-go-v2/service/datazone v1.35.0/go.mod h1:w8NSiTlR6hMHKrmhJZo1QGeNp5Gb+y89mscKzPXmZWc= +github.com/aws/aws-sdk-go-v2/service/dax v1.26.0 h1:l8l+s6FOEf5GEOqT0qYlR88Xc6xDW7lSvrmnkx3V6RI= +github.com/aws/aws-sdk-go-v2/service/dax v1.26.0/go.mod h1:rnmY/yPKUef7WyczLw08Yknm4c8R2xFCOK8/tMytvSI= +github.com/aws/aws-sdk-go-v2/service/detective v1.35.0 h1:033fW/G7tQ5DST0dsqGxBytsFigH6fCfGkbCAnk/Oog= +github.com/aws/aws-sdk-go-v2/service/detective v1.35.0/go.mod h1:dOP8aoGmNgpLzNvQjtRy5Jd2GAtKWova01M2Zq3YLqY= +github.com/aws/aws-sdk-go-v2/service/devicefarm v1.33.0 h1:K7uueN+UmS2GHVw2+vwqOV/O3Ga4JyZfOg+cwbaiBJg= +github.com/aws/aws-sdk-go-v2/service/devicefarm v1.33.0/go.mod h1:IMYHh62tZCSyUHeyGrOtLSmTkex8ctsG9ODnZmj5jsY= +github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0 h1:SUJxgNXb9Gl+gm9p5Q0M5M9G3E8AjV6ELnmgMwt2MTM= +github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0/go.mod h1:Uttl2g1mxh8OO3Nn6L/O5RyMW96Q9NCQ9v95NH7AAIs= +github.com/aws/aws-sdk-go-v2/service/directconnect v1.34.0 h1:dRzDaZMpehpHs4adhwkDmXayIIptqQ4O8U1HTCiwhPE= +github.com/aws/aws-sdk-go-v2/service/directconnect v1.34.0/go.mod h1:/E+jep1XiQdEOARijsuGgWpw7UxiX7cv3Dv8vTAj+6M= +github.com/aws/aws-sdk-go-v2/service/directoryservice v1.34.0 h1:oXzjqV5vL3jj9gNTaktrBiGBnaFAgRWSmoyswhMs+80= +github.com/aws/aws-sdk-go-v2/service/directoryservice v1.34.0/go.mod h1:OPGuMZ8mYvD1ezKVAlCGB22c4umHsWkKY4YAwFfn8Bg= +github.com/aws/aws-sdk-go-v2/service/dlm v1.32.0 h1:u6V4K637EL6sPNHf6zZO0bZlDMbBqHzfXBYEPFucGjo= +github.com/aws/aws-sdk-go-v2/service/dlm v1.32.0/go.mod h1:ybd3+ET1/CpQP3qdj/CbTaEWUDhwYT+0bT4eXLcnQ5c= +github.com/aws/aws-sdk-go-v2/service/docdb v1.44.0 h1:5bs2HTu2+khau4yBDAgsZsFO2Mrc89Zz9uEBLmmZp7E= +github.com/aws/aws-sdk-go-v2/service/docdb v1.44.0/go.mod h1:W7LM0wHrgjuZgh2ugJLc9SunYq8dUvtgu/lamy9UXBA= +github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.17.0 h1:vU40uE7CLo63AusHL0hJl9g99qMd8s1lj2Atp3CF/H8= +github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.17.0/go.mod h1:aa5vQ9iApmgcG4hkt0f7fDPIHGgV5Hsc+JxeRDclOjw= +github.com/aws/aws-sdk-go-v2/service/drs v1.33.0 h1:Iijr+LEma1xNOPifbN7Eb7aL73v/UkD7FFcxyknDfOI= +github.com/aws/aws-sdk-go-v2/service/drs v1.33.0/go.mod h1:cPdn2XdBmgHtq+Ei10EeCPy+j6l1I6g4FLjlPnh7g64= +github.com/aws/aws-sdk-go-v2/service/dsql v1.7.0 h1:90eZGtuddgUIcOTCrA8FhgaGb4eFxIEFAsWKnc1GzXE= +github.com/aws/aws-sdk-go-v2/service/dsql v1.7.0/go.mod h1:FRIS/nQBGwjD+CfPct4I2Sly16EJXFl8iq9sd/n2t4c= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0 h1:b7F96mjkzsqymMSGhuCqBQTZFx3mhTMa6IoG6SoVvC8= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0/go.mod h1:F8Rqs4FVGBTUzx3wbFm7HB/mgIA4Tc6/x0yQmjoB+/w= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.240.0 h1:/NUzag+6BGBNvM7FEHDsDK8itSgWEUVhmC2HDBR8NrM= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.240.0/go.mod h1:HDxGArx3/bUnkoFsuvTNIxEj/cR3f+IgsVh1B7Pvay8= +github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0 h1:2SOhwFVwG8PxJVT8DM6nhGsX+JZ8bl9CVgeiueeL4gs= +github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0/go.mod h1:j8i+iiBvaf+Em29qBiXuhw5r9tGWDbpFEvLDqLtnMh8= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0 h1:Jcgm/dOm/6M0882pZwLzlN3BZyKEl4Pxp1isTkHoems= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0/go.mod h1:jpQxFtT7JO3idCuyrKsoEjPcCIrrJNpeGvZFl1986rA= +github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0 h1:E5/BzpoN6fc/xWtKiFPUJBW6nW3KFINCz6so7v/fQ8E= +github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0/go.mod h1:UrdK8ip8HSwnESeuXhte4vlRVv0GIOpC92LR1+2m+zA= +github.com/aws/aws-sdk-go-v2/service/efs v1.38.0 h1:W8v+PwOUTeh3JE53yBW8nAaRkDvMq7mMO+/bvmYHAlI= +github.com/aws/aws-sdk-go-v2/service/efs v1.38.0/go.mod h1:ijPHatoNwxKTySdgDNoGUZw3toYwvRJKWwS/1dr3M/c= +github.com/aws/aws-sdk-go-v2/service/eks v1.68.0 h1:3hgPfytQLttZmM2fFejtC1i/5OM1p3o9BHzCwGjcMpc= +github.com/aws/aws-sdk-go-v2/service/eks v1.68.0/go.mod h1:u3CDoNUAkSIGKNiA6LfQtApPmHPGRuAjikx3ObM5XBs= +github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0 h1:88Xh6SCyuge4BwPrbeJEDjDIUr/bMBZ6G7NrB785xCk= +github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0/go.mod h1:X6aJWShG65SH3DVd4LEyPzMmtJyCSIZvKfcGnYhOF7U= +github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0 h1:31GWaDmLEVzUW7UEnF7vbuESL8pAbeVsX3nOQbXxZQg= +github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0/go.mod h1:oS1D1rubFhxS1keERM8hva16MsJ0RUa4llwwEGrtEow= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.31.0 h1:zyAlg5a3STXdaVI5ddiBSXKyQj/CSV4+FYAnUA6it0s= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.31.0/go.mod h1:k++MddMr1Lo5BlQf/uvXK7O+FbY8XKKHClnsfVxrzRo= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.48.0 h1:p1fXiEYfAVo7eF8MfPEMYIxNJHgZUhD9weB8s2y8d2o= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.48.0/go.mod h1:20UGYMqfkTlXKS1zCzZxNZa5nTNOwRbmUC4/z3AGRt8= +github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.35.0 h1:SNH+YetxZwCGYXYnt9bUdLo/uqk0VCKTNnLBpdBv+NE= +github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.35.0/go.mod h1:f4FCx6Swsy0d/uLcNwZj9U/LS6PZoTI4hu9Ukj/pwpE= +github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.30.0 h1:FPl40b9dfpGtG2hruC6eGhQAI8Ydma++eQcHL5qSd3U= +github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.30.0/go.mod h1:v10Bb6tl5+8Gw6G4HfdtNbMc6TilkLihp1bikKVwzjo= +github.com/aws/aws-sdk-go-v2/service/emr v1.52.0 h1:1LcyFr3wJWIWA7TH1GQl3d2cBkg0ZeMAowkLsMMkphU= +github.com/aws/aws-sdk-go-v2/service/emr v1.52.0/go.mod h1:9h1RQVgB3yZ45laVfX257QRx1/jrl3LR6VnaxAQ7HSo= +github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.37.0 h1:g36yievH3ecx+76/79+LIal5FqIXT+2J3Ztynayj9d4= +github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.37.0/go.mod h1:7J9Pidm1n/FvnKMcCUzi8eWNDzzqR6w3sbjhXrMXaxk= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.0 h1:L+J6Yudf1p8Mwgril3zP/Q3VN3zWFPagSVAjluk5KTM= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.0/go.mod h1:PHHbsCqpXEU5cGq2PogfV8qTlfobfSmLWeaPjJawwuc= +github.com/aws/aws-sdk-go-v2/service/eventbridge v1.43.0 h1:ZzdGUjZhtS6eDU+zyzjg5RwBc9UUk3dvRnwlKt1u5No= +github.com/aws/aws-sdk-go-v2/service/eventbridge v1.43.0/go.mod h1:oLGWKN3c58kslfI1Slifgjq0jGFgzFeDquv9WRlWTwo= +github.com/aws/aws-sdk-go-v2/service/evidently v1.26.0 h1:qfbkXGBL5NDZmQZpSW1fNATABgFdwj3mg5Qlcm9nYsE= +github.com/aws/aws-sdk-go-v2/service/evidently v1.26.0/go.mod h1:Mfeuqcqd81nUMjNpSA10fnsEbtxFipfwLYNA91w2xWI= +github.com/aws/aws-sdk-go-v2/service/evs v1.2.0 h1:LKz5V6E7Sddts6SmR0alPq8c/YTtJfvfW7JPfaqkIA8= +github.com/aws/aws-sdk-go-v2/service/evs v1.2.0/go.mod h1:vTp3tPWtAH4Q6wPQffJ3k8jQMUMGKOIJq/d1bKPtgTQ= +github.com/aws/aws-sdk-go-v2/service/finspace v1.31.0 h1:9fNPlSSV2NlEGG6CQssB1/CBE1XRWGTZceyvSORxh+M= +github.com/aws/aws-sdk-go-v2/service/finspace v1.31.0/go.mod h1:LlAKT9SZA/Xpy+4qkzYDZVLRbOtpOcc3xI750r34gxE= +github.com/aws/aws-sdk-go-v2/service/firehose v1.39.0 h1:1VPPV8hqaxunlD94jcn08kqXXuzUKiCm2BH7hB+ulHU= +github.com/aws/aws-sdk-go-v2/service/firehose v1.39.0/go.mod h1:VP1ztgkR7+8UA6n+uKY4wmuAegv0f+MRz+1TG/PEmZk= +github.com/aws/aws-sdk-go-v2/service/fis v1.35.0 h1:YHC0ZKx9zbavtqH8tft/KoAxGhxzEHMRus9SLS+i+6s= +github.com/aws/aws-sdk-go-v2/service/fis v1.35.0/go.mod h1:54I827xI6fu7SpDWIODZ+hKBC5+64TeqvHb6eeZCK+g= +github.com/aws/aws-sdk-go-v2/service/fms v1.42.0 h1:9BGiFztuYik0YMjSp8i2xcJOtg/FIR2tZi+qXdAhwi8= +github.com/aws/aws-sdk-go-v2/service/fms v1.42.0/go.mod h1:Ism46YVzDJXjFuIcUoLZW4a2kA8DM85aslmG3HQrB0k= +github.com/aws/aws-sdk-go-v2/service/fsx v1.57.0 h1:vkW/D8CfYTszVLqh6bfMerRVUMkDaTM/AJNb36nyfgs= +github.com/aws/aws-sdk-go-v2/service/fsx v1.57.0/go.mod h1:u1aeKi+yVpcQRVOq1VDqUhdvOaqQm9FJFf1MgJoXfn0= +github.com/aws/aws-sdk-go-v2/service/gamelift v1.44.0 h1:j6xThxTofUac0LEr6idGSmXGqZiDIVtQEBdCbqGmqSs= +github.com/aws/aws-sdk-go-v2/service/gamelift v1.44.0/go.mod h1:kHDlGPM/x/CmKP7konxLR99jMhfYCC3bdKUCrpSIUCs= +github.com/aws/aws-sdk-go-v2/service/glacier v1.29.0 h1:Fbm8Od3/crUN82KmW7GyX7yt06PYJCfL80CrXUtO6qc= +github.com/aws/aws-sdk-go-v2/service/glacier v1.29.0/go.mod h1:YtF4euf0dO4hPHj0qOM5ae8irG/qkCBJLlrf8cIh6X4= +github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.32.0 h1:5i6DYz0BE1x2o+2Ig++dmjohzlNjlA7nNA/cNTCU60U= +github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.32.0/go.mod h1:FCpLBbV4XEcc768mvlBb2Ovz66V+DwOjemPlBIWk6/E= +github.com/aws/aws-sdk-go-v2/service/glue v1.122.0 h1:KgFpvwctTUZM8+hpk0iK7Zg+rB1spjOXk063dRHSrNk= +github.com/aws/aws-sdk-go-v2/service/glue v1.122.0/go.mod h1:UnMg9irwCEC9F0qiaOGFwcXatZH+QNxj1hcXe0PPU0U= +github.com/aws/aws-sdk-go-v2/service/grafana v1.29.0 h1:RHaROqWEZduMgamzYhxQMJV+yU4c00DNpuFNNrLH4Tw= +github.com/aws/aws-sdk-go-v2/service/grafana v1.29.0/go.mod h1:rQ5s18ZiGCKhfSmAcEloiN7pvVRR1uPxFJv/gXBWMrA= +github.com/aws/aws-sdk-go-v2/service/greengrass v1.30.0 h1:ogCs+AbzCNSCUMcWq94Bi3mHde21qPpR1znwTO1bGeU= +github.com/aws/aws-sdk-go-v2/service/greengrass v1.30.0/go.mod h1:VWGNxq54dTkPMl1WMYI6t1l6fePKtzT5kOJ6KTtULjs= +github.com/aws/aws-sdk-go-v2/service/groundstation v1.35.0 h1:t7EmpuEsT1KryHEC+ZJhN9Hvg3jy8+wuUIOeauoSEyo= +github.com/aws/aws-sdk-go-v2/service/groundstation v1.35.0/go.mod h1:CJDWshApYf/go1kkHtplQ/dxM4tgceOyI/bcbQj5CGA= +github.com/aws/aws-sdk-go-v2/service/guardduty v1.59.0 h1:6TJGUGB44DYl0eLa42cH6rao0MAbxIP2GQBWnTqlB4Y= +github.com/aws/aws-sdk-go-v2/service/guardduty v1.59.0/go.mod h1:/0f7xSNgp1HvUOzvaUFsoVo24P6D/VPW2q4cBudw090= +github.com/aws/aws-sdk-go-v2/service/healthlake v1.32.0 h1:g9VEqxrBxNlrdt73yLrOJhe+AWQgu/ECRLO0FB9p4B8= +github.com/aws/aws-sdk-go-v2/service/healthlake v1.32.0/go.mod h1:/Zlk6NkxmzWRJfz86zgMK5SOGOX7HxfhfUmm5rcUvRI= +github.com/aws/aws-sdk-go-v2/service/iam v1.45.0 h1:H4iGrdJQREYDugHeFeknCZSIQKi2j9xqCFuK0VG1ldI= +github.com/aws/aws-sdk-go-v2/service/iam v1.45.0/go.mod h1:RLNjsuRZyUKWwC1Tj51dEpEKi3IgrxIvEbYdvD14WjU= +github.com/aws/aws-sdk-go-v2/service/identitystore v1.30.0 h1:/hjYtl0PyFG3X4AU4npfYHQa7JKHz1X5y4Qg7Br+a4I= +github.com/aws/aws-sdk-go-v2/service/identitystore v1.30.0/go.mod h1:qL3gyU/WyGQo1DscmhMiL8/oThY+PqEhKusqyONF5jU= +github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.44.0 h1:muZl56NGdKq46mKqOBQ8S4+tgBS8YvU9UQgbhw+4LVk= +github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.44.0/go.mod h1:Q9XC36P6xNG1612gw7M8vx4MglZuxt/EuFBnKkdKbgQ= +github.com/aws/aws-sdk-go-v2/service/inspector v1.28.0 h1:dwa4S72d+eotYy1MIncpvQZjQpb4aQsIdJkw6UNStDk= +github.com/aws/aws-sdk-go-v2/service/inspector v1.28.0/go.mod h1:C1sKaCeju2VcZ6NFiu0K6mXnAgROjnaqDhuLON2jmO0= +github.com/aws/aws-sdk-go-v2/service/inspector2 v1.41.0 h1:09DXpa+CSYABpTNkqH/PdMRODOE0NNBojp4p5Wu93zU= +github.com/aws/aws-sdk-go-v2/service/inspector2 v1.41.0/go.mod h1:ClLIVjq4ypDXNZ/n8edCQyd2f/lVn2xZpsHgWGjtCUA= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 h1:6+lZi2JeGKtCraAj1rpoZfKqnQ9SptseRZioejfUOLM= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0/go.mod h1:eb3gfbVIxIoGgJsi9pGne19dhCBpK6opTYpQqAmdy44= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.1 h1:ps3nrmBWdWwakZBydGX1CxeYFK80HsQ79JLMwm7Y4/c= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.1/go.mod h1:bAdfrfxENre68Hh2swNaGEVuFYE74o0SaSCAlaG9E74= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.1 h1:/E4JUPMI8LRX2XpXsbmKN42l1lZPoLjGJ/Kun97pLc0= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.1/go.mod h1:qgbd/t8S8y5e87KPQ4kC0kyxZ0K6nC1QiDtFMoxlsOo= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.1 h1:ky79ysLMxhwk5rxJtS+ILd3Mc8kC5fhsLBrP27r6h4I= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.1/go.mod h1:+2MmkvFvPYM1vsozBWduoLJUi5maxFk5B7KJFECujhY= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.1 h1:MdVYlN5pcQu1t1OYx4Ajo3fKl1IEhzgdPQbYFCRjYS8= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.1/go.mod h1:iikmNLrvHm2p4a3/4BPeix2S9P+nW8yM1IZW73x8bFA= -github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.22.1 h1:3jvrdU0UOGm8mQ7eMrbsbKErYn13xM2rJVe9t7QFfE8= -github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.22.1/go.mod h1:loi2iyY5Vs3EC7FI5Yp8TWUGZQC8flvpisZK4HQdNBs= -github.com/aws/aws-sdk-go-v2/service/invoicing v1.3.1 h1:ZqHny6zHB8yb3NT0Wz9vSIy5Zub1qcqrEAF1d6K3zuE= -github.com/aws/aws-sdk-go-v2/service/invoicing v1.3.1/go.mod h1:K4gG6tXdTb/nIFfe1R5jyW1JRsFORvFiRMDJkGNc9dA= -github.com/aws/aws-sdk-go-v2/service/iot v1.66.1 h1:swiMxQAfOYKErad14viM37FlgUwHDXTHMbaT1OgG6v0= -github.com/aws/aws-sdk-go-v2/service/iot v1.66.1/go.mod h1:0ogtONfjFzm7daWG4XWQhmpHkC0P0nTjoO7n4JKzb0U= -github.com/aws/aws-sdk-go-v2/service/ivs v1.44.1 h1:k8SgaBMH/3e3oRv5XyMS6qJAvKtc5/3xTjCSMlkaeFI= -github.com/aws/aws-sdk-go-v2/service/ivs v1.44.1/go.mod h1:Oobt8m2Ut1xg78QLmsw13wnSknC9PnFOmvgFcN3OobA= -github.com/aws/aws-sdk-go-v2/service/ivschat v1.18.1 h1:KeOqEh9bzMzaRbjzil41SOu7UVcHmyPZ415wDhvpRVI= -github.com/aws/aws-sdk-go-v2/service/ivschat v1.18.1/go.mod h1:MHSEX+9G3NOzzTPs/sP88KgGBc1MyJm5eleKu6+4IqQ= -github.com/aws/aws-sdk-go-v2/service/kafka v1.40.1 h1:RpJi/JcawCLe/3Gc7XLr6wJVeaLmfIUcG0VFdqJNVpQ= -github.com/aws/aws-sdk-go-v2/service/kafka v1.40.1/go.mod h1:wHKXRek0tTlaXyzoS24hGiZHD0Nv2sHdv8qV0JwWbvs= -github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.24.2 h1:YbmQuJfiHhvtz+KkoVTEX5EJP+b0iLTqtBd0eXL3N8o= -github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.24.2/go.mod h1:rCCQe2X/+/7Lco7w5rDuepJF4PeTEjMpSJ0jpwOBSp4= -github.com/aws/aws-sdk-go-v2/service/kendra v1.57.1 h1:hJ6rwXUwlPbo+KtQFC+8DPRLLDAm9nLKwK89g1zeBq8= -github.com/aws/aws-sdk-go-v2/service/kendra v1.57.1/go.mod h1:SnU/DUXKZxP2o/WIKJZVa0aRsb4sSN9W2C2mI8hdvIA= -github.com/aws/aws-sdk-go-v2/service/keyspaces v1.20.1 h1:2Jhdp2Tt5zK+fYYtGvZSIUBJKTTOwR/dYFCbvwHTF4s= -github.com/aws/aws-sdk-go-v2/service/keyspaces v1.20.1/go.mod h1:r8yQore6pt2Qd5xYUha+USf7u0iRsRHJh/4gDB7jg/o= -github.com/aws/aws-sdk-go-v2/service/kinesis v1.36.1 h1:rs+doEUMM7TYDQCm8hse37Nc8RtaOUR3L9yn72cYGEU= -github.com/aws/aws-sdk-go-v2/service/kinesis v1.36.1/go.mod h1:4b3rDh9I9qfJ7otpn9F/QPplu8P70X3QYujWfsabPrU= -github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.27.1 h1:HJ/Yqyc+z6yPznLf7HTB2tnnCuV40KJEjwPBKPdIoLo= -github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.27.1/go.mod h1:lF63nbQGTaLvFxfl25+flfgcLy+TVUT5ACG8NQkdXbg= -github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.33.1 h1:IUTnaFqzwDoCbbT9dChPffQUwwwNplP9ZMwdVD/zzmM= -github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.33.1/go.mod h1:t8Gl3+K/J7GWoyTEkBF+ehVUIGP67o3OUiKnssQINBA= -github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.29.2 h1:XTlh+wgWERa11uPdUVUq/AdEZTBfY+H/i0v3OZp932M= -github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.29.2/go.mod h1:FrPChe9AimOwPREPAMrmE9ZPJQY7PLxFaeg7QXHxKD8= -github.com/aws/aws-sdk-go-v2/service/kms v1.42.1 h1:YozphKGMWbikYX1H8Cjmh+QUboGA1c/D48m1pBosDmM= -github.com/aws/aws-sdk-go-v2/service/kms v1.42.1/go.mod h1:I/6K08h6XpKZPzb1jMZb1k5N6HpzLyjS4Z0uBFzvaDc= -github.com/aws/aws-sdk-go-v2/service/lakeformation v1.42.1 h1:4CyftMR6RY8OcqPXevgS1DOwiSwYwgTcLK2cdUcVZCo= -github.com/aws/aws-sdk-go-v2/service/lakeformation v1.42.1/go.mod h1:K9YPr/AqAVkWctfBvUQA0cx1rWVhmLK40TuVpSP5f2Y= -github.com/aws/aws-sdk-go-v2/service/lambda v1.74.1 h1:UOf0eSkWmna/6lR+tOwJYJaTSJsA/WFYm86nE2VPklY= -github.com/aws/aws-sdk-go-v2/service/lambda v1.74.1/go.mod h1:6wi1Ji6Z2WhSfVVrFj40GbWCX+cjaCEaTuCXnAVFytM= -github.com/aws/aws-sdk-go-v2/service/launchwizard v1.10.1 h1:UHzprFuR4wfo8uRS3L8v+dgKeh42yksH1B3hByojDcU= -github.com/aws/aws-sdk-go-v2/service/launchwizard v1.10.1/go.mod h1:jvg+B3ZzZjLCMUBKdLCpEIZv5Mz/QqPyWHlCUlQXxjg= -github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.30.1 h1:ZdNwKDTwPA1Bei71W6Q57HdTrAGWTCJEpKD24/r0Avo= -github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.30.1/go.mod h1:uYKKga1apHlzaH5HG+Y52OKjXLTJsC0HQ4+XTBkM7qA= -github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.53.1 h1:1qKrJXGcgICGlJ1dwlvOHS2gutVQpdBdYweO+spMIAo= -github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.53.1/go.mod h1:IQdDJQwO16pmmylU4iIgbgBSNk5bPhlUnuhsl5HhfS8= -github.com/aws/aws-sdk-go-v2/service/licensemanager v1.33.1 h1:BpPBMw8QekkoJpH34s/XYoNpVtMr7QTpDNcxQnMOvhw= -github.com/aws/aws-sdk-go-v2/service/licensemanager v1.33.1/go.mod h1:dSYHIVdITBrd19X2U36SemcuPoX7Mtxif3YjBSgKGa0= -github.com/aws/aws-sdk-go-v2/service/lightsail v1.45.0 h1:eOFZ0iaR+/ws2vfLLrA4e9B9C2nICQhpjzBcUmz3qDA= -github.com/aws/aws-sdk-go-v2/service/lightsail v1.45.0/go.mod h1:FUyjCuISm1KKO++ZK9Lc251IfdJXZBRKo4cHCZa7RcI= -github.com/aws/aws-sdk-go-v2/service/location v1.46.1 h1:rWsI4OIvYu8fMV1KbccxlpTKWcQEPk1YKWiUiRLfNgs= -github.com/aws/aws-sdk-go-v2/service/location v1.46.1/go.mod h1:ZW2qOTqxIPQtuMLv7nj4WS+h4utqLoaNzDmCfgeqTNg= -github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.33.1 h1:/LIKKQyGfyjLElsw12AAD/b4T1gjvCRpo9PWXFBXG1Y= -github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.33.1/go.mod h1:Pw2uocVTqdNrapt5q/mtamq/+D57zWgIx3U+rzGc6To= -github.com/aws/aws-sdk-go-v2/service/m2 v1.22.1 h1:tFiMPcBLb+/33azrdMA2hqqc15D+h8H7mAI70dhuKLI= -github.com/aws/aws-sdk-go-v2/service/m2 v1.22.1/go.mod h1:HumPBe3ugDYqq08O7tsa4etAg05gfPRJCnXhVlmUR94= -github.com/aws/aws-sdk-go-v2/service/macie2 v1.46.1 h1:KEtnVAAkIZZ8/G6IKWxyaGKQBMaq9HetTD0QvPfcO4g= -github.com/aws/aws-sdk-go-v2/service/macie2 v1.46.1/go.mod h1:yMp0gljSvRon61sIkFuvhEocyO/YhPgCkwC/BR9t02k= -github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.41.1 h1:taLUiA6Yq4G+47P/wKx4c0DJvCeb7oIP55hjjd49kXA= -github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.41.1/go.mod h1:SebyqBabeN7s4OeaWRueG654W6sLdfCpx/G1sPuIEls= -github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.78.1 h1:ILaU1jUkOz1RsqmpUHv1sha/112LGVCbWMbOj9KdG1U= -github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.78.1/go.mod h1:RZLbG6qHRZJ6IlYG0dBVguA5Q5bBL6KwegIN9nzvxGs= -github.com/aws/aws-sdk-go-v2/service/medialive v1.77.1 h1:OXrgpZTIzQDjkXXBy/RQKVqF91IwyC0ryEw+erBjMzY= -github.com/aws/aws-sdk-go-v2/service/medialive v1.77.1/go.mod h1:56LdU29xEz15jYRBxzt8valuQ/2GQDhuftdNowx39io= -github.com/aws/aws-sdk-go-v2/service/mediapackage v1.36.1 h1:6sqsETpJLgYGK8IWAd6MX47sCAyqLvPuRGLoENO4sYQ= -github.com/aws/aws-sdk-go-v2/service/mediapackage v1.36.1/go.mod h1:zFu5Y9pAUOvd9APBDiwwaMdexPv8coEizOtJmcTTVKY= -github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.27.1 h1:FvjHODeuJ7LCmlOAB1hVQIFvOQyORIVuDJfi3+6R3oo= -github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.27.1/go.mod h1:H5n6sQyEZPmFcdU8XSh8iIh/oR7PeJXBKL2TVyAq4Yo= -github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.36.1 h1:AQ2g2KbJsfagdo2CwQAGINtwFhDpFo6U6NE/BP9ft54= -github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.36.1/go.mod h1:C/K0HedKYyj/az2xaZz5yWoi9vv6hpRTcPjCHk7jkTg= -github.com/aws/aws-sdk-go-v2/service/mediastore v1.26.1 h1:vqr5cfKyoCtj3FJXYnHpZ/svnPUQ2Qce3wiX2exVKJU= -github.com/aws/aws-sdk-go-v2/service/mediastore v1.26.1/go.mod h1:udUYbqmxEiWg4Pe4v7CoSWSZdVTjjbkvcnUKSY0ANM4= -github.com/aws/aws-sdk-go-v2/service/memorydb v1.28.1 h1:RlrxrWzRLmhIchnmXnBvzuklCur+mEuYJQ670y1YjNI= -github.com/aws/aws-sdk-go-v2/service/memorydb v1.28.1/go.mod h1:dn0CuzrlLsPQwdmrfd/7GjJxMTXiQX3/cYyYPw/cBU4= -github.com/aws/aws-sdk-go-v2/service/mgn v1.34.1 h1:mcW3ZmVS/c/al7w6/+2ren1FM6ZKsQ5OkffMODe8Yy4= -github.com/aws/aws-sdk-go-v2/service/mgn v1.34.1/go.mod h1:f5LNAteLLvz1d+a8udEyicskowMJv3tClJnA7H2DrHs= -github.com/aws/aws-sdk-go-v2/service/mq v1.30.1 h1:O9duS6XPKgBYv0JyqNXEjRb0Zp+DJdEqh/P1sTTFL9Y= -github.com/aws/aws-sdk-go-v2/service/mq v1.30.1/go.mod h1:uTgClBQfeUtsIdBJCbaf1xjtE6jCxGiMJSXHsi8WEAM= -github.com/aws/aws-sdk-go-v2/service/mwaa v1.36.1 h1:TptI10con5UPABjYCBMaBckWD5/gNMYD0m+88NkscSo= -github.com/aws/aws-sdk-go-v2/service/mwaa v1.36.1/go.mod h1:3pxCY9yQHuj3mntGtK5IR0HADRhEP+lWTOmg74n5ZR0= -github.com/aws/aws-sdk-go-v2/service/neptune v1.38.1 h1:NOYfXtQUnF41UakvQFfi4+mbgZ/4IgO1n5j8RMsIEfg= -github.com/aws/aws-sdk-go-v2/service/neptune v1.38.1/go.mod h1:+12tTJOR1ZRkMm1sBbwxbUJlNh2GRIam7Lc7C/+Pa94= -github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.18.1 h1:wIRxcq1kp678ogQ67us56SmBEr3JntDmtw0hzSnQIWk= -github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.18.1/go.mod h1:lF2OHvTjVdVU8fqeM/Cw7SMO8TWt515zlBFxLjzKEN0= -github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.52.1 h1:iMxoDME9qFjS6TOIYE99yC1ocnYfd1Rw8IMvgbZJBfo= -github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.52.1/go.mod h1:k2KrxH4IGJZsA6VI8CsTx+mGKEkxpbXLRl9XKTcqE2I= -github.com/aws/aws-sdk-go-v2/service/networkmanager v1.36.1 h1:Ps/spyjORK9/tx2pMpEzEjWOYqoNqR8OMHIXHudzvKg= -github.com/aws/aws-sdk-go-v2/service/networkmanager v1.36.1/go.mod h1:2QEw0rfjtUMjqiHcthI+GdvcHZ935TenF1UQyj++Ehc= -github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.9.1 h1:BdxoAPeLCPbrYHC/osQftQUzW2hkI5yIl36/iEQboXw= -github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.9.1/go.mod h1:ZlR0Ioqx3FHzSvPMLGWRJl7KG8fswWTTaBrZjixWhng= -github.com/aws/aws-sdk-go-v2/service/notifications v1.3.1 h1:W/V33HIpFFm3SEczC5rNTSk0oLuCZJiCRt3ftI+OfzQ= -github.com/aws/aws-sdk-go-v2/service/notifications v1.3.1/go.mod h1:lcT7GSBMHxkYhnvfrJ8KASTffPmVmwUVIXQA0+FQR+4= -github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.2.1 h1:P9vU+dUkH9J6NR8K1FWpuGCUrGYqPkxj97wDZI2cpYU= -github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.2.1/go.mod h1:M2m8kz89mBvwsJ3sHJ/sAniRFqQh2U2eQgj0Xcdgi38= -github.com/aws/aws-sdk-go-v2/service/oam v1.19.1 h1:Qy3Z3Iec62/ZQxeOtNMfGkW+0O+h4m1jlfpMG2v7Jqc= -github.com/aws/aws-sdk-go-v2/service/oam v1.19.1/go.mod h1:SELnx5vYtclgFgk0qAUuW8gPd9QaGGvn9J0gLLAN/qI= -github.com/aws/aws-sdk-go-v2/service/odb v1.1.1 h1:8jESG/46E95brAN7H1RTbT2QWOiVX0hJR0Jl9A5Kzoc= -github.com/aws/aws-sdk-go-v2/service/odb v1.1.1/go.mod h1:7UJX4FCk3Igx2UjhSePlxoSYSS5x9DtYsFHJY+kU3sA= -github.com/aws/aws-sdk-go-v2/service/opensearch v1.49.0 h1:OF/8+8L9jZSnIFKC7G/I7d0FnWylckLWJ2T+rWpqnZI= -github.com/aws/aws-sdk-go-v2/service/opensearch v1.49.0/go.mod h1:2MLCxAIIw9nb59dvYANZHyhoiOMaajJtKlBqvnyWg0c= -github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.21.1 h1:mbkX8wApJAaoWpV0V0EgnjN1/sI6ymNqQGPE+nakSP8= -github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.21.1/go.mod h1:C0qtSLUYGv6qGGy3nHPR7T4ZrsBA9/dcMDcov82uoK8= -github.com/aws/aws-sdk-go-v2/service/organizations v1.40.1 h1:9u1hD7vW7BjOxiCmE5TUDvyGk8sZiI6nTHhbUW9npPY= -github.com/aws/aws-sdk-go-v2/service/organizations v1.40.1/go.mod h1:pEuSCVYuJKZHwfkIkbO4Xa40lgUlVxWCiLJgckMppXo= -github.com/aws/aws-sdk-go-v2/service/osis v1.16.1 h1:Mfng5L3nO4JB4PCHqUUWIFgaB40DrMrkAb60hKnSP/o= -github.com/aws/aws-sdk-go-v2/service/osis v1.16.1/go.mod h1:AU8G+nH8NIQKfX1ibliZF+qoe4EwQ071UDRABz9X+Os= -github.com/aws/aws-sdk-go-v2/service/outposts v1.53.1 h1:NXHJcaJajCUFbim84eVwhFHCwUzp3BuGKP2ZACbF/oA= -github.com/aws/aws-sdk-go-v2/service/outposts v1.53.1/go.mod h1:xjh3+zMePLINjP5HtXTCkbKcnF4Ijet/c9yOCuBGxzA= -github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.20.1 h1:AX6HWyE3hshMWlMUGzZQ+dMVNaa2f+yJ8VIEnUKbsQg= -github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.20.1/go.mod h1:fPpm6h3keIbLil7fhZ0W1lLDg9DrfYHVans55yzlFyM= -github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.12.1 h1:IZ2DReKRxTvXr2RGhcB/z4DJGesXSfMvY5vSGycCEGk= -github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.12.1/go.mod h1:ySW1vL+f/079GdqHIx7tOSP81yiB1Z01uKdtNlH0eb8= -github.com/aws/aws-sdk-go-v2/service/pcs v1.8.0 h1:4nlUROOVIOnDFWLVcb2f6gUZXRinV+6XlSKJ/hzHEiY= -github.com/aws/aws-sdk-go-v2/service/pcs v1.8.0/go.mod h1:06QcV8x3XG2rejuINX53oYb1+owkCEY0wW0orumnvOI= -github.com/aws/aws-sdk-go-v2/service/pinpoint v1.36.1 h1:7vBcJCy6iXGagB8Z5zaRpF49H8nd3TVdVxLN5DrYYAs= -github.com/aws/aws-sdk-go-v2/service/pinpoint v1.36.1/go.mod h1:D6qGC37YHDdlcGgNc9RA3++WTdWNRNq5gQP00cHFUQ4= -github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.21.1 h1:tzp5DSj5QSMDMSxr9BpxuJBocueIQJ9bFnmaa9kZuLQ= -github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.21.1/go.mod h1:Fch5jvGSwyCbJp4xaqnXaGAtbA0Hp6WWnTjN5JzRzts= -github.com/aws/aws-sdk-go-v2/service/pipes v1.20.1 h1:M1knm5Myge9U14SLwnEuJ/jMjnn/vVfk7CYCQd7H0Mg= -github.com/aws/aws-sdk-go-v2/service/pipes v1.20.1/go.mod h1:fi5webS7jgREIhMVEK9HcI1lXGzhyKf0l6JlgaQ4UZs= -github.com/aws/aws-sdk-go-v2/service/polly v1.49.1 h1:g4JAX2yxmN9iJSE42TGR5GnionKpizF5IGqRdkw0aXA= -github.com/aws/aws-sdk-go-v2/service/polly v1.49.1/go.mod h1:meOGU/2EvK6KAjTy4wey28iXOXOkMwYCw+jIQ3+7Mxs= -github.com/aws/aws-sdk-go-v2/service/pricing v1.36.1 h1:LDR5vJNnAVqg9bZBI9sqSEpjhPGVelVFkxUwdvD6L2s= -github.com/aws/aws-sdk-go-v2/service/pricing v1.36.1/go.mod h1:n6r5jWgZaSRvoEp+hVB18QPHBdlAnqu+nI/vaZXcZ4A= -github.com/aws/aws-sdk-go-v2/service/qbusiness v1.29.1 h1:UEg5RyOrwwTgO3pEPVkBOZBhlZjGiVTJlLzUJcXLKQs= -github.com/aws/aws-sdk-go-v2/service/qbusiness v1.29.1/go.mod h1:RbC8dW2YmTMAE9jWWuOw1imZjbGQXbzZs3i/XzmhZkc= -github.com/aws/aws-sdk-go-v2/service/qldb v1.27.1 h1:M0bDQzEES16it3M8iwvYw0JYWSHtAELprn66MS8jjBo= -github.com/aws/aws-sdk-go-v2/service/qldb v1.27.1/go.mod h1:UCoQ1I3GDheCu90XJjXyvO/v2AUFTwLER6h4QmvSego= -github.com/aws/aws-sdk-go-v2/service/quicksight v1.90.0 h1:dt5QvxSk2EvYWpCFtHRu31scM9sC9PLjgRwvdShfNrg= -github.com/aws/aws-sdk-go-v2/service/quicksight v1.90.0/go.mod h1:YQlQUXV3sa9nZR2W2DyrOVHoLoEDUjcoqe3vGgYTPPg= -github.com/aws/aws-sdk-go-v2/service/ram v1.31.1 h1:DZ1qMqkin2aoXDI9X4G48hufZ5Unag/11WmDgIEN31w= -github.com/aws/aws-sdk-go-v2/service/ram v1.31.1/go.mod h1:EtWvsAzhCnrUB03jgf70O8Sqi5gmRUQsFExhChPMI3U= -github.com/aws/aws-sdk-go-v2/service/rbin v1.23.1 h1:MuUdwoKOOY+H54Fb596ADns1ug2qM9QxGUIsgZshhVQ= -github.com/aws/aws-sdk-go-v2/service/rbin v1.23.1/go.mod h1:Gs3msPhLk/QQjEfCDK3iZXEOJltg2JyQJMuQ0hhvFLk= -github.com/aws/aws-sdk-go-v2/service/rds v1.100.1 h1:1QZUBDI1zr0RrVorJMgtgs2heL/23IxiKM0eRdW48Cc= -github.com/aws/aws-sdk-go-v2/service/rds v1.100.1/go.mod h1:7xLgcsUoy294mtsJFC+1/lZBwkZRuhb6Tnr2X/AOrl8= -github.com/aws/aws-sdk-go-v2/service/redshift v1.55.1 h1:g2AXKrTkVjnWpYXBXJ00lU6NaU849/jIIRxLVo10HGM= -github.com/aws/aws-sdk-go-v2/service/redshift v1.55.1/go.mod h1:GGQqtUubSmvzcr23P48Qkkv2auTeatL67pL9SO6/b14= -github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.34.1 h1:4+OFVGzIg6JcwbR8FKtYdC6AuSg1jV11Hk3RIv6y2oY= -github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.34.1/go.mod h1:heOxElSAAGnh+jfAH0hK9ilW856kSFYBlYRJS5QKbm0= -github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.28.1 h1:Tybcb+WE3hbjkF3kfkppyS6qRigIZwlPbtnFdMN9Hvg= -github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.28.1/go.mod h1:PD4779i8tDuTz0p6k1XSZTF2RrepnIGeZOTCmuFhFOA= -github.com/aws/aws-sdk-go-v2/service/rekognition v1.48.1 h1:MKivszAL8Z3w1hzxV6peGzSQsSekbrYcUaYS0IxjxbI= -github.com/aws/aws-sdk-go-v2/service/rekognition v1.48.1/go.mod h1:cKS/VXrV5GDM0JLURHffLzC17fm3luMz/6XPH2A92fw= -github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.31.1 h1:Y6aoFAl88KNul8+otRs+DRKmp9FUEhWtCpyox/VkZzM= -github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.31.1/go.mod h1:Z0BCXb/w38nvM+lPuYMGXuOHFgKl1y+MY11yzW4WprY= -github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.18.1 h1:Ocp3eIEr9gyd7YunIdPRRDOAw+bm622Ys2rrw/Iylps= -github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.18.1/go.mod h1:RGYowXd4xqI/xxZdNyvk1b4lO43heRlHt5hvFQgqT8Q= -github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.30.1 h1:KhIp2JHWuSUDXyJK7PDfAr30cko1YKDhbE6O1byejkE= -github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.30.1/go.mod h1:2zyaohdBXZBnLMMXhx0e3cd63JycCSl+X9YFNHP7gtY= -github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.27.1 h1:dGw/U6NbhnWoW2gw+75/AZvnYjFuxYRtzUpxALoRhLc= -github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.27.1/go.mod h1:ZNIISn1QONFDUbTmkIK53IBTrGn1TbsrBH5pG/BCwew= -github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.18.1 h1:CS6N35VnEJGpPbXUoQEm0LBA/uDpTC/jfrAkkNsbjEo= -github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.18.1/go.mod h1:tlqfSYOwnjSkzCp1Oc5dT44TX1bvy1SchvixKOXPvTI= -github.com/aws/aws-sdk-go-v2/service/route53 v1.54.1 h1:DvwcqU6ec5NNCACSSEYKuTg9J3PDFFlngkwV0k7wvaI= -github.com/aws/aws-sdk-go-v2/service/route53 v1.54.1/go.mod h1:POH50FEbIpazXJUVj2hbpJT819o2UF547G+BJBM7HQM= -github.com/aws/aws-sdk-go-v2/service/route53domains v1.30.1 h1:+0csOL9MiuIxe57+7TsHl/yzxIT1Jf0ai6qnp1bXGoA= -github.com/aws/aws-sdk-go-v2/service/route53domains v1.30.1/go.mod h1:EbsE1mwREHAclraVgQhu89uyy2oE/C1ETLghnTE7ghs= -github.com/aws/aws-sdk-go-v2/service/route53profiles v1.6.1 h1:OjU8qqebap7OqDkLU0/70sQ3LBxrR+kxzj8b+3aLJ5o= -github.com/aws/aws-sdk-go-v2/service/route53profiles v1.6.1/go.mod h1:iTrcT7Arr04ilWo5huHKWP2Z+j9S5aRyZvuomlckusw= -github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.28.1 h1:P5ZnN/WfxPJ0lD6iZY0TvXKViw2U3m5LIs9pMCOvUH4= -github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.28.1/go.mod h1:Ng+ThDA2vsPOfe5nYvmWHMuCy8d4c1Jty3vLJ29fKF0= -github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.23.1 h1:AX9S7S7hvb4UJKIgZQ9SJ84LjTF3/fF5SBYjyu9/c6A= -github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.23.1/go.mod h1:pbDtCWqLwS6CyyTiOpZVRtv+O/Es7VkhhLWbT9zMEas= -github.com/aws/aws-sdk-go-v2/service/route53resolver v1.37.1 h1:mp3ADBMz3nLgY4k9bNUrID8kB8H3WoyNGKTV/TnGs/g= -github.com/aws/aws-sdk-go-v2/service/route53resolver v1.37.1/go.mod h1:nQNdcvkdveeChWT7i/0yD/vFsttMOqK/VbCOcsyx+E4= -github.com/aws/aws-sdk-go-v2/service/rum v1.25.1 h1:IPGVJBSdfbowzlpJ2WamBS6X5bbIG22VjWp961JEkoI= -github.com/aws/aws-sdk-go-v2/service/rum v1.25.1/go.mod h1:bP77oXsN8c23i7o1A46SQmqlmuslx4OmYtX2Ns4p0R8= -github.com/aws/aws-sdk-go-v2/service/s3 v1.85.1 h1:Hsqo8+dFxSdDvv9B2PgIx1AJAnDpqgS0znVI+R+MoGY= -github.com/aws/aws-sdk-go-v2/service/s3 v1.85.1/go.mod h1:8Q0TAPXD68Z8YqlcIGHs/UNIDHsxErV9H4dl4vJEpgw= -github.com/aws/aws-sdk-go-v2/service/s3control v1.62.0 h1:tdFV3pnbKsSrxaPywUyvKOB/S+q+DvtpuPwq8m98enk= -github.com/aws/aws-sdk-go-v2/service/s3control v1.62.0/go.mod h1:E6DME7R1bQBJaH/dIS2070dgcgba97shJWUTWMrTbgM= -github.com/aws/aws-sdk-go-v2/service/s3outposts v1.30.1 h1:iOFQNXtgNsVQjQLJQTvGC5NsIv43fW07igtoDHEIvKs= -github.com/aws/aws-sdk-go-v2/service/s3outposts v1.30.1/go.mod h1:ANvlkElAoLD7KBmZAXJv+BmB42Ifw8DhKb4eEhmveMA= -github.com/aws/aws-sdk-go-v2/service/s3tables v1.7.1 h1:Shyve/4zbd4pdKluYyXtcrBoZ1Olwodu/lbL9Dc6xOo= -github.com/aws/aws-sdk-go-v2/service/s3tables v1.7.1/go.mod h1:7M+LyYRRMZQOXS/7SbLOFKuFPp4+SsqDMmyoxzX8YGU= -github.com/aws/aws-sdk-go-v2/service/s3vectors v1.1.1 h1:kruR8Vsq1X+yxFmZDUAgCljls+P4MZ6bXVzbhxpZrOw= -github.com/aws/aws-sdk-go-v2/service/s3vectors v1.1.1/go.mod h1:uyF8Eit5weVQfdK1nzux4gEDE3FpY8Kl3QrLrrFfmrE= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.203.1 h1:jjitDItJQ3kdF5Jtkr1JMQ2Miu+X1axdpv+uJmU5eu4= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.203.1/go.mod h1:VTFTvNY3kYVqdwZBTRSfnqQBBuBGtRjUSOFGIHDy4AI= -github.com/aws/aws-sdk-go-v2/service/scheduler v1.14.1 h1:Q2mO7GN5wcU4HVWXLT3Wwu317fiAwkiUoq0QeiqsZBY= -github.com/aws/aws-sdk-go-v2/service/scheduler v1.14.1/go.mod h1:3Fdk8jqhTM6Eivjt0v6HBIMarExmWKnXEaUFhogCVSc= -github.com/aws/aws-sdk-go-v2/service/schemas v1.30.1 h1:AeR1HvScTM6v8FIL5ONZhOKxdiI+QJH2L/RGmg3vTEE= -github.com/aws/aws-sdk-go-v2/service/schemas v1.30.1/go.mod h1:RNx0SkALkXNDSJKm/I1cAMmUfdTKB/KHIq/ddWG6tvg= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.36.1 h1:fnOIjzwTVrtVnkRef3Qs+uTr3qYKwXuFom5pqdZERNQ= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.36.1/go.mod h1:/19D53IxSX9W8uu5bo0t89oCLncvNP68V1KiRthhLd4= -github.com/aws/aws-sdk-go-v2/service/securityhub v1.60.0 h1:iYMP5iOlUDy/WnEOMgzmHcgugJNl4ipUrnx06jaUVFI= -github.com/aws/aws-sdk-go-v2/service/securityhub v1.60.0/go.mod h1:vZ92NituujfniQ/4SuNBn87qTvD2mNreUhaR3Kscm8U= -github.com/aws/aws-sdk-go-v2/service/securitylake v1.21.1 h1:/RKW3AGx4P4zBoiBevP9omqR4nawRTFcIaSX27l4fDE= -github.com/aws/aws-sdk-go-v2/service/securitylake v1.21.1/go.mod h1:NamZRs6fW0/J8Di0CqJXRwbB58f4xVPNTfohMxi5lB0= -github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.26.1 h1:G00kAq1ULynJ5Sl4yBoa+7CKd35YVJj4nLMl8s0OXsM= -github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.26.1/go.mod h1:l21Hlsg40fSBVz2QqhI1+w0iSmJ8j35V6pxsp+4rne4= -github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.35.1 h1:YnjdZk67nAaojegCz1QfvCjW6KxXRDbs3nONIaKd7R0= -github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.35.1/go.mod h1:ErWa3lU2aQKBwkdbwpccUW2nodv+S1Fn/R4bU7Rc18g= -github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.32.1 h1:bqfWM2gefpr4FOCZrEuKxV9LQdxKkmFBSxyAbeDoBj8= -github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.32.1/go.mod h1:TQJFC/xYbI6XAHE3Wz8GV63G0hEjlZzqtSCD/+DcjFg= -github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.36.1 h1:EqupyVMtt84ZljchBzq+X+pPwuYhUT7dzfBoDqC0DB4= -github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.36.1/go.mod h1:HrkmhW8FU7GObElHC6Lm3sosolbig21w00VOm77Vsss= -github.com/aws/aws-sdk-go-v2/service/servicequotas v1.29.1 h1:woOK9lW27mtpdERfmnV9DFdNmYBKZv0W+DbSMB7c8DI= -github.com/aws/aws-sdk-go-v2/service/servicequotas v1.29.1/go.mod h1:Bfj6o/QIVdpFkd95vGIY3fTEaTJZpu0vks/D8VKwLnU= -github.com/aws/aws-sdk-go-v2/service/ses v1.31.1 h1:hi11Ld0VefrexMU5GL7/hNKzm6eplrSF4A3xe0S0M0U= -github.com/aws/aws-sdk-go-v2/service/ses v1.31.1/go.mod h1:YEsycIZqO487LztPmM2Q1U/g0ynw7Zj7zSD4Jt79SDY= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.49.0 h1:XzMkmb8eU1B3WTgfKdLnhJCcWTLZPCoP54ZSsDzPKLY= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.49.0/go.mod h1:GvobvR4QPd7vuWZIyvKyRUddjjSKkUHqYa8aBfpIKh4= -github.com/aws/aws-sdk-go-v2/service/sfn v1.36.1 h1:VEOUJkplqcaFW+Z3ZOFSWSVsmXVs10SFxb3Y6IGX+bc= -github.com/aws/aws-sdk-go-v2/service/sfn v1.36.1/go.mod h1:bwaYtZOogLKo3c/rpHpBQe7vnoieV5rQn+nQ52HFaz8= -github.com/aws/aws-sdk-go-v2/service/shield v1.31.1 h1:xVThf6EHHHIacded51XqxPMEnmruw/VXtrtbMim26Zc= -github.com/aws/aws-sdk-go-v2/service/shield v1.31.1/go.mod h1:Gr5mZJ4DgXyZBskh7KgfNUb+zqhywkI4tOizNK0ado0= -github.com/aws/aws-sdk-go-v2/service/signer v1.28.1 h1:9LIObcOOXWwrT3fdo//lXO5evcqhkzzFLpqkdwcg3/Y= -github.com/aws/aws-sdk-go-v2/service/signer v1.28.1/go.mod h1:L2cwuhZJxxw/dvQJLkkUW3iTBWAoHC+8EyI/14imqhs= -github.com/aws/aws-sdk-go-v2/service/sns v1.35.2 h1:2hhKj36fq0XvkGaRF/aJdW+Ui1D35stQosGHcaIyquE= -github.com/aws/aws-sdk-go-v2/service/sns v1.35.2/go.mod h1:el2B16jJPkZCHv7NcBt3uf/JLLt0TBxcHcsjsyG+L40= -github.com/aws/aws-sdk-go-v2/service/sqs v1.39.1 h1:fkHJs2m1rKVBsE0n6tKi988JhpOMIu2MO2ZIHQQfeho= -github.com/aws/aws-sdk-go-v2/service/sqs v1.39.1/go.mod h1:uo+sko7ERytamU7kYji04fBiMbPAgTHxzr0MX7KznO4= -github.com/aws/aws-sdk-go-v2/service/ssm v1.61.1 h1:Pu5hveFc6RslFZP61W5SEMOoPd6RR2yrOu11ZxCkr+Y= -github.com/aws/aws-sdk-go-v2/service/ssm v1.61.1/go.mod h1:8OOmGP4EK2O8eJIKIgTUXTfznuhC1BBarYzb+B5ep44= -github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.28.1 h1:1H1jDOo0680oHHo25w2z5zhQ18anlw3iyGBHEQ4KnHM= -github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.28.1/go.mod h1:20JJUbKRkWn+Ln9Xt8J3U4IfpM8Sbb0ks9KoQmgIGPA= -github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.36.1 h1:1/T3AGKsL3mUURd6Dk0qJa2Pgmeqx6ZjpY+cM4iHcX0= -github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.36.1/go.mod h1:a9gXJaVGkxv3DRJd9ZafQSCBaoBDSYOQnNzshN869gM= -github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.5.1 h1:kpAZB/7E8vcJabxjuBgOS14H4vew0vpE4/OXyzZh4/U= -github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.5.1/go.mod h1:5Paze51it1WMLnEuoMWZhJeXxAUThOdl0LNHqbFkVmY= -github.com/aws/aws-sdk-go-v2/service/ssmsap v1.21.1 h1:qHmgtw+6t+U3HoGEfBGRlnWyWH90u7g4yNT5r4YSBHQ= -github.com/aws/aws-sdk-go-v2/service/ssmsap v1.21.1/go.mod h1:dls7w/cdUdzL0r0oCbz/zNMtnuBNIayq2wDDYr57Mmo= -github.com/aws/aws-sdk-go-v2/service/sso v1.26.1 h1:uWaz3DoNK9MNhm7i6UGxqufwu3BEuJZm72WlpGwyVtY= -github.com/aws/aws-sdk-go-v2/service/sso v1.26.1/go.mod h1:ILpVNjL0BO+Z3Mm0SbEeUoYS9e0eJWV1BxNppp0fcb8= -github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.32.1 h1:Wqti4CxhMVIQU0ucF/RSIhgqy8i7jO/kX+s1uw73YH0= -github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.32.1/go.mod h1:TbMaMLH88FDGdgBJ/7lbx0fiUP/Zz0QloIaATlW8e2w= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.31.1 h1:XdG6/o1/ZDmn3wJU5SRAejHaWgKS4zHv0jBamuKuS2k= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.31.1/go.mod h1:oiotGTKadCOCl3vg/tYh4k45JlDF81Ka8rdumNhEnIQ= -github.com/aws/aws-sdk-go-v2/service/storagegateway v1.39.1 h1:O5zyb5Nag2fUvcIXMK1v+ZXWaPFCoPmqX6WAR0Jmsno= -github.com/aws/aws-sdk-go-v2/service/storagegateway v1.39.1/go.mod h1:AQSOz7HtJBbLMExu5ftB5sN8B9ZaHE00Rc/8P3MPpjo= -github.com/aws/aws-sdk-go-v2/service/sts v1.35.1 h1:iF4Xxkc0H9c/K2dS0zZw3SCkj0Z7n6AMnUiiyoJND+I= -github.com/aws/aws-sdk-go-v2/service/sts v1.35.1/go.mod h1:0bxIatfN0aLq4mjoLDeBpOjOke68OsFlXPDFJ7V0MYw= -github.com/aws/aws-sdk-go-v2/service/swf v1.29.1 h1:3MokmeLAz3SAzZW/PT3+QebJYVUtzNDpHrSpO0SQtPs= -github.com/aws/aws-sdk-go-v2/service/swf v1.29.1/go.mod h1:KBITTXjOcUqvzGilyMCW/lLL2aLTN6PxS+OxMJsoitw= -github.com/aws/aws-sdk-go-v2/service/synthetics v1.37.1 h1:bWH6tBabdGAWbpbV3FFukqUlY54I6jjzHHQWE/1YJbY= -github.com/aws/aws-sdk-go-v2/service/synthetics v1.37.1/go.mod h1:BedpiqRrnMFzbm/g8ZuUnA1/TjAzT475hVNpUiNWpaM= -github.com/aws/aws-sdk-go-v2/service/taxsettings v1.13.1 h1:1LsFNUBiAu20C/+DCTw3uhTmfgrenBJPGzNo5TkKPro= -github.com/aws/aws-sdk-go-v2/service/taxsettings v1.13.1/go.mod h1:5WaC771ktHDgK0787PVcUQ98ptYdxmYTCK4ymuQC4OE= -github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.12.1 h1:izKMjMihlIJdADsWKFDu2Q3epWiT1ee5w2fHnvMQ80E= -github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.12.1/go.mod h1:Sbgai5mZj8POGBYyMxpwajp6PNHF2lf/i5oLv3lI9qo= -github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.32.1 h1:TZ2ntXpVhqDub8hqOZnMJBFNETeYoFvy1gfTaIWB9vE= -github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.32.1/go.mod h1:FSe0ILWhP9eujXt5nq9j3MkDDeLs3/Mv7xxG2MR4sN0= -github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.32.1 h1:zh3Jm1emj0IZeZAdimPPHwo2kscIYxxW4fCa+eL1SUE= -github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.32.1/go.mod h1:a74kIao0vSolFoqFuqoU/ZLbQdE7ean791+w7ke3UmI= -github.com/aws/aws-sdk-go-v2/service/transcribe v1.48.1 h1:ydeDmQyYbaVk4Kk4rT7rasqar7WKizpIZc/MtTwx3XU= -github.com/aws/aws-sdk-go-v2/service/transcribe v1.48.1/go.mod h1:yebrHNdyMhIz0hKhQzHaKtr7GnfjCWfQXR8fI+biDOY= -github.com/aws/aws-sdk-go-v2/service/transfer v1.62.2 h1:RlwtIPenSgzBHnNHNFgHiS/xhV/V52HHesCJAFT9pjA= -github.com/aws/aws-sdk-go-v2/service/transfer v1.62.2/go.mod h1:pcob4Kb6kNQartCIk7k5DvcMgUWfFHgpvUmT6NJ+tfA= -github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.25.1 h1:YfjBV97VKP7BzolXmhkpoIIhfW2bMcxHbMOiK+bXVjA= -github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.25.1/go.mod h1:5Eyf+GB1CKpvbvZFT7MIO5Mk3gPHBcyx+WC7Jb1WeIs= -github.com/aws/aws-sdk-go-v2/service/vpclattice v1.15.1 h1:yNH2+yM+Fjdm7qyAkZ8jSvvGNJLY1B6Ojf0y1bxtnNU= -github.com/aws/aws-sdk-go-v2/service/vpclattice v1.15.1/go.mod h1:PIVQ2MlMezvs5/JN23nZQtdiCcXw1pck5Dc14UYXFys= -github.com/aws/aws-sdk-go-v2/service/waf v1.27.1 h1:KXfH2cD/09HuOfEMy4+dOSgswvjsLlIq4MfZq54XVTE= -github.com/aws/aws-sdk-go-v2/service/waf v1.27.1/go.mod h1:3Ox1y+Ece8qh6sh5SwhIApyChTMjB9M+ZPkfFrso9E8= -github.com/aws/aws-sdk-go-v2/service/wafregional v1.27.1 h1:cT33VIS4q26eNlgc0BmJ3PztzPYz9fc2dZLwITYqLbA= -github.com/aws/aws-sdk-go-v2/service/wafregional v1.27.1/go.mod h1:WTjSh2yRo99f7MXyTkQJ2+jrWyyiSKpUpVdeoPFBdqI= -github.com/aws/aws-sdk-go-v2/service/wafv2 v1.64.1 h1:oP8eLLYrvxRaOKd8P2Cx0v6BnlBHp9I7ke0hVIVM7Ow= -github.com/aws/aws-sdk-go-v2/service/wafv2 v1.64.1/go.mod h1:hOrt3LfmAbeUsafBWZpHYkKLzX4Lhd1O9Fgy5Jahr/g= -github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.36.1 h1:u5PVGnXaDhUzAi496HM0AqSHLMxsH8AXDGI+hvGGceg= -github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.36.1/go.mod h1:9T+lndTY7HGyy99UmFciMfeG8DvHJxQLgKcZkVpfxtA= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.59.1 h1:pHLxmX312+1Y4TPvAKS1cVS8ky4Lcqlv0tfmjvSQO7Y= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.59.1/go.mod h1:GKRVmQy+p6FxWidtWnsx/qbxIKyu96pEYCdMrcuTgeM= -github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.29.0 h1:7+e/FxVeBJ9676CmhjWwd5KamTvz1NqTuOkaJ0pitPg= -github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.29.0/go.mod h1:gUs8tCNAp6COwgYIef9axji/vDiM5KXzjxXpSHrIz9U= -github.com/aws/aws-sdk-go-v2/service/xray v1.32.1 h1:cEgIUA7e2jJX6dtw7QZHZC4Npgzc3qAhI6VgBAJhLys= -github.com/aws/aws-sdk-go-v2/service/xray v1.32.1/go.mod h1:yNBhxYF0/a7HxlvvPZ9pljsw3wSh6ooyxg5llocFwBQ= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.2 h1:blV3dY6WbxIVOFggfYIo2E1Q2lZoy5imS7nKgu5m6Tc= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.2/go.mod h1:cBWNeLBjHJRSmXAxdS7mwiMUEgx6zup4wQ9J+/PcsRQ= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.2 h1:pOnBcmmHWBDbxawnpomSKFbDe8yn+t0OznR+Vo9Tj/Q= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.2/go.mod h1:iseakOEtbeRjQkEtKZQ149M/fLJIaMlF0lS0X3/gXdg= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2 h1:oxmDEO14NBZJbK/M8y3brhMFEIGN4j8a6Aq8eY0sqlo= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2/go.mod h1:4hH+8QCrk1uRWDPsVfsNDUup3taAjO8Dnx63au7smAU= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.2 h1:0hBNFAPwecERLzkhhBY+lQKUMpXSKVv4Sxovikrioms= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.2/go.mod h1:Vcnh4KyR4imrrjGN7A2kP2v9y6EPudqoPKXtnmBliPU= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.23.0 h1:/44qK3M/wwUHIh6fw8Z/pm362EqpfD+fZAGYfhWi0sM= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.23.0/go.mod h1:p3ntR2Ri7KsPgyP3KwxAULDZS2uvcyflGlCG7P12GPM= +github.com/aws/aws-sdk-go-v2/service/invoicing v1.4.0 h1:UqKNZKv1RZoZgtUEqitmGQ0dne6YlX7tGjh+te3V6p0= +github.com/aws/aws-sdk-go-v2/service/invoicing v1.4.0/go.mod h1:ETBlZYI8+Z9TZrkgUaNwsPlszeWXKAKsMx3rf+o0uS8= +github.com/aws/aws-sdk-go-v2/service/iot v1.67.0 h1:0L3aLkPF/jPeNj72Ngq3IEUajjG/4NHImu3Cgp2ZxhI= +github.com/aws/aws-sdk-go-v2/service/iot v1.67.0/go.mod h1:BZC1OnoCZY2CrgV+eaIEA+4M9i7DSugWwEFiUavIZMI= +github.com/aws/aws-sdk-go-v2/service/ivs v1.45.0 h1:tbr4jDMvdK5cyF++EOKsBWzsHfNOOhWdRje/pt8yEck= +github.com/aws/aws-sdk-go-v2/service/ivs v1.45.0/go.mod h1:gVMCa/YIGkrmmXyQKFNMlJkhW+PKv7+divKAAgORJcg= +github.com/aws/aws-sdk-go-v2/service/ivschat v1.19.0 h1:SMsudfw7qNlaCzbU1j7K62MVLYkGHiRob0lSDEw5H8U= +github.com/aws/aws-sdk-go-v2/service/ivschat v1.19.0/go.mod h1:LwHzV162D41DHQuctLDHDl5+yME86LaxCyOt/e7dLUc= +github.com/aws/aws-sdk-go-v2/service/kafka v1.41.0 h1:Qvi3PzV7Rs8rZ98XghcC+UcrwOU4wiqOlyrtUdRzO8M= +github.com/aws/aws-sdk-go-v2/service/kafka v1.41.0/go.mod h1:8lU0PKySh1exBCLxYH7jj9vhsKdekf8OEgDh8WfoX2o= +github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.25.0 h1:8r0YE7x3VNiq1Jp0iywp/NhhsLEZOK/BKmPaOe0wOgQ= +github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.25.0/go.mod h1:HymqyW16ZuSQ+QeJwj//SMXR6stp/nebPEK3B+gMDHg= +github.com/aws/aws-sdk-go-v2/service/kendra v1.58.0 h1:LODkytjlgmORWiXBgIa10NhaCYDqnN42a8Jx++E4RCs= +github.com/aws/aws-sdk-go-v2/service/kendra v1.58.0/go.mod h1:paLQu0/ibDpSNSVWXCXOVE9MsqVfjd7fQwU1q9aiPVk= +github.com/aws/aws-sdk-go-v2/service/keyspaces v1.21.0 h1:PTWPRc0gTpz0394LRIANHEQMnQzzX18jVTOWUDSyP0Q= +github.com/aws/aws-sdk-go-v2/service/keyspaces v1.21.0/go.mod h1:byOVm/xWXux+M1sFM4UlnGiAe3ExDdNmQ+NbbBGYe3c= +github.com/aws/aws-sdk-go-v2/service/kinesis v1.37.0 h1:EcSM2x6s3zTIgauRgrgf5f7Q9/+LP/fdepNlBTUv1UA= +github.com/aws/aws-sdk-go-v2/service/kinesis v1.37.0/go.mod h1:ESOdPjy8Bu1IG/ipcWcGbvEkEH0DlP8Mp4MldKQ8JPI= +github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.28.0 h1:lVTz3x7HJBenVv4K+HlMzPFL9IZLa7bMH9qlqryiUXE= +github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.28.0/go.mod h1:KR9sZNn5H2ql1SSrLjouaqoOz1vPq2c6aX//TCcSriI= +github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.34.0 h1:BtQ7j7Y//2/recBi925s0LFAKlWpl5BG4C3uaZ322cI= +github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.34.0/go.mod h1:0AaL8NjpCLrYqdUr/kCI8u3rRMKQEshCIlM6SUrOYOE= +github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0 h1:tv3RAtA6Sy920l3QRvhjnve0hrBG3tDrpOyjVD6fz9s= +github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0/go.mod h1:RogDtUwHccKseh8E8wGF7THiQFb+IIS170v/d4zBfJ8= +github.com/aws/aws-sdk-go-v2/service/kms v1.43.0 h1:mdbWU38ipmDapPcsD6F7ObjjxMLrWUK0jI2NcC7zAcI= +github.com/aws/aws-sdk-go-v2/service/kms v1.43.0/go.mod h1:6FWXdzVbnG8ExnBQLHGIo/ilb1K7Ek1u6dcllumBe1s= +github.com/aws/aws-sdk-go-v2/service/lakeformation v1.43.0 h1:4ZTxobrzObRa8hMvD5UNYlJ+kbUSdgYTLX4qshn48jI= +github.com/aws/aws-sdk-go-v2/service/lakeformation v1.43.0/go.mod h1:9ecAY8txZxHPO7IhrQCI0rpj4Dw+vbLOv1Rinr46OgU= +github.com/aws/aws-sdk-go-v2/service/lambda v1.75.0 h1:8hoKtn/EgZ0bA2dQ/meHFNsalY5fuA7M3QDqnrVxPLA= +github.com/aws/aws-sdk-go-v2/service/lambda v1.75.0/go.mod h1:YDWB9+Y6hLDGdI+S1TQIs8Fq3pu5ZF+7l2ZwF7dzhjg= +github.com/aws/aws-sdk-go-v2/service/launchwizard v1.11.0 h1:c2kqypd7Juq0l6Q9ozqTiffCxJRVZILGFmJvx1AM6us= +github.com/aws/aws-sdk-go-v2/service/launchwizard v1.11.0/go.mod h1:DcOHLG85sWbjxgWPosBUFjyZlXU1/UmZoqwx6U3ve1Y= +github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0 h1:DryMhIIU/p/fxOHl0TonOAeAEEn2loHAeWjpgkYwsx4= +github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0/go.mod h1:/rstK38nPVP5Nl1QHVVZukDHfHGhU312byZZhRrpbO8= +github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0 h1:KuBBxr7w0WOh6/hhYcqnKQx7A/J7a/tuvH11VGkVTv0= +github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0/go.mod h1:vAb5Jggb9ASoapJtOJU9CHd+11OBZWa7OHQPfgTwTFE= +github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.0 h1:4yI6oqURdPfSoP1MUGNhXe8W/krJWnOCaHejJAPCRFs= +github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.0/go.mod h1:5rXpi6YHnL1oERjl0cFvH0ijwGfZqbKQBdpHc9Kdq6g= +github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0 h1:nQX2q3dUdqwyxNPEjAw5WgH0F0HuHlVS8iq7TW3xHi8= +github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0/go.mod h1:c0o7fqQS36cwXMizMSqpG4job2HsU1b8Wb2QoYSWyu0= +github.com/aws/aws-sdk-go-v2/service/location v1.47.0 h1:oo7GB7Mtr+OkyA9E2CvdwLW98QEMbM0CVAay0NceOUc= +github.com/aws/aws-sdk-go-v2/service/location v1.47.0/go.mod h1:hRYGyCf4DRFqL1cuNV2+QLi6FNsUIbuYFh673ajAaSA= +github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.34.0 h1:AeDQIQ96Ojw+Q5RYjRV0wUDut2GPfFrRZx3LSUkK/9k= +github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.34.0/go.mod h1:38He4+8qkSA4lPgtYstoMRMtBXQooHszWnrwZZIgB9E= +github.com/aws/aws-sdk-go-v2/service/m2 v1.23.0 h1:I5DRi/03gmvdTLlwoAILcZCWcoqaDljk75q7Fs+6F68= +github.com/aws/aws-sdk-go-v2/service/m2 v1.23.0/go.mod h1:HlXF381spH689iWpO3aUPsneI4ogQ9vEpc+7MW9qmTw= +github.com/aws/aws-sdk-go-v2/service/macie2 v1.47.0 h1:463pft8QLCiwYmOrKNO8xNnB5AH5yhQXfOOT6jqOy64= +github.com/aws/aws-sdk-go-v2/service/macie2 v1.47.0/go.mod h1:VNSXUIl8dkUtHG2XwMAK5DoxFgDK7+yo49qtmVYKC+k= +github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.42.0 h1:myMe1lFa6K1NgC1E60kB68mTZmSwFc3w5ofz1DzDBtI= +github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.42.0/go.mod h1:7dKRBvWiHdQmUZ66ZgiJuCVF9zyU/+9q9oC2j2zPunw= +github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.79.0 h1:YQEf1gKL1qAJFos4jrByaoe2KiAJs/6TiZIccOlKlyI= +github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.79.0/go.mod h1:WvDW+pJT3sadqMWbBF2eCJExryZPCAQE0M18kazuwCI= +github.com/aws/aws-sdk-go-v2/service/medialive v1.78.0 h1:oHnfXdnD+X8MTihLSzNPJ+wiVXYWUS+1+UnZVHsCUJ4= +github.com/aws/aws-sdk-go-v2/service/medialive v1.78.0/go.mod h1:GDIXX4xAoByJpI6ms6csOCCMjuZQxGbvMdbIkrpvty4= +github.com/aws/aws-sdk-go-v2/service/mediapackage v1.37.0 h1:hRHvIJ6LsYOOlO8VbrdG3BkotOXKAXFfApbuCQ+WbtE= +github.com/aws/aws-sdk-go-v2/service/mediapackage v1.37.0/go.mod h1:mdts8QkX+u23oMp0ZjlMzG4lP6u16B3BPb8SpX/oIP8= +github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.28.0 h1:advvzK2BMNQSWweRS88MHftRRTbAP1XhjoP0lp/P4BE= +github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.28.0/go.mod h1:51YIgiiLBi2XdQkO/iIOoNQhW5GBVKcefQ7K6N3EKHU= +github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.37.0 h1:7PKUjYcop2QCd/2u+209jx0x559L+LP2jd2ZErvobuw= +github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.37.0/go.mod h1:8qat4Jx8YtTiys0U6ByUnbP+FaXJuDab1xNNCb4Crp0= +github.com/aws/aws-sdk-go-v2/service/mediastore v1.27.0 h1:7K52IQd61BqDtuOS20/BgJSnjstuVRFmmEpjYmq1pAs= +github.com/aws/aws-sdk-go-v2/service/mediastore v1.27.0/go.mod h1:J9u5c8XP0bjouR1/nx9SDO6Dw0p2n5lUvumttLXaWpw= +github.com/aws/aws-sdk-go-v2/service/memorydb v1.29.0 h1:/nFectiONsdEdi5uRGqV2GvaekykxE/SXXKDysyb1HY= +github.com/aws/aws-sdk-go-v2/service/memorydb v1.29.0/go.mod h1:6w41UB9aJQhcsYOSQB3L1+ISGNZMrzX5Dvs9Dva/Mq8= +github.com/aws/aws-sdk-go-v2/service/mgn v1.35.0 h1:y7CunlI986quanuSNZYVqt5Ig2xL8ImFoe/RZBdeNUE= +github.com/aws/aws-sdk-go-v2/service/mgn v1.35.0/go.mod h1:E82DkPWlL9jQG839fM8JUw0mz8OAh/pJF2WrlQg5qg8= +github.com/aws/aws-sdk-go-v2/service/mq v1.31.0 h1:6Y9BsayI3em0Dcrac8VOODM66gDf6sqhMJReYNXWrGw= +github.com/aws/aws-sdk-go-v2/service/mq v1.31.0/go.mod h1:H19HQQ5aulO4iFeBQcE14Zo9EC0w3oToCdKMQLeYC3k= +github.com/aws/aws-sdk-go-v2/service/mwaa v1.37.0 h1:bGdw3+sTFFqd/VhHeb20i5ko7vfEoDiISobiLNc+MHY= +github.com/aws/aws-sdk-go-v2/service/mwaa v1.37.0/go.mod h1:GCKSqs00/Uhtx3JKsDhPWfQzstY73K0/O8AiQV8yZo4= +github.com/aws/aws-sdk-go-v2/service/neptune v1.39.0 h1:0iRrarRL6MheR0/VctAAubu2GPUPKHCFxtuNmS4Nf8o= +github.com/aws/aws-sdk-go-v2/service/neptune v1.39.0/go.mod h1:XT+KZcW1UpUpT1Tp+11BsMh7ypQONYJ9SXg1REJlxjw= +github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0 h1:3G+4uyOmh4qWkMVZoRt0ELDtlfpObFk13SrsD35cAsk= +github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0/go.mod h1:kkG79+f09Fmee5bohISd+JaieXQRXlfixZLcOikkxXg= +github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0 h1:FHl1QPk+MTUjcbGtnNfcVnq5bPkP71Tbzt++qQ/dCnY= +github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0/go.mod h1:EiHBjTVCeOUX045RTpHUuqrtexp4OtSbMLj+nXiaaHw= +github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.0 h1:s3YuKk4+Q8cXKbBVBLkWa87R0VVVQt+IK3GNuN7KM9U= +github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.0/go.mod h1:DRGdwN5NLYVlzoGdtiL5MdMqU0BdFjdWoWhNzwKVm7Y= +github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0 h1:dM23haMPsRX6r06zzY7rKskzOnmcAf4u3gQe4/vKM5c= +github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0/go.mod h1:Lh8S1WeO7D8Ns0h1idoyviPIKqgAQcFzZo3VvQ+AgI8= +github.com/aws/aws-sdk-go-v2/service/notifications v1.4.0 h1:ZBcFqe31Uf8k8UeeJdHnH3lKpoFx5uWnu2tg01CTmos= +github.com/aws/aws-sdk-go-v2/service/notifications v1.4.0/go.mod h1:W2ABt0ansVFxchQAfWPN15TpYJ8j57V2l85IWCVLwYc= +github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.3.0 h1:UQxLazViGi1qelen17Bu1NtoGS+S2/fj+FhpJMj02gg= +github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.3.0/go.mod h1:Z6RSoe6VNgsneyA8k2BHoCtPo4Hg6XUyQtxsSFCd7pc= +github.com/aws/aws-sdk-go-v2/service/oam v1.20.0 h1:AGZUcqcsU1QR4xi4A4foyeHY5XtmjQQd5+bIDoP3keQ= +github.com/aws/aws-sdk-go-v2/service/oam v1.20.0/go.mod h1:3D54bBPVQYqvjyX9mC5kGoPyW2vUvpmJoNzlTriumJQ= +github.com/aws/aws-sdk-go-v2/service/odb v1.2.0 h1:8EO3R+giEm/zs9KfQ4eBqa4W17bcpGvG7LEBjMjpdVQ= +github.com/aws/aws-sdk-go-v2/service/odb v1.2.0/go.mod h1:hBGfe5c+UNIxT5X1e7DG9ychYOeYoeGEsyEhHXybRjw= +github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0 h1:vWVR6vfZxY0i3IeTP0RSCDuXo+7wDoLpmyAAHMcgnFI= +github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0/go.mod h1:WO1sqmUu2AMSgpI07AqrL/9kdFTpVl+6BUy69gdQdWE= +github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.22.0 h1:8kX9RWCVpUZLAreWTiLh1pBgJBdIa5oFGyRa9ejkS2c= +github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.22.0/go.mod h1:HVCHnRUafo3sI/BIycRiTB1QMO/IfsbiMmE2STsW7kM= +github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0 h1:lsi8q6BbwvvmTZ2Oz839olZoSbBaupAJEppyOnsBTYQ= +github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0/go.mod h1:FG8JIT+tCSCQGK04ac7mXLnP0FZUr3tLqoiiRIKRbiQ= +github.com/aws/aws-sdk-go-v2/service/osis v1.17.0 h1:nVl7YEWp58Yvr+xIhmB0Uv6gG819eYFIVrW7sSEXXag= +github.com/aws/aws-sdk-go-v2/service/osis v1.17.0/go.mod h1:XC+s07X9mHnIkFCbyUetdnnsXq5JAk3euhAkPQLP8No= +github.com/aws/aws-sdk-go-v2/service/outposts v1.54.0 h1:8ZaAYen5L9x5f39dUL0VTZqZxhPvSSgqVeAiJBxIhyI= +github.com/aws/aws-sdk-go-v2/service/outposts v1.54.0/go.mod h1:vY1UGGY5/OVqeJarn/SdEBpt1iG5bZwDSd9ZyKHpdkA= +github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.21.0 h1:SXwcY2aJHH94ml1IDB3nI5OEP354jRrE7l291J31Ysk= +github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.21.0/go.mod h1:t9pbgPWLNsys/dSf1FX/0dOFRzYZIM3kBpUpHhXPc3M= +github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.13.0 h1:Q1t6E3yautudrcIpwakAoKv26PAJyW6Ig/cIUQDDHNw= +github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.13.0/go.mod h1:SsEJc0U74aARkZh0N6LWwCMQ09fKS5an4zCA5vnWMAY= +github.com/aws/aws-sdk-go-v2/service/pcs v1.9.0 h1:p4b4SNco5g62xo/5MvMpDOflVRPW71QvNs2sr/fCNlM= +github.com/aws/aws-sdk-go-v2/service/pcs v1.9.0/go.mod h1:JDqZ9JPioPhoEHMzvqs7N6/YPP+lj3HfS5r3obaMP+Q= +github.com/aws/aws-sdk-go-v2/service/pinpoint v1.37.0 h1:iblCKYZgkaT8MOFkXE45PP2vpkt/owgF/NKDuFW5QSk= +github.com/aws/aws-sdk-go-v2/service/pinpoint v1.37.0/go.mod h1:vvYqVkfExLWmdIuCBSVVnyRpOtoNArWFeLAtdACABJU= +github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.22.0 h1:yzCebSsGUtm2b0ydoCV/P4pPgyPnGrZbREr4SqbMYI4= +github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.22.0/go.mod h1:kun/un0OGKu3X40RldUHcOVAZ1esJh+UQ2Ygfscvxfs= +github.com/aws/aws-sdk-go-v2/service/pipes v1.21.0 h1:5G5fh9qKLjEo28aBdSm8kXdHhILG8n4XmZINTJoz2UM= +github.com/aws/aws-sdk-go-v2/service/pipes v1.21.0/go.mod h1:x9qPwjCG2xU8z6NPhOof1lKCtftMLRI33kW+F4V41eA= +github.com/aws/aws-sdk-go-v2/service/polly v1.50.0 h1:/Ko6i/+k+0uCk4r+QWxNos2Ud5rdYfhhOa7H91YGP9c= +github.com/aws/aws-sdk-go-v2/service/polly v1.50.0/go.mod h1:M1YMwzU5ZvAvHSGYP0tehS+ZyugVNN/iOVs8qtkBDZc= +github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0 h1:zpM/q6rXnv8qt4DCnMmGY9sDQgzi8TDsIK6Px2pEYss= +github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0/go.mod h1:i1FZ0Fod5/f8GgwlEJYKrniHDzKY+CTpKGZbkNNUv8s= +github.com/aws/aws-sdk-go-v2/service/qbusiness v1.30.0 h1:DukPIuKXpMXa3/fFj5qEAN3h6XT0bCN19DWJ/FCWgcs= +github.com/aws/aws-sdk-go-v2/service/qbusiness v1.30.0/go.mod h1:QE7cNn5zN0YDL/6KkqzX19kbBRQhK02OwfFZeCL55n4= +github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0 h1:dDMYSGq/6QkySf70y+o7uFTI2jXrfGUVBJpip1n27XI= +github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0/go.mod h1:cMl4sBdwqdM8xQal4Sm1IiA9gIgFO9ZhvxL0qd6TH24= +github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0 h1:UmX69w9sT2swoojDQY9VlUObHjUh27PyFUCK98b8RcY= +github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0/go.mod h1:giBYbL9xfVEcGSMmvnynNB8Em78y8UKpnrgUZ1ulV/U= +github.com/aws/aws-sdk-go-v2/service/ram v1.32.0 h1:G+68C4zK76iUFgJhkipUKRWh2HLLtRnDTZapiOfJdhA= +github.com/aws/aws-sdk-go-v2/service/ram v1.32.0/go.mod h1:nw5Xtgpjw7qpk2pLnnUFfM1OJR4mbgGyM/mW5Tq3uvM= +github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0 h1:lCSjmiJBPQ+YQpVv7HDuSQxzdMaOF6VHIpEAo6JuCgE= +github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0/go.mod h1:qvr0xsDkBeaCaYZb0sWWItYyapmRxaJkOJ3H9c0nRu4= +github.com/aws/aws-sdk-go-v2/service/rds v1.101.0 h1:CWTHGWkLi+lBSt3tlFNKA8YrNG7hr1xOG6IO5XW3cpE= +github.com/aws/aws-sdk-go-v2/service/rds v1.101.0/go.mod h1:BSg3GYV7zYSk/vUsT77SlTZcYz7JmBprKslzqSuC9Nw= +github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0 h1:UzGm4pOaR1MQE8kQ0HzuzrIKZvjxfYWmHAhjmkFWrKY= +github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0/go.mod h1:gPTBFJ7XZEk2thUl1+MS6/kEd0jLuJBIzLz5xuveRvY= +github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0 h1:2uGuWyvd7uCOEcEMN+SWkJsXlXOPrzfBtElITMnVAp4= +github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0/go.mod h1:6Xy8SN1liN5+zoTMZ1C2UpeUdJURWSqr9u8wkOtSpdE= +github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.29.0 h1:U6WGIeSwoC0xrSi710RscXbEzLjEXpVWzVV4SsrZyRA= +github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.29.0/go.mod h1:HcZb7L9GmTq1C7RKGBb14VRSTPjnnP9aFJ0xL3KQPco= +github.com/aws/aws-sdk-go-v2/service/rekognition v1.49.0 h1:yJ4TZzihb5umIh54Zryxeh/LGAtNu3zs/V4J90sQR0o= +github.com/aws/aws-sdk-go-v2/service/rekognition v1.49.0/go.mod h1:2KdIwOeztIPoWhKxA3Jnn1PYzDB45NOYUWkSKfFsHIo= +github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.32.0 h1:W5cFv1nnrXWQIIcP9g0znL9GYrOs2OVxNvWIE+pJjqw= +github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.32.0/go.mod h1:Ya5/VbHcg63rRJ10MXtqA5i42LeOuP6edwuhISe6RNM= +github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.19.0 h1:3VIjZDJSYXEnVuWIRq0oXHISbO+tpya0qIHPPzpp2+A= +github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.19.0/go.mod h1:bf6/IS5mQoUM4XVKcEaNCF3ghEuOyan7agPlzSheMk4= +github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.31.0 h1:L9r0qWc6316M37Pb4ce2qAtxAXb2ZJHUIRfqS0yP9eY= +github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.31.0/go.mod h1:7xr8mm8k3g6gDnYYn3MtEtmSg84Ki/3+exNQe3aLx8Y= +github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0 h1:UtG7I7N+hYu6X4Yjz8XC7tgRCss5PiEgCW3KXMxz2R4= +github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0/go.mod h1:HEr473Fg94eiVW0HnobYqlkfz5dxw771ZseM6DWJAwg= +github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.19.0 h1:gDWKqmGdCXpmgQivZtYRH3rBWrZdWytswr4eCQdKCF8= +github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.19.0/go.mod h1:F6Tg7adKZCu0E2B8Ti4+x3M6HS+Qlgl0C57KbDCgtJw= +github.com/aws/aws-sdk-go-v2/service/route53 v1.55.0 h1:uWgREKbrY/+EYuU9u4llSkbsIKLSEPriOSHmLCK3GAY= +github.com/aws/aws-sdk-go-v2/service/route53 v1.55.0/go.mod h1:6G0V3ndXAxeBFSDbUEZ3VTZgmL/9yoIuWM3s3AAV97E= +github.com/aws/aws-sdk-go-v2/service/route53domains v1.31.0 h1:1FNauE0fGAumFzEpmH+nx3OfvgnfUapdpBq9eCk/7II= +github.com/aws/aws-sdk-go-v2/service/route53domains v1.31.0/go.mod h1:s9AUhIpEw80em5ERrkUzrvQuDjSP9fKd9/+vi5jCr6w= +github.com/aws/aws-sdk-go-v2/service/route53profiles v1.7.0 h1:JhCFwPOmFja1kndJHeF2wPxGdvft9hqk9rmI+3VYBGg= +github.com/aws/aws-sdk-go-v2/service/route53profiles v1.7.0/go.mod h1:ZfLB7g4WQPzBcK37APvwX7u0cIz1dKL01MnxRTTkfQo= +github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.29.0 h1:BSC4rRnApDd4lH2U5dggYS81lyF9v5yG5atDYQlUG4o= +github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.29.0/go.mod h1:2rt7/1yfNqxIc1+IiwdM2xIA01+FeH+hkkIc6Ui6KYg= +github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.24.0 h1:he+LHA/6HCUuFxdM0lUdr+OOTefeEq1G2w/e6yRraQs= +github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.24.0/go.mod h1:LdJD7I50vTaWfAdn1FBydN6r8XpkF6humwUN25hAV+4= +github.com/aws/aws-sdk-go-v2/service/route53resolver v1.38.0 h1:HRDZKs73kNRsb+5MhAz4+ONvPgiXVmgTfsj4/PoJIWs= +github.com/aws/aws-sdk-go-v2/service/route53resolver v1.38.0/go.mod h1:b9+yk2umEzWK2xzbsBZDrAeG63ia8B1ess7IyZG+mX4= +github.com/aws/aws-sdk-go-v2/service/rum v1.26.0 h1:ZqNEWtitFjwaKGPqtPSK8cq0LaTUGKOBbvT/2+n7Zg4= +github.com/aws/aws-sdk-go-v2/service/rum v1.26.0/go.mod h1:PLpZddWg0SWhlNl442cRfa5zeWV7NCECrE/naqMhzl8= +github.com/aws/aws-sdk-go-v2/service/s3 v1.86.0 h1:utPhv4ECQzJIUbtx7vMN4A8uZxlQ5tSt1H1toPI41h8= +github.com/aws/aws-sdk-go-v2/service/s3 v1.86.0/go.mod h1:1/eZYtTWazDgVl96LmGdGktHFi7prAcGCrJ9JGvBITU= +github.com/aws/aws-sdk-go-v2/service/s3control v1.63.0 h1:Ke1mqUlAVTdAsd8MUOotJiYkmOIYPHsgsEvGw6GUUkE= +github.com/aws/aws-sdk-go-v2/service/s3control v1.63.0/go.mod h1:UjBvYLSsE98Zow7RHk2mfbw9QVlX5WNIqDPo1hxrjdY= +github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0 h1:M5nUP3UBHZEjw0QS1JfqQupAvUgjDyoHBzk+y0cFIJs= +github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0/go.mod h1:jdBR10G+Lp9mVcEZkbFPVJdSAEq+HJVnQLOIkRylRt8= +github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0 h1:lLiy94CE3tRVKCFM6nsa0ERMBhDBC9EDC6Bx1shhack= +github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0/go.mod h1:4W2CAy/TSu6SJ8DlBv5LSz7x58DPN8aiRdlhjvg8WEA= +github.com/aws/aws-sdk-go-v2/service/s3vectors v1.2.0 h1:7xf0bQV6aVtFUV1Z59hT9AmWHY+LBww82jN2gywAgkM= +github.com/aws/aws-sdk-go-v2/service/s3vectors v1.2.0/go.mod h1:ionbPTnYOWe9G7OQi/yGz0fDefoTUiAWs2tFAxCQiss= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.204.0 h1:swdZcCAgomEWueWnxgLoez5w6SZIwTN6+kCwmOY7Slg= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.204.0/go.mod h1:QAk+j4WZ3VtD9yJDKqF/sVq0fQCcjjQ5gZLVvoVGmWA= +github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0 h1:peHVUtoH7i9QzmkCMyky/a+b2ysCMJ/M+KOtCVmkg7M= +github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0/go.mod h1:cQvpps9Xy75b4TIzRYRMnSYaUneTlECRD6p0Vn9hLew= +github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0 h1:gpBCY2ekUMIFVyczrg5RZlhfCSfPvq33oo+vAKuz5TI= +github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0/go.mod h1:rkj4nPmey5KTmwApEwZ4zMBBCQMKam+ATjLvNLz3flQ= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.37.0 h1:fC0s79wxfsbz/4WCvosbHLk2mb9ICjPyB+lWs6a0TGM= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.37.0/go.mod h1:6HxvKCop1trgfFlQGQmlq+WbMM5yPazMN9ClWFWGtDM= +github.com/aws/aws-sdk-go-v2/service/securityhub v1.61.0 h1:aCI2GYfTx4TzzPf2WEzsCqvXee1BRqtgzOcNFf2dFmk= +github.com/aws/aws-sdk-go-v2/service/securityhub v1.61.0/go.mod h1:32eH94E8iekHQ/YdEyJw50SNUiStOjMOZ7l8cEw4pLY= +github.com/aws/aws-sdk-go-v2/service/securitylake v1.22.0 h1:gDD/r2shxWIUj+ewgBoKcESeME6uaTEZWrfp1eyq9Dg= +github.com/aws/aws-sdk-go-v2/service/securitylake v1.22.0/go.mod h1:8jHxtowB6qC1v2gsi4B7aWVynHuDTGvDGQdzftRZ+zA= +github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.27.0 h1:1r06l2UbLJGUOP1LeQ2ulXm2PtS18joFm9dasYo5NXY= +github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.27.0/go.mod h1:NUStYN0KZE1VG4UVvp7XjZZe1F57Wwyoecq1paMLoiQ= +github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.36.0 h1:zlCZr/65ADvLfmONcKzrbXoVnayipGvR1HyLzAenutA= +github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.36.0/go.mod h1:7KZX4tCstBrE2P1+VMJLpHOBm+QWOfEh40kcmuYmv4o= +github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.33.0 h1:O4l2ptRmGbSau3W9r71yazynDiCyLcdoegwbKJNzS68= +github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.33.0/go.mod h1:Aet4t+BW0xV1hm0lLvWoS+LF++1ahOZn7qdZsNE8tjI= +github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.37.0 h1:ANrVQ718sD62ltN18eVQq5bIwEzQuPKXmd/H4eMSfPk= +github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.37.0/go.mod h1:0Y5X94ePWp4I/S4/BQ8fqdJni6Ymbnnh0Gyc4lpyY5U= +github.com/aws/aws-sdk-go-v2/service/servicequotas v1.30.0 h1:DkMHQQ1yfoPT57erFe/SJXCZ5Weo5T0/AROuA6hg4VQ= +github.com/aws/aws-sdk-go-v2/service/servicequotas v1.30.0/go.mod h1:r9XW7P7bOhnjMycQWPVeIEPvmzmW8RqzW65vp4z+IjY= +github.com/aws/aws-sdk-go-v2/service/ses v1.32.0 h1:hsvll+Vlk63Wh38r5pWcZTGmA8oYAULQISXguLFc0IA= +github.com/aws/aws-sdk-go-v2/service/ses v1.32.0/go.mod h1:w6GEPvRXyzj34dGpgbo5MrRUEFTRoXEVNEvg56TpKhE= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.50.0 h1:ahFtnukBJ2pZmZ2lAHXozc0bH/Xid7ceScQXYM4nU6w= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.50.0/go.mod h1:BXVAeBjFCdDa+ah9DiaKj16DFXDPkFOYdUagssUsptI= +github.com/aws/aws-sdk-go-v2/service/sfn v1.37.0 h1:nmo7k4bHzYxK/iH/hdnYAWJ/tfV+ySV3rk029jVgP+c= +github.com/aws/aws-sdk-go-v2/service/sfn v1.37.0/go.mod h1:+yaDYK9QNsfC2Kp6UpboOqUVp3giQ7GTVBsWoNqtPHY= +github.com/aws/aws-sdk-go-v2/service/shield v1.32.0 h1:uekAZy4/sGCQxX+BxWsjMxmKWfavsQyc04NYb6JlIPM= +github.com/aws/aws-sdk-go-v2/service/shield v1.32.0/go.mod h1:uFSdevNXa2hQFSbvHTrd0/+N4llyjbegPt7T4ij5nIs= +github.com/aws/aws-sdk-go-v2/service/signer v1.29.0 h1:sF/j2NltXGKx6Tewc7RUwL7fQKxTgXib83qQI/rx5N0= +github.com/aws/aws-sdk-go-v2/service/signer v1.29.0/go.mod h1:kiL4+PJKl6UCNmJORt8IS/k/ydl31sI4WQJnqJQfQi8= +github.com/aws/aws-sdk-go-v2/service/sns v1.36.0 h1:Jal42fPojaJRvXps8yN7ZGyIJRAbgE8jBqxMIv10hEg= +github.com/aws/aws-sdk-go-v2/service/sns v1.36.0/go.mod h1:SyCtWzjWA5aLNfchfyuWTtwO0AXRg9rPwfCkOB7fUPA= +github.com/aws/aws-sdk-go-v2/service/sqs v1.40.0 h1:sgc/AOL84B6Uc+GYAY8oab8cg0m97JegJ+uVil3yiys= +github.com/aws/aws-sdk-go-v2/service/sqs v1.40.0/go.mod h1:ll5FUISR9gMMKlo+vgSFVkLCqFBnzHZDJ8IwlRQy0kU= +github.com/aws/aws-sdk-go-v2/service/ssm v1.62.0 h1:o/2RGV3LouWdbEFpODWRQTw1VSSNOJ8Bh2StX8BpcFs= +github.com/aws/aws-sdk-go-v2/service/ssm v1.62.0/go.mod h1:Q42zmnvaj33ibL1cPu7N2hvQx6D19Rf94ScnppcQIlU= +github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.29.0 h1:Ognxd7DYQTLnq6HzzMBEPfZUbCLfPK/fijUxI0c7oqY= +github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.29.0/go.mod h1:br4H1KoSMGLTG4PUzzhmp+7CnPqu4XFp1x+WhCsSsV4= +github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.37.0 h1:2I7MLpAwSuZvMQZ7scGuHn0wRqeFYSxFQVn11g8CBUA= +github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.37.0/go.mod h1:ykpAISEQaGRKPKn9HS/VwH89LQh1zu0qjZY+AMgyQCA= +github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.6.0 h1:ivkaBapgjmE9Put5MJ3Yg7zYw+Fud/ZyLMfmSBgCJTs= +github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.6.0/go.mod h1:HAdCTJPmPNeZD6mAmPDcU9eK1yVP88JVu0kwp6HmJR0= +github.com/aws/aws-sdk-go-v2/service/ssmsap v1.22.0 h1:5+fIKFIbA80sYjNf2vccPvmrdp4nb1EbkQdsO9HZA9g= +github.com/aws/aws-sdk-go-v2/service/ssmsap v1.22.0/go.mod h1:mlTUZlO4rjFmS6ZZ7hJD6Oko4Geto1EMzta8T3R61r4= +github.com/aws/aws-sdk-go-v2/service/sso v1.27.0 h1:j7/jTOjWeJDolPwZ/J4yZ7dUsxsWZEsxNwH5O7F8eEA= +github.com/aws/aws-sdk-go-v2/service/sso v1.27.0/go.mod h1:M0xdEPQtgpNT7kdAX4/vOAPkFj60hSQRb7TvW9B0iug= +github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.33.0 h1:61baAQJeQS9SdTXJ9MVUiT5hkMf65SUfjVV9j2/W45M= +github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.33.0/go.mod h1:nnlw3wIldhDvFLfpv/yH9j31xoz0EdczpuYu95M/Mm0= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.32.0 h1:ywQF2N4VjqX+Psw+jLjMmUL2g1RDHlvri3NxHA08MGI= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.32.0/go.mod h1:Z+qv5Q6b7sWiclvbJyPSOT1BRVU9wfSUPaqQzZ1Xg3E= +github.com/aws/aws-sdk-go-v2/service/storagegateway v1.40.0 h1:eywzm3eHsI6lkM7HpsLuoLUKuW87wINDWM/kpEahPbQ= +github.com/aws/aws-sdk-go-v2/service/storagegateway v1.40.0/go.mod h1:dpO8VuQCysRhgr+cTRKLjF27aJZ84dDR5mpC3YKSzvI= +github.com/aws/aws-sdk-go-v2/service/sts v1.36.0 h1:bRP/a9llXSSgDPk7Rqn5GD/DQCGo6uk95plBFKoXt2M= +github.com/aws/aws-sdk-go-v2/service/sts v1.36.0/go.mod h1:tgBsFzxwl65BWkuJ/x2EUs59bD4SfYKgikvFDJi1S58= +github.com/aws/aws-sdk-go-v2/service/swf v1.30.0 h1:isVHS2KcvvQF+K4xm1d8gwn7oblSNrvLGnkgnrklU98= +github.com/aws/aws-sdk-go-v2/service/swf v1.30.0/go.mod h1:ew3I70Cp5/fov/t/5KR5gnUJKh/oUFaRSXiLhGdNEBQ= +github.com/aws/aws-sdk-go-v2/service/synthetics v1.38.0 h1:bO03M5vd7lbwA2u+AJ5p5lNXDrX95irMpQGnTriIZCs= +github.com/aws/aws-sdk-go-v2/service/synthetics v1.38.0/go.mod h1:pNBlT8k2dNNduzB6k73U7zZ7yyHV2Kr0YlLfi84+c64= +github.com/aws/aws-sdk-go-v2/service/taxsettings v1.14.0 h1:1pAiXK1faOGJi8KL/bokC4sqxMBkJePnR56mneSbTN4= +github.com/aws/aws-sdk-go-v2/service/taxsettings v1.14.0/go.mod h1:RdzWkdzuoaM98wctumapBmD2r3WImPXw6g7rICPLvyY= +github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.13.0 h1:ik+FNIDBN16wpzb2kJExF1FJ7jmyyq77gJAiXmxjsyI= +github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.13.0/go.mod h1:OOSSPOW5gjnWQfNOtYOnvXqWotSk2TWXW6PqXiM8Dd4= +github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.33.0 h1:FpXclEjSpDkYeCvLpR6nmURQAZfXD235JFvFI6xkbak= +github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.33.0/go.mod h1:AOmT9Dn8c674nUD56pQAb9rCkhhrlK1K6ULaz3T6/EM= +github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.33.0 h1:Ien1hQnz4TwH27FV3BUZxOnp+OYoamqNG3DrHX7clJ0= +github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.33.0/go.mod h1:WquhdpcwQ2IToqTKc9GJSoA4Unm69MhLMXEO6qbhjKU= +github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.0 h1:6M0y4QaxEOVKWytk0Dp+PqJyvuoiEZDuwqJSitZPTUM= +github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.0/go.mod h1:C4HQjEMMSrwJQKQsFslNNOeP3dICpXktxWJ6MjRCyq8= +github.com/aws/aws-sdk-go-v2/service/transfer v1.63.0 h1:ccfREMOY7VoLlSuSEH/wvXr1Ex+AbmKSKf1iTYvsyYI= +github.com/aws/aws-sdk-go-v2/service/transfer v1.63.0/go.mod h1:zZCkAJeuF8Pfs9vOShUWoL7cXqANEbYaycWjiPeHzJo= +github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.26.0 h1:PpHbbpQ2q02tM40tzUGwRpuTDHc36TtujWkKgcUZhJs= +github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.26.0/go.mod h1:hmDaQDyTtzWXZ9dImqrLz33w5W1zwq5Vl+ek1ocUEiU= +github.com/aws/aws-sdk-go-v2/service/vpclattice v1.16.0 h1:yvmIhQivdW+lkqwWjROA6Ig40WRBlUt1jxzZ8qiiYlk= +github.com/aws/aws-sdk-go-v2/service/vpclattice v1.16.0/go.mod h1:R3HlHnPqocjz6KcFNEH5eIqzCc8bcI7DyWb2LZGFpxk= +github.com/aws/aws-sdk-go-v2/service/waf v1.28.0 h1:OYxdAPcJF5HtA5QtvCBIxCyA5KTNB/CjT0Lw5SsKcUk= +github.com/aws/aws-sdk-go-v2/service/waf v1.28.0/go.mod h1:sBkZNIMfKDvcVtaNmeNqaBlL+okCb/ZhsYMfpL8fKTI= +github.com/aws/aws-sdk-go-v2/service/wafregional v1.28.0 h1:ZF2SFoVktg4N3dZZgTayqmJNoSfsvieI/S9bxFnrau8= +github.com/aws/aws-sdk-go-v2/service/wafregional v1.28.0/go.mod h1:TWzB6PEp1fYN63oDeiYgl8UzON3M7ygUDPvQOZKnK4A= +github.com/aws/aws-sdk-go-v2/service/wafv2 v1.65.0 h1:uY3OJEiMQuO+RDo0ibtWlU5GTPoMZJoiAiaRPEEZUjQ= +github.com/aws/aws-sdk-go-v2/service/wafv2 v1.65.0/go.mod h1:2y/+a6X3qVfn8T1s3ZT7+OAdyFNVfnG6GRa6EMf69u0= +github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.37.0 h1:Ajd4pP2pftD3pnofQ1+7TEflSaNYevoII49UkI0xatA= +github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.37.0/go.mod h1:vhARHB5E9NBKpbcLcWo96asxlofoSEXItelnMf4L63Q= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.60.0 h1:l+YQbYWAiupSnKXZ/HOYNOI0XdRexhwnlGY6EYBwZ7g= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.60.0/go.mod h1:wBy3knc+aXjHkaLrHApzc7N8saQha6AaeThgdopPLA8= +github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.30.0 h1:Qw3jH5JOp1Yx63HNLd3m/4fuqOmwZoTskrpnoHD8GL0= +github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.30.0/go.mod h1:aOovVVoUFe9mVrtezfjeSHi/AKnZm2JKjI5uf1v6Lhw= +github.com/aws/aws-sdk-go-v2/service/xray v1.33.0 h1:iHeSWpMxk/qGq5op8qwHw4DGEP+hx7DLEsQbhlF4mW8= +github.com/aws/aws-sdk-go-v2/service/xray v1.33.0/go.mod h1:S8Ij3/mKF/976T6WrnozZw2QQBSLs1l2KQTL3SOCwPQ= github.com/aws/smithy-go v1.22.5 h1:P9ATCXPMb2mPjYBgueqJNCA5S9UfktsW0tTxi+a7eqw= github.com/aws/smithy-go v1.22.5/go.mod h1:t1ufH5HMublsJYulve2RKmHDC15xu1f26kHCp/HgceI= github.com/beevik/etree v1.5.1 h1:TC3zyxYp+81wAmbsi8SWUpZCurbxa6S8RITYRSkNRwo= From 186ea49206411537260f5edefa3f32203c492a71 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:37:32 -0400 Subject: [PATCH 0538/1301] Tweak CHANGELOG entry. --- .changelog/43667.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changelog/43667.txt b/.changelog/43667.txt index 62b9f9fb3b80..3ed1f46ee9ac 100644 --- a/.changelog/43667.txt +++ b/.changelog/43667.txt @@ -1,3 +1,3 @@ ```release-note:enhancement -resource/aws_docdb_cluster: Add `serverless_v2_scaling_configuration` argument. +resource/aws_docdb_cluster: Add `serverless_v2_scaling_configuration` argument in support of [Amazon DocumentDB serverless](https://docs.aws.amazon.com/documentdb/latest/developerguide/docdb-serverless.html) ``` From 01aae5f2d00bb0b3af2bb1302fb333f382032b7f Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:42:39 -0400 Subject: [PATCH 0539/1301] Add error handling. --- internal/service/docdb/cluster.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/internal/service/docdb/cluster.go b/internal/service/docdb/cluster.go index f84ff6fbd72b..3b4ee690cdaa 100644 --- a/internal/service/docdb/cluster.go +++ b/internal/service/docdb/cluster.go @@ -772,7 +772,9 @@ func resourceClusterRead(ctx context.Context, d *schema.ResourceData, meta any) d.Set("preferred_backup_window", dbc.PreferredBackupWindow) d.Set(names.AttrPreferredMaintenanceWindow, dbc.PreferredMaintenanceWindow) d.Set("reader_endpoint", dbc.ReaderEndpoint) - d.Set("serverless_v2_scaling_configuration", flattenServerlessV2ScalingConfiguration(dbc.ServerlessV2ScalingConfiguration)) + if err := d.Set("serverless_v2_scaling_configuration", flattenServerlessV2ScalingConfiguration(dbc.ServerlessV2ScalingConfiguration)); err != nil { + return sdkdiag.AppendErrorf(diags, "setting serverless_v2_scaling_configuration: %s", err) + } d.Set(names.AttrStorageEncrypted, dbc.StorageEncrypted) d.Set(names.AttrStorageType, dbc.StorageType) d.Set(names.AttrVPCSecurityGroupIDs, tfslices.ApplyToAll(dbc.VpcSecurityGroups, func(v awstypes.VpcSecurityGroupMembership) string { From c677d0ca737b28746388932738285dc2cf18e3c8 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:44:43 -0400 Subject: [PATCH 0540/1301] Tweak 'TestAccDocDBCluster_basic'. --- internal/service/docdb/cluster_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/service/docdb/cluster_test.go b/internal/service/docdb/cluster_test.go index 63df1237e0b1..117ddc877da2 100644 --- a/internal/service/docdb/cluster_test.go +++ b/internal/service/docdb/cluster_test.go @@ -81,6 +81,7 @@ func TestAccDocDBCluster_basic(t *testing.T) { resource.TestCheckResourceAttrSet(resourceName, "preferred_backup_window"), resource.TestCheckResourceAttrSet(resourceName, names.AttrPreferredMaintenanceWindow), resource.TestCheckResourceAttrSet(resourceName, "reader_endpoint"), + resource.TestCheckResourceAttr(resourceName, "serverless_v2_scaling_configuration.#", "1"), resource.TestCheckResourceAttr(resourceName, "skip_final_snapshot", acctest.CtTrue), resource.TestCheckNoResourceAttr(resourceName, "snapshot_identifier"), resource.TestCheckResourceAttr(resourceName, names.AttrStorageEncrypted, acctest.CtFalse), From ab5addf15c6ab99ed5beb2694969c719122465e1 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 09:51:09 -0400 Subject: [PATCH 0541/1301] Fix typo. --- internal/service/docdb/cluster_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/docdb/cluster_test.go b/internal/service/docdb/cluster_test.go index 117ddc877da2..8656f91de0c3 100644 --- a/internal/service/docdb/cluster_test.go +++ b/internal/service/docdb/cluster_test.go @@ -81,7 +81,7 @@ func TestAccDocDBCluster_basic(t *testing.T) { resource.TestCheckResourceAttrSet(resourceName, "preferred_backup_window"), resource.TestCheckResourceAttrSet(resourceName, names.AttrPreferredMaintenanceWindow), resource.TestCheckResourceAttrSet(resourceName, "reader_endpoint"), - resource.TestCheckResourceAttr(resourceName, "serverless_v2_scaling_configuration.#", "1"), + resource.TestCheckResourceAttr(resourceName, "serverless_v2_scaling_configuration.#", "0"), resource.TestCheckResourceAttr(resourceName, "skip_final_snapshot", acctest.CtTrue), resource.TestCheckNoResourceAttr(resourceName, "snapshot_identifier"), resource.TestCheckResourceAttr(resourceName, names.AttrStorageEncrypted, acctest.CtFalse), From 6b517239cc944bfe749a812f2f4350554608c7cb Mon Sep 17 00:00:00 2001 From: changelogbot Date: Tue, 5 Aug 2025 14:05:28 +0000 Subject: [PATCH 0542/1301] Update CHANGELOG.md for #43709 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4cbe162e0302..bfa1b0b98f88 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ BUG FIXES: * provider: Fix failure to detect resources deleted outside of Terraform as missing for numerous resource types ([#43659](https://github.com/hashicorp/terraform-provider-aws/issues/43659)) * resource/aws_batch_compute_environment: Fix `inconsistent final plan` error when `compute_resource.launch_template.version` is unknown during an update ([#43337](https://github.com/hashicorp/terraform-provider-aws/issues/43337)) * resource/aws_ec2_managed_prefix_list: Fix `PrefixListVersionMismatch: The prefix list has the incorrect version number` errors when updating entry description ([#43661](https://github.com/hashicorp/terraform-provider-aws/issues/43661)) +* resource/aws_wafv2_regex_pattern_set: Remove maximum items limit on the `regular_expression` argument ([#43693](https://github.com/hashicorp/terraform-provider-aws/issues/43693)) ## 6.7.0 (July 31, 2025) From 0d8e57122e99de857d2817a4b8f41f4b780682da Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 08:34:02 -0400 Subject: [PATCH 0543/1301] backoff: Use 'Delay' interface. --- internal/backoff/backoff.go | 18 ++++++++++++++---- internal/backoff/backoff_test.go | 6 +++--- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/internal/backoff/backoff.go b/internal/backoff/backoff.go index 45134ced6112..95928a339b7b 100644 --- a/internal/backoff/backoff.go +++ b/internal/backoff/backoff.go @@ -17,9 +17,19 @@ type Timer interface { After(time.Duration) <-chan time.Time } +type Delay interface { + // Get returns the duration to wait before the next attempt. + Get(uint) time.Duration +} + // DelayFunc returns the duration to wait before the next attempt. type DelayFunc func(uint) time.Duration +// Get returns the duration to wait before the next attempt. +func (f DelayFunc) Get(n uint) time.Duration { + return f(n) +} + // FixedDelay returns a delay. The first attempt has no delay (0), and subsequent attempts use the fixed delay. func FixedDelay(delay time.Duration) DelayFunc { return func(n uint) time.Duration { @@ -34,7 +44,7 @@ func FixedDelay(delay time.Duration) DelayFunc { // ZeroDelay returns 0 for all attempts. // // This DelayFunc should only be used for testing. -var ZeroDelay = func(n uint) time.Duration { +var ZeroDelay DelayFunc = func(n uint) time.Duration { return 0 } @@ -95,7 +105,7 @@ func DefaultSDKv2HelperRetryCompatibleDelay() DelayFunc { // LoopConfig configures a loop. type LoopConfig struct { - delay DelayFunc + delay Delay gracePeriod time.Duration timer Timer } @@ -111,7 +121,7 @@ func WithGracePeriod(d time.Duration) Option { } } -func WithDelay(d DelayFunc) Option { +func WithDelay(d Delay) Option { if d == nil { return emptyOption } @@ -186,7 +196,7 @@ func (r *Loop) Continue(ctx context.Context) bool { r.gracePeriod = 0 } - r.sleep(ctx, r.config.delay(r.attempt)) + r.sleep(ctx, r.config.delay.Get(r.attempt)) r.attempt++ return context.Cause(ctx) == nil diff --git a/internal/backoff/backoff_test.go b/internal/backoff/backoff_test.go index 633b343cd3ae..4aa253dcc46b 100644 --- a/internal/backoff/backoff_test.go +++ b/internal/backoff/backoff_test.go @@ -29,7 +29,7 @@ func TestDefaultSDKv2HelperRetryCompatibleDelay(t *testing.T) { } var got []time.Duration for i := range len(want) { - got = append(got, delay(uint(i))) + got = append(got, delay.Get(uint(i))) } if diff := cmp.Diff(got, want); diff != "" { @@ -50,7 +50,7 @@ func TestSDKv2HelperRetryCompatibleDelay(t *testing.T) { } var got []time.Duration for i := range len(want) { - got = append(got, delay(uint(i))) + got = append(got, delay.Get(uint(i))) } if diff := cmp.Diff(got, want); diff != "" { @@ -71,7 +71,7 @@ func TestSDKv2HelperRetryCompatibleDelayWithPollTimeout(t *testing.T) { } var got []time.Duration for i := range len(want) { - got = append(got, delay(uint(i))) + got = append(got, delay.Get(uint(i))) } if diff := cmp.Diff(got, want); diff != "" { From d95848c9474aa36368d3a5c587c247f15f40610c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 10:16:09 -0400 Subject: [PATCH 0544/1301] Tweak CHANGELOG entry. --- .changelog/43654.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changelog/43654.txt b/.changelog/43654.txt index d4c533b2871a..bd84ca1c52a8 100644 --- a/.changelog/43654.txt +++ b/.changelog/43654.txt @@ -1,3 +1,3 @@ ```release-note:bug -resource/aws_bedrockagent_flow: Prevent `created_at` becoming null on update. +resource/aws_bedrockagent_flow: Prevent `created_at` becoming `null` on Update ``` From 0b5b41d77aa009bbcecf491870c31b862a185edf Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 10:18:28 -0400 Subject: [PATCH 0545/1301] #43639 removes the need to propagate 'created_at' during Update. --- internal/service/bedrockagent/flow.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/internal/service/bedrockagent/flow.go b/internal/service/bedrockagent/flow.go index 01b59a7a5adf..51a58862bb4e 100644 --- a/internal/service/bedrockagent/flow.go +++ b/internal/service/bedrockagent/flow.go @@ -1070,12 +1070,10 @@ func (r *flowResource) Update(ctx context.Context, request resource.UpdateReques } // Set values for unknowns. - new.CreatedAt = old.CreatedAt new.UpdatedAt = timetypes.NewRFC3339TimePointerValue(output.UpdatedAt) new.Version = fwflex.StringToFramework(ctx, output.Version) new.Status = fwtypes.StringEnumValue(output.Status) } else { - new.CreatedAt = old.CreatedAt new.UpdatedAt = old.UpdatedAt new.Version = old.Version new.Status = old.Status From f3db0be213a8a78cfaa2ff44e8c92a139694bd0b Mon Sep 17 00:00:00 2001 From: sho ishii Date: Tue, 5 Aug 2025 21:36:44 +0900 Subject: [PATCH 0546/1301] feat: aws_sqs_queue's max_message_size increase to 1024kib --- .changelog/43710.txt | 3 +++ internal/service/sqs/queue.go | 2 +- internal/service/sqs/queue_test.go | 4 ++-- 3 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 .changelog/43710.txt diff --git a/.changelog/43710.txt b/.changelog/43710.txt new file mode 100644 index 000000000000..e295a52c655d --- /dev/null +++ b/.changelog/43710.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/aws_sqs_queue: Support max_message_size from 1 KiB to 1024 KiB +``` diff --git a/internal/service/sqs/queue.go b/internal/service/sqs/queue.go index 8d4bec04815a..73945b160c83 100644 --- a/internal/service/sqs/queue.go +++ b/internal/service/sqs/queue.go @@ -93,7 +93,7 @@ var ( Type: schema.TypeInt, Optional: true, Default: defaultQueueMaximumMessageSize, - ValidateFunc: validation.IntBetween(1024, 262_144), + ValidateFunc: validation.IntBetween(1024, 1_048_576), }, "message_retention_seconds": { Type: schema.TypeInt, diff --git a/internal/service/sqs/queue_test.go b/internal/service/sqs/queue_test.go index b815e48e186f..9e9c1ff44251 100644 --- a/internal/service/sqs/queue_test.go +++ b/internal/service/sqs/queue_test.go @@ -1317,7 +1317,7 @@ func testAccQueueConfig_managedEncryptionKMSDataKeyReusePeriodSeconds(rName stri return fmt.Sprintf(` resource "aws_sqs_queue" "test" { kms_data_key_reuse_period_seconds = "60" - max_message_size = "261244" + max_message_size = "1048576" message_retention_seconds = "60" name = %[1]q sqs_managed_sse_enabled = true @@ -1371,7 +1371,7 @@ func testAccQueueConfig_noManagedEncryptionKMSDataKeyReusePeriodSeconds(rName st resource "aws_sqs_queue" "test" { fifo_queue = true kms_data_key_reuse_period_seconds = "60" - max_message_size = "261244" + max_message_size = "1048576" message_retention_seconds = "60" name = "%[1]s.fifo" receive_wait_time_seconds = "10" From d7a7012adfba1391a1dfdcc361a533d040c2887b Mon Sep 17 00:00:00 2001 From: sho ishii Date: Tue, 5 Aug 2025 23:21:16 +0900 Subject: [PATCH 0547/1301] update defaultQueueMaximumMessageSize to new default of 1 MiB --- internal/service/sqs/consts.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/sqs/consts.go b/internal/service/sqs/consts.go index 0bed86575461..91e9e8cef8a0 100644 --- a/internal/service/sqs/consts.go +++ b/internal/service/sqs/consts.go @@ -10,8 +10,8 @@ const ( const ( defaultQueueDelaySeconds = 0 defaultQueueKMSDataKeyReusePeriodSeconds = 300 - defaultQueueMaximumMessageSize = 262_144 // 256 KiB. - defaultQueueMessageRetentionPeriod = 345_600 // 4 days. + defaultQueueMaximumMessageSize = 1_048_576 // 1 MiB. + defaultQueueMessageRetentionPeriod = 345_600 // 4 days. defaultQueueReceiveMessageWaitTimeSeconds = 0 defaultQueueVisibilityTimeout = 30 ) From e387b687b27685f04fb84a615e42bd279096d6b2 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 10:22:27 -0400 Subject: [PATCH 0548/1301] Revert "#43639 removes the need to propagate 'created_at' during Update." This reverts commit 0b5b41d77aa009bbcecf491870c31b862a185edf. --- internal/service/bedrockagent/flow.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/internal/service/bedrockagent/flow.go b/internal/service/bedrockagent/flow.go index 51a58862bb4e..01b59a7a5adf 100644 --- a/internal/service/bedrockagent/flow.go +++ b/internal/service/bedrockagent/flow.go @@ -1070,10 +1070,12 @@ func (r *flowResource) Update(ctx context.Context, request resource.UpdateReques } // Set values for unknowns. + new.CreatedAt = old.CreatedAt new.UpdatedAt = timetypes.NewRFC3339TimePointerValue(output.UpdatedAt) new.Version = fwflex.StringToFramework(ctx, output.Version) new.Status = fwtypes.StringEnumValue(output.Status) } else { + new.CreatedAt = old.CreatedAt new.UpdatedAt = old.UpdatedAt new.Version = old.Version new.Status = old.Status From 104f7af15c9fcb8eb1ac6f30db3bb2544666831f Mon Sep 17 00:00:00 2001 From: sho ishii Date: Tue, 5 Aug 2025 23:22:38 +0900 Subject: [PATCH 0549/1301] update docs to reflect new SQS Queue max_message_size and default --- website/docs/r/sqs_queue.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/r/sqs_queue.html.markdown b/website/docs/r/sqs_queue.html.markdown index 3ed744e70025..c0a6f65ed7a7 100644 --- a/website/docs/r/sqs_queue.html.markdown +++ b/website/docs/r/sqs_queue.html.markdown @@ -112,7 +112,7 @@ This resource supports the following arguments: * `fifo_throughput_limit` - (Optional) Specifies whether the FIFO queue throughput quota applies to the entire queue or per message group. Valid values are `perQueue` (default) and `perMessageGroupId`. * `kms_data_key_reuse_period_seconds` - (Optional) Length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). The default is 300 (5 minutes). * `kms_master_key_id` - (Optional) ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. For more information, see [Key Terms](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-sse-key-terms). -* `max_message_size` - (Optional) Limit of how many bytes a message can contain before Amazon SQS rejects it. An integer from 1024 bytes (1 KiB) up to 262144 bytes (256 KiB). The default for this attribute is 262144 (256 KiB). +* `max_message_size` - (Optional) Limit of how many bytes a message can contain before Amazon SQS rejects it. An integer from 1024 bytes (1 KiB) up to 1048576 bytes (1 MiB). The default for this attribute is 1048576 (1 MiB). * `message_retention_seconds` - (Optional) Number of seconds Amazon SQS retains a message. Integer representing seconds, from 60 (1 minute) to 1209600 (14 days). The default for this attribute is 345600 (4 days). * `name` - (Optional) Name of the queue. Queue names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 80 characters long. For a FIFO (first-in-first-out) queue, the name must end with the `.fifo` suffix. If omitted, Terraform will assign a random, unique name. Conflicts with `name_prefix`. * `name_prefix` - (Optional) Creates a unique name beginning with the specified prefix. Conflicts with `name`. From 39d761bfb3478010ed4dd8377656a4c89306f4a1 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 10:23:35 -0400 Subject: [PATCH 0550/1301] '(Default)SDKv2HelperRetryCompatibleDelay' returns 'Delay' interface. --- internal/backoff/backoff.go | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/internal/backoff/backoff.go b/internal/backoff/backoff.go index 95928a339b7b..d99cf8433988 100644 --- a/internal/backoff/backoff.go +++ b/internal/backoff/backoff.go @@ -49,12 +49,17 @@ var ZeroDelay DelayFunc = func(n uint) time.Duration { } type sdkv2HelperRetryCompatibleDelay struct { + initialDelay time.Duration minTimeout time.Duration pollInterval time.Duration wait time.Duration } -func (d *sdkv2HelperRetryCompatibleDelay) delay() time.Duration { +func (d *sdkv2HelperRetryCompatibleDelay) Get(n uint) time.Duration { + if n == 0 { + return d.initialDelay + } + wait := d.wait // First round had no wait. @@ -82,24 +87,17 @@ func (d *sdkv2HelperRetryCompatibleDelay) delay() time.Duration { } // SDKv2HelperRetryCompatibleDelay returns a Terraform Plugin SDK v2 helper/retry-compatible delay. -func SDKv2HelperRetryCompatibleDelay(initialDelay, pollInterval, minTimeout time.Duration) DelayFunc { - delay := &sdkv2HelperRetryCompatibleDelay{ +func SDKv2HelperRetryCompatibleDelay(initialDelay, pollInterval, minTimeout time.Duration) Delay { + return &sdkv2HelperRetryCompatibleDelay{ + initialDelay: initialDelay, minTimeout: minTimeout, pollInterval: pollInterval, } - - return func(n uint) time.Duration { - if n == 0 { - return initialDelay - } - - return delay.delay() - } } // DefaultSDKv2HelperRetryCompatibleDelay returns a Terraform Plugin SDK v2 helper/retry-compatible delay // with default values (from the `RetryContext` function). -func DefaultSDKv2HelperRetryCompatibleDelay() DelayFunc { +func DefaultSDKv2HelperRetryCompatibleDelay() Delay { return SDKv2HelperRetryCompatibleDelay(0, 0, 500*time.Millisecond) //nolint:mnd // 500ms is the Plugin SDKv2 default } From 7660b1d019e447aa0222dfd60474c8f184cbb34c Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Tue, 5 Aug 2025 10:23:42 -0400 Subject: [PATCH 0551/1301] r/aws_s3tables_table_bucket: revert nil check --- internal/service/s3tables/table_bucket.go | 36 ++++++++++------------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/internal/service/s3tables/table_bucket.go b/internal/service/s3tables/table_bucket.go index ed27c35b3526..a4ecd768546c 100644 --- a/internal/service/s3tables/table_bucket.go +++ b/internal/service/s3tables/table_bucket.go @@ -192,14 +192,12 @@ func (r *tableBucketResource) Create(ctx context.Context, req resource.CreateReq err.Error(), ) } - if awsMaintenanceConfig != nil { - maintenanceConfiguration, d := flattenTableBucketMaintenanceConfiguration(ctx, awsMaintenanceConfig) - resp.Diagnostics.Append(d...) - if resp.Diagnostics.HasError() { - return - } - plan.MaintenanceConfiguration = maintenanceConfiguration + maintenanceConfiguration, d := flattenTableBucketMaintenanceConfiguration(ctx, awsMaintenanceConfig) + resp.Diagnostics.Append(d...) + if resp.Diagnostics.HasError() { + return } + plan.MaintenanceConfiguration = maintenanceConfiguration awsEncryptionConfig, err := findTableBucketEncryptionConfiguration(ctx, conn, plan.ARN.ValueString()) switch { @@ -257,14 +255,12 @@ func (r *tableBucketResource) Read(ctx context.Context, req resource.ReadRequest err.Error(), ) } - if awsMaintenanceConfig != nil { - maintenanceConfiguration, d := flattenTableBucketMaintenanceConfiguration(ctx, awsMaintenanceConfig) - resp.Diagnostics.Append(d...) - if resp.Diagnostics.HasError() { - return - } - state.MaintenanceConfiguration = maintenanceConfiguration + maintenanceConfiguration, d := flattenTableBucketMaintenanceConfiguration(ctx, awsMaintenanceConfig) + resp.Diagnostics.Append(d...) + if resp.Diagnostics.HasError() { + return } + state.MaintenanceConfiguration = maintenanceConfiguration awsEncryptionConfig, err := findTableBucketEncryptionConfiguration(ctx, conn, state.ARN.ValueString()) switch { @@ -369,14 +365,12 @@ func (r *tableBucketResource) Update(ctx context.Context, req resource.UpdateReq err.Error(), ) } - if awsMaintenanceConfig != nil { - maintenanceConfiguration, d := flattenTableBucketMaintenanceConfiguration(ctx, awsMaintenanceConfig) - resp.Diagnostics.Append(d...) - if resp.Diagnostics.HasError() { - return - } - plan.MaintenanceConfiguration = maintenanceConfiguration + maintenanceConfiguration, d := flattenTableBucketMaintenanceConfiguration(ctx, awsMaintenanceConfig) + resp.Diagnostics.Append(d...) + if resp.Diagnostics.HasError() { + return } + plan.MaintenanceConfiguration = maintenanceConfiguration } resp.Diagnostics.Append(resp.State.Set(ctx, &plan)...) From 04834ed9e573a916373a5c3a9828226674651346 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Tue, 5 Aug 2025 10:43:25 -0400 Subject: [PATCH 0552/1301] r/aws_s3tables_table_bucket: refactor `maintenance_configuration` read ops Previously errors returned by the `GetTableBucketMaintenanceConfiguration` API during created, read, or update would not be handled and trigger a panic when the subsequent flattener was called with a `nil` value. The flattener is now only called when no error is returned. ```console % make testacc PKG=s3tables TESTS=TestAccS3TablesTableBucket_ make: Verifying source code with gofmt... ==> Checking that code complies with gofmt requirements... TF_ACC=1 go1.24.5 test ./internal/service/s3tables/... -v -count 1 -parallel 20 -run='TestAccS3TablesTableBucket_' -timeout 360m -vet=off 2025/08/05 10:40:02 Creating Terraform AWS Provider (SDKv2-style)... 2025/08/05 10:40:02 Initializing Terraform AWS Provider (SDKv2-style)... --- PASS: TestAccS3TablesTableBucket_disappears (16.36s) --- PASS: TestAccS3TablesTableBucket_basic (21.56s) --- PASS: TestAccS3TablesTableBucket_encryptionConfiguration (32.78s) --- PASS: TestAccS3TablesTableBucket_maintenanceConfiguration (46.87s) PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/s3tables 53.314s ``` --- internal/service/s3tables/table_bucket.go | 88 ++++++++++++++--------- 1 file changed, 56 insertions(+), 32 deletions(-) diff --git a/internal/service/s3tables/table_bucket.go b/internal/service/s3tables/table_bucket.go index a4ecd768546c..3f599fe834e4 100644 --- a/internal/service/s3tables/table_bucket.go +++ b/internal/service/s3tables/table_bucket.go @@ -176,6 +176,7 @@ func (r *tableBucketResource) Create(ctx context.Context, req resource.CreateReq create.ProblemStandardMessage(names.S3Tables, create.ErrActionCreating, resNameTableBucket, plan.Name.String(), err), err.Error(), ) + return } resp.Diagnostics.Append(flex.Flatten(ctx, bucket, &plan)...) @@ -183,21 +184,22 @@ func (r *tableBucketResource) Create(ctx context.Context, req resource.CreateReq return } - awsMaintenanceConfig, err := conn.GetTableBucketMaintenanceConfiguration(ctx, &s3tables.GetTableBucketMaintenanceConfigurationInput{ - TableBucketARN: bucket.Arn, - }) - if err != nil { + awsMaintenanceConfig, err := findTableBucketMaintenanceConfiguration(ctx, conn, plan.ARN.ValueString()) + switch { + case tfresource.NotFound(err): + case err != nil: resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.S3Tables, create.ErrActionCreating, resNameTableBucket, plan.Name.String(), err), + create.ProblemStandardMessage(names.S3Tables, create.ErrActionReading, resNameTableBucket, plan.Name.String(), err), err.Error(), ) + default: + maintenanceConfiguration, d := flattenTableBucketMaintenanceConfiguration(ctx, awsMaintenanceConfig) + resp.Diagnostics.Append(d...) + if resp.Diagnostics.HasError() { + return + } + plan.MaintenanceConfiguration = maintenanceConfiguration } - maintenanceConfiguration, d := flattenTableBucketMaintenanceConfiguration(ctx, awsMaintenanceConfig) - resp.Diagnostics.Append(d...) - if resp.Diagnostics.HasError() { - return - } - plan.MaintenanceConfiguration = maintenanceConfiguration awsEncryptionConfig, err := findTableBucketEncryptionConfiguration(ctx, conn, plan.ARN.ValueString()) switch { @@ -246,21 +248,22 @@ func (r *tableBucketResource) Read(ctx context.Context, req resource.ReadRequest return } - awsMaintenanceConfig, err := conn.GetTableBucketMaintenanceConfiguration(ctx, &s3tables.GetTableBucketMaintenanceConfigurationInput{ - TableBucketARN: state.ARN.ValueStringPointer(), - }) - if err != nil { + awsMaintenanceConfig, err := findTableBucketMaintenanceConfiguration(ctx, conn, state.ARN.ValueString()) + switch { + case tfresource.NotFound(err): + case err != nil: resp.Diagnostics.AddError( create.ProblemStandardMessage(names.S3Tables, create.ErrActionReading, resNameTableBucket, state.Name.String(), err), err.Error(), ) + default: + maintenanceConfiguration, d := flattenTableBucketMaintenanceConfiguration(ctx, awsMaintenanceConfig) + resp.Diagnostics.Append(d...) + if resp.Diagnostics.HasError() { + return + } + state.MaintenanceConfiguration = maintenanceConfiguration } - maintenanceConfiguration, d := flattenTableBucketMaintenanceConfiguration(ctx, awsMaintenanceConfig) - resp.Diagnostics.Append(d...) - if resp.Diagnostics.HasError() { - return - } - state.MaintenanceConfiguration = maintenanceConfiguration awsEncryptionConfig, err := findTableBucketEncryptionConfiguration(ctx, conn, state.ARN.ValueString()) switch { @@ -356,21 +359,22 @@ func (r *tableBucketResource) Update(ctx context.Context, req resource.UpdateReq } } - awsMaintenanceConfig, err := conn.GetTableBucketMaintenanceConfiguration(ctx, &s3tables.GetTableBucketMaintenanceConfigurationInput{ - TableBucketARN: state.ARN.ValueStringPointer(), - }) - if err != nil { + awsMaintenanceConfig, err := findTableBucketMaintenanceConfiguration(ctx, conn, plan.ARN.ValueString()) + switch { + case tfresource.NotFound(err): + case err != nil: resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.S3Tables, create.ErrActionUpdating, resNameTableBucket, plan.Name.String(), err), + create.ProblemStandardMessage(names.S3Tables, create.ErrActionReading, resNameTableBucket, plan.Name.String(), err), err.Error(), ) + default: + maintenanceConfiguration, d := flattenTableBucketMaintenanceConfiguration(ctx, awsMaintenanceConfig) + resp.Diagnostics.Append(d...) + if resp.Diagnostics.HasError() { + return + } + plan.MaintenanceConfiguration = maintenanceConfiguration } - maintenanceConfiguration, d := flattenTableBucketMaintenanceConfiguration(ctx, awsMaintenanceConfig) - resp.Diagnostics.Append(d...) - if resp.Diagnostics.HasError() { - return - } - plan.MaintenanceConfiguration = maintenanceConfiguration } resp.Diagnostics.Append(resp.State.Set(ctx, &plan)...) @@ -450,6 +454,26 @@ func findTableBucketEncryptionConfiguration(ctx context.Context, conn *s3tables. return out.EncryptionConfiguration, nil } +func findTableBucketMaintenanceConfiguration(ctx context.Context, conn *s3tables.Client, arn string) (*s3tables.GetTableBucketMaintenanceConfigurationOutput, error) { + in := s3tables.GetTableBucketMaintenanceConfigurationInput{ + TableBucketARN: aws.String(arn), + } + + out, err := conn.GetTableBucketMaintenanceConfiguration(ctx, &in) + if err != nil { + if errs.IsA[*awstypes.NotFoundException](err) { + return nil, &retry.NotFoundError{ + LastError: err, + LastRequest: in, + } + } + + return nil, err + } + + return out, nil +} + type tableBucketResourceModel struct { framework.WithRegionModel ARN types.String `tfsdk:"arn"` From c290f3991844fb7576b633673ad8bf5cd44f2273 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Tue, 5 Aug 2025 10:45:02 -0400 Subject: [PATCH 0553/1301] chore: adjust changelog --- .changelog/43707.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.changelog/43707.txt b/.changelog/43707.txt index ef6ce8a84ebb..78331eb79bfe 100644 --- a/.changelog/43707.txt +++ b/.changelog/43707.txt @@ -1,3 +1,3 @@ ```release-note:bug -resource/aws_s3tables_table_bucket: Fix panic on maintenance configuration read failure -``` \ No newline at end of file +resource/aws_s3tables_table_bucket: Fix crash on `maintenance_configuration` read failure +``` From 8e5918434e30c10889808acdd82f7f8c7689d9b4 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 10:54:22 -0400 Subject: [PATCH 0554/1301] Add 'SetIncrementDelay' to 'sdkv2HelperRetryCompatibleDelay'. --- internal/backoff/backoff.go | 46 ++++++++++++++++++++++--------------- 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/internal/backoff/backoff.go b/internal/backoff/backoff.go index d99cf8433988..c8b5944551d3 100644 --- a/internal/backoff/backoff.go +++ b/internal/backoff/backoff.go @@ -49,49 +49,59 @@ var ZeroDelay DelayFunc = func(n uint) time.Duration { } type sdkv2HelperRetryCompatibleDelay struct { - initialDelay time.Duration - minTimeout time.Duration - pollInterval time.Duration - wait time.Duration + delay time.Duration + incrementDelay bool + initialDelay time.Duration + minTimeout time.Duration + pollInterval time.Duration } +// Get returns the duration to wait before the next attempt. func (d *sdkv2HelperRetryCompatibleDelay) Get(n uint) time.Duration { if n == 0 { return d.initialDelay } - wait := d.wait + delay := d.delay // First round had no wait. - if wait == 0 { - wait = 100 * time.Millisecond + if delay == 0 { + delay = 100 * time.Millisecond } - wait *= 2 + if d.incrementDelay { + delay *= 2 + } // If a poll interval has been specified, choose that interval. // Otherwise bound the default value. if d.pollInterval > 0 && d.pollInterval < 180*time.Second { - wait = d.pollInterval + delay = d.pollInterval } else { - if wait < d.minTimeout { - wait = d.minTimeout - } else if wait > 10*time.Second { - wait = 10 * time.Second + if delay < d.minTimeout { + delay = d.minTimeout + } else if delay > 10*time.Second { + delay = 10 * time.Second } } - d.wait = wait + d.delay = delay + + return delay +} - return wait +// SetIncrementDelay sets a flag to determine whether or not the next call to Next increments the delay duration. +func (d *sdkv2HelperRetryCompatibleDelay) SetIncrementDelay(incrementDelay bool) { + d.incrementDelay = incrementDelay } // SDKv2HelperRetryCompatibleDelay returns a Terraform Plugin SDK v2 helper/retry-compatible delay. func SDKv2HelperRetryCompatibleDelay(initialDelay, pollInterval, minTimeout time.Duration) Delay { return &sdkv2HelperRetryCompatibleDelay{ - initialDelay: initialDelay, - minTimeout: minTimeout, - pollInterval: pollInterval, + incrementDelay: true, + initialDelay: initialDelay, + minTimeout: minTimeout, + pollInterval: pollInterval, } } From d1b9a02876758faf48ac57756b73041778b861c7 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 10:56:01 -0400 Subject: [PATCH 0555/1301] 'Get' -> 'Next'. --- internal/backoff/backoff.go | 14 +++++++------- internal/backoff/backoff_test.go | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/internal/backoff/backoff.go b/internal/backoff/backoff.go index c8b5944551d3..7eb8bf22a9b1 100644 --- a/internal/backoff/backoff.go +++ b/internal/backoff/backoff.go @@ -18,15 +18,15 @@ type Timer interface { } type Delay interface { - // Get returns the duration to wait before the next attempt. - Get(uint) time.Duration + // Next returns the duration to wait before the next attempt. + Next(uint) time.Duration } // DelayFunc returns the duration to wait before the next attempt. type DelayFunc func(uint) time.Duration -// Get returns the duration to wait before the next attempt. -func (f DelayFunc) Get(n uint) time.Duration { +// Next returns the duration to wait before the next attempt. +func (f DelayFunc) Next(n uint) time.Duration { return f(n) } @@ -56,8 +56,8 @@ type sdkv2HelperRetryCompatibleDelay struct { pollInterval time.Duration } -// Get returns the duration to wait before the next attempt. -func (d *sdkv2HelperRetryCompatibleDelay) Get(n uint) time.Duration { +// Next returns the duration to wait before the next attempt. +func (d *sdkv2HelperRetryCompatibleDelay) Next(n uint) time.Duration { if n == 0 { return d.initialDelay } @@ -204,7 +204,7 @@ func (r *Loop) Continue(ctx context.Context) bool { r.gracePeriod = 0 } - r.sleep(ctx, r.config.delay.Get(r.attempt)) + r.sleep(ctx, r.config.delay.Next(r.attempt)) r.attempt++ return context.Cause(ctx) == nil diff --git a/internal/backoff/backoff_test.go b/internal/backoff/backoff_test.go index 4aa253dcc46b..878b78d79291 100644 --- a/internal/backoff/backoff_test.go +++ b/internal/backoff/backoff_test.go @@ -29,7 +29,7 @@ func TestDefaultSDKv2HelperRetryCompatibleDelay(t *testing.T) { } var got []time.Duration for i := range len(want) { - got = append(got, delay.Get(uint(i))) + got = append(got, delay.Next(uint(i))) } if diff := cmp.Diff(got, want); diff != "" { @@ -50,7 +50,7 @@ func TestSDKv2HelperRetryCompatibleDelay(t *testing.T) { } var got []time.Duration for i := range len(want) { - got = append(got, delay.Get(uint(i))) + got = append(got, delay.Next(uint(i))) } if diff := cmp.Diff(got, want); diff != "" { @@ -71,7 +71,7 @@ func TestSDKv2HelperRetryCompatibleDelayWithPollTimeout(t *testing.T) { } var got []time.Duration for i := range len(want) { - got = append(got, delay.Get(uint(i))) + got = append(got, delay.Next(uint(i))) } if diff := cmp.Diff(got, want); diff != "" { From bf15b66a2d174efe2ec4b8c8737fd36f2defb5b0 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 11:07:18 -0400 Subject: [PATCH 0556/1301] Add 'DelayWithSetIncrementDelay' interface. --- internal/backoff/backoff.go | 11 +++++++++++ internal/backoff/backoff_test.go | 28 ++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/internal/backoff/backoff.go b/internal/backoff/backoff.go index 7eb8bf22a9b1..be77b6e94eb4 100644 --- a/internal/backoff/backoff.go +++ b/internal/backoff/backoff.go @@ -22,6 +22,13 @@ type Delay interface { Next(uint) time.Duration } +type DelayWithSetIncrementDelay interface { + Delay + + // SetIncrementDelay sets a flag to determine whether or not the next call to Next increments the delay duration. + SetIncrementDelay(bool) +} + // DelayFunc returns the duration to wait before the next attempt. type DelayFunc func(uint) time.Duration @@ -111,6 +118,10 @@ func DefaultSDKv2HelperRetryCompatibleDelay() Delay { return SDKv2HelperRetryCompatibleDelay(0, 0, 500*time.Millisecond) //nolint:mnd // 500ms is the Plugin SDKv2 default } +var ( + _ DelayWithSetIncrementDelay = (*sdkv2HelperRetryCompatibleDelay)(nil) +) + // LoopConfig configures a loop. type LoopConfig struct { delay Delay diff --git a/internal/backoff/backoff_test.go b/internal/backoff/backoff_test.go index 878b78d79291..e7ba0ae359c9 100644 --- a/internal/backoff/backoff_test.go +++ b/internal/backoff/backoff_test.go @@ -37,6 +37,34 @@ func TestDefaultSDKv2HelperRetryCompatibleDelay(t *testing.T) { } } +func TestDefaultSDKv2HelperRetryCompatibleDelayWithIncrementDelay(t *testing.T) { + t.Parallel() + + delay := DefaultSDKv2HelperRetryCompatibleDelay() + want := []time.Duration{ + 0, + 500 * time.Millisecond, + 1 * time.Second, + 1 * time.Second, + 1 * time.Second, + 2 * time.Second, + 4 * time.Second, + 8 * time.Second, + 10 * time.Second, + 10 * time.Second, + } + var got []time.Duration + for i := range len(want) { + delay.(DelayWithSetIncrementDelay).SetIncrementDelay(i < 3 || i > 4) + + got = append(got, delay.Next(uint(i))) + } + + if diff := cmp.Diff(got, want); diff != "" { + t.Errorf("unexpected diff (+wanted, -got): %s", diff) + } +} + func TestSDKv2HelperRetryCompatibleDelay(t *testing.T) { t.Parallel() From 944d82bf937bb8f5d4ce5c7538f740503b7afbff Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 11:13:24 -0400 Subject: [PATCH 0557/1301] WaitForStateContext: Don't increment delay when waiting for the target state to reoccur. --- internal/retry/state.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/internal/retry/state.go b/internal/retry/state.go index cf9f0ddceb9f..2da6edd67c0b 100644 --- a/internal/retry/state.go +++ b/internal/retry/state.go @@ -78,13 +78,13 @@ func (conf *StateChangeConfOf[T, S]) WaitForStateContext(ctx context.Context) (T conf.ContinuousTargetOccurence = 1 } - // Set a default DelayFunc using the StateChangeConf values - delayFunc := backoff.SDKv2HelperRetryCompatibleDelay(conf.Delay, conf.PollInterval, conf.MinTimeout) + // Set a default Delay using the StateChangeConf values + delay := backoff.SDKv2HelperRetryCompatibleDelay(conf.Delay, conf.PollInterval, conf.MinTimeout) // When VCR testing in replay mode, override the default DelayFunc if inContext, ok := conns.FromContext(ctx); ok && inContext.VCREnabled() { if mode, _ := vcr.Mode(); mode == recorder.ModeReplayOnly { - delayFunc = backoff.ZeroDelay + delay = backoff.ZeroDelay } } @@ -95,7 +95,7 @@ func (conf *StateChangeConfOf[T, S]) WaitForStateContext(ctx context.Context) (T notFoundTick, targetOccurence int l *backoff.Loop ) - for l = backoff.NewLoopWithOptions(conf.Timeout, backoff.WithDelay(delayFunc)); l.Continue(ctx); { + for l = backoff.NewLoopWithOptions(conf.Timeout, backoff.WithDelay(delay)); l.Continue(ctx); { t, currentState, err = conf.refreshWithTimeout(ctx, l.Remaining()) if errors.Is(err, context.DeadlineExceeded) { @@ -151,6 +151,12 @@ func (conf *StateChangeConfOf[T, S]) WaitForStateContext(ctx context.Context) (T ExpectedState: tfslices.Strings(conf.Target), } } + + // Wait between refreshes using exponential backoff, except when + // waiting for the target state to reoccur. + if v, ok := delay.(backoff.DelayWithSetIncrementDelay); ok { + v.SetIncrementDelay(targetOccurence == 0) + } } } From 03dae64b62c66f7be6dc79661a6c5942e35c72cb Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 12:06:52 -0400 Subject: [PATCH 0558/1301] Add CHANGELOG entry. --- .changelog/#####.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/#####.txt diff --git a/.changelog/#####.txt b/.changelog/#####.txt new file mode 100644 index 000000000000..f646f6bfa8b4 --- /dev/null +++ b/.changelog/#####.txt @@ -0,0 +1,3 @@ +```release-note:bug +resource/aws_kms_key: Restore pre-v6.3.0 retry delay behavior when waiting for continuous target state occurences. This fixes certain tag update timeouts +``` \ No newline at end of file From a233f1aaf5f1295b8708079fbe42dcf12c0049cb Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 12:11:04 -0400 Subject: [PATCH 0559/1301] Correct CHANGELOG entry file name. --- .changelog/{#####.txt => 43716.txt} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .changelog/{#####.txt => 43716.txt} (100%) diff --git a/.changelog/#####.txt b/.changelog/43716.txt similarity index 100% rename from .changelog/#####.txt rename to .changelog/43716.txt From 8db1d8f9c26c2f12c27c401517ec414b09d48db3 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 12:13:24 -0400 Subject: [PATCH 0560/1301] Spelling. --- .changelog/43716.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changelog/43716.txt b/.changelog/43716.txt index f646f6bfa8b4..6b6ad616d213 100644 --- a/.changelog/43716.txt +++ b/.changelog/43716.txt @@ -1,3 +1,3 @@ ```release-note:bug -resource/aws_kms_key: Restore pre-v6.3.0 retry delay behavior when waiting for continuous target state occurences. This fixes certain tag update timeouts +resource/aws_kms_key: Restore pre-v6.3.0 retry delay behavior when waiting for continuous target state occurrences. This fixes certain tag update timeouts ``` \ No newline at end of file From 185978e1c2bde603bfb3dd547b6f2f8f47dafd14 Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Tue, 5 Aug 2025 13:34:16 -0500 Subject: [PATCH 0561/1301] aws_instance: add force_destroy virtual attribute --- internal/service/ec2/ec2_instance.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/internal/service/ec2/ec2_instance.go b/internal/service/ec2/ec2_instance.go index 0212932a47ad..58c200c46959 100644 --- a/internal/service/ec2/ec2_instance.go +++ b/internal/service/ec2/ec2_instance.go @@ -358,6 +358,11 @@ func resourceInstance() *schema.Resource { return create.StringHashcode(buf.String()) }, }, + names.AttrForceDestroy: { + Type: schema.TypeBool, + Optional: true, + Default: false, + }, "get_password_data": { Type: schema.TypeBool, Optional: true, @@ -2232,8 +2237,10 @@ func resourceInstanceDelete(ctx context.Context, d *schema.ResourceData, meta an var diags diag.Diagnostics conn := meta.(*conns.AWSClient).EC2Client(ctx) - if err := disableInstanceAPITermination(ctx, conn, d.Id(), false); err != nil { - log.Printf("[WARN] attempting to terminate EC2 Instance (%s) despite error disabling API termination: %s", d.Id(), err) + if d.Get(names.AttrForceDestroy).(bool) { + if err := disableInstanceAPITermination(ctx, conn, d.Id(), false); err != nil { + log.Printf("[WARN] attempting to terminate EC2 Instance (%s) despite error disabling API termination: %s", d.Id(), err) + } } if v, ok := d.GetOk("disable_api_stop"); ok { From 0bb671a199b3c7ce0f709171bd37948a5920bf54 Mon Sep 17 00:00:00 2001 From: changelogbot Date: Tue, 5 Aug 2025 18:38:10 +0000 Subject: [PATCH 0562/1301] Update CHANGELOG.md for #43534 --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bfa1b0b98f88..a6344ca68530 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ FEATURES: ENHANCEMENTS: * data-source/aws_quicksight_user: Add `custom_permissions_name` attribute ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) +* resource/aws_docdb_cluster: Add `serverless_v2_scaling_configuration` argument in support of [Amazon DocumentDB serverless](https://docs.aws.amazon.com/documentdb/latest/developerguide/docdb-serverless.html) ([#43667](https://github.com/hashicorp/terraform-provider-aws/issues/43667)) * resource/aws_inspector2_enabler: Support resource import ([#43673](https://github.com/hashicorp/terraform-provider-aws/issues/43673)) * resource/aws_ivschat_logging_configuration: Add resource identity support ([#43697](https://github.com/hashicorp/terraform-provider-aws/issues/43697)) * resource/aws_ivschat_room: Add resource identity support ([#43697](https://github.com/hashicorp/terraform-provider-aws/issues/43697)) @@ -23,7 +24,10 @@ BUG FIXES: * provider: Fix failure to detect resources deleted outside of Terraform as missing for numerous resource types ([#43659](https://github.com/hashicorp/terraform-provider-aws/issues/43659)) * resource/aws_batch_compute_environment: Fix `inconsistent final plan` error when `compute_resource.launch_template.version` is unknown during an update ([#43337](https://github.com/hashicorp/terraform-provider-aws/issues/43337)) +* resource/aws_bedrockagent_flow: Prevent `created_at` becoming `null` on Update ([#43654](https://github.com/hashicorp/terraform-provider-aws/issues/43654)) * resource/aws_ec2_managed_prefix_list: Fix `PrefixListVersionMismatch: The prefix list has the incorrect version number` errors when updating entry description ([#43661](https://github.com/hashicorp/terraform-provider-aws/issues/43661)) +* resource/aws_s3tables_table_bucket: Fix crash on `maintenance_configuration` read failure ([#43707](https://github.com/hashicorp/terraform-provider-aws/issues/43707)) +* resource/aws_timestreaminfluxdb_db_instance: Don't mark `network_type` as [ForceNew](https://developer.hashicorp.com/terraform/plugin/sdkv2/schemas/schema-behaviors#forcenew) if the value is not configured. This fixes a problem with `terraform apply -refresh=false` after upgrade from `v5.90.0` and below ([#43534](https://github.com/hashicorp/terraform-provider-aws/issues/43534)) * resource/aws_wafv2_regex_pattern_set: Remove maximum items limit on the `regular_expression` argument ([#43693](https://github.com/hashicorp/terraform-provider-aws/issues/43693)) ## 6.7.0 (July 31, 2025) From 614d63c75ada1748de9323407572e0f5a1861bbb Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Tue, 5 Aug 2025 13:40:20 -0500 Subject: [PATCH 0563/1301] aws_instance: ignore force_destroy on import verification --- internal/service/ec2/ec2_instance_test.go | 182 +++++++++++----------- 1 file changed, 92 insertions(+), 90 deletions(-) diff --git a/internal/service/ec2/ec2_instance_test.go b/internal/service/ec2/ec2_instance_test.go index 7b63a4fe10c9..f31cb4f09e8f 100644 --- a/internal/service/ec2/ec2_instance_test.go +++ b/internal/service/ec2/ec2_instance_test.go @@ -202,7 +202,7 @@ func TestAccEC2Instance_basic(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -257,7 +257,7 @@ func TestAccEC2Instance_inDefaultVPCBySgName(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -285,7 +285,7 @@ func TestAccEC2Instance_inDefaultVPCBySgID(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -318,7 +318,7 @@ func TestAccEC2Instance_atLeastOneOtherEBSVolume(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, // We repeat the exact same test so that we can be sure // that the user data hash stuff is working without generating @@ -451,7 +451,7 @@ func TestAccEC2Instance_RootBlockDevice_kmsKeyARN(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -480,7 +480,7 @@ func TestAccEC2Instance_userDataBase64(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data", "user_data_replace_on_change"}, }, }, }) @@ -515,7 +515,7 @@ func TestAccEC2Instance_userDataBase64_updateWithBashFile(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data", "user_data_replace_on_change"}, }, }, }) @@ -550,7 +550,7 @@ func TestAccEC2Instance_userDataBase64_updateWithZipFile(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data", "user_data_replace_on_change"}, }, }, }) @@ -586,7 +586,7 @@ func TestAccEC2Instance_userDataBase64_update(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data", "user_data_replace_on_change"}, }, }, }) @@ -636,7 +636,7 @@ func TestAccEC2Instance_gp2IopsDevice(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -776,7 +776,7 @@ func TestAccEC2Instance_blockDevices(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"ephemeral_block_device", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"ephemeral_block_device", "force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -807,7 +807,7 @@ func TestAccEC2Instance_rootInstanceStore(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -876,7 +876,7 @@ func TestAccEC2Instance_noAMIEphemeralDevices(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"ephemeral_block_device", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"ephemeral_block_device", "force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -918,7 +918,7 @@ func TestAccEC2Instance_sourceDestCheck(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_sourceDestEnable(rName), @@ -962,7 +962,7 @@ func TestAccEC2Instance_autoRecovery(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_autoRecovery(rName, "disabled"), @@ -999,7 +999,7 @@ func TestAccEC2Instance_disableAPIStop(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_disableAPIStop(rName, false), @@ -1035,7 +1035,7 @@ func TestAccEC2Instance_disableAPITerminationFinalFalse(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_disableAPITermination(rName, false), @@ -1065,13 +1065,14 @@ func TestAccEC2Instance_disableAPITerminationFinalTrue(t *testing.T) { Check: resource.ComposeTestCheckFunc( testAccCheckInstanceExists(ctx, resourceName, &v), resource.TestCheckResourceAttr(resourceName, "disable_api_termination", acctest.CtTrue), + resource.TestCheckResourceAttr(resourceName, "force_destroy", acctest.CtTrue), ), }, { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -1134,7 +1135,7 @@ func TestAccEC2Instance_outpost(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -1222,7 +1223,7 @@ func TestAccEC2Instance_IPv6_supportAddressCount(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -1277,7 +1278,7 @@ func TestAccEC2Instance_IPv6_primaryEnable(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -1314,7 +1315,7 @@ func TestAccEC2Instance_IPv6_primaryDisable(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -1343,7 +1344,7 @@ func TestAccEC2Instance_IPv6_supportAddressCountWithIPv4(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -1437,7 +1438,7 @@ func TestAccEC2Instance_IPv6AddressesExplicit(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -1566,7 +1567,7 @@ func TestAccEC2Instance_BlockDeviceTags_volumeTags(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"ephemeral_block_device", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"ephemeral_block_device", "force_destroy", "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_blockDeviceTagsVolumeTags(rName), @@ -1699,7 +1700,7 @@ func TestAccEC2Instance_BlockDeviceTags_ebsAndRoot(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"ephemeral_block_device", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"ephemeral_block_device", "force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -2058,7 +2059,7 @@ func TestAccEC2Instance_instanceProfileChange(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_profile(rName1), @@ -2117,7 +2118,7 @@ func TestAccEC2Instance_iamInstanceProfile(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -2146,7 +2147,7 @@ func TestAccEC2Instance_iamInstanceProfilePath(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -2185,7 +2186,7 @@ func TestAccEC2Instance_privateIP(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -2224,7 +2225,7 @@ func TestAccEC2Instance_associatePublicIPAndPrivateIP(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -2265,7 +2266,7 @@ func TestAccEC2Instance_Empty_privateIP(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -2297,7 +2298,7 @@ func TestAccEC2Instance_PrivateDNSNameOptions_computed(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -2329,7 +2330,7 @@ func TestAccEC2Instance_PrivateDNSNameOptions_configured(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_PrivateDNSNameOptions_configured(rName, true, true, "ip-name"), @@ -2435,7 +2436,7 @@ func TestAccEC2Instance_forceNewAndTagsDrift(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -2481,7 +2482,7 @@ func TestAccEC2Instance_changeInstanceType(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_instanceType(rName, "t2.large"), @@ -2639,7 +2640,7 @@ func TestAccEC2Instance_changeInstanceTypeAndUserData(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data", "user_data_replace_on_change"}, }, }, }) @@ -2677,7 +2678,7 @@ func TestAccEC2Instance_changeInstanceTypeAndUserDataBase64(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data", "user_data_replace_on_change"}, }, }, }) @@ -3156,7 +3157,7 @@ func TestAccEC2Instance_EBSRootDevice_multipleDynamicEBSBlockDevices(t *testing. ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -3207,7 +3208,7 @@ func TestAccEC2Instance_gp3RootBlockDevice(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -3383,7 +3384,7 @@ func TestAccEC2Instance_addSecurityGroupNetworkInterface(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_addSecurityGroupAfter(rName), @@ -3431,7 +3432,7 @@ func TestAccEC2Instance_NewNetworkInterface_publicIPAndSecondaryPrivateIPs(t *te ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -3463,7 +3464,7 @@ func TestAccEC2Instance_NewNetworkInterface_emptyPrivateIPAndSecondaryPrivateIPs ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -3512,7 +3513,7 @@ func TestAccEC2Instance_NewNetworkInterface_emptyPrivateIPAndSecondaryPrivateIPs ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -3545,7 +3546,7 @@ func TestAccEC2Instance_NewNetworkInterface_privateIPAndSecondaryPrivateIPs(t *t ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -3595,7 +3596,7 @@ func TestAccEC2Instance_NewNetworkInterface_privateIPAndSecondaryPrivateIPsUpdat ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -3626,7 +3627,7 @@ func TestAccEC2Instance_AssociatePublic_defaultPrivate(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -3657,7 +3658,7 @@ func TestAccEC2Instance_AssociatePublic_defaultPublic(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -3688,7 +3689,7 @@ func TestAccEC2Instance_AssociatePublic_explicitPublic(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -3719,7 +3720,7 @@ func TestAccEC2Instance_AssociatePublic_explicitPrivate(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -3750,7 +3751,7 @@ func TestAccEC2Instance_AssociatePublic_overridePublic(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -3781,7 +3782,7 @@ func TestAccEC2Instance_AssociatePublic_overridePrivate(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -4083,7 +4084,7 @@ func TestAccEC2Instance_GetPasswordData_falseToTrue(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_getPasswordData(rName, publicKey, true), @@ -4176,7 +4177,7 @@ func TestAccEC2Instance_cpuOptionsAmdSevSnpUnspecifiedToDisabledToEnabledToUnspe ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, { // test DiffSuppressFunc to suppress "" to "disabled" @@ -4243,7 +4244,7 @@ func TestAccEC2Instance_cpuOptionsAmdSevSnpUnspecifiedToEnabledToDisabledToUnspe ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, { // expect recreation when it is enabled @@ -4308,7 +4309,7 @@ func TestAccEC2Instance_cpuOptionsAmdSevSnpEnabledToDisabled(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_cpuOptionsAmdSevSnp(rName, string(awstypes.AmdSevSnpSpecificationDisabled)), @@ -4352,7 +4353,7 @@ func TestAccEC2Instance_cpuOptionsAmdSevSnpDisabledToEnabled(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_cpuOptionsAmdSevSnp(rName, string(awstypes.AmdSevSnpSpecificationEnabled)), @@ -4403,7 +4404,7 @@ func TestAccEC2Instance_cpuOptionsAmdSevSnpCoreThreads(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_cpuOptionsAmdSevSnpCoreThreads(rName, string(awstypes.AmdSevSnpSpecificationDisabled), updatedCoreCount, updatedThreadsPerCore), @@ -4450,7 +4451,7 @@ func TestAccEC2Instance_cpuOptionsCoreThreads(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_cpuOptionsCoreThreads(rName, updatedCoreCount, updatedThreadsPerCore), @@ -4494,7 +4495,7 @@ func TestAccEC2Instance_cpuOptionsCoreThreadsUnspecifiedToSpecified(t *testing.T ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, { // EC2 instance should not be recreated @@ -4608,7 +4609,7 @@ func TestAccEC2Instance_CreditSpecificationUnspecifiedToEmpty_nonBurstable(t *te ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_creditSpecificationEmptyNonBurstable(rName), @@ -4644,7 +4645,7 @@ func TestAccEC2Instance_CreditSpecification_unspecifiedDefaultsToStandard(t *tes ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -4674,7 +4675,7 @@ func TestAccEC2Instance_CreditSpecification_standardCPUCredits(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_creditSpecificationUnspecified(rName), @@ -4712,7 +4713,7 @@ func TestAccEC2Instance_CreditSpecification_unlimitedCPUCredits(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_creditSpecificationUnspecified(rName), @@ -4750,7 +4751,7 @@ func TestAccEC2Instance_CreditSpecificationUnknownCPUCredits_t2(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -4780,7 +4781,7 @@ func TestAccEC2Instance_CreditSpecificationUnknownCPUCredits_t3(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -4810,7 +4811,7 @@ func TestAccEC2Instance_CreditSpecificationUnknownCPUCredits_t3a(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -4840,7 +4841,7 @@ func TestAccEC2Instance_CreditSpecificationUnknownCPUCredits_t4g(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -4870,7 +4871,7 @@ func TestAccEC2Instance_CreditSpecification_updateCPUCredits(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_creditSpecificationUnlimitedCPUCredits(rName), @@ -4944,7 +4945,7 @@ func TestAccEC2Instance_CreditSpecificationT3_unspecifiedDefaultsToUnlimited(t * ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -4974,7 +4975,7 @@ func TestAccEC2Instance_CreditSpecificationT3_standardCPUCredits(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_creditSpecificationUnspecifiedT3(rName), @@ -5012,7 +5013,7 @@ func TestAccEC2Instance_CreditSpecificationT3_unlimitedCPUCredits(t *testing.T) ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_creditSpecificationUnspecifiedT3(rName), @@ -5050,7 +5051,7 @@ func TestAccEC2Instance_CreditSpecificationT3_updateCPUCredits(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_creditSpecificationUnlimitedCPUCreditsT3(rName), @@ -5096,7 +5097,7 @@ func TestAccEC2Instance_CreditSpecificationStandardCPUCredits_t2Tot3Taint(t *tes ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_creditSpecificationStandardCPUCreditsT3(rName), @@ -5135,7 +5136,7 @@ func TestAccEC2Instance_CreditSpecificationUnlimitedCPUCredits_t2Tot3Taint(t *te ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_creditSpecificationUnlimitedCPUCreditsT3(rName), @@ -5236,7 +5237,7 @@ func TestAccEC2Instance_UserData_basic(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -5276,7 +5277,7 @@ func TestAccEC2Instance_UserData_update(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -5310,7 +5311,7 @@ func TestAccEC2Instance_UserData_stringToEncodedString(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data", "user_data_replace_on_change"}, }, }, }) @@ -5343,7 +5344,7 @@ func TestAccEC2Instance_UserData_emptyStringToUnspecified(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data", "user_data_replace_on_change"}, }, // Switching should show no difference { @@ -5388,7 +5389,7 @@ func TestAccEC2Instance_UserData_unspecifiedToEmptyString(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, // Switching should show no difference { @@ -5432,7 +5433,7 @@ func TestAccEC2Instance_UserData_ReplaceOnChange_On(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, // Switching should force a recreate { @@ -5518,7 +5519,7 @@ func TestAccEC2Instance_UserData_ReplaceOnChange_Off(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, // Switching should not force a recreate { @@ -5604,7 +5605,7 @@ func TestAccEC2Instance_hibernation(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_hibernation(rName, false), @@ -5694,7 +5695,7 @@ func TestAccEC2Instance_metadataOptions(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -5724,7 +5725,7 @@ func TestAccEC2Instance_enclaveOptions(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_enclaveOptions(rName, false), @@ -5769,7 +5770,7 @@ func TestAccEC2Instance_CapacityReservation_unspecifiedDefaultsToOpen(t *testing ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, // Adding 'open' preference should show no difference { @@ -5812,7 +5813,7 @@ func TestAccEC2Instance_CapacityReservationPreference_open(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -5843,7 +5844,7 @@ func TestAccEC2Instance_CapacityReservationPreference_none(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -5874,7 +5875,7 @@ func TestAccEC2Instance_CapacityReservation_targetID(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -5994,7 +5995,7 @@ func TestAccEC2Instance_basicWithSpot(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, }, }, }) @@ -7012,6 +7013,7 @@ resource "aws_instance" "test" { instance_type = "t2.small" subnet_id = aws_subnet.test.id disable_api_termination = %[2]t +force_destroy = true tags = { Name = %[1]q From 005476c571d1012aa17ccab2d87ff4da1bfe7346 Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Tue, 5 Aug 2025 13:58:38 -0500 Subject: [PATCH 0564/1301] fmt --- internal/service/ec2/ec2_instance_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/ec2/ec2_instance_test.go b/internal/service/ec2/ec2_instance_test.go index f31cb4f09e8f..d42bc9f19380 100644 --- a/internal/service/ec2/ec2_instance_test.go +++ b/internal/service/ec2/ec2_instance_test.go @@ -7013,7 +7013,7 @@ resource "aws_instance" "test" { instance_type = "t2.small" subnet_id = aws_subnet.test.id disable_api_termination = %[2]t -force_destroy = true + force_destroy = true tags = { Name = %[1]q From b3dc025b06ad58337a0957c82b8a5ee6d3195e65 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 15:51:03 -0400 Subject: [PATCH 0565/1301] Tweak CHANGELOG entry. --- .changelog/43702.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changelog/43702.txt b/.changelog/43702.txt index 1f5139e749b6..c7b51d0eb2c6 100644 --- a/.changelog/43702.txt +++ b/.changelog/43702.txt @@ -1,3 +1,3 @@ ```release-note:enhancement -resource/aws_bedrock_guardrail: Add `input_action`, `output_action`, `input_enabled`, and `output_enabled` fields to `pii_entities_config` and `regexes_config` blocks for enhanced granular control over guardrail actions +resource/aws_bedrock_guardrail: Add `input_action`, `output_action`, `input_enabled`, and `output_enabled` attributes to `sensitive_information_policy_config.pii_entities_config` and `sensitive_information_policy_config.regexes_config` configuration blocks ``` From 8db62e5f7b4073a9642a7e4d1b256fcb1ce33174 Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Tue, 5 Aug 2025 14:52:35 -0500 Subject: [PATCH 0566/1301] add CHANGELOG entry --- .changelog/43722.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/43722.txt diff --git a/.changelog/43722.txt b/.changelog/43722.txt new file mode 100644 index 000000000000..e1008ef6cb43 --- /dev/null +++ b/.changelog/43722.txt @@ -0,0 +1,3 @@ +```release-note:bug +resource/aws_instance: Prevent destruction of resource when `disable_api_termination` is `true`. Adds `force_destroy` argument +``` \ No newline at end of file From 65c0e9b35503154d1b0a07ae794afda6647d47ac Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Tue, 5 Aug 2025 15:11:56 -0500 Subject: [PATCH 0567/1301] make semgrep-fix --- internal/service/ec2/ec2_instance_test.go | 182 +++++++++++----------- 1 file changed, 91 insertions(+), 91 deletions(-) diff --git a/internal/service/ec2/ec2_instance_test.go b/internal/service/ec2/ec2_instance_test.go index d42bc9f19380..b34304ad93ca 100644 --- a/internal/service/ec2/ec2_instance_test.go +++ b/internal/service/ec2/ec2_instance_test.go @@ -202,7 +202,7 @@ func TestAccEC2Instance_basic(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -257,7 +257,7 @@ func TestAccEC2Instance_inDefaultVPCBySgName(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -285,7 +285,7 @@ func TestAccEC2Instance_inDefaultVPCBySgID(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -318,7 +318,7 @@ func TestAccEC2Instance_atLeastOneOtherEBSVolume(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, // We repeat the exact same test so that we can be sure // that the user data hash stuff is working without generating @@ -451,7 +451,7 @@ func TestAccEC2Instance_RootBlockDevice_kmsKeyARN(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -480,7 +480,7 @@ func TestAccEC2Instance_userDataBase64(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data", "user_data_replace_on_change"}, }, }, }) @@ -515,7 +515,7 @@ func TestAccEC2Instance_userDataBase64_updateWithBashFile(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data", "user_data_replace_on_change"}, }, }, }) @@ -550,7 +550,7 @@ func TestAccEC2Instance_userDataBase64_updateWithZipFile(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data", "user_data_replace_on_change"}, }, }, }) @@ -586,7 +586,7 @@ func TestAccEC2Instance_userDataBase64_update(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data", "user_data_replace_on_change"}, }, }, }) @@ -636,7 +636,7 @@ func TestAccEC2Instance_gp2IopsDevice(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -776,7 +776,7 @@ func TestAccEC2Instance_blockDevices(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"ephemeral_block_device", "force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"ephemeral_block_device", names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -807,7 +807,7 @@ func TestAccEC2Instance_rootInstanceStore(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -876,7 +876,7 @@ func TestAccEC2Instance_noAMIEphemeralDevices(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"ephemeral_block_device", "force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"ephemeral_block_device", names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -918,7 +918,7 @@ func TestAccEC2Instance_sourceDestCheck(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_sourceDestEnable(rName), @@ -962,7 +962,7 @@ func TestAccEC2Instance_autoRecovery(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_autoRecovery(rName, "disabled"), @@ -999,7 +999,7 @@ func TestAccEC2Instance_disableAPIStop(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_disableAPIStop(rName, false), @@ -1035,7 +1035,7 @@ func TestAccEC2Instance_disableAPITerminationFinalFalse(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_disableAPITermination(rName, false), @@ -1065,14 +1065,14 @@ func TestAccEC2Instance_disableAPITerminationFinalTrue(t *testing.T) { Check: resource.ComposeTestCheckFunc( testAccCheckInstanceExists(ctx, resourceName, &v), resource.TestCheckResourceAttr(resourceName, "disable_api_termination", acctest.CtTrue), - resource.TestCheckResourceAttr(resourceName, "force_destroy", acctest.CtTrue), + resource.TestCheckResourceAttr(resourceName, names.AttrForceDestroy, acctest.CtTrue), ), }, { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -1135,7 +1135,7 @@ func TestAccEC2Instance_outpost(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -1223,7 +1223,7 @@ func TestAccEC2Instance_IPv6_supportAddressCount(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -1278,7 +1278,7 @@ func TestAccEC2Instance_IPv6_primaryEnable(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -1315,7 +1315,7 @@ func TestAccEC2Instance_IPv6_primaryDisable(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -1344,7 +1344,7 @@ func TestAccEC2Instance_IPv6_supportAddressCountWithIPv4(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -1438,7 +1438,7 @@ func TestAccEC2Instance_IPv6AddressesExplicit(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -1567,7 +1567,7 @@ func TestAccEC2Instance_BlockDeviceTags_volumeTags(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"ephemeral_block_device", "force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"ephemeral_block_device", names.AttrForceDestroy, "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_blockDeviceTagsVolumeTags(rName), @@ -1700,7 +1700,7 @@ func TestAccEC2Instance_BlockDeviceTags_ebsAndRoot(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"ephemeral_block_device", "force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{"ephemeral_block_device", names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -2059,7 +2059,7 @@ func TestAccEC2Instance_instanceProfileChange(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_profile(rName1), @@ -2118,7 +2118,7 @@ func TestAccEC2Instance_iamInstanceProfile(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -2147,7 +2147,7 @@ func TestAccEC2Instance_iamInstanceProfilePath(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -2186,7 +2186,7 @@ func TestAccEC2Instance_privateIP(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -2225,7 +2225,7 @@ func TestAccEC2Instance_associatePublicIPAndPrivateIP(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -2266,7 +2266,7 @@ func TestAccEC2Instance_Empty_privateIP(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -2298,7 +2298,7 @@ func TestAccEC2Instance_PrivateDNSNameOptions_computed(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -2330,7 +2330,7 @@ func TestAccEC2Instance_PrivateDNSNameOptions_configured(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_PrivateDNSNameOptions_configured(rName, true, true, "ip-name"), @@ -2436,7 +2436,7 @@ func TestAccEC2Instance_forceNewAndTagsDrift(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -2482,7 +2482,7 @@ func TestAccEC2Instance_changeInstanceType(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_instanceType(rName, "t2.large"), @@ -2640,7 +2640,7 @@ func TestAccEC2Instance_changeInstanceTypeAndUserData(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data", "user_data_replace_on_change"}, }, }, }) @@ -2678,7 +2678,7 @@ func TestAccEC2Instance_changeInstanceTypeAndUserDataBase64(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data", "user_data_replace_on_change"}, }, }, }) @@ -3157,7 +3157,7 @@ func TestAccEC2Instance_EBSRootDevice_multipleDynamicEBSBlockDevices(t *testing. ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -3208,7 +3208,7 @@ func TestAccEC2Instance_gp3RootBlockDevice(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -3384,7 +3384,7 @@ func TestAccEC2Instance_addSecurityGroupNetworkInterface(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_addSecurityGroupAfter(rName), @@ -3432,7 +3432,7 @@ func TestAccEC2Instance_NewNetworkInterface_publicIPAndSecondaryPrivateIPs(t *te ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -3464,7 +3464,7 @@ func TestAccEC2Instance_NewNetworkInterface_emptyPrivateIPAndSecondaryPrivateIPs ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -3513,7 +3513,7 @@ func TestAccEC2Instance_NewNetworkInterface_emptyPrivateIPAndSecondaryPrivateIPs ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -3546,7 +3546,7 @@ func TestAccEC2Instance_NewNetworkInterface_privateIPAndSecondaryPrivateIPs(t *t ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -3596,7 +3596,7 @@ func TestAccEC2Instance_NewNetworkInterface_privateIPAndSecondaryPrivateIPsUpdat ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -3627,7 +3627,7 @@ func TestAccEC2Instance_AssociatePublic_defaultPrivate(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -3658,7 +3658,7 @@ func TestAccEC2Instance_AssociatePublic_defaultPublic(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -3689,7 +3689,7 @@ func TestAccEC2Instance_AssociatePublic_explicitPublic(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -3720,7 +3720,7 @@ func TestAccEC2Instance_AssociatePublic_explicitPrivate(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -3751,7 +3751,7 @@ func TestAccEC2Instance_AssociatePublic_overridePublic(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -3782,7 +3782,7 @@ func TestAccEC2Instance_AssociatePublic_overridePrivate(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -4084,7 +4084,7 @@ func TestAccEC2Instance_GetPasswordData_falseToTrue(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_getPasswordData(rName, publicKey, true), @@ -4177,7 +4177,7 @@ func TestAccEC2Instance_cpuOptionsAmdSevSnpUnspecifiedToDisabledToEnabledToUnspe ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, { // test DiffSuppressFunc to suppress "" to "disabled" @@ -4244,7 +4244,7 @@ func TestAccEC2Instance_cpuOptionsAmdSevSnpUnspecifiedToEnabledToDisabledToUnspe ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, { // expect recreation when it is enabled @@ -4309,7 +4309,7 @@ func TestAccEC2Instance_cpuOptionsAmdSevSnpEnabledToDisabled(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_cpuOptionsAmdSevSnp(rName, string(awstypes.AmdSevSnpSpecificationDisabled)), @@ -4353,7 +4353,7 @@ func TestAccEC2Instance_cpuOptionsAmdSevSnpDisabledToEnabled(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_cpuOptionsAmdSevSnp(rName, string(awstypes.AmdSevSnpSpecificationEnabled)), @@ -4404,7 +4404,7 @@ func TestAccEC2Instance_cpuOptionsAmdSevSnpCoreThreads(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_cpuOptionsAmdSevSnpCoreThreads(rName, string(awstypes.AmdSevSnpSpecificationDisabled), updatedCoreCount, updatedThreadsPerCore), @@ -4451,7 +4451,7 @@ func TestAccEC2Instance_cpuOptionsCoreThreads(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_cpuOptionsCoreThreads(rName, updatedCoreCount, updatedThreadsPerCore), @@ -4495,7 +4495,7 @@ func TestAccEC2Instance_cpuOptionsCoreThreadsUnspecifiedToSpecified(t *testing.T ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, { // EC2 instance should not be recreated @@ -4609,7 +4609,7 @@ func TestAccEC2Instance_CreditSpecificationUnspecifiedToEmpty_nonBurstable(t *te ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_creditSpecificationEmptyNonBurstable(rName), @@ -4645,7 +4645,7 @@ func TestAccEC2Instance_CreditSpecification_unspecifiedDefaultsToStandard(t *tes ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -4675,7 +4675,7 @@ func TestAccEC2Instance_CreditSpecification_standardCPUCredits(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_creditSpecificationUnspecified(rName), @@ -4713,7 +4713,7 @@ func TestAccEC2Instance_CreditSpecification_unlimitedCPUCredits(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_creditSpecificationUnspecified(rName), @@ -4751,7 +4751,7 @@ func TestAccEC2Instance_CreditSpecificationUnknownCPUCredits_t2(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -4781,7 +4781,7 @@ func TestAccEC2Instance_CreditSpecificationUnknownCPUCredits_t3(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -4811,7 +4811,7 @@ func TestAccEC2Instance_CreditSpecificationUnknownCPUCredits_t3a(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -4841,7 +4841,7 @@ func TestAccEC2Instance_CreditSpecificationUnknownCPUCredits_t4g(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -4871,7 +4871,7 @@ func TestAccEC2Instance_CreditSpecification_updateCPUCredits(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_creditSpecificationUnlimitedCPUCredits(rName), @@ -4945,7 +4945,7 @@ func TestAccEC2Instance_CreditSpecificationT3_unspecifiedDefaultsToUnlimited(t * ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -4975,7 +4975,7 @@ func TestAccEC2Instance_CreditSpecificationT3_standardCPUCredits(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_creditSpecificationUnspecifiedT3(rName), @@ -5013,7 +5013,7 @@ func TestAccEC2Instance_CreditSpecificationT3_unlimitedCPUCredits(t *testing.T) ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_creditSpecificationUnspecifiedT3(rName), @@ -5051,7 +5051,7 @@ func TestAccEC2Instance_CreditSpecificationT3_updateCPUCredits(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_creditSpecificationUnlimitedCPUCreditsT3(rName), @@ -5097,7 +5097,7 @@ func TestAccEC2Instance_CreditSpecificationStandardCPUCredits_t2Tot3Taint(t *tes ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_creditSpecificationStandardCPUCreditsT3(rName), @@ -5136,7 +5136,7 @@ func TestAccEC2Instance_CreditSpecificationUnlimitedCPUCredits_t2Tot3Taint(t *te ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_creditSpecificationUnlimitedCPUCreditsT3(rName), @@ -5237,7 +5237,7 @@ func TestAccEC2Instance_UserData_basic(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -5277,7 +5277,7 @@ func TestAccEC2Instance_UserData_update(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -5311,7 +5311,7 @@ func TestAccEC2Instance_UserData_stringToEncodedString(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data", "user_data_replace_on_change"}, }, }, }) @@ -5344,7 +5344,7 @@ func TestAccEC2Instance_UserData_emptyStringToUnspecified(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data", "user_data_replace_on_change"}, }, // Switching should show no difference { @@ -5389,7 +5389,7 @@ func TestAccEC2Instance_UserData_unspecifiedToEmptyString(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, // Switching should show no difference { @@ -5433,7 +5433,7 @@ func TestAccEC2Instance_UserData_ReplaceOnChange_On(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, // Switching should force a recreate { @@ -5519,7 +5519,7 @@ func TestAccEC2Instance_UserData_ReplaceOnChange_Off(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, // Switching should not force a recreate { @@ -5605,7 +5605,7 @@ func TestAccEC2Instance_hibernation(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_hibernation(rName, false), @@ -5695,7 +5695,7 @@ func TestAccEC2Instance_metadataOptions(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -5725,7 +5725,7 @@ func TestAccEC2Instance_enclaveOptions(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, { Config: testAccInstanceConfig_enclaveOptions(rName, false), @@ -5770,7 +5770,7 @@ func TestAccEC2Instance_CapacityReservation_unspecifiedDefaultsToOpen(t *testing ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, // Adding 'open' preference should show no difference { @@ -5813,7 +5813,7 @@ func TestAccEC2Instance_CapacityReservationPreference_open(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -5844,7 +5844,7 @@ func TestAccEC2Instance_CapacityReservationPreference_none(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -5875,7 +5875,7 @@ func TestAccEC2Instance_CapacityReservation_targetID(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) @@ -5995,7 +5995,7 @@ func TestAccEC2Instance_basicWithSpot(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"force_destroy", "user_data_replace_on_change"}, + ImportStateVerifyIgnore: []string{names.AttrForceDestroy, "user_data_replace_on_change"}, }, }, }) From 856c776b310cca25e55685e06fd81815e8068548 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Tue, 5 Aug 2025 16:13:54 -0400 Subject: [PATCH 0568/1301] docs: add AI agent guide index, arn-based resource identity guide The `docs/ai-agent-guides` subfolder will serve as a collection of documents providing context to AI agents. In an effort to share these guides amongst team members and the community, these will be hosted directly in the contributor documentation. --- docs/ai-agent-guides.md | 9 ++ .../arn-based-resource-identity.md | 109 ++++++++++++++++++ mkdocs.yml | 1 + 3 files changed, 119 insertions(+) create mode 100644 docs/ai-agent-guides.md create mode 100644 docs/ai-agent-guides/arn-based-resource-identity.md diff --git a/docs/ai-agent-guides.md b/docs/ai-agent-guides.md new file mode 100644 index 000000000000..e20a5322c083 --- /dev/null +++ b/docs/ai-agent-guides.md @@ -0,0 +1,9 @@ +# AI Agent Guides + +This page serves as an index of documents which can be provided to AI agents as context to solve specific tasks. +Documents should include generalized instructions and remain tool agnostic. +Scope should be limited to a single task per document. + +| Document | Description | +| --- | --- | +| [ARN-based Resource Identity](./ai-agent-guides/arn-based-resource-identity.md) | Add resource identity to to resources where ARN is the sole identifier. | diff --git a/docs/ai-agent-guides/arn-based-resource-identity.md b/docs/ai-agent-guides/arn-based-resource-identity.md new file mode 100644 index 000000000000..906004d27110 --- /dev/null +++ b/docs/ai-agent-guides/arn-based-resource-identity.md @@ -0,0 +1,109 @@ +# Adding Resource Identity to ARN-based Resources + +You are working on the [Terraform AWS Provider](https://github.com/hashicorp/terraform-provider-aws), specifically focused on adding [resource identity](https://developer.hashicorp.com/terraform/plugin/sdkv2/resources/identity) to existing ARN-based Plugin SDKV2 resources. +[This Github issue](https://github.com/hashicorp/terraform-provider-aws/issues/42984) contains the resources that need resource identity support and have an ARN based identity. + +When adding resource identity, all resources in a service should be done in the same pull request. +Follow the steps below to complete this task. + +## 1. Prepare the branch + +- The feature branch name should begin with `f-ri` and be suffixed with the name of the service being updated, e.g. `f-ri-elbv2`. If the current branch does not match this convention, create one. +- Ensure the feature branch is rebased with the `main` branch. + +## 2. Add resource identity to each resource + +The changes for each individual resource should be done in its own commit. +Use the following steps to add resource identity to an existing resource: + +- Add the `@ArnIdentity` annotation to the target resource. If the corresponding property is named `arn`, then the `arnAttribute` value does not need to be specified. +- If the resource's test file uses a `CheckExists` helper function that accepts 3 parameters rather than 2 (you can check this in the resource's test file), add another annotation to the resource file in the format `// @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2/types;types.TrustStore")`, but replacing the type with the correct one for the resource in question. The type should match the third parameter of the CheckExists function. +- Since we are newly adding identity to this resource, add an annotation indicating the most recent pre-identity version, e.g. `@Testing(preIdentityVersion="v6.3.0")`. Use `CHANGELOG.md` at the project root to determine the most recently released version (which will be the last before identity is added). +- Some resources will have an importer function defined. If that function uses `schema.ImportStatePassthroughContext` as `StateContext` value then remove that importer function declaration as it is no longer necessary. +- If the service does not use generated tag tests, you will need to create template files in the `testdata/tmpl` directory. For each resource, create a file named `_tags.gtpl` (e.g., `trust_store_tags.gtpl`). +- Populate each template file with the configuration from the resource's `_basic` test. If populating from the `_basic` configuration, be sure to replace any string format directives (e.g. `name = %[1]q`) with a corresponding reference to a variable (e.g. `name = var.rName`). +- The generators will use the template files to generate the resource identity test configuration. These will be located in the `testdata` directory for the service. **Do not manually create test directories or files as they will be generated.** +- The region template must be included inside each resource block in the template files. Add it as the first line after the resource declaration: + +```hcl +resource "aws_service_thing" "test" { +{{- template "region" }} + name = var.rName +{{- template "tags" }} +} +``` + +- If the test configuration references an `aws_region` data source, the region template should also be embedded here. + +```hcl +data "aws_region" "current" { +{{- template "region" }} +} +``` + +## 3. Generate and test the changes + +- Run the generators for this service. This can be done with the following command (e.g. for the elbv2 package): `go generate ./internal/service/elbv2/...`. This will generate tests for Resource Identity and any required test files. +- Run the tests in this order: + - First run the basic identity test: `make testacc PKG= TESTS=TestAcc_Identity_Basic` + - Run all identity tests: `make testacc PKG= TESTS=TestAcc_Identity` + - Finally, run all tests for the resource: `make testacc PKG= TESTS=TestAcc_`. **Always include the `PKG` parameter to properly scope the tests to the intended service package.** +- Ensure the template modifications have not introduced any structural changes that would fail `terraform fmt`. To verify, run `terraform fmt -recursive -check`, and confirm there is no output. +- If all the preceding steps complete successfully commit the changes with an appropriate message, e.g. `r/aws_lb_target_group: add resource identity`. Ensure the commit message body includes the results of the acceptance test run in the previous step. + +Repeat steps 2 and 3 for each resource in the service. When all resources are complete, proceed to the next section. + +## 4. Submit a pull request + +**!!!Important!!!**: Ask for confirmation before proceeding with this step. + +- Push the changes. +- Create a draft pull request with the following details: + - Title: "Add ARN-based resource identity to ``", e.g. "Add ARN-based resource identity to `elbv2`". + - Use the following template for the body. Be sure to replace the acceptance test results section with the full results + +``` +### Description +Add resource identity to ARN-based resources in ``. This includes: + + + +### Relations +Relates #42983 +Relates #42984 + +### Output from Acceptance Testing + + + +``` + +- Once the pull request is created, fetch the PR number to add changelog entries. Create a new file, `.changelog/.txt`, and include one enhancement entry per resource. Refer to `.changelog/43503.txt` for the appropriate formatting. +- Provide a summary of the completed changes. + +## Common Issues and Troubleshooting + +### Test Failures + +- Ensure `PKG` parameter is included in test commands +- Verify template file names match exactly (`_tags.gtpl`) +- Check region template placement is inside resource blocks +- Don't create test directories manually - let the generator create them +- If a generated test panics because a `testAccCheck*Exists` helper function has incorrect arguments, add a `@Testing(existsType="")` annotation. NEVER modify the function signature of an existing "exists" helper function + +### Generator Issues + +- Remove any manually created test directories before running the generator +- Ensure template files are in the correct location (`testdata/tmpl`) +- Verify template file names match the resource name +- If identity tests are not generated, verify that the `identitytests` generator is being called within the service's `generate.go` file. If it isn't, add the following line to `generate.go` next to the existing `go:generate` directives. + +```go +//go:generate go run ../../generate/identitytests/main.go +``` + +### Resource Updates + +- Check if the resource's check exists helper takes 3 parameters +- Verify the correct type is used in the `existsType` annotation +- Ensure importer is only removed if using `ImportStatePassthroughContext` diff --git a/mkdocs.yml b/mkdocs.yml index c47b638bab0e..f820c06697a8 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -32,6 +32,7 @@ nav: - How We Prioritize: prioritization.md - Developer Reference: - Acceptance Test Environment Variables: acc-test-environment-variables.md + - AI Agent Guides: ai-agent-guides.md - AWS SDK Go Base: aws-sdk-go-base.md - Core Services: core-services.md - Data Handling and Conversion: data-handling-and-conversion.md From b62dc30272a6df9db4a97f3b426a6fe94d9ab94b Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Tue, 5 Aug 2025 15:23:31 -0500 Subject: [PATCH 0569/1301] aws_instance: update docs --- website/docs/r/instance.html.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/website/docs/r/instance.html.markdown b/website/docs/r/instance.html.markdown index d8a46ec4b08a..e06a6ed42442 100644 --- a/website/docs/r/instance.html.markdown +++ b/website/docs/r/instance.html.markdown @@ -224,6 +224,7 @@ This resource supports the following arguments: * `enable_primary_ipv6` - (Optional) Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. * `enclave_options` - (Optional) Enable Nitro Enclaves on launched instances. See [Enclave Options](#enclave-options) below for more details. * `ephemeral_block_device` - (Optional) One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See [Block Devices](#ebs-ephemeral-and-root-block-devices) below for details. When accessing this as an attribute reference, it is a set of objects. +* `force_destroy` - (Optional) Destroys instance even if `disable_api_termination` is set to `true`. Defaults to `false`. * `get_password_data` - (Optional) If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the `password_data` attribute. See [GetPasswordData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetPasswordData.html) for more information. * `hibernation` - (Optional) If true, the launched EC2 instance will support hibernation. * `host_id` - (Optional) ID of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host. From 211ea4626fc6270bf7214484387e54e1e78f40fe Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 5 Aug 2025 16:48:51 -0400 Subject: [PATCH 0570/1301] Remove additional constants. --- internal/service/bedrock/guardrail.go | 16 ++++++++-------- names/attr_constants.csv | 4 ---- names/attr_consts_gen.go | 4 ---- 3 files changed, 8 insertions(+), 16 deletions(-) diff --git a/internal/service/bedrock/guardrail.go b/internal/service/bedrock/guardrail.go index 2cb9c0b50553..636e30718c10 100644 --- a/internal/service/bedrock/guardrail.go +++ b/internal/service/bedrock/guardrail.go @@ -226,7 +226,7 @@ func (r *guardrailResource) Schema(ctx context.Context, req resource.SchemaReque Required: true, CustomType: fwtypes.StringEnumType[awstypes.GuardrailSensitiveInformationAction](), }, - names.AttrInputAction: schema.StringAttribute{ + "input_action": schema.StringAttribute{ Optional: true, Computed: true, CustomType: fwtypes.StringEnumType[awstypes.GuardrailSensitiveInformationAction](), @@ -234,14 +234,14 @@ func (r *guardrailResource) Schema(ctx context.Context, req resource.SchemaReque stringplanmodifier.UseStateForUnknown(), }, }, - names.AttrInputEnabled: schema.BoolAttribute{ + "input_enabled": schema.BoolAttribute{ Optional: true, Computed: true, PlanModifiers: []planmodifier.Bool{ boolplanmodifier.UseStateForUnknown(), }, }, - names.AttrOutputAction: schema.StringAttribute{ + "output_action": schema.StringAttribute{ Optional: true, Computed: true, CustomType: fwtypes.StringEnumType[awstypes.GuardrailSensitiveInformationAction](), @@ -249,7 +249,7 @@ func (r *guardrailResource) Schema(ctx context.Context, req resource.SchemaReque stringplanmodifier.UseStateForUnknown(), }, }, - names.AttrOutputEnabled: schema.BoolAttribute{ + "output_enabled": schema.BoolAttribute{ Optional: true, Computed: true, PlanModifiers: []planmodifier.Bool{ @@ -281,7 +281,7 @@ func (r *guardrailResource) Schema(ctx context.Context, req resource.SchemaReque stringplanmodifier.UseStateForUnknown(), }, }, - names.AttrInputAction: schema.StringAttribute{ + "input_action": schema.StringAttribute{ Optional: true, Computed: true, CustomType: fwtypes.StringEnumType[awstypes.GuardrailSensitiveInformationAction](), @@ -289,7 +289,7 @@ func (r *guardrailResource) Schema(ctx context.Context, req resource.SchemaReque stringplanmodifier.UseStateForUnknown(), }, }, - names.AttrInputEnabled: schema.BoolAttribute{ + "input_enabled": schema.BoolAttribute{ Optional: true, Computed: true, PlanModifiers: []planmodifier.Bool{ @@ -302,7 +302,7 @@ func (r *guardrailResource) Schema(ctx context.Context, req resource.SchemaReque stringvalidator.LengthBetween(1, 100), }, }, - names.AttrOutputAction: schema.StringAttribute{ + "output_action": schema.StringAttribute{ Optional: true, Computed: true, CustomType: fwtypes.StringEnumType[awstypes.GuardrailSensitiveInformationAction](), @@ -310,7 +310,7 @@ func (r *guardrailResource) Schema(ctx context.Context, req resource.SchemaReque stringplanmodifier.UseStateForUnknown(), }, }, - names.AttrOutputEnabled: schema.BoolAttribute{ + "output_enabled": schema.BoolAttribute{ Optional: true, Computed: true, PlanModifiers: []planmodifier.Bool{ diff --git a/names/attr_constants.csv b/names/attr_constants.csv index 12856e9d0273..292ca28a602c 100644 --- a/names/attr_constants.csv +++ b/names/attr_constants.csv @@ -89,8 +89,6 @@ iam_role_arn,IAMRoleARN id,ID identifier,Identifier ids,IDs -input_action,InputAction -input_enabled,InputEnabled instance_count,InstanceCount instance_id,InstanceID instance_type,InstanceType @@ -129,8 +127,6 @@ network_interface_id,NetworkInterfaceID owner,Owner owner_account_id,OwnerAccountID owner_id,OwnerID -output_action,OutputAction -output_enabled,OutputEnabled parameter,Parameter parameter_group_name,ParameterGroupName parameters,Parameters diff --git a/names/attr_consts_gen.go b/names/attr_consts_gen.go index 85b683254a18..783e418eb0f4 100644 --- a/names/attr_consts_gen.go +++ b/names/attr_consts_gen.go @@ -100,8 +100,6 @@ const ( AttrIPAddressType = "ip_address_type" AttrIPAddresses = "ip_addresses" AttrIdentifier = "identifier" - AttrInputAction = "input_action" - AttrInputEnabled = "input_enabled" AttrInstanceCount = "instance_count" AttrInstanceID = "instance_id" AttrInstanceType = "instance_type" @@ -133,8 +131,6 @@ const ( AttrNamespace = "namespace" AttrNetworkConfiguration = "network_configuration" AttrNetworkInterfaceID = "network_interface_id" - AttrOutputAction = "output_action" - AttrOutputEnabled = "output_enabled" AttrOwner = "owner" AttrOwnerAccountID = "owner_account_id" AttrOwnerID = "owner_id" From 6c1fa3afe618ecd438d8488a45a7beb1d9af7244 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Tue, 5 Aug 2025 16:53:09 -0400 Subject: [PATCH 0571/1301] r/aws_cloudwatch_log_group: add resource identity support (#43719) Adds parameterized resource identity support to the `aws_cloudwatch_log_group` resource. ```console % make testacc PKG=logs TESTS=TestAccLogsLogGroup_ make: Verifying source code with gofmt... ==> Checking that code complies with gofmt requirements... TF_ACC=1 go1.24.5 test ./internal/service/logs/... -v -count 1 -parallel 20 -run='TestAccLogsLogGroup_' -timeout 360m -vet=off 2025/08/05 14:23:05 Creating Terraform AWS Provider (SDKv2-style)... 2025/08/05 14:23:06 Initializing Terraform AWS Provider (SDKv2-style)... --- PASS: TestAccLogsLogGroup_tags_DefaultTags_nullOverlappingResourceTag (51.19s) === CONT TestAccLogsLogGroup_tags_ComputedTag_OnCreate --- PASS: TestAccLogsLogGroup_tags_DefaultTags_emptyResourceTag (51.60s) === CONT TestAccLogsLogGroup_tags_null --- PASS: TestAccLogsLogGroup_tags_DefaultTags_emptyProviderOnlyTag (53.23s) === CONT TestAccLogsLogGroup_tags_EmptyTag_OnUpdate_Add --- PASS: TestAccLogsLogGroup_tags_DefaultTags_nullNonOverlappingResourceTag (55.10s) === CONT TestAccLogsLogGroup_tags_EmptyTag_OnCreate --- PASS: TestAccLogsLogGroup_Identity_RegionOverride (69.79s) --- PASS: TestAccLogsLogGroup_Identity_Basic (72.80s) --- PASS: TestAccLogsLogGroup_tags_EmptyMap (75.54s) --- PASS: TestAccLogsLogGroup_Identity_ExistingResource (81.34s) --- PASS: TestAccLogsLogGroup_tags_DefaultTags_updateToProviderOnly (81.50s) --- PASS: TestAccLogsLogGroup_tags_AddOnUpdate (83.08s) --- PASS: TestAccLogsLogGroup_tags_DefaultTags_updateToResourceOnly (85.27s) --- PASS: TestAccLogsLogGroup_tags_ComputedTag_OnUpdate_Add (86.54s) --- PASS: TestAccLogsLogGroup_tags_EmptyTag_OnUpdate_Replace (87.37s) --- PASS: TestAccLogsLogGroup_tags_ComputedTag_OnUpdate_Replace (88.23s) --- PASS: TestAccLogsLogGroup_tags_IgnoreTags_Overlap_DefaultTag (93.68s) --- PASS: TestAccLogsLogGroup_tags_ComputedTag_OnCreate (43.20s) --- PASS: TestAccLogsLogGroup_tags_null (50.95s) --- PASS: TestAccLogsLogGroup_tags_IgnoreTags_Overlap_ResourceTag (103.65s) --- PASS: TestAccLogsLogGroup_tags_DefaultTags_nonOverlapping (110.13s) --- PASS: TestAccLogsLogGroup_tags_DefaultTags_overlapping (110.71s) --- PASS: TestAccLogsLogGroup_tags_EmptyTag_OnCreate (56.21s) --- PASS: TestAccLogsLogGroup_tags_EmptyTag_OnUpdate_Add (68.33s) --- PASS: TestAccLogsLogGroup_tags (121.65s) --- PASS: TestAccLogsLogGroup_tags_DefaultTags_providerOnly (123.63s) PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/logs 129.985s ``` --- .changelog/43719.txt | 3 + internal/service/logs/generate.go | 1 + internal/service/logs/group.go | 7 +- .../service/logs/group_identity_gen_test.go | 256 ++++++++++++++++++ internal/service/logs/service_package_gen.go | 6 +- .../logs/testdata/LogGroup/basic/main_gen.tf | 14 + .../LogGroup/basic_v6.7.0/main_gen.tf | 24 ++ .../LogGroup/region_override/main_gen.tf | 22 ++ .../logs/testdata/tmpl/group_tags.gtpl | 1 + 9 files changed, 329 insertions(+), 5 deletions(-) create mode 100644 .changelog/43719.txt create mode 100644 internal/service/logs/group_identity_gen_test.go create mode 100644 internal/service/logs/testdata/LogGroup/basic/main_gen.tf create mode 100644 internal/service/logs/testdata/LogGroup/basic_v6.7.0/main_gen.tf create mode 100644 internal/service/logs/testdata/LogGroup/region_override/main_gen.tf diff --git a/.changelog/43719.txt b/.changelog/43719.txt new file mode 100644 index 000000000000..6352f6cd5ae4 --- /dev/null +++ b/.changelog/43719.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/aws_cloudwatch_log_group: Add resource identity support +``` diff --git a/internal/service/logs/generate.go b/internal/service/logs/generate.go index 77a88af01db9..7d17deb8ecc3 100644 --- a/internal/service/logs/generate.go +++ b/internal/service/logs/generate.go @@ -5,6 +5,7 @@ //go:generate go run ../../generate/tags/main.go -ListTags -ServiceTagsMap -UpdateTags -CreateTags -KVTValues //go:generate go run ../../generate/servicepackage/main.go //go:generate go run ../../generate/tagstests/main.go +//go:generate go run ../../generate/identitytests/main.go // ONLY generate directives and package declaration! Do not add anything else to this file. package logs diff --git a/internal/service/logs/group.go b/internal/service/logs/group.go index b4fd241bc3c5..577373b89d4c 100644 --- a/internal/service/logs/group.go +++ b/internal/service/logs/group.go @@ -31,6 +31,9 @@ import ( // @Testing(destroyTakesT=true) // @Testing(existsTakesT=true) // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs/types;awstypes;awstypes.LogGroup") +// @IdentityAttribute("name") +// @Testing(idAttrDuplicates="name") +// @Testing(preIdentityVersion="v6.7.0") func resourceGroup() *schema.Resource { return &schema.Resource{ CreateWithoutTimeout: resourceGroupCreate, @@ -38,10 +41,6 @@ func resourceGroup() *schema.Resource { UpdateWithoutTimeout: resourceGroupUpdate, DeleteWithoutTimeout: resourceGroupDelete, - Importer: &schema.ResourceImporter{ - StateContext: schema.ImportStatePassthroughContext, - }, - Schema: map[string]*schema.Schema{ names.AttrARN: { Type: schema.TypeString, diff --git a/internal/service/logs/group_identity_gen_test.go b/internal/service/logs/group_identity_gen_test.go new file mode 100644 index 000000000000..fb76105ab9ac --- /dev/null +++ b/internal/service/logs/group_identity_gen_test.go @@ -0,0 +1,256 @@ +// Code generated by internal/generate/identitytests/main.go; DO NOT EDIT. + +package logs_test + +import ( + "testing" + + awstypes "github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs/types" + "github.com/hashicorp/terraform-plugin-testing/compare" + "github.com/hashicorp/terraform-plugin-testing/config" + sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-plugin-testing/tfversion" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfknownvalue "github.com/hashicorp/terraform-provider-aws/internal/acctest/knownvalue" + tfstatecheck "github.com/hashicorp/terraform-provider-aws/internal/acctest/statecheck" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccLogsLogGroup_Identity_Basic(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.LogGroup + resourceName := "aws_cloudwatch_log_group.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.LogsServiceID), + CheckDestroy: testAccCheckLogGroupDestroy(ctx, t), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/LogGroup/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckLogGroupExists(ctx, t, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.CompareValuePairs(resourceName, tfjsonpath.New(names.AttrID), resourceName, tfjsonpath.New(names.AttrName), compare.ValuesSame()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.Region()), + names.AttrName: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrName)), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/LogGroup/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/LogGroup/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrName), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/LogGroup/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrName), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + }, + }) +} + +func TestAccLogsLogGroup_Identity_RegionOverride(t *testing.T) { + ctx := acctest.Context(t) + + resourceName := "aws_cloudwatch_log_group.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.LogsServiceID), + CheckDestroy: acctest.CheckDestroyNoop, + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/LogGroup/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.CompareValuePairs(resourceName, tfjsonpath.New(names.AttrID), resourceName, tfjsonpath.New(names.AttrName), compare.ValuesSame()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrName: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrName)), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/LogGroup/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/LogGroup/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrName), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/LogGroup/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrName), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + }, + }) +} + +// Resource Identity was added after v6.7.0 +func TestAccLogsLogGroup_Identity_ExistingResource(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.LogGroup + resourceName := "aws_cloudwatch_log_group.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.LogsServiceID), + CheckDestroy: testAccCheckLogGroupDestroy(ctx, t), + Steps: []resource.TestStep{ + // Step 1: Create pre-Identity + { + ConfigDirectory: config.StaticDirectory("testdata/LogGroup/basic_v6.7.0/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckLogGroupExists(ctx, t, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + tfstatecheck.ExpectNoIdentity(resourceName), + }, + }, + + // Step 2: Current version + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/LogGroup/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.Region()), + names.AttrName: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrName)), + }, + }, + }, + }) +} diff --git a/internal/service/logs/service_package_gen.go b/internal/service/logs/service_package_gen.go index eddb0234edec..c5e32bb19f90 100644 --- a/internal/service/logs/service_package_gen.go +++ b/internal/service/logs/service_package_gen.go @@ -137,7 +137,11 @@ func (p *servicePackage) SDKResources(ctx context.Context) []*inttypes.ServicePa Tags: unique.Make(inttypes.ServicePackageResourceTags{ IdentifierAttribute: names.AttrARN, }), - Region: unique.Make(inttypes.ResourceRegionDefault()), + Region: unique.Make(inttypes.ResourceRegionDefault()), + Identity: inttypes.RegionalSingleParameterIdentity(names.AttrName), + Import: inttypes.SDKv2Import{ + WrappedImport: true, + }, }, { Factory: resourceMetricFilter, diff --git a/internal/service/logs/testdata/LogGroup/basic/main_gen.tf b/internal/service/logs/testdata/LogGroup/basic/main_gen.tf new file mode 100644 index 000000000000..462cf2e84768 --- /dev/null +++ b/internal/service/logs/testdata/LogGroup/basic/main_gen.tf @@ -0,0 +1,14 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_cloudwatch_log_group" "test" { + name = var.rName + + retention_in_days = 1 +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} diff --git a/internal/service/logs/testdata/LogGroup/basic_v6.7.0/main_gen.tf b/internal/service/logs/testdata/LogGroup/basic_v6.7.0/main_gen.tf new file mode 100644 index 000000000000..1e20ca91f8af --- /dev/null +++ b/internal/service/logs/testdata/LogGroup/basic_v6.7.0/main_gen.tf @@ -0,0 +1,24 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_cloudwatch_log_group" "test" { + name = var.rName + + retention_in_days = 1 +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "6.7.0" + } + } +} + +provider "aws" {} diff --git a/internal/service/logs/testdata/LogGroup/region_override/main_gen.tf b/internal/service/logs/testdata/LogGroup/region_override/main_gen.tf new file mode 100644 index 000000000000..3ce5c7e9d413 --- /dev/null +++ b/internal/service/logs/testdata/LogGroup/region_override/main_gen.tf @@ -0,0 +1,22 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_cloudwatch_log_group" "test" { + region = var.region + + name = var.rName + + retention_in_days = 1 +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "region" { + description = "Region to deploy resource in" + type = string + nullable = false +} diff --git a/internal/service/logs/testdata/tmpl/group_tags.gtpl b/internal/service/logs/testdata/tmpl/group_tags.gtpl index af28eac61c69..3f199faa19f5 100644 --- a/internal/service/logs/testdata/tmpl/group_tags.gtpl +++ b/internal/service/logs/testdata/tmpl/group_tags.gtpl @@ -1,4 +1,5 @@ resource "aws_cloudwatch_log_group" "test" { +{{- template "region" }} name = var.rName retention_in_days = 1 From 76bd696c0cb1cf0b45f4cd51cb7bd9f6929abaf9 Mon Sep 17 00:00:00 2001 From: changelogbot Date: Tue, 5 Aug 2025 20:58:08 +0000 Subject: [PATCH 0572/1301] Update CHANGELOG.md for #43719 --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a6344ca68530..687b8cc90f82 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ FEATURES: ENHANCEMENTS: * data-source/aws_quicksight_user: Add `custom_permissions_name` attribute ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) +* resource/aws_cloudwatch_log_group: Add resource identity support ([#43719](https://github.com/hashicorp/terraform-provider-aws/issues/43719)) * resource/aws_docdb_cluster: Add `serverless_v2_scaling_configuration` argument in support of [Amazon DocumentDB serverless](https://docs.aws.amazon.com/documentdb/latest/developerguide/docdb-serverless.html) ([#43667](https://github.com/hashicorp/terraform-provider-aws/issues/43667)) * resource/aws_inspector2_enabler: Support resource import ([#43673](https://github.com/hashicorp/terraform-provider-aws/issues/43673)) * resource/aws_ivschat_logging_configuration: Add resource identity support ([#43697](https://github.com/hashicorp/terraform-provider-aws/issues/43697)) @@ -26,6 +27,7 @@ BUG FIXES: * resource/aws_batch_compute_environment: Fix `inconsistent final plan` error when `compute_resource.launch_template.version` is unknown during an update ([#43337](https://github.com/hashicorp/terraform-provider-aws/issues/43337)) * resource/aws_bedrockagent_flow: Prevent `created_at` becoming `null` on Update ([#43654](https://github.com/hashicorp/terraform-provider-aws/issues/43654)) * resource/aws_ec2_managed_prefix_list: Fix `PrefixListVersionMismatch: The prefix list has the incorrect version number` errors when updating entry description ([#43661](https://github.com/hashicorp/terraform-provider-aws/issues/43661)) +* resource/aws_fsx_lustre_file_system: Fix validation of SSD read cache size for file systems using the Intelligent-Tiering storage class ([#43605](https://github.com/hashicorp/terraform-provider-aws/issues/43605)) * resource/aws_s3tables_table_bucket: Fix crash on `maintenance_configuration` read failure ([#43707](https://github.com/hashicorp/terraform-provider-aws/issues/43707)) * resource/aws_timestreaminfluxdb_db_instance: Don't mark `network_type` as [ForceNew](https://developer.hashicorp.com/terraform/plugin/sdkv2/schemas/schema-behaviors#forcenew) if the value is not configured. This fixes a problem with `terraform apply -refresh=false` after upgrade from `v5.90.0` and below ([#43534](https://github.com/hashicorp/terraform-provider-aws/issues/43534)) * resource/aws_wafv2_regex_pattern_set: Remove maximum items limit on the `regular_expression` argument ([#43693](https://github.com/hashicorp/terraform-provider-aws/issues/43693)) From 93bf2b523e2aef9642a4a90c8c8e08bd43de432b Mon Sep 17 00:00:00 2001 From: sho ishii Date: Wed, 6 Aug 2025 13:23:33 +0900 Subject: [PATCH 0573/1301] Revert "update defaultQueueMaximumMessageSize to new default of 1 MiB" This reverts commit d7a7012adfba1391a1dfdcc361a533d040c2887b. --- internal/service/sqs/consts.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/sqs/consts.go b/internal/service/sqs/consts.go index 91e9e8cef8a0..0bed86575461 100644 --- a/internal/service/sqs/consts.go +++ b/internal/service/sqs/consts.go @@ -10,8 +10,8 @@ const ( const ( defaultQueueDelaySeconds = 0 defaultQueueKMSDataKeyReusePeriodSeconds = 300 - defaultQueueMaximumMessageSize = 1_048_576 // 1 MiB. - defaultQueueMessageRetentionPeriod = 345_600 // 4 days. + defaultQueueMaximumMessageSize = 262_144 // 256 KiB. + defaultQueueMessageRetentionPeriod = 345_600 // 4 days. defaultQueueReceiveMessageWaitTimeSeconds = 0 defaultQueueVisibilityTimeout = 30 ) From 2ae8b5d4eb2c141da18b05bddbfbda80a647a296 Mon Sep 17 00:00:00 2001 From: sho ishii Date: Wed, 6 Aug 2025 13:23:43 +0900 Subject: [PATCH 0574/1301] Revert "update docs to reflect new SQS Queue max_message_size and default" This reverts commit 104f7af15c9fcb8eb1ac6f30db3bb2544666831f. --- website/docs/r/sqs_queue.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/r/sqs_queue.html.markdown b/website/docs/r/sqs_queue.html.markdown index c0a6f65ed7a7..3ed744e70025 100644 --- a/website/docs/r/sqs_queue.html.markdown +++ b/website/docs/r/sqs_queue.html.markdown @@ -112,7 +112,7 @@ This resource supports the following arguments: * `fifo_throughput_limit` - (Optional) Specifies whether the FIFO queue throughput quota applies to the entire queue or per message group. Valid values are `perQueue` (default) and `perMessageGroupId`. * `kms_data_key_reuse_period_seconds` - (Optional) Length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). The default is 300 (5 minutes). * `kms_master_key_id` - (Optional) ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. For more information, see [Key Terms](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-sse-key-terms). -* `max_message_size` - (Optional) Limit of how many bytes a message can contain before Amazon SQS rejects it. An integer from 1024 bytes (1 KiB) up to 1048576 bytes (1 MiB). The default for this attribute is 1048576 (1 MiB). +* `max_message_size` - (Optional) Limit of how many bytes a message can contain before Amazon SQS rejects it. An integer from 1024 bytes (1 KiB) up to 262144 bytes (256 KiB). The default for this attribute is 262144 (256 KiB). * `message_retention_seconds` - (Optional) Number of seconds Amazon SQS retains a message. Integer representing seconds, from 60 (1 minute) to 1209600 (14 days). The default for this attribute is 345600 (4 days). * `name` - (Optional) Name of the queue. Queue names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 80 characters long. For a FIFO (first-in-first-out) queue, the name must end with the `.fifo` suffix. If omitted, Terraform will assign a random, unique name. Conflicts with `name_prefix`. * `name_prefix` - (Optional) Creates a unique name beginning with the specified prefix. Conflicts with `name`. From c16a37481ec3bb1f0a10e1cfece78526a86802ec Mon Sep 17 00:00:00 2001 From: "terraform-aws-provider[bot]" <139392249+terraform-aws-provider[bot]@users.noreply.github.com> Date: Wed, 6 Aug 2025 09:12:00 -0400 Subject: [PATCH 0575/1301] docs: update resource counts (#43728) Co-authored-by: breathingdust <282361+breathingdust@users.noreply.github.com> --- website/docs/index.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/index.html.markdown b/website/docs/index.html.markdown index a4d0e19b382b..a5601e62635d 100644 --- a/website/docs/index.html.markdown +++ b/website/docs/index.html.markdown @@ -11,7 +11,7 @@ Use the Amazon Web Services (AWS) provider to interact with the many resources supported by AWS. You must configure the provider with the proper credentials before you can use it. -Use the navigation to the left to read about the available resources. There are currently 1514 resources and 609 data sources available in the provider. +Use the navigation to the left to read about the available resources. There are currently 1516 resources and 609 data sources available in the provider. To learn the basics of Terraform using this provider, follow the hands-on [get started tutorials](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/infrastructure-as-code?in=terraform/aws-get-started&utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS). Interact with AWS services, From 2e04982089ec168bb0d1fd57524d8c69f70171a7 Mon Sep 17 00:00:00 2001 From: Stefan Freitag Date: Wed, 6 Aug 2025 15:19:44 +0200 Subject: [PATCH 0576/1301] docs: add missing resource location (#43720) --- website/docs/r/dlm_lifecycle_policy.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/r/dlm_lifecycle_policy.html.markdown b/website/docs/r/dlm_lifecycle_policy.html.markdown index b9e439506634..564e16f5c04d 100644 --- a/website/docs/r/dlm_lifecycle_policy.html.markdown +++ b/website/docs/r/dlm_lifecycle_policy.html.markdown @@ -232,7 +232,7 @@ This resource supports the following arguments: * `action` - (Optional) The actions to be performed when the event-based policy is triggered. You can specify only one action per policy. This parameter is required for event-based policies only. If you are creating a snapshot or AMI policy, omit this parameter. See the [`action` configuration](#action-arguments) block. * `event_source` - (Optional) The event that triggers the event-based policy. This parameter is required for event-based policies only. If you are creating a snapshot or AMI policy, omit this parameter. See the [`event_source` configuration](#event-source-arguments) block. * `resource_types` - (Optional) A list of resource types that should be targeted by the lifecycle policy. Valid values are `VOLUME` and `INSTANCE`. -* `resource_locations` - (Optional) The location of the resources to backup. If the source resources are located in an AWS Region, specify `CLOUD`. If the source resources are located on an Outpost in your account, specify `OUTPOST`. If you specify `OUTPOST`, Amazon Data Lifecycle Manager backs up all resources of the specified type with matching target tags across all of the Outposts in your account. Valid values are `CLOUD` and `OUTPOST`. +* `resource_locations` - (Optional) The location of the resources to backup. If the source resources are located in an AWS Region, specify `CLOUD`. If the source resources are located on an Outpost in your account, specify `OUTPOST`. If the source resources are located in a Local Zone, specify `LOCAL_ZONE`. Valid values are `CLOUD`, `LOCAL_ZONE`, and `OUTPOST`. * `policy_type` - (Optional) The valid target resource types and actions a policy can manage. Specify `EBS_SNAPSHOT_MANAGEMENT` to create a lifecycle policy that manages the lifecycle of Amazon EBS snapshots. Specify `IMAGE_MANAGEMENT` to create a lifecycle policy that manages the lifecycle of EBS-backed AMIs. Specify `EVENT_BASED_POLICY` to create an event-based policy that performs specific actions when a defined event occurs in your AWS account. Default value is `EBS_SNAPSHOT_MANAGEMENT`. * `parameters` - (Optional) A set of optional parameters for snapshot and AMI lifecycle policies. See the [`parameters` configuration](#parameters-arguments) block. * `schedule` - (Optional) See the [`schedule` configuration](#schedule-arguments) block. From 0790e934f786f23773bdc81face6cb39715e4661 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 6 Aug 2025 09:46:15 -0400 Subject: [PATCH 0577/1301] Update internal/retry/state.go Co-authored-by: Jared Baker --- internal/retry/state.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/retry/state.go b/internal/retry/state.go index 2da6edd67c0b..87bf3884f2ca 100644 --- a/internal/retry/state.go +++ b/internal/retry/state.go @@ -81,7 +81,7 @@ func (conf *StateChangeConfOf[T, S]) WaitForStateContext(ctx context.Context) (T // Set a default Delay using the StateChangeConf values delay := backoff.SDKv2HelperRetryCompatibleDelay(conf.Delay, conf.PollInterval, conf.MinTimeout) - // When VCR testing in replay mode, override the default DelayFunc + // When VCR testing in replay mode, override the default Delay if inContext, ok := conns.FromContext(ctx); ok && inContext.VCREnabled() { if mode, _ := vcr.Mode(); mode == recorder.ModeReplayOnly { delay = backoff.ZeroDelay From 229210366ce2e4b17be96857ce2cfdea2066d4cc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 6 Aug 2025 10:09:10 -0400 Subject: [PATCH 0578/1301] Bump the aws-sdk-go-v2 group across 1 directory with 5 updates (#43727) * Bump the aws-sdk-go-v2 group across 1 directory with 5 updates Bumps the aws-sdk-go-v2 group with 5 updates in the / directory: | Package | From | To | | --- | --- | --- | | [github.com/aws/aws-sdk-go-v2/service/bedrock](https://github.com/aws/aws-sdk-go-v2) | `1.41.0` | `1.42.0` | | [github.com/aws/aws-sdk-go-v2/service/eks](https://github.com/aws/aws-sdk-go-v2) | `1.68.0` | `1.69.0` | | [github.com/aws/aws-sdk-go-v2/service/licensemanager](https://github.com/aws/aws-sdk-go-v2) | `1.34.0` | `1.34.1` | | [github.com/aws/aws-sdk-go-v2/service/rds](https://github.com/aws/aws-sdk-go-v2) | `1.101.0` | `1.102.0` | | [github.com/aws/aws-sdk-go-v2/service/sagemaker](https://github.com/aws/aws-sdk-go-v2) | `1.204.0` | `1.205.0` | Updates `github.com/aws/aws-sdk-go-v2/service/bedrock` from 1.41.0 to 1.42.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.41.0...service/s3/v1.42.0) Updates `github.com/aws/aws-sdk-go-v2/service/eks` from 1.68.0 to 1.69.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.68.0...service/s3/v1.69.0) Updates `github.com/aws/aws-sdk-go-v2/service/licensemanager` from 1.34.0 to 1.34.1 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/service/s3/v1.34.1/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.34.0...service/s3/v1.34.1) Updates `github.com/aws/aws-sdk-go-v2/service/rds` from 1.101.0 to 1.102.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/service/ec2/v1.102.0/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/ec2/v1.101.0...service/ec2/v1.102.0) Updates `github.com/aws/aws-sdk-go-v2/service/sagemaker` from 1.204.0 to 1.205.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/ec2/v1.204.0...service/ec2/v1.205.0) --- updated-dependencies: - dependency-name: github.com/aws/aws-sdk-go-v2/service/bedrock dependency-version: 1.42.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/eks dependency-version: 1.69.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/licensemanager dependency-version: 1.34.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/rds dependency-version: 1.102.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/sagemaker dependency-version: 1.205.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 ... Signed-off-by: dependabot[bot] * chore: make clean-tidy --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jared Baker --- go.mod | 10 +++++----- go.sum | 20 ++++++++++---------- tools/tfsdk2fw/go.mod | 10 +++++----- tools/tfsdk2fw/go.sum | 20 ++++++++++---------- 4 files changed, 30 insertions(+), 30 deletions(-) diff --git a/go.mod b/go.mod index ae8d727f6e94..9b87641b5228 100644 --- a/go.mod +++ b/go.mod @@ -42,7 +42,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/backup v1.45.0 github.com/aws/aws-sdk-go-v2/service/batch v1.56.0 github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0 - github.com/aws/aws-sdk-go-v2/service/bedrock v1.41.0 + github.com/aws/aws-sdk-go-v2/service/bedrock v1.42.0 github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0 github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0 github.com/aws/aws-sdk-go-v2/service/billing v1.4.0 @@ -108,7 +108,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0 github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0 github.com/aws/aws-sdk-go-v2/service/efs v1.38.0 - github.com/aws/aws-sdk-go-v2/service/eks v1.68.0 + github.com/aws/aws-sdk-go-v2/service/eks v1.69.0 github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0 github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0 github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.31.0 @@ -159,7 +159,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/launchwizard v1.11.0 github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0 github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0 - github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.0 + github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.1 github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0 github.com/aws/aws-sdk-go-v2/service/location v1.47.0 github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.34.0 @@ -203,7 +203,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0 github.com/aws/aws-sdk-go-v2/service/ram v1.32.0 github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0 - github.com/aws/aws-sdk-go-v2/service/rds v1.101.0 + github.com/aws/aws-sdk-go-v2/service/rds v1.102.0 github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0 github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0 github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.29.0 @@ -225,7 +225,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0 github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0 github.com/aws/aws-sdk-go-v2/service/s3vectors v1.2.0 - github.com/aws/aws-sdk-go-v2/service/sagemaker v1.204.0 + github.com/aws/aws-sdk-go-v2/service/sagemaker v1.205.0 github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0 github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0 github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.37.0 diff --git a/go.sum b/go.sum index 16c8163e5c1f..d7af8bd88b87 100644 --- a/go.sum +++ b/go.sum @@ -95,8 +95,8 @@ github.com/aws/aws-sdk-go-v2/service/batch v1.56.0 h1:XTIHEJ95YH5IehTJx5p6Y8XtjZ github.com/aws/aws-sdk-go-v2/service/batch v1.56.0/go.mod h1:uAslawt50dv4iZfpjAh9YVEbAU3jyPIt3ycDSs5VrEg= github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0 h1:Wq3UeoqqQFm+HwQbmpB5vN3v3t8X5YsDLn/0yRG3ALY= github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0/go.mod h1:yWUWnhYtaiRSARc/Y3vU6dZAV9/thOTFMLST2Oxvj78= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.41.0 h1:SUw2DmmMnAJB+wlXUvhdDHkbKfHmV8CpgFdiYSxuF8I= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.41.0/go.mod h1:yGZu+RiNnteeM+ZdeuOHlI4whLyGjENoGn1MLqd1o2s= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.42.0 h1:6habQhaDSesSG3kx50Unp2ssMonECgdFnrMMgrcUCec= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.42.0/go.mod h1:yGZu+RiNnteeM+ZdeuOHlI4whLyGjENoGn1MLqd1o2s= github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0 h1:lhY8kqSq+ph2avN5EgZfWx1Gc6HWYyjbuy73LPGLadU= github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0/go.mod h1:VE33Y1A7q8XkY0I0DWF04eQlg1z5dsKw1EEQzfhkCoc= github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0 h1:GJdyUvYs/81imU2h6wqSa4T9guevI7eBr9YhXUmOwIA= @@ -227,8 +227,8 @@ github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0 h1:E5/BzpoN6fc/xWtKiFPUJBW6nW3K github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0/go.mod h1:UrdK8ip8HSwnESeuXhte4vlRVv0GIOpC92LR1+2m+zA= github.com/aws/aws-sdk-go-v2/service/efs v1.38.0 h1:W8v+PwOUTeh3JE53yBW8nAaRkDvMq7mMO+/bvmYHAlI= github.com/aws/aws-sdk-go-v2/service/efs v1.38.0/go.mod h1:ijPHatoNwxKTySdgDNoGUZw3toYwvRJKWwS/1dr3M/c= -github.com/aws/aws-sdk-go-v2/service/eks v1.68.0 h1:3hgPfytQLttZmM2fFejtC1i/5OM1p3o9BHzCwGjcMpc= -github.com/aws/aws-sdk-go-v2/service/eks v1.68.0/go.mod h1:u3CDoNUAkSIGKNiA6LfQtApPmHPGRuAjikx3ObM5XBs= +github.com/aws/aws-sdk-go-v2/service/eks v1.69.0 h1:eiZOCsKGl0D7M3FSeSJwJbsikxowCMVz513WDFCe6HY= +github.com/aws/aws-sdk-go-v2/service/eks v1.69.0/go.mod h1:u3CDoNUAkSIGKNiA6LfQtApPmHPGRuAjikx3ObM5XBs= github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0 h1:88Xh6SCyuge4BwPrbeJEDjDIUr/bMBZ6G7NrB785xCk= github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0/go.mod h1:X6aJWShG65SH3DVd4LEyPzMmtJyCSIZvKfcGnYhOF7U= github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0 h1:31GWaDmLEVzUW7UEnF7vbuESL8pAbeVsX3nOQbXxZQg= @@ -339,8 +339,8 @@ github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0 h1:DryMhIIU github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0/go.mod h1:/rstK38nPVP5Nl1QHVVZukDHfHGhU312byZZhRrpbO8= github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0 h1:KuBBxr7w0WOh6/hhYcqnKQx7A/J7a/tuvH11VGkVTv0= github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0/go.mod h1:vAb5Jggb9ASoapJtOJU9CHd+11OBZWa7OHQPfgTwTFE= -github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.0 h1:4yI6oqURdPfSoP1MUGNhXe8W/krJWnOCaHejJAPCRFs= -github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.0/go.mod h1:5rXpi6YHnL1oERjl0cFvH0ijwGfZqbKQBdpHc9Kdq6g= +github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.1 h1:lsYEh1q//eTBv9VUWbLlhEZrQ79+TYWRI+8Eyl04imE= +github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.1/go.mod h1:5rXpi6YHnL1oERjl0cFvH0ijwGfZqbKQBdpHc9Kdq6g= github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0 h1:nQX2q3dUdqwyxNPEjAw5WgH0F0HuHlVS8iq7TW3xHi8= github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0/go.mod h1:c0o7fqQS36cwXMizMSqpG4job2HsU1b8Wb2QoYSWyu0= github.com/aws/aws-sdk-go-v2/service/location v1.47.0 h1:oo7GB7Mtr+OkyA9E2CvdwLW98QEMbM0CVAay0NceOUc= @@ -427,8 +427,8 @@ github.com/aws/aws-sdk-go-v2/service/ram v1.32.0 h1:G+68C4zK76iUFgJhkipUKRWh2HLL github.com/aws/aws-sdk-go-v2/service/ram v1.32.0/go.mod h1:nw5Xtgpjw7qpk2pLnnUFfM1OJR4mbgGyM/mW5Tq3uvM= github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0 h1:lCSjmiJBPQ+YQpVv7HDuSQxzdMaOF6VHIpEAo6JuCgE= github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0/go.mod h1:qvr0xsDkBeaCaYZb0sWWItYyapmRxaJkOJ3H9c0nRu4= -github.com/aws/aws-sdk-go-v2/service/rds v1.101.0 h1:CWTHGWkLi+lBSt3tlFNKA8YrNG7hr1xOG6IO5XW3cpE= -github.com/aws/aws-sdk-go-v2/service/rds v1.101.0/go.mod h1:BSg3GYV7zYSk/vUsT77SlTZcYz7JmBprKslzqSuC9Nw= +github.com/aws/aws-sdk-go-v2/service/rds v1.102.0 h1:+gr+tHHyjEcDh6ow7FO8wSnyHIX6HjoMUS0FYmk1U3g= +github.com/aws/aws-sdk-go-v2/service/rds v1.102.0/go.mod h1:BSg3GYV7zYSk/vUsT77SlTZcYz7JmBprKslzqSuC9Nw= github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0 h1:UzGm4pOaR1MQE8kQ0HzuzrIKZvjxfYWmHAhjmkFWrKY= github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0/go.mod h1:gPTBFJ7XZEk2thUl1+MS6/kEd0jLuJBIzLz5xuveRvY= github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0 h1:2uGuWyvd7uCOEcEMN+SWkJsXlXOPrzfBtElITMnVAp4= @@ -471,8 +471,8 @@ github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0 h1:lLiy94CE3tRVKCFM6nsa0ERM github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0/go.mod h1:4W2CAy/TSu6SJ8DlBv5LSz7x58DPN8aiRdlhjvg8WEA= github.com/aws/aws-sdk-go-v2/service/s3vectors v1.2.0 h1:7xf0bQV6aVtFUV1Z59hT9AmWHY+LBww82jN2gywAgkM= github.com/aws/aws-sdk-go-v2/service/s3vectors v1.2.0/go.mod h1:ionbPTnYOWe9G7OQi/yGz0fDefoTUiAWs2tFAxCQiss= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.204.0 h1:swdZcCAgomEWueWnxgLoez5w6SZIwTN6+kCwmOY7Slg= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.204.0/go.mod h1:QAk+j4WZ3VtD9yJDKqF/sVq0fQCcjjQ5gZLVvoVGmWA= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.205.0 h1:1aWqLosrIuGX8pOdtwBrpMORYRFMpRnv+qnutCCxQbg= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.205.0/go.mod h1:QAk+j4WZ3VtD9yJDKqF/sVq0fQCcjjQ5gZLVvoVGmWA= github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0 h1:peHVUtoH7i9QzmkCMyky/a+b2ysCMJ/M+KOtCVmkg7M= github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0/go.mod h1:cQvpps9Xy75b4TIzRYRMnSYaUneTlECRD6p0Vn9hLew= github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0 h1:gpBCY2ekUMIFVyczrg5RZlhfCSfPvq33oo+vAKuz5TI= diff --git a/tools/tfsdk2fw/go.mod b/tools/tfsdk2fw/go.mod index 7105996e317a..6e83b5ccd511 100644 --- a/tools/tfsdk2fw/go.mod +++ b/tools/tfsdk2fw/go.mod @@ -54,7 +54,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/backup v1.45.0 // indirect github.com/aws/aws-sdk-go-v2/service/batch v1.56.0 // indirect github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0 // indirect - github.com/aws/aws-sdk-go-v2/service/bedrock v1.41.0 // indirect + github.com/aws/aws-sdk-go-v2/service/bedrock v1.42.0 // indirect github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0 // indirect github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0 // indirect github.com/aws/aws-sdk-go-v2/service/billing v1.4.0 // indirect @@ -120,7 +120,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0 // indirect github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0 // indirect github.com/aws/aws-sdk-go-v2/service/efs v1.38.0 // indirect - github.com/aws/aws-sdk-go-v2/service/eks v1.68.0 // indirect + github.com/aws/aws-sdk-go-v2/service/eks v1.69.0 // indirect github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0 // indirect github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0 // indirect github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.31.0 // indirect @@ -176,7 +176,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/launchwizard v1.11.0 // indirect github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0 // indirect github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0 // indirect - github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.0 // indirect + github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.1 // indirect github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0 // indirect github.com/aws/aws-sdk-go-v2/service/location v1.47.0 // indirect github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.34.0 // indirect @@ -220,7 +220,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0 // indirect github.com/aws/aws-sdk-go-v2/service/ram v1.32.0 // indirect github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0 // indirect - github.com/aws/aws-sdk-go-v2/service/rds v1.101.0 // indirect + github.com/aws/aws-sdk-go-v2/service/rds v1.102.0 // indirect github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0 // indirect github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0 // indirect github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.29.0 // indirect @@ -242,7 +242,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0 // indirect github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0 // indirect github.com/aws/aws-sdk-go-v2/service/s3vectors v1.2.0 // indirect - github.com/aws/aws-sdk-go-v2/service/sagemaker v1.204.0 // indirect + github.com/aws/aws-sdk-go-v2/service/sagemaker v1.205.0 // indirect github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0 // indirect github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0 // indirect github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.37.0 // indirect diff --git a/tools/tfsdk2fw/go.sum b/tools/tfsdk2fw/go.sum index db266c495215..c9935f4628f0 100644 --- a/tools/tfsdk2fw/go.sum +++ b/tools/tfsdk2fw/go.sum @@ -95,8 +95,8 @@ github.com/aws/aws-sdk-go-v2/service/batch v1.56.0 h1:XTIHEJ95YH5IehTJx5p6Y8XtjZ github.com/aws/aws-sdk-go-v2/service/batch v1.56.0/go.mod h1:uAslawt50dv4iZfpjAh9YVEbAU3jyPIt3ycDSs5VrEg= github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0 h1:Wq3UeoqqQFm+HwQbmpB5vN3v3t8X5YsDLn/0yRG3ALY= github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0/go.mod h1:yWUWnhYtaiRSARc/Y3vU6dZAV9/thOTFMLST2Oxvj78= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.41.0 h1:SUw2DmmMnAJB+wlXUvhdDHkbKfHmV8CpgFdiYSxuF8I= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.41.0/go.mod h1:yGZu+RiNnteeM+ZdeuOHlI4whLyGjENoGn1MLqd1o2s= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.42.0 h1:6habQhaDSesSG3kx50Unp2ssMonECgdFnrMMgrcUCec= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.42.0/go.mod h1:yGZu+RiNnteeM+ZdeuOHlI4whLyGjENoGn1MLqd1o2s= github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0 h1:lhY8kqSq+ph2avN5EgZfWx1Gc6HWYyjbuy73LPGLadU= github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0/go.mod h1:VE33Y1A7q8XkY0I0DWF04eQlg1z5dsKw1EEQzfhkCoc= github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0 h1:GJdyUvYs/81imU2h6wqSa4T9guevI7eBr9YhXUmOwIA= @@ -227,8 +227,8 @@ github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0 h1:E5/BzpoN6fc/xWtKiFPUJBW6nW3K github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0/go.mod h1:UrdK8ip8HSwnESeuXhte4vlRVv0GIOpC92LR1+2m+zA= github.com/aws/aws-sdk-go-v2/service/efs v1.38.0 h1:W8v+PwOUTeh3JE53yBW8nAaRkDvMq7mMO+/bvmYHAlI= github.com/aws/aws-sdk-go-v2/service/efs v1.38.0/go.mod h1:ijPHatoNwxKTySdgDNoGUZw3toYwvRJKWwS/1dr3M/c= -github.com/aws/aws-sdk-go-v2/service/eks v1.68.0 h1:3hgPfytQLttZmM2fFejtC1i/5OM1p3o9BHzCwGjcMpc= -github.com/aws/aws-sdk-go-v2/service/eks v1.68.0/go.mod h1:u3CDoNUAkSIGKNiA6LfQtApPmHPGRuAjikx3ObM5XBs= +github.com/aws/aws-sdk-go-v2/service/eks v1.69.0 h1:eiZOCsKGl0D7M3FSeSJwJbsikxowCMVz513WDFCe6HY= +github.com/aws/aws-sdk-go-v2/service/eks v1.69.0/go.mod h1:u3CDoNUAkSIGKNiA6LfQtApPmHPGRuAjikx3ObM5XBs= github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0 h1:88Xh6SCyuge4BwPrbeJEDjDIUr/bMBZ6G7NrB785xCk= github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0/go.mod h1:X6aJWShG65SH3DVd4LEyPzMmtJyCSIZvKfcGnYhOF7U= github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0 h1:31GWaDmLEVzUW7UEnF7vbuESL8pAbeVsX3nOQbXxZQg= @@ -339,8 +339,8 @@ github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0 h1:DryMhIIU github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0/go.mod h1:/rstK38nPVP5Nl1QHVVZukDHfHGhU312byZZhRrpbO8= github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0 h1:KuBBxr7w0WOh6/hhYcqnKQx7A/J7a/tuvH11VGkVTv0= github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0/go.mod h1:vAb5Jggb9ASoapJtOJU9CHd+11OBZWa7OHQPfgTwTFE= -github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.0 h1:4yI6oqURdPfSoP1MUGNhXe8W/krJWnOCaHejJAPCRFs= -github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.0/go.mod h1:5rXpi6YHnL1oERjl0cFvH0ijwGfZqbKQBdpHc9Kdq6g= +github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.1 h1:lsYEh1q//eTBv9VUWbLlhEZrQ79+TYWRI+8Eyl04imE= +github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.1/go.mod h1:5rXpi6YHnL1oERjl0cFvH0ijwGfZqbKQBdpHc9Kdq6g= github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0 h1:nQX2q3dUdqwyxNPEjAw5WgH0F0HuHlVS8iq7TW3xHi8= github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0/go.mod h1:c0o7fqQS36cwXMizMSqpG4job2HsU1b8Wb2QoYSWyu0= github.com/aws/aws-sdk-go-v2/service/location v1.47.0 h1:oo7GB7Mtr+OkyA9E2CvdwLW98QEMbM0CVAay0NceOUc= @@ -427,8 +427,8 @@ github.com/aws/aws-sdk-go-v2/service/ram v1.32.0 h1:G+68C4zK76iUFgJhkipUKRWh2HLL github.com/aws/aws-sdk-go-v2/service/ram v1.32.0/go.mod h1:nw5Xtgpjw7qpk2pLnnUFfM1OJR4mbgGyM/mW5Tq3uvM= github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0 h1:lCSjmiJBPQ+YQpVv7HDuSQxzdMaOF6VHIpEAo6JuCgE= github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0/go.mod h1:qvr0xsDkBeaCaYZb0sWWItYyapmRxaJkOJ3H9c0nRu4= -github.com/aws/aws-sdk-go-v2/service/rds v1.101.0 h1:CWTHGWkLi+lBSt3tlFNKA8YrNG7hr1xOG6IO5XW3cpE= -github.com/aws/aws-sdk-go-v2/service/rds v1.101.0/go.mod h1:BSg3GYV7zYSk/vUsT77SlTZcYz7JmBprKslzqSuC9Nw= +github.com/aws/aws-sdk-go-v2/service/rds v1.102.0 h1:+gr+tHHyjEcDh6ow7FO8wSnyHIX6HjoMUS0FYmk1U3g= +github.com/aws/aws-sdk-go-v2/service/rds v1.102.0/go.mod h1:BSg3GYV7zYSk/vUsT77SlTZcYz7JmBprKslzqSuC9Nw= github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0 h1:UzGm4pOaR1MQE8kQ0HzuzrIKZvjxfYWmHAhjmkFWrKY= github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0/go.mod h1:gPTBFJ7XZEk2thUl1+MS6/kEd0jLuJBIzLz5xuveRvY= github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0 h1:2uGuWyvd7uCOEcEMN+SWkJsXlXOPrzfBtElITMnVAp4= @@ -471,8 +471,8 @@ github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0 h1:lLiy94CE3tRVKCFM6nsa0ERM github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0/go.mod h1:4W2CAy/TSu6SJ8DlBv5LSz7x58DPN8aiRdlhjvg8WEA= github.com/aws/aws-sdk-go-v2/service/s3vectors v1.2.0 h1:7xf0bQV6aVtFUV1Z59hT9AmWHY+LBww82jN2gywAgkM= github.com/aws/aws-sdk-go-v2/service/s3vectors v1.2.0/go.mod h1:ionbPTnYOWe9G7OQi/yGz0fDefoTUiAWs2tFAxCQiss= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.204.0 h1:swdZcCAgomEWueWnxgLoez5w6SZIwTN6+kCwmOY7Slg= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.204.0/go.mod h1:QAk+j4WZ3VtD9yJDKqF/sVq0fQCcjjQ5gZLVvoVGmWA= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.205.0 h1:1aWqLosrIuGX8pOdtwBrpMORYRFMpRnv+qnutCCxQbg= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.205.0/go.mod h1:QAk+j4WZ3VtD9yJDKqF/sVq0fQCcjjQ5gZLVvoVGmWA= github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0 h1:peHVUtoH7i9QzmkCMyky/a+b2ysCMJ/M+KOtCVmkg7M= github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0/go.mod h1:cQvpps9Xy75b4TIzRYRMnSYaUneTlECRD6p0Vn9hLew= github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0 h1:gpBCY2ekUMIFVyczrg5RZlhfCSfPvq33oo+vAKuz5TI= From 199ce033a41899224843067d1f1ba54813da7a9d Mon Sep 17 00:00:00 2001 From: changelogbot Date: Wed, 6 Aug 2025 14:14:01 +0000 Subject: [PATCH 0579/1301] Update CHANGELOG.md for #43727 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 687b8cc90f82..937da30d7be8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ FEATURES: ENHANCEMENTS: * data-source/aws_quicksight_user: Add `custom_permissions_name` attribute ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) +* resource/aws_bedrock_guardrail: Add `input_action`, `output_action`, `input_enabled`, and `output_enabled` attributes to `sensitive_information_policy_config.pii_entities_config` and `sensitive_information_policy_config.regexes_config` configuration blocks ([#43702](https://github.com/hashicorp/terraform-provider-aws/issues/43702)) * resource/aws_cloudwatch_log_group: Add resource identity support ([#43719](https://github.com/hashicorp/terraform-provider-aws/issues/43719)) * resource/aws_docdb_cluster: Add `serverless_v2_scaling_configuration` argument in support of [Amazon DocumentDB serverless](https://docs.aws.amazon.com/documentdb/latest/developerguide/docdb-serverless.html) ([#43667](https://github.com/hashicorp/terraform-provider-aws/issues/43667)) * resource/aws_inspector2_enabler: Support resource import ([#43673](https://github.com/hashicorp/terraform-provider-aws/issues/43673)) From db534324d52c46714f7173aa0c6994fea89b04c6 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Wed, 6 Aug 2025 10:27:08 -0400 Subject: [PATCH 0580/1301] docs: re-organized ai guides To allow the navbar to nest guides under a subheading, splits the index into it's own page and nests the existing AI guides under a new heading. --- docs/ai-agent-guides.md | 9 --------- docs/{ => ai-agent-guides}/smarterr.md | 0 docs/ai-agents.md | 9 +++++++++ mkdocs.yml | 5 ++++- 4 files changed, 13 insertions(+), 10 deletions(-) delete mode 100644 docs/ai-agent-guides.md rename docs/{ => ai-agent-guides}/smarterr.md (100%) create mode 100644 docs/ai-agents.md diff --git a/docs/ai-agent-guides.md b/docs/ai-agent-guides.md deleted file mode 100644 index e20a5322c083..000000000000 --- a/docs/ai-agent-guides.md +++ /dev/null @@ -1,9 +0,0 @@ -# AI Agent Guides - -This page serves as an index of documents which can be provided to AI agents as context to solve specific tasks. -Documents should include generalized instructions and remain tool agnostic. -Scope should be limited to a single task per document. - -| Document | Description | -| --- | --- | -| [ARN-based Resource Identity](./ai-agent-guides/arn-based-resource-identity.md) | Add resource identity to to resources where ARN is the sole identifier. | diff --git a/docs/smarterr.md b/docs/ai-agent-guides/smarterr.md similarity index 100% rename from docs/smarterr.md rename to docs/ai-agent-guides/smarterr.md diff --git a/docs/ai-agents.md b/docs/ai-agents.md new file mode 100644 index 000000000000..5f39a8b27cda --- /dev/null +++ b/docs/ai-agents.md @@ -0,0 +1,9 @@ +# AI Agents + +The `AI Agent Guides` section on the navbar serves as an index of documents which can be provided to AI agents as context to solve specific tasks. +The following points should be taken into consideration when developing new guides. + +- Use generalized instructions and remain tool agnostic. +- Limit scope to a single task per document. +- Structure documents so they are useful to both AI agents and human readers. + diff --git a/mkdocs.yml b/mkdocs.yml index f820c06697a8..e2957de6d695 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -32,7 +32,10 @@ nav: - How We Prioritize: prioritization.md - Developer Reference: - Acceptance Test Environment Variables: acc-test-environment-variables.md - - AI Agent Guides: ai-agent-guides.md + - AI Agents: ai-agents.md + - AI Agent Guides: + - ARN-Based Resource Identity: ai-agent-guides/arn-based-resource-identity.md + - Smarterr: ai-agent-guides/smarterr.md - AWS SDK Go Base: aws-sdk-go-base.md - Core Services: core-services.md - Data Handling and Conversion: data-handling-and-conversion.md From e544cf03a08730ed1a0c1d545cdb8af8904e7544 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Wed, 6 Aug 2025 10:29:46 -0400 Subject: [PATCH 0581/1301] chore: make docs-lint-fix --- docs/ai-agents.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/ai-agents.md b/docs/ai-agents.md index 5f39a8b27cda..8e20c6e54585 100644 --- a/docs/ai-agents.md +++ b/docs/ai-agents.md @@ -6,4 +6,3 @@ The following points should be taken into consideration when developing new guid - Use generalized instructions and remain tool agnostic. - Limit scope to a single task per document. - Structure documents so they are useful to both AI agents and human readers. - From 48254b225a01041deba871506344b0d766387830 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 6 Aug 2025 10:46:39 -0400 Subject: [PATCH 0582/1301] Tweak CHANGELOG entry. --- .changelog/43710.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changelog/43710.txt b/.changelog/43710.txt index e295a52c655d..156ed87fa3c3 100644 --- a/.changelog/43710.txt +++ b/.changelog/43710.txt @@ -1,3 +1,3 @@ ```release-note:enhancement -resource/aws_sqs_queue: Support max_message_size from 1 KiB to 1024 KiB +resource/aws_sqs_queue: Increase upper limit of `max_message_size` from 256 KiB to 1024 KiB ``` From 7aa4d818872396a83cda0f30ddb06585b59ce30d Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Wed, 6 Aug 2025 09:56:33 -0500 Subject: [PATCH 0583/1301] aws_instance: add disable_api_stop to force_destroy --- internal/service/ec2/ec2_instance.go | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/internal/service/ec2/ec2_instance.go b/internal/service/ec2/ec2_instance.go index 58c200c46959..d6ba0fd030eb 100644 --- a/internal/service/ec2/ec2_instance.go +++ b/internal/service/ec2/ec2_instance.go @@ -2241,10 +2241,8 @@ func resourceInstanceDelete(ctx context.Context, d *schema.ResourceData, meta an if err := disableInstanceAPITermination(ctx, conn, d.Id(), false); err != nil { log.Printf("[WARN] attempting to terminate EC2 Instance (%s) despite error disabling API termination: %s", d.Id(), err) } - } - if v, ok := d.GetOk("disable_api_stop"); ok { - if err := disableInstanceAPIStop(ctx, conn, d.Id(), v.(bool)); err != nil { + if err := disableInstanceAPIStop(ctx, conn, d.Id(), false); err != nil { log.Printf("[WARN] attempting to terminate EC2 Instance (%s) despite error disabling API stop: %s", d.Id(), err) } } From 77f511d7fcbd6a6052ab1ded08f31ab181faae4e Mon Sep 17 00:00:00 2001 From: changelogbot Date: Wed, 6 Aug 2025 14:56:53 +0000 Subject: [PATCH 0584/1301] Update CHANGELOG.md for #43716 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 937da30d7be8..919f03a00e81 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,7 @@ BUG FIXES: * resource/aws_bedrockagent_flow: Prevent `created_at` becoming `null` on Update ([#43654](https://github.com/hashicorp/terraform-provider-aws/issues/43654)) * resource/aws_ec2_managed_prefix_list: Fix `PrefixListVersionMismatch: The prefix list has the incorrect version number` errors when updating entry description ([#43661](https://github.com/hashicorp/terraform-provider-aws/issues/43661)) * resource/aws_fsx_lustre_file_system: Fix validation of SSD read cache size for file systems using the Intelligent-Tiering storage class ([#43605](https://github.com/hashicorp/terraform-provider-aws/issues/43605)) +* resource/aws_kms_key: Restore pre-v6.3.0 retry delay behavior when waiting for continuous target state occurrences. This fixes certain tag update timeouts ([#43716](https://github.com/hashicorp/terraform-provider-aws/issues/43716)) * resource/aws_s3tables_table_bucket: Fix crash on `maintenance_configuration` read failure ([#43707](https://github.com/hashicorp/terraform-provider-aws/issues/43707)) * resource/aws_timestreaminfluxdb_db_instance: Don't mark `network_type` as [ForceNew](https://developer.hashicorp.com/terraform/plugin/sdkv2/schemas/schema-behaviors#forcenew) if the value is not configured. This fixes a problem with `terraform apply -refresh=false` after upgrade from `v5.90.0` and below ([#43534](https://github.com/hashicorp/terraform-provider-aws/issues/43534)) * resource/aws_wafv2_regex_pattern_set: Remove maximum items limit on the `regular_expression` argument ([#43693](https://github.com/hashicorp/terraform-provider-aws/issues/43693)) From bea913bf79271b6361401587a1f5e4c85fc9e90e Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Wed, 6 Aug 2025 10:02:23 -0500 Subject: [PATCH 0585/1301] tweak CHANGELOG entry --- .changelog/43722.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.changelog/43722.txt b/.changelog/43722.txt index e1008ef6cb43..0fec4028fe23 100644 --- a/.changelog/43722.txt +++ b/.changelog/43722.txt @@ -1,3 +1,7 @@ ```release-note:bug -resource/aws_instance: Prevent destruction of resource when `disable_api_termination` is `true`. Adds `force_destroy` argument +resource/aws_instance: Prevent destruction of resource when `disable_api_termination` is `true`. +``` + +```release-note:enhancement +resource/aws_instance: Adds `force_destroy` argument that allows destruction even when `disable_api_termination` and `disable_api_stop` are `true`. ``` \ No newline at end of file From fa56ad97825d7bdfbe34ec29e1b3bc9838a75dac Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 6 Aug 2025 11:03:26 -0400 Subject: [PATCH 0586/1301] Tweak CHANGELOG entries. --- .changelog/43642.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.changelog/43642.txt b/.changelog/43642.txt index 466fb026f71f..1f3463d92979 100644 --- a/.changelog/43642.txt +++ b/.changelog/43642.txt @@ -1,3 +1,7 @@ ```release-note:enhancement -resource/aws_ecr_repository: Add support for `IMMUTABLE_WITH_EXCLUSION` and `MUTABLE_WITH_EXCLUSION` image tag mutability modes with `image_tag_mutability_exclusion_filter` configuration block +resource/aws_ecr_repository: Add `image_tag_mutability_exclusion_filter` argument +``` + +```release-note:enhancement +resource/aws_ecr_repository: Support `IMMUTABLE_WITH_EXCLUSION` and `MUTABLE_WITH_EXCLUSION` as valid values for `image_tag_mutability` ``` \ No newline at end of file From d020483f128cd13b62d36673ff55727ad43b1538 Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Wed, 6 Aug 2025 10:20:36 -0500 Subject: [PATCH 0587/1301] fmt --- internal/service/ec2/ec2_instance_test.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/internal/service/ec2/ec2_instance_test.go b/internal/service/ec2/ec2_instance_test.go index b34304ad93ca..e5cae5e00f02 100644 --- a/internal/service/ec2/ec2_instance_test.go +++ b/internal/service/ec2/ec2_instance_test.go @@ -1008,6 +1008,13 @@ func TestAccEC2Instance_disableAPIStop(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "disable_api_stop", acctest.CtFalse), ), }, + { + Config: testAccInstanceConfig_disableAPIStop(rName, true), + Check: resource.ComposeTestCheckFunc( + testAccCheckInstanceExists(ctx, resourceName, &v), + resource.TestCheckResourceAttr(resourceName, "disable_api_stop", acctest.CtTrue), + ), + }, }, }) } @@ -6996,6 +7003,8 @@ resource "aws_instance" "test" { subnet_id = aws_subnet.test.id disable_api_stop = %[2]t + force_destroy = true + tags = { Name = %[1]q } From 9c394c427857861e8cfe1b3e7bf77989dcd34000 Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Wed, 6 Aug 2025 10:29:46 -0500 Subject: [PATCH 0588/1301] tweak CHANGELOG entry --- .changelog/43722.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.changelog/43722.txt b/.changelog/43722.txt index 0fec4028fe23..6d54855089bf 100644 --- a/.changelog/43722.txt +++ b/.changelog/43722.txt @@ -1,7 +1,7 @@ ```release-note:bug -resource/aws_instance: Prevent destruction of resource when `disable_api_termination` is `true`. +resource/aws_instance: Prevent destruction of resource when `disable_api_termination` is `true` ``` ```release-note:enhancement -resource/aws_instance: Adds `force_destroy` argument that allows destruction even when `disable_api_termination` and `disable_api_stop` are `true`. +resource/aws_instance: Adds `force_destroy` argument that allows destruction even when `disable_api_termination` and `disable_api_stop` are `true` ``` \ No newline at end of file From 0877bfd6dfedda146348aefb99da890fe0cbfaba Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 6 Aug 2025 11:31:43 -0400 Subject: [PATCH 0589/1301] Tweak CHANGELOG entry. --- .changelog/43647.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changelog/43647.txt b/.changelog/43647.txt index b91741ad77d4..8979285fde84 100644 --- a/.changelog/43647.txt +++ b/.changelog/43647.txt @@ -1,3 +1,3 @@ ```release-note:enhancement -resource/aws_kinesis_firehose_delivery_stream: Add `append_only` attribute to `iceberg_configuration` +resource/aws_kinesis_firehose_delivery_stream: Add `iceberg_configuration.append_only` argument ``` From dee4289af7a200626ae41b150100ea7a0c33f7fc Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Wed, 6 Aug 2025 10:31:11 -0500 Subject: [PATCH 0590/1301] aws_instance: update documentation --- website/docs/r/instance.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/r/instance.html.markdown b/website/docs/r/instance.html.markdown index e06a6ed42442..148b13c62994 100644 --- a/website/docs/r/instance.html.markdown +++ b/website/docs/r/instance.html.markdown @@ -224,7 +224,7 @@ This resource supports the following arguments: * `enable_primary_ipv6` - (Optional) Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. * `enclave_options` - (Optional) Enable Nitro Enclaves on launched instances. See [Enclave Options](#enclave-options) below for more details. * `ephemeral_block_device` - (Optional) One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See [Block Devices](#ebs-ephemeral-and-root-block-devices) below for details. When accessing this as an attribute reference, it is a set of objects. -* `force_destroy` - (Optional) Destroys instance even if `disable_api_termination` is set to `true`. Defaults to `false`. +* `force_destroy` - (Optional) Destroys instance even if `disable_api_termination` or `disable_api_stop` is set to `true`. Defaults to `false`. * `get_password_data` - (Optional) If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the `password_data` attribute. See [GetPasswordData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetPasswordData.html) for more information. * `hibernation` - (Optional) If true, the launched EC2 instance will support hibernation. * `host_id` - (Optional) ID of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host. From f262cefd4d91820165f20c991dc8fe3b08a9a346 Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Wed, 6 Aug 2025 10:46:16 -0500 Subject: [PATCH 0591/1301] aws_instance: add detailed requirements for using the force_destroy argument --- website/docs/r/instance.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/r/instance.html.markdown b/website/docs/r/instance.html.markdown index 148b13c62994..d545bd57a645 100644 --- a/website/docs/r/instance.html.markdown +++ b/website/docs/r/instance.html.markdown @@ -224,7 +224,7 @@ This resource supports the following arguments: * `enable_primary_ipv6` - (Optional) Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. * `enclave_options` - (Optional) Enable Nitro Enclaves on launched instances. See [Enclave Options](#enclave-options) below for more details. * `ephemeral_block_device` - (Optional) One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See [Block Devices](#ebs-ephemeral-and-root-block-devices) below for details. When accessing this as an attribute reference, it is a set of objects. -* `force_destroy` - (Optional) Destroys instance even if `disable_api_termination` or `disable_api_stop` is set to `true`. Defaults to `false`. +* `force_destroy` - (Optional) Destroys instance even if `disable_api_termination` or `disable_api_stop` is set to `true`. Defaults to `false`. Once this parameter is set to `true`, a successful `terraform apply` run before a destroy is required to update this value in the resource state. Without a successful `terraform apply` after this parameter is set, this flag will have no effect. If setting this field in the same operation that would require replacing the instance or destroying the instance, this flag will not work. Additionally when importing an instance, a successful `terraform apply` is required to set this value in state before it will take effect on a destroy operation. * `get_password_data` - (Optional) If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the `password_data` attribute. See [GetPasswordData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetPasswordData.html) for more information. * `hibernation` - (Optional) If true, the launched EC2 instance will support hibernation. * `host_id` - (Optional) ID of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host. From ad71b1c4e7012a2a06f32b393748abe610917fa9 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 6 Aug 2025 12:04:32 -0400 Subject: [PATCH 0592/1301] r/aws_networkfirewall_vpc_endpoint_association: Import by 'vpc_endpoint_association_arn'. --- .../vpc_endpoint_association.go | 46 +++++++++++-------- ...all_vpc_endpoint_association.html.markdown | 24 +++++----- 2 files changed, 40 insertions(+), 30 deletions(-) diff --git a/internal/service/networkfirewall/vpc_endpoint_association.go b/internal/service/networkfirewall/vpc_endpoint_association.go index aa1df7b02e1f..fc3b553b049f 100644 --- a/internal/service/networkfirewall/vpc_endpoint_association.go +++ b/internal/service/networkfirewall/vpc_endpoint_association.go @@ -54,28 +54,39 @@ type resourceVPCEndpointAssociation struct { framework.ResourceWithModel[resourceVPCEndpointAssociationModel] framework.WithTimeouts framework.WithNoUpdate - framework.WithImportByID } func (r *resourceVPCEndpointAssociation) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { resp.Schema = schema.Schema{ Attributes: map[string]schema.Attribute{ - names.AttrARN: framework.ARNAttributeComputedOnly(), names.AttrDescription: schema.StringAttribute{ Optional: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplace(), + }, }, "firewall_arn": schema.StringAttribute{ - Required: true, - }, - names.AttrID: framework.IDAttributeDeprecatedWithAlternate(path.Root(names.AttrARN)), - names.AttrVPCID: schema.StringAttribute{ - Required: true, + CustomType: fwtypes.ARNType, + Required: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplace(), + }, }, + names.AttrTags: tftags.TagsAttribute(), + names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), "vpc_endpoint_association_id": schema.StringAttribute{ Computed: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.UseStateForUnknown(), + }, + }, + "vpc_endpoint_association_arn": framework.ARNAttributeComputedOnly(), + names.AttrVPCID: schema.StringAttribute{ + Required: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplace(), + }, }, - names.AttrTags: tftags.TagsAttribute(), - names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), }, Blocks: map[string]schema.Block{ "subnet_mapping": schema.ListNestedBlock{ @@ -199,7 +210,7 @@ func (r *resourceVPCEndpointAssociation) Create(ctx context.Context, req resourc if resp.Diagnostics.HasError() { return } - plan.VpcEndpointAssociationArn = flex.StringValueToFramework(ctx, arn) + plan.VPCEndpointAssociationARN = flex.StringValueToFramework(ctx, arn) plan.setID() createTimeout := r.CreateTimeout(ctx, plan.Timeouts) @@ -301,6 +312,10 @@ func (r *resourceVPCEndpointAssociation) Delete(ctx context.Context, req resourc } } +func (r *resourceVPCEndpointAssociation) ImportState(ctx context.Context, request resource.ImportStateRequest, response *resource.ImportStateResponse) { // nosemgrep:ci.semgrep.framework.with-import-by-id + response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root(""), request.ID)...) +} + func waitVPCEndpointAssociationCreated(ctx context.Context, conn *networkfirewall.Client, arn string, timeout time.Duration) (*networkfirewall.DescribeVpcEndpointAssociationOutput, error) { stateConf := &retry.StateChangeConf{ Pending: enum.Slice(awstypes.FirewallStatusValueProvisioning), @@ -378,22 +393,17 @@ func findVPCEndpointAssociationByID(ctx context.Context, conn *networkfirewall.C type resourceVPCEndpointAssociationModel struct { framework.WithRegionModel Description types.String `tfsdk:"description"` - FirewallArn types.String `tfsdk:"firewall_arn"` - ID types.String `tfsdk:"id"` + FirewallARN fwtypes.ARN `tfsdk:"firewall_arn"` SubnetMapping fwtypes.ListNestedObjectValueOf[subnetMappingModel] `tfsdk:"subnet_mapping"` Tags tftags.Map `tfsdk:"tags"` TagsAll tftags.Map `tfsdk:"tags_all"` Timeouts timeouts.Value `tfsdk:"timeouts"` - VpcEndpointAssociationArn types.String `tfsdk:"arn"` - VpcEndpointAssociationId types.String `tfsdk:"vpc_endpoint_association_id"` + VPCEndpointAssociationARN types.String `tfsdk:"vpc_endpoint_association_arn"` + VPCEndpointAssociationID types.String `tfsdk:"vpc_endpoint_association_id"` VpcEndpointAssociationStatus fwtypes.ListNestedObjectValueOf[vpcEndpointAssociationStatusModel] `tfsdk:"vpc_endpoint_association_status"` VPCID types.String `tfsdk:"vpc_id"` } -func (model *resourceVPCEndpointAssociationModel) setID() { - model.ID = model.VpcEndpointAssociationArn -} - type subnetMappingModel struct { SubnetId types.String `tfsdk:"subnet_id"` IPAddressType fwtypes.StringEnum[awstypes.IPAddressType] `tfsdk:"ip_address_type"` diff --git a/website/docs/r/networkfirewall_vpc_endpoint_association.html.markdown b/website/docs/r/networkfirewall_vpc_endpoint_association.html.markdown index fe85683f45be..e8db80a43b41 100644 --- a/website/docs/r/networkfirewall_vpc_endpoint_association.html.markdown +++ b/website/docs/r/networkfirewall_vpc_endpoint_association.html.markdown @@ -3,12 +3,12 @@ subcategory: "Network Firewall" layout: "aws" page_title: "AWS: aws_networkfirewall_vpc_endpoint_association" description: |- - Manages an AWS Network Firewall VPC Endpoint Association. + Manages a firewall endpoint for an AWS Network Firewall firewall. --- # Resource: aws_networkfirewall_vpc_endpoint_association -Manages an AWS Network Firewall VPC Endpoint Association. +Manages a firewall endpoint for an AWS Network Firewall firewall. Use `aws_networkfirewall_vpc_endpoint_association` to establish new firewall endpoints in any Availability Zone where the firewall is already being used. The first use of a firewall in an Availability Zone must be defined by `aws_networkfirewall_firewall` resource and `subnet_mapping` argument. @@ -39,12 +39,12 @@ resource "aws_networkfirewall_vpc_endpoint_association" "example" { This resource supports the following arguments: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `description` (Optional) - A description of the VPC endpoint association. * `firewall_arn` (Required) - The Amazon Resource Name (ARN) that identifies the firewall. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `subnet_mapping` (Required) - The ID for a subnet that's used in an association with a firewall. See [Subnet Mapping](#subnet-mapping) below for details. -* `vpc_id` (Required) - The unique identifier of the VPC for the endpoint association. * `tags` - (Optional) Map of resource tags to associate with the resource. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. +* `vpc_id` (Required) - The unique identifier of the VPC for the endpoint association. ### Subnet Mapping @@ -57,7 +57,8 @@ The `subnet_mapping` block supports the following arguments: This resource exports the following attributes in addition to the arguments above: -* `arn` - ARN of the VPC Endpoint Association. +* `tags_all` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). +* `vpc_endpoint_association_arn` - ARN of the VPC Endpoint Association. * `vpc_endpoint_association_id` - The unique identifier of the VPC endpoint association. * `vpc_endpoint_association_status` - Nested list of information about the current status of the VPC Endpoint Association. * `association_sync_state` - Set of subnets configured for use by the VPC Endpoint Association. @@ -65,28 +66,27 @@ This resource exports the following attributes in addition to the arguments abov * `endpoint_id` - The identifier of the VPC endpoint that AWS Network Firewall has instantiated in the subnet. You use this to identify the firewall endpoint in the VPC route tables, when you redirect the VPC traffic through the endpoint. * `subnet_id` - The unique identifier of the subnet that you've specified to be used for a VPC Endpoint Association endpoint. * `availability_zone` - The Availability Zone where the subnet is configured. -* `tags_all` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). ## Timeouts [Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): -* `create` - (Default `60m`) -* `delete` - (Default `60m`) +* `create` - (Default `30m`) +* `delete` - (Default `30m`) ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Network Firewall VPC Endpoint Association using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Network Firewall VPC Endpoint Association using the `vpc_endpoint_association_arn`. For example: ```terraform import { to = aws_networkfirewall_vpc_endpoint_association.example - id = "vpc_endpoint_association-id-12345678" + id = "arn:aws:network-firewall:us-west-1:123456789012:vpc-endpoint-association/example" } ``` -Using `terraform import`, import Network Firewall VPC Endpoint Association using the `example_id_arg`. For example: +Using `terraform import`, import Network Firewall VPC Endpoint Association using the `vpc_endpoint_association_arn`. For example: ```console -% terraform import aws_networkfirewall_vpc_endpoint_association.example vpc_endpoint_association-id-12345678 +% terraform import aws_networkfirewall_vpc_endpoint_association.example arn:aws:network-firewall:us-west-1:123456789012:vpc-endpoint-association/example ``` From c16f34fe848d1d1ed8e3e180796a94b186c84ec8 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 6 Aug 2025 12:18:12 -0400 Subject: [PATCH 0593/1301] r/aws_kinesis_firehose_delivery_stream: Remove default from 'iceberg_configuration.append_only'. --- internal/service/firehose/delivery_stream.go | 26 +++++++++------- .../service/firehose/delivery_stream_test.go | 30 +++++++++++++++++-- 2 files changed, 43 insertions(+), 13 deletions(-) diff --git a/internal/service/firehose/delivery_stream.go b/internal/service/firehose/delivery_stream.go index d15c94abc388..0443e77dd5ea 100644 --- a/internal/service/firehose/delivery_stream.go +++ b/internal/service/firehose/delivery_stream.go @@ -858,6 +858,12 @@ func resourceDeliveryStream() *schema.Resource { MaxItems: 1, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ + "append_only": { + Type: schema.TypeBool, + Optional: true, + Computed: true, + ForceNew: true, + }, "buffering_interval": { Type: schema.TypeInt, Optional: true, @@ -895,12 +901,6 @@ func resourceDeliveryStream() *schema.Resource { ValidateDiagFunc: enum.Validate[types.IcebergS3BackupMode](), }, "s3_configuration": s3ConfigurationSchema(), - "append_only": { - Type: schema.TypeBool, - Optional: true, - Default: false, - ForceNew: true, // Currently, you can set this flag only with the CreateDeliveryStream API operation. - }, }, }, }, @@ -2547,7 +2547,10 @@ func expandIcebergDestinationConfiguration(tfMap map[string]any) *types.IcebergD }, RoleARN: aws.String(roleARN), S3Configuration: expandS3DestinationConfiguration(tfMap["s3_configuration"].([]any)), - AppendOnly: aws.Bool(tfMap["append_only"].(bool)), + } + + if v, ok := tfMap["append_only"].(bool); ok && v { + apiObject.AppendOnly = aws.Bool(v) } if _, ok := tfMap["cloudwatch_logging_options"]; ok { @@ -2580,8 +2583,11 @@ func expandIcebergDestinationUpdate(tfMap map[string]any) *types.IcebergDestinat IntervalInSeconds: aws.Int32(int32(tfMap["buffering_interval"].(int))), SizeInMBs: aws.Int32(int32(tfMap["buffering_size"].(int))), }, - RoleARN: aws.String(roleARN), - AppendOnly: aws.Bool(tfMap["append_only"].(bool)), + RoleARN: aws.String(roleARN), + } + + if v, ok := tfMap["append_only"].(bool); ok && v { + apiObject.AppendOnly = aws.Bool(v) } if catalogARN, ok := tfMap["catalog_arn"].(string); ok { @@ -4251,10 +4257,10 @@ func flattenIcebergDestinationDescription(apiObject *types.IcebergDestinationDes } tfMap := map[string]any{ + "append_only": aws.ToBool(apiObject.AppendOnly), "catalog_arn": aws.ToString(apiObject.CatalogConfiguration.CatalogARN), "s3_configuration": flattenS3DestinationDescription(apiObject.S3DestinationDescription), names.AttrRoleARN: aws.ToString(apiObject.RoleARN), - "append_only": aws.ToBool(apiObject.AppendOnly), } if apiObject.BufferingHints != nil { diff --git a/internal/service/firehose/delivery_stream_test.go b/internal/service/firehose/delivery_stream_test.go index 8465e1a6d583..a2fb5e76c7c5 100644 --- a/internal/service/firehose/delivery_stream_test.go +++ b/internal/service/firehose/delivery_stream_test.go @@ -16,6 +16,7 @@ import ( "github.com/aws/aws-sdk-go-v2/service/lambda" sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/plancheck" "github.com/hashicorp/terraform-plugin-testing/terraform" "github.com/hashicorp/terraform-provider-aws/internal/acctest" "github.com/hashicorp/terraform-provider-aws/internal/conns" @@ -1054,6 +1055,7 @@ func TestAccFirehoseDeliveryStream_ExtendedS3_readFromTimestamp(t *testing.T) { } func TestAccFirehoseDeliveryStream_icebergUpdates(t *testing.T) { + // In main test account: // "InvalidArgumentException: Role ... is not authorized to perform: glue:GetTable for the given table or the table does not exist." acctest.Skip(t, "Unresolvable Glue permission issue") @@ -1076,6 +1078,7 @@ func TestAccFirehoseDeliveryStream_icebergUpdates(t *testing.T) { resource.TestCheckResourceAttrSet(resourceName, "iceberg_configuration.0.role_arn"), resource.TestCheckResourceAttrSet(resourceName, "iceberg_configuration.0.s3_configuration.0.bucket_arn"), resource.TestCheckResourceAttrSet(resourceName, "iceberg_configuration.0.s3_configuration.0.role_arn"), + resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.append_only", acctest.CtFalse), resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.buffering_interval", "300"), resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.buffering_size", "5"), resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.cloudwatch_logging_options.#", "1"), @@ -1089,8 +1092,12 @@ func TestAccFirehoseDeliveryStream_icebergUpdates(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.processing_configuration.0.enabled", acctest.CtFalse), resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.retry_options.#", "0"), resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.s3_backup_mode", "FailedDataOnly"), - resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.append_only", acctest.CtFalse), ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, }, { ResourceName: resourceName, @@ -1105,6 +1112,7 @@ func TestAccFirehoseDeliveryStream_icebergUpdates(t *testing.T) { resource.TestCheckResourceAttrSet(resourceName, "iceberg_configuration.0.role_arn"), resource.TestCheckResourceAttrSet(resourceName, "iceberg_configuration.0.s3_configuration.0.bucket_arn"), resource.TestCheckResourceAttrSet(resourceName, "iceberg_configuration.0.s3_configuration.0.role_arn"), + resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.append_only", acctest.CtFalse), resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.buffering_interval", "900"), resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.buffering_size", "100"), resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.cloudwatch_logging_options.#", "1"), @@ -1117,8 +1125,12 @@ func TestAccFirehoseDeliveryStream_icebergUpdates(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.processing_configuration.#", "1"), resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.processing_configuration.0.enabled", acctest.CtFalse), resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.s3_backup_mode.#", "0"), - resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.append_only", acctest.CtTrue), ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + }, + }, }, { Config: testAccDeliveryStream_icebergUpdatesMetadataProcessor(rName), @@ -1128,6 +1140,7 @@ func TestAccFirehoseDeliveryStream_icebergUpdates(t *testing.T) { resource.TestCheckResourceAttrSet(resourceName, "iceberg_configuration.0.role_arn"), resource.TestCheckResourceAttrSet(resourceName, "iceberg_configuration.0.s3_configuration.0.bucket_arn"), resource.TestCheckResourceAttrSet(resourceName, "iceberg_configuration.0.s3_configuration.0.role_arn"), + resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.append_only", acctest.CtFalse), resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.buffering_interval", "300"), resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.buffering_size", "5"), resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.cloudwatch_logging_options.#", "1"), @@ -1154,6 +1167,11 @@ func TestAccFirehoseDeliveryStream_icebergUpdates(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.retry_options.#", "0"), resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.s3_backup_mode", "FailedDataOnly"), ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + }, + }, }, { Config: testAccDeliveryStream_icebergUpdatesLambdaProcessor(rName), @@ -1162,6 +1180,7 @@ func TestAccFirehoseDeliveryStream_icebergUpdates(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.#", "1"), resource.TestCheckResourceAttrSet(resourceName, "iceberg_configuration.0.role_arn"), resource.TestCheckResourceAttrSet(resourceName, "iceberg_configuration.0.s3_configuration.0.bucket_arn"), + resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.append_only", acctest.CtTrue), resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.buffering_interval", "300"), resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.buffering_size", "5"), resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.cloudwatch_logging_options.#", "1"), @@ -1185,6 +1204,11 @@ func TestAccFirehoseDeliveryStream_icebergUpdates(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.retry_options.#", "0"), resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.s3_backup_mode.#", "0"), ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionReplace), // Changes to destination_table_configuration and append_only + }, + }, }, }, }) @@ -4212,7 +4236,6 @@ resource "aws_kinesis_firehose_delivery_stream" "test" { buffering_interval = 900 buffering_size = 100 retry_duration = 900 - append_only = true s3_configuration { bucket_arn = aws_s3_bucket.bucket.arn @@ -4287,6 +4310,7 @@ resource "aws_kinesis_firehose_delivery_stream" "test" { role_arn = aws_iam_role.firehose.arn s3_backup_mode = "FailedDataOnly" catalog_arn = "arn:${data.aws_partition.current.partition}:glue:${data.aws_region.current.region}:${data.aws_caller_identity.current.account_id}:catalog" + append_only = true s3_configuration { bucket_arn = aws_s3_bucket.bucket.arn From f931ae36ff5fdbe9c57b98be330e6ae6d03f9b27 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 6 Aug 2025 12:34:43 -0400 Subject: [PATCH 0594/1301] Add 'TestAccFirehoseDeliveryStream_icebergUpgradeV6_7_0'. --- .../service/firehose/delivery_stream_test.go | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/internal/service/firehose/delivery_stream_test.go b/internal/service/firehose/delivery_stream_test.go index a2fb5e76c7c5..f880078bd0cd 100644 --- a/internal/service/firehose/delivery_stream_test.go +++ b/internal/service/firehose/delivery_stream_test.go @@ -1214,6 +1214,59 @@ func TestAccFirehoseDeliveryStream_icebergUpdates(t *testing.T) { }) } +func TestAccFirehoseDeliveryStream_icebergUpgradeV6_7_0(t *testing.T) { + // In main test account: + // "InvalidArgumentException: Role ... is not authorized to perform: glue:GetTable for the given table or the table does not exist." + acctest.Skip(t, "Unresolvable Glue permission issue") + + ctx := acctest.Context(t) + var stream types.DeliveryStreamDescription + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_kinesis_firehose_delivery_stream.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.FirehoseServiceID), + CheckDestroy: testAccCheckDeliveryStreamDestroy(ctx), + Steps: []resource.TestStep{ + { + ExternalProviders: map[string]resource.ExternalProvider{ + "aws": { + Source: "hashicorp/aws", + VersionConstraint: "6.7.0", + }, + }, + Config: testAccDeliveryStream_iceberg(rName), + Check: resource.ComposeTestCheckFunc( + testAccCheckDeliveryStreamExists(ctx, resourceName, &stream), + resource.TestCheckNoResourceAttr(resourceName, "iceberg_configuration.0.append_only"), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Config: testAccDeliveryStream_iceberg(rName), + Check: resource.ComposeTestCheckFunc( + testAccCheckDeliveryStreamExists(ctx, resourceName, &stream), + resource.TestCheckResourceAttr(resourceName, "iceberg_configuration.0.append_only", acctest.CtFalse), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + }, + }) +} + func TestAccFirehoseDeliveryStream_redshiftUpdates(t *testing.T) { ctx := acctest.Context(t) var stream types.DeliveryStreamDescription From e291c50e79ff90e755cc6e94c9357d14fa9195ce Mon Sep 17 00:00:00 2001 From: changelogbot Date: Wed, 6 Aug 2025 16:54:01 +0000 Subject: [PATCH 0595/1301] Update CHANGELOG.md for #43722 --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 919f03a00e81..fbb13aec59c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,8 +11,12 @@ ENHANCEMENTS: * data-source/aws_quicksight_user: Add `custom_permissions_name` attribute ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) * resource/aws_bedrock_guardrail: Add `input_action`, `output_action`, `input_enabled`, and `output_enabled` attributes to `sensitive_information_policy_config.pii_entities_config` and `sensitive_information_policy_config.regexes_config` configuration blocks ([#43702](https://github.com/hashicorp/terraform-provider-aws/issues/43702)) * resource/aws_cloudwatch_log_group: Add resource identity support ([#43719](https://github.com/hashicorp/terraform-provider-aws/issues/43719)) +* resource/aws_computeoptimizer_recommendation_preferences: Add `AuroraDBClusterStorage` as a valid `resource_type` ([#43677](https://github.com/hashicorp/terraform-provider-aws/issues/43677)) * resource/aws_docdb_cluster: Add `serverless_v2_scaling_configuration` argument in support of [Amazon DocumentDB serverless](https://docs.aws.amazon.com/documentdb/latest/developerguide/docdb-serverless.html) ([#43667](https://github.com/hashicorp/terraform-provider-aws/issues/43667)) +* resource/aws_ecr_repository: Add `image_tag_mutability_exclusion_filter` argument ([#43642](https://github.com/hashicorp/terraform-provider-aws/issues/43642)) +* resource/aws_ecr_repository: Support `IMMUTABLE_WITH_EXCLUSION` and `MUTABLE_WITH_EXCLUSION` as valid values for `image_tag_mutability` ([#43642](https://github.com/hashicorp/terraform-provider-aws/issues/43642)) * resource/aws_inspector2_enabler: Support resource import ([#43673](https://github.com/hashicorp/terraform-provider-aws/issues/43673)) +* resource/aws_instance: Adds `force_destroy` argument that allows destruction even when `disable_api_termination` and `disable_api_stop` are `true` ([#43722](https://github.com/hashicorp/terraform-provider-aws/issues/43722)) * resource/aws_ivschat_logging_configuration: Add resource identity support ([#43697](https://github.com/hashicorp/terraform-provider-aws/issues/43697)) * resource/aws_ivschat_room: Add resource identity support ([#43697](https://github.com/hashicorp/terraform-provider-aws/issues/43697)) * resource/aws_lightsail_static_ip: Support resource import ([#43672](https://github.com/hashicorp/terraform-provider-aws/issues/43672)) @@ -21,14 +25,17 @@ ENHANCEMENTS: * resource/aws_quicksight_user: Change `user_name` to Optional and Computed ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) * resource/aws_quicksight_user: Support `IAM_IDENTITY_CENTER` as a valid value for `identity_type` ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) * resource/aws_quicksight_user: Support `RESTRICTED_AUTHOR` and `RESTRICTED_READER` as valid values for `user_role` ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) +* resource/aws_sqs_queue: Increase upper limit of `max_message_size` from 256 KiB to 1024 KiB ([#43710](https://github.com/hashicorp/terraform-provider-aws/issues/43710)) BUG FIXES: +* ephemeral-resource/aws_lambda_invocation: Fix plan inconsistency issue due to improperly assigned payload values ([#43676](https://github.com/hashicorp/terraform-provider-aws/issues/43676)) * provider: Fix failure to detect resources deleted outside of Terraform as missing for numerous resource types ([#43659](https://github.com/hashicorp/terraform-provider-aws/issues/43659)) * resource/aws_batch_compute_environment: Fix `inconsistent final plan` error when `compute_resource.launch_template.version` is unknown during an update ([#43337](https://github.com/hashicorp/terraform-provider-aws/issues/43337)) * resource/aws_bedrockagent_flow: Prevent `created_at` becoming `null` on Update ([#43654](https://github.com/hashicorp/terraform-provider-aws/issues/43654)) * resource/aws_ec2_managed_prefix_list: Fix `PrefixListVersionMismatch: The prefix list has the incorrect version number` errors when updating entry description ([#43661](https://github.com/hashicorp/terraform-provider-aws/issues/43661)) * resource/aws_fsx_lustre_file_system: Fix validation of SSD read cache size for file systems using the Intelligent-Tiering storage class ([#43605](https://github.com/hashicorp/terraform-provider-aws/issues/43605)) +* resource/aws_instance: Prevent destruction of resource when `disable_api_termination` is `true` ([#43722](https://github.com/hashicorp/terraform-provider-aws/issues/43722)) * resource/aws_kms_key: Restore pre-v6.3.0 retry delay behavior when waiting for continuous target state occurrences. This fixes certain tag update timeouts ([#43716](https://github.com/hashicorp/terraform-provider-aws/issues/43716)) * resource/aws_s3tables_table_bucket: Fix crash on `maintenance_configuration` read failure ([#43707](https://github.com/hashicorp/terraform-provider-aws/issues/43707)) * resource/aws_timestreaminfluxdb_db_instance: Don't mark `network_type` as [ForceNew](https://developer.hashicorp.com/terraform/plugin/sdkv2/schemas/schema-behaviors#forcenew) if the value is not configured. This fixes a problem with `terraform apply -refresh=false` after upgrade from `v5.90.0` and below ([#43534](https://github.com/hashicorp/terraform-provider-aws/issues/43534)) From 848dd736e4dcb70102655dc2e38dffc17f90c3d4 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 6 Aug 2025 15:09:04 -0400 Subject: [PATCH 0596/1301] Fix 'infertypeargs' warnings. --- internal/framework/types/list_nested_objectof.go | 6 +++--- internal/framework/types/objectof.go | 2 +- internal/framework/types/set_nested_objectof.go | 6 +++--- internal/framework/types/smithy_json.go | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/internal/framework/types/list_nested_objectof.go b/internal/framework/types/list_nested_objectof.go index 9702bd4d9800..75a1b2c7f481 100644 --- a/internal/framework/types/list_nested_objectof.go +++ b/internal/framework/types/list_nested_objectof.go @@ -119,7 +119,7 @@ func (t listNestedObjectTypeOf[T]) NewObjectSlice(ctx context.Context, len, cap func (t listNestedObjectTypeOf[T]) NullValue(ctx context.Context) (attr.Value, diag.Diagnostics) { var diags diag.Diagnostics - return NewListNestedObjectValueOfNull[T](ctx, WithSemanticEqualityFunc(t.semanticEqualityFunc)), diags + return NewListNestedObjectValueOfNull(ctx, WithSemanticEqualityFunc(t.semanticEqualityFunc)), diags } func (t listNestedObjectTypeOf[T]) ValueFromObjectPtr(ctx context.Context, ptr any) (attr.Value, diag.Diagnostics) { @@ -275,7 +275,7 @@ func NewListNestedObjectValueOfPtrMust[T any](ctx context.Context, t *T, f ...Ne } func NewListNestedObjectValueOfSlice[T any](ctx context.Context, ts []*T, f semanticEqualityFunc[T]) (ListNestedObjectValueOf[T], diag.Diagnostics) { - return newListNestedObjectValueOf[T](ctx, ts, f) + return newListNestedObjectValueOf(ctx, ts, f) } func NewListNestedObjectValueOfSliceMust[T any](ctx context.Context, ts []*T, f ...NestedObjectOfOption[T]) ListNestedObjectValueOf[T] { @@ -285,7 +285,7 @@ func NewListNestedObjectValueOfSliceMust[T any](ctx context.Context, ts []*T, f func NewListNestedObjectValueOfValueSlice[T any](ctx context.Context, ts []T, f ...NestedObjectOfOption[T]) (ListNestedObjectValueOf[T], diag.Diagnostics) { opts := newNestedObjectOfOptions(f...) - return newListNestedObjectValueOf[T](ctx, ts, opts.SemanticEqualityFunc) + return newListNestedObjectValueOf(ctx, ts, opts.SemanticEqualityFunc) } func NewListNestedObjectValueOfValueSliceMust[T any](ctx context.Context, ts []T, f ...NestedObjectOfOption[T]) ListNestedObjectValueOf[T] { diff --git a/internal/framework/types/objectof.go b/internal/framework/types/objectof.go index d72a161b3de9..61a4a9544c08 100644 --- a/internal/framework/types/objectof.go +++ b/internal/framework/types/objectof.go @@ -250,5 +250,5 @@ func NewObjectValueOf[T any](ctx context.Context, t *T) (ObjectValueOf[T], diag. } func NewObjectValueOfMust[T any](ctx context.Context, t *T) ObjectValueOf[T] { - return fwdiag.Must(NewObjectValueOf[T](ctx, t)) + return fwdiag.Must(NewObjectValueOf(ctx, t)) } diff --git a/internal/framework/types/set_nested_objectof.go b/internal/framework/types/set_nested_objectof.go index 22f939789273..0bd4198724a0 100644 --- a/internal/framework/types/set_nested_objectof.go +++ b/internal/framework/types/set_nested_objectof.go @@ -117,7 +117,7 @@ func (t setNestedObjectTypeOf[T]) NewObjectSlice(ctx context.Context, len, cap i func (t setNestedObjectTypeOf[T]) NullValue(ctx context.Context) (attr.Value, diag.Diagnostics) { var diags diag.Diagnostics - return NewSetNestedObjectValueOfNull[T](ctx, WithSemanticEqualityFunc(t.semanticEqualityFunc)), diags + return NewSetNestedObjectValueOfNull(ctx, WithSemanticEqualityFunc(t.semanticEqualityFunc)), diags } func (t setNestedObjectTypeOf[T]) ValueFromObjectPtr(ctx context.Context, ptr any) (attr.Value, diag.Diagnostics) { @@ -223,7 +223,7 @@ func NewSetNestedObjectValueOfPtrMust[T any](ctx context.Context, t *T, options } func NewSetNestedObjectValueOfSlice[T any](ctx context.Context, ts []*T, f semanticEqualityFunc[T]) (SetNestedObjectValueOf[T], diag.Diagnostics) { - return newSetNestedObjectValueOf[T](ctx, ts, f) + return newSetNestedObjectValueOf(ctx, ts, f) } func NewSetNestedObjectValueOfSliceMust[T any](ctx context.Context, ts []*T, options ...NestedObjectOfOption[T]) SetNestedObjectValueOf[T] { @@ -233,7 +233,7 @@ func NewSetNestedObjectValueOfSliceMust[T any](ctx context.Context, ts []*T, opt func NewSetNestedObjectValueOfValueSlice[T any](ctx context.Context, ts []T, options ...NestedObjectOfOption[T]) (SetNestedObjectValueOf[T], diag.Diagnostics) { opts := newNestedObjectOfOptions(options...) - return newSetNestedObjectValueOf[T](ctx, ts, opts.SemanticEqualityFunc) + return newSetNestedObjectValueOf(ctx, ts, opts.SemanticEqualityFunc) } func NewSetNestedObjectValueOfValueSliceMust[T any](ctx context.Context, ts []T, options ...NestedObjectOfOption[T]) SetNestedObjectValueOf[T] { diff --git a/internal/framework/types/smithy_json.go b/internal/framework/types/smithy_json.go index caa104e951e4..83e792a91816 100644 --- a/internal/framework/types/smithy_json.go +++ b/internal/framework/types/smithy_json.go @@ -91,7 +91,7 @@ func (t SmithyJSONType[T]) ValueFromString(ctx context.Context, in basetypes.Str return SmithyJSONUnknown[T](), diags } - return SmithyJSONValue[T](in.ValueString(), t.f), diags + return SmithyJSONValue(in.ValueString(), t.f), diags } var ( From be58884053535afb830295caea07baebbe035ef4 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 6 Aug 2025 15:09:26 -0400 Subject: [PATCH 0597/1301] r/aws_networkfirewall_vpc_endpoint_association: Simplify. --- .../service/networkfirewall/exports_test.go | 2 +- .../vpc_endpoint_association.go | 413 ++++++++---------- .../vpc_endpoint_association_test.go | 4 +- ...all_vpc_endpoint_association.html.markdown | 2 +- 4 files changed, 197 insertions(+), 224 deletions(-) diff --git a/internal/service/networkfirewall/exports_test.go b/internal/service/networkfirewall/exports_test.go index 6c9f0f91a5fe..84a1a55eba66 100644 --- a/internal/service/networkfirewall/exports_test.go +++ b/internal/service/networkfirewall/exports_test.go @@ -20,5 +20,5 @@ var ( FindResourcePolicyByARN = findResourcePolicyByARN FindRuleGroupByARN = findRuleGroupByARN FindTLSInspectionConfigurationByARN = findTLSInspectionConfigurationByARN - FindVPCEndpointAssociationByID = findVPCEndpointAssociationByID + FindVPCEndpointAssociationByARN = findVPCEndpointAssociationByARN ) diff --git a/internal/service/networkfirewall/vpc_endpoint_association.go b/internal/service/networkfirewall/vpc_endpoint_association.go index fc3b553b049f..2466a81cbcce 100644 --- a/internal/service/networkfirewall/vpc_endpoint_association.go +++ b/internal/service/networkfirewall/vpc_endpoint_association.go @@ -5,7 +5,7 @@ package networkfirewall import ( "context" - "errors" + "fmt" "time" "github.com/aws/aws-sdk-go-v2/aws" @@ -23,12 +23,11 @@ import ( "github.com/hashicorp/terraform-plugin-framework/schema/validator" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" - "github.com/hashicorp/terraform-provider-aws/internal/create" "github.com/hashicorp/terraform-provider-aws/internal/enum" "github.com/hashicorp/terraform-provider-aws/internal/errs" "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" "github.com/hashicorp/terraform-provider-aws/internal/framework" - "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" + fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" @@ -38,7 +37,7 @@ import ( // @FrameworkResource("aws_networkfirewall_vpc_endpoint_association", name="VPC Endpoint Association") // @Tags(identifierAttribute="firewall_arn") func newVPCEndpointAssociationResource(_ context.Context) (resource.ResourceWithConfigure, error) { - r := &resourceVPCEndpointAssociation{} + r := &vpcEndpointAssociationResource{} r.SetDefaultCreateTimeout(30 * time.Minute) r.SetDefaultDeleteTimeout(30 * time.Minute) @@ -50,14 +49,13 @@ const ( ResNameVPCEndpointAssociation = "VPC Endpoint Association" ) -type resourceVPCEndpointAssociation struct { - framework.ResourceWithModel[resourceVPCEndpointAssociationModel] +type vpcEndpointAssociationResource struct { + framework.ResourceWithModel[vpcEndpointAssociationResourceModel] framework.WithTimeouts - framework.WithNoUpdate } -func (r *resourceVPCEndpointAssociation) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { - resp.Schema = schema.Schema{ +func (r *vpcEndpointAssociationResource) Schema(ctx context.Context, request resource.SchemaRequest, response *resource.SchemaResponse) { + response.Schema = schema.Schema{ Attributes: map[string]schema.Attribute{ names.AttrDescription: schema.StringAttribute{ Optional: true, @@ -74,13 +72,19 @@ func (r *resourceVPCEndpointAssociation) Schema(ctx context.Context, req resourc }, names.AttrTags: tftags.TagsAttribute(), names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), + "vpc_endpoint_association_arn": schema.StringAttribute{ + Computed: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.UseStateForUnknown(), + }, + }, "vpc_endpoint_association_id": schema.StringAttribute{ Computed: true, PlanModifiers: []planmodifier.String{ stringplanmodifier.UseStateForUnknown(), }, }, - "vpc_endpoint_association_arn": framework.ARNAttributeComputedOnly(), + "vpc_endpoint_association_status": framework.ResourceComputedListOfObjectsAttribute[vpcEndpointAssociationStatusModel](ctx, listplanmodifier.UseStateForUnknown()), names.AttrVPCID: schema.StringAttribute{ Required: true, PlanModifiers: []planmodifier.String{ @@ -90,11 +94,14 @@ func (r *resourceVPCEndpointAssociation) Schema(ctx context.Context, req resourc }, Blocks: map[string]schema.Block{ "subnet_mapping": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[subnetMappingModel](ctx), - Description: "A list of subnet mappings for the VPC endpoint association.", + CustomType: fwtypes.NewListNestedObjectTypeOf[subnetMappingModel](ctx), Validators: []validator.List{ - listvalidator.SizeAtMost(1), + listvalidator.IsRequired(), listvalidator.SizeAtLeast(1), + listvalidator.SizeAtMost(1), + }, + PlanModifiers: []planmodifier.List{ + listplanmodifier.RequiresReplace(), }, NestedObject: schema.NestedBlockObject{ Attributes: map[string]schema.Attribute{ @@ -108,54 +115,8 @@ func (r *resourceVPCEndpointAssociation) Schema(ctx context.Context, req resourc }, names.AttrSubnetID: schema.StringAttribute{ Required: true, - }, - }, - }, - }, - "vpc_endpoint_association_status": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[vpcEndpointAssociationStatusModel](ctx), - Validators: []validator.List{ - listvalidator.SizeAtMost(1), - }, - PlanModifiers: []planmodifier.List{ - listplanmodifier.UseStateForUnknown(), - }, - NestedObject: schema.NestedBlockObject{ - Attributes: map[string]schema.Attribute{ - names.AttrStatus: schema.StringAttribute{ - Computed: true, - }, - }, - Blocks: map[string]schema.Block{ - "association_sync_state": schema.SetNestedBlock{ - CustomType: fwtypes.NewSetNestedObjectTypeOf[AZSyncStateModel](ctx), - NestedObject: schema.NestedBlockObject{ - Attributes: map[string]schema.Attribute{ - names.AttrAvailabilityZone: schema.StringAttribute{ - Computed: true, - }, - }, - Blocks: map[string]schema.Block{ - "attachment": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[attachmentModel](ctx), - NestedObject: schema.NestedBlockObject{ - Attributes: map[string]schema.Attribute{ - "endpoint_id": schema.StringAttribute{ - Computed: true, - }, - names.AttrSubnetID: schema.StringAttribute{ - Computed: true, - }, - names.AttrStatus: schema.StringAttribute{ - Computed: true, - }, - names.AttrStatusMessage: schema.StringAttribute{ - Computed: true, - }, - }, - }, - }, - }, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplace(), }, }, }, @@ -169,166 +130,194 @@ func (r *resourceVPCEndpointAssociation) Schema(ctx context.Context, req resourc } } -func (r *resourceVPCEndpointAssociation) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { - conn := r.Meta().NetworkFirewallClient(ctx) - - var plan resourceVPCEndpointAssociationModel - - resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) - if resp.Diagnostics.HasError() { +func (r *vpcEndpointAssociationResource) Create(ctx context.Context, request resource.CreateRequest, response *resource.CreateResponse) { + var data vpcEndpointAssociationResourceModel + response.Diagnostics.Append(request.Plan.Get(ctx, &data)...) + if response.Diagnostics.HasError() { return } + conn := r.Meta().NetworkFirewallClient(ctx) + var input networkfirewall.CreateVpcEndpointAssociationInput - resp.Diagnostics.Append(flex.Expand(ctx, plan, &input)...) - if resp.Diagnostics.HasError() { + response.Diagnostics.Append(fwflex.Expand(ctx, data, &input)...) + if response.Diagnostics.HasError() { return } + // Additional fields. input.Tags = getTagsIn(ctx) - out, err := conn.CreateVpcEndpointAssociation(ctx, &input) + + outputCVEA, err := conn.CreateVpcEndpointAssociation(ctx, &input) + if err != nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.NetworkFirewall, create.ErrActionCreating, ResNameVPCEndpointAssociation, "", err), - err.Error(), - ) + response.Diagnostics.AddError("creating NetworkFirewall VPC Endpoint Association", err.Error()) + return } - if out == nil || out.VpcEndpointAssociation == nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.NetworkFirewall, create.ErrActionCreating, ResNameVPCEndpointAssociation, "", nil), - errors.New("empty output").Error(), - ) + + arn := aws.ToString(outputCVEA.VpcEndpointAssociation.VpcEndpointAssociationArn) + + outputDVEA, err := waitVPCEndpointAssociationCreated(ctx, conn, arn, r.CreateTimeout(ctx, data.Timeouts)) + + if err != nil { + response.Diagnostics.AddError(fmt.Sprintf("waiting for NetworkFirewall VPC Endpoint Association (%s) create", arn), err.Error()) + return } - arn := aws.ToString(out.VpcEndpointAssociation.VpcEndpointAssociationArn) - resp.Diagnostics.Append(flex.Flatten(ctx, out.VpcEndpointAssociation, &plan)...) - if resp.Diagnostics.HasError() { + + // Set values for unknowns. + response.Diagnostics.Append(fwflex.Flatten(ctx, outputDVEA.VpcEndpointAssociation.SubnetMapping, &data.SubnetMapping)...) + if response.Diagnostics.HasError() { return } - resp.Diagnostics.Append(flex.Flatten(ctx, out.VpcEndpointAssociationStatus, &plan.VpcEndpointAssociationStatus, flex.WithIgnoredFieldNamesAppend("AssociationSyncState"))...) - if resp.Diagnostics.HasError() { + data.VPCEndpointAssociationARN = fwflex.StringValueToFramework(ctx, arn) + data.VPCEndpointAssociationID = fwflex.StringToFramework(ctx, outputDVEA.VpcEndpointAssociation.VpcEndpointAssociationId) + vpcEndpointAssociationStatus, diags := flattenVPCEndpointAssociationStatus(ctx, outputDVEA.VpcEndpointAssociationStatus) + response.Diagnostics.Append(diags...) + if response.Diagnostics.HasError() { return } - plan.VPCEndpointAssociationARN = flex.StringValueToFramework(ctx, arn) - plan.setID() + data.VpcEndpointAssociationStatus = vpcEndpointAssociationStatus - createTimeout := r.CreateTimeout(ctx, plan.Timeouts) - created, err := waitVPCEndpointAssociationCreated(ctx, conn, arn, createTimeout) - if err != nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.NetworkFirewall, create.ErrActionWaitingForCreation, ResNameVPCEndpointAssociation, arn, err), - err.Error(), - ) - return - } - // AZState is a map and needs to be flattened into a set of objects - vpcEndpointAssociationStatusModel, d := plan.VpcEndpointAssociationStatus.ToPtr(ctx) - resp.Diagnostics.Append(d...) - if resp.Diagnostics.HasError() { + response.Diagnostics.Append(response.State.Set(ctx, data)...) +} + +func (r *vpcEndpointAssociationResource) Read(ctx context.Context, request resource.ReadRequest, response *resource.ReadResponse) { + var data vpcEndpointAssociationResourceModel + response.Diagnostics.Append(request.State.Get(ctx, &data)...) + if response.Diagnostics.HasError() { return } - resp.Diagnostics.Append(vpcEndpointAssociationStatusModel.flattenAZSyncState(ctx, created.VpcEndpointAssociationStatus.AssociationSyncState)...) - resp.Diagnostics.Append(resp.State.Set(ctx, plan)...) -} -func (r *resourceVPCEndpointAssociation) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { conn := r.Meta().NetworkFirewallClient(ctx) - var state resourceVPCEndpointAssociationModel - resp.Diagnostics.Append(req.State.Get(ctx, &state)...) - if resp.Diagnostics.HasError() { - return - } - out, err := findVPCEndpointAssociationByID(ctx, conn, state.ID.ValueString()) + arn := fwflex.StringValueFromFramework(ctx, data.VPCEndpointAssociationARN) + output, err := findVPCEndpointAssociationByARN(ctx, conn, arn) if tfresource.NotFound(err) { - resp.Diagnostics.Append(fwdiag.NewResourceNotFoundWarningDiagnostic(err)) - resp.State.RemoveResource(ctx) + response.Diagnostics.Append(fwdiag.NewResourceNotFoundWarningDiagnostic(err)) + response.State.RemoveResource(ctx) + return } + if err != nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.NetworkFirewall, create.ErrActionReading, ResNameVPCEndpointAssociation, state.ID.String(), err), - err.Error(), - ) - return - } + response.Diagnostics.AddError(fmt.Sprintf("reading NetworkFirewall VPC Endpoint Association (%s)", arn), err.Error()) - resp.Diagnostics.Append(flex.Flatten(ctx, out, &state, flex.WithIgnoredFieldNamesAppend("VpcEndpointAssociationStatus"))...) - if resp.Diagnostics.HasError() { return } - resp.Diagnostics.Append(flex.Flatten(ctx, out.VpcEndpointAssociationStatus, &state.VpcEndpointAssociationStatus, flex.WithIgnoredFieldNamesAppend("AssociationSyncState"))...) - if resp.Diagnostics.HasError() { + + // Set attributes for import. + response.Diagnostics.Append(fwflex.Flatten(ctx, output.VpcEndpointAssociation, &data)...) + if response.Diagnostics.HasError() { return } - vpcEndpointAssociationStatusModel, d := state.VpcEndpointAssociationStatus.ToPtr(ctx) - resp.Diagnostics.Append(d...) - if resp.Diagnostics.HasError() { + vpcEndpointAssociationStatus, diags := flattenVPCEndpointAssociationStatus(ctx, output.VpcEndpointAssociationStatus) + response.Diagnostics.Append(diags...) + if response.Diagnostics.HasError() { return } - resp.Diagnostics.Append(vpcEndpointAssociationStatusModel.flattenAZSyncState(ctx, out.VpcEndpointAssociationStatus.AssociationSyncState)...) + data.VpcEndpointAssociationStatus = vpcEndpointAssociationStatus - setTagsOut(ctx, out.VpcEndpointAssociation.Tags) + setTagsOut(ctx, output.VpcEndpointAssociation.Tags) - resp.Diagnostics.Append(resp.State.Set(ctx, &state)...) + response.Diagnostics.Append(response.State.Set(ctx, &data)...) } -func (r *resourceVPCEndpointAssociation) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { - conn := r.Meta().NetworkFirewallClient(ctx) - - var state resourceVPCEndpointAssociationModel - resp.Diagnostics.Append(req.State.Get(ctx, &state)...) - if resp.Diagnostics.HasError() { +func (r *vpcEndpointAssociationResource) Delete(ctx context.Context, request resource.DeleteRequest, response *resource.DeleteResponse) { + var data vpcEndpointAssociationResourceModel + response.Diagnostics.Append(request.State.Get(ctx, &data)...) + if response.Diagnostics.HasError() { return } + conn := r.Meta().NetworkFirewallClient(ctx) + + arn := fwflex.StringValueFromFramework(ctx, data.VPCEndpointAssociationARN) input := networkfirewall.DeleteVpcEndpointAssociationInput{ - VpcEndpointAssociationArn: state.ID.ValueStringPointer(), + VpcEndpointAssociationArn: aws.String(arn), } - _, err := conn.DeleteVpcEndpointAssociation(ctx, &input) - if err != nil { - if errs.IsA[*awstypes.ResourceNotFoundException](err) { - return - } - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.NetworkFirewall, create.ErrActionDeleting, ResNameVPCEndpointAssociation, state.ID.String(), err), - err.Error(), - ) + if errs.IsA[*awstypes.ResourceNotFoundException](err) { return } - deleteTimeout := r.DeleteTimeout(ctx, state.Timeouts) - _, err = waitVPCEndpointAssociationDeleted(ctx, conn, state.ID.ValueString(), deleteTimeout) if err != nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.NetworkFirewall, create.ErrActionWaitingForDeletion, ResNameVPCEndpointAssociation, state.ID.String(), err), - err.Error(), - ) + response.Diagnostics.AddError(fmt.Sprintf("deleting NetworkFirewall VPC Endpoint Association (%s)", arn), err.Error()) + + return + } + + if _, err := waitVPCEndpointAssociationDeleted(ctx, conn, arn, r.DeleteTimeout(ctx, data.Timeouts)); err != nil { + response.Diagnostics.AddError(fmt.Sprintf("waiting for NetworkFirewall VPC Endpoint Association (%s) delete", arn), err.Error()) + return } } -func (r *resourceVPCEndpointAssociation) ImportState(ctx context.Context, request resource.ImportStateRequest, response *resource.ImportStateResponse) { // nosemgrep:ci.semgrep.framework.with-import-by-id +func (r *vpcEndpointAssociationResource) ImportState(ctx context.Context, request resource.ImportStateRequest, response *resource.ImportStateResponse) { // nosemgrep:ci.semgrep.framework.with-import-by-id response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root(""), request.ID)...) } +func findVPCEndpointAssociation(ctx context.Context, conn *networkfirewall.Client, input *networkfirewall.DescribeVpcEndpointAssociationInput) (*networkfirewall.DescribeVpcEndpointAssociationOutput, error) { + output, err := conn.DescribeVpcEndpointAssociation(ctx, input) + + if errs.IsA[*awstypes.ResourceNotFoundException](err) { + return nil, &retry.NotFoundError{ + LastError: err, + } + } + + if err != nil { + return nil, err + } + + if output == nil || output.VpcEndpointAssociation == nil || output.VpcEndpointAssociationStatus == nil { + return nil, tfresource.NewEmptyResultError(input) + } + + return output, nil +} + +func findVPCEndpointAssociationByARN(ctx context.Context, conn *networkfirewall.Client, arn string) (*networkfirewall.DescribeVpcEndpointAssociationOutput, error) { + input := networkfirewall.DescribeVpcEndpointAssociationInput{ + VpcEndpointAssociationArn: aws.String(arn), + } + + return findVPCEndpointAssociation(ctx, conn, &input) +} + +func statusVPCEndpointAssociation(ctx context.Context, conn *networkfirewall.Client, arn string) retry.StateRefreshFunc { + return func() (any, string, error) { + output, err := findVPCEndpointAssociationByARN(ctx, conn, arn) + + if tfresource.NotFound(err) { + return nil, "", nil + } + + if err != nil { + return nil, "", err + } + + return output, string(output.VpcEndpointAssociationStatus.Status), nil + } +} + func waitVPCEndpointAssociationCreated(ctx context.Context, conn *networkfirewall.Client, arn string, timeout time.Duration) (*networkfirewall.DescribeVpcEndpointAssociationOutput, error) { stateConf := &retry.StateChangeConf{ Pending: enum.Slice(awstypes.FirewallStatusValueProvisioning), Target: enum.Slice(awstypes.FirewallStatusValueReady), Refresh: statusVPCEndpointAssociation(ctx, conn, arn), Timeout: timeout, - NotFoundChecks: 20, ContinuousTargetOccurence: 2, } outputRaw, err := stateConf.WaitForStateContext(ctx) - if out, ok := outputRaw.(*networkfirewall.DescribeVpcEndpointAssociationOutput); ok { - return out, err + + if output, ok := outputRaw.(*networkfirewall.DescribeVpcEndpointAssociationOutput); ok { + return output, err } return nil, err @@ -336,61 +325,70 @@ func waitVPCEndpointAssociationCreated(ctx context.Context, conn *networkfirewal func waitVPCEndpointAssociationDeleted(ctx context.Context, conn *networkfirewall.Client, arn string, timeout time.Duration) (*networkfirewall.DescribeVpcEndpointAssociationOutput, error) { stateConf := &retry.StateChangeConf{ - Pending: enum.Slice(awstypes.FirewallStatusValueReady, awstypes.FirewallStatusValueDeleting), - Target: []string{}, - Refresh: statusVPCEndpointAssociation(ctx, conn, arn), - Timeout: timeout, - ContinuousTargetOccurence: 2, + Pending: enum.Slice(awstypes.FirewallStatusValueReady, awstypes.FirewallStatusValueDeleting), + Target: []string{}, + Refresh: statusVPCEndpointAssociation(ctx, conn, arn), + Timeout: timeout, } outputRaw, err := stateConf.WaitForStateContext(ctx) - if out, ok := outputRaw.(*networkfirewall.DescribeVpcEndpointAssociationOutput); ok { - return out, err + + if output, ok := outputRaw.(*networkfirewall.DescribeVpcEndpointAssociationOutput); ok { + return output, err } return nil, err } -func statusVPCEndpointAssociation(ctx context.Context, conn *networkfirewall.Client, id string) retry.StateRefreshFunc { - return func() (any, string, error) { - out, err := findVPCEndpointAssociationByID(ctx, conn, id) - if tfresource.NotFound(err) { - return nil, "", nil - } - - if err != nil { - return nil, "", err - } +func flattenVPCEndpointAssociationStatus(ctx context.Context, veas *awstypes.VpcEndpointAssociationStatus) (fwtypes.ListNestedObjectValueOf[vpcEndpointAssociationStatusModel], diag.Diagnostics) { + var diags diag.Diagnostics - return out, string(out.VpcEndpointAssociationStatus.Status), nil + if veas == nil { + return fwtypes.NewListNestedObjectValueOfNull[vpcEndpointAssociationStatusModel](ctx), diags } -} -func findVPCEndpointAssociationByID(ctx context.Context, conn *networkfirewall.Client, arn string) (*networkfirewall.DescribeVpcEndpointAssociationOutput, error) { - input := networkfirewall.DescribeVpcEndpointAssociationInput{ - VpcEndpointAssociationArn: aws.String(arn), - } + var models []*associationSyncStateModel + for az, syncState := range veas.AssociationSyncState { + a := syncState.Attachment + if a == nil { + continue + } - out, err := conn.DescribeVpcEndpointAssociation(ctx, &input) - if err != nil { - if errs.IsA[*awstypes.ResourceNotFoundException](err) { - return nil, &retry.NotFoundError{ - LastError: err, - LastRequest: &input, - } + attachment, d := fwtypes.NewListNestedObjectValueOfPtr(ctx, &attachmentModel{ + EndpointID: fwflex.StringToFramework(ctx, a.EndpointId), + SubnetID: fwflex.StringToFramework(ctx, a.SubnetId), + Status: fwtypes.StringEnumValue(a.Status), + StatusMessage: fwflex.StringToFramework(ctx, a.StatusMessage), + }) + diags.Append(d...) + if diags.HasError() { + return fwtypes.NewListNestedObjectValueOfNull[vpcEndpointAssociationStatusModel](ctx), diags } - return nil, err + models = append(models, &associationSyncStateModel{ + Attachment: attachment, + AvailabilityZone: fwflex.StringValueToFramework(ctx, az), + }) } - if out == nil { - return nil, tfresource.NewEmptyResultError(&input) + associationSyncState, d := fwtypes.NewSetNestedObjectValueOfSlice(ctx, models, nil) + diags.Append(d...) + if diags.HasError() { + return fwtypes.NewListNestedObjectValueOfNull[vpcEndpointAssociationStatusModel](ctx), diags } - return out, nil + vpcEndpointAssociationStatus, d := fwtypes.NewListNestedObjectValueOfPtr(ctx, &vpcEndpointAssociationStatusModel{ + AssociationSyncState: associationSyncState, + }) + diags.Append(d...) + if diags.HasError() { + return fwtypes.NewListNestedObjectValueOfNull[vpcEndpointAssociationStatusModel](ctx), diags + } + + return vpcEndpointAssociationStatus, diags } -type resourceVPCEndpointAssociationModel struct { +type vpcEndpointAssociationResourceModel struct { framework.WithRegionModel Description types.String `tfsdk:"description"` FirewallARN fwtypes.ARN `tfsdk:"firewall_arn"` @@ -410,42 +408,17 @@ type subnetMappingModel struct { } type vpcEndpointAssociationStatusModel struct { - Status types.String `tfsdk:"status"` - AssociationSyncState fwtypes.SetNestedObjectValueOf[AZSyncStateModel] `tfsdk:"association_sync_state"` + AssociationSyncState fwtypes.SetNestedObjectValueOf[associationSyncStateModel] `tfsdk:"association_sync_state"` } -type AZSyncStateModel struct { +type associationSyncStateModel struct { Attachment fwtypes.ListNestedObjectValueOf[attachmentModel] `tfsdk:"attachment"` AvailabilityZone types.String `tfsdk:"availability_zone"` } type attachmentModel struct { - EndpointId types.String `tfsdk:"endpoint_id"` - SubnetId types.String `tfsdk:"subnet_id"` - Status types.String `tfsdk:"status"` - StatusMessage types.String `tfsdk:"status_message"` -} - -func (m *vpcEndpointAssociationStatusModel) flattenAZSyncState(ctx context.Context, azSyncStateMap map[string]awstypes.AZSyncState) diag.Diagnostics { - var diags diag.Diagnostics - - if len(azSyncStateMap) == 0 { - return diags - } - azSyncStates := make([]*AZSyncStateModel, 0, len(azSyncStateMap)) - for az, syncState := range azSyncStateMap { - azSyncState := &AZSyncStateModel{ - AvailabilityZone: flex.StringValueToFramework(ctx, az), - } - var attachment attachmentModel - diags.Append(flex.Flatten(ctx, syncState.Attachment, &attachment)...) - if diags.HasError() { - return diags - } - azSyncState.Attachment = fwtypes.NewListNestedObjectValueOfPtrMust(ctx, &attachment) - azSyncStates = append(azSyncStates, azSyncState) - } - m.AssociationSyncState = fwtypes.NewSetNestedObjectValueOfSliceMust(ctx, azSyncStates) - - return diags + EndpointID types.String `tfsdk:"endpoint_id"` + SubnetID types.String `tfsdk:"subnet_id"` + Status fwtypes.StringEnum[awstypes.AttachmentStatus] `tfsdk:"status"` + StatusMessage types.String `tfsdk:"status_message"` } diff --git a/internal/service/networkfirewall/vpc_endpoint_association_test.go b/internal/service/networkfirewall/vpc_endpoint_association_test.go index fb606727795b..e7cb18941a30 100644 --- a/internal/service/networkfirewall/vpc_endpoint_association_test.go +++ b/internal/service/networkfirewall/vpc_endpoint_association_test.go @@ -113,7 +113,7 @@ func testAccCheckVPCEndpointAssociationDestroy(ctx context.Context) resource.Tes continue } - _, err := tfnetworkfirewall.FindVPCEndpointAssociationByID(ctx, conn, rs.Primary.ID) + _, err := tfnetworkfirewall.FindVPCEndpointAssociationByARN(ctx, conn, rs.Primary.ID) if tfresource.NotFound(err) { return nil } @@ -141,7 +141,7 @@ func testAccCheckVPCEndpointAssociationExists(ctx context.Context, name string, conn := acctest.Provider.Meta().(*conns.AWSClient).NetworkFirewallClient(ctx) - resp, err := tfnetworkfirewall.FindVPCEndpointAssociationByID(ctx, conn, rs.Primary.ID) + resp, err := tfnetworkfirewall.FindVPCEndpointAssociationByARN(ctx, conn, rs.Primary.ID) if err != nil { return create.Error(names.NetworkFirewall, create.ErrActionCheckingExistence, tfnetworkfirewall.ResNameVPCEndpointAssociation, rs.Primary.ID, err) } diff --git a/website/docs/r/networkfirewall_vpc_endpoint_association.html.markdown b/website/docs/r/networkfirewall_vpc_endpoint_association.html.markdown index e8db80a43b41..8ee056c71140 100644 --- a/website/docs/r/networkfirewall_vpc_endpoint_association.html.markdown +++ b/website/docs/r/networkfirewall_vpc_endpoint_association.html.markdown @@ -61,7 +61,7 @@ This resource exports the following attributes in addition to the arguments abov * `vpc_endpoint_association_arn` - ARN of the VPC Endpoint Association. * `vpc_endpoint_association_id` - The unique identifier of the VPC endpoint association. * `vpc_endpoint_association_status` - Nested list of information about the current status of the VPC Endpoint Association. - * `association_sync_state` - Set of subnets configured for use by the VPC Endpoint Association. + * `association_sync_states` - Set of subnets configured for use by the VPC Endpoint Association. * `attachment` - Nested list describing the attachment status of the firewall's VPC Endpoint Association with a single VPC subnet. * `endpoint_id` - The identifier of the VPC endpoint that AWS Network Firewall has instantiated in the subnet. You use this to identify the firewall endpoint in the VPC route tables, when you redirect the VPC traffic through the endpoint. * `subnet_id` - The unique identifier of the subnet that you've specified to be used for a VPC Endpoint Association endpoint. From d23fbe644dd47c49268a0a773efd637449287454 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Fri, 25 Jul 2025 19:10:02 -0400 Subject: [PATCH 0598/1301] Add docs for new resource --- ...b_acl_rule_group_association.html.markdown | 189 ++++++++++++++++++ 1 file changed, 189 insertions(+) create mode 100644 website/docs/r/wafv2_web_acl_rule_group_association.html.markdown diff --git a/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown b/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown new file mode 100644 index 000000000000..aee8aba8206e --- /dev/null +++ b/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown @@ -0,0 +1,189 @@ +--- +subcategory: "WAF" +layout: "aws" +page_title: "AWS: aws_wafv2_web_acl_rule_group_association" +description: |- + Associates a WAFv2 Rule Group with a Web ACL by adding a rule that references the Rule Group. +--- + +# Resource: aws_wafv2_web_acl_rule_group_association + +Associates a WAFv2 Rule Group with a Web ACL by adding a rule that references the Rule Group. Use this resource to apply the rules defined in a Rule Group to a Web ACL without duplicating rule definitions. + +~> **Note:** This resource creates a rule within the Web ACL that references the entire Rule Group. The rule group's individual rules are evaluated as a unit when requests are processed by the Web ACL. + +## Example Usage + +### Basic Usage + +```terraform +resource "aws_wafv2_rule_group" "example" { + name = "example-rule-group" + scope = "REGIONAL" + capacity = 10 + + rule { + name = "block-suspicious-requests" + priority = 1 + + action { + block {} + } + + statement { + geo_match_statement { + country_codes = ["CN", "RU"] + } + } + + visibility_config { + cloudwatch_metrics_enabled = true + metric_name = "block-suspicious-requests" + sampled_requests_enabled = true + } + } + + visibility_config { + cloudwatch_metrics_enabled = true + metric_name = "example-rule-group" + sampled_requests_enabled = true + } +} + +resource "aws_wafv2_web_acl" "example" { + name = "example-web-acl" + scope = "REGIONAL" + + default_action { + allow {} + } + + visibility_config { + cloudwatch_metrics_enabled = true + metric_name = "example-web-acl" + sampled_requests_enabled = true + } +} + +resource "aws_wafv2_web_acl_rule_group_association" "example" { + rule_name = "example-rule-group-rule" + priority = 100 + rule_group_arn = aws_wafv2_rule_group.example.arn + web_acl_arn = aws_wafv2_web_acl.example.arn +} +``` + +### With Override Action + +```terraform +resource "aws_wafv2_web_acl_rule_group_association" "example" { + rule_name = "example-rule-group-rule" + priority = 100 + rule_group_arn = aws_wafv2_rule_group.example.arn + web_acl_arn = aws_wafv2_web_acl.example.arn + override_action = "count" +} +``` + +### CloudFront Web ACL + +```terraform +resource "aws_wafv2_rule_group" "cloudfront_example" { + name = "cloudfront-rule-group" + scope = "CLOUDFRONT" + capacity = 10 + + rule { + name = "rate-limit" + priority = 1 + + action { + block {} + } + + statement { + rate_based_statement { + limit = 2000 + aggregate_key_type = "IP" + } + } + + visibility_config { + cloudwatch_metrics_enabled = true + metric_name = "rate-limit" + sampled_requests_enabled = true + } + } + + visibility_config { + cloudwatch_metrics_enabled = true + metric_name = "cloudfront-rule-group" + sampled_requests_enabled = true + } +} + +resource "aws_wafv2_web_acl" "cloudfront_example" { + name = "cloudfront-web-acl" + scope = "CLOUDFRONT" + + default_action { + allow {} + } + + visibility_config { + cloudwatch_metrics_enabled = true + metric_name = "cloudfront-web-acl" + sampled_requests_enabled = true + } +} + +resource "aws_wafv2_web_acl_rule_group_association" "cloudfront_example" { + rule_name = "cloudfront-rule-group-rule" + priority = 50 + rule_group_arn = aws_wafv2_rule_group.cloudfront_example.arn + web_acl_arn = aws_wafv2_web_acl.cloudfront_example.arn +} +``` + +## Argument Reference + +The following arguments are required: + +* `rule_name` - (Required) Name of the rule to create in the Web ACL that references the rule group. Must be between 1 and 128 characters. +* `priority` - (Required) Priority of the rule within the Web ACL. Rules are evaluated in order of priority, with lower numbers evaluated first. +* `rule_group_arn` - (Required) ARN of the Rule Group to associate with the Web ACL. +* `web_acl_arn` - (Required) ARN of the Web ACL to associate the Rule Group with. + +The following arguments are optional: + +* `override_action` - (Optional) Override action for the rule group. Valid values are `none` and `count`. Defaults to `none`. When set to `count`, the actions defined in the rule group rules are overridden to count matches instead of blocking or allowing requests. + +## Attribute Reference + +This resource exports the following attributes in addition to the arguments above: + +* `id` - Unique identifier for the association. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +* `create` - (Default `30m`) +* `delete` - (Default `30m`) + +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import WAFv2 Web ACL Rule Group Associations using `WebACLARN,RuleGroupARN,RuleName`. For example: + +```terraform +import { + to = aws_wafv2_web_acl_rule_group_association.example + id = "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,arn:aws:wafv2:us-east-1:123456789012:regional/rulegroup/example-rule-group/87654321-4321-4321-4321-210987654321,example-rule-group-rule" +} +``` + +Using `terraform import`, import WAFv2 Web ACL Rule Group Associations using `WebACLARN,RuleGroupARN,RuleName`. For example: + +```console +% terraform import aws_wafv2_web_acl_rule_group_association.example "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,arn:aws:wafv2:us-east-1:123456789012:regional/rulegroup/example-rule-group/87654321-4321-4321-4321-210987654321,example-rule-group-rule" +``` From 1426ad0ea970516a02e29be10a4a357ec6c08e3b Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Fri, 25 Jul 2025 19:10:34 -0400 Subject: [PATCH 0599/1301] Add new resource --- .../wafv2/web_acl_rule_group_association.go | 529 ++++++++++++++++++ 1 file changed, 529 insertions(+) create mode 100644 internal/service/wafv2/web_acl_rule_group_association.go diff --git a/internal/service/wafv2/web_acl_rule_group_association.go b/internal/service/wafv2/web_acl_rule_group_association.go new file mode 100644 index 000000000000..8493cc218e83 --- /dev/null +++ b/internal/service/wafv2/web_acl_rule_group_association.go @@ -0,0 +1,529 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package wafv2 + +import ( + "context" + "fmt" + "strings" + "time" + + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/service/wafv2" + awstypes "github.com/aws/aws-sdk-go-v2/service/wafv2/types" + "github.com/hashicorp/terraform-plugin-framework-timeouts/resource/timeouts" + "github.com/hashicorp/terraform-plugin-framework-validators/int32validator" + "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator" + "github.com/hashicorp/terraform-plugin-framework/path" + "github.com/hashicorp/terraform-plugin-framework/resource" + "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/int32planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/schema/validator" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-provider-aws/internal/conns" + "github.com/hashicorp/terraform-provider-aws/internal/create" + "github.com/hashicorp/terraform-provider-aws/internal/framework" + fwvalidators "github.com/hashicorp/terraform-provider-aws/internal/framework/validators" + "github.com/hashicorp/terraform-provider-aws/internal/sweep" + "github.com/hashicorp/terraform-provider-aws/internal/tfresource" + "github.com/hashicorp/terraform-provider-aws/names" +) + +// Function annotations are used for resource registration to the Provider. DO NOT EDIT. +// @FrameworkResource("aws_wafv2_web_acl_rule_group_association", name="Web ACL Rule Group Association") +func newResourceWebACLRuleGroupAssociation(_ context.Context) (resource.ResourceWithConfigure, error) { + r := &resourceWebACLRuleGroupAssociation{} + + r.SetDefaultCreateTimeout(30 * time.Minute) + r.SetDefaultDeleteTimeout(30 * time.Minute) + + return r, nil +} + +const ( + ResNameWebACLRuleGroupAssociation = "Web ACL Rule Group Association" +) + +type resourceWebACLRuleGroupAssociation struct { + framework.ResourceWithModel[resourceWebACLRuleGroupAssociationModel] + framework.WithTimeouts +} + +func (r *resourceWebACLRuleGroupAssociation) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { + resp.Schema = schema.Schema{ + Attributes: map[string]schema.Attribute{ + names.AttrID: framework.IDAttribute(), + "rule_name": schema.StringAttribute{ + Required: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplace(), + }, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 128), + }, + Description: "Name of the rule to create in the Web ACL that references the rule group.", + }, + names.AttrPriority: schema.Int32Attribute{ + Required: true, + PlanModifiers: []planmodifier.Int32{ + int32planmodifier.RequiresReplace(), + }, + Validators: []validator.Int32{ + int32validator.AtLeast(0), + }, + Description: "Priority of the rule within the Web ACL.", + }, + "rule_group_arn": schema.StringAttribute{ + Required: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplace(), + }, + Validators: []validator.String{ + fwvalidators.ARN(), + }, + Description: "ARN of the Rule Group to associate with the Web ACL.", + }, + "web_acl_arn": schema.StringAttribute{ + Required: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplace(), + }, + Validators: []validator.String{ + fwvalidators.ARN(), + }, + Description: "ARN of the Web ACL to associate the Rule Group with.", + }, + "override_action": schema.StringAttribute{ + Optional: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplace(), + }, + Validators: []validator.String{ + stringvalidator.OneOf("none", "count"), + }, + Description: "Override action for the rule group. Valid values are 'none' and 'count'. Defaults to 'none'.", + }, + }, + Blocks: map[string]schema.Block{ + names.AttrTimeouts: timeouts.Block(ctx, timeouts.Opts{ + Create: true, + Delete: true, + }), + }, + Description: "Associates a WAFv2 Rule Group with a Web ACL by adding a rule that references the Rule Group.", + } +} + +func (r *resourceWebACLRuleGroupAssociation) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { + conn := r.Meta().WAFV2Client(ctx) + + var plan resourceWebACLRuleGroupAssociationModel + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + if resp.Diagnostics.HasError() { + return + } + + // Parse Web ACL ARN to get ID, name, and scope + webACLID, webACLName, webACLScope, err := parseWebACLARN(plan.WebACLARN.ValueString()) + if err != nil { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.WAFV2, create.ErrActionCreating, ResNameWebACLRuleGroupAssociation, plan.RuleName.String(), err), + err.Error(), + ) + return + } + + // Get current Web ACL configuration + webACL, err := findWebACLByThreePartKey(ctx, conn, webACLID, webACLName, webACLScope) + if err != nil { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.WAFV2, create.ErrActionCreating, ResNameWebACLRuleGroupAssociation, plan.RuleName.String(), err), + err.Error(), + ) + return + } + + // Check if rule with same priority or name already exists + for _, rule := range webACL.WebACL.Rules { + if rule.Priority == plan.Priority.ValueInt32() { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.WAFV2, create.ErrActionCreating, ResNameWebACLRuleGroupAssociation, plan.RuleName.String(), nil), + fmt.Sprintf("Rule with priority %d already exists in Web ACL", plan.Priority.ValueInt32()), + ) + return + } + if aws.ToString(rule.Name) == plan.RuleName.ValueString() { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.WAFV2, create.ErrActionCreating, ResNameWebACLRuleGroupAssociation, plan.RuleName.String(), nil), + fmt.Sprintf("Rule with name %s already exists in Web ACL", plan.RuleName.ValueString()), + ) + return + } + } + + // Create new rule with rule group reference statement + newRule := awstypes.Rule{ + Name: aws.String(plan.RuleName.ValueString()), + Priority: plan.Priority.ValueInt32(), + Statement: &awstypes.Statement{ + RuleGroupReferenceStatement: &awstypes.RuleGroupReferenceStatement{ + ARN: aws.String(plan.RuleGroupARN.ValueString()), + }, + }, + VisibilityConfig: &awstypes.VisibilityConfig{ + SampledRequestsEnabled: true, + CloudWatchMetricsEnabled: true, + MetricName: aws.String(plan.RuleName.ValueString()), + }, + } + + // Set override action + overrideAction := plan.OverrideAction.ValueString() + if overrideAction == "" { + overrideAction = "none" + } + + if overrideAction == "none" { + newRule.OverrideAction = &awstypes.OverrideAction{ + None: &awstypes.NoneAction{}, + } + } else if overrideAction == "count" { + newRule.OverrideAction = &awstypes.OverrideAction{ + Count: &awstypes.CountAction{}, + } + } + + // Add the new rule to existing rules + updatedRules := append(webACL.WebACL.Rules, newRule) + + // Update the Web ACL + updateInput := &wafv2.UpdateWebACLInput{ + Id: aws.String(webACLID), + Name: aws.String(webACLName), + Scope: awstypes.Scope(webACLScope), + DefaultAction: webACL.WebACL.DefaultAction, + Rules: updatedRules, + VisibilityConfig: webACL.WebACL.VisibilityConfig, + LockToken: webACL.LockToken, + AssociationConfig: webACL.WebACL.AssociationConfig, + CaptchaConfig: webACL.WebACL.CaptchaConfig, + ChallengeConfig: webACL.WebACL.ChallengeConfig, + CustomResponseBodies: webACL.WebACL.CustomResponseBodies, + Description: webACL.WebACL.Description, + TokenDomains: webACL.WebACL.TokenDomains, + } + + const timeout = 5 * time.Minute + _, err = tfresource.RetryWhenIsA[*awstypes.WAFUnavailableEntityException](ctx, timeout, func() (any, error) { + return conn.UpdateWebACL(ctx, updateInput) + }) + + if err != nil { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.WAFV2, create.ErrActionCreating, ResNameWebACLRuleGroupAssociation, plan.RuleName.String(), err), + err.Error(), + ) + return + } + + // Set the ID as a combination that uniquely identifies this association + // Format: webACLARN/ruleName/ruleGroupARN (using slashes for consistency with other WAFv2 resources) + plan.ID = types.StringValue(fmt.Sprintf("%s/%s/%s", + plan.WebACLARN.ValueString(), + plan.RuleName.ValueString(), + plan.RuleGroupARN.ValueString())) + + resp.Diagnostics.Append(resp.State.Set(ctx, plan)...) +} + +func (r *resourceWebACLRuleGroupAssociation) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { + var state resourceWebACLRuleGroupAssociationModel + resp.Diagnostics.Append(req.State.Get(ctx, &state)...) + if resp.Diagnostics.HasError() { + return + } + + conn := r.Meta().WAFV2Client(ctx) + + // Parse the ID to get Web ACL ARN, rule name, and rule group ARN + // Format: webACLARN/ruleName/ruleGroupARN + idParts := strings.SplitN(state.ID.ValueString(), "/", 3) + if len(idParts) != 3 { + resp.Diagnostics.AddError( + "Invalid Resource ID", + "Resource ID should be in format 'webACLARN/ruleName/ruleGroupARN'", + ) + return + } + + webACLARN := idParts[0] + ruleName := idParts[1] + ruleGroupARN := idParts[2] + + // Parse Web ACL ARN to get ID, name, and scope + webACLID, webACLName, webACLScope, err := parseWebACLARN(webACLARN) + if err != nil { + resp.Diagnostics.AddError( + "Reading WAFv2 Web ACL Rule Group Association", + fmt.Sprintf("Error parsing Web ACL ARN: %s", err), + ) + return + } + + // Get the Web ACL and check if the rule group is associated + webACL, err := findWebACLByThreePartKey(ctx, conn, webACLID, webACLName, webACLScope) + if err != nil { + if tfresource.NotFound(err) { + resp.Diagnostics.AddWarning( + "Web ACL Not Found", + "Web ACL was not found, removing from state", + ) + resp.State.RemoveResource(ctx) + return + } + resp.Diagnostics.AddError( + "Reading WAFv2 Web ACL Rule Group Association", + fmt.Sprintf("Error reading Web ACL: %s", err), + ) + return + } + + // Find the rule group in the Web ACL rules + found := false + for _, rule := range webACL.WebACL.Rules { + if aws.ToString(rule.Name) == ruleName && + rule.Statement != nil && + rule.Statement.RuleGroupReferenceStatement != nil && + aws.ToString(rule.Statement.RuleGroupReferenceStatement.ARN) == ruleGroupARN { + found = true + state.Priority = types.Int32Value(rule.Priority) + + // Determine override action + overrideAction := "none" + if rule.OverrideAction != nil { + if rule.OverrideAction.Count != nil { + overrideAction = "count" + } else if rule.OverrideAction.None != nil { + overrideAction = "none" + } + } + state.OverrideAction = types.StringValue(overrideAction) + break + } + } + + if !found { + resp.Diagnostics.AddWarning( + "Rule Group Association Not Found", + "Rule group association was not found in Web ACL, removing from state", + ) + resp.State.RemoveResource(ctx) + return + } + + // Update state with current values + state.WebACLARN = types.StringValue(webACLARN) + state.RuleGroupARN = types.StringValue(ruleGroupARN) + state.RuleName = types.StringValue(ruleName) + + resp.Diagnostics.Append(resp.State.Set(ctx, &state)...) +} + +func (r *resourceWebACLRuleGroupAssociation) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { + var plan, state resourceWebACLRuleGroupAssociationModel + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + resp.Diagnostics.Append(req.State.Get(ctx, &state)...) + if resp.Diagnostics.HasError() { + return + } + + // Most attributes require replacement, so we only need to handle changes to attributes + // that don't require replacement (currently none) + + // For future extensibility, if any attributes are added that don't require replacement, + // they would be handled here + + resp.Diagnostics.Append(resp.State.Set(ctx, &plan)...) +} + +func (r *resourceWebACLRuleGroupAssociation) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { + var state resourceWebACLRuleGroupAssociationModel + resp.Diagnostics.Append(req.State.Get(ctx, &state)...) + if resp.Diagnostics.HasError() { + return + } + + conn := r.Meta().WAFV2Client(ctx) + + // Parse the ID to get Web ACL ARN, rule name, and rule group ARN + // Format: webACLARN/ruleName/ruleGroupARN + idParts := strings.SplitN(state.ID.ValueString(), "/", 3) + if len(idParts) != 3 { + resp.Diagnostics.AddError( + "Invalid Resource ID", + "Resource ID should be in format 'webACLARN/ruleName/ruleGroupARN'", + ) + return + } + + webACLARN := idParts[0] + ruleName := idParts[1] + + // Parse Web ACL ARN to get ID, name, and scope + webACLID, webACLName, webACLScope, err := parseWebACLARN(webACLARN) + if err != nil { + resp.Diagnostics.AddError( + "Deleting WAFv2 Web ACL Rule Group Association", + fmt.Sprintf("Error parsing Web ACL ARN: %s", err), + ) + return + } + + // Get the Web ACL + webACL, err := findWebACLByThreePartKey(ctx, conn, webACLID, webACLName, webACLScope) + if err != nil { + if tfresource.NotFound(err) { + // Web ACL is already gone, nothing to do + return + } + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.WAFV2, create.ErrActionDeleting, ResNameWebACLRuleGroupAssociation, state.ID.String(), err), + err.Error(), + ) + return + } + + // Filter out the rule we want to remove + var updatedRules []awstypes.Rule + ruleFound := false + for _, rule := range webACL.WebACL.Rules { + if aws.ToString(rule.Name) != ruleName { + updatedRules = append(updatedRules, rule) + } else { + ruleFound = true + } + } + + if !ruleFound { + // Rule is already gone, nothing to do + return + } + + // Update the Web ACL without the rule + updateInput := &wafv2.UpdateWebACLInput{ + Id: aws.String(webACLID), + Name: aws.String(webACLName), + Scope: awstypes.Scope(webACLScope), + DefaultAction: webACL.WebACL.DefaultAction, + Rules: updatedRules, + VisibilityConfig: webACL.WebACL.VisibilityConfig, + LockToken: webACL.LockToken, + AssociationConfig: webACL.WebACL.AssociationConfig, + CaptchaConfig: webACL.WebACL.CaptchaConfig, + ChallengeConfig: webACL.WebACL.ChallengeConfig, + CustomResponseBodies: webACL.WebACL.CustomResponseBodies, + Description: webACL.WebACL.Description, + TokenDomains: webACL.WebACL.TokenDomains, + } + + const timeout = 5 * time.Minute + _, err = tfresource.RetryWhenIsA[*awstypes.WAFUnavailableEntityException](ctx, timeout, func() (any, error) { + return conn.UpdateWebACL(ctx, updateInput) + }) + + if err != nil { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.WAFV2, create.ErrActionDeleting, ResNameWebACLRuleGroupAssociation, state.ID.String(), err), + err.Error(), + ) + return + } +} + +func (r *resourceWebACLRuleGroupAssociation) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { + // Import format: webACLARN,ruleGroupARN,ruleName + parts := strings.Split(req.ID, ",") + if len(parts) != 3 { + resp.Diagnostics.AddError( + "Invalid Import ID", + "Import ID should be in format 'webACLARN,ruleGroupARN,ruleName'", + ) + return + } + + webACLARN := parts[0] + ruleGroupARN := parts[1] + ruleName := parts[2] + + // Parse Web ACL ARN to get ID, name, and scope + _, _, _, err := parseWebACLARN(webACLARN) + if err != nil { + resp.Diagnostics.AddError( + "Invalid Web ACL ARN", + fmt.Sprintf("Error parsing Web ACL ARN: %s", err), + ) + return + } + + // Set the ID in the expected format for Read + resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("id"), + fmt.Sprintf("%s/%s/%s", webACLARN, ruleName, ruleGroupARN))...) + resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("web_acl_arn"), webACLARN)...) + resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("rule_group_arn"), ruleGroupARN)...) + resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("rule_name"), ruleName)...) +} + +// parseWebACLARN extracts the Web ACL ID, name, and scope from the ARN +func parseWebACLARN(arn string) (id, name, scope string, err error) { + // ARN format: arn:aws:wafv2:region:account-id:scope/webacl/name/id + // or for CloudFront: arn:aws:wafv2:global:account-id:global/webacl/name/id + parts := strings.Split(arn, ":") + if len(parts) < 6 { + return "", "", "", fmt.Errorf("invalid Web ACL ARN format: %s", arn) + } + + resourceParts := strings.Split(parts[5], "/") + if len(resourceParts) < 4 { + return "", "", "", fmt.Errorf("invalid Web ACL ARN resource format: %s", parts[5]) + } + + // Validate that this is a webacl ARN + if resourceParts[1] != "webacl" { + return "", "", "", fmt.Errorf("invalid Web ACL ARN: expected webacl resource type, got %s", resourceParts[1]) + } + + // Determine scope + scopeValue := "REGIONAL" + if parts[3] == "global" || resourceParts[0] == "global" { + scopeValue = "CLOUDFRONT" + } + + // Extract name and ID + nameIndex := len(resourceParts) - 2 + idIndex := len(resourceParts) - 1 + + return resourceParts[idIndex], resourceParts[nameIndex], scopeValue, nil +} + +type resourceWebACLRuleGroupAssociationModel struct { + ID types.String `tfsdk:"id"` + RuleName types.String `tfsdk:"rule_name"` + Priority types.Int32 `tfsdk:"priority"` + RuleGroupARN types.String `tfsdk:"rule_group_arn"` + WebACLARN types.String `tfsdk:"web_acl_arn"` + OverrideAction types.String `tfsdk:"override_action"` + Timeouts timeouts.Value `tfsdk:"timeouts"` +} + +func sweepWebACLRuleGroupAssociations(ctx context.Context, client *conns.AWSClient) ([]sweep.Sweepable, error) { + // Since this is a synthetic resource that modifies web ACLs, + // we don't need a specific sweep function for it. + // The web ACL sweep function will handle cleaning up web ACLs. + return nil, nil +} + +// Unit tests for parseWebACLARN function +// These tests are included in the main file following the pattern used in flex_test.go From 4ffa6b88515773d2c148d83582f18237ca7e0a34 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Fri, 25 Jul 2025 19:10:54 -0400 Subject: [PATCH 0600/1301] Add tests for new resource --- .../web_acl_rule_group_association_test.go | 494 ++++++++++++++++++ 1 file changed, 494 insertions(+) create mode 100644 internal/service/wafv2/web_acl_rule_group_association_test.go diff --git a/internal/service/wafv2/web_acl_rule_group_association_test.go b/internal/service/wafv2/web_acl_rule_group_association_test.go new file mode 100644 index 000000000000..d1336620d4bc --- /dev/null +++ b/internal/service/wafv2/web_acl_rule_group_association_test.go @@ -0,0 +1,494 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package wafv2_test + +import ( + "context" + "fmt" + "strings" + "testing" + + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/service/wafv2" + sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/terraform" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + "github.com/hashicorp/terraform-provider-aws/internal/conns" + tfwafv2 "github.com/hashicorp/terraform-provider-aws/internal/service/wafv2" + "github.com/hashicorp/terraform-provider-aws/internal/tfresource" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestParseWebACLARN(t *testing.T) { + t.Parallel() + + testCases := map[string]struct { + arn string + expectedID string + expectedName string + expectedScope string + expectError bool + }{ + "valid regional ARN": { + arn: "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/test-web-acl/12345678-1234-1234-1234-123456789012", + expectedID: "12345678-1234-1234-1234-123456789012", + expectedName: "test-web-acl", + expectedScope: "REGIONAL", + expectError: false, + }, + "valid CloudFront ARN with global region": { + arn: "arn:aws:wafv2:global:123456789012:global/webacl/test-web-acl/12345678-1234-1234-1234-123456789012", + expectedID: "12345678-1234-1234-1234-123456789012", + expectedName: "test-web-acl", + expectedScope: "CLOUDFRONT", + expectError: false, + }, + "valid CloudFront ARN with us-east-1 region": { + arn: "arn:aws:wafv2:us-east-1:123456789012:global/webacl/test-web-acl/12345678-1234-1234-1234-123456789012", + expectedID: "12345678-1234-1234-1234-123456789012", + expectedName: "test-web-acl", + expectedScope: "CLOUDFRONT", + expectError: false, + }, + "web ACL name with hyphens": { + arn: "arn:aws:wafv2:us-west-2:123456789012:regional/webacl/my-test-web-acl-name/12345678-1234-1234-1234-123456789012", + expectedID: "12345678-1234-1234-1234-123456789012", + expectedName: "my-test-web-acl-name", + expectedScope: "REGIONAL", + expectError: false, + }, + "web ACL name with underscores": { + arn: "arn:aws:wafv2:eu-west-1:123456789012:regional/webacl/my_test_web_acl_name/12345678-1234-1234-1234-123456789012", + expectedID: "12345678-1234-1234-1234-123456789012", + expectedName: "my_test_web_acl_name", + expectedScope: "REGIONAL", + expectError: false, + }, + "invalid ARN - too few parts": { + arn: "arn:aws:wafv2:us-east-1:123456789012", + expectError: true, + }, + "invalid ARN - empty": { + arn: "", + expectError: true, + }, + "invalid ARN - not an ARN": { + arn: "not-an-arn", + expectError: true, + }, + "invalid resource format - too few parts": { + arn: "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/test-web-acl", + expectError: true, + }, + "invalid resource format - wrong resource type": { + arn: "arn:aws:wafv2:us-east-1:123456789012:regional/rulegroup/test-rule-group/12345678-1234-1234-1234-123456789012", + expectError: true, + }, + "different AWS partition": { + arn: "arn:aws-us-gov:wafv2:us-gov-east-1:123456789012:regional/webacl/test-web-acl/12345678-1234-1234-1234-123456789012", + expectedID: "12345678-1234-1234-1234-123456789012", + expectedName: "test-web-acl", + expectedScope: "REGIONAL", + expectError: false, + }, + "different AWS partition with CloudFront": { + arn: "arn:aws-cn:wafv2:global:123456789012:global/webacl/test-web-acl/12345678-1234-1234-1234-123456789012", + expectedID: "12345678-1234-1234-1234-123456789012", + expectedName: "test-web-acl", + expectedScope: "CLOUDFRONT", + expectError: false, + }, + } + + for name, testCase := range testCases { + t.Run(name, func(t *testing.T) { + t.Parallel() + + id, name, scope, err := parseWebACLARN(testCase.arn) + + if testCase.expectError { + if err == nil { + t.Errorf("expected error but got none") + } + return + } + + if err != nil { + t.Errorf("unexpected error: %v", err) + return + } + + if id != testCase.expectedID { + t.Errorf("expected ID %q, got %q", testCase.expectedID, id) + } + + if name != testCase.expectedName { + t.Errorf("expected name %q, got %q", testCase.expectedName, name) + } + + if scope != testCase.expectedScope { + t.Errorf("expected scope %q, got %q", testCase.expectedScope, scope) + } + }) + } +} + +func TestAccWAFV2WebACLRuleGroupAssociation_basic(t *testing.T) { + ctx := acctest.Context(t) + var v wafv2.GetWebACLOutput + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_wafv2_web_acl_rule_group_association.test" + webACLResourceName := "aws_wafv2_web_acl.test" + ruleGroupResourceName := "aws_wafv2_rule_group.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.WAFV2ServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckWebACLRuleGroupAssociationDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccWebACLRuleGroupAssociationConfig_basic(rName), + Check: resource.ComposeTestCheckFunc( + testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &v), + resource.TestCheckResourceAttr(resourceName, "rule_name", fmt.Sprintf("%s-association", rName)), + resource.TestCheckResourceAttr(resourceName, names.AttrPriority, "10"), + resource.TestCheckResourceAttr(resourceName, "override_action", "none"), + resource.TestCheckResourceAttrPair(resourceName, "web_acl_arn", webACLResourceName, names.AttrARN), + resource.TestCheckResourceAttrPair(resourceName, "rule_group_arn", ruleGroupResourceName, names.AttrARN), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateIdFunc: testAccWebACLRuleGroupAssociationImportStateIdFunc(resourceName), + }, + }, + }) +} + +func TestAccWAFV2WebACLRuleGroupAssociation_disappears(t *testing.T) { + ctx := acctest.Context(t) + var v wafv2.GetWebACLOutput + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_wafv2_web_acl_rule_group_association.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.WAFV2ServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckWebACLRuleGroupAssociationDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccWebACLRuleGroupAssociationConfig_basic(rName), + Check: resource.ComposeTestCheckFunc( + testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &v), + acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfwafv2.ResourceWebACLRuleGroupAssociation, resourceName), + ), + ExpectNonEmptyPlan: true, + }, + }, + }) +} + +func TestAccWAFV2WebACLRuleGroupAssociation_overrideAction(t *testing.T) { + ctx := acctest.Context(t) + var v wafv2.GetWebACLOutput + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_wafv2_web_acl_rule_group_association.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.WAFV2ServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckWebACLRuleGroupAssociationDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccWebACLRuleGroupAssociationConfig_overrideAction(rName, "count"), + Check: resource.ComposeTestCheckFunc( + testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &v), + resource.TestCheckResourceAttr(resourceName, "override_action", "count"), + ), + }, + }, + }) +} + +func testAccCheckWebACLRuleGroupAssociationDestroy(ctx context.Context) resource.TestCheckFunc { + return func(s *terraform.State) error { + conn := acctest.Provider.Meta().(*conns.AWSClient).WAFV2Client(ctx) + + for _, rs := range s.RootModule().Resources { + if rs.Type != "aws_wafv2_web_acl_rule_group_association" { + continue + } + + // Parse the ID to get Web ACL ARN, rule name, and rule group ARN + // Format: webACLARN/ruleName/ruleGroupARN + idParts := strings.SplitN(rs.Primary.ID, "/", 3) + if len(idParts) != 3 { + continue + } + + webACLARN := idParts[0] + ruleName := idParts[1] + ruleGroupARN := idParts[2] + + // Parse Web ACL ARN to get ID, name, and scope + webACLID, webACLName, webACLScope, err := parseWebACLARN(webACLARN) + if err != nil { + continue + } + + // Get the Web ACL + webACL, err := tfwafv2.FindWebACLByThreePartKey(ctx, conn, webACLID, webACLName, webACLScope) + if tfresource.NotFound(err) { + // Web ACL is gone, so the association is definitely destroyed + continue + } + if err != nil { + return fmt.Errorf("error reading Web ACL (%s): %w", webACLARN, err) + } + + // Check if the rule still exists in the Web ACL + for _, rule := range webACL.WebACL.Rules { + if aws.ToString(rule.Name) == ruleName && + rule.Statement != nil && + rule.Statement.RuleGroupReferenceStatement != nil && + aws.ToString(rule.Statement.RuleGroupReferenceStatement.ARN) == ruleGroupARN { + return fmt.Errorf("WAFv2 Web ACL Rule Group Association still exists: %s", rs.Primary.ID) + } + } + } + + return nil + } +} + +func testAccCheckWebACLRuleGroupAssociationExists(ctx context.Context, n string, v *wafv2.GetWebACLOutput) resource.TestCheckFunc { + return func(s *terraform.State) error { + rs, ok := s.RootModule().Resources[n] + if !ok { + return fmt.Errorf("Not found: %s", n) + } + + if rs.Primary.ID == "" { + return fmt.Errorf("No WAFv2 WebACLRuleGroupAssociation ID is set") + } + + // Parse the ID to get Web ACL ARN, rule name, and rule group ARN + // Format: webACLARN/ruleName/ruleGroupARN + idParts := strings.SplitN(rs.Primary.ID, "/", 3) + if len(idParts) != 3 { + return fmt.Errorf("Invalid ID format: %s", rs.Primary.ID) + } + + webACLARN := idParts[0] + ruleName := idParts[1] + ruleGroupARN := idParts[2] + + // Parse Web ACL ARN to get ID, name, and scope + webACLID, webACLName, webACLScope, err := parseWebACLARN(webACLARN) + if err != nil { + return fmt.Errorf("error parsing Web ACL ARN: %w", err) + } + + conn := acctest.Provider.Meta().(*conns.AWSClient).WAFV2Client(ctx) + + // Get the Web ACL + webACL, err := tfwafv2.FindWebACLByThreePartKey(ctx, conn, webACLID, webACLName, webACLScope) + if err != nil { + return fmt.Errorf("error reading Web ACL (%s): %w", webACLARN, err) + } + + // Check if the rule exists in the Web ACL with the correct configuration + found := false + for _, rule := range webACL.WebACL.Rules { + if aws.ToString(rule.Name) == ruleName && + rule.Statement != nil && + rule.Statement.RuleGroupReferenceStatement != nil && + aws.ToString(rule.Statement.RuleGroupReferenceStatement.ARN) == ruleGroupARN { + found = true + break + } + } + + if !found { + return fmt.Errorf("WAFv2 Web ACL Rule Group Association not found in Web ACL: %s", rs.Primary.ID) + } + + *v = *webACL + + return nil + } +} + +func testAccWebACLRuleGroupAssociationImportStateIdFunc(resourceName string) resource.ImportStateIdFunc { + return func(s *terraform.State) (string, error) { + rs, ok := s.RootModule().Resources[resourceName] + if !ok { + return "", fmt.Errorf("Not found: %s", resourceName) + } + + webACLARN := rs.Primary.Attributes["web_acl_arn"] + ruleGroupARN := rs.Primary.Attributes["rule_group_arn"] + ruleName := rs.Primary.Attributes["rule_name"] + + return fmt.Sprintf("%s,%s,%s", webACLARN, ruleGroupARN, ruleName), nil + } +} + +func testAccWebACLRuleGroupAssociationConfig_basic(rName string) string { + return fmt.Sprintf(` +resource "aws_wafv2_rule_group" "test" { + name = %[1]q + scope = "REGIONAL" + capacity = 10 + + rule { + name = "rule-1" + priority = 1 + + action { + count {} + } + + statement { + geo_match_statement { + country_codes = ["US", "CA"] + } + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = "rule-1" + sampled_requests_enabled = false + } + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = %[1]q + sampled_requests_enabled = false + } +} + +resource "aws_wafv2_web_acl" "test" { + name = %[1]q + scope = "REGIONAL" + + default_action { + allow {} + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = %[1]q + sampled_requests_enabled = false + } +} + +resource "aws_wafv2_web_acl_rule_group_association" "test" { + rule_name = "%[1]s-association" + priority = 10 + rule_group_arn = aws_wafv2_rule_group.test.arn + web_acl_arn = aws_wafv2_web_acl.test.arn +} +`, rName) +} + +func testAccWebACLRuleGroupAssociationConfig_overrideAction(rName, overrideAction string) string { + return fmt.Sprintf(` +resource "aws_wafv2_rule_group" "test" { + name = %[1]q + scope = "REGIONAL" + capacity = 10 + + rule { + name = "rule-1" + priority = 1 + + action { + block {} + } + + statement { + geo_match_statement { + country_codes = ["US", "CA"] + } + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = "rule-1" + sampled_requests_enabled = false + } + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = %[1]q + sampled_requests_enabled = false + } +} + +resource "aws_wafv2_web_acl" "test" { + name = %[1]q + scope = "REGIONAL" + + default_action { + allow {} + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = %[1]q + sampled_requests_enabled = false + } +} + +resource "aws_wafv2_web_acl_rule_group_association" "test" { + rule_name = "%[1]s-association" + priority = 10 + rule_group_arn = aws_wafv2_rule_group.test.arn + web_acl_arn = aws_wafv2_web_acl.test.arn + override_action = %[2]q +} +`, rName, overrideAction) +} + +// parseWebACLARN extracts the Web ACL ID, name, and scope from the ARN +// This is a copy of the function from the main resource file for use in tests +func parseWebACLARN(arn string) (id, name, scope string, err error) { + // ARN format: arn:aws:wafv2:region:account-id:scope/webacl/name/id + // or for CloudFront: arn:aws:wafv2:global:account-id:global/webacl/name/id + parts := strings.Split(arn, ":") + if len(parts) < 6 { + return "", "", "", fmt.Errorf("invalid Web ACL ARN format: %s", arn) + } + + resourceParts := strings.Split(parts[5], "/") + if len(resourceParts) < 4 { + return "", "", "", fmt.Errorf("invalid Web ACL ARN resource format: %s", parts[5]) + } + + // Validate that this is a webacl ARN + if resourceParts[1] != "webacl" { + return "", "", "", fmt.Errorf("invalid Web ACL ARN: expected webacl resource type, got %s", resourceParts[1]) + } + + // Determine scope + scopeValue := "REGIONAL" + if parts[3] == "global" || resourceParts[0] == "global" { + scopeValue = "CLOUDFRONT" + } + + // Extract name and ID + nameIndex := len(resourceParts) - 2 + idIndex := len(resourceParts) - 1 + + return resourceParts[idIndex], resourceParts[nameIndex], scopeValue, nil +} From a23a38bdbea2ef04aea7c70a2c5f7ba87b97ed3a Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Fri, 25 Jul 2025 19:11:04 -0400 Subject: [PATCH 0601/1301] Updates for new resource --- internal/service/wafv2/exports_test.go | 1 + internal/service/wafv2/service_package_gen.go | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/internal/service/wafv2/exports_test.go b/internal/service/wafv2/exports_test.go index 660620dda906..51fbf9769573 100644 --- a/internal/service/wafv2/exports_test.go +++ b/internal/service/wafv2/exports_test.go @@ -12,6 +12,7 @@ var ( ResourceWebACLAssociation = resourceWebACLAssociation ResourceWebACLLoggingConfiguration = resourceWebACLLoggingConfiguration ResourceAPIKey = newAPIKeyResource + ResourceWebACLRuleGroupAssociation = newResourceWebACLRuleGroupAssociation FindAPIKeyByTwoPartKey = findAPIKeyByTwoPartKey FindIPSetByThreePartKey = findIPSetByThreePartKey diff --git a/internal/service/wafv2/service_package_gen.go b/internal/service/wafv2/service_package_gen.go index 8c27e48c5823..b0fe2ee13cb2 100644 --- a/internal/service/wafv2/service_package_gen.go +++ b/internal/service/wafv2/service_package_gen.go @@ -30,6 +30,12 @@ func (p *servicePackage) FrameworkResources(ctx context.Context) []*inttypes.Ser Name: "API Key", Region: unique.Make(inttypes.ResourceRegionDefault()), }, + { + Factory: newResourceWebACLRuleGroupAssociation, + TypeName: "aws_wafv2_web_acl_rule_group_association", + Name: "Web ACL Rule Group Association", + Region: unique.Make(inttypes.ResourceRegionDefault()), + }, } } From 8ba5f5a68fdda392f1ceac1b44a41498480ba89a Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Fri, 25 Jul 2025 19:12:52 -0400 Subject: [PATCH 0602/1301] Add changelog entry --- .changelog/43561.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/43561.txt diff --git a/.changelog/43561.txt b/.changelog/43561.txt new file mode 100644 index 000000000000..cb9014c63684 --- /dev/null +++ b/.changelog/43561.txt @@ -0,0 +1,3 @@ +```release-note:new-resource +aws_wafv2_web_acl_rule_group_association +``` \ No newline at end of file From 0b4c0463956dc490ac1154405c64607bbc30dcf8 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Fri, 25 Jul 2025 19:26:58 -0400 Subject: [PATCH 0603/1301] Update for region, fix description --- .../wafv2/web_acl_rule_group_association.go | 51 +++++++++---------- .../web_acl_rule_group_association_test.go | 2 +- ...b_acl_rule_group_association.html.markdown | 1 + 3 files changed, 26 insertions(+), 28 deletions(-) diff --git a/internal/service/wafv2/web_acl_rule_group_association.go b/internal/service/wafv2/web_acl_rule_group_association.go index 8493cc218e83..474cfbdebe64 100644 --- a/internal/service/wafv2/web_acl_rule_group_association.go +++ b/internal/service/wafv2/web_acl_rule_group_association.go @@ -23,11 +23,9 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" "github.com/hashicorp/terraform-plugin-framework/schema/validator" "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/hashicorp/terraform-provider-aws/internal/conns" "github.com/hashicorp/terraform-provider-aws/internal/create" "github.com/hashicorp/terraform-provider-aws/internal/framework" fwvalidators "github.com/hashicorp/terraform-provider-aws/internal/framework/validators" - "github.com/hashicorp/terraform-provider-aws/internal/sweep" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -212,10 +210,14 @@ func (r *resourceWebACLRuleGroupAssociation) Create(ctx context.Context, req res CaptchaConfig: webACL.WebACL.CaptchaConfig, ChallengeConfig: webACL.WebACL.ChallengeConfig, CustomResponseBodies: webACL.WebACL.CustomResponseBodies, - Description: webACL.WebACL.Description, TokenDomains: webACL.WebACL.TokenDomains, } + // Only set description if it's not empty + if webACL.WebACL.Description != nil && aws.ToString(webACL.WebACL.Description) != "" { + updateInput.Description = webACL.WebACL.Description + } + const timeout = 5 * time.Minute _, err = tfresource.RetryWhenIsA[*awstypes.WAFUnavailableEntityException](ctx, timeout, func() (any, error) { return conn.UpdateWebACL(ctx, updateInput) @@ -231,8 +233,8 @@ func (r *resourceWebACLRuleGroupAssociation) Create(ctx context.Context, req res // Set the ID as a combination that uniquely identifies this association // Format: webACLARN/ruleName/ruleGroupARN (using slashes for consistency with other WAFv2 resources) - plan.ID = types.StringValue(fmt.Sprintf("%s/%s/%s", - plan.WebACLARN.ValueString(), + plan.ID = types.StringValue(fmt.Sprintf("%s/%s/%s", + plan.WebACLARN.ValueString(), plan.RuleName.ValueString(), plan.RuleGroupARN.ValueString())) @@ -294,10 +296,10 @@ func (r *resourceWebACLRuleGroupAssociation) Read(ctx context.Context, req resou // Find the rule group in the Web ACL rules found := false for _, rule := range webACL.WebACL.Rules { - if aws.ToString(rule.Name) == ruleName && - rule.Statement != nil && - rule.Statement.RuleGroupReferenceStatement != nil && - aws.ToString(rule.Statement.RuleGroupReferenceStatement.ARN) == ruleGroupARN { + if aws.ToString(rule.Name) == ruleName && + rule.Statement != nil && + rule.Statement.RuleGroupReferenceStatement != nil && + aws.ToString(rule.Statement.RuleGroupReferenceStatement.ARN) == ruleGroupARN { found = true state.Priority = types.Int32Value(rule.Priority) @@ -342,7 +344,7 @@ func (r *resourceWebACLRuleGroupAssociation) Update(ctx context.Context, req res // Most attributes require replacement, so we only need to handle changes to attributes // that don't require replacement (currently none) - + // For future extensibility, if any attributes are added that don't require replacement, // they would be handled here @@ -425,10 +427,14 @@ func (r *resourceWebACLRuleGroupAssociation) Delete(ctx context.Context, req res CaptchaConfig: webACL.WebACL.CaptchaConfig, ChallengeConfig: webACL.WebACL.ChallengeConfig, CustomResponseBodies: webACL.WebACL.CustomResponseBodies, - Description: webACL.WebACL.Description, TokenDomains: webACL.WebACL.TokenDomains, } + // Only set description if it's not empty + if webACL.WebACL.Description != nil && aws.ToString(webACL.WebACL.Description) != "" { + updateInput.Description = webACL.WebACL.Description + } + const timeout = 5 * time.Minute _, err = tfresource.RetryWhenIsA[*awstypes.WAFUnavailableEntityException](ctx, timeout, func() (any, error) { return conn.UpdateWebACL(ctx, updateInput) @@ -469,7 +475,7 @@ func (r *resourceWebACLRuleGroupAssociation) ImportState(ctx context.Context, re } // Set the ID in the expected format for Read - resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("id"), + resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("id"), fmt.Sprintf("%s/%s/%s", webACLARN, ruleName, ruleGroupARN))...) resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("web_acl_arn"), webACLARN)...) resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("rule_group_arn"), ruleGroupARN)...) @@ -484,31 +490,32 @@ func parseWebACLARN(arn string) (id, name, scope string, err error) { if len(parts) < 6 { return "", "", "", fmt.Errorf("invalid Web ACL ARN format: %s", arn) } - + resourceParts := strings.Split(parts[5], "/") if len(resourceParts) < 4 { return "", "", "", fmt.Errorf("invalid Web ACL ARN resource format: %s", parts[5]) } - + // Validate that this is a webacl ARN if resourceParts[1] != "webacl" { return "", "", "", fmt.Errorf("invalid Web ACL ARN: expected webacl resource type, got %s", resourceParts[1]) } - + // Determine scope scopeValue := "REGIONAL" if parts[3] == "global" || resourceParts[0] == "global" { scopeValue = "CLOUDFRONT" } - + // Extract name and ID nameIndex := len(resourceParts) - 2 idIndex := len(resourceParts) - 1 - + return resourceParts[idIndex], resourceParts[nameIndex], scopeValue, nil } type resourceWebACLRuleGroupAssociationModel struct { + framework.WithRegionModel ID types.String `tfsdk:"id"` RuleName types.String `tfsdk:"rule_name"` Priority types.Int32 `tfsdk:"priority"` @@ -517,13 +524,3 @@ type resourceWebACLRuleGroupAssociationModel struct { OverrideAction types.String `tfsdk:"override_action"` Timeouts timeouts.Value `tfsdk:"timeouts"` } - -func sweepWebACLRuleGroupAssociations(ctx context.Context, client *conns.AWSClient) ([]sweep.Sweepable, error) { - // Since this is a synthetic resource that modifies web ACLs, - // we don't need a specific sweep function for it. - // The web ACL sweep function will handle cleaning up web ACLs. - return nil, nil -} - -// Unit tests for parseWebACLARN function -// These tests are included in the main file following the pattern used in flex_test.go diff --git a/internal/service/wafv2/web_acl_rule_group_association_test.go b/internal/service/wafv2/web_acl_rule_group_association_test.go index d1336620d4bc..23d575597b4f 100644 --- a/internal/service/wafv2/web_acl_rule_group_association_test.go +++ b/internal/service/wafv2/web_acl_rule_group_association_test.go @@ -474,7 +474,7 @@ func parseWebACLARN(arn string) (id, name, scope string, err error) { if len(resourceParts) < 4 { return "", "", "", fmt.Errorf("invalid Web ACL ARN resource format: %s", parts[5]) } - + // Validate that this is a webacl ARN if resourceParts[1] != "webacl" { return "", "", "", fmt.Errorf("invalid Web ACL ARN: expected webacl resource type, got %s", resourceParts[1]) diff --git a/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown b/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown index aee8aba8206e..d4d1125a35f3 100644 --- a/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown +++ b/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown @@ -157,6 +157,7 @@ The following arguments are required: The following arguments are optional: * `override_action` - (Optional) Override action for the rule group. Valid values are `none` and `count`. Defaults to `none`. When set to `count`, the actions defined in the rule group rules are overridden to count matches instead of blocking or allowing requests. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). ## Attribute Reference From 19cc2c49f8588ba0c30552885257da5fc1d38ad8 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Fri, 25 Jul 2025 19:54:32 -0400 Subject: [PATCH 0604/1301] Fix test and various issues --- .../wafv2/web_acl_rule_group_association.go | 69 +++++++++++++------ .../web_acl_rule_group_association_test.go | 37 ++++++---- ...b_acl_rule_group_association.html.markdown | 8 +-- 3 files changed, 74 insertions(+), 40 deletions(-) diff --git a/internal/service/wafv2/web_acl_rule_group_association.go b/internal/service/wafv2/web_acl_rule_group_association.go index 474cfbdebe64..9b7a10ec61a5 100644 --- a/internal/service/wafv2/web_acl_rule_group_association.go +++ b/internal/service/wafv2/web_acl_rule_group_association.go @@ -24,12 +24,17 @@ import ( "github.com/hashicorp/terraform-plugin-framework/schema/validator" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-provider-aws/internal/create" + "github.com/hashicorp/terraform-provider-aws/internal/flex" "github.com/hashicorp/terraform-provider-aws/internal/framework" fwvalidators "github.com/hashicorp/terraform-provider-aws/internal/framework/validators" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" ) +const ( + webACLRuleGroupAssociationResourceIDPartCount = 3 +) + // Function annotations are used for resource registration to the Provider. DO NOT EDIT. // @FrameworkResource("aws_wafv2_web_acl_rule_group_association", name="Web ACL Rule Group Association") func newResourceWebACLRuleGroupAssociation(_ context.Context) (resource.ResourceWithConfigure, error) { @@ -96,8 +101,10 @@ func (r *resourceWebACLRuleGroupAssociation) Schema(ctx context.Context, req res }, "override_action": schema.StringAttribute{ Optional: true, + Computed: true, PlanModifiers: []planmodifier.String{ stringplanmodifier.RequiresReplace(), + stringplanmodifier.UseStateForUnknown(), }, Validators: []validator.String{ stringvalidator.OneOf("none", "count"), @@ -182,6 +189,7 @@ func (r *resourceWebACLRuleGroupAssociation) Create(ctx context.Context, req res overrideAction := plan.OverrideAction.ValueString() if overrideAction == "" { overrideAction = "none" + plan.OverrideAction = types.StringValue("none") // Set the default in the plan } if overrideAction == "none" { @@ -231,12 +239,21 @@ func (r *resourceWebACLRuleGroupAssociation) Create(ctx context.Context, req res return } - // Set the ID as a combination that uniquely identifies this association - // Format: webACLARN/ruleName/ruleGroupARN (using slashes for consistency with other WAFv2 resources) - plan.ID = types.StringValue(fmt.Sprintf("%s/%s/%s", + // Set the ID using the standard flex utility with comma separators + // Format: webACLARN,ruleName,ruleGroupARN + id, err := flex.FlattenResourceId([]string{ plan.WebACLARN.ValueString(), plan.RuleName.ValueString(), - plan.RuleGroupARN.ValueString())) + plan.RuleGroupARN.ValueString(), + }, webACLRuleGroupAssociationResourceIDPartCount, false) + if err != nil { + resp.Diagnostics.AddError( + "Error creating resource ID", + fmt.Sprintf("Could not create resource ID: %s", err), + ) + return + } + plan.ID = types.StringValue(id) resp.Diagnostics.Append(resp.State.Set(ctx, plan)...) } @@ -250,20 +267,20 @@ func (r *resourceWebACLRuleGroupAssociation) Read(ctx context.Context, req resou conn := r.Meta().WAFV2Client(ctx) - // Parse the ID to get Web ACL ARN, rule name, and rule group ARN - // Format: webACLARN/ruleName/ruleGroupARN - idParts := strings.SplitN(state.ID.ValueString(), "/", 3) - if len(idParts) != 3 { + // Parse the ID using the standard flex utility + // Format: webACLARN,ruleName,ruleGroupARN + parts, err := flex.ExpandResourceId(state.ID.ValueString(), webACLRuleGroupAssociationResourceIDPartCount, false) + if err != nil { resp.Diagnostics.AddError( "Invalid Resource ID", - "Resource ID should be in format 'webACLARN/ruleName/ruleGroupARN'", + fmt.Sprintf("Could not parse resource ID: %s", err), ) return } - webACLARN := idParts[0] - ruleName := idParts[1] - ruleGroupARN := idParts[2] + webACLARN := parts[0] + ruleName := parts[1] + ruleGroupARN := parts[2] // Parse Web ACL ARN to get ID, name, and scope webACLID, webACLName, webACLScope, err := parseWebACLARN(webACLARN) @@ -360,19 +377,19 @@ func (r *resourceWebACLRuleGroupAssociation) Delete(ctx context.Context, req res conn := r.Meta().WAFV2Client(ctx) - // Parse the ID to get Web ACL ARN, rule name, and rule group ARN - // Format: webACLARN/ruleName/ruleGroupARN - idParts := strings.SplitN(state.ID.ValueString(), "/", 3) - if len(idParts) != 3 { + // Parse the ID using the standard flex utility + // Format: webACLARN,ruleName,ruleGroupARN + parts, err := flex.ExpandResourceId(state.ID.ValueString(), webACLRuleGroupAssociationResourceIDPartCount, false) + if err != nil { resp.Diagnostics.AddError( "Invalid Resource ID", - "Resource ID should be in format 'webACLARN/ruleName/ruleGroupARN'", + fmt.Sprintf("Could not parse resource ID: %s", err), ) return } - webACLARN := idParts[0] - ruleName := idParts[1] + webACLARN := parts[0] + ruleName := parts[1] // Parse Web ACL ARN to get ID, name, and scope webACLID, webACLName, webACLScope, err := parseWebACLARN(webACLARN) @@ -474,9 +491,17 @@ func (r *resourceWebACLRuleGroupAssociation) ImportState(ctx context.Context, re return } - // Set the ID in the expected format for Read - resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("id"), - fmt.Sprintf("%s/%s/%s", webACLARN, ruleName, ruleGroupARN))...) + // Set the ID using the standard flex utility with comma separators + id, err := flex.FlattenResourceId([]string{webACLARN, ruleName, ruleGroupARN}, webACLRuleGroupAssociationResourceIDPartCount, false) + if err != nil { + resp.Diagnostics.AddError( + "Error creating resource ID", + fmt.Sprintf("Could not create resource ID: %s", err), + ) + return + } + + resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("id"), id)...) resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("web_acl_arn"), webACLARN)...) resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("rule_group_arn"), ruleGroupARN)...) resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("rule_name"), ruleName)...) diff --git a/internal/service/wafv2/web_acl_rule_group_association_test.go b/internal/service/wafv2/web_acl_rule_group_association_test.go index 23d575597b4f..482c61faf0dd 100644 --- a/internal/service/wafv2/web_acl_rule_group_association_test.go +++ b/internal/service/wafv2/web_acl_rule_group_association_test.go @@ -16,6 +16,7 @@ import ( "github.com/hashicorp/terraform-plugin-testing/terraform" "github.com/hashicorp/terraform-provider-aws/internal/acctest" "github.com/hashicorp/terraform-provider-aws/internal/conns" + "github.com/hashicorp/terraform-provider-aws/internal/flex" tfwafv2 "github.com/hashicorp/terraform-provider-aws/internal/service/wafv2" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" @@ -226,16 +227,16 @@ func testAccCheckWebACLRuleGroupAssociationDestroy(ctx context.Context) resource continue } - // Parse the ID to get Web ACL ARN, rule name, and rule group ARN - // Format: webACLARN/ruleName/ruleGroupARN - idParts := strings.SplitN(rs.Primary.ID, "/", 3) - if len(idParts) != 3 { + // Parse the ID using the standard flex utility + // Format: webACLARN,ruleName,ruleGroupARN + parts, err := flex.ExpandResourceId(rs.Primary.ID, 3, false) + if err != nil { continue } - webACLARN := idParts[0] - ruleName := idParts[1] - ruleGroupARN := idParts[2] + webACLARN := parts[0] + ruleName := parts[1] + ruleGroupARN := parts[2] // Parse Web ACL ARN to get ID, name, and scope webACLID, webACLName, webACLScope, err := parseWebACLARN(webACLARN) @@ -279,16 +280,16 @@ func testAccCheckWebACLRuleGroupAssociationExists(ctx context.Context, n string, return fmt.Errorf("No WAFv2 WebACLRuleGroupAssociation ID is set") } - // Parse the ID to get Web ACL ARN, rule name, and rule group ARN - // Format: webACLARN/ruleName/ruleGroupARN - idParts := strings.SplitN(rs.Primary.ID, "/", 3) - if len(idParts) != 3 { + // Parse the ID using the standard flex utility + // Format: webACLARN,ruleName,ruleGroupARN + parts, err := flex.ExpandResourceId(rs.Primary.ID, 3, false) + if err != nil { return fmt.Errorf("Invalid ID format: %s", rs.Primary.ID) } - webACLARN := idParts[0] - ruleName := idParts[1] - ruleGroupARN := idParts[2] + webACLARN := parts[0] + ruleName := parts[1] + ruleGroupARN := parts[2] // Parse Web ACL ARN to get ID, name, and scope webACLID, webACLName, webACLScope, err := parseWebACLARN(webACLARN) @@ -389,6 +390,10 @@ resource "aws_wafv2_web_acl" "test" { metric_name = %[1]q sampled_requests_enabled = false } + + lifecycle { + ignore_changes = [rule] + } } resource "aws_wafv2_web_acl_rule_group_association" "test" { @@ -448,6 +453,10 @@ resource "aws_wafv2_web_acl" "test" { metric_name = %[1]q sampled_requests_enabled = false } + + lifecycle { + ignore_changes = [rule] + } } resource "aws_wafv2_web_acl_rule_group_association" "test" { diff --git a/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown b/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown index d4d1125a35f3..ca8ce9567ef4 100644 --- a/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown +++ b/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown @@ -174,17 +174,17 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import WAFv2 Web ACL Rule Group Associations using `WebACLARN,RuleGroupARN,RuleName`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import WAFv2 Web ACL Rule Group Associations using `WebACLARN,RuleName,RuleGroupARN`. For example: ```terraform import { to = aws_wafv2_web_acl_rule_group_association.example - id = "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,arn:aws:wafv2:us-east-1:123456789012:regional/rulegroup/example-rule-group/87654321-4321-4321-4321-210987654321,example-rule-group-rule" + id = "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,example-rule-group-rule,arn:aws:wafv2:us-east-1:123456789012:regional/rulegroup/example-rule-group/87654321-4321-4321-4321-210987654321" } ``` -Using `terraform import`, import WAFv2 Web ACL Rule Group Associations using `WebACLARN,RuleGroupARN,RuleName`. For example: +Using `terraform import`, import WAFv2 Web ACL Rule Group Associations using `WebACLARN,RuleName,RuleGroupARN`. For example: ```console -% terraform import aws_wafv2_web_acl_rule_group_association.example "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,arn:aws:wafv2:us-east-1:123456789012:regional/rulegroup/example-rule-group/87654321-4321-4321-4321-210987654321,example-rule-group-rule" +% terraform import aws_wafv2_web_acl_rule_group_association.example "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,example-rule-group-rule,arn:aws:wafv2:us-east-1:123456789012:regional/rulegroup/example-rule-group/87654321-4321-4321-4321-210987654321" ``` From 40f7e10a769ce57bec2d4df7249fc975a0072128 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Mon, 28 Jul 2025 12:08:09 -0400 Subject: [PATCH 0605/1301] Fix semgrep issues --- .../wafv2/web_acl_rule_group_association.go | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/internal/service/wafv2/web_acl_rule_group_association.go b/internal/service/wafv2/web_acl_rule_group_association.go index 9b7a10ec61a5..75383598e2fe 100644 --- a/internal/service/wafv2/web_acl_rule_group_association.go +++ b/internal/service/wafv2/web_acl_rule_group_association.go @@ -24,9 +24,11 @@ import ( "github.com/hashicorp/terraform-plugin-framework/schema/validator" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-provider-aws/internal/create" + "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" "github.com/hashicorp/terraform-provider-aws/internal/flex" "github.com/hashicorp/terraform-provider-aws/internal/framework" fwvalidators "github.com/hashicorp/terraform-provider-aws/internal/framework/validators" + "github.com/hashicorp/terraform-provider-aws/internal/retry" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -171,17 +173,17 @@ func (r *resourceWebACLRuleGroupAssociation) Create(ctx context.Context, req res // Create new rule with rule group reference statement newRule := awstypes.Rule{ - Name: aws.String(plan.RuleName.ValueString()), + Name: plan.RuleName.ValueStringPointer(), Priority: plan.Priority.ValueInt32(), Statement: &awstypes.Statement{ RuleGroupReferenceStatement: &awstypes.RuleGroupReferenceStatement{ - ARN: aws.String(plan.RuleGroupARN.ValueString()), + ARN: plan.RuleGroupARN.ValueStringPointer(), }, }, VisibilityConfig: &awstypes.VisibilityConfig{ SampledRequestsEnabled: true, CloudWatchMetricsEnabled: true, - MetricName: aws.String(plan.RuleName.ValueString()), + MetricName: plan.RuleName.ValueStringPointer(), }, } @@ -192,18 +194,19 @@ func (r *resourceWebACLRuleGroupAssociation) Create(ctx context.Context, req res plan.OverrideAction = types.StringValue("none") // Set the default in the plan } - if overrideAction == "none" { + switch overrideAction { + case "none": newRule.OverrideAction = &awstypes.OverrideAction{ None: &awstypes.NoneAction{}, } - } else if overrideAction == "count" { + case "count": newRule.OverrideAction = &awstypes.OverrideAction{ Count: &awstypes.CountAction{}, } } // Add the new rule to existing rules - updatedRules := append(webACL.WebACL.Rules, newRule) + webACL.WebACL.Rules = append(webACL.WebACL.Rules, newRule) // Update the Web ACL updateInput := &wafv2.UpdateWebACLInput{ @@ -211,7 +214,7 @@ func (r *resourceWebACLRuleGroupAssociation) Create(ctx context.Context, req res Name: aws.String(webACLName), Scope: awstypes.Scope(webACLScope), DefaultAction: webACL.WebACL.DefaultAction, - Rules: updatedRules, + Rules: webACL.WebACL.Rules, VisibilityConfig: webACL.WebACL.VisibilityConfig, LockToken: webACL.LockToken, AssociationConfig: webACL.WebACL.AssociationConfig, @@ -295,14 +298,12 @@ func (r *resourceWebACLRuleGroupAssociation) Read(ctx context.Context, req resou // Get the Web ACL and check if the rule group is associated webACL, err := findWebACLByThreePartKey(ctx, conn, webACLID, webACLName, webACLScope) if err != nil { - if tfresource.NotFound(err) { - resp.Diagnostics.AddWarning( - "Web ACL Not Found", - "Web ACL was not found, removing from state", - ) + if retry.NotFound(err) { + resp.Diagnostics.Append(fwdiag.NewResourceNotFoundWarningDiagnostic(err)) resp.State.RemoveResource(ctx) return } + resp.Diagnostics.AddError( "Reading WAFv2 Web ACL Rule Group Association", fmt.Sprintf("Error reading Web ACL: %s", err), @@ -404,10 +405,11 @@ func (r *resourceWebACLRuleGroupAssociation) Delete(ctx context.Context, req res // Get the Web ACL webACL, err := findWebACLByThreePartKey(ctx, conn, webACLID, webACLName, webACLScope) if err != nil { - if tfresource.NotFound(err) { + if retry.NotFound(err) { // Web ACL is already gone, nothing to do return } + resp.Diagnostics.AddError( create.ProblemStandardMessage(names.WAFV2, create.ErrActionDeleting, ResNameWebACLRuleGroupAssociation, state.ID.String(), err), err.Error(), @@ -501,7 +503,7 @@ func (r *resourceWebACLRuleGroupAssociation) ImportState(ctx context.Context, re return } - resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("id"), id)...) + resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root(names.AttrID), id)...) resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("web_acl_arn"), webACLARN)...) resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("rule_group_arn"), ruleGroupARN)...) resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("rule_name"), ruleName)...) From b09262ffcdd122ca83fcdd65bf0a5c5c4c278a38 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Mon, 28 Jul 2025 12:08:24 -0400 Subject: [PATCH 0606/1301] Fix testing lints --- .../service/wafv2/web_acl_rule_group_association_test.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/service/wafv2/web_acl_rule_group_association_test.go b/internal/service/wafv2/web_acl_rule_group_association_test.go index 482c61faf0dd..d8ca2ab0f21f 100644 --- a/internal/service/wafv2/web_acl_rule_group_association_test.go +++ b/internal/service/wafv2/web_acl_rule_group_association_test.go @@ -460,10 +460,10 @@ resource "aws_wafv2_web_acl" "test" { } resource "aws_wafv2_web_acl_rule_group_association" "test" { - rule_name = "%[1]s-association" - priority = 10 - rule_group_arn = aws_wafv2_rule_group.test.arn - web_acl_arn = aws_wafv2_web_acl.test.arn + rule_name = "%[1]s-association" + priority = 10 + rule_group_arn = aws_wafv2_rule_group.test.arn + web_acl_arn = aws_wafv2_web_acl.test.arn override_action = %[2]q } `, rName, overrideAction) From da4fa88074646993d23d8608c98fca1520efe29b Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Mon, 28 Jul 2025 12:18:58 -0400 Subject: [PATCH 0607/1301] Update the documentation with warnings --- website/docs/r/wafv2_web_acl.html.markdown | 2 ++ .../wafv2_web_acl_rule_group_association.html.markdown | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/website/docs/r/wafv2_web_acl.html.markdown b/website/docs/r/wafv2_web_acl.html.markdown index 92d57d08029d..5e04af1894ca 100644 --- a/website/docs/r/wafv2_web_acl.html.markdown +++ b/website/docs/r/wafv2_web_acl.html.markdown @@ -12,6 +12,8 @@ Creates a WAFv2 Web ACL resource. ~> **Note** In `field_to_match` blocks, _e.g._, in `byte_match_statement`, the `body` block includes an optional argument `oversize_handling`. AWS indicates this argument will be required starting February 2023. To avoid configurations breaking when that change happens, treat the `oversize_handling` argument as **required** as soon as possible. +!> **Warning:** If you use the `aws_wafv2_web_acl_rule_group_association` resource to associate rule groups with this Web ACL, you must add `lifecycle { ignore_changes = [rule] }` to this resource to prevent configuration drift. The association resource modifies the Web ACL's rules outside of this resource's direct management. + ## Example Usage This resource is based on `aws_wafv2_rule_group`, check the documentation of the `aws_wafv2_rule_group` resource to see examples of the various available statements. diff --git a/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown b/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown index ca8ce9567ef4..b5d280b382a6 100644 --- a/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown +++ b/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown @@ -12,6 +12,8 @@ Associates a WAFv2 Rule Group with a Web ACL by adding a rule that references th ~> **Note:** This resource creates a rule within the Web ACL that references the entire Rule Group. The rule group's individual rules are evaluated as a unit when requests are processed by the Web ACL. +!> **Warning:** Using this resource will cause the associated Web ACL resource to show configuration drift in the `rule` argument unless you add `lifecycle { ignore_changes = [rule] }` to the Web ACL resource configuration. This is because this resource modifies the Web ACL's rules outside of the Web ACL resource's direct management. + ## Example Usage ### Basic Usage @@ -63,6 +65,10 @@ resource "aws_wafv2_web_acl" "example" { metric_name = "example-web-acl" sampled_requests_enabled = true } + + lifecycle { + ignore_changes = [rule] + } } resource "aws_wafv2_web_acl_rule_group_association" "example" { @@ -135,6 +141,10 @@ resource "aws_wafv2_web_acl" "cloudfront_example" { metric_name = "cloudfront-web-acl" sampled_requests_enabled = true } + + lifecycle { + ignore_changes = [rule] + } } resource "aws_wafv2_web_acl_rule_group_association" "cloudfront_example" { From 1e2714162c0800a41347da38585b23115764e905 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Mon, 28 Jul 2025 14:19:07 -0400 Subject: [PATCH 0608/1301] Ignore hardcode linting because unit test --- .../web_acl_rule_group_association_test.go | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/internal/service/wafv2/web_acl_rule_group_association_test.go b/internal/service/wafv2/web_acl_rule_group_association_test.go index d8ca2ab0f21f..a36ff40b0944 100644 --- a/internal/service/wafv2/web_acl_rule_group_association_test.go +++ b/internal/service/wafv2/web_acl_rule_group_association_test.go @@ -33,42 +33,42 @@ func TestParseWebACLARN(t *testing.T) { expectError bool }{ "valid regional ARN": { - arn: "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/test-web-acl/12345678-1234-1234-1234-123456789012", + arn: "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/test-web-acl/12345678-1234-1234-1234-123456789012", //lintignore:AWSAT003,AWSAT005 expectedID: "12345678-1234-1234-1234-123456789012", expectedName: "test-web-acl", expectedScope: "REGIONAL", expectError: false, }, "valid CloudFront ARN with global region": { - arn: "arn:aws:wafv2:global:123456789012:global/webacl/test-web-acl/12345678-1234-1234-1234-123456789012", + arn: "arn:aws:wafv2:global:123456789012:global/webacl/test-web-acl/12345678-1234-1234-1234-123456789012", //lintignore:AWSAT003,AWSAT005 expectedID: "12345678-1234-1234-1234-123456789012", expectedName: "test-web-acl", expectedScope: "CLOUDFRONT", expectError: false, }, - "valid CloudFront ARN with us-east-1 region": { - arn: "arn:aws:wafv2:us-east-1:123456789012:global/webacl/test-web-acl/12345678-1234-1234-1234-123456789012", + "valid CloudFront ARN with specific region": { + arn: "arn:aws:wafv2:us-east-1:123456789012:global/webacl/test-web-acl/12345678-1234-1234-1234-123456789012", //lintignore:AWSAT003,AWSAT005 expectedID: "12345678-1234-1234-1234-123456789012", expectedName: "test-web-acl", expectedScope: "CLOUDFRONT", expectError: false, }, "web ACL name with hyphens": { - arn: "arn:aws:wafv2:us-west-2:123456789012:regional/webacl/my-test-web-acl-name/12345678-1234-1234-1234-123456789012", + arn: "arn:aws:wafv2:us-west-2:123456789012:regional/webacl/my-test-web-acl-name/12345678-1234-1234-1234-123456789012", //lintignore:AWSAT003,AWSAT005 expectedID: "12345678-1234-1234-1234-123456789012", expectedName: "my-test-web-acl-name", expectedScope: "REGIONAL", expectError: false, }, "web ACL name with underscores": { - arn: "arn:aws:wafv2:eu-west-1:123456789012:regional/webacl/my_test_web_acl_name/12345678-1234-1234-1234-123456789012", + arn: "arn:aws:wafv2:eu-west-1:123456789012:regional/webacl/my_test_web_acl_name/12345678-1234-1234-1234-123456789012", //lintignore:AWSAT003,AWSAT005 expectedID: "12345678-1234-1234-1234-123456789012", expectedName: "my_test_web_acl_name", expectedScope: "REGIONAL", expectError: false, }, "invalid ARN - too few parts": { - arn: "arn:aws:wafv2:us-east-1:123456789012", + arn: "arn:aws:wafv2:us-east-1:123456789012", //lintignore:AWSAT003,AWSAT005 expectError: true, }, "invalid ARN - empty": { @@ -80,22 +80,22 @@ func TestParseWebACLARN(t *testing.T) { expectError: true, }, "invalid resource format - too few parts": { - arn: "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/test-web-acl", + arn: "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/test-web-acl", //lintignore:AWSAT003,AWSAT005 expectError: true, }, "invalid resource format - wrong resource type": { - arn: "arn:aws:wafv2:us-east-1:123456789012:regional/rulegroup/test-rule-group/12345678-1234-1234-1234-123456789012", + arn: "arn:aws:wafv2:us-east-1:123456789012:regional/rulegroup/test-rule-group/12345678-1234-1234-1234-123456789012", //lintignore:AWSAT003,AWSAT005 expectError: true, }, "different AWS partition": { - arn: "arn:aws-us-gov:wafv2:us-gov-east-1:123456789012:regional/webacl/test-web-acl/12345678-1234-1234-1234-123456789012", + arn: "arn:aws-us-gov:wafv2:us-gov-east-1:123456789012:regional/webacl/test-web-acl/12345678-1234-1234-1234-123456789012", //lintignore:AWSAT003,AWSAT005 expectedID: "12345678-1234-1234-1234-123456789012", expectedName: "test-web-acl", expectedScope: "REGIONAL", expectError: false, }, "different AWS partition with CloudFront": { - arn: "arn:aws-cn:wafv2:global:123456789012:global/webacl/test-web-acl/12345678-1234-1234-1234-123456789012", + arn: "arn:aws-cn:wafv2:global:123456789012:global/webacl/test-web-acl/12345678-1234-1234-1234-123456789012", //lintignore:AWSAT003,AWSAT005 expectedID: "12345678-1234-1234-1234-123456789012", expectedName: "test-web-acl", expectedScope: "CLOUDFRONT", From 2701eee3805ab12a5cc2cf8a79e62302ad3f781b Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Mon, 28 Jul 2025 20:10:02 -0400 Subject: [PATCH 0609/1301] Minor fixes --- GNUmakefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/GNUmakefile b/GNUmakefile index 003b05e95e9a..ac38b29b4ead 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -235,7 +235,7 @@ fix-constants: semgrep-constants fmt ## Use Semgrep to fix constants fix-imports: ## Fixing source code imports with goimports @echo "make: Fixing source code imports with goimports..." - @find internal -name "*.go" -type f -exec goimports -w {} \; + @find ./$(PKG_NAME) -name "*.go" -type f -exec goimports -w {} \; fmt: ## Fix Go source formatting @echo "make: Fixing source code with gofmt..." @@ -627,7 +627,7 @@ t: prereq-go fmt-check ## Run acceptance tests (similar to testacc) test: prereq-go fmt-check ## Run unit tests @echo "make: Running unit tests..." - $(GO_VER) test -count $(TEST_COUNT) $(TEST) $(TESTARGS) -timeout=15m -vet=off + $(GO_VER) test $(TEST) -v -count $(TEST_COUNT) -parallel $(ACCTEST_PARALLELISM) $(RUNARGS) $(TESTARGS) -timeout 15m -vet=off test-compile: prereq-go ## Test package compilation @if [ "$(TEST)" = "./..." ]; then \ From b6db05c931fbccfb60bfc4b4ed6676715f6c8f27 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Mon, 28 Jul 2025 20:10:19 -0400 Subject: [PATCH 0610/1301] Update test exports --- internal/service/wafv2/exports_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/service/wafv2/exports_test.go b/internal/service/wafv2/exports_test.go index 51fbf9769573..ac4832589713 100644 --- a/internal/service/wafv2/exports_test.go +++ b/internal/service/wafv2/exports_test.go @@ -23,4 +23,5 @@ var ( FindWebACLByThreePartKey = findWebACLByThreePartKey ListRuleGroupsPages = listRuleGroupsPages ListWebACLsPages = listWebACLsPages + ParseWebACLARN = parseWebACLARN ) From 87cae95fa3a15cb5644302813241987b4e5e21a6 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Mon, 28 Jul 2025 20:11:08 -0400 Subject: [PATCH 0611/1301] Begin work on adding ruleActionOverride --- .../wafv2/web_acl_rule_group_association.go | 642 +++++++++++++++++- .../web_acl_rule_group_association_test.go | 44 +- 2 files changed, 637 insertions(+), 49 deletions(-) diff --git a/internal/service/wafv2/web_acl_rule_group_association.go b/internal/service/wafv2/web_acl_rule_group_association.go index 75383598e2fe..2b533933de02 100644 --- a/internal/service/wafv2/web_acl_rule_group_association.go +++ b/internal/service/wafv2/web_acl_rule_group_association.go @@ -14,11 +14,13 @@ import ( awstypes "github.com/aws/aws-sdk-go-v2/service/wafv2/types" "github.com/hashicorp/terraform-plugin-framework-timeouts/resource/timeouts" "github.com/hashicorp/terraform-plugin-framework-validators/int32validator" + "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator" "github.com/hashicorp/terraform-plugin-framework/path" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" "github.com/hashicorp/terraform-plugin-framework/resource/schema/int32planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/listplanmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" "github.com/hashicorp/terraform-plugin-framework/schema/validator" @@ -27,6 +29,7 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" "github.com/hashicorp/terraform-provider-aws/internal/flex" "github.com/hashicorp/terraform-provider-aws/internal/framework" + fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" fwvalidators "github.com/hashicorp/terraform-provider-aws/internal/framework/validators" "github.com/hashicorp/terraform-provider-aws/internal/retry" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" @@ -113,6 +116,258 @@ func (r *resourceWebACLRuleGroupAssociation) Schema(ctx context.Context, req res }, Description: "Override action for the rule group. Valid values are 'none' and 'count'. Defaults to 'none'.", }, + "rule_action_override": schema.ListNestedAttribute{ + Optional: true, + Validators: []validator.List{ + listvalidator.SizeAtMost(100), + }, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + names.AttrName: schema.StringAttribute{ + Required: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 128), + }, + Description: "Name of the rule to override.", + }, + "action_to_use": schema.ListNestedAttribute{ + Required: true, + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + listvalidator.SizeAtLeast(1), + }, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "allow": schema.ListNestedAttribute{ + Optional: true, + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "custom_request_handling": schema.ListNestedAttribute{ + Optional: true, + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "insert_header": schema.ListNestedAttribute{ + Required: true, + Validators: []validator.List{ + listvalidator.SizeAtLeast(1), + }, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + names.AttrName: schema.StringAttribute{ + Required: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 64), + }, + }, + names.AttrValue: schema.StringAttribute{ + Required: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 255), + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + "block": schema.ListNestedAttribute{ + Optional: true, + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "custom_response": schema.ListNestedAttribute{ + Optional: true, + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "custom_response_body_key": schema.StringAttribute{ + Optional: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 128), + }, + }, + "response_code": schema.Int32Attribute{ + Required: true, + Validators: []validator.Int32{ + int32validator.Between(200, 600), + }, + }, + "response_header": schema.ListNestedAttribute{ + Optional: true, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + names.AttrName: schema.StringAttribute{ + Required: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 64), + }, + }, + names.AttrValue: schema.StringAttribute{ + Required: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 255), + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + "captcha": schema.ListNestedAttribute{ + Optional: true, + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "custom_request_handling": schema.ListNestedAttribute{ + Optional: true, + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "insert_header": schema.ListNestedAttribute{ + Required: true, + Validators: []validator.List{ + listvalidator.SizeAtLeast(1), + }, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + names.AttrName: schema.StringAttribute{ + Required: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 64), + }, + }, + names.AttrValue: schema.StringAttribute{ + Required: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 255), + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + "challenge": schema.ListNestedAttribute{ + Optional: true, + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "custom_request_handling": schema.ListNestedAttribute{ + Optional: true, + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "insert_header": schema.ListNestedAttribute{ + Required: true, + Validators: []validator.List{ + listvalidator.SizeAtLeast(1), + }, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + names.AttrName: schema.StringAttribute{ + Required: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 64), + }, + }, + names.AttrValue: schema.StringAttribute{ + Required: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 255), + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + "count": schema.ListNestedAttribute{ + Optional: true, + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "custom_request_handling": schema.ListNestedAttribute{ + Optional: true, + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + "insert_header": schema.ListNestedAttribute{ + Required: true, + Validators: []validator.List{ + listvalidator.SizeAtLeast(1), + }, + NestedObject: schema.NestedAttributeObject{ + Attributes: map[string]schema.Attribute{ + names.AttrName: schema.StringAttribute{ + Required: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 64), + }, + }, + names.AttrValue: schema.StringAttribute{ + Required: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 255), + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + Description: "Action to use in place of the rule action.", + }, + }, + }, + PlanModifiers: []planmodifier.List{ + listplanmodifier.RequiresReplace(), + }, + Description: "Action settings to use in place of rule actions configured inside the rule group. You can specify up to 100 overrides.", + }, }, Blocks: map[string]schema.Block{ names.AttrTimeouts: timeouts.Block(ctx, timeouts.Opts{ @@ -172,13 +427,224 @@ func (r *resourceWebACLRuleGroupAssociation) Create(ctx context.Context, req res } // Create new rule with rule group reference statement + ruleGroupRefStatement := &awstypes.RuleGroupReferenceStatement{ + ARN: plan.RuleGroupARN.ValueStringPointer(), + } + + // Add rule action overrides if specified + if !plan.RuleActionOverride.IsNull() && !plan.RuleActionOverride.IsUnknown() { + ruleActionOverrides, diags := plan.RuleActionOverride.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + + var overrides []awstypes.RuleActionOverride + for _, override := range ruleActionOverrides { + actionToUseList, diags := override.ActionToUse.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + + if len(actionToUseList) > 0 { + actionToUse := actionToUseList[0] + ruleAction := &awstypes.RuleAction{} + + // Set the appropriate action based on which one is configured + if !actionToUse.Allow.IsNull() && !actionToUse.Allow.IsUnknown() { + allowList, diags := actionToUse.Allow.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + if len(allowList) > 0 { + allowAction := &awstypes.AllowAction{} + if !allowList[0].CustomRequestHandling.IsNull() && !allowList[0].CustomRequestHandling.IsUnknown() { + customHandlingList, diags := allowList[0].CustomRequestHandling.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + if len(customHandlingList) > 0 { + insertHeaderList, diags := customHandlingList[0].InsertHeader.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + var headers []awstypes.CustomHTTPHeader + for _, header := range insertHeaderList { + headers = append(headers, awstypes.CustomHTTPHeader{ + Name: header.Name.ValueStringPointer(), + Value: header.Value.ValueStringPointer(), + }) + } + allowAction.CustomRequestHandling = &awstypes.CustomRequestHandling{ + InsertHeaders: headers, + } + } + } + ruleAction.Allow = allowAction + } + } else if !actionToUse.Block.IsNull() && !actionToUse.Block.IsUnknown() { + blockList, diags := actionToUse.Block.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + if len(blockList) > 0 { + blockAction := &awstypes.BlockAction{} + if !blockList[0].CustomResponse.IsNull() && !blockList[0].CustomResponse.IsUnknown() { + customResponseList, diags := blockList[0].CustomResponse.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + if len(customResponseList) > 0 { + customResponse := &awstypes.CustomResponse{ + ResponseCode: customResponseList[0].ResponseCode.ValueInt32Pointer(), + } + if !customResponseList[0].CustomResponseBodyKey.IsNull() { + customResponse.CustomResponseBodyKey = customResponseList[0].CustomResponseBodyKey.ValueStringPointer() + } + if !customResponseList[0].ResponseHeader.IsNull() && !customResponseList[0].ResponseHeader.IsUnknown() { + responseHeaderList, diags := customResponseList[0].ResponseHeader.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + var headers []awstypes.CustomHTTPHeader + for _, header := range responseHeaderList { + headers = append(headers, awstypes.CustomHTTPHeader{ + Name: header.Name.ValueStringPointer(), + Value: header.Value.ValueStringPointer(), + }) + } + customResponse.ResponseHeaders = headers + } + blockAction.CustomResponse = customResponse + } + } + ruleAction.Block = blockAction + } + } else if !actionToUse.Captcha.IsNull() && !actionToUse.Captcha.IsUnknown() { + captchaList, diags := actionToUse.Captcha.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + if len(captchaList) > 0 { + captchaAction := &awstypes.CaptchaAction{} + if !captchaList[0].CustomRequestHandling.IsNull() && !captchaList[0].CustomRequestHandling.IsUnknown() { + customHandlingList, diags := captchaList[0].CustomRequestHandling.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + if len(customHandlingList) > 0 { + insertHeaderList, diags := customHandlingList[0].InsertHeader.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + var headers []awstypes.CustomHTTPHeader + for _, header := range insertHeaderList { + headers = append(headers, awstypes.CustomHTTPHeader{ + Name: header.Name.ValueStringPointer(), + Value: header.Value.ValueStringPointer(), + }) + } + captchaAction.CustomRequestHandling = &awstypes.CustomRequestHandling{ + InsertHeaders: headers, + } + } + } + ruleAction.Captcha = captchaAction + } + } else if !actionToUse.Challenge.IsNull() && !actionToUse.Challenge.IsUnknown() { + challengeList, diags := actionToUse.Challenge.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + if len(challengeList) > 0 { + challengeAction := &awstypes.ChallengeAction{} + if !challengeList[0].CustomRequestHandling.IsNull() && !challengeList[0].CustomRequestHandling.IsUnknown() { + customHandlingList, diags := challengeList[0].CustomRequestHandling.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + if len(customHandlingList) > 0 { + insertHeaderList, diags := customHandlingList[0].InsertHeader.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + var headers []awstypes.CustomHTTPHeader + for _, header := range insertHeaderList { + headers = append(headers, awstypes.CustomHTTPHeader{ + Name: header.Name.ValueStringPointer(), + Value: header.Value.ValueStringPointer(), + }) + } + challengeAction.CustomRequestHandling = &awstypes.CustomRequestHandling{ + InsertHeaders: headers, + } + } + } + ruleAction.Challenge = challengeAction + } + } else if !actionToUse.Count.IsNull() && !actionToUse.Count.IsUnknown() { + countList, diags := actionToUse.Count.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + if len(countList) > 0 { + countAction := &awstypes.CountAction{} + if !countList[0].CustomRequestHandling.IsNull() && !countList[0].CustomRequestHandling.IsUnknown() { + customHandlingList, diags := countList[0].CustomRequestHandling.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + if len(customHandlingList) > 0 { + insertHeaderList, diags := customHandlingList[0].InsertHeader.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + var headers []awstypes.CustomHTTPHeader + for _, header := range insertHeaderList { + headers = append(headers, awstypes.CustomHTTPHeader{ + Name: header.Name.ValueStringPointer(), + Value: header.Value.ValueStringPointer(), + }) + } + countAction.CustomRequestHandling = &awstypes.CustomRequestHandling{ + InsertHeaders: headers, + } + } + } + ruleAction.Count = countAction + } + } + + overrides = append(overrides, awstypes.RuleActionOverride{ + Name: override.Name.ValueStringPointer(), + ActionToUse: ruleAction, + }) + } + } + ruleGroupRefStatement.RuleActionOverrides = overrides + } + newRule := awstypes.Rule{ Name: plan.RuleName.ValueStringPointer(), Priority: plan.Priority.ValueInt32(), Statement: &awstypes.Statement{ - RuleGroupReferenceStatement: &awstypes.RuleGroupReferenceStatement{ - ARN: plan.RuleGroupARN.ValueStringPointer(), - }, + RuleGroupReferenceStatement: ruleGroupRefStatement, }, VisibilityConfig: &awstypes.VisibilityConfig{ SampledRequestsEnabled: true, @@ -331,6 +797,108 @@ func (r *resourceWebACLRuleGroupAssociation) Read(ctx context.Context, req resou } } state.OverrideAction = types.StringValue(overrideAction) + + // Handle rule action overrides + if rule.Statement.RuleGroupReferenceStatement.RuleActionOverrides != nil { + var ruleActionOverrides []*ruleActionOverrideModel + for _, override := range rule.Statement.RuleGroupReferenceStatement.RuleActionOverrides { + overrideModel := &ruleActionOverrideModel{ + Name: types.StringValue(aws.ToString(override.Name)), + } + + // Convert the action to use + actionToUse := &actionToUseModel{} + if override.ActionToUse != nil { + if override.ActionToUse.Allow != nil { + allowModel := &allowActionModel{} + if override.ActionToUse.Allow.CustomRequestHandling != nil { + customHandlingModel := &customRequestHandlingModel{} + var insertHeaders []*insertHeaderModel + for _, header := range override.ActionToUse.Allow.CustomRequestHandling.InsertHeaders { + insertHeaders = append(insertHeaders, &insertHeaderModel{ + Name: types.StringValue(aws.ToString(header.Name)), + Value: types.StringValue(aws.ToString(header.Value)), + }) + } + customHandlingModel.InsertHeader = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, insertHeaders) + allowModel.CustomRequestHandling = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, []*customRequestHandlingModel{customHandlingModel}) + } + actionToUse.Allow = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, []*allowActionModel{allowModel}) + } else if override.ActionToUse.Block != nil { + blockModel := &blockActionModel{} + if override.ActionToUse.Block.CustomResponse != nil { + customResponse := &customResponseModel{ + ResponseCode: types.Int32Value(aws.ToInt32(override.ActionToUse.Block.CustomResponse.ResponseCode)), + } + if override.ActionToUse.Block.CustomResponse.CustomResponseBodyKey != nil { + customResponse.CustomResponseBodyKey = types.StringValue(aws.ToString(override.ActionToUse.Block.CustomResponse.CustomResponseBodyKey)) + } + var responseHeaders []*responseHeaderModel + for _, header := range override.ActionToUse.Block.CustomResponse.ResponseHeaders { + responseHeaders = append(responseHeaders, &responseHeaderModel{ + Name: types.StringValue(aws.ToString(header.Name)), + Value: types.StringValue(aws.ToString(header.Value)), + }) + } + customResponse.ResponseHeader = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, responseHeaders) + blockModel.CustomResponse = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, []*customResponseModel{customResponse}) + } + actionToUse.Block = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, []*blockActionModel{blockModel}) + } else if override.ActionToUse.Captcha != nil { + captchaModel := &captchaActionModel{} + if override.ActionToUse.Captcha.CustomRequestHandling != nil { + customHandlingModel := &customRequestHandlingModel{} + var insertHeaders []*insertHeaderModel + for _, header := range override.ActionToUse.Captcha.CustomRequestHandling.InsertHeaders { + insertHeaders = append(insertHeaders, &insertHeaderModel{ + Name: types.StringValue(aws.ToString(header.Name)), + Value: types.StringValue(aws.ToString(header.Value)), + }) + } + customHandlingModel.InsertHeader = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, insertHeaders) + captchaModel.CustomRequestHandling = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, []*customRequestHandlingModel{customHandlingModel}) + } + actionToUse.Captcha = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, []*captchaActionModel{captchaModel}) + } else if override.ActionToUse.Challenge != nil { + challengeModel := &challengeActionModel{} + if override.ActionToUse.Challenge.CustomRequestHandling != nil { + customHandlingModel := &customRequestHandlingModel{} + var insertHeaders []*insertHeaderModel + for _, header := range override.ActionToUse.Challenge.CustomRequestHandling.InsertHeaders { + insertHeaders = append(insertHeaders, &insertHeaderModel{ + Name: types.StringValue(aws.ToString(header.Name)), + Value: types.StringValue(aws.ToString(header.Value)), + }) + } + customHandlingModel.InsertHeader = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, insertHeaders) + challengeModel.CustomRequestHandling = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, []*customRequestHandlingModel{customHandlingModel}) + } + actionToUse.Challenge = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, []*challengeActionModel{challengeModel}) + } else if override.ActionToUse.Count != nil { + countModel := &countActionModel{} + if override.ActionToUse.Count.CustomRequestHandling != nil { + customHandlingModel := &customRequestHandlingModel{} + var insertHeaders []*insertHeaderModel + for _, header := range override.ActionToUse.Count.CustomRequestHandling.InsertHeaders { + insertHeaders = append(insertHeaders, &insertHeaderModel{ + Name: types.StringValue(aws.ToString(header.Name)), + Value: types.StringValue(aws.ToString(header.Value)), + }) + } + customHandlingModel.InsertHeader = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, insertHeaders) + countModel.CustomRequestHandling = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, []*customRequestHandlingModel{customHandlingModel}) + } + actionToUse.Count = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, []*countActionModel{countModel}) + } + } + + overrideModel.ActionToUse = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, []*actionToUseModel{actionToUse}) + ruleActionOverrides = append(ruleActionOverrides, overrideModel) + } + state.RuleActionOverride = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, ruleActionOverrides) + } else { + state.RuleActionOverride = fwtypes.NewListNestedObjectValueOfNull[ruleActionOverrideModel](ctx) + } break } } @@ -543,11 +1111,65 @@ func parseWebACLARN(arn string) (id, name, scope string, err error) { type resourceWebACLRuleGroupAssociationModel struct { framework.WithRegionModel - ID types.String `tfsdk:"id"` - RuleName types.String `tfsdk:"rule_name"` - Priority types.Int32 `tfsdk:"priority"` - RuleGroupARN types.String `tfsdk:"rule_group_arn"` - WebACLARN types.String `tfsdk:"web_acl_arn"` - OverrideAction types.String `tfsdk:"override_action"` - Timeouts timeouts.Value `tfsdk:"timeouts"` + ID types.String `tfsdk:"id"` + RuleName types.String `tfsdk:"rule_name"` + Priority types.Int32 `tfsdk:"priority"` + RuleGroupARN types.String `tfsdk:"rule_group_arn"` + WebACLARN types.String `tfsdk:"web_acl_arn"` + OverrideAction types.String `tfsdk:"override_action"` + RuleActionOverride fwtypes.ListNestedObjectValueOf[ruleActionOverrideModel] `tfsdk:"rule_action_override"` + Timeouts timeouts.Value `tfsdk:"timeouts"` +} + +type ruleActionOverrideModel struct { + Name types.String `tfsdk:"name"` + ActionToUse fwtypes.ListNestedObjectValueOf[actionToUseModel] `tfsdk:"action_to_use"` +} + +type actionToUseModel struct { + Allow fwtypes.ListNestedObjectValueOf[allowActionModel] `tfsdk:"allow"` + Block fwtypes.ListNestedObjectValueOf[blockActionModel] `tfsdk:"block"` + Captcha fwtypes.ListNestedObjectValueOf[captchaActionModel] `tfsdk:"captcha"` + Challenge fwtypes.ListNestedObjectValueOf[challengeActionModel] `tfsdk:"challenge"` + Count fwtypes.ListNestedObjectValueOf[countActionModel] `tfsdk:"count"` +} + +type allowActionModel struct { + CustomRequestHandling fwtypes.ListNestedObjectValueOf[customRequestHandlingModel] `tfsdk:"custom_request_handling"` +} + +type blockActionModel struct { + CustomResponse fwtypes.ListNestedObjectValueOf[customResponseModel] `tfsdk:"custom_response"` +} + +type captchaActionModel struct { + CustomRequestHandling fwtypes.ListNestedObjectValueOf[customRequestHandlingModel] `tfsdk:"custom_request_handling"` +} + +type challengeActionModel struct { + CustomRequestHandling fwtypes.ListNestedObjectValueOf[customRequestHandlingModel] `tfsdk:"custom_request_handling"` +} + +type countActionModel struct { + CustomRequestHandling fwtypes.ListNestedObjectValueOf[customRequestHandlingModel] `tfsdk:"custom_request_handling"` +} + +type customRequestHandlingModel struct { + InsertHeader fwtypes.ListNestedObjectValueOf[insertHeaderModel] `tfsdk:"insert_header"` +} + +type customResponseModel struct { + CustomResponseBodyKey types.String `tfsdk:"custom_response_body_key"` + ResponseCode types.Int32 `tfsdk:"response_code"` + ResponseHeader fwtypes.ListNestedObjectValueOf[responseHeaderModel] `tfsdk:"response_header"` +} + +type insertHeaderModel struct { + Name types.String `tfsdk:"name"` + Value types.String `tfsdk:"value"` +} + +type responseHeaderModel struct { + Name types.String `tfsdk:"name"` + Value types.String `tfsdk:"value"` } diff --git a/internal/service/wafv2/web_acl_rule_group_association_test.go b/internal/service/wafv2/web_acl_rule_group_association_test.go index a36ff40b0944..58d43c50f0b1 100644 --- a/internal/service/wafv2/web_acl_rule_group_association_test.go +++ b/internal/service/wafv2/web_acl_rule_group_association_test.go @@ -6,7 +6,6 @@ package wafv2_test import ( "context" "fmt" - "strings" "testing" "github.com/aws/aws-sdk-go-v2/aws" @@ -107,7 +106,7 @@ func TestParseWebACLARN(t *testing.T) { t.Run(name, func(t *testing.T) { t.Parallel() - id, name, scope, err := parseWebACLARN(testCase.arn) + id, name, scope, err := tfwafv2.ParseWebACLARN(testCase.arn) if testCase.expectError { if err == nil { @@ -165,7 +164,7 @@ func TestAccWAFV2WebACLRuleGroupAssociation_basic(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateIdFunc: testAccWebACLRuleGroupAssociationImportStateIdFunc(resourceName), + ImportStateIdFunc: testAccWebACLRuleGroupAssociationImportStateIDFunc(resourceName), }, }, }) @@ -239,7 +238,7 @@ func testAccCheckWebACLRuleGroupAssociationDestroy(ctx context.Context) resource ruleGroupARN := parts[2] // Parse Web ACL ARN to get ID, name, and scope - webACLID, webACLName, webACLScope, err := parseWebACLARN(webACLARN) + webACLID, webACLName, webACLScope, err := tfwafv2.ParseWebACLARN(webACLARN) if err != nil { continue } @@ -292,7 +291,7 @@ func testAccCheckWebACLRuleGroupAssociationExists(ctx context.Context, n string, ruleGroupARN := parts[2] // Parse Web ACL ARN to get ID, name, and scope - webACLID, webACLName, webACLScope, err := parseWebACLARN(webACLARN) + webACLID, webACLName, webACLScope, err := tfwafv2.ParseWebACLARN(webACLARN) if err != nil { return fmt.Errorf("error parsing Web ACL ARN: %w", err) } @@ -327,7 +326,7 @@ func testAccCheckWebACLRuleGroupAssociationExists(ctx context.Context, n string, } } -func testAccWebACLRuleGroupAssociationImportStateIdFunc(resourceName string) resource.ImportStateIdFunc { +func testAccWebACLRuleGroupAssociationImportStateIDFunc(resourceName string) resource.ImportStateIdFunc { return func(s *terraform.State) (string, error) { rs, ok := s.RootModule().Resources[resourceName] if !ok { @@ -468,36 +467,3 @@ resource "aws_wafv2_web_acl_rule_group_association" "test" { } `, rName, overrideAction) } - -// parseWebACLARN extracts the Web ACL ID, name, and scope from the ARN -// This is a copy of the function from the main resource file for use in tests -func parseWebACLARN(arn string) (id, name, scope string, err error) { - // ARN format: arn:aws:wafv2:region:account-id:scope/webacl/name/id - // or for CloudFront: arn:aws:wafv2:global:account-id:global/webacl/name/id - parts := strings.Split(arn, ":") - if len(parts) < 6 { - return "", "", "", fmt.Errorf("invalid Web ACL ARN format: %s", arn) - } - - resourceParts := strings.Split(parts[5], "/") - if len(resourceParts) < 4 { - return "", "", "", fmt.Errorf("invalid Web ACL ARN resource format: %s", parts[5]) - } - - // Validate that this is a webacl ARN - if resourceParts[1] != "webacl" { - return "", "", "", fmt.Errorf("invalid Web ACL ARN: expected webacl resource type, got %s", resourceParts[1]) - } - - // Determine scope - scopeValue := "REGIONAL" - if parts[3] == "global" || resourceParts[0] == "global" { - scopeValue = "CLOUDFRONT" - } - - // Extract name and ID - nameIndex := len(resourceParts) - 2 - idIndex := len(resourceParts) - 1 - - return resourceParts[idIndex], resourceParts[nameIndex], scopeValue, nil -} From ca1ea0adde261a414b01e126708d12612e4bc7e2 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Mon, 28 Jul 2025 21:13:14 -0400 Subject: [PATCH 0612/1301] Get rule_action_override working --- .../wafv2/web_acl_rule_group_association.go | 159 ++++---- .../web_acl_rule_group_association_test.go | 382 ++++++++++++++++++ 2 files changed, 468 insertions(+), 73 deletions(-) diff --git a/internal/service/wafv2/web_acl_rule_group_association.go b/internal/service/wafv2/web_acl_rule_group_association.go index 2b533933de02..e4aef9bbff9b 100644 --- a/internal/service/wafv2/web_acl_rule_group_association.go +++ b/internal/service/wafv2/web_acl_rule_group_association.go @@ -116,12 +116,21 @@ func (r *resourceWebACLRuleGroupAssociation) Schema(ctx context.Context, req res }, Description: "Override action for the rule group. Valid values are 'none' and 'count'. Defaults to 'none'.", }, - "rule_action_override": schema.ListNestedAttribute{ - Optional: true, + }, + Blocks: map[string]schema.Block{ + names.AttrTimeouts: timeouts.Block(ctx, timeouts.Opts{ + Create: true, + Delete: true, + }), + "rule_action_override": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[ruleActionOverrideModel](ctx), Validators: []validator.List{ listvalidator.SizeAtMost(100), }, - NestedObject: schema.NestedAttributeObject{ + PlanModifiers: []planmodifier.List{ + listplanmodifier.RequiresReplace(), + }, + NestedObject: schema.NestedBlockObject{ Attributes: map[string]schema.Attribute{ names.AttrName: schema.StringAttribute{ Required: true, @@ -130,34 +139,36 @@ func (r *resourceWebACLRuleGroupAssociation) Schema(ctx context.Context, req res }, Description: "Name of the rule to override.", }, - "action_to_use": schema.ListNestedAttribute{ - Required: true, + }, + Blocks: map[string]schema.Block{ + "action_to_use": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[actionToUseModel](ctx), Validators: []validator.List{ listvalidator.SizeAtMost(1), listvalidator.SizeAtLeast(1), }, - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "allow": schema.ListNestedAttribute{ - Optional: true, + NestedObject: schema.NestedBlockObject{ + Blocks: map[string]schema.Block{ + "allow": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[allowActionModel](ctx), Validators: []validator.List{ listvalidator.SizeAtMost(1), }, - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "custom_request_handling": schema.ListNestedAttribute{ - Optional: true, + NestedObject: schema.NestedBlockObject{ + Blocks: map[string]schema.Block{ + "custom_request_handling": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[customRequestHandlingModel](ctx), Validators: []validator.List{ listvalidator.SizeAtMost(1), }, - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "insert_header": schema.ListNestedAttribute{ - Required: true, + NestedObject: schema.NestedBlockObject{ + Blocks: map[string]schema.Block{ + "insert_header": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[insertHeaderModel](ctx), Validators: []validator.List{ listvalidator.SizeAtLeast(1), }, - NestedObject: schema.NestedAttributeObject{ + NestedObject: schema.NestedBlockObject{ Attributes: map[string]schema.Attribute{ names.AttrName: schema.StringAttribute{ Required: true, @@ -180,19 +191,19 @@ func (r *resourceWebACLRuleGroupAssociation) Schema(ctx context.Context, req res }, }, }, - "block": schema.ListNestedAttribute{ - Optional: true, + "block": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[blockActionModel](ctx), Validators: []validator.List{ listvalidator.SizeAtMost(1), }, - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "custom_response": schema.ListNestedAttribute{ - Optional: true, + NestedObject: schema.NestedBlockObject{ + Blocks: map[string]schema.Block{ + "custom_response": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[customResponseModel](ctx), Validators: []validator.List{ listvalidator.SizeAtMost(1), }, - NestedObject: schema.NestedAttributeObject{ + NestedObject: schema.NestedBlockObject{ Attributes: map[string]schema.Attribute{ "custom_response_body_key": schema.StringAttribute{ Optional: true, @@ -206,9 +217,11 @@ func (r *resourceWebACLRuleGroupAssociation) Schema(ctx context.Context, req res int32validator.Between(200, 600), }, }, - "response_header": schema.ListNestedAttribute{ - Optional: true, - NestedObject: schema.NestedAttributeObject{ + }, + Blocks: map[string]schema.Block{ + "response_header": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[responseHeaderModel](ctx), + NestedObject: schema.NestedBlockObject{ Attributes: map[string]schema.Attribute{ names.AttrName: schema.StringAttribute{ Required: true, @@ -231,26 +244,26 @@ func (r *resourceWebACLRuleGroupAssociation) Schema(ctx context.Context, req res }, }, }, - "captcha": schema.ListNestedAttribute{ - Optional: true, + "captcha": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[captchaActionModel](ctx), Validators: []validator.List{ listvalidator.SizeAtMost(1), }, - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "custom_request_handling": schema.ListNestedAttribute{ - Optional: true, + NestedObject: schema.NestedBlockObject{ + Blocks: map[string]schema.Block{ + "custom_request_handling": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[customRequestHandlingModel](ctx), Validators: []validator.List{ listvalidator.SizeAtMost(1), }, - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "insert_header": schema.ListNestedAttribute{ - Required: true, + NestedObject: schema.NestedBlockObject{ + Blocks: map[string]schema.Block{ + "insert_header": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[insertHeaderModel](ctx), Validators: []validator.List{ listvalidator.SizeAtLeast(1), }, - NestedObject: schema.NestedAttributeObject{ + NestedObject: schema.NestedBlockObject{ Attributes: map[string]schema.Attribute{ names.AttrName: schema.StringAttribute{ Required: true, @@ -273,26 +286,26 @@ func (r *resourceWebACLRuleGroupAssociation) Schema(ctx context.Context, req res }, }, }, - "challenge": schema.ListNestedAttribute{ - Optional: true, + "challenge": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[challengeActionModel](ctx), Validators: []validator.List{ listvalidator.SizeAtMost(1), }, - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "custom_request_handling": schema.ListNestedAttribute{ - Optional: true, + NestedObject: schema.NestedBlockObject{ + Blocks: map[string]schema.Block{ + "custom_request_handling": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[customRequestHandlingModel](ctx), Validators: []validator.List{ listvalidator.SizeAtMost(1), }, - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "insert_header": schema.ListNestedAttribute{ - Required: true, + NestedObject: schema.NestedBlockObject{ + Blocks: map[string]schema.Block{ + "insert_header": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[insertHeaderModel](ctx), Validators: []validator.List{ listvalidator.SizeAtLeast(1), }, - NestedObject: schema.NestedAttributeObject{ + NestedObject: schema.NestedBlockObject{ Attributes: map[string]schema.Attribute{ names.AttrName: schema.StringAttribute{ Required: true, @@ -315,26 +328,26 @@ func (r *resourceWebACLRuleGroupAssociation) Schema(ctx context.Context, req res }, }, }, - "count": schema.ListNestedAttribute{ - Optional: true, + "count": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[countActionModel](ctx), Validators: []validator.List{ listvalidator.SizeAtMost(1), }, - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "custom_request_handling": schema.ListNestedAttribute{ - Optional: true, + NestedObject: schema.NestedBlockObject{ + Blocks: map[string]schema.Block{ + "custom_request_handling": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[customRequestHandlingModel](ctx), Validators: []validator.List{ listvalidator.SizeAtMost(1), }, - NestedObject: schema.NestedAttributeObject{ - Attributes: map[string]schema.Attribute{ - "insert_header": schema.ListNestedAttribute{ - Required: true, + NestedObject: schema.NestedBlockObject{ + Blocks: map[string]schema.Block{ + "insert_header": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[insertHeaderModel](ctx), Validators: []validator.List{ listvalidator.SizeAtLeast(1), }, - NestedObject: schema.NestedAttributeObject{ + NestedObject: schema.NestedBlockObject{ Attributes: map[string]schema.Attribute{ names.AttrName: schema.StringAttribute{ Required: true, @@ -363,18 +376,9 @@ func (r *resourceWebACLRuleGroupAssociation) Schema(ctx context.Context, req res }, }, }, - PlanModifiers: []planmodifier.List{ - listplanmodifier.RequiresReplace(), - }, Description: "Action settings to use in place of rule actions configured inside the rule group. You can specify up to 100 overrides.", }, }, - Blocks: map[string]schema.Block{ - names.AttrTimeouts: timeouts.Block(ctx, timeouts.Opts{ - Create: true, - Delete: true, - }), - }, Description: "Associates a WAFv2 Rule Group with a Web ACL by adding a rule that references the Rule Group.", } } @@ -807,8 +811,14 @@ func (r *resourceWebACLRuleGroupAssociation) Read(ctx context.Context, req resou } // Convert the action to use - actionToUse := &actionToUseModel{} if override.ActionToUse != nil { + actionToUse := &actionToUseModel{ + Allow: fwtypes.NewListNestedObjectValueOfNull[allowActionModel](ctx), + Block: fwtypes.NewListNestedObjectValueOfNull[blockActionModel](ctx), + Captcha: fwtypes.NewListNestedObjectValueOfNull[captchaActionModel](ctx), + Challenge: fwtypes.NewListNestedObjectValueOfNull[challengeActionModel](ctx), + Count: fwtypes.NewListNestedObjectValueOfNull[countActionModel](ctx), + } if override.ActionToUse.Allow != nil { allowModel := &allowActionModel{} if override.ActionToUse.Allow.CustomRequestHandling != nil { @@ -890,9 +900,12 @@ func (r *resourceWebACLRuleGroupAssociation) Read(ctx context.Context, req resou } actionToUse.Count = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, []*countActionModel{countModel}) } - } - overrideModel.ActionToUse = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, []*actionToUseModel{actionToUse}) + overrideModel.ActionToUse = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, []*actionToUseModel{actionToUse}) + } else { + // If ActionToUse is nil, set it to null + overrideModel.ActionToUse = fwtypes.NewListNestedObjectValueOfNull[actionToUseModel](ctx) + } ruleActionOverrides = append(ruleActionOverrides, overrideModel) } state.RuleActionOverride = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, ruleActionOverrides) diff --git a/internal/service/wafv2/web_acl_rule_group_association_test.go b/internal/service/wafv2/web_acl_rule_group_association_test.go index 58d43c50f0b1..98c29b7d7798 100644 --- a/internal/service/wafv2/web_acl_rule_group_association_test.go +++ b/internal/service/wafv2/web_acl_rule_group_association_test.go @@ -6,6 +6,7 @@ package wafv2_test import ( "context" "fmt" + "strings" "testing" "github.com/aws/aws-sdk-go-v2/aws" @@ -135,6 +136,34 @@ func TestParseWebACLARN(t *testing.T) { } } +func TestWebACLRuleGroupAssociationConfig_ruleActionOverride_syntax(t *testing.T) { + t.Parallel() + + // Test that the Terraform configuration syntax is valid + rName := "test-config" + config := testAccWebACLRuleGroupAssociationConfig_ruleActionOverride(rName) + + // Basic validation that the config contains expected elements + if !strings.Contains(config, "rule_action_override") { + t.Error("Configuration should contain rule_action_override block") + } + if !strings.Contains(config, "action_to_use") { + t.Error("Configuration should contain action_to_use block") + } + if !strings.Contains(config, "custom_request_handling") { + t.Error("Configuration should contain custom_request_handling block") + } + if !strings.Contains(config, "custom_response") { + t.Error("Configuration should contain custom_response block") + } + if !strings.Contains(config, "insert_header") { + t.Error("Configuration should contain insert_header block") + } + if !strings.Contains(config, "response_header") { + t.Error("Configuration should contain response_header block") + } +} + func TestAccWAFV2WebACLRuleGroupAssociation_basic(t *testing.T) { ctx := acctest.Context(t) var v wafv2.GetWebACLOutput @@ -217,6 +246,84 @@ func TestAccWAFV2WebACLRuleGroupAssociation_overrideAction(t *testing.T) { }) } +func TestAccWAFV2WebACLRuleGroupAssociation_ruleActionOverride(t *testing.T) { + ctx := acctest.Context(t) + var v wafv2.GetWebACLOutput + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_wafv2_web_acl_rule_group_association.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.WAFV2ServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckWebACLRuleGroupAssociationDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccWebACLRuleGroupAssociationConfig_ruleActionOverride(rName), + Check: resource.ComposeTestCheckFunc( + testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &v), + resource.TestCheckResourceAttr(resourceName, "rule_action_override.#", "2"), + resource.TestCheckResourceAttr(resourceName, "rule_action_override.0.name", "rule-1"), + resource.TestCheckResourceAttr(resourceName, "rule_action_override.0.action_to_use.#", "1"), + resource.TestCheckResourceAttr(resourceName, "rule_action_override.0.action_to_use.0.allow.#", "1"), + resource.TestCheckResourceAttr(resourceName, "rule_action_override.0.action_to_use.0.allow.0.custom_request_handling.#", "1"), + resource.TestCheckResourceAttr(resourceName, "rule_action_override.0.action_to_use.0.allow.0.custom_request_handling.0.insert_header.#", "1"), + resource.TestCheckResourceAttr(resourceName, "rule_action_override.0.action_to_use.0.allow.0.custom_request_handling.0.insert_header.0.name", "X-Custom-Header"), + resource.TestCheckResourceAttr(resourceName, "rule_action_override.0.action_to_use.0.allow.0.custom_request_handling.0.insert_header.0.value", "custom-value"), + resource.TestCheckResourceAttr(resourceName, "rule_action_override.1.name", "rule-2"), + resource.TestCheckResourceAttr(resourceName, "rule_action_override.1.action_to_use.#", "1"), + resource.TestCheckResourceAttr(resourceName, "rule_action_override.1.action_to_use.0.block.#", "1"), + resource.TestCheckResourceAttr(resourceName, "rule_action_override.1.action_to_use.0.block.0.custom_response.#", "1"), + resource.TestCheckResourceAttr(resourceName, "rule_action_override.1.action_to_use.0.block.0.custom_response.0.response_code", "403"), + resource.TestCheckResourceAttr(resourceName, "rule_action_override.1.action_to_use.0.block.0.custom_response.0.response_header.#", "1"), + resource.TestCheckResourceAttr(resourceName, "rule_action_override.1.action_to_use.0.block.0.custom_response.0.response_header.0.name", "X-Block-Reason"), + resource.TestCheckResourceAttr(resourceName, "rule_action_override.1.action_to_use.0.block.0.custom_response.0.response_header.0.value", "rule-override"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateIdFunc: testAccWebACLRuleGroupAssociationImportStateIDFunc(resourceName), + }, + }, + }) +} + +func TestAccWAFV2WebACLRuleGroupAssociation_ruleActionOverrideUpdate(t *testing.T) { + ctx := acctest.Context(t) + var v wafv2.GetWebACLOutput + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_wafv2_web_acl_rule_group_association.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.WAFV2ServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckWebACLRuleGroupAssociationDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccWebACLRuleGroupAssociationConfig_ruleActionOverrideCount(rName), + Check: resource.ComposeTestCheckFunc( + testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &v), + resource.TestCheckResourceAttr(resourceName, "rule_action_override.#", "1"), + resource.TestCheckResourceAttr(resourceName, "rule_action_override.0.name", "rule-1"), + resource.TestCheckResourceAttr(resourceName, "rule_action_override.0.action_to_use.0.count.#", "1"), + ), + }, + { + Config: testAccWebACLRuleGroupAssociationConfig_ruleActionOverrideCaptcha(rName), + Check: resource.ComposeTestCheckFunc( + testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &v), + resource.TestCheckResourceAttr(resourceName, "rule_action_override.#", "1"), + resource.TestCheckResourceAttr(resourceName, "rule_action_override.0.name", "rule-1"), + resource.TestCheckResourceAttr(resourceName, "rule_action_override.0.action_to_use.0.captcha.#", "1"), + ), + }, + }, + }) +} + func testAccCheckWebACLRuleGroupAssociationDestroy(ctx context.Context) resource.TestCheckFunc { return func(s *terraform.State) error { conn := acctest.Provider.Meta().(*conns.AWSClient).WAFV2Client(ctx) @@ -467,3 +574,278 @@ resource "aws_wafv2_web_acl_rule_group_association" "test" { } `, rName, overrideAction) } + +func testAccWebACLRuleGroupAssociationConfig_ruleActionOverride(rName string) string { + return fmt.Sprintf(` +resource "aws_wafv2_rule_group" "test" { + name = %[1]q + scope = "REGIONAL" + capacity = 10 + + rule { + name = "rule-1" + priority = 1 + + action { + block {} + } + + statement { + geo_match_statement { + country_codes = ["US", "CA"] + } + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = "rule-1" + sampled_requests_enabled = false + } + } + + rule { + name = "rule-2" + priority = 2 + + action { + allow {} + } + + statement { + ip_set_reference_statement { + arn = aws_wafv2_ip_set.test.arn + } + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = "rule-2" + sampled_requests_enabled = false + } + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = %[1]q + sampled_requests_enabled = false + } +} + +resource "aws_wafv2_ip_set" "test" { + name = %[1]q + scope = "REGIONAL" + + ip_address_version = "IPV4" + addresses = ["192.0.2.0/24"] +} + +resource "aws_wafv2_web_acl" "test" { + name = %[1]q + scope = "REGIONAL" + + default_action { + allow {} + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = %[1]q + sampled_requests_enabled = false + } + + lifecycle { + ignore_changes = [rule] + } +} + +resource "aws_wafv2_web_acl_rule_group_association" "test" { + rule_name = "%[1]s-association" + priority = 10 + rule_group_arn = aws_wafv2_rule_group.test.arn + web_acl_arn = aws_wafv2_web_acl.test.arn + + rule_action_override { + name = "rule-1" + action_to_use { + allow { + custom_request_handling { + insert_header { + name = "X-Custom-Header" + value = "custom-value" + } + } + } + } + } + + rule_action_override { + name = "rule-2" + action_to_use { + block { + custom_response { + response_code = 403 + response_header { + name = "X-Block-Reason" + value = "rule-override" + } + } + } + } + } +} +`, rName) +} + +func testAccWebACLRuleGroupAssociationConfig_ruleActionOverrideCount(rName string) string { + return fmt.Sprintf(` +resource "aws_wafv2_rule_group" "test" { + name = %[1]q + scope = "REGIONAL" + capacity = 10 + + rule { + name = "rule-1" + priority = 1 + + action { + block {} + } + + statement { + geo_match_statement { + country_codes = ["US", "CA"] + } + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = "rule-1" + sampled_requests_enabled = false + } + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = %[1]q + sampled_requests_enabled = false + } +} + +resource "aws_wafv2_web_acl" "test" { + name = %[1]q + scope = "REGIONAL" + + default_action { + allow {} + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = %[1]q + sampled_requests_enabled = false + } + + lifecycle { + ignore_changes = [rule] + } +} + +resource "aws_wafv2_web_acl_rule_group_association" "test" { + rule_name = "%[1]s-association" + priority = 10 + rule_group_arn = aws_wafv2_rule_group.test.arn + web_acl_arn = aws_wafv2_web_acl.test.arn + + rule_action_override { + name = "rule-1" + action_to_use { + count { + custom_request_handling { + insert_header { + name = "X-Count-Header" + value = "counted" + } + } + } + } + } +} +`, rName) +} + +func testAccWebACLRuleGroupAssociationConfig_ruleActionOverrideCaptcha(rName string) string { + return fmt.Sprintf(` +resource "aws_wafv2_rule_group" "test" { + name = %[1]q + scope = "REGIONAL" + capacity = 10 + + rule { + name = "rule-1" + priority = 1 + + action { + block {} + } + + statement { + geo_match_statement { + country_codes = ["US", "CA"] + } + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = "rule-1" + sampled_requests_enabled = false + } + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = %[1]q + sampled_requests_enabled = false + } +} + +resource "aws_wafv2_web_acl" "test" { + name = %[1]q + scope = "REGIONAL" + + default_action { + allow {} + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = %[1]q + sampled_requests_enabled = false + } + + lifecycle { + ignore_changes = [rule] + } +} + +resource "aws_wafv2_web_acl_rule_group_association" "test" { + rule_name = "%[1]s-association" + priority = 10 + rule_group_arn = aws_wafv2_rule_group.test.arn + web_acl_arn = aws_wafv2_web_acl.test.arn + + rule_action_override { + name = "rule-1" + action_to_use { + captcha { + custom_request_handling { + insert_header { + name = "X-Captcha-Header" + value = "captcha-required" + } + } + } + } + } +} +`, rName) +} From ceed2a85a1c0cfac2d8e91b1f465e59b45ab39dd Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Tue, 29 Jul 2025 10:13:12 -0400 Subject: [PATCH 0613/1301] Fix rule_action_override --- .../wafv2/web_acl_rule_group_association.go | 335 +++++++++++++++++- 1 file changed, 322 insertions(+), 13 deletions(-) diff --git a/internal/service/wafv2/web_acl_rule_group_association.go b/internal/service/wafv2/web_acl_rule_group_association.go index e4aef9bbff9b..2ad66f834f97 100644 --- a/internal/service/wafv2/web_acl_rule_group_association.go +++ b/internal/service/wafv2/web_acl_rule_group_association.go @@ -19,8 +19,6 @@ import ( "github.com/hashicorp/terraform-plugin-framework/path" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/int32planmodifier" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/listplanmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" "github.com/hashicorp/terraform-plugin-framework/schema/validator" @@ -76,9 +74,6 @@ func (r *resourceWebACLRuleGroupAssociation) Schema(ctx context.Context, req res }, names.AttrPriority: schema.Int32Attribute{ Required: true, - PlanModifiers: []planmodifier.Int32{ - int32planmodifier.RequiresReplace(), - }, Validators: []validator.Int32{ int32validator.AtLeast(0), }, @@ -108,7 +103,6 @@ func (r *resourceWebACLRuleGroupAssociation) Schema(ctx context.Context, req res Optional: true, Computed: true, PlanModifiers: []planmodifier.String{ - stringplanmodifier.RequiresReplace(), stringplanmodifier.UseStateForUnknown(), }, Validators: []validator.String{ @@ -120,6 +114,7 @@ func (r *resourceWebACLRuleGroupAssociation) Schema(ctx context.Context, req res Blocks: map[string]schema.Block{ names.AttrTimeouts: timeouts.Block(ctx, timeouts.Opts{ Create: true, + Update: true, Delete: true, }), "rule_action_override": schema.ListNestedBlock{ @@ -127,9 +122,6 @@ func (r *resourceWebACLRuleGroupAssociation) Schema(ctx context.Context, req res Validators: []validator.List{ listvalidator.SizeAtMost(100), }, - PlanModifiers: []planmodifier.List{ - listplanmodifier.RequiresReplace(), - }, NestedObject: schema.NestedBlockObject{ Attributes: map[string]schema.Attribute{ names.AttrName: schema.StringAttribute{ @@ -941,11 +933,328 @@ func (r *resourceWebACLRuleGroupAssociation) Update(ctx context.Context, req res return } - // Most attributes require replacement, so we only need to handle changes to attributes - // that don't require replacement (currently none) + conn := r.Meta().WAFV2Client(ctx) + + // Parse Web ACL ARN to get ID, name, and scope + webACLARN := plan.WebACLARN.ValueString() + webACLID, webACLName, webACLScope, err := parseWebACLARN(webACLARN) + if err != nil { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.WAFV2, create.ErrActionUpdating, ResNameWebACLRuleGroupAssociation, plan.RuleName.String(), err), + err.Error(), + ) + return + } + + // Get current Web ACL configuration + webACL, err := findWebACLByThreePartKey(ctx, conn, webACLID, webACLName, webACLScope) + if err != nil { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.WAFV2, create.ErrActionUpdating, ResNameWebACLRuleGroupAssociation, plan.RuleName.String(), err), + err.Error(), + ) + return + } + + // Find the rule to update + ruleName := plan.RuleName.ValueString() + ruleFound := false + for i, rule := range webACL.WebACL.Rules { + if aws.ToString(rule.Name) == ruleName { + ruleFound = true + + // Update the rule's priority + webACL.WebACL.Rules[i].Priority = plan.Priority.ValueInt32() + + // Update override action + overrideAction := plan.OverrideAction.ValueString() + if overrideAction == "" { + overrideAction = "none" // Default value + } + + switch overrideAction { + case "none": + webACL.WebACL.Rules[i].OverrideAction = &awstypes.OverrideAction{ + None: &awstypes.NoneAction{}, + } + case "count": + webACL.WebACL.Rules[i].OverrideAction = &awstypes.OverrideAction{ + Count: &awstypes.CountAction{}, + } + } + + // Update rule action overrides if specified + if !plan.RuleActionOverride.IsNull() && !plan.RuleActionOverride.IsUnknown() { + ruleActionOverrides, diags := plan.RuleActionOverride.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + + var overrides []awstypes.RuleActionOverride + for _, override := range ruleActionOverrides { + actionToUseList, diags := override.ActionToUse.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + + if len(actionToUseList) > 0 { + actionToUse := actionToUseList[0] + ruleAction := &awstypes.RuleAction{} + + // Set the appropriate action based on which one is configured + if !actionToUse.Allow.IsNull() && !actionToUse.Allow.IsUnknown() { + allowList, diags := actionToUse.Allow.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + if len(allowList) > 0 { + allowAction := &awstypes.AllowAction{} + if !allowList[0].CustomRequestHandling.IsNull() && !allowList[0].CustomRequestHandling.IsUnknown() { + customHandlingList, diags := allowList[0].CustomRequestHandling.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + if len(customHandlingList) > 0 { + insertHeaderList, diags := customHandlingList[0].InsertHeader.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + var headers []awstypes.CustomHTTPHeader + for _, header := range insertHeaderList { + headers = append(headers, awstypes.CustomHTTPHeader{ + Name: header.Name.ValueStringPointer(), + Value: header.Value.ValueStringPointer(), + }) + } + allowAction.CustomRequestHandling = &awstypes.CustomRequestHandling{ + InsertHeaders: headers, + } + } + } + ruleAction.Allow = allowAction + } + } else if !actionToUse.Block.IsNull() && !actionToUse.Block.IsUnknown() { + blockList, diags := actionToUse.Block.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + if len(blockList) > 0 { + blockAction := &awstypes.BlockAction{} + if !blockList[0].CustomResponse.IsNull() && !blockList[0].CustomResponse.IsUnknown() { + customResponseList, diags := blockList[0].CustomResponse.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + if len(customResponseList) > 0 { + customResponse := &awstypes.CustomResponse{ + ResponseCode: aws.Int32(customResponseList[0].ResponseCode.ValueInt32()), + } + if !customResponseList[0].CustomResponseBodyKey.IsNull() { + customResponse.CustomResponseBodyKey = customResponseList[0].CustomResponseBodyKey.ValueStringPointer() + } + responseHeaderList, diags := customResponseList[0].ResponseHeader.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + var headers []awstypes.CustomHTTPHeader + for _, header := range responseHeaderList { + headers = append(headers, awstypes.CustomHTTPHeader{ + Name: header.Name.ValueStringPointer(), + Value: header.Value.ValueStringPointer(), + }) + } + customResponse.ResponseHeaders = headers + blockAction.CustomResponse = customResponse + } + } + ruleAction.Block = blockAction + } + } else if !actionToUse.Captcha.IsNull() && !actionToUse.Captcha.IsUnknown() { + captchaList, diags := actionToUse.Captcha.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + if len(captchaList) > 0 { + captchaAction := &awstypes.CaptchaAction{} + if !captchaList[0].CustomRequestHandling.IsNull() && !captchaList[0].CustomRequestHandling.IsUnknown() { + customHandlingList, diags := captchaList[0].CustomRequestHandling.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + if len(customHandlingList) > 0 { + insertHeaderList, diags := customHandlingList[0].InsertHeader.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + var headers []awstypes.CustomHTTPHeader + for _, header := range insertHeaderList { + headers = append(headers, awstypes.CustomHTTPHeader{ + Name: header.Name.ValueStringPointer(), + Value: header.Value.ValueStringPointer(), + }) + } + captchaAction.CustomRequestHandling = &awstypes.CustomRequestHandling{ + InsertHeaders: headers, + } + } + } + ruleAction.Captcha = captchaAction + } + } else if !actionToUse.Challenge.IsNull() && !actionToUse.Challenge.IsUnknown() { + challengeList, diags := actionToUse.Challenge.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + if len(challengeList) > 0 { + challengeAction := &awstypes.ChallengeAction{} + if !challengeList[0].CustomRequestHandling.IsNull() && !challengeList[0].CustomRequestHandling.IsUnknown() { + customHandlingList, diags := challengeList[0].CustomRequestHandling.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + if len(customHandlingList) > 0 { + insertHeaderList, diags := customHandlingList[0].InsertHeader.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + var headers []awstypes.CustomHTTPHeader + for _, header := range insertHeaderList { + headers = append(headers, awstypes.CustomHTTPHeader{ + Name: header.Name.ValueStringPointer(), + Value: header.Value.ValueStringPointer(), + }) + } + challengeAction.CustomRequestHandling = &awstypes.CustomRequestHandling{ + InsertHeaders: headers, + } + } + } + ruleAction.Challenge = challengeAction + } + } else if !actionToUse.Count.IsNull() && !actionToUse.Count.IsUnknown() { + countList, diags := actionToUse.Count.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + if len(countList) > 0 { + countAction := &awstypes.CountAction{} + if !countList[0].CustomRequestHandling.IsNull() && !countList[0].CustomRequestHandling.IsUnknown() { + customHandlingList, diags := countList[0].CustomRequestHandling.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + if len(customHandlingList) > 0 { + insertHeaderList, diags := customHandlingList[0].InsertHeader.ToSlice(ctx) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + var headers []awstypes.CustomHTTPHeader + for _, header := range insertHeaderList { + headers = append(headers, awstypes.CustomHTTPHeader{ + Name: header.Name.ValueStringPointer(), + Value: header.Value.ValueStringPointer(), + }) + } + countAction.CustomRequestHandling = &awstypes.CustomRequestHandling{ + InsertHeaders: headers, + } + } + } + ruleAction.Count = countAction + } + } + + overrides = append(overrides, awstypes.RuleActionOverride{ + Name: override.Name.ValueStringPointer(), + ActionToUse: ruleAction, + }) + } + } + + // Update the rule group reference statement with new overrides + if webACL.WebACL.Rules[i].Statement != nil && webACL.WebACL.Rules[i].Statement.RuleGroupReferenceStatement != nil { + webACL.WebACL.Rules[i].Statement.RuleGroupReferenceStatement.RuleActionOverrides = overrides + } + } else { + // Clear rule action overrides if not specified + if webACL.WebACL.Rules[i].Statement != nil && webACL.WebACL.Rules[i].Statement.RuleGroupReferenceStatement != nil { + webACL.WebACL.Rules[i].Statement.RuleGroupReferenceStatement.RuleActionOverrides = nil + } + } + + break + } + } + + if !ruleFound { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.WAFV2, create.ErrActionUpdating, ResNameWebACLRuleGroupAssociation, plan.RuleName.String(), nil), + fmt.Sprintf("Rule %s not found in Web ACL", ruleName), + ) + return + } + + // Check for priority conflicts with other rules + for _, rule := range webACL.WebACL.Rules { + if aws.ToString(rule.Name) != ruleName && rule.Priority == plan.Priority.ValueInt32() { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.WAFV2, create.ErrActionUpdating, ResNameWebACLRuleGroupAssociation, plan.RuleName.String(), nil), + fmt.Sprintf("Rule with priority %d already exists in Web ACL", plan.Priority.ValueInt32()), + ) + return + } + } + + // Update the Web ACL with the modified rule + updateInput := &wafv2.UpdateWebACLInput{ + Id: aws.String(webACLID), + Name: aws.String(webACLName), + Scope: awstypes.Scope(webACLScope), + DefaultAction: webACL.WebACL.DefaultAction, + Rules: webACL.WebACL.Rules, + VisibilityConfig: webACL.WebACL.VisibilityConfig, + LockToken: webACL.LockToken, + AssociationConfig: webACL.WebACL.AssociationConfig, + CaptchaConfig: webACL.WebACL.CaptchaConfig, + ChallengeConfig: webACL.WebACL.ChallengeConfig, + CustomResponseBodies: webACL.WebACL.CustomResponseBodies, + TokenDomains: webACL.WebACL.TokenDomains, + } + + // Only set description if it's not empty + if webACL.WebACL.Description != nil && aws.ToString(webACL.WebACL.Description) != "" { + updateInput.Description = webACL.WebACL.Description + } - // For future extensibility, if any attributes are added that don't require replacement, - // they would be handled here + updateTimeout := r.UpdateTimeout(ctx, plan.Timeouts) + _, err = tfresource.RetryWhenIsA[*awstypes.WAFUnavailableEntityException](ctx, updateTimeout, func() (any, error) { + return conn.UpdateWebACL(ctx, updateInput) + }) + + if err != nil { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.WAFV2, create.ErrActionUpdating, ResNameWebACLRuleGroupAssociation, plan.RuleName.String(), err), + err.Error(), + ) + return + } resp.Diagnostics.Append(resp.State.Set(ctx, &plan)...) } From 11f5d37fe6431971aacbb87406a7afbdd4cdc2bc Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Tue, 29 Jul 2025 10:38:20 -0400 Subject: [PATCH 0614/1301] Add tests for updates --- .../web_acl_rule_group_association_test.go | 343 ++++++++++++++++++ 1 file changed, 343 insertions(+) diff --git a/internal/service/wafv2/web_acl_rule_group_association_test.go b/internal/service/wafv2/web_acl_rule_group_association_test.go index 98c29b7d7798..615b224e9520 100644 --- a/internal/service/wafv2/web_acl_rule_group_association_test.go +++ b/internal/service/wafv2/web_acl_rule_group_association_test.go @@ -13,6 +13,7 @@ import ( "github.com/aws/aws-sdk-go-v2/service/wafv2" sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/plancheck" "github.com/hashicorp/terraform-plugin-testing/terraform" "github.com/hashicorp/terraform-provider-aws/internal/acctest" "github.com/hashicorp/terraform-provider-aws/internal/conns" @@ -324,6 +325,156 @@ func TestAccWAFV2WebACLRuleGroupAssociation_ruleActionOverrideUpdate(t *testing. }) } +func TestAccWAFV2WebACLRuleGroupAssociation_priorityUpdate(t *testing.T) { + ctx := acctest.Context(t) + var v wafv2.GetWebACLOutput + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_wafv2_web_acl_rule_group_association.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.WAFV2ServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckWebACLRuleGroupAssociationDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccWebACLRuleGroupAssociationConfig_priority(rName, 10), + Check: resource.ComposeTestCheckFunc( + testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &v), + resource.TestCheckResourceAttr(resourceName, names.AttrPriority, "10"), + ), + }, + { + Config: testAccWebACLRuleGroupAssociationConfig_priority(rName, 20), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + }, + }, + Check: resource.ComposeTestCheckFunc( + testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &v), + resource.TestCheckResourceAttr(resourceName, names.AttrPriority, "20"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateIdFunc: testAccWebACLRuleGroupAssociationImportStateIDFunc(resourceName), + }, + }, + }) +} + +func TestAccWAFV2WebACLRuleGroupAssociation_overrideActionUpdate(t *testing.T) { + ctx := acctest.Context(t) + var v wafv2.GetWebACLOutput + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_wafv2_web_acl_rule_group_association.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.WAFV2ServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckWebACLRuleGroupAssociationDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccWebACLRuleGroupAssociationConfig_overrideAction(rName, "none"), + Check: resource.ComposeTestCheckFunc( + testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &v), + resource.TestCheckResourceAttr(resourceName, "override_action", "none"), + ), + }, + { + Config: testAccWebACLRuleGroupAssociationConfig_overrideAction(rName, "count"), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + }, + }, + Check: resource.ComposeTestCheckFunc( + testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &v), + resource.TestCheckResourceAttr(resourceName, "override_action", "count"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateIdFunc: testAccWebACLRuleGroupAssociationImportStateIDFunc(resourceName), + }, + }, + }) +} + +func TestAccWAFV2WebACLRuleGroupAssociation_ruleNameRequiresReplace(t *testing.T) { + ctx := acctest.Context(t) + var v wafv2.GetWebACLOutput + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_wafv2_web_acl_rule_group_association.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.WAFV2ServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckWebACLRuleGroupAssociationDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccWebACLRuleGroupAssociationConfig_ruleName(rName, "original-rule"), + Check: resource.ComposeTestCheckFunc( + testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &v), + resource.TestCheckResourceAttr(resourceName, "rule_name", "original-rule"), + ), + }, + { + Config: testAccWebACLRuleGroupAssociationConfig_ruleName(rName, "updated-rule"), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionDestroyBeforeCreate), + }, + }, + Check: resource.ComposeTestCheckFunc( + testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &v), + resource.TestCheckResourceAttr(resourceName, "rule_name", "updated-rule"), + ), + }, + }, + }) +} + +func TestAccWAFV2WebACLRuleGroupAssociation_webACLARNRequiresReplace(t *testing.T) { + ctx := acctest.Context(t) + var v wafv2.GetWebACLOutput + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_wafv2_web_acl_rule_group_association.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.WAFV2ServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckWebACLRuleGroupAssociationDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccWebACLRuleGroupAssociationConfig_webACL(rName, "first"), + Check: resource.ComposeTestCheckFunc( + testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &v), + ), + }, + { + Config: testAccWebACLRuleGroupAssociationConfig_webACL(rName, "second"), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionDestroyBeforeCreate), + }, + }, + Check: resource.ComposeTestCheckFunc( + testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &v), + ), + }, + }, + }) +} + func testAccCheckWebACLRuleGroupAssociationDestroy(ctx context.Context) resource.TestCheckFunc { return func(s *terraform.State) error { conn := acctest.Provider.Meta().(*conns.AWSClient).WAFV2Client(ctx) @@ -849,3 +1000,195 @@ resource "aws_wafv2_web_acl_rule_group_association" "test" { } `, rName) } + +func testAccWebACLRuleGroupAssociationConfig_priority(rName string, priority int) string { + return fmt.Sprintf(` +resource "aws_wafv2_rule_group" "test" { + name = %[1]q + scope = "REGIONAL" + capacity = 10 + + rule { + name = "rule-1" + priority = 1 + + action { + block {} + } + + statement { + geo_match_statement { + country_codes = ["US"] + } + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = "rule-1" + sampled_requests_enabled = false + } + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = %[1]q + sampled_requests_enabled = false + } +} + +resource "aws_wafv2_web_acl" "test" { + name = %[1]q + scope = "REGIONAL" + + default_action { + allow {} + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = %[1]q + sampled_requests_enabled = false + } + + lifecycle { + ignore_changes = [rule] + } +} + +resource "aws_wafv2_web_acl_rule_group_association" "test" { + rule_name = "%[1]s-association" + priority = %[2]d + rule_group_arn = aws_wafv2_rule_group.test.arn + web_acl_arn = aws_wafv2_web_acl.test.arn + override_action = "none" +} +`, rName, priority) +} + +func testAccWebACLRuleGroupAssociationConfig_ruleName(rName, ruleName string) string { + return fmt.Sprintf(` +resource "aws_wafv2_rule_group" "test" { + name = %[1]q + scope = "REGIONAL" + capacity = 10 + + rule { + name = "rule-1" + priority = 1 + + action { + block {} + } + + statement { + geo_match_statement { + country_codes = ["US"] + } + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = "rule-1" + sampled_requests_enabled = false + } + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = %[1]q + sampled_requests_enabled = false + } +} + +resource "aws_wafv2_web_acl" "test" { + name = %[1]q + scope = "REGIONAL" + + default_action { + allow {} + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = %[1]q + sampled_requests_enabled = false + } + + lifecycle { + ignore_changes = [rule] + } +} + +resource "aws_wafv2_web_acl_rule_group_association" "test" { + rule_name = %[2]q + priority = 10 + rule_group_arn = aws_wafv2_rule_group.test.arn + web_acl_arn = aws_wafv2_web_acl.test.arn + override_action = "none" +} +`, rName, ruleName) +} + +func testAccWebACLRuleGroupAssociationConfig_webACL(rName, webACLSuffix string) string { + return fmt.Sprintf(` +resource "aws_wafv2_rule_group" "test" { + name = %[1]q + scope = "REGIONAL" + capacity = 10 + + rule { + name = "rule-1" + priority = 1 + + action { + block {} + } + + statement { + geo_match_statement { + country_codes = ["US"] + } + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = "rule-1" + sampled_requests_enabled = false + } + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = %[1]q + sampled_requests_enabled = false + } +} + +resource "aws_wafv2_web_acl" "test" { + name = "%[1]s-%[2]s" + scope = "REGIONAL" + + default_action { + allow {} + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = "%[1]s-%[2]s" + sampled_requests_enabled = false + } + + lifecycle { + ignore_changes = [rule] + } +} + +resource "aws_wafv2_web_acl_rule_group_association" "test" { + rule_name = "%[1]s-association" + priority = 10 + rule_group_arn = aws_wafv2_rule_group.test.arn + web_acl_arn = aws_wafv2_web_acl.test.arn + override_action = "none" +} +`, rName, webACLSuffix) +} From b7c5f0a1db9336bb8bd4808d9e97ab8ca7f6602b Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Tue, 29 Jul 2025 10:45:41 -0400 Subject: [PATCH 0615/1301] Linty fixes --- .../wafv2/web_acl_rule_group_association.go | 2 +- .../web_acl_rule_group_association_test.go | 24 +++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/internal/service/wafv2/web_acl_rule_group_association.go b/internal/service/wafv2/web_acl_rule_group_association.go index 2ad66f834f97..676a814c63e9 100644 --- a/internal/service/wafv2/web_acl_rule_group_association.go +++ b/internal/service/wafv2/web_acl_rule_group_association.go @@ -1054,7 +1054,7 @@ func (r *resourceWebACLRuleGroupAssociation) Update(ctx context.Context, req res } if len(customResponseList) > 0 { customResponse := &awstypes.CustomResponse{ - ResponseCode: aws.Int32(customResponseList[0].ResponseCode.ValueInt32()), + ResponseCode: customResponseList[0].ResponseCode.ValueInt32Pointer(), } if !customResponseList[0].CustomResponseBodyKey.IsNull() { customResponse.CustomResponseBodyKey = customResponseList[0].CustomResponseBodyKey.ValueStringPointer() diff --git a/internal/service/wafv2/web_acl_rule_group_association_test.go b/internal/service/wafv2/web_acl_rule_group_association_test.go index 615b224e9520..ef6d800a43a0 100644 --- a/internal/service/wafv2/web_acl_rule_group_association_test.go +++ b/internal/service/wafv2/web_acl_rule_group_association_test.go @@ -1056,10 +1056,10 @@ resource "aws_wafv2_web_acl" "test" { } resource "aws_wafv2_web_acl_rule_group_association" "test" { - rule_name = "%[1]s-association" - priority = %[2]d - rule_group_arn = aws_wafv2_rule_group.test.arn - web_acl_arn = aws_wafv2_web_acl.test.arn + rule_name = "%[1]s-association" + priority = %[2]d + rule_group_arn = aws_wafv2_rule_group.test.arn + web_acl_arn = aws_wafv2_web_acl.test.arn override_action = "none" } `, rName, priority) @@ -1120,10 +1120,10 @@ resource "aws_wafv2_web_acl" "test" { } resource "aws_wafv2_web_acl_rule_group_association" "test" { - rule_name = %[2]q - priority = 10 - rule_group_arn = aws_wafv2_rule_group.test.arn - web_acl_arn = aws_wafv2_web_acl.test.arn + rule_name = %[2]q + priority = 10 + rule_group_arn = aws_wafv2_rule_group.test.arn + web_acl_arn = aws_wafv2_web_acl.test.arn override_action = "none" } `, rName, ruleName) @@ -1184,10 +1184,10 @@ resource "aws_wafv2_web_acl" "test" { } resource "aws_wafv2_web_acl_rule_group_association" "test" { - rule_name = "%[1]s-association" - priority = 10 - rule_group_arn = aws_wafv2_rule_group.test.arn - web_acl_arn = aws_wafv2_web_acl.test.arn + rule_name = "%[1]s-association" + priority = 10 + rule_group_arn = aws_wafv2_rule_group.test.arn + web_acl_arn = aws_wafv2_web_acl.test.arn override_action = "none" } `, rName, webACLSuffix) From 281e2e391c76a1c6f284864cd22e9038cb77e86c Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Tue, 29 Jul 2025 10:54:18 -0400 Subject: [PATCH 0616/1301] Add rule_action_override to docs --- ...b_acl_rule_group_association.html.markdown | 171 ++++++++++++++++++ 1 file changed, 171 insertions(+) diff --git a/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown b/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown index b5d280b382a6..1dd2d418a4ef 100644 --- a/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown +++ b/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown @@ -91,6 +91,120 @@ resource "aws_wafv2_web_acl_rule_group_association" "example" { } ``` +### With Rule Action Overrides + +```terraform +resource "aws_wafv2_rule_group" "example" { + name = "example-rule-group" + scope = "REGIONAL" + capacity = 10 + + rule { + name = "geo-block-rule" + priority = 1 + + action { + block {} + } + + statement { + geo_match_statement { + country_codes = ["CN", "RU"] + } + } + + visibility_config { + cloudwatch_metrics_enabled = true + metric_name = "geo-block-rule" + sampled_requests_enabled = true + } + } + + rule { + name = "rate-limit-rule" + priority = 2 + + action { + block {} + } + + statement { + rate_based_statement { + limit = 1000 + aggregate_key_type = "IP" + } + } + + visibility_config { + cloudwatch_metrics_enabled = true + metric_name = "rate-limit-rule" + sampled_requests_enabled = true + } + } + + visibility_config { + cloudwatch_metrics_enabled = true + metric_name = "example-rule-group" + sampled_requests_enabled = true + } +} + +resource "aws_wafv2_web_acl" "example" { + name = "example-web-acl" + scope = "REGIONAL" + + default_action { + allow {} + } + + visibility_config { + cloudwatch_metrics_enabled = true + metric_name = "example-web-acl" + sampled_requests_enabled = true + } + + lifecycle { + ignore_changes = [rule] + } +} + +resource "aws_wafv2_web_acl_rule_group_association" "example" { + rule_name = "example-rule-group-rule" + priority = 100 + rule_group_arn = aws_wafv2_rule_group.example.arn + web_acl_arn = aws_wafv2_web_acl.example.arn + + # Override specific rules within the rule group + rule_action_override { + name = "geo-block-rule" + action_to_use { + count { + custom_request_handling { + insert_header { + name = "X-Geo-Block-Override" + value = "counted" + } + } + } + } + } + + rule_action_override { + name = "rate-limit-rule" + action_to_use { + captcha { + custom_request_handling { + insert_header { + name = "X-Rate-Limit-Override" + value = "captcha-required" + } + } + } + } + } +} +``` + ### CloudFront Web ACL ```terraform @@ -168,6 +282,62 @@ The following arguments are optional: * `override_action` - (Optional) Override action for the rule group. Valid values are `none` and `count`. Defaults to `none`. When set to `count`, the actions defined in the rule group rules are overridden to count matches instead of blocking or allowing requests. * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). +* `rule_action_override` - (Optional) Override actions for specific rules within the rule group. [See below](#rule_action_override). + +### rule_action_override + +* `name` - (Required) Name of the rule to override within the rule group. +* `action_to_use` - (Required) Action to use instead of the rule's original action. [See below](#action_to_use). + +### action_to_use + +Exactly one of the following action blocks must be specified: + +* `allow` - (Optional) Allow the request. [See below](#allow). +* `block` - (Optional) Block the request. [See below](#block). +* `captcha` - (Optional) Require CAPTCHA verification. [See below](#captcha). +* `challenge` - (Optional) Require challenge verification. [See below](#challenge). +* `count` - (Optional) Count the request without taking action. [See below](#count). + +### allow + +* `custom_request_handling` - (Optional) Custom handling for allowed requests. [See below](#custom_request_handling). + +### block + +* `custom_response` - (Optional) Custom response for blocked requests. [See below](#custom_response). + +### captcha + +* `custom_request_handling` - (Optional) Custom handling for CAPTCHA requests. [See below](#custom_request_handling). + +### challenge + +* `custom_request_handling` - (Optional) Custom handling for challenge requests. [See below](#custom_request_handling). + +### count + +* `custom_request_handling` - (Optional) Custom handling for counted requests. [See below](#custom_request_handling). + +### custom_request_handling + +* `insert_header` - (Required) Headers to insert into the request. [See below](#insert_header). + +### custom_response + +* `custom_response_body_key` - (Optional) Key of a custom response body to use. +* `response_code` - (Required) HTTP response code to return (200-599). +* `response_header` - (Optional) Headers to include in the response. [See below](#response_header). + +### insert_header + +* `name` - (Required) Name of the header to insert. +* `value` - (Required) Value of the header to insert. + +### response_header + +* `name` - (Required) Name of the response header. +* `value` - (Required) Value of the response header. ## Attribute Reference @@ -180,6 +350,7 @@ This resource exports the following attributes in addition to the arguments abov [Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): * `create` - (Default `30m`) +* `update` - (Default `30m`) * `delete` - (Default `30m`) ## Import From 14546b92c35fbc8184a3918a2a0ec4f0531bacbe Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Tue, 29 Jul 2025 12:04:31 -0400 Subject: [PATCH 0617/1301] Use autoflex more --- .../wafv2/web_acl_rule_group_association.go | 422 +----------------- 1 file changed, 11 insertions(+), 411 deletions(-) diff --git a/internal/service/wafv2/web_acl_rule_group_association.go b/internal/service/wafv2/web_acl_rule_group_association.go index 676a814c63e9..54b29b2d3d63 100644 --- a/internal/service/wafv2/web_acl_rule_group_association.go +++ b/internal/service/wafv2/web_acl_rule_group_association.go @@ -27,6 +27,7 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" "github.com/hashicorp/terraform-provider-aws/internal/flex" "github.com/hashicorp/terraform-provider-aws/internal/framework" + fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" fwvalidators "github.com/hashicorp/terraform-provider-aws/internal/framework/validators" "github.com/hashicorp/terraform-provider-aws/internal/retry" @@ -428,213 +429,14 @@ func (r *resourceWebACLRuleGroupAssociation) Create(ctx context.Context, req res } // Add rule action overrides if specified + var ruleActionOverrides []awstypes.RuleActionOverride if !plan.RuleActionOverride.IsNull() && !plan.RuleActionOverride.IsUnknown() { - ruleActionOverrides, diags := plan.RuleActionOverride.ToSlice(ctx) - resp.Diagnostics.Append(diags...) + resp.Diagnostics.Append(fwflex.Expand(ctx, plan.RuleActionOverride, &ruleActionOverrides)...) if resp.Diagnostics.HasError() { return } - - var overrides []awstypes.RuleActionOverride - for _, override := range ruleActionOverrides { - actionToUseList, diags := override.ActionToUse.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - - if len(actionToUseList) > 0 { - actionToUse := actionToUseList[0] - ruleAction := &awstypes.RuleAction{} - - // Set the appropriate action based on which one is configured - if !actionToUse.Allow.IsNull() && !actionToUse.Allow.IsUnknown() { - allowList, diags := actionToUse.Allow.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - if len(allowList) > 0 { - allowAction := &awstypes.AllowAction{} - if !allowList[0].CustomRequestHandling.IsNull() && !allowList[0].CustomRequestHandling.IsUnknown() { - customHandlingList, diags := allowList[0].CustomRequestHandling.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - if len(customHandlingList) > 0 { - insertHeaderList, diags := customHandlingList[0].InsertHeader.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - var headers []awstypes.CustomHTTPHeader - for _, header := range insertHeaderList { - headers = append(headers, awstypes.CustomHTTPHeader{ - Name: header.Name.ValueStringPointer(), - Value: header.Value.ValueStringPointer(), - }) - } - allowAction.CustomRequestHandling = &awstypes.CustomRequestHandling{ - InsertHeaders: headers, - } - } - } - ruleAction.Allow = allowAction - } - } else if !actionToUse.Block.IsNull() && !actionToUse.Block.IsUnknown() { - blockList, diags := actionToUse.Block.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - if len(blockList) > 0 { - blockAction := &awstypes.BlockAction{} - if !blockList[0].CustomResponse.IsNull() && !blockList[0].CustomResponse.IsUnknown() { - customResponseList, diags := blockList[0].CustomResponse.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - if len(customResponseList) > 0 { - customResponse := &awstypes.CustomResponse{ - ResponseCode: customResponseList[0].ResponseCode.ValueInt32Pointer(), - } - if !customResponseList[0].CustomResponseBodyKey.IsNull() { - customResponse.CustomResponseBodyKey = customResponseList[0].CustomResponseBodyKey.ValueStringPointer() - } - if !customResponseList[0].ResponseHeader.IsNull() && !customResponseList[0].ResponseHeader.IsUnknown() { - responseHeaderList, diags := customResponseList[0].ResponseHeader.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - var headers []awstypes.CustomHTTPHeader - for _, header := range responseHeaderList { - headers = append(headers, awstypes.CustomHTTPHeader{ - Name: header.Name.ValueStringPointer(), - Value: header.Value.ValueStringPointer(), - }) - } - customResponse.ResponseHeaders = headers - } - blockAction.CustomResponse = customResponse - } - } - ruleAction.Block = blockAction - } - } else if !actionToUse.Captcha.IsNull() && !actionToUse.Captcha.IsUnknown() { - captchaList, diags := actionToUse.Captcha.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - if len(captchaList) > 0 { - captchaAction := &awstypes.CaptchaAction{} - if !captchaList[0].CustomRequestHandling.IsNull() && !captchaList[0].CustomRequestHandling.IsUnknown() { - customHandlingList, diags := captchaList[0].CustomRequestHandling.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - if len(customHandlingList) > 0 { - insertHeaderList, diags := customHandlingList[0].InsertHeader.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - var headers []awstypes.CustomHTTPHeader - for _, header := range insertHeaderList { - headers = append(headers, awstypes.CustomHTTPHeader{ - Name: header.Name.ValueStringPointer(), - Value: header.Value.ValueStringPointer(), - }) - } - captchaAction.CustomRequestHandling = &awstypes.CustomRequestHandling{ - InsertHeaders: headers, - } - } - } - ruleAction.Captcha = captchaAction - } - } else if !actionToUse.Challenge.IsNull() && !actionToUse.Challenge.IsUnknown() { - challengeList, diags := actionToUse.Challenge.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - if len(challengeList) > 0 { - challengeAction := &awstypes.ChallengeAction{} - if !challengeList[0].CustomRequestHandling.IsNull() && !challengeList[0].CustomRequestHandling.IsUnknown() { - customHandlingList, diags := challengeList[0].CustomRequestHandling.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - if len(customHandlingList) > 0 { - insertHeaderList, diags := customHandlingList[0].InsertHeader.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - var headers []awstypes.CustomHTTPHeader - for _, header := range insertHeaderList { - headers = append(headers, awstypes.CustomHTTPHeader{ - Name: header.Name.ValueStringPointer(), - Value: header.Value.ValueStringPointer(), - }) - } - challengeAction.CustomRequestHandling = &awstypes.CustomRequestHandling{ - InsertHeaders: headers, - } - } - } - ruleAction.Challenge = challengeAction - } - } else if !actionToUse.Count.IsNull() && !actionToUse.Count.IsUnknown() { - countList, diags := actionToUse.Count.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - if len(countList) > 0 { - countAction := &awstypes.CountAction{} - if !countList[0].CustomRequestHandling.IsNull() && !countList[0].CustomRequestHandling.IsUnknown() { - customHandlingList, diags := countList[0].CustomRequestHandling.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - if len(customHandlingList) > 0 { - insertHeaderList, diags := customHandlingList[0].InsertHeader.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - var headers []awstypes.CustomHTTPHeader - for _, header := range insertHeaderList { - headers = append(headers, awstypes.CustomHTTPHeader{ - Name: header.Name.ValueStringPointer(), - Value: header.Value.ValueStringPointer(), - }) - } - countAction.CustomRequestHandling = &awstypes.CustomRequestHandling{ - InsertHeaders: headers, - } - } - } - ruleAction.Count = countAction - } - } - - overrides = append(overrides, awstypes.RuleActionOverride{ - Name: override.Name.ValueStringPointer(), - ActionToUse: ruleAction, - }) - } - } - ruleGroupRefStatement.RuleActionOverrides = overrides } + ruleGroupRefStatement.RuleActionOverrides = ruleActionOverrides newRule := awstypes.Rule{ Name: plan.RuleName.ValueStringPointer(), @@ -983,220 +785,18 @@ func (r *resourceWebACLRuleGroupAssociation) Update(ctx context.Context, req res } } - // Update rule action overrides if specified + // Update rule action overrides + var overrides []awstypes.RuleActionOverride if !plan.RuleActionOverride.IsNull() && !plan.RuleActionOverride.IsUnknown() { - ruleActionOverrides, diags := plan.RuleActionOverride.ToSlice(ctx) - resp.Diagnostics.Append(diags...) + resp.Diagnostics.Append(fwflex.Expand(ctx, plan.RuleActionOverride, &overrides)...) if resp.Diagnostics.HasError() { return } + } - var overrides []awstypes.RuleActionOverride - for _, override := range ruleActionOverrides { - actionToUseList, diags := override.ActionToUse.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - - if len(actionToUseList) > 0 { - actionToUse := actionToUseList[0] - ruleAction := &awstypes.RuleAction{} - - // Set the appropriate action based on which one is configured - if !actionToUse.Allow.IsNull() && !actionToUse.Allow.IsUnknown() { - allowList, diags := actionToUse.Allow.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - if len(allowList) > 0 { - allowAction := &awstypes.AllowAction{} - if !allowList[0].CustomRequestHandling.IsNull() && !allowList[0].CustomRequestHandling.IsUnknown() { - customHandlingList, diags := allowList[0].CustomRequestHandling.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - if len(customHandlingList) > 0 { - insertHeaderList, diags := customHandlingList[0].InsertHeader.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - var headers []awstypes.CustomHTTPHeader - for _, header := range insertHeaderList { - headers = append(headers, awstypes.CustomHTTPHeader{ - Name: header.Name.ValueStringPointer(), - Value: header.Value.ValueStringPointer(), - }) - } - allowAction.CustomRequestHandling = &awstypes.CustomRequestHandling{ - InsertHeaders: headers, - } - } - } - ruleAction.Allow = allowAction - } - } else if !actionToUse.Block.IsNull() && !actionToUse.Block.IsUnknown() { - blockList, diags := actionToUse.Block.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - if len(blockList) > 0 { - blockAction := &awstypes.BlockAction{} - if !blockList[0].CustomResponse.IsNull() && !blockList[0].CustomResponse.IsUnknown() { - customResponseList, diags := blockList[0].CustomResponse.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - if len(customResponseList) > 0 { - customResponse := &awstypes.CustomResponse{ - ResponseCode: customResponseList[0].ResponseCode.ValueInt32Pointer(), - } - if !customResponseList[0].CustomResponseBodyKey.IsNull() { - customResponse.CustomResponseBodyKey = customResponseList[0].CustomResponseBodyKey.ValueStringPointer() - } - responseHeaderList, diags := customResponseList[0].ResponseHeader.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - var headers []awstypes.CustomHTTPHeader - for _, header := range responseHeaderList { - headers = append(headers, awstypes.CustomHTTPHeader{ - Name: header.Name.ValueStringPointer(), - Value: header.Value.ValueStringPointer(), - }) - } - customResponse.ResponseHeaders = headers - blockAction.CustomResponse = customResponse - } - } - ruleAction.Block = blockAction - } - } else if !actionToUse.Captcha.IsNull() && !actionToUse.Captcha.IsUnknown() { - captchaList, diags := actionToUse.Captcha.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - if len(captchaList) > 0 { - captchaAction := &awstypes.CaptchaAction{} - if !captchaList[0].CustomRequestHandling.IsNull() && !captchaList[0].CustomRequestHandling.IsUnknown() { - customHandlingList, diags := captchaList[0].CustomRequestHandling.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - if len(customHandlingList) > 0 { - insertHeaderList, diags := customHandlingList[0].InsertHeader.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - var headers []awstypes.CustomHTTPHeader - for _, header := range insertHeaderList { - headers = append(headers, awstypes.CustomHTTPHeader{ - Name: header.Name.ValueStringPointer(), - Value: header.Value.ValueStringPointer(), - }) - } - captchaAction.CustomRequestHandling = &awstypes.CustomRequestHandling{ - InsertHeaders: headers, - } - } - } - ruleAction.Captcha = captchaAction - } - } else if !actionToUse.Challenge.IsNull() && !actionToUse.Challenge.IsUnknown() { - challengeList, diags := actionToUse.Challenge.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - if len(challengeList) > 0 { - challengeAction := &awstypes.ChallengeAction{} - if !challengeList[0].CustomRequestHandling.IsNull() && !challengeList[0].CustomRequestHandling.IsUnknown() { - customHandlingList, diags := challengeList[0].CustomRequestHandling.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - if len(customHandlingList) > 0 { - insertHeaderList, diags := customHandlingList[0].InsertHeader.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - var headers []awstypes.CustomHTTPHeader - for _, header := range insertHeaderList { - headers = append(headers, awstypes.CustomHTTPHeader{ - Name: header.Name.ValueStringPointer(), - Value: header.Value.ValueStringPointer(), - }) - } - challengeAction.CustomRequestHandling = &awstypes.CustomRequestHandling{ - InsertHeaders: headers, - } - } - } - ruleAction.Challenge = challengeAction - } - } else if !actionToUse.Count.IsNull() && !actionToUse.Count.IsUnknown() { - countList, diags := actionToUse.Count.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - if len(countList) > 0 { - countAction := &awstypes.CountAction{} - if !countList[0].CustomRequestHandling.IsNull() && !countList[0].CustomRequestHandling.IsUnknown() { - customHandlingList, diags := countList[0].CustomRequestHandling.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - if len(customHandlingList) > 0 { - insertHeaderList, diags := customHandlingList[0].InsertHeader.ToSlice(ctx) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - var headers []awstypes.CustomHTTPHeader - for _, header := range insertHeaderList { - headers = append(headers, awstypes.CustomHTTPHeader{ - Name: header.Name.ValueStringPointer(), - Value: header.Value.ValueStringPointer(), - }) - } - countAction.CustomRequestHandling = &awstypes.CustomRequestHandling{ - InsertHeaders: headers, - } - } - } - ruleAction.Count = countAction - } - } - - overrides = append(overrides, awstypes.RuleActionOverride{ - Name: override.Name.ValueStringPointer(), - ActionToUse: ruleAction, - }) - } - } - - // Update the rule group reference statement with new overrides - if webACL.WebACL.Rules[i].Statement != nil && webACL.WebACL.Rules[i].Statement.RuleGroupReferenceStatement != nil { - webACL.WebACL.Rules[i].Statement.RuleGroupReferenceStatement.RuleActionOverrides = overrides - } - } else { - // Clear rule action overrides if not specified - if webACL.WebACL.Rules[i].Statement != nil && webACL.WebACL.Rules[i].Statement.RuleGroupReferenceStatement != nil { - webACL.WebACL.Rules[i].Statement.RuleGroupReferenceStatement.RuleActionOverrides = nil - } + // Update the rule group reference statement with new overrides + if webACL.WebACL.Rules[i].Statement != nil && webACL.WebACL.Rules[i].Statement.RuleGroupReferenceStatement != nil { + webACL.WebACL.Rules[i].Statement.RuleGroupReferenceStatement.RuleActionOverrides = overrides } break From f877c11446712a2e5febc128223fd69789ee0eab Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Tue, 29 Jul 2025 12:14:02 -0400 Subject: [PATCH 0618/1301] Use autoflex to flatten --- .../wafv2/web_acl_rule_group_association.go | 109 +----------------- 1 file changed, 4 insertions(+), 105 deletions(-) diff --git a/internal/service/wafv2/web_acl_rule_group_association.go b/internal/service/wafv2/web_acl_rule_group_association.go index 54b29b2d3d63..1e8adeb4985f 100644 --- a/internal/service/wafv2/web_acl_rule_group_association.go +++ b/internal/service/wafv2/web_acl_rule_group_association.go @@ -596,113 +596,12 @@ func (r *resourceWebACLRuleGroupAssociation) Read(ctx context.Context, req resou } state.OverrideAction = types.StringValue(overrideAction) - // Handle rule action overrides + // Handle rule action overrides with autoflex if rule.Statement.RuleGroupReferenceStatement.RuleActionOverrides != nil { - var ruleActionOverrides []*ruleActionOverrideModel - for _, override := range rule.Statement.RuleGroupReferenceStatement.RuleActionOverrides { - overrideModel := &ruleActionOverrideModel{ - Name: types.StringValue(aws.ToString(override.Name)), - } - - // Convert the action to use - if override.ActionToUse != nil { - actionToUse := &actionToUseModel{ - Allow: fwtypes.NewListNestedObjectValueOfNull[allowActionModel](ctx), - Block: fwtypes.NewListNestedObjectValueOfNull[blockActionModel](ctx), - Captcha: fwtypes.NewListNestedObjectValueOfNull[captchaActionModel](ctx), - Challenge: fwtypes.NewListNestedObjectValueOfNull[challengeActionModel](ctx), - Count: fwtypes.NewListNestedObjectValueOfNull[countActionModel](ctx), - } - if override.ActionToUse.Allow != nil { - allowModel := &allowActionModel{} - if override.ActionToUse.Allow.CustomRequestHandling != nil { - customHandlingModel := &customRequestHandlingModel{} - var insertHeaders []*insertHeaderModel - for _, header := range override.ActionToUse.Allow.CustomRequestHandling.InsertHeaders { - insertHeaders = append(insertHeaders, &insertHeaderModel{ - Name: types.StringValue(aws.ToString(header.Name)), - Value: types.StringValue(aws.ToString(header.Value)), - }) - } - customHandlingModel.InsertHeader = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, insertHeaders) - allowModel.CustomRequestHandling = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, []*customRequestHandlingModel{customHandlingModel}) - } - actionToUse.Allow = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, []*allowActionModel{allowModel}) - } else if override.ActionToUse.Block != nil { - blockModel := &blockActionModel{} - if override.ActionToUse.Block.CustomResponse != nil { - customResponse := &customResponseModel{ - ResponseCode: types.Int32Value(aws.ToInt32(override.ActionToUse.Block.CustomResponse.ResponseCode)), - } - if override.ActionToUse.Block.CustomResponse.CustomResponseBodyKey != nil { - customResponse.CustomResponseBodyKey = types.StringValue(aws.ToString(override.ActionToUse.Block.CustomResponse.CustomResponseBodyKey)) - } - var responseHeaders []*responseHeaderModel - for _, header := range override.ActionToUse.Block.CustomResponse.ResponseHeaders { - responseHeaders = append(responseHeaders, &responseHeaderModel{ - Name: types.StringValue(aws.ToString(header.Name)), - Value: types.StringValue(aws.ToString(header.Value)), - }) - } - customResponse.ResponseHeader = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, responseHeaders) - blockModel.CustomResponse = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, []*customResponseModel{customResponse}) - } - actionToUse.Block = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, []*blockActionModel{blockModel}) - } else if override.ActionToUse.Captcha != nil { - captchaModel := &captchaActionModel{} - if override.ActionToUse.Captcha.CustomRequestHandling != nil { - customHandlingModel := &customRequestHandlingModel{} - var insertHeaders []*insertHeaderModel - for _, header := range override.ActionToUse.Captcha.CustomRequestHandling.InsertHeaders { - insertHeaders = append(insertHeaders, &insertHeaderModel{ - Name: types.StringValue(aws.ToString(header.Name)), - Value: types.StringValue(aws.ToString(header.Value)), - }) - } - customHandlingModel.InsertHeader = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, insertHeaders) - captchaModel.CustomRequestHandling = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, []*customRequestHandlingModel{customHandlingModel}) - } - actionToUse.Captcha = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, []*captchaActionModel{captchaModel}) - } else if override.ActionToUse.Challenge != nil { - challengeModel := &challengeActionModel{} - if override.ActionToUse.Challenge.CustomRequestHandling != nil { - customHandlingModel := &customRequestHandlingModel{} - var insertHeaders []*insertHeaderModel - for _, header := range override.ActionToUse.Challenge.CustomRequestHandling.InsertHeaders { - insertHeaders = append(insertHeaders, &insertHeaderModel{ - Name: types.StringValue(aws.ToString(header.Name)), - Value: types.StringValue(aws.ToString(header.Value)), - }) - } - customHandlingModel.InsertHeader = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, insertHeaders) - challengeModel.CustomRequestHandling = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, []*customRequestHandlingModel{customHandlingModel}) - } - actionToUse.Challenge = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, []*challengeActionModel{challengeModel}) - } else if override.ActionToUse.Count != nil { - countModel := &countActionModel{} - if override.ActionToUse.Count.CustomRequestHandling != nil { - customHandlingModel := &customRequestHandlingModel{} - var insertHeaders []*insertHeaderModel - for _, header := range override.ActionToUse.Count.CustomRequestHandling.InsertHeaders { - insertHeaders = append(insertHeaders, &insertHeaderModel{ - Name: types.StringValue(aws.ToString(header.Name)), - Value: types.StringValue(aws.ToString(header.Value)), - }) - } - customHandlingModel.InsertHeader = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, insertHeaders) - countModel.CustomRequestHandling = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, []*customRequestHandlingModel{customHandlingModel}) - } - actionToUse.Count = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, []*countActionModel{countModel}) - } - - overrideModel.ActionToUse = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, []*actionToUseModel{actionToUse}) - } else { - // If ActionToUse is nil, set it to null - overrideModel.ActionToUse = fwtypes.NewListNestedObjectValueOfNull[actionToUseModel](ctx) - } - ruleActionOverrides = append(ruleActionOverrides, overrideModel) + resp.Diagnostics.Append(fwflex.Flatten(ctx, rule.Statement.RuleGroupReferenceStatement.RuleActionOverrides, &state.RuleActionOverride)...) + if resp.Diagnostics.HasError() { + return } - state.RuleActionOverride = fwtypes.NewListNestedObjectValueOfSliceMust(ctx, ruleActionOverrides) } else { state.RuleActionOverride = fwtypes.NewListNestedObjectValueOfNull[ruleActionOverrideModel](ctx) } From 6c6116845d03c3e631281a0129f25e2c45f3f59a Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Tue, 29 Jul 2025 12:36:56 -0400 Subject: [PATCH 0619/1301] Add quick-fixes target --- GNUmakefile | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/GNUmakefile b/GNUmakefile index ac38b29b4ead..666f885c79ef 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -383,6 +383,9 @@ provider-lint: ## [CI] ProviderLint Checks / providerlint -XS002=false \ $(SVC_DIR)/... ./internal/provider/... +quick-fix: fmt testacc-lint-fix fix-imports modern-fix semgrep-fix ## Some quick fixes + @echo "make: Quick fixes..." + provider-markdown-lint: ## [CI] Provider Check / markdown-lint @echo "make: Provider Check / markdown-lint..." @docker run --rm \ @@ -885,45 +888,45 @@ yamllint: ## [CI] YAML Linting / yamllint acctest-lint \ build \ changelog-misspell \ - ci-quick \ ci \ + ci-quick \ + clean \ clean-go \ clean-make-tests \ clean-tidy \ - clean \ copyright \ default \ deps-check \ + docs \ docs-check \ docs-link-check \ - docs-lint-fix \ docs-lint \ + docs-lint-fix \ docs-markdown-lint \ docs-misspell \ - docs \ examples-tflint \ fix-constants \ fix-imports \ - fmt-check \ fmt \ + fmt-check \ fumpt \ - gen-check \ gen \ + gen-check \ generate-changelog \ gh-workflows-lint \ go-build \ go-misspell \ + golangci-lint \ golangci-lint1 \ golangci-lint2 \ golangci-lint3 \ golangci-lint4 \ golangci-lint5 \ - golangci-lint \ help \ import-lint \ install \ - lint-fix \ lint \ + lint-fix \ misspell \ modern-check \ modern-fix \ @@ -931,37 +934,38 @@ yamllint: ## [CI] YAML Linting / yamllint prereq-go \ provider-lint \ provider-markdown-lint \ + quick-fix \ sane \ sanity \ + semgrep \ semgrep-all \ semgrep-code-quality \ semgrep-constants \ semgrep-docker \ semgrep-fix \ - semgrep-naming-cae \ semgrep-naming \ + semgrep-naming-cae \ semgrep-service-naming \ semgrep-validate \ semgrep-vcr \ - semgrep \ - skaff-check-compile \ skaff \ + skaff-check-compile \ smoke \ sweep \ + sweeper \ sweeper-check \ sweeper-linked \ sweeper-unlinked \ - sweeper \ t \ - test-compile \ test \ - testacc-lint-fix \ + test-compile \ + testacc \ testacc-lint \ + testacc-lint-fix \ testacc-short \ testacc-tflint \ testacc-tflint-dir \ testacc-tflint-embedded \ - testacc \ tflint-init \ tfproviderdocs \ tfsdk2fw \ @@ -969,15 +973,15 @@ yamllint: ## [CI] YAML Linting / yamllint ts \ update \ vcr-enable \ + website \ + website-link-check \ website-link-check-ghrc \ website-link-check-markdown \ website-link-check-md \ - website-link-check \ - website-lint-fix \ website-lint \ + website-lint-fix \ website-markdown-lint \ website-misspell \ website-terrafmt \ website-tflint \ - website \ yamllint From 0ee55d0854bd51339b7b919f6627a95af83a4d95 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Tue, 29 Jul 2025 12:37:08 -0400 Subject: [PATCH 0620/1301] Use constants --- .../wafv2/web_acl_rule_group_association.go | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/internal/service/wafv2/web_acl_rule_group_association.go b/internal/service/wafv2/web_acl_rule_group_association.go index 1e8adeb4985f..456849c25eea 100644 --- a/internal/service/wafv2/web_acl_rule_group_association.go +++ b/internal/service/wafv2/web_acl_rule_group_association.go @@ -37,6 +37,8 @@ import ( const ( webACLRuleGroupAssociationResourceIDPartCount = 3 + overrideActionNone = "none" + overrideActionCount = "count" ) // Function annotations are used for resource registration to the Provider. DO NOT EDIT. @@ -107,7 +109,7 @@ func (r *resourceWebACLRuleGroupAssociation) Schema(ctx context.Context, req res stringplanmodifier.UseStateForUnknown(), }, Validators: []validator.String{ - stringvalidator.OneOf("none", "count"), + stringvalidator.OneOf(overrideActionNone, overrideActionCount), }, Description: "Override action for the rule group. Valid values are 'none' and 'count'. Defaults to 'none'.", }, @@ -454,16 +456,16 @@ func (r *resourceWebACLRuleGroupAssociation) Create(ctx context.Context, req res // Set override action overrideAction := plan.OverrideAction.ValueString() if overrideAction == "" { - overrideAction = "none" - plan.OverrideAction = types.StringValue("none") // Set the default in the plan + overrideAction = overrideActionNone + plan.OverrideAction = types.StringValue(overrideActionNone) // Set the default in the plan } switch overrideAction { - case "none": + case overrideActionNone: newRule.OverrideAction = &awstypes.OverrideAction{ None: &awstypes.NoneAction{}, } - case "count": + case overrideActionCount: newRule.OverrideAction = &awstypes.OverrideAction{ Count: &awstypes.CountAction{}, } @@ -586,12 +588,12 @@ func (r *resourceWebACLRuleGroupAssociation) Read(ctx context.Context, req resou state.Priority = types.Int32Value(rule.Priority) // Determine override action - overrideAction := "none" + overrideAction := overrideActionNone if rule.OverrideAction != nil { if rule.OverrideAction.Count != nil { - overrideAction = "count" + overrideAction = overrideActionCount } else if rule.OverrideAction.None != nil { - overrideAction = "none" + overrideAction = overrideActionNone } } state.OverrideAction = types.StringValue(overrideAction) @@ -670,15 +672,15 @@ func (r *resourceWebACLRuleGroupAssociation) Update(ctx context.Context, req res // Update override action overrideAction := plan.OverrideAction.ValueString() if overrideAction == "" { - overrideAction = "none" // Default value + overrideAction = overrideActionNone // Default value } switch overrideAction { - case "none": + case overrideActionNone: webACL.WebACL.Rules[i].OverrideAction = &awstypes.OverrideAction{ None: &awstypes.NoneAction{}, } - case "count": + case overrideActionCount: webACL.WebACL.Rules[i].OverrideAction = &awstypes.OverrideAction{ Count: &awstypes.CountAction{}, } From 7e309d9345b70e93ad78214036be022856a2e691 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Wed, 30 Jul 2025 10:47:40 -0400 Subject: [PATCH 0621/1301] Move rule_action_override to a var --- .../wafv2/web_acl_rule_group_association.go | 503 +++++++++--------- 1 file changed, 252 insertions(+), 251 deletions(-) diff --git a/internal/service/wafv2/web_acl_rule_group_association.go b/internal/service/wafv2/web_acl_rule_group_association.go index 456849c25eea..22c1eb3a753b 100644 --- a/internal/service/wafv2/web_acl_rule_group_association.go +++ b/internal/service/wafv2/web_acl_rule_group_association.go @@ -62,121 +62,61 @@ type resourceWebACLRuleGroupAssociation struct { } func (r *resourceWebACLRuleGroupAssociation) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { - resp.Schema = schema.Schema{ - Attributes: map[string]schema.Attribute{ - names.AttrID: framework.IDAttribute(), - "rule_name": schema.StringAttribute{ - Required: true, - PlanModifiers: []planmodifier.String{ - stringplanmodifier.RequiresReplace(), - }, - Validators: []validator.String{ - stringvalidator.LengthBetween(1, 128), - }, - Description: "Name of the rule to create in the Web ACL that references the rule group.", - }, - names.AttrPriority: schema.Int32Attribute{ - Required: true, - Validators: []validator.Int32{ - int32validator.AtLeast(0), - }, - Description: "Priority of the rule within the Web ACL.", - }, - "rule_group_arn": schema.StringAttribute{ - Required: true, - PlanModifiers: []planmodifier.String{ - stringplanmodifier.RequiresReplace(), - }, - Validators: []validator.String{ - fwvalidators.ARN(), - }, - Description: "ARN of the Rule Group to associate with the Web ACL.", - }, - "web_acl_arn": schema.StringAttribute{ - Required: true, - PlanModifiers: []planmodifier.String{ - stringplanmodifier.RequiresReplace(), - }, - Validators: []validator.String{ - fwvalidators.ARN(), - }, - Description: "ARN of the Web ACL to associate the Rule Group with.", - }, - "override_action": schema.StringAttribute{ - Optional: true, - Computed: true, - PlanModifiers: []planmodifier.String{ - stringplanmodifier.UseStateForUnknown(), - }, - Validators: []validator.String{ - stringvalidator.OneOf(overrideActionNone, overrideActionCount), - }, - Description: "Override action for the rule group. Valid values are 'none' and 'count'. Defaults to 'none'.", - }, + ruleActionOverrideLNB := schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[ruleActionOverrideModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(100), }, - Blocks: map[string]schema.Block{ - names.AttrTimeouts: timeouts.Block(ctx, timeouts.Opts{ - Create: true, - Update: true, - Delete: true, - }), - "rule_action_override": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[ruleActionOverrideModel](ctx), - Validators: []validator.List{ - listvalidator.SizeAtMost(100), + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + names.AttrName: schema.StringAttribute{ + Required: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 128), + }, + Description: "Name of the rule to override.", }, - NestedObject: schema.NestedBlockObject{ - Attributes: map[string]schema.Attribute{ - names.AttrName: schema.StringAttribute{ - Required: true, - Validators: []validator.String{ - stringvalidator.LengthBetween(1, 128), - }, - Description: "Name of the rule to override.", - }, + }, + Blocks: map[string]schema.Block{ + "action_to_use": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[actionToUseModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + listvalidator.SizeAtLeast(1), }, - Blocks: map[string]schema.Block{ - "action_to_use": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[actionToUseModel](ctx), - Validators: []validator.List{ - listvalidator.SizeAtMost(1), - listvalidator.SizeAtLeast(1), - }, - NestedObject: schema.NestedBlockObject{ - Blocks: map[string]schema.Block{ - "allow": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[allowActionModel](ctx), - Validators: []validator.List{ - listvalidator.SizeAtMost(1), - }, - NestedObject: schema.NestedBlockObject{ - Blocks: map[string]schema.Block{ - "custom_request_handling": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[customRequestHandlingModel](ctx), - Validators: []validator.List{ - listvalidator.SizeAtMost(1), - }, - NestedObject: schema.NestedBlockObject{ - Blocks: map[string]schema.Block{ - "insert_header": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[insertHeaderModel](ctx), - Validators: []validator.List{ - listvalidator.SizeAtLeast(1), + NestedObject: schema.NestedBlockObject{ + Blocks: map[string]schema.Block{ + "allow": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[allowActionModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Blocks: map[string]schema.Block{ + "custom_request_handling": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[customRequestHandlingModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Blocks: map[string]schema.Block{ + "insert_header": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[insertHeaderModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtLeast(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + names.AttrName: schema.StringAttribute{ + Required: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 64), + }, }, - NestedObject: schema.NestedBlockObject{ - Attributes: map[string]schema.Attribute{ - names.AttrName: schema.StringAttribute{ - Required: true, - Validators: []validator.String{ - stringvalidator.LengthBetween(1, 64), - }, - }, - names.AttrValue: schema.StringAttribute{ - Required: true, - Validators: []validator.String{ - stringvalidator.LengthBetween(1, 255), - }, - }, + names.AttrValue: schema.StringAttribute{ + Required: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 255), }, }, }, @@ -186,50 +126,50 @@ func (r *resourceWebACLRuleGroupAssociation) Schema(ctx context.Context, req res }, }, }, - "block": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[blockActionModel](ctx), - Validators: []validator.List{ - listvalidator.SizeAtMost(1), - }, - NestedObject: schema.NestedBlockObject{ - Blocks: map[string]schema.Block{ - "custom_response": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[customResponseModel](ctx), - Validators: []validator.List{ - listvalidator.SizeAtMost(1), + }, + }, + "block": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[blockActionModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Blocks: map[string]schema.Block{ + "custom_response": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[customResponseModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "custom_response_body_key": schema.StringAttribute{ + Optional: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 128), + }, }, - NestedObject: schema.NestedBlockObject{ - Attributes: map[string]schema.Attribute{ - "custom_response_body_key": schema.StringAttribute{ - Optional: true, - Validators: []validator.String{ - stringvalidator.LengthBetween(1, 128), - }, - }, - "response_code": schema.Int32Attribute{ - Required: true, - Validators: []validator.Int32{ - int32validator.Between(200, 600), - }, - }, + "response_code": schema.Int32Attribute{ + Required: true, + Validators: []validator.Int32{ + int32validator.Between(200, 600), }, - Blocks: map[string]schema.Block{ - "response_header": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[responseHeaderModel](ctx), - NestedObject: schema.NestedBlockObject{ - Attributes: map[string]schema.Attribute{ - names.AttrName: schema.StringAttribute{ - Required: true, - Validators: []validator.String{ - stringvalidator.LengthBetween(1, 64), - }, - }, - names.AttrValue: schema.StringAttribute{ - Required: true, - Validators: []validator.String{ - stringvalidator.LengthBetween(1, 255), - }, - }, + }, + }, + Blocks: map[string]schema.Block{ + "response_header": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[responseHeaderModel](ctx), + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + names.AttrName: schema.StringAttribute{ + Required: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 64), + }, + }, + names.AttrValue: schema.StringAttribute{ + Required: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 255), }, }, }, @@ -239,39 +179,39 @@ func (r *resourceWebACLRuleGroupAssociation) Schema(ctx context.Context, req res }, }, }, - "captcha": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[captchaActionModel](ctx), - Validators: []validator.List{ - listvalidator.SizeAtMost(1), - }, - NestedObject: schema.NestedBlockObject{ - Blocks: map[string]schema.Block{ - "custom_request_handling": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[customRequestHandlingModel](ctx), - Validators: []validator.List{ - listvalidator.SizeAtMost(1), - }, - NestedObject: schema.NestedBlockObject{ - Blocks: map[string]schema.Block{ - "insert_header": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[insertHeaderModel](ctx), - Validators: []validator.List{ - listvalidator.SizeAtLeast(1), + }, + }, + "captcha": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[captchaActionModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Blocks: map[string]schema.Block{ + "custom_request_handling": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[customRequestHandlingModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Blocks: map[string]schema.Block{ + "insert_header": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[insertHeaderModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtLeast(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + names.AttrName: schema.StringAttribute{ + Required: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 64), + }, }, - NestedObject: schema.NestedBlockObject{ - Attributes: map[string]schema.Attribute{ - names.AttrName: schema.StringAttribute{ - Required: true, - Validators: []validator.String{ - stringvalidator.LengthBetween(1, 64), - }, - }, - names.AttrValue: schema.StringAttribute{ - Required: true, - Validators: []validator.String{ - stringvalidator.LengthBetween(1, 255), - }, - }, + names.AttrValue: schema.StringAttribute{ + Required: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 255), }, }, }, @@ -281,39 +221,39 @@ func (r *resourceWebACLRuleGroupAssociation) Schema(ctx context.Context, req res }, }, }, - "challenge": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[challengeActionModel](ctx), - Validators: []validator.List{ - listvalidator.SizeAtMost(1), - }, - NestedObject: schema.NestedBlockObject{ - Blocks: map[string]schema.Block{ - "custom_request_handling": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[customRequestHandlingModel](ctx), - Validators: []validator.List{ - listvalidator.SizeAtMost(1), - }, - NestedObject: schema.NestedBlockObject{ - Blocks: map[string]schema.Block{ - "insert_header": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[insertHeaderModel](ctx), - Validators: []validator.List{ - listvalidator.SizeAtLeast(1), + }, + }, + "challenge": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[challengeActionModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Blocks: map[string]schema.Block{ + "custom_request_handling": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[customRequestHandlingModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Blocks: map[string]schema.Block{ + "insert_header": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[insertHeaderModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtLeast(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + names.AttrName: schema.StringAttribute{ + Required: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 64), + }, }, - NestedObject: schema.NestedBlockObject{ - Attributes: map[string]schema.Attribute{ - names.AttrName: schema.StringAttribute{ - Required: true, - Validators: []validator.String{ - stringvalidator.LengthBetween(1, 64), - }, - }, - names.AttrValue: schema.StringAttribute{ - Required: true, - Validators: []validator.String{ - stringvalidator.LengthBetween(1, 255), - }, - }, + names.AttrValue: schema.StringAttribute{ + Required: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 255), }, }, }, @@ -323,39 +263,39 @@ func (r *resourceWebACLRuleGroupAssociation) Schema(ctx context.Context, req res }, }, }, - "count": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[countActionModel](ctx), - Validators: []validator.List{ - listvalidator.SizeAtMost(1), - }, - NestedObject: schema.NestedBlockObject{ - Blocks: map[string]schema.Block{ - "custom_request_handling": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[customRequestHandlingModel](ctx), - Validators: []validator.List{ - listvalidator.SizeAtMost(1), - }, - NestedObject: schema.NestedBlockObject{ - Blocks: map[string]schema.Block{ - "insert_header": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[insertHeaderModel](ctx), - Validators: []validator.List{ - listvalidator.SizeAtLeast(1), + }, + }, + "count": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[countActionModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Blocks: map[string]schema.Block{ + "custom_request_handling": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[customRequestHandlingModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Blocks: map[string]schema.Block{ + "insert_header": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[insertHeaderModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtLeast(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + names.AttrName: schema.StringAttribute{ + Required: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 64), + }, }, - NestedObject: schema.NestedBlockObject{ - Attributes: map[string]schema.Attribute{ - names.AttrName: schema.StringAttribute{ - Required: true, - Validators: []validator.String{ - stringvalidator.LengthBetween(1, 64), - }, - }, - names.AttrValue: schema.StringAttribute{ - Required: true, - Validators: []validator.String{ - stringvalidator.LengthBetween(1, 255), - }, - }, + names.AttrValue: schema.StringAttribute{ + Required: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 255), }, }, }, @@ -367,13 +307,74 @@ func (r *resourceWebACLRuleGroupAssociation) Schema(ctx context.Context, req res }, }, }, - Description: "Action to use in place of the rule action.", }, }, + Description: "Action to use in place of the rule action.", }, - Description: "Action settings to use in place of rule actions configured inside the rule group. You can specify up to 100 overrides.", }, }, + Description: "Action settings to use in place of rule actions configured inside the rule group. You can specify up to 100 overrides.", + } + resp.Schema = schema.Schema{ + Attributes: map[string]schema.Attribute{ + names.AttrID: framework.IDAttribute(), + "rule_name": schema.StringAttribute{ + Required: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplace(), + }, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 128), + }, + Description: "Name of the rule to create in the Web ACL that references the rule group.", + }, + names.AttrPriority: schema.Int32Attribute{ + Required: true, + Validators: []validator.Int32{ + int32validator.AtLeast(0), + }, + Description: "Priority of the rule within the Web ACL.", + }, + "rule_group_arn": schema.StringAttribute{ + Required: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplace(), + }, + Validators: []validator.String{ + fwvalidators.ARN(), + }, + Description: "ARN of the Rule Group to associate with the Web ACL.", + }, + "web_acl_arn": schema.StringAttribute{ + Required: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplace(), + }, + Validators: []validator.String{ + fwvalidators.ARN(), + }, + Description: "ARN of the Web ACL to associate the Rule Group with.", + }, + "override_action": schema.StringAttribute{ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.UseStateForUnknown(), + }, + Validators: []validator.String{ + stringvalidator.OneOf(overrideActionNone, overrideActionCount), + }, + Description: "Override action for the rule group. Valid values are 'none' and 'count'. Defaults to 'none'.", + }, + }, + Blocks: map[string]schema.Block{ + "rule_action_override": ruleActionOverrideLNB, + names.AttrTimeouts: timeouts.Block(ctx, timeouts.Opts{ + Create: true, + Update: true, + Delete: true, + }), + }, Description: "Associates a WAFv2 Rule Group with a Web ACL by adding a rule that references the Rule Group.", } } From aa4fa4029cd0ee58f5340677892afdeee3b61a0c Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Wed, 30 Jul 2025 12:16:03 -0400 Subject: [PATCH 0622/1301] Refactor to rule_group_reference block --- .../wafv2/web_acl_rule_group_association.go | 144 +++++++++--- .../web_acl_rule_group_association_test.go | 207 +++++++++--------- ...b_acl_rule_group_association.html.markdown | 82 ++++--- 3 files changed, 260 insertions(+), 173 deletions(-) diff --git a/internal/service/wafv2/web_acl_rule_group_association.go b/internal/service/wafv2/web_acl_rule_group_association.go index 22c1eb3a753b..0379c61ed9d4 100644 --- a/internal/service/wafv2/web_acl_rule_group_association.go +++ b/internal/service/wafv2/web_acl_rule_group_association.go @@ -23,6 +23,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" "github.com/hashicorp/terraform-plugin-framework/schema/validator" "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-framework/types/basetypes" "github.com/hashicorp/terraform-provider-aws/internal/create" "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" "github.com/hashicorp/terraform-provider-aws/internal/flex" @@ -335,16 +336,6 @@ func (r *resourceWebACLRuleGroupAssociation) Schema(ctx context.Context, req res }, Description: "Priority of the rule within the Web ACL.", }, - "rule_group_arn": schema.StringAttribute{ - Required: true, - PlanModifiers: []planmodifier.String{ - stringplanmodifier.RequiresReplace(), - }, - Validators: []validator.String{ - fwvalidators.ARN(), - }, - Description: "ARN of the Rule Group to associate with the Web ACL.", - }, "web_acl_arn": schema.StringAttribute{ Required: true, PlanModifiers: []planmodifier.String{ @@ -368,7 +359,31 @@ func (r *resourceWebACLRuleGroupAssociation) Schema(ctx context.Context, req res }, }, Blocks: map[string]schema.Block{ - "rule_action_override": ruleActionOverrideLNB, + "rule_group_reference": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[ruleGroupReferenceModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + listvalidator.SizeAtLeast(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + names.AttrARN: schema.StringAttribute{ + Required: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplace(), + }, + Validators: []validator.String{ + fwvalidators.ARN(), + }, + Description: "ARN of the Rule Group to associate with the Web ACL.", + }, + }, + Blocks: map[string]schema.Block{ + "rule_action_override": ruleActionOverrideLNB, + }, + }, + Description: "Rule Group reference configuration.", + }, names.AttrTimeouts: timeouts.Block(ctx, timeouts.Opts{ Create: true, Update: true, @@ -426,19 +441,43 @@ func (r *resourceWebACLRuleGroupAssociation) Create(ctx context.Context, req res } } + // Get rule group ARN from the nested structure + var ruleGroupARN string + var ruleActionOverrides []awstypes.RuleActionOverride + if !plan.RuleGroupReference.IsNull() && !plan.RuleGroupReference.IsUnknown() { + ruleGroupRefs := plan.RuleGroupReference.Elements() + if len(ruleGroupRefs) > 0 { + var ruleGroupRefModel ruleGroupReferenceModel + resp.Diagnostics.Append(ruleGroupRefs[0].(fwtypes.ObjectValueOf[ruleGroupReferenceModel]).As(ctx, &ruleGroupRefModel, basetypes.ObjectAsOptions{})...) + if resp.Diagnostics.HasError() { + return + } + ruleGroupARN = ruleGroupRefModel.ARN.ValueString() + + // Add rule action overrides if specified + if !ruleGroupRefModel.RuleActionOverride.IsNull() && !ruleGroupRefModel.RuleActionOverride.IsUnknown() { + resp.Diagnostics.Append(fwflex.Expand(ctx, ruleGroupRefModel.RuleActionOverride, &ruleActionOverrides)...) + if resp.Diagnostics.HasError() { + return + } + } + } + } + + if ruleGroupARN == "" { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.WAFV2, create.ErrActionCreating, ResNameWebACLRuleGroupAssociation, plan.RuleName.String(), nil), + "rule_group_reference block is required", + ) + return + } + // Create new rule with rule group reference statement ruleGroupRefStatement := &awstypes.RuleGroupReferenceStatement{ - ARN: plan.RuleGroupARN.ValueStringPointer(), + ARN: aws.String(ruleGroupARN), } - // Add rule action overrides if specified - var ruleActionOverrides []awstypes.RuleActionOverride - if !plan.RuleActionOverride.IsNull() && !plan.RuleActionOverride.IsUnknown() { - resp.Diagnostics.Append(fwflex.Expand(ctx, plan.RuleActionOverride, &ruleActionOverrides)...) - if resp.Diagnostics.HasError() { - return - } - } + // Set rule action overrides ruleGroupRefStatement.RuleActionOverrides = ruleActionOverrides newRule := awstypes.Rule{ @@ -514,7 +553,7 @@ func (r *resourceWebACLRuleGroupAssociation) Create(ctx context.Context, req res id, err := flex.FlattenResourceId([]string{ plan.WebACLARN.ValueString(), plan.RuleName.ValueString(), - plan.RuleGroupARN.ValueString(), + ruleGroupARN, }, webACLRuleGroupAssociationResourceIDPartCount, false) if err != nil { resp.Diagnostics.AddError( @@ -600,14 +639,28 @@ func (r *resourceWebACLRuleGroupAssociation) Read(ctx context.Context, req resou state.OverrideAction = types.StringValue(overrideAction) // Handle rule action overrides with autoflex + var ruleActionOverrides fwtypes.ListNestedObjectValueOf[ruleActionOverrideModel] if rule.Statement.RuleGroupReferenceStatement.RuleActionOverrides != nil { - resp.Diagnostics.Append(fwflex.Flatten(ctx, rule.Statement.RuleGroupReferenceStatement.RuleActionOverrides, &state.RuleActionOverride)...) + resp.Diagnostics.Append(fwflex.Flatten(ctx, rule.Statement.RuleGroupReferenceStatement.RuleActionOverrides, &ruleActionOverrides)...) if resp.Diagnostics.HasError() { return } } else { - state.RuleActionOverride = fwtypes.NewListNestedObjectValueOfNull[ruleActionOverrideModel](ctx) + ruleActionOverrides = fwtypes.NewListNestedObjectValueOfNull[ruleActionOverrideModel](ctx) + } + + // Set the rule group reference nested structure with rule action overrides + ruleGroupRefModel := ruleGroupReferenceModel{ + ARN: types.StringValue(ruleGroupARN), + RuleActionOverride: ruleActionOverrides, + } + + listValue, diags := fwtypes.NewListNestedObjectValueOfSlice(ctx, []*ruleGroupReferenceModel{&ruleGroupRefModel}, nil) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return } + state.RuleGroupReference = listValue break } } @@ -623,7 +676,6 @@ func (r *resourceWebACLRuleGroupAssociation) Read(ctx context.Context, req resou // Update state with current values state.WebACLARN = types.StringValue(webACLARN) - state.RuleGroupARN = types.StringValue(ruleGroupARN) state.RuleName = types.StringValue(ruleName) resp.Diagnostics.Append(resp.State.Set(ctx, &state)...) @@ -687,12 +739,23 @@ func (r *resourceWebACLRuleGroupAssociation) Update(ctx context.Context, req res } } - // Update rule action overrides + // Update rule action overrides from nested structure var overrides []awstypes.RuleActionOverride - if !plan.RuleActionOverride.IsNull() && !plan.RuleActionOverride.IsUnknown() { - resp.Diagnostics.Append(fwflex.Expand(ctx, plan.RuleActionOverride, &overrides)...) - if resp.Diagnostics.HasError() { - return + if !plan.RuleGroupReference.IsNull() && !plan.RuleGroupReference.IsUnknown() { + ruleGroupRefs := plan.RuleGroupReference.Elements() + if len(ruleGroupRefs) > 0 { + var ruleGroupRefModel ruleGroupReferenceModel + resp.Diagnostics.Append(ruleGroupRefs[0].(fwtypes.ObjectValueOf[ruleGroupReferenceModel]).As(ctx, &ruleGroupRefModel, basetypes.ObjectAsOptions{})...) + if resp.Diagnostics.HasError() { + return + } + + if !ruleGroupRefModel.RuleActionOverride.IsNull() && !ruleGroupRefModel.RuleActionOverride.IsUnknown() { + resp.Diagnostics.Append(fwflex.Expand(ctx, ruleGroupRefModel.RuleActionOverride, &overrides)...) + if resp.Diagnostics.HasError() { + return + } + } } } @@ -897,8 +960,21 @@ func (r *resourceWebACLRuleGroupAssociation) ImportState(ctx context.Context, re resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root(names.AttrID), id)...) resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("web_acl_arn"), webACLARN)...) - resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("rule_group_arn"), ruleGroupARN)...) resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("rule_name"), ruleName)...) + + // Set the rule group reference nested structure + ruleGroupRefModel := ruleGroupReferenceModel{ + ARN: types.StringValue(ruleGroupARN), + RuleActionOverride: fwtypes.NewListNestedObjectValueOfNull[ruleActionOverrideModel](ctx), + } + + listValue, diags := fwtypes.NewListNestedObjectValueOfSlice(ctx, []*ruleGroupReferenceModel{&ruleGroupRefModel}, nil) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("rule_group_reference"), listValue)...) } // parseWebACLARN extracts the Web ACL ID, name, and scope from the ARN @@ -938,13 +1014,17 @@ type resourceWebACLRuleGroupAssociationModel struct { ID types.String `tfsdk:"id"` RuleName types.String `tfsdk:"rule_name"` Priority types.Int32 `tfsdk:"priority"` - RuleGroupARN types.String `tfsdk:"rule_group_arn"` + RuleGroupReference fwtypes.ListNestedObjectValueOf[ruleGroupReferenceModel] `tfsdk:"rule_group_reference"` WebACLARN types.String `tfsdk:"web_acl_arn"` OverrideAction types.String `tfsdk:"override_action"` - RuleActionOverride fwtypes.ListNestedObjectValueOf[ruleActionOverrideModel] `tfsdk:"rule_action_override"` Timeouts timeouts.Value `tfsdk:"timeouts"` } +type ruleGroupReferenceModel struct { + ARN types.String `tfsdk:"arn"` + RuleActionOverride fwtypes.ListNestedObjectValueOf[ruleActionOverrideModel] `tfsdk:"rule_action_override"` +} + type ruleActionOverrideModel struct { Name types.String `tfsdk:"name"` ActionToUse fwtypes.ListNestedObjectValueOf[actionToUseModel] `tfsdk:"action_to_use"` diff --git a/internal/service/wafv2/web_acl_rule_group_association_test.go b/internal/service/wafv2/web_acl_rule_group_association_test.go index ef6d800a43a0..644bf8261af2 100644 --- a/internal/service/wafv2/web_acl_rule_group_association_test.go +++ b/internal/service/wafv2/web_acl_rule_group_association_test.go @@ -6,7 +6,6 @@ package wafv2_test import ( "context" "fmt" - "strings" "testing" "github.com/aws/aws-sdk-go-v2/aws" @@ -137,34 +136,6 @@ func TestParseWebACLARN(t *testing.T) { } } -func TestWebACLRuleGroupAssociationConfig_ruleActionOverride_syntax(t *testing.T) { - t.Parallel() - - // Test that the Terraform configuration syntax is valid - rName := "test-config" - config := testAccWebACLRuleGroupAssociationConfig_ruleActionOverride(rName) - - // Basic validation that the config contains expected elements - if !strings.Contains(config, "rule_action_override") { - t.Error("Configuration should contain rule_action_override block") - } - if !strings.Contains(config, "action_to_use") { - t.Error("Configuration should contain action_to_use block") - } - if !strings.Contains(config, "custom_request_handling") { - t.Error("Configuration should contain custom_request_handling block") - } - if !strings.Contains(config, "custom_response") { - t.Error("Configuration should contain custom_response block") - } - if !strings.Contains(config, "insert_header") { - t.Error("Configuration should contain insert_header block") - } - if !strings.Contains(config, "response_header") { - t.Error("Configuration should contain response_header block") - } -} - func TestAccWAFV2WebACLRuleGroupAssociation_basic(t *testing.T) { ctx := acctest.Context(t) var v wafv2.GetWebACLOutput @@ -187,7 +158,7 @@ func TestAccWAFV2WebACLRuleGroupAssociation_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, names.AttrPriority, "10"), resource.TestCheckResourceAttr(resourceName, "override_action", "none"), resource.TestCheckResourceAttrPair(resourceName, "web_acl_arn", webACLResourceName, names.AttrARN), - resource.TestCheckResourceAttrPair(resourceName, "rule_group_arn", ruleGroupResourceName, names.AttrARN), + resource.TestCheckResourceAttrPair(resourceName, "rule_group_reference.0.arn", ruleGroupResourceName, names.AttrARN), ), }, { @@ -263,22 +234,22 @@ func TestAccWAFV2WebACLRuleGroupAssociation_ruleActionOverride(t *testing.T) { Config: testAccWebACLRuleGroupAssociationConfig_ruleActionOverride(rName), Check: resource.ComposeTestCheckFunc( testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &v), - resource.TestCheckResourceAttr(resourceName, "rule_action_override.#", "2"), - resource.TestCheckResourceAttr(resourceName, "rule_action_override.0.name", "rule-1"), - resource.TestCheckResourceAttr(resourceName, "rule_action_override.0.action_to_use.#", "1"), - resource.TestCheckResourceAttr(resourceName, "rule_action_override.0.action_to_use.0.allow.#", "1"), - resource.TestCheckResourceAttr(resourceName, "rule_action_override.0.action_to_use.0.allow.0.custom_request_handling.#", "1"), - resource.TestCheckResourceAttr(resourceName, "rule_action_override.0.action_to_use.0.allow.0.custom_request_handling.0.insert_header.#", "1"), - resource.TestCheckResourceAttr(resourceName, "rule_action_override.0.action_to_use.0.allow.0.custom_request_handling.0.insert_header.0.name", "X-Custom-Header"), - resource.TestCheckResourceAttr(resourceName, "rule_action_override.0.action_to_use.0.allow.0.custom_request_handling.0.insert_header.0.value", "custom-value"), - resource.TestCheckResourceAttr(resourceName, "rule_action_override.1.name", "rule-2"), - resource.TestCheckResourceAttr(resourceName, "rule_action_override.1.action_to_use.#", "1"), - resource.TestCheckResourceAttr(resourceName, "rule_action_override.1.action_to_use.0.block.#", "1"), - resource.TestCheckResourceAttr(resourceName, "rule_action_override.1.action_to_use.0.block.0.custom_response.#", "1"), - resource.TestCheckResourceAttr(resourceName, "rule_action_override.1.action_to_use.0.block.0.custom_response.0.response_code", "403"), - resource.TestCheckResourceAttr(resourceName, "rule_action_override.1.action_to_use.0.block.0.custom_response.0.response_header.#", "1"), - resource.TestCheckResourceAttr(resourceName, "rule_action_override.1.action_to_use.0.block.0.custom_response.0.response_header.0.name", "X-Block-Reason"), - resource.TestCheckResourceAttr(resourceName, "rule_action_override.1.action_to_use.0.block.0.custom_response.0.response_header.0.value", "rule-override"), + resource.TestCheckResourceAttr(resourceName, "rule_group_reference.0.rule_action_override.#", "2"), + resource.TestCheckResourceAttr(resourceName, "rule_group_reference.0.rule_action_override.0.name", "rule-1"), + resource.TestCheckResourceAttr(resourceName, "rule_group_reference.0.rule_action_override.0.action_to_use.#", "1"), + resource.TestCheckResourceAttr(resourceName, "rule_group_reference.0.rule_action_override.0.action_to_use.0.allow.#", "1"), + resource.TestCheckResourceAttr(resourceName, "rule_group_reference.0.rule_action_override.0.action_to_use.0.allow.0.custom_request_handling.#", "1"), + resource.TestCheckResourceAttr(resourceName, "rule_group_reference.0.rule_action_override.0.action_to_use.0.allow.0.custom_request_handling.0.insert_header.#", "1"), + resource.TestCheckResourceAttr(resourceName, "rule_group_reference.0.rule_action_override.0.action_to_use.0.allow.0.custom_request_handling.0.insert_header.0.name", "X-Custom-Header"), + resource.TestCheckResourceAttr(resourceName, "rule_group_reference.0.rule_action_override.0.action_to_use.0.allow.0.custom_request_handling.0.insert_header.0.value", "custom-value"), + resource.TestCheckResourceAttr(resourceName, "rule_group_reference.0.rule_action_override.1.name", "rule-2"), + resource.TestCheckResourceAttr(resourceName, "rule_group_reference.0.rule_action_override.1.action_to_use.#", "1"), + resource.TestCheckResourceAttr(resourceName, "rule_group_reference.0.rule_action_override.1.action_to_use.0.block.#", "1"), + resource.TestCheckResourceAttr(resourceName, "rule_group_reference.0.rule_action_override.1.action_to_use.0.block.0.custom_response.#", "1"), + resource.TestCheckResourceAttr(resourceName, "rule_group_reference.0.rule_action_override.1.action_to_use.0.block.0.custom_response.0.response_code", "403"), + resource.TestCheckResourceAttr(resourceName, "rule_group_reference.0.rule_action_override.1.action_to_use.0.block.0.custom_response.0.response_header.#", "1"), + resource.TestCheckResourceAttr(resourceName, "rule_group_reference.0.rule_action_override.1.action_to_use.0.block.0.custom_response.0.response_header.0.name", "X-Block-Reason"), + resource.TestCheckResourceAttr(resourceName, "rule_group_reference.0.rule_action_override.1.action_to_use.0.block.0.custom_response.0.response_header.0.value", "rule-override"), ), }, { @@ -307,18 +278,18 @@ func TestAccWAFV2WebACLRuleGroupAssociation_ruleActionOverrideUpdate(t *testing. Config: testAccWebACLRuleGroupAssociationConfig_ruleActionOverrideCount(rName), Check: resource.ComposeTestCheckFunc( testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &v), - resource.TestCheckResourceAttr(resourceName, "rule_action_override.#", "1"), - resource.TestCheckResourceAttr(resourceName, "rule_action_override.0.name", "rule-1"), - resource.TestCheckResourceAttr(resourceName, "rule_action_override.0.action_to_use.0.count.#", "1"), + resource.TestCheckResourceAttr(resourceName, "rule_group_reference.0.rule_action_override.#", "1"), + resource.TestCheckResourceAttr(resourceName, "rule_group_reference.0.rule_action_override.0.name", "rule-1"), + resource.TestCheckResourceAttr(resourceName, "rule_group_reference.0.rule_action_override.0.action_to_use.0.count.#", "1"), ), }, { Config: testAccWebACLRuleGroupAssociationConfig_ruleActionOverrideCaptcha(rName), Check: resource.ComposeTestCheckFunc( testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &v), - resource.TestCheckResourceAttr(resourceName, "rule_action_override.#", "1"), - resource.TestCheckResourceAttr(resourceName, "rule_action_override.0.name", "rule-1"), - resource.TestCheckResourceAttr(resourceName, "rule_action_override.0.action_to_use.0.captcha.#", "1"), + resource.TestCheckResourceAttr(resourceName, "rule_group_reference.0.rule_action_override.#", "1"), + resource.TestCheckResourceAttr(resourceName, "rule_group_reference.0.rule_action_override.0.name", "rule-1"), + resource.TestCheckResourceAttr(resourceName, "rule_group_reference.0.rule_action_override.0.action_to_use.0.captcha.#", "1"), ), }, }, @@ -592,7 +563,7 @@ func testAccWebACLRuleGroupAssociationImportStateIDFunc(resourceName string) res } webACLARN := rs.Primary.Attributes["web_acl_arn"] - ruleGroupARN := rs.Primary.Attributes["rule_group_arn"] + ruleGroupARN := rs.Primary.Attributes["rule_group_reference.0.arn"] ruleName := rs.Primary.Attributes["rule_name"] return fmt.Sprintf("%s,%s,%s", webACLARN, ruleGroupARN, ruleName), nil @@ -654,10 +625,13 @@ resource "aws_wafv2_web_acl" "test" { } resource "aws_wafv2_web_acl_rule_group_association" "test" { - rule_name = "%[1]s-association" - priority = 10 - rule_group_arn = aws_wafv2_rule_group.test.arn - web_acl_arn = aws_wafv2_web_acl.test.arn + rule_name = "%[1]s-association" + priority = 10 + web_acl_arn = aws_wafv2_web_acl.test.arn + + rule_group_reference { + arn = aws_wafv2_rule_group.test.arn + } } `, rName) } @@ -719,9 +693,12 @@ resource "aws_wafv2_web_acl" "test" { resource "aws_wafv2_web_acl_rule_group_association" "test" { rule_name = "%[1]s-association" priority = 10 - rule_group_arn = aws_wafv2_rule_group.test.arn web_acl_arn = aws_wafv2_web_acl.test.arn override_action = %[2]q + + rule_group_reference { + arn = aws_wafv2_rule_group.test.arn + } } `, rName, overrideAction) } @@ -810,34 +787,37 @@ resource "aws_wafv2_web_acl" "test" { } resource "aws_wafv2_web_acl_rule_group_association" "test" { - rule_name = "%[1]s-association" - priority = 10 - rule_group_arn = aws_wafv2_rule_group.test.arn - web_acl_arn = aws_wafv2_web_acl.test.arn - - rule_action_override { - name = "rule-1" - action_to_use { - allow { - custom_request_handling { - insert_header { - name = "X-Custom-Header" - value = "custom-value" + rule_name = "%[1]s-association" + priority = 10 + web_acl_arn = aws_wafv2_web_acl.test.arn + + rule_group_reference { + arn = aws_wafv2_rule_group.test.arn + + rule_action_override { + name = "rule-1" + action_to_use { + allow { + custom_request_handling { + insert_header { + name = "X-Custom-Header" + value = "custom-value" + } } } } } - } - rule_action_override { - name = "rule-2" - action_to_use { - block { - custom_response { - response_code = 403 - response_header { - name = "X-Block-Reason" - value = "rule-override" + rule_action_override { + name = "rule-2" + action_to_use { + block { + custom_response { + response_code = 403 + response_header { + name = "X-Block-Reason" + value = "rule-override" + } } } } @@ -902,19 +882,22 @@ resource "aws_wafv2_web_acl" "test" { } resource "aws_wafv2_web_acl_rule_group_association" "test" { - rule_name = "%[1]s-association" - priority = 10 - rule_group_arn = aws_wafv2_rule_group.test.arn - web_acl_arn = aws_wafv2_web_acl.test.arn - - rule_action_override { - name = "rule-1" - action_to_use { - count { - custom_request_handling { - insert_header { - name = "X-Count-Header" - value = "counted" + rule_name = "%[1]s-association" + priority = 10 + web_acl_arn = aws_wafv2_web_acl.test.arn + + rule_group_reference { + arn = aws_wafv2_rule_group.test.arn + + rule_action_override { + name = "rule-1" + action_to_use { + count { + custom_request_handling { + insert_header { + name = "X-Count-Header" + value = "counted" + } } } } @@ -981,22 +964,24 @@ resource "aws_wafv2_web_acl" "test" { resource "aws_wafv2_web_acl_rule_group_association" "test" { rule_name = "%[1]s-association" priority = 10 - rule_group_arn = aws_wafv2_rule_group.test.arn - web_acl_arn = aws_wafv2_web_acl.test.arn - - rule_action_override { - name = "rule-1" - action_to_use { - captcha { - custom_request_handling { - insert_header { - name = "X-Captcha-Header" - value = "captcha-required" + rule_group_reference { + arn = aws_wafv2_rule_group.test.arn + + rule_action_override { + name = "rule-1" + action_to_use { + captcha { + custom_request_handling { + insert_header { + name = "X-Captcha-Header" + value = "captcha-required" + } } } } } } + web_acl_arn = aws_wafv2_web_acl.test.arn } `, rName) } @@ -1058,7 +1043,9 @@ resource "aws_wafv2_web_acl" "test" { resource "aws_wafv2_web_acl_rule_group_association" "test" { rule_name = "%[1]s-association" priority = %[2]d - rule_group_arn = aws_wafv2_rule_group.test.arn + rule_group_reference { + arn = aws_wafv2_rule_group.test.arn + } web_acl_arn = aws_wafv2_web_acl.test.arn override_action = "none" } @@ -1122,7 +1109,9 @@ resource "aws_wafv2_web_acl" "test" { resource "aws_wafv2_web_acl_rule_group_association" "test" { rule_name = %[2]q priority = 10 - rule_group_arn = aws_wafv2_rule_group.test.arn + rule_group_reference { + arn = aws_wafv2_rule_group.test.arn + } web_acl_arn = aws_wafv2_web_acl.test.arn override_action = "none" } @@ -1186,7 +1175,9 @@ resource "aws_wafv2_web_acl" "test" { resource "aws_wafv2_web_acl_rule_group_association" "test" { rule_name = "%[1]s-association" priority = 10 - rule_group_arn = aws_wafv2_rule_group.test.arn + rule_group_reference { + arn = aws_wafv2_rule_group.test.arn + } web_acl_arn = aws_wafv2_web_acl.test.arn override_action = "none" } diff --git a/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown b/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown index 1dd2d418a4ef..62459fd58ec8 100644 --- a/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown +++ b/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown @@ -72,10 +72,13 @@ resource "aws_wafv2_web_acl" "example" { } resource "aws_wafv2_web_acl_rule_group_association" "example" { - rule_name = "example-rule-group-rule" - priority = 100 - rule_group_arn = aws_wafv2_rule_group.example.arn - web_acl_arn = aws_wafv2_web_acl.example.arn + rule_name = "example-rule-group-rule" + priority = 100 + web_acl_arn = aws_wafv2_web_acl.example.arn + + rule_group_reference { + arn = aws_wafv2_rule_group.example.arn + } } ``` @@ -85,9 +88,12 @@ resource "aws_wafv2_web_acl_rule_group_association" "example" { resource "aws_wafv2_web_acl_rule_group_association" "example" { rule_name = "example-rule-group-rule" priority = 100 - rule_group_arn = aws_wafv2_rule_group.example.arn web_acl_arn = aws_wafv2_web_acl.example.arn override_action = "count" + + rule_group_reference { + arn = aws_wafv2_rule_group.example.arn + } } ``` @@ -169,34 +175,37 @@ resource "aws_wafv2_web_acl" "example" { } resource "aws_wafv2_web_acl_rule_group_association" "example" { - rule_name = "example-rule-group-rule" - priority = 100 - rule_group_arn = aws_wafv2_rule_group.example.arn - web_acl_arn = aws_wafv2_web_acl.example.arn - - # Override specific rules within the rule group - rule_action_override { - name = "geo-block-rule" - action_to_use { - count { - custom_request_handling { - insert_header { - name = "X-Geo-Block-Override" - value = "counted" + rule_name = "example-rule-group-rule" + priority = 100 + web_acl_arn = aws_wafv2_web_acl.example.arn + + rule_group_reference { + arn = aws_wafv2_rule_group.example.arn + + # Override specific rules within the rule group + rule_action_override { + name = "geo-block-rule" + action_to_use { + count { + custom_request_handling { + insert_header { + name = "X-Geo-Block-Override" + value = "counted" + } } } } } - } - rule_action_override { - name = "rate-limit-rule" - action_to_use { - captcha { - custom_request_handling { - insert_header { - name = "X-Rate-Limit-Override" - value = "captcha-required" + rule_action_override { + name = "rate-limit-rule" + action_to_use { + captcha { + custom_request_handling { + insert_header { + name = "X-Rate-Limit-Override" + value = "captcha-required" + } } } } @@ -262,10 +271,13 @@ resource "aws_wafv2_web_acl" "cloudfront_example" { } resource "aws_wafv2_web_acl_rule_group_association" "cloudfront_example" { - rule_name = "cloudfront-rule-group-rule" - priority = 50 - rule_group_arn = aws_wafv2_rule_group.cloudfront_example.arn - web_acl_arn = aws_wafv2_web_acl.cloudfront_example.arn + rule_name = "cloudfront-rule-group-rule" + priority = 50 + web_acl_arn = aws_wafv2_web_acl.cloudfront_example.arn + + rule_group_reference { + arn = aws_wafv2_rule_group.cloudfront_example.arn + } } ``` @@ -275,13 +287,17 @@ The following arguments are required: * `rule_name` - (Required) Name of the rule to create in the Web ACL that references the rule group. Must be between 1 and 128 characters. * `priority` - (Required) Priority of the rule within the Web ACL. Rules are evaluated in order of priority, with lower numbers evaluated first. -* `rule_group_arn` - (Required) ARN of the Rule Group to associate with the Web ACL. * `web_acl_arn` - (Required) ARN of the Web ACL to associate the Rule Group with. +* `rule_group_reference` - (Required) Rule Group reference configuration. [See below](#rule_group_reference). The following arguments are optional: * `override_action` - (Optional) Override action for the rule group. Valid values are `none` and `count`. Defaults to `none`. When set to `count`, the actions defined in the rule group rules are overridden to count matches instead of blocking or allowing requests. * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). + +### rule_group_reference + +* `arn` - (Required) ARN of the Rule Group to associate with the Web ACL. * `rule_action_override` - (Optional) Override actions for specific rules within the rule group. [See below](#rule_action_override). ### rule_action_override From 3bfc785ff3789f3469aae117cfe8f5118c0f1231 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Wed, 30 Jul 2025 13:13:39 -0400 Subject: [PATCH 0623/1301] Add managed_rule_group initially --- .../wafv2/web_acl_rule_group_association.go | 395 ++++++++++++++---- .../web_acl_rule_group_association_test.go | 363 +++++++++++++--- 2 files changed, 624 insertions(+), 134 deletions(-) diff --git a/internal/service/wafv2/web_acl_rule_group_association.go b/internal/service/wafv2/web_acl_rule_group_association.go index 0379c61ed9d4..ca6d6b9e4136 100644 --- a/internal/service/wafv2/web_acl_rule_group_association.go +++ b/internal/service/wafv2/web_acl_rule_group_association.go @@ -37,7 +37,7 @@ import ( ) const ( - webACLRuleGroupAssociationResourceIDPartCount = 3 + webACLRuleGroupAssociationResourceIDPartCount = 4 overrideActionNone = "none" overrideActionCount = "count" ) @@ -363,7 +363,8 @@ func (r *resourceWebACLRuleGroupAssociation) Schema(ctx context.Context, req res CustomType: fwtypes.NewListNestedObjectTypeOf[ruleGroupReferenceModel](ctx), Validators: []validator.List{ listvalidator.SizeAtMost(1), - listvalidator.SizeAtLeast(1), + listvalidator.SizeAtLeast(0), + listvalidator.ExactlyOneOf(path.MatchRelative().AtParent().AtName("managed_rule_group")), }, NestedObject: schema.NestedBlockObject{ Attributes: map[string]schema.Attribute{ @@ -384,13 +385,59 @@ func (r *resourceWebACLRuleGroupAssociation) Schema(ctx context.Context, req res }, Description: "Rule Group reference configuration.", }, + "managed_rule_group": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[managedRuleGroupModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + listvalidator.SizeAtLeast(0), + listvalidator.ExactlyOneOf(path.MatchRelative().AtParent().AtName("rule_group_reference")), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + names.AttrName: schema.StringAttribute{ + Required: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplace(), + }, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 128), + }, + Description: "Name of the managed rule group.", + }, + "vendor_name": schema.StringAttribute{ + Required: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplace(), + }, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 128), + }, + Description: "Name of the managed rule group vendor.", + }, + names.AttrVersion: schema.StringAttribute{ + Optional: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplace(), + }, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 64), + }, + Description: "Version of the managed rule group. Omit this to use the default version.", + }, + }, + Blocks: map[string]schema.Block{ + "rule_action_override": ruleActionOverrideLNB, + }, + }, + Description: "Managed rule group configuration.", + }, names.AttrTimeouts: timeouts.Block(ctx, timeouts.Opts{ Create: true, Update: true, Delete: true, }), }, - Description: "Associates a WAFv2 Rule Group with a Web ACL by adding a rule that references the Rule Group.", + Description: "Associates a WAFv2 Rule Group (custom or managed) with a Web ACL by adding a rule that references the Rule Group.", } } @@ -441,9 +488,16 @@ func (r *resourceWebACLRuleGroupAssociation) Create(ctx context.Context, req res } } - // Get rule group ARN from the nested structure + // Get rule configuration from either custom or managed rule group var ruleGroupARN string + var ruleGroupName string + var ruleGroupVendorName string + var ruleGroupVersion string var ruleActionOverrides []awstypes.RuleActionOverride + var ruleStatement *awstypes.Statement + var ruleGroupIdentifier string // For resource ID generation + + // Check for custom rule group reference if !plan.RuleGroupReference.IsNull() && !plan.RuleGroupReference.IsUnknown() { ruleGroupRefs := plan.RuleGroupReference.Elements() if len(ruleGroupRefs) > 0 { @@ -453,6 +507,12 @@ func (r *resourceWebACLRuleGroupAssociation) Create(ctx context.Context, req res return } ruleGroupARN = ruleGroupRefModel.ARN.ValueString() + ruleGroupIdentifier = ruleGroupARN + + // Create rule group reference statement + ruleGroupRefStatement := &awstypes.RuleGroupReferenceStatement{ + ARN: aws.String(ruleGroupARN), + } // Add rule action overrides if specified if !ruleGroupRefModel.RuleActionOverride.IsNull() && !ruleGroupRefModel.RuleActionOverride.IsUnknown() { @@ -460,32 +520,71 @@ func (r *resourceWebACLRuleGroupAssociation) Create(ctx context.Context, req res if resp.Diagnostics.HasError() { return } + ruleGroupRefStatement.RuleActionOverrides = ruleActionOverrides + } + + ruleStatement = &awstypes.Statement{ + RuleGroupReferenceStatement: ruleGroupRefStatement, } } } - if ruleGroupARN == "" { + // Check for managed rule group (mutually exclusive with custom) + if !plan.ManagedRuleGroup.IsNull() && !plan.ManagedRuleGroup.IsUnknown() { + managedRuleGroups := plan.ManagedRuleGroup.Elements() + if len(managedRuleGroups) > 0 { + var managedRuleGroupRef managedRuleGroupModel + resp.Diagnostics.Append(managedRuleGroups[0].(fwtypes.ObjectValueOf[managedRuleGroupModel]).As(ctx, &managedRuleGroupRef, basetypes.ObjectAsOptions{})...) + if resp.Diagnostics.HasError() { + return + } + ruleGroupName = managedRuleGroupRef.Name.ValueString() + ruleGroupVendorName = managedRuleGroupRef.VendorName.ValueString() + if !managedRuleGroupRef.Version.IsNull() && !managedRuleGroupRef.Version.IsUnknown() { + ruleGroupVersion = managedRuleGroupRef.Version.ValueString() + } + ruleGroupIdentifier = fmt.Sprintf("%s:%s", ruleGroupVendorName, ruleGroupName) + if ruleGroupVersion != "" { + ruleGroupIdentifier += ":" + ruleGroupVersion + } + + // Create managed rule group statement + managedRuleGroupStatement := &awstypes.ManagedRuleGroupStatement{ + Name: aws.String(ruleGroupName), + VendorName: aws.String(ruleGroupVendorName), + } + if ruleGroupVersion != "" { + managedRuleGroupStatement.Version = aws.String(ruleGroupVersion) + } + + // Add rule action overrides if specified + if !managedRuleGroupRef.RuleActionOverride.IsNull() && !managedRuleGroupRef.RuleActionOverride.IsUnknown() { + resp.Diagnostics.Append(fwflex.Expand(ctx, managedRuleGroupRef.RuleActionOverride, &ruleActionOverrides)...) + if resp.Diagnostics.HasError() { + return + } + managedRuleGroupStatement.RuleActionOverrides = ruleActionOverrides + } + + ruleStatement = &awstypes.Statement{ + ManagedRuleGroupStatement: managedRuleGroupStatement, + } + } + } + + if ruleStatement == nil { resp.Diagnostics.AddError( create.ProblemStandardMessage(names.WAFV2, create.ErrActionCreating, ResNameWebACLRuleGroupAssociation, plan.RuleName.String(), nil), - "rule_group_reference block is required", + "Either rule_group_reference or managed_rule_group block is required", ) return } - // Create new rule with rule group reference statement - ruleGroupRefStatement := &awstypes.RuleGroupReferenceStatement{ - ARN: aws.String(ruleGroupARN), - } - - // Set rule action overrides - ruleGroupRefStatement.RuleActionOverrides = ruleActionOverrides - + // Create new rule with the appropriate statement type newRule := awstypes.Rule{ - Name: plan.RuleName.ValueStringPointer(), - Priority: plan.Priority.ValueInt32(), - Statement: &awstypes.Statement{ - RuleGroupReferenceStatement: ruleGroupRefStatement, - }, + Name: plan.RuleName.ValueStringPointer(), + Priority: plan.Priority.ValueInt32(), + Statement: ruleStatement, VisibilityConfig: &awstypes.VisibilityConfig{ SampledRequestsEnabled: true, CloudWatchMetricsEnabled: true, @@ -549,11 +648,16 @@ func (r *resourceWebACLRuleGroupAssociation) Create(ctx context.Context, req res } // Set the ID using the standard flex utility with comma separators - // Format: webACLARN,ruleName,ruleGroupARN + // Format: webACLARN,ruleName,ruleGroupType,ruleGroupIdentifier + ruleGroupType := "custom" + if ruleGroupARN == "" { + ruleGroupType = "managed" + } id, err := flex.FlattenResourceId([]string{ plan.WebACLARN.ValueString(), plan.RuleName.ValueString(), - ruleGroupARN, + ruleGroupType, + ruleGroupIdentifier, }, webACLRuleGroupAssociationResourceIDPartCount, false) if err != nil { resp.Diagnostics.AddError( @@ -577,7 +681,7 @@ func (r *resourceWebACLRuleGroupAssociation) Read(ctx context.Context, req resou conn := r.Meta().WAFV2Client(ctx) // Parse the ID using the standard flex utility - // Format: webACLARN,ruleName,ruleGroupARN + // Format: webACLARN,ruleName,ruleGroupType,ruleGroupIdentifier parts, err := flex.ExpandResourceId(state.ID.ValueString(), webACLRuleGroupAssociationResourceIDPartCount, false) if err != nil { resp.Diagnostics.AddError( @@ -589,7 +693,8 @@ func (r *resourceWebACLRuleGroupAssociation) Read(ctx context.Context, req resou webACLARN := parts[0] ruleName := parts[1] - ruleGroupARN := parts[2] + ruleGroupType := parts[2] + ruleGroupIdentifier := parts[3] // Parse Web ACL ARN to get ID, name, and scope webACLID, webACLName, webACLScope, err := parseWebACLARN(webACLARN) @@ -620,48 +725,101 @@ func (r *resourceWebACLRuleGroupAssociation) Read(ctx context.Context, req resou // Find the rule group in the Web ACL rules found := false for _, rule := range webACL.WebACL.Rules { - if aws.ToString(rule.Name) == ruleName && - rule.Statement != nil && - rule.Statement.RuleGroupReferenceStatement != nil && - aws.ToString(rule.Statement.RuleGroupReferenceStatement.ARN) == ruleGroupARN { - found = true - state.Priority = types.Int32Value(rule.Priority) - - // Determine override action - overrideAction := overrideActionNone - if rule.OverrideAction != nil { - if rule.OverrideAction.Count != nil { - overrideAction = overrideActionCount - } else if rule.OverrideAction.None != nil { - overrideAction = overrideActionNone - } - } - state.OverrideAction = types.StringValue(overrideAction) + if aws.ToString(rule.Name) != ruleName { + continue + } - // Handle rule action overrides with autoflex + // Check if this rule matches our rule group type and identifier + if rule.Statement != nil { + var matchesRuleGroup bool var ruleActionOverrides fwtypes.ListNestedObjectValueOf[ruleActionOverrideModel] - if rule.Statement.RuleGroupReferenceStatement.RuleActionOverrides != nil { - resp.Diagnostics.Append(fwflex.Flatten(ctx, rule.Statement.RuleGroupReferenceStatement.RuleActionOverrides, &ruleActionOverrides)...) - if resp.Diagnostics.HasError() { - return + + if ruleGroupType == "custom" && rule.Statement.RuleGroupReferenceStatement != nil { + // For custom rule groups, the identifier is the ARN + if aws.ToString(rule.Statement.RuleGroupReferenceStatement.ARN) == ruleGroupIdentifier { + matchesRuleGroup = true + // Handle rule action overrides with autoflex + if rule.Statement.RuleGroupReferenceStatement.RuleActionOverrides != nil { + resp.Diagnostics.Append(fwflex.Flatten(ctx, rule.Statement.RuleGroupReferenceStatement.RuleActionOverrides, &ruleActionOverrides)...) + if resp.Diagnostics.HasError() { + return + } + } else { + ruleActionOverrides = fwtypes.NewListNestedObjectValueOfNull[ruleActionOverrideModel](ctx) + } + + // Set the rule group reference nested structure + ruleGroupRefModel := ruleGroupReferenceModel{ + ARN: types.StringValue(ruleGroupIdentifier), + RuleActionOverride: ruleActionOverrides, + } + + listValue, diags := fwtypes.NewListNestedObjectValueOfSlice(ctx, []*ruleGroupReferenceModel{&ruleGroupRefModel}, nil) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + state.RuleGroupReference = listValue + state.ManagedRuleGroup = fwtypes.NewListNestedObjectValueOfNull[managedRuleGroupModel](ctx) + } + } else if ruleGroupType == "managed" && rule.Statement.ManagedRuleGroupStatement != nil { + // For managed rule groups, construct identifier and compare + managedStmt := rule.Statement.ManagedRuleGroupStatement + managedIdentifier := fmt.Sprintf("%s:%s", aws.ToString(managedStmt.VendorName), aws.ToString(managedStmt.Name)) + if managedStmt.Version != nil && aws.ToString(managedStmt.Version) != "" { + managedIdentifier += ":" + aws.ToString(managedStmt.Version) } - } else { - ruleActionOverrides = fwtypes.NewListNestedObjectValueOfNull[ruleActionOverrideModel](ctx) - } - // Set the rule group reference nested structure with rule action overrides - ruleGroupRefModel := ruleGroupReferenceModel{ - ARN: types.StringValue(ruleGroupARN), - RuleActionOverride: ruleActionOverrides, + if managedIdentifier == ruleGroupIdentifier { + matchesRuleGroup = true + // Handle rule action overrides with autoflex + if managedStmt.RuleActionOverrides != nil { + resp.Diagnostics.Append(fwflex.Flatten(ctx, managedStmt.RuleActionOverrides, &ruleActionOverrides)...) + if resp.Diagnostics.HasError() { + return + } + } else { + ruleActionOverrides = fwtypes.NewListNestedObjectValueOfNull[ruleActionOverrideModel](ctx) + } + + // Set the managed rule group nested structure + managedRuleGroupRef := managedRuleGroupModel{ + Name: types.StringValue(aws.ToString(managedStmt.Name)), + VendorName: types.StringValue(aws.ToString(managedStmt.VendorName)), + RuleActionOverride: ruleActionOverrides, + } + if managedStmt.Version != nil && aws.ToString(managedStmt.Version) != "" { + managedRuleGroupRef.Version = types.StringValue(aws.ToString(managedStmt.Version)) + } else { + managedRuleGroupRef.Version = types.StringNull() + } + + listValue, diags := fwtypes.NewListNestedObjectValueOfSlice(ctx, []*managedRuleGroupModel{&managedRuleGroupRef}, nil) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + state.ManagedRuleGroup = listValue + state.RuleGroupReference = fwtypes.NewListNestedObjectValueOfNull[ruleGroupReferenceModel](ctx) + } } - listValue, diags := fwtypes.NewListNestedObjectValueOfSlice(ctx, []*ruleGroupReferenceModel{&ruleGroupRefModel}, nil) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return + if matchesRuleGroup { + found = true + state.Priority = types.Int32Value(rule.Priority) + + // Determine override action + overrideAction := overrideActionNone + if rule.OverrideAction != nil { + if rule.OverrideAction.Count != nil { + overrideAction = overrideActionCount + } else if rule.OverrideAction.None != nil { + overrideAction = overrideActionNone + } + } + state.OverrideAction = types.StringValue(overrideAction) + break } - state.RuleGroupReference = listValue - break } } @@ -739,7 +897,7 @@ func (r *resourceWebACLRuleGroupAssociation) Update(ctx context.Context, req res } } - // Update rule action overrides from nested structure + // Update rule action overrides from nested structure (both custom and managed) var overrides []awstypes.RuleActionOverride if !plan.RuleGroupReference.IsNull() && !plan.RuleGroupReference.IsUnknown() { ruleGroupRefs := plan.RuleGroupReference.Elements() @@ -757,11 +915,31 @@ func (r *resourceWebACLRuleGroupAssociation) Update(ctx context.Context, req res } } } + } else if !plan.ManagedRuleGroup.IsNull() && !plan.ManagedRuleGroup.IsUnknown() { + managedRuleGroups := plan.ManagedRuleGroup.Elements() + if len(managedRuleGroups) > 0 { + var managedRuleGroupRef managedRuleGroupModel + resp.Diagnostics.Append(managedRuleGroups[0].(fwtypes.ObjectValueOf[managedRuleGroupModel]).As(ctx, &managedRuleGroupRef, basetypes.ObjectAsOptions{})...) + if resp.Diagnostics.HasError() { + return + } + + if !managedRuleGroupRef.RuleActionOverride.IsNull() && !managedRuleGroupRef.RuleActionOverride.IsUnknown() { + resp.Diagnostics.Append(fwflex.Expand(ctx, managedRuleGroupRef.RuleActionOverride, &overrides)...) + if resp.Diagnostics.HasError() { + return + } + } + } } - // Update the rule group reference statement with new overrides - if webACL.WebACL.Rules[i].Statement != nil && webACL.WebACL.Rules[i].Statement.RuleGroupReferenceStatement != nil { - webACL.WebACL.Rules[i].Statement.RuleGroupReferenceStatement.RuleActionOverrides = overrides + // Update the appropriate statement type with new overrides + if webACL.WebACL.Rules[i].Statement != nil { + if webACL.WebACL.Rules[i].Statement.RuleGroupReferenceStatement != nil { + webACL.WebACL.Rules[i].Statement.RuleGroupReferenceStatement.RuleActionOverrides = overrides + } else if webACL.WebACL.Rules[i].Statement.ManagedRuleGroupStatement != nil { + webACL.WebACL.Rules[i].Statement.ManagedRuleGroupStatement.RuleActionOverrides = overrides + } } break @@ -834,7 +1012,7 @@ func (r *resourceWebACLRuleGroupAssociation) Delete(ctx context.Context, req res conn := r.Meta().WAFV2Client(ctx) // Parse the ID using the standard flex utility - // Format: webACLARN,ruleName,ruleGroupARN + // Format: webACLARN,ruleName,ruleGroupType,ruleGroupIdentifier parts, err := flex.ExpandResourceId(state.ID.ValueString(), webACLRuleGroupAssociationResourceIDPartCount, false) if err != nil { resp.Diagnostics.AddError( @@ -846,6 +1024,7 @@ func (r *resourceWebACLRuleGroupAssociation) Delete(ctx context.Context, req res webACLARN := parts[0] ruleName := parts[1] + // We don't need parts[2] (ruleGroupType) or parts[3] (ruleGroupIdentifier) for deletion // Parse Web ACL ARN to get ID, name, and scope webACLID, webACLName, webACLScope, err := parseWebACLARN(webACLARN) @@ -924,18 +1103,20 @@ func (r *resourceWebACLRuleGroupAssociation) Delete(ctx context.Context, req res } func (r *resourceWebACLRuleGroupAssociation) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { - // Import format: webACLARN,ruleGroupARN,ruleName + // Import format can be: + // 1. webACLARN,ruleGroupARN,ruleName (custom rule group - has ARN) + // 2. webACLARN,vendorName:ruleName[:version],ruleName (managed rule group - no ARN) parts := strings.Split(req.ID, ",") if len(parts) != 3 { resp.Diagnostics.AddError( "Invalid Import ID", - "Import ID should be in format 'webACLARN,ruleGroupARN,ruleName'", + "Import ID should be in format 'webACLARN,ruleGroupIdentifier,ruleName' where ruleGroupIdentifier is either an ARN (custom) or vendorName:ruleName[:version] (managed)", ) return } webACLARN := parts[0] - ruleGroupARN := parts[1] + ruleGroupIdentifier := parts[1] ruleName := parts[2] // Parse Web ACL ARN to get ID, name, and scope @@ -948,8 +1129,51 @@ func (r *resourceWebACLRuleGroupAssociation) ImportState(ctx context.Context, re return } + // Determine rule group type based on identifier format + var ruleGroupType string + var ruleGroupRefModel *ruleGroupReferenceModel + var managedRuleGroupRef *managedRuleGroupModel + + if strings.HasPrefix(ruleGroupIdentifier, "arn:") { + // Custom rule group (ARN format) + ruleGroupType = "custom" + ruleGroupRefModel = &ruleGroupReferenceModel{ + ARN: types.StringValue(ruleGroupIdentifier), + RuleActionOverride: fwtypes.NewListNestedObjectValueOfNull[ruleActionOverrideModel](ctx), + } + } else { + // Managed rule group (vendorName:ruleName[:version] format) + ruleGroupType = "managed" + identifierParts := strings.Split(ruleGroupIdentifier, ":") + if len(identifierParts) < 2 { + resp.Diagnostics.AddError( + "Invalid Managed Rule Group Identifier", + "Managed rule group identifier should be in format 'vendorName:ruleName[:version]'", + ) + return + } + + vendorName := identifierParts[0] + ruleGroupName := identifierParts[1] + var version string + if len(identifierParts) > 2 { + version = identifierParts[2] + } + + managedRuleGroupRef = &managedRuleGroupModel{ + Name: types.StringValue(ruleGroupName), + VendorName: types.StringValue(vendorName), + RuleActionOverride: fwtypes.NewListNestedObjectValueOfNull[ruleActionOverrideModel](ctx), + } + if version != "" { + managedRuleGroupRef.Version = types.StringValue(version) + } else { + managedRuleGroupRef.Version = types.StringNull() + } + } + // Set the ID using the standard flex utility with comma separators - id, err := flex.FlattenResourceId([]string{webACLARN, ruleName, ruleGroupARN}, webACLRuleGroupAssociationResourceIDPartCount, false) + id, err := flex.FlattenResourceId([]string{webACLARN, ruleName, ruleGroupType, ruleGroupIdentifier}, webACLRuleGroupAssociationResourceIDPartCount, false) if err != nil { resp.Diagnostics.AddError( "Error creating resource ID", @@ -962,19 +1186,24 @@ func (r *resourceWebACLRuleGroupAssociation) ImportState(ctx context.Context, re resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("web_acl_arn"), webACLARN)...) resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("rule_name"), ruleName)...) - // Set the rule group reference nested structure - ruleGroupRefModel := ruleGroupReferenceModel{ - ARN: types.StringValue(ruleGroupARN), - RuleActionOverride: fwtypes.NewListNestedObjectValueOfNull[ruleActionOverrideModel](ctx), - } - - listValue, diags := fwtypes.NewListNestedObjectValueOfSlice(ctx, []*ruleGroupReferenceModel{&ruleGroupRefModel}, nil) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return + // Set the appropriate rule group nested structure + if ruleGroupRefModel != nil { + listValue, diags := fwtypes.NewListNestedObjectValueOfSlice(ctx, []*ruleGroupReferenceModel{ruleGroupRefModel}, nil) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("rule_group_reference"), listValue)...) + resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("managed_rule_group"), fwtypes.NewListNestedObjectValueOfNull[managedRuleGroupModel](ctx))...) + } else if managedRuleGroupRef != nil { + listValue, diags := fwtypes.NewListNestedObjectValueOfSlice(ctx, []*managedRuleGroupModel{managedRuleGroupRef}, nil) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("managed_rule_group"), listValue)...) + resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("rule_group_reference"), fwtypes.NewListNestedObjectValueOfNull[ruleGroupReferenceModel](ctx))...) } - - resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("rule_group_reference"), listValue)...) } // parseWebACLARN extracts the Web ACL ID, name, and scope from the ARN @@ -1015,6 +1244,7 @@ type resourceWebACLRuleGroupAssociationModel struct { RuleName types.String `tfsdk:"rule_name"` Priority types.Int32 `tfsdk:"priority"` RuleGroupReference fwtypes.ListNestedObjectValueOf[ruleGroupReferenceModel] `tfsdk:"rule_group_reference"` + ManagedRuleGroup fwtypes.ListNestedObjectValueOf[managedRuleGroupModel] `tfsdk:"managed_rule_group"` WebACLARN types.String `tfsdk:"web_acl_arn"` OverrideAction types.String `tfsdk:"override_action"` Timeouts timeouts.Value `tfsdk:"timeouts"` @@ -1025,6 +1255,13 @@ type ruleGroupReferenceModel struct { RuleActionOverride fwtypes.ListNestedObjectValueOf[ruleActionOverrideModel] `tfsdk:"rule_action_override"` } +type managedRuleGroupModel struct { + Name types.String `tfsdk:"name"` + VendorName types.String `tfsdk:"vendor_name"` + Version types.String `tfsdk:"version"` + RuleActionOverride fwtypes.ListNestedObjectValueOf[ruleActionOverrideModel] `tfsdk:"rule_action_override"` +} + type ruleActionOverrideModel struct { Name types.String `tfsdk:"name"` ActionToUse fwtypes.ListNestedObjectValueOf[actionToUseModel] `tfsdk:"action_to_use"` diff --git a/internal/service/wafv2/web_acl_rule_group_association_test.go b/internal/service/wafv2/web_acl_rule_group_association_test.go index 644bf8261af2..d008b291692e 100644 --- a/internal/service/wafv2/web_acl_rule_group_association_test.go +++ b/internal/service/wafv2/web_acl_rule_group_association_test.go @@ -151,7 +151,7 @@ func TestAccWAFV2WebACLRuleGroupAssociation_basic(t *testing.T) { CheckDestroy: testAccCheckWebACLRuleGroupAssociationDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccWebACLRuleGroupAssociationConfig_basic(rName), + Config: testAccWebACLRuleGroupAssociationConfig_RuleGroupReference_basic(rName), Check: resource.ComposeTestCheckFunc( testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &v), resource.TestCheckResourceAttr(resourceName, "rule_name", fmt.Sprintf("%s-association", rName)), @@ -184,7 +184,7 @@ func TestAccWAFV2WebACLRuleGroupAssociation_disappears(t *testing.T) { CheckDestroy: testAccCheckWebACLRuleGroupAssociationDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccWebACLRuleGroupAssociationConfig_basic(rName), + Config: testAccWebACLRuleGroupAssociationConfig_RuleGroupReference_basic(rName), Check: resource.ComposeTestCheckFunc( testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &v), acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfwafv2.ResourceWebACLRuleGroupAssociation, resourceName), @@ -195,7 +195,7 @@ func TestAccWAFV2WebACLRuleGroupAssociation_disappears(t *testing.T) { }) } -func TestAccWAFV2WebACLRuleGroupAssociation_overrideAction(t *testing.T) { +func TestAccWAFV2WebACLRuleGroupAssociation_RuleGroupReference_overrideAction(t *testing.T) { ctx := acctest.Context(t) var v wafv2.GetWebACLOutput rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -208,7 +208,7 @@ func TestAccWAFV2WebACLRuleGroupAssociation_overrideAction(t *testing.T) { CheckDestroy: testAccCheckWebACLRuleGroupAssociationDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccWebACLRuleGroupAssociationConfig_overrideAction(rName, "count"), + Config: testAccWebACLRuleGroupAssociationConfig_RuleGroupReference_overrideAction(rName, "count"), Check: resource.ComposeTestCheckFunc( testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &v), resource.TestCheckResourceAttr(resourceName, "override_action", "count"), @@ -218,7 +218,7 @@ func TestAccWAFV2WebACLRuleGroupAssociation_overrideAction(t *testing.T) { }) } -func TestAccWAFV2WebACLRuleGroupAssociation_ruleActionOverride(t *testing.T) { +func TestAccWAFV2WebACLRuleGroupAssociation_RuleGroupReference_ruleActionOverride(t *testing.T) { ctx := acctest.Context(t) var v wafv2.GetWebACLOutput rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -231,7 +231,7 @@ func TestAccWAFV2WebACLRuleGroupAssociation_ruleActionOverride(t *testing.T) { CheckDestroy: testAccCheckWebACLRuleGroupAssociationDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccWebACLRuleGroupAssociationConfig_ruleActionOverride(rName), + Config: testAccWebACLRuleGroupAssociationConfig_RuleGroupReference_ruleActionOverride(rName), Check: resource.ComposeTestCheckFunc( testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &v), resource.TestCheckResourceAttr(resourceName, "rule_group_reference.0.rule_action_override.#", "2"), @@ -262,7 +262,7 @@ func TestAccWAFV2WebACLRuleGroupAssociation_ruleActionOverride(t *testing.T) { }) } -func TestAccWAFV2WebACLRuleGroupAssociation_ruleActionOverrideUpdate(t *testing.T) { +func TestAccWAFV2WebACLRuleGroupAssociation_RuleGroupReference_ruleActionOverrideUpdate(t *testing.T) { ctx := acctest.Context(t) var v wafv2.GetWebACLOutput rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -275,7 +275,7 @@ func TestAccWAFV2WebACLRuleGroupAssociation_ruleActionOverrideUpdate(t *testing. CheckDestroy: testAccCheckWebACLRuleGroupAssociationDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccWebACLRuleGroupAssociationConfig_ruleActionOverrideCount(rName), + Config: testAccWebACLRuleGroupAssociationConfig_RuleGroupReference_ruleActionOverrideCount(rName), Check: resource.ComposeTestCheckFunc( testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &v), resource.TestCheckResourceAttr(resourceName, "rule_group_reference.0.rule_action_override.#", "1"), @@ -284,7 +284,7 @@ func TestAccWAFV2WebACLRuleGroupAssociation_ruleActionOverrideUpdate(t *testing. ), }, { - Config: testAccWebACLRuleGroupAssociationConfig_ruleActionOverrideCaptcha(rName), + Config: testAccWebACLRuleGroupAssociationConfig_RuleGroupReference_ruleActionOverrideCaptcha(rName), Check: resource.ComposeTestCheckFunc( testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &v), resource.TestCheckResourceAttr(resourceName, "rule_group_reference.0.rule_action_override.#", "1"), @@ -296,7 +296,7 @@ func TestAccWAFV2WebACLRuleGroupAssociation_ruleActionOverrideUpdate(t *testing. }) } -func TestAccWAFV2WebACLRuleGroupAssociation_priorityUpdate(t *testing.T) { +func TestAccWAFV2WebACLRuleGroupAssociation_RuleGroupReference_priorityUpdate(t *testing.T) { ctx := acctest.Context(t) var v wafv2.GetWebACLOutput rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -309,14 +309,14 @@ func TestAccWAFV2WebACLRuleGroupAssociation_priorityUpdate(t *testing.T) { CheckDestroy: testAccCheckWebACLRuleGroupAssociationDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccWebACLRuleGroupAssociationConfig_priority(rName, 10), + Config: testAccWebACLRuleGroupAssociationConfig_RuleGroupReference_priority(rName, 10), Check: resource.ComposeTestCheckFunc( testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &v), resource.TestCheckResourceAttr(resourceName, names.AttrPriority, "10"), ), }, { - Config: testAccWebACLRuleGroupAssociationConfig_priority(rName, 20), + Config: testAccWebACLRuleGroupAssociationConfig_RuleGroupReference_priority(rName, 20), ConfigPlanChecks: resource.ConfigPlanChecks{ PreApply: []plancheck.PlanCheck{ plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), @@ -337,7 +337,7 @@ func TestAccWAFV2WebACLRuleGroupAssociation_priorityUpdate(t *testing.T) { }) } -func TestAccWAFV2WebACLRuleGroupAssociation_overrideActionUpdate(t *testing.T) { +func TestAccWAFV2WebACLRuleGroupAssociation_RuleGroupReference_overrideActionUpdate(t *testing.T) { ctx := acctest.Context(t) var v wafv2.GetWebACLOutput rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -350,14 +350,14 @@ func TestAccWAFV2WebACLRuleGroupAssociation_overrideActionUpdate(t *testing.T) { CheckDestroy: testAccCheckWebACLRuleGroupAssociationDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccWebACLRuleGroupAssociationConfig_overrideAction(rName, "none"), + Config: testAccWebACLRuleGroupAssociationConfig_RuleGroupReference_overrideAction(rName, "none"), Check: resource.ComposeTestCheckFunc( testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &v), resource.TestCheckResourceAttr(resourceName, "override_action", "none"), ), }, { - Config: testAccWebACLRuleGroupAssociationConfig_overrideAction(rName, "count"), + Config: testAccWebACLRuleGroupAssociationConfig_RuleGroupReference_overrideAction(rName, "count"), ConfigPlanChecks: resource.ConfigPlanChecks{ PreApply: []plancheck.PlanCheck{ plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), @@ -378,7 +378,7 @@ func TestAccWAFV2WebACLRuleGroupAssociation_overrideActionUpdate(t *testing.T) { }) } -func TestAccWAFV2WebACLRuleGroupAssociation_ruleNameRequiresReplace(t *testing.T) { +func TestAccWAFV2WebACLRuleGroupAssociation_RuleGroupReference_ruleNameRequiresReplace(t *testing.T) { ctx := acctest.Context(t) var v wafv2.GetWebACLOutput rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -391,14 +391,14 @@ func TestAccWAFV2WebACLRuleGroupAssociation_ruleNameRequiresReplace(t *testing.T CheckDestroy: testAccCheckWebACLRuleGroupAssociationDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccWebACLRuleGroupAssociationConfig_ruleName(rName, "original-rule"), + Config: testAccWebACLRuleGroupAssociationConfig_RuleGroupReference_ruleName(rName, "original-rule"), Check: resource.ComposeTestCheckFunc( testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &v), resource.TestCheckResourceAttr(resourceName, "rule_name", "original-rule"), ), }, { - Config: testAccWebACLRuleGroupAssociationConfig_ruleName(rName, "updated-rule"), + Config: testAccWebACLRuleGroupAssociationConfig_RuleGroupReference_ruleName(rName, "updated-rule"), ConfigPlanChecks: resource.ConfigPlanChecks{ PreApply: []plancheck.PlanCheck{ plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionDestroyBeforeCreate), @@ -413,7 +413,7 @@ func TestAccWAFV2WebACLRuleGroupAssociation_ruleNameRequiresReplace(t *testing.T }) } -func TestAccWAFV2WebACLRuleGroupAssociation_webACLARNRequiresReplace(t *testing.T) { +func TestAccWAFV2WebACLRuleGroupAssociation_RuleGroupReference_webACLARNRequiresReplace(t *testing.T) { ctx := acctest.Context(t) var v wafv2.GetWebACLOutput rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -426,13 +426,13 @@ func TestAccWAFV2WebACLRuleGroupAssociation_webACLARNRequiresReplace(t *testing. CheckDestroy: testAccCheckWebACLRuleGroupAssociationDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccWebACLRuleGroupAssociationConfig_webACL(rName, "first"), + Config: testAccWebACLRuleGroupAssociationConfig_RuleGroupReference_webACL(rName, "first"), Check: resource.ComposeTestCheckFunc( testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &v), ), }, { - Config: testAccWebACLRuleGroupAssociationConfig_webACL(rName, "second"), + Config: testAccWebACLRuleGroupAssociationConfig_RuleGroupReference_webACL(rName, "second"), ConfigPlanChecks: resource.ConfigPlanChecks{ PreApply: []plancheck.PlanCheck{ plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionDestroyBeforeCreate), @@ -446,6 +446,113 @@ func TestAccWAFV2WebACLRuleGroupAssociation_webACLARNRequiresReplace(t *testing. }) } +func TestAccWAFV2WebACLRuleGroupAssociation_ManagedRuleGroup_basic(t *testing.T) { + ctx := acctest.Context(t) + var webACL wafv2.GetWebACLOutput + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_wafv2_web_acl_rule_group_association.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.WAFV2ServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckWebACLRuleGroupAssociationDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccWebACLRuleGroupAssociationConfig_ManagedRuleGroup_basic(rName), + Check: resource.ComposeTestCheckFunc( + testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &webACL), + resource.TestCheckResourceAttr(resourceName, "rule_name", "test-rule"), + resource.TestCheckResourceAttr(resourceName, names.AttrPriority, "1"), + resource.TestCheckResourceAttr(resourceName, "override_action", "none"), + resource.TestCheckResourceAttr(resourceName, "managed_rule_group.#", "1"), + resource.TestCheckResourceAttr(resourceName, "managed_rule_group.0.name", "AWSManagedRulesCommonRuleSet"), + resource.TestCheckResourceAttr(resourceName, "managed_rule_group.0.vendor_name", "AWS"), + resource.TestCheckResourceAttr(resourceName, "rule_group_reference.#", "0"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccWAFV2WebACLRuleGroupAssociation_ManagedRuleGroup_withVersion(t *testing.T) { + ctx := acctest.Context(t) + var webACL wafv2.GetWebACLOutput + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_wafv2_web_acl_rule_group_association.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.WAFV2ServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckWebACLRuleGroupAssociationDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccWebACLRuleGroupAssociationConfig_ManagedRuleGroup_withVersion(rName), + Check: resource.ComposeTestCheckFunc( + testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &webACL), + resource.TestCheckResourceAttr(resourceName, "rule_name", "test-rule"), + resource.TestCheckResourceAttr(resourceName, names.AttrPriority, "1"), + resource.TestCheckResourceAttr(resourceName, "override_action", "none"), + resource.TestCheckResourceAttr(resourceName, "managed_rule_group.#", "1"), + resource.TestCheckResourceAttr(resourceName, "managed_rule_group.0.name", "AWSManagedRulesCommonRuleSet"), + resource.TestCheckResourceAttr(resourceName, "managed_rule_group.0.vendor_name", "AWS"), + resource.TestCheckResourceAttr(resourceName, "managed_rule_group.0.version", "Version_1.0"), + resource.TestCheckResourceAttr(resourceName, "rule_group_reference.#", "0"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccWAFV2WebACLRuleGroupAssociation_ManagedRuleGroup_ruleActionOverride(t *testing.T) { + ctx := acctest.Context(t) + var webACL wafv2.GetWebACLOutput + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_wafv2_web_acl_rule_group_association.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.WAFV2ServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckWebACLRuleGroupAssociationDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccWebACLRuleGroupAssociationConfig_ManagedRuleGroup_ruleActionOverride(rName), + Check: resource.ComposeTestCheckFunc( + testAccCheckWebACLRuleGroupAssociationExists(ctx, resourceName, &webACL), + resource.TestCheckResourceAttr(resourceName, "rule_name", "test-rule"), + resource.TestCheckResourceAttr(resourceName, names.AttrPriority, "1"), + resource.TestCheckResourceAttr(resourceName, "override_action", "none"), + resource.TestCheckResourceAttr(resourceName, "managed_rule_group.#", "1"), + resource.TestCheckResourceAttr(resourceName, "managed_rule_group.0.name", "AWSManagedRulesCommonRuleSet"), + resource.TestCheckResourceAttr(resourceName, "managed_rule_group.0.vendor_name", "AWS"), + resource.TestCheckResourceAttr(resourceName, "managed_rule_group.0.rule_action_override.#", "1"), + resource.TestCheckResourceAttr(resourceName, "managed_rule_group.0.rule_action_override.0.name", "GenericRFI_BODY"), + resource.TestCheckResourceAttr(resourceName, "managed_rule_group.0.rule_action_override.0.action_to_use.#", "1"), + resource.TestCheckResourceAttr(resourceName, "managed_rule_group.0.rule_action_override.0.action_to_use.0.count.#", "1"), + resource.TestCheckResourceAttr(resourceName, "rule_group_reference.#", "0"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + func testAccCheckWebACLRuleGroupAssociationDestroy(ctx context.Context) resource.TestCheckFunc { return func(s *terraform.State) error { conn := acctest.Provider.Meta().(*conns.AWSClient).WAFV2Client(ctx) @@ -456,15 +563,16 @@ func testAccCheckWebACLRuleGroupAssociationDestroy(ctx context.Context) resource } // Parse the ID using the standard flex utility - // Format: webACLARN,ruleName,ruleGroupARN - parts, err := flex.ExpandResourceId(rs.Primary.ID, 3, false) + // Format: webACLARN,ruleName,ruleGroupType,ruleGroupIdentifier + parts, err := flex.ExpandResourceId(rs.Primary.ID, 4, false) if err != nil { continue } webACLARN := parts[0] ruleName := parts[1] - ruleGroupARN := parts[2] + ruleGroupType := parts[2] + ruleGroupIdentifier := parts[3] // Parse Web ACL ARN to get ID, name, and scope webACLID, webACLName, webACLScope, err := tfwafv2.ParseWebACLARN(webACLARN) @@ -484,10 +592,30 @@ func testAccCheckWebACLRuleGroupAssociationDestroy(ctx context.Context) resource // Check if the rule still exists in the Web ACL for _, rule := range webACL.WebACL.Rules { - if aws.ToString(rule.Name) == ruleName && - rule.Statement != nil && - rule.Statement.RuleGroupReferenceStatement != nil && - aws.ToString(rule.Statement.RuleGroupReferenceStatement.ARN) == ruleGroupARN { + if aws.ToString(rule.Name) != ruleName || rule.Statement == nil { + continue + } + + // Check if this rule matches our rule group type and identifier + var matchesRuleGroup bool + if ruleGroupType == "custom" && rule.Statement.RuleGroupReferenceStatement != nil { + // For custom rule groups, the identifier is the ARN + if aws.ToString(rule.Statement.RuleGroupReferenceStatement.ARN) == ruleGroupIdentifier { + matchesRuleGroup = true + } + } else if ruleGroupType == "managed" && rule.Statement.ManagedRuleGroupStatement != nil { + // For managed rule groups, construct identifier and compare + managedStmt := rule.Statement.ManagedRuleGroupStatement + managedIdentifier := fmt.Sprintf("%s:%s", aws.ToString(managedStmt.VendorName), aws.ToString(managedStmt.Name)) + if managedStmt.Version != nil && aws.ToString(managedStmt.Version) != "" { + managedIdentifier += ":" + aws.ToString(managedStmt.Version) + } + if managedIdentifier == ruleGroupIdentifier { + matchesRuleGroup = true + } + } + + if matchesRuleGroup { return fmt.Errorf("WAFv2 Web ACL Rule Group Association still exists: %s", rs.Primary.ID) } } @@ -509,15 +637,16 @@ func testAccCheckWebACLRuleGroupAssociationExists(ctx context.Context, n string, } // Parse the ID using the standard flex utility - // Format: webACLARN,ruleName,ruleGroupARN - parts, err := flex.ExpandResourceId(rs.Primary.ID, 3, false) + // Format: webACLARN,ruleName,ruleGroupType,ruleGroupIdentifier + parts, err := flex.ExpandResourceId(rs.Primary.ID, 4, false) if err != nil { return fmt.Errorf("Invalid ID format: %s", rs.Primary.ID) } webACLARN := parts[0] ruleName := parts[1] - ruleGroupARN := parts[2] + ruleGroupType := parts[2] + ruleGroupIdentifier := parts[3] // Parse Web ACL ARN to get ID, name, and scope webACLID, webACLName, webACLScope, err := tfwafv2.ParseWebACLARN(webACLARN) @@ -536,10 +665,30 @@ func testAccCheckWebACLRuleGroupAssociationExists(ctx context.Context, n string, // Check if the rule exists in the Web ACL with the correct configuration found := false for _, rule := range webACL.WebACL.Rules { - if aws.ToString(rule.Name) == ruleName && - rule.Statement != nil && - rule.Statement.RuleGroupReferenceStatement != nil && - aws.ToString(rule.Statement.RuleGroupReferenceStatement.ARN) == ruleGroupARN { + if aws.ToString(rule.Name) != ruleName || rule.Statement == nil { + continue + } + + // Check if this rule matches our rule group type and identifier + var matchesRuleGroup bool + if ruleGroupType == "custom" && rule.Statement.RuleGroupReferenceStatement != nil { + // For custom rule groups, the identifier is the ARN + if aws.ToString(rule.Statement.RuleGroupReferenceStatement.ARN) == ruleGroupIdentifier { + matchesRuleGroup = true + } + } else if ruleGroupType == "managed" && rule.Statement.ManagedRuleGroupStatement != nil { + // For managed rule groups, construct identifier and compare + managedStmt := rule.Statement.ManagedRuleGroupStatement + managedIdentifier := fmt.Sprintf("%s:%s", aws.ToString(managedStmt.VendorName), aws.ToString(managedStmt.Name)) + if managedStmt.Version != nil && aws.ToString(managedStmt.Version) != "" { + managedIdentifier += ":" + aws.ToString(managedStmt.Version) + } + if managedIdentifier == ruleGroupIdentifier { + matchesRuleGroup = true + } + } + + if matchesRuleGroup { found = true break } @@ -570,7 +719,7 @@ func testAccWebACLRuleGroupAssociationImportStateIDFunc(resourceName string) res } } -func testAccWebACLRuleGroupAssociationConfig_basic(rName string) string { +func testAccWebACLRuleGroupAssociationConfig_RuleGroupReference_basic(rName string) string { return fmt.Sprintf(` resource "aws_wafv2_rule_group" "test" { name = %[1]q @@ -636,7 +785,7 @@ resource "aws_wafv2_web_acl_rule_group_association" "test" { `, rName) } -func testAccWebACLRuleGroupAssociationConfig_overrideAction(rName, overrideAction string) string { +func testAccWebACLRuleGroupAssociationConfig_RuleGroupReference_overrideAction(rName, overrideAction string) string { return fmt.Sprintf(` resource "aws_wafv2_rule_group" "test" { name = %[1]q @@ -703,7 +852,7 @@ resource "aws_wafv2_web_acl_rule_group_association" "test" { `, rName, overrideAction) } -func testAccWebACLRuleGroupAssociationConfig_ruleActionOverride(rName string) string { +func testAccWebACLRuleGroupAssociationConfig_RuleGroupReference_ruleActionOverride(rName string) string { return fmt.Sprintf(` resource "aws_wafv2_rule_group" "test" { name = %[1]q @@ -793,7 +942,7 @@ resource "aws_wafv2_web_acl_rule_group_association" "test" { rule_group_reference { arn = aws_wafv2_rule_group.test.arn - + rule_action_override { name = "rule-1" action_to_use { @@ -827,7 +976,7 @@ resource "aws_wafv2_web_acl_rule_group_association" "test" { `, rName) } -func testAccWebACLRuleGroupAssociationConfig_ruleActionOverrideCount(rName string) string { +func testAccWebACLRuleGroupAssociationConfig_RuleGroupReference_ruleActionOverrideCount(rName string) string { return fmt.Sprintf(` resource "aws_wafv2_rule_group" "test" { name = %[1]q @@ -888,7 +1037,7 @@ resource "aws_wafv2_web_acl_rule_group_association" "test" { rule_group_reference { arn = aws_wafv2_rule_group.test.arn - + rule_action_override { name = "rule-1" action_to_use { @@ -907,7 +1056,7 @@ resource "aws_wafv2_web_acl_rule_group_association" "test" { `, rName) } -func testAccWebACLRuleGroupAssociationConfig_ruleActionOverrideCaptcha(rName string) string { +func testAccWebACLRuleGroupAssociationConfig_RuleGroupReference_ruleActionOverrideCaptcha(rName string) string { return fmt.Sprintf(` resource "aws_wafv2_rule_group" "test" { name = %[1]q @@ -962,11 +1111,11 @@ resource "aws_wafv2_web_acl" "test" { } resource "aws_wafv2_web_acl_rule_group_association" "test" { - rule_name = "%[1]s-association" - priority = 10 + rule_name = "%[1]s-association" + priority = 10 rule_group_reference { arn = aws_wafv2_rule_group.test.arn - + rule_action_override { name = "rule-1" action_to_use { @@ -981,12 +1130,12 @@ resource "aws_wafv2_web_acl_rule_group_association" "test" { } } } - web_acl_arn = aws_wafv2_web_acl.test.arn + web_acl_arn = aws_wafv2_web_acl.test.arn } `, rName) } -func testAccWebACLRuleGroupAssociationConfig_priority(rName string, priority int) string { +func testAccWebACLRuleGroupAssociationConfig_RuleGroupReference_priority(rName string, priority int) string { return fmt.Sprintf(` resource "aws_wafv2_rule_group" "test" { name = %[1]q @@ -1041,8 +1190,8 @@ resource "aws_wafv2_web_acl" "test" { } resource "aws_wafv2_web_acl_rule_group_association" "test" { - rule_name = "%[1]s-association" - priority = %[2]d + rule_name = "%[1]s-association" + priority = %[2]d rule_group_reference { arn = aws_wafv2_rule_group.test.arn } @@ -1052,7 +1201,7 @@ resource "aws_wafv2_web_acl_rule_group_association" "test" { `, rName, priority) } -func testAccWebACLRuleGroupAssociationConfig_ruleName(rName, ruleName string) string { +func testAccWebACLRuleGroupAssociationConfig_RuleGroupReference_ruleName(rName, ruleName string) string { return fmt.Sprintf(` resource "aws_wafv2_rule_group" "test" { name = %[1]q @@ -1107,8 +1256,8 @@ resource "aws_wafv2_web_acl" "test" { } resource "aws_wafv2_web_acl_rule_group_association" "test" { - rule_name = %[2]q - priority = 10 + rule_name = %[2]q + priority = 10 rule_group_reference { arn = aws_wafv2_rule_group.test.arn } @@ -1118,7 +1267,7 @@ resource "aws_wafv2_web_acl_rule_group_association" "test" { `, rName, ruleName) } -func testAccWebACLRuleGroupAssociationConfig_webACL(rName, webACLSuffix string) string { +func testAccWebACLRuleGroupAssociationConfig_RuleGroupReference_webACL(rName, webACLSuffix string) string { return fmt.Sprintf(` resource "aws_wafv2_rule_group" "test" { name = %[1]q @@ -1173,8 +1322,8 @@ resource "aws_wafv2_web_acl" "test" { } resource "aws_wafv2_web_acl_rule_group_association" "test" { - rule_name = "%[1]s-association" - priority = 10 + rule_name = "%[1]s-association" + priority = 10 rule_group_reference { arn = aws_wafv2_rule_group.test.arn } @@ -1183,3 +1332,107 @@ resource "aws_wafv2_web_acl_rule_group_association" "test" { } `, rName, webACLSuffix) } + +func testAccWebACLRuleGroupAssociationConfig_ManagedRuleGroup_basic(rName string) string { + return fmt.Sprintf(` +resource "aws_wafv2_web_acl" "test" { + name = %[1]q + scope = "REGIONAL" + + default_action { + allow {} + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = %[1]q + sampled_requests_enabled = false + } +} + +resource "aws_wafv2_web_acl_rule_group_association" "test" { + rule_name = "test-rule" + priority = 1 + web_acl_arn = aws_wafv2_web_acl.test.arn + + managed_rule_group { + name = "AWSManagedRulesCommonRuleSet" + vendor_name = "AWS" + } + + override_action = "none" +} +`, rName) +} + +func testAccWebACLRuleGroupAssociationConfig_ManagedRuleGroup_withVersion(rName string) string { + return fmt.Sprintf(` +resource "aws_wafv2_web_acl" "test" { + name = %[1]q + scope = "REGIONAL" + + default_action { + allow {} + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = %[1]q + sampled_requests_enabled = false + } +} + +resource "aws_wafv2_web_acl_rule_group_association" "test" { + rule_name = "test-rule" + priority = 1 + web_acl_arn = aws_wafv2_web_acl.test.arn + + managed_rule_group { + name = "AWSManagedRulesCommonRuleSet" + vendor_name = "AWS" + version = "Version_1.0" + } + + override_action = "none" +} +`, rName) +} + +func testAccWebACLRuleGroupAssociationConfig_ManagedRuleGroup_ruleActionOverride(rName string) string { + return fmt.Sprintf(` +resource "aws_wafv2_web_acl" "test" { + name = %[1]q + scope = "REGIONAL" + + default_action { + allow {} + } + + visibility_config { + cloudwatch_metrics_enabled = false + metric_name = %[1]q + sampled_requests_enabled = false + } +} + +resource "aws_wafv2_web_acl_rule_group_association" "test" { + rule_name = "test-rule" + priority = 1 + web_acl_arn = aws_wafv2_web_acl.test.arn + + managed_rule_group { + name = "AWSManagedRulesCommonRuleSet" + vendor_name = "AWS" + + rule_action_override { + name = "GenericRFI_BODY" + action_to_use { + count {} + } + } + } + + override_action = "none" +} +`, rName) +} From 2d61bd7ea613e48c01b87305fa2c27be1c2a445b Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Wed, 30 Jul 2025 13:59:05 -0400 Subject: [PATCH 0624/1301] Test for managed rule groups --- .../web_acl_rule_group_association_test.go | 46 +++++++++++++++++-- 1 file changed, 42 insertions(+), 4 deletions(-) diff --git a/internal/service/wafv2/web_acl_rule_group_association_test.go b/internal/service/wafv2/web_acl_rule_group_association_test.go index d008b291692e..7b608fb4e47d 100644 --- a/internal/service/wafv2/web_acl_rule_group_association_test.go +++ b/internal/service/wafv2/web_acl_rule_group_association_test.go @@ -475,6 +475,7 @@ func TestAccWAFV2WebACLRuleGroupAssociation_ManagedRuleGroup_basic(t *testing.T) ResourceName: resourceName, ImportState: true, ImportStateVerify: true, + ImportStateIdFunc: testAccWebACLRuleGroupAssociationManagedRuleGroupImportStateIDFunc(resourceName), }, }, }) @@ -510,6 +511,7 @@ func TestAccWAFV2WebACLRuleGroupAssociation_ManagedRuleGroup_withVersion(t *test ResourceName: resourceName, ImportState: true, ImportStateVerify: true, + ImportStateIdFunc: testAccWebACLRuleGroupAssociationManagedRuleGroupImportStateIDFunc(resourceName), }, }, }) @@ -548,6 +550,7 @@ func TestAccWAFV2WebACLRuleGroupAssociation_ManagedRuleGroup_ruleActionOverride( ResourceName: resourceName, ImportState: true, ImportStateVerify: true, + ImportStateIdFunc: testAccWebACLRuleGroupAssociationManagedRuleGroupImportStateIDFunc(resourceName), }, }, }) @@ -719,6 +722,29 @@ func testAccWebACLRuleGroupAssociationImportStateIDFunc(resourceName string) res } } +func testAccWebACLRuleGroupAssociationManagedRuleGroupImportStateIDFunc(resourceName string) resource.ImportStateIdFunc { + return func(s *terraform.State) (string, error) { + rs, ok := s.RootModule().Resources[resourceName] + if !ok { + return "", fmt.Errorf("Not found: %s", resourceName) + } + + webACLARN := rs.Primary.Attributes["web_acl_arn"] + vendorName := rs.Primary.Attributes["managed_rule_group.0.vendor_name"] + ruleGroupName := rs.Primary.Attributes["managed_rule_group.0.name"] + version := rs.Primary.Attributes["managed_rule_group.0.version"] + ruleName := rs.Primary.Attributes["rule_name"] + + // Build managed rule group identifier: vendorName:ruleGroupName[:version] + ruleGroupIdentifier := fmt.Sprintf("%s:%s", vendorName, ruleGroupName) + if version != "" { + ruleGroupIdentifier += ":" + version + } + + return fmt.Sprintf("%s,%s,%s", webACLARN, ruleGroupIdentifier, ruleName), nil + } +} + func testAccWebACLRuleGroupAssociationConfig_RuleGroupReference_basic(rName string) string { return fmt.Sprintf(` resource "aws_wafv2_rule_group" "test" { @@ -1345,8 +1371,12 @@ resource "aws_wafv2_web_acl" "test" { visibility_config { cloudwatch_metrics_enabled = false - metric_name = %[1]q - sampled_requests_enabled = false + metric_name = %[1]q + sampled_requests_enabled = false + } + + lifecycle { + ignore_changes = [rule] } } @@ -1377,8 +1407,12 @@ resource "aws_wafv2_web_acl" "test" { visibility_config { cloudwatch_metrics_enabled = false - metric_name = %[1]q - sampled_requests_enabled = false + metric_name = %[1]q + sampled_requests_enabled = false + } + + lifecycle { + ignore_changes = [rule] } } @@ -1413,6 +1447,10 @@ resource "aws_wafv2_web_acl" "test" { metric_name = %[1]q sampled_requests_enabled = false } + + lifecycle { + ignore_changes = [rule] + } } resource "aws_wafv2_web_acl_rule_group_association" "test" { From 68fe6f96986868c5c6efcbaf5cec128fdd3f8d72 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Wed, 30 Jul 2025 14:07:23 -0400 Subject: [PATCH 0625/1301] Update docs for managed rule groups --- .../web_acl_rule_group_association_test.go | 8 +- ...b_acl_rule_group_association.html.markdown | 177 +++++++++++++++++- 2 files changed, 171 insertions(+), 14 deletions(-) diff --git a/internal/service/wafv2/web_acl_rule_group_association_test.go b/internal/service/wafv2/web_acl_rule_group_association_test.go index 7b608fb4e47d..4dc38e8d1652 100644 --- a/internal/service/wafv2/web_acl_rule_group_association_test.go +++ b/internal/service/wafv2/web_acl_rule_group_association_test.go @@ -1371,8 +1371,8 @@ resource "aws_wafv2_web_acl" "test" { visibility_config { cloudwatch_metrics_enabled = false - metric_name = %[1]q - sampled_requests_enabled = false + metric_name = %[1]q + sampled_requests_enabled = false } lifecycle { @@ -1407,8 +1407,8 @@ resource "aws_wafv2_web_acl" "test" { visibility_config { cloudwatch_metrics_enabled = false - metric_name = %[1]q - sampled_requests_enabled = false + metric_name = %[1]q + sampled_requests_enabled = false } lifecycle { diff --git a/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown b/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown index 62459fd58ec8..a8fa75db4cde 100644 --- a/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown +++ b/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown @@ -8,7 +8,11 @@ description: |- # Resource: aws_wafv2_web_acl_rule_group_association -Associates a WAFv2 Rule Group with a Web ACL by adding a rule that references the Rule Group. Use this resource to apply the rules defined in a Rule Group to a Web ACL without duplicating rule definitions. +Associates a WAFv2 Rule Group (custom or managed) with a Web ACL by adding a rule that references the Rule Group. Use this resource to apply the rules defined in a Rule Group to a Web ACL without duplicating rule definitions. + +This resource supports both: +- **Custom Rule Groups**: User-created rule groups that you manage within your AWS account +- **Managed Rule Groups**: Pre-configured rule groups provided by AWS or third-party vendors ~> **Note:** This resource creates a rule within the Web ACL that references the entire Rule Group. The rule group's individual rules are evaluated as a unit when requests are processed by the Web ACL. @@ -16,7 +20,7 @@ Associates a WAFv2 Rule Group with a Web ACL by adding a rule that references th ## Example Usage -### Basic Usage +### Custom Rule Group - Basic Usage ```terraform resource "aws_wafv2_rule_group" "example" { @@ -82,7 +86,94 @@ resource "aws_wafv2_web_acl_rule_group_association" "example" { } ``` -### With Override Action +### Managed Rule Group - Basic Usage + +```terraform +resource "aws_wafv2_web_acl" "example" { + name = "example-web-acl" + scope = "REGIONAL" + + default_action { + allow {} + } + + visibility_config { + cloudwatch_metrics_enabled = true + metric_name = "example-web-acl" + sampled_requests_enabled = true + } + + lifecycle { + ignore_changes = [rule] + } +} + +resource "aws_wafv2_web_acl_rule_group_association" "managed_example" { + rule_name = "aws-common-rule-set" + priority = 50 + web_acl_arn = aws_wafv2_web_acl.example.arn + + managed_rule_group { + name = "AWSManagedRulesCommonRuleSet" + vendor_name = "AWS" + } +} +``` + +### Managed Rule Group - With Version + +```terraform +resource "aws_wafv2_web_acl_rule_group_association" "managed_versioned" { + rule_name = "aws-common-rule-set-versioned" + priority = 60 + web_acl_arn = aws_wafv2_web_acl.example.arn + + managed_rule_group { + name = "AWSManagedRulesCommonRuleSet" + vendor_name = "AWS" + version = "Version_1.0" + } +} +``` + +### Managed Rule Group - With Rule Action Overrides + +```terraform +resource "aws_wafv2_web_acl_rule_group_association" "managed_with_overrides" { + rule_name = "aws-common-rule-set-with-overrides" + priority = 70 + web_acl_arn = aws_wafv2_web_acl.example.arn + + managed_rule_group { + name = "AWSManagedRulesCommonRuleSet" + vendor_name = "AWS" + + # Override specific rules within the managed rule group + rule_action_override { + name = "GenericRFI_BODY" + action_to_use { + count { + custom_request_handling { + insert_header { + name = "X-RFI-Override" + value = "counted" + } + } + } + } + } + + rule_action_override { + name = "SizeRestrictions_BODY" + action_to_use { + captcha {} + } + } + } +} +``` + +### Custom Rule Group - With Override Action ```terraform resource "aws_wafv2_web_acl_rule_group_association" "example" { @@ -97,7 +188,7 @@ resource "aws_wafv2_web_acl_rule_group_association" "example" { } ``` -### With Rule Action Overrides +### Custom Rule Group - With Rule Action Overrides ```terraform resource "aws_wafv2_rule_group" "example" { @@ -214,7 +305,7 @@ resource "aws_wafv2_web_acl_rule_group_association" "example" { } ``` -### CloudFront Web ACL +### Custom Rule Group - CloudFront Web ACL ```terraform resource "aws_wafv2_rule_group" "cloudfront_example" { @@ -288,7 +379,11 @@ The following arguments are required: * `rule_name` - (Required) Name of the rule to create in the Web ACL that references the rule group. Must be between 1 and 128 characters. * `priority` - (Required) Priority of the rule within the Web ACL. Rules are evaluated in order of priority, with lower numbers evaluated first. * `web_acl_arn` - (Required) ARN of the Web ACL to associate the Rule Group with. -* `rule_group_reference` - (Required) Rule Group reference configuration. [See below](#rule_group_reference). + +Exactly one of the following rule group blocks is required: + +* `rule_group_reference` - (Optional) Custom Rule Group reference configuration. Conflicts with `managed_rule_group`. [See below](#rule_group_reference). +* `managed_rule_group` - (Optional) Managed Rule Group configuration. Conflicts with `rule_group_reference`. [See below](#managed_rule_group). The following arguments are optional: @@ -300,6 +395,13 @@ The following arguments are optional: * `arn` - (Required) ARN of the Rule Group to associate with the Web ACL. * `rule_action_override` - (Optional) Override actions for specific rules within the rule group. [See below](#rule_action_override). +### managed_rule_group + +* `name` - (Required) Name of the managed rule group. +* `vendor_name` - (Required) Name of the managed rule group vendor. For AWS managed rule groups, this is `AWS`. +* `version` - (Optional) Version of the managed rule group. If not specified, the default version is used. +* `rule_action_override` - (Optional) Override actions for specific rules within the rule group. [See below](#rule_action_override). + ### rule_action_override * `name` - (Required) Name of the rule to override within the rule group. @@ -371,17 +473,72 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import WAFv2 Web ACL Rule Group Associations using `WebACLARN,RuleName,RuleGroupARN`. For example: +WAFv2 Web ACL Rule Group Associations can be imported using different formats depending on the rule group type: + +### Custom Rule Groups + +For custom rule groups, use the format: `WebACLARN,RuleGroupARN,RuleName` + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import): ```terraform import { to = aws_wafv2_web_acl_rule_group_association.example - id = "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,example-rule-group-rule,arn:aws:wafv2:us-east-1:123456789012:regional/rulegroup/example-rule-group/87654321-4321-4321-4321-210987654321" + id = "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,arn:aws:wafv2:us-east-1:123456789012:regional/rulegroup/example-rule-group/87654321-4321-4321-4321-210987654321,example-rule-group-rule" +} +``` + +Using `terraform import`: + +```console +% terraform import aws_wafv2_web_acl_rule_group_association.example "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,arn:aws:wafv2:us-east-1:123456789012:regional/rulegroup/example-rule-group/87654321-4321-4321-4321-210987654321,example-rule-group-rule" +``` + +### Managed Rule Groups + +For managed rule groups, use the format: `WebACLARN,VendorName:RuleGroupName[:Version],RuleName` + +#### Managed Rule Group without Version + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import): + +```terraform +import { + to = aws_wafv2_web_acl_rule_group_association.managed_example + id = "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,AWS:AWSManagedRulesCommonRuleSet,aws-common-rule-set" } ``` -Using `terraform import`, import WAFv2 Web ACL Rule Group Associations using `WebACLARN,RuleName,RuleGroupARN`. For example: +Using `terraform import`: ```console -% terraform import aws_wafv2_web_acl_rule_group_association.example "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,example-rule-group-rule,arn:aws:wafv2:us-east-1:123456789012:regional/rulegroup/example-rule-group/87654321-4321-4321-4321-210987654321" +% terraform import aws_wafv2_web_acl_rule_group_association.managed_example "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,AWS:AWSManagedRulesCommonRuleSet,aws-common-rule-set" +``` + +#### Managed Rule Group with Version + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import): + +```terraform +import { + to = aws_wafv2_web_acl_rule_group_association.managed_versioned + id = "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,AWS:AWSManagedRulesCommonRuleSet:Version_1.0,aws-common-rule-set-versioned" +} +``` + +Using `terraform import`: + +```console +% terraform import aws_wafv2_web_acl_rule_group_association.managed_versioned "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,AWS:AWSManagedRulesCommonRuleSet:Version_1.0,aws-common-rule-set-versioned" +``` + +#### CloudFront (Global) Web ACL + +For CloudFront Web ACLs, the ARN uses the `global` region: + +```terraform +import { + to = aws_wafv2_web_acl_rule_group_association.cloudfront_example + id = "arn:aws:wafv2:global:123456789012:global/webacl/cloudfront-web-acl/12345678-1234-1234-1234-123456789012,arn:aws:wafv2:global:123456789012:global/rulegroup/cloudfront-rule-group/87654321-4321-4321-4321-210987654321,cloudfront-rule-group-rule" +} ``` From e6bdf73838da7ed74acde0db910936f4571db225 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Wed, 30 Jul 2025 14:13:15 -0400 Subject: [PATCH 0626/1301] Use aws func instead of hasprefix --- internal/service/wafv2/web_acl_rule_group_association.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/internal/service/wafv2/web_acl_rule_group_association.go b/internal/service/wafv2/web_acl_rule_group_association.go index ca6d6b9e4136..9cc474783cc4 100644 --- a/internal/service/wafv2/web_acl_rule_group_association.go +++ b/internal/service/wafv2/web_acl_rule_group_association.go @@ -10,6 +10,7 @@ import ( "time" "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/aws/arn" "github.com/aws/aws-sdk-go-v2/service/wafv2" awstypes "github.com/aws/aws-sdk-go-v2/service/wafv2/types" "github.com/hashicorp/terraform-plugin-framework-timeouts/resource/timeouts" @@ -1134,7 +1135,7 @@ func (r *resourceWebACLRuleGroupAssociation) ImportState(ctx context.Context, re var ruleGroupRefModel *ruleGroupReferenceModel var managedRuleGroupRef *managedRuleGroupModel - if strings.HasPrefix(ruleGroupIdentifier, "arn:") { + if arn.IsARN(ruleGroupIdentifier) { // Custom rule group (ARN format) ruleGroupType = "custom" ruleGroupRefModel = &ruleGroupReferenceModel{ From 3638a9bb39d54ec9d419677eb942b2f48b7a4320 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Wed, 30 Jul 2025 14:18:04 -0400 Subject: [PATCH 0627/1301] Update docs --- .../wafv2_web_acl_rule_group_association.html.markdown | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown b/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown index a8fa75db4cde..188dc7a948e8 100644 --- a/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown +++ b/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown @@ -11,6 +11,7 @@ description: |- Associates a WAFv2 Rule Group (custom or managed) with a Web ACL by adding a rule that references the Rule Group. Use this resource to apply the rules defined in a Rule Group to a Web ACL without duplicating rule definitions. This resource supports both: + - **Custom Rule Groups**: User-created rule groups that you manage within your AWS account - **Managed Rule Groups**: Pre-configured rule groups provided by AWS or third-party vendors @@ -272,7 +273,7 @@ resource "aws_wafv2_web_acl_rule_group_association" "example" { rule_group_reference { arn = aws_wafv2_rule_group.example.arn - + # Override specific rules within the rule group rule_action_override { name = "geo-block-rule" @@ -380,15 +381,12 @@ The following arguments are required: * `priority` - (Required) Priority of the rule within the Web ACL. Rules are evaluated in order of priority, with lower numbers evaluated first. * `web_acl_arn` - (Required) ARN of the Web ACL to associate the Rule Group with. -Exactly one of the following rule group blocks is required: - -* `rule_group_reference` - (Optional) Custom Rule Group reference configuration. Conflicts with `managed_rule_group`. [See below](#rule_group_reference). -* `managed_rule_group` - (Optional) Managed Rule Group configuration. Conflicts with `rule_group_reference`. [See below](#managed_rule_group). - The following arguments are optional: +* `managed_rule_group` - (Optional) Managed Rule Group configuration. One of `rule_group_reference` or `managed_rule_group` is required. Conflicts with `rule_group_reference`. [See below](#managed_rule_group). * `override_action` - (Optional) Override action for the rule group. Valid values are `none` and `count`. Defaults to `none`. When set to `count`, the actions defined in the rule group rules are overridden to count matches instead of blocking or allowing requests. * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). +* `rule_group_reference` - (Optional) Custom Rule Group reference configuration. One of `rule_group_reference` or `managed_rule_group` is required. Conflicts with `managed_rule_group`. [See below](#rule_group_reference). ### rule_group_reference From 4333bc5ff4589addd4844bd026710345d7654cd1 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Wed, 30 Jul 2025 15:29:44 -0400 Subject: [PATCH 0628/1301] Update import sections --- ...b_acl_rule_group_association.html.markdown | 52 +++---------------- 1 file changed, 6 insertions(+), 46 deletions(-) diff --git a/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown b/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown index 188dc7a948e8..8fbf7ba079c7 100644 --- a/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown +++ b/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown @@ -471,13 +471,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -WAFv2 Web ACL Rule Group Associations can be imported using different formats depending on the rule group type: - -### Custom Rule Groups - -For custom rule groups, use the format: `WebACLARN,RuleGroupARN,RuleName` - -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import): +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import WAFv2 web ACL custom rule group associations using `WebACLARN,RuleGroupARN,RuleName`. For example: ```terraform import { @@ -486,19 +480,7 @@ import { } ``` -Using `terraform import`: - -```console -% terraform import aws_wafv2_web_acl_rule_group_association.example "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,arn:aws:wafv2:us-east-1:123456789012:regional/rulegroup/example-rule-group/87654321-4321-4321-4321-210987654321,example-rule-group-rule" -``` - -### Managed Rule Groups - -For managed rule groups, use the format: `WebACLARN,VendorName:RuleGroupName[:Version],RuleName` - -#### Managed Rule Group without Version - -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import): +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import WAFv2 web ACL managed rule group associations using `WebACLARN,VendorName:RuleGroupName[:Version],RuleName`. For example: ```terraform import { @@ -507,36 +489,14 @@ import { } ``` -Using `terraform import`: +Using `terraform import`, import WAFv2 web ACL custom rule group associations using `WebACLARN,RuleGroupARN,RuleName`. For example: ```console -% terraform import aws_wafv2_web_acl_rule_group_association.managed_example "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,AWS:AWSManagedRulesCommonRuleSet,aws-common-rule-set" -``` - -#### Managed Rule Group with Version - -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import): - -```terraform -import { - to = aws_wafv2_web_acl_rule_group_association.managed_versioned - id = "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,AWS:AWSManagedRulesCommonRuleSet:Version_1.0,aws-common-rule-set-versioned" -} +% terraform import aws_wafv2_web_acl_rule_group_association.example "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,arn:aws:wafv2:us-east-1:123456789012:regional/rulegroup/example-rule-group/87654321-4321-4321-4321-210987654321,example-rule-group-rule" ``` -Using `terraform import`: +Using `terraform import`, import WAFv2 web ACL managed rule group associations using `WebACLARN,VendorName:RuleGroupName[:Version],RuleName`. For example: ```console -% terraform import aws_wafv2_web_acl_rule_group_association.managed_versioned "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,AWS:AWSManagedRulesCommonRuleSet:Version_1.0,aws-common-rule-set-versioned" -``` - -#### CloudFront (Global) Web ACL - -For CloudFront Web ACLs, the ARN uses the `global` region: - -```terraform -import { - to = aws_wafv2_web_acl_rule_group_association.cloudfront_example - id = "arn:aws:wafv2:global:123456789012:global/webacl/cloudfront-web-acl/12345678-1234-1234-1234-123456789012,arn:aws:wafv2:global:123456789012:global/rulegroup/cloudfront-rule-group/87654321-4321-4321-4321-210987654321,cloudfront-rule-group-rule" -} +% terraform import aws_wafv2_web_acl_rule_group_association.managed_example "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,AWS:AWSManagedRulesCommonRuleSet,aws-common-rule-set" ``` From fc17aa2695cf5f54c47c10d22a562d7a8e7d6512 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Wed, 30 Jul 2025 17:23:55 -0400 Subject: [PATCH 0629/1301] Add warnings, tweaks to docs --- .../r/wafv2_web_acl_rule_group_association.html.markdown | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown b/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown index 8fbf7ba079c7..15c88ee311d7 100644 --- a/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown +++ b/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown @@ -15,10 +15,12 @@ This resource supports both: - **Custom Rule Groups**: User-created rule groups that you manage within your AWS account - **Managed Rule Groups**: Pre-configured rule groups provided by AWS or third-party vendors -~> **Note:** This resource creates a rule within the Web ACL that references the entire Rule Group. The rule group's individual rules are evaluated as a unit when requests are processed by the Web ACL. +!> **Warning:** Verify the rule names in your `rule_action_override`s carefully. With managed rule groups, WAF silently ignores any override that uses an invalid rule name. With customer-owned rule groups, invalid rule names in your overrides will cause web ACL updates to fail. An invalid rule name is any name that doesn't exactly match the case-sensitive name of an existing rule in the rule group. !> **Warning:** Using this resource will cause the associated Web ACL resource to show configuration drift in the `rule` argument unless you add `lifecycle { ignore_changes = [rule] }` to the Web ACL resource configuration. This is because this resource modifies the Web ACL's rules outside of the Web ACL resource's direct management. +~> **Note:** This resource creates a rule within the Web ACL that references the entire Rule Group. The rule group's individual rules are evaluated as a unit when requests are processed by the Web ACL. + ## Example Usage ### Custom Rule Group - Basic Usage @@ -402,7 +404,7 @@ The following arguments are optional: ### rule_action_override -* `name` - (Required) Name of the rule to override within the rule group. +* `name` - (Required) Name of the rule to override within the rule group. Verify the name carefully. With managed rule groups, WAF silently ignores any override that uses an invalid rule name. With customer-owned rule groups, invalid rule names in your overrides will cause web ACL updates to fail. An invalid rule name is any name that doesn't exactly match the case-sensitive name of an existing rule in the rule group. * `action_to_use` - (Required) Action to use instead of the rule's original action. [See below](#action_to_use). ### action_to_use From 44d66f679e993cce223ae7c6a04c2c3248e63904 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Wed, 6 Aug 2025 15:41:42 -0400 Subject: [PATCH 0630/1301] Update how IDs are handled --- .../wafv2/web_acl_rule_group_association.go | 274 ++++++++---------- 1 file changed, 113 insertions(+), 161 deletions(-) diff --git a/internal/service/wafv2/web_acl_rule_group_association.go b/internal/service/wafv2/web_acl_rule_group_association.go index 9cc474783cc4..e18d85bcb9eb 100644 --- a/internal/service/wafv2/web_acl_rule_group_association.go +++ b/internal/service/wafv2/web_acl_rule_group_association.go @@ -27,7 +27,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types/basetypes" "github.com/hashicorp/terraform-provider-aws/internal/create" "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" - "github.com/hashicorp/terraform-provider-aws/internal/flex" + intflex "github.com/hashicorp/terraform-provider-aws/internal/flex" "github.com/hashicorp/terraform-provider-aws/internal/framework" fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" @@ -319,7 +319,6 @@ func (r *resourceWebACLRuleGroupAssociation) Schema(ctx context.Context, req res } resp.Schema = schema.Schema{ Attributes: map[string]schema.Attribute{ - names.AttrID: framework.IDAttribute(), "rule_name": schema.StringAttribute{ Required: true, PlanModifiers: []planmodifier.String{ @@ -648,27 +647,6 @@ func (r *resourceWebACLRuleGroupAssociation) Create(ctx context.Context, req res return } - // Set the ID using the standard flex utility with comma separators - // Format: webACLARN,ruleName,ruleGroupType,ruleGroupIdentifier - ruleGroupType := "custom" - if ruleGroupARN == "" { - ruleGroupType = "managed" - } - id, err := flex.FlattenResourceId([]string{ - plan.WebACLARN.ValueString(), - plan.RuleName.ValueString(), - ruleGroupType, - ruleGroupIdentifier, - }, webACLRuleGroupAssociationResourceIDPartCount, false) - if err != nil { - resp.Diagnostics.AddError( - "Error creating resource ID", - fmt.Sprintf("Could not create resource ID: %s", err), - ) - return - } - plan.ID = types.StringValue(id) - resp.Diagnostics.Append(resp.State.Set(ctx, plan)...) } @@ -681,21 +659,9 @@ func (r *resourceWebACLRuleGroupAssociation) Read(ctx context.Context, req resou conn := r.Meta().WAFV2Client(ctx) - // Parse the ID using the standard flex utility - // Format: webACLARN,ruleName,ruleGroupType,ruleGroupIdentifier - parts, err := flex.ExpandResourceId(state.ID.ValueString(), webACLRuleGroupAssociationResourceIDPartCount, false) - if err != nil { - resp.Diagnostics.AddError( - "Invalid Resource ID", - fmt.Sprintf("Could not parse resource ID: %s", err), - ) - return - } - - webACLARN := parts[0] - ruleName := parts[1] - ruleGroupType := parts[2] - ruleGroupIdentifier := parts[3] + // Use attributes directly instead of parsing ID + webACLARN := state.WebACLARN.ValueString() + ruleName := state.RuleName.ValueString() // Parse Web ACL ARN to get ID, name, and scope webACLID, webACLName, webACLScope, err := parseWebACLARN(webACLARN) @@ -730,78 +696,86 @@ func (r *resourceWebACLRuleGroupAssociation) Read(ctx context.Context, req resou continue } - // Check if this rule matches our rule group type and identifier + // Check if this rule matches our rule group configuration from state if rule.Statement != nil { var matchesRuleGroup bool var ruleActionOverrides fwtypes.ListNestedObjectValueOf[ruleActionOverrideModel] - if ruleGroupType == "custom" && rule.Statement.RuleGroupReferenceStatement != nil { - // For custom rule groups, the identifier is the ARN - if aws.ToString(rule.Statement.RuleGroupReferenceStatement.ARN) == ruleGroupIdentifier { - matchesRuleGroup = true - // Handle rule action overrides with autoflex - if rule.Statement.RuleGroupReferenceStatement.RuleActionOverrides != nil { - resp.Diagnostics.Append(fwflex.Flatten(ctx, rule.Statement.RuleGroupReferenceStatement.RuleActionOverrides, &ruleActionOverrides)...) - if resp.Diagnostics.HasError() { - return - } - } else { - ruleActionOverrides = fwtypes.NewListNestedObjectValueOfNull[ruleActionOverrideModel](ctx) - } - - // Set the rule group reference nested structure - ruleGroupRefModel := ruleGroupReferenceModel{ - ARN: types.StringValue(ruleGroupIdentifier), - RuleActionOverride: ruleActionOverrides, - } - - listValue, diags := fwtypes.NewListNestedObjectValueOfSlice(ctx, []*ruleGroupReferenceModel{&ruleGroupRefModel}, nil) - resp.Diagnostics.Append(diags...) + // Check if we have a custom rule group in state + if !state.RuleGroupReference.IsNull() && !state.RuleGroupReference.IsUnknown() && rule.Statement.RuleGroupReferenceStatement != nil { + // Get the ARN from state for comparison + ruleGroupRefs := state.RuleGroupReference.Elements() + if len(ruleGroupRefs) > 0 { + var ruleGroupRefModel ruleGroupReferenceModel + resp.Diagnostics.Append(ruleGroupRefs[0].(fwtypes.ObjectValueOf[ruleGroupReferenceModel]).As(ctx, &ruleGroupRefModel, basetypes.ObjectAsOptions{})...) if resp.Diagnostics.HasError() { return } - state.RuleGroupReference = listValue - state.ManagedRuleGroup = fwtypes.NewListNestedObjectValueOfNull[managedRuleGroupModel](ctx) - } - } else if ruleGroupType == "managed" && rule.Statement.ManagedRuleGroupStatement != nil { - // For managed rule groups, construct identifier and compare - managedStmt := rule.Statement.ManagedRuleGroupStatement - managedIdentifier := fmt.Sprintf("%s:%s", aws.ToString(managedStmt.VendorName), aws.ToString(managedStmt.Name)) - if managedStmt.Version != nil && aws.ToString(managedStmt.Version) != "" { - managedIdentifier += ":" + aws.ToString(managedStmt.Version) - } - if managedIdentifier == ruleGroupIdentifier { - matchesRuleGroup = true - // Handle rule action overrides with autoflex - if managedStmt.RuleActionOverrides != nil { - resp.Diagnostics.Append(fwflex.Flatten(ctx, managedStmt.RuleActionOverrides, &ruleActionOverrides)...) + if aws.ToString(rule.Statement.RuleGroupReferenceStatement.ARN) == ruleGroupRefModel.ARN.ValueString() { + matchesRuleGroup = true + // Handle rule action overrides with autoflex + if rule.Statement.RuleGroupReferenceStatement.RuleActionOverrides != nil { + resp.Diagnostics.Append(fwflex.Flatten(ctx, rule.Statement.RuleGroupReferenceStatement.RuleActionOverrides, &ruleActionOverrides)...) + if resp.Diagnostics.HasError() { + return + } + } else { + ruleActionOverrides = fwtypes.NewListNestedObjectValueOfNull[ruleActionOverrideModel](ctx) + } + + // Update the rule group reference nested structure + ruleGroupRefModel.RuleActionOverride = ruleActionOverrides + listValue, diags := fwtypes.NewListNestedObjectValueOfSlice(ctx, []*ruleGroupReferenceModel{&ruleGroupRefModel}, nil) + resp.Diagnostics.Append(diags...) if resp.Diagnostics.HasError() { return } - } else { - ruleActionOverrides = fwtypes.NewListNestedObjectValueOfNull[ruleActionOverrideModel](ctx) - } - - // Set the managed rule group nested structure - managedRuleGroupRef := managedRuleGroupModel{ - Name: types.StringValue(aws.ToString(managedStmt.Name)), - VendorName: types.StringValue(aws.ToString(managedStmt.VendorName)), - RuleActionOverride: ruleActionOverrides, - } - if managedStmt.Version != nil && aws.ToString(managedStmt.Version) != "" { - managedRuleGroupRef.Version = types.StringValue(aws.ToString(managedStmt.Version)) - } else { - managedRuleGroupRef.Version = types.StringNull() + state.RuleGroupReference = listValue + state.ManagedRuleGroup = fwtypes.NewListNestedObjectValueOfNull[managedRuleGroupModel](ctx) } - - listValue, diags := fwtypes.NewListNestedObjectValueOfSlice(ctx, []*managedRuleGroupModel{&managedRuleGroupRef}, nil) - resp.Diagnostics.Append(diags...) + } + } else if !state.ManagedRuleGroup.IsNull() && !state.ManagedRuleGroup.IsUnknown() && rule.Statement.ManagedRuleGroupStatement != nil { + // Check if we have a managed rule group in state + managedRuleGroups := state.ManagedRuleGroup.Elements() + if len(managedRuleGroups) > 0 { + var managedRuleGroupRef managedRuleGroupModel + resp.Diagnostics.Append(managedRuleGroups[0].(fwtypes.ObjectValueOf[managedRuleGroupModel]).As(ctx, &managedRuleGroupRef, basetypes.ObjectAsOptions{})...) if resp.Diagnostics.HasError() { return } - state.ManagedRuleGroup = listValue - state.RuleGroupReference = fwtypes.NewListNestedObjectValueOfNull[ruleGroupReferenceModel](ctx) + + managedStmt := rule.Statement.ManagedRuleGroupStatement + // Check if this matches our managed rule group from state + if aws.ToString(managedStmt.Name) == managedRuleGroupRef.Name.ValueString() && + aws.ToString(managedStmt.VendorName) == managedRuleGroupRef.VendorName.ValueString() { + + // Check version match (both can be empty/null) + stateVersion := managedRuleGroupRef.Version.ValueString() + ruleVersion := aws.ToString(managedStmt.Version) + if stateVersion == ruleVersion { + matchesRuleGroup = true + // Handle rule action overrides with autoflex + if managedStmt.RuleActionOverrides != nil { + resp.Diagnostics.Append(fwflex.Flatten(ctx, managedStmt.RuleActionOverrides, &ruleActionOverrides)...) + if resp.Diagnostics.HasError() { + return + } + } else { + ruleActionOverrides = fwtypes.NewListNestedObjectValueOfNull[ruleActionOverrideModel](ctx) + } + + // Update the managed rule group nested structure + managedRuleGroupRef.RuleActionOverride = ruleActionOverrides + listValue, diags := fwtypes.NewListNestedObjectValueOfSlice(ctx, []*managedRuleGroupModel{&managedRuleGroupRef}, nil) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + state.ManagedRuleGroup = listValue + state.RuleGroupReference = fwtypes.NewListNestedObjectValueOfNull[ruleGroupReferenceModel](ctx) + } + } } } @@ -833,10 +807,7 @@ func (r *resourceWebACLRuleGroupAssociation) Read(ctx context.Context, req resou return } - // Update state with current values - state.WebACLARN = types.StringValue(webACLARN) - state.RuleName = types.StringValue(ruleName) - + // Update state with current values (WebACLARN and RuleName should already be set from current state) resp.Diagnostics.Append(resp.State.Set(ctx, &state)...) } @@ -1012,20 +983,9 @@ func (r *resourceWebACLRuleGroupAssociation) Delete(ctx context.Context, req res conn := r.Meta().WAFV2Client(ctx) - // Parse the ID using the standard flex utility - // Format: webACLARN,ruleName,ruleGroupType,ruleGroupIdentifier - parts, err := flex.ExpandResourceId(state.ID.ValueString(), webACLRuleGroupAssociationResourceIDPartCount, false) - if err != nil { - resp.Diagnostics.AddError( - "Invalid Resource ID", - fmt.Sprintf("Could not parse resource ID: %s", err), - ) - return - } - - webACLARN := parts[0] - ruleName := parts[1] - // We don't need parts[2] (ruleGroupType) or parts[3] (ruleGroupIdentifier) for deletion + // Use attributes directly instead of parsing ID + webACLARN := state.WebACLARN.ValueString() + ruleName := state.RuleName.ValueString() // Parse Web ACL ARN to get ID, name, and scope webACLID, webACLName, webACLScope, err := parseWebACLARN(webACLARN) @@ -1046,7 +1006,7 @@ func (r *resourceWebACLRuleGroupAssociation) Delete(ctx context.Context, req res } resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.WAFV2, create.ErrActionDeleting, ResNameWebACLRuleGroupAssociation, state.ID.String(), err), + create.ProblemStandardMessage(names.WAFV2, create.ErrActionDeleting, ResNameWebACLRuleGroupAssociation, state.RuleName.String(), err), err.Error(), ) return @@ -1096,7 +1056,7 @@ func (r *resourceWebACLRuleGroupAssociation) Delete(ctx context.Context, req res if err != nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.WAFV2, create.ErrActionDeleting, ResNameWebACLRuleGroupAssociation, state.ID.String(), err), + create.ProblemStandardMessage(names.WAFV2, create.ErrActionDeleting, ResNameWebACLRuleGroupAssociation, state.RuleName.String(), err), err.Error(), ) return @@ -1104,24 +1064,22 @@ func (r *resourceWebACLRuleGroupAssociation) Delete(ctx context.Context, req res } func (r *resourceWebACLRuleGroupAssociation) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { - // Import format can be: - // 1. webACLARN,ruleGroupARN,ruleName (custom rule group - has ARN) - // 2. webACLARN,vendorName:ruleName[:version],ruleName (managed rule group - no ARN) - parts := strings.Split(req.ID, ",") - if len(parts) != 3 { + parts, err := intflex.ExpandResourceId(req.ID, webACLRuleGroupAssociationResourceIDPartCount, true) + if err != nil { resp.Diagnostics.AddError( - "Invalid Import ID", - "Import ID should be in format 'webACLARN,ruleGroupIdentifier,ruleName' where ruleGroupIdentifier is either an ARN (custom) or vendorName:ruleName[:version] (managed)", + "Unexpected Import Identifier", + fmt.Sprintf("Expected import identifier with format: web_acl_arn,rule_name,rule_group_type,rule_group_identifier. Got: %q", req.ID), ) return } webACLARN := parts[0] - ruleGroupIdentifier := parts[1] - ruleName := parts[2] + ruleName := parts[1] + ruleGroupType := parts[2] + ruleGroupIdentifier := parts[3] // Parse Web ACL ARN to get ID, name, and scope - _, _, _, err := parseWebACLARN(webACLARN) + _, _, _, err = parseWebACLARN(webACLARN) if err != nil { resp.Diagnostics.AddError( "Invalid Web ACL ARN", @@ -1130,21 +1088,35 @@ func (r *resourceWebACLRuleGroupAssociation) ImportState(ctx context.Context, re return } - // Determine rule group type based on identifier format - var ruleGroupType string - var ruleGroupRefModel *ruleGroupReferenceModel - var managedRuleGroupRef *managedRuleGroupModel + // Set basic attributes + resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("web_acl_arn"), webACLARN)...) + resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("rule_name"), ruleName)...) - if arn.IsARN(ruleGroupIdentifier) { + // Set the appropriate rule group nested structure based on type + if ruleGroupType == "custom" { // Custom rule group (ARN format) - ruleGroupType = "custom" - ruleGroupRefModel = &ruleGroupReferenceModel{ + if !arn.IsARN(ruleGroupIdentifier) { + resp.Diagnostics.AddError( + "Invalid Custom Rule Group Identifier", + "Custom rule group identifier should be an ARN", + ) + return + } + + ruleGroupRefModel := &ruleGroupReferenceModel{ ARN: types.StringValue(ruleGroupIdentifier), RuleActionOverride: fwtypes.NewListNestedObjectValueOfNull[ruleActionOverrideModel](ctx), } - } else { + + listValue, diags := fwtypes.NewListNestedObjectValueOfSlice(ctx, []*ruleGroupReferenceModel{ruleGroupRefModel}, nil) + resp.Diagnostics.Append(diags...) + if resp.Diagnostics.HasError() { + return + } + resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("rule_group_reference"), listValue)...) + resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("managed_rule_group"), fwtypes.NewListNestedObjectValueOfNull[managedRuleGroupModel](ctx))...) + } else if ruleGroupType == "managed" { // Managed rule group (vendorName:ruleName[:version] format) - ruleGroupType = "managed" identifierParts := strings.Split(ruleGroupIdentifier, ":") if len(identifierParts) < 2 { resp.Diagnostics.AddError( @@ -1161,7 +1133,7 @@ func (r *resourceWebACLRuleGroupAssociation) ImportState(ctx context.Context, re version = identifierParts[2] } - managedRuleGroupRef = &managedRuleGroupModel{ + managedRuleGroupRef := &managedRuleGroupModel{ Name: types.StringValue(ruleGroupName), VendorName: types.StringValue(vendorName), RuleActionOverride: fwtypes.NewListNestedObjectValueOfNull[ruleActionOverrideModel](ctx), @@ -1171,32 +1143,7 @@ func (r *resourceWebACLRuleGroupAssociation) ImportState(ctx context.Context, re } else { managedRuleGroupRef.Version = types.StringNull() } - } - - // Set the ID using the standard flex utility with comma separators - id, err := flex.FlattenResourceId([]string{webACLARN, ruleName, ruleGroupType, ruleGroupIdentifier}, webACLRuleGroupAssociationResourceIDPartCount, false) - if err != nil { - resp.Diagnostics.AddError( - "Error creating resource ID", - fmt.Sprintf("Could not create resource ID: %s", err), - ) - return - } - - resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root(names.AttrID), id)...) - resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("web_acl_arn"), webACLARN)...) - resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("rule_name"), ruleName)...) - // Set the appropriate rule group nested structure - if ruleGroupRefModel != nil { - listValue, diags := fwtypes.NewListNestedObjectValueOfSlice(ctx, []*ruleGroupReferenceModel{ruleGroupRefModel}, nil) - resp.Diagnostics.Append(diags...) - if resp.Diagnostics.HasError() { - return - } - resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("rule_group_reference"), listValue)...) - resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("managed_rule_group"), fwtypes.NewListNestedObjectValueOfNull[managedRuleGroupModel](ctx))...) - } else if managedRuleGroupRef != nil { listValue, diags := fwtypes.NewListNestedObjectValueOfSlice(ctx, []*managedRuleGroupModel{managedRuleGroupRef}, nil) resp.Diagnostics.Append(diags...) if resp.Diagnostics.HasError() { @@ -1204,6 +1151,12 @@ func (r *resourceWebACLRuleGroupAssociation) ImportState(ctx context.Context, re } resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("managed_rule_group"), listValue)...) resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("rule_group_reference"), fwtypes.NewListNestedObjectValueOfNull[ruleGroupReferenceModel](ctx))...) + } else { + resp.Diagnostics.AddError( + "Invalid Rule Group Type", + fmt.Sprintf("Rule group type must be 'custom' or 'managed', got: %s", ruleGroupType), + ) + return } } @@ -1241,7 +1194,6 @@ func parseWebACLARN(arn string) (id, name, scope string, err error) { type resourceWebACLRuleGroupAssociationModel struct { framework.WithRegionModel - ID types.String `tfsdk:"id"` RuleName types.String `tfsdk:"rule_name"` Priority types.Int32 `tfsdk:"priority"` RuleGroupReference fwtypes.ListNestedObjectValueOf[ruleGroupReferenceModel] `tfsdk:"rule_group_reference"` From f851141c3ad57925ead91f21804870ffc25e3a8a Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Wed, 6 Aug 2025 15:42:01 -0400 Subject: [PATCH 0631/1301] Test new ID regime --- .../web_acl_rule_group_association_test.go | 138 +++++++++++------- 1 file changed, 83 insertions(+), 55 deletions(-) diff --git a/internal/service/wafv2/web_acl_rule_group_association_test.go b/internal/service/wafv2/web_acl_rule_group_association_test.go index 4dc38e8d1652..b87471a9da8e 100644 --- a/internal/service/wafv2/web_acl_rule_group_association_test.go +++ b/internal/service/wafv2/web_acl_rule_group_association_test.go @@ -16,7 +16,6 @@ import ( "github.com/hashicorp/terraform-plugin-testing/terraform" "github.com/hashicorp/terraform-provider-aws/internal/acctest" "github.com/hashicorp/terraform-provider-aws/internal/conns" - "github.com/hashicorp/terraform-provider-aws/internal/flex" tfwafv2 "github.com/hashicorp/terraform-provider-aws/internal/service/wafv2" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" @@ -162,10 +161,11 @@ func TestAccWAFV2WebACLRuleGroupAssociation_basic(t *testing.T) { ), }, { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateIdFunc: testAccWebACLRuleGroupAssociationImportStateIDFunc(resourceName), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateIdFunc: testAccWebACLRuleGroupAssociationImportStateIDFunc(resourceName), + ImportStateVerifyIdentifierAttribute: "web_acl_arn", }, }, }) @@ -253,10 +253,11 @@ func TestAccWAFV2WebACLRuleGroupAssociation_RuleGroupReference_ruleActionOverrid ), }, { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateIdFunc: testAccWebACLRuleGroupAssociationImportStateIDFunc(resourceName), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateIdFunc: testAccWebACLRuleGroupAssociationImportStateIDFunc(resourceName), + ImportStateVerifyIdentifierAttribute: "web_acl_arn", }, }, }) @@ -328,10 +329,11 @@ func TestAccWAFV2WebACLRuleGroupAssociation_RuleGroupReference_priorityUpdate(t ), }, { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateIdFunc: testAccWebACLRuleGroupAssociationImportStateIDFunc(resourceName), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateIdFunc: testAccWebACLRuleGroupAssociationImportStateIDFunc(resourceName), + ImportStateVerifyIdentifierAttribute: "web_acl_arn", }, }, }) @@ -369,10 +371,11 @@ func TestAccWAFV2WebACLRuleGroupAssociation_RuleGroupReference_overrideActionUpd ), }, { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateIdFunc: testAccWebACLRuleGroupAssociationImportStateIDFunc(resourceName), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateIdFunc: testAccWebACLRuleGroupAssociationImportStateIDFunc(resourceName), + ImportStateVerifyIdentifierAttribute: "web_acl_arn", }, }, }) @@ -472,10 +475,11 @@ func TestAccWAFV2WebACLRuleGroupAssociation_ManagedRuleGroup_basic(t *testing.T) ), }, { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateIdFunc: testAccWebACLRuleGroupAssociationManagedRuleGroupImportStateIDFunc(resourceName), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateIdFunc: testAccWebACLRuleGroupAssociationManagedRuleGroupImportStateIDFunc(resourceName), + ImportStateVerifyIdentifierAttribute: "web_acl_arn", }, }, }) @@ -508,10 +512,11 @@ func TestAccWAFV2WebACLRuleGroupAssociation_ManagedRuleGroup_withVersion(t *test ), }, { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateIdFunc: testAccWebACLRuleGroupAssociationManagedRuleGroupImportStateIDFunc(resourceName), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateIdFunc: testAccWebACLRuleGroupAssociationManagedRuleGroupImportStateIDFunc(resourceName), + ImportStateVerifyIdentifierAttribute: "web_acl_arn", }, }, }) @@ -547,10 +552,11 @@ func TestAccWAFV2WebACLRuleGroupAssociation_ManagedRuleGroup_ruleActionOverride( ), }, { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateIdFunc: testAccWebACLRuleGroupAssociationManagedRuleGroupImportStateIDFunc(resourceName), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateIdFunc: testAccWebACLRuleGroupAssociationManagedRuleGroupImportStateIDFunc(resourceName), + ImportStateVerifyIdentifierAttribute: "web_acl_arn", }, }, }) @@ -565,18 +571,28 @@ func testAccCheckWebACLRuleGroupAssociationDestroy(ctx context.Context) resource continue } - // Parse the ID using the standard flex utility - // Format: webACLARN,ruleName,ruleGroupType,ruleGroupIdentifier - parts, err := flex.ExpandResourceId(rs.Primary.ID, 4, false) - if err != nil { - continue + // Use resource attributes directly instead of parsing ID + webACLARN := rs.Primary.Attributes["web_acl_arn"] + ruleName := rs.Primary.Attributes["rule_name"] + + // Determine rule group type and identifier from attributes + var ruleGroupType, ruleGroupIdentifier string + if rs.Primary.Attributes["rule_group_reference.0.arn"] != "" { + ruleGroupType = "custom" + ruleGroupIdentifier = rs.Primary.Attributes["rule_group_reference.0.arn"] + } else if rs.Primary.Attributes["managed_rule_group.0.name"] != "" { + ruleGroupType = "managed" + vendorName := rs.Primary.Attributes["managed_rule_group.0.vendor_name"] + ruleGroupName := rs.Primary.Attributes["managed_rule_group.0.name"] + version := rs.Primary.Attributes["managed_rule_group.0.version"] + ruleGroupIdentifier = fmt.Sprintf("%s:%s", vendorName, ruleGroupName) + if version != "" { + ruleGroupIdentifier += ":" + version + } + } else { + continue // Skip if no rule group configuration found } - webACLARN := parts[0] - ruleName := parts[1] - ruleGroupType := parts[2] - ruleGroupIdentifier := parts[3] - // Parse Web ACL ARN to get ID, name, and scope webACLID, webACLName, webACLScope, err := tfwafv2.ParseWebACLARN(webACLARN) if err != nil { @@ -619,7 +635,7 @@ func testAccCheckWebACLRuleGroupAssociationDestroy(ctx context.Context) resource } if matchesRuleGroup { - return fmt.Errorf("WAFv2 Web ACL Rule Group Association still exists: %s", rs.Primary.ID) + return fmt.Errorf("WAFv2 Web ACL Rule Group Association still exists in Web ACL %s for rule %s", webACLARN, ruleName) } } } @@ -635,21 +651,31 @@ func testAccCheckWebACLRuleGroupAssociationExists(ctx context.Context, n string, return fmt.Errorf("Not found: %s", n) } - if rs.Primary.ID == "" { - return fmt.Errorf("No WAFv2 WebACLRuleGroupAssociation ID is set") - } + // Use resource attributes directly instead of parsing ID + webACLARN := rs.Primary.Attributes["web_acl_arn"] + ruleName := rs.Primary.Attributes["rule_name"] - // Parse the ID using the standard flex utility - // Format: webACLARN,ruleName,ruleGroupType,ruleGroupIdentifier - parts, err := flex.ExpandResourceId(rs.Primary.ID, 4, false) - if err != nil { - return fmt.Errorf("Invalid ID format: %s", rs.Primary.ID) + if webACLARN == "" || ruleName == "" { + return fmt.Errorf("Missing required attributes: web_acl_arn=%s, rule_name=%s", webACLARN, ruleName) } - webACLARN := parts[0] - ruleName := parts[1] - ruleGroupType := parts[2] - ruleGroupIdentifier := parts[3] + // Determine rule group type and identifier from attributes + var ruleGroupType, ruleGroupIdentifier string + if rs.Primary.Attributes["rule_group_reference.0.arn"] != "" { + ruleGroupType = "custom" + ruleGroupIdentifier = rs.Primary.Attributes["rule_group_reference.0.arn"] + } else if rs.Primary.Attributes["managed_rule_group.0.name"] != "" { + ruleGroupType = "managed" + vendorName := rs.Primary.Attributes["managed_rule_group.0.vendor_name"] + ruleGroupName := rs.Primary.Attributes["managed_rule_group.0.name"] + version := rs.Primary.Attributes["managed_rule_group.0.version"] + ruleGroupIdentifier = fmt.Sprintf("%s:%s", vendorName, ruleGroupName) + if version != "" { + ruleGroupIdentifier += ":" + version + } + } else { + return fmt.Errorf("No rule group configuration found in state") + } // Parse Web ACL ARN to get ID, name, and scope webACLID, webACLName, webACLScope, err := tfwafv2.ParseWebACLARN(webACLARN) @@ -698,7 +724,7 @@ func testAccCheckWebACLRuleGroupAssociationExists(ctx context.Context, n string, } if !found { - return fmt.Errorf("WAFv2 Web ACL Rule Group Association not found in Web ACL: %s", rs.Primary.ID) + return fmt.Errorf("WAFv2 Web ACL Rule Group Association not found in Web ACL %s for rule %s", webACLARN, ruleName) } *v = *webACL @@ -718,7 +744,8 @@ func testAccWebACLRuleGroupAssociationImportStateIDFunc(resourceName string) res ruleGroupARN := rs.Primary.Attributes["rule_group_reference.0.arn"] ruleName := rs.Primary.Attributes["rule_name"] - return fmt.Sprintf("%s,%s,%s", webACLARN, ruleGroupARN, ruleName), nil + // Format: webACLARN,ruleName,ruleGroupType,ruleGroupIdentifier + return fmt.Sprintf("%s,%s,%s,%s", webACLARN, ruleName, "custom", ruleGroupARN), nil } } @@ -741,7 +768,8 @@ func testAccWebACLRuleGroupAssociationManagedRuleGroupImportStateIDFunc(resource ruleGroupIdentifier += ":" + version } - return fmt.Sprintf("%s,%s,%s", webACLARN, ruleGroupIdentifier, ruleName), nil + // Format: webACLARN,ruleName,ruleGroupType,ruleGroupIdentifier + return fmt.Sprintf("%s,%s,%s,%s", webACLARN, ruleName, "managed", ruleGroupIdentifier), nil } } From 9a35f3e15adbb32f2245ee16ee01d5258d66edef Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Wed, 6 Aug 2025 15:42:13 -0400 Subject: [PATCH 0632/1301] Update docs --- .../docs/r/wafv2_web_acl_rule_group_association.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown b/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown index 15c88ee311d7..81e2a614ede9 100644 --- a/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown +++ b/website/docs/r/wafv2_web_acl_rule_group_association.html.markdown @@ -461,7 +461,7 @@ Exactly one of the following action blocks must be specified: This resource exports the following attributes in addition to the arguments above: -* `id` - Unique identifier for the association. +None. ## Timeouts From fb817a536c8e0075381b5ce35f4a378a3317bcb1 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 6 Aug 2025 15:47:57 -0400 Subject: [PATCH 0633/1301] Run `make gen`. --- ...logging_configuration_identity_gen_test.go | 6 +++--- .../service/ivschat/room_identity_gen_test.go | 6 +++--- .../service/logs/group_identity_gen_test.go | 6 +++--- .../custom_permissions_tags_gen_test.go | 21 +++++++++++++++++++ 4 files changed, 30 insertions(+), 9 deletions(-) diff --git a/internal/service/ivschat/logging_configuration_identity_gen_test.go b/internal/service/ivschat/logging_configuration_identity_gen_test.go index 7fb50536dd49..7d990a0de8a2 100644 --- a/internal/service/ivschat/logging_configuration_identity_gen_test.go +++ b/internal/service/ivschat/logging_configuration_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccIVSChatLoggingConfiguration_Identity_Basic(t *testing.T) { resourceName := "aws_ivschat_logging_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -112,7 +112,7 @@ func TestAccIVSChatLoggingConfiguration_Identity_RegionOverride(t *testing.T) { resourceName := "aws_ivschat_logging_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -234,7 +234,7 @@ func TestAccIVSChatLoggingConfiguration_Identity_ExistingResource(t *testing.T) resourceName := "aws_ivschat_logging_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/ivschat/room_identity_gen_test.go b/internal/service/ivschat/room_identity_gen_test.go index 6faccb6c67a9..678191a168e9 100644 --- a/internal/service/ivschat/room_identity_gen_test.go +++ b/internal/service/ivschat/room_identity_gen_test.go @@ -25,7 +25,7 @@ func TestAccIVSChatRoom_Identity_Basic(t *testing.T) { var v ivschat.GetRoomOutput resourceName := "aws_ivschat_room.test" - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -101,7 +101,7 @@ func TestAccIVSChatRoom_Identity_RegionOverride(t *testing.T) { resourceName := "aws_ivschat_room.test" - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -216,7 +216,7 @@ func TestAccIVSChatRoom_Identity_ExistingResource(t *testing.T) { var v ivschat.GetRoomOutput resourceName := "aws_ivschat_room.test" - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/logs/group_identity_gen_test.go b/internal/service/logs/group_identity_gen_test.go index fb76105ab9ac..1a0776dfb97b 100644 --- a/internal/service/logs/group_identity_gen_test.go +++ b/internal/service/logs/group_identity_gen_test.go @@ -28,7 +28,7 @@ func TestAccLogsLogGroup_Identity_Basic(t *testing.T) { resourceName := "aws_cloudwatch_log_group.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -115,7 +115,7 @@ func TestAccLogsLogGroup_Identity_RegionOverride(t *testing.T) { resourceName := "aws_cloudwatch_log_group.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -205,7 +205,7 @@ func TestAccLogsLogGroup_Identity_ExistingResource(t *testing.T) { resourceName := "aws_cloudwatch_log_group.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/quicksight/custom_permissions_tags_gen_test.go b/internal/service/quicksight/custom_permissions_tags_gen_test.go index 82bc2119e30b..4b217ec1c62d 100644 --- a/internal/service/quicksight/custom_permissions_tags_gen_test.go +++ b/internal/service/quicksight/custom_permissions_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccQuickSightCustomPermissions_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -210,6 +211,7 @@ func TestAccQuickSightCustomPermissions_tags_null(t *testing.T) { t.Skip("Resource CustomPermissions does not support null tags") ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -274,6 +276,7 @@ func TestAccQuickSightCustomPermissions_tags_null(t *testing.T) { func TestAccQuickSightCustomPermissions_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -326,6 +329,7 @@ func TestAccQuickSightCustomPermissions_tags_EmptyMap(t *testing.T) { func TestAccQuickSightCustomPermissions_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -410,6 +414,7 @@ func TestAccQuickSightCustomPermissions_tags_EmptyTag_OnCreate(t *testing.T) { t.Skip("Resource CustomPermissions does not support empty tags") ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -506,6 +511,7 @@ func TestAccQuickSightCustomPermissions_tags_EmptyTag_OnUpdate_Add(t *testing.T) t.Skip("Resource CustomPermissions does not support empty tags") ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -651,6 +657,7 @@ func TestAccQuickSightCustomPermissions_tags_EmptyTag_OnUpdate_Replace(t *testin t.Skip("Resource CustomPermissions does not support empty tags") ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -743,6 +750,7 @@ func TestAccQuickSightCustomPermissions_tags_EmptyTag_OnUpdate_Replace(t *testin func TestAccQuickSightCustomPermissions_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -932,6 +940,7 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_providerOnly(t *testing func TestAccQuickSightCustomPermissions_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1098,6 +1107,7 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_nonOverlapping(t *testi func TestAccQuickSightCustomPermissions_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1280,6 +1290,7 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_overlapping(t *testing. func TestAccQuickSightCustomPermissions_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1372,6 +1383,7 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_updateToProviderOnly(t func TestAccQuickSightCustomPermissions_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1465,6 +1477,7 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_emptyResourceTag(t *tes t.Skip("Resource CustomPermissions does not support empty tags") ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1535,6 +1548,7 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_emptyProviderOnlyTag(t t.Skip("Resource CustomPermissions does not support empty tags") ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1597,6 +1611,7 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_nullOverlappingResource t.Skip("Resource CustomPermissions does not support null tags") ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1670,6 +1685,7 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_nullNonOverlappingResou t.Skip("Resource CustomPermissions does not support null tags") ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1743,6 +1759,7 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_nullNonOverlappingResou func TestAccQuickSightCustomPermissions_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1800,6 +1817,7 @@ func TestAccQuickSightCustomPermissions_tags_ComputedTag_OnCreate(t *testing.T) func TestAccQuickSightCustomPermissions_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1899,6 +1917,7 @@ func TestAccQuickSightCustomPermissions_tags_ComputedTag_OnUpdate_Add(t *testing func TestAccQuickSightCustomPermissions_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1988,6 +2007,7 @@ func TestAccQuickSightCustomPermissions_tags_ComputedTag_OnUpdate_Replace(t *tes func TestAccQuickSightCustomPermissions_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2150,6 +2170,7 @@ func TestAccQuickSightCustomPermissions_tags_IgnoreTags_Overlap_DefaultTag(t *te func TestAccQuickSightCustomPermissions_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) From 0957c6570ac59fe11e51fea0cd625ad4ee4a53e4 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 6 Aug 2025 16:09:42 -0400 Subject: [PATCH 0634/1301] r/aws_networkfirewall_vpc_endpoint_association: Acceptance tests. --- .../vpc_endpoint_association.go | 4 - .../vpc_endpoint_association_test.go | 271 ++++++++++++++---- 2 files changed, 222 insertions(+), 53 deletions(-) diff --git a/internal/service/networkfirewall/vpc_endpoint_association.go b/internal/service/networkfirewall/vpc_endpoint_association.go index 2466a81cbcce..49c6b2a9a6cd 100644 --- a/internal/service/networkfirewall/vpc_endpoint_association.go +++ b/internal/service/networkfirewall/vpc_endpoint_association.go @@ -45,10 +45,6 @@ func newVPCEndpointAssociationResource(_ context.Context) (resource.ResourceWith return r, nil } -const ( - ResNameVPCEndpointAssociation = "VPC Endpoint Association" -) - type vpcEndpointAssociationResource struct { framework.ResourceWithModel[vpcEndpointAssociationResourceModel] framework.WithTimeouts diff --git a/internal/service/networkfirewall/vpc_endpoint_association_test.go b/internal/service/networkfirewall/vpc_endpoint_association_test.go index e7cb18941a30..d02bf49c6e98 100644 --- a/internal/service/networkfirewall/vpc_endpoint_association_test.go +++ b/internal/service/networkfirewall/vpc_endpoint_association_test.go @@ -5,20 +5,22 @@ package networkfirewall_test import ( "context" - "errors" "fmt" - "regexp" "testing" "github.com/YakDriver/regexache" "github.com/aws/aws-sdk-go-v2/service/networkfirewall" + awstypes "github.com/aws/aws-sdk-go-v2/service/networkfirewall/types" sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" "github.com/hashicorp/terraform-plugin-testing/terraform" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfknownvalue "github.com/hashicorp/terraform-provider-aws/internal/acctest/knownvalue" "github.com/hashicorp/terraform-provider-aws/internal/conns" - "github.com/hashicorp/terraform-provider-aws/internal/create" tfnetworkfirewall "github.com/hashicorp/terraform-provider-aws/internal/service/networkfirewall" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" @@ -30,12 +32,9 @@ func TestAccNetworkFirewallVPCEndpointAssociation_basic(t *testing.T) { t.Skip("skipping long-running test in short mode") } - var vpcendpointassociation networkfirewall.DescribeVpcEndpointAssociationOutput + var v networkfirewall.DescribeVpcEndpointAssociationOutput rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_networkfirewall_vpc_endpoint_association.test" - firewallResourceName := "aws_networkfirewall_firewall.test" - vpcResourceName := "aws_vpc.target" - subnetResourceName := "aws_subnet.target" resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { @@ -49,19 +48,32 @@ func TestAccNetworkFirewallVPCEndpointAssociation_basic(t *testing.T) { { Config: testAccVPCEndpointAssociationConfig_basic(rName), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckVPCEndpointAssociationExists(ctx, resourceName, &vpcendpointassociation), - resource.TestCheckResourceAttrPair(resourceName, "firewall_arn", firewallResourceName, names.AttrARN), - resource.TestCheckResourceAttrPair(resourceName, names.AttrVPCID, vpcResourceName, names.AttrID), - resource.TestCheckResourceAttrPair(resourceName, "subnet_mapping.0.subnet_id", subnetResourceName, names.AttrID), - resource.TestMatchTypeSetElemNestedAttrs(resourceName, "vpc_endpoint_association_status.0.association_sync_state.*", map[string]*regexp.Regexp{ - "attachment.0.endpoint_id": regexache.MustCompile(`vpce-`), - }), + testAccCheckVPCEndpointAssociationExists(ctx, resourceName, &v), ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrDescription), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("subnet_mapping"), knownvalue.ListExact([]knownvalue.Check{ + knownvalue.ObjectPartial(map[string]knownvalue.Check{ + "ip_address_type": tfknownvalue.StringExact(awstypes.IPAddressTypeIpv4), + }), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("vpc_endpoint_association_arn"), tfknownvalue.RegionalARNRegexp("networkfirewall", regexache.MustCompile(`vpc-endpoint-association/.+`))), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("vpc_endpoint_association_id"), knownvalue.NotNull()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("vpc_endpoint_association_status"), knownvalue.ListSizeExact(1)), + }, }, { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "vpc_endpoint_association_arn", + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "vpc_endpoint_association_arn"), }, }, }) @@ -73,14 +85,14 @@ func TestAccNetworkFirewallVPCEndpointAssociation_disappears(t *testing.T) { t.Skip("skipping long-running test in short mode") } - var vpcendpointassociation networkfirewall.DescribeVpcEndpointAssociationOutput + var v networkfirewall.DescribeVpcEndpointAssociationOutput rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_networkfirewall_vpc_endpoint_association.test" resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { acctest.PreCheck(ctx, t) - testAccPreCheck(ctx, t) + testAccVPCEndpointAssociationPreCheck(ctx, t) }, ErrorCheck: acctest.ErrorCheck(t, names.NetworkFirewallServiceID), ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -89,8 +101,7 @@ func TestAccNetworkFirewallVPCEndpointAssociation_disappears(t *testing.T) { { Config: testAccVPCEndpointAssociationConfig_basic(rName), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckVPCEndpointAssociationExists(ctx, resourceName, &vpcendpointassociation), - + testAccCheckVPCEndpointAssociationExists(ctx, resourceName, &v), acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfnetworkfirewall.ResourceVPCEndpointAssociation, resourceName), ), ExpectNonEmptyPlan: true, @@ -104,6 +115,129 @@ func TestAccNetworkFirewallVPCEndpointAssociation_disappears(t *testing.T) { }) } +func TestAccNetworkFirewallVPCEndpointAssociation_full(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var v networkfirewall.DescribeVpcEndpointAssociationOutput + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_networkfirewall_vpc_endpoint_association.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + testAccVPCEndpointAssociationPreCheck(ctx, t) + }, + ErrorCheck: acctest.ErrorCheck(t, names.NetworkFirewallServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckVPCEndpointAssociationDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccVPCEndpointAssociationConfig_full(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckVPCEndpointAssociationExists(ctx, resourceName, &v), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrDescription), knownvalue.StringExact("testing")), + }, + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "vpc_endpoint_association_arn", + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "vpc_endpoint_association_arn"), + }, + }, + }) +} + +func TestAccNetworkFirewallVPCEndpointAssociation_tags(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var v networkfirewall.DescribeVpcEndpointAssociationOutput + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_networkfirewall_vpc_endpoint_association.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + testAccVPCEndpointAssociationPreCheck(ctx, t) + }, + ErrorCheck: acctest.ErrorCheck(t, names.NetworkFirewallServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckVPCEndpointAssociationDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccVPCEndpointAssociationConfig_tags1(rName, acctest.CtKey1, acctest.CtValue1), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckVPCEndpointAssociationExists(ctx, resourceName, &v), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "vpc_endpoint_association_arn", + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "vpc_endpoint_association_arn"), + }, + { + Config: testAccVPCEndpointAssociationConfig_tags2(rName, acctest.CtKey1, acctest.CtValue1Updated, acctest.CtKey2, acctest.CtValue2), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckVPCEndpointAssociationExists(ctx, resourceName, &v), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + { + Config: testAccVPCEndpointAssociationConfig_tags1(rName, acctest.CtKey2, acctest.CtValue2), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckVPCEndpointAssociationExists(ctx, resourceName, &v), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + }) +} + func testAccCheckVPCEndpointAssociationDestroy(ctx context.Context) resource.TestCheckFunc { return func(s *terraform.State) error { conn := acctest.Provider.Meta().(*conns.AWSClient).NetworkFirewallClient(ctx) @@ -113,40 +247,39 @@ func testAccCheckVPCEndpointAssociationDestroy(ctx context.Context) resource.Tes continue } - _, err := tfnetworkfirewall.FindVPCEndpointAssociationByARN(ctx, conn, rs.Primary.ID) + _, err := tfnetworkfirewall.FindVPCEndpointAssociationByARN(ctx, conn, rs.Primary.Attributes["vpc_endpoint_association_arn"]) + if tfresource.NotFound(err) { - return nil + continue } + if err != nil { - return create.Error(names.NetworkFirewall, create.ErrActionCheckingDestroyed, tfnetworkfirewall.ResNameVPCEndpointAssociation, rs.Primary.ID, err) + return err } - return create.Error(names.NetworkFirewall, create.ErrActionCheckingDestroyed, tfnetworkfirewall.ResNameVPCEndpointAssociation, rs.Primary.ID, errors.New("not destroyed")) + return fmt.Errorf("NetworkFirewall VPC Endpoint Association %s still exists", rs.Primary.Attributes["vpc_endpoint_association_arn"]) } return nil } } -func testAccCheckVPCEndpointAssociationExists(ctx context.Context, name string, vpcendpointassociation *networkfirewall.DescribeVpcEndpointAssociationOutput) resource.TestCheckFunc { +func testAccCheckVPCEndpointAssociationExists(ctx context.Context, n string, v *networkfirewall.DescribeVpcEndpointAssociationOutput) resource.TestCheckFunc { return func(s *terraform.State) error { - rs, ok := s.RootModule().Resources[name] + rs, ok := s.RootModule().Resources[n] if !ok { - return create.Error(names.NetworkFirewall, create.ErrActionCheckingExistence, tfnetworkfirewall.ResNameVPCEndpointAssociation, name, errors.New("not found")) - } - - if rs.Primary.ID == "" { - return create.Error(names.NetworkFirewall, create.ErrActionCheckingExistence, tfnetworkfirewall.ResNameVPCEndpointAssociation, name, errors.New("not set")) + return fmt.Errorf("Not found: %s", n) } conn := acctest.Provider.Meta().(*conns.AWSClient).NetworkFirewallClient(ctx) - resp, err := tfnetworkfirewall.FindVPCEndpointAssociationByARN(ctx, conn, rs.Primary.ID) + output, err := tfnetworkfirewall.FindVPCEndpointAssociationByARN(ctx, conn, rs.Primary.Attributes["vpc_endpoint_association_arn"]) + if err != nil { - return create.Error(names.NetworkFirewall, create.ErrActionCheckingExistence, tfnetworkfirewall.ResNameVPCEndpointAssociation, rs.Primary.ID, err) + return err } - *vpcendpointassociation = *resp + *v = *output return nil } @@ -167,18 +300,8 @@ func testAccVPCEndpointAssociationPreCheck(ctx context.Context, t *testing.T) { } } -func testAccVPCEndpointAssociationConfig_basic(rName string) string { - return acctest.ConfigCompose(testAccFirewallConfig_baseVPC(rName), fmt.Sprintf(` -resource "aws_networkfirewall_firewall" "test" { - name = %[1]q - firewall_policy_arn = aws_networkfirewall_firewall_policy.test.arn - vpc_id = aws_vpc.test.id - - subnet_mapping { - subnet_id = aws_subnet.test[0].id - } -} - +func testAccVPCEndpointAssociationConfig_base(rName string) string { + return acctest.ConfigCompose(testAccFirewallConfig_basic(rName), fmt.Sprintf(` resource "aws_vpc" "target" { cidr_block = "10.0.0.0/16" @@ -196,7 +319,39 @@ resource "aws_subnet" "target" { Name = %[1]q } } +`, rName)) +} + +func testAccVPCEndpointAssociationConfig_basic(rName string) string { + return acctest.ConfigCompose(testAccVPCEndpointAssociationConfig_base(rName), ` +resource "aws_networkfirewall_vpc_endpoint_association" "test" { + firewall_arn = aws_networkfirewall_firewall.test.arn + vpc_id = aws_vpc.target.id + + subnet_mapping { + subnet_id = aws_subnet.target.id + } +} +`) +} + +func testAccVPCEndpointAssociationConfig_full(rName string) string { + return acctest.ConfigCompose(testAccVPCEndpointAssociationConfig_base(rName), ` +resource "aws_networkfirewall_vpc_endpoint_association" "test" { + description = "testing" + firewall_arn = aws_networkfirewall_firewall.test.arn + vpc_id = aws_vpc.target.id + + subnet_mapping { + ip_address_type = "IPV4" + subnet_id = aws_subnet.target.id + } +} +`) +} +func testAccVPCEndpointAssociationConfig_tags1(rName, tag1Key, tag1Value string) string { + return acctest.ConfigCompose(testAccVPCEndpointAssociationConfig_base(rName), fmt.Sprintf(` resource "aws_networkfirewall_vpc_endpoint_association" "test" { firewall_arn = aws_networkfirewall_firewall.test.arn vpc_id = aws_vpc.target.id @@ -206,8 +361,26 @@ resource "aws_networkfirewall_vpc_endpoint_association" "test" { } tags = { - Name = %[1]q + %[1]q = %[2]q } } -`, rName)) +`, tag1Key, tag1Value)) +} + +func testAccVPCEndpointAssociationConfig_tags2(rName, tag1Key, tag1Value, tag2Key, tag2Value string) string { + return acctest.ConfigCompose(testAccVPCEndpointAssociationConfig_base(rName), fmt.Sprintf(` +resource "aws_networkfirewall_vpc_endpoint_association" "test" { + firewall_arn = aws_networkfirewall_firewall.test.arn + vpc_id = aws_vpc.target.id + + subnet_mapping { + subnet_id = aws_subnet.target.id + } + + tags = { + %[1]q = %[2]q + %[3]q = %[4]q + } +} +`, tag1Key, tag1Value, tag2Key, tag2Value)) } From 212dc8223f3b7d2b0a6b6f2f69e0e70a55906fec Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Wed, 6 Aug 2025 16:22:52 -0400 Subject: [PATCH 0635/1301] Lillint --- .../wafv2/web_acl_rule_group_association.go | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/internal/service/wafv2/web_acl_rule_group_association.go b/internal/service/wafv2/web_acl_rule_group_association.go index e18d85bcb9eb..94ec5d8a771e 100644 --- a/internal/service/wafv2/web_acl_rule_group_association.go +++ b/internal/service/wafv2/web_acl_rule_group_association.go @@ -495,7 +495,6 @@ func (r *resourceWebACLRuleGroupAssociation) Create(ctx context.Context, req res var ruleGroupVersion string var ruleActionOverrides []awstypes.RuleActionOverride var ruleStatement *awstypes.Statement - var ruleGroupIdentifier string // For resource ID generation // Check for custom rule group reference if !plan.RuleGroupReference.IsNull() && !plan.RuleGroupReference.IsUnknown() { @@ -507,7 +506,6 @@ func (r *resourceWebACLRuleGroupAssociation) Create(ctx context.Context, req res return } ruleGroupARN = ruleGroupRefModel.ARN.ValueString() - ruleGroupIdentifier = ruleGroupARN // Create rule group reference statement ruleGroupRefStatement := &awstypes.RuleGroupReferenceStatement{ @@ -543,10 +541,6 @@ func (r *resourceWebACLRuleGroupAssociation) Create(ctx context.Context, req res if !managedRuleGroupRef.Version.IsNull() && !managedRuleGroupRef.Version.IsUnknown() { ruleGroupVersion = managedRuleGroupRef.Version.ValueString() } - ruleGroupIdentifier = fmt.Sprintf("%s:%s", ruleGroupVendorName, ruleGroupName) - if ruleGroupVersion != "" { - ruleGroupIdentifier += ":" + ruleGroupVersion - } // Create managed rule group statement managedRuleGroupStatement := &awstypes.ManagedRuleGroupStatement{ @@ -749,7 +743,6 @@ func (r *resourceWebACLRuleGroupAssociation) Read(ctx context.Context, req resou // Check if this matches our managed rule group from state if aws.ToString(managedStmt.Name) == managedRuleGroupRef.Name.ValueString() && aws.ToString(managedStmt.VendorName) == managedRuleGroupRef.VendorName.ValueString() { - // Check version match (both can be empty/null) stateVersion := managedRuleGroupRef.Version.ValueString() ruleVersion := aws.ToString(managedStmt.Version) @@ -1093,7 +1086,8 @@ func (r *resourceWebACLRuleGroupAssociation) ImportState(ctx context.Context, re resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("rule_name"), ruleName)...) // Set the appropriate rule group nested structure based on type - if ruleGroupType == "custom" { + switch ruleGroupType { + case "custom": // Custom rule group (ARN format) if !arn.IsARN(ruleGroupIdentifier) { resp.Diagnostics.AddError( @@ -1115,7 +1109,7 @@ func (r *resourceWebACLRuleGroupAssociation) ImportState(ctx context.Context, re } resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("rule_group_reference"), listValue)...) resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("managed_rule_group"), fwtypes.NewListNestedObjectValueOfNull[managedRuleGroupModel](ctx))...) - } else if ruleGroupType == "managed" { + case "managed": // Managed rule group (vendorName:ruleName[:version] format) identifierParts := strings.Split(ruleGroupIdentifier, ":") if len(identifierParts) < 2 { @@ -1151,7 +1145,7 @@ func (r *resourceWebACLRuleGroupAssociation) ImportState(ctx context.Context, re } resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("managed_rule_group"), listValue)...) resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("rule_group_reference"), fwtypes.NewListNestedObjectValueOfNull[ruleGroupReferenceModel](ctx))...) - } else { + default: resp.Diagnostics.AddError( "Invalid Rule Group Type", fmt.Sprintf("Rule group type must be 'custom' or 'managed', got: %s", ruleGroupType), From 0723ad01079f5800ead2ebea812dd207292d6d5e Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 6 Aug 2025 16:30:45 -0400 Subject: [PATCH 0636/1301] r/aws_networkfirewall_vpc_endpoint_association: Fix import. --- internal/service/networkfirewall/vpc_endpoint_association.go | 4 ++-- .../service/networkfirewall/vpc_endpoint_association_test.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/service/networkfirewall/vpc_endpoint_association.go b/internal/service/networkfirewall/vpc_endpoint_association.go index 49c6b2a9a6cd..6c32a8683b81 100644 --- a/internal/service/networkfirewall/vpc_endpoint_association.go +++ b/internal/service/networkfirewall/vpc_endpoint_association.go @@ -253,8 +253,8 @@ func (r *vpcEndpointAssociationResource) Delete(ctx context.Context, request res } } -func (r *vpcEndpointAssociationResource) ImportState(ctx context.Context, request resource.ImportStateRequest, response *resource.ImportStateResponse) { // nosemgrep:ci.semgrep.framework.with-import-by-id - response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root(""), request.ID)...) +func (r *vpcEndpointAssociationResource) ImportState(ctx context.Context, request resource.ImportStateRequest, response *resource.ImportStateResponse) { + resource.ImportStatePassthroughID(ctx, path.Root("vpc_endpoint_association_arn"), request, response) } func findVPCEndpointAssociation(ctx context.Context, conn *networkfirewall.Client, input *networkfirewall.DescribeVpcEndpointAssociationInput) (*networkfirewall.DescribeVpcEndpointAssociationOutput, error) { diff --git a/internal/service/networkfirewall/vpc_endpoint_association_test.go b/internal/service/networkfirewall/vpc_endpoint_association_test.go index d02bf49c6e98..d23b09c64c9c 100644 --- a/internal/service/networkfirewall/vpc_endpoint_association_test.go +++ b/internal/service/networkfirewall/vpc_endpoint_association_test.go @@ -63,7 +63,7 @@ func TestAccNetworkFirewallVPCEndpointAssociation_basic(t *testing.T) { }), })), statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("vpc_endpoint_association_arn"), tfknownvalue.RegionalARNRegexp("networkfirewall", regexache.MustCompile(`vpc-endpoint-association/.+`))), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("vpc_endpoint_association_arn"), tfknownvalue.RegionalARNRegexp("network-firewall", regexache.MustCompile(`vpc-endpoint-association/.+`))), statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("vpc_endpoint_association_id"), knownvalue.NotNull()), statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("vpc_endpoint_association_status"), knownvalue.ListSizeExact(1)), }, From dd0a760c428c72addf23f07afe1be77180f922cf Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Wed, 6 Aug 2025 13:34:15 -0700 Subject: [PATCH 0637/1301] `make gen` fixes --- ...logging_configuration_identity_gen_test.go | 6 +++--- .../service/ivschat/room_identity_gen_test.go | 6 +++--- .../service/logs/group_identity_gen_test.go | 6 +++--- .../custom_permissions_tags_gen_test.go | 21 +++++++++++++++++++ 4 files changed, 30 insertions(+), 9 deletions(-) diff --git a/internal/service/ivschat/logging_configuration_identity_gen_test.go b/internal/service/ivschat/logging_configuration_identity_gen_test.go index 7fb50536dd49..7d990a0de8a2 100644 --- a/internal/service/ivschat/logging_configuration_identity_gen_test.go +++ b/internal/service/ivschat/logging_configuration_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccIVSChatLoggingConfiguration_Identity_Basic(t *testing.T) { resourceName := "aws_ivschat_logging_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -112,7 +112,7 @@ func TestAccIVSChatLoggingConfiguration_Identity_RegionOverride(t *testing.T) { resourceName := "aws_ivschat_logging_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -234,7 +234,7 @@ func TestAccIVSChatLoggingConfiguration_Identity_ExistingResource(t *testing.T) resourceName := "aws_ivschat_logging_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/ivschat/room_identity_gen_test.go b/internal/service/ivschat/room_identity_gen_test.go index 6faccb6c67a9..678191a168e9 100644 --- a/internal/service/ivschat/room_identity_gen_test.go +++ b/internal/service/ivschat/room_identity_gen_test.go @@ -25,7 +25,7 @@ func TestAccIVSChatRoom_Identity_Basic(t *testing.T) { var v ivschat.GetRoomOutput resourceName := "aws_ivschat_room.test" - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -101,7 +101,7 @@ func TestAccIVSChatRoom_Identity_RegionOverride(t *testing.T) { resourceName := "aws_ivschat_room.test" - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -216,7 +216,7 @@ func TestAccIVSChatRoom_Identity_ExistingResource(t *testing.T) { var v ivschat.GetRoomOutput resourceName := "aws_ivschat_room.test" - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/logs/group_identity_gen_test.go b/internal/service/logs/group_identity_gen_test.go index fb76105ab9ac..1a0776dfb97b 100644 --- a/internal/service/logs/group_identity_gen_test.go +++ b/internal/service/logs/group_identity_gen_test.go @@ -28,7 +28,7 @@ func TestAccLogsLogGroup_Identity_Basic(t *testing.T) { resourceName := "aws_cloudwatch_log_group.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -115,7 +115,7 @@ func TestAccLogsLogGroup_Identity_RegionOverride(t *testing.T) { resourceName := "aws_cloudwatch_log_group.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -205,7 +205,7 @@ func TestAccLogsLogGroup_Identity_ExistingResource(t *testing.T) { resourceName := "aws_cloudwatch_log_group.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/quicksight/custom_permissions_tags_gen_test.go b/internal/service/quicksight/custom_permissions_tags_gen_test.go index 82bc2119e30b..4b217ec1c62d 100644 --- a/internal/service/quicksight/custom_permissions_tags_gen_test.go +++ b/internal/service/quicksight/custom_permissions_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccQuickSightCustomPermissions_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -210,6 +211,7 @@ func TestAccQuickSightCustomPermissions_tags_null(t *testing.T) { t.Skip("Resource CustomPermissions does not support null tags") ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -274,6 +276,7 @@ func TestAccQuickSightCustomPermissions_tags_null(t *testing.T) { func TestAccQuickSightCustomPermissions_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -326,6 +329,7 @@ func TestAccQuickSightCustomPermissions_tags_EmptyMap(t *testing.T) { func TestAccQuickSightCustomPermissions_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -410,6 +414,7 @@ func TestAccQuickSightCustomPermissions_tags_EmptyTag_OnCreate(t *testing.T) { t.Skip("Resource CustomPermissions does not support empty tags") ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -506,6 +511,7 @@ func TestAccQuickSightCustomPermissions_tags_EmptyTag_OnUpdate_Add(t *testing.T) t.Skip("Resource CustomPermissions does not support empty tags") ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -651,6 +657,7 @@ func TestAccQuickSightCustomPermissions_tags_EmptyTag_OnUpdate_Replace(t *testin t.Skip("Resource CustomPermissions does not support empty tags") ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -743,6 +750,7 @@ func TestAccQuickSightCustomPermissions_tags_EmptyTag_OnUpdate_Replace(t *testin func TestAccQuickSightCustomPermissions_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -932,6 +940,7 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_providerOnly(t *testing func TestAccQuickSightCustomPermissions_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1098,6 +1107,7 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_nonOverlapping(t *testi func TestAccQuickSightCustomPermissions_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1280,6 +1290,7 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_overlapping(t *testing. func TestAccQuickSightCustomPermissions_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1372,6 +1383,7 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_updateToProviderOnly(t func TestAccQuickSightCustomPermissions_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1465,6 +1477,7 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_emptyResourceTag(t *tes t.Skip("Resource CustomPermissions does not support empty tags") ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1535,6 +1548,7 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_emptyProviderOnlyTag(t t.Skip("Resource CustomPermissions does not support empty tags") ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1597,6 +1611,7 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_nullOverlappingResource t.Skip("Resource CustomPermissions does not support null tags") ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1670,6 +1685,7 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_nullNonOverlappingResou t.Skip("Resource CustomPermissions does not support null tags") ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1743,6 +1759,7 @@ func TestAccQuickSightCustomPermissions_tags_DefaultTags_nullNonOverlappingResou func TestAccQuickSightCustomPermissions_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1800,6 +1817,7 @@ func TestAccQuickSightCustomPermissions_tags_ComputedTag_OnCreate(t *testing.T) func TestAccQuickSightCustomPermissions_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1899,6 +1917,7 @@ func TestAccQuickSightCustomPermissions_tags_ComputedTag_OnUpdate_Add(t *testing func TestAccQuickSightCustomPermissions_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1988,6 +2007,7 @@ func TestAccQuickSightCustomPermissions_tags_ComputedTag_OnUpdate_Replace(t *tes func TestAccQuickSightCustomPermissions_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2150,6 +2170,7 @@ func TestAccQuickSightCustomPermissions_tags_IgnoreTags_Overlap_DefaultTag(t *te func TestAccQuickSightCustomPermissions_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.CustomPermissions resourceName := "aws_quicksight_custom_permissions.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) From 6fa33e47d405fc718eb81bfa11ac93099ca1122b Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 1 Aug 2025 12:18:18 -0700 Subject: [PATCH 0638/1301] No longer defaults to assuming Identity was added in v6.0 --- internal/generate/identitytests/main.go | 142 ++++++++++-------- .../identitytests/resource_test.go.gtpl | 2 +- 2 files changed, 82 insertions(+), 62 deletions(-) diff --git a/internal/generate/identitytests/main.go b/internal/generate/identitytests/main.go index a67faee06ad0..5901dfa570db 100644 --- a/internal/generate/identitytests/main.go +++ b/internal/generate/identitytests/main.go @@ -213,52 +213,54 @@ func main() { generateTestConfig(g, testDirPath, "basic", tfTemplates, common) - if resource.PreIdentityVersion.Equal(v5_100_0) { - tfTemplatesV5, err := tfTemplates.Clone() - if err != nil { - g.Fatalf("cloning Terraform config template: %s", err) - } - ext := filepath.Ext(configTmplFile) - name := strings.TrimSuffix(configTmplFile, ext) - configTmplV5File := name + "_v5.100.0" + ext - configTmplV5Path := path.Join("testdata", "tmpl", configTmplV5File) - if _, err := os.Stat(configTmplV5Path); err == nil { - b, err := os.ReadFile(configTmplV5Path) + if resource.PreIdentityVersion != nil { + if resource.PreIdentityVersion.Equal(v5_100_0) { + tfTemplatesV5, err := tfTemplates.Clone() if err != nil { - g.Fatalf("reading config template %q: %s", configTmplV5Path, err) + g.Fatalf("cloning Terraform config template: %s", err) } - configTmplV5 := string(b) - _, err = tfTemplatesV5.New("body").Parse(configTmplV5) - if err != nil { - g.Fatalf("parsing config template %q: %s", configTmplV5Path, err) + ext := filepath.Ext(configTmplFile) + name := strings.TrimSuffix(configTmplFile, ext) + configTmplV5File := name + "_v5.100.0" + ext + configTmplV5Path := path.Join("testdata", "tmpl", configTmplV5File) + if _, err := os.Stat(configTmplV5Path); err == nil { + b, err := os.ReadFile(configTmplV5Path) + if err != nil { + g.Fatalf("reading config template %q: %s", configTmplV5Path, err) + } + configTmplV5 := string(b) + _, err = tfTemplatesV5.New("body").Parse(configTmplV5) + if err != nil { + g.Fatalf("parsing config template %q: %s", configTmplV5Path, err) + } } - } - commonV5 := common - commonV5.ExternalProviders = map[string]requiredProvider{ - "aws": { - Source: "hashicorp/aws", - Version: "5.100.0", - }, - } - generateTestConfig(g, testDirPath, "basic_v5.100.0", tfTemplatesV5, commonV5) + commonV5 := common + commonV5.ExternalProviders = map[string]requiredProvider{ + "aws": { + Source: "hashicorp/aws", + Version: "5.100.0", + }, + } + generateTestConfig(g, testDirPath, "basic_v5.100.0", tfTemplatesV5, commonV5) - commonV6 := common - commonV6.ExternalProviders = map[string]requiredProvider{ - "aws": { - Source: "hashicorp/aws", - Version: "6.0.0", - }, - } - generateTestConfig(g, testDirPath, "basic_v6.0.0", tfTemplates, commonV6) - } else { - commonPreIdentity := common - commonPreIdentity.ExternalProviders = map[string]requiredProvider{ - "aws": { - Source: "hashicorp/aws", - Version: resource.PreIdentityVersion.String(), - }, + commonV6 := common + commonV6.ExternalProviders = map[string]requiredProvider{ + "aws": { + Source: "hashicorp/aws", + Version: "6.0.0", + }, + } + generateTestConfig(g, testDirPath, "basic_v6.0.0", tfTemplates, commonV6) + } else { + commonPreIdentity := common + commonPreIdentity.ExternalProviders = map[string]requiredProvider{ + "aws": { + Source: "hashicorp/aws", + Version: resource.PreIdentityVersion.String(), + }, + } + generateTestConfig(g, testDirPath, fmt.Sprintf("basic_v%s", resource.PreIdentityVersion.String()), tfTemplates, commonPreIdentity) } - generateTestConfig(g, testDirPath, fmt.Sprintf("basic_v%s", resource.PreIdentityVersion.String()), tfTemplates, commonPreIdentity) } _, err = tfTemplates.New("region").Parse("\n region = var.region\n") @@ -362,25 +364,26 @@ const ( ) type ResourceDatum struct { - service *serviceRecords - FileName string - idAttrDuplicates string // TODO: Remove. Still needed for Parameterized Identity - GenerateConfig bool - ARNFormat string - arnAttribute string - isARNFormatGlobal triBoolean - ArnIdentity bool - MutableIdentity bool - IsGlobal bool - isSingleton bool - HasRegionOverrideTest bool - identityAttributes []identityAttribute - identityAttribute string - IdentityDuplicateAttrs []string - IDAttrFormat string - HasV6_0NullValuesError bool - HasV6_0RefreshError bool - PreIdentityVersion *version.Version + service *serviceRecords + FileName string + idAttrDuplicates string // TODO: Remove. Still needed for Parameterized Identity + GenerateConfig bool + ARNFormat string + arnAttribute string + isARNFormatGlobal triBoolean + ArnIdentity bool + MutableIdentity bool + IsGlobal bool + isSingleton bool + HasRegionOverrideTest bool + identityAttributes []identityAttribute + identityAttribute string + IdentityDuplicateAttrs []string + IDAttrFormat string + HasV6_0NullValuesError bool + HasV6_0RefreshError bool + HasNoPreExistingResource bool + PreIdentityVersion *version.Version tests.CommonArgs } @@ -548,7 +551,6 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { CommonArgs: tests.InitCommonArgs(), IsGlobal: false, HasRegionOverrideTest: true, - PreIdentityVersion: version.Must(version.NewVersion("5.100.0")), } hasIdentity := false skip := false @@ -696,6 +698,7 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { // TODO: allow underscore? case "V60SDKv2Fix": d.HasV6_0NullValuesError = true + d.PreIdentityVersion = v5_100_0 args := common.ParseArgs(m[3]) if attr, ok := args.Keyword["v60RefreshError"]; ok { @@ -758,6 +761,9 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { v.errs = append(v.errs, err) } else { d.HasV6_0NullValuesError = b + if b { + d.PreIdentityVersion = v5_100_0 + } } } if attr, ok := args.Keyword["v60RefreshError"]; ok { @@ -765,6 +771,9 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { v.errs = append(v.errs, err) } else { d.HasV6_0RefreshError = b + if b { + d.PreIdentityVersion = v5_100_0 + } } } if attr, ok := args.Keyword["preIdentityVersion"]; ok { @@ -775,6 +784,13 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { } d.PreIdentityVersion = version } + if attr, ok := args.Keyword["hasNoPreExistingResource"]; ok { + if b, err := tests.ParseBoolAttr("hasNoPreExistingResource", attr); err != nil { + v.errs = append(v.errs, err) + } else { + d.HasNoPreExistingResource = b + } + } if attr, ok := args.Keyword["tlsKey"]; ok { if b, err := tests.ParseBoolAttr("tlsKey", attr); err != nil { v.errs = append(v.errs, err) @@ -841,6 +857,10 @@ func (v *visitor) processFuncDecl(funcDecl *ast.FuncDecl) { v.errs = append(v.errs, fmt.Errorf("no name parameter set: %s", fmt.Sprintf("%s.%s", v.packageName, v.functionName))) return } + if !d.HasNoPreExistingResource && d.PreIdentityVersion == nil { + v.errs = append(v.errs, fmt.Errorf("preIdentityVersion is required when hasNoPreExistingResource is false: %s", fmt.Sprintf("%s.%s", v.packageName, v.functionName))) + return + } if !generatorSeen { d.Generator = "sdkacctest.RandomWithPrefix(acctest.ResourcePrefix)" d.GoImports = append(d.GoImports, diff --git a/internal/generate/identitytests/resource_test.go.gtpl b/internal/generate/identitytests/resource_test.go.gtpl index 7f7301b07e3b..fb83b34f113f 100644 --- a/internal/generate/identitytests/resource_test.go.gtpl +++ b/internal/generate/identitytests/resource_test.go.gtpl @@ -862,7 +862,7 @@ func {{ template "testname" . }}_Identity_RegionOverride(t *testing.T) { }, }) } -{{ else }} +{{ else if .PreIdentityVersion }} {{ if .PreIdentityVersion.GreaterThanOrEqual (NewVersion "6.0.0") }} // Resource Identity was added after v{{ .PreIdentityVersion }} func {{ template "testname" . }}_Identity_ExistingResource(t *testing.T) { From 910d5550a5987d1ef96c9fd83775a3daf8f22bf6 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 6 Aug 2025 16:39:18 -0400 Subject: [PATCH 0639/1301] r/aws_networkfirewall_firewall: Retry deletion on 'InvalidOperationException: Unable to delete the object because it is still in use'. --- internal/service/networkfirewall/firewall.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/internal/service/networkfirewall/firewall.go b/internal/service/networkfirewall/firewall.go index a553192d8e20..97c4962f9f65 100644 --- a/internal/service/networkfirewall/firewall.go +++ b/internal/service/networkfirewall/firewall.go @@ -569,7 +569,12 @@ func resourceFirewallDelete(ctx context.Context, d *schema.ResourceData, meta an input := networkfirewall.DeleteFirewallInput{ FirewallArn: aws.String(d.Id()), } - _, err := conn.DeleteFirewall(ctx, &input) + const ( + timeout = 1 * time.Minute + ) + _, err := tfresource.RetryWhenIsAErrorMessageContains[any, *awstypes.InvalidOperationException](ctx, timeout, func(ctx context.Context) (any, error) { + return conn.DeleteFirewall(ctx, &input) + }, "still in use") if errs.IsA[*awstypes.ResourceNotFoundException](err) { return diags From 54cf8c1d52f2273700ba5d99de8e621d7679d4d9 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 6 Aug 2025 16:40:42 -0400 Subject: [PATCH 0640/1301] Run 'make fix-constants PKG=networkfirewall'. --- .../service/networkfirewall/vpc_endpoint_association_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/networkfirewall/vpc_endpoint_association_test.go b/internal/service/networkfirewall/vpc_endpoint_association_test.go index d23b09c64c9c..13fb263b1805 100644 --- a/internal/service/networkfirewall/vpc_endpoint_association_test.go +++ b/internal/service/networkfirewall/vpc_endpoint_association_test.go @@ -59,7 +59,7 @@ func TestAccNetworkFirewallVPCEndpointAssociation_basic(t *testing.T) { statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrDescription), knownvalue.Null()), statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("subnet_mapping"), knownvalue.ListExact([]knownvalue.Check{ knownvalue.ObjectPartial(map[string]knownvalue.Check{ - "ip_address_type": tfknownvalue.StringExact(awstypes.IPAddressTypeIpv4), + names.AttrIPAddressType: tfknownvalue.StringExact(awstypes.IPAddressTypeIpv4), }), })), statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), From 6a10d4d284d57254f4c2344a4a08f65a837d33e9 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 1 Aug 2025 12:18:38 -0700 Subject: [PATCH 0641/1301] `apigateway` --- internal/service/apigateway/domain_name_access_association.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/service/apigateway/domain_name_access_association.go b/internal/service/apigateway/domain_name_access_association.go index 996fd85f2537..ba520e49f0a4 100644 --- a/internal/service/apigateway/domain_name_access_association.go +++ b/internal/service/apigateway/domain_name_access_association.go @@ -34,6 +34,7 @@ import ( // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/apigateway/types;awstypes;awstypes.DomainNameAccessAssociation") // @Testing(generator="github.com/hashicorp/terraform-provider-aws/internal/acctest;acctest.RandomSubdomain()") // @Testing(tlsKey=true, tlsKeyDomain="rName") +// @Testing(preIdentityVersion="v5.100.0") func newDomainNameAccessAssociationResource(context.Context) (resource.ResourceWithConfigure, error) { r := &domainNameAccessAssociationResource{} From 93545eb5ead66d171771c61ad4e23602cda0cbb7 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 1 Aug 2025 12:20:22 -0700 Subject: [PATCH 0642/1301] `appfabric` --- internal/service/appfabric/app_bundle.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/service/appfabric/app_bundle.go b/internal/service/appfabric/app_bundle.go index 953faf876e80..9bd85faa4e6a 100644 --- a/internal/service/appfabric/app_bundle.go +++ b/internal/service/appfabric/app_bundle.go @@ -34,6 +34,7 @@ import ( // @Testing(generator=false) // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/appfabric/types;awstypes;awstypes.AppBundle") // @Testing(preCheckRegion="us-east-1;ap-northeast-1;eu-west-1") +// @Testing(preIdentityVersion="v5.100.0") func newAppBundleResource(context.Context) (resource.ResourceWithConfigure, error) { r := &appBundleResource{} From f6cf2d24929bc5531bf9dac5438df8b9e8d72bf8 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 1 Aug 2025 12:21:55 -0700 Subject: [PATCH 0643/1301] `auditmanager` --- internal/service/auditmanager/account_registration.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/service/auditmanager/account_registration.go b/internal/service/auditmanager/account_registration.go index 7d374a65ac82..11f2f386c711 100644 --- a/internal/service/auditmanager/account_registration.go +++ b/internal/service/auditmanager/account_registration.go @@ -28,6 +28,7 @@ import ( // @SingletonIdentity(identityDuplicateAttributes="id") // @Testing(generator=false) // @Testing(hasExistsFunction=false, checkDestroyNoop=true) +// @Testing(preIdentityVersion="v5.100.0") func newAccountRegistrationResource(_ context.Context) (resource.ResourceWithConfigure, error) { return &accountRegistrationResource{}, nil } From be1b106f78586fe1a0c1752d1ed51695eab3b831 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 1 Aug 2025 12:22:38 -0700 Subject: [PATCH 0644/1301] `batch` --- internal/service/batch/job_queue.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/service/batch/job_queue.go b/internal/service/batch/job_queue.go index 9fb43983a01a..1f9d55913964 100644 --- a/internal/service/batch/job_queue.go +++ b/internal/service/batch/job_queue.go @@ -40,6 +40,7 @@ import ( // @ArnIdentity(identityDuplicateAttributes="id") // @ArnFormat("job-queue/{name}") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/batch/types;types.JobQueueDetail") +// @Testing(preIdentityVersion="v5.100.0") func newJobQueueResource(_ context.Context) (resource.ResourceWithConfigure, error) { r := jobQueueResource{} From 2814749958b682db20a411d671ba2ef0728584c3 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 6 Aug 2025 16:41:36 -0400 Subject: [PATCH 0645/1301] Fix semgrep 'ci.semgrep.framework.manual-flattener-functions'. --- internal/service/networkfirewall/vpc_endpoint_association.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/networkfirewall/vpc_endpoint_association.go b/internal/service/networkfirewall/vpc_endpoint_association.go index 6c32a8683b81..063f0cd7b237 100644 --- a/internal/service/networkfirewall/vpc_endpoint_association.go +++ b/internal/service/networkfirewall/vpc_endpoint_association.go @@ -336,7 +336,7 @@ func waitVPCEndpointAssociationDeleted(ctx context.Context, conn *networkfirewal return nil, err } -func flattenVPCEndpointAssociationStatus(ctx context.Context, veas *awstypes.VpcEndpointAssociationStatus) (fwtypes.ListNestedObjectValueOf[vpcEndpointAssociationStatusModel], diag.Diagnostics) { +func flattenVPCEndpointAssociationStatus(ctx context.Context, veas *awstypes.VpcEndpointAssociationStatus) (fwtypes.ListNestedObjectValueOf[vpcEndpointAssociationStatusModel], diag.Diagnostics) { // nosemgrep:ci.semgrep.framework.manual-flattener-functions var diags diag.Diagnostics if veas == nil { From 06e6cdb3c5027ba19f9c2c3bbd875af518aa6d90 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 1 Aug 2025 12:26:35 -0700 Subject: [PATCH 0646/1301] `bedrock` --- internal/service/bedrock/custom_model.go | 1 + .../service/bedrock/model_invocation_logging_configuration.go | 1 + 2 files changed, 2 insertions(+) diff --git a/internal/service/bedrock/custom_model.go b/internal/service/bedrock/custom_model.go index 119f5de14dd3..5ea5d1f042f9 100644 --- a/internal/service/bedrock/custom_model.go +++ b/internal/service/bedrock/custom_model.go @@ -48,6 +48,7 @@ import ( // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/bedrock;bedrock.GetModelCustomizationJobOutput") // @Testing(serialize=true) // @Testing(importIgnore="base_model_identifier", plannableImportAction="Replace") +// @Testing(preIdentityVersion="v5.100.0") func newCustomModelResource(context.Context) (resource.ResourceWithConfigure, error) { r := &customModelResource{} diff --git a/internal/service/bedrock/model_invocation_logging_configuration.go b/internal/service/bedrock/model_invocation_logging_configuration.go index df705cedf86f..5188485f9973 100644 --- a/internal/service/bedrock/model_invocation_logging_configuration.go +++ b/internal/service/bedrock/model_invocation_logging_configuration.go @@ -27,6 +27,7 @@ import ( // @FrameworkResource("aws_bedrock_model_invocation_logging_configuration", name="Model Invocation Logging Configuration") // @SingletonIdentity(identityDuplicateAttributes="id") +// @Testing(preIdentityVersion="v5.100.0") func newModelInvocationLoggingConfigurationResource(context.Context) (resource.ResourceWithConfigure, error) { return &modelInvocationLoggingConfigurationResource{}, nil } From cb7d89293b557bbb63feb0017aeb15eb56af34e6 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 1 Aug 2025 12:29:38 -0700 Subject: [PATCH 0647/1301] `cloudfront` --- internal/service/cloudfront/key_value_store.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/service/cloudfront/key_value_store.go b/internal/service/cloudfront/key_value_store.go index 064fcfd5f48a..aa2c6758fe98 100644 --- a/internal/service/cloudfront/key_value_store.go +++ b/internal/service/cloudfront/key_value_store.go @@ -36,6 +36,7 @@ import ( // @ArnFormat("key-value-store/{id}", attribute="arn") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/cloudfront/types;awstypes;awstypes.KeyValueStore") // @Testing(importStateIdAttribute="name") +// @Testing(preIdentityVersion="v5.100.0") func newKeyValueStoreResource(context.Context) (resource.ResourceWithConfigure, error) { r := &keyValueStoreResource{} From 3f22b0da162b743d3b7b462b18262e3c46f5f82c Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 1 Aug 2025 12:32:12 -0700 Subject: [PATCH 0648/1301] `codeconnections` --- internal/service/codeconnections/connection.go | 1 + internal/service/codeconnections/host.go | 1 + 2 files changed, 2 insertions(+) diff --git a/internal/service/codeconnections/connection.go b/internal/service/codeconnections/connection.go index 7d5b4c3c23c8..eecfab53d039 100644 --- a/internal/service/codeconnections/connection.go +++ b/internal/service/codeconnections/connection.go @@ -37,6 +37,7 @@ import ( // @Tags(identifierAttribute="arn") // @ArnIdentity(identityDuplicateAttributes="id") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/codeconnections/types;types.Connection") +// @Testing(preIdentityVersion="v5.100.0") func newConnectionResource(_ context.Context) (resource.ResourceWithConfigure, error) { r := &connectionResource{} diff --git a/internal/service/codeconnections/host.go b/internal/service/codeconnections/host.go index f4b0d07de13b..adfd583017ae 100644 --- a/internal/service/codeconnections/host.go +++ b/internal/service/codeconnections/host.go @@ -36,6 +36,7 @@ import ( // @Tags(identifierAttribute="arn") // @ArnIdentity(identityDuplicateAttributes="id") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/codeconnections/types;types.Host") +// @Testing(preIdentityVersion="v5.100.0") func newHostResource(_ context.Context) (resource.ResourceWithConfigure, error) { r := &hostResource{} From fba140b6a25e47d1d214f916e173811b15b0fd16 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 1 Aug 2025 12:37:13 -0700 Subject: [PATCH 0649/1301] `devopsguru` --- internal/service/devopsguru/event_sources_config.go | 1 + internal/service/devopsguru/service_integration.go | 1 + 2 files changed, 2 insertions(+) diff --git a/internal/service/devopsguru/event_sources_config.go b/internal/service/devopsguru/event_sources_config.go index 50dcaae4c17a..cc0d7ab19044 100644 --- a/internal/service/devopsguru/event_sources_config.go +++ b/internal/service/devopsguru/event_sources_config.go @@ -29,6 +29,7 @@ import ( // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/devopsguru;devopsguru.DescribeEventSourcesConfigOutput") // @Testing(preCheck="testAccPreCheck") // @Testing(generator=false) +// @Testing(preIdentityVersion="v5.100.0") func newEventSourcesConfigResource(_ context.Context) (resource.ResourceWithConfigure, error) { return &eventSourcesConfigResource{}, nil } diff --git a/internal/service/devopsguru/service_integration.go b/internal/service/devopsguru/service_integration.go index d41eb9395fca..2c16c77e059e 100644 --- a/internal/service/devopsguru/service_integration.go +++ b/internal/service/devopsguru/service_integration.go @@ -29,6 +29,7 @@ import ( // @SingletonIdentity(identityDuplicateAttributes="id") // @Testing(preCheck="testAccPreCheck") // @Testing(generator=false) +// @Testing(preIdentityVersion="v5.100.0") func newServiceIntegrationResource(_ context.Context) (resource.ResourceWithConfigure, error) { return &serviceIntegrationResource{}, nil } From d2611f301ba4b5ac947fc37bfe9a87e10bb15661 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 1 Aug 2025 12:55:18 -0700 Subject: [PATCH 0650/1301] `networkfirewall` --- internal/service/networkfirewall/tls_inspection_configuration.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/service/networkfirewall/tls_inspection_configuration.go b/internal/service/networkfirewall/tls_inspection_configuration.go index 235f598f9175..a9b5f514d7ac 100644 --- a/internal/service/networkfirewall/tls_inspection_configuration.go +++ b/internal/service/networkfirewall/tls_inspection_configuration.go @@ -47,6 +47,7 @@ import ( // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/networkfirewall;networkfirewall.DescribeTLSInspectionConfigurationOutput") // @Testing(subdomainTfVar="common_name;certificate_domain") // @Testing(importIgnore="update_token", plannableImportAction="NoOp") +// @Testing(preIdentityVersion="v5.100.0") func newTLSInspectionConfigurationResource(_ context.Context) (resource.ResourceWithConfigure, error) { r := &tlsInspectionConfigurationResource{} From 7097be9e9f170f267b94e9028d69453e9d98c473 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 1 Aug 2025 12:59:44 -0700 Subject: [PATCH 0651/1301] `rds` --- internal/service/rds/integration.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/service/rds/integration.go b/internal/service/rds/integration.go index 76c13ce114a9..f8e779810e6f 100644 --- a/internal/service/rds/integration.go +++ b/internal/service/rds/integration.go @@ -37,6 +37,7 @@ import ( // @ArnIdentity(identityDuplicateAttributes="id") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/rds/types;awstypes;awstypes.Integration") // @Testing(tagsTest=false) +// @Testing(preIdentityVersion="v5.100.0") func newIntegrationResource(_ context.Context) (resource.ResourceWithConfigure, error) { r := &integrationResource{} From 184f2fbc5c1617fed2c340c3966dacd82362df49 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 1 Aug 2025 13:03:49 -0700 Subject: [PATCH 0652/1301] `docdbelastic` --- internal/service/docdbelastic/cluster.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/service/docdbelastic/cluster.go b/internal/service/docdbelastic/cluster.go index bfffb2e4f4a3..293a288177e5 100644 --- a/internal/service/docdbelastic/cluster.go +++ b/internal/service/docdbelastic/cluster.go @@ -42,6 +42,7 @@ import ( // @ArnIdentity(identityDuplicateAttributes="id") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/docdbelastic/types;awstypes;awstypes.Cluster") // @Testing(importIgnore="admin_user_password") +// @Testing(preIdentityVersion="v5.100.0") func newClusterResource(context.Context) (resource.ResourceWithConfigure, error) { r := &clusterResource{} From ea945b04059bb432596e79a31641940c26f4117b Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 1 Aug 2025 13:08:12 -0700 Subject: [PATCH 0653/1301] `globalaccelerator` --- internal/service/globalaccelerator/cross_account_attachment.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/service/globalaccelerator/cross_account_attachment.go b/internal/service/globalaccelerator/cross_account_attachment.go index 453a88984b3f..43e64296f664 100644 --- a/internal/service/globalaccelerator/cross_account_attachment.go +++ b/internal/service/globalaccelerator/cross_account_attachment.go @@ -34,6 +34,7 @@ import ( // @Tags(identifierAttribute="arn") // @ArnIdentity(identityDuplicateAttributes="id") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/globalaccelerator/types;awstypes;awstypes.Attachment") +// @Testing(preIdentityVersion="v5.100.0") func newCrossAccountAttachmentResource(_ context.Context) (resource.ResourceWithConfigure, error) { r := &crossAccountAttachmentResource{} From b381331fbc59c2398b3236ef08150a94b0ceb5f1 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 1 Aug 2025 13:09:59 -0700 Subject: [PATCH 0654/1301] `securityhub` --- internal/service/securityhub/automation_rule.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/service/securityhub/automation_rule.go b/internal/service/securityhub/automation_rule.go index 314f8d9c56d5..a790e1f208b1 100644 --- a/internal/service/securityhub/automation_rule.go +++ b/internal/service/securityhub/automation_rule.go @@ -37,6 +37,7 @@ import ( // @ArnIdentity(identityDuplicateAttributes="id") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/securityhub/types;awstypes;awstypes.AutomationRulesConfig") // @Testing(serialize=true) +// @Testing(preIdentityVersion="v5.100.0") func newAutomationRuleResource(_ context.Context) (resource.ResourceWithConfigure, error) { return &automationRuleResource{}, nil } From 311c03c2f160984849e071d52ce7fdc1f65fc084 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 1 Aug 2025 13:13:16 -0700 Subject: [PATCH 0655/1301] `ssoadmin` --- internal/service/ssoadmin/trusted_token_issuer.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/service/ssoadmin/trusted_token_issuer.go b/internal/service/ssoadmin/trusted_token_issuer.go index cd0a202b9e33..090c054948ca 100644 --- a/internal/service/ssoadmin/trusted_token_issuer.go +++ b/internal/service/ssoadmin/trusted_token_issuer.go @@ -39,6 +39,7 @@ import ( // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/ssoadmin;ssoadmin.DescribeTrustedTokenIssuerOutput") // @Testing(preCheckWithRegion="github.com/hashicorp/terraform-provider-aws/internal/acctest;acctest.PreCheckSSOAdminInstancesWithRegion") // @Testing(serialize=true) +// @Testing(preIdentityVersion="v5.100.0") func newTrustedTokenIssuerResource(_ context.Context) (resource.ResourceWithConfigure, error) { return &trustedTokenIssuerResource{}, nil } From 6de4cca77521947f37dddc1fb3ecfa9533eef66f Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 1 Aug 2025 13:36:53 -0700 Subject: [PATCH 0656/1301] `dynamodb` --- internal/service/dynamodb/resource_policy.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/service/dynamodb/resource_policy.go b/internal/service/dynamodb/resource_policy.go index 54083058a32e..bb6337f126f1 100644 --- a/internal/service/dynamodb/resource_policy.go +++ b/internal/service/dynamodb/resource_policy.go @@ -31,6 +31,7 @@ import ( // @ArnIdentity("resource_arn", identityDuplicateAttributes="id") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/dynamodb;dynamodb.GetResourcePolicyOutput") // @Testing(importIgnore="policy") +// @Testing(preIdentityVersion="v5.100.0") func newResourcePolicyResource(_ context.Context) (resource.ResourceWithConfigure, error) { r := &resourcePolicyResource{} From 3267a1c2cbf91d9b007771d7c1a66e99f88f20d3 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 1 Aug 2025 13:37:45 -0700 Subject: [PATCH 0657/1301] `imagebuilder` --- internal/service/imagebuilder/lifecycle_policy.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/service/imagebuilder/lifecycle_policy.go b/internal/service/imagebuilder/lifecycle_policy.go index 037e9eb4fda0..ac549ed681f6 100644 --- a/internal/service/imagebuilder/lifecycle_policy.go +++ b/internal/service/imagebuilder/lifecycle_policy.go @@ -38,6 +38,7 @@ import ( // @Tags(identifierAttribute="arn") // @ArnIdentity(identityDuplicateAttributes="id") // @ArnFormat("lifecycle-policy/{name}") +// @Testing(preIdentityVersion="v5.100.0") func newLifecyclePolicyResource(_ context.Context) (resource.ResourceWithConfigure, error) { return &lifecyclePolicyResource{}, nil } From 4867402a1505e5b5269160866651a2dff512d4de Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 1 Aug 2025 14:31:55 -0700 Subject: [PATCH 0658/1301] `kinesis` --- internal/service/kinesis/resource_policy.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/service/kinesis/resource_policy.go b/internal/service/kinesis/resource_policy.go index 7055199d360b..c58ce58b05e0 100644 --- a/internal/service/kinesis/resource_policy.go +++ b/internal/service/kinesis/resource_policy.go @@ -30,6 +30,7 @@ import ( // @Testing(useAlternateAccount=true) // We need to ignore `policy` because the JSON body is not normalized // @Testing(importIgnore="policy") +// @Testing(preIdentityVersion="v5.100.0") func newResourcePolicyResource(context.Context) (resource.ResourceWithConfigure, error) { r := &resourcePolicyResource{} From 6c7fca40482665480ee9f172e1a7c28e242c3da0 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 1 Aug 2025 14:32:10 -0700 Subject: [PATCH 0659/1301] `paymentcryptography` --- internal/service/paymentcryptography/key.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/service/paymentcryptography/key.go b/internal/service/paymentcryptography/key.go index 9fb0c41cdb40..d105ae383aa9 100644 --- a/internal/service/paymentcryptography/key.go +++ b/internal/service/paymentcryptography/key.go @@ -39,6 +39,7 @@ import ( // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/paymentcryptography;paymentcryptography.GetKeyOutput") // @Testing(generator=false) // @Testing(importIgnore="deletion_window_in_days") +// @Testing(preIdentityVersion="v5.100.0") func newKeyResource(_ context.Context) (resource.ResourceWithConfigure, error) { r := &keyResource{} From f239e2d8e06334742f8254a4ad086e0d0845b36a Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 1 Aug 2025 14:32:29 -0700 Subject: [PATCH 0660/1301] `resourceexplorer2` --- internal/service/resourceexplorer2/index.go | 1 + internal/service/resourceexplorer2/view.go | 1 + 2 files changed, 2 insertions(+) diff --git a/internal/service/resourceexplorer2/index.go b/internal/service/resourceexplorer2/index.go index ce1ee29de647..820cbe54d6a0 100644 --- a/internal/service/resourceexplorer2/index.go +++ b/internal/service/resourceexplorer2/index.go @@ -35,6 +35,7 @@ import ( // @ArnIdentity(identityDuplicateAttributes="id") // @Testing(serialize=true) // @Testing(generator=false) +// @Testing(preIdentityVersion="v5.100.0") func newIndexResource(context.Context) (resource.ResourceWithConfigure, error) { r := &indexResource{} diff --git a/internal/service/resourceexplorer2/view.go b/internal/service/resourceexplorer2/view.go index bd2a2bd6671f..8c03ea10d217 100644 --- a/internal/service/resourceexplorer2/view.go +++ b/internal/service/resourceexplorer2/view.go @@ -41,6 +41,7 @@ import ( // @ArnIdentity(identityDuplicateAttributes="id") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/resourceexplorer2;resourceexplorer2.GetViewOutput") // @Testing(serialize=true) +// @Testing(preIdentityVersion="v5.100.0") func newViewResource(context.Context) (resource.ResourceWithConfigure, error) { return &viewResource{}, nil } From fc333b7c58aac65226d25682fe5be88dd40b4ea4 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 1 Aug 2025 14:32:42 -0700 Subject: [PATCH 0661/1301] `shield` --- internal/service/shield/application_layer_automatic_response.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/service/shield/application_layer_automatic_response.go b/internal/service/shield/application_layer_automatic_response.go index 52873bf7ac51..163e1c3cb9e0 100644 --- a/internal/service/shield/application_layer_automatic_response.go +++ b/internal/service/shield/application_layer_automatic_response.go @@ -47,6 +47,7 @@ func (applicationLayerAutomaticResponseAction) Values() []applicationLayerAutoma // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/shield/types;awstypes;awstypes.ApplicationLayerAutomaticResponseConfiguration") // @Testing(preCheck="github.com/hashicorp/terraform-provider-aws/internal/acctest;acctest.PreCheckWAFV2CloudFrontScope") // @Testing(preCheck="testAccPreCheck") +// @Testing(preIdentityVersion="v5.100.0") func newApplicationLayerAutomaticResponseResource(context.Context) (resource.ResourceWithConfigure, error) { r := &applicationLayerAutomaticResponseResource{} From 9b19d7b3780d8585a2caa12f2b2dc7799390fa27 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 1 Aug 2025 14:33:52 -0700 Subject: [PATCH 0662/1301] `ssmcontacts` --- internal/service/ssmcontacts/rotation.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/service/ssmcontacts/rotation.go b/internal/service/ssmcontacts/rotation.go index d1b714e51552..e50959fc6bd2 100644 --- a/internal/service/ssmcontacts/rotation.go +++ b/internal/service/ssmcontacts/rotation.go @@ -42,6 +42,7 @@ const ( // @Testing(serialize=true) // Region override test requires `aws_ssmincidents_replication_set`, which doesn't support region override // @Testing(identityRegionOverrideTest=false) +// @Testing(preIdentityVersion="v5.100.0") func newRotationResource(context.Context) (resource.ResourceWithConfigure, error) { r := &rotationResource{} From 7693781f49b161282a5aa00b4e0e88415de8b43e Mon Sep 17 00:00:00 2001 From: changelogbot Date: Wed, 6 Aug 2025 21:44:40 +0000 Subject: [PATCH 0663/1301] Update CHANGELOG.md for #43670 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fbb13aec59c4..334cf46deb24 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ ENHANCEMENTS: * resource/aws_instance: Adds `force_destroy` argument that allows destruction even when `disable_api_termination` and `disable_api_stop` are `true` ([#43722](https://github.com/hashicorp/terraform-provider-aws/issues/43722)) * resource/aws_ivschat_logging_configuration: Add resource identity support ([#43697](https://github.com/hashicorp/terraform-provider-aws/issues/43697)) * resource/aws_ivschat_room: Add resource identity support ([#43697](https://github.com/hashicorp/terraform-provider-aws/issues/43697)) +* resource/aws_kinesis_firehose_delivery_stream: Add `iceberg_configuration.append_only` argument ([#43647](https://github.com/hashicorp/terraform-provider-aws/issues/43647)) * resource/aws_lightsail_static_ip: Support resource import ([#43672](https://github.com/hashicorp/terraform-provider-aws/issues/43672)) * resource/aws_opensearch_domain_policy: Support resource import ([#43674](https://github.com/hashicorp/terraform-provider-aws/issues/43674)) * resource/aws_quicksight_user: Add plan-time validation of `iam_arn` ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) From 16523a5b880762874e0dc22462d19f848d9e866d Mon Sep 17 00:00:00 2001 From: "tabito.hara" Date: Thu, 7 Aug 2025 14:22:41 +0900 Subject: [PATCH 0664/1301] Use GetFunctionConcurrency if Qualifier is specified --- internal/service/lambda/function.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/internal/service/lambda/function.go b/internal/service/lambda/function.go index 79f7500fcf03..f6050c8081f4 100644 --- a/internal/service/lambda/function.go +++ b/internal/service/lambda/function.go @@ -1104,6 +1104,21 @@ func findFunction(ctx context.Context, conn *lambda.Client, input *lambda.GetFun return nil, tfresource.NewEmptyResultError(input) } + // If Qualifier is specified, GetFunction will return nil for Concurrency. + // Need to fetch it separately using GetFunctionConcurrency. + if output.Concurrency == nil && input.Qualifier != nil { + input := lambda.GetFunctionConcurrencyInput{ + FunctionName: aws.String(aws.ToString(input.FunctionName)), + } + concurrencyOutput, err := conn.GetFunctionConcurrency(ctx, &input) + if err != nil { + return nil, err + } + output.Concurrency = &awstypes.Concurrency{ + ReservedConcurrentExecutions: concurrencyOutput.ReservedConcurrentExecutions, + } + } + return output, nil } From 097443686d8b203425566d1d03c90fc688ee6726 Mon Sep 17 00:00:00 2001 From: "tabito.hara" Date: Thu, 7 Aug 2025 14:24:03 +0900 Subject: [PATCH 0665/1301] add an acctest for the data-source --- .../lambda/function_data_source_test.go | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/internal/service/lambda/function_data_source_test.go b/internal/service/lambda/function_data_source_test.go index d324c03fe559..77efcf82158e 100644 --- a/internal/service/lambda/function_data_source_test.go +++ b/internal/service/lambda/function_data_source_test.go @@ -91,6 +91,33 @@ func TestAccLambdaFunctionDataSource_version(t *testing.T) { }) } +func TestAccLambdaFunctionDataSource_versionWithReservedConcurrency(t *testing.T) { + ctx := acctest.Context(t) + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + dataSourceName := "data.aws_lambda_function.test" + resourceName := "aws_lambda_function.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.LambdaServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + Config: testAccFunctionDataSourceConfig_versionWithReservedConcurrency(rName), + Check: resource.ComposeAggregateTestCheckFunc( + resource.TestCheckResourceAttrPair(dataSourceName, names.AttrARN, resourceName, names.AttrARN), + resource.TestCheckResourceAttrPair(dataSourceName, "invoke_arn", resourceName, "invoke_arn"), + resource.TestCheckResourceAttrPair(dataSourceName, "qualified_arn", resourceName, "qualified_arn"), + resource.TestCheckResourceAttrPair(dataSourceName, "qualified_invoke_arn", resourceName, "qualified_invoke_arn"), + resource.TestCheckResourceAttr(dataSourceName, "qualifier", "1"), + resource.TestCheckResourceAttrPair(dataSourceName, "reserved_concurrent_executions", resourceName, "reserved_concurrent_executions"), + resource.TestCheckResourceAttr(dataSourceName, names.AttrVersion, "1"), + ), + }, + }, + }) +} + func TestAccLambdaFunctionDataSource_latestVersion(t *testing.T) { ctx := acctest.Context(t) rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -469,6 +496,25 @@ data "aws_lambda_function" "test" { `, rName)) } +func testAccFunctionDataSourceConfig_versionWithReservedConcurrency(rName string) string { + return acctest.ConfigCompose(testAccFunctionDataSourceConfig_base(rName), fmt.Sprintf(` +resource "aws_lambda_function" "test" { + filename = "test-fixtures/lambdatest.zip" + function_name = %[1]q + handler = "exports.example" + publish = true + role = aws_iam_role.lambda.arn + runtime = "nodejs20.x" + reserved_concurrent_executions = 10 +} + +data "aws_lambda_function" "test" { + function_name = aws_lambda_function.test.function_name + qualifier = 1 +} +`, rName)) +} + func testAccFunctionDataSourceConfig_latestVersion(rName string) string { return acctest.ConfigCompose(testAccFunctionDataSourceConfig_base(rName), fmt.Sprintf(` resource "aws_lambda_function" "test" { From f34e700367190577ddc643d58e1055e4b2d18699 Mon Sep 17 00:00:00 2001 From: "tabito.hara" Date: Thu, 7 Aug 2025 14:24:41 +0900 Subject: [PATCH 0666/1301] add a test case for the resource --- internal/service/lambda/function_test.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/internal/service/lambda/function_test.go b/internal/service/lambda/function_test.go index 913f023bef7a..a391f41d41b6 100644 --- a/internal/service/lambda/function_test.go +++ b/internal/service/lambda/function_test.go @@ -273,6 +273,13 @@ func TestAccLambdaFunction_concurrency(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "reserved_concurrent_executions", "222"), ), }, + { + Config: testAccFunctionConfig_concurrencyPublished(rName), + Check: resource.ComposeTestCheckFunc( + testAccCheckFunctionExists(ctx, resourceName, &conf), + resource.TestCheckResourceAttr(resourceName, "reserved_concurrent_executions", "222"), + ), + }, }, }) } @@ -2838,6 +2845,22 @@ resource "aws_lambda_function" "test" { `, rName)) } +func testAccFunctionConfig_concurrencyPublished(rName string) string { + return acctest.ConfigCompose( + acctest.ConfigLambdaBase(rName, rName, rName), + fmt.Sprintf(` +resource "aws_lambda_function" "test" { + filename = "test-fixtures/lambdatest.zip" + function_name = %[1]q + role = aws_iam_role.iam_for_lambda.arn + handler = "exports.example" + publish = true + runtime = "nodejs20.x" + reserved_concurrent_executions = 222 +} +`, rName)) +} + func testAccFunctionConfig_noFilenameAndS3Attributes(rName string) string { return acctest.ConfigCompose( acctest.ConfigLambdaBase(rName, rName, rName), From 73796c82c246e21600aa437d056955dc92c58e3a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 7 Aug 2025 07:03:33 +0000 Subject: [PATCH 0667/1301] Bump the aws-sdk-go-v2 group across 1 directory with 6 updates Bumps the aws-sdk-go-v2 group with 6 updates in the / directory: | Package | From | To | | --- | --- | --- | | [github.com/aws/aws-sdk-go-v2/service/appstream](https://github.com/aws/aws-sdk-go-v2) | `1.47.0` | `1.47.1` | | [github.com/aws/aws-sdk-go-v2/service/budgets](https://github.com/aws/aws-sdk-go-v2) | `1.34.0` | `1.35.0` | | [github.com/aws/aws-sdk-go-v2/service/ec2](https://github.com/aws/aws-sdk-go-v2) | `1.240.0` | `1.241.0` | | [github.com/aws/aws-sdk-go-v2/service/networkmanager](https://github.com/aws/aws-sdk-go-v2) | `1.37.0` | `1.37.1` | | [github.com/aws/aws-sdk-go-v2/service/opensearchserverless](https://github.com/aws/aws-sdk-go-v2) | `1.22.0` | `1.23.0` | | [github.com/aws/aws-sdk-go-v2/service/qbusiness](https://github.com/aws/aws-sdk-go-v2) | `1.30.0` | `1.31.0` | Updates `github.com/aws/aws-sdk-go-v2/service/appstream` from 1.47.0 to 1.47.1 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.47.0...service/s3/v1.47.1) Updates `github.com/aws/aws-sdk-go-v2/service/budgets` from 1.34.0 to 1.35.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.34.0...v1.35.0) Updates `github.com/aws/aws-sdk-go-v2/service/ec2` from 1.240.0 to 1.241.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/ec2/v1.240.0...service/ec2/v1.241.0) Updates `github.com/aws/aws-sdk-go-v2/service/networkmanager` from 1.37.0 to 1.37.1 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.37.0...v1.37.1) Updates `github.com/aws/aws-sdk-go-v2/service/opensearchserverless` from 1.22.0 to 1.23.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.22.0...v1.23.0) Updates `github.com/aws/aws-sdk-go-v2/service/qbusiness` from 1.30.0 to 1.31.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.30.0...v1.31.0) --- updated-dependencies: - dependency-name: github.com/aws/aws-sdk-go-v2/service/appstream dependency-version: 1.47.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/budgets dependency-version: 1.35.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/ec2 dependency-version: 1.241.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/networkmanager dependency-version: 1.37.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/opensearchserverless dependency-version: 1.23.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/qbusiness dependency-version: 1.31.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 ... Signed-off-by: dependabot[bot] --- go.mod | 12 ++++++------ go.sum | 24 ++++++++++++------------ 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/go.mod b/go.mod index 9b87641b5228..a6493ad3ed9d 100644 --- a/go.mod +++ b/go.mod @@ -33,7 +33,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.13.0 github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0 github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0 - github.com/aws/aws-sdk-go-v2/service/appstream v1.47.0 + github.com/aws/aws-sdk-go-v2/service/appstream v1.47.1 github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0 github.com/aws/aws-sdk-go-v2/service/athena v1.53.0 github.com/aws/aws-sdk-go-v2/service/auditmanager v1.43.0 @@ -46,7 +46,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0 github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0 github.com/aws/aws-sdk-go-v2/service/billing v1.4.0 - github.com/aws/aws-sdk-go-v2/service/budgets v1.34.0 + github.com/aws/aws-sdk-go-v2/service/budgets v1.35.0 github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0 github.com/aws/aws-sdk-go-v2/service/chime v1.38.0 github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.24.0 @@ -103,7 +103,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/drs v1.33.0 github.com/aws/aws-sdk-go-v2/service/dsql v1.7.0 github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0 - github.com/aws/aws-sdk-go-v2/service/ec2 v1.240.0 + github.com/aws/aws-sdk-go-v2/service/ec2 v1.241.0 github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0 github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0 github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0 @@ -179,14 +179,14 @@ require ( github.com/aws/aws-sdk-go-v2/service/neptune v1.39.0 github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0 github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0 - github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.0 + github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.1 github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0 github.com/aws/aws-sdk-go-v2/service/notifications v1.4.0 github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.3.0 github.com/aws/aws-sdk-go-v2/service/oam v1.20.0 github.com/aws/aws-sdk-go-v2/service/odb v1.2.0 github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0 - github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.22.0 + github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.23.0 github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0 github.com/aws/aws-sdk-go-v2/service/osis v1.17.0 github.com/aws/aws-sdk-go-v2/service/outposts v1.54.0 @@ -198,7 +198,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/pipes v1.21.0 github.com/aws/aws-sdk-go-v2/service/polly v1.50.0 github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0 - github.com/aws/aws-sdk-go-v2/service/qbusiness v1.30.0 + github.com/aws/aws-sdk-go-v2/service/qbusiness v1.31.0 github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0 github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0 github.com/aws/aws-sdk-go-v2/service/ram v1.32.0 diff --git a/go.sum b/go.sum index d7af8bd88b87..d03c6343c8a8 100644 --- a/go.sum +++ b/go.sum @@ -77,8 +77,8 @@ github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0 h1:O9PZ3rZ3kO78qUS0+b89tozN github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0/go.mod h1:oAWy74yo48WYE/39Tvr1/MqaLTpZ1nyr4r6/cPuTS1g= github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0 h1:PGgY/BIQ82RFrR9rmJYejYk4jb4HmrR4+bxMe0Jj3t8= github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0/go.mod h1:BjYI0ZEPp4hIXG+3ZoVBr1qA0alLeY98/spY5vsvw7A= -github.com/aws/aws-sdk-go-v2/service/appstream v1.47.0 h1:sKliINBtT3oMvfhHf4/gNXKgdB5X5DLmUengQTuCokk= -github.com/aws/aws-sdk-go-v2/service/appstream v1.47.0/go.mod h1:VAnAk0EgMx9TVmWtZWnLH6JCnhfcSWVmzxNdIAHVxSs= +github.com/aws/aws-sdk-go-v2/service/appstream v1.47.1 h1:R2/JQhkhOO4QEK2tjxTgfsrD9fIvh2yoMS3aRN8wAzU= +github.com/aws/aws-sdk-go-v2/service/appstream v1.47.1/go.mod h1:VAnAk0EgMx9TVmWtZWnLH6JCnhfcSWVmzxNdIAHVxSs= github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0 h1:h1DrjjLvycToReHS4nlv5CpH4wpqVUEZKzQ+gaomC+M= github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0/go.mod h1:SHB4PzNsxsI+4dcTpSll9FTlbkE6t3zxDoBYERPIVnQ= github.com/aws/aws-sdk-go-v2/service/athena v1.53.0 h1:TL5fazHlqxo8Ri3Do0s4EJXhd3Oc7BVZ9uN1NPUKFpE= @@ -103,8 +103,8 @@ github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0 h1:GJdyUvYs/ github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0/go.mod h1:QmHnuYuWyavbwugFNSSJRvzMGaFngJD52D2Q3Rm9Mz0= github.com/aws/aws-sdk-go-v2/service/billing v1.4.0 h1:9cAmZFgJC5ymi2OD5OOlsDgatSVGHuwaxvO0/bkfyBI= github.com/aws/aws-sdk-go-v2/service/billing v1.4.0/go.mod h1:jV6JqgNCURYxs3c4fp3dMQUdoTC5NnwtqKT8y8tF71s= -github.com/aws/aws-sdk-go-v2/service/budgets v1.34.0 h1:nB8rYoMzGtmoyfDVJFFcA0erXeQgncsy1sJfFB01gwY= -github.com/aws/aws-sdk-go-v2/service/budgets v1.34.0/go.mod h1:Q0u6QOkKcwMNEvPgZAZlFo+zs3aP1wgMJANH0XKJEPU= +github.com/aws/aws-sdk-go-v2/service/budgets v1.35.0 h1:JdY+rRsL1Eqi9SRqSobdHBtcV4SRLKZUb2gIUye+1jw= +github.com/aws/aws-sdk-go-v2/service/budgets v1.35.0/go.mod h1:Q0u6QOkKcwMNEvPgZAZlFo+zs3aP1wgMJANH0XKJEPU= github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0 h1:uMXPZGOAfgo6jmvuaEyLSKt0Y3OrwQb+c/ZWv8apz+M= github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0/go.mod h1:e7Yi+X2nUGErWGG98k3U6QTocR3HFVRelFYyZrM/6kI= github.com/aws/aws-sdk-go-v2/service/chime v1.38.0 h1:iJ+spCNIok1pcSB8Ep+icpsEZE3zJBmsy2utIwtVfog= @@ -217,8 +217,8 @@ github.com/aws/aws-sdk-go-v2/service/dsql v1.7.0 h1:90eZGtuddgUIcOTCrA8FhgaGb4eF github.com/aws/aws-sdk-go-v2/service/dsql v1.7.0/go.mod h1:FRIS/nQBGwjD+CfPct4I2Sly16EJXFl8iq9sd/n2t4c= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0 h1:b7F96mjkzsqymMSGhuCqBQTZFx3mhTMa6IoG6SoVvC8= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0/go.mod h1:F8Rqs4FVGBTUzx3wbFm7HB/mgIA4Tc6/x0yQmjoB+/w= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.240.0 h1:/NUzag+6BGBNvM7FEHDsDK8itSgWEUVhmC2HDBR8NrM= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.240.0/go.mod h1:HDxGArx3/bUnkoFsuvTNIxEj/cR3f+IgsVh1B7Pvay8= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.241.0 h1:twGX//bv1QH/9pyJaqynNSo0eXGkDEdDTFy8GNPsz5M= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.241.0/go.mod h1:HDxGArx3/bUnkoFsuvTNIxEj/cR3f+IgsVh1B7Pvay8= github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0 h1:2SOhwFVwG8PxJVT8DM6nhGsX+JZ8bl9CVgeiueeL4gs= github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0/go.mod h1:j8i+iiBvaf+Em29qBiXuhw5r9tGWDbpFEvLDqLtnMh8= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0 h1:Jcgm/dOm/6M0882pZwLzlN3BZyKEl4Pxp1isTkHoems= @@ -379,8 +379,8 @@ github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0 h1:3G+4uyOmh4qWkMVZoRt github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0/go.mod h1:kkG79+f09Fmee5bohISd+JaieXQRXlfixZLcOikkxXg= github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0 h1:FHl1QPk+MTUjcbGtnNfcVnq5bPkP71Tbzt++qQ/dCnY= github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0/go.mod h1:EiHBjTVCeOUX045RTpHUuqrtexp4OtSbMLj+nXiaaHw= -github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.0 h1:s3YuKk4+Q8cXKbBVBLkWa87R0VVVQt+IK3GNuN7KM9U= -github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.0/go.mod h1:DRGdwN5NLYVlzoGdtiL5MdMqU0BdFjdWoWhNzwKVm7Y= +github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.1 h1:/hWh9bCgGoSu/9gCbmFGmt/0NJteLCA2fiLFdzWbE1g= +github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.1/go.mod h1:DRGdwN5NLYVlzoGdtiL5MdMqU0BdFjdWoWhNzwKVm7Y= github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0 h1:dM23haMPsRX6r06zzY7rKskzOnmcAf4u3gQe4/vKM5c= github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0/go.mod h1:Lh8S1WeO7D8Ns0h1idoyviPIKqgAQcFzZo3VvQ+AgI8= github.com/aws/aws-sdk-go-v2/service/notifications v1.4.0 h1:ZBcFqe31Uf8k8UeeJdHnH3lKpoFx5uWnu2tg01CTmos= @@ -393,8 +393,8 @@ github.com/aws/aws-sdk-go-v2/service/odb v1.2.0 h1:8EO3R+giEm/zs9KfQ4eBqa4W17bcp github.com/aws/aws-sdk-go-v2/service/odb v1.2.0/go.mod h1:hBGfe5c+UNIxT5X1e7DG9ychYOeYoeGEsyEhHXybRjw= github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0 h1:vWVR6vfZxY0i3IeTP0RSCDuXo+7wDoLpmyAAHMcgnFI= github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0/go.mod h1:WO1sqmUu2AMSgpI07AqrL/9kdFTpVl+6BUy69gdQdWE= -github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.22.0 h1:8kX9RWCVpUZLAreWTiLh1pBgJBdIa5oFGyRa9ejkS2c= -github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.22.0/go.mod h1:HVCHnRUafo3sI/BIycRiTB1QMO/IfsbiMmE2STsW7kM= +github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.23.0 h1:6y1oe0p2NPluatYzSWFZ+ZZtlDic75Y71xWPyk99LAk= +github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.23.0/go.mod h1:HVCHnRUafo3sI/BIycRiTB1QMO/IfsbiMmE2STsW7kM= github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0 h1:lsi8q6BbwvvmTZ2Oz839olZoSbBaupAJEppyOnsBTYQ= github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0/go.mod h1:FG8JIT+tCSCQGK04ac7mXLnP0FZUr3tLqoiiRIKRbiQ= github.com/aws/aws-sdk-go-v2/service/osis v1.17.0 h1:nVl7YEWp58Yvr+xIhmB0Uv6gG819eYFIVrW7sSEXXag= @@ -417,8 +417,8 @@ github.com/aws/aws-sdk-go-v2/service/polly v1.50.0 h1:/Ko6i/+k+0uCk4r+QWxNos2Ud5 github.com/aws/aws-sdk-go-v2/service/polly v1.50.0/go.mod h1:M1YMwzU5ZvAvHSGYP0tehS+ZyugVNN/iOVs8qtkBDZc= github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0 h1:zpM/q6rXnv8qt4DCnMmGY9sDQgzi8TDsIK6Px2pEYss= github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0/go.mod h1:i1FZ0Fod5/f8GgwlEJYKrniHDzKY+CTpKGZbkNNUv8s= -github.com/aws/aws-sdk-go-v2/service/qbusiness v1.30.0 h1:DukPIuKXpMXa3/fFj5qEAN3h6XT0bCN19DWJ/FCWgcs= -github.com/aws/aws-sdk-go-v2/service/qbusiness v1.30.0/go.mod h1:QE7cNn5zN0YDL/6KkqzX19kbBRQhK02OwfFZeCL55n4= +github.com/aws/aws-sdk-go-v2/service/qbusiness v1.31.0 h1:Htjnv26PAKw1GZ5DV3hMzKwtIjibF+zkguuO8318YI8= +github.com/aws/aws-sdk-go-v2/service/qbusiness v1.31.0/go.mod h1:QE7cNn5zN0YDL/6KkqzX19kbBRQhK02OwfFZeCL55n4= github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0 h1:dDMYSGq/6QkySf70y+o7uFTI2jXrfGUVBJpip1n27XI= github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0/go.mod h1:cMl4sBdwqdM8xQal4Sm1IiA9gIgFO9ZhvxL0qd6TH24= github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0 h1:UmX69w9sT2swoojDQY9VlUObHjUh27PyFUCK98b8RcY= From a9277038cae8f6f0681583a45aaa53f37b545a24 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 7 Aug 2025 09:44:10 -0400 Subject: [PATCH 0668/1301] r/aws_networkfirewall_firewall: Correct attribute for tagging. --- internal/service/networkfirewall/service_package_gen.go | 2 +- internal/service/networkfirewall/vpc_endpoint_association.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/networkfirewall/service_package_gen.go b/internal/service/networkfirewall/service_package_gen.go index d8901b762717..f84328be9ece 100644 --- a/internal/service/networkfirewall/service_package_gen.go +++ b/internal/service/networkfirewall/service_package_gen.go @@ -48,7 +48,7 @@ func (p *servicePackage) FrameworkResources(ctx context.Context) []*inttypes.Ser TypeName: "aws_networkfirewall_vpc_endpoint_association", Name: "VPC Endpoint Association", Tags: unique.Make(inttypes.ServicePackageResourceTags{ - IdentifierAttribute: "firewall_arn", + IdentifierAttribute: "vpc_endpoint_association_arn", }), Region: unique.Make(inttypes.ResourceRegionDefault()), }, diff --git a/internal/service/networkfirewall/vpc_endpoint_association.go b/internal/service/networkfirewall/vpc_endpoint_association.go index 063f0cd7b237..be306bad13cc 100644 --- a/internal/service/networkfirewall/vpc_endpoint_association.go +++ b/internal/service/networkfirewall/vpc_endpoint_association.go @@ -35,7 +35,7 @@ import ( ) // @FrameworkResource("aws_networkfirewall_vpc_endpoint_association", name="VPC Endpoint Association") -// @Tags(identifierAttribute="firewall_arn") +// @Tags(identifierAttribute="vpc_endpoint_association_arn") func newVPCEndpointAssociationResource(_ context.Context) (resource.ResourceWithConfigure, error) { r := &vpcEndpointAssociationResource{} From bff9f76c1894d7b4f7e3cc4175ea6b772e0d5c85 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 7 Aug 2025 09:46:46 -0400 Subject: [PATCH 0669/1301] Fix compilation error -- https://github.com/aws/aws-sdk-go-v2/pull/3160. --- internal/service/networkmanager/vpc_attachment.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/service/networkmanager/vpc_attachment.go b/internal/service/networkmanager/vpc_attachment.go index f7234dd8deda..56085348cc1b 100644 --- a/internal/service/networkmanager/vpc_attachment.go +++ b/internal/service/networkmanager/vpc_attachment.go @@ -482,11 +482,11 @@ func expandVpcOptions(tfMap map[string]any) *awstypes.VpcOptions { // nosemgrep: apiObject := &awstypes.VpcOptions{} if v, ok := tfMap["appliance_mode_support"].(bool); ok { - apiObject.ApplianceModeSupport = v + apiObject.ApplianceModeSupport = aws.Bool(v) } if v, ok := tfMap["ipv6_support"].(bool); ok { - apiObject.Ipv6Support = v + apiObject.Ipv6Support = aws.Bool(v) } return apiObject @@ -498,8 +498,8 @@ func flattenVpcOptions(apiObject *awstypes.VpcOptions) map[string]any { // nosem } tfMap := map[string]any{ - "appliance_mode_support": apiObject.ApplianceModeSupport, - "ipv6_support": apiObject.Ipv6Support, + "appliance_mode_support": aws.ToBool(apiObject.ApplianceModeSupport), + "ipv6_support": aws.ToBool(apiObject.Ipv6Support), } return tfMap From d7fb3af4666257ae25607576d8845f3c2fb2a4e6 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 7 Aug 2025 09:47:06 -0400 Subject: [PATCH 0670/1301] RUn 'make clean-tidy'. --- tools/tfsdk2fw/go.mod | 12 ++++++------ tools/tfsdk2fw/go.sum | 24 ++++++++++++------------ 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/tools/tfsdk2fw/go.mod b/tools/tfsdk2fw/go.mod index 6e83b5ccd511..8c2d814c5ead 100644 --- a/tools/tfsdk2fw/go.mod +++ b/tools/tfsdk2fw/go.mod @@ -45,7 +45,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.13.0 // indirect github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0 // indirect github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0 // indirect - github.com/aws/aws-sdk-go-v2/service/appstream v1.47.0 // indirect + github.com/aws/aws-sdk-go-v2/service/appstream v1.47.1 // indirect github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0 // indirect github.com/aws/aws-sdk-go-v2/service/athena v1.53.0 // indirect github.com/aws/aws-sdk-go-v2/service/auditmanager v1.43.0 // indirect @@ -58,7 +58,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0 // indirect github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0 // indirect github.com/aws/aws-sdk-go-v2/service/billing v1.4.0 // indirect - github.com/aws/aws-sdk-go-v2/service/budgets v1.34.0 // indirect + github.com/aws/aws-sdk-go-v2/service/budgets v1.35.0 // indirect github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0 // indirect github.com/aws/aws-sdk-go-v2/service/chime v1.38.0 // indirect github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.24.0 // indirect @@ -115,7 +115,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/drs v1.33.0 // indirect github.com/aws/aws-sdk-go-v2/service/dsql v1.7.0 // indirect github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ec2 v1.240.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ec2 v1.241.0 // indirect github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0 // indirect github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0 // indirect github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0 // indirect @@ -196,14 +196,14 @@ require ( github.com/aws/aws-sdk-go-v2/service/neptune v1.39.0 // indirect github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0 // indirect github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0 // indirect - github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.0 // indirect + github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.1 // indirect github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0 // indirect github.com/aws/aws-sdk-go-v2/service/notifications v1.4.0 // indirect github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.3.0 // indirect github.com/aws/aws-sdk-go-v2/service/oam v1.20.0 // indirect github.com/aws/aws-sdk-go-v2/service/odb v1.2.0 // indirect github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0 // indirect - github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.22.0 // indirect + github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.23.0 // indirect github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0 // indirect github.com/aws/aws-sdk-go-v2/service/osis v1.17.0 // indirect github.com/aws/aws-sdk-go-v2/service/outposts v1.54.0 // indirect @@ -215,7 +215,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/pipes v1.21.0 // indirect github.com/aws/aws-sdk-go-v2/service/polly v1.50.0 // indirect github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0 // indirect - github.com/aws/aws-sdk-go-v2/service/qbusiness v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/qbusiness v1.31.0 // indirect github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0 // indirect github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0 // indirect github.com/aws/aws-sdk-go-v2/service/ram v1.32.0 // indirect diff --git a/tools/tfsdk2fw/go.sum b/tools/tfsdk2fw/go.sum index c9935f4628f0..f552c606250a 100644 --- a/tools/tfsdk2fw/go.sum +++ b/tools/tfsdk2fw/go.sum @@ -77,8 +77,8 @@ github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0 h1:O9PZ3rZ3kO78qUS0+b89tozN github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0/go.mod h1:oAWy74yo48WYE/39Tvr1/MqaLTpZ1nyr4r6/cPuTS1g= github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0 h1:PGgY/BIQ82RFrR9rmJYejYk4jb4HmrR4+bxMe0Jj3t8= github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0/go.mod h1:BjYI0ZEPp4hIXG+3ZoVBr1qA0alLeY98/spY5vsvw7A= -github.com/aws/aws-sdk-go-v2/service/appstream v1.47.0 h1:sKliINBtT3oMvfhHf4/gNXKgdB5X5DLmUengQTuCokk= -github.com/aws/aws-sdk-go-v2/service/appstream v1.47.0/go.mod h1:VAnAk0EgMx9TVmWtZWnLH6JCnhfcSWVmzxNdIAHVxSs= +github.com/aws/aws-sdk-go-v2/service/appstream v1.47.1 h1:R2/JQhkhOO4QEK2tjxTgfsrD9fIvh2yoMS3aRN8wAzU= +github.com/aws/aws-sdk-go-v2/service/appstream v1.47.1/go.mod h1:VAnAk0EgMx9TVmWtZWnLH6JCnhfcSWVmzxNdIAHVxSs= github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0 h1:h1DrjjLvycToReHS4nlv5CpH4wpqVUEZKzQ+gaomC+M= github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0/go.mod h1:SHB4PzNsxsI+4dcTpSll9FTlbkE6t3zxDoBYERPIVnQ= github.com/aws/aws-sdk-go-v2/service/athena v1.53.0 h1:TL5fazHlqxo8Ri3Do0s4EJXhd3Oc7BVZ9uN1NPUKFpE= @@ -103,8 +103,8 @@ github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0 h1:GJdyUvYs/ github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0/go.mod h1:QmHnuYuWyavbwugFNSSJRvzMGaFngJD52D2Q3Rm9Mz0= github.com/aws/aws-sdk-go-v2/service/billing v1.4.0 h1:9cAmZFgJC5ymi2OD5OOlsDgatSVGHuwaxvO0/bkfyBI= github.com/aws/aws-sdk-go-v2/service/billing v1.4.0/go.mod h1:jV6JqgNCURYxs3c4fp3dMQUdoTC5NnwtqKT8y8tF71s= -github.com/aws/aws-sdk-go-v2/service/budgets v1.34.0 h1:nB8rYoMzGtmoyfDVJFFcA0erXeQgncsy1sJfFB01gwY= -github.com/aws/aws-sdk-go-v2/service/budgets v1.34.0/go.mod h1:Q0u6QOkKcwMNEvPgZAZlFo+zs3aP1wgMJANH0XKJEPU= +github.com/aws/aws-sdk-go-v2/service/budgets v1.35.0 h1:JdY+rRsL1Eqi9SRqSobdHBtcV4SRLKZUb2gIUye+1jw= +github.com/aws/aws-sdk-go-v2/service/budgets v1.35.0/go.mod h1:Q0u6QOkKcwMNEvPgZAZlFo+zs3aP1wgMJANH0XKJEPU= github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0 h1:uMXPZGOAfgo6jmvuaEyLSKt0Y3OrwQb+c/ZWv8apz+M= github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0/go.mod h1:e7Yi+X2nUGErWGG98k3U6QTocR3HFVRelFYyZrM/6kI= github.com/aws/aws-sdk-go-v2/service/chime v1.38.0 h1:iJ+spCNIok1pcSB8Ep+icpsEZE3zJBmsy2utIwtVfog= @@ -217,8 +217,8 @@ github.com/aws/aws-sdk-go-v2/service/dsql v1.7.0 h1:90eZGtuddgUIcOTCrA8FhgaGb4eF github.com/aws/aws-sdk-go-v2/service/dsql v1.7.0/go.mod h1:FRIS/nQBGwjD+CfPct4I2Sly16EJXFl8iq9sd/n2t4c= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0 h1:b7F96mjkzsqymMSGhuCqBQTZFx3mhTMa6IoG6SoVvC8= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0/go.mod h1:F8Rqs4FVGBTUzx3wbFm7HB/mgIA4Tc6/x0yQmjoB+/w= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.240.0 h1:/NUzag+6BGBNvM7FEHDsDK8itSgWEUVhmC2HDBR8NrM= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.240.0/go.mod h1:HDxGArx3/bUnkoFsuvTNIxEj/cR3f+IgsVh1B7Pvay8= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.241.0 h1:twGX//bv1QH/9pyJaqynNSo0eXGkDEdDTFy8GNPsz5M= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.241.0/go.mod h1:HDxGArx3/bUnkoFsuvTNIxEj/cR3f+IgsVh1B7Pvay8= github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0 h1:2SOhwFVwG8PxJVT8DM6nhGsX+JZ8bl9CVgeiueeL4gs= github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0/go.mod h1:j8i+iiBvaf+Em29qBiXuhw5r9tGWDbpFEvLDqLtnMh8= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0 h1:Jcgm/dOm/6M0882pZwLzlN3BZyKEl4Pxp1isTkHoems= @@ -379,8 +379,8 @@ github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0 h1:3G+4uyOmh4qWkMVZoRt github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0/go.mod h1:kkG79+f09Fmee5bohISd+JaieXQRXlfixZLcOikkxXg= github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0 h1:FHl1QPk+MTUjcbGtnNfcVnq5bPkP71Tbzt++qQ/dCnY= github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0/go.mod h1:EiHBjTVCeOUX045RTpHUuqrtexp4OtSbMLj+nXiaaHw= -github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.0 h1:s3YuKk4+Q8cXKbBVBLkWa87R0VVVQt+IK3GNuN7KM9U= -github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.0/go.mod h1:DRGdwN5NLYVlzoGdtiL5MdMqU0BdFjdWoWhNzwKVm7Y= +github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.1 h1:/hWh9bCgGoSu/9gCbmFGmt/0NJteLCA2fiLFdzWbE1g= +github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.1/go.mod h1:DRGdwN5NLYVlzoGdtiL5MdMqU0BdFjdWoWhNzwKVm7Y= github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0 h1:dM23haMPsRX6r06zzY7rKskzOnmcAf4u3gQe4/vKM5c= github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0/go.mod h1:Lh8S1WeO7D8Ns0h1idoyviPIKqgAQcFzZo3VvQ+AgI8= github.com/aws/aws-sdk-go-v2/service/notifications v1.4.0 h1:ZBcFqe31Uf8k8UeeJdHnH3lKpoFx5uWnu2tg01CTmos= @@ -393,8 +393,8 @@ github.com/aws/aws-sdk-go-v2/service/odb v1.2.0 h1:8EO3R+giEm/zs9KfQ4eBqa4W17bcp github.com/aws/aws-sdk-go-v2/service/odb v1.2.0/go.mod h1:hBGfe5c+UNIxT5X1e7DG9ychYOeYoeGEsyEhHXybRjw= github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0 h1:vWVR6vfZxY0i3IeTP0RSCDuXo+7wDoLpmyAAHMcgnFI= github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0/go.mod h1:WO1sqmUu2AMSgpI07AqrL/9kdFTpVl+6BUy69gdQdWE= -github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.22.0 h1:8kX9RWCVpUZLAreWTiLh1pBgJBdIa5oFGyRa9ejkS2c= -github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.22.0/go.mod h1:HVCHnRUafo3sI/BIycRiTB1QMO/IfsbiMmE2STsW7kM= +github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.23.0 h1:6y1oe0p2NPluatYzSWFZ+ZZtlDic75Y71xWPyk99LAk= +github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.23.0/go.mod h1:HVCHnRUafo3sI/BIycRiTB1QMO/IfsbiMmE2STsW7kM= github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0 h1:lsi8q6BbwvvmTZ2Oz839olZoSbBaupAJEppyOnsBTYQ= github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0/go.mod h1:FG8JIT+tCSCQGK04ac7mXLnP0FZUr3tLqoiiRIKRbiQ= github.com/aws/aws-sdk-go-v2/service/osis v1.17.0 h1:nVl7YEWp58Yvr+xIhmB0Uv6gG819eYFIVrW7sSEXXag= @@ -417,8 +417,8 @@ github.com/aws/aws-sdk-go-v2/service/polly v1.50.0 h1:/Ko6i/+k+0uCk4r+QWxNos2Ud5 github.com/aws/aws-sdk-go-v2/service/polly v1.50.0/go.mod h1:M1YMwzU5ZvAvHSGYP0tehS+ZyugVNN/iOVs8qtkBDZc= github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0 h1:zpM/q6rXnv8qt4DCnMmGY9sDQgzi8TDsIK6Px2pEYss= github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0/go.mod h1:i1FZ0Fod5/f8GgwlEJYKrniHDzKY+CTpKGZbkNNUv8s= -github.com/aws/aws-sdk-go-v2/service/qbusiness v1.30.0 h1:DukPIuKXpMXa3/fFj5qEAN3h6XT0bCN19DWJ/FCWgcs= -github.com/aws/aws-sdk-go-v2/service/qbusiness v1.30.0/go.mod h1:QE7cNn5zN0YDL/6KkqzX19kbBRQhK02OwfFZeCL55n4= +github.com/aws/aws-sdk-go-v2/service/qbusiness v1.31.0 h1:Htjnv26PAKw1GZ5DV3hMzKwtIjibF+zkguuO8318YI8= +github.com/aws/aws-sdk-go-v2/service/qbusiness v1.31.0/go.mod h1:QE7cNn5zN0YDL/6KkqzX19kbBRQhK02OwfFZeCL55n4= github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0 h1:dDMYSGq/6QkySf70y+o7uFTI2jXrfGUVBJpip1n27XI= github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0/go.mod h1:cMl4sBdwqdM8xQal4Sm1IiA9gIgFO9ZhvxL0qd6TH24= github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0 h1:UmX69w9sT2swoojDQY9VlUObHjUh27PyFUCK98b8RcY= From 881062aff3a146c749802b68c14890b8514f82da Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Thu, 7 Aug 2025 09:51:01 -0400 Subject: [PATCH 0671/1301] internal/generate: add `@Testing(tlsEcdsaPublicKeyPem)` annotation This annotation can be used for acceptance tests which require an ECDSA public key PEM value for a required argument. --- docs/resource-tagging.md | 4 ++++ internal/generate/tests/annotations.go | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/docs/resource-tagging.md b/docs/resource-tagging.md index 70b745f871ab..f5928867c7f8 100644 --- a/docs/resource-tagging.md +++ b/docs/resource-tagging.md @@ -504,6 +504,10 @@ To override the common name, set the annotation `@Testing(tlsKeyDomain= Date: Mon, 4 Aug 2025 14:40:01 -0400 Subject: [PATCH 0672/1301] Add ARN-based resource identity to `ivs` Add resource identity to ARN-based resources in `ivs`. This includes: `aws_ivs_channel` `aws_ivs_playback_key_pair` `aws_ivs_recording_configuration` ```console % make testacc PKG=ivs TESTS="TestAccIVSChannel|TestAccIVSRecordingConfiguration|TestAccIVS_serial/PlaybackKeyPair/" make: Verifying source code with gofmt... ==> Checking that code complies with gofmt requirements... TF_ACC=1 go1.24.5 test ./internal/service/ivs/... -v -count 1 -parallel 20 -run='TestAccIVSChannel|TestAccIVSRecordingConfiguration|TestAccIVS_serial/PlaybackKeyPair/' -timeout 360m -vet=off 2025/08/04 16:32:55 Creating Terraform AWS Provider (SDKv2-style)... 2025/08/04 16:32:56 Initializing Terraform AWS Provider (SDKv2-style)... --- PASS: TestAccIVSChannel_disappears (25.72s) === RUN TestAccIVS_serial/PlaybackKeyPair/update --- PASS: TestAccIVSChannel_basic (29.70s) --- PASS: TestAccIVSRecordingConfiguration_disappears_S3Bucket (38.53s) --- PASS: TestAccIVSChannel_Identity_Basic (45.48s) --- PASS: TestAccIVSRecordingConfiguration_disappears (45.81s) --- PASS: TestAccIVSChannel_recordingConfiguration (46.30s) --- PASS: TestAccIVSChannel_update (46.42s) --- PASS: TestAccIVSRecordingConfiguration_basic (49.21s) --- PASS: TestAccIVSChannel_Identity_RegionOverride (52.01s) --- PASS: TestAccIVSChannel_tags (56.36s) --- PASS: TestAccIVSRecordingConfiguration_Identity_RegionOverride (56.58s) --- PASS: TestAccIVSChannel_Identity_ExistingResource (60.47s) === RUN TestAccIVS_serial/PlaybackKeyPair/tags --- PASS: TestAccIVSRecordingConfiguration_Identity_Basic (61.72s) --- PASS: TestAccIVSRecordingConfiguration_update (64.36s) --- PASS: TestAccIVSRecordingConfiguration_Identity_ExistingResource (69.30s) --- PASS: TestAccIVSRecordingConfiguration_tags (77.87s) === RUN TestAccIVS_serial/PlaybackKeyPair/disappears === RUN TestAccIVS_serial/PlaybackKeyPair/identity === RUN TestAccIVS_serial/PlaybackKeyPair/identity/basic === RUN TestAccIVS_serial/PlaybackKeyPair/identity/ExistingResource === RUN TestAccIVS_serial/PlaybackKeyPair/identity/RegionOverride --- PASS: TestAccIVS_serial (198.39s) --- PASS: TestAccIVS_serial/PlaybackKeyPair (198.39s) --- PASS: TestAccIVS_serial/PlaybackKeyPair/basic (29.36s) --- PASS: TestAccIVS_serial/PlaybackKeyPair/update (31.69s) --- PASS: TestAccIVS_serial/PlaybackKeyPair/tags (35.14s) --- PASS: TestAccIVS_serial/PlaybackKeyPair/disappears (12.56s) --- PASS: TestAccIVS_serial/PlaybackKeyPair/identity (89.64s) --- PASS: TestAccIVS_serial/PlaybackKeyPair/identity/basic (22.38s) --- PASS: TestAccIVS_serial/PlaybackKeyPair/identity/ExistingResource (41.32s) --- PASS: TestAccIVS_serial/PlaybackKeyPair/identity/RegionOverride (25.94s) PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/ivs 204.684s ``` --- .changelog/43704.txt | 9 + internal/service/ivs/channel.go | 8 +- .../service/ivs/channel_identity_gen_test.go | 261 +++++++++++++++ internal/service/ivs/generate.go | 1 + internal/service/ivs/ivs_test.go | 1 + internal/service/ivs/playback_key_pair.go | 12 +- .../playback_key_pair_identity_gen_test.go | 316 ++++++++++++++++++ .../service/ivs/recording_configuration.go | 7 +- ...cording_configuration_identity_gen_test.go | 283 ++++++++++++++++ internal/service/ivs/service_package_gen.go | 18 + .../ivs/testdata/Channel/basic/main_gen.tf | 6 + .../testdata/Channel/basic_v6.5.0/main_gen.tf | 16 + .../Channel/region_override/main_gen.tf | 14 + .../PlaybackKeyPair/basic/main_gen.tf | 12 + .../PlaybackKeyPair/basic_v6.5.0/main_gen.tf | 22 ++ .../region_override/main_gen.tf | 20 ++ .../RecordingConfiguration/basic/main_gen.tf | 21 ++ .../basic_v6.5.0/main_gen.tf | 31 ++ .../region_override/main_gen.tf | 31 ++ .../ivs/testdata/tmpl/channel_tags.gtpl | 4 + .../testdata/tmpl/playback_key_pair_tags.gtpl | 5 + .../tmpl/recording_configuration_tags.gtpl | 15 + 22 files changed, 1101 insertions(+), 12 deletions(-) create mode 100644 .changelog/43704.txt create mode 100644 internal/service/ivs/channel_identity_gen_test.go create mode 100644 internal/service/ivs/playback_key_pair_identity_gen_test.go create mode 100644 internal/service/ivs/recording_configuration_identity_gen_test.go create mode 100644 internal/service/ivs/testdata/Channel/basic/main_gen.tf create mode 100644 internal/service/ivs/testdata/Channel/basic_v6.5.0/main_gen.tf create mode 100644 internal/service/ivs/testdata/Channel/region_override/main_gen.tf create mode 100644 internal/service/ivs/testdata/PlaybackKeyPair/basic/main_gen.tf create mode 100644 internal/service/ivs/testdata/PlaybackKeyPair/basic_v6.5.0/main_gen.tf create mode 100644 internal/service/ivs/testdata/PlaybackKeyPair/region_override/main_gen.tf create mode 100644 internal/service/ivs/testdata/RecordingConfiguration/basic/main_gen.tf create mode 100644 internal/service/ivs/testdata/RecordingConfiguration/basic_v6.5.0/main_gen.tf create mode 100644 internal/service/ivs/testdata/RecordingConfiguration/region_override/main_gen.tf create mode 100644 internal/service/ivs/testdata/tmpl/channel_tags.gtpl create mode 100644 internal/service/ivs/testdata/tmpl/playback_key_pair_tags.gtpl create mode 100644 internal/service/ivs/testdata/tmpl/recording_configuration_tags.gtpl diff --git a/.changelog/43704.txt b/.changelog/43704.txt new file mode 100644 index 000000000000..4d6cb1935fdd --- /dev/null +++ b/.changelog/43704.txt @@ -0,0 +1,9 @@ +```release-note:enhancement +resource/aws_ivs_channel: Add resource identity support +``` +```release-note:enhancement +resource/aws_ivs_playback_key_pair: Add resource identity support +``` +```release-note:enhancement +resource/aws_ivs_recording_configuration: Add resource identity support +``` diff --git a/internal/service/ivs/channel.go b/internal/service/ivs/channel.go index e646f04c3bdb..0decdf3d6ede 100644 --- a/internal/service/ivs/channel.go +++ b/internal/service/ivs/channel.go @@ -28,6 +28,10 @@ import ( // @SDKResource("aws_ivs_channel", name="Channel") // @Tags(identifierAttribute="id") +// @ArnIdentity +// @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/ivs/types;awstypes.Channel") +// @Testing(preIdentityVersion="v6.5.0") +// @Testing(generator=false) func ResourceChannel() *schema.Resource { return &schema.Resource{ CreateWithoutTimeout: resourceChannelCreate, @@ -35,10 +39,6 @@ func ResourceChannel() *schema.Resource { UpdateWithoutTimeout: resourceChannelUpdate, DeleteWithoutTimeout: resourceChannelDelete, - Importer: &schema.ResourceImporter{ - StateContext: schema.ImportStatePassthroughContext, - }, - Timeouts: &schema.ResourceTimeout{ Create: schema.DefaultTimeout(5 * time.Minute), Update: schema.DefaultTimeout(5 * time.Minute), diff --git a/internal/service/ivs/channel_identity_gen_test.go b/internal/service/ivs/channel_identity_gen_test.go new file mode 100644 index 000000000000..f93b02fab2a5 --- /dev/null +++ b/internal/service/ivs/channel_identity_gen_test.go @@ -0,0 +1,261 @@ +// Code generated by internal/generate/identitytests/main.go; DO NOT EDIT. + +package ivs_test + +import ( + "testing" + + awstypes "github.com/aws/aws-sdk-go-v2/service/ivs/types" + "github.com/hashicorp/terraform-plugin-testing/compare" + "github.com/hashicorp/terraform-plugin-testing/config" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-plugin-testing/tfversion" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfstatecheck "github.com/hashicorp/terraform-provider-aws/internal/acctest/statecheck" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccIVSChannel_Identity_Basic(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.Channel + resourceName := "aws_ivs_channel.test" + + resource.ParallelTest(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.IVSServiceID), + CheckDestroy: testAccCheckChannelDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/Channel/basic/"), + ConfigVariables: config.Variables{}, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.CompareValuePairs(resourceName, tfjsonpath.New(names.AttrID), resourceName, tfjsonpath.New(names.AttrARN), compare.ValuesSame()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrARN: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrARN)), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/Channel/basic/"), + ConfigVariables: config.Variables{}, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/Channel/basic/"), + ConfigVariables: config.Variables{}, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/Channel/basic/"), + ConfigVariables: config.Variables{}, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + }, + }) +} + +func TestAccIVSChannel_Identity_RegionOverride(t *testing.T) { + ctx := acctest.Context(t) + + resourceName := "aws_ivs_channel.test" + + resource.ParallelTest(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.IVSServiceID), + CheckDestroy: acctest.CheckDestroyNoop, + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/Channel/region_override/"), + ConfigVariables: config.Variables{ + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.CompareValuePairs(resourceName, tfjsonpath.New(names.AttrID), resourceName, tfjsonpath.New(names.AttrARN), compare.ValuesSame()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrARN: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrARN)), + }, + }, + + // Step 2: Import command with appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/Channel/region_override/"), + ConfigVariables: config.Variables{ + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + + // Step 3: Import command without appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/Channel/region_override/"), + ConfigVariables: config.Variables{ + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + + // Step 4: Import block with Import ID and appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/Channel/region_override/"), + ConfigVariables: config.Variables{ + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + + // Step 5: Import block with Import ID and no appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/Channel/region_override/"), + ConfigVariables: config.Variables{ + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + + // Step 6: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/Channel/region_override/"), + ConfigVariables: config.Variables{ + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + }, + }) +} + +// Resource Identity was added after v6.5.0 +func TestAccIVSChannel_Identity_ExistingResource(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.Channel + resourceName := "aws_ivs_channel.test" + + resource.ParallelTest(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.IVSServiceID), + CheckDestroy: testAccCheckChannelDestroy(ctx), + Steps: []resource.TestStep{ + // Step 1: Create pre-Identity + { + ConfigDirectory: config.StaticDirectory("testdata/Channel/basic_v6.5.0/"), + ConfigVariables: config.Variables{}, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + tfstatecheck.ExpectNoIdentity(resourceName), + }, + }, + + // Step 2: Current version + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/Channel/basic/"), + ConfigVariables: config.Variables{}, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrARN: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrARN)), + }, + }, + }, + }) +} diff --git a/internal/service/ivs/generate.go b/internal/service/ivs/generate.go index af15398659c1..bdabf87e7bd5 100644 --- a/internal/service/ivs/generate.go +++ b/internal/service/ivs/generate.go @@ -3,6 +3,7 @@ //go:generate go run ../../generate/tags/main.go -KVTValues -ListTags -ServiceTagsMap -UpdateTags //go:generate go run ../../generate/servicepackage/main.go +//go:generate go run ../../generate/identitytests/main.go // ONLY generate directives and package declaration! Do not add anything else to this file. package ivs diff --git a/internal/service/ivs/ivs_test.go b/internal/service/ivs/ivs_test.go index dcb2a7a1e200..24bf731801b1 100644 --- a/internal/service/ivs/ivs_test.go +++ b/internal/service/ivs/ivs_test.go @@ -18,6 +18,7 @@ func TestAccIVS_serial(t *testing.T) { "update": testAccPlaybackKeyPair_update, "tags": testAccPlaybackKeyPair_tags, acctest.CtDisappears: testAccPlaybackKeyPair_disappears, + "identity": testAccIVSPlaybackKeyPair_IdentitySerial, }, } diff --git a/internal/service/ivs/playback_key_pair.go b/internal/service/ivs/playback_key_pair.go index a9b92079691e..d4fe1e4d0db5 100644 --- a/internal/service/ivs/playback_key_pair.go +++ b/internal/service/ivs/playback_key_pair.go @@ -24,16 +24,20 @@ import ( // @SDKResource("aws_ivs_playback_key_pair", name="Playback Key Pair") // @Tags(identifierAttribute="id") +// @ArnIdentity +// @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/ivs/types;awstypes.PlaybackKeyPair") +// @Testing(preIdentityVersion="v6.5.0") +// @Testing(serialize=true) +// @Testing(generator=false) +// @Testing(tlsEcdsaPublicKeyPem=true) +// @Testing(importIgnore="public_key") +// @Testing(plannableImportAction=Replace) func ResourcePlaybackKeyPair() *schema.Resource { return &schema.Resource{ CreateWithoutTimeout: resourcePlaybackKeyPairCreate, ReadWithoutTimeout: resourcePlaybackKeyPairRead, DeleteWithoutTimeout: resourcePlaybackKeyPairDelete, - Importer: &schema.ResourceImporter{ - StateContext: schema.ImportStatePassthroughContext, - }, - Timeouts: &schema.ResourceTimeout{ Create: schema.DefaultTimeout(5 * time.Minute), Delete: schema.DefaultTimeout(5 * time.Minute), diff --git a/internal/service/ivs/playback_key_pair_identity_gen_test.go b/internal/service/ivs/playback_key_pair_identity_gen_test.go new file mode 100644 index 000000000000..06ed6fb3613b --- /dev/null +++ b/internal/service/ivs/playback_key_pair_identity_gen_test.go @@ -0,0 +1,316 @@ +// Code generated by internal/generate/identitytests/main.go; DO NOT EDIT. + +package ivs_test + +import ( + "testing" + + awstypes "github.com/aws/aws-sdk-go-v2/service/ivs/types" + "github.com/hashicorp/terraform-plugin-testing/compare" + "github.com/hashicorp/terraform-plugin-testing/config" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-plugin-testing/tfversion" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfstatecheck "github.com/hashicorp/terraform-provider-aws/internal/acctest/statecheck" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func testAccIVSPlaybackKeyPair_IdentitySerial(t *testing.T) { + t.Helper() + + testCases := map[string]func(t *testing.T){ + acctest.CtBasic: testAccIVSPlaybackKeyPair_Identity_Basic, + "ExistingResource": testAccIVSPlaybackKeyPair_Identity_ExistingResource, + "RegionOverride": testAccIVSPlaybackKeyPair_Identity_RegionOverride, + } + + acctest.RunSerialTests1Level(t, testCases, 0) +} + +func testAccIVSPlaybackKeyPair_Identity_Basic(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.PlaybackKeyPair + resourceName := "aws_ivs_playback_key_pair.test" + privateKey := acctest.TLSECDSAPrivateKeyPEM(t, "P-384") + rTlsEcdsaPublicKeyPem, _ := acctest.TLSECDSAPublicKeyPEM(t, privateKey) + + resource.Test(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.IVSServiceID), + CheckDestroy: testAccCheckPlaybackKeyPairDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/PlaybackKeyPair/basic/"), + ConfigVariables: config.Variables{ + "rTlsEcdsaPublicKeyPem": config.StringVariable(rTlsEcdsaPublicKeyPem), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckPlaybackKeyPairExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.CompareValuePairs(resourceName, tfjsonpath.New(names.AttrID), resourceName, tfjsonpath.New(names.AttrARN), compare.ValuesSame()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrARN: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrARN)), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/PlaybackKeyPair/basic/"), + ConfigVariables: config.Variables{ + "rTlsEcdsaPublicKeyPem": config.StringVariable(rTlsEcdsaPublicKeyPem), + }, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + names.AttrPublicKey, + }, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/PlaybackKeyPair/basic/"), + ConfigVariables: config.Variables{ + "rTlsEcdsaPublicKeyPem": config.StringVariable(rTlsEcdsaPublicKeyPem), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionReplace), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrARN)), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrID)), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + ExpectNonEmptyPlan: true, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/PlaybackKeyPair/basic/"), + ConfigVariables: config.Variables{ + "rTlsEcdsaPublicKeyPem": config.StringVariable(rTlsEcdsaPublicKeyPem), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionReplace), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrARN)), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrID)), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + ExpectNonEmptyPlan: true, + }, + }, + }) +} + +func testAccIVSPlaybackKeyPair_Identity_RegionOverride(t *testing.T) { + ctx := acctest.Context(t) + + resourceName := "aws_ivs_playback_key_pair.test" + privateKey := acctest.TLSECDSAPrivateKeyPEM(t, "P-384") + rTlsEcdsaPublicKeyPem, _ := acctest.TLSECDSAPublicKeyPEM(t, privateKey) + + resource.Test(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.IVSServiceID), + CheckDestroy: acctest.CheckDestroyNoop, + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/PlaybackKeyPair/region_override/"), + ConfigVariables: config.Variables{ + "rTlsEcdsaPublicKeyPem": config.StringVariable(rTlsEcdsaPublicKeyPem), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.CompareValuePairs(resourceName, tfjsonpath.New(names.AttrID), resourceName, tfjsonpath.New(names.AttrARN), compare.ValuesSame()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrARN: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrARN)), + }, + }, + + // Step 2: Import command with appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/PlaybackKeyPair/region_override/"), + ConfigVariables: config.Variables{ + "rTlsEcdsaPublicKeyPem": config.StringVariable(rTlsEcdsaPublicKeyPem), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + names.AttrPublicKey, + }, + }, + + // Step 3: Import command without appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/PlaybackKeyPair/region_override/"), + ConfigVariables: config.Variables{ + "rTlsEcdsaPublicKeyPem": config.StringVariable(rTlsEcdsaPublicKeyPem), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + names.AttrPublicKey, + }, + }, + + // Step 4: Import block with Import ID and appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/PlaybackKeyPair/region_override/"), + ConfigVariables: config.Variables{ + "rTlsEcdsaPublicKeyPem": config.StringVariable(rTlsEcdsaPublicKeyPem), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionReplace), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrARN)), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrID)), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + ExpectNonEmptyPlan: true, + }, + + // Step 5: Import block with Import ID and no appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/PlaybackKeyPair/region_override/"), + ConfigVariables: config.Variables{ + "rTlsEcdsaPublicKeyPem": config.StringVariable(rTlsEcdsaPublicKeyPem), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionReplace), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrARN)), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrID)), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + ExpectNonEmptyPlan: true, + }, + + // Step 6: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/PlaybackKeyPair/region_override/"), + ConfigVariables: config.Variables{ + "rTlsEcdsaPublicKeyPem": config.StringVariable(rTlsEcdsaPublicKeyPem), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionReplace), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrARN)), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrID)), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + ExpectNonEmptyPlan: true, + }, + }, + }) +} + +// Resource Identity was added after v6.5.0 +func testAccIVSPlaybackKeyPair_Identity_ExistingResource(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.PlaybackKeyPair + resourceName := "aws_ivs_playback_key_pair.test" + privateKey := acctest.TLSECDSAPrivateKeyPEM(t, "P-384") + rTlsEcdsaPublicKeyPem, _ := acctest.TLSECDSAPublicKeyPEM(t, privateKey) + + resource.Test(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.IVSServiceID), + CheckDestroy: testAccCheckPlaybackKeyPairDestroy(ctx), + Steps: []resource.TestStep{ + // Step 1: Create pre-Identity + { + ConfigDirectory: config.StaticDirectory("testdata/PlaybackKeyPair/basic_v6.5.0/"), + ConfigVariables: config.Variables{ + "rTlsEcdsaPublicKeyPem": config.StringVariable(rTlsEcdsaPublicKeyPem), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckPlaybackKeyPairExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + tfstatecheck.ExpectNoIdentity(resourceName), + }, + }, + + // Step 2: Current version + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/PlaybackKeyPair/basic/"), + ConfigVariables: config.Variables{ + "rTlsEcdsaPublicKeyPem": config.StringVariable(rTlsEcdsaPublicKeyPem), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrARN: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrARN)), + }, + }, + }, + }) +} diff --git a/internal/service/ivs/recording_configuration.go b/internal/service/ivs/recording_configuration.go index 1ea458d481fc..298a6995790f 100644 --- a/internal/service/ivs/recording_configuration.go +++ b/internal/service/ivs/recording_configuration.go @@ -28,16 +28,15 @@ import ( // @SDKResource("aws_ivs_recording_configuration", name="Recording Configuration") // @Tags(identifierAttribute="id") +// @ArnIdentity +// @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/ivs/types;awstypes.RecordingConfiguration") +// @Testing(preIdentityVersion="v6.5.0") func ResourceRecordingConfiguration() *schema.Resource { return &schema.Resource{ CreateWithoutTimeout: resourceRecordingConfigurationCreate, ReadWithoutTimeout: resourceRecordingConfigurationRead, DeleteWithoutTimeout: resourceRecordingConfigurationDelete, - Importer: &schema.ResourceImporter{ - StateContext: schema.ImportStatePassthroughContext, - }, - Timeouts: &schema.ResourceTimeout{ Create: schema.DefaultTimeout(10 * time.Minute), Delete: schema.DefaultTimeout(10 * time.Minute), diff --git a/internal/service/ivs/recording_configuration_identity_gen_test.go b/internal/service/ivs/recording_configuration_identity_gen_test.go new file mode 100644 index 000000000000..abd94d4f0505 --- /dev/null +++ b/internal/service/ivs/recording_configuration_identity_gen_test.go @@ -0,0 +1,283 @@ +// Code generated by internal/generate/identitytests/main.go; DO NOT EDIT. + +package ivs_test + +import ( + "testing" + + awstypes "github.com/aws/aws-sdk-go-v2/service/ivs/types" + "github.com/hashicorp/terraform-plugin-testing/compare" + "github.com/hashicorp/terraform-plugin-testing/config" + sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-plugin-testing/tfversion" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfstatecheck "github.com/hashicorp/terraform-provider-aws/internal/acctest/statecheck" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccIVSRecordingConfiguration_Identity_Basic(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.RecordingConfiguration + resourceName := "aws_ivs_recording_configuration.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.IVSServiceID), + CheckDestroy: testAccCheckRecordingConfigurationDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/RecordingConfiguration/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckRecordingConfigurationExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.CompareValuePairs(resourceName, tfjsonpath.New(names.AttrID), resourceName, tfjsonpath.New(names.AttrARN), compare.ValuesSame()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrARN: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrARN)), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/RecordingConfiguration/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/RecordingConfiguration/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/RecordingConfiguration/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + }, + }) +} + +func TestAccIVSRecordingConfiguration_Identity_RegionOverride(t *testing.T) { + ctx := acctest.Context(t) + + resourceName := "aws_ivs_recording_configuration.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.IVSServiceID), + CheckDestroy: acctest.CheckDestroyNoop, + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/RecordingConfiguration/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.CompareValuePairs(resourceName, tfjsonpath.New(names.AttrID), resourceName, tfjsonpath.New(names.AttrARN), compare.ValuesSame()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrARN: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrARN)), + }, + }, + + // Step 2: Import command with appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/RecordingConfiguration/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + + // Step 3: Import command without appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/RecordingConfiguration/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + + // Step 4: Import block with Import ID and appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/RecordingConfiguration/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + + // Step 5: Import block with Import ID and no appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/RecordingConfiguration/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + + // Step 6: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/RecordingConfiguration/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + }, + }) +} + +// Resource Identity was added after v6.5.0 +func TestAccIVSRecordingConfiguration_Identity_ExistingResource(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.RecordingConfiguration + resourceName := "aws_ivs_recording_configuration.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.IVSServiceID), + CheckDestroy: testAccCheckRecordingConfigurationDestroy(ctx), + Steps: []resource.TestStep{ + // Step 1: Create pre-Identity + { + ConfigDirectory: config.StaticDirectory("testdata/RecordingConfiguration/basic_v6.5.0/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckRecordingConfigurationExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + tfstatecheck.ExpectNoIdentity(resourceName), + }, + }, + + // Step 2: Current version + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/RecordingConfiguration/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrARN: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrARN)), + }, + }, + }, + }) +} diff --git a/internal/service/ivs/service_package_gen.go b/internal/service/ivs/service_package_gen.go index 8e3888894cdc..aa0c9fade5fb 100644 --- a/internal/service/ivs/service_package_gen.go +++ b/internal/service/ivs/service_package_gen.go @@ -47,6 +47,12 @@ func (p *servicePackage) SDKResources(ctx context.Context) []*inttypes.ServicePa IdentifierAttribute: names.AttrID, }), Region: unique.Make(inttypes.ResourceRegionDefault()), + Identity: inttypes.RegionalARNIdentity( + inttypes.WithIdentityDuplicateAttrs(names.AttrID), + ), + Import: inttypes.SDKv2Import{ + WrappedImport: true, + }, }, { Factory: ResourcePlaybackKeyPair, @@ -56,6 +62,12 @@ func (p *servicePackage) SDKResources(ctx context.Context) []*inttypes.ServicePa IdentifierAttribute: names.AttrID, }), Region: unique.Make(inttypes.ResourceRegionDefault()), + Identity: inttypes.RegionalARNIdentity( + inttypes.WithIdentityDuplicateAttrs(names.AttrID), + ), + Import: inttypes.SDKv2Import{ + WrappedImport: true, + }, }, { Factory: ResourceRecordingConfiguration, @@ -65,6 +77,12 @@ func (p *servicePackage) SDKResources(ctx context.Context) []*inttypes.ServicePa IdentifierAttribute: names.AttrID, }), Region: unique.Make(inttypes.ResourceRegionDefault()), + Identity: inttypes.RegionalARNIdentity( + inttypes.WithIdentityDuplicateAttrs(names.AttrID), + ), + Import: inttypes.SDKv2Import{ + WrappedImport: true, + }, }, } } diff --git a/internal/service/ivs/testdata/Channel/basic/main_gen.tf b/internal/service/ivs/testdata/Channel/basic/main_gen.tf new file mode 100644 index 000000000000..e723cb24c3db --- /dev/null +++ b/internal/service/ivs/testdata/Channel/basic/main_gen.tf @@ -0,0 +1,6 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_ivs_channel" "test" { +} + diff --git a/internal/service/ivs/testdata/Channel/basic_v6.5.0/main_gen.tf b/internal/service/ivs/testdata/Channel/basic_v6.5.0/main_gen.tf new file mode 100644 index 000000000000..46de19976ac7 --- /dev/null +++ b/internal/service/ivs/testdata/Channel/basic_v6.5.0/main_gen.tf @@ -0,0 +1,16 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_ivs_channel" "test" { +} + +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "6.5.0" + } + } +} + +provider "aws" {} diff --git a/internal/service/ivs/testdata/Channel/region_override/main_gen.tf b/internal/service/ivs/testdata/Channel/region_override/main_gen.tf new file mode 100644 index 000000000000..37d874a6db3e --- /dev/null +++ b/internal/service/ivs/testdata/Channel/region_override/main_gen.tf @@ -0,0 +1,14 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_ivs_channel" "test" { + region = var.region + +} + + +variable "region" { + description = "Region to deploy resource in" + type = string + nullable = false +} diff --git a/internal/service/ivs/testdata/PlaybackKeyPair/basic/main_gen.tf b/internal/service/ivs/testdata/PlaybackKeyPair/basic/main_gen.tf new file mode 100644 index 000000000000..e3dcd0d5b88a --- /dev/null +++ b/internal/service/ivs/testdata/PlaybackKeyPair/basic/main_gen.tf @@ -0,0 +1,12 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_ivs_playback_key_pair" "test" { + public_key = var.rTlsEcdsaPublicKeyPem +} + +variable "rTlsEcdsaPublicKeyPem" { + type = string + nullable = false +} + diff --git a/internal/service/ivs/testdata/PlaybackKeyPair/basic_v6.5.0/main_gen.tf b/internal/service/ivs/testdata/PlaybackKeyPair/basic_v6.5.0/main_gen.tf new file mode 100644 index 000000000000..f0f32ae1bf71 --- /dev/null +++ b/internal/service/ivs/testdata/PlaybackKeyPair/basic_v6.5.0/main_gen.tf @@ -0,0 +1,22 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_ivs_playback_key_pair" "test" { + public_key = var.rTlsEcdsaPublicKeyPem +} + +variable "rTlsEcdsaPublicKeyPem" { + type = string + nullable = false +} + +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "6.5.0" + } + } +} + +provider "aws" {} diff --git a/internal/service/ivs/testdata/PlaybackKeyPair/region_override/main_gen.tf b/internal/service/ivs/testdata/PlaybackKeyPair/region_override/main_gen.tf new file mode 100644 index 000000000000..b3635d6a4618 --- /dev/null +++ b/internal/service/ivs/testdata/PlaybackKeyPair/region_override/main_gen.tf @@ -0,0 +1,20 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_ivs_playback_key_pair" "test" { + region = var.region + + public_key = var.rTlsEcdsaPublicKeyPem +} + +variable "rTlsEcdsaPublicKeyPem" { + type = string + nullable = false +} + + +variable "region" { + description = "Region to deploy resource in" + type = string + nullable = false +} diff --git a/internal/service/ivs/testdata/RecordingConfiguration/basic/main_gen.tf b/internal/service/ivs/testdata/RecordingConfiguration/basic/main_gen.tf new file mode 100644 index 000000000000..264fa1105c4a --- /dev/null +++ b/internal/service/ivs/testdata/RecordingConfiguration/basic/main_gen.tf @@ -0,0 +1,21 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_s3_bucket" "test" { + bucket = var.rName + force_destroy = true +} + +resource "aws_ivs_recording_configuration" "test" { + destination_configuration { + s3 { + bucket_name = aws_s3_bucket.test.id + } + } +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} diff --git a/internal/service/ivs/testdata/RecordingConfiguration/basic_v6.5.0/main_gen.tf b/internal/service/ivs/testdata/RecordingConfiguration/basic_v6.5.0/main_gen.tf new file mode 100644 index 000000000000..99c4ac9a8810 --- /dev/null +++ b/internal/service/ivs/testdata/RecordingConfiguration/basic_v6.5.0/main_gen.tf @@ -0,0 +1,31 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_s3_bucket" "test" { + bucket = var.rName + force_destroy = true +} + +resource "aws_ivs_recording_configuration" "test" { + destination_configuration { + s3 { + bucket_name = aws_s3_bucket.test.id + } + } +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "6.5.0" + } + } +} + +provider "aws" {} diff --git a/internal/service/ivs/testdata/RecordingConfiguration/region_override/main_gen.tf b/internal/service/ivs/testdata/RecordingConfiguration/region_override/main_gen.tf new file mode 100644 index 000000000000..17d7b89522b8 --- /dev/null +++ b/internal/service/ivs/testdata/RecordingConfiguration/region_override/main_gen.tf @@ -0,0 +1,31 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_s3_bucket" "test" { + region = var.region + + bucket = var.rName + force_destroy = true +} + +resource "aws_ivs_recording_configuration" "test" { + region = var.region + + destination_configuration { + s3 { + bucket_name = aws_s3_bucket.test.id + } + } +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "region" { + description = "Region to deploy resource in" + type = string + nullable = false +} diff --git a/internal/service/ivs/testdata/tmpl/channel_tags.gtpl b/internal/service/ivs/testdata/tmpl/channel_tags.gtpl new file mode 100644 index 000000000000..0c2c9f1b1733 --- /dev/null +++ b/internal/service/ivs/testdata/tmpl/channel_tags.gtpl @@ -0,0 +1,4 @@ +resource "aws_ivs_channel" "test" { +{{- template "region" }} +{{- template "tags" }} +} diff --git a/internal/service/ivs/testdata/tmpl/playback_key_pair_tags.gtpl b/internal/service/ivs/testdata/tmpl/playback_key_pair_tags.gtpl new file mode 100644 index 000000000000..2b7e891e64ec --- /dev/null +++ b/internal/service/ivs/testdata/tmpl/playback_key_pair_tags.gtpl @@ -0,0 +1,5 @@ +resource "aws_ivs_playback_key_pair" "test" { +{{- template "region" }} + public_key = var.rTlsEcdsaPublicKeyPem +{{- template "tags" }} +} diff --git a/internal/service/ivs/testdata/tmpl/recording_configuration_tags.gtpl b/internal/service/ivs/testdata/tmpl/recording_configuration_tags.gtpl new file mode 100644 index 000000000000..55aaf29a21f7 --- /dev/null +++ b/internal/service/ivs/testdata/tmpl/recording_configuration_tags.gtpl @@ -0,0 +1,15 @@ +resource "aws_s3_bucket" "test" { +{{- template "region" }} + bucket = var.rName + force_destroy = true +} + +resource "aws_ivs_recording_configuration" "test" { +{{- template "region" }} + destination_configuration { + s3 { + bucket_name = aws_s3_bucket.test.id + } + } +{{- template "tags" }} +} From b3be718bfd68a9bea829d1cc79e542000fca5a06 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Wed, 6 Aug 2025 14:54:38 -0400 Subject: [PATCH 0673/1301] r/aws_ivs_recording_configuration: properly order resources in test template --- .../RecordingConfiguration/basic/main_gen.tf | 10 +++++----- .../basic_v6.5.0/main_gen.tf | 10 +++++----- .../region_override/main_gen.tf | 14 +++++++------- .../tmpl/recording_configuration_tags.gtpl | 12 ++++++------ 4 files changed, 23 insertions(+), 23 deletions(-) diff --git a/internal/service/ivs/testdata/RecordingConfiguration/basic/main_gen.tf b/internal/service/ivs/testdata/RecordingConfiguration/basic/main_gen.tf index 264fa1105c4a..0e7cdf30b057 100644 --- a/internal/service/ivs/testdata/RecordingConfiguration/basic/main_gen.tf +++ b/internal/service/ivs/testdata/RecordingConfiguration/basic/main_gen.tf @@ -1,11 +1,6 @@ # Copyright (c) HashiCorp, Inc. # SPDX-License-Identifier: MPL-2.0 -resource "aws_s3_bucket" "test" { - bucket = var.rName - force_destroy = true -} - resource "aws_ivs_recording_configuration" "test" { destination_configuration { s3 { @@ -14,6 +9,11 @@ resource "aws_ivs_recording_configuration" "test" { } } +resource "aws_s3_bucket" "test" { + bucket = var.rName + force_destroy = true +} + variable "rName" { description = "Name for resource" type = string diff --git a/internal/service/ivs/testdata/RecordingConfiguration/basic_v6.5.0/main_gen.tf b/internal/service/ivs/testdata/RecordingConfiguration/basic_v6.5.0/main_gen.tf index 99c4ac9a8810..708136381834 100644 --- a/internal/service/ivs/testdata/RecordingConfiguration/basic_v6.5.0/main_gen.tf +++ b/internal/service/ivs/testdata/RecordingConfiguration/basic_v6.5.0/main_gen.tf @@ -1,11 +1,6 @@ # Copyright (c) HashiCorp, Inc. # SPDX-License-Identifier: MPL-2.0 -resource "aws_s3_bucket" "test" { - bucket = var.rName - force_destroy = true -} - resource "aws_ivs_recording_configuration" "test" { destination_configuration { s3 { @@ -14,6 +9,11 @@ resource "aws_ivs_recording_configuration" "test" { } } +resource "aws_s3_bucket" "test" { + bucket = var.rName + force_destroy = true +} + variable "rName" { description = "Name for resource" type = string diff --git a/internal/service/ivs/testdata/RecordingConfiguration/region_override/main_gen.tf b/internal/service/ivs/testdata/RecordingConfiguration/region_override/main_gen.tf index 17d7b89522b8..37ea87b80c82 100644 --- a/internal/service/ivs/testdata/RecordingConfiguration/region_override/main_gen.tf +++ b/internal/service/ivs/testdata/RecordingConfiguration/region_override/main_gen.tf @@ -1,13 +1,6 @@ # Copyright (c) HashiCorp, Inc. # SPDX-License-Identifier: MPL-2.0 -resource "aws_s3_bucket" "test" { - region = var.region - - bucket = var.rName - force_destroy = true -} - resource "aws_ivs_recording_configuration" "test" { region = var.region @@ -18,6 +11,13 @@ resource "aws_ivs_recording_configuration" "test" { } } +resource "aws_s3_bucket" "test" { + region = var.region + + bucket = var.rName + force_destroy = true +} + variable "rName" { description = "Name for resource" type = string diff --git a/internal/service/ivs/testdata/tmpl/recording_configuration_tags.gtpl b/internal/service/ivs/testdata/tmpl/recording_configuration_tags.gtpl index 55aaf29a21f7..b38a11e9be2c 100644 --- a/internal/service/ivs/testdata/tmpl/recording_configuration_tags.gtpl +++ b/internal/service/ivs/testdata/tmpl/recording_configuration_tags.gtpl @@ -1,9 +1,3 @@ -resource "aws_s3_bucket" "test" { -{{- template "region" }} - bucket = var.rName - force_destroy = true -} - resource "aws_ivs_recording_configuration" "test" { {{- template "region" }} destination_configuration { @@ -13,3 +7,9 @@ resource "aws_ivs_recording_configuration" "test" { } {{- template "tags" }} } + +resource "aws_s3_bucket" "test" { +{{- template "region" }} + bucket = var.rName + force_destroy = true +} From bc38f01b4175c282f93380b3da69bf7567353428 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Wed, 6 Aug 2025 15:01:29 -0400 Subject: [PATCH 0674/1301] r/aws_ivs: update pre identity version annotations ```console % make testacc PKG=ivs TESTS="TestAccIVSChannel|TestAccIVSRecordingConfiguration|TestAccIVS_serial/PlaybackKeyPair/" make: Verifying source code with gofmt... ==> Checking that code complies with gofmt requirements... TF_ACC=1 go1.24.5 test ./internal/service/ivs/... -v -count 1 -parallel 20 -run='TestAccIVSChannel|TestAccIVSRecordingConfiguration|TestAccIVS_serial/PlaybackKeyPair/' -timeout 360m -vet=off 2025/08/06 14:57:32 Creating Terraform AWS Provider (SDKv2-style)... 2025/08/06 14:57:32 Initializing Terraform AWS Provider (SDKv2-style)... --- PASS: TestAccIVSChannel_disappears (30.74s) --- PASS: TestAccIVSChannel_basic (36.99s) --- PASS: TestAccIVSRecordingConfiguration_disappears (43.99s) --- PASS: TestAccIVSRecordingConfiguration_disappears_S3Bucket (44.98s) === RUN TestAccIVS_serial/PlaybackKeyPair/tags --- PASS: TestAccIVSChannel_recordingConfiguration (52.33s) --- PASS: TestAccIVSRecordingConfiguration_basic (52.52s) --- PASS: TestAccIVSChannel_Identity_Basic (55.28s) --- PASS: TestAccIVSChannel_update (55.33s) --- PASS: TestAccIVSChannel_Identity_RegionOverride (61.16s) --- PASS: TestAccIVSRecordingConfiguration_Identity_RegionOverride (63.90s) --- PASS: TestAccIVSChannel_tags (66.40s) --- PASS: TestAccIVSRecordingConfiguration_Identity_Basic (69.27s) --- PASS: TestAccIVSChannel_Identity_ExistingResource (69.83s) --- PASS: TestAccIVSRecordingConfiguration_update (74.72s) --- PASS: TestAccIVSRecordingConfiguration_Identity_ExistingResource (74.75s) --- PASS: TestAccIVSRecordingConfiguration_tags (84.18s) === RUN TestAccIVS_serial/PlaybackKeyPair/disappears === RUN TestAccIVS_serial/PlaybackKeyPair/identity === RUN TestAccIVS_serial/PlaybackKeyPair/identity/ExistingResource === RUN TestAccIVS_serial/PlaybackKeyPair/identity/RegionOverride === RUN TestAccIVS_serial/PlaybackKeyPair/identity/basic === RUN TestAccIVS_serial/PlaybackKeyPair/basic --- PASS: TestAccIVS_serial (205.39s) --- PASS: TestAccIVS_serial/PlaybackKeyPair (205.39s) --- PASS: TestAccIVS_serial/PlaybackKeyPair/update (45.14s) --- PASS: TestAccIVS_serial/PlaybackKeyPair/tags (43.46s) --- PASS: TestAccIVS_serial/PlaybackKeyPair/disappears (12.14s) --- PASS: TestAccIVS_serial/PlaybackKeyPair/identity (90.01s) --- PASS: TestAccIVS_serial/PlaybackKeyPair/identity/ExistingResource (41.90s) --- PASS: TestAccIVS_serial/PlaybackKeyPair/identity/RegionOverride (26.19s) --- PASS: TestAccIVS_serial/PlaybackKeyPair/identity/basic (21.92s) --- PASS: TestAccIVS_serial/PlaybackKeyPair/basic (14.65s) PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/ivs 211.756s ``` --- internal/service/ivs/channel.go | 2 +- internal/service/ivs/channel_identity_gen_test.go | 4 ++-- internal/service/ivs/playback_key_pair.go | 2 +- internal/service/ivs/playback_key_pair_identity_gen_test.go | 4 ++-- internal/service/ivs/recording_configuration.go | 2 +- .../service/ivs/recording_configuration_identity_gen_test.go | 4 ++-- .../Channel/{basic_v6.5.0 => basic_v6.7.0}/main_gen.tf | 2 +- .../{basic_v6.5.0 => basic_v6.7.0}/main_gen.tf | 2 +- .../{basic_v6.5.0 => basic_v6.7.0}/main_gen.tf | 2 +- 9 files changed, 12 insertions(+), 12 deletions(-) rename internal/service/ivs/testdata/Channel/{basic_v6.5.0 => basic_v6.7.0}/main_gen.tf (90%) rename internal/service/ivs/testdata/PlaybackKeyPair/{basic_v6.5.0 => basic_v6.7.0}/main_gen.tf (93%) rename internal/service/ivs/testdata/RecordingConfiguration/{basic_v6.5.0 => basic_v6.7.0}/main_gen.tf (95%) diff --git a/internal/service/ivs/channel.go b/internal/service/ivs/channel.go index 0decdf3d6ede..57cd7067129d 100644 --- a/internal/service/ivs/channel.go +++ b/internal/service/ivs/channel.go @@ -30,7 +30,7 @@ import ( // @Tags(identifierAttribute="id") // @ArnIdentity // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/ivs/types;awstypes.Channel") -// @Testing(preIdentityVersion="v6.5.0") +// @Testing(preIdentityVersion="v6.7.0") // @Testing(generator=false) func ResourceChannel() *schema.Resource { return &schema.Resource{ diff --git a/internal/service/ivs/channel_identity_gen_test.go b/internal/service/ivs/channel_identity_gen_test.go index f93b02fab2a5..be54684dad21 100644 --- a/internal/service/ivs/channel_identity_gen_test.go +++ b/internal/service/ivs/channel_identity_gen_test.go @@ -209,7 +209,7 @@ func TestAccIVSChannel_Identity_RegionOverride(t *testing.T) { }) } -// Resource Identity was added after v6.5.0 +// Resource Identity was added after v6.7.0 func TestAccIVSChannel_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) @@ -226,7 +226,7 @@ func TestAccIVSChannel_Identity_ExistingResource(t *testing.T) { Steps: []resource.TestStep{ // Step 1: Create pre-Identity { - ConfigDirectory: config.StaticDirectory("testdata/Channel/basic_v6.5.0/"), + ConfigDirectory: config.StaticDirectory("testdata/Channel/basic_v6.7.0/"), ConfigVariables: config.Variables{}, Check: resource.ComposeAggregateTestCheckFunc( testAccCheckChannelExists(ctx, resourceName, &v), diff --git a/internal/service/ivs/playback_key_pair.go b/internal/service/ivs/playback_key_pair.go index d4fe1e4d0db5..2188e6fae3e6 100644 --- a/internal/service/ivs/playback_key_pair.go +++ b/internal/service/ivs/playback_key_pair.go @@ -26,7 +26,7 @@ import ( // @Tags(identifierAttribute="id") // @ArnIdentity // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/ivs/types;awstypes.PlaybackKeyPair") -// @Testing(preIdentityVersion="v6.5.0") +// @Testing(preIdentityVersion="v6.7.0") // @Testing(serialize=true) // @Testing(generator=false) // @Testing(tlsEcdsaPublicKeyPem=true) diff --git a/internal/service/ivs/playback_key_pair_identity_gen_test.go b/internal/service/ivs/playback_key_pair_identity_gen_test.go index 06ed6fb3613b..d2e63c9a60f4 100644 --- a/internal/service/ivs/playback_key_pair_identity_gen_test.go +++ b/internal/service/ivs/playback_key_pair_identity_gen_test.go @@ -258,7 +258,7 @@ func testAccIVSPlaybackKeyPair_Identity_RegionOverride(t *testing.T) { }) } -// Resource Identity was added after v6.5.0 +// Resource Identity was added after v6.7.0 func testAccIVSPlaybackKeyPair_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) @@ -277,7 +277,7 @@ func testAccIVSPlaybackKeyPair_Identity_ExistingResource(t *testing.T) { Steps: []resource.TestStep{ // Step 1: Create pre-Identity { - ConfigDirectory: config.StaticDirectory("testdata/PlaybackKeyPair/basic_v6.5.0/"), + ConfigDirectory: config.StaticDirectory("testdata/PlaybackKeyPair/basic_v6.7.0/"), ConfigVariables: config.Variables{ "rTlsEcdsaPublicKeyPem": config.StringVariable(rTlsEcdsaPublicKeyPem), }, diff --git a/internal/service/ivs/recording_configuration.go b/internal/service/ivs/recording_configuration.go index 298a6995790f..264d8d7386a0 100644 --- a/internal/service/ivs/recording_configuration.go +++ b/internal/service/ivs/recording_configuration.go @@ -30,7 +30,7 @@ import ( // @Tags(identifierAttribute="id") // @ArnIdentity // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/ivs/types;awstypes.RecordingConfiguration") -// @Testing(preIdentityVersion="v6.5.0") +// @Testing(preIdentityVersion="v6.7.0") func ResourceRecordingConfiguration() *schema.Resource { return &schema.Resource{ CreateWithoutTimeout: resourceRecordingConfigurationCreate, diff --git a/internal/service/ivs/recording_configuration_identity_gen_test.go b/internal/service/ivs/recording_configuration_identity_gen_test.go index abd94d4f0505..18e79fe97865 100644 --- a/internal/service/ivs/recording_configuration_identity_gen_test.go +++ b/internal/service/ivs/recording_configuration_identity_gen_test.go @@ -226,7 +226,7 @@ func TestAccIVSRecordingConfiguration_Identity_RegionOverride(t *testing.T) { }) } -// Resource Identity was added after v6.5.0 +// Resource Identity was added after v6.7.0 func TestAccIVSRecordingConfiguration_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) @@ -244,7 +244,7 @@ func TestAccIVSRecordingConfiguration_Identity_ExistingResource(t *testing.T) { Steps: []resource.TestStep{ // Step 1: Create pre-Identity { - ConfigDirectory: config.StaticDirectory("testdata/RecordingConfiguration/basic_v6.5.0/"), + ConfigDirectory: config.StaticDirectory("testdata/RecordingConfiguration/basic_v6.7.0/"), ConfigVariables: config.Variables{ acctest.CtRName: config.StringVariable(rName), }, diff --git a/internal/service/ivs/testdata/Channel/basic_v6.5.0/main_gen.tf b/internal/service/ivs/testdata/Channel/basic_v6.7.0/main_gen.tf similarity index 90% rename from internal/service/ivs/testdata/Channel/basic_v6.5.0/main_gen.tf rename to internal/service/ivs/testdata/Channel/basic_v6.7.0/main_gen.tf index 46de19976ac7..64afb8a40f9c 100644 --- a/internal/service/ivs/testdata/Channel/basic_v6.5.0/main_gen.tf +++ b/internal/service/ivs/testdata/Channel/basic_v6.7.0/main_gen.tf @@ -8,7 +8,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = "6.5.0" + version = "6.7.0" } } } diff --git a/internal/service/ivs/testdata/PlaybackKeyPair/basic_v6.5.0/main_gen.tf b/internal/service/ivs/testdata/PlaybackKeyPair/basic_v6.7.0/main_gen.tf similarity index 93% rename from internal/service/ivs/testdata/PlaybackKeyPair/basic_v6.5.0/main_gen.tf rename to internal/service/ivs/testdata/PlaybackKeyPair/basic_v6.7.0/main_gen.tf index f0f32ae1bf71..3e98e5f8d35d 100644 --- a/internal/service/ivs/testdata/PlaybackKeyPair/basic_v6.5.0/main_gen.tf +++ b/internal/service/ivs/testdata/PlaybackKeyPair/basic_v6.7.0/main_gen.tf @@ -14,7 +14,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = "6.5.0" + version = "6.7.0" } } } diff --git a/internal/service/ivs/testdata/RecordingConfiguration/basic_v6.5.0/main_gen.tf b/internal/service/ivs/testdata/RecordingConfiguration/basic_v6.7.0/main_gen.tf similarity index 95% rename from internal/service/ivs/testdata/RecordingConfiguration/basic_v6.5.0/main_gen.tf rename to internal/service/ivs/testdata/RecordingConfiguration/basic_v6.7.0/main_gen.tf index 708136381834..9172bf532e34 100644 --- a/internal/service/ivs/testdata/RecordingConfiguration/basic_v6.5.0/main_gen.tf +++ b/internal/service/ivs/testdata/RecordingConfiguration/basic_v6.7.0/main_gen.tf @@ -23,7 +23,7 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = "6.5.0" + version = "6.7.0" } } } From ec4b66754b60fc5f30f53009b49decad3a55c214 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Thu, 7 Aug 2025 09:51:12 -0400 Subject: [PATCH 0675/1301] r/aws_ivs: re-generate identity tests after rebase --- internal/service/ivs/channel_identity_gen_test.go | 6 +++--- internal/service/ivs/playback_key_pair_identity_gen_test.go | 6 +++--- .../ivs/recording_configuration_identity_gen_test.go | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/internal/service/ivs/channel_identity_gen_test.go b/internal/service/ivs/channel_identity_gen_test.go index be54684dad21..17a67ee699e6 100644 --- a/internal/service/ivs/channel_identity_gen_test.go +++ b/internal/service/ivs/channel_identity_gen_test.go @@ -25,7 +25,7 @@ func TestAccIVSChannel_Identity_Basic(t *testing.T) { var v awstypes.Channel resourceName := "aws_ivs_channel.test" - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -101,7 +101,7 @@ func TestAccIVSChannel_Identity_RegionOverride(t *testing.T) { resourceName := "aws_ivs_channel.test" - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -216,7 +216,7 @@ func TestAccIVSChannel_Identity_ExistingResource(t *testing.T) { var v awstypes.Channel resourceName := "aws_ivs_channel.test" - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/ivs/playback_key_pair_identity_gen_test.go b/internal/service/ivs/playback_key_pair_identity_gen_test.go index d2e63c9a60f4..31acb669525d 100644 --- a/internal/service/ivs/playback_key_pair_identity_gen_test.go +++ b/internal/service/ivs/playback_key_pair_identity_gen_test.go @@ -39,7 +39,7 @@ func testAccIVSPlaybackKeyPair_Identity_Basic(t *testing.T) { privateKey := acctest.TLSECDSAPrivateKeyPEM(t, "P-384") rTlsEcdsaPublicKeyPem, _ := acctest.TLSECDSAPublicKeyPEM(t, privateKey) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -132,7 +132,7 @@ func testAccIVSPlaybackKeyPair_Identity_RegionOverride(t *testing.T) { privateKey := acctest.TLSECDSAPrivateKeyPEM(t, "P-384") rTlsEcdsaPublicKeyPem, _ := acctest.TLSECDSAPublicKeyPEM(t, privateKey) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -267,7 +267,7 @@ func testAccIVSPlaybackKeyPair_Identity_ExistingResource(t *testing.T) { privateKey := acctest.TLSECDSAPrivateKeyPEM(t, "P-384") rTlsEcdsaPublicKeyPem, _ := acctest.TLSECDSAPublicKeyPEM(t, privateKey) - resource.Test(t, resource.TestCase{ + acctest.Test(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, diff --git a/internal/service/ivs/recording_configuration_identity_gen_test.go b/internal/service/ivs/recording_configuration_identity_gen_test.go index 18e79fe97865..96c1549f0d46 100644 --- a/internal/service/ivs/recording_configuration_identity_gen_test.go +++ b/internal/service/ivs/recording_configuration_identity_gen_test.go @@ -27,7 +27,7 @@ func TestAccIVSRecordingConfiguration_Identity_Basic(t *testing.T) { resourceName := "aws_ivs_recording_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -112,7 +112,7 @@ func TestAccIVSRecordingConfiguration_Identity_RegionOverride(t *testing.T) { resourceName := "aws_ivs_recording_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -234,7 +234,7 @@ func TestAccIVSRecordingConfiguration_Identity_ExistingResource(t *testing.T) { resourceName := "aws_ivs_recording_configuration.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, From 8dfe9bd2edd3efc0cef9ff79722decd594caa4b2 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Wed, 6 Aug 2025 14:11:04 -0400 Subject: [PATCH 0676/1301] r/aws_security_group: add resource identity - Add @IdentityAttribute("id") annotation - Add @Testing(idAttrDuplicates="id") annotation - Add @Testing(preIdentityVersion="v6.7.0") annotation - Update template to include region template - Generated identity tests Output from Acceptance Testing: === RUN TestAccVPCSecurityGroup_Identity_Basic === PAUSE TestAccVPCSecurityGroup_Identity_Basic === RUN TestAccVPCSecurityGroup_Identity_RegionOverride === PAUSE TestAccVPCSecurityGroup_Identity_RegionOverride === RUN TestAccVPCSecurityGroup_Identity_ExistingResource === PAUSE TestAccVPCSecurityGroup_Identity_ExistingResource === CONT TestAccVPCSecurityGroup_Identity_Basic === CONT TestAccVPCSecurityGroup_Identity_ExistingResource === CONT TestAccVPCSecurityGroup_Identity_RegionOverride --- PASS: TestAccVPCSecurityGroup_Identity_RegionOverride (27.83s) --- PASS: TestAccVPCSecurityGroup_Identity_Basic (32.81s) --- PASS: TestAccVPCSecurityGroup_Identity_ExistingResource (49.81s) PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/ec2 56.251s --- .changelog/43744.txt | 3 + internal/service/ec2/service_package_gen.go | 6 +- .../testdata/SecurityGroup/basic/main_gen.tf | 17 ++ .../SecurityGroup/basic_v6.7.0/main_gen.tf | 27 ++ .../SecurityGroup/region_override/main_gen.tf | 27 ++ .../tmpl/vpc_security_group_tags.gtpl | 2 + internal/service/ec2/vpc_security_group.go | 7 +- .../vpc_security_group_identity_gen_test.go | 257 ++++++++++++++++++ 8 files changed, 341 insertions(+), 5 deletions(-) create mode 100644 .changelog/43744.txt create mode 100644 internal/service/ec2/testdata/SecurityGroup/basic/main_gen.tf create mode 100644 internal/service/ec2/testdata/SecurityGroup/basic_v6.7.0/main_gen.tf create mode 100644 internal/service/ec2/testdata/SecurityGroup/region_override/main_gen.tf create mode 100644 internal/service/ec2/vpc_security_group_identity_gen_test.go diff --git a/.changelog/43744.txt b/.changelog/43744.txt new file mode 100644 index 000000000000..59630af5cee2 --- /dev/null +++ b/.changelog/43744.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/aws_security_group: Add parameterized resource identity support +``` diff --git a/internal/service/ec2/service_package_gen.go b/internal/service/ec2/service_package_gen.go index 9664a15064bf..1cfc2918c8e4 100644 --- a/internal/service/ec2/service_package_gen.go +++ b/internal/service/ec2/service_package_gen.go @@ -1427,7 +1427,11 @@ func (p *servicePackage) SDKResources(ctx context.Context) []*inttypes.ServicePa Tags: unique.Make(inttypes.ServicePackageResourceTags{ IdentifierAttribute: names.AttrID, }), - Region: unique.Make(inttypes.ResourceRegionDefault()), + Region: unique.Make(inttypes.ResourceRegionDefault()), + Identity: inttypes.RegionalSingleParameterIdentity(names.AttrID), + Import: inttypes.SDKv2Import{ + WrappedImport: true, + }, }, { Factory: resourceSecurityGroupRule, diff --git a/internal/service/ec2/testdata/SecurityGroup/basic/main_gen.tf b/internal/service/ec2/testdata/SecurityGroup/basic/main_gen.tf new file mode 100644 index 000000000000..67d8a529a3f2 --- /dev/null +++ b/internal/service/ec2/testdata/SecurityGroup/basic/main_gen.tf @@ -0,0 +1,17 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_security_group" "test" { + name = var.rName + vpc_id = aws_vpc.test.id +} + +resource "aws_vpc" "test" { + cidr_block = "10.1.0.0/16" +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} diff --git a/internal/service/ec2/testdata/SecurityGroup/basic_v6.7.0/main_gen.tf b/internal/service/ec2/testdata/SecurityGroup/basic_v6.7.0/main_gen.tf new file mode 100644 index 000000000000..80d9a7cdd57f --- /dev/null +++ b/internal/service/ec2/testdata/SecurityGroup/basic_v6.7.0/main_gen.tf @@ -0,0 +1,27 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_security_group" "test" { + name = var.rName + vpc_id = aws_vpc.test.id +} + +resource "aws_vpc" "test" { + cidr_block = "10.1.0.0/16" +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "6.7.0" + } + } +} + +provider "aws" {} diff --git a/internal/service/ec2/testdata/SecurityGroup/region_override/main_gen.tf b/internal/service/ec2/testdata/SecurityGroup/region_override/main_gen.tf new file mode 100644 index 000000000000..428723a7b319 --- /dev/null +++ b/internal/service/ec2/testdata/SecurityGroup/region_override/main_gen.tf @@ -0,0 +1,27 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_security_group" "test" { + region = var.region + + name = var.rName + vpc_id = aws_vpc.test.id +} + +resource "aws_vpc" "test" { + region = var.region + + cidr_block = "10.1.0.0/16" +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "region" { + description = "Region to deploy resource in" + type = string + nullable = false +} diff --git a/internal/service/ec2/testdata/tmpl/vpc_security_group_tags.gtpl b/internal/service/ec2/testdata/tmpl/vpc_security_group_tags.gtpl index 90532b2d8085..47e49a3cb92c 100644 --- a/internal/service/ec2/testdata/tmpl/vpc_security_group_tags.gtpl +++ b/internal/service/ec2/testdata/tmpl/vpc_security_group_tags.gtpl @@ -1,4 +1,5 @@ resource "aws_security_group" "test" { +{{- template "region" }} name = var.rName vpc_id = aws_vpc.test.id @@ -6,5 +7,6 @@ resource "aws_security_group" "test" { } resource "aws_vpc" "test" { +{{- template "region" }} cidr_block = "10.1.0.0/16" } diff --git a/internal/service/ec2/vpc_security_group.go b/internal/service/ec2/vpc_security_group.go index c8d9ef0ca7e8..5397965c94e3 100644 --- a/internal/service/ec2/vpc_security_group.go +++ b/internal/service/ec2/vpc_security_group.go @@ -37,6 +37,9 @@ import ( // @Tags(identifierAttribute="id") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/ec2/types;awstypes;awstypes.SecurityGroup") // @Testing(importIgnore="revoke_rules_on_delete") +// @IdentityAttribute("id") +// @Testing(preIdentityVersion="v6.7.0") +// @Testing(plannableImportAction="NoOp") func resourceSecurityGroup() *schema.Resource { //lintignore:R011 return &schema.Resource{ @@ -45,10 +48,6 @@ func resourceSecurityGroup() *schema.Resource { UpdateWithoutTimeout: resourceSecurityGroupUpdate, DeleteWithoutTimeout: resourceSecurityGroupDelete, - Importer: &schema.ResourceImporter{ - StateContext: schema.ImportStatePassthroughContext, - }, - Timeouts: &schema.ResourceTimeout{ Create: schema.DefaultTimeout(10 * time.Minute), Delete: schema.DefaultTimeout(15 * time.Minute), diff --git a/internal/service/ec2/vpc_security_group_identity_gen_test.go b/internal/service/ec2/vpc_security_group_identity_gen_test.go new file mode 100644 index 000000000000..62ac89ef68f6 --- /dev/null +++ b/internal/service/ec2/vpc_security_group_identity_gen_test.go @@ -0,0 +1,257 @@ +// Code generated by internal/generate/identitytests/main.go; DO NOT EDIT. + +package ec2_test + +import ( + "testing" + + awstypes "github.com/aws/aws-sdk-go-v2/service/ec2/types" + "github.com/hashicorp/terraform-plugin-testing/config" + sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-plugin-testing/tfversion" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfknownvalue "github.com/hashicorp/terraform-provider-aws/internal/acctest/knownvalue" + tfstatecheck "github.com/hashicorp/terraform-provider-aws/internal/acctest/statecheck" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccVPCSecurityGroup_Identity_Basic(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.SecurityGroup + resourceName := "aws_security_group.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.EC2ServiceID), + CheckDestroy: testAccCheckSecurityGroupDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/SecurityGroup/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckSecurityGroupExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.Region()), + names.AttrID: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/SecurityGroup/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "revoke_rules_on_delete", + }, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/SecurityGroup/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/SecurityGroup/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + }, + }) +} + +func TestAccVPCSecurityGroup_Identity_RegionOverride(t *testing.T) { + ctx := acctest.Context(t) + + resourceName := "aws_security_group.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.EC2ServiceID), + CheckDestroy: acctest.CheckDestroyNoop, + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/SecurityGroup/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrID: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/SecurityGroup/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "revoke_rules_on_delete", + }, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/SecurityGroup/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/SecurityGroup/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + }, + }) +} + +// Resource Identity was added after v6.7.0 +func TestAccVPCSecurityGroup_Identity_ExistingResource(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.SecurityGroup + resourceName := "aws_security_group.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.EC2ServiceID), + CheckDestroy: testAccCheckSecurityGroupDestroy(ctx), + Steps: []resource.TestStep{ + // Step 1: Create pre-Identity + { + ConfigDirectory: config.StaticDirectory("testdata/SecurityGroup/basic_v6.7.0/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckSecurityGroupExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + tfstatecheck.ExpectNoIdentity(resourceName), + }, + }, + + // Step 2: Current version + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/SecurityGroup/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.Region()), + names.AttrID: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), + }, + }, + }, + }) +} From 5d2c2452f25b6e616e94dfdb0d808bd1fc7843bc Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Thu, 7 Aug 2025 10:03:11 -0400 Subject: [PATCH 0677/1301] Fix import state verification for security group tests Add 'ingress' to ImportStateVerifyIgnore for three tests that were failing due to import state verification differences. The AWS API returns more detailed ingress rule information than what was originally configured, causing verification failures. Tests fixed: - TestAccVPCSecurityGroup_allowAll - TestAccVPCSecurityGroup_ipRangesWithSameRules - TestAccVPCSecurityGroup_ipRangeAndSecurityGroupWithSameRules All tests now pass. --- internal/service/ec2/vpc_security_group_test.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/service/ec2/vpc_security_group_test.go b/internal/service/ec2/vpc_security_group_test.go index 7f8ef93755fd..e3019869de7d 100644 --- a/internal/service/ec2/vpc_security_group_test.go +++ b/internal/service/ec2/vpc_security_group_test.go @@ -1137,7 +1137,7 @@ func TestAccVPCSecurityGroup_allowAll(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"revoke_rules_on_delete"}, + ImportStateVerifyIgnore: []string{"revoke_rules_on_delete", "ingress"}, }, }, }) @@ -1193,7 +1193,7 @@ func TestAccVPCSecurityGroup_ipRangeAndSecurityGroupWithSameRules(t *testing.T) ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"revoke_rules_on_delete"}, + ImportStateVerifyIgnore: []string{"revoke_rules_on_delete", "ingress"}, }, }, }) @@ -1221,7 +1221,7 @@ func TestAccVPCSecurityGroup_ipRangesWithSameRules(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{"revoke_rules_on_delete"}, + ImportStateVerifyIgnore: []string{"revoke_rules_on_delete", "ingress"}, }, }, }) From d6cd426cc8cee5b68c7b91201e0d8de02db94584 Mon Sep 17 00:00:00 2001 From: changelogbot Date: Thu, 7 Aug 2025 14:25:50 +0000 Subject: [PATCH 0678/1301] Update CHANGELOG.md for #43561 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 334cf46deb24..a2f2a8fe0600 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ FEATURES: * **New Resource:** `aws_quicksight_custom_permissions` ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) * **New Resource:** `aws_quicksight_role_custom_permission` ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) * **New Resource:** `aws_quicksight_user_custom_permission` ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) +* **New Resource:** `aws_wafv2_web_acl_rule_group_association` ([#43561](https://github.com/hashicorp/terraform-provider-aws/issues/43561)) ENHANCEMENTS: From be7f99cd50b042e9ce9b0798a0f6bfadc1815351 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Thu, 7 Aug 2025 11:02:09 -0400 Subject: [PATCH 0679/1301] r/aws_ssm_parameter: add resource identity (#43736) === RUN TestAccSSMParameter_Identity_Basic --- PASS: TestAccSSMParameter_Identity_Basic (27.77s) === RUN TestAccSSMParameter_Identity_RegionOverride --- PASS: TestAccSSMParameter_Identity_RegionOverride (26.01s) === RUN TestAccSSMParameter_Identity_ExistingResource --- PASS: TestAccSSMParameter_Identity_ExistingResource (43.77s) Full test suite results: PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/ssm 232.372s All 50 SSM parameter tests passing including: - 3 new identity tests - 21 tag-related tests - 26 existing functionality tests --- .changelog/43736.txt | 3 + internal/service/ssm/generate.go | 1 + internal/service/ssm/parameter.go | 12 + .../ssm/parameter_identity_gen_test.go | 262 ++++++++++++++++++ internal/service/ssm/service_package_gen.go | 6 +- .../ssm/testdata/Parameter/basic/main_gen.tf | 14 + .../Parameter/basic_v6.7.0/main_gen.tf | 24 ++ .../Parameter/region_override/main_gen.tf | 22 ++ .../ssm/testdata/tmpl/parameter_tags.gtpl | 1 + 9 files changed, 344 insertions(+), 1 deletion(-) create mode 100644 .changelog/43736.txt create mode 100644 internal/service/ssm/parameter_identity_gen_test.go create mode 100644 internal/service/ssm/testdata/Parameter/basic/main_gen.tf create mode 100644 internal/service/ssm/testdata/Parameter/basic_v6.7.0/main_gen.tf create mode 100644 internal/service/ssm/testdata/Parameter/region_override/main_gen.tf diff --git a/.changelog/43736.txt b/.changelog/43736.txt new file mode 100644 index 000000000000..55064e9fbfff --- /dev/null +++ b/.changelog/43736.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/aws_ssm_parameter: Add resource identity support +``` diff --git a/internal/service/ssm/generate.go b/internal/service/ssm/generate.go index c0bdb3f9a635..e387e92af742 100644 --- a/internal/service/ssm/generate.go +++ b/internal/service/ssm/generate.go @@ -4,6 +4,7 @@ //go:generate go run ../../generate/tags/main.go -ServiceTagsSlice -TagOp=AddTagsToResource -TagInIDElem=ResourceId -TagResTypeElem=ResourceType -TagResTypeElemType=ResourceTypeForTagging -UntagOp=RemoveTagsFromResource -UpdateTags -CreateTags //go:generate go run ../../generate/servicepackage/main.go //go:generate go run ../../generate/tagstests/main.go +//go:generate go run ../../generate/identitytests/main.go // ONLY generate directives and package declaration! Do not add anything else to this file. package ssm diff --git a/internal/service/ssm/parameter.go b/internal/service/ssm/parameter.go index 809580a47489..9dfb3a891729 100644 --- a/internal/service/ssm/parameter.go +++ b/internal/service/ssm/parameter.go @@ -23,6 +23,7 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/errs" "github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag" "github.com/hashicorp/terraform-provider-aws/internal/flex" + "github.com/hashicorp/terraform-provider-aws/internal/provider/sdkv2/importer" tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" @@ -32,6 +33,11 @@ import ( // @Tags(identifierAttribute="id", resourceType="Parameter") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/ssm/types;awstypes;awstypes.Parameter") // @Testing(importIgnore="has_value_wo") +// @IdentityAttribute("name") +// @Testing(idAttrDuplicates="name") +// @Testing(preIdentityVersion="v6.7.0") +// @Testing(plannableImportAction="NoOp") +// @CustomImport func resourceParameter() *schema.Resource { return &schema.Resource{ CreateWithoutTimeout: resourceParameterCreate, @@ -41,6 +47,12 @@ func resourceParameter() *schema.Resource { Importer: &schema.ResourceImporter{ StateContext: func(ctx context.Context, d *schema.ResourceData, meta any) ([]*schema.ResourceData, error) { + identitySpec := importer.IdentitySpec(ctx) + + if err := importer.RegionalSingleParameterized(ctx, d, identitySpec, meta.(importer.AWSClient)); err != nil { + return nil, err + } + d.Set("has_value_wo", false) return []*schema.ResourceData{d}, nil }, diff --git a/internal/service/ssm/parameter_identity_gen_test.go b/internal/service/ssm/parameter_identity_gen_test.go new file mode 100644 index 000000000000..be1118970ba2 --- /dev/null +++ b/internal/service/ssm/parameter_identity_gen_test.go @@ -0,0 +1,262 @@ +// Code generated by internal/generate/identitytests/main.go; DO NOT EDIT. + +package ssm_test + +import ( + "testing" + + awstypes "github.com/aws/aws-sdk-go-v2/service/ssm/types" + "github.com/hashicorp/terraform-plugin-testing/compare" + "github.com/hashicorp/terraform-plugin-testing/config" + sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-plugin-testing/tfversion" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfknownvalue "github.com/hashicorp/terraform-provider-aws/internal/acctest/knownvalue" + tfstatecheck "github.com/hashicorp/terraform-provider-aws/internal/acctest/statecheck" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccSSMParameter_Identity_Basic(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.Parameter + resourceName := "aws_ssm_parameter.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.SSMServiceID), + CheckDestroy: testAccCheckParameterDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/Parameter/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckParameterExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.CompareValuePairs(resourceName, tfjsonpath.New(names.AttrID), resourceName, tfjsonpath.New(names.AttrName), compare.ValuesSame()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.Region()), + names.AttrName: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrName)), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/Parameter/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "has_value_wo", + }, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/Parameter/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrName), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/Parameter/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrName), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + }, + }) +} + +func TestAccSSMParameter_Identity_RegionOverride(t *testing.T) { + ctx := acctest.Context(t) + + resourceName := "aws_ssm_parameter.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.SSMServiceID), + CheckDestroy: acctest.CheckDestroyNoop, + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/Parameter/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.CompareValuePairs(resourceName, tfjsonpath.New(names.AttrID), resourceName, tfjsonpath.New(names.AttrName), compare.ValuesSame()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrName: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrName)), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/Parameter/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "has_value_wo", + }, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/Parameter/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrName), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/Parameter/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrName), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + }, + }) +} + +// Resource Identity was added after v6.7.0 +func TestAccSSMParameter_Identity_ExistingResource(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.Parameter + resourceName := "aws_ssm_parameter.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.SSMServiceID), + CheckDestroy: testAccCheckParameterDestroy(ctx), + Steps: []resource.TestStep{ + // Step 1: Create pre-Identity + { + ConfigDirectory: config.StaticDirectory("testdata/Parameter/basic_v6.7.0/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckParameterExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + tfstatecheck.ExpectNoIdentity(resourceName), + }, + }, + + // Step 2: Current version + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/Parameter/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.Region()), + names.AttrName: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrName)), + }, + }, + }, + }) +} diff --git a/internal/service/ssm/service_package_gen.go b/internal/service/ssm/service_package_gen.go index 9e60e69c0d40..4c2b529f2d39 100644 --- a/internal/service/ssm/service_package_gen.go +++ b/internal/service/ssm/service_package_gen.go @@ -150,7 +150,11 @@ func (p *servicePackage) SDKResources(ctx context.Context) []*inttypes.ServicePa IdentifierAttribute: names.AttrID, ResourceType: "Parameter", }), - Region: unique.Make(inttypes.ResourceRegionDefault()), + Region: unique.Make(inttypes.ResourceRegionDefault()), + Identity: inttypes.RegionalSingleParameterIdentity(names.AttrName), + Import: inttypes.SDKv2Import{ + CustomImport: true, + }, }, { Factory: resourcePatchBaseline, diff --git a/internal/service/ssm/testdata/Parameter/basic/main_gen.tf b/internal/service/ssm/testdata/Parameter/basic/main_gen.tf new file mode 100644 index 000000000000..c9df629a509e --- /dev/null +++ b/internal/service/ssm/testdata/Parameter/basic/main_gen.tf @@ -0,0 +1,14 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_ssm_parameter" "test" { + name = var.rName + type = "String" + value = var.rName +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} diff --git a/internal/service/ssm/testdata/Parameter/basic_v6.7.0/main_gen.tf b/internal/service/ssm/testdata/Parameter/basic_v6.7.0/main_gen.tf new file mode 100644 index 000000000000..ec0805e97983 --- /dev/null +++ b/internal/service/ssm/testdata/Parameter/basic_v6.7.0/main_gen.tf @@ -0,0 +1,24 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_ssm_parameter" "test" { + name = var.rName + type = "String" + value = var.rName +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "6.7.0" + } + } +} + +provider "aws" {} diff --git a/internal/service/ssm/testdata/Parameter/region_override/main_gen.tf b/internal/service/ssm/testdata/Parameter/region_override/main_gen.tf new file mode 100644 index 000000000000..10b22005ffcf --- /dev/null +++ b/internal/service/ssm/testdata/Parameter/region_override/main_gen.tf @@ -0,0 +1,22 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_ssm_parameter" "test" { + region = var.region + + name = var.rName + type = "String" + value = var.rName +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "region" { + description = "Region to deploy resource in" + type = string + nullable = false +} diff --git a/internal/service/ssm/testdata/tmpl/parameter_tags.gtpl b/internal/service/ssm/testdata/tmpl/parameter_tags.gtpl index 0b99ecdca4ec..9f31e6bfb6ea 100644 --- a/internal/service/ssm/testdata/tmpl/parameter_tags.gtpl +++ b/internal/service/ssm/testdata/tmpl/parameter_tags.gtpl @@ -1,4 +1,5 @@ resource "aws_ssm_parameter" "test" { +{{- template "region" }} name = var.rName type = "String" value = var.rName From 0501ddb5092fcce36228d89d0e45ee46ee7509a5 Mon Sep 17 00:00:00 2001 From: changelogbot Date: Thu, 7 Aug 2025 15:07:29 +0000 Subject: [PATCH 0680/1301] Update CHANGELOG.md for #43744 --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a2f2a8fe0600..b7031a27058f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ FEATURES: +* **New Resource:** `aws_networkfirewall_vpc_endpoint_association` ([#43675](https://github.com/hashicorp/terraform-provider-aws/issues/43675)) * **New Resource:** `aws_quicksight_custom_permissions` ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) * **New Resource:** `aws_quicksight_role_custom_permission` ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) * **New Resource:** `aws_quicksight_user_custom_permission` ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) @@ -18,6 +19,9 @@ ENHANCEMENTS: * resource/aws_ecr_repository: Support `IMMUTABLE_WITH_EXCLUSION` and `MUTABLE_WITH_EXCLUSION` as valid values for `image_tag_mutability` ([#43642](https://github.com/hashicorp/terraform-provider-aws/issues/43642)) * resource/aws_inspector2_enabler: Support resource import ([#43673](https://github.com/hashicorp/terraform-provider-aws/issues/43673)) * resource/aws_instance: Adds `force_destroy` argument that allows destruction even when `disable_api_termination` and `disable_api_stop` are `true` ([#43722](https://github.com/hashicorp/terraform-provider-aws/issues/43722)) +* resource/aws_ivs_channel: Add resource identity support ([#43704](https://github.com/hashicorp/terraform-provider-aws/issues/43704)) +* resource/aws_ivs_playback_key_pair: Add resource identity support ([#43704](https://github.com/hashicorp/terraform-provider-aws/issues/43704)) +* resource/aws_ivs_recording_configuration: Add resource identity support ([#43704](https://github.com/hashicorp/terraform-provider-aws/issues/43704)) * resource/aws_ivschat_logging_configuration: Add resource identity support ([#43697](https://github.com/hashicorp/terraform-provider-aws/issues/43697)) * resource/aws_ivschat_room: Add resource identity support ([#43697](https://github.com/hashicorp/terraform-provider-aws/issues/43697)) * resource/aws_kinesis_firehose_delivery_stream: Add `iceberg_configuration.append_only` argument ([#43647](https://github.com/hashicorp/terraform-provider-aws/issues/43647)) @@ -27,7 +31,9 @@ ENHANCEMENTS: * resource/aws_quicksight_user: Change `user_name` to Optional and Computed ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) * resource/aws_quicksight_user: Support `IAM_IDENTITY_CENTER` as a valid value for `identity_type` ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) * resource/aws_quicksight_user: Support `RESTRICTED_AUTHOR` and `RESTRICTED_READER` as valid values for `user_role` ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) +* resource/aws_security_group: Add parameterized resource identity support ([#43744](https://github.com/hashicorp/terraform-provider-aws/issues/43744)) * resource/aws_sqs_queue: Increase upper limit of `max_message_size` from 256 KiB to 1024 KiB ([#43710](https://github.com/hashicorp/terraform-provider-aws/issues/43710)) +* resource/aws_ssm_parameter: Add resource identity support ([#43736](https://github.com/hashicorp/terraform-provider-aws/issues/43736)) BUG FIXES: From f62b72d89a8989e38f40627ff3878c628c570d87 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 7 Aug 2025 11:12:53 -0400 Subject: [PATCH 0681/1301] Use 'listWebACLsPages'. --- internal/service/wafv2/web_acl.go | 18 +++++++---- internal/service/wafv2/web_acl_data_source.go | 32 ++++++------------- 2 files changed, 20 insertions(+), 30 deletions(-) diff --git a/internal/service/wafv2/web_acl.go b/internal/service/wafv2/web_acl.go index 0c266f686cc6..0a96394156b3 100644 --- a/internal/service/wafv2/web_acl.go +++ b/internal/service/wafv2/web_acl.go @@ -536,13 +536,7 @@ func resourceWebACLDelete(ctx context.Context, d *schema.ResourceData, meta any) return diags } -func findWebACLByThreePartKey(ctx context.Context, conn *wafv2.Client, id, name, scope string) (*wafv2.GetWebACLOutput, error) { - input := &wafv2.GetWebACLInput{ - Id: aws.String(id), - Name: aws.String(name), - Scope: awstypes.Scope(scope), - } - +func findWebACL(ctx context.Context, conn *wafv2.Client, input *wafv2.GetWebACLInput) (*wafv2.GetWebACLOutput, error) { output, err := conn.GetWebACL(ctx, input) if errs.IsA[*awstypes.WAFNonexistentItemException](err) { @@ -563,6 +557,16 @@ func findWebACLByThreePartKey(ctx context.Context, conn *wafv2.Client, id, name, return output, nil } +func findWebACLByThreePartKey(ctx context.Context, conn *wafv2.Client, id, name, scope string) (*wafv2.GetWebACLOutput, error) { + input := wafv2.GetWebACLInput{ + Id: aws.String(id), + Name: aws.String(name), + Scope: awstypes.Scope(scope), + } + + return findWebACL(ctx, conn, &input) +} + // filterWebACLRules removes the AWS-added Shield Advanced auto mitigation rule here // so that the provider will not report diff and/or attempt to remove the rule as it is // owned and managed by AWS. diff --git a/internal/service/wafv2/web_acl_data_source.go b/internal/service/wafv2/web_acl_data_source.go index 3418df305c47..a6650c822003 100644 --- a/internal/service/wafv2/web_acl_data_source.go +++ b/internal/service/wafv2/web_acl_data_source.go @@ -91,46 +91,32 @@ func dataSourceWebACLRead(ctx context.Context, d *schema.ResourceData, meta any) } else { // Use existing ListWebACLs + filter by name logic var foundWebACL awstypes.WebACLSummary - input := &wafv2.ListWebACLsInput{ + input := wafv2.ListWebACLsInput{ Scope: scope, Limit: aws.Int32(100), } - for { - resp, err := conn.ListWebACLs(ctx, input) - if err != nil { - return sdkdiag.AppendErrorf(diags, "reading WAFv2 WebACLs: %s", err) + err := listWebACLsPages(ctx, conn, &input, func(page *wafv2.ListWebACLsOutput, lastPage bool) bool { + if page == nil { + return !lastPage } - if resp == nil || resp.WebACLs == nil { - return sdkdiag.AppendErrorf(diags, "reading WAFv2 WebACLs") - } - - for _, acl := range resp.WebACLs { + for _, acl := range page.WebACLs { if aws.ToString(acl.Name) == name { foundWebACL = acl - break + return false } } - if resp.NextMarker == nil { - break - } - input.NextMarker = resp.NextMarker - } + return !lastPage + }) if foundWebACL.Id == nil { return sdkdiag.AppendErrorf(diags, "WAFv2 WebACL not found for name: %s", name) } // Get full WebACL details using GetWebACL - getInput := &wafv2.GetWebACLInput{ - Id: foundWebACL.Id, - Name: foundWebACL.Name, - Scope: scope, - } - - getResp, err := conn.GetWebACL(ctx, getInput) + getResp, err := findWebACLByThreePartKey(ctx, conn, aws.ToString(foundWebACL.Id), aws.ToString(foundWebACL.Name), string(scope)) if err != nil { return sdkdiag.AppendErrorf(diags, "reading WAFv2 WebACL (%s): %s", aws.ToString(foundWebACL.Id), err) } From 9dffc8de82866af2404a9b7920f1c8d6159e55ff Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 7 Aug 2025 11:18:58 -0400 Subject: [PATCH 0682/1301] cloudfront: Export 'FindDistributionByID'. --- internal/service/cloudfront/exports.go | 1 + internal/service/cloudfront/exports_test.go | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/cloudfront/exports.go b/internal/service/cloudfront/exports.go index c41aea12344d..b17771360fb3 100644 --- a/internal/service/cloudfront/exports.go +++ b/internal/service/cloudfront/exports.go @@ -5,5 +5,6 @@ package cloudfront // Exports for use across service packages. var ( + FindDistributionByID = findDistributionByID ResourceKeyValueStore = newKeyValueStoreResource ) diff --git a/internal/service/cloudfront/exports_test.go b/internal/service/cloudfront/exports_test.go index 63b7364bb56b..2243d6a6f6fa 100644 --- a/internal/service/cloudfront/exports_test.go +++ b/internal/service/cloudfront/exports_test.go @@ -23,7 +23,6 @@ var ( FindCachePolicyByID = findCachePolicyByID FindContinuousDeploymentPolicyByID = findContinuousDeploymentPolicyByID - FindDistributionByID = findDistributionByID FindFieldLevelEncryptionConfigByID = findFieldLevelEncryptionConfigByID FindFieldLevelEncryptionProfileByID = findFieldLevelEncryptionProfileByID FindFunctionByTwoPartKey = findFunctionByTwoPartKey From 88825b511b39a8f6ee48e855a71876daf412570b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 7 Aug 2025 11:19:29 -0400 Subject: [PATCH 0683/1301] d/aws_wafv2_web_acl: Use 'cloudfront.FindDistributionByID'. --- internal/service/wafv2/web_acl_data_source.go | 34 ++++--------------- 1 file changed, 7 insertions(+), 27 deletions(-) diff --git a/internal/service/wafv2/web_acl_data_source.go b/internal/service/wafv2/web_acl_data_source.go index a6650c822003..72bbb8465983 100644 --- a/internal/service/wafv2/web_acl_data_source.go +++ b/internal/service/wafv2/web_acl_data_source.go @@ -10,19 +10,16 @@ import ( "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/aws/arn" - "github.com/aws/aws-sdk-go-v2/service/cloudfront" - cftypes "github.com/aws/aws-sdk-go-v2/service/cloudfront/types" "github.com/aws/aws-sdk-go-v2/service/wafv2" awstypes "github.com/aws/aws-sdk-go-v2/service/wafv2/types" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" + sdkretry "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-provider-aws/internal/conns" "github.com/hashicorp/terraform-provider-aws/internal/enum" - "github.com/hashicorp/terraform-provider-aws/internal/errs" "github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag" - pretry "github.com/hashicorp/terraform-provider-aws/internal/retry" - "github.com/hashicorp/terraform-provider-aws/internal/tfresource" + "github.com/hashicorp/terraform-provider-aws/internal/retry" + tfcloudfront "github.com/hashicorp/terraform-provider-aws/internal/service/cloudfront" "github.com/hashicorp/terraform-provider-aws/internal/verify" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -83,7 +80,7 @@ func dataSourceWebACLRead(ctx context.Context, d *schema.ResourceData, meta any) webACL, err = findWebACLByResourceARN(ctx, conn, resourceArn) } if err != nil { - if pretry.NotFound(err) { + if retry.NotFound(err) { return sdkdiag.AppendErrorf(diags, "WAFv2 WebACL not found for resource_arn: %s", resourceArn) } return sdkdiag.AppendErrorf(diags, "reading WAFv2 WebACL for resource_arn (%s): %s", resourceArn, err) @@ -159,32 +156,15 @@ func findWebACLByCloudFrontDistributionARN(ctx context.Context, client *conns.AW return nil, err } - // Get CloudFront client - cfConn := client.CloudFrontClient(ctx) + output, err := tfcloudfront.FindDistributionByID(ctx, client.CloudFrontClient(ctx), distributionID) - // Get distribution configuration - input := &cloudfront.GetDistributionInput{ - Id: aws.String(distributionID), - } - - output, err := cfConn.GetDistribution(ctx, input) if err != nil { - if errs.IsA[*cftypes.NoSuchDistribution](err) { - return nil, &retry.NotFoundError{ - LastError: err, - LastRequest: input, - } - } return nil, fmt.Errorf("getting CloudFront distribution (%s): %w", distributionID, err) } - if output.Distribution == nil || output.Distribution.DistributionConfig == nil { - return nil, tfresource.NewEmptyResultError(input) - } - webACLARN := aws.ToString(output.Distribution.DistributionConfig.WebACLId) if webACLARN == "" { - return nil, &retry.NotFoundError{ + return nil, &sdkretry.NotFoundError{ Message: fmt.Sprintf("no WebACL associated with CloudFront distribution: %s", distributionID), } } @@ -212,7 +192,7 @@ func findWebACLByCloudFrontDistributionARN(ctx context.Context, client *conns.AW return nil, fmt.Errorf("finding WAFv2 WebACL (%s): %w", webACLARN, err) } if webACLOut == nil { - return nil, &retry.NotFoundError{ + return nil, &sdkretry.NotFoundError{ Message: fmt.Sprintf("no WAFv2 WebACL found: %s", webACLARN), } } From 0c982713649882a4d197a373c28012ba83d3da40 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 7 Aug 2025 11:33:30 -0400 Subject: [PATCH 0684/1301] Fix golangci-lint 'ineffassign,staticcheck(SA4006),wastedassign'. --- internal/service/wafv2/web_acl_data_source.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/internal/service/wafv2/web_acl_data_source.go b/internal/service/wafv2/web_acl_data_source.go index 72bbb8465983..3c8c97d22a74 100644 --- a/internal/service/wafv2/web_acl_data_source.go +++ b/internal/service/wafv2/web_acl_data_source.go @@ -108,12 +108,17 @@ func dataSourceWebACLRead(ctx context.Context, d *schema.ResourceData, meta any) return !lastPage }) + if err != nil { + return sdkdiag.AppendErrorf(diags, "list WAFv2 WebACLs: %s", err) + } + if foundWebACL.Id == nil { return sdkdiag.AppendErrorf(diags, "WAFv2 WebACL not found for name: %s", name) } // Get full WebACL details using GetWebACL getResp, err := findWebACLByThreePartKey(ctx, conn, aws.ToString(foundWebACL.Id), aws.ToString(foundWebACL.Name), string(scope)) + if err != nil { return sdkdiag.AppendErrorf(diags, "reading WAFv2 WebACL (%s): %s", aws.ToString(foundWebACL.Id), err) } From 65379920c6d99d8dd822c873e8f54fdb42d0a820 Mon Sep 17 00:00:00 2001 From: changelogbot Date: Thu, 7 Aug 2025 16:14:45 +0000 Subject: [PATCH 0685/1301] Update CHANGELOG.md for #43597 --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b7031a27058f..fb2b06151020 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,8 @@ FEATURES: ENHANCEMENTS: * data-source/aws_quicksight_user: Add `custom_permissions_name` attribute ([#43613](https://github.com/hashicorp/terraform-provider-aws/issues/43613)) +* data-source/aws_wafv2_web_acl: Add `resource_arn` argument to enable finding web ACLs by resource ARN ([#43597](https://github.com/hashicorp/terraform-provider-aws/issues/43597)) +* data-source/aws_wafv2_web_acl: Add support for `CLOUDFRONT` `scope` web ACLs using `resource_arn` ([#43597](https://github.com/hashicorp/terraform-provider-aws/issues/43597)) * resource/aws_bedrock_guardrail: Add `input_action`, `output_action`, `input_enabled`, and `output_enabled` attributes to `sensitive_information_policy_config.pii_entities_config` and `sensitive_information_policy_config.regexes_config` configuration blocks ([#43702](https://github.com/hashicorp/terraform-provider-aws/issues/43702)) * resource/aws_cloudwatch_log_group: Add resource identity support ([#43719](https://github.com/hashicorp/terraform-provider-aws/issues/43719)) * resource/aws_computeoptimizer_recommendation_preferences: Add `AuroraDBClusterStorage` as a valid `resource_type` ([#43677](https://github.com/hashicorp/terraform-provider-aws/issues/43677)) From 2c21d6334fc6b4fe313a54d2c8c37793f374f343 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 7 Aug 2025 12:25:36 -0400 Subject: [PATCH 0686/1301] Alphabetize. --- .changelog/43240.txt | 2 +- internal/service/dynamodb/table.go | 29 +++++++++++++++-------------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/.changelog/43240.txt b/.changelog/43240.txt index 642114586fe2..f96ffa2f919f 100644 --- a/.changelog/43240.txt +++ b/.changelog/43240.txt @@ -1,3 +1,3 @@ ```release-note:enhancement -resource/aws_dynamodb_table: Add `deletion_protection_enabled` argument to `replica` block +resource/aws_dynamodb_table: Add `replica.deletion_protection_enabled` argument ``` diff --git a/internal/service/dynamodb/table.go b/internal/service/dynamodb/table.go index 9a6bb088b2bb..2537b5bb95c8 100644 --- a/internal/service/dynamodb/table.go +++ b/internal/service/dynamodb/table.go @@ -299,6 +299,11 @@ func resourceTable() *schema.Resource { Default: awstypes.MultiRegionConsistencyEventual, ValidateDiagFunc: enum.Validate[awstypes.MultiRegionConsistency](), }, + "deletion_protection_enabled": { + Type: schema.TypeBool, + Optional: true, + Computed: true, + }, names.AttrKMSKeyARN: { Type: schema.TypeString, Optional: true, @@ -311,11 +316,6 @@ func resourceTable() *schema.Resource { Optional: true, Default: false, }, - "deletion_protection_enabled": { - Type: schema.TypeBool, - Optional: true, - Default: false, - }, names.AttrPropagateTags: { Type: schema.TypeBool, Optional: true, @@ -1578,11 +1578,11 @@ func createReplicas(ctx context.Context, conn *dynamodb.Client, tableName string if err = updatePITR(ctx, conn, tableName, tfMap["point_in_time_recovery"].(bool), nil, tfMap["region_name"].(string), timeout); err != nil { return fmt.Errorf("updating replica (%s) point in time recovery: %w", tfMap["region_name"].(string), err) } - } - if v, ok := tfMap["deletion_protection_enabled"].(bool); ok { - if err = updateReplicaDeletionProtection(ctx, conn, tableName, tfMap["region_name"].(string), v, timeout); err != nil { - return fmt.Errorf("updating replica (%s) deletion protection: %w", tfMap["region_name"].(string), err) + if v, ok := tfMap["deletion_protection_enabled"].(bool); ok { + if err = updateReplicaDeletionProtection(ctx, conn, tableName, tfMap["region_name"].(string), v, timeout); err != nil { + return fmt.Errorf("updating replica (%s) deletion protection: %w", tfMap["region_name"].(string), err) + } } } } @@ -1700,8 +1700,10 @@ func updateReplicaDeletionProtection(ctx context.Context, conn *dynamodb.Client, TableName: aws.String(tableName), DeletionProtectionEnabled: aws.Bool(enabled), } + optFn := func(o *dynamodb.Options) { o.Region = region } - if _, err := conn.UpdateTable(ctx, &input, optFn); err != nil { + _, err := conn.UpdateTable(ctx, &input, optFn) + if err != nil { return fmt.Errorf("updating deletion protection: %w", err) } @@ -2247,13 +2249,12 @@ func enrichReplicas(ctx context.Context, conn *dynamodb.Client, arn, tableName s continue } - tfMap[names.AttrStreamARN] = aws.ToString(table.LatestStreamArn) - tfMap["stream_label"] = aws.ToString(table.LatestStreamLabel) - tfMap["deletion_protection_enabled"] = table.DeletionProtectionEnabled - + tfMap["deletion_protection_enabled"] = aws.ToBool(table.DeletionProtectionEnabled) if table.SSEDescription != nil { tfMap[names.AttrKMSKeyARN] = aws.ToString(table.SSEDescription.KMSMasterKeyArn) } + tfMap[names.AttrStreamARN] = aws.ToString(table.LatestStreamArn) + tfMap["stream_label"] = aws.ToString(table.LatestStreamLabel) tfList[i] = tfMap } From 4e76bc0a5ae27c1a99d423d34b24c0755efccecd Mon Sep 17 00:00:00 2001 From: tabito Date: Fri, 8 Aug 2025 01:43:02 +0900 Subject: [PATCH 0687/1301] add changelog --- .changelog/43753.txt | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .changelog/43753.txt diff --git a/.changelog/43753.txt b/.changelog/43753.txt new file mode 100644 index 000000000000..f9939537fe9e --- /dev/null +++ b/.changelog/43753.txt @@ -0,0 +1,7 @@ +```release-note:bug +resource/aws_lambda_function: Fix missing value for `reserved_concurrent_executions` attribute when a published version exists +``` + +```release-note:bug +data-source/aws_lambda_function: Fix missing value for `reserved_concurrent_executions` attribute when a published version exists +``` From 56c658ab86cb9a2970eec48d1c3daf9a2f53cc95 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Thu, 7 Aug 2025 13:03:17 -0400 Subject: [PATCH 0688/1301] Merge pull request #43751 from hashicorp/b-sagemaker_image_name r/aws_sagemaker_image: correct `image_name` validation --- .changelog/43751.txt | 3 +++ internal/service/sagemaker/image.go | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 .changelog/43751.txt diff --git a/.changelog/43751.txt b/.changelog/43751.txt new file mode 100644 index 000000000000..225692d53df3 --- /dev/null +++ b/.changelog/43751.txt @@ -0,0 +1,3 @@ +```release-note:bug +resource/aws_sagemaker_image: Fix `image_name` regular expression validation +``` diff --git a/internal/service/sagemaker/image.go b/internal/service/sagemaker/image.go index 9c1bafbd181f..da1e9e1cd724 100644 --- a/internal/service/sagemaker/image.go +++ b/internal/service/sagemaker/image.go @@ -49,7 +49,7 @@ func resourceImage() *schema.Resource { ForceNew: true, ValidateFunc: validation.All( validation.StringLenBetween(1, 63), - validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z](-*[0-9A-Za-z])*$`), "Valid characters are a-z, A-Z, 0-9, and - (hyphen)."), + validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z]([-.]?[0-9A-Za-z])*$`), "Valid characters are a-z, A-Z, 0-9, - (hyphen), and . (dot)."), ), }, names.AttrRoleARN: { From 5296c441693e33057dc8c9e3c8b69ed70db58188 Mon Sep 17 00:00:00 2001 From: changelogbot Date: Thu, 7 Aug 2025 17:08:10 +0000 Subject: [PATCH 0689/1301] Update CHANGELOG.md for #43751 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb2b06151020..ad099b4a3855 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -48,6 +48,7 @@ BUG FIXES: * resource/aws_instance: Prevent destruction of resource when `disable_api_termination` is `true` ([#43722](https://github.com/hashicorp/terraform-provider-aws/issues/43722)) * resource/aws_kms_key: Restore pre-v6.3.0 retry delay behavior when waiting for continuous target state occurrences. This fixes certain tag update timeouts ([#43716](https://github.com/hashicorp/terraform-provider-aws/issues/43716)) * resource/aws_s3tables_table_bucket: Fix crash on `maintenance_configuration` read failure ([#43707](https://github.com/hashicorp/terraform-provider-aws/issues/43707)) +* resource/aws_sagemaker_image: Fix `image_name` regular expression validation ([#43751](https://github.com/hashicorp/terraform-provider-aws/issues/43751)) * resource/aws_timestreaminfluxdb_db_instance: Don't mark `network_type` as [ForceNew](https://developer.hashicorp.com/terraform/plugin/sdkv2/schemas/schema-behaviors#forcenew) if the value is not configured. This fixes a problem with `terraform apply -refresh=false` after upgrade from `v5.90.0` and below ([#43534](https://github.com/hashicorp/terraform-provider-aws/issues/43534)) * resource/aws_wafv2_regex_pattern_set: Remove maximum items limit on the `regular_expression` argument ([#43693](https://github.com/hashicorp/terraform-provider-aws/issues/43693)) From 356433caf408cd14aac02378bf3effaed0e886c9 Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Thu, 7 Aug 2025 12:08:34 -0500 Subject: [PATCH 0690/1301] Prepare release v6.8.0 (#43754) * update release date * update release version --- CHANGELOG.md | 2 +- version/VERSION | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ad099b4a3855..bff3a609846c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## 6.8.0 (Unreleased) +## 6.8.0 (August 7, 2025) FEATURES: diff --git a/version/VERSION b/version/VERSION index 1d42024266fa..8a1c5c7e99c1 100644 --- a/version/VERSION +++ b/version/VERSION @@ -1 +1 @@ -6.7.1 \ No newline at end of file +6.8.0 \ No newline at end of file From 3c887db6d1fedc4504a0c7af828b2eac005b4f58 Mon Sep 17 00:00:00 2001 From: hc-github-team-es-release-engineering <82989873+hc-github-team-es-release-engineering@users.noreply.github.com> Date: Thu, 7 Aug 2025 11:04:29 -0700 Subject: [PATCH 0691/1301] Bumped product version to 6.8.1. --- version/VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version/VERSION b/version/VERSION index 8a1c5c7e99c1..23863d3def7f 100644 --- a/version/VERSION +++ b/version/VERSION @@ -1 +1 @@ -6.8.0 \ No newline at end of file +6.8.1 \ No newline at end of file From d06d800f7b0963584a906f27eb6561bdd1fa3079 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 7 Aug 2025 13:14:20 -0500 Subject: [PATCH 0692/1301] Add changelog entry for v6.9.0 (#43756) Co-authored-by: changelogbot --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bff3a609846c..f0e58bcca00a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,5 @@ +## 6.9.0 (Unreleased) + ## 6.8.0 (August 7, 2025) FEATURES: From e103ed1b638ab111ededd07c05d132049ffc98e9 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Thu, 7 Aug 2025 14:59:27 -0400 Subject: [PATCH 0693/1301] Add parameterized resource identity to `aws_cloudwatch_metric_alarm` ```console % make testacc PKG=cloudwatch TESTS=TestAccCloudWatchMetricAlarm_ make: Verifying source code with gofmt... ==> Checking that code complies with gofmt requirements... TF_ACC=1 go1.24.5 test ./internal/service/cloudwatch/... -v -count 1 -parallel 20 -run='TestAccCloudWatchMetricAlarm_' -timeout 360m -vet=off 2025/08/07 14:49:08 Creating Terraform AWS Provider (SDKv2-style)... 2025/08/07 14:49:08 Initializing Terraform AWS Provider (SDKv2-style)... --- PASS: TestAccCloudWatchMetricAlarm_missingStatistic (5.98s) === CONT TestAccCloudWatchMetricAlarm_tags_DefaultTags_providerOnly --- PASS: TestAccCloudWatchMetricAlarm_disappears (42.98s) === CONT TestAccCloudWatchMetricAlarm_tags_ComputedTag_OnUpdate_Add --- PASS: TestAccCloudWatchMetricAlarm_AlarmActions_snsTopic (46.27s) === CONT TestAccCloudWatchMetricAlarm_treatMissingData --- PASS: TestAccCloudWatchMetricAlarm_AlarmActions_swfAction (51.46s) === CONT TestAccCloudWatchMetricAlarm_evaluateLowSampleCountPercentiles --- PASS: TestAccCloudWatchMetricAlarm_tags_DefaultTags_nullNonOverlappingResourceTag (51.72s) === CONT TestAccCloudWatchMetricAlarm_basic --- PASS: TestAccCloudWatchMetricAlarm_tags_DefaultTags_nullOverlappingResourceTag (51.99s) === CONT TestAccCloudWatchMetricAlarm_tags_ComputedTag_OnCreate --- PASS: TestAccCloudWatchMetricAlarm_tags_DefaultTags_emptyProviderOnlyTag (53.72s) === CONT TestAccCloudWatchMetricAlarm_tags_EmptyMap --- PASS: TestAccCloudWatchMetricAlarm_tags_DefaultTags_emptyResourceTag (55.35s) === CONT TestAccCloudWatchMetricAlarm_tags_EmptyTag_OnUpdate_Add --- PASS: TestAccCloudWatchMetricAlarm_Identity_Basic (75.23s) === CONT TestAccCloudWatchMetricAlarm_tags_EmptyTag_OnCreate --- PASS: TestAccCloudWatchMetricAlarm_tags_DefaultTags_updateToResourceOnly (79.74s) === CONT TestAccCloudWatchMetricAlarm_tags_AddOnUpdate --- PASS: TestAccCloudWatchMetricAlarm_tags_DefaultTags_updateToProviderOnly (85.57s) === CONT TestAccCloudWatchMetricAlarm_dataPointsToAlarm --- PASS: TestAccCloudWatchMetricAlarm_tags_EmptyTag_OnUpdate_Replace (85.73s) === CONT TestAccCloudWatchMetricAlarm_tags --- PASS: TestAccCloudWatchMetricAlarm_tags_ComputedTag_OnUpdate_Replace (92.02s) === CONT TestAccCloudWatchMetricAlarm_tags_null --- PASS: TestAccCloudWatchMetricAlarm_basic (45.17s) === CONT TestAccCloudWatchMetricAlarm_Identity_ExistingResource --- PASS: TestAccCloudWatchMetricAlarm_tags_ComputedTag_OnCreate (52.33s) === CONT TestAccCloudWatchMetricAlarm_Identity_RegionOverride --- PASS: TestAccCloudWatchMetricAlarm_tags_IgnoreTags_Overlap_DefaultTag (104.36s) --- PASS: TestAccCloudWatchMetricAlarm_evaluateLowSampleCountPercentiles (63.70s) --- PASS: TestAccCloudWatchMetricAlarm_dataPointsToAlarm (35.72s) --- PASS: TestAccCloudWatchMetricAlarm_tags_EmptyMap (74.51s) --- PASS: TestAccCloudWatchMetricAlarm_tags_IgnoreTags_Overlap_ResourceTag (129.54s) --- PASS: TestAccCloudWatchMetricAlarm_tags_ComputedTag_OnUpdate_Add (88.06s) --- PASS: TestAccCloudWatchMetricAlarm_tags_DefaultTags_overlapping (138.21s) --- PASS: TestAccCloudWatchMetricAlarm_tags_DefaultTags_nonOverlapping (141.60s) --- PASS: TestAccCloudWatchMetricAlarm_treatMissingData (95.45s) --- PASS: TestAccCloudWatchMetricAlarm_tags_null (61.16s) --- PASS: TestAccCloudWatchMetricAlarm_tags_AddOnUpdate (74.07s) --- PASS: TestAccCloudWatchMetricAlarm_tags_EmptyTag_OnCreate (78.67s) --- PASS: TestAccCloudWatchMetricAlarm_Identity_RegionOverride (50.08s) --- PASS: TestAccCloudWatchMetricAlarm_tags_EmptyTag_OnUpdate_Add (103.26s) --- PASS: TestAccCloudWatchMetricAlarm_Identity_ExistingResource (64.31s) --- PASS: TestAccCloudWatchMetricAlarm_tags_DefaultTags_providerOnly (155.52s) --- PASS: TestAccCloudWatchMetricAlarm_metricQuery (177.29s) --- PASS: TestAccCloudWatchMetricAlarm_tags (99.84s) --- PASS: TestAccCloudWatchMetricAlarm_AlarmActions_ec2Automate (212.09s) --- PASS: TestAccCloudWatchMetricAlarm_extendedStatistic (245.02s) PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/cloudwatch 251.467s ``` --- internal/service/cloudwatch/generate.go | 1 + internal/service/cloudwatch/metric_alarm.go | 7 +- .../metric_alarm_identity_gen_test.go | 256 ++++++++++++++++++ .../service/cloudwatch/service_package_gen.go | 6 +- .../testdata/MetricAlarm/basic/main_gen.tf | 25 ++ .../MetricAlarm/basic_v6.7.0/main_gen.tf | 35 +++ .../MetricAlarm/region_override/main_gen.tf | 33 +++ .../testdata/tmpl/metric_alarm_tags.gtpl | 1 + 8 files changed, 359 insertions(+), 5 deletions(-) create mode 100644 internal/service/cloudwatch/metric_alarm_identity_gen_test.go create mode 100644 internal/service/cloudwatch/testdata/MetricAlarm/basic/main_gen.tf create mode 100644 internal/service/cloudwatch/testdata/MetricAlarm/basic_v6.7.0/main_gen.tf create mode 100644 internal/service/cloudwatch/testdata/MetricAlarm/region_override/main_gen.tf diff --git a/internal/service/cloudwatch/generate.go b/internal/service/cloudwatch/generate.go index a54af3a32934..3baed7ea586e 100644 --- a/internal/service/cloudwatch/generate.go +++ b/internal/service/cloudwatch/generate.go @@ -4,6 +4,7 @@ //go:generate go run ../../generate/tags/main.go -ListTags -ListTagsInIDElem=ResourceARN -ServiceTagsSlice -TagInIDElem=ResourceARN -UpdateTags -CreateTags //go:generate go run ../../generate/servicepackage/main.go //go:generate go run ../../generate/tagstests/main.go +//go:generate go run ../../generate/identitytests/main.go // ONLY generate directives and package declaration! Do not add anything else to this file. package cloudwatch diff --git a/internal/service/cloudwatch/metric_alarm.go b/internal/service/cloudwatch/metric_alarm.go index 50466298c4b0..fa116ce377ab 100644 --- a/internal/service/cloudwatch/metric_alarm.go +++ b/internal/service/cloudwatch/metric_alarm.go @@ -31,6 +31,9 @@ import ( // @SDKResource("aws_cloudwatch_metric_alarm", name="Metric Alarm") // @Tags(identifierAttribute="arn") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/cloudwatch/types;awstypes;awstypes.MetricAlarm") +// @IdentityAttribute("alarm_name") +// @Testing(idAttrDuplicates="alarm_name") +// @Testing(preIdentityVersion="v6.7.0") func resourceMetricAlarm() *schema.Resource { //lintignore:R011 return &schema.Resource{ @@ -42,10 +45,6 @@ func resourceMetricAlarm() *schema.Resource { SchemaVersion: 1, MigrateState: MetricAlarmMigrateState, - Importer: &schema.ResourceImporter{ - StateContext: schema.ImportStatePassthroughContext, - }, - Schema: map[string]*schema.Schema{ "actions_enabled": { Type: schema.TypeBool, diff --git a/internal/service/cloudwatch/metric_alarm_identity_gen_test.go b/internal/service/cloudwatch/metric_alarm_identity_gen_test.go new file mode 100644 index 000000000000..0193cfb3ef8a --- /dev/null +++ b/internal/service/cloudwatch/metric_alarm_identity_gen_test.go @@ -0,0 +1,256 @@ +// Code generated by internal/generate/identitytests/main.go; DO NOT EDIT. + +package cloudwatch_test + +import ( + "testing" + + awstypes "github.com/aws/aws-sdk-go-v2/service/cloudwatch/types" + "github.com/hashicorp/terraform-plugin-testing/compare" + "github.com/hashicorp/terraform-plugin-testing/config" + sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-plugin-testing/tfversion" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfknownvalue "github.com/hashicorp/terraform-provider-aws/internal/acctest/knownvalue" + tfstatecheck "github.com/hashicorp/terraform-provider-aws/internal/acctest/statecheck" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccCloudWatchMetricAlarm_Identity_Basic(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.MetricAlarm + resourceName := "aws_cloudwatch_metric_alarm.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.CloudWatchServiceID), + CheckDestroy: testAccCheckMetricAlarmDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/MetricAlarm/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckMetricAlarmExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.CompareValuePairs(resourceName, tfjsonpath.New(names.AttrID), resourceName, tfjsonpath.New("alarm_name"), compare.ValuesSame()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.Region()), + "alarm_name": knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New("alarm_name")), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/MetricAlarm/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/MetricAlarm/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New("alarm_name"), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/MetricAlarm/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New("alarm_name"), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + }, + }) +} + +func TestAccCloudWatchMetricAlarm_Identity_RegionOverride(t *testing.T) { + ctx := acctest.Context(t) + + resourceName := "aws_cloudwatch_metric_alarm.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.CloudWatchServiceID), + CheckDestroy: acctest.CheckDestroyNoop, + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/MetricAlarm/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.CompareValuePairs(resourceName, tfjsonpath.New(names.AttrID), resourceName, tfjsonpath.New("alarm_name"), compare.ValuesSame()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.AlternateRegion()), + "alarm_name": knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New("alarm_name")), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/MetricAlarm/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/MetricAlarm/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New("alarm_name"), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/MetricAlarm/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New("alarm_name"), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + }, + }) +} + +// Resource Identity was added after v6.7.0 +func TestAccCloudWatchMetricAlarm_Identity_ExistingResource(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.MetricAlarm + resourceName := "aws_cloudwatch_metric_alarm.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.CloudWatchServiceID), + CheckDestroy: testAccCheckMetricAlarmDestroy(ctx), + Steps: []resource.TestStep{ + // Step 1: Create pre-Identity + { + ConfigDirectory: config.StaticDirectory("testdata/MetricAlarm/basic_v6.7.0/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckMetricAlarmExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + tfstatecheck.ExpectNoIdentity(resourceName), + }, + }, + + // Step 2: Current version + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/MetricAlarm/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.Region()), + "alarm_name": knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New("alarm_name")), + }, + }, + }, + }) +} diff --git a/internal/service/cloudwatch/service_package_gen.go b/internal/service/cloudwatch/service_package_gen.go index d0bb5931375b..cefa8952429b 100644 --- a/internal/service/cloudwatch/service_package_gen.go +++ b/internal/service/cloudwatch/service_package_gen.go @@ -80,7 +80,11 @@ func (p *servicePackage) SDKResources(ctx context.Context) []*inttypes.ServicePa Tags: unique.Make(inttypes.ServicePackageResourceTags{ IdentifierAttribute: names.AttrARN, }), - Region: unique.Make(inttypes.ResourceRegionDefault()), + Region: unique.Make(inttypes.ResourceRegionDefault()), + Identity: inttypes.RegionalSingleParameterIdentity("alarm_name"), + Import: inttypes.SDKv2Import{ + WrappedImport: true, + }, }, { Factory: resourceMetricStream, diff --git a/internal/service/cloudwatch/testdata/MetricAlarm/basic/main_gen.tf b/internal/service/cloudwatch/testdata/MetricAlarm/basic/main_gen.tf new file mode 100644 index 000000000000..afeae1c0c0c5 --- /dev/null +++ b/internal/service/cloudwatch/testdata/MetricAlarm/basic/main_gen.tf @@ -0,0 +1,25 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_cloudwatch_metric_alarm" "test" { + alarm_name = var.rName + comparison_operator = "GreaterThanOrEqualToThreshold" + evaluation_periods = 2 + metric_name = "CPUUtilization" + namespace = "AWS/EC2" + period = 120 + statistic = "Average" + threshold = 80 + alarm_description = "This metric monitors ec2 cpu utilization" + insufficient_data_actions = [] + + dimensions = { + InstanceId = "i-abcd1234" + } +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} diff --git a/internal/service/cloudwatch/testdata/MetricAlarm/basic_v6.7.0/main_gen.tf b/internal/service/cloudwatch/testdata/MetricAlarm/basic_v6.7.0/main_gen.tf new file mode 100644 index 000000000000..74c48c608bdf --- /dev/null +++ b/internal/service/cloudwatch/testdata/MetricAlarm/basic_v6.7.0/main_gen.tf @@ -0,0 +1,35 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_cloudwatch_metric_alarm" "test" { + alarm_name = var.rName + comparison_operator = "GreaterThanOrEqualToThreshold" + evaluation_periods = 2 + metric_name = "CPUUtilization" + namespace = "AWS/EC2" + period = 120 + statistic = "Average" + threshold = 80 + alarm_description = "This metric monitors ec2 cpu utilization" + insufficient_data_actions = [] + + dimensions = { + InstanceId = "i-abcd1234" + } +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "6.7.0" + } + } +} + +provider "aws" {} diff --git a/internal/service/cloudwatch/testdata/MetricAlarm/region_override/main_gen.tf b/internal/service/cloudwatch/testdata/MetricAlarm/region_override/main_gen.tf new file mode 100644 index 000000000000..fbb2b23e76b7 --- /dev/null +++ b/internal/service/cloudwatch/testdata/MetricAlarm/region_override/main_gen.tf @@ -0,0 +1,33 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_cloudwatch_metric_alarm" "test" { + region = var.region + + alarm_name = var.rName + comparison_operator = "GreaterThanOrEqualToThreshold" + evaluation_periods = 2 + metric_name = "CPUUtilization" + namespace = "AWS/EC2" + period = 120 + statistic = "Average" + threshold = 80 + alarm_description = "This metric monitors ec2 cpu utilization" + insufficient_data_actions = [] + + dimensions = { + InstanceId = "i-abcd1234" + } +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "region" { + description = "Region to deploy resource in" + type = string + nullable = false +} diff --git a/internal/service/cloudwatch/testdata/tmpl/metric_alarm_tags.gtpl b/internal/service/cloudwatch/testdata/tmpl/metric_alarm_tags.gtpl index aeb77b32e1f3..41f309b38785 100644 --- a/internal/service/cloudwatch/testdata/tmpl/metric_alarm_tags.gtpl +++ b/internal/service/cloudwatch/testdata/tmpl/metric_alarm_tags.gtpl @@ -1,4 +1,5 @@ resource "aws_cloudwatch_metric_alarm" "test" { +{{- template "region" }} alarm_name = var.rName comparison_operator = "GreaterThanOrEqualToThreshold" evaluation_periods = 2 From 43a806e2e31aea648964a00876aa98a5961ca583 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Thu, 7 Aug 2025 15:16:09 -0400 Subject: [PATCH 0694/1301] docs: add parameterized resource identity guide --- .../parameterized-resource-identity.md | 131 ++++++++++++++++++ mkdocs.yml | 1 + 2 files changed, 132 insertions(+) create mode 100644 docs/ai-agent-guides/parameterized-resource-identity.md diff --git a/docs/ai-agent-guides/parameterized-resource-identity.md b/docs/ai-agent-guides/parameterized-resource-identity.md new file mode 100644 index 000000000000..ed8907ab925b --- /dev/null +++ b/docs/ai-agent-guides/parameterized-resource-identity.md @@ -0,0 +1,131 @@ +# Adding Resource Identity to parameterized Resources + +You are working on the [Terraform AWS Provider](https://github.com/hashicorp/terraform-provider-aws), specifically focused on adding [resource identity](https://developer.hashicorp.com/terraform/plugin/sdkv2/resources/identity) to Plugin SDKV2 resources whose identity is composed from multiple parameters (parameterized). +[This Github meta issue](https://github.com/hashicorp/terraform-provider-aws/issues/42983) contains details and sub-issues related to adding resource identity support. + +When adding resource identity, a pull request may include all resources in a service or a single resource. +Follow the steps below to complete this task. + +## 1. Prepare the branch + +- The feature branch name should begin with `f-ri` and be suffixed with the name of the service being updated, e.g. `f-ri-elbv2`. If the current branch does not match this convention, create one. +- Ensure the feature branch is rebased with the `main` branch. + +## 2. Add resource identity to each resource + +The changes for each individual resource should be done in its own commit. +Use the following steps to add resource identity to an existing resource: + +- Determine which arguments the resource identity is composed from. This may be a single argument mapping to an AWS-generated identifier, or a combination of multiple arguments. Check for places where the resource ID is set (e.g. `d.SetId()`) and infer the relevant parameters. +- Add an `@IdentityAttribute("")` annotation to the target resource. For resources where the ID is composed from multiple arguments, add one annotation for each argument. +- If the `id` attribute is set to the same value as an identity attribute, add an `@Testing(idAttrDuplicates="")` annotation. +- If the resource's test file uses a `CheckExists` helper function that accepts 3 parameters rather than 2 (you can check this in the resource's test file), add another annotation to the resource file in the format `// @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2/types;types.TrustStore")`, but replacing the type with the correct one for the resource in question. The type should match the third parameter of the CheckExists function. +- Since we are newly adding identity to this resource, add an annotation indicating the most recent pre-identity version, e.g. `@Testing(preIdentityVersion="v6.3.0")`. Use `CHANGELOG.md` at the project root to determine the most recently released version (which will be the last before identity is added). +- Some resources will have an importer function defined. + - If that function uses `schema.ImportStatePassthroughContext` as `StateContext` value then remove that importer function declaration as it is no longer necessary. + - If a custom import function is defined, add a `// @CustomImport` annotation and include the following at the beginning the custom `StateContext` function: + +```go + identitySpec := importer.IdentitySpec(ctx) + if err := importer.RegionalSingleParameterized(ctx, d, identitySpec, meta.(importer.AWSClient)); err != nil { + return nil, err + } +``` + +- If the service does not use generated tag tests, you will need to create template files in the `testdata/tmpl` directory. For each resource, create a file named `_tags.gtpl` (e.g., `trust_store_tags.gtpl`). +- Populate each template file with the configuration from the resource's `_basic` test. If populating from the `_basic` configuration, be sure to replace any string format directives (e.g. `name = %[1]q`) with a corresponding reference to a variable (e.g. `name = var.rName`). +- The generators will use the template files to generate the resource identity test configuration. These will be located in the `testdata` directory for the service. **Do not manually create test directories or files as they will be generated.** +- The region template must be included inside each resource block in the template files. Add it as the first line after the resource declaration: + +```hcl +resource "aws_service_thing" "test" { +{{- template "region" }} + name = var.rName +{{- template "tags" }} +} +``` + +- If the resource already has a tags template declaration different than the example above, e.g. `{{- template "tags" . }}`, leave it unchanged. +- If the test configuration references an `aws_region` data source, the region template should also be embedded here. + +```hcl +data "aws_region" "current" { +{{- template "region" }} +} +``` + +## 3. Generate and test the changes + +- Run the generators for this service. This can be done with the following command (e.g. for the elbv2 package): `go generate ./internal/service/elbv2/...`. This will generate tests for Resource Identity and any required test files. +- Run the tests in this order: + - First run the basic identity test: `make testacc PKG= TESTS=TestAcc_Identity_Basic` + - Run all identity tests: `make testacc PKG= TESTS=TestAcc_Identity` + - Finally, run all tests for the resource: `make testacc PKG= TESTS=TestAcc_`. **Always include the `PKG` parameter to properly scope the tests to the intended service package.** +- Ensure the template modifications have not introduced any structural changes that would fail `terraform fmt`. To verify, run `terraform fmt -recursive -check`, and confirm there is no output. +- If all the preceding steps complete successfully commit the changes with an appropriate message, e.g. `r/aws_lb_target_group: add resource identity`. Ensure the commit message body includes the results of the acceptance test run in the previous step. + +Repeat steps 2 and 3 for each resource in the service. When all resources are complete, proceed to the next section. + +## 4. Submit a pull request + +**!!!Important!!!**: Ask for confirmation before proceeding with this step. + +- Push the changes. +- Create a draft pull request with the following details: + - Title: "Add parameterized resource identity to ``", e.g. "Add parameterized resource identity to `elbv2`". If only a single resource is included, replace service-name with the full Terraform resource name. + - Use the following template for the body. Be sure to replace the acceptance test results section with the results from the full acceptance test suite run. + +``` +### Description +Add resource identity to parameterized resources in ``. This includes: + + + +### Relations +Relates #42983 +Relates #42988 + +### Output from Acceptance Testing + + + +``` + +- Once the pull request is created, fetch the PR number to add changelog entries. Create a new file, `.changelog/.txt`, and include one enhancement entry per resource. Refer to `.changelog/43503.txt` for the appropriate formatting. +- Provide a summary of the completed changes. + +## Common Issues and Troubleshooting + +### Test Failures + +- Ensure `PKG` parameter is included in test commands +- Verify template file names match exactly (`_tags.gtpl`) +- Check region template placement is inside resource blocks +- Don't create test directories manually - let the generator create them +- If a generated test panics because a `testAccCheck*Exists` helper function has incorrect arguments, add a `@Testing(existsType="")` annotation. NEVER modify the function signature of an existing "exists" helper function + +### Generator Issues + +- Remove any manually created test directories before running the generator +- Ensure template files are in the correct location (`testdata/tmpl`) +- Verify template file names match the resource name +- If identity tests are not generated, verify that the `identitytests` generator is being called within the service's `generate.go` file. If it isn't, add the following line to `generate.go` next to the existing `go:generate` directives. + +```go +//go:generate go run ../../generate/identitytests/main.go +``` + +### Resource Updates + +- Check if the resource's check exists helper takes 3 parameters +- Verify the correct type is used in the `existsType` annotation +- Ensure importer is only removed if using `ImportStatePassthroughContext` + +### Import Test Failures + +- If identity tests are failing because they expect an update during import but get a no-op, add an `// @Testing(plannableImportAction="NoOp")` annotation and re-generate the test files. +- If a region override test is failing and a custom import fuction is configured, ensure the appropriate helper function from the `importer` package is used. + - `RegionalSingleParameterized` - regional resources whose identity is made up of a single parameter. + - `GlobalSingleParameterized` - global resources whose identity is made up of a single parameter. + - `RegionalMultipleParameterized` - regional resources whose identity is made up of multiple parameters. + - `GlobalMultipleParameterized` - global resources whose identity is made up of multiple parameters. diff --git a/mkdocs.yml b/mkdocs.yml index e2957de6d695..3cde35fc4e52 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -35,6 +35,7 @@ nav: - AI Agents: ai-agents.md - AI Agent Guides: - ARN-Based Resource Identity: ai-agent-guides/arn-based-resource-identity.md + - Parameterized Resource Identity: ai-agent-guides/parameterized-resource-identity.md - Smarterr: ai-agent-guides/smarterr.md - AWS SDK Go Base: aws-sdk-go-base.md - Core Services: core-services.md From af0ef26d248bcc077afd20f222b776843974523c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 7 Aug 2025 16:12:45 -0400 Subject: [PATCH 0695/1301] Fix 'TestAccDynamoDBTable_Replica_multiple' and 'TestAccDynamoDBTable_Replica_single'. --- internal/service/dynamodb/table_test.go | 102 +++++++++++++----------- 1 file changed, 54 insertions(+), 48 deletions(-) diff --git a/internal/service/dynamodb/table_test.go b/internal/service/dynamodb/table_test.go index 30124dbc6394..7d1a45ba8d1a 100644 --- a/internal/service/dynamodb/table_test.go +++ b/internal/service/dynamodb/table_test.go @@ -2034,24 +2034,26 @@ func TestAccDynamoDBTable_Replica_multiple(t *testing.T) { ConfigStateChecks: []statecheck.StateCheck{ statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ knownvalue.ObjectExact(map[string]knownvalue.Check{ - names.AttrARN: tfknownvalue.RegionalARNAlternateRegionExact("dynamodb", "table/"+rName), - "consistency_mode": knownvalue.StringExact("EVENTUAL"), - names.AttrKMSKeyARN: knownvalue.StringExact(""), - "point_in_time_recovery": knownvalue.Bool(false), - names.AttrPropagateTags: knownvalue.Bool(false), - "region_name": knownvalue.StringExact(acctest.AlternateRegion()), - names.AttrStreamARN: tfknownvalue.RegionalARNAlternateRegionRegexp("dynamodb", regexache.MustCompile(`table/`+rName+`/stream/`+streamLabelRegex)), - "stream_label": knownvalue.StringRegexp(regexache.MustCompile(`^` + streamLabelRegex + `$`)), + names.AttrARN: tfknownvalue.RegionalARNAlternateRegionExact("dynamodb", "table/"+rName), + "consistency_mode": knownvalue.StringExact("EVENTUAL"), + "deletion_protection_enabled": knownvalue.Bool(false), + names.AttrKMSKeyARN: knownvalue.StringExact(""), + "point_in_time_recovery": knownvalue.Bool(false), + names.AttrPropagateTags: knownvalue.Bool(false), + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrStreamARN: tfknownvalue.RegionalARNAlternateRegionRegexp("dynamodb", regexache.MustCompile(`table/`+rName+`/stream/`+streamLabelRegex)), + "stream_label": knownvalue.StringRegexp(regexache.MustCompile(`^` + streamLabelRegex + `$`)), }), knownvalue.ObjectExact(map[string]knownvalue.Check{ - names.AttrARN: tfknownvalue.RegionalARNThirdRegionExact("dynamodb", "table/"+rName), - "consistency_mode": knownvalue.StringExact("EVENTUAL"), - names.AttrKMSKeyARN: knownvalue.StringExact(""), - "point_in_time_recovery": knownvalue.Bool(false), - names.AttrPropagateTags: knownvalue.Bool(false), - "region_name": knownvalue.StringExact(acctest.ThirdRegion()), - names.AttrStreamARN: tfknownvalue.RegionalARNThirdRegionRegexp("dynamodb", regexache.MustCompile(`table/`+rName+`/stream/`+streamLabelRegex)), - "stream_label": knownvalue.StringRegexp(regexache.MustCompile(`^` + streamLabelRegex + `$`)), + names.AttrARN: tfknownvalue.RegionalARNThirdRegionExact("dynamodb", "table/"+rName), + "consistency_mode": knownvalue.StringExact("EVENTUAL"), + "deletion_protection_enabled": knownvalue.Bool(false), + names.AttrKMSKeyARN: knownvalue.StringExact(""), + "point_in_time_recovery": knownvalue.Bool(false), + names.AttrPropagateTags: knownvalue.Bool(false), + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + names.AttrStreamARN: tfknownvalue.RegionalARNThirdRegionRegexp("dynamodb", regexache.MustCompile(`table/`+rName+`/stream/`+streamLabelRegex)), + "stream_label": knownvalue.StringRegexp(regexache.MustCompile(`^` + streamLabelRegex + `$`)), }), })), }, @@ -2079,24 +2081,26 @@ func TestAccDynamoDBTable_Replica_multiple(t *testing.T) { ConfigStateChecks: []statecheck.StateCheck{ statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ knownvalue.ObjectExact(map[string]knownvalue.Check{ - names.AttrARN: tfknownvalue.RegionalARNAlternateRegionExact("dynamodb", "table/"+rName), - "consistency_mode": knownvalue.StringExact("EVENTUAL"), - names.AttrKMSKeyARN: knownvalue.StringExact(""), - "point_in_time_recovery": knownvalue.Bool(false), - names.AttrPropagateTags: knownvalue.Bool(false), - "region_name": knownvalue.StringExact(acctest.AlternateRegion()), - names.AttrStreamARN: tfknownvalue.RegionalARNAlternateRegionRegexp("dynamodb", regexache.MustCompile(`table/`+rName+`/stream/`+streamLabelRegex)), - "stream_label": knownvalue.StringRegexp(regexache.MustCompile(`^` + streamLabelRegex + `$`)), + names.AttrARN: tfknownvalue.RegionalARNAlternateRegionExact("dynamodb", "table/"+rName), + "consistency_mode": knownvalue.StringExact("EVENTUAL"), + "deletion_protection_enabled": knownvalue.Bool(false), + names.AttrKMSKeyARN: knownvalue.StringExact(""), + "point_in_time_recovery": knownvalue.Bool(false), + names.AttrPropagateTags: knownvalue.Bool(false), + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrStreamARN: tfknownvalue.RegionalARNAlternateRegionRegexp("dynamodb", regexache.MustCompile(`table/`+rName+`/stream/`+streamLabelRegex)), + "stream_label": knownvalue.StringRegexp(regexache.MustCompile(`^` + streamLabelRegex + `$`)), }), knownvalue.ObjectExact(map[string]knownvalue.Check{ - names.AttrARN: tfknownvalue.RegionalARNThirdRegionExact("dynamodb", "table/"+rName), - "consistency_mode": knownvalue.StringExact("EVENTUAL"), - names.AttrKMSKeyARN: knownvalue.StringExact(""), - "point_in_time_recovery": knownvalue.Bool(false), - names.AttrPropagateTags: knownvalue.Bool(false), - "region_name": knownvalue.StringExact(acctest.ThirdRegion()), - names.AttrStreamARN: tfknownvalue.RegionalARNThirdRegionRegexp("dynamodb", regexache.MustCompile(`table/`+rName+`/stream/`+streamLabelRegex)), - "stream_label": knownvalue.StringRegexp(regexache.MustCompile(`^` + streamLabelRegex + `$`)), + names.AttrARN: tfknownvalue.RegionalARNThirdRegionExact("dynamodb", "table/"+rName), + "consistency_mode": knownvalue.StringExact("EVENTUAL"), + "deletion_protection_enabled": knownvalue.Bool(false), + names.AttrKMSKeyARN: knownvalue.StringExact(""), + "point_in_time_recovery": knownvalue.Bool(false), + names.AttrPropagateTags: knownvalue.Bool(false), + "region_name": knownvalue.StringExact(acctest.ThirdRegion()), + names.AttrStreamARN: tfknownvalue.RegionalARNThirdRegionRegexp("dynamodb", regexache.MustCompile(`table/`+rName+`/stream/`+streamLabelRegex)), + "stream_label": knownvalue.StringRegexp(regexache.MustCompile(`^` + streamLabelRegex + `$`)), }), })), }, @@ -2147,14 +2151,15 @@ func TestAccDynamoDBTable_Replica_single(t *testing.T) { ConfigStateChecks: []statecheck.StateCheck{ statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ knownvalue.ObjectExact(map[string]knownvalue.Check{ - names.AttrARN: tfknownvalue.RegionalARNAlternateRegionExact("dynamodb", "table/"+rName), - "consistency_mode": knownvalue.StringExact("EVENTUAL"), - names.AttrKMSKeyARN: knownvalue.StringExact(""), - "point_in_time_recovery": knownvalue.Bool(false), - names.AttrPropagateTags: knownvalue.Bool(false), - "region_name": knownvalue.StringExact(acctest.AlternateRegion()), - names.AttrStreamARN: tfknownvalue.RegionalARNAlternateRegionRegexp("dynamodb", regexache.MustCompile(`table/`+rName+`/stream/`+streamLabelRegex)), - "stream_label": knownvalue.StringRegexp(regexache.MustCompile(`^` + streamLabelRegex + `$`)), + names.AttrARN: tfknownvalue.RegionalARNAlternateRegionExact("dynamodb", "table/"+rName), + "consistency_mode": knownvalue.StringExact("EVENTUAL"), + "deletion_protection_enabled": knownvalue.Bool(false), + names.AttrKMSKeyARN: knownvalue.StringExact(""), + "point_in_time_recovery": knownvalue.Bool(false), + names.AttrPropagateTags: knownvalue.Bool(false), + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrStreamARN: tfknownvalue.RegionalARNAlternateRegionRegexp("dynamodb", regexache.MustCompile(`table/`+rName+`/stream/`+streamLabelRegex)), + "stream_label": knownvalue.StringRegexp(regexache.MustCompile(`^` + streamLabelRegex + `$`)), }), })), streamLabelExpectChangeWhenRecreated.AddStateValue(resourceName, tfjsonpath.New("replica").AtSliceIndex(0).AtMapKey("stream_label")), @@ -2193,14 +2198,15 @@ func TestAccDynamoDBTable_Replica_single(t *testing.T) { ConfigStateChecks: []statecheck.StateCheck{ statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("replica"), knownvalue.SetExact([]knownvalue.Check{ knownvalue.ObjectExact(map[string]knownvalue.Check{ - names.AttrARN: tfknownvalue.RegionalARNAlternateRegionExact("dynamodb", "table/"+rName), - "consistency_mode": knownvalue.StringExact("EVENTUAL"), - names.AttrKMSKeyARN: knownvalue.StringExact(""), - "point_in_time_recovery": knownvalue.Bool(false), - names.AttrPropagateTags: knownvalue.Bool(false), - "region_name": knownvalue.StringExact(acctest.AlternateRegion()), - names.AttrStreamARN: tfknownvalue.RegionalARNAlternateRegionRegexp("dynamodb", regexache.MustCompile(`table/`+rName+`/stream/`+streamLabelRegex)), - "stream_label": knownvalue.StringRegexp(regexache.MustCompile(`^` + streamLabelRegex + `$`)), + names.AttrARN: tfknownvalue.RegionalARNAlternateRegionExact("dynamodb", "table/"+rName), + "consistency_mode": knownvalue.StringExact("EVENTUAL"), + "deletion_protection_enabled": knownvalue.Bool(false), + names.AttrKMSKeyARN: knownvalue.StringExact(""), + "point_in_time_recovery": knownvalue.Bool(false), + names.AttrPropagateTags: knownvalue.Bool(false), + "region_name": knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrStreamARN: tfknownvalue.RegionalARNAlternateRegionRegexp("dynamodb", regexache.MustCompile(`table/`+rName+`/stream/`+streamLabelRegex)), + "stream_label": knownvalue.StringRegexp(regexache.MustCompile(`^` + streamLabelRegex + `$`)), }), })), streamLabelExpectChangeWhenRecreated.AddStateValue(resourceName, tfjsonpath.New("replica").AtSliceIndex(0).AtMapKey("stream_label")), From 123366d6f584f617e4587a2301bb60089f2dbabb Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Thu, 7 Aug 2025 15:51:12 -0500 Subject: [PATCH 0696/1301] cleanup --- .../service/servicequotas/service_quota.go | 31 +------------------ 1 file changed, 1 insertion(+), 30 deletions(-) diff --git a/internal/service/servicequotas/service_quota.go b/internal/service/servicequotas/service_quota.go index fccd6ddc9c5c..eb7656f0c4ec 100644 --- a/internal/service/servicequotas/service_quota.go +++ b/internal/service/servicequotas/service_quota.go @@ -135,35 +135,6 @@ func resourceServiceQuota() *schema.Resource { Required: true, }, }, - //CustomizeDiff: func(ctx context.Context, diff *schema.ResourceDiff, meta any) error { - // conn := meta.(*conns.AWSClient).ServiceQuotasClient(ctx) - // - // serviceCode, quotaCode := diff.Get("service_code").(string), diff.Get("quota_code").(string) - // - // // A Service Quota will always have a default value, but will only have a current value if it has been set. - // defaultQuota, err := findDefaultServiceQuotaByServiceCodeAndQuotaCode(ctx, conn, serviceCode, quotaCode) - // if err != nil { - // return err - // } - // - // quotaValue := aws.ToFloat64(defaultQuota.Value) - // - // serviceQuota, err := findServiceQuotaByServiceCodeAndQuotaCode(ctx, conn, serviceCode, quotaCode) - // switch { - // case tfresource.NotFound(err): - // case err != nil: - // return err - // default: - // quotaValue = aws.ToFloat64(serviceQuota.Value) - // } - // - // value := diff.Get(names.AttrValue).(float64) - // if value <= quotaValue { - // return fmt.Errorf(`"value" (%f) should be greater than the default or current value (%f) for Service Quota (%s/%s)`, value, quotaValue, serviceCode, quotaCode) - // } - // - // return nil - //}, } } @@ -173,7 +144,7 @@ func resourceServiceQuotaCreate(ctx context.Context, d *schema.ResourceData, met serviceCode, quotaCode := d.Get("service_code").(string), d.Get("quota_code").(string) - //// A Service Quota will always have a default value, but will only have a current value if it has been set. + // A Service Quota will always have a default value, but will only have a current value if it has been set. defaultQuota, err := findDefaultServiceQuotaByServiceCodeAndQuotaCode(ctx, conn, serviceCode, quotaCode) if err != nil { return sdkdiag.AppendErrorf(diags, "reading Service Quotas default Service Quota (%s/%s): %s", serviceCode, quotaCode, err) From 3fe4708d31248e4c7f7566bcd2a81b9a5ae3e6b6 Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Thu, 7 Aug 2025 15:57:11 -0500 Subject: [PATCH 0697/1301] tweak CHANGELOG entry to specify create operation --- .changelog/43545.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changelog/43545.txt b/.changelog/43545.txt index 936c9e2fde00..793936ca0427 100644 --- a/.changelog/43545.txt +++ b/.changelog/43545.txt @@ -1,3 +1,3 @@ ```release-note:bug -resource/aws_servicequotas_service_quota: Add validation to check if new value is less than current value of quota. +resource/aws_servicequotas_service_quota: Add validation, during `create`, to check if new value is less than current value of quota ``` From 9e071874763963d8a903d74f8bff3bbc0ed75c46 Mon Sep 17 00:00:00 2001 From: Ryotaro Oda Date: Fri, 8 Aug 2025 14:30:52 +0900 Subject: [PATCH 0698/1301] fix: find pattern --- internal/service/s3tables/table.go | 90 +++++++++++++++++++----------- 1 file changed, 57 insertions(+), 33 deletions(-) diff --git a/internal/service/s3tables/table.go b/internal/service/s3tables/table.go index d0eb32add6fe..b8b1cb7af580 100644 --- a/internal/service/s3tables/table.go +++ b/internal/service/s3tables/table.go @@ -346,23 +346,23 @@ func (r *tableResource) Create(ctx context.Context, req resource.CreateRequest, } plan.Namespace = types.StringValue(table.Namespace[0]) - awsMaintenanceConfig, err := conn.GetTableMaintenanceConfiguration(ctx, &s3tables.GetTableMaintenanceConfigurationInput{ - Name: plan.Name.ValueStringPointer(), - Namespace: plan.Namespace.ValueStringPointer(), - TableBucketARN: plan.TableBucketARN.ValueStringPointer(), - }) - if err != nil { + awsMaintenanceConfig, err := findTableMaintenanceConfiguration(ctx, conn, plan.Name.ValueString(), plan.Namespace.ValueString(), plan.TableBucketARN.ValueString()) + switch { + case tfresource.NotFound(err): + case err != nil: resp.Diagnostics.AddError( create.ProblemStandardMessage(names.S3Tables, create.ErrActionCreating, resNameTableBucket, plan.Name.String(), err), err.Error(), ) - } - maintenanceConfiguration, d := flattenTableMaintenanceConfiguration(ctx, awsMaintenanceConfig) - resp.Diagnostics.Append(d...) - if resp.Diagnostics.HasError() { return + default: + maintenanceConfiguration, d := flattenTableMaintenanceConfiguration(ctx, awsMaintenanceConfig) + resp.Diagnostics.Append(d...) + if resp.Diagnostics.HasError() { + return + } + plan.MaintenanceConfiguration = maintenanceConfiguration } - plan.MaintenanceConfiguration = maintenanceConfiguration awsEncryptionConfig, err := conn.GetTableEncryption(ctx, &s3tables.GetTableEncryptionInput{ Name: plan.Name.ValueStringPointer(), @@ -382,6 +382,7 @@ func (r *tableResource) Create(ctx context.Context, req resource.CreateRequest, if resp.Diagnostics.HasError() { return } + var d diag.Diagnostics plan.EncryptionConfiguration, d = fwtypes.NewObjectValueOf(ctx, &encryptionConfiguration) resp.Diagnostics.Append(d...) if resp.Diagnostics.HasError() { @@ -420,23 +421,23 @@ func (r *tableResource) Read(ctx context.Context, req resource.ReadRequest, resp } state.Namespace = types.StringValue(out.Namespace[0]) - awsMaintenanceConfig, err := conn.GetTableMaintenanceConfiguration(ctx, &s3tables.GetTableMaintenanceConfigurationInput{ - Name: state.Name.ValueStringPointer(), - Namespace: state.Namespace.ValueStringPointer(), - TableBucketARN: state.TableBucketARN.ValueStringPointer(), - }) - if err != nil { + awsMaintenanceConfig, err := findTableMaintenanceConfiguration(ctx, conn, state.Name.ValueString(), state.Namespace.ValueString(), state.TableBucketARN.ValueString()) + switch { + case tfresource.NotFound(err): + case err != nil: resp.Diagnostics.AddError( create.ProblemStandardMessage(names.S3Tables, create.ErrActionReading, resNameTableBucket, state.Name.String(), err), err.Error(), ) - } - maintenanceConfiguration, d := flattenTableMaintenanceConfiguration(ctx, awsMaintenanceConfig) - resp.Diagnostics.Append(d...) - if resp.Diagnostics.HasError() { return + default: + maintenanceConfiguration, d := flattenTableMaintenanceConfiguration(ctx, awsMaintenanceConfig) + resp.Diagnostics.Append(d...) + if resp.Diagnostics.HasError() { + return + } + state.MaintenanceConfiguration = maintenanceConfiguration } - state.MaintenanceConfiguration = maintenanceConfiguration awsEncryptionConfig, err := conn.GetTableEncryption(ctx, &s3tables.GetTableEncryptionInput{ Name: state.Name.ValueStringPointer(), @@ -456,6 +457,7 @@ func (r *tableResource) Read(ctx context.Context, req resource.ReadRequest, resp if resp.Diagnostics.HasError() { return } + var d diag.Diagnostics state.EncryptionConfiguration, d = fwtypes.NewObjectValueOf(ctx, &encryptionConfiguration) resp.Diagnostics.Append(d...) if resp.Diagnostics.HasError() { @@ -579,23 +581,23 @@ func (r *tableResource) Update(ctx context.Context, req resource.UpdateRequest, } plan.Namespace = types.StringValue(table.Namespace[0]) - awsMaintenanceConfig, err := conn.GetTableMaintenanceConfiguration(ctx, &s3tables.GetTableMaintenanceConfigurationInput{ - Name: plan.Name.ValueStringPointer(), - Namespace: plan.Namespace.ValueStringPointer(), - TableBucketARN: plan.TableBucketARN.ValueStringPointer(), - }) - if err != nil { + awsMaintenanceConfig, err := findTableMaintenanceConfiguration(ctx, conn, plan.Name.ValueString(), plan.Namespace.ValueString(), plan.TableBucketARN.ValueString()) + switch { + case tfresource.NotFound(err): + case err != nil: resp.Diagnostics.AddError( create.ProblemStandardMessage(names.S3Tables, create.ErrActionUpdating, resNameTableBucket, plan.Name.String(), err), err.Error(), ) - } - maintenanceConfiguration, d := flattenTableMaintenanceConfiguration(ctx, awsMaintenanceConfig) - resp.Diagnostics.Append(d...) - if resp.Diagnostics.HasError() { return + default: + maintenanceConfiguration, d := flattenTableMaintenanceConfiguration(ctx, awsMaintenanceConfig) + resp.Diagnostics.Append(d...) + if resp.Diagnostics.HasError() { + return + } + plan.MaintenanceConfiguration = maintenanceConfiguration } - plan.MaintenanceConfiguration = maintenanceConfiguration resp.Diagnostics.Append(resp.State.Set(ctx, &plan)...) } @@ -982,3 +984,25 @@ func (m tableMetadataModel) Expand(ctx context.Context) (out any, diags diag.Dia return out, diags } + +func findTableMaintenanceConfiguration(ctx context.Context, conn *s3tables.Client, name, namespace, tableBucketARN string) (*s3tables.GetTableMaintenanceConfigurationOutput, error) { + in := s3tables.GetTableMaintenanceConfigurationInput{ + Name: aws.String(name), + Namespace: aws.String(namespace), + TableBucketARN: aws.String(tableBucketARN), + } + + out, err := conn.GetTableMaintenanceConfiguration(ctx, &in) + if err != nil { + if errs.IsA[*awstypes.NotFoundException](err) { + return nil, &retry.NotFoundError{ + LastError: err, + LastRequest: in, + } + } + + return nil, err + } + + return out, nil +} From bff62a8d263ed4dd6d04d9c58e7cf34f0a29e9ca Mon Sep 17 00:00:00 2001 From: Ryotaro Oda Date: Fri, 8 Aug 2025 14:36:49 +0900 Subject: [PATCH 0699/1301] fix: changelog --- .changelog/43764.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/43764.txt diff --git a/.changelog/43764.txt b/.changelog/43764.txt new file mode 100644 index 000000000000..0ecddc5db22d --- /dev/null +++ b/.changelog/43764.txt @@ -0,0 +1,3 @@ +```release-note:bug +resource/aws_s3tables_table: Fix crash on `maintenance_configuration` read failure +``` \ No newline at end of file From 7a18892e030f8628169bbfc85ab047dcfa034d6c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 Aug 2025 06:27:43 +0000 Subject: [PATCH 0700/1301] Bump actions/cache from 4.2.3 to 4.2.4 Bumps [actions/cache](https://github.com/actions/cache) from 4.2.3 to 4.2.4. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/5a3ec84eff668545956fd18022155c47e93e2684...0400d5f644dc74513175e3cd8d07132dd4860809) --- updated-dependencies: - dependency-name: actions/cache dependency-version: 4.2.4 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .../acctest-terraform-embedded-lint.yml | 6 ++-- .github/workflows/acctest-terraform-lint.yml | 6 ++-- .github/workflows/changelog_misspell.yml | 2 +- .github/workflows/copyright.yml | 4 +-- .github/workflows/dependencies.yml | 4 +-- .github/workflows/documentation.yml | 2 +- .github/workflows/examples.yml | 6 ++-- .github/workflows/modern_go.yml | 4 +-- .github/workflows/provider.yml | 36 +++++++++---------- .github/workflows/providerlint.yml | 4 +-- .github/workflows/pull_request_target.yml | 4 +-- .github/workflows/skaff.yml | 4 +-- .github/workflows/smarterr.yml | 4 +-- .github/workflows/snapshot.yml | 2 +- .github/workflows/website.yml | 8 ++--- 15 files changed, 48 insertions(+), 48 deletions(-) diff --git a/.github/workflows/acctest-terraform-embedded-lint.yml b/.github/workflows/acctest-terraform-embedded-lint.yml index 90943591c319..0e68dea75762 100644 --- a/.github/workflows/acctest-terraform-embedded-lint.yml +++ b/.github/workflows/acctest-terraform-embedded-lint.yml @@ -27,7 +27,7 @@ jobs: - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 with: go-version-file: go.mod - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: @@ -55,13 +55,13 @@ jobs: - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 with: go-version-file: go.mod - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: path: ~/go/pkg/mod key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }} - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 name: Cache plugin dir continue-on-error: true timeout-minutes: 2 diff --git a/.github/workflows/acctest-terraform-lint.yml b/.github/workflows/acctest-terraform-lint.yml index d8778ada55a8..9abfa30ca79c 100644 --- a/.github/workflows/acctest-terraform-lint.yml +++ b/.github/workflows/acctest-terraform-lint.yml @@ -26,7 +26,7 @@ jobs: - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 with: go-version-file: go.mod - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: @@ -45,13 +45,13 @@ jobs: - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 with: go-version-file: go.mod - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: path: ~/go/pkg/mod key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }} - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 name: Cache plugin dir continue-on-error: true timeout-minutes: 2 diff --git a/.github/workflows/changelog_misspell.yml b/.github/workflows/changelog_misspell.yml index ff66ef6219ef..d11e072cc909 100644 --- a/.github/workflows/changelog_misspell.yml +++ b/.github/workflows/changelog_misspell.yml @@ -24,7 +24,7 @@ jobs: - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 with: go-version-file: go.mod - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: diff --git a/.github/workflows/copyright.yml b/.github/workflows/copyright.yml index 3276619ccb5d..09cbd7d3ae0a 100644 --- a/.github/workflows/copyright.yml +++ b/.github/workflows/copyright.yml @@ -33,13 +33,13 @@ jobs: - name: go env run: | echo "GOCACHE=$(go env GOCACHE)" >> $GITHUB_ENV - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: path: ${{ env.GOCACHE }} key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('internal/**') }} - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: diff --git a/.github/workflows/dependencies.yml b/.github/workflows/dependencies.yml index ffc277b80b7f..9e5d8d212ac5 100644 --- a/.github/workflows/dependencies.yml +++ b/.github/workflows/dependencies.yml @@ -47,13 +47,13 @@ jobs: - name: go env run: | echo "GOCACHE=$(go env GOCACHE)" >> $GITHUB_ENV - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: path: ${{ env.GOCACHE }} key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('internal/**') }} - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 3b1a4b8a965b..175eb0ae9218 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -47,7 +47,7 @@ jobs: - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 with: go-version-file: go.mod - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml index 40af085144f1..6660d1e29b1f 100644 --- a/.github/workflows/examples.yml +++ b/.github/workflows/examples.yml @@ -27,7 +27,7 @@ jobs: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: 0 - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 with: path: ~/go/pkg/mod key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }} @@ -38,7 +38,7 @@ jobs: - name: install tflint run: cd .ci/tools && go install github.com/terraform-linters/tflint - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 name: Cache plugin dir with: path: ~/.tflint.d/plugins @@ -64,7 +64,7 @@ jobs: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: 0 - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 with: path: ~/go/pkg/mod key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }} diff --git a/.github/workflows/modern_go.yml b/.github/workflows/modern_go.yml index 52e1bda6ec34..b9129a28b385 100644 --- a/.github/workflows/modern_go.yml +++ b/.github/workflows/modern_go.yml @@ -29,13 +29,13 @@ jobs: - name: go env run: | echo "GOCACHE=$(go env GOCACHE)" >> $GITHUB_ENV - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: path: ${{ env.GOCACHE }} key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('internal/**') }} - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: diff --git a/.github/workflows/provider.yml b/.github/workflows/provider.yml index 673b56e39d0f..5ca616373f3c 100644 --- a/.github/workflows/provider.yml +++ b/.github/workflows/provider.yml @@ -41,7 +41,7 @@ jobs: - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 with: go-version-file: go.mod - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true id: cache-go-pkg-mod timeout-minutes: 2 @@ -57,7 +57,7 @@ jobs: runs-on: custom-ubuntu-22.04-medium steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true id: cache-terraform-plugin-dir timeout-minutes: 2 @@ -74,12 +74,12 @@ jobs: run: | echo "GOCACHE=$(go env GOCACHE)" >> $GITHUB_ENV - if: steps.cache-terraform-plugin-dir.outputs.cache-hit != 'true' || steps.cache-terraform-plugin-dir.outcome == 'failure' - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 with: path: ${{ env.GOCACHE }} key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('internal/**') }} - if: steps.cache-terraform-plugin-dir.outputs.cache-hit != 'true' || steps.cache-terraform-plugin-dir.outcome == 'failure' - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 with: path: ~/go/pkg/mod key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }} @@ -100,13 +100,13 @@ jobs: - name: go env run: | echo "GOCACHE=$(go env GOCACHE)" >> $GITHUB_ENV - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: path: ${{ env.GOCACHE }} key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('internal/**') }} - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: @@ -134,13 +134,13 @@ jobs: - name: go env run: | echo "GOCACHE=$(go env GOCACHE)" >> $GITHUB_ENV - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: path: ${{ env.GOCACHE }} key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('internal/**') }} - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: @@ -161,13 +161,13 @@ jobs: - name: go env run: | echo "GOCACHE=$(go env GOCACHE)" >> $GITHUB_ENV - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: path: ${{ env.GOCACHE }} key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('internal/**') }} - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: @@ -194,13 +194,13 @@ jobs: - name: go env run: | echo "GOCACHE=$(go env GOCACHE)" >> $GITHUB_ENV - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: path: ${{ env.GOCACHE }} key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('internal/**') }} - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: @@ -216,7 +216,7 @@ jobs: (echo; echo "Expected `strings` to detect sweeper function names in sweeper binary."; exit 1) # Use cached provider or rebuild - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 continue-on-error: true id: cache-terraform-plugin-dir timeout-minutes: 2 @@ -243,7 +243,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true id: cache-terraform-providers-schema timeout-minutes: 2 @@ -251,7 +251,7 @@ jobs: path: terraform-providers-schema key: ${{ runner.os }}-terraform-providers-schema-${{ hashFiles('go.sum') }}-${{ hashFiles('internal/**') }} - if: steps.cache-terraform-providers-schema.outputs.cache-hit != 'true' || steps.cache-terraform-providers-schema.outcome == 'failure' - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 timeout-minutes: 2 with: path: terraform-plugin-dir @@ -285,14 +285,14 @@ jobs: with: terraform_version: ${{ env.TERRAFORM_VERSION }} terraform_wrapper: false - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: path: ~/go/pkg/mod key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }} - run: cd .ci/tools && go install github.com/YakDriver/tfproviderdocs - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 timeout-minutes: 2 with: path: terraform-providers-schema @@ -318,7 +318,7 @@ jobs: - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 with: go-version-file: go.mod - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 3 with: diff --git a/.github/workflows/providerlint.yml b/.github/workflows/providerlint.yml index d66bd73ef3f1..c3b687765fec 100644 --- a/.github/workflows/providerlint.yml +++ b/.github/workflows/providerlint.yml @@ -29,13 +29,13 @@ jobs: go-version-file: go.mod - name: go env run: echo "GOCACHE=$(go env GOCACHE)" >> $GITHUB_ENV - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: path: ${{ env.GOCACHE }} key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('internal/**') }} - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: diff --git a/.github/workflows/pull_request_target.yml b/.github/workflows/pull_request_target.yml index a41664c49da2..122c7fca3a86 100644 --- a/.github/workflows/pull_request_target.yml +++ b/.github/workflows/pull_request_target.yml @@ -39,13 +39,13 @@ jobs: - name: go env run: | echo "GOCACHE=$(go env GOCACHE)" >> $GITHUB_ENV - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: path: ${{ env.GOCACHE }} key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('internal/**') }} - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: diff --git a/.github/workflows/skaff.yml b/.github/workflows/skaff.yml index 170d02e59d34..b71df2acb4ca 100644 --- a/.github/workflows/skaff.yml +++ b/.github/workflows/skaff.yml @@ -31,13 +31,13 @@ jobs: - name: go env run: | echo "GOCACHE=$(go env GOCACHE)" >> $GITHUB_ENV - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: path: ${{ env.GOCACHE }} key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('internal/**') }} - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: diff --git a/.github/workflows/smarterr.yml b/.github/workflows/smarterr.yml index b2aa71fd0c0a..d960b7dad7da 100644 --- a/.github/workflows/smarterr.yml +++ b/.github/workflows/smarterr.yml @@ -29,13 +29,13 @@ jobs: - name: go env run: | echo "GOCACHE=$(go env GOCACHE)" >> $GITHUB_ENV - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: path: ${{ env.GOCACHE }} key: ${{ runner.os }}-GOCACHE-${{ hashFiles('go.sum') }}-${{ hashFiles('internal/**') }} - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: diff --git a/.github/workflows/snapshot.yml b/.github/workflows/snapshot.yml index dfa9c9b3b34e..0cbfe2f3513a 100644 --- a/.github/workflows/snapshot.yml +++ b/.github/workflows/snapshot.yml @@ -13,7 +13,7 @@ jobs: - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 with: go-version-file: go.mod - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: diff --git a/.github/workflows/website.yml b/.github/workflows/website.yml index 9ac91b1e7f48..48cf5ec227a5 100644 --- a/.github/workflows/website.yml +++ b/.github/workflows/website.yml @@ -90,7 +90,7 @@ jobs: - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 with: go-version-file: .ci/tools/go.mod - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: @@ -106,7 +106,7 @@ jobs: - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 with: go-version-file: .ci/tools/go.mod - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: @@ -124,7 +124,7 @@ jobs: - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 with: go-version-file: .ci/tools/go.mod - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 continue-on-error: true timeout-minutes: 2 with: @@ -134,7 +134,7 @@ jobs: - run: cd .ci/tools && go install github.com/katbyte/terrafmt - run: cd .ci/tools && go install github.com/terraform-linters/tflint - - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3 + - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 name: Cache plugin dir with: path: ~/.tflint.d/plugins From 9382fcc0515d925ef502fd6f83fe019b1de32c8c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 Aug 2025 06:34:55 +0000 Subject: [PATCH 0701/1301] Bump golang.org/x/tools from 0.35.0 to 0.36.0 in /.ci/providerlint Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.35.0 to 0.36.0. - [Release notes](https://github.com/golang/tools/releases) - [Commits](https://github.com/golang/tools/compare/v0.35.0...v0.36.0) --- updated-dependencies: - dependency-name: golang.org/x/tools dependency-version: 0.36.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .ci/providerlint/go.mod | 12 ++++++------ .ci/providerlint/go.sum | 24 ++++++++++++------------ 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.ci/providerlint/go.mod b/.ci/providerlint/go.mod index c3e3942cb084..48f5cf993f13 100644 --- a/.ci/providerlint/go.mod +++ b/.ci/providerlint/go.mod @@ -6,7 +6,7 @@ require ( github.com/bflad/tfproviderlint v0.31.0 github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.65 github.com/hashicorp/terraform-plugin-sdk/v2 v2.37.0 - golang.org/x/tools v0.35.0 + golang.org/x/tools v0.36.0 ) require ( @@ -53,12 +53,12 @@ require ( github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect github.com/zclconf/go-cty v1.16.2 // indirect - golang.org/x/crypto v0.40.0 // indirect - golang.org/x/mod v0.26.0 // indirect - golang.org/x/net v0.42.0 // indirect + golang.org/x/crypto v0.41.0 // indirect + golang.org/x/mod v0.27.0 // indirect + golang.org/x/net v0.43.0 // indirect golang.org/x/sync v0.16.0 // indirect - golang.org/x/sys v0.34.0 // indirect - golang.org/x/text v0.27.0 // indirect + golang.org/x/sys v0.35.0 // indirect + golang.org/x/text v0.28.0 // indirect google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a // indirect google.golang.org/grpc v1.72.1 // indirect diff --git a/.ci/providerlint/go.sum b/.ci/providerlint/go.sum index 56ae586640b1..034e4403758c 100644 --- a/.ci/providerlint/go.sum +++ b/.ci/providerlint/go.sum @@ -179,18 +179,18 @@ go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM= -golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY= +golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4= +golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.26.0 h1:EGMPT//Ezu+ylkCijjPc+f4Aih7sZvaAr+O3EHBxvZg= -golang.org/x/mod v0.26.0/go.mod h1:/j6NAhSk8iQ723BGAUyoAcn7SlD7s15Dp9Nd/SfeaFQ= +golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ= +golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs= -golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8= +golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= +golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -208,22 +208,22 @@ golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA= -golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= +golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= -golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4= -golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU= +golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng= +golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200214201135-548b770e2dfa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.35.0 h1:mBffYraMEf7aa0sB+NuKnuCy8qI/9Bughn8dC2Gu5r0= -golang.org/x/tools v0.35.0/go.mod h1:NKdj5HkL/73byiZSJjqJgKn3ep7KjFkBOkR/Hps3VPw= +golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg= +golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From d234905c9100a8a7735692e01ec24f880b5c1a20 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 Aug 2025 07:17:25 +0000 Subject: [PATCH 0702/1301] Bump golang.org/x/text from 0.27.0 to 0.28.0 Bumps [golang.org/x/text](https://github.com/golang/text) from 0.27.0 to 0.28.0. - [Release notes](https://github.com/golang/text/releases) - [Commits](https://github.com/golang/text/compare/v0.27.0...v0.28.0) --- updated-dependencies: - dependency-name: golang.org/x/text dependency-version: 0.28.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a6493ad3ed9d..905ebe860756 100644 --- a/go.mod +++ b/go.mod @@ -307,7 +307,7 @@ require ( github.com/pquerna/otp v1.5.0 github.com/shopspring/decimal v1.4.0 golang.org/x/crypto v0.40.0 - golang.org/x/text v0.27.0 + golang.org/x/text v0.28.0 golang.org/x/tools v0.35.0 gopkg.in/dnaeon/go-vcr.v4 v4.0.4 gopkg.in/yaml.v3 v3.0.1 diff --git a/go.sum b/go.sum index d03c6343c8a8..508bca72f2ff 100644 --- a/go.sum +++ b/go.sum @@ -842,8 +842,8 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4= -golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU= +golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng= +golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= From d4007255e1bb24a9368ce9a3848750fd2e415f4a Mon Sep 17 00:00:00 2001 From: Renaud Hager Date: Fri, 8 Aug 2025 13:06:43 +0000 Subject: [PATCH 0703/1301] Added support for deletion protection flag for EKS cluster. --- internal/service/eks/cluster.go | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/internal/service/eks/cluster.go b/internal/service/eks/cluster.go index 8a7d28be915f..77ba79ac9440 100644 --- a/internal/service/eks/cluster.go +++ b/internal/service/eks/cluster.go @@ -176,6 +176,11 @@ func resourceCluster() *schema.Resource { ValidateDiagFunc: enum.Validate[types.LogType](), }, }, + "enable_deletion_protection": { + Type: schema.TypeBool, + Optional: true, + Default: false, + }, "encryption_config": { Type: schema.TypeList, MaxItems: 1, @@ -556,6 +561,9 @@ func resourceClusterCreate(ctx context.Context, d *schema.ResourceData, meta any if v, ok := d.GetOk("zonal_shift_config"); ok { input.ZonalShiftConfig = expandZonalShiftConfig(v.([]any)) } + if v, ok := d.GetOk("enable_deletion_protection"); ok { + input.DeletionProtection = aws.Bool(v.(bool)) + } outputRaw, err := tfresource.RetryWhen(ctx, propagationTimeout, func() (any, error) { @@ -804,6 +812,25 @@ func resourceClusterUpdate(ctx context.Context, d *schema.ResourceData, meta any } } + if d.HasChange("enable_deletion_protection") { + input := &eks.UpdateClusterConfigInput{ + Name: aws.String(d.Id()), + DeletionProtection: aws.Bool(d.Get("enable_deletion_protection").(bool)), + } + + output, err := conn.UpdateClusterConfig(ctx, input) + + if err != nil { + return sdkdiag.AppendErrorf(diags, "updating EKS Cluster (%s) deletion protection: %s", d.Id(), err) + } + + updateID := aws.ToString(output.Update.Id) + + if _, err := waitClusterUpdateSuccessful(ctx, conn, d.Id(), updateID, d.Timeout(schema.TimeoutUpdate)); err != nil { + return sdkdiag.AppendErrorf(diags, "waiting for EKS Cluster (%s) deletion proctection update (%s): %s", d.Id(), updateID, err) + } + } + if d.HasChange("upgrade_policy") { input := &eks.UpdateClusterConfigInput{ Name: aws.String(d.Id()), From 96bfbb79e07b1ed957c8c5374a9fce92cd3b1bfc Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 8 Aug 2025 10:07:10 -0400 Subject: [PATCH 0704/1301] Note additional IAM permission. --- .changelog/43753.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.changelog/43753.txt b/.changelog/43753.txt index f9939537fe9e..ba7096ffde92 100644 --- a/.changelog/43753.txt +++ b/.changelog/43753.txt @@ -1,7 +1,7 @@ ```release-note:bug -resource/aws_lambda_function: Fix missing value for `reserved_concurrent_executions` attribute when a published version exists +resource/aws_lambda_function: Fix missing value for `reserved_concurrent_executions` attribute when a published version exists. This functionality requires the `lambda:GetFunctionConcurrency` IAM permission ``` ```release-note:bug -data-source/aws_lambda_function: Fix missing value for `reserved_concurrent_executions` attribute when a published version exists +data-source/aws_lambda_function: Fix missing value for `reserved_concurrent_executions` attribute when a published version exists. This functionality requires the `lambda:GetFunctionConcurrency` IAM permission ``` From 828304e20db3bcb67454609930a4eb73ce0451d2 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 8 Aug 2025 10:09:58 -0400 Subject: [PATCH 0705/1301] Add 'findFunctionConcurrencyByName'. --- internal/service/lambda/function.go | 66 +++++++++++++------ .../service/lambda/function_data_source.go | 14 ++++ 2 files changed, 61 insertions(+), 19 deletions(-) diff --git a/internal/service/lambda/function.go b/internal/service/lambda/function.go index f6050c8081f4..284bd0aa2b88 100644 --- a/internal/service/lambda/function.go +++ b/internal/service/lambda/function.go @@ -645,6 +645,20 @@ func resourceFunctionRead(ctx context.Context, d *schema.ResourceData, meta any) return sdkdiag.AppendErrorf(diags, "reading Lambda Function (%s): %s", d.Id(), err) } + // If Qualifier is specified, GetFunction will return nil for Concurrency. + // Need to fetch it separately using GetFunctionConcurrency. + if output.Concurrency == nil && input.Qualifier != nil { + outputGFC, err := findFunctionConcurrencyByName(ctx, conn, d.Id()) + + if err != nil { + return sdkdiag.AppendErrorf(diags, "reading Lambda Function (%s) concurrency: %s", d.Id(), err) + } + + output.Concurrency = &awstypes.Concurrency{ + ReservedConcurrentExecutions: outputGFC.ReservedConcurrentExecutions, + } + } + function := output.Configuration d.Set("architectures", function.Architectures) functionARN := aws.ToString(function.FunctionArn) @@ -1079,11 +1093,11 @@ func resourceFunctionDelete(ctx context.Context, d *schema.ResourceData, meta an } func findFunctionByName(ctx context.Context, conn *lambda.Client, name string) (*lambda.GetFunctionOutput, error) { - input := &lambda.GetFunctionInput{ + input := lambda.GetFunctionInput{ FunctionName: aws.String(name), } - return findFunction(ctx, conn, input) + return findFunction(ctx, conn, &input) } func findFunction(ctx context.Context, conn *lambda.Client, input *lambda.GetFunctionInput) (*lambda.GetFunctionOutput, error) { @@ -1104,21 +1118,6 @@ func findFunction(ctx context.Context, conn *lambda.Client, input *lambda.GetFun return nil, tfresource.NewEmptyResultError(input) } - // If Qualifier is specified, GetFunction will return nil for Concurrency. - // Need to fetch it separately using GetFunctionConcurrency. - if output.Concurrency == nil && input.Qualifier != nil { - input := lambda.GetFunctionConcurrencyInput{ - FunctionName: aws.String(aws.ToString(input.FunctionName)), - } - concurrencyOutput, err := conn.GetFunctionConcurrency(ctx, &input) - if err != nil { - return nil, err - } - output.Concurrency = &awstypes.Concurrency{ - ReservedConcurrentExecutions: concurrencyOutput.ReservedConcurrentExecutions, - } - } - return output, nil } @@ -1155,13 +1154,13 @@ func findFunctionConfiguration(ctx context.Context, conn *lambda.Client, input * } func findLatestFunctionVersionByName(ctx context.Context, conn *lambda.Client, name string) (*awstypes.FunctionConfiguration, error) { - input := &lambda.ListVersionsByFunctionInput{ + input := lambda.ListVersionsByFunctionInput{ FunctionName: aws.String(name), MaxItems: aws.Int32(listVersionsMaxItems), } var output *awstypes.FunctionConfiguration - pages := lambda.NewListVersionsByFunctionPaginator(conn, input) + pages := lambda.NewListVersionsByFunctionPaginator(conn, &input) for pages.HasMorePages() { page, err := pages.NextPage(ctx) @@ -1182,6 +1181,35 @@ func findLatestFunctionVersionByName(ctx context.Context, conn *lambda.Client, n return output, nil } +func findFunctionConcurrencyByName(ctx context.Context, conn *lambda.Client, name string) (*lambda.GetFunctionConcurrencyOutput, error) { + input := lambda.GetFunctionConcurrencyInput{ + FunctionName: aws.String(name), + } + + return findFunctionConcurrency(ctx, conn, &input) +} + +func findFunctionConcurrency(ctx context.Context, conn *lambda.Client, input *lambda.GetFunctionConcurrencyInput) (*lambda.GetFunctionConcurrencyOutput, error) { + output, err := conn.GetFunctionConcurrency(ctx, input) + + if errs.IsA[*awstypes.ResourceNotFoundException](err) { + return nil, &retry.NotFoundError{ + LastError: err, + LastRequest: input, + } + } + + if err != nil { + return nil, err + } + + if output == nil { + return nil, tfresource.NewEmptyResultError(input) + } + + return output, nil +} + // replaceSecurityGroupsOnDestroy sets the VPC configuration security groups // prior to resource destruction // diff --git a/internal/service/lambda/function_data_source.go b/internal/service/lambda/function_data_source.go index faf8e3152859..f46d08b550a5 100644 --- a/internal/service/lambda/function_data_source.go +++ b/internal/service/lambda/function_data_source.go @@ -282,6 +282,20 @@ func dataSourceFunctionRead(ctx context.Context, d *schema.ResourceData, meta an return sdkdiag.AppendErrorf(diags, "reading Lambda Function (%s): %s", functionName, err) } + // If Qualifier is specified, GetFunction will return nil for Concurrency. + // Need to fetch it separately using GetFunctionConcurrency. + if output.Concurrency == nil && input.Qualifier != nil { + outputGFC, err := findFunctionConcurrencyByName(ctx, conn, functionName) + + if err != nil { + return sdkdiag.AppendErrorf(diags, "reading Lambda Function (%s) concurrency: %s", functionName, err) + } + + output.Concurrency = &awstypes.Concurrency{ + ReservedConcurrentExecutions: outputGFC.ReservedConcurrentExecutions, + } + } + function := output.Configuration functionARN := aws.ToString(function.FunctionArn) qualifierSuffix := fmt.Sprintf(":%s", aws.ToString(input.Qualifier)) From f00aab965e83fedd41a95c857659a414595c13fe Mon Sep 17 00:00:00 2001 From: Renaud Hager Date: Fri, 8 Aug 2025 14:57:38 +0000 Subject: [PATCH 0706/1301] Added acceptance test. --- internal/service/eks/cluster_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/service/eks/cluster_test.go b/internal/service/eks/cluster_test.go index 13b2310e8bba..edc2c080430d 100644 --- a/internal/service/eks/cluster_test.go +++ b/internal/service/eks/cluster_test.go @@ -60,6 +60,7 @@ func TestAccEKSCluster_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "compute_config.#", "0"), acctest.CheckResourceAttrRFC3339(resourceName, names.AttrCreatedAt), resource.TestCheckResourceAttr(resourceName, "enabled_cluster_log_types.#", "0"), + resource.TestCheckResourceAttr(resourceName, "enable_deletion_protection", acctest.CtFalse), resource.TestCheckResourceAttr(resourceName, "encryption_config.#", "0"), resource.TestMatchResourceAttr(resourceName, names.AttrEndpoint, regexache.MustCompile(`^https://`)), resource.TestCheckResourceAttr(resourceName, "identity.#", "1"), From 0ea301aab6f67ac54524b9244233462889e7e91d Mon Sep 17 00:00:00 2001 From: Renaud Hager Date: Fri, 8 Aug 2025 15:21:10 +0000 Subject: [PATCH 0707/1301] Added changelog entry. --- .changelog/43752.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/43752.txt diff --git a/.changelog/43752.txt b/.changelog/43752.txt new file mode 100644 index 000000000000..87509ee79ae0 --- /dev/null +++ b/.changelog/43752.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/aws_eks_cluster: Add deletion_protection support +``` \ No newline at end of file From e096c007741665c6f6268e64ecd1c1a60fcb63ea Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 8 Aug 2025 11:57:28 -0400 Subject: [PATCH 0708/1301] Tweak CHANGELOG entry. --- .changelog/33624.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changelog/33624.txt b/.changelog/33624.txt index 5189cc9403ef..c5bcbfe2633a 100644 --- a/.changelog/33624.txt +++ b/.changelog/33624.txt @@ -1,3 +1,3 @@ ```release-note:bug -resource/aws_cognito_risk_configuration: fix to make the notify setting optional. +resource/aws_cognito_risk_configuration: Make `account_takeover_risk_configuration.notify_configuration` optional ``` From 2bd1e0d59dbbbd8d03a8718c66b93ef373d9b203 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 8 Aug 2025 11:58:45 -0400 Subject: [PATCH 0709/1301] r/aws_cognito_risk_configuration: 'account_takeover_risk_configuration.notify_configuration.source_arn' is required. --- .../service/cognitoidp/risk_configuration.go | 6 +++--- .../cognitoidp/risk_configuration_test.go | 20 +------------------ 2 files changed, 4 insertions(+), 22 deletions(-) diff --git a/internal/service/cognitoidp/risk_configuration.go b/internal/service/cognitoidp/risk_configuration.go index 94e95a242c20..e546ef12e0f5 100644 --- a/internal/service/cognitoidp/risk_configuration.go +++ b/internal/service/cognitoidp/risk_configuration.go @@ -201,7 +201,7 @@ func resourceRiskConfiguration() *schema.Resource { }, "source_arn": { Type: schema.TypeString, - Optional: true, + Required: true, ValidateFunc: verify.ValidARN, }, }, @@ -580,7 +580,7 @@ func flattenAccountTakeoverRiskConfigurationType(apiObject *awstypes.AccountTake } if v := apiObject.NotifyConfiguration; v != nil { - tfMap["notify_configuration"] = flattemNotifyConfigurationType(v) + tfMap["notify_configuration"] = flattenNotifyConfigurationType(v) } return []any{tfMap} @@ -698,7 +698,7 @@ func expandNotifyConfigurationType(tfList []any) *awstypes.NotifyConfigurationTy return apiObject } -func flattemNotifyConfigurationType(apiObject *awstypes.NotifyConfigurationType) []any { +func flattenNotifyConfigurationType(apiObject *awstypes.NotifyConfigurationType) []any { if apiObject == nil { return nil } diff --git a/internal/service/cognitoidp/risk_configuration_test.go b/internal/service/cognitoidp/risk_configuration_test.go index 64a102365107..2c89b07b1ab2 100644 --- a/internal/service/cognitoidp/risk_configuration_test.go +++ b/internal/service/cognitoidp/risk_configuration_test.go @@ -143,7 +143,7 @@ func TestAccCognitoIDPRiskConfiguration_takeover_without_notification(t *testing resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { acctest.PreCheck(ctx, t); testAccPreCheckIdentityProvider(ctx, t) }, - ErrorCheck: acctest.ErrorCheck(t, cognitoidentityprovider.EndpointsID), + ErrorCheck: acctest.ErrorCheck(t, names.CognitoIDPServiceID), ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, CheckDestroy: testAccCheckRiskConfigurationDestroy(ctx), Steps: []resource.TestStep{ @@ -151,24 +151,6 @@ func TestAccCognitoIDPRiskConfiguration_takeover_without_notification(t *testing Config: testAccRiskConfigurationConfig_takeover_without_notification(rName), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckRiskConfigurationExists(ctx, resourceName), - /* - resource "aws_cognito_risk_configuration" "test" { - user_pool_id = aws_cognito_user_pool.test.id - - account_takeover_risk_configuration { - actions { - medium_action { - event_action = "MFA_REQUIRED" - notify = false - } - high_action { - event_action = "BLOCK" - notify = false - } - } - } - } - */ resource.TestCheckResourceAttrPair(resourceName, "user_pool_id", "aws_cognito_user_pool.test", "id"), resource.TestCheckResourceAttr(resourceName, "account_takeover_risk_configuration.#", "1"), resource.TestCheckResourceAttr(resourceName, "account_takeover_risk_configuration.0.actions.#", "1"), From b19e37e7143291c5fc1d874a0d36532b7787f41f Mon Sep 17 00:00:00 2001 From: tabito Date: Sat, 9 Aug 2025 02:41:19 +0900 Subject: [PATCH 0710/1301] add INBOUND_DELEGATION as a valid value for direction --- website/docs/r/route53_resolver_endpoint.html.markdown | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/website/docs/r/route53_resolver_endpoint.html.markdown b/website/docs/r/route53_resolver_endpoint.html.markdown index 751add9f6f38..df302b87f679 100644 --- a/website/docs/r/route53_resolver_endpoint.html.markdown +++ b/website/docs/r/route53_resolver_endpoint.html.markdown @@ -46,8 +46,7 @@ This resource supports the following arguments: * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `direction` - (Required) Direction of DNS queries to or from the Route 53 Resolver endpoint. -Valid values are `INBOUND` (resolver forwards DNS queries to the DNS service for a VPC from your network or another VPC) -or `OUTBOUND` (resolver forwards DNS queries from the DNS service for a VPC to your network or another VPC). +Valid values are `INBOUND` (resolver forwards DNS queries to the DNS service for a VPC from your network or another VPC), `OUTBOUND` (resolver forwards DNS queries from the DNS service for a VPC to your network or another VPC) or `INBOUND_DELEGATION` (resolver delegates queries to Route 53 private hosted zones from your network). * `ip_address` - (Required) Subnets and IP addresses in your VPC that you want DNS queries to pass through on the way from your VPCs to your network (for outbound endpoints) or on the way from your network to your VPCs (for inbound endpoints). Described below. * `name` - (Optional) Friendly name of the Route 53 Resolver endpoint. From 5ffabe8587e3539cbe97d3e9d464813936da5135 Mon Sep 17 00:00:00 2001 From: tabito Date: Sat, 9 Aug 2025 02:41:55 +0900 Subject: [PATCH 0711/1301] add an acctest to confirm that INBOUND_DELEGATION is supported --- .../service/route53resolver/endpoint_test.go | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/internal/service/route53resolver/endpoint_test.go b/internal/service/route53resolver/endpoint_test.go index fdbdd9a051b5..3222b19a4049 100644 --- a/internal/service/route53resolver/endpoint_test.go +++ b/internal/service/route53resolver/endpoint_test.go @@ -203,6 +203,37 @@ func TestAccRoute53ResolverEndpoint_updateOutbound(t *testing.T) { }) } +func TestAccRoute53ResolverEndpoint_directionInboundDelegation(t *testing.T) { + ctx := acctest.Context(t) + var ep awstypes.ResolverEndpoint + resourceName := "aws_route53_resolver_endpoint.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t); testAccPreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.Route53ResolverServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckEndpointDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccEndpointConfig_directionInboundDelegation(rName), + Check: resource.ComposeTestCheckFunc( + testAccCheckEndpointExists(ctx, resourceName, &ep), + resource.TestCheckResourceAttr(resourceName, "direction", "INBOUND_DELEGATION"), + resource.TestCheckResourceAttr(resourceName, "ip_address.#", "3"), + resource.TestCheckResourceAttr(resourceName, "resolver_endpoint_type", "IPV4"), + resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + func TestAccRoute53ResolverEndpoint_resolverEndpointType(t *testing.T) { ctx := acctest.Context(t) var ep awstypes.ResolverEndpoint @@ -533,6 +564,31 @@ resource "aws_route53_resolver_endpoint" "test" { `, name)) } +func testAccEndpointConfig_directionInboundDelegation(rName string) string { + return acctest.ConfigCompose(testAccEndpointConfig_base(rName), fmt.Sprintf(` +resource "aws_route53_resolver_endpoint" "test" { + direction = "INBOUND_DELEGATION" + name = %[1]q + + resolver_endpoint_type = "IPV4" + + security_group_ids = aws_security_group.test[*].id + + ip_address { + subnet_id = aws_subnet.test[0].id + } + + ip_address { + subnet_id = aws_subnet.test[1].id + } + + ip_address { + subnet_id = aws_subnet.test[2].id + } +} +`, rName)) +} + func testAccEndpointConfig_resolverEndpointType(rName, resolverEndpointType string) string { return acctest.ConfigCompose(acctest.ConfigAvailableAZsNoOptIn(), fmt.Sprintf(` resource "aws_vpc" "test" { From 75527eac54b41b33088f3ea95dd74aea735f2d53 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 8 Aug 2025 13:42:13 -0400 Subject: [PATCH 0712/1301] Run 'make fix-constants PKG=cognitoidp'. --- internal/service/cognitoidp/risk_configuration_test.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/service/cognitoidp/risk_configuration_test.go b/internal/service/cognitoidp/risk_configuration_test.go index 2c89b07b1ab2..0714ff614ecd 100644 --- a/internal/service/cognitoidp/risk_configuration_test.go +++ b/internal/service/cognitoidp/risk_configuration_test.go @@ -151,15 +151,15 @@ func TestAccCognitoIDPRiskConfiguration_takeover_without_notification(t *testing Config: testAccRiskConfigurationConfig_takeover_without_notification(rName), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckRiskConfigurationExists(ctx, resourceName), - resource.TestCheckResourceAttrPair(resourceName, "user_pool_id", "aws_cognito_user_pool.test", "id"), + resource.TestCheckResourceAttrPair(resourceName, names.AttrUserPoolID, "aws_cognito_user_pool.test", names.AttrID), resource.TestCheckResourceAttr(resourceName, "account_takeover_risk_configuration.#", "1"), resource.TestCheckResourceAttr(resourceName, "account_takeover_risk_configuration.0.actions.#", "1"), resource.TestCheckResourceAttr(resourceName, "account_takeover_risk_configuration.0.actions.0.medium_action.#", "1"), resource.TestCheckResourceAttr(resourceName, "account_takeover_risk_configuration.0.actions.0.medium_action.0.event_action", "MFA_REQUIRED"), - resource.TestCheckResourceAttr(resourceName, "account_takeover_risk_configuration.0.actions.0.medium_action.0.notify", "false"), + resource.TestCheckResourceAttr(resourceName, "account_takeover_risk_configuration.0.actions.0.medium_action.0.notify", acctest.CtFalse), resource.TestCheckResourceAttr(resourceName, "account_takeover_risk_configuration.0.actions.0.high_action.#", "1"), resource.TestCheckResourceAttr(resourceName, "account_takeover_risk_configuration.0.actions.0.high_action.0.event_action", "BLOCK"), - resource.TestCheckResourceAttr(resourceName, "account_takeover_risk_configuration.0.actions.0.high_action.0.notify", "false"), + resource.TestCheckResourceAttr(resourceName, "account_takeover_risk_configuration.0.actions.0.high_action.0.notify", acctest.CtFalse), resource.TestCheckResourceAttr(resourceName, "compromised_credentials_risk_configuration.#", "0"), resource.TestCheckResourceAttr(resourceName, "risk_exception_configuration.#", "0"), ), From cacd7bd2ca8beb7f8a8d1cb07dd0286a860e2328 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 8 Aug 2025 13:43:37 -0400 Subject: [PATCH 0713/1301] Fix terrafmt errors. --- internal/service/cognitoidp/risk_configuration_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/cognitoidp/risk_configuration_test.go b/internal/service/cognitoidp/risk_configuration_test.go index 0714ff614ecd..648b322eae6c 100644 --- a/internal/service/cognitoidp/risk_configuration_test.go +++ b/internal/service/cognitoidp/risk_configuration_test.go @@ -451,11 +451,11 @@ resource "aws_cognito_risk_configuration" "test" { actions { medium_action { event_action = "MFA_REQUIRED" - notify = false + notify = false } high_action { event_action = "BLOCK" - notify = false + notify = false } } } From 48fb0bf6f659325ccbaf69be9c9c23b352aaf36c Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Thu, 7 Aug 2025 16:38:55 -0700 Subject: [PATCH 0714/1301] Takes `awsClient` instead of `*conns.AWSClient` --- internal/provider/framework/intercept.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/provider/framework/intercept.go b/internal/provider/framework/intercept.go index b741d95f63d3..251f0cd9a265 100644 --- a/internal/provider/framework/intercept.go +++ b/internal/provider/framework/intercept.go @@ -322,7 +322,7 @@ type interceptedResponse interface { } // interceptedHandler returns a handler that runs any interceptors. -func interceptedHandler[Request interceptedRequest, Response interceptedResponse](interceptors []interceptorFunc[Request, Response], f func(context.Context, *Request, *Response) diag.Diagnostics, c *conns.AWSClient) func(context.Context, *Request, *Response) diag.Diagnostics { +func interceptedHandler[Request interceptedRequest, Response interceptedResponse](interceptors []interceptorFunc[Request, Response], f func(context.Context, *Request, *Response) diag.Diagnostics, c awsClient) func(context.Context, *Request, *Response) diag.Diagnostics { return func(ctx context.Context, request *Request, response *Response) diag.Diagnostics { var diags diag.Diagnostics // Before interceptors are run first to last. From 26d475b008dc4e1c63cfea16781b3b00129d67fd Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Thu, 7 Aug 2025 16:42:24 -0700 Subject: [PATCH 0715/1301] Adds tests for short circuiting when Before handler has error --- internal/provider/framework/intercept_test.go | 184 ++++++++++++++++++ 1 file changed, 184 insertions(+) create mode 100644 internal/provider/framework/intercept_test.go diff --git a/internal/provider/framework/intercept_test.go b/internal/provider/framework/intercept_test.go new file mode 100644 index 000000000000..99ab5defd149 --- /dev/null +++ b/internal/provider/framework/intercept_test.go @@ -0,0 +1,184 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package framework + +import ( + "context" + "slices" + "testing" + + "github.com/google/go-cmp/cmp" + "github.com/hashicorp/terraform-plugin-framework/diag" + "github.com/hashicorp/terraform-plugin-framework/resource" +) + +func TestInterceptedHandler_Diags_FirstHasBeforeError(t *testing.T) { + expectedDiags := diag.Diagnostics{ + diag.NewErrorDiagnostic("First interceptor Before error", "An error occurred in the first interceptor Before handler"), + } + + first := newMockInterceptor(map[when]diag.Diagnostics{ + Before: { + diag.NewErrorDiagnostic("First interceptor Before error", "An error occurred in the first interceptor Before handler"), + }, + }) + second := newMockInterceptor(map[when]diag.Diagnostics{}) + interceptors := []interceptorFunc[resource.SchemaRequest, resource.SchemaResponse]{ + first.Intercept, + second.Intercept, + } + + client := mockClient{ + accountID: "123456789012", + region: "us-west-2", //lintignore:AWSAT003 + } + + var f mockInnerFunc + handler := interceptedHandler(interceptors, f.Call, client) + + ctx := t.Context() + var request resource.SchemaRequest + var response resource.SchemaResponse + + // interceptedHandler is always called like this + response.Diagnostics.Append(handler(ctx, &request, &response)...) + + if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { + t.Errorf("unexpected diagnostics difference: %s", diff) + } + + if !slices.Equal(first.called, []when{Before}) { + t.Errorf("expected first interceptor to be called once, got %v", first.called) + } + if !slices.Equal(second.called, []when{}) { + t.Errorf("expected second interceptor to not be called, got %v", second.called) + } + if f.count != 0 { + t.Errorf("expected inner function to not be called, got %d", f.count) + } +} + +func TestInterceptedHandler_Diags_SecondHasBeforeError(t *testing.T) { + expectedDiags := diag.Diagnostics{ + diag.NewErrorDiagnostic("Second interceptor Before error", "An error occurred in the second interceptor Before handler"), + } + + first := newMockInterceptor(map[when]diag.Diagnostics{}) + second := newMockInterceptor(map[when]diag.Diagnostics{ + Before: { + diag.NewErrorDiagnostic("Second interceptor Before error", "An error occurred in the second interceptor Before handler"), + }, + }) + interceptors := []interceptorFunc[resource.SchemaRequest, resource.SchemaResponse]{ + first.Intercept, + second.Intercept, + } + + client := mockClient{ + accountID: "123456789012", + region: "us-west-2", //lintignore:AWSAT003 + } + + var f mockInnerFunc + handler := interceptedHandler(interceptors, f.Call, client) + + ctx := t.Context() + var request resource.SchemaRequest + var response resource.SchemaResponse + + response.Diagnostics.Append(handler(ctx, &request, &response)...) + + if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { + t.Errorf("unexpected diagnostics difference: %s", diff) + } + + if !slices.Equal(first.called, []when{Before}) { + t.Errorf("expected first interceptor to be called once, got %v", first.called) + } + if !slices.Equal(second.called, []when{Before}) { + t.Errorf("expected second interceptor to be called once, got %v", second.called) + } + if f.count != 0 { + t.Errorf("expected inner function to not be called, got %d", f.count) + } +} + +func TestInterceptedHandler_Diags_FirstHasBeforeWarning_SecondHasBeforeError(t *testing.T) { + expectedDiags := diag.Diagnostics{ + diag.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + diag.NewErrorDiagnostic("Second interceptor Before error", "An error occurred in the second interceptor Before handler"), + } + + first := newMockInterceptor(map[when]diag.Diagnostics{ + Before: { + diag.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + }, + }) + second := newMockInterceptor(map[when]diag.Diagnostics{ + Before: { + diag.NewErrorDiagnostic("Second interceptor Before error", "An error occurred in the second interceptor Before handler"), + }, + }) + interceptors := []interceptorFunc[resource.SchemaRequest, resource.SchemaResponse]{ + first.Intercept, + second.Intercept, + } + + client := mockClient{ + accountID: "123456789012", + region: "us-west-2", //lintignore:AWSAT003 + } + + var f mockInnerFunc + handler := interceptedHandler(interceptors, f.Call, client) + + ctx := t.Context() + var request resource.SchemaRequest + var response resource.SchemaResponse + + response.Diagnostics.Append(handler(ctx, &request, &response)...) + + if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { + t.Errorf("unexpected diagnostics difference: %s", diff) + } + + if !slices.Equal(first.called, []when{Before}) { + t.Errorf("expected first interceptor to be called once, got %v", first.called) + } + if !slices.Equal(second.called, []when{Before}) { + t.Errorf("expected second interceptor to be called once, got %v", second.called) + } + if f.count != 0 { + t.Errorf("expected inner function to not be called, got %d", f.count) + } +} + +type mockInterceptor struct { + diags map[when]diag.Diagnostics + called []when +} + +func newMockInterceptor(diags map[when]diag.Diagnostics) *mockInterceptor { + return &mockInterceptor{ + diags: diags, + } +} + +func (m *mockInterceptor) Intercept(ctx context.Context, opts interceptorOptions[resource.SchemaRequest, resource.SchemaResponse]) diag.Diagnostics { + m.called = append(m.called, opts.when) + return m.diags[opts.when] +} + +type innerFunc[Request, Response any] func(ctx context.Context, request *Request, response *Response) diag.Diagnostics + +type mockInnerFunc struct { + diags diag.Diagnostics + count int +} + +func (m *mockInnerFunc) Call(ctx context.Context, request *resource.SchemaRequest, response *resource.SchemaResponse) diag.Diagnostics { + m.count++ + response.Diagnostics.Append(m.diags...) + return response.Diagnostics +} From 2f6820f0b961f6ece4ca395e3ab51e59ff12be2d Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Thu, 7 Aug 2025 16:44:45 -0700 Subject: [PATCH 0716/1301] Adds tests for diagnostics on inner function --- internal/provider/framework/intercept_test.go | 88 +++++++++++++++++++ 1 file changed, 88 insertions(+) diff --git a/internal/provider/framework/intercept_test.go b/internal/provider/framework/intercept_test.go index 99ab5defd149..97350d7abf5b 100644 --- a/internal/provider/framework/intercept_test.go +++ b/internal/provider/framework/intercept_test.go @@ -154,6 +154,94 @@ func TestInterceptedHandler_Diags_FirstHasBeforeWarning_SecondHasBeforeError(t * } } +func TestInterceptedHandler_Diags_InnerHasError(t *testing.T) { + expectedDiags := diag.Diagnostics{ + diag.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), + } + + first := mockInterceptor{} + second := mockInterceptor{} + interceptors := []interceptorFunc[resource.SchemaRequest, resource.SchemaResponse]{ + first.Intercept, + second.Intercept, + } + + client := mockClient{ + accountID: "123456789012", + region: "us-west-2", //lintignore:AWSAT003 + } + + var f mockInnerFunc + f.diags = diag.Diagnostics{ + diag.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), + } + handler := interceptedHandler(interceptors, f.Call, client) + + ctx := t.Context() + var request resource.SchemaRequest + var response resource.SchemaResponse + + response.Diagnostics.Append(handler(ctx, &request, &response)...) + + if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { + t.Errorf("unexpected diagnostics difference: %s", diff) + } + + if !slices.Equal(first.called, []when{Before, OnError, Finally}) { + t.Errorf("expected first interceptor to be called three times, got %v", first.called) + } + if !slices.Equal(second.called, []when{Before, OnError, Finally}) { + t.Errorf("expected second interceptor to be called three times, got %v", second.called) + } + if f.count != 1 { + t.Errorf("expected inner function to be called once, got %d", f.count) + } +} + +func TestInterceptedHandler_Diags_InnerHasWarning(t *testing.T) { + expectedDiags := diag.Diagnostics{ + diag.NewWarningDiagnostic("Inner function warning", "A warning occurred in the inner function"), + } + + first := mockInterceptor{} + second := mockInterceptor{} + interceptors := []interceptorFunc[resource.SchemaRequest, resource.SchemaResponse]{ + first.Intercept, + second.Intercept, + } + + client := mockClient{ + accountID: "123456789012", + region: "us-west-2", //lintignore:AWSAT003 + } + + var f mockInnerFunc + f.diags = diag.Diagnostics{ + diag.NewWarningDiagnostic("Inner function warning", "A warning occurred in the inner function"), + } + handler := interceptedHandler(interceptors, f.Call, client) + + ctx := t.Context() + var request resource.SchemaRequest + var response resource.SchemaResponse + + response.Diagnostics.Append(handler(ctx, &request, &response)...) + + if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { + t.Errorf("unexpected diagnostics difference: %s", diff) + } + + if !slices.Equal(first.called, []when{Before, After, Finally}) { + t.Errorf("expected first interceptor to be called three times, got %v", first.called) + } + if !slices.Equal(second.called, []when{Before, After, Finally}) { + t.Errorf("expected second interceptor to be called three times, got %v", second.called) + } + if f.count != 1 { + t.Errorf("expected inner function to be called once, got %d", f.count) + } +} + type mockInterceptor struct { diags map[when]diag.Diagnostics called []when From 0fa8037315c8227db0f5fe410b4b8952983396a7 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Thu, 7 Aug 2025 16:50:28 -0700 Subject: [PATCH 0717/1301] Uses definition of `innerFunc` in `interceptedHandler` --- internal/provider/framework/intercept.go | 4 +++- internal/provider/framework/intercept_test.go | 2 -- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/provider/framework/intercept.go b/internal/provider/framework/intercept.go index 251f0cd9a265..ff43f6b26b03 100644 --- a/internal/provider/framework/intercept.go +++ b/internal/provider/framework/intercept.go @@ -321,8 +321,10 @@ type interceptedResponse interface { resource.ImportStateResponse } +type innerFunc[Request, Response any] func(ctx context.Context, request *Request, response *Response) diag.Diagnostics + // interceptedHandler returns a handler that runs any interceptors. -func interceptedHandler[Request interceptedRequest, Response interceptedResponse](interceptors []interceptorFunc[Request, Response], f func(context.Context, *Request, *Response) diag.Diagnostics, c awsClient) func(context.Context, *Request, *Response) diag.Diagnostics { +func interceptedHandler[Request interceptedRequest, Response interceptedResponse](interceptors []interceptorFunc[Request, Response], f innerFunc[Request, Response], c awsClient) func(context.Context, *Request, *Response) diag.Diagnostics { return func(ctx context.Context, request *Request, response *Response) diag.Diagnostics { var diags diag.Diagnostics // Before interceptors are run first to last. diff --git a/internal/provider/framework/intercept_test.go b/internal/provider/framework/intercept_test.go index 97350d7abf5b..be1343165d6b 100644 --- a/internal/provider/framework/intercept_test.go +++ b/internal/provider/framework/intercept_test.go @@ -258,8 +258,6 @@ func (m *mockInterceptor) Intercept(ctx context.Context, opts interceptorOptions return m.diags[opts.when] } -type innerFunc[Request, Response any] func(ctx context.Context, request *Request, response *Response) diag.Diagnostics - type mockInnerFunc struct { diags diag.Diagnostics count int From 10b8a1abe86024a99b3d773cb19edbb2d5d3bbba Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Thu, 7 Aug 2025 16:58:13 -0700 Subject: [PATCH 0718/1301] Preserves warnings from Before handlers in inner function succeeds --- internal/provider/framework/intercept.go | 5 +- internal/provider/framework/intercept_test.go | 90 +++++++++++++++++++ 2 files changed, 93 insertions(+), 2 deletions(-) diff --git a/internal/provider/framework/intercept.go b/internal/provider/framework/intercept.go index ff43f6b26b03..540b9bf9d3a3 100644 --- a/internal/provider/framework/intercept.go +++ b/internal/provider/framework/intercept.go @@ -348,9 +348,10 @@ func interceptedHandler[Request interceptedRequest, Response interceptedResponse // All other interceptors are run last to first. reverse := tfslices.Reverse(forward) - diags = f(ctx, request, response) + d := f(ctx, request, response) + diags.Append(d...) - if diags.HasError() { + if d.HasError() { when = OnError } else { when = After diff --git a/internal/provider/framework/intercept_test.go b/internal/provider/framework/intercept_test.go index be1343165d6b..91e9f678b329 100644 --- a/internal/provider/framework/intercept_test.go +++ b/internal/provider/framework/intercept_test.go @@ -104,6 +104,96 @@ func TestInterceptedHandler_Diags_SecondHasBeforeError(t *testing.T) { } } +func TestInterceptedHandler_Diags_FirstHasBeforeWarning(t *testing.T) { + expectedDiags := diag.Diagnostics{ + diag.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + } + + first := newMockInterceptor(map[when]diag.Diagnostics{ + Before: { + diag.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + }, + }) + second := newMockInterceptor(map[when]diag.Diagnostics{}) + interceptors := []interceptorFunc[resource.SchemaRequest, resource.SchemaResponse]{ + first.Intercept, + second.Intercept, + } + + client := mockClient{ + accountID: "123456789012", + region: "us-west-2", //lintignore:AWSAT003 + } + + var f mockInnerFunc + handler := interceptedHandler(interceptors, f.Call, client) + + ctx := t.Context() + var request resource.SchemaRequest + var response resource.SchemaResponse + + response.Diagnostics.Append(handler(ctx, &request, &response)...) + + if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { + t.Errorf("unexpected diagnostics difference: %s", diff) + } + + if !slices.Equal(first.called, []when{Before, After, Finally}) { + t.Errorf("expected first interceptor to be called three times, got %v", first.called) + } + if !slices.Equal(second.called, []when{Before, After, Finally}) { + t.Errorf("expected second interceptor to be called three times, got %v", second.called) + } + if f.count != 1 { + t.Errorf("expected inner function to be called once, got %d", f.count) + } +} + +func TestInterceptedHandler_Diags_SecondHasBeforeWarning(t *testing.T) { + expectedDiags := diag.Diagnostics{ + diag.NewWarningDiagnostic("Second interceptor Before warning", "A warning occurred in the second interceptor Before handler"), + } + + first := newMockInterceptor(map[when]diag.Diagnostics{}) + second := newMockInterceptor(map[when]diag.Diagnostics{ + Before: { + diag.NewWarningDiagnostic("Second interceptor Before warning", "A warning occurred in the second interceptor Before handler"), + }, + }) + interceptors := []interceptorFunc[resource.SchemaRequest, resource.SchemaResponse]{ + first.Intercept, + second.Intercept, + } + + client := mockClient{ + accountID: "123456789012", + region: "us-west-2", //lintignore:AWSAT003 + } + + var f mockInnerFunc + handler := interceptedHandler(interceptors, f.Call, client) + + ctx := t.Context() + var request resource.SchemaRequest + var response resource.SchemaResponse + + response.Diagnostics.Append(handler(ctx, &request, &response)...) + + if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { + t.Errorf("unexpected diagnostics difference: %s", diff) + } + + if !slices.Equal(first.called, []when{Before, After, Finally}) { + t.Errorf("expected first interceptor to be called three times, got %v", first.called) + } + if !slices.Equal(second.called, []when{Before, After, Finally}) { + t.Errorf("expected second interceptor to be called three times, got %v", second.called) + } + if f.count != 1 { + t.Errorf("expected inner function to be called once, got %d", f.count) + } +} + func TestInterceptedHandler_Diags_FirstHasBeforeWarning_SecondHasBeforeError(t *testing.T) { expectedDiags := diag.Diagnostics{ diag.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), From 9be49cca3eeed63d6125696ba18725eff443d740 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Thu, 7 Aug 2025 17:11:04 -0700 Subject: [PATCH 0719/1301] Adds pre-existing warning that should not be affected by interceptor handling --- internal/provider/framework/intercept_test.go | 50 ++++++++++++++++--- 1 file changed, 42 insertions(+), 8 deletions(-) diff --git a/internal/provider/framework/intercept_test.go b/internal/provider/framework/intercept_test.go index 91e9f678b329..0b3ec97c683e 100644 --- a/internal/provider/framework/intercept_test.go +++ b/internal/provider/framework/intercept_test.go @@ -15,6 +15,7 @@ import ( func TestInterceptedHandler_Diags_FirstHasBeforeError(t *testing.T) { expectedDiags := diag.Diagnostics{ + diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), diag.NewErrorDiagnostic("First interceptor Before error", "An error occurred in the first interceptor Before handler"), } @@ -39,9 +40,12 @@ func TestInterceptedHandler_Diags_FirstHasBeforeError(t *testing.T) { ctx := t.Context() var request resource.SchemaRequest - var response resource.SchemaResponse + response := resource.SchemaResponse{ + Diagnostics: diag.Diagnostics{ + diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), + }, + } - // interceptedHandler is always called like this response.Diagnostics.Append(handler(ctx, &request, &response)...) if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { @@ -61,6 +65,7 @@ func TestInterceptedHandler_Diags_FirstHasBeforeError(t *testing.T) { func TestInterceptedHandler_Diags_SecondHasBeforeError(t *testing.T) { expectedDiags := diag.Diagnostics{ + diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), diag.NewErrorDiagnostic("Second interceptor Before error", "An error occurred in the second interceptor Before handler"), } @@ -85,7 +90,11 @@ func TestInterceptedHandler_Diags_SecondHasBeforeError(t *testing.T) { ctx := t.Context() var request resource.SchemaRequest - var response resource.SchemaResponse + response := resource.SchemaResponse{ + Diagnostics: diag.Diagnostics{ + diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), + }, + } response.Diagnostics.Append(handler(ctx, &request, &response)...) @@ -106,6 +115,7 @@ func TestInterceptedHandler_Diags_SecondHasBeforeError(t *testing.T) { func TestInterceptedHandler_Diags_FirstHasBeforeWarning(t *testing.T) { expectedDiags := diag.Diagnostics{ + diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), diag.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), } @@ -130,7 +140,11 @@ func TestInterceptedHandler_Diags_FirstHasBeforeWarning(t *testing.T) { ctx := t.Context() var request resource.SchemaRequest - var response resource.SchemaResponse + response := resource.SchemaResponse{ + Diagnostics: diag.Diagnostics{ + diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), + }, + } response.Diagnostics.Append(handler(ctx, &request, &response)...) @@ -151,6 +165,7 @@ func TestInterceptedHandler_Diags_FirstHasBeforeWarning(t *testing.T) { func TestInterceptedHandler_Diags_SecondHasBeforeWarning(t *testing.T) { expectedDiags := diag.Diagnostics{ + diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), diag.NewWarningDiagnostic("Second interceptor Before warning", "A warning occurred in the second interceptor Before handler"), } @@ -175,7 +190,11 @@ func TestInterceptedHandler_Diags_SecondHasBeforeWarning(t *testing.T) { ctx := t.Context() var request resource.SchemaRequest - var response resource.SchemaResponse + response := resource.SchemaResponse{ + Diagnostics: diag.Diagnostics{ + diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), + }, + } response.Diagnostics.Append(handler(ctx, &request, &response)...) @@ -196,6 +215,7 @@ func TestInterceptedHandler_Diags_SecondHasBeforeWarning(t *testing.T) { func TestInterceptedHandler_Diags_FirstHasBeforeWarning_SecondHasBeforeError(t *testing.T) { expectedDiags := diag.Diagnostics{ + diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), diag.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), diag.NewErrorDiagnostic("Second interceptor Before error", "An error occurred in the second interceptor Before handler"), } @@ -225,7 +245,11 @@ func TestInterceptedHandler_Diags_FirstHasBeforeWarning_SecondHasBeforeError(t * ctx := t.Context() var request resource.SchemaRequest - var response resource.SchemaResponse + response := resource.SchemaResponse{ + Diagnostics: diag.Diagnostics{ + diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), + }, + } response.Diagnostics.Append(handler(ctx, &request, &response)...) @@ -246,6 +270,7 @@ func TestInterceptedHandler_Diags_FirstHasBeforeWarning_SecondHasBeforeError(t * func TestInterceptedHandler_Diags_InnerHasError(t *testing.T) { expectedDiags := diag.Diagnostics{ + diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), diag.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), } @@ -269,7 +294,11 @@ func TestInterceptedHandler_Diags_InnerHasError(t *testing.T) { ctx := t.Context() var request resource.SchemaRequest - var response resource.SchemaResponse + response := resource.SchemaResponse{ + Diagnostics: diag.Diagnostics{ + diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), + }, + } response.Diagnostics.Append(handler(ctx, &request, &response)...) @@ -290,6 +319,7 @@ func TestInterceptedHandler_Diags_InnerHasError(t *testing.T) { func TestInterceptedHandler_Diags_InnerHasWarning(t *testing.T) { expectedDiags := diag.Diagnostics{ + diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), diag.NewWarningDiagnostic("Inner function warning", "A warning occurred in the inner function"), } @@ -313,7 +343,11 @@ func TestInterceptedHandler_Diags_InnerHasWarning(t *testing.T) { ctx := t.Context() var request resource.SchemaRequest - var response resource.SchemaResponse + response := resource.SchemaResponse{ + Diagnostics: diag.Diagnostics{ + diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), + }, + } response.Diagnostics.Append(handler(ctx, &request, &response)...) From 590dad2d3cbd01f34522b4894126774af4b7e39c Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Thu, 7 Aug 2025 17:41:52 -0700 Subject: [PATCH 0720/1301] Preserves ordering of all diagnostics from `interceptedHandler` --- internal/provider/framework/intercept.go | 124 ++++++++++- internal/provider/framework/intercept_test.go | 205 ++++++++++++++++++ 2 files changed, 327 insertions(+), 2 deletions(-) diff --git a/internal/provider/framework/intercept.go b/internal/provider/framework/intercept.go index 540b9bf9d3a3..342eaf2fc258 100644 --- a/internal/provider/framework/intercept.go +++ b/internal/provider/framework/intercept.go @@ -5,6 +5,7 @@ package framework import ( "context" + "fmt" "github.com/aws/aws-sdk-go-v2/aws" "github.com/hashicorp/terraform-plugin-framework/datasource" @@ -325,8 +326,127 @@ type innerFunc[Request, Response any] func(ctx context.Context, request *Request // interceptedHandler returns a handler that runs any interceptors. func interceptedHandler[Request interceptedRequest, Response interceptedResponse](interceptors []interceptorFunc[Request, Response], f innerFunc[Request, Response], c awsClient) func(context.Context, *Request, *Response) diag.Diagnostics { - return func(ctx context.Context, request *Request, response *Response) diag.Diagnostics { - var diags diag.Diagnostics + return func(ctx context.Context, request *Request, response *Response) (diags diag.Diagnostics) { + var stashDiags diag.Diagnostics + switch v := any(response).(type) { + case *datasource.SchemaResponse: + stashDiags = v.Diagnostics + v.Diagnostics = diag.Diagnostics{} + + case *datasource.ReadResponse: + stashDiags = v.Diagnostics + v.Diagnostics = diag.Diagnostics{} + + case *ephemeral.SchemaResponse: + stashDiags = v.Diagnostics + v.Diagnostics = diag.Diagnostics{} + + case *ephemeral.OpenResponse: + stashDiags = v.Diagnostics + v.Diagnostics = diag.Diagnostics{} + + case *ephemeral.RenewResponse: + stashDiags = v.Diagnostics + v.Diagnostics = diag.Diagnostics{} + + case *ephemeral.CloseResponse: + stashDiags = v.Diagnostics + v.Diagnostics = diag.Diagnostics{} + + case *resource.SchemaResponse: + stashDiags = v.Diagnostics + v.Diagnostics = diag.Diagnostics{} + + case *resource.CreateResponse: + stashDiags = v.Diagnostics + v.Diagnostics = diag.Diagnostics{} + + case *resource.ReadResponse: + stashDiags = v.Diagnostics + v.Diagnostics = diag.Diagnostics{} + + case *resource.UpdateResponse: + stashDiags = v.Diagnostics + v.Diagnostics = diag.Diagnostics{} + + case *resource.DeleteResponse: + stashDiags = v.Diagnostics + v.Diagnostics = diag.Diagnostics{} + + case *resource.ModifyPlanResponse: + stashDiags = v.Diagnostics + v.Diagnostics = diag.Diagnostics{} + + case *resource.ImportStateResponse: + stashDiags = v.Diagnostics + v.Diagnostics = diag.Diagnostics{} + + default: + // Catches when Response type is added to `interceptedResponse` but not handled here. + diags.Append( + diag.NewErrorDiagnostic( + "Unexpected Response Type", + "This is always an error in the provider. "+ + "Please report the following to the provider developer:\n\n"+ + fmt.Sprintf("Response type %T is not supported when stashing diags in \"interceptedHandler\".", v), + ), + ) + return diags + } + defer func() { + switch v := any(response).(type) { + case *datasource.SchemaResponse: + v.Diagnostics = stashDiags + + case *datasource.ReadResponse: + v.Diagnostics = stashDiags + + case *ephemeral.SchemaResponse: + v.Diagnostics = stashDiags + + case *ephemeral.OpenResponse: + v.Diagnostics = stashDiags + + case *ephemeral.RenewResponse: + v.Diagnostics = stashDiags + + case *ephemeral.CloseResponse: + v.Diagnostics = stashDiags + + case *resource.SchemaResponse: + v.Diagnostics = stashDiags + + case *resource.CreateResponse: + v.Diagnostics = stashDiags + + case *resource.ReadResponse: + v.Diagnostics = stashDiags + + case *resource.UpdateResponse: + v.Diagnostics = stashDiags + + case *resource.DeleteResponse: + v.Diagnostics = stashDiags + + case *resource.ModifyPlanResponse: + v.Diagnostics = stashDiags + + case *resource.ImportStateResponse: + v.Diagnostics = stashDiags + + default: + // Catches when Response type is added to `interceptedResponse` but not handled here. + diags.Append( + diag.NewErrorDiagnostic( + "Unexpected Response Type", + "This is always an error in the provider. "+ + "Please report the following to the provider developer:\n\n"+ + fmt.Sprintf("Response type %T is not supported when restoring diags in \"interceptedHandler\".", v), + ), + ) + } + }() + // Before interceptors are run first to last. forward := interceptors diff --git a/internal/provider/framework/intercept_test.go b/internal/provider/framework/intercept_test.go index 0b3ec97c683e..ce17f497b8d4 100644 --- a/internal/provider/framework/intercept_test.go +++ b/internal/provider/framework/intercept_test.go @@ -366,6 +366,211 @@ func TestInterceptedHandler_Diags_InnerHasWarning(t *testing.T) { } } +func TestInterceptedHandler_Diags_InnerHasError_FirstHasBeforeWarning(t *testing.T) { + expectedDiags := diag.Diagnostics{ + diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), + diag.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + diag.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), + } + + first := newMockInterceptor(map[when]diag.Diagnostics{ + Before: { + diag.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + }, + }) + second := newMockInterceptor(map[when]diag.Diagnostics{}) + + interceptors := []interceptorFunc[resource.SchemaRequest, resource.SchemaResponse]{ + first.Intercept, + second.Intercept, + } + + client := mockClient{ + accountID: "123456789012", + region: "us-west-2", //lintignore:AWSAT003 + } + + var f mockInnerFunc + f.diags = diag.Diagnostics{ + diag.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), + } + handler := interceptedHandler(interceptors, f.Call, client) + + ctx := t.Context() + var request resource.SchemaRequest + response := resource.SchemaResponse{ + Diagnostics: diag.Diagnostics{ + diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), + }, + } + + response.Diagnostics.Append(handler(ctx, &request, &response)...) + + if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { + t.Errorf("unexpected diagnostics difference: %s", diff) + } + + if !slices.Equal(first.called, []when{Before, OnError, Finally}) { + t.Errorf("expected first interceptor to be called three times, got %v", first.called) + } + if !slices.Equal(second.called, []when{Before, OnError, Finally}) { + t.Errorf("expected second interceptor to be called three times, got %v", second.called) + } + if f.count != 1 { + t.Errorf("expected inner function to be called once, got %d", f.count) + } +} + +func TestInterceptedHandler_Diags_AllHaveWarnings(t *testing.T) { + expectedDiags := diag.Diagnostics{ + diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), + diag.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + diag.NewWarningDiagnostic("Second interceptor Before warning", "A warning occurred in the second interceptor Before handler"), + diag.NewWarningDiagnostic("Inner function warning", "A warning occurred in the inner function"), + diag.NewWarningDiagnostic("Second interceptor After warning", "A warning occurred in the second interceptor After handler"), + diag.NewWarningDiagnostic("First interceptor After warning", "A warning occurred in the first interceptor After handler"), + diag.NewWarningDiagnostic("Second interceptor Finally warning", "A warning occurred in the second interceptor Finally handler"), + diag.NewWarningDiagnostic("First interceptor Finally warning", "A warning occurred in the first interceptor Finally handler"), + } + + first := newMockInterceptor(map[when]diag.Diagnostics{ + Before: { + diag.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + }, + After: { + diag.NewWarningDiagnostic("First interceptor After warning", "A warning occurred in the first interceptor After handler"), + }, + Finally: { + diag.NewWarningDiagnostic("First interceptor Finally warning", "A warning occurred in the first interceptor Finally handler"), + }, + }) + second := newMockInterceptor(map[when]diag.Diagnostics{ + Before: { + diag.NewWarningDiagnostic("Second interceptor Before warning", "A warning occurred in the second interceptor Before handler"), + }, + After: { + diag.NewWarningDiagnostic("Second interceptor After warning", "A warning occurred in the second interceptor After handler"), + }, + Finally: { + diag.NewWarningDiagnostic("Second interceptor Finally warning", "A warning occurred in the second interceptor Finally handler"), + }, + }) + interceptors := []interceptorFunc[resource.SchemaRequest, resource.SchemaResponse]{ + first.Intercept, + second.Intercept, + } + + client := mockClient{ + accountID: "123456789012", + region: "us-west-2", //lintignore:AWSAT003 + } + + var f mockInnerFunc + f.diags = diag.Diagnostics{ + diag.NewWarningDiagnostic("Inner function warning", "A warning occurred in the inner function"), + } + handler := interceptedHandler(interceptors, f.Call, client) + + ctx := t.Context() + var request resource.SchemaRequest + response := resource.SchemaResponse{ + Diagnostics: diag.Diagnostics{ + diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), + }, + } + + response.Diagnostics.Append(handler(ctx, &request, &response)...) + + if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { + t.Errorf("unexpected diagnostics difference: %s", diff) + } + + if !slices.Equal(first.called, []when{Before, After, Finally}) { + t.Errorf("expected first interceptor to be called three times, got %v", first.called) + } + if !slices.Equal(second.called, []when{Before, After, Finally}) { + t.Errorf("expected second interceptor to be called three times, got %v", second.called) + } + if f.count != 1 { + t.Errorf("expected inner function to be called once, got %d", f.count) + } +} + +func TestInterceptedHandler_Diags_InnerHasError_HandlersHaveWarnings(t *testing.T) { + expectedDiags := diag.Diagnostics{ + diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), + diag.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + diag.NewWarningDiagnostic("Second interceptor Before warning", "A warning occurred in the second interceptor Before handler"), + diag.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), + diag.NewWarningDiagnostic("Second interceptor OnError warning", "A warning occurred in the second interceptor OnError handler"), + diag.NewWarningDiagnostic("First interceptor OnError warning", "A warning occurred in the first interceptor OnError handler"), + diag.NewWarningDiagnostic("Second interceptor Finally warning", "A warning occurred in the second interceptor Finally handler"), + diag.NewWarningDiagnostic("First interceptor Finally warning", "A warning occurred in the first interceptor Finally handler"), + } + + first := newMockInterceptor(map[when]diag.Diagnostics{ + Before: { + diag.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + }, + OnError: { + diag.NewWarningDiagnostic("First interceptor OnError warning", "A warning occurred in the first interceptor OnError handler"), + }, + Finally: { + diag.NewWarningDiagnostic("First interceptor Finally warning", "A warning occurred in the first interceptor Finally handler"), + }, + }) + second := newMockInterceptor(map[when]diag.Diagnostics{ + Before: { + diag.NewWarningDiagnostic("Second interceptor Before warning", "A warning occurred in the second interceptor Before handler"), + }, + OnError: { + diag.NewWarningDiagnostic("Second interceptor OnError warning", "A warning occurred in the second interceptor OnError handler"), + }, + Finally: { + diag.NewWarningDiagnostic("Second interceptor Finally warning", "A warning occurred in the second interceptor Finally handler"), + }, + }) + interceptors := []interceptorFunc[resource.SchemaRequest, resource.SchemaResponse]{ + first.Intercept, + second.Intercept, + } + + client := mockClient{ + accountID: "123456789012", + region: "us-west-2", //lintignore:AWSAT003 + } + + var f mockInnerFunc + f.diags = diag.Diagnostics{ + diag.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), + } + handler := interceptedHandler(interceptors, f.Call, client) + + ctx := t.Context() + var request resource.SchemaRequest + response := resource.SchemaResponse{ + Diagnostics: diag.Diagnostics{ + diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), + }, + } + + response.Diagnostics.Append(handler(ctx, &request, &response)...) + + if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { + t.Errorf("unexpected diagnostics difference: %s", diff) + } + + if !slices.Equal(first.called, []when{Before, OnError, Finally}) { + t.Errorf("expected first interceptor to be called three times, got %v", first.called) + } + if !slices.Equal(second.called, []when{Before, OnError, Finally}) { + t.Errorf("expected second interceptor to be called three times, got %v", second.called) + } + if f.count != 1 { + t.Errorf("expected inner function to be called once, got %d", f.count) + } +} + type mockInterceptor struct { diags map[when]diag.Diagnostics called []when From 8933675df51ab052f1584d2eddd8df9cdd54eb2b Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 1 Aug 2025 22:00:28 -0700 Subject: [PATCH 0721/1301] Moves slice iterator functions to separate source file --- internal/slices/iter.go | 19 +++++++++++++++++++ internal/slices/slices.go | 12 ------------ 2 files changed, 19 insertions(+), 12 deletions(-) create mode 100644 internal/slices/iter.go diff --git a/internal/slices/iter.go b/internal/slices/iter.go new file mode 100644 index 000000000000..6348c2257da2 --- /dev/null +++ b/internal/slices/iter.go @@ -0,0 +1,19 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package slices + +import ( + "iter" +) + +// AppliedToEach returns an iterator that yields the slice elements transformed by the function `f`. +func AppliedToEach[S ~[]E, E any, T any](s S, f func(E) T) iter.Seq[T] { + return func(yield func(T) bool) { + for _, v := range s { + if !yield(f(v)) { + return + } + } + } +} diff --git a/internal/slices/slices.go b/internal/slices/slices.go index 17ee33458ee0..fb8880d9fb77 100644 --- a/internal/slices/slices.go +++ b/internal/slices/slices.go @@ -4,7 +4,6 @@ package slices import ( - "iter" "slices" ) @@ -58,17 +57,6 @@ func ApplyToAllWithError[S ~[]E1, E1, E2 any](s S, f func(E1) (E2, error)) ([]E2 return v, nil } -// AppliedToEach returns an iterator that yields the slice elements transformed by the function `f`. -func AppliedToEach[S ~[]E, E any, T any](s S, f func(E) T) iter.Seq[T] { - return func(yield func(T) bool) { - for _, v := range s { - if !yield(f(v)) { - return - } - } - } -} - // Values returns a new slice containing values from the pointers in each element of the original slice `s`. func Values[S ~[]*E, E any](s S) []E { return ApplyToAll(s, func(e *E) E { From 28f8033dfc3bd82745f364f2157d31e5a775f18d Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 1 Aug 2025 22:01:08 -0700 Subject: [PATCH 0722/1301] Adds `tfslices.BackwardValues` --- internal/slices/iter.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/internal/slices/iter.go b/internal/slices/iter.go index 6348c2257da2..7abd0baaff38 100644 --- a/internal/slices/iter.go +++ b/internal/slices/iter.go @@ -17,3 +17,14 @@ func AppliedToEach[S ~[]E, E any, T any](s S, f func(E) T) iter.Seq[T] { } } } + +// Backward returns an iterator that yields the slice elements in reverse order. +func BackwardValues[Slice ~[]E, E any](s Slice) iter.Seq[E] { + return func(yield func(E) bool) { + for i := len(s) - 1; i >= 0; i-- { + if !yield(s[i]) { + return + } + } + } +} From 5afc726caf902bbdfd8df1268f8c67e5b757308a Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 8 Aug 2025 10:22:10 -0700 Subject: [PATCH 0723/1301] Iterates over `interceptors` --- internal/provider/framework/intercept.go | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/internal/provider/framework/intercept.go b/internal/provider/framework/intercept.go index 342eaf2fc258..7d64a9589a54 100644 --- a/internal/provider/framework/intercept.go +++ b/internal/provider/framework/intercept.go @@ -6,6 +6,7 @@ package framework import ( "context" "fmt" + "slices" "github.com/aws/aws-sdk-go-v2/aws" "github.com/hashicorp/terraform-plugin-framework/datasource" @@ -448,10 +449,8 @@ func interceptedHandler[Request interceptedRequest, Response interceptedResponse }() // Before interceptors are run first to last. - forward := interceptors - when := Before - for _, v := range forward { + for v := range slices.Values(interceptors) { opts := interceptorOptions[Request, Response]{ c: c, request: request, @@ -466,17 +465,16 @@ func interceptedHandler[Request interceptedRequest, Response interceptedResponse } } - // All other interceptors are run last to first. - reverse := tfslices.Reverse(forward) d := f(ctx, request, response) diags.Append(d...) + // All other interceptors are run last to first. if d.HasError() { when = OnError } else { when = After } - for _, v := range reverse { + for v := range tfslices.BackwardValues(interceptors) { opts := interceptorOptions[Request, Response]{ c: c, request: request, @@ -487,7 +485,7 @@ func interceptedHandler[Request interceptedRequest, Response interceptedResponse } when = Finally - for _, v := range reverse { + for v := range tfslices.BackwardValues(interceptors) { opts := interceptorOptions[Request, Response]{ c: c, request: request, From f270b2673f473192cbf34e4d496db1be3f8d5f47 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 8 Aug 2025 10:39:20 -0700 Subject: [PATCH 0724/1301] Generates string values for `when` in tests --- internal/provider/framework/intercept.go | 3 ++ .../provider/framework/when_string_test.go | 39 +++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 internal/provider/framework/when_string_test.go diff --git a/internal/provider/framework/intercept.go b/internal/provider/framework/intercept.go index 7d64a9589a54..71e916480c39 100644 --- a/internal/provider/framework/intercept.go +++ b/internal/provider/framework/intercept.go @@ -278,6 +278,9 @@ func (s interceptorInvocations) resourceImportState() []interceptorFunc[resource }) } +// Only generate strings for use in tests +//go:generate stringer -type=when -output=when_string_test.go + // when represents the point in the CRUD request lifecycle that an interceptor is run. // Multiple values can be ORed together. type when uint16 diff --git a/internal/provider/framework/when_string_test.go b/internal/provider/framework/when_string_test.go new file mode 100644 index 000000000000..30a19a106a18 --- /dev/null +++ b/internal/provider/framework/when_string_test.go @@ -0,0 +1,39 @@ +// Code generated by "stringer -type=when -output=when_string_test.go"; DO NOT EDIT. + +package framework + +import "strconv" + +func _() { + // An "invalid array index" compiler error signifies that the constant values have changed. + // Re-run the stringer command to generate them again. + var x [1]struct{} + _ = x[Before-1] + _ = x[After-2] + _ = x[OnError-4] + _ = x[Finally-8] +} + +const ( + _when_name_0 = "BeforeAfter" + _when_name_1 = "OnError" + _when_name_2 = "Finally" +) + +var ( + _when_index_0 = [...]uint8{0, 6, 11} +) + +func (i when) String() string { + switch { + case 1 <= i && i <= 2: + i -= 1 + return _when_name_0[_when_index_0[i]:_when_index_0[i+1]] + case i == 4: + return _when_name_1 + case i == 8: + return _when_name_2 + default: + return "when(" + strconv.FormatInt(int64(i), 10) + ")" + } +} From 7f3596bafd796bccf224f77ba01f08e53775f62c Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 8 Aug 2025 10:50:54 -0700 Subject: [PATCH 0725/1301] Moves `defer` statements --- internal/provider/framework/intercept.go | 94 +++++++++++------------- 1 file changed, 41 insertions(+), 53 deletions(-) diff --git a/internal/provider/framework/intercept.go b/internal/provider/framework/intercept.go index 71e916480c39..b1d20576bb52 100644 --- a/internal/provider/framework/intercept.go +++ b/internal/provider/framework/intercept.go @@ -331,59 +331,100 @@ type innerFunc[Request, Response any] func(ctx context.Context, request *Request // interceptedHandler returns a handler that runs any interceptors. func interceptedHandler[Request interceptedRequest, Response interceptedResponse](interceptors []interceptorFunc[Request, Response], f innerFunc[Request, Response], c awsClient) func(context.Context, *Request, *Response) diag.Diagnostics { return func(ctx context.Context, request *Request, response *Response) (diags diag.Diagnostics) { + // We need to stash the diagnostics from the Response to preserve any existing diagnostics because + // the `inner` function will actually returns its diagnostics in the Response, but we are collecting them here as well. var stashDiags diag.Diagnostics switch v := any(response).(type) { case *datasource.SchemaResponse: stashDiags = v.Diagnostics v.Diagnostics = diag.Diagnostics{} + defer func() { + v.Diagnostics = stashDiags + }() case *datasource.ReadResponse: stashDiags = v.Diagnostics v.Diagnostics = diag.Diagnostics{} + defer func() { + v.Diagnostics = stashDiags + }() case *ephemeral.SchemaResponse: stashDiags = v.Diagnostics v.Diagnostics = diag.Diagnostics{} + defer func() { + v.Diagnostics = stashDiags + }() case *ephemeral.OpenResponse: stashDiags = v.Diagnostics v.Diagnostics = diag.Diagnostics{} + defer func() { + v.Diagnostics = stashDiags + }() case *ephemeral.RenewResponse: stashDiags = v.Diagnostics v.Diagnostics = diag.Diagnostics{} + defer func() { + v.Diagnostics = stashDiags + }() case *ephemeral.CloseResponse: stashDiags = v.Diagnostics v.Diagnostics = diag.Diagnostics{} + defer func() { + v.Diagnostics = stashDiags + }() case *resource.SchemaResponse: stashDiags = v.Diagnostics v.Diagnostics = diag.Diagnostics{} + defer func() { + v.Diagnostics = stashDiags + }() case *resource.CreateResponse: stashDiags = v.Diagnostics v.Diagnostics = diag.Diagnostics{} + defer func() { + v.Diagnostics = stashDiags + }() case *resource.ReadResponse: stashDiags = v.Diagnostics v.Diagnostics = diag.Diagnostics{} + defer func() { + v.Diagnostics = stashDiags + }() case *resource.UpdateResponse: stashDiags = v.Diagnostics v.Diagnostics = diag.Diagnostics{} + defer func() { + v.Diagnostics = stashDiags + }() case *resource.DeleteResponse: stashDiags = v.Diagnostics v.Diagnostics = diag.Diagnostics{} + defer func() { + v.Diagnostics = stashDiags + }() case *resource.ModifyPlanResponse: stashDiags = v.Diagnostics v.Diagnostics = diag.Diagnostics{} + defer func() { + v.Diagnostics = stashDiags + }() case *resource.ImportStateResponse: stashDiags = v.Diagnostics v.Diagnostics = diag.Diagnostics{} + defer func() { + v.Diagnostics = stashDiags + }() default: // Catches when Response type is added to `interceptedResponse` but not handled here. @@ -397,59 +438,6 @@ func interceptedHandler[Request interceptedRequest, Response interceptedResponse ) return diags } - defer func() { - switch v := any(response).(type) { - case *datasource.SchemaResponse: - v.Diagnostics = stashDiags - - case *datasource.ReadResponse: - v.Diagnostics = stashDiags - - case *ephemeral.SchemaResponse: - v.Diagnostics = stashDiags - - case *ephemeral.OpenResponse: - v.Diagnostics = stashDiags - - case *ephemeral.RenewResponse: - v.Diagnostics = stashDiags - - case *ephemeral.CloseResponse: - v.Diagnostics = stashDiags - - case *resource.SchemaResponse: - v.Diagnostics = stashDiags - - case *resource.CreateResponse: - v.Diagnostics = stashDiags - - case *resource.ReadResponse: - v.Diagnostics = stashDiags - - case *resource.UpdateResponse: - v.Diagnostics = stashDiags - - case *resource.DeleteResponse: - v.Diagnostics = stashDiags - - case *resource.ModifyPlanResponse: - v.Diagnostics = stashDiags - - case *resource.ImportStateResponse: - v.Diagnostics = stashDiags - - default: - // Catches when Response type is added to `interceptedResponse` but not handled here. - diags.Append( - diag.NewErrorDiagnostic( - "Unexpected Response Type", - "This is always an error in the provider. "+ - "Please report the following to the provider developer:\n\n"+ - fmt.Sprintf("Response type %T is not supported when restoring diags in \"interceptedHandler\".", v), - ), - ) - } - }() // Before interceptors are run first to last. when := Before From 31ab85cd49428f0833be061445f5c2322501faec Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Fri, 8 Aug 2025 14:53:17 -0400 Subject: [PATCH 0726/1301] comprehend: New fake data generator --- .../generate/document_classifier/main.go | 14 +++++++------- .../document_classifier_multilabel/main.go | 6 +++--- .../generate/entity_recognizer/main.go | 6 +++--- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/internal/service/comprehend/test-fixtures/generate/document_classifier/main.go b/internal/service/comprehend/test-fixtures/generate/document_classifier/main.go index 9b7a9e44747b..a42861348e2e 100644 --- a/internal/service/comprehend/test-fixtures/generate/document_classifier/main.go +++ b/internal/service/comprehend/test-fixtures/generate/document_classifier/main.go @@ -13,7 +13,7 @@ import ( "math/rand" "os" - "syreclabs.com/go/faker" + "github.com/jaswdr/faker/v2" ) var doctypes = []string{ @@ -38,7 +38,7 @@ func main() { seed := int64(1) // Default rand seed r := rand.New(rand.NewSource(seed)) - faker.Seed(seed) + fake := faker.New() documentFile, err := os.OpenFile("./test-fixtures/document_classifier/documents.csv", os.O_TRUNC|os.O_CREATE|os.O_WRONLY, 0600) if err != nil { @@ -48,19 +48,19 @@ func main() { documentsWriter := csv.NewWriter(documentFile) for i := 0; i < 100; i++ { - name := faker.Name().Name() + name := fake.Person().Name() doctype := doctypes[r.Intn(len(doctypes))] var line string if doctype == "PHISHING" { - order := faker.RandomString(10) - phone := faker.PhoneNumber().PhoneNumber() + order := fake.RandomStringWithLength(10) + phone := fake.Phone().Number() doc := phishingDocs[r.Intn(len(phishingDocs))] line = fmt.Sprintf(doc, name, order, phone) } else { doc := spamDocs[r.Intn(len(spamDocs))] - product := faker.Commerce().ProductName() - company := faker.Company().Name() + product := fake.Beer().Name() + company := fake.Company().Name() line = fmt.Sprintf(doc, name, product, company) } diff --git a/internal/service/comprehend/test-fixtures/generate/document_classifier_multilabel/main.go b/internal/service/comprehend/test-fixtures/generate/document_classifier_multilabel/main.go index 682130c813b7..942e3249c235 100644 --- a/internal/service/comprehend/test-fixtures/generate/document_classifier_multilabel/main.go +++ b/internal/service/comprehend/test-fixtures/generate/document_classifier_multilabel/main.go @@ -14,7 +14,7 @@ import ( "os" "strings" - "syreclabs.com/go/faker" + "github.com/jaswdr/faker/v2" ) const ( @@ -43,7 +43,7 @@ func main() { seed := int64(1) // Default rand seed r := rand.New(rand.NewSource(seed)) - faker.Seed(seed) + fake := faker.New() // documentFile, err := os.OpenFile("./test-fixtures/document_classifier_multilabel/documents.csv", os.O_TRUNC|os.O_CREATE|os.O_WRONLY, 0600) documentFile, err := os.OpenFile("../../../test-fixtures/document_classifier_multilabel/documents.csv", os.O_TRUNC|os.O_CREATE|os.O_WRONLY, 0600) @@ -62,7 +62,7 @@ func main() { doctype = strings.Join(doctypes, defaultSeparator) } - title := faker.Lorem().Word() + title := fake.Lorem().Word() var desc string if doctype == "DRAMA" { diff --git a/internal/service/comprehend/test-fixtures/generate/entity_recognizer/main.go b/internal/service/comprehend/test-fixtures/generate/entity_recognizer/main.go index 7ad4937b6d4d..c879a3877e1b 100644 --- a/internal/service/comprehend/test-fixtures/generate/entity_recognizer/main.go +++ b/internal/service/comprehend/test-fixtures/generate/entity_recognizer/main.go @@ -15,7 +15,7 @@ import ( "strconv" "strings" - "syreclabs.com/go/faker" + "github.com/jaswdr/faker/v2" ) func main() { @@ -43,7 +43,7 @@ func main() { seed := int64(1) // Default rand seed r := rand.New(rand.NewSource(seed)) - faker.Seed(seed) + fake := faker.New() entitiesFile, err := os.OpenFile("./test-fixtures/entity_recognizer/entitylist.csv", os.O_TRUNC|os.O_CREATE|os.O_WRONLY, 0600) if err != nil { @@ -72,7 +72,7 @@ func main() { } for i := 0; i < 1000; i++ { - name := faker.Name().Name() + name := fake.Person().Name() entity := entities[r.Intn(len(entities))] if _, err := fmt.Fprintf(entitiesFile, "%s,%s\n", name, entity); err != nil { From 31e353cd379b3c74c04344ebc8c2dae02027a252 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Fri, 8 Aug 2025 14:53:53 -0400 Subject: [PATCH 0727/1301] Update to new library --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a6493ad3ed9d..c1e2d3257ece 100644 --- a/go.mod +++ b/go.mod @@ -298,6 +298,7 @@ require ( github.com/hashicorp/terraform-plugin-mux v0.20.0 github.com/hashicorp/terraform-plugin-sdk/v2 v2.37.0 github.com/hashicorp/terraform-plugin-testing v1.13.2 + github.com/jaswdr/faker/v2 v2.8.0 github.com/jmespath/go-jmespath v0.4.0 github.com/mattbaird/jsonpatch v0.0.0-20240118010651-0ba75a80ca38 github.com/mitchellh/copystructure v1.2.0 @@ -311,7 +312,6 @@ require ( golang.org/x/tools v0.35.0 gopkg.in/dnaeon/go-vcr.v4 v4.0.4 gopkg.in/yaml.v3 v3.0.1 - syreclabs.com/go/faker v1.2.3 ) require ( diff --git a/go.sum b/go.sum index d03c6343c8a8..154d9bcad3af 100644 --- a/go.sum +++ b/go.sum @@ -691,6 +691,8 @@ github.com/huandu/xstrings v1.3.3/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.15 h1:M8XP7IuFNsqUx6VPK2P9OSmsYsI/YFaGil0uD21V3dM= github.com/imdario/mergo v0.3.15/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= +github.com/jaswdr/faker/v2 v2.8.0 h1:3AxdXW9U7dJmWckh/P0YgRbNlCcVsTyrUNUnLVP9b3Q= +github.com/jaswdr/faker/v2 v2.8.0/go.mod h1:jZq+qzNQr8/P+5fHd9t3txe2GNPnthrTfohtnJ7B+68= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= @@ -876,5 +878,3 @@ gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -syreclabs.com/go/faker v1.2.3 h1:HPrWtnHazIf0/bVuPZJLFrtHlBHk10hS0SB+mV8v6R4= -syreclabs.com/go/faker v1.2.3/go.mod h1:NAXInmkPsC2xuO5MKZFe80PUXX5LU8cFdJIHGs+nSBE= From 5f579920a5eb8374585dc7638afe8ca49d442995 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Fri, 8 Aug 2025 14:54:14 -0400 Subject: [PATCH 0728/1301] New tests --- .../document_classifier/documents.csv | 200 +- .../entity_recognizer/annotations.csv | 1824 +++++++-------- .../entity_recognizer/documents.txt | 2000 ++++++++--------- .../entity_recognizer/entitylist.csv | 2000 ++++++++--------- 4 files changed, 3012 insertions(+), 3012 deletions(-) diff --git a/internal/service/comprehend/test-fixtures/document_classifier/documents.csv b/internal/service/comprehend/test-fixtures/document_classifier/documents.csv index 610aba6048c7..2cd96c026acf 100644 --- a/internal/service/comprehend/test-fixtures/document_classifier/documents.csv +++ b/internal/service/comprehend/test-fixtures/document_classifier/documents.csv @@ -1,100 +1,100 @@ -SPAM,"Dear Gerson Parker,\n\nBuy a Awesome Rubber Table from Grady-Stiedemann now!\n" -SPAM,"Hello Dr. Eunice Leannon,\n\nNow available!\n\nA Awesome Wooden Hat from Kiehn DDS\n" -SPAM,"Dear Delaney Fisher,\n\nBuy a Sleek Rubber Chair from Kilback-Hettinger now!\n" -SPAM,"Hello Mr. Elias Quitzon,\n\nNow available!\n\nA Practical Cotton Gloves from Schiller, Kemmer and Gulgowski\n" -PHISHING,"Dear Miss Marquise Jerde,\n\nYour transaction VvAr5Zg2JY has failed.\n\nCall 849.371.9905 for help.\n" -PHISHING,"Taryn Pfannerstill,\n\nYour order number 1tVfsJHalz has been returned.\n\nCall 756.681.2363 x628 to get help.\n" -PHISHING,"Hello Jett Armstrong,\n\nCall 737-319-3312 for help with your order brEaM7qfDv. Otherwise it will be returned to the sender.\n" -PHISHING,"Hello Graham Stoltenberg,\n\nCall 523-585-1577 for help with your order vh0wYmrvrv. Otherwise it will be returned to the sender.\n" -SPAM,"Hello Ulises Davis,\n\nNow available!\n\nA Small Granite Table from Jaskolski-Prohaska\n" -SPAM,"Hello Ms. Santos Weimann,\n\nNow available!\n\nA Ergonomic Plastic Computer from Robel-Ziemann\n" -SPAM,"Dear Lorna Hodkiewicz,\n\nBuy a Fantastic Steel Chair from Adams PhD now!\n" -PHISHING,"Aracely Christiansen,\n\nYour order number T8u4P1yQfG has been returned.\n\nCall 747-226-9061 to get help.\n" -SPAM,"Angeline Lebsack,\n\nDon't miss out on buying Wisozk-Rowe's Gorgeous Granite Computer today!\n" -SPAM,"Asha Greenholt,\n\nDon't miss out on buying Bernier PhD's Ergonomic Wooden Table today!\n" -PHISHING,"Dear Miss Flavio Smith,\n\nYour transaction hQ7oGKDHJd has failed.\n\nCall 442.751.9030 x9030 for help.\n" -SPAM,"Dear Ms. Carolina Mante,\n\nBuy a Rustic Plastic Table from Mayert V now!\n" -SPAM,"Hello Mr. Molly Goldner,\n\nNow available!\n\nA Rustic Cotton Car from Crona, McClure and Harber\n" -SPAM,"Hello Mia Larkin II,\n\nNow available!\n\nA Intelligent Cotton Car from Lesch III\n" -SPAM,"Al Gerlach V,\n\nDon't miss out on buying Daniel Jr.'s Intelligent Granite Shirt today!\n" -SPAM,"Dear Heath Kessler,\n\nBuy a Small Cotton Table from Kohler, Lindgren and Jacobson now!\n" -SPAM,"Dr. Ahmed Schneider,\n\nDon't miss out on buying Bogisich, Turcotte and Fay's Ergonomic Concrete Table today!\n" -PHISHING,"Dear Alena Mueller,\n\nYour transaction Kc0ov0TbVO has failed.\n\nCall 340.200.4353 x1049 for help.\n" -SPAM,"Dear Dewayne Turner,\n\nBuy a Rustic Plastic Table from Will II now!\n" -PHISHING,"Kaleb Durgan,\n\nYour order number qo5aid70LZ has been returned.\n\nCall 1-271-529-2911 to get help.\n" -SPAM,"Dear Rickie Reilly,\n\nBuy a Intelligent Cotton Table from Von, Koss and Cormier now!\n" -SPAM,"Brant Hettinger,\n\nDon't miss out on buying Schamberger-Bartoletti's Incredible Steel Shoes today!\n" -SPAM,"Dear Miss Heath Smith,\n\nBuy a Intelligent Rubber Shirt from Lindgren-Goldner now!\n" -PHISHING,"Modesto Monahan DVM,\n\nYour order number 8S3xS6mvEc has been returned.\n\nCall 1-526-152-9870 to get help.\n" -PHISHING,"Dear Genesis Wintheiser II,\n\nYour transaction 133wf0wD7e has failed.\n\nCall (330) 015-6966 for help.\n" -SPAM,"Hello Napoleon Sauer,\n\nNow available!\n\nA Practical Granite Chair from Lubowitz, Bartell and Mohr\n" -SPAM,"Dear Jennifer Buckridge,\n\nBuy a Gorgeous Rubber Table from Stroman DVM now!\n" -SPAM,"Dear Weldon Beatty IV,\n\nBuy a Sleek Wooden Computer from Bartell IV now!\n" -PHISHING,"Hello Nicholaus Beer,\n\nCall 1-806-724-1386 x5254 for help with your order FqmAcdUQBU. Otherwise it will be returned to the sender.\n" -SPAM,"Hello Dr. Aron Reichert,\n\nNow available!\n\nA Gorgeous Cotton Pants from Hagenes-Torp\n" -SPAM,"Hello Kathlyn Bechtelar,\n\nNow available!\n\nA Awesome Rubber Table from Zulauf Jr.\n" -SPAM,"Dear Dedrick Corkery V,\n\nBuy a Incredible Plastic Pants from Kirlin IV now!\n" -PHISHING,"Hello Margarett Kunze,\n\nCall (744) 342-3400 for help with your order Hs28ZR7V52. Otherwise it will be returned to the sender.\n" -SPAM,"Dear Maegan Trantow,\n\nBuy a Small Concrete Car from Greenholt II now!\n" -SPAM,"Granville O'Connell,\n\nDon't miss out on buying Osinski, Pollich and Block's Gorgeous Plastic Hat today!\n" -PHISHING,"Hello Sherman Waelchi II,\n\nCall (836) 650-2349 for help with your order u0u8Bz4LFX. Otherwise it will be returned to the sender.\n" -SPAM,"Dear Murl Jacobi,\n\nBuy a Gorgeous Steel Shirt from Rowe, Quigley and Monahan now!\n" -SPAM,"Katelin Blick,\n\nDon't miss out on buying Rau, Moore and Will's Gorgeous Granite Shoes today!\n" -SPAM,"Savanna Kuhlman,\n\nDon't miss out on buying Berge, Hane and Bartoletti's Ergonomic Plastic Chair today!\n" -SPAM,"Hello Mr. Marlin Nitzsche,\n\nNow available!\n\nA Small Wooden Shirt from Paucek, Willms and Beier\n" -SPAM,"Thomas Towne,\n\nDon't miss out on buying Herzog-Hagenes's Practical Granite Table today!\n" -PHISHING,"Melisa Barton Jr.,\n\nYour order number glADPbXwsV has been returned.\n\nCall 477-926-9464 x9324 to get help.\n" -PHISHING,"Norris Rodriguez,\n\nYour order number Tda57LYtFu has been returned.\n\nCall 1-413-187-4231 x0502 to get help.\n" -PHISHING,"Mrs. Bethel Carroll,\n\nYour order number J6xmnKvbV7 has been returned.\n\nCall 262-359-0480 x7240 to get help.\n" -PHISHING,"Dear Miss Jarvis Langosh,\n\nYour transaction fpnGt85S0r has failed.\n\nCall 331-139-3076 x108 for help.\n" -SPAM,"Hello Lucas Frami,\n\nNow available!\n\nA Sleek Steel Hat from Gutkowski-Hahn\n" -SPAM,"Ms. Brittany Flatley,\n\nDon't miss out on buying Reinger-Breitenberg's Intelligent Wooden Table today!\n" -SPAM,"Hello Miss Hermina Gaylord,\n\nNow available!\n\nA Sleek Concrete Car from Windler-Lakin\n" -SPAM,"Hello Brooke Turner,\n\nNow available!\n\nA Small Concrete Computer from Kohler DVM\n" -PHISHING,"Sandra Hartmann,\n\nYour order number m0xwL3WB3I has been returned.\n\nCall (103) 816-8172 x77407 to get help.\n" -PHISHING,"Roslyn Jacobi,\n\nYour order number 6W52YP4eN6 has been returned.\n\nCall 825-473-1315 to get help.\n" -PHISHING,"Mr. Hudson Olson,\n\nYour order number hxYmRmAL4i has been returned.\n\nCall 953.009.3128 x16955 to get help.\n" -SPAM,"Hello Domenico Ondricka,\n\nNow available!\n\nA Intelligent Steel Hat from Orn, Muller and Krajcik\n" -PHISHING,"Loren Howell,\n\nYour order number 2VQ317gxaD has been returned.\n\nCall 872.335.0711 to get help.\n" -SPAM,"Tyshawn Volkman,\n\nDon't miss out on buying Toy, Parisian and Beatty's Awesome Plastic Table today!\n" -SPAM,"Dear Vidal Von,\n\nBuy a Incredible Rubber Shoes from Ratke, Jaskolski and Kertzmann now!\n" -PHISHING,"Lexi Skiles,\n\nYour order number MQva1tgMkb has been returned.\n\nCall 601-114-7684 x4783 to get help.\n" -SPAM,"Dear Derek Keeling,\n\nBuy a Incredible Rubber Pants from Auer-Leffler now!\n" -PHISHING,"Dear Miss Xavier Farrell,\n\nYour transaction mKbwVCQbhO has failed.\n\nCall 940.934.0097 x5583 for help.\n" -SPAM,"Jodie Homenick,\n\nDon't miss out on buying Nienow-Daniel's Small Wooden Shoes today!\n" -SPAM,"Dear Dr. Roxanne Weimann,\n\nBuy a Fantastic Rubber Table from Kuvalis-Ledner now!\n" -PHISHING,"Dear Weston Murazik,\n\nYour transaction aXErjPh1a3 has failed.\n\nCall 706-538-1102 for help.\n" -SPAM,"Hello Dr. Lorena Jerde,\n\nNow available!\n\nA Intelligent Steel Shoes from Schneider-Pouros\n" -SPAM,"Andreane Johns,\n\nDon't miss out on buying Fay IV's Fantastic Wooden Car today!\n" -PHISHING,"Hello Grant Lesch V,\n\nCall (539) 134-0217 for help with your order YzNiM1s5ta. Otherwise it will be returned to the sender.\n" -PHISHING,"Dear Ms. Lauryn Stark,\n\nYour transaction VSuFzoRvlp has failed.\n\nCall (174) 665-5559 for help.\n" -PHISHING,"Hello Mariam Schultz,\n\nCall 260.307.7248 for help with your order SKQPNL4pd4. Otherwise it will be returned to the sender.\n" -PHISHING,"Joanne Aufderhar,\n\nYour order number LG3a2cyYwA has been returned.\n\nCall 844.982.8008 to get help.\n" -PHISHING,"Hello Estella Hickle,\n\nCall 1-612-967-8683 x836 for help with your order vYfqTwp1eM. Otherwise it will be returned to the sender.\n" -PHISHING,"Hello Ewald Cronin,\n\nCall 544-301-9279 x995 for help with your order uFqjeJZxXN. Otherwise it will be returned to the sender.\n" -SPAM,"Hello Russel Langosh,\n\nNow available!\n\nA Practical Granite Computer from Boehm-Waelchi\n" -PHISHING,"Marty Swaniawski,\n\nYour order number FPa7TqGwmC has been returned.\n\nCall (456) 156-1419 x4820 to get help.\n" -PHISHING,"Mireille Keeling V,\n\nYour order number BMn2c6TZ1n has been returned.\n\nCall 832-286-0025 to get help.\n" -SPAM,"Jackie Reinger V,\n\nDon't miss out on buying Lindgren-Cronin's Practical Wooden Hat today!\n" -SPAM,"Dear Nellie Morar DVM,\n\nBuy a Awesome Plastic Pants from Schultz IV now!\n" -PHISHING,"Hello Allison Zemlak,\n\nCall (825) 541-7656 for help with your order DHIFdYRC8a. Otherwise it will be returned to the sender.\n" -SPAM,"Dear Stacy Fadel DDS,\n\nBuy a Intelligent Concrete Shirt from Anderson-Sanford now!\n" -PHISHING,"Dear Kathryne Tromp,\n\nYour transaction 0hsRFeFFQV has failed.\n\nCall 856-325-2229 for help.\n" -PHISHING,"Dear Kameron Schuster,\n\nYour transaction Jc64U5Z6bN has failed.\n\nCall 847-556-6672 for help.\n" -PHISHING,"Dear Cody Hilll,\n\nYour transaction 8JCmPX02QI has failed.\n\nCall 332.053.6289 x8723 for help.\n" -SPAM,"Hailie Hudson,\n\nDon't miss out on buying Heller, Fritsch and Larson's Gorgeous Cotton Gloves today!\n" -PHISHING,"Dear Quentin Morar,\n\nYour transaction v73CDOjujv has failed.\n\nCall (155) 212-4077 x101 for help.\n" -SPAM,"Dear Carley Runolfsdottir,\n\nBuy a Intelligent Wooden Shirt from Bogan, Bahringer and Hickle now!\n" -PHISHING,"Tyler Bayer,\n\nYour order number LuZbltqNac has been returned.\n\nCall 941-426-1385 x0820 to get help.\n" -SPAM,"Dear Mason Beatty,\n\nBuy a Awesome Plastic Hat from Koss, Upton and Jast now!\n" -SPAM,"Hello Bryana Upton,\n\nNow available!\n\nA Ergonomic Concrete Hat from Cummings-Douglas\n" -PHISHING,"Dear Giovanna Lebsack I,\n\nYour transaction U4w4gmd9gU has failed.\n\nCall 1-579-711-4905 x878 for help.\n" -PHISHING,"Dear Osvaldo Emard,\n\nYour transaction bG82oF1Ooe has failed.\n\nCall 650.367.4781 x67845 for help.\n" -PHISHING,"Dear Mrs. Vicky Hahn,\n\nYour transaction zdfgf1wDy5 has failed.\n\nCall 1-548-394-5141 x6462 for help.\n" -PHISHING,"Dear Dr. Seamus Keebler,\n\nYour transaction fQHpi64Fz0 has failed.\n\nCall (113) 105-1446 x282 for help.\n" -SPAM,"Mrs. Skyla Willms,\n\nDon't miss out on buying McKenzie, Cormier and Volkman's Rustic Concrete Gloves today!\n" -SPAM,"Hello Ollie Crooks,\n\nNow available!\n\nA Gorgeous Plastic Car from Murphy-Hills\n" -SPAM,"Dear Dr. Jarret Block,\n\nBuy a Awesome Wooden Pants from Schiller, Baumbach and Orn now!\n" -PHISHING,"Florine West,\n\nYour order number SuyZnOCgV1 has been returned.\n\nCall 591-926-5276 x1996 to get help.\n" -SPAM,"Dear Jason Fritsch,\n\nBuy a Practical Wooden Car from Carter-Hane now!\n" -PHISHING,"Hello Kayleigh Goldner DDS,\n\nCall 750.906.1703 x8827 for help with your order aUyaWd3SnK. Otherwise it will be returned to the sender.\n" +SPAM,"Dear Pablo O'Connell,\n\nBuy a Dark Horse Plead the 5th from O'Connell, O'Connell and O'Connell now!\n" +SPAM,"Hello Jadon Predovic,\n\nNow available!\n\nA Ballast Point Sculpin from Schultz LLC\n" +SPAM,"Dear Baby Schmitt,\n\nBuy a Allagash White from Gusikowski LLC now!\n" +SPAM,"Hello Shyann Moore,\n\nNow available!\n\nA Anchor Steam Beer from Flatley, Flatley and Flatley\n" +PHISHING,"Dear Gerald Kautzer,\n\nYour transaction qhpyasydah has failed.\n\nCall (974) 988-3460 x4262 for help.\n" +PHISHING,"Mr. Ambrose O'Reilly,\n\nYour order number jthfzyzkku has been returned.\n\nCall 713.402.6705 to get help.\n" +PHISHING,"Hello Chris Barrows,\n\nCall (868) 687-8023 x530 for help with your order wwfrdcezer. Otherwise it will be returned to the sender.\n" +PHISHING,"Hello Gabriel Kshlerin,\n\nCall +16393306190 for help with your order oyxoponask. Otherwise it will be returned to the sender.\n" +SPAM,"Hello Mr. Felix Schaefer Jr.,\n\nNow available!\n\nA Hill Farmstead Abner from Mann-Mann\n" +SPAM,"Hello Ms. Angela Grimes I,\n\nNow available!\n\nA Sierra Nevada Bigfoot Barleywine-Style Ale from Trantow PLC\n" +SPAM,"Dear Fay Stanton DVM,\n\nBuy a Saint Arnold Fancy Lawnmower from Brakus, Brakus and Brakus now!\n" +PHISHING,"Minnie Kutch MD,\n\nYour order number mywqfwyvho has been returned.\n\nCall (338) 462-0772 x0986 to get help.\n" +SPAM,"Joanie Koss,\n\nDon't miss out on buying VonRueden-VonRueden's Surly Brewing Darkness today!\n" +SPAM,"Rita Klein,\n\nDon't miss out on buying Wehner, Wehner and Wehner's Terrapin Wake n Bake today!\n" +PHISHING,"Dear Margarett Boyer,\n\nYour transaction etmxtmfhru has failed.\n\nCall 648.676.5311 x3981 for help.\n" +SPAM,"Dear Ms. Lela Macejkovic,\n\nBuy a Alpine Duet IPA from Konopelski, Konopelski and Konopelski now!\n" +SPAM,"Hello Antonietta Simonis,\n\nNow available!\n\nA Toppling Goliath PseudoSue from Upton-Upton\n" +SPAM,"Hello Mr. William Schinner,\n\nNow available!\n\nA Ballast Point Sculpin from Barrows-Barrows\n" +SPAM,"Ms. Eugenia Stanton DDS,\n\nDon't miss out on buying Kling, Kling and Kling's Lagunitas Brown Shugga today!\n" +SPAM,"Dear Janis Grimes Jr.,\n\nBuy a Alpine Duet IPA from Klein-Klein now!\n" +SPAM,"Toy Schumm,\n\nDon't miss out on buying Anderson, Anderson and Anderson's Allagash Curieux today!\n" +PHISHING,"Dear Coleman Torp,\n\nYour transaction sabcqyfgdu has failed.\n\nCall (607) 801-6109 for help.\n" +SPAM,"Dear Darren VonRueden,\n\nBuy a Westbrook Gose from Schoen Inc now!\n" +PHISHING,"Mr. Monty Jast I,\n\nYour order number gprqggvuvx has been returned.\n\nCall 424-792-2444 to get help.\n" +SPAM,"Dear Donny Brekke,\n\nBuy a Capital Autumnal Fire Doppelbock from Streich LLC now!\n" +SPAM,"Thurman Harvey V,\n\nDon't miss out on buying Zemlak Ltd's Lagunitas IPA today!\n" +SPAM,"Dear Vergie Greenfelder,\n\nBuy a Cigar City Hanaphu Imperial Stout from Willms, Willms and Willms now!\n" +PHISHING,"Ms. Emmalee Maggio,\n\nYour order number zkstogyedk has been returned.\n\nCall +1-256-205-7169 to get help.\n" +PHISHING,"Dear Mr. Keon Medhurst,\n\nYour transaction uuodefrdmb has failed.\n\nCall 650.307.3704 for help.\n" +SPAM,"Hello Rae Mann,\n\nNow available!\n\nA Craftsman Cabernale from Jacobs Group\n" +SPAM,"Dear Ms. Marisol Larson PhD,\n\nBuy a NoDa Hop Drop n Roll from O'Kon-O'Kon now!\n" +SPAM,"Dear Jaycee Predovic,\n\nBuy a Half Acre Daisy Cutter from Hills, Hills and Hills now!\n" +PHISHING,"Hello Shemar Gutkowski III,\n\nCall 1-703-290-5017 for help with your order xfqtoekgvg. Otherwise it will be returned to the sender.\n" +SPAM,"Hello Alda Carroll,\n\nNow available!\n\nA Cigar City Hanaphu Imperial Stout from Jacobi LLC\n" +SPAM,"Hello Mr. Harvey Senger,\n\nNow available!\n\nA Widmer Brothers Hefeweizen from Skiles-Skiles\n" +SPAM,"Dear Katelin Jacobs,\n\nBuy a Clown Shoes Undead Party Crasher from Kemmer LLC now!\n" +PHISHING,"Hello Mr. Lance Pollich Jr.,\n\nCall 1-725-803-9221 for help with your order hlbmzezren. Otherwise it will be returned to the sender.\n" +SPAM,"Dear Elise Paucek,\n\nBuy a Firestone Walker Union Jack IPA from Donnelly and Sons now!\n" +SPAM,"Cheyenne Hermann,\n\nDon't miss out on buying Dibbert, Dibbert and Dibbert's Highland Cold Mountain Winter Ale today!\n" +PHISHING,"Hello Jan Heller I,\n\nCall 1-301-592-8234 x08827 for help with your order wzbmdlybbs. Otherwise it will be returned to the sender.\n" +SPAM,"Dear Madonna Hauck DVM,\n\nBuy a Kern River Brewing Citra DIPA from Turner Inc now!\n" +SPAM,"Annabelle Runte,\n\nDon't miss out on buying Mann, Mann and Mann's Left Hand Milk Stout Nitro today!\n" +SPAM,"Mr. Cleveland Yost I,\n\nDon't miss out on buying Fritsch Inc's Pipeworks Citra today!\n" +SPAM,"Hello Assunta Langworth MD,\n\nNow available!\n\nA Alpine Duet IPA from Deckow Ltd\n" +SPAM,"Veronica Hartmann,\n\nDon't miss out on buying Torp-Torp's New Belgium Lips of Faith La Folie today!\n" +PHISHING,"Keaton Armstrong,\n\nYour order number snafgffxrw has been returned.\n\nCall 327.897.8523 x3273 to get help.\n" +PHISHING,"Aurelia Murazik DVM,\n\nYour order number vgmpcjjuub has been returned.\n\nCall (995) 836-8893 to get help.\n" +PHISHING,"Cary Hegmann,\n\nYour order number hcybdmjqzt has been returned.\n\nCall 1-556-510-2530 x905 to get help.\n" +PHISHING,"Dear Katrine Stiedemann,\n\nYour transaction qdoxegrduw has failed.\n\nCall 597.759.6624 x392 for help.\n" +SPAM,"Hello Walker Dickens,\n\nNow available!\n\nA Dale’s Pale Ale from King, King and King\n" +SPAM,"Reilly Ebert,\n\nDon't miss out on buying Zemlak Inc's Avery Rumpkin today!\n" +SPAM,"Hello Leopoldo Hayes,\n\nNow available!\n\nA Ballast Point Sculpin from Casper and Sons\n" +SPAM,"Hello Ms. Asa Sipes DDS,\n\nNow available!\n\nA Breckenridge Vanilla Porter from Skiles PLC\n" +PHISHING,"Mr. Esteban Wisoky,\n\nYour order number vuhbzugzir has been returned.\n\nCall +1.278.959.8318 to get help.\n" +PHISHING,"Ms. Janiya Nitzsche,\n\nYour order number qegezzobqg has been returned.\n\nCall (551) 640-2309 x468 to get help.\n" +PHISHING,"Myah Abbott,\n\nYour order number yvpnlfjtwi has been returned.\n\nCall 964-466-0131 x46361 to get help.\n" +SPAM,"Hello Neva Batz,\n\nNow available!\n\nA Brooklyn Brewery Lager from Goodwin-Goodwin\n" +PHISHING,"Luciano Koch,\n\nYour order number mjhpjaajfl has been returned.\n\nCall (985) 343-0161 to get help.\n" +SPAM,"Mathew Beahan,\n\nDon't miss out on buying Bartoletti, Bartoletti and Bartoletti's Hill Farmstead Everett Porter today!\n" +SPAM,"Dear Stacy Bosco,\n\nBuy a The Alchemist Focal Banger from Roob PLC now!\n" +PHISHING,"Murphy Lindgren IV,\n\nYour order number utgtubgccu has been returned.\n\nCall 241-949-1391 x6667 to get help.\n" +SPAM,"Dear Noel Wolff,\n\nBuy a Gigantic IPA from O'Keefe-O'Keefe now!\n" +PHISHING,"Dear Mr. Parker Harvey IV,\n\nYour transaction vrydrtqsck has failed.\n\nCall (923) 240-1785 x33892 for help.\n" +SPAM,"Mohammed Legros,\n\nDon't miss out on buying Abshire, Abshire and Abshire's Ten Fidy today!\n" +SPAM,"Dear Mr. Olaf Cormier DDS,\n\nBuy a Tröegs Nugget Nectar from Morar Ltd now!\n" +PHISHING,"Dear Candida Hudson,\n\nYour transaction spmhlurdag has failed.\n\nCall 238.681.3997 for help.\n" +SPAM,"Hello Marques Rutherford,\n\nNow available!\n\nA Highland Cold Mountain Winter Ale from Smith and Sons\n" +SPAM,"Percy Quigley,\n\nDon't miss out on buying Schiller Inc's Revolution Anti-Hero IPA today!\n" +PHISHING,"Hello Mr. Russel Goodwin,\n\nCall 975.617.9872 for help with your order tlocbsksbj. Otherwise it will be returned to the sender.\n" +PHISHING,"Dear Mr. Dedric Lebsack V,\n\nYour transaction omhzgmbudk has failed.\n\nCall (923) 380-0445 for help.\n" +PHISHING,"Hello Bryana Kilback,\n\nCall +1-843-946-5787 for help with your order lgwjomksih. Otherwise it will be returned to the sender.\n" +PHISHING,"Willard Heathcote,\n\nYour order number tmwhquzkvy has been returned.\n\nCall 983.826.5779 x199 to get help.\n" +PHISHING,"Hello Ms. Vicenta Collins,\n\nCall 246-703-0477 x53110 for help with your order csqggosbaa. Otherwise it will be returned to the sender.\n" +PHISHING,"Hello Marguerite Nikolaus,\n\nCall 652-743-8872 for help with your order ujbzjzieob. Otherwise it will be returned to the sender.\n" +SPAM,"Hello Archibald Bogisich,\n\nNow available!\n\nA DC Brau On the Wings Of Armageddon from Schamberger, Schamberger and Schamberger\n" +PHISHING,"Hoyt Von,\n\nYour order number quyyljzwjo has been returned.\n\nCall 1-930-457-8701 x2514 to get help.\n" +PHISHING,"Bethel McGlynn,\n\nYour order number hnhbrpnpck has been returned.\n\nCall 760.786.1018 to get help.\n" +SPAM,"Ms. Aylin Bergnaum Jr.,\n\nDon't miss out on buying Koch, Koch and Koch's The Alchemist Focal Banger today!\n" +SPAM,"Dear Esperanza Spinka I,\n\nBuy a Saint Arnold Fancy Lawnmower from Price, Price and Price now!\n" +PHISHING,"Hello Colton Marquardt,\n\nCall (909) 865-4929 x2342 for help with your order fodaaiorja. Otherwise it will be returned to the sender.\n" +SPAM,"Dear Ms. Yvette Jones,\n\nBuy a Samuel Adams Utopias from Barton Group now!\n" +PHISHING,"Dear Justen Christiansen,\n\nYour transaction pcyxcmlqlv has failed.\n\nCall 1-742-647-8697 x6604 for help.\n" +PHISHING,"Dear Cale Sauer PhD,\n\nYour transaction jxulwapzhg has failed.\n\nCall 1-239-488-5016 x957 for help.\n" +PHISHING,"Dear Ericka Gorczany MD,\n\nYour transaction egpqbyhvfc has failed.\n\nCall 668-645-9932 x603 for help.\n" +SPAM,"Odessa Bartoletti,\n\nDon't miss out on buying Hessel-Hessel's Firestone Walker Velvet Merkin today!\n" +PHISHING,"Dear Maximilian Hagenes,\n\nYour transaction rywxfaycgj has failed.\n\nCall (454) 252-1382 x78412 for help.\n" +SPAM,"Dear Mr. Jermey Johnson,\n\nBuy a Victory Prima Pils from Cartwright, Cartwright and Cartwright now!\n" +PHISHING,"Skylar Gislason,\n\nYour order number eqpkcdrfkg has been returned.\n\nCall 381.772.1696 x521 to get help.\n" +SPAM,"Dear Annamae Upton,\n\nBuy a Goose Island Bourbon County Stout from Morissette Group now!\n" +SPAM,"Hello Avery Toy,\n\nNow available!\n\nA Samuel Adams Utopias from Auer, Auer and Auer\n" +PHISHING,"Dear Ms. Beatrice Skiles,\n\nYour transaction ypborbpbbj has failed.\n\nCall 714-833-3758 x6696 for help.\n" +PHISHING,"Dear Cody Will,\n\nYour transaction qiuxyejegp has failed.\n\nCall 208.828.5990 x02050 for help.\n" +PHISHING,"Dear Mr. Tavares Baumbach,\n\nYour transaction kytugedncj has failed.\n\nCall 1-368-244-3862 for help.\n" +PHISHING,"Dear Mertie Wisozk,\n\nYour transaction jzsnbbkrys has failed.\n\nCall 643.746.3437 x84915 for help.\n" +SPAM,"Mr. Landen Carroll,\n\nDon't miss out on buying Hand-Hand's Floyds Dark Lord today!\n" +SPAM,"Hello Brooklyn Daugherty V,\n\nNow available!\n\nA The Alchemist Heady Topper from Romaguera and Sons\n" +SPAM,"Dear Jarred Windler,\n\nBuy a Perennial Artisan Ales Abraxas Imperial Stout from Bauch, Bauch and Bauch now!\n" +PHISHING,"Aurelia Smith,\n\nYour order number xfsfdhxrmz has been returned.\n\nCall 470-613-9114 x010 to get help.\n" +SPAM,"Dear Clint Willms,\n\nBuy a Green Flash Palate Wrecker from Gislason-Gislason now!\n" +PHISHING,"Hello Mr. Randi Hackett,\n\nCall (412) 607-7957 for help with your order bozgwjeorh. Otherwise it will be returned to the sender.\n" diff --git a/internal/service/comprehend/test-fixtures/entity_recognizer/annotations.csv b/internal/service/comprehend/test-fixtures/entity_recognizer/annotations.csv index b60f915fc593..da8fb1ebd03b 100644 --- a/internal/service/comprehend/test-fixtures/entity_recognizer/annotations.csv +++ b/internal/service/comprehend/test-fixtures/entity_recognizer/annotations.csv @@ -1,1001 +1,1001 @@ File,Line,Begin Offset,End Offset,Type -documents.txt,0,19,32,MANAGER -documents.txt,1,0,15,MANAGER -documents.txt,2,0,22,MANAGER -documents.txt,3,0,14,MANAGER -documents.txt,4,0,13,ENGINEER -documents.txt,5,0,15,ENGINEER -documents.txt,6,0,14,ENGINEER -documents.txt,7,25,41,ENGINEER -documents.txt,8,0,19,MANAGER -documents.txt,9,25,38,MANAGER -documents.txt,10,0,16,MANAGER -documents.txt,11,0,12,ENGINEER +documents.txt,0,19,29,MANAGER +documents.txt,1,0,12,MANAGER +documents.txt,2,0,16,MANAGER +documents.txt,3,0,15,MANAGER +documents.txt,4,0,16,ENGINEER +documents.txt,5,0,19,ENGINEER +documents.txt,6,0,15,ENGINEER +documents.txt,7,25,38,ENGINEER +documents.txt,8,0,13,MANAGER +documents.txt,9,25,35,MANAGER +documents.txt,10,0,15,MANAGER +documents.txt,11,0,16,ENGINEER documents.txt,12,0,10,MANAGER -documents.txt,13,36,54,MANAGER -documents.txt,14,20,33,ENGINEER -documents.txt,15,0,22,MANAGER -documents.txt,16,0,14,MANAGER -documents.txt,17,0,21,MANAGER -documents.txt,18,0,15,MANAGER -documents.txt,19,0,15,MANAGER -documents.txt,20,0,14,MANAGER -documents.txt,21,20,35,ENGINEER -documents.txt,22,19,36,MANAGER -documents.txt,23,37,55,ENGINEER -documents.txt,24,0,12,MANAGER -documents.txt,25,0,12,MANAGER -documents.txt,26,19,36,MANAGER -documents.txt,27,0,13,ENGINEER -documents.txt,28,0,15,ENGINEER -documents.txt,29,0,15,MANAGER -documents.txt,30,0,17,MANAGER -documents.txt,31,0,13,MANAGER -documents.txt,32,0,13,ENGINEER -documents.txt,33,25,39,MANAGER -documents.txt,34,25,41,MANAGER -documents.txt,35,0,11,MANAGER -documents.txt,36,25,45,ENGINEER -documents.txt,37,0,15,MANAGER -documents.txt,38,0,12,MANAGER -documents.txt,39,0,14,ENGINEER -documents.txt,40,0,15,MANAGER -documents.txt,41,0,12,MANAGER -documents.txt,42,0,14,MANAGER -documents.txt,43,0,15,MANAGER -documents.txt,44,0,14,MANAGER -documents.txt,45,37,55,ENGINEER -documents.txt,46,0,14,ENGINEER -documents.txt,47,0,12,ENGINEER -documents.txt,48,20,33,ENGINEER -documents.txt,49,25,37,MANAGER -documents.txt,50,0,15,MANAGER -documents.txt,51,0,12,MANAGER -documents.txt,52,25,40,MANAGER -documents.txt,53,0,15,ENGINEER -documents.txt,54,37,51,ENGINEER -documents.txt,55,0,18,ENGINEER -documents.txt,56,25,38,MANAGER -documents.txt,57,0,18,ENGINEER -documents.txt,58,0,11,MANAGER -documents.txt,59,0,18,MANAGER -documents.txt,60,0,13,ENGINEER -documents.txt,61,19,35,MANAGER -documents.txt,62,0,14,ENGINEER -documents.txt,63,0,13,MANAGER -documents.txt,64,0,13,MANAGER -documents.txt,65,20,42,ENGINEER -documents.txt,66,25,41,MANAGER -documents.txt,67,0,22,MANAGER -documents.txt,68,25,41,ENGINEER -documents.txt,69,20,38,ENGINEER -documents.txt,70,0,11,ENGINEER -documents.txt,71,37,52,ENGINEER -documents.txt,72,0,20,ENGINEER -documents.txt,73,25,39,ENGINEER -documents.txt,74,0,11,MANAGER -documents.txt,75,0,13,ENGINEER -documents.txt,76,37,53,ENGINEER -documents.txt,77,0,17,MANAGER -documents.txt,78,0,9,MANAGER -documents.txt,79,25,43,ENGINEER -documents.txt,80,19,35,MANAGER -documents.txt,81,0,14,ENGINEER -documents.txt,82,20,30,ENGINEER -documents.txt,83,0,17,ENGINEER -documents.txt,84,36,53,MANAGER -documents.txt,85,0,20,ENGINEER -documents.txt,86,0,11,MANAGER -documents.txt,87,0,16,ENGINEER -documents.txt,88,19,35,MANAGER -documents.txt,89,0,18,MANAGER -documents.txt,90,0,12,ENGINEER -documents.txt,91,20,31,ENGINEER -documents.txt,92,20,31,ENGINEER +documents.txt,13,36,51,MANAGER +documents.txt,14,20,41,ENGINEER +documents.txt,15,0,18,MANAGER +documents.txt,16,0,19,MANAGER +documents.txt,17,0,12,MANAGER +documents.txt,18,0,13,MANAGER +documents.txt,19,0,20,MANAGER +documents.txt,20,0,12,MANAGER +documents.txt,21,20,37,ENGINEER +documents.txt,22,19,29,MANAGER +documents.txt,23,37,51,ENGINEER +documents.txt,24,0,13,MANAGER +documents.txt,25,0,14,MANAGER +documents.txt,26,19,37,MANAGER +documents.txt,27,0,15,ENGINEER +documents.txt,28,0,12,ENGINEER +documents.txt,29,0,14,MANAGER +documents.txt,30,0,21,MANAGER +documents.txt,31,0,14,MANAGER +documents.txt,32,0,21,ENGINEER +documents.txt,33,25,42,MANAGER +documents.txt,34,25,38,MANAGER +documents.txt,35,0,14,MANAGER +documents.txt,36,25,37,ENGINEER +documents.txt,37,0,14,MANAGER +documents.txt,38,0,14,MANAGER +documents.txt,39,0,13,ENGINEER +documents.txt,40,0,12,MANAGER +documents.txt,41,0,13,MANAGER +documents.txt,42,0,20,MANAGER +documents.txt,43,0,22,MANAGER +documents.txt,44,0,17,MANAGER +documents.txt,45,37,50,ENGINEER +documents.txt,46,0,13,ENGINEER +documents.txt,47,0,14,ENGINEER +documents.txt,48,20,46,ENGINEER +documents.txt,49,25,36,MANAGER +documents.txt,50,0,13,MANAGER +documents.txt,51,0,16,MANAGER +documents.txt,52,25,39,MANAGER +documents.txt,53,0,19,ENGINEER +documents.txt,54,37,54,ENGINEER +documents.txt,55,0,15,ENGINEER +documents.txt,56,25,45,MANAGER +documents.txt,57,0,11,ENGINEER +documents.txt,58,0,18,MANAGER +documents.txt,59,0,14,MANAGER +documents.txt,60,0,10,ENGINEER +documents.txt,61,19,40,MANAGER +documents.txt,62,0,13,ENGINEER +documents.txt,63,0,16,MANAGER +documents.txt,64,0,15,MANAGER +documents.txt,65,20,32,ENGINEER +documents.txt,66,25,35,MANAGER +documents.txt,67,0,11,MANAGER +documents.txt,68,25,35,ENGINEER +documents.txt,69,20,35,ENGINEER +documents.txt,70,0,19,ENGINEER +documents.txt,71,37,53,ENGINEER +documents.txt,72,0,29,ENGINEER +documents.txt,73,25,46,ENGINEER +documents.txt,74,0,15,MANAGER +documents.txt,75,0,16,ENGINEER +documents.txt,76,37,51,ENGINEER +documents.txt,77,0,19,MANAGER +documents.txt,78,0,19,MANAGER +documents.txt,79,25,45,ENGINEER +documents.txt,80,19,41,MANAGER +documents.txt,81,0,10,ENGINEER +documents.txt,82,20,37,ENGINEER +documents.txt,83,0,14,ENGINEER +documents.txt,84,36,45,MANAGER +documents.txt,85,0,23,ENGINEER +documents.txt,86,0,21,MANAGER +documents.txt,87,0,17,ENGINEER +documents.txt,88,19,38,MANAGER +documents.txt,89,0,21,MANAGER +documents.txt,90,0,11,ENGINEER +documents.txt,91,20,39,ENGINEER +documents.txt,92,20,39,ENGINEER documents.txt,93,0,18,ENGINEER -documents.txt,94,0,13,MANAGER -documents.txt,95,25,38,MANAGER -documents.txt,96,0,18,MANAGER -documents.txt,97,37,48,ENGINEER -documents.txt,98,0,17,MANAGER -documents.txt,99,0,18,ENGINEER -documents.txt,100,0,10,MANAGER -documents.txt,101,0,15,MANAGER -documents.txt,102,0,21,ENGINEER -documents.txt,103,0,14,MANAGER -documents.txt,104,0,15,MANAGER -documents.txt,105,20,35,ENGINEER -documents.txt,106,0,16,MANAGER +documents.txt,94,0,24,MANAGER +documents.txt,95,25,40,MANAGER +documents.txt,96,0,15,MANAGER +documents.txt,97,37,49,ENGINEER +documents.txt,98,0,13,MANAGER +documents.txt,99,0,23,ENGINEER +documents.txt,100,0,17,MANAGER +documents.txt,101,0,14,MANAGER +documents.txt,102,0,13,ENGINEER +documents.txt,103,0,20,MANAGER +documents.txt,104,0,19,MANAGER +documents.txt,105,20,34,ENGINEER +documents.txt,106,0,18,MANAGER documents.txt,107,0,14,ENGINEER -documents.txt,108,0,17,MANAGER -documents.txt,109,0,13,MANAGER -documents.txt,110,0,23,MANAGER -documents.txt,111,0,17,MANAGER -documents.txt,112,0,24,MANAGER -documents.txt,113,37,58,ENGINEER -documents.txt,114,0,12,ENGINEER -documents.txt,115,0,11,ENGINEER -documents.txt,116,0,14,ENGINEER -documents.txt,117,36,48,MANAGER -documents.txt,118,0,13,ENGINEER -documents.txt,119,0,13,ENGINEER +documents.txt,108,0,15,MANAGER +documents.txt,109,0,10,MANAGER +documents.txt,110,0,14,MANAGER +documents.txt,111,0,18,MANAGER +documents.txt,112,0,18,MANAGER +documents.txt,113,37,51,ENGINEER +documents.txt,114,0,21,ENGINEER +documents.txt,115,0,18,ENGINEER +documents.txt,116,0,18,ENGINEER +documents.txt,117,36,47,MANAGER +documents.txt,118,0,20,ENGINEER +documents.txt,119,0,15,ENGINEER documents.txt,120,20,33,ENGINEER -documents.txt,121,0,15,MANAGER -documents.txt,122,0,19,ENGINEER -documents.txt,123,0,13,MANAGER -documents.txt,124,0,17,MANAGER -documents.txt,125,0,12,ENGINEER -documents.txt,126,0,16,MANAGER -documents.txt,127,25,42,MANAGER -documents.txt,128,25,36,ENGINEER -documents.txt,129,0,11,ENGINEER -documents.txt,130,0,15,ENGINEER -documents.txt,131,19,33,MANAGER +documents.txt,121,0,17,MANAGER +documents.txt,122,0,14,ENGINEER +documents.txt,123,0,20,MANAGER +documents.txt,124,0,22,MANAGER +documents.txt,125,0,18,ENGINEER +documents.txt,126,0,18,MANAGER +documents.txt,127,25,39,MANAGER +documents.txt,128,25,43,ENGINEER +documents.txt,129,0,17,ENGINEER +documents.txt,130,0,19,ENGINEER +documents.txt,131,19,36,MANAGER documents.txt,132,0,20,MANAGER -documents.txt,133,0,18,ENGINEER -documents.txt,134,37,49,ENGINEER -documents.txt,135,37,49,ENGINEER -documents.txt,136,20,37,ENGINEER -documents.txt,137,0,17,ENGINEER -documents.txt,138,0,17,ENGINEER -documents.txt,139,0,13,ENGINEER -documents.txt,140,37,57,ENGINEER -documents.txt,141,0,9,ENGINEER -documents.txt,142,0,12,MANAGER -documents.txt,143,0,10,MANAGER -documents.txt,144,0,16,MANAGER -documents.txt,145,19,30,MANAGER -documents.txt,146,19,37,MANAGER -documents.txt,147,0,12,MANAGER -documents.txt,148,0,18,MANAGER -documents.txt,149,0,12,MANAGER -documents.txt,150,0,10,ENGINEER -documents.txt,151,0,11,ENGINEER -documents.txt,152,37,48,ENGINEER -documents.txt,153,25,36,MANAGER -documents.txt,154,0,11,ENGINEER -documents.txt,155,20,35,ENGINEER -documents.txt,156,0,13,ENGINEER -documents.txt,157,0,14,MANAGER -documents.txt,158,0,18,MANAGER -documents.txt,159,0,18,MANAGER -documents.txt,160,20,34,ENGINEER +documents.txt,133,0,15,ENGINEER +documents.txt,134,37,58,ENGINEER +documents.txt,135,37,52,ENGINEER +documents.txt,136,20,34,ENGINEER +documents.txt,137,0,23,ENGINEER +documents.txt,138,0,20,ENGINEER +documents.txt,139,0,15,ENGINEER +documents.txt,140,37,56,ENGINEER +documents.txt,141,0,23,ENGINEER +documents.txt,142,0,9,MANAGER +documents.txt,143,0,17,MANAGER +documents.txt,144,0,19,MANAGER +documents.txt,145,19,32,MANAGER +documents.txt,146,19,38,MANAGER +documents.txt,147,0,19,MANAGER +documents.txt,148,0,14,MANAGER +documents.txt,149,0,18,MANAGER +documents.txt,150,0,12,ENGINEER +documents.txt,151,0,19,ENGINEER +documents.txt,152,37,54,ENGINEER +documents.txt,153,25,39,MANAGER +documents.txt,154,0,13,ENGINEER +documents.txt,155,20,38,ENGINEER +documents.txt,156,0,20,ENGINEER +documents.txt,157,0,12,MANAGER +documents.txt,158,0,15,MANAGER +documents.txt,159,0,9,MANAGER +documents.txt,160,20,33,ENGINEER documents.txt,161,25,42,MANAGER documents.txt,162,36,52,MANAGER -documents.txt,163,0,13,ENGINEER -documents.txt,164,0,15,MANAGER -documents.txt,165,0,12,ENGINEER -documents.txt,166,0,11,MANAGER -documents.txt,167,0,17,MANAGER -documents.txt,168,0,13,MANAGER +documents.txt,163,0,17,ENGINEER +documents.txt,164,0,12,MANAGER +documents.txt,165,0,8,ENGINEER +documents.txt,166,0,12,MANAGER +documents.txt,167,0,14,MANAGER +documents.txt,168,0,15,MANAGER documents.txt,169,0,14,MANAGER -documents.txt,170,0,15,MANAGER -documents.txt,171,25,39,ENGINEER -documents.txt,172,0,17,MANAGER -documents.txt,173,0,13,MANAGER -documents.txt,174,0,14,ENGINEER -documents.txt,175,0,9,MANAGER -documents.txt,176,0,16,MANAGER -documents.txt,177,20,40,ENGINEER -documents.txt,178,0,14,ENGINEER -documents.txt,179,0,15,MANAGER +documents.txt,170,0,24,MANAGER +documents.txt,171,25,44,ENGINEER +documents.txt,172,0,15,MANAGER +documents.txt,173,0,14,MANAGER +documents.txt,174,0,13,ENGINEER +documents.txt,175,0,11,MANAGER +documents.txt,176,0,13,MANAGER +documents.txt,177,20,34,ENGINEER +documents.txt,178,0,19,ENGINEER +documents.txt,179,0,22,MANAGER documents.txt,180,0,14,ENGINEER -documents.txt,181,0,13,MANAGER -documents.txt,182,20,36,ENGINEER -documents.txt,183,0,22,MANAGER -documents.txt,184,0,18,ENGINEER -documents.txt,185,0,17,MANAGER -documents.txt,186,0,13,MANAGER -documents.txt,187,0,15,MANAGER -documents.txt,188,36,47,MANAGER -documents.txt,189,0,20,ENGINEER -documents.txt,190,0,14,MANAGER +documents.txt,181,0,20,MANAGER +documents.txt,182,20,39,ENGINEER +documents.txt,183,0,20,MANAGER +documents.txt,184,0,21,ENGINEER +documents.txt,185,0,22,MANAGER +documents.txt,186,0,12,MANAGER +documents.txt,187,0,19,MANAGER +documents.txt,188,36,52,MANAGER +documents.txt,189,0,14,ENGINEER +documents.txt,190,0,13,MANAGER documents.txt,191,0,15,ENGINEER -documents.txt,192,0,18,MANAGER -documents.txt,193,0,10,MANAGER -documents.txt,194,0,18,ENGINEER -documents.txt,195,0,12,ENGINEER -documents.txt,196,25,37,MANAGER -documents.txt,197,0,10,ENGINEER -documents.txt,198,0,9,MANAGER -documents.txt,199,0,12,ENGINEER -documents.txt,200,0,16,ENGINEER -documents.txt,201,0,14,ENGINEER -documents.txt,202,0,16,MANAGER -documents.txt,203,37,53,ENGINEER -documents.txt,204,0,17,MANAGER -documents.txt,205,0,14,ENGINEER -documents.txt,206,25,45,MANAGER -documents.txt,207,0,15,MANAGER -documents.txt,208,25,42,MANAGER -documents.txt,209,19,36,MANAGER -documents.txt,210,0,15,MANAGER -documents.txt,211,0,11,MANAGER -documents.txt,212,0,12,MANAGER +documents.txt,192,0,23,MANAGER +documents.txt,193,0,15,MANAGER +documents.txt,194,0,17,ENGINEER +documents.txt,195,0,14,ENGINEER +documents.txt,196,25,45,MANAGER +documents.txt,197,0,13,ENGINEER +documents.txt,198,0,18,MANAGER +documents.txt,199,0,13,ENGINEER +documents.txt,200,0,13,ENGINEER +documents.txt,201,0,13,ENGINEER +documents.txt,202,0,13,MANAGER +documents.txt,203,37,59,ENGINEER +documents.txt,204,0,18,MANAGER +documents.txt,205,0,20,ENGINEER +documents.txt,206,25,39,MANAGER +documents.txt,207,0,14,MANAGER +documents.txt,208,25,41,MANAGER +documents.txt,209,19,34,MANAGER +documents.txt,210,0,21,MANAGER +documents.txt,211,0,10,MANAGER +documents.txt,212,0,17,MANAGER documents.txt,213,36,50,MANAGER documents.txt,214,20,43,ENGINEER -documents.txt,215,0,17,MANAGER -documents.txt,216,0,13,MANAGER -documents.txt,217,0,14,MANAGER -documents.txt,218,0,12,ENGINEER -documents.txt,219,0,13,ENGINEER -documents.txt,220,20,34,ENGINEER -documents.txt,221,0,16,ENGINEER -documents.txt,222,25,40,MANAGER -documents.txt,223,25,42,ENGINEER -documents.txt,224,25,38,MANAGER -documents.txt,225,0,14,MANAGER -documents.txt,226,0,11,MANAGER -documents.txt,227,0,12,MANAGER -documents.txt,228,0,22,ENGINEER +documents.txt,215,0,13,MANAGER +documents.txt,216,0,15,MANAGER +documents.txt,217,0,15,MANAGER +documents.txt,218,0,19,ENGINEER +documents.txt,219,0,14,ENGINEER +documents.txt,220,20,33,ENGINEER +documents.txt,221,0,20,ENGINEER +documents.txt,222,25,41,MANAGER +documents.txt,223,25,40,ENGINEER +documents.txt,224,25,41,MANAGER +documents.txt,225,0,21,MANAGER +documents.txt,226,0,15,MANAGER +documents.txt,227,0,21,MANAGER +documents.txt,228,0,20,ENGINEER documents.txt,229,0,12,ENGINEER -documents.txt,230,0,15,ENGINEER -documents.txt,231,25,42,MANAGER -documents.txt,232,0,12,ENGINEER -documents.txt,233,0,11,MANAGER -documents.txt,234,36,48,MANAGER -documents.txt,235,0,14,ENGINEER +documents.txt,230,0,16,ENGINEER +documents.txt,231,25,36,MANAGER +documents.txt,232,0,17,ENGINEER +documents.txt,233,0,19,MANAGER +documents.txt,234,36,56,MANAGER +documents.txt,235,0,13,ENGINEER documents.txt,236,36,49,MANAGER documents.txt,237,36,55,MANAGER -documents.txt,238,20,38,ENGINEER -documents.txt,239,0,10,ENGINEER -documents.txt,240,0,10,MANAGER -documents.txt,241,0,15,MANAGER -documents.txt,242,0,16,ENGINEER -documents.txt,243,0,15,ENGINEER -documents.txt,244,0,12,ENGINEER -documents.txt,245,0,11,ENGINEER -documents.txt,246,0,15,MANAGER -documents.txt,247,0,13,MANAGER -documents.txt,248,0,12,ENGINEER -documents.txt,249,0,14,ENGINEER +documents.txt,238,20,36,ENGINEER +documents.txt,239,0,13,ENGINEER +documents.txt,240,0,15,MANAGER +documents.txt,241,0,12,MANAGER +documents.txt,242,0,21,ENGINEER +documents.txt,243,0,12,ENGINEER +documents.txt,244,0,20,ENGINEER +documents.txt,245,0,12,ENGINEER +documents.txt,246,0,17,MANAGER +documents.txt,247,0,16,MANAGER +documents.txt,248,0,11,ENGINEER +documents.txt,249,0,16,ENGINEER documents.txt,250,25,37,MANAGER -documents.txt,251,25,36,MANAGER +documents.txt,251,25,38,MANAGER documents.txt,252,0,12,MANAGER -documents.txt,253,25,40,MANAGER -documents.txt,254,25,39,MANAGER -documents.txt,255,0,17,MANAGER -documents.txt,256,0,18,MANAGER -documents.txt,257,36,50,MANAGER -documents.txt,258,37,52,ENGINEER -documents.txt,259,0,20,ENGINEER -documents.txt,260,0,15,ENGINEER -documents.txt,261,36,48,MANAGER -documents.txt,262,0,13,ENGINEER -documents.txt,263,0,15,MANAGER -documents.txt,264,0,16,MANAGER -documents.txt,265,0,16,ENGINEER +documents.txt,253,25,39,MANAGER +documents.txt,254,25,35,MANAGER +documents.txt,255,0,14,MANAGER +documents.txt,256,0,16,MANAGER +documents.txt,257,36,58,MANAGER +documents.txt,258,37,48,ENGINEER +documents.txt,259,0,13,ENGINEER +documents.txt,260,0,14,ENGINEER +documents.txt,261,36,50,MANAGER +documents.txt,262,0,14,ENGINEER +documents.txt,263,0,16,MANAGER +documents.txt,264,0,18,MANAGER +documents.txt,265,0,12,ENGINEER documents.txt,266,0,17,MANAGER -documents.txt,267,36,54,MANAGER -documents.txt,268,0,15,MANAGER -documents.txt,269,0,14,ENGINEER +documents.txt,267,36,49,MANAGER +documents.txt,268,0,22,MANAGER +documents.txt,269,0,12,ENGINEER documents.txt,270,0,18,MANAGER -documents.txt,271,0,11,MANAGER -documents.txt,272,0,21,ENGINEER -documents.txt,273,0,21,ENGINEER -documents.txt,274,0,14,ENGINEER +documents.txt,271,0,14,MANAGER +documents.txt,272,0,16,ENGINEER +documents.txt,273,0,17,ENGINEER +documents.txt,274,0,20,ENGINEER documents.txt,275,0,14,MANAGER -documents.txt,276,0,18,ENGINEER -documents.txt,277,0,16,ENGINEER -documents.txt,278,0,13,MANAGER -documents.txt,279,0,15,ENGINEER -documents.txt,280,0,13,MANAGER -documents.txt,281,0,18,MANAGER -documents.txt,282,0,8,MANAGER -documents.txt,283,0,12,ENGINEER -documents.txt,284,0,15,MANAGER -documents.txt,285,36,55,MANAGER -documents.txt,286,0,16,ENGINEER -documents.txt,287,25,40,MANAGER -documents.txt,288,19,33,MANAGER -documents.txt,289,0,14,ENGINEER -documents.txt,290,0,13,ENGINEER -documents.txt,291,19,33,MANAGER -documents.txt,292,0,13,MANAGER -documents.txt,293,25,37,ENGINEER -documents.txt,294,0,16,ENGINEER -documents.txt,295,0,25,ENGINEER -documents.txt,296,0,17,ENGINEER -documents.txt,297,37,52,ENGINEER -documents.txt,298,37,53,ENGINEER -documents.txt,299,0,13,MANAGER -documents.txt,300,20,39,ENGINEER -documents.txt,301,0,15,MANAGER -documents.txt,302,0,15,MANAGER -documents.txt,303,0,12,MANAGER -documents.txt,304,0,22,MANAGER -documents.txt,305,25,42,MANAGER -documents.txt,306,0,13,ENGINEER -documents.txt,307,25,43,MANAGER -documents.txt,308,37,55,ENGINEER -documents.txt,309,0,19,MANAGER -documents.txt,310,36,53,MANAGER -documents.txt,311,0,13,ENGINEER -documents.txt,312,0,12,ENGINEER -documents.txt,313,0,12,MANAGER -documents.txt,314,36,49,MANAGER -documents.txt,315,0,18,ENGINEER -documents.txt,316,0,14,ENGINEER -documents.txt,317,0,13,MANAGER -documents.txt,318,25,37,ENGINEER -documents.txt,319,37,49,ENGINEER -documents.txt,320,0,21,ENGINEER -documents.txt,321,0,11,MANAGER -documents.txt,322,0,14,ENGINEER -documents.txt,323,25,44,MANAGER -documents.txt,324,0,13,MANAGER -documents.txt,325,25,35,ENGINEER +documents.txt,276,0,21,ENGINEER +documents.txt,277,0,11,ENGINEER +documents.txt,278,0,15,MANAGER +documents.txt,279,0,11,ENGINEER +documents.txt,280,0,11,MANAGER +documents.txt,281,0,10,MANAGER +documents.txt,282,0,13,MANAGER +documents.txt,283,0,21,ENGINEER +documents.txt,284,0,17,MANAGER +documents.txt,285,36,54,MANAGER +documents.txt,286,0,15,ENGINEER +documents.txt,287,25,43,MANAGER +documents.txt,288,19,32,MANAGER +documents.txt,289,0,13,ENGINEER +documents.txt,290,0,15,ENGINEER +documents.txt,291,19,35,MANAGER +documents.txt,292,0,22,MANAGER +documents.txt,293,25,43,ENGINEER +documents.txt,294,0,13,ENGINEER +documents.txt,295,0,12,ENGINEER +documents.txt,296,0,16,ENGINEER +documents.txt,297,37,48,ENGINEER +documents.txt,298,37,54,ENGINEER +documents.txt,299,0,15,MANAGER +documents.txt,300,20,34,ENGINEER +documents.txt,301,0,13,MANAGER +documents.txt,302,0,16,MANAGER +documents.txt,303,0,17,MANAGER +documents.txt,304,0,8,MANAGER +documents.txt,305,25,39,MANAGER +documents.txt,306,0,14,ENGINEER +documents.txt,307,25,38,MANAGER +documents.txt,308,37,50,ENGINEER +documents.txt,309,0,16,MANAGER +documents.txt,310,36,52,MANAGER +documents.txt,311,0,14,ENGINEER +documents.txt,312,0,11,ENGINEER +documents.txt,313,0,16,MANAGER +documents.txt,314,36,52,MANAGER +documents.txt,315,0,19,ENGINEER +documents.txt,316,0,17,ENGINEER +documents.txt,317,0,17,MANAGER +documents.txt,318,25,44,ENGINEER +documents.txt,319,37,50,ENGINEER +documents.txt,320,0,14,ENGINEER +documents.txt,321,0,22,MANAGER +documents.txt,322,0,20,ENGINEER +documents.txt,323,25,43,MANAGER +documents.txt,324,0,18,MANAGER +documents.txt,325,25,43,ENGINEER documents.txt,326,25,41,MANAGER -documents.txt,327,0,12,ENGINEER -documents.txt,328,0,11,MANAGER -documents.txt,329,0,22,MANAGER -documents.txt,330,0,19,MANAGER -documents.txt,331,0,13,ENGINEER -documents.txt,332,0,15,MANAGER -documents.txt,333,0,13,MANAGER -documents.txt,334,0,13,ENGINEER -documents.txt,335,25,46,MANAGER -documents.txt,336,19,39,MANAGER -documents.txt,337,0,16,ENGINEER -documents.txt,338,0,12,ENGINEER -documents.txt,339,0,11,ENGINEER -documents.txt,340,20,34,ENGINEER -documents.txt,341,0,13,MANAGER -documents.txt,342,0,11,MANAGER -documents.txt,343,0,12,MANAGER -documents.txt,344,0,16,MANAGER +documents.txt,327,0,11,ENGINEER +documents.txt,328,0,9,MANAGER +documents.txt,329,0,15,MANAGER +documents.txt,330,0,20,MANAGER +documents.txt,331,0,17,ENGINEER +documents.txt,332,0,23,MANAGER +documents.txt,333,0,15,MANAGER +documents.txt,334,0,15,ENGINEER +documents.txt,335,25,41,MANAGER +documents.txt,336,19,41,MANAGER +documents.txt,337,0,14,ENGINEER +documents.txt,338,0,16,ENGINEER +documents.txt,339,0,13,ENGINEER +documents.txt,340,20,32,ENGINEER +documents.txt,341,0,14,MANAGER +documents.txt,342,0,17,MANAGER +documents.txt,343,0,21,MANAGER +documents.txt,344,0,11,MANAGER documents.txt,345,0,13,MANAGER documents.txt,346,0,15,MANAGER -documents.txt,347,0,17,MANAGER -documents.txt,348,37,52,ENGINEER -documents.txt,349,0,12,MANAGER -documents.txt,350,36,50,MANAGER -documents.txt,351,0,12,ENGINEER +documents.txt,347,0,16,MANAGER +documents.txt,348,37,59,ENGINEER +documents.txt,349,0,22,MANAGER +documents.txt,350,36,53,MANAGER +documents.txt,351,0,17,ENGINEER documents.txt,352,0,13,ENGINEER -documents.txt,353,0,11,MANAGER -documents.txt,354,36,49,MANAGER -documents.txt,355,0,13,ENGINEER -documents.txt,356,0,18,ENGINEER -documents.txt,357,37,55,ENGINEER -documents.txt,358,20,31,ENGINEER -documents.txt,359,0,20,ENGINEER -documents.txt,360,0,15,ENGINEER +documents.txt,353,0,14,MANAGER +documents.txt,354,36,53,MANAGER +documents.txt,355,0,17,ENGINEER +documents.txt,356,0,21,ENGINEER +documents.txt,357,37,56,ENGINEER +documents.txt,358,20,37,ENGINEER +documents.txt,359,0,12,ENGINEER +documents.txt,360,0,11,ENGINEER documents.txt,361,0,14,MANAGER -documents.txt,362,0,13,MANAGER -documents.txt,363,19,34,MANAGER -documents.txt,364,0,12,MANAGER +documents.txt,362,0,15,MANAGER +documents.txt,363,19,29,MANAGER +documents.txt,364,0,14,MANAGER documents.txt,365,0,13,MANAGER -documents.txt,366,0,14,MANAGER -documents.txt,367,0,17,ENGINEER -documents.txt,368,0,13,MANAGER -documents.txt,369,0,17,ENGINEER -documents.txt,370,37,50,ENGINEER -documents.txt,371,0,19,MANAGER -documents.txt,372,25,42,ENGINEER -documents.txt,373,0,14,MANAGER -documents.txt,374,25,38,ENGINEER +documents.txt,366,0,18,MANAGER +documents.txt,367,0,13,ENGINEER +documents.txt,368,0,21,MANAGER +documents.txt,369,0,20,ENGINEER +documents.txt,370,37,52,ENGINEER +documents.txt,371,0,11,MANAGER +documents.txt,372,25,41,ENGINEER +documents.txt,373,0,15,MANAGER +documents.txt,374,25,37,ENGINEER documents.txt,375,0,13,ENGINEER -documents.txt,376,0,11,MANAGER +documents.txt,376,0,14,MANAGER documents.txt,377,0,12,ENGINEER -documents.txt,378,25,40,MANAGER -documents.txt,379,0,15,ENGINEER -documents.txt,380,0,11,ENGINEER -documents.txt,381,0,20,MANAGER -documents.txt,382,0,19,ENGINEER +documents.txt,378,25,39,MANAGER +documents.txt,379,0,14,ENGINEER +documents.txt,380,0,17,ENGINEER +documents.txt,381,0,18,MANAGER +documents.txt,382,0,11,ENGINEER documents.txt,383,0,24,ENGINEER -documents.txt,384,0,12,ENGINEER -documents.txt,385,0,16,MANAGER -documents.txt,386,0,14,MANAGER -documents.txt,387,0,9,MANAGER +documents.txt,384,0,19,ENGINEER +documents.txt,385,0,8,MANAGER +documents.txt,386,0,23,MANAGER +documents.txt,387,0,14,MANAGER documents.txt,388,0,12,MANAGER -documents.txt,389,36,50,MANAGER -documents.txt,390,20,32,ENGINEER +documents.txt,389,36,51,MANAGER +documents.txt,390,20,38,ENGINEER documents.txt,391,0,15,ENGINEER -documents.txt,392,0,17,MANAGER -documents.txt,393,19,34,MANAGER -documents.txt,394,0,17,ENGINEER +documents.txt,392,0,11,MANAGER +documents.txt,393,19,33,MANAGER +documents.txt,394,0,16,ENGINEER documents.txt,395,0,16,ENGINEER -documents.txt,396,0,16,MANAGER -documents.txt,397,0,20,ENGINEER -documents.txt,398,0,17,MANAGER -documents.txt,399,0,16,MANAGER -documents.txt,400,0,12,ENGINEER -documents.txt,401,0,10,MANAGER -documents.txt,402,0,14,MANAGER +documents.txt,396,0,17,MANAGER +documents.txt,397,0,12,ENGINEER +documents.txt,398,0,14,MANAGER +documents.txt,399,0,15,MANAGER +documents.txt,400,0,18,ENGINEER +documents.txt,401,0,18,MANAGER +documents.txt,402,0,16,MANAGER documents.txt,403,0,11,ENGINEER -documents.txt,404,25,35,ENGINEER -documents.txt,405,0,13,ENGINEER -documents.txt,406,0,13,MANAGER -documents.txt,407,36,47,MANAGER -documents.txt,408,20,31,ENGINEER -documents.txt,409,37,47,ENGINEER -documents.txt,410,0,13,ENGINEER -documents.txt,411,20,34,ENGINEER -documents.txt,412,0,19,MANAGER -documents.txt,413,0,12,ENGINEER -documents.txt,414,0,14,ENGINEER -documents.txt,415,0,14,MANAGER -documents.txt,416,20,31,ENGINEER -documents.txt,417,0,13,MANAGER -documents.txt,418,0,17,ENGINEER -documents.txt,419,0,12,ENGINEER -documents.txt,420,0,13,ENGINEER -documents.txt,421,0,15,MANAGER -documents.txt,422,19,37,MANAGER -documents.txt,423,37,50,ENGINEER -documents.txt,424,0,17,MANAGER -documents.txt,425,0,15,ENGINEER -documents.txt,426,0,9,ENGINEER -documents.txt,427,0,11,MANAGER -documents.txt,428,0,13,MANAGER -documents.txt,429,0,13,MANAGER -documents.txt,430,0,17,ENGINEER -documents.txt,431,20,39,ENGINEER -documents.txt,432,19,32,MANAGER -documents.txt,433,0,19,MANAGER +documents.txt,404,25,44,ENGINEER +documents.txt,405,0,12,ENGINEER +documents.txt,406,0,15,MANAGER +documents.txt,407,36,49,MANAGER +documents.txt,408,20,39,ENGINEER +documents.txt,409,37,48,ENGINEER +documents.txt,410,0,14,ENGINEER +documents.txt,411,20,38,ENGINEER +documents.txt,412,0,13,MANAGER +documents.txt,413,0,15,ENGINEER +documents.txt,414,0,17,ENGINEER +documents.txt,415,0,17,MANAGER +documents.txt,416,20,35,ENGINEER +documents.txt,417,0,16,MANAGER +documents.txt,418,0,18,ENGINEER +documents.txt,419,0,20,ENGINEER +documents.txt,420,0,14,ENGINEER +documents.txt,421,0,20,MANAGER +documents.txt,422,19,33,MANAGER +documents.txt,423,37,49,ENGINEER +documents.txt,424,0,11,MANAGER +documents.txt,425,0,14,ENGINEER +documents.txt,426,0,16,ENGINEER +documents.txt,427,0,14,MANAGER +documents.txt,428,0,14,MANAGER +documents.txt,429,0,26,MANAGER +documents.txt,430,0,16,ENGINEER +documents.txt,431,20,40,ENGINEER +documents.txt,432,19,35,MANAGER +documents.txt,433,0,16,MANAGER documents.txt,434,25,40,ENGINEER -documents.txt,435,0,14,MANAGER +documents.txt,435,0,11,MANAGER documents.txt,436,0,16,ENGINEER -documents.txt,437,0,24,ENGINEER -documents.txt,438,19,38,MANAGER -documents.txt,439,0,17,MANAGER -documents.txt,440,36,52,MANAGER -documents.txt,441,0,16,ENGINEER -documents.txt,442,0,20,MANAGER -documents.txt,443,0,11,MANAGER -documents.txt,444,0,12,MANAGER -documents.txt,445,0,16,MANAGER -documents.txt,446,0,13,MANAGER -documents.txt,447,0,15,MANAGER -documents.txt,448,0,14,ENGINEER -documents.txt,449,0,17,ENGINEER +documents.txt,437,0,12,ENGINEER +documents.txt,438,19,31,MANAGER +documents.txt,439,0,21,MANAGER +documents.txt,440,36,55,MANAGER +documents.txt,441,0,14,ENGINEER +documents.txt,442,0,15,MANAGER +documents.txt,443,0,10,MANAGER +documents.txt,444,0,21,MANAGER +documents.txt,445,0,13,MANAGER +documents.txt,446,0,20,MANAGER +documents.txt,447,0,14,MANAGER +documents.txt,448,0,13,ENGINEER +documents.txt,449,0,11,ENGINEER documents.txt,450,0,13,MANAGER -documents.txt,451,0,14,ENGINEER -documents.txt,452,0,12,MANAGER -documents.txt,453,0,9,MANAGER -documents.txt,454,0,18,MANAGER -documents.txt,455,25,42,ENGINEER -documents.txt,456,0,20,MANAGER -documents.txt,457,0,15,ENGINEER -documents.txt,458,37,47,ENGINEER -documents.txt,459,0,23,ENGINEER -documents.txt,460,0,13,MANAGER -documents.txt,461,19,35,MANAGER -documents.txt,462,0,10,ENGINEER -documents.txt,463,0,15,MANAGER +documents.txt,451,0,12,ENGINEER +documents.txt,452,0,11,MANAGER +documents.txt,453,0,16,MANAGER +documents.txt,454,0,14,MANAGER +documents.txt,455,25,41,ENGINEER +documents.txt,456,0,18,MANAGER +documents.txt,457,0,13,ENGINEER +documents.txt,458,37,56,ENGINEER +documents.txt,459,0,20,ENGINEER +documents.txt,460,0,18,MANAGER +documents.txt,461,19,30,MANAGER +documents.txt,462,0,14,ENGINEER +documents.txt,463,0,16,MANAGER documents.txt,464,0,12,MANAGER -documents.txt,465,0,11,MANAGER -documents.txt,466,25,38,ENGINEER -documents.txt,467,25,41,MANAGER -documents.txt,468,25,44,MANAGER -documents.txt,469,25,41,MANAGER -documents.txt,470,0,18,MANAGER -documents.txt,471,0,10,ENGINEER +documents.txt,465,0,14,MANAGER +documents.txt,466,25,44,ENGINEER +documents.txt,467,25,38,MANAGER +documents.txt,468,25,42,MANAGER +documents.txt,469,25,42,MANAGER +documents.txt,470,0,13,MANAGER +documents.txt,471,0,13,ENGINEER documents.txt,472,0,15,ENGINEER -documents.txt,473,0,17,MANAGER -documents.txt,474,19,40,MANAGER -documents.txt,475,0,15,ENGINEER -documents.txt,476,19,35,MANAGER -documents.txt,477,0,14,MANAGER -documents.txt,478,0,18,MANAGER -documents.txt,479,0,15,ENGINEER -documents.txt,480,25,47,MANAGER -documents.txt,481,20,32,ENGINEER -documents.txt,482,0,13,ENGINEER -documents.txt,483,0,24,ENGINEER -documents.txt,484,0,16,ENGINEER -documents.txt,485,0,13,MANAGER -documents.txt,486,0,20,MANAGER -documents.txt,487,0,15,MANAGER -documents.txt,488,0,15,ENGINEER -documents.txt,489,0,11,ENGINEER -documents.txt,490,0,10,MANAGER -documents.txt,491,25,38,ENGINEER -documents.txt,492,0,12,ENGINEER -documents.txt,493,0,15,MANAGER -documents.txt,494,0,12,MANAGER -documents.txt,495,0,11,ENGINEER +documents.txt,473,0,16,MANAGER +documents.txt,474,19,38,MANAGER +documents.txt,475,0,12,ENGINEER +documents.txt,476,19,41,MANAGER +documents.txt,477,0,11,MANAGER +documents.txt,478,0,17,MANAGER +documents.txt,479,0,17,ENGINEER +documents.txt,480,25,38,MANAGER +documents.txt,481,20,33,ENGINEER +documents.txt,482,0,12,ENGINEER +documents.txt,483,0,17,ENGINEER +documents.txt,484,0,24,ENGINEER +documents.txt,485,0,15,MANAGER +documents.txt,486,0,8,MANAGER +documents.txt,487,0,20,MANAGER +documents.txt,488,0,21,ENGINEER +documents.txt,489,0,10,ENGINEER +documents.txt,490,0,16,MANAGER +documents.txt,491,25,36,ENGINEER +documents.txt,492,0,14,ENGINEER +documents.txt,493,0,18,MANAGER +documents.txt,494,0,18,MANAGER +documents.txt,495,0,15,ENGINEER documents.txt,496,0,15,MANAGER documents.txt,497,0,15,ENGINEER -documents.txt,498,25,41,ENGINEER -documents.txt,499,25,38,ENGINEER -documents.txt,500,0,14,MANAGER -documents.txt,501,25,37,MANAGER -documents.txt,502,0,14,MANAGER -documents.txt,503,25,40,ENGINEER -documents.txt,504,0,10,ENGINEER -documents.txt,505,0,17,MANAGER -documents.txt,506,0,16,MANAGER -documents.txt,507,0,10,ENGINEER -documents.txt,508,0,12,MANAGER -documents.txt,509,0,13,ENGINEER -documents.txt,510,0,12,ENGINEER -documents.txt,511,25,38,ENGINEER -documents.txt,512,0,10,MANAGER -documents.txt,513,0,13,MANAGER -documents.txt,514,0,14,ENGINEER -documents.txt,515,0,15,MANAGER -documents.txt,516,0,17,MANAGER -documents.txt,517,20,32,ENGINEER -documents.txt,518,0,15,ENGINEER -documents.txt,519,0,14,ENGINEER -documents.txt,520,19,39,MANAGER -documents.txt,521,0,15,MANAGER -documents.txt,522,0,17,ENGINEER -documents.txt,523,0,15,ENGINEER -documents.txt,524,0,17,MANAGER -documents.txt,525,0,12,MANAGER -documents.txt,526,0,11,MANAGER -documents.txt,527,20,32,ENGINEER -documents.txt,528,0,16,ENGINEER -documents.txt,529,0,18,ENGINEER -documents.txt,530,20,35,ENGINEER -documents.txt,531,0,14,ENGINEER +documents.txt,498,25,46,ENGINEER +documents.txt,499,25,44,ENGINEER +documents.txt,500,0,15,MANAGER +documents.txt,501,25,47,MANAGER +documents.txt,502,0,17,MANAGER +documents.txt,503,25,39,ENGINEER +documents.txt,504,0,13,ENGINEER +documents.txt,505,0,12,MANAGER +documents.txt,506,0,9,MANAGER +documents.txt,507,0,18,ENGINEER +documents.txt,508,0,17,MANAGER +documents.txt,509,0,15,ENGINEER +documents.txt,510,0,11,ENGINEER +documents.txt,511,25,42,ENGINEER +documents.txt,512,0,18,MANAGER +documents.txt,513,0,18,MANAGER +documents.txt,514,0,16,ENGINEER +documents.txt,515,0,18,MANAGER +documents.txt,516,0,10,MANAGER +documents.txt,517,20,31,ENGINEER +documents.txt,518,0,12,ENGINEER +documents.txt,519,0,13,ENGINEER +documents.txt,520,19,34,MANAGER +documents.txt,521,0,19,MANAGER +documents.txt,522,0,20,ENGINEER +documents.txt,523,0,17,ENGINEER +documents.txt,524,0,18,MANAGER +documents.txt,525,0,16,MANAGER +documents.txt,526,0,12,MANAGER +documents.txt,527,20,35,ENGINEER +documents.txt,528,0,22,ENGINEER +documents.txt,529,0,15,ENGINEER +documents.txt,530,20,38,ENGINEER +documents.txt,531,0,17,ENGINEER documents.txt,532,0,18,MANAGER documents.txt,533,0,16,ENGINEER -documents.txt,534,0,8,ENGINEER -documents.txt,535,0,14,MANAGER -documents.txt,536,25,47,ENGINEER -documents.txt,537,0,16,ENGINEER -documents.txt,538,20,34,ENGINEER -documents.txt,539,0,14,MANAGER -documents.txt,540,0,11,MANAGER -documents.txt,541,25,37,MANAGER -documents.txt,542,0,13,MANAGER +documents.txt,534,0,15,ENGINEER +documents.txt,535,0,19,MANAGER +documents.txt,536,25,41,ENGINEER +documents.txt,537,0,15,ENGINEER +documents.txt,538,20,36,ENGINEER +documents.txt,539,0,17,MANAGER +documents.txt,540,0,13,MANAGER +documents.txt,541,25,45,MANAGER +documents.txt,542,0,12,MANAGER documents.txt,543,0,16,ENGINEER -documents.txt,544,0,10,MANAGER -documents.txt,545,0,16,ENGINEER -documents.txt,546,0,17,MANAGER -documents.txt,547,25,42,MANAGER -documents.txt,548,0,12,MANAGER -documents.txt,549,0,17,MANAGER -documents.txt,550,0,12,ENGINEER +documents.txt,544,0,12,MANAGER +documents.txt,545,0,13,ENGINEER +documents.txt,546,0,11,MANAGER +documents.txt,547,25,37,MANAGER +documents.txt,548,0,16,MANAGER +documents.txt,549,0,18,MANAGER +documents.txt,550,0,16,ENGINEER documents.txt,551,0,19,MANAGER -documents.txt,552,0,15,ENGINEER -documents.txt,553,0,16,MANAGER -documents.txt,554,20,35,ENGINEER -documents.txt,555,0,20,MANAGER +documents.txt,552,0,18,ENGINEER +documents.txt,553,0,20,MANAGER +documents.txt,554,20,38,ENGINEER +documents.txt,555,0,17,MANAGER documents.txt,556,0,15,MANAGER -documents.txt,557,0,15,MANAGER -documents.txt,558,0,17,MANAGER -documents.txt,559,0,17,ENGINEER -documents.txt,560,19,33,MANAGER -documents.txt,561,36,44,MANAGER +documents.txt,557,0,21,MANAGER +documents.txt,558,0,15,MANAGER +documents.txt,559,0,12,ENGINEER +documents.txt,560,19,32,MANAGER +documents.txt,561,36,56,MANAGER documents.txt,562,0,13,MANAGER -documents.txt,563,0,15,MANAGER -documents.txt,564,0,13,MANAGER -documents.txt,565,0,21,ENGINEER -documents.txt,566,0,22,ENGINEER -documents.txt,567,19,36,MANAGER +documents.txt,563,0,16,MANAGER +documents.txt,564,0,17,MANAGER +documents.txt,565,0,16,ENGINEER +documents.txt,566,0,12,ENGINEER +documents.txt,567,19,39,MANAGER documents.txt,568,20,33,ENGINEER -documents.txt,569,0,14,MANAGER -documents.txt,570,0,16,ENGINEER -documents.txt,571,0,13,ENGINEER -documents.txt,572,0,18,ENGINEER -documents.txt,573,0,10,ENGINEER -documents.txt,574,0,13,MANAGER -documents.txt,575,0,15,MANAGER -documents.txt,576,0,17,ENGINEER -documents.txt,577,0,17,ENGINEER -documents.txt,578,0,14,ENGINEER -documents.txt,579,0,13,MANAGER -documents.txt,580,0,17,ENGINEER -documents.txt,581,37,48,ENGINEER -documents.txt,582,0,16,ENGINEER -documents.txt,583,37,55,ENGINEER -documents.txt,584,0,11,MANAGER -documents.txt,585,37,55,ENGINEER -documents.txt,586,0,20,MANAGER -documents.txt,587,0,13,MANAGER -documents.txt,588,0,13,MANAGER -documents.txt,589,25,35,ENGINEER -documents.txt,590,0,15,ENGINEER -documents.txt,591,0,21,MANAGER -documents.txt,592,0,13,MANAGER -documents.txt,593,0,12,ENGINEER +documents.txt,569,0,10,MANAGER +documents.txt,570,0,14,ENGINEER +documents.txt,571,0,19,ENGINEER +documents.txt,572,0,11,ENGINEER +documents.txt,573,0,16,ENGINEER +documents.txt,574,0,12,MANAGER +documents.txt,575,0,16,MANAGER +documents.txt,576,0,18,ENGINEER +documents.txt,577,0,15,ENGINEER +documents.txt,578,0,23,ENGINEER +documents.txt,579,0,12,MANAGER +documents.txt,580,0,14,ENGINEER +documents.txt,581,37,55,ENGINEER +documents.txt,582,0,12,ENGINEER +documents.txt,583,37,51,ENGINEER +documents.txt,584,0,13,MANAGER +documents.txt,585,37,50,ENGINEER +documents.txt,586,0,17,MANAGER +documents.txt,587,0,16,MANAGER +documents.txt,588,0,23,MANAGER +documents.txt,589,25,39,ENGINEER +documents.txt,590,0,13,ENGINEER +documents.txt,591,0,11,MANAGER +documents.txt,592,0,17,MANAGER +documents.txt,593,0,24,ENGINEER documents.txt,594,0,16,ENGINEER -documents.txt,595,20,34,ENGINEER -documents.txt,596,20,34,ENGINEER -documents.txt,597,0,14,ENGINEER -documents.txt,598,0,17,MANAGER -documents.txt,599,0,13,MANAGER -documents.txt,600,0,20,MANAGER -documents.txt,601,0,16,MANAGER -documents.txt,602,0,18,MANAGER -documents.txt,603,0,18,MANAGER -documents.txt,604,0,19,MANAGER -documents.txt,605,0,19,MANAGER -documents.txt,606,0,12,ENGINEER -documents.txt,607,25,43,ENGINEER -documents.txt,608,0,22,MANAGER +documents.txt,595,20,29,ENGINEER +documents.txt,596,20,39,ENGINEER +documents.txt,597,0,17,ENGINEER +documents.txt,598,0,18,MANAGER +documents.txt,599,0,12,MANAGER +documents.txt,600,0,10,MANAGER +documents.txt,601,0,14,MANAGER +documents.txt,602,0,13,MANAGER +documents.txt,603,0,22,MANAGER +documents.txt,604,0,23,MANAGER +documents.txt,605,0,13,MANAGER +documents.txt,606,0,14,ENGINEER +documents.txt,607,25,42,ENGINEER +documents.txt,608,0,14,MANAGER documents.txt,609,0,12,MANAGER -documents.txt,610,36,53,MANAGER -documents.txt,611,0,12,ENGINEER -documents.txt,612,0,16,MANAGER +documents.txt,610,36,46,MANAGER +documents.txt,611,0,20,ENGINEER +documents.txt,612,0,17,MANAGER documents.txt,613,0,14,MANAGER -documents.txt,614,0,13,ENGINEER -documents.txt,615,0,17,ENGINEER -documents.txt,616,25,39,ENGINEER -documents.txt,617,0,13,ENGINEER -documents.txt,618,0,19,ENGINEER -documents.txt,619,0,15,MANAGER -documents.txt,620,0,20,MANAGER -documents.txt,621,0,15,MANAGER -documents.txt,622,0,14,ENGINEER -documents.txt,623,0,15,MANAGER +documents.txt,614,0,15,ENGINEER +documents.txt,615,0,20,ENGINEER +documents.txt,616,25,46,ENGINEER +documents.txt,617,0,12,ENGINEER +documents.txt,618,0,21,ENGINEER +documents.txt,619,0,9,MANAGER +documents.txt,620,0,18,MANAGER +documents.txt,621,0,23,MANAGER +documents.txt,622,0,12,ENGINEER +documents.txt,623,0,14,MANAGER documents.txt,624,37,51,ENGINEER -documents.txt,625,0,19,ENGINEER -documents.txt,626,0,19,ENGINEER -documents.txt,627,0,13,MANAGER -documents.txt,628,0,17,MANAGER -documents.txt,629,0,22,MANAGER -documents.txt,630,0,14,ENGINEER -documents.txt,631,0,21,ENGINEER -documents.txt,632,0,12,ENGINEER +documents.txt,625,0,18,ENGINEER +documents.txt,626,0,16,ENGINEER +documents.txt,627,0,24,MANAGER +documents.txt,628,0,16,MANAGER +documents.txt,629,0,13,MANAGER +documents.txt,630,0,21,ENGINEER +documents.txt,631,0,14,ENGINEER +documents.txt,632,0,20,ENGINEER documents.txt,633,0,16,ENGINEER -documents.txt,634,0,13,ENGINEER -documents.txt,635,36,49,MANAGER -documents.txt,636,0,10,MANAGER -documents.txt,637,0,24,MANAGER -documents.txt,638,19,36,MANAGER -documents.txt,639,0,18,ENGINEER -documents.txt,640,0,15,MANAGER -documents.txt,641,0,19,ENGINEER -documents.txt,642,0,17,ENGINEER -documents.txt,643,0,13,ENGINEER -documents.txt,644,0,18,ENGINEER -documents.txt,645,0,17,ENGINEER +documents.txt,634,0,19,ENGINEER +documents.txt,635,36,60,MANAGER +documents.txt,636,0,21,MANAGER +documents.txt,637,0,13,MANAGER +documents.txt,638,19,42,MANAGER +documents.txt,639,0,16,ENGINEER +documents.txt,640,0,19,MANAGER +documents.txt,641,0,15,ENGINEER +documents.txt,642,0,22,ENGINEER +documents.txt,643,0,14,ENGINEER +documents.txt,644,0,12,ENGINEER +documents.txt,645,0,15,ENGINEER documents.txt,646,19,29,MANAGER -documents.txt,647,0,14,ENGINEER -documents.txt,648,0,16,MANAGER -documents.txt,649,0,14,MANAGER -documents.txt,650,0,14,MANAGER -documents.txt,651,0,19,MANAGER -documents.txt,652,0,10,ENGINEER -documents.txt,653,0,18,MANAGER -documents.txt,654,0,16,ENGINEER -documents.txt,655,0,12,MANAGER -documents.txt,656,0,20,ENGINEER -documents.txt,657,19,40,MANAGER -documents.txt,658,0,12,MANAGER -documents.txt,659,0,20,MANAGER -documents.txt,660,25,39,MANAGER -documents.txt,661,0,18,MANAGER -documents.txt,662,0,16,ENGINEER -documents.txt,663,25,33,MANAGER -documents.txt,664,0,10,MANAGER -documents.txt,665,25,38,ENGINEER -documents.txt,666,0,11,MANAGER -documents.txt,667,0,17,ENGINEER -documents.txt,668,36,55,MANAGER -documents.txt,669,0,11,MANAGER -documents.txt,670,0,18,ENGINEER -documents.txt,671,0,13,ENGINEER -documents.txt,672,25,45,MANAGER -documents.txt,673,0,13,MANAGER -documents.txt,674,0,16,MANAGER -documents.txt,675,0,18,ENGINEER -documents.txt,676,0,13,ENGINEER -documents.txt,677,37,56,ENGINEER -documents.txt,678,0,16,MANAGER -documents.txt,679,0,18,MANAGER -documents.txt,680,0,17,MANAGER -documents.txt,681,25,39,MANAGER +documents.txt,647,0,13,ENGINEER +documents.txt,648,0,11,MANAGER +documents.txt,649,0,21,MANAGER +documents.txt,650,0,13,MANAGER +documents.txt,651,0,23,MANAGER +documents.txt,652,0,12,ENGINEER +documents.txt,653,0,12,MANAGER +documents.txt,654,0,10,ENGINEER +documents.txt,655,0,10,MANAGER +documents.txt,656,0,14,ENGINEER +documents.txt,657,19,33,MANAGER +documents.txt,658,0,26,MANAGER +documents.txt,659,0,15,MANAGER +documents.txt,660,25,42,MANAGER +documents.txt,661,0,16,MANAGER +documents.txt,662,0,18,ENGINEER +documents.txt,663,25,38,MANAGER +documents.txt,664,0,17,MANAGER +documents.txt,665,25,37,ENGINEER +documents.txt,666,0,12,MANAGER +documents.txt,667,0,21,ENGINEER +documents.txt,668,36,48,MANAGER +documents.txt,669,0,10,MANAGER +documents.txt,670,0,13,ENGINEER +documents.txt,671,0,14,ENGINEER +documents.txt,672,25,39,MANAGER +documents.txt,673,0,16,MANAGER +documents.txt,674,0,18,MANAGER +documents.txt,675,0,19,ENGINEER +documents.txt,676,0,14,ENGINEER +documents.txt,677,37,51,ENGINEER +documents.txt,678,0,21,MANAGER +documents.txt,679,0,15,MANAGER +documents.txt,680,0,18,MANAGER +documents.txt,681,25,41,MANAGER documents.txt,682,0,14,MANAGER -documents.txt,683,0,11,MANAGER -documents.txt,684,0,12,ENGINEER -documents.txt,685,0,20,ENGINEER -documents.txt,686,0,16,MANAGER -documents.txt,687,0,11,ENGINEER -documents.txt,688,0,9,ENGINEER -documents.txt,689,0,18,ENGINEER -documents.txt,690,0,16,MANAGER -documents.txt,691,0,15,ENGINEER -documents.txt,692,0,14,ENGINEER -documents.txt,693,0,16,ENGINEER -documents.txt,694,0,14,MANAGER -documents.txt,695,0,12,MANAGER +documents.txt,683,0,15,MANAGER +documents.txt,684,0,19,ENGINEER +documents.txt,685,0,17,ENGINEER +documents.txt,686,0,12,MANAGER +documents.txt,687,0,17,ENGINEER +documents.txt,688,0,12,ENGINEER +documents.txt,689,0,17,ENGINEER +documents.txt,690,0,13,MANAGER +documents.txt,691,0,17,ENGINEER +documents.txt,692,0,13,ENGINEER +documents.txt,693,0,14,ENGINEER +documents.txt,694,0,19,MANAGER +documents.txt,695,0,13,MANAGER documents.txt,696,0,15,ENGINEER -documents.txt,697,0,8,ENGINEER -documents.txt,698,0,11,MANAGER -documents.txt,699,0,19,ENGINEER -documents.txt,700,25,41,MANAGER -documents.txt,701,0,14,MANAGER -documents.txt,702,0,13,ENGINEER -documents.txt,703,0,15,MANAGER -documents.txt,704,25,39,ENGINEER +documents.txt,697,0,19,ENGINEER +documents.txt,698,0,15,MANAGER +documents.txt,699,0,12,ENGINEER +documents.txt,700,25,42,MANAGER +documents.txt,701,0,16,MANAGER +documents.txt,702,0,21,ENGINEER +documents.txt,703,0,11,MANAGER +documents.txt,704,25,38,ENGINEER documents.txt,705,0,10,MANAGER -documents.txt,706,0,15,MANAGER -documents.txt,707,25,36,ENGINEER -documents.txt,708,0,14,MANAGER -documents.txt,709,0,12,MANAGER -documents.txt,710,0,14,ENGINEER -documents.txt,711,36,45,MANAGER -documents.txt,712,0,15,MANAGER +documents.txt,706,0,21,MANAGER +documents.txt,707,25,38,ENGINEER +documents.txt,708,0,13,MANAGER +documents.txt,709,0,14,MANAGER +documents.txt,710,0,13,ENGINEER +documents.txt,711,36,61,MANAGER +documents.txt,712,0,20,MANAGER documents.txt,713,0,13,ENGINEER -documents.txt,714,25,37,MANAGER -documents.txt,715,0,10,ENGINEER +documents.txt,714,25,43,MANAGER +documents.txt,715,0,16,ENGINEER documents.txt,716,0,12,MANAGER documents.txt,717,0,12,MANAGER -documents.txt,718,0,17,ENGINEER +documents.txt,718,0,12,ENGINEER documents.txt,719,19,34,MANAGER -documents.txt,720,0,16,ENGINEER -documents.txt,721,0,18,ENGINEER -documents.txt,722,0,16,MANAGER +documents.txt,720,0,17,ENGINEER +documents.txt,721,0,15,ENGINEER +documents.txt,722,0,18,MANAGER documents.txt,723,37,56,ENGINEER -documents.txt,724,36,56,MANAGER -documents.txt,725,0,17,ENGINEER -documents.txt,726,0,21,MANAGER -documents.txt,727,0,13,ENGINEER -documents.txt,728,0,14,ENGINEER -documents.txt,729,0,11,MANAGER -documents.txt,730,0,13,MANAGER -documents.txt,731,0,16,ENGINEER -documents.txt,732,0,17,MANAGER -documents.txt,733,25,39,MANAGER -documents.txt,734,0,17,MANAGER -documents.txt,735,36,48,MANAGER -documents.txt,736,0,11,MANAGER -documents.txt,737,0,16,MANAGER -documents.txt,738,0,16,ENGINEER -documents.txt,739,0,16,MANAGER -documents.txt,740,0,14,MANAGER -documents.txt,741,0,16,ENGINEER +documents.txt,724,36,50,MANAGER +documents.txt,725,0,19,ENGINEER +documents.txt,726,0,13,MANAGER +documents.txt,727,0,17,ENGINEER +documents.txt,728,0,17,ENGINEER +documents.txt,729,0,23,MANAGER +documents.txt,730,0,17,MANAGER +documents.txt,731,0,17,ENGINEER +documents.txt,732,0,15,MANAGER +documents.txt,733,25,43,MANAGER +documents.txt,734,0,16,MANAGER +documents.txt,735,36,53,MANAGER +documents.txt,736,0,20,MANAGER +documents.txt,737,0,15,MANAGER +documents.txt,738,0,12,ENGINEER +documents.txt,739,0,14,MANAGER +documents.txt,740,0,13,MANAGER +documents.txt,741,0,25,ENGINEER documents.txt,742,0,17,ENGINEER -documents.txt,743,25,44,ENGINEER -documents.txt,744,25,38,ENGINEER +documents.txt,743,25,39,ENGINEER +documents.txt,744,25,36,ENGINEER documents.txt,745,0,14,ENGINEER -documents.txt,746,19,32,MANAGER -documents.txt,747,0,11,ENGINEER -documents.txt,748,0,21,ENGINEER -documents.txt,749,0,16,ENGINEER -documents.txt,750,0,18,ENGINEER -documents.txt,751,0,11,MANAGER -documents.txt,752,0,10,ENGINEER +documents.txt,746,19,34,MANAGER +documents.txt,747,0,17,ENGINEER +documents.txt,748,0,22,ENGINEER +documents.txt,749,0,19,ENGINEER +documents.txt,750,0,19,ENGINEER +documents.txt,751,0,15,MANAGER +documents.txt,752,0,19,ENGINEER documents.txt,753,0,14,ENGINEER -documents.txt,754,0,17,MANAGER -documents.txt,755,0,16,ENGINEER -documents.txt,756,0,13,MANAGER -documents.txt,757,0,18,ENGINEER -documents.txt,758,0,15,MANAGER -documents.txt,759,0,13,ENGINEER -documents.txt,760,0,10,MANAGER +documents.txt,754,0,12,MANAGER +documents.txt,755,0,12,ENGINEER +documents.txt,756,0,20,MANAGER +documents.txt,757,0,17,ENGINEER +documents.txt,758,0,12,MANAGER +documents.txt,759,0,16,ENGINEER +documents.txt,760,0,18,MANAGER documents.txt,761,0,14,ENGINEER -documents.txt,762,25,39,MANAGER -documents.txt,763,37,54,ENGINEER -documents.txt,764,0,12,MANAGER -documents.txt,765,0,14,MANAGER -documents.txt,766,0,19,MANAGER -documents.txt,767,0,18,MANAGER -documents.txt,768,20,37,ENGINEER -documents.txt,769,0,14,MANAGER -documents.txt,770,25,38,MANAGER -documents.txt,771,0,15,ENGINEER -documents.txt,772,0,13,ENGINEER -documents.txt,773,0,14,MANAGER +documents.txt,762,25,47,MANAGER +documents.txt,763,37,51,ENGINEER +documents.txt,764,0,16,MANAGER +documents.txt,765,0,16,MANAGER +documents.txt,766,0,15,MANAGER +documents.txt,767,0,13,MANAGER +documents.txt,768,20,32,ENGINEER +documents.txt,769,0,13,MANAGER +documents.txt,770,25,44,MANAGER +documents.txt,771,0,14,ENGINEER +documents.txt,772,0,23,ENGINEER +documents.txt,773,0,21,MANAGER documents.txt,774,25,39,MANAGER -documents.txt,775,0,18,MANAGER -documents.txt,776,0,17,MANAGER -documents.txt,777,0,14,MANAGER -documents.txt,778,19,33,MANAGER -documents.txt,779,0,16,MANAGER -documents.txt,780,0,10,ENGINEER -documents.txt,781,0,11,ENGINEER -documents.txt,782,20,37,ENGINEER -documents.txt,783,37,49,ENGINEER +documents.txt,775,0,9,MANAGER +documents.txt,776,0,16,MANAGER +documents.txt,777,0,16,MANAGER +documents.txt,778,19,32,MANAGER +documents.txt,779,0,17,MANAGER +documents.txt,780,0,14,ENGINEER +documents.txt,781,0,21,ENGINEER +documents.txt,782,20,36,ENGINEER +documents.txt,783,37,47,ENGINEER documents.txt,784,0,14,ENGINEER -documents.txt,785,0,10,ENGINEER +documents.txt,785,0,17,ENGINEER documents.txt,786,36,48,MANAGER -documents.txt,787,19,30,MANAGER -documents.txt,788,0,14,ENGINEER +documents.txt,787,19,39,MANAGER +documents.txt,788,0,12,ENGINEER documents.txt,789,0,16,MANAGER -documents.txt,790,0,23,ENGINEER -documents.txt,791,25,38,MANAGER -documents.txt,792,37,53,ENGINEER -documents.txt,793,0,12,ENGINEER -documents.txt,794,36,51,MANAGER -documents.txt,795,0,17,MANAGER -documents.txt,796,0,17,ENGINEER -documents.txt,797,0,18,ENGINEER -documents.txt,798,0,15,MANAGER -documents.txt,799,0,11,ENGINEER -documents.txt,800,0,14,MANAGER -documents.txt,801,0,12,ENGINEER -documents.txt,802,0,11,ENGINEER -documents.txt,803,0,15,MANAGER +documents.txt,790,0,17,ENGINEER +documents.txt,791,25,39,MANAGER +documents.txt,792,37,50,ENGINEER +documents.txt,793,0,16,ENGINEER +documents.txt,794,36,50,MANAGER +documents.txt,795,0,13,MANAGER +documents.txt,796,0,14,ENGINEER +documents.txt,797,0,19,ENGINEER +documents.txt,798,0,17,MANAGER +documents.txt,799,0,17,ENGINEER +documents.txt,800,0,15,MANAGER +documents.txt,801,0,11,ENGINEER +documents.txt,802,0,15,ENGINEER +documents.txt,803,0,10,MANAGER documents.txt,804,0,13,ENGINEER -documents.txt,805,0,14,MANAGER -documents.txt,806,20,35,ENGINEER -documents.txt,807,25,36,ENGINEER -documents.txt,808,0,15,MANAGER -documents.txt,809,0,12,ENGINEER -documents.txt,810,37,51,ENGINEER -documents.txt,811,0,10,ENGINEER -documents.txt,812,0,12,MANAGER -documents.txt,813,20,31,ENGINEER +documents.txt,805,0,18,MANAGER +documents.txt,806,20,41,ENGINEER +documents.txt,807,25,41,ENGINEER +documents.txt,808,0,11,MANAGER +documents.txt,809,0,11,ENGINEER +documents.txt,810,37,57,ENGINEER +documents.txt,811,0,15,ENGINEER +documents.txt,812,0,23,MANAGER +documents.txt,813,20,37,ENGINEER documents.txt,814,0,17,ENGINEER -documents.txt,815,0,10,ENGINEER -documents.txt,816,19,32,MANAGER -documents.txt,817,0,16,MANAGER -documents.txt,818,0,11,MANAGER -documents.txt,819,0,14,ENGINEER -documents.txt,820,0,19,MANAGER -documents.txt,821,0,13,ENGINEER -documents.txt,822,0,16,MANAGER -documents.txt,823,0,14,MANAGER +documents.txt,815,0,16,ENGINEER +documents.txt,816,19,38,MANAGER +documents.txt,817,0,13,MANAGER +documents.txt,818,0,18,MANAGER +documents.txt,819,0,21,ENGINEER +documents.txt,820,0,14,MANAGER +documents.txt,821,0,15,ENGINEER +documents.txt,822,0,18,MANAGER +documents.txt,823,0,20,MANAGER documents.txt,824,0,14,MANAGER -documents.txt,825,0,13,ENGINEER -documents.txt,826,0,14,ENGINEER -documents.txt,827,0,10,ENGINEER -documents.txt,828,0,11,MANAGER -documents.txt,829,0,15,ENGINEER -documents.txt,830,0,10,MANAGER -documents.txt,831,0,17,MANAGER -documents.txt,832,0,19,MANAGER -documents.txt,833,0,15,ENGINEER -documents.txt,834,0,20,ENGINEER -documents.txt,835,0,15,MANAGER -documents.txt,836,0,16,MANAGER -documents.txt,837,0,11,MANAGER -documents.txt,838,0,13,MANAGER -documents.txt,839,0,14,MANAGER -documents.txt,840,0,15,ENGINEER -documents.txt,841,0,16,MANAGER +documents.txt,825,0,17,ENGINEER +documents.txt,826,0,12,ENGINEER +documents.txt,827,0,15,ENGINEER +documents.txt,828,0,15,MANAGER +documents.txt,829,0,19,ENGINEER +documents.txt,830,0,12,MANAGER +documents.txt,831,0,12,MANAGER +documents.txt,832,0,13,MANAGER +documents.txt,833,0,21,ENGINEER +documents.txt,834,0,17,ENGINEER +documents.txt,835,0,12,MANAGER +documents.txt,836,0,21,MANAGER +documents.txt,837,0,19,MANAGER +documents.txt,838,0,15,MANAGER +documents.txt,839,0,20,MANAGER +documents.txt,840,0,13,ENGINEER +documents.txt,841,0,13,MANAGER documents.txt,842,25,43,ENGINEER -documents.txt,843,0,17,MANAGER -documents.txt,844,0,15,ENGINEER -documents.txt,845,0,14,MANAGER -documents.txt,846,0,16,ENGINEER -documents.txt,847,0,10,ENGINEER -documents.txt,848,0,11,ENGINEER -documents.txt,849,36,53,MANAGER -documents.txt,850,0,21,MANAGER -documents.txt,851,0,15,MANAGER -documents.txt,852,0,13,MANAGER -documents.txt,853,0,11,ENGINEER -documents.txt,854,0,22,MANAGER -documents.txt,855,0,13,MANAGER -documents.txt,856,0,12,MANAGER -documents.txt,857,0,16,ENGINEER -documents.txt,858,0,18,ENGINEER -documents.txt,859,0,9,ENGINEER -documents.txt,860,0,12,ENGINEER -documents.txt,861,0,14,ENGINEER -documents.txt,862,37,55,ENGINEER -documents.txt,863,0,12,MANAGER -documents.txt,864,0,15,ENGINEER -documents.txt,865,0,13,ENGINEER +documents.txt,843,0,13,MANAGER +documents.txt,844,0,12,ENGINEER +documents.txt,845,0,17,MANAGER +documents.txt,846,0,12,ENGINEER +documents.txt,847,0,18,ENGINEER +documents.txt,848,0,15,ENGINEER +documents.txt,849,36,49,MANAGER +documents.txt,850,0,15,MANAGER +documents.txt,851,0,20,MANAGER +documents.txt,852,0,17,MANAGER +documents.txt,853,0,10,ENGINEER +documents.txt,854,0,20,MANAGER +documents.txt,855,0,14,MANAGER +documents.txt,856,0,20,MANAGER +documents.txt,857,0,14,ENGINEER +documents.txt,858,0,19,ENGINEER +documents.txt,859,0,17,ENGINEER +documents.txt,860,0,13,ENGINEER +documents.txt,861,0,12,ENGINEER +documents.txt,862,37,56,ENGINEER +documents.txt,863,0,15,MANAGER +documents.txt,864,0,19,ENGINEER +documents.txt,865,0,19,ENGINEER documents.txt,866,0,14,ENGINEER documents.txt,867,20,32,ENGINEER -documents.txt,868,37,50,ENGINEER -documents.txt,869,0,10,ENGINEER -documents.txt,870,0,13,MANAGER -documents.txt,871,0,16,ENGINEER -documents.txt,872,0,14,ENGINEER -documents.txt,873,0,16,MANAGER -documents.txt,874,25,40,ENGINEER +documents.txt,868,37,52,ENGINEER +documents.txt,869,0,13,ENGINEER +documents.txt,870,0,14,MANAGER +documents.txt,871,0,13,ENGINEER +documents.txt,872,0,15,ENGINEER +documents.txt,873,0,12,MANAGER +documents.txt,874,25,43,ENGINEER documents.txt,875,0,14,ENGINEER documents.txt,876,36,49,MANAGER -documents.txt,877,0,9,MANAGER -documents.txt,878,0,17,MANAGER -documents.txt,879,25,39,MANAGER -documents.txt,880,0,14,MANAGER -documents.txt,881,37,57,ENGINEER +documents.txt,877,0,14,MANAGER +documents.txt,878,0,14,MANAGER +documents.txt,879,25,36,MANAGER +documents.txt,880,0,18,MANAGER +documents.txt,881,37,53,ENGINEER documents.txt,882,0,12,MANAGER -documents.txt,883,19,34,MANAGER -documents.txt,884,0,18,ENGINEER -documents.txt,885,0,16,ENGINEER -documents.txt,886,37,50,ENGINEER -documents.txt,887,0,20,ENGINEER -documents.txt,888,0,16,ENGINEER -documents.txt,889,0,19,MANAGER -documents.txt,890,0,11,MANAGER -documents.txt,891,0,10,MANAGER -documents.txt,892,0,17,ENGINEER -documents.txt,893,0,19,ENGINEER -documents.txt,894,0,9,MANAGER +documents.txt,883,19,31,MANAGER +documents.txt,884,0,13,ENGINEER +documents.txt,885,0,14,ENGINEER +documents.txt,886,37,57,ENGINEER +documents.txt,887,0,24,ENGINEER +documents.txt,888,0,11,ENGINEER +documents.txt,889,0,17,MANAGER +documents.txt,890,0,24,MANAGER +documents.txt,891,0,19,MANAGER +documents.txt,892,0,15,ENGINEER +documents.txt,893,0,10,ENGINEER +documents.txt,894,0,17,MANAGER documents.txt,895,0,14,ENGINEER -documents.txt,896,0,14,MANAGER -documents.txt,897,0,10,ENGINEER -documents.txt,898,0,20,ENGINEER -documents.txt,899,0,13,ENGINEER -documents.txt,900,0,24,ENGINEER -documents.txt,901,0,11,MANAGER -documents.txt,902,0,18,ENGINEER -documents.txt,903,0,19,MANAGER -documents.txt,904,37,52,ENGINEER -documents.txt,905,0,17,MANAGER -documents.txt,906,0,14,ENGINEER -documents.txt,907,0,13,MANAGER +documents.txt,896,0,16,MANAGER +documents.txt,897,0,15,ENGINEER +documents.txt,898,0,13,ENGINEER +documents.txt,899,0,14,ENGINEER +documents.txt,900,0,9,ENGINEER +documents.txt,901,0,10,MANAGER +documents.txt,902,0,19,ENGINEER +documents.txt,903,0,16,MANAGER +documents.txt,904,37,51,ENGINEER +documents.txt,905,0,15,MANAGER +documents.txt,906,0,13,ENGINEER +documents.txt,907,0,17,MANAGER documents.txt,908,0,16,ENGINEER -documents.txt,909,0,13,ENGINEER -documents.txt,910,0,11,ENGINEER -documents.txt,911,0,12,ENGINEER -documents.txt,912,0,16,ENGINEER -documents.txt,913,0,12,ENGINEER -documents.txt,914,36,50,MANAGER -documents.txt,915,0,15,ENGINEER -documents.txt,916,0,16,ENGINEER -documents.txt,917,36,50,MANAGER +documents.txt,909,0,17,ENGINEER +documents.txt,910,0,10,ENGINEER +documents.txt,911,0,23,ENGINEER +documents.txt,912,0,15,ENGINEER +documents.txt,913,0,10,ENGINEER +documents.txt,914,36,48,MANAGER +documents.txt,915,0,13,ENGINEER +documents.txt,916,0,20,ENGINEER +documents.txt,917,36,48,MANAGER documents.txt,918,0,12,MANAGER -documents.txt,919,0,14,ENGINEER -documents.txt,920,0,15,MANAGER -documents.txt,921,0,13,ENGINEER -documents.txt,922,20,36,ENGINEER -documents.txt,923,0,18,ENGINEER +documents.txt,919,0,22,ENGINEER +documents.txt,920,0,17,MANAGER +documents.txt,921,0,12,ENGINEER +documents.txt,922,20,33,ENGINEER +documents.txt,923,0,14,ENGINEER documents.txt,924,19,37,MANAGER -documents.txt,925,0,16,ENGINEER -documents.txt,926,0,14,ENGINEER -documents.txt,927,25,36,ENGINEER +documents.txt,925,0,12,ENGINEER +documents.txt,926,0,17,ENGINEER +documents.txt,927,25,44,ENGINEER documents.txt,928,37,49,ENGINEER -documents.txt,929,0,10,MANAGER -documents.txt,930,0,10,ENGINEER +documents.txt,929,0,20,MANAGER +documents.txt,930,0,14,ENGINEER documents.txt,931,0,14,ENGINEER -documents.txt,932,0,15,ENGINEER -documents.txt,933,0,16,MANAGER -documents.txt,934,0,14,ENGINEER -documents.txt,935,0,23,ENGINEER -documents.txt,936,0,18,ENGINEER -documents.txt,937,0,18,MANAGER -documents.txt,938,0,16,ENGINEER -documents.txt,939,36,49,MANAGER -documents.txt,940,0,15,ENGINEER -documents.txt,941,0,13,ENGINEER -documents.txt,942,0,13,MANAGER -documents.txt,943,25,39,ENGINEER -documents.txt,944,37,54,ENGINEER +documents.txt,932,0,13,ENGINEER +documents.txt,933,0,19,MANAGER +documents.txt,934,0,20,ENGINEER +documents.txt,935,0,18,ENGINEER +documents.txt,936,0,19,ENGINEER +documents.txt,937,0,25,MANAGER +documents.txt,938,0,14,ENGINEER +documents.txt,939,36,46,MANAGER +documents.txt,940,0,16,ENGINEER +documents.txt,941,0,19,ENGINEER +documents.txt,942,0,21,MANAGER +documents.txt,943,25,49,ENGINEER +documents.txt,944,37,61,ENGINEER documents.txt,945,0,12,MANAGER -documents.txt,946,0,13,ENGINEER -documents.txt,947,0,18,MANAGER -documents.txt,948,20,36,ENGINEER -documents.txt,949,0,11,ENGINEER -documents.txt,950,0,14,ENGINEER +documents.txt,946,0,18,ENGINEER +documents.txt,947,0,16,MANAGER +documents.txt,948,20,32,ENGINEER +documents.txt,949,0,16,ENGINEER +documents.txt,950,0,16,ENGINEER documents.txt,951,0,15,ENGINEER -documents.txt,952,0,16,MANAGER -documents.txt,953,0,10,ENGINEER -documents.txt,954,0,18,ENGINEER -documents.txt,955,0,15,MANAGER -documents.txt,956,25,37,MANAGER -documents.txt,957,0,15,ENGINEER -documents.txt,958,0,10,MANAGER -documents.txt,959,0,14,ENGINEER -documents.txt,960,0,18,ENGINEER -documents.txt,961,0,14,MANAGER -documents.txt,962,0,14,MANAGER -documents.txt,963,0,14,MANAGER -documents.txt,964,0,12,ENGINEER -documents.txt,965,0,19,MANAGER -documents.txt,966,0,17,ENGINEER -documents.txt,967,0,12,ENGINEER -documents.txt,968,0,15,MANAGER -documents.txt,969,0,17,ENGINEER -documents.txt,970,0,11,MANAGER -documents.txt,971,25,39,ENGINEER -documents.txt,972,0,12,ENGINEER -documents.txt,973,19,33,MANAGER -documents.txt,974,19,32,MANAGER -documents.txt,975,0,23,MANAGER -documents.txt,976,20,44,ENGINEER -documents.txt,977,0,13,ENGINEER +documents.txt,952,0,21,MANAGER +documents.txt,953,0,11,ENGINEER +documents.txt,954,0,19,ENGINEER +documents.txt,955,0,18,MANAGER +documents.txt,956,25,39,MANAGER +documents.txt,957,0,12,ENGINEER +documents.txt,958,0,14,MANAGER +documents.txt,959,0,18,ENGINEER +documents.txt,960,0,16,ENGINEER +documents.txt,961,0,15,MANAGER +documents.txt,962,0,24,MANAGER +documents.txt,963,0,17,MANAGER +documents.txt,964,0,25,ENGINEER +documents.txt,965,0,12,MANAGER +documents.txt,966,0,11,ENGINEER +documents.txt,967,0,15,ENGINEER +documents.txt,968,0,11,MANAGER +documents.txt,969,0,11,ENGINEER +documents.txt,970,0,10,MANAGER +documents.txt,971,25,40,ENGINEER +documents.txt,972,0,10,ENGINEER +documents.txt,973,19,32,MANAGER +documents.txt,974,19,36,MANAGER +documents.txt,975,0,18,MANAGER +documents.txt,976,20,35,ENGINEER +documents.txt,977,0,19,ENGINEER documents.txt,978,0,15,MANAGER -documents.txt,979,0,19,ENGINEER -documents.txt,980,0,12,MANAGER +documents.txt,979,0,12,ENGINEER +documents.txt,980,0,14,MANAGER documents.txt,981,25,40,MANAGER -documents.txt,982,0,12,ENGINEER -documents.txt,983,0,13,MANAGER -documents.txt,984,0,12,MANAGER -documents.txt,985,37,53,ENGINEER -documents.txt,986,25,38,ENGINEER -documents.txt,987,0,11,ENGINEER -documents.txt,988,37,50,ENGINEER -documents.txt,989,0,18,ENGINEER -documents.txt,990,20,35,ENGINEER -documents.txt,991,19,33,MANAGER -documents.txt,992,0,18,MANAGER -documents.txt,993,0,17,MANAGER -documents.txt,994,0,11,MANAGER -documents.txt,995,0,13,MANAGER -documents.txt,996,0,14,MANAGER -documents.txt,997,0,13,MANAGER -documents.txt,998,0,17,MANAGER -documents.txt,999,25,37,ENGINEER +documents.txt,982,0,14,ENGINEER +documents.txt,983,0,14,MANAGER +documents.txt,984,0,14,MANAGER +documents.txt,985,37,54,ENGINEER +documents.txt,986,25,40,ENGINEER +documents.txt,987,0,15,ENGINEER +documents.txt,988,37,56,ENGINEER +documents.txt,989,0,17,ENGINEER +documents.txt,990,20,37,ENGINEER +documents.txt,991,19,48,MANAGER +documents.txt,992,0,20,MANAGER +documents.txt,993,0,14,MANAGER +documents.txt,994,0,13,MANAGER +documents.txt,995,0,15,MANAGER +documents.txt,996,0,16,MANAGER +documents.txt,997,0,21,MANAGER +documents.txt,998,0,10,MANAGER +documents.txt,999,25,41,ENGINEER diff --git a/internal/service/comprehend/test-fixtures/entity_recognizer/documents.txt b/internal/service/comprehend/test-fixtures/entity_recognizer/documents.txt index f68319e5bb7c..d9934f3eb377 100644 --- a/internal/service/comprehend/test-fixtures/entity_recognizer/documents.txt +++ b/internal/service/comprehend/test-fixtures/entity_recognizer/documents.txt @@ -1,1000 +1,1000 @@ -Announcing manager Gerson Parker. -Nickolas Little is a manager. -Alejandra Stiedemann V has been an manager for over a decade. -Eunice Leannon will be the new manager for the team. -Sunny Schmitt is a engineer in the high tech industry. -Anika Gutkowski is a engineer with Example Corp. -Delaney Fisher is retiring as a engineer. -Our latest new employee, Christian Maggio, has been a engineer in the industry for 4 years. -Mathias Hettinger I is retiring as a manager. -Our latest new employee, Elias Quitzon, has been a manager in the industry for 4 years. -Alexandra Wunsch has been an manager for over a decade. -Guido Kemmer joins us as an engineer on the Example project. -Sim Kemmer is a manager with Example Corp. -Help me welcome our newest manager, Vincenza Kertzmann. -Announcing engineer Skye Kuhn Jr.. -Kasandra Cartwright MD is a manager in the high tech industry. -Ettie Schimmel is a manager. -Karlee McCullough Jr. will be the new manager for the team. -Adeline Johnson is a manager with Example Corp. -Cory Morissette has been an manager for over a decade. -Brandy Abshire joins us as an manager on the Example project. -Announcing engineer Jerome Homenick. -Announcing manager Ms. Doris Ziemann. -Help me welcome our newest engineer, Ms. Marlene Larkin. -Amos Kuhlman, an manager, will be presenting the award. -Ana Ortiz II has been a manager for 14 years. -Announcing manager Jewell Konopelski. -Larry Effertz has been a engineer for 14 years. -Ms. Vernice Fay has been an engineer for over a decade. -Miss Dion Ratke is a manager. -Rachelle Lubowitz has been an manager for over a decade. -Rachael Moore is a manager in the high tech industry. -Sabrina Walsh will be the new engineer for the team. -Our latest new employee, Tamara Nicolas, has been a manager in the industry for 4 years. -Our latest new employee, Martin Lynch Sr., has been a manager in the industry for 4 years. -Kaya Wisozk is a manager in the high tech industry. -Our latest new employee, Mrs. Cassandra Robel, has been a engineer in the industry for 4 years. -Donny Schroeder has been an manager for over a decade. -Emmanuel Fay is a manager with Example Corp. -Jefferey Adams will be the new engineer for the team. -Godfrey Feest V, an manager, will be presenting the award. -Melyna Mertz has been a manager for 14 years. -Audreanne Wiza is a manager with Example Corp. -Jarvis O'Conner is a manager. -Mertie Sanford joins us as an manager on the Example project. -Help me welcome our newest engineer, Keshaun Altenwerth. -Aric Beier Sr. is a engineer with Example Corp. -Hoyt Rowe MD is a engineer with Example Corp. -Announcing engineer Aurelia Hintz. -Our latest new employee, Keon Stanton, has been a manager in the industry for 4 years. -Candace Wiegand is a manager with Example Corp. -Flavio Smith is retiring as a manager. -Our latest new employee, Mr. Zachery Toy, has been a manager in the industry for 4 years. -Kaleigh Murazik has been a engineer for 14 years. -Help me welcome our newest engineer, Pattie Kuvalis. -Serena Heidenreich has been a engineer for 14 years. -Our latest new employee, Simone Little, has been a manager in the industry for 4 years. -Ms. Carolina Mante has been a engineer for 14 years. -Julia Lemke has been a manager for 14 years. -Mrs. Meagan Fisher has been an manager for over a decade. -Molly Goldner joins us as an engineer on the Example project. -Announcing manager Mrs. Dax McGlynn. -Tyrique Harber has been an engineer for over a decade. -Mia Larkin II joins us as an manager on the Example project. -Winona Schoen, an manager, will be presenting the award. -Announcing engineer Dr. Antonette Cummings. -Our latest new employee, Mr. Sonya Cassin, has been a manager in the industry for 4 years. -Timothy Bartoletti DDS has been a manager for 14 years. -Our latest new employee, Winifred Reinger, has been a engineer in the industry for 4 years. -Announcing engineer Marcella Bahringer. -Rhea Kohler is a engineer. -Help me welcome our newest engineer, Alia McCullough. -Mr. Israel Gulgowski is a engineer. -Our latest new employee, Jana Wilkinson, has been a engineer in the industry for 4 years. -Marjory Fay will be the new manager for the team. -Alena Mueller is a engineer with Example Corp. -Help me welcome our newest engineer, Kristian Keebler. -Katheryn Dietrich is a manager with Example Corp. -Mya Grady has been an manager for over a decade. -Our latest new employee, Kyra Heidenreich V, has been a engineer in the industry for 4 years. -Announcing manager Dr. Cortez Thiel. -Shyanne Hirthe has been an engineer for over a decade. -Announcing engineer Herta Mohr. -Winfield Thompson is a engineer in the high tech industry. -Help me welcome our newest manager, Miss Bette Dooley. -Mrs. Freida Shanahan has been an engineer for over a decade. -Sunny Towne is a manager in the high tech industry. -Kayley Schneider joins us as an engineer on the Example project. -Announcing manager Anderson Hagenes. -Barrett Paucek Jr. is a manager. -Lillian Koss, an engineer, will be presenting the award. -Announcing engineer Lance Zieme. -Announcing engineer Van Hackett. -Cullen Schamberger is a engineer in the high tech industry. -Arvel Stanton joins us as an manager on the Example project. -Our latest new employee, Nedra Goldner, has been a manager in the industry for 4 years. -Ms. Zetta Lindgren is a manager in the high tech industry. -Help me welcome our newest engineer, Faye Ledner. -Trystan Hilll PhD has been an manager for over a decade. -Arnold Hermann Jr. will be the new engineer for the team. -Hank Towne is a manager in the high tech industry. -Monroe Schmeler has been a manager for 14 years. -Genesis Wintheiser II will be the new engineer for the team. -Angie O'Reilly has been an manager for over a decade. -Deshawn Reinger is a manager in the high tech industry. -Announcing engineer Mrs. Molly Lowe. -Kimberly Osinski is a manager in the high tech industry. -Napoleon Sauer is a engineer in the high tech industry. -Leonardo Champlin is a manager. -Anita Bartell is a manager in the high tech industry. -Mrs. Jennifer Buckridge has been a manager for 14 years. -Patrick Gulgowski is a manager with Example Corp. -Miss Brooks Christiansen, an manager, will be presenting the award. -Help me welcome our newest engineer, Ms. Alejandra Shields. -Callie Lynch will be the new engineer for the team. -Hyman Bruen will be the new engineer for the team. -Ms. Lera Grant, an engineer, will be presenting the award. -Help me welcome our newest manager, Laney West V. -Shyanne Price is a engineer. -Leanna Schoen is a engineer in the high tech industry. -Announcing engineer Clement Bayer. -Mrs. Colt Kozey is retiring as a manager. -Dr. Logan Dickinson will be the new engineer for the team. -Valentin Torp has been a manager for 14 years. -Kathlyn Bechtelar, an manager, will be presenting the award. -Vita Pollich has been a engineer for 14 years. -Benedict Flatley is a manager with Example Corp. -Our latest new employee, Dedrick Corkery V, has been a manager in the industry for 4 years. -Our latest new employee, Shea Kohler, has been a engineer in the industry for 4 years. -Tiana Mertz is a engineer in the high tech industry. -Margarett Kunze has been a engineer for 14 years. -Announcing manager Alan Bashirian. -Dr. Precious Murazik has been an manager for over a decade. -Ms. Karine Langosh has been a engineer for 14 years. -Help me welcome our newest engineer, Letha Skiles. -Help me welcome our newest engineer, Nikko Dooley. -Announcing engineer Filomena McKenzie. -Rosario Grant Sr., an engineer, will be presenting the award. -Gonzalo Douglas V, an engineer, will be presenting the award. -Lempi Pollich will be the new engineer for the team. -Help me welcome our newest engineer, Candida O'Reilly Sr.. -Dena Lind is a engineer with Example Corp. -Blair Renner is a manager with Example Corp. -Imani Roob joins us as an manager on the Example project. -Miss Drake Johns will be the new manager for the team. -Announcing manager Murl Jacobi. -Announcing manager Nicolette Prohaska. -Leif Quigley is a manager with Example Corp. -Hugh Gleichner III has been an manager for over a decade. -Neil Witting is a manager. -Ivah Moore is a engineer in the high tech industry. -Amira Bruen is retiring as a engineer. -Help me welcome our newest engineer, Loy Kerluke. -Our latest new employee, Cleta Berge, has been a manager in the industry for 4 years. -Asa Schaden has been a engineer for 14 years. -Announcing engineer Marlin Nitzsche. -Mellie Hansen has been an engineer for over a decade. -Pauline Willms has been an manager for over a decade. -Giovanna Marquardt is a manager in the high tech industry. -Kristian Conroy IV has been a manager for 14 years. -Announcing engineer Aiyana Hagenes. -Our latest new employee, Melisa Barton Jr., has been a manager in the industry for 4 years. -Help me welcome our newest manager, Robbie Bechtelar. -Citlalli Lind joins us as an engineer on the Example project. -Karlee Lubowitz is a manager in the high tech industry. -Isidro Jerde is a engineer with Example Corp. -Conor Lemke joins us as an manager on the Example project. -Murphy Rutherford joins us as an manager on the Example project. -Omari Schultz has been an manager for over a decade. -Selmer Labadie is a manager in the high tech industry. -Alverta Hilpert, an manager, will be presenting the award. -Our latest new employee, Ali Dooley III, has been a engineer in the industry for 4 years. -Benjamin Lubowitz is a manager. -Trenton Hilll will be the new manager for the team. -Bethel Carroll, an engineer, will be presenting the award. -Nick Lang will be the new manager for the team. -Ms. Chase Graham has been an manager for over a decade. -Announcing engineer Melany Buckridge PhD. -Ursula McGlynn joins us as an engineer on the Example project. -Jackie Kshlerin is a manager. -Jarvis Langosh is a engineer. -Bonnie Bednar will be the new manager for the team. -Announcing engineer Simeon Dickinson. -Annamarie VonRueden MD has been an manager for over a decade. -Ms. Hilton Hagenes has been an engineer for over a decade. -Jaqueline D'Amore has been an manager for over a decade. -Mario Bartell will be the new manager for the team. -Frances Kovacek has been an manager for over a decade. -Help me welcome our newest manager, Avery Lakin. -Brittany Flatley DDS, an engineer, will be presenting the award. -Violette Sauer has been an manager for over a decade. -Dorothy Farrell is a engineer in the high tech industry. -Miss Jordan Crooks is a manager in the high tech industry. -Jadyn West joins us as an manager on the Example project. -Mrs. Johanna Borer is a engineer with Example Corp. -Elyssa Crist joins us as an engineer on the Example project. -Our latest new employee, Carli Kohler, has been a manager in the industry for 4 years. -Dasia Dare has been a engineer for 14 years. -Lane Rath has been an manager for over a decade. -Davion Kunze, an engineer, will be presenting the award. -Vada Stoltenberg, an engineer, will be presenting the award. -London Hagenes has been an engineer for over a decade. -Albin Wintheiser will be the new manager for the team. -Help me welcome our newest engineer, Mr. Eloise Jones. -Rashawn Bechtelar is a manager with Example Corp. -Linwood Casper, an engineer, will be presenting the award. -Our latest new employee, Mr. Phyllis O'Reilly, has been a manager in the industry for 4 years. -Carrie Franecki is a manager in the high tech industry. -Our latest new employee, Mikel Daugherty I, has been a manager in the industry for 4 years. -Announcing manager Jorge Connelly IV. -Victor Cummings is a manager with Example Corp. -Felton Kris has been a manager for 14 years. -Barney Klein is a manager with Example Corp. -Help me welcome our newest manager, Verdie Strosin. -Announcing engineer Izabella Vandervort DDS. -Philip Hodkiewicz has been an manager for over a decade. -Mr. Carol Orn, an manager, will be presenting the award. -Ursula Cormier is a manager. -Ellen Hudson is retiring as a engineer. -Bobby Conn II has been an engineer for over a decade. -Announcing engineer Mathilde Bayer. -Ms. Marcus Ferry has been an engineer for over a decade. -Our latest new employee, Tyshawn Volkman, has been a manager in the industry for 4 years. -Our latest new employee, Ladarius Predovic, has been a engineer in the industry for 4 years. -Our latest new employee, Ally Parisian, has been a manager in the industry for 4 years. -Briana Reinger joins us as an manager on the Example project. -Piper Kutch has been a manager for 14 years. -Armand Ratke is a manager with Example Corp. -Stephon McLaughlin DDS joins us as an engineer on the Example project. -Cordell Cole is a engineer with Example Corp. -Earl Altenwerth is retiring as a engineer. -Our latest new employee, Garrison Lang Jr., has been a manager in the industry for 4 years. -Ahmad Heaney, an engineer, will be presenting the award. -Jed Pollich has been a manager for 14 years. -Help me welcome our newest manager, Hudson Wyman. -Dena Crist DVM has been an engineer for over a decade. -Help me welcome our newest manager, Gino Auer III. -Help me welcome our newest manager, Miss Xavier Farrell. -Announcing engineer Lawrence Considine. -Coby Lesch is a engineer in the high tech industry. -Hardy Mohr joins us as an manager on the Example project. -Dr. Tamara Ryan is retiring as a manager. -Alia Quigley PhD, an engineer, will be presenting the award. -Noelia Bergnaum is a engineer with Example Corp. -Dakota Brown is a engineer. -Elmo Rogahn is a engineer. -Roxanne Weimann joins us as an manager on the Example project. -Gay Langworth is a manager in the high tech industry. -Ellis Ledner joins us as an engineer on the Example project. -Weston Murazik will be the new engineer for the team. -Our latest new employee, Josefa Sauer, has been a manager in the industry for 4 years. -Our latest new employee, Ilene Wyman, has been a manager in the industry for 4 years. -Nia Gottlieb, an manager, will be presenting the award. -Our latest new employee, Crawford Wehner, has been a manager in the industry for 4 years. -Our latest new employee, Brenna Ritchie, has been a manager in the industry for 4 years. -Ms. Mariah Hudson joins us as an manager on the Example project. -Tyra Schneider Sr. has been an manager for over a decade. -Help me welcome our newest manager, Andreane Johns. -Help me welcome our newest engineer, Mrs. Mabel Rice. -Emelia Jaskolski PhD is a engineer. -Spencer Cole II is a engineer in the high tech industry. -Help me welcome our newest manager, Doris Stokes. -Lilian Erdman has been a engineer for 14 years. -Ms. Ramona Torp is retiring as a manager. -Ms. Lauryn Stark, an manager, will be presenting the award. -Israel Greenholt will be the new engineer for the team. -Ms. Boris Leannon is a manager with Example Corp. -Help me welcome our newest manager, Pearlie Swaniawski. -Delores Kilback joins us as an manager on the Example project. -Mariam Schultz is a engineer in the high tech industry. -Dimitri Mueller IV is a manager with Example Corp. -Maud Beahan will be the new manager for the team. -Fletcher Predovic DVM, an engineer, will be presenting the award. -Mrs. Joanne Aufderhar will be the new engineer for the team. -Miss Paul Lowe is retiring as a engineer. -Johnpaul Swift has been an manager for over a decade. -Miss Rowena Pouros is a engineer. -Benjamin Jenkins is a engineer. -Erwin Jenkins will be the new manager for the team. -Ms. Zula Turner, an engineer, will be presenting the award. -Rhiannon Lind is retiring as a manager. -Mrs. Garth Labadie will be the new manager for the team. -Mia King is a manager in the high tech industry. -Ewald Cronin is a engineer with Example Corp. -Carrie Roob III has been an manager for over a decade. -Help me welcome our newest manager, Clementina Schmeler. -Stewart Sipes II has been an engineer for over a decade. -Our latest new employee, Katelin D'Amore, has been a manager in the industry for 4 years. -Announcing manager Verlie Wiegand. -Marie Schaefer is a engineer with Example Corp. -Tillman Boehm is a engineer in the high tech industry. -Announcing manager Jacklyn Kohler. -Katrine Bruen will be the new manager for the team. -Our latest new employee, Lisa Gaylord, has been a engineer in the industry for 4 years. -Virginia Ruecker, an engineer, will be presenting the award. -Mrs. Garnett Christiansen joins us as an engineer on the Example project. -Anderson Weissnat has been an engineer for over a decade. -Help me welcome our newest engineer, Marie Armstrong. -Help me welcome our newest engineer, Prudence Fahey V. -Bria Medhurst will be the new manager for the team. -Announcing engineer Ms. Dewitt Bernhard. -Stanford Miller has been a manager for 14 years. -Freddie Treutel, an manager, will be presenting the award. -Oceane Bayer has been an manager for over a decade. -Ms. Adalberto Lindgren joins us as an manager on the Example project. -Our latest new employee, Meagan Bartoletti, has been a manager in the industry for 4 years. -Wilhelm Kutch, an engineer, will be presenting the award. -Our latest new employee, Khalid Farrell Sr., has been a manager in the industry for 4 years. -Help me welcome our newest engineer, Ms. Allison Zemlak. -Judson Rodriguez MD is a manager with Example Corp. -Help me welcome our newest manager, Mr. Alena Stanton. -Kaylin Kohler has been a engineer for 14 years. -Melany Price is a engineer with Example Corp. -Palma Brekke is a manager. -Help me welcome our newest manager, Ozella Larson. -Earnestine Sanford will be the new engineer for the team. -Kathryne Tromp has been an engineer for over a decade. -Ted Abernathy is a manager with Example Corp. -Our latest new employee, Nelle Waters, has been a engineer in the industry for 4 years. -Help me welcome our newest engineer, Dawn Kautzer. -Ms. Itzel Breitenberg has been an engineer for over a decade. -Meta Gibson is a manager in the high tech industry. -Haven Nitzsche joins us as an engineer on the Example project. -Our latest new employee, Antonetta Kilback I, has been a manager in the industry for 4 years. -Kiara Zboncak joins us as an manager on the Example project. -Our latest new employee, Leola Kris, has been a engineer in the industry for 4 years. -Our latest new employee, Mr. Conrad Hills, has been a manager in the industry for 4 years. -Alize Rogahn has been a engineer for 14 years. -Rudy Hamill is a manager in the high tech industry. -Ms. Celestino Turcotte joins us as an manager on the Example project. -Ms. Annetta Stracke has been an manager for over a decade. -Hailie Hudson is a engineer. -Mrs. Deven Moen joins us as an manager on the Example project. -Callie Larson is a manager with Example Corp. -Quentin Morar joins us as an engineer on the Example project. -Our latest new employee, Antonietta Kuhlman II, has been a manager in the industry for 4 years. -Announcing manager Cristal Shanahan DVM. -Cristopher Boyer joins us as an engineer on the Example project. -Keely Larkin joins us as an engineer on the Example project. -Royce Berge is a engineer with Example Corp. -Announcing engineer Benjamin Hilll. -Rashawn Bogan is retiring as a manager. -Ted Collier has been a manager for 14 years. -Alene Corwin has been an manager for over a decade. -David Hodkiewicz is a manager with Example Corp. -Garland Kuhic has been an manager for over a decade. -Sonya Wilderman is a manager. -Quinn Bradtke Jr. is a manager with Example Corp. -Help me welcome our newest engineer, Ellen Cummerata. -Mason Beatty, an manager, will be presenting the award. -Help me welcome our newest manager, Camylle Muller. -Hadley Upton has been a engineer for 14 years. -Keara Pfeffer is a engineer with Example Corp. -Angie Walsh is retiring as a manager. -Help me welcome our newest manager, Earl Cummings. -Ephraim Marks is retiring as a engineer. -Orval Reichert DDS is a engineer. -Help me welcome our newest engineer, Katheryn Gleichner. -Announcing engineer Jalyn Fay I. -Virginia Keebler DVM is retiring as a engineer. -Raphael Leffler is a engineer. -Juliana Stokes is a manager with Example Corp. -Casper Herman is a manager in the high tech industry. -Announcing manager Vladimir Reilly. -Erin Okuneva has been an manager for over a decade. -Martine White is retiring as a manager. -Tristian Mertz is a manager. -Mr. Sammy Schmitt is a engineer with Example Corp. -Alec Schuster joins us as an manager on the Example project. -Ms. Lorenza Walsh will be the new engineer for the team. -Help me welcome our newest engineer, Eldora Mayert. -Justina Breitenberg will be the new manager for the team. -Our latest new employee, Mariela Grady Jr., has been a engineer in the industry for 4 years. -Kevon Baumbach, an manager, will be presenting the award. -Our latest new employee, Wendell Hayes, has been a engineer in the industry for 4 years. -Pat Aufderhar is a engineer with Example Corp. -Bart Senger joins us as an manager on the Example project. -Kaitlyn Hahn is a engineer. -Our latest new employee, Mrs. Else Kozey, has been a manager in the industry for 4 years. -Mr. Ashton Batz will be the new engineer for the team. -Lilly Koepp has been a engineer for 14 years. -Mrs. Alfredo Cormier has been a manager for 14 years. -Gail Swaniawski DVM is a engineer. -Mrs. Valentina Wilderman has been an engineer for over a decade. -Paxton Doyle is a engineer in the high tech industry. -Jarret Block PhD joins us as an manager on the Example project. -Arnaldo Blanda joins us as an manager on the Example project. -Aiden Orn has been an manager for over a decade. -Florine West is a manager. -Help me welcome our newest manager, Sincere Harber. -Announcing engineer Joan Ziemann. -Katelyn Schultz has been an engineer for over a decade. -Maximus Gleichner is a manager in the high tech industry. -Announcing manager Elenor Schuster. -Marcelino Kautzer will be the new engineer for the team. -Lea Schulist Sr. has been a engineer for 14 years. -Jeanne Carter MD is a manager in the high tech industry. -Kayleigh Goldner DDS is a engineer in the high tech industry. -Hilario Denesik I is a manager with Example Corp. -Shirley Reichert has been a manager for 14 years. -Kris Dickens is a engineer. -Gene Frami, an manager, will be presenting the award. -Sadye Jacobson is a manager in the high tech industry. -Buck Cremin joins us as an engineer on the Example project. -Our latest new employee, Coty Lesch, has been a engineer in the industry for 4 years. -Dr. Kim Mertz has been an engineer for over a decade. -Randy Sanford will be the new manager for the team. -Help me welcome our newest manager, Levi Kirlin. -Announcing engineer Davin Yundt. -Help me welcome our newest engineer, Enola Bins. -Trent Kuvalis, an engineer, will be presenting the award. -Announcing engineer Jake Powlowski. -Ms. Ashlee Emmerich, an manager, will be presenting the award. -Hannah Davis, an engineer, will be presenting the award. -Wayne Champlin joins us as an engineer on the Example project. -Nikki Conn Jr. is a manager. -Announcing engineer Carli Bauch. -Norbert Feest is a manager in the high tech industry. -Robbie Wintheiser has been an engineer for over a decade. -Leta Abshire is a engineer in the high tech industry. -Fannie Walker is a engineer. -Heber Wilkinson is a manager with Example Corp. -Announcing manager Willie Bernier III. -Help me welcome our newest engineer, Orlando Price. -Brandt Schowalter is a manager. -Mohammed Stokes is retiring as a engineer. -Isai Mraz is a engineer in the high tech industry. -Kadin Lemke will be the new manager for the team. -Maribel Jerde has been an manager for over a decade. -Myrna Kessler is a manager. -Meredith Tremblay is retiring as a engineer. -Announcing engineer Mr. Jerad Schneider. -Announcing manager Lenny Pfeffer. -Carolyne Klocko DVM will be the new manager for the team. -Our latest new employee, Monica Schulist, has been a engineer in the industry for 4 years. -Anika Larson V is a manager. -Domenick Pacocha is retiring as a engineer. -Miss Harmon Pfannerstill has been a engineer for 14 years. -Announcing manager Mr. Annabell Pouros. -Dr. Brisa Stroman has been an manager for over a decade. -Help me welcome our newest manager, Jade Stoltenberg. -Miss Mario Wolff joins us as an engineer on the Example project. -Ms. Savannah Gaylord is retiring as a manager. -Dejah Jones, an manager, will be presenting the award. -Hector Kulas, an manager, will be presenting the award. -Graciela Goodwin will be the new manager for the team. -Jocelyn Sauer is a manager. -Miss Lew Hansen will be the new manager for the team. -Fannie Fay DDS is a engineer with Example Corp. -Dr. Jordan Klocko is a engineer with Example Corp. -Kathlyn Lynch is a manager in the high tech industry. -Leann Botsford has been an engineer for over a decade. -Ervin Larson has been a manager for 14 years. -Allie Von is a manager in the high tech industry. -Johanna Kohler III has been a manager for 14 years. -Our latest new employee, Hilbert Armstrong, has been a engineer in the industry for 4 years. -Tanner Balistreri IV has been an manager for over a decade. -Abagail Shields has been an engineer for over a decade. -Help me welcome our newest engineer, Gia Cremin. -Mrs. Buford Oberbrunner is retiring as a engineer. -Madelyn White is retiring as a manager. -Announcing manager Abdullah Effertz. -Reva Stark will be the new engineer for the team. -Camryn McKenzie will be the new manager for the team. -Juwan Pouros will be the new manager for the team. -Gene Cassin is a manager in the high tech industry. -Our latest new employee, Felicia Kunde, has been a engineer in the industry for 4 years. -Our latest new employee, Jeremie Anderson, has been a manager in the industry for 4 years. -Our latest new employee, Katheryn Hickle Jr., has been a manager in the industry for 4 years. -Our latest new employee, Edwina Hamill IV, has been a manager in the industry for 4 years. -Adriana Cassin DVM has been a manager for 14 years. -Nelda Rowe joins us as an engineer on the Example project. -Rodrigo Kulas V joins us as an engineer on the Example project. -Jaiden Williamson is a manager in the high tech industry. -Announcing manager Cristopher Williamson. -Mr. Jay Krajcik, an engineer, will be presenting the award. -Announcing manager Francesco Miller. -Brenna Reinger, an manager, will be presenting the award. -Mr. Mollie Stanton has been an manager for over a decade. -Coby Schowalter has been a engineer for 14 years. -Our latest new employee, Estefania Armstrong II, has been a manager in the industry for 4 years. -Announcing engineer Aimee Nienow. -Kimberly Batz will be the new engineer for the team. -Miss Sienna Pfannerstill is retiring as a engineer. -Johnathon Hammes is retiring as a engineer. -Julien Hansen is a manager in the high tech industry. -Mrs. Emerson Waelchi will be the new manager for the team. -Malcolm Streich is a manager with Example Corp. -Aurelio Lebsack is retiring as a engineer. -Juana Grady has been a engineer for 14 years. -Kiel Lakin is a manager in the high tech industry. -Our latest new employee, Sarai Keeling, has been a engineer in the industry for 4 years. -Emilia Crona has been a engineer for 14 years. -Georgianna Kris is a manager in the high tech industry. -Maida Heller is retiring as a manager. -Jena Feeney is a engineer with Example Corp. -Mabelle Keeling has been an manager for over a decade. -Chris Bergstrom has been an engineer for over a decade. -Our latest new employee, Audrey Block DDS, has been a engineer in the industry for 4 years. -Our latest new employee, Louvenia Kuhn, has been a engineer in the industry for 4 years. -Thomas O'Keefe has been a manager for 14 years. -Our latest new employee, Darby Klocko, has been a manager in the industry for 4 years. -Arlene Weimann, an manager, will be presenting the award. -Our latest new employee, Corbin Jones MD, has been a engineer in the industry for 4 years. -Lamar Mraz joins us as an engineer on the Example project. -Miss Onie Krajcik is a manager with Example Corp. -Kamille Schaefer, an manager, will be presenting the award. -Jack Borer, an engineer, will be presenting the award. -Reese Heaney has been a manager for 14 years. -Ilene Kovacek will be the new engineer for the team. -Trace Bailey will be the new engineer for the team. -Our latest new employee, Wava Donnelly, has been a engineer in the industry for 4 years. -Mona Lakin has been a manager for 14 years. -Weldon Heaney joins us as an manager on the Example project. -Norris Labadie has been a engineer for 14 years. -Bridgette Brown has been an manager for over a decade. -Osborne Kertzmann is a manager with Example Corp. -Announcing engineer Verlie Bruen. -Enrique Ullrich is a engineer with Example Corp. -Dr. Asia Purdy joins us as an engineer on the Example project. -Announcing manager Lindsey Predovic DDS. -Maxine Mosciski is retiring as a manager. -Sydni Stoltenberg is retiring as a engineer. -Paige Buckridge will be the new engineer for the team. -Miss Laverne Dach has been an manager for over a decade. -Murl Abshire is a manager in the high tech industry. -Lou Friesen is retiring as a manager. -Announcing engineer Keenan Fahey. -Ashleigh Schultz, an engineer, will be presenting the award. -Mrs. Keshaun Lesch has been an engineer for over a decade. -Announcing engineer Jeffrey Langosh. -Mckenzie Boyle, an engineer, will be presenting the award. -Hipolito Price PhD joins us as an manager on the Example project. -Lesley Adams III joins us as an engineer on the Example project. -Mya Howe is a engineer with Example Corp. -Nick Kutch Sr. has been a manager for 14 years. -Our latest new employee, Ms. Winfield Wilkinson, has been a engineer in the industry for 4 years. -Leopold Schulist is a engineer with Example Corp. -Announcing engineer Orval Prosacco. -Wilmer Mueller has been an manager for over a decade. -Karina Batz has been a manager for 14 years. -Our latest new employee, Luigi Abbott, has been a manager in the industry for 4 years. -Pamela Miller is a manager in the high tech industry. -Emelie Marquardt is a engineer with Example Corp. -Zola Beier is a manager in the high tech industry. -Mr. Elva Ritchie joins us as an engineer on the Example project. -Mrs. Otis Quitzon is a manager in the high tech industry. -Our latest new employee, Dr. Willow Jacobs, has been a manager in the industry for 4 years. -Cathryn Koss joins us as an manager on the Example project. -Ms. Alivia Ernser is retiring as a manager. -Timothy Mohr is a engineer. -Mrs. Jaylan Wuckert is retiring as a manager. -Emerald Waelchi is a engineer. -Vernon Heathcote is retiring as a manager. -Announcing engineer Lavinia Ruecker. -Mr. Quinn Altenwerth is retiring as a manager. -Alejandra Marks, an manager, will be presenting the award. -Mr. Leo Wuckert has been an manager for over a decade. -Jayce Schiller MD is a manager in the high tech industry. -Elenora Ebert Jr. will be the new engineer for the team. -Announcing manager Dr. Rose Wyman. -Help me welcome our newest manager, Wade Orn. -Iva Marks Sr., an manager, will be presenting the award. -Margaret Pouros will be the new manager for the team. -Barton Deckow has been an manager for over a decade. -Miss Lesly Balistreri will be the new engineer for the team. -Mr. Jacquelyn Reynolds joins us as an engineer on the Example project. -Announcing manager Doyle Heidenreich. -Announcing engineer Heidi Ruecker. -Mr. Alvis Moen joins us as an manager on the Example project. -Dr. Garnet Brown is a engineer. -Yolanda Beier is a engineer with Example Corp. -Soledad Macejkovic joins us as an engineer on the Example project. -Urban Lowe has been a engineer for 14 years. -Devyn Schmidt has been an manager for over a decade. -Barbara Flatley is a manager in the high tech industry. -Patsy Sanford PhD has been an engineer for over a decade. -Mrs. Rubye Blanda is a engineer. -Caleigh Klocko is a engineer. -Kali Dietrich has been an manager for over a decade. -Ms. Weldon Hudson is retiring as a engineer. -Help me welcome our newest engineer, Vallie Huel. -Sven O'Keefe III joins us as an engineer on the Example project. -Help me welcome our newest engineer, Gerardo Wehner Sr.. -Kyle Kirlin is a manager in the high tech industry. -Help me welcome our newest engineer, Marianne Berge Jr.. -Ms. Cristal Connelly is retiring as a manager. -Kailey Spinka has been an manager for over a decade. -Jeremie Morar has been an manager for over a decade. -Our latest new employee, Daija Lind, has been a engineer in the industry for 4 years. -Arvel McDermott is a engineer. -Dr. Nicholas Gorczany has been a manager for 14 years. -Anne Leuschke has been a manager for 14 years. -Gerda Cronin has been a engineer for 14 years. -Ms. Coty Rolfson is retiring as a engineer. -Announcing engineer Kareem Gerhold. -Announcing engineer Mrs. Nico Mann. -Corbin Bartell is a engineer in the high tech industry. -Theresa Gulgowski will be the new manager for the team. -Carmelo Boyer is retiring as a manager. -Elinore Schulist III joins us as an manager on the Example project. -Katarina Schultz joins us as an manager on the Example project. -Deven Rodriguez II is a manager in the high tech industry. -Miss Bruce Friesen is a manager in the high tech industry. -Marcelle Schowalter joins us as an manager on the Example project. -Albertha Murphy PhD has been an manager for over a decade. -Elmore Doyle is a engineer. -Our latest new employee, Reymundo Jaskolski, has been a engineer in the industry for 4 years. -Stephania Swaniawski I joins us as an manager on the Example project. -Stewart Veum has been an manager for over a decade. -Help me welcome our newest manager, Nathanael Bartell. -Retha Rempel is a engineer. -Isidro Aufderhar joins us as an manager on the Example project. -Florencio Mohr, an manager, will be presenting the award. -Zella Weimann is a engineer with Example Corp. -Khalid Macejkovic will be the new engineer for the team. -Our latest new employee, Geraldine Torp, has been a engineer in the industry for 4 years. -Presley Marks will be the new engineer for the team. -Mrs. Eve Bartoletti is retiring as a engineer. -Corine Schimmel, an manager, will be presenting the award. -Citlalli Goldner DDS, an manager, will be presenting the award. -Zakary Botsford, an manager, will be presenting the award. -Florida Reilly is retiring as a engineer. -Mr. Patsy Doyle joins us as an manager on the Example project. -Help me welcome our newest engineer, Emily Hayes II. -Dr. Johann Turcotte will be the new engineer for the team. -Dr. Darion Dietrich is a engineer in the high tech industry. -Norris Brekke is a manager in the high tech industry. -Janessa Marquardt joins us as an manager on the Example project. -Felicita Wintheiser MD has been an manager for over a decade. -Melyssa Muller, an engineer, will be presenting the award. -Vivienne Weissnat DDS has been a engineer for 14 years. -Ford Gerlach is a engineer. -Keenan Kertzmann is a engineer in the high tech industry. -Tobin Goyette joins us as an engineer on the Example project. -Help me welcome our newest manager, Cecilia Green. -Abe Fisher has been an manager for over a decade. -Mrs. Annabell Morissette is a manager. -Announcing manager Danny Kautzer III. -Gerard Cruickshank joins us as an engineer on the Example project. -Joy Okuneva DDS, an manager, will be presenting the award. -Ezequiel Macejkovic joins us as an engineer on the Example project. -Vernie Bradtke IV, an engineer, will be presenting the award. -Trycia Muller is a engineer. -Clotilde Ankunding is a engineer in the high tech industry. -Mr. Chaya Abshire, an engineer, will be presenting the award. -Announcing manager Hanna Roob. -Ronny Dietrich will be the new engineer for the team. -Derek Durgan DVM will be the new manager for the team. -Demetrius West will be the new manager for the team. -Macey Nikolaus is retiring as a manager. -Edison Gottlieb III is a manager in the high tech industry. -Bo Collins is a engineer with Example Corp. -Michaela Pagac PhD has been a manager for 14 years. -Mireille Kunde I is a engineer with Example Corp. -Duncan Kulas will be the new manager for the team. -Mrs. Xzavier Smitham is a engineer with Example Corp. -Announcing manager Mr. Adrianna Baumbach. -Shad Rolfson is a manager with Example Corp. -Mr. Dimitri Baumbach, an manager, will be presenting the award. -Our latest new employee, Samara Schultz, has been a manager in the industry for 4 years. -Mrs. Brant Kautzer is a manager in the high tech industry. -Tierra Greenholt is a engineer. -Our latest new employee, Otho Kub, has been a manager in the industry for 4 years. -Ana Harber will be the new manager for the team. -Our latest new employee, Ted Mertz Sr., has been a engineer in the industry for 4 years. -Uriel Zieme will be the new manager for the team. -Mr. Adaline Wolff has been an engineer for over a decade. -Help me welcome our newest manager, Mrs. Maurice Senger. -Ada Gleason has been an manager for over a decade. -Edwina Bernier DVM has been an engineer for over a decade. -Elva Homenick is retiring as a engineer. -Our latest new employee, Mrs. Shane Powlowski, has been a manager in the industry for 4 years. -Obie Nikolaus has been a manager for 14 years. -Ottis Jakubowski is a manager. -Mr. Armand Leannon is a engineer in the high tech industry. -Jaime Kuvalis joins us as an engineer on the Example project. -Help me welcome our newest engineer, Loyce VonRueden Jr.. -Evangeline Johns joins us as an manager on the Example project. -Federico Halvorson is a manager in the high tech industry. -Sylvester Gerlach is a manager in the high tech industry. -Our latest new employee, Ashly Wunsch V, has been a manager in the industry for 4 years. -Rowland Miller joins us as an manager on the Example project. -Bryon Kunde has been a manager for 14 years. -Denis Ernser has been an engineer for over a decade. -Jovanny O'Reilly DVM is a engineer with Example Corp. -Lazaro Hermiston is retiring as a manager. -Kelly Stehr is a engineer. -Oda Fadel is a engineer with Example Corp. -Percival Armstrong is a engineer. -Caleigh Schimmel joins us as an manager on the Example project. -Tyrique Pfeffer has been a engineer for 14 years. -Adell Leuschke is retiring as a engineer. -Dr. Cade Farrell will be the new engineer for the team. -Gisselle Doyle is retiring as a manager. -Lily Reinger will be the new manager for the team. -Jeffrey Gleason has been a engineer for 14 years. -Tad Huel, an engineer, will be presenting the award. -Connor Conn joins us as an manager on the Example project. -Mr. Cathrine Casper is a engineer with Example Corp. -Our latest new employee, Dr. Beryl Rempel, has been a manager in the industry for 4 years. -Carlie Steuber joins us as an manager on the Example project. -Rose Frami IV is a engineer. -Mr. Tyrel Pagac joins us as an manager on the Example project. -Our latest new employee, Morton Trantow, has been a engineer in the industry for 4 years. -Lola Ortiz has been an manager for over a decade. -Kelton Champlin has been a manager for 14 years. -Our latest new employee, Owen Mayert, has been a engineer in the industry for 4 years. -Johnny Witting joins us as an manager on the Example project. -Thea Rolfson will be the new manager for the team. -Reanna Schmidt has been an engineer for over a decade. -Help me welcome our newest manager, Ian Stehr. -Mr. Patsy Purdy will be the new manager for the team. -Brady Ritchie will be the new engineer for the team. -Our latest new employee, Thea Effertz, has been a manager in the industry for 4 years. -Gerry Veum has been a engineer for 14 years. -Corene Adams is retiring as a manager. -Julian Kutch has been a manager for 14 years. -Mrs. Joe Connelly is a engineer. -Announcing manager Adolphus Paucek. -Jasmin Ledner II is a engineer with Example Corp. -Dr. Osbaldo Beatty will be the new engineer for the team. -Dr. Mckenna Haag is a manager with Example Corp. -Help me welcome our newest engineer, Abdiel Connelly DVM. -Help me welcome our newest manager, Liliana Baumbach III. -Willard Kuvalis V is retiring as a engineer. -Carolyn Jaskolski Jr., an manager, will be presenting the award. -Reta Franecki is retiring as a engineer. -Percival O'Kon has been an engineer for over a decade. -Kamryn Rath is a manager with Example Corp. -Hailey Dooley is a manager in the high tech industry. -Mrs. Brycen West has been an engineer for over a decade. -Margarette Miller will be the new manager for the team. -Our latest new employee, Cristian Pagac, has been a manager in the industry for 4 years. -Rosalee Bechtelar, an manager, will be presenting the award. -Help me welcome our newest manager, Lessie Lesch. -Iva Hegmann joins us as an manager on the Example project. -Hallie Schroeder is a manager. -Mr. Lola Volkman is a engineer in the high tech industry. -Arianna Wolf DDS has been an manager for over a decade. -Elliot Trantow has been a manager for 14 years. -Darrion Rath PhD has been a engineer for 14 years. -Coralie Effertz V has been an engineer for over a decade. -Our latest new employee, Ms. Corrine Effertz, has been a engineer in the industry for 4 years. -Our latest new employee, Ellie Keebler, has been a engineer in the industry for 4 years. -Tyrese Pfeffer is a engineer in the high tech industry. -Announcing manager Jayce Roberts. -Isobel Veum is retiring as a engineer. -Raphaelle Breitenberg is retiring as a engineer. -Maudie Labadie I has been an engineer for over a decade. -Rosario Langosh MD has been a engineer for 14 years. -Raheem Mohr joins us as an manager on the Example project. -Avery Lind joins us as an engineer on the Example project. -Nichole Waters has been a engineer for 14 years. -Blaise Gislason I has been a manager for 14 years. -Everette D'Amore has been a engineer for 14 years. -Darwin Conroy is a manager in the high tech industry. -Abdullah Heathcote is retiring as a engineer. -Burnice Treutel has been an manager for over a decade. -Libbie O'Hara is a engineer with Example Corp. -Rowan Will has been an manager for over a decade. -Gudrun Gleason is retiring as a engineer. -Our latest new employee, Fannie Quitzon, has been a manager in the industry for 4 years. -Help me welcome our newest engineer, Terence Gutkowski. -Tyshawn Rowe is a manager. -Jaylan Sanford, an manager, will be presenting the award. -Camille Schaden DVM, an manager, will be presenting the award. -Ms. Blaze Emmerich will be the new manager for the team. -Announcing engineer Sonny Stoltenberg. -Elsie Jacobson is a manager. -Our latest new employee, London Jacobs, has been a manager in the industry for 4 years. -Mr. Hassie Kuhn is retiring as a engineer. -Raul Bogan MD is a engineer. -Adrian Abshire joins us as an manager on the Example project. -Our latest new employee, Golden Kreiger, has been a manager in the industry for 4 years. -Deven Stiedemann I, an manager, will be presenting the award. -Hilario Koepp PhD has been a manager for 14 years. -Maynard Herzog will be the new manager for the team. -Announcing manager Nathaniel Torp. -Courtney Strosin is a manager with Example Corp. -Emely Lowe is a engineer with Example Corp. -Vilma Weber is retiring as a engineer. -Announcing engineer Ms. Carlee Littel. -Help me welcome our newest engineer, Hayden Mills. -Ervin Schimmel is a engineer. -Gino Ortiz is a engineer in the high tech industry. -Help me welcome our newest manager, Amani Conroy. -Announcing manager Korbin Lowe. -Turner Bogan I will be the new engineer for the team. -Ms. Jabari Bauch has been an manager for over a decade. -Mrs. Breanne Morissette is a engineer in the high tech industry. -Our latest new employee, Crystel Doyle, has been a manager in the industry for 4 years. -Help me welcome our newest engineer, Isabel VonRueden. -Dayne Cremin is a engineer. -Help me welcome our newest manager, Waino Armstrong. -Deborah Armstrong is retiring as a manager. -Ashlynn Mante DVM is a engineer in the high tech industry. -Karlie Pollich Jr. joins us as an engineer on the Example project. -Maeve Schroeder is a manager in the high tech industry. -Hanna Fadel, an engineer, will be presenting the award. -Delphia O'Hara has been a manager for 14 years. -Jamir Hammes has been an engineer for over a decade. -Nigel Ortiz is retiring as a engineer. -Pauline Ritchie is a manager. -Nicholaus Toy has been an engineer for over a decade. -Freddy Okuneva joins us as an manager on the Example project. -Announcing engineer Brionna Fritsch. -Our latest new employee, Maiya Mills, has been a engineer in the industry for 4 years. -Alia Hoeger PhD has been a manager for 14 years. -Alvina Mertz is a engineer in the high tech industry. -Help me welcome our newest engineer, Raymundo Hintz. -Zack Stamm is a engineer in the high tech industry. -Dayne Klocko has been a manager for 14 years. -Announcing engineer Kyla Cremin. -Izabella Bernhard will be the new engineer for the team. -Zena Yundt is a engineer in the high tech industry. -Announcing manager Daron Schuppe. -Mr. Amira Marvin joins us as an manager on the Example project. -Boris Morar will be the new manager for the team. -Esperanza Batz is retiring as a engineer. -Dortha Macejkovic I has been an manager for over a decade. -Porter Dach V, an engineer, will be presenting the award. -Kailyn Flatley I is a manager with Example Corp. -Celine O'Keefe has been a manager for 14 years. -Obie Rodriguez, an manager, will be presenting the award. -Cade Gorczany joins us as an engineer on the Example project. -Myles Shanahan is a engineer. -Jayne Wiza will be the new engineer for the team. -Julius Huel has been an manager for over a decade. -Ms. Rowena Kihn, an engineer, will be presenting the award. -Ena Wehner is a manager with Example Corp. -Clovis Cartwright will be the new manager for the team. -Mr. Marcelo D'Amore is a manager. -Meggie Prosacco has been an engineer for over a decade. -Lisa Schamberger PhD has been an engineer for over a decade. -Mrs. Lyda Bayer, an manager, will be presenting the award. -Newell Hettinger joins us as an manager on the Example project. -Melany Wolf, an manager, will be presenting the award. -Emil Schaefer has been an manager for over a decade. -Samson Trantow has been a manager for 14 years. -Maida Marquardt is a engineer. -Johnpaul Howe MD is a manager with Example Corp. -Our latest new employee, Mrs. Adah Lubowitz, has been a engineer in the industry for 4 years. -Ms. Imelda Kohler, an manager, will be presenting the award. -Manuela Frami I, an engineer, will be presenting the award. -Noelia Padberg has been an manager for over a decade. -Una Eichmann DDS is a engineer. -Elta Nolan has been an engineer for over a decade. -Jaron Wyman is a engineer in the high tech industry. -Help me welcome our newest manager, Kayla Windler Sr.. -Mrs. Zetta Stiedemann joins us as an manager on the Example project. -Dr. Abner Adams is retiring as a manager. -Brenden Ortiz is retiring as a manager. -German Funk is a engineer. -Mr. Liliane Konopelski, an manager, will be presenting the award. -Jarrett Morar is a manager in the high tech industry. -Parker Huels is a manager in the high tech industry. -Mrs. Alvah Bayer is a engineer with Example Corp. -Wilhelm Parker Jr. is a engineer in the high tech industry. -Leo Mertz will be the new engineer for the team. -Corine Hills is a engineer. -Coy Raynor Sr. is a engineer. -Help me welcome our newest engineer, Mallie Streich DVM. -Daisy Hoeger is a manager in the high tech industry. -Michelle Hickle is a engineer with Example Corp. -Nolan Douglas will be the new engineer for the team. -Vivian Bernier is retiring as a engineer. -Announcing engineer Brigitte Toy. -Help me welcome our newest engineer, Aniyah Schoen. -Emmie Bins is a engineer. -Mazie Weimann, an manager, will be presenting the award. -Carole Aufderhar will be the new engineer for the team. -Bernhard O'Kon will be the new engineer for the team. -Flavio Moore Sr. is a manager with Example Corp. -Our latest new employee, Justina Wuckert, has been a engineer in the industry for 4 years. -Meredith Jones joins us as an engineer on the Example project. -Help me welcome our newest manager, Gene Champlin. -Clare Fay, an manager, will be presenting the award. -Lesly Johnston II is retiring as a manager. -Our latest new employee, Cristian Kling, has been a manager in the industry for 4 years. -Candido Littel is a manager. -Help me welcome our newest engineer, Mrs. Gregory Ritchie. -Lucio Sawayn is a manager with Example Corp. -Announcing manager Derick Rath DVM. -Gabriella Dietrich is a engineer in the high tech industry. -Lula Spencer DVM has been an engineer for over a decade. -Help me welcome our newest engineer, Horacio Kulas. -Davin Vandervort DDS has been a engineer for 14 years. -Ms. Avery Wisoky will be the new engineer for the team. -Talon Williamson MD, an manager, will be presenting the award. -Gerald Hahn has been a manager for 14 years. -Ettie Yost is retiring as a manager. -Abdullah Mosciski is retiring as a engineer. -Mrs. Marielle Bosco is a engineer in the high tech industry. -Kory Batz joins us as an manager on the Example project. -Noelia Kovacek, an engineer, will be presenting the award. -Kyleigh Nienow is a manager with Example Corp. -Alize Lind will be the new engineer for the team. -Ellsworth Altenwerth has been an engineer for over a decade. -Domenic Mayer has been a engineer for 14 years. -Ms. Geovanny Satterfield has been an engineer for over a decade. -Ella Daniel is a manager with Example Corp. -Kylee Bogisich PhD has been an engineer for over a decade. -Ryder Wilkinson Sr. is a manager in the high tech industry. -Help me welcome our newest engineer, Marina Schaefer. -Ms. Paige Bartell is a manager in the high tech industry. -Mitchel Murray has been an engineer for over a decade. -Tyler Quigley, an manager, will be presenting the award. -Veronica Kreiger has been a engineer for 14 years. -Halie Goldner has been an engineer for over a decade. -Ryder Lakin has been an engineer for over a decade. -Chloe Legros is a engineer. -Dariana O'Conner joins us as an engineer on the Example project. -Era Bins Jr. is a engineer with Example Corp. -Help me welcome our newest manager, Laila Reichert. -Dedrick Kuhic V has been a engineer for 14 years. -Haylee Price Jr. is retiring as a engineer. -Help me welcome our newest manager, Callie Shields. -Jarrod Fahey will be the new manager for the team. -Earlene Cremin is a engineer in the high tech industry. -Ellie Bergstrom will be the new manager for the team. -Armando Grady has been a engineer for 14 years. -Announcing engineer Dr. Lamar Hessel. -Joe Runolfsson Sr. is a engineer with Example Corp. -Announcing manager Manley Oberbrunner. -Meta Weissnat II has been an engineer for over a decade. -Dagmar Batz IV is a engineer with Example Corp. -Our latest new employee, Susie Bayer, has been a engineer in the industry for 4 years. -Help me welcome our newest engineer, Randi Howell. -Joanne Rau is a manager in the high tech industry. -Buck Stark is a engineer. -Shane Donnelly is a engineer with Example Corp. -Quincy Casper V is retiring as a engineer. -Lafayette Grimes will be the new manager for the team. -Mrs. Jody Beer will be the new engineer for the team. -Miss Corene Schamberger has been an engineer for over a decade. -Dr. Jesse Baumbach is retiring as a engineer. -Brenna Quigley Jr. is a manager. -Ms. Viviane Bins joins us as an engineer on the Example project. -Help me welcome our newest manager, Edgar Johnson. -Mr. Tracy Beier has been a engineer for 14 years. -Juvenal Ortiz has been a engineer for 14 years. -Dr. Nat Pagac is retiring as a manager. -Our latest new employee, Julio Mitchell, has been a engineer in the industry for 4 years. -Help me welcome our newest engineer, Clarissa Mraz Jr.. -Dustin Grady will be the new manager for the team. -Brennon Bayer is a engineer. -Mrs. Birdie Nienow has been a manager for 14 years. -Announcing engineer Randal Sauer Sr.. -Verda Kozey will be the new engineer for the team. -Chesley Hickle is a engineer with Example Corp. -Miss Rico Block has been a engineer for 14 years. -Gaetano Lindgren has been a manager for 14 years. -Hope Hauck will be the new engineer for the team. -Percival O'Connell is a engineer in the high tech industry. -Melyna Leuschke is a manager. -Our latest new employee, Adan Collins, has been a manager in the industry for 4 years. -Daryl Bashirian has been an engineer for over a decade. -Kara Welch, an manager, will be presenting the award. -Norberto Swift has been an engineer for over a decade. -Effie Champlin Jr. will be the new engineer for the team. -Dr. Julia Metz joins us as an manager on the Example project. -Janice Witting is a manager in the high tech industry. -Bruce Eichmann, an manager, will be presenting the award. -Isobel Swift is a engineer. -Earnestine Mayer MD has been an manager for over a decade. -Michele Bashirian is a engineer in the high tech industry. -Janick Crona is a engineer in the high tech industry. -Hank Fisher III has been a manager for 14 years. -Miss Aliya Skiles is a engineer. -Herbert Orn has been an manager for over a decade. -Our latest new employee, Aglae Baumbach, has been a engineer in the industry for 4 years. -Gayle Carter will be the new engineer for the team. -Announcing manager Creola Kautzer. -Announcing manager Theresa Hauck. -Ms. Patience Wintheiser, an manager, will be presenting the award. -Announcing engineer Sebastian Rutherford DDS. -Ara Pollich I has been a engineer for 14 years. -Carlos Baumbach has been an manager for over a decade. -Hulda Schroeder DVM is a engineer with Example Corp. -Stanton Torp joins us as an manager on the Example project. -Our latest new employee, Ceasar Franecki, has been a manager in the industry for 4 years. -Lelah Miller is a engineer. -Wyman Schultz is a manager in the high tech industry. -Mae Harris V will be the new manager for the team. -Help me welcome our newest engineer, Hortense Koelpin. -Our latest new employee, Wilmer Deckow, has been a engineer in the industry for 4 years. -Zaria Ferry has been an engineer for over a decade. -Help me welcome our newest engineer, Pierre Cronin. -Ms. Brenna Leffler is a engineer with Example Corp. -Announcing engineer Dr. Keara Price. -Announcing manager Jane Schroeder. -Reymundo Heathcote has been a manager for 14 years. -Elton Schiller II is a manager with Example Corp. -Irma Blanda is a manager with Example Corp. -Mireya Turner, an manager, will be presenting the award. -Dawson Streich will be the new manager for the team. -Gianni Cassin is a manager in the high tech industry. -Johnathan Kuhic V joins us as an manager on the Example project. -Our latest new employee, Lacey Sawayn, has been a engineer in the industry for 4 years. +Announcing manager Shea Wyman. +Rudy McGlynn is a manager. +Kallie Wilderman has been an manager for over a decade. +Jude McCullough will be the new manager for the team. +Angeline Hegmann is a engineer in the high tech industry. +Nellie Leuschke DDS is a engineer with Example Corp. +Tyrell Nikolaus is retiring as a engineer. +Our latest new employee, Donnell Kling, has been a engineer in the industry for 4 years. +Jerad Gaylord is retiring as a manager. +Our latest new employee, Milan Kihn, has been a manager in the industry for 4 years. +Roman Kertzmann has been an manager for over a decade. +Elyssa Daugherty joins us as an engineer on the Example project. +Larue Hane is a manager with Example Corp. +Help me welcome our newest manager, Vince Walsh DDS. +Announcing engineer Mr. Rodrigo Davis Jr.. +Mr. Carol Donnelly is a manager in the high tech industry. +Mr. Johathan Kohler is a manager. +Burley Kunde will be the new manager for the team. +Aracely Stark is a manager with Example Corp. +Ms. Mara Greenfelder has been an manager for over a decade. +Rylan Hamill joins us as an manager on the Example project. +Announcing engineer Ms. Fanny Lebsack. +Announcing manager Maia Adams. +Help me welcome our newest engineer, Lauriane Feest. +Bulah Keeling, an manager, will be presenting the award. +Nikita Corkery has been a manager for 14 years. +Announcing manager Ms. Rosetta Hamill. +Thomas Lubowitz has been a engineer for 14 years. +Tina Ullrich has been an engineer for over a decade. +Keven Johnston is a manager. +Mr. Conrad Hoeger III has been an manager for over a decade. +Garrick O'Hara is a manager in the high tech industry. +Ms. Alexane Beahan IV will be the new engineer for the team. +Our latest new employee, Antonetta Denesik, has been a manager in the industry for 4 years. +Our latest new employee, Neha Jacobson, has been a manager in the industry for 4 years. +Jarrett Russel is a manager in the high tech industry. +Our latest new employee, Camylle Hane, has been a engineer in the industry for 4 years. +Martin Murazik has been an manager for over a decade. +Simeon Labadie is a manager with Example Corp. +Chase Wiegand will be the new engineer for the team. +Loy Jacobson, an manager, will be presenting the award. +Rachael Mayer has been a manager for 14 years. +Ms. Nellie Kling Jr. is a manager with Example Corp. +Ms. Annabelle Gorczany is a manager. +Michele Heller II joins us as an manager on the Example project. +Help me welcome our newest engineer, Ethel Brown I. +Woodrow Bayer is a engineer with Example Corp. +Viviane Maggio is a engineer with Example Corp. +Announcing engineer Ms. Abbigail O'Connell Sr.. +Our latest new employee, Idell Hilll, has been a manager in the industry for 4 years. +Mohammed Hahn is a manager with Example Corp. +Adela Altenwerth is retiring as a manager. +Our latest new employee, Maryse Simonis, has been a manager in the industry for 4 years. +Boris Rosenbaum PhD has been a engineer for 14 years. +Help me welcome our newest engineer, Joshuah Marquardt. +Haylie Botsford has been a engineer for 14 years. +Our latest new employee, Demetris Labadie PhD, has been a manager in the industry for 4 years. +Deron Hauck has been a engineer for 14 years. +Mr. Johnpaul Hilll has been a manager for 14 years. +Neoma Johnston has been an manager for over a decade. +Otho Nolan joins us as an engineer on the Example project. +Announcing manager Phyllis Rosenbaum III. +Mylene Cassin has been an engineer for over a decade. +Geoffrey Kovacek joins us as an manager on the Example project. +Leslie Parisian, an manager, will be presenting the award. +Announcing engineer Donavon Veum. +Our latest new employee, Floyd Mraz, has been a manager in the industry for 4 years. +Judson Koss has been a manager for 14 years. +Our latest new employee, Litzy Hahn, has been a engineer in the industry for 4 years. +Announcing engineer Mr. Jalon Boyle. +Ms. Enola Emard DDS is a engineer. +Help me welcome our newest engineer, Mr. Nels Toy Sr.. +Mr. Broderick Heidenreich Sr. is a engineer. +Our latest new employee, Mr. Jaleel Renner Jr., has been a engineer in the industry for 4 years. +Estelle Labadie will be the new manager for the team. +Mozell Ankunding is a engineer with Example Corp. +Help me welcome our newest engineer, Eudora Dibbert. +Mr. Guillermo Welch is a manager with Example Corp. +Mr. Brando Carter I has been an manager for over a decade. +Our latest new employee, Mr. Eliezer Emmerich, has been a engineer in the industry for 4 years. +Announcing manager Mr. Arnulfo Torphy PhD. +Grady Lind has been an engineer for over a decade. +Announcing engineer Mr. Jimmie Barton. +Vivianne Lakin is a engineer in the high tech industry. +Help me welcome our newest manager, Gina Dach. +Ms. Rosetta Langworth I has been an engineer for over a decade. +Jacinthe Abernathy II is a manager in the high tech industry. +Mr. Deven Tillman joins us as an engineer on the Example project. +Announcing manager Mazie Vandervort IV. +Mr. Chadd Corkery DVM is a manager. +Norval Torp, an engineer, will be presenting the award. +Announcing engineer Charlene McCullough. +Announcing engineer Scottie Ziemann PhD. +Reta Dickinson Jr. is a engineer in the high tech industry. +Ms. Hortense Collins PhD joins us as an manager on the Example project. +Our latest new employee, Mr. Lloyd Beier, has been a manager in the industry for 4 years. +Mr. Uriah Price is a manager in the high tech industry. +Help me welcome our newest engineer, Della Larson. +Fanny Schultz has been an manager for over a decade. +Mr. Danial Shanahan Sr. will be the new engineer for the team. +Audrey Dooley PhD is a manager in the high tech industry. +Ms. Ida Hoeger has been a manager for 14 years. +Tyson O'Keefe will be the new engineer for the team. +Therese Bergnaum DVM has been an manager for over a decade. +Mr. Sofia Schroeder is a manager in the high tech industry. +Announcing engineer Boris Bernhard. +Ms. Violet Sanford is a manager in the high tech industry. +Micheal Walker is a engineer in the high tech industry. +Kurtis Sauer IV is a manager. +Golda Haag is a manager in the high tech industry. +Helene Barrows has been a manager for 14 years. +Felicity Wilderman is a manager with Example Corp. +Adalberto Nitzsche, an manager, will be presenting the award. +Help me welcome our newest engineer, Kolby Leuschke. +Mr. Montana Marquardt will be the new engineer for the team. +Audrey Schaden Jr. will be the new engineer for the team. +Ms. Lucie Blick II, an engineer, will be presenting the award. +Help me welcome our newest manager, Lydia O'Kon. +Lawson Cummerata PhD is a engineer. +Cedrick Wiegand is a engineer in the high tech industry. +Announcing engineer Nestor Cassin. +Mr. Gideon Pouros is retiring as a manager. +Clark O'Reilly will be the new engineer for the team. +Ms. Kali DuBuque Jr. has been a manager for 14 years. +Ms. Claudia Runolfsson, an manager, will be presenting the award. +Sandrine Hoppe III has been a engineer for 14 years. +Marlene Williamson is a manager with Example Corp. +Our latest new employee, Jesus McKenzie, has been a manager in the industry for 4 years. +Our latest new employee, Tyson Pfannerstill, has been a engineer in the industry for 4 years. +Mr. Braeden Ratke is a engineer in the high tech industry. +Mr. Martin Lubowitz has been a engineer for 14 years. +Announcing manager Mariana McDermott. +Ms. Jakayla Thompson has been an manager for over a decade. +Sally Crist PhD has been a engineer for 14 years. +Help me welcome our newest engineer, Ms. Cathryn Dooley II. +Help me welcome our newest engineer, Cathryn Hackett. +Announcing engineer Riley Leuschke. +Ms. Nellie Gottlieb Jr., an engineer, will be presenting the award. +Ladarius Predovic IV, an engineer, will be presenting the award. +Mr. Berta Morar will be the new engineer for the team. +Help me welcome our newest engineer, Vincent Stoltenberg. +Ms. Celestine Bergstrom is a engineer with Example Corp. +Abby Roob is a manager with Example Corp. +Ms. Virgie Heaney joins us as an manager on the Example project. +Krystina Klocko Jr. will be the new manager for the team. +Announcing manager Ms. Orie Auer. +Announcing manager Mr. Ariel Hayes DVM. +Mr. Danial Botsford is a manager with Example Corp. +Name Ankunding has been an manager for over a decade. +Flavie Kerluke Jr. is a manager. +Jaida Cremin is a engineer in the high tech industry. +Mr. Zachery Mohr II is retiring as a engineer. +Help me welcome our newest engineer, Mr. Ottis McGlynn. +Our latest new employee, Frederick Roob, has been a manager in the industry for 4 years. +Edwardo Johns has been a engineer for 14 years. +Announcing engineer Mackenzie Rogahn V. +Madelynn Satterfield has been an engineer for over a decade. +Elva Zboncak has been an manager for over a decade. +Michaela Reilly is a manager in the high tech industry. +Ana Kiehn has been a manager for 14 years. +Announcing engineer Ruthie Becker. +Our latest new employee, Cecelia Rosenbaum, has been a manager in the industry for 4 years. +Help me welcome our newest manager, Elaina Halvorson. +Jedediah Botsford joins us as an engineer on the Example project. +Eldred Swift is a manager in the high tech industry. +Jay Torp is a engineer with Example Corp. +Jeramy Kunde joins us as an manager on the Example project. +Daisy Reynolds joins us as an manager on the Example project. +Wilhelm Leffler has been an manager for over a decade. +Selina Pfeffer is a manager in the high tech industry. +Ms. Catherine Douglas MD, an manager, will be presenting the award. +Our latest new employee, Mr. Randal Nikolaus, has been a engineer in the industry for 4 years. +Isabell Kilback is a manager. +Garfield Kutch will be the new manager for the team. +Angelo Lehner, an engineer, will be presenting the award. +Tess Reilly will be the new manager for the team. +Letitia Adams has been an manager for over a decade. +Announcing engineer Glenna Dibbert. +Ms. Virgie Anderson joins us as an engineer on the Example project. +Ms. Nellie Langosh Sr. is a manager. +Nickolas Kuhic is a engineer. +Mr. Greyson Schaefer will be the new manager for the team. +Announcing engineer Adelle Christiansen. +Sherman Jacobson III has been an manager for over a decade. +Lazaro Runolfsson DDS has been an engineer for over a decade. +Ms. Alice Schneider IV has been an manager for over a decade. +Hannah Hilll will be the new manager for the team. +Mr. Deangelo Hessel has been an manager for over a decade. +Help me welcome our newest manager, Adrianna Osinski. +Myra Bechtelar, an engineer, will be presenting the award. +Gennaro Grady has been an manager for over a decade. +Giovanni Willms is a engineer in the high tech industry. +Ms. Minerva Hagenes III is a manager in the high tech industry. +Emie Ziemann II joins us as an manager on the Example project. +Mr. Ervin Towne I is a engineer with Example Corp. +Maeve Lakin II joins us as an engineer on the Example project. +Our latest new employee, Ms. Creola Hauck III, has been a manager in the industry for 4 years. +Velma Kuhlman has been a engineer for 14 years. +Carleton Mertz PhD has been an manager for over a decade. +Lue Schneider, an engineer, will be presenting the award. +Johan Tillman, an engineer, will be presenting the award. +Maureen Zieme has been an engineer for over a decade. +Ciara Collier will be the new manager for the team. +Help me welcome our newest engineer, Ms. Leonie Denesik III. +Mr. Brennan Mohr I is a manager with Example Corp. +Ms. Rosina Larkin MD, an engineer, will be presenting the award. +Our latest new employee, Keaton McClure, has been a manager in the industry for 4 years. +Lorenzo Schoen is a manager in the high tech industry. +Our latest new employee, Ms. Alexa Jacobi, has been a manager in the industry for 4 years. +Announcing manager Daisha Olson II. +Ms. Loraine Heathcote is a manager with Example Corp. +Major Lowe has been a manager for 14 years. +Dedric Denesik II is a manager with Example Corp. +Help me welcome our newest manager, Neoma Bode PhD. +Announcing engineer Ms. Providenci King Sr.. +Orlando Boyle has been an manager for over a decade. +Elvie Mills PhD, an manager, will be presenting the award. +Ashton Gorczany is a manager. +Ms. Maureen Hegmann is retiring as a engineer. +Winona Streich has been an engineer for over a decade. +Announcing engineer Madelyn Hyatt. +Mr. Terrence Goodwin has been an engineer for over a decade. +Our latest new employee, Riley Abbott PhD, has been a manager in the industry for 4 years. +Our latest new employee, Quentin Farrell, has been a engineer in the industry for 4 years. +Our latest new employee, Ms. Lorine Hills, has been a manager in the industry for 4 years. +Mr. Gussie Wehner DVM joins us as an manager on the Example project. +Leanna Schuster has been a manager for 14 years. +Mr. Grayce Konopelski is a manager with Example Corp. +Calista Rodriguez MD joins us as an engineer on the Example project. +Ebba Goldner is a engineer with Example Corp. +Toney McCullough is retiring as a engineer. +Our latest new employee, Hans Wisozk, has been a manager in the industry for 4 years. +Ms. Aditya Schumm, an engineer, will be presenting the award. +Mr. Carmel Russel I has been a manager for 14 years. +Help me welcome our newest manager, Ms. Daniella Kuvalis. +Evert Friesen has been an engineer for over a decade. +Help me welcome our newest manager, Justice Kunze. +Help me welcome our newest manager, Mr. Alford Davis IV. +Announcing engineer Laurence Gerhold. +Lonny Collins is a engineer in the high tech industry. +Judson Emard IV joins us as an manager on the Example project. +Delfina Hand is retiring as a manager. +Gabrielle Turcotte IV, an engineer, will be presenting the award. +Leann Fisher is a engineer with Example Corp. +Billie Greenholt III is a engineer. +Brant Turner is a engineer. +Imelda McLaughlin joins us as an manager on the Example project. +Ms. Macie Beatty is a manager in the high tech industry. +Dayne Dicki joins us as an engineer on the Example project. +Elenor Abernathy will be the new engineer for the team. +Our latest new employee, Alanna Bauch, has been a manager in the industry for 4 years. +Our latest new employee, Creola Russel, has been a manager in the industry for 4 years. +Misty Becker, an manager, will be presenting the award. +Our latest new employee, Brennan Larkin, has been a manager in the industry for 4 years. +Our latest new employee, Kian Olson, has been a manager in the industry for 4 years. +Sigurd Schuppe joins us as an manager on the Example project. +Winnifred Zemlak has been an manager for over a decade. +Help me welcome our newest manager, Ms. Adrianna Gerlach V. +Help me welcome our newest engineer, Arch Bednar. +Zion Nikolaus is a engineer. +Sidney Hegmann is a engineer in the high tech industry. +Help me welcome our newest manager, Jessika Senger. +Sophie Watsica has been a engineer for 14 years. +Lila McClure DDS is retiring as a manager. +Concepcion Gerhold, an manager, will be presenting the award. +Marley Doyle will be the new engineer for the team. +Kristin Hermiston is a manager with Example Corp. +Help me welcome our newest manager, Hollis Becker. +Mr. Alessandro Kilback joins us as an manager on the Example project. +Celia Beatty is a engineer in the high tech industry. +Mr. Camren Schuppe is a manager with Example Corp. +Judy Kemmer IV will be the new manager for the team. +Mr. Alex Stracke, an engineer, will be presenting the award. +Ms. Maureen Klein will be the new engineer for the team. +Giovanni Bogisich II is retiring as a engineer. +Trevor Lebsack has been an manager for over a decade. +Mr. Damian Larkin PhD is a engineer. +Dave Hirthe is a engineer. +Mr. Thad Casper will be the new manager for the team. +Pietro Bode, an engineer, will be presenting the award. +Gregg Ortiz is retiring as a manager. +Ervin Hand will be the new manager for the team. +Roberta Bosco is a manager in the high tech industry. +Ms. Kellie Osinski II is a engineer with Example Corp. +Mr. Carmine Morar has been an manager for over a decade. +Help me welcome our newest manager, Ms. Annie Bode III. +Lorna O'Connell has been an engineer for over a decade. +Our latest new employee, Gayle Jacobson III, has been a manager in the industry for 4 years. +Announcing manager Dave Schaefer. +Devyn Effertz is a engineer with Example Corp. +Mr. Arlo Casper is a engineer in the high tech industry. +Announcing manager Sandrine Collins. +Mr. Chandler Roberts V will be the new manager for the team. +Our latest new employee, Ms. Ericka Murazik, has been a engineer in the industry for 4 years. +Keith Goyette, an engineer, will be presenting the award. +Mckenna Feil joins us as an engineer on the Example project. +Britney Prosacco has been an engineer for over a decade. +Help me welcome our newest engineer, Lois Hudson. +Help me welcome our newest engineer, Ms. Hilma Walsh V. +Albina Gorczany will be the new manager for the team. +Announcing engineer German Wiegand. +Mr. Jed Morar has been a manager for 14 years. +Quincy Willms II, an manager, will be presenting the award. +Ms. Bette King II has been an manager for over a decade. +Ena Ryan joins us as an manager on the Example project. +Our latest new employee, Daryl Nitzsche, has been a manager in the industry for 4 years. +Liliane Rempel, an engineer, will be presenting the award. +Our latest new employee, Patience Wolf, has been a manager in the industry for 4 years. +Help me welcome our newest engineer, Cleora Torphy. +Clemens O'Conner is a manager with Example Corp. +Help me welcome our newest manager, Ozella Romaguera. +Javon Mitchell has been a engineer for 14 years. +Koby Jacobs is a engineer with Example Corp. +Ms. Leda Leffler is a manager. +Help me welcome our newest manager, Isabelle Kautzer. +Ms. Annabell Auer V will be the new engineer for the team. +Wilfredo Turner I has been an engineer for over a decade. +D'angelo Predovic is a manager with Example Corp. +Our latest new employee, Mr. Godfrey Barrows, has been a engineer in the industry for 4 years. +Help me welcome our newest engineer, Allie Gerhold. +Ms. Oleta Beer has been an engineer for over a decade. +Ms. Jacklyn Wehner DDS is a manager in the high tech industry. +Mr. Bailey Fahey DVM joins us as an engineer on the Example project. +Our latest new employee, Lesly Mitchell Sr., has been a manager in the industry for 4 years. +Phyllis Heller III joins us as an manager on the Example project. +Our latest new employee, Oswaldo Gusikowski, has been a engineer in the industry for 4 years. +Our latest new employee, Jordi Altenwerth, has been a manager in the industry for 4 years. +Ariel Price has been a engineer for 14 years. +Orie Bins is a manager in the high tech industry. +Eldridge Conroy joins us as an manager on the Example project. +Benedict Lebsack III has been an manager for over a decade. +Clarabelle Walker is a engineer. +Anabelle Hodkiewicz Sr. joins us as an manager on the Example project. +Mr. Nikko Ferry is a manager with Example Corp. +Nelda VonRueden joins us as an engineer on the Example project. +Our latest new employee, Mathew Buckridge, has been a manager in the industry for 4 years. +Announcing manager Mary Runolfsdottir III. +Jesus Reynolds joins us as an engineer on the Example project. +Abbigail Steuber joins us as an engineer on the Example project. +Ally Franecki is a engineer with Example Corp. +Announcing engineer Edward Mayer. +Myrtie Kreiger is retiring as a manager. +Mr. Chadd Kovacek has been a manager for 14 years. +Glennie Jakubowski IV has been an manager for over a decade. +Coby Hirthe is a manager with Example Corp. +Milton Grimes has been an manager for over a decade. +Estella Kilback is a manager. +Ms. Zoe Gorczany is a manager with Example Corp. +Help me welcome our newest engineer, Ms. Vivienne Heller IV. +Mr. Wilson Greenfelder, an manager, will be presenting the award. +Help me welcome our newest manager, Curtis Stiedemann. +Karlie Swaniawski has been a engineer for 14 years. +Vicente Fahey is a engineer with Example Corp. +Madilyn Erdman is retiring as a manager. +Help me welcome our newest manager, Mr. Elroy Gerhold. +Ms. Hettie Murphy is retiring as a engineer. +Mr. Ashton Conroy Jr. is a engineer. +Help me welcome our newest engineer, Hollie Dietrich Jr.. +Announcing engineer Mr. Khalid Deckow. +Jett Kessler is retiring as a engineer. +Theresa Rau is a engineer. +Brianne Casper is a manager with Example Corp. +Reymundo O'Hara is a manager in the high tech industry. +Announcing manager Jadon Moen. +Patricia Hyatt has been an manager for over a decade. +Cristal Johns is retiring as a manager. +Jenifer Hammes III is a manager. +Lamar Gleason is a engineer with Example Corp. +Mr. Lionel Keeling IV joins us as an manager on the Example project. +Darren Abernathy DDS will be the new engineer for the team. +Help me welcome our newest engineer, Braxton Hagenes. +Aniya Fadel will be the new manager for the team. +Our latest new employee, Ms. Reina Erdman, has been a engineer in the industry for 4 years. +Furman Tremblay, an manager, will be presenting the award. +Our latest new employee, Delfina Moen, has been a engineer in the industry for 4 years. +Ana Grady DVM is a engineer with Example Corp. +Brittany Stehr joins us as an manager on the Example project. +Milan Larkin is a engineer. +Our latest new employee, Lilliana Mante, has been a manager in the industry for 4 years. +Corrine Sawayn will be the new engineer for the team. +Mr. Kenneth Berge has been a engineer for 14 years. +Mr. Theodore Wyman has been a manager for 14 years. +Jayde Bauch is a engineer. +Ms. Marguerite VonRueden has been an engineer for over a decade. +Magdalen Schowalter is a engineer in the high tech industry. +Rita Fay joins us as an manager on the Example project. +Mr. Clement Parisian IV joins us as an manager on the Example project. +Bernie Leannon has been an manager for over a decade. +Alta Fritsch is a manager. +Help me welcome our newest manager, Otto Skiles Jr.. +Announcing engineer Marcellus Botsford. +Leopold Pacocha has been an engineer for over a decade. +Coy Friesen is a manager in the high tech industry. +Announcing manager Flavio Kerluke. +Ms. Otilia Sauer will be the new engineer for the team. +Mertie Robel PhD has been a engineer for 14 years. +Mr. Waino Langosh is a manager in the high tech industry. +Linnie Yundt is a engineer in the high tech industry. +Santos Rohan V is a manager with Example Corp. +Ms. Karen Grady has been a manager for 14 years. +Mr. Kale Hessel IV is a engineer. +Dayton Oberbrunner, an manager, will be presenting the award. +Fausto Considine is a manager in the high tech industry. +Amie Muller joins us as an engineer on the Example project. +Our latest new employee, Leopoldo Becker DDS, has been a engineer in the industry for 4 years. +Zetta Carter has been an engineer for over a decade. +Kaitlyn Douglas will be the new manager for the team. +Help me welcome our newest manager, Jaylin Sporer. +Announcing engineer Ms. Gina Barrows II. +Help me welcome our newest engineer, Naomi Bogan. +Price Hauck II, an engineer, will be presenting the award. +Announcing engineer Berniece Wilderman. +Harrison Mann, an manager, will be presenting the award. +Buddy Marquardt, an engineer, will be presenting the award. +Leonor Wintheiser joins us as an engineer on the Example project. +Oswaldo Gutkowski is a manager. +Announcing engineer Manley Predovic. +Mr. Paolo Beatty is a manager in the high tech industry. +Mr. Ian Klocko Sr. has been an engineer for over a decade. +Mr. Alec Hagenes DVM is a engineer in the high tech industry. +Zetta Reynolds is a engineer. +Mr. Liam Pacocha PhD is a manager with Example Corp. +Announcing manager Elvera McClure. +Help me welcome our newest engineer, Fleta Hansen. +Liza Corwin is a manager. +Tyrel Thompson is retiring as a engineer. +Ms. Krista Bogan is a engineer in the high tech industry. +Garfield Ratke will be the new manager for the team. +Eda Morissette has been an manager for over a decade. +Ms. Alexandrine Weissnat V is a manager. +Jeramy Hettinger is retiring as a engineer. +Announcing engineer Ms. Flavie Mertz III. +Announcing manager Vilma Maggio Sr.. +Jacinthe D'Amore will be the new manager for the team. +Our latest new employee, Ms. Aliza Towne, has been a engineer in the industry for 4 years. +Amos Maggio is a manager. +Janick Crona DDS is retiring as a engineer. +Darien Fadel has been a engineer for 14 years. +Announcing manager Albert Frami. +Mr. Kelvin Shanahan V has been an manager for over a decade. +Help me welcome our newest manager, Kraig Gulgowski DDS. +Jodie Bergnaum joins us as an engineer on the Example project. +Emilie O'Reilly is retiring as a manager. +Ellen Dach, an manager, will be presenting the award. +Ms. Annabell Ferry II, an manager, will be presenting the award. +Brady Ritchie will be the new manager for the team. +Ms. Anna Lockman PhD is a manager. +Quentin Corwin will be the new manager for the team. +Tianna Skiles is a engineer with Example Corp. +Betty Marks is a engineer with Example Corp. +Antwon Deckow is a manager in the high tech industry. +Nina Rolfson has been an engineer for over a decade. +Maggie West has been a manager for 14 years. +Mr. Keon Pfeffer is a manager in the high tech industry. +Abbigail Mante has been a manager for 14 years. +Our latest new employee, Amy Heathcote MD, has been a engineer in the industry for 4 years. +Mr. Theron Watsica has been an manager for over a decade. +Lafayette Toy has been an engineer for over a decade. +Help me welcome our newest engineer, Mr. Darius O'Conner. +Mr. Juwan Miller Sr. is retiring as a engineer. +Elwyn Wilkinson II is retiring as a manager. +Announcing manager Jon Collins. +Joanie Windler will be the new engineer for the team. +Coty Eichmann MD will be the new manager for the team. +Elmore Weber will be the new manager for the team. +Layla Gottlieb is a manager in the high tech industry. +Our latest new employee, Zachariah Armstrong, has been a engineer in the industry for 4 years. +Our latest new employee, Jorge Osinski, has been a manager in the industry for 4 years. +Our latest new employee, Jayden Ruecker IV, has been a manager in the industry for 4 years. +Our latest new employee, Ms. Kyla Lubowitz, has been a manager in the industry for 4 years. +Jayme Ullrich has been a manager for 14 years. +Devin Leannon joins us as an engineer on the Example project. +Eliezer Roberts joins us as an engineer on the Example project. +Lexus McLaughlin is a manager in the high tech industry. +Announcing manager Ms. Eve Gerlach PhD. +Sheila Bayer, an engineer, will be presenting the award. +Announcing manager Ms. Bettie Gislason IV. +Sven Batz V, an manager, will be presenting the award. +Kevin Langosh Jr. has been an manager for over a decade. +Ms. Eldridge Bins has been a engineer for 14 years. +Our latest new employee, Madelyn Terry, has been a manager in the industry for 4 years. +Announcing engineer Aurelia Sauer. +Harry Wehner will be the new engineer for the team. +Mckayla Rosenbaum is retiring as a engineer. +Mr. Zack Heidenreich PhD is retiring as a engineer. +Margaret Rempel is a manager in the high tech industry. +Coy Moen will be the new manager for the team. +Ms. Whitney Jacobson is a manager with Example Corp. +Ms. Reba O'Conner III is retiring as a engineer. +Emmy Emard has been a engineer for 14 years. +Ellie Simonis IV is a manager in the high tech industry. +Our latest new employee, Kolby Jerde, has been a engineer in the industry for 4 years. +Serenity Nolan has been a engineer for 14 years. +Arvilla Leffler MD is a manager in the high tech industry. +Sherwood Considine is retiring as a manager. +Braulio Pfeffer is a engineer with Example Corp. +Americo Roberts has been an manager for over a decade. +Mr. Cesar Hayes has been an engineer for over a decade. +Our latest new employee, Rosalinda Kautzer III, has been a engineer in the industry for 4 years. +Our latest new employee, Melvina McGlynn III, has been a engineer in the industry for 4 years. +Jannie Botsford has been a manager for 14 years. +Our latest new employee, Mr. Barry Eichmann Jr., has been a manager in the industry for 4 years. +Ubaldo Harvey Jr., an manager, will be presenting the award. +Our latest new employee, Vincenza Mayer, has been a engineer in the industry for 4 years. +Sister Hickle joins us as an engineer on the Example project. +Joanny Mante is a manager with Example Corp. +Enid Kihn, an manager, will be presenting the award. +Kathleen Corwin MD, an engineer, will be presenting the award. +Hellen Little III has been a manager for 14 years. +Mr. Tanner Kihn will be the new engineer for the team. +Sasha Feest will be the new engineer for the team. +Our latest new employee, Benny Pfeffer III, has been a engineer in the industry for 4 years. +Mr. Wilford Herman has been a manager for 14 years. +Ms. Asia Klein III joins us as an manager on the Example project. +Buster Marquardt has been a engineer for 14 years. +Magdalena Kshlerin has been an manager for over a decade. +Pete White is a manager with Example Corp. +Announcing engineer Bud Goyette. +Elias Muller is a engineer with Example Corp. +Lizzie Hansen joins us as an engineer on the Example project. +Announcing manager Loy Farrell DVM. +Demarco Stanton Sr. is retiring as a manager. +Ms. Malvina Hyatt II is retiring as a engineer. +Daren Windler DDS will be the new engineer for the team. +Ms. Madie Koss PhD has been an manager for over a decade. +Johnson Parisian is a manager in the high tech industry. +Odessa Kling is retiring as a manager. +Announcing engineer Dolores Schaden. +Mr. Pedro Kshlerin Jr., an engineer, will be presenting the award. +Gage Becker Jr. has been an engineer for over a decade. +Announcing engineer Miles Bergnaum Sr.. +Mr. Damon Kreiger, an engineer, will be presenting the award. +Caroline Gutkowski joins us as an manager on the Example project. +Kaitlin Reynolds joins us as an engineer on the Example project. +Mr. Kellen Metz is a engineer with Example Corp. +Ms. Shany Hoeger II has been a manager for 14 years. +Our latest new employee, Mr. Marvin Crist, has been a engineer in the industry for 4 years. +Daren O'Connell is a engineer with Example Corp. +Announcing engineer Trystan Johnston. +Malvina Schroeder has been an manager for over a decade. +Lourdes Mertz has been a manager for 14 years. +Our latest new employee, Mr. Modesto Funk DDS, has been a manager in the industry for 4 years. +Bonnie Ortiz is a manager in the high tech industry. +Gunner Halvorson is a engineer with Example Corp. +Hallie Crist is a manager in the high tech industry. +Freddy Lehner joins us as an engineer on the Example project. +Bell Brekke is a manager in the high tech industry. +Our latest new employee, Arianna King, has been a manager in the industry for 4 years. +Clement Schaefer joins us as an manager on the Example project. +Hillary Bartoletti is retiring as a manager. +Adrain Kertzmann is a engineer. +Ms. Reyna Bayer DVM is retiring as a manager. +Lauryn Satterfield is a engineer. +Ms. Gregoria Rolfson is retiring as a manager. +Announcing engineer Bessie Schamberger. +Ms. Faye Lubowitz is retiring as a manager. +Leora Powlowski, an manager, will be presenting the award. +Mr. Omer O'Reilly Sr. has been an manager for over a decade. +Miller Tremblay is a manager in the high tech industry. +Joan Keebler will be the new engineer for the team. +Announcing manager Larry Weimann. +Help me welcome our newest manager, Mr. Jaren Brekke III. +Makayla Hoppe, an manager, will be presenting the award. +Ms. Electa Grant will be the new manager for the team. +Virgil Kshlerin I has been an manager for over a decade. +Alverta Prohaska will be the new engineer for the team. +Bud Connelly joins us as an engineer on the Example project. +Announcing manager Franz Altenwerth DDS. +Announcing engineer Amos Predovic. +Lew Grimes joins us as an manager on the Example project. +Brendan Kohler is a engineer. +Ms. Addison Okuneva is a engineer with Example Corp. +Esta Brekke joins us as an engineer on the Example project. +Skyla Barton PhD has been a engineer for 14 years. +Paula Herzog has been an manager for over a decade. +Horace Carter IV is a manager in the high tech industry. +Dolly Kshlerin DDS has been an engineer for over a decade. +Jamil Bashirian is a engineer. +Ms. Margret Schimmel MD is a engineer. +Alvera Sauer has been an manager for over a decade. +Enid Hettinger is retiring as a engineer. +Help me welcome our newest engineer, Ezequiel Hettinger. +Florian Auer joins us as an engineer on the Example project. +Help me welcome our newest engineer, Estella Feeney. +Israel Spinka is a manager in the high tech industry. +Help me welcome our newest engineer, Edwina Kirlin. +Pamela Brakus PhD is retiring as a manager. +Delbert Schiller has been an manager for over a decade. +Ms. Rosetta Breitenberg has been an manager for over a decade. +Our latest new employee, Hermina Wisoky, has been a engineer in the industry for 4 years. +Palma Langosh is a engineer. +Keenan Hane has been a manager for 14 years. +Matilde Bergstrom has been a manager for 14 years. +Ms. Jessica Bergnaum Sr. has been a engineer for 14 years. +Camille Schuster is retiring as a engineer. +Announcing engineer Myrl Haag. +Announcing engineer Annalise Rutherford. +Meredith Reichert is a engineer in the high tech industry. +Ms. Chelsie Conroy will be the new manager for the team. +Leora Torphy is retiring as a manager. +Adolf Torp joins us as an manager on the Example project. +Sincere Klocko joins us as an manager on the Example project. +Reese Torp II is a manager in the high tech industry. +Ms. Miracle Balistreri is a manager in the high tech industry. +Ms. Paige Jakubowski II joins us as an manager on the Example project. +Jimmie Brekke has been an manager for over a decade. +Avery Tremblay is a engineer. +Our latest new employee, Collin Cartwright, has been a engineer in the industry for 4 years. +Amelie Carroll joins us as an manager on the Example project. +Angela Towne has been an manager for over a decade. +Help me welcome our newest manager, Maria Ward. +Ms. Ellen Walker III is a engineer. +Martin Senger Sr. joins us as an manager on the Example project. +Florida Hessel, an manager, will be presenting the award. +Freeman Steuber is a engineer with Example Corp. +Mr. Ellsworth Maggio will be the new engineer for the team. +Our latest new employee, Ms. Hildegard Watsica, has been a engineer in the industry for 4 years. +Ivory Wehner will be the new engineer for the team. +Mr. Carmine Reichel V is retiring as a engineer. +Ida Crona, an manager, will be presenting the award. +Abigail Morissette, an manager, will be presenting the award. +Mr. Norwood Gerlach III, an manager, will be presenting the award. +Olin Keeling is retiring as a engineer. +Brayan Kautzer joins us as an manager on the Example project. +Help me welcome our newest engineer, Carlie Ward MD. +Mr. Jalon Heller V will be the new engineer for the team. +Vivienne Corkery is a engineer in the high tech industry. +Ms. Mittie Romaguera DVM is a manager in the high tech industry. +Aylin Gerhold II joins us as an manager on the Example project. +Peggie Wehner has been an manager for over a decade. +Ms. Sadye Barrows DDS, an engineer, will be presenting the award. +Althea Dickens has been a engineer for 14 years. +Richmond Oberbrunner is a engineer. +Toney Brakus III is a engineer in the high tech industry. +Abigale Greenfelder joins us as an engineer on the Example project. +Help me welcome our newest manager, Ms. Karine Dickinson DVM. +Ms. Beatrice Reynolds has been an manager for over a decade. +Yvonne Howell is a manager. +Announcing manager Mr. Douglas Witting Sr.. +Dustin McDermott joins us as an engineer on the Example project. +Mr. Sherwood Murphy, an manager, will be presenting the award. +Delilah Nicolas joins us as an engineer on the Example project. +Ms. Gloria Quigley DVM, an engineer, will be presenting the award. +Dorris Bartell is a engineer. +Daija Hamill is a engineer in the high tech industry. +Ms. Litzy Johns, an engineer, will be presenting the award. +Announcing manager Tony Ferry. +Justyn Erdman will be the new engineer for the team. +Zoie Parker will be the new manager for the team. +Mr. Garland Heathcote will be the new manager for the team. +Emely Will IV is retiring as a manager. +Ms. Haven Romaguera PhD is a manager in the high tech industry. +Ahmad Lehner is a engineer with Example Corp. +Keanu Schumm has been a manager for 14 years. +Floy Kozey is a engineer with Example Corp. +Judy Kunde will be the new manager for the team. +Camden Gaylord is a engineer with Example Corp. +Announcing manager Verna Schmeler. +Ms. Guadalupe Eichmann III is a manager with Example Corp. +Mr. Issac Purdy, an manager, will be presenting the award. +Our latest new employee, Nina Thompson PhD, has been a manager in the industry for 4 years. +Quinn Cartwright is a manager in the high tech industry. +Mr. Edmund Thiel V is a engineer. +Our latest new employee, Ezekiel Block, has been a manager in the industry for 4 years. +Johanna Abernathy will be the new manager for the team. +Our latest new employee, Sheila Hills, has been a engineer in the industry for 4 years. +Theresa Lind will be the new manager for the team. +Ms. Bessie Muller PhD has been an engineer for over a decade. +Help me welcome our newest manager, Wayne Abbott. +Clay Hayes has been an manager for over a decade. +Marcus Pouros has been an engineer for over a decade. +Hilda Schulist is retiring as a engineer. +Our latest new employee, Dudley Ullrich, has been a manager in the industry for 4 years. +Ms. Meghan Hayes has been a manager for 14 years. +Alexandria Jenkins is a manager. +Mr. Osborne Rolfson is a engineer in the high tech industry. +Jaclyn Osinski joins us as an engineer on the Example project. +Help me welcome our newest engineer, Pamela Jenkins. +Mr. Khalil McCullough joins us as an manager on the Example project. +Eva Satterfield is a manager in the high tech industry. +Modesta Runolfsson is a manager in the high tech industry. +Our latest new employee, Ms. Brooke Hyatt, has been a manager in the industry for 4 years. +Brianne Graham joins us as an manager on the Example project. +Damon Hudson II has been a manager for 14 years. +Ulises McCullough I has been an engineer for over a decade. +Letha Ziemann DDS is a engineer with Example Corp. +Amiya Durgan is retiring as a manager. +Mr. Sydney Zulauf is a engineer. +Dayton Lesch is a engineer with Example Corp. +Millie Konopelski is a engineer. +Wilma Roberts joins us as an manager on the Example project. +Alexandrea Miller has been a engineer for 14 years. +Rosalind Lind is retiring as a engineer. +Raquel Kreiger will be the new engineer for the team. +Mr. Colby Hamill MD is retiring as a manager. +Melisa Schoen will be the new manager for the team. +Gerson Rice Sr. has been a engineer for 14 years. +Ms. Clara Hettinger, an engineer, will be presenting the award. +Casandra Hammes joins us as an manager on the Example project. +Arthur Kuhic is a engineer with Example Corp. +Our latest new employee, Wilburn Abernathy, has been a manager in the industry for 4 years. +Mr. Jules Jacobi joins us as an manager on the Example project. +Mr. Tyrique Runte PhD is a engineer. +Alva Murphy joins us as an manager on the Example project. +Our latest new employee, Laurel O'Hara, has been a engineer in the industry for 4 years. +Ocie Hauck has been an manager for over a decade. +Mr. Jamarcus Nitzsche has been a manager for 14 years. +Our latest new employee, Lucienne Hane, has been a engineer in the industry for 4 years. +Helen Kessler joins us as an manager on the Example project. +Eino Morar Jr. will be the new manager for the team. +Caden Watsica has been an engineer for over a decade. +Help me welcome our newest manager, Mr. Jaden Pfannerstill MD. +Mr. Macey McGlynn IV will be the new manager for the team. +Luisa Kuhn II will be the new engineer for the team. +Our latest new employee, Ms. Carolanne Feil, has been a manager in the industry for 4 years. +Christiana Berge has been a engineer for 14 years. +Micah Hamill is retiring as a manager. +Scotty Moore has been a manager for 14 years. +Louisa Wyman is a engineer. +Announcing manager Roslyn Gorczany. +Mauricio Nikolaus is a engineer with Example Corp. +Agustina Hammes will be the new engineer for the team. +Filiberto Schulist is a manager with Example Corp. +Help me welcome our newest engineer, Providenci Prohaska. +Help me welcome our newest manager, Elvie Mayert V. +Mr. Damien Turcotte is retiring as a engineer. +Peter Toy DVM, an manager, will be presenting the award. +Barbara Jacobs IV is retiring as a engineer. +Selina Feeney Sr. has been an engineer for over a decade. +Ms. Lavina Bogisich Sr. is a manager with Example Corp. +Francisca Kuvalis is a manager in the high tech industry. +Mr. Eddie Bartell has been an engineer for over a decade. +Braeden Quigley will be the new manager for the team. +Our latest new employee, Ms. Maude Schmeler, has been a manager in the industry for 4 years. +Rowena Wilkinson, an manager, will be presenting the award. +Help me welcome our newest manager, Soledad Schroeder. +Ms. Josianne Doyle V joins us as an manager on the Example project. +Brooke Dare DDS is a manager. +Mr. Abe Hahn is a engineer in the high tech industry. +Cooper Collier has been an manager for over a decade. +Avery Bernier has been a manager for 14 years. +Ms. Augustine O'Keefe DDS has been a engineer for 14 years. +Keshaun Cummerata has been an engineer for over a decade. +Our latest new employee, Dedric Nolan I, has been a engineer in the industry for 4 years. +Our latest new employee, Elbert Auer, has been a engineer in the industry for 4 years. +Betsy Schulist is a engineer in the high tech industry. +Announcing manager Ms. Asha Zulauf. +Silas Heidenreich is retiring as a engineer. +Mr. Alfonzo Graham PhD is retiring as a engineer. +Mr. Jennings Hansen has been an engineer for over a decade. +Gaetano Heidenreich has been a engineer for 14 years. +Forrest Abshire joins us as an manager on the Example project. +Ms. Avis Fisher PhD joins us as an engineer on the Example project. +Wendell Wunsch has been a engineer for 14 years. +Jana DuBuque has been a manager for 14 years. +Tate Padberg has been a engineer for 14 years. +Mr. Deondre Mosciski is a manager in the high tech industry. +Lavada Konopelski is retiring as a engineer. +Jane McClure has been an manager for over a decade. +Matt Shanahan IV is a engineer with Example Corp. +Ms. Eliane Schuppe has been an manager for over a decade. +Ila Vandervort is retiring as a engineer. +Our latest new employee, Ms. Lucienne Zieme DDS, has been a manager in the industry for 4 years. +Help me welcome our newest engineer, Sharon Dickens. +Vivienne Osinski is a manager. +Nichole Schaefer, an manager, will be presenting the award. +Walton Gorczany, an manager, will be presenting the award. +Brandy Herzog will be the new manager for the team. +Announcing engineer Meggie Doyle. +Sven Schimmel is a manager. +Our latest new employee, Ms. Shaina West III, has been a manager in the industry for 4 years. +Tatyana Wolf I is retiring as a engineer. +Mr. Braden Jacobson DDS is a engineer. +Mr. Dangelo Krajcik V joins us as an manager on the Example project. +Our latest new employee, Miguel Jenkins, has been a manager in the industry for 4 years. +Stan Roob, an manager, will be presenting the award. +Ms. Verdie Purdy has been a manager for 14 years. +Ms. Leatha Kulas will be the new manager for the team. +Announcing manager Alanna Senger. +Margarett Okuneva is a manager with Example Corp. +Cassie Wiegand is a engineer with Example Corp. +Ms. Fatima Bednar Jr. is retiring as a engineer. +Announcing engineer Ms. Aylin Larson. +Help me welcome our newest engineer, Ada Rippin. +Quinten Beahan is a engineer. +Modesta Kertzmann is a engineer in the high tech industry. +Help me welcome our newest manager, Retha Herzog. +Announcing manager Mr. Darryl Wyman DDS. +Ulises Kutch will be the new engineer for the team. +Mr. Jettie Thiel has been an manager for over a decade. +Theresia Schinner is a engineer in the high tech industry. +Our latest new employee, Taurean Lehner, has been a manager in the industry for 4 years. +Help me welcome our newest engineer, Darien Carter. +Anastasia Turner is a engineer. +Help me welcome our newest manager, Elbert Langosh. +Jordi Labadie is retiring as a manager. +Theodora Welch is a engineer in the high tech industry. +Ms. Ebony Johnson V joins us as an engineer on the Example project. +Jonathan Schimmel is a manager in the high tech industry. +Carole Maggio III, an engineer, will be presenting the award. +Kennedi King IV has been a manager for 14 years. +Myra Wehner has been an engineer for over a decade. +Jewel Rodriguez is retiring as a engineer. +Nick Kling is a manager. +Fred Kassulke has been an engineer for over a decade. +Mr. Elmore Quigley joins us as an manager on the Example project. +Announcing engineer Ms. Veronica McKenzie. +Our latest new employee, Maxine Wilderman, has been a engineer in the industry for 4 years. +Alice Klein has been a manager for 14 years. +Theo Fisher is a engineer in the high tech industry. +Help me welcome our newest engineer, Mr. Orlando Prohaska. +June Heller PhD is a engineer in the high tech industry. +Mr. Tyreek Ankunding MD has been a manager for 14 years. +Announcing engineer Stephon Glover IV. +Herminia Emmerich will be the new engineer for the team. +Mr. Hector Mante is a engineer in the high tech industry. +Announcing manager Zion Bartoletti DVM. +Santa Effertz joins us as an manager on the Example project. +Brody Nitzsche Sr. will be the new manager for the team. +Ms. Odessa Wuckert II is retiring as a engineer. +Frederik Ebert has been an manager for over a decade. +Clark Gulgowski, an engineer, will be presenting the award. +Ms. Wendy Reilly I is a manager with Example Corp. +Ms. Dominique Torphy has been a manager for 14 years. +Roderick Brown, an manager, will be presenting the award. +Mr. Jaiden Kemmer joins us as an engineer on the Example project. +Verda Deckow is a engineer. +Jaeden Tremblay will be the new engineer for the team. +Arjun Kirlin II has been an manager for over a decade. +Mr. Demario Haag II, an engineer, will be presenting the award. +Fredy Howell is a manager with Example Corp. +Jeffrey Veum will be the new manager for the team. +Jordy Spencer is a manager. +Mr. Verner Schaefer V has been an engineer for over a decade. +Prudence Luettgen has been an engineer for over a decade. +Earlene Lang, an manager, will be presenting the award. +Mr. Trevor Bailey Jr. joins us as an manager on the Example project. +Mr. Lenny Kemmer II, an manager, will be presenting the award. +Kiarra Bayer MD has been an manager for over a decade. +Mr. Taurean Bogisich has been a manager for 14 years. +Merlin Kuphal is a engineer. +Reina Labadie is a manager with Example Corp. +Our latest new employee, Marques Brakus DDS, has been a engineer in the industry for 4 years. +Lourdes Kutch, an manager, will be presenting the award. +Dejah Erdman, an engineer, will be presenting the award. +Kole Prohaska DDS has been an manager for over a decade. +Kaci Monahan is a engineer. +Mr. Cameron Howell has been an engineer for over a decade. +Mr. Rod Okuneva is a engineer in the high tech industry. +Help me welcome our newest manager, Stone McGlynn. +Johnnie Gutmann joins us as an manager on the Example project. +Ms. Aurelia Wyman IV is retiring as a manager. +Gabrielle DuBuque is retiring as a manager. +Laury Ryan is a engineer. +Ms. Camila Pouros II, an manager, will be presenting the award. +Beaulah Sporer is a manager in the high tech industry. +Mr. Keeley Kessler V is a manager in the high tech industry. +Katlyn O'Keefe is a engineer with Example Corp. +Mr. Webster Veum MD is a engineer in the high tech industry. +Ms. Estella Crona will be the new engineer for the team. +Toy Jaskolski is a engineer. +Lilla Wisozk is a engineer. +Help me welcome our newest engineer, Mr. Domingo Johnson. +Rose Swaniawski is a manager in the high tech industry. +Timmothy Johnson IV is a engineer with Example Corp. +Rosina McDermott MD will be the new engineer for the team. +Jonathan Runte is retiring as a engineer. +Announcing engineer Haley Heller. +Help me welcome our newest engineer, Katlynn Ritchie. +Toni Funk PhD is a engineer. +Eloy Cummerata, an manager, will be presenting the award. +Norma Gleason will be the new engineer for the team. +Jayde Greenholt will be the new engineer for the team. +Adele Spinka is a manager with Example Corp. +Our latest new employee, Tristian Walsh III, has been a engineer in the industry for 4 years. +Toni Jaskolski joins us as an engineer on the Example project. +Help me welcome our newest manager, Novella Beier. +Mr. Cortez Fay, an manager, will be presenting the award. +Jason Schuster is retiring as a manager. +Our latest new employee, Elias Davis, has been a manager in the industry for 4 years. +Brennan Mayert DDS is a manager. +Help me welcome our newest engineer, Jewel Renner Sr.. +Brad Steuber is a manager with Example Corp. +Announcing manager Darrin Boehm. +Hal Bergstrom is a engineer in the high tech industry. +Hubert Lebsack has been an engineer for over a decade. +Help me welcome our newest engineer, Torrance Schimmel MD. +Ms. Magdalen Stoltenberg has been a engineer for 14 years. +Vilma Emard will be the new engineer for the team. +Ms. Fanny Dibbert, an manager, will be presenting the award. +Mr. Lucio Wintheiser Sr. has been a manager for 14 years. +Cathy McLaughlin MD is retiring as a manager. +Murl Altenwerth is retiring as a engineer. +Holly Beer is a engineer in the high tech industry. +Mr. Lucio Witting joins us as an manager on the Example project. +Marco McKenzie, an engineer, will be presenting the award. +Ms. Madie Marvin is a manager with Example Corp. +Ms. Renee Koepp will be the new engineer for the team. +Perry Roberts has been an engineer for over a decade. +Dawson Kozey I has been a engineer for 14 years. +Ana Blick has been an engineer for over a decade. +Wilma Huel is a manager with Example Corp. +Ms. Cordie Nitzsche has been an engineer for over a decade. +Marcelino Hansen is a manager in the high tech industry. +Help me welcome our newest engineer, Ms. Otha Stamm. +Stefan Hahn III is a manager in the high tech industry. +Amanda Hudson has been an engineer for over a decade. +Deshaun Langworth, an manager, will be presenting the award. +Mr. Hilario Kuhn has been a engineer for 14 years. +Montserrat Wisoky has been an engineer for over a decade. +Lily Braun has been an engineer for over a decade. +Ms. Nicolette Windler I is a engineer. +Caesar Gorczany joins us as an engineer on the Example project. +Nils Sipes is a engineer with Example Corp. +Help me welcome our newest manager, Kara Cormier. +Cullen Klocko has been a engineer for 14 years. +Mr. Skylar Durgan II is retiring as a engineer. +Help me welcome our newest manager, Alberto West. +Gwen Veum MD will be the new manager for the team. +Frederick McDermott MD is a engineer in the high tech industry. +Mr. Hudson Skiles will be the new manager for the team. +Ruth Schaden has been a engineer for 14 years. +Announcing engineer Alayna Raynor. +Ms. Eryn Olson is a engineer with Example Corp. +Announcing manager Alexa Shanahan PhD. +Camylle Rowe has been an engineer for over a decade. +Isabella Emmerich is a engineer with Example Corp. +Our latest new employee, Annetta Gutmann III, has been a engineer in the industry for 4 years. +Help me welcome our newest engineer, Kristy Kunde. +Mr. Gardner Fahey IV is a manager in the high tech industry. +Seamus Hagenes is a engineer. +Mr. Gene Marks is a engineer with Example Corp. +Hilario Block is retiring as a engineer. +Ms. Annabel Keeling will be the new manager for the team. +Ms. Mckayla Sipes II will be the new engineer for the team. +Henriette Bogisich has been an engineer for over a decade. +Tess Gusikowski DDS is retiring as a engineer. +Mr. Anthony Kertzmann DVM is a manager. +Alysha Okuneva joins us as an engineer on the Example project. +Help me welcome our newest manager, Orlo Ebert. +Eulalia Kshlerin has been a engineer for 14 years. +Ms. Zelda Olson DDS has been a engineer for 14 years. +Ms. Sarah Mitchell MD is retiring as a manager. +Our latest new employee, Ms. Ciara Jakubowski Jr., has been a engineer in the industry for 4 years. +Help me welcome our newest engineer, Mr. Wilhelm Lubowitz DVM. +Aisha Barton will be the new manager for the team. +Nayeli Kessler PhD is a engineer. +Alexandre Reilly has been a manager for 14 years. +Announcing engineer Alexys Doyle. +Shayne Keebler V will be the new engineer for the team. +Kristoffer Rohan is a engineer with Example Corp. +Ms. Chaya Feest has been a engineer for 14 years. +Ms. Kaycee Paucek DDS has been a manager for 14 years. +Ima Fritsch will be the new engineer for the team. +Ms. Kailee O'Reilly is a engineer in the high tech industry. +Emilia Kerluke Sr. is a manager. +Our latest new employee, Keyshawn Stark, has been a manager in the industry for 4 years. +Lila Jenkins has been an engineer for over a decade. +Magdalen Hyatt, an manager, will be presenting the award. +Ms. Danyka Bernier has been an engineer for over a decade. +Matteo Jaskolski will be the new engineer for the team. +Laverna Simonis joins us as an manager on the Example project. +Filiberto Satterfield IV is a manager in the high tech industry. +Margot Schowalter, an manager, will be presenting the award. +Ms. Winnifred Leannon III is a engineer. +Talon Howell has been an manager for over a decade. +Leo Zboncak is a engineer in the high tech industry. +Pierre Nikolaus is a engineer in the high tech industry. +Dana Carter has been a manager for 14 years. +Sofia Hoppe is a engineer. +Lupe Braun has been an manager for over a decade. +Our latest new employee, Brayan Mosciski, has been a engineer in the industry for 4 years. +Ferne Mraz will be the new engineer for the team. +Announcing manager Frank Kautzer. +Announcing manager Mr. Jadon Goyette. +Ms. Alisa Lang PhD, an manager, will be presenting the award. +Announcing engineer Mr. Jamaal Roob. +Ms. Tabitha Towne V has been a engineer for 14 years. +Emanuel Goyette has been an manager for over a decade. +Araceli Howe is a engineer with Example Corp. +Bonnie DuBuque joins us as an manager on the Example project. +Our latest new employee, Arch Wintheiser, has been a manager in the industry for 4 years. +Solon Turcotte is a engineer. +General Glover is a manager in the high tech industry. +Krista Kautzer will be the new manager for the team. +Help me welcome our newest engineer, Roosevelt Trantow. +Our latest new employee, Luisa Ratke DDS, has been a engineer in the industry for 4 years. +Roman McDermott has been an engineer for over a decade. +Help me welcome our newest engineer, Lindsey Breitenberg. +Mr. Warren Crooks is a engineer with Example Corp. +Announcing engineer Ms. Litzy Reichel. +Announcing manager Mr. Jeramie Runolfsdottir PhD. +Gavin Morissette Sr. has been a manager for 14 years. +Minnie Goldner is a manager with Example Corp. +Clay Smith II is a manager with Example Corp. +Daphne Schimmel, an manager, will be presenting the award. +Corine Berge Sr. will be the new manager for the team. +Ms. Adeline Heller II is a manager in the high tech industry. +Oran Lakin joins us as an manager on the Example project. +Our latest new employee, Velma Monahan II, has been a engineer in the industry for 4 years. diff --git a/internal/service/comprehend/test-fixtures/entity_recognizer/entitylist.csv b/internal/service/comprehend/test-fixtures/entity_recognizer/entitylist.csv index f1080f9213fc..c89cc666011e 100644 --- a/internal/service/comprehend/test-fixtures/entity_recognizer/entitylist.csv +++ b/internal/service/comprehend/test-fixtures/entity_recognizer/entitylist.csv @@ -1,1001 +1,1001 @@ Text,Type -Gerson Parker,MANAGER -Nickolas Little,MANAGER -Alejandra Stiedemann V,MANAGER -Eunice Leannon,MANAGER -Sunny Schmitt,ENGINEER -Anika Gutkowski,ENGINEER -Delaney Fisher,ENGINEER -Christian Maggio,ENGINEER -Mathias Hettinger I,MANAGER -Elias Quitzon,MANAGER -Alexandra Wunsch,MANAGER -Guido Kemmer,ENGINEER -Sim Kemmer,MANAGER -Vincenza Kertzmann,MANAGER -Skye Kuhn Jr.,ENGINEER -Kasandra Cartwright MD,MANAGER -Ettie Schimmel,MANAGER -Karlee McCullough Jr.,MANAGER -Adeline Johnson,MANAGER -Cory Morissette,MANAGER -Brandy Abshire,MANAGER -Jerome Homenick,ENGINEER -Ms. Doris Ziemann,MANAGER -Ms. Marlene Larkin,ENGINEER -Amos Kuhlman,MANAGER -Ana Ortiz II,MANAGER -Jewell Konopelski,MANAGER -Larry Effertz,ENGINEER -Ms. Vernice Fay,ENGINEER -Miss Dion Ratke,MANAGER -Rachelle Lubowitz,MANAGER -Rachael Moore,MANAGER -Sabrina Walsh,ENGINEER -Tamara Nicolas,MANAGER -Martin Lynch Sr.,MANAGER -Kaya Wisozk,MANAGER -Mrs. Cassandra Robel,ENGINEER -Donny Schroeder,MANAGER -Emmanuel Fay,MANAGER -Jefferey Adams,ENGINEER -Godfrey Feest V,MANAGER -Melyna Mertz,MANAGER -Audreanne Wiza,MANAGER -Jarvis O'Conner,MANAGER -Mertie Sanford,MANAGER -Keshaun Altenwerth,ENGINEER -Aric Beier Sr.,ENGINEER -Hoyt Rowe MD,ENGINEER -Aurelia Hintz,ENGINEER -Keon Stanton,MANAGER -Candace Wiegand,MANAGER -Flavio Smith,MANAGER -Mr. Zachery Toy,MANAGER -Kaleigh Murazik,ENGINEER -Pattie Kuvalis,ENGINEER -Serena Heidenreich,ENGINEER -Simone Little,MANAGER -Ms. Carolina Mante,ENGINEER -Julia Lemke,MANAGER -Mrs. Meagan Fisher,MANAGER -Molly Goldner,ENGINEER -Mrs. Dax McGlynn,MANAGER -Tyrique Harber,ENGINEER -Mia Larkin II,MANAGER -Winona Schoen,MANAGER -Dr. Antonette Cummings,ENGINEER -Mr. Sonya Cassin,MANAGER -Timothy Bartoletti DDS,MANAGER -Winifred Reinger,ENGINEER -Marcella Bahringer,ENGINEER -Rhea Kohler,ENGINEER -Alia McCullough,ENGINEER -Mr. Israel Gulgowski,ENGINEER -Jana Wilkinson,ENGINEER -Marjory Fay,MANAGER -Alena Mueller,ENGINEER -Kristian Keebler,ENGINEER -Katheryn Dietrich,MANAGER -Mya Grady,MANAGER -Kyra Heidenreich V,ENGINEER -Dr. Cortez Thiel,MANAGER -Shyanne Hirthe,ENGINEER -Herta Mohr,ENGINEER -Winfield Thompson,ENGINEER -Miss Bette Dooley,MANAGER -Mrs. Freida Shanahan,ENGINEER -Sunny Towne,MANAGER -Kayley Schneider,ENGINEER -Anderson Hagenes,MANAGER -Barrett Paucek Jr.,MANAGER -Lillian Koss,ENGINEER -Lance Zieme,ENGINEER -Van Hackett,ENGINEER -Cullen Schamberger,ENGINEER -Arvel Stanton,MANAGER -Nedra Goldner,MANAGER -Ms. Zetta Lindgren,MANAGER -Faye Ledner,ENGINEER -Trystan Hilll PhD,MANAGER -Arnold Hermann Jr.,ENGINEER -Hank Towne,MANAGER -Monroe Schmeler,MANAGER -Genesis Wintheiser II,ENGINEER -Angie O'Reilly,MANAGER -Deshawn Reinger,MANAGER -Mrs. Molly Lowe,ENGINEER -Kimberly Osinski,MANAGER -Napoleon Sauer,ENGINEER -Leonardo Champlin,MANAGER -Anita Bartell,MANAGER -Mrs. Jennifer Buckridge,MANAGER -Patrick Gulgowski,MANAGER -Miss Brooks Christiansen,MANAGER -Ms. Alejandra Shields,ENGINEER -Callie Lynch,ENGINEER -Hyman Bruen,ENGINEER -Ms. Lera Grant,ENGINEER -Laney West V,MANAGER -Shyanne Price,ENGINEER -Leanna Schoen,ENGINEER -Clement Bayer,ENGINEER -Mrs. Colt Kozey,MANAGER -Dr. Logan Dickinson,ENGINEER -Valentin Torp,MANAGER -Kathlyn Bechtelar,MANAGER -Vita Pollich,ENGINEER -Benedict Flatley,MANAGER -Dedrick Corkery V,MANAGER -Shea Kohler,ENGINEER -Tiana Mertz,ENGINEER -Margarett Kunze,ENGINEER -Alan Bashirian,MANAGER -Dr. Precious Murazik,MANAGER -Ms. Karine Langosh,ENGINEER -Letha Skiles,ENGINEER -Nikko Dooley,ENGINEER -Filomena McKenzie,ENGINEER -Rosario Grant Sr.,ENGINEER -Gonzalo Douglas V,ENGINEER -Lempi Pollich,ENGINEER -Candida O'Reilly Sr.,ENGINEER -Dena Lind,ENGINEER -Blair Renner,MANAGER -Imani Roob,MANAGER -Miss Drake Johns,MANAGER -Murl Jacobi,MANAGER -Nicolette Prohaska,MANAGER -Leif Quigley,MANAGER -Hugh Gleichner III,MANAGER -Neil Witting,MANAGER -Ivah Moore,ENGINEER -Amira Bruen,ENGINEER -Loy Kerluke,ENGINEER -Cleta Berge,MANAGER -Asa Schaden,ENGINEER -Marlin Nitzsche,ENGINEER -Mellie Hansen,ENGINEER -Pauline Willms,MANAGER -Giovanna Marquardt,MANAGER -Kristian Conroy IV,MANAGER -Aiyana Hagenes,ENGINEER -Melisa Barton Jr.,MANAGER -Robbie Bechtelar,MANAGER -Citlalli Lind,ENGINEER -Karlee Lubowitz,MANAGER -Isidro Jerde,ENGINEER -Conor Lemke,MANAGER -Murphy Rutherford,MANAGER -Omari Schultz,MANAGER -Selmer Labadie,MANAGER -Alverta Hilpert,MANAGER -Ali Dooley III,ENGINEER -Benjamin Lubowitz,MANAGER -Trenton Hilll,MANAGER -Bethel Carroll,ENGINEER -Nick Lang,MANAGER -Ms. Chase Graham,MANAGER -Melany Buckridge PhD,ENGINEER -Ursula McGlynn,ENGINEER -Jackie Kshlerin,MANAGER -Jarvis Langosh,ENGINEER -Bonnie Bednar,MANAGER -Simeon Dickinson,ENGINEER -Annamarie VonRueden MD,MANAGER -Ms. Hilton Hagenes,ENGINEER -Jaqueline D'Amore,MANAGER -Mario Bartell,MANAGER -Frances Kovacek,MANAGER -Avery Lakin,MANAGER -Brittany Flatley DDS,ENGINEER -Violette Sauer,MANAGER -Dorothy Farrell,ENGINEER -Miss Jordan Crooks,MANAGER -Jadyn West,MANAGER -Mrs. Johanna Borer,ENGINEER -Elyssa Crist,ENGINEER -Carli Kohler,MANAGER -Dasia Dare,ENGINEER -Lane Rath,MANAGER -Davion Kunze,ENGINEER -Vada Stoltenberg,ENGINEER -London Hagenes,ENGINEER -Albin Wintheiser,MANAGER -Mr. Eloise Jones,ENGINEER -Rashawn Bechtelar,MANAGER -Linwood Casper,ENGINEER -Mr. Phyllis O'Reilly,MANAGER -Carrie Franecki,MANAGER -Mikel Daugherty I,MANAGER -Jorge Connelly IV,MANAGER -Victor Cummings,MANAGER -Felton Kris,MANAGER -Barney Klein,MANAGER -Verdie Strosin,MANAGER -Izabella Vandervort DDS,ENGINEER -Philip Hodkiewicz,MANAGER -Mr. Carol Orn,MANAGER -Ursula Cormier,MANAGER -Ellen Hudson,ENGINEER -Bobby Conn II,ENGINEER -Mathilde Bayer,ENGINEER -Ms. Marcus Ferry,ENGINEER -Tyshawn Volkman,MANAGER -Ladarius Predovic,ENGINEER -Ally Parisian,MANAGER -Briana Reinger,MANAGER -Piper Kutch,MANAGER -Armand Ratke,MANAGER -Stephon McLaughlin DDS,ENGINEER -Cordell Cole,ENGINEER -Earl Altenwerth,ENGINEER -Garrison Lang Jr.,MANAGER -Ahmad Heaney,ENGINEER -Jed Pollich,MANAGER -Hudson Wyman,MANAGER -Dena Crist DVM,ENGINEER -Gino Auer III,MANAGER -Miss Xavier Farrell,MANAGER -Lawrence Considine,ENGINEER -Coby Lesch,ENGINEER -Hardy Mohr,MANAGER -Dr. Tamara Ryan,MANAGER -Alia Quigley PhD,ENGINEER -Noelia Bergnaum,ENGINEER -Dakota Brown,ENGINEER -Elmo Rogahn,ENGINEER -Roxanne Weimann,MANAGER -Gay Langworth,MANAGER -Ellis Ledner,ENGINEER -Weston Murazik,ENGINEER -Josefa Sauer,MANAGER -Ilene Wyman,MANAGER -Nia Gottlieb,MANAGER -Crawford Wehner,MANAGER -Brenna Ritchie,MANAGER -Ms. Mariah Hudson,MANAGER -Tyra Schneider Sr.,MANAGER -Andreane Johns,MANAGER -Mrs. Mabel Rice,ENGINEER -Emelia Jaskolski PhD,ENGINEER -Spencer Cole II,ENGINEER -Doris Stokes,MANAGER -Lilian Erdman,ENGINEER -Ms. Ramona Torp,MANAGER -Ms. Lauryn Stark,MANAGER -Israel Greenholt,ENGINEER -Ms. Boris Leannon,MANAGER -Pearlie Swaniawski,MANAGER -Delores Kilback,MANAGER -Mariam Schultz,ENGINEER -Dimitri Mueller IV,MANAGER -Maud Beahan,MANAGER -Fletcher Predovic DVM,ENGINEER -Mrs. Joanne Aufderhar,ENGINEER -Miss Paul Lowe,ENGINEER -Johnpaul Swift,MANAGER -Miss Rowena Pouros,ENGINEER -Benjamin Jenkins,ENGINEER -Erwin Jenkins,MANAGER -Ms. Zula Turner,ENGINEER -Rhiannon Lind,MANAGER -Mrs. Garth Labadie,MANAGER -Mia King,MANAGER -Ewald Cronin,ENGINEER -Carrie Roob III,MANAGER -Clementina Schmeler,MANAGER -Stewart Sipes II,ENGINEER -Katelin D'Amore,MANAGER -Verlie Wiegand,MANAGER -Marie Schaefer,ENGINEER -Tillman Boehm,ENGINEER -Jacklyn Kohler,MANAGER -Katrine Bruen,MANAGER -Lisa Gaylord,ENGINEER -Virginia Ruecker,ENGINEER -Mrs. Garnett Christiansen,ENGINEER -Anderson Weissnat,ENGINEER -Marie Armstrong,ENGINEER -Prudence Fahey V,ENGINEER -Bria Medhurst,MANAGER -Ms. Dewitt Bernhard,ENGINEER -Stanford Miller,MANAGER -Freddie Treutel,MANAGER -Oceane Bayer,MANAGER -Ms. Adalberto Lindgren,MANAGER -Meagan Bartoletti,MANAGER -Wilhelm Kutch,ENGINEER -Khalid Farrell Sr.,MANAGER -Ms. Allison Zemlak,ENGINEER -Judson Rodriguez MD,MANAGER -Mr. Alena Stanton,MANAGER -Kaylin Kohler,ENGINEER -Melany Price,ENGINEER -Palma Brekke,MANAGER -Ozella Larson,MANAGER -Earnestine Sanford,ENGINEER -Kathryne Tromp,ENGINEER -Ted Abernathy,MANAGER -Nelle Waters,ENGINEER -Dawn Kautzer,ENGINEER -Ms. Itzel Breitenberg,ENGINEER -Meta Gibson,MANAGER -Haven Nitzsche,ENGINEER -Antonetta Kilback I,MANAGER -Kiara Zboncak,MANAGER -Leola Kris,ENGINEER -Mr. Conrad Hills,MANAGER -Alize Rogahn,ENGINEER -Rudy Hamill,MANAGER -Ms. Celestino Turcotte,MANAGER -Ms. Annetta Stracke,MANAGER -Hailie Hudson,ENGINEER -Mrs. Deven Moen,MANAGER -Callie Larson,MANAGER -Quentin Morar,ENGINEER -Antonietta Kuhlman II,MANAGER -Cristal Shanahan DVM,MANAGER -Cristopher Boyer,ENGINEER -Keely Larkin,ENGINEER -Royce Berge,ENGINEER -Benjamin Hilll,ENGINEER -Rashawn Bogan,MANAGER -Ted Collier,MANAGER -Alene Corwin,MANAGER -David Hodkiewicz,MANAGER -Garland Kuhic,MANAGER -Sonya Wilderman,MANAGER -Quinn Bradtke Jr.,MANAGER -Ellen Cummerata,ENGINEER -Mason Beatty,MANAGER -Camylle Muller,MANAGER -Hadley Upton,ENGINEER -Keara Pfeffer,ENGINEER -Angie Walsh,MANAGER -Earl Cummings,MANAGER -Ephraim Marks,ENGINEER -Orval Reichert DDS,ENGINEER -Katheryn Gleichner,ENGINEER -Jalyn Fay I,ENGINEER -Virginia Keebler DVM,ENGINEER -Raphael Leffler,ENGINEER -Juliana Stokes,MANAGER -Casper Herman,MANAGER -Vladimir Reilly,MANAGER -Erin Okuneva,MANAGER -Martine White,MANAGER -Tristian Mertz,MANAGER -Mr. Sammy Schmitt,ENGINEER -Alec Schuster,MANAGER -Ms. Lorenza Walsh,ENGINEER -Eldora Mayert,ENGINEER -Justina Breitenberg,MANAGER -Mariela Grady Jr.,ENGINEER -Kevon Baumbach,MANAGER -Wendell Hayes,ENGINEER -Pat Aufderhar,ENGINEER -Bart Senger,MANAGER -Kaitlyn Hahn,ENGINEER -Mrs. Else Kozey,MANAGER -Mr. Ashton Batz,ENGINEER -Lilly Koepp,ENGINEER -Mrs. Alfredo Cormier,MANAGER -Gail Swaniawski DVM,ENGINEER -Mrs. Valentina Wilderman,ENGINEER -Paxton Doyle,ENGINEER -Jarret Block PhD,MANAGER -Arnaldo Blanda,MANAGER -Aiden Orn,MANAGER -Florine West,MANAGER -Sincere Harber,MANAGER -Joan Ziemann,ENGINEER -Katelyn Schultz,ENGINEER -Maximus Gleichner,MANAGER -Elenor Schuster,MANAGER -Marcelino Kautzer,ENGINEER -Lea Schulist Sr.,ENGINEER -Jeanne Carter MD,MANAGER -Kayleigh Goldner DDS,ENGINEER -Hilario Denesik I,MANAGER -Shirley Reichert,MANAGER -Kris Dickens,ENGINEER -Gene Frami,MANAGER -Sadye Jacobson,MANAGER -Buck Cremin,ENGINEER -Coty Lesch,ENGINEER -Dr. Kim Mertz,ENGINEER -Randy Sanford,MANAGER -Levi Kirlin,MANAGER -Davin Yundt,ENGINEER -Enola Bins,ENGINEER -Trent Kuvalis,ENGINEER -Jake Powlowski,ENGINEER -Ms. Ashlee Emmerich,MANAGER -Hannah Davis,ENGINEER -Wayne Champlin,ENGINEER -Nikki Conn Jr.,MANAGER -Carli Bauch,ENGINEER -Norbert Feest,MANAGER -Robbie Wintheiser,ENGINEER -Leta Abshire,ENGINEER -Fannie Walker,ENGINEER -Heber Wilkinson,MANAGER -Willie Bernier III,MANAGER -Orlando Price,ENGINEER -Brandt Schowalter,MANAGER -Mohammed Stokes,ENGINEER -Isai Mraz,ENGINEER -Kadin Lemke,MANAGER -Maribel Jerde,MANAGER -Myrna Kessler,MANAGER -Meredith Tremblay,ENGINEER -Mr. Jerad Schneider,ENGINEER -Lenny Pfeffer,MANAGER -Carolyne Klocko DVM,MANAGER -Monica Schulist,ENGINEER -Anika Larson V,MANAGER -Domenick Pacocha,ENGINEER -Miss Harmon Pfannerstill,ENGINEER -Mr. Annabell Pouros,MANAGER -Dr. Brisa Stroman,MANAGER -Jade Stoltenberg,MANAGER -Miss Mario Wolff,ENGINEER -Ms. Savannah Gaylord,MANAGER -Dejah Jones,MANAGER -Hector Kulas,MANAGER -Graciela Goodwin,MANAGER -Jocelyn Sauer,MANAGER -Miss Lew Hansen,MANAGER -Fannie Fay DDS,ENGINEER -Dr. Jordan Klocko,ENGINEER -Kathlyn Lynch,MANAGER -Leann Botsford,ENGINEER -Ervin Larson,MANAGER -Allie Von,MANAGER -Johanna Kohler III,MANAGER -Hilbert Armstrong,ENGINEER -Tanner Balistreri IV,MANAGER -Abagail Shields,ENGINEER -Gia Cremin,ENGINEER -Mrs. Buford Oberbrunner,ENGINEER -Madelyn White,MANAGER -Abdullah Effertz,MANAGER -Reva Stark,ENGINEER -Camryn McKenzie,MANAGER -Juwan Pouros,MANAGER -Gene Cassin,MANAGER -Felicia Kunde,ENGINEER -Jeremie Anderson,MANAGER -Katheryn Hickle Jr.,MANAGER -Edwina Hamill IV,MANAGER -Adriana Cassin DVM,MANAGER -Nelda Rowe,ENGINEER -Rodrigo Kulas V,ENGINEER -Jaiden Williamson,MANAGER -Cristopher Williamson,MANAGER -Mr. Jay Krajcik,ENGINEER -Francesco Miller,MANAGER -Brenna Reinger,MANAGER -Mr. Mollie Stanton,MANAGER -Coby Schowalter,ENGINEER -Estefania Armstrong II,MANAGER -Aimee Nienow,ENGINEER -Kimberly Batz,ENGINEER -Miss Sienna Pfannerstill,ENGINEER -Johnathon Hammes,ENGINEER -Julien Hansen,MANAGER -Mrs. Emerson Waelchi,MANAGER -Malcolm Streich,MANAGER -Aurelio Lebsack,ENGINEER -Juana Grady,ENGINEER -Kiel Lakin,MANAGER -Sarai Keeling,ENGINEER -Emilia Crona,ENGINEER -Georgianna Kris,MANAGER -Maida Heller,MANAGER -Jena Feeney,ENGINEER -Mabelle Keeling,MANAGER -Chris Bergstrom,ENGINEER -Audrey Block DDS,ENGINEER -Louvenia Kuhn,ENGINEER -Thomas O'Keefe,MANAGER -Darby Klocko,MANAGER -Arlene Weimann,MANAGER -Corbin Jones MD,ENGINEER -Lamar Mraz,ENGINEER -Miss Onie Krajcik,MANAGER -Kamille Schaefer,MANAGER -Jack Borer,ENGINEER -Reese Heaney,MANAGER -Ilene Kovacek,ENGINEER -Trace Bailey,ENGINEER -Wava Donnelly,ENGINEER -Mona Lakin,MANAGER -Weldon Heaney,MANAGER -Norris Labadie,ENGINEER -Bridgette Brown,MANAGER -Osborne Kertzmann,MANAGER -Verlie Bruen,ENGINEER -Enrique Ullrich,ENGINEER -Dr. Asia Purdy,ENGINEER -Lindsey Predovic DDS,MANAGER -Maxine Mosciski,MANAGER -Sydni Stoltenberg,ENGINEER -Paige Buckridge,ENGINEER -Miss Laverne Dach,MANAGER -Murl Abshire,MANAGER -Lou Friesen,MANAGER -Keenan Fahey,ENGINEER -Ashleigh Schultz,ENGINEER -Mrs. Keshaun Lesch,ENGINEER -Jeffrey Langosh,ENGINEER -Mckenzie Boyle,ENGINEER -Hipolito Price PhD,MANAGER -Lesley Adams III,ENGINEER -Mya Howe,ENGINEER -Nick Kutch Sr.,MANAGER -Ms. Winfield Wilkinson,ENGINEER -Leopold Schulist,ENGINEER -Orval Prosacco,ENGINEER -Wilmer Mueller,MANAGER -Karina Batz,MANAGER -Luigi Abbott,MANAGER -Pamela Miller,MANAGER -Emelie Marquardt,ENGINEER -Zola Beier,MANAGER -Mr. Elva Ritchie,ENGINEER -Mrs. Otis Quitzon,MANAGER -Dr. Willow Jacobs,MANAGER -Cathryn Koss,MANAGER -Ms. Alivia Ernser,MANAGER -Timothy Mohr,ENGINEER -Mrs. Jaylan Wuckert,MANAGER -Emerald Waelchi,ENGINEER -Vernon Heathcote,MANAGER -Lavinia Ruecker,ENGINEER -Mr. Quinn Altenwerth,MANAGER -Alejandra Marks,MANAGER -Mr. Leo Wuckert,MANAGER -Jayce Schiller MD,MANAGER -Elenora Ebert Jr.,ENGINEER -Dr. Rose Wyman,MANAGER -Wade Orn,MANAGER -Iva Marks Sr.,MANAGER -Margaret Pouros,MANAGER -Barton Deckow,MANAGER -Miss Lesly Balistreri,ENGINEER -Mr. Jacquelyn Reynolds,ENGINEER -Doyle Heidenreich,MANAGER -Heidi Ruecker,ENGINEER -Mr. Alvis Moen,MANAGER -Dr. Garnet Brown,ENGINEER -Yolanda Beier,ENGINEER -Soledad Macejkovic,ENGINEER -Urban Lowe,ENGINEER -Devyn Schmidt,MANAGER -Barbara Flatley,MANAGER -Patsy Sanford PhD,ENGINEER -Mrs. Rubye Blanda,ENGINEER -Caleigh Klocko,ENGINEER -Kali Dietrich,MANAGER -Ms. Weldon Hudson,ENGINEER -Vallie Huel,ENGINEER -Sven O'Keefe III,ENGINEER -Gerardo Wehner Sr.,ENGINEER -Kyle Kirlin,MANAGER -Marianne Berge Jr.,ENGINEER -Ms. Cristal Connelly,MANAGER -Kailey Spinka,MANAGER -Jeremie Morar,MANAGER -Daija Lind,ENGINEER -Arvel McDermott,ENGINEER -Dr. Nicholas Gorczany,MANAGER -Anne Leuschke,MANAGER -Gerda Cronin,ENGINEER -Ms. Coty Rolfson,ENGINEER -Kareem Gerhold,ENGINEER -Mrs. Nico Mann,ENGINEER -Corbin Bartell,ENGINEER -Theresa Gulgowski,MANAGER -Carmelo Boyer,MANAGER -Elinore Schulist III,MANAGER -Katarina Schultz,MANAGER -Deven Rodriguez II,MANAGER -Miss Bruce Friesen,MANAGER -Marcelle Schowalter,MANAGER -Albertha Murphy PhD,MANAGER -Elmore Doyle,ENGINEER -Reymundo Jaskolski,ENGINEER -Stephania Swaniawski I,MANAGER -Stewart Veum,MANAGER -Nathanael Bartell,MANAGER -Retha Rempel,ENGINEER -Isidro Aufderhar,MANAGER -Florencio Mohr,MANAGER -Zella Weimann,ENGINEER -Khalid Macejkovic,ENGINEER -Geraldine Torp,ENGINEER -Presley Marks,ENGINEER -Mrs. Eve Bartoletti,ENGINEER -Corine Schimmel,MANAGER -Citlalli Goldner DDS,MANAGER -Zakary Botsford,MANAGER -Florida Reilly,ENGINEER -Mr. Patsy Doyle,MANAGER -Emily Hayes II,ENGINEER -Dr. Johann Turcotte,ENGINEER -Dr. Darion Dietrich,ENGINEER -Norris Brekke,MANAGER -Janessa Marquardt,MANAGER -Felicita Wintheiser MD,MANAGER -Melyssa Muller,ENGINEER -Vivienne Weissnat DDS,ENGINEER -Ford Gerlach,ENGINEER -Keenan Kertzmann,ENGINEER -Tobin Goyette,ENGINEER -Cecilia Green,MANAGER -Abe Fisher,MANAGER -Mrs. Annabell Morissette,MANAGER -Danny Kautzer III,MANAGER -Gerard Cruickshank,ENGINEER -Joy Okuneva DDS,MANAGER -Ezequiel Macejkovic,ENGINEER -Vernie Bradtke IV,ENGINEER -Trycia Muller,ENGINEER -Clotilde Ankunding,ENGINEER -Mr. Chaya Abshire,ENGINEER -Hanna Roob,MANAGER -Ronny Dietrich,ENGINEER -Derek Durgan DVM,MANAGER -Demetrius West,MANAGER -Macey Nikolaus,MANAGER -Edison Gottlieb III,MANAGER -Bo Collins,ENGINEER -Michaela Pagac PhD,MANAGER -Mireille Kunde I,ENGINEER -Duncan Kulas,MANAGER -Mrs. Xzavier Smitham,ENGINEER -Mr. Adrianna Baumbach,MANAGER -Shad Rolfson,MANAGER -Mr. Dimitri Baumbach,MANAGER -Samara Schultz,MANAGER -Mrs. Brant Kautzer,MANAGER -Tierra Greenholt,ENGINEER -Otho Kub,MANAGER -Ana Harber,MANAGER -Ted Mertz Sr.,ENGINEER -Uriel Zieme,MANAGER -Mr. Adaline Wolff,ENGINEER -Mrs. Maurice Senger,MANAGER -Ada Gleason,MANAGER -Edwina Bernier DVM,ENGINEER -Elva Homenick,ENGINEER -Mrs. Shane Powlowski,MANAGER -Obie Nikolaus,MANAGER -Ottis Jakubowski,MANAGER -Mr. Armand Leannon,ENGINEER -Jaime Kuvalis,ENGINEER -Loyce VonRueden Jr.,ENGINEER -Evangeline Johns,MANAGER -Federico Halvorson,MANAGER -Sylvester Gerlach,MANAGER -Ashly Wunsch V,MANAGER -Rowland Miller,MANAGER -Bryon Kunde,MANAGER -Denis Ernser,ENGINEER -Jovanny O'Reilly DVM,ENGINEER -Lazaro Hermiston,MANAGER -Kelly Stehr,ENGINEER -Oda Fadel,ENGINEER -Percival Armstrong,ENGINEER -Caleigh Schimmel,MANAGER -Tyrique Pfeffer,ENGINEER -Adell Leuschke,ENGINEER -Dr. Cade Farrell,ENGINEER -Gisselle Doyle,MANAGER -Lily Reinger,MANAGER -Jeffrey Gleason,ENGINEER -Tad Huel,ENGINEER -Connor Conn,MANAGER -Mr. Cathrine Casper,ENGINEER -Dr. Beryl Rempel,MANAGER -Carlie Steuber,MANAGER -Rose Frami IV,ENGINEER -Mr. Tyrel Pagac,MANAGER -Morton Trantow,ENGINEER -Lola Ortiz,MANAGER -Kelton Champlin,MANAGER -Owen Mayert,ENGINEER -Johnny Witting,MANAGER -Thea Rolfson,MANAGER -Reanna Schmidt,ENGINEER -Ian Stehr,MANAGER -Mr. Patsy Purdy,MANAGER -Brady Ritchie,ENGINEER -Thea Effertz,MANAGER -Gerry Veum,ENGINEER -Corene Adams,MANAGER -Julian Kutch,MANAGER -Mrs. Joe Connelly,ENGINEER -Adolphus Paucek,MANAGER -Jasmin Ledner II,ENGINEER -Dr. Osbaldo Beatty,ENGINEER -Dr. Mckenna Haag,MANAGER -Abdiel Connelly DVM,ENGINEER -Liliana Baumbach III,MANAGER -Willard Kuvalis V,ENGINEER -Carolyn Jaskolski Jr.,MANAGER -Reta Franecki,ENGINEER -Percival O'Kon,ENGINEER -Kamryn Rath,MANAGER -Hailey Dooley,MANAGER -Mrs. Brycen West,ENGINEER -Margarette Miller,MANAGER -Cristian Pagac,MANAGER -Rosalee Bechtelar,MANAGER -Lessie Lesch,MANAGER -Iva Hegmann,MANAGER -Hallie Schroeder,MANAGER -Mr. Lola Volkman,ENGINEER -Arianna Wolf DDS,MANAGER -Elliot Trantow,MANAGER -Darrion Rath PhD,ENGINEER -Coralie Effertz V,ENGINEER -Ms. Corrine Effertz,ENGINEER -Ellie Keebler,ENGINEER -Tyrese Pfeffer,ENGINEER -Jayce Roberts,MANAGER -Isobel Veum,ENGINEER -Raphaelle Breitenberg,ENGINEER -Maudie Labadie I,ENGINEER -Rosario Langosh MD,ENGINEER -Raheem Mohr,MANAGER -Avery Lind,ENGINEER -Nichole Waters,ENGINEER -Blaise Gislason I,MANAGER -Everette D'Amore,ENGINEER -Darwin Conroy,MANAGER -Abdullah Heathcote,ENGINEER -Burnice Treutel,MANAGER -Libbie O'Hara,ENGINEER -Rowan Will,MANAGER -Gudrun Gleason,ENGINEER -Fannie Quitzon,MANAGER -Terence Gutkowski,ENGINEER -Tyshawn Rowe,MANAGER -Jaylan Sanford,MANAGER -Camille Schaden DVM,MANAGER -Ms. Blaze Emmerich,MANAGER -Sonny Stoltenberg,ENGINEER -Elsie Jacobson,MANAGER -London Jacobs,MANAGER -Mr. Hassie Kuhn,ENGINEER -Raul Bogan MD,ENGINEER -Adrian Abshire,MANAGER -Golden Kreiger,MANAGER -Deven Stiedemann I,MANAGER -Hilario Koepp PhD,MANAGER -Maynard Herzog,MANAGER -Nathaniel Torp,MANAGER -Courtney Strosin,MANAGER -Emely Lowe,ENGINEER -Vilma Weber,ENGINEER -Ms. Carlee Littel,ENGINEER -Hayden Mills,ENGINEER -Ervin Schimmel,ENGINEER -Gino Ortiz,ENGINEER -Amani Conroy,MANAGER -Korbin Lowe,MANAGER -Turner Bogan I,ENGINEER -Ms. Jabari Bauch,MANAGER -Mrs. Breanne Morissette,ENGINEER -Crystel Doyle,MANAGER -Isabel VonRueden,ENGINEER -Dayne Cremin,ENGINEER -Waino Armstrong,MANAGER -Deborah Armstrong,MANAGER -Ashlynn Mante DVM,ENGINEER -Karlie Pollich Jr.,ENGINEER -Maeve Schroeder,MANAGER -Hanna Fadel,ENGINEER -Delphia O'Hara,MANAGER -Jamir Hammes,ENGINEER -Nigel Ortiz,ENGINEER -Pauline Ritchie,MANAGER -Nicholaus Toy,ENGINEER -Freddy Okuneva,MANAGER -Brionna Fritsch,ENGINEER -Maiya Mills,ENGINEER -Alia Hoeger PhD,MANAGER -Alvina Mertz,ENGINEER -Raymundo Hintz,ENGINEER -Zack Stamm,ENGINEER -Dayne Klocko,MANAGER -Kyla Cremin,ENGINEER -Izabella Bernhard,ENGINEER -Zena Yundt,ENGINEER -Daron Schuppe,MANAGER -Mr. Amira Marvin,MANAGER -Boris Morar,MANAGER -Esperanza Batz,ENGINEER -Dortha Macejkovic I,MANAGER -Porter Dach V,ENGINEER -Kailyn Flatley I,MANAGER -Celine O'Keefe,MANAGER -Obie Rodriguez,MANAGER -Cade Gorczany,ENGINEER -Myles Shanahan,ENGINEER -Jayne Wiza,ENGINEER -Julius Huel,MANAGER -Ms. Rowena Kihn,ENGINEER -Ena Wehner,MANAGER -Clovis Cartwright,MANAGER -Mr. Marcelo D'Amore,MANAGER -Meggie Prosacco,ENGINEER -Lisa Schamberger PhD,ENGINEER -Mrs. Lyda Bayer,MANAGER -Newell Hettinger,MANAGER -Melany Wolf,MANAGER -Emil Schaefer,MANAGER -Samson Trantow,MANAGER -Maida Marquardt,ENGINEER -Johnpaul Howe MD,MANAGER -Mrs. Adah Lubowitz,ENGINEER -Ms. Imelda Kohler,MANAGER -Manuela Frami I,ENGINEER -Noelia Padberg,MANAGER -Una Eichmann DDS,ENGINEER -Elta Nolan,ENGINEER -Jaron Wyman,ENGINEER -Kayla Windler Sr.,MANAGER -Mrs. Zetta Stiedemann,MANAGER -Dr. Abner Adams,MANAGER -Brenden Ortiz,MANAGER -German Funk,ENGINEER -Mr. Liliane Konopelski,MANAGER -Jarrett Morar,MANAGER -Parker Huels,MANAGER -Mrs. Alvah Bayer,ENGINEER -Wilhelm Parker Jr.,ENGINEER -Leo Mertz,ENGINEER -Corine Hills,ENGINEER -Coy Raynor Sr.,ENGINEER -Mallie Streich DVM,ENGINEER -Daisy Hoeger,MANAGER -Michelle Hickle,ENGINEER -Nolan Douglas,ENGINEER -Vivian Bernier,ENGINEER -Brigitte Toy,ENGINEER -Aniyah Schoen,ENGINEER -Emmie Bins,ENGINEER -Mazie Weimann,MANAGER -Carole Aufderhar,ENGINEER -Bernhard O'Kon,ENGINEER -Flavio Moore Sr.,MANAGER -Justina Wuckert,ENGINEER -Meredith Jones,ENGINEER -Gene Champlin,MANAGER -Clare Fay,MANAGER -Lesly Johnston II,MANAGER -Cristian Kling,MANAGER -Candido Littel,MANAGER -Mrs. Gregory Ritchie,ENGINEER -Lucio Sawayn,MANAGER -Derick Rath DVM,MANAGER -Gabriella Dietrich,ENGINEER -Lula Spencer DVM,ENGINEER -Horacio Kulas,ENGINEER -Davin Vandervort DDS,ENGINEER -Ms. Avery Wisoky,ENGINEER -Talon Williamson MD,MANAGER -Gerald Hahn,MANAGER -Ettie Yost,MANAGER -Abdullah Mosciski,ENGINEER -Mrs. Marielle Bosco,ENGINEER -Kory Batz,MANAGER -Noelia Kovacek,ENGINEER -Kyleigh Nienow,MANAGER -Alize Lind,ENGINEER -Ellsworth Altenwerth,ENGINEER -Domenic Mayer,ENGINEER -Ms. Geovanny Satterfield,ENGINEER -Ella Daniel,MANAGER -Kylee Bogisich PhD,ENGINEER -Ryder Wilkinson Sr.,MANAGER -Marina Schaefer,ENGINEER -Ms. Paige Bartell,MANAGER -Mitchel Murray,ENGINEER -Tyler Quigley,MANAGER -Veronica Kreiger,ENGINEER -Halie Goldner,ENGINEER -Ryder Lakin,ENGINEER -Chloe Legros,ENGINEER -Dariana O'Conner,ENGINEER -Era Bins Jr.,ENGINEER -Laila Reichert,MANAGER -Dedrick Kuhic V,ENGINEER -Haylee Price Jr.,ENGINEER -Callie Shields,MANAGER -Jarrod Fahey,MANAGER -Earlene Cremin,ENGINEER -Ellie Bergstrom,MANAGER -Armando Grady,ENGINEER -Dr. Lamar Hessel,ENGINEER -Joe Runolfsson Sr.,ENGINEER -Manley Oberbrunner,MANAGER -Meta Weissnat II,ENGINEER -Dagmar Batz IV,ENGINEER -Susie Bayer,ENGINEER -Randi Howell,ENGINEER -Joanne Rau,MANAGER -Buck Stark,ENGINEER -Shane Donnelly,ENGINEER -Quincy Casper V,ENGINEER -Lafayette Grimes,MANAGER -Mrs. Jody Beer,ENGINEER -Miss Corene Schamberger,ENGINEER -Dr. Jesse Baumbach,ENGINEER -Brenna Quigley Jr.,MANAGER -Ms. Viviane Bins,ENGINEER -Edgar Johnson,MANAGER -Mr. Tracy Beier,ENGINEER -Juvenal Ortiz,ENGINEER -Dr. Nat Pagac,MANAGER -Julio Mitchell,ENGINEER -Clarissa Mraz Jr.,ENGINEER -Dustin Grady,MANAGER -Brennon Bayer,ENGINEER -Mrs. Birdie Nienow,MANAGER -Randal Sauer Sr.,ENGINEER -Verda Kozey,ENGINEER -Chesley Hickle,ENGINEER -Miss Rico Block,ENGINEER -Gaetano Lindgren,MANAGER -Hope Hauck,ENGINEER -Percival O'Connell,ENGINEER -Melyna Leuschke,MANAGER -Adan Collins,MANAGER -Daryl Bashirian,ENGINEER -Kara Welch,MANAGER -Norberto Swift,ENGINEER -Effie Champlin Jr.,ENGINEER -Dr. Julia Metz,MANAGER -Janice Witting,MANAGER -Bruce Eichmann,MANAGER -Isobel Swift,ENGINEER -Earnestine Mayer MD,MANAGER -Michele Bashirian,ENGINEER -Janick Crona,ENGINEER -Hank Fisher III,MANAGER -Miss Aliya Skiles,ENGINEER -Herbert Orn,MANAGER -Aglae Baumbach,ENGINEER -Gayle Carter,ENGINEER -Creola Kautzer,MANAGER -Theresa Hauck,MANAGER -Ms. Patience Wintheiser,MANAGER -Sebastian Rutherford DDS,ENGINEER -Ara Pollich I,ENGINEER -Carlos Baumbach,MANAGER -Hulda Schroeder DVM,ENGINEER -Stanton Torp,MANAGER -Ceasar Franecki,MANAGER -Lelah Miller,ENGINEER -Wyman Schultz,MANAGER -Mae Harris V,MANAGER -Hortense Koelpin,ENGINEER -Wilmer Deckow,ENGINEER -Zaria Ferry,ENGINEER -Pierre Cronin,ENGINEER -Ms. Brenna Leffler,ENGINEER -Dr. Keara Price,ENGINEER -Jane Schroeder,MANAGER -Reymundo Heathcote,MANAGER -Elton Schiller II,MANAGER -Irma Blanda,MANAGER -Mireya Turner,MANAGER -Dawson Streich,MANAGER -Gianni Cassin,MANAGER -Johnathan Kuhic V,MANAGER -Lacey Sawayn,ENGINEER +Shea Wyman,MANAGER +Rudy McGlynn,MANAGER +Kallie Wilderman,MANAGER +Jude McCullough,MANAGER +Angeline Hegmann,ENGINEER +Nellie Leuschke DDS,ENGINEER +Tyrell Nikolaus,ENGINEER +Donnell Kling,ENGINEER +Jerad Gaylord,MANAGER +Milan Kihn,MANAGER +Roman Kertzmann,MANAGER +Elyssa Daugherty,ENGINEER +Larue Hane,MANAGER +Vince Walsh DDS,MANAGER +Mr. Rodrigo Davis Jr.,ENGINEER +Mr. Carol Donnelly,MANAGER +Mr. Johathan Kohler,MANAGER +Burley Kunde,MANAGER +Aracely Stark,MANAGER +Ms. Mara Greenfelder,MANAGER +Rylan Hamill,MANAGER +Ms. Fanny Lebsack,ENGINEER +Maia Adams,MANAGER +Lauriane Feest,ENGINEER +Bulah Keeling,MANAGER +Nikita Corkery,MANAGER +Ms. Rosetta Hamill,MANAGER +Thomas Lubowitz,ENGINEER +Tina Ullrich,ENGINEER +Keven Johnston,MANAGER +Mr. Conrad Hoeger III,MANAGER +Garrick O'Hara,MANAGER +Ms. Alexane Beahan IV,ENGINEER +Antonetta Denesik,MANAGER +Neha Jacobson,MANAGER +Jarrett Russel,MANAGER +Camylle Hane,ENGINEER +Martin Murazik,MANAGER +Simeon Labadie,MANAGER +Chase Wiegand,ENGINEER +Loy Jacobson,MANAGER +Rachael Mayer,MANAGER +Ms. Nellie Kling Jr.,MANAGER +Ms. Annabelle Gorczany,MANAGER +Michele Heller II,MANAGER +Ethel Brown I,ENGINEER +Woodrow Bayer,ENGINEER +Viviane Maggio,ENGINEER +Ms. Abbigail O'Connell Sr.,ENGINEER +Idell Hilll,MANAGER +Mohammed Hahn,MANAGER +Adela Altenwerth,MANAGER +Maryse Simonis,MANAGER +Boris Rosenbaum PhD,ENGINEER +Joshuah Marquardt,ENGINEER +Haylie Botsford,ENGINEER +Demetris Labadie PhD,MANAGER +Deron Hauck,ENGINEER +Mr. Johnpaul Hilll,MANAGER +Neoma Johnston,MANAGER +Otho Nolan,ENGINEER +Phyllis Rosenbaum III,MANAGER +Mylene Cassin,ENGINEER +Geoffrey Kovacek,MANAGER +Leslie Parisian,MANAGER +Donavon Veum,ENGINEER +Floyd Mraz,MANAGER +Judson Koss,MANAGER +Litzy Hahn,ENGINEER +Mr. Jalon Boyle,ENGINEER +Ms. Enola Emard DDS,ENGINEER +Mr. Nels Toy Sr.,ENGINEER +Mr. Broderick Heidenreich Sr.,ENGINEER +Mr. Jaleel Renner Jr.,ENGINEER +Estelle Labadie,MANAGER +Mozell Ankunding,ENGINEER +Eudora Dibbert,ENGINEER +Mr. Guillermo Welch,MANAGER +Mr. Brando Carter I,MANAGER +Mr. Eliezer Emmerich,ENGINEER +Mr. Arnulfo Torphy PhD,MANAGER +Grady Lind,ENGINEER +Mr. Jimmie Barton,ENGINEER +Vivianne Lakin,ENGINEER +Gina Dach,MANAGER +Ms. Rosetta Langworth I,ENGINEER +Jacinthe Abernathy II,MANAGER +Mr. Deven Tillman,ENGINEER +Mazie Vandervort IV,MANAGER +Mr. Chadd Corkery DVM,MANAGER +Norval Torp,ENGINEER +Charlene McCullough,ENGINEER +Scottie Ziemann PhD,ENGINEER +Reta Dickinson Jr.,ENGINEER +Ms. Hortense Collins PhD,MANAGER +Mr. Lloyd Beier,MANAGER +Mr. Uriah Price,MANAGER +Della Larson,ENGINEER +Fanny Schultz,MANAGER +Mr. Danial Shanahan Sr.,ENGINEER +Audrey Dooley PhD,MANAGER +Ms. Ida Hoeger,MANAGER +Tyson O'Keefe,ENGINEER +Therese Bergnaum DVM,MANAGER +Mr. Sofia Schroeder,MANAGER +Boris Bernhard,ENGINEER +Ms. Violet Sanford,MANAGER +Micheal Walker,ENGINEER +Kurtis Sauer IV,MANAGER +Golda Haag,MANAGER +Helene Barrows,MANAGER +Felicity Wilderman,MANAGER +Adalberto Nitzsche,MANAGER +Kolby Leuschke,ENGINEER +Mr. Montana Marquardt,ENGINEER +Audrey Schaden Jr.,ENGINEER +Ms. Lucie Blick II,ENGINEER +Lydia O'Kon,MANAGER +Lawson Cummerata PhD,ENGINEER +Cedrick Wiegand,ENGINEER +Nestor Cassin,ENGINEER +Mr. Gideon Pouros,MANAGER +Clark O'Reilly,ENGINEER +Ms. Kali DuBuque Jr.,MANAGER +Ms. Claudia Runolfsson,MANAGER +Sandrine Hoppe III,ENGINEER +Marlene Williamson,MANAGER +Jesus McKenzie,MANAGER +Tyson Pfannerstill,ENGINEER +Mr. Braeden Ratke,ENGINEER +Mr. Martin Lubowitz,ENGINEER +Mariana McDermott,MANAGER +Ms. Jakayla Thompson,MANAGER +Sally Crist PhD,ENGINEER +Ms. Cathryn Dooley II,ENGINEER +Cathryn Hackett,ENGINEER +Riley Leuschke,ENGINEER +Ms. Nellie Gottlieb Jr.,ENGINEER +Ladarius Predovic IV,ENGINEER +Mr. Berta Morar,ENGINEER +Vincent Stoltenberg,ENGINEER +Ms. Celestine Bergstrom,ENGINEER +Abby Roob,MANAGER +Ms. Virgie Heaney,MANAGER +Krystina Klocko Jr.,MANAGER +Ms. Orie Auer,MANAGER +Mr. Ariel Hayes DVM,MANAGER +Mr. Danial Botsford,MANAGER +Name Ankunding,MANAGER +Flavie Kerluke Jr.,MANAGER +Jaida Cremin,ENGINEER +Mr. Zachery Mohr II,ENGINEER +Mr. Ottis McGlynn,ENGINEER +Frederick Roob,MANAGER +Edwardo Johns,ENGINEER +Mackenzie Rogahn V,ENGINEER +Madelynn Satterfield,ENGINEER +Elva Zboncak,MANAGER +Michaela Reilly,MANAGER +Ana Kiehn,MANAGER +Ruthie Becker,ENGINEER +Cecelia Rosenbaum,MANAGER +Elaina Halvorson,MANAGER +Jedediah Botsford,ENGINEER +Eldred Swift,MANAGER +Jay Torp,ENGINEER +Jeramy Kunde,MANAGER +Daisy Reynolds,MANAGER +Wilhelm Leffler,MANAGER +Selina Pfeffer,MANAGER +Ms. Catherine Douglas MD,MANAGER +Mr. Randal Nikolaus,ENGINEER +Isabell Kilback,MANAGER +Garfield Kutch,MANAGER +Angelo Lehner,ENGINEER +Tess Reilly,MANAGER +Letitia Adams,MANAGER +Glenna Dibbert,ENGINEER +Ms. Virgie Anderson,ENGINEER +Ms. Nellie Langosh Sr.,MANAGER +Nickolas Kuhic,ENGINEER +Mr. Greyson Schaefer,MANAGER +Adelle Christiansen,ENGINEER +Sherman Jacobson III,MANAGER +Lazaro Runolfsson DDS,ENGINEER +Ms. Alice Schneider IV,MANAGER +Hannah Hilll,MANAGER +Mr. Deangelo Hessel,MANAGER +Adrianna Osinski,MANAGER +Myra Bechtelar,ENGINEER +Gennaro Grady,MANAGER +Giovanni Willms,ENGINEER +Ms. Minerva Hagenes III,MANAGER +Emie Ziemann II,MANAGER +Mr. Ervin Towne I,ENGINEER +Maeve Lakin II,ENGINEER +Ms. Creola Hauck III,MANAGER +Velma Kuhlman,ENGINEER +Carleton Mertz PhD,MANAGER +Lue Schneider,ENGINEER +Johan Tillman,ENGINEER +Maureen Zieme,ENGINEER +Ciara Collier,MANAGER +Ms. Leonie Denesik III,ENGINEER +Mr. Brennan Mohr I,MANAGER +Ms. Rosina Larkin MD,ENGINEER +Keaton McClure,MANAGER +Lorenzo Schoen,MANAGER +Ms. Alexa Jacobi,MANAGER +Daisha Olson II,MANAGER +Ms. Loraine Heathcote,MANAGER +Major Lowe,MANAGER +Dedric Denesik II,MANAGER +Neoma Bode PhD,MANAGER +Ms. Providenci King Sr.,ENGINEER +Orlando Boyle,MANAGER +Elvie Mills PhD,MANAGER +Ashton Gorczany,MANAGER +Ms. Maureen Hegmann,ENGINEER +Winona Streich,ENGINEER +Madelyn Hyatt,ENGINEER +Mr. Terrence Goodwin,ENGINEER +Riley Abbott PhD,MANAGER +Quentin Farrell,ENGINEER +Ms. Lorine Hills,MANAGER +Mr. Gussie Wehner DVM,MANAGER +Leanna Schuster,MANAGER +Mr. Grayce Konopelski,MANAGER +Calista Rodriguez MD,ENGINEER +Ebba Goldner,ENGINEER +Toney McCullough,ENGINEER +Hans Wisozk,MANAGER +Ms. Aditya Schumm,ENGINEER +Mr. Carmel Russel I,MANAGER +Ms. Daniella Kuvalis,MANAGER +Evert Friesen,ENGINEER +Justice Kunze,MANAGER +Mr. Alford Davis IV,MANAGER +Laurence Gerhold,ENGINEER +Lonny Collins,ENGINEER +Judson Emard IV,MANAGER +Delfina Hand,MANAGER +Gabrielle Turcotte IV,ENGINEER +Leann Fisher,ENGINEER +Billie Greenholt III,ENGINEER +Brant Turner,ENGINEER +Imelda McLaughlin,MANAGER +Ms. Macie Beatty,MANAGER +Dayne Dicki,ENGINEER +Elenor Abernathy,ENGINEER +Alanna Bauch,MANAGER +Creola Russel,MANAGER +Misty Becker,MANAGER +Brennan Larkin,MANAGER +Kian Olson,MANAGER +Sigurd Schuppe,MANAGER +Winnifred Zemlak,MANAGER +Ms. Adrianna Gerlach V,MANAGER +Arch Bednar,ENGINEER +Zion Nikolaus,ENGINEER +Sidney Hegmann,ENGINEER +Jessika Senger,MANAGER +Sophie Watsica,ENGINEER +Lila McClure DDS,MANAGER +Concepcion Gerhold,MANAGER +Marley Doyle,ENGINEER +Kristin Hermiston,MANAGER +Hollis Becker,MANAGER +Mr. Alessandro Kilback,MANAGER +Celia Beatty,ENGINEER +Mr. Camren Schuppe,MANAGER +Judy Kemmer IV,MANAGER +Mr. Alex Stracke,ENGINEER +Ms. Maureen Klein,ENGINEER +Giovanni Bogisich II,ENGINEER +Trevor Lebsack,MANAGER +Mr. Damian Larkin PhD,ENGINEER +Dave Hirthe,ENGINEER +Mr. Thad Casper,MANAGER +Pietro Bode,ENGINEER +Gregg Ortiz,MANAGER +Ervin Hand,MANAGER +Roberta Bosco,MANAGER +Ms. Kellie Osinski II,ENGINEER +Mr. Carmine Morar,MANAGER +Ms. Annie Bode III,MANAGER +Lorna O'Connell,ENGINEER +Gayle Jacobson III,MANAGER +Dave Schaefer,MANAGER +Devyn Effertz,ENGINEER +Mr. Arlo Casper,ENGINEER +Sandrine Collins,MANAGER +Mr. Chandler Roberts V,MANAGER +Ms. Ericka Murazik,ENGINEER +Keith Goyette,ENGINEER +Mckenna Feil,ENGINEER +Britney Prosacco,ENGINEER +Lois Hudson,ENGINEER +Ms. Hilma Walsh V,ENGINEER +Albina Gorczany,MANAGER +German Wiegand,ENGINEER +Mr. Jed Morar,MANAGER +Quincy Willms II,MANAGER +Ms. Bette King II,MANAGER +Ena Ryan,MANAGER +Daryl Nitzsche,MANAGER +Liliane Rempel,ENGINEER +Patience Wolf,MANAGER +Cleora Torphy,ENGINEER +Clemens O'Conner,MANAGER +Ozella Romaguera,MANAGER +Javon Mitchell,ENGINEER +Koby Jacobs,ENGINEER +Ms. Leda Leffler,MANAGER +Isabelle Kautzer,MANAGER +Ms. Annabell Auer V,ENGINEER +Wilfredo Turner I,ENGINEER +D'angelo Predovic,MANAGER +Mr. Godfrey Barrows,ENGINEER +Allie Gerhold,ENGINEER +Ms. Oleta Beer,ENGINEER +Ms. Jacklyn Wehner DDS,MANAGER +Mr. Bailey Fahey DVM,ENGINEER +Lesly Mitchell Sr.,MANAGER +Phyllis Heller III,MANAGER +Oswaldo Gusikowski,ENGINEER +Jordi Altenwerth,MANAGER +Ariel Price,ENGINEER +Orie Bins,MANAGER +Eldridge Conroy,MANAGER +Benedict Lebsack III,MANAGER +Clarabelle Walker,ENGINEER +Anabelle Hodkiewicz Sr.,MANAGER +Mr. Nikko Ferry,MANAGER +Nelda VonRueden,ENGINEER +Mathew Buckridge,MANAGER +Mary Runolfsdottir III,MANAGER +Jesus Reynolds,ENGINEER +Abbigail Steuber,ENGINEER +Ally Franecki,ENGINEER +Edward Mayer,ENGINEER +Myrtie Kreiger,MANAGER +Mr. Chadd Kovacek,MANAGER +Glennie Jakubowski IV,MANAGER +Coby Hirthe,MANAGER +Milton Grimes,MANAGER +Estella Kilback,MANAGER +Ms. Zoe Gorczany,MANAGER +Ms. Vivienne Heller IV,ENGINEER +Mr. Wilson Greenfelder,MANAGER +Curtis Stiedemann,MANAGER +Karlie Swaniawski,ENGINEER +Vicente Fahey,ENGINEER +Madilyn Erdman,MANAGER +Mr. Elroy Gerhold,MANAGER +Ms. Hettie Murphy,ENGINEER +Mr. Ashton Conroy Jr.,ENGINEER +Hollie Dietrich Jr.,ENGINEER +Mr. Khalid Deckow,ENGINEER +Jett Kessler,ENGINEER +Theresa Rau,ENGINEER +Brianne Casper,MANAGER +Reymundo O'Hara,MANAGER +Jadon Moen,MANAGER +Patricia Hyatt,MANAGER +Cristal Johns,MANAGER +Jenifer Hammes III,MANAGER +Lamar Gleason,ENGINEER +Mr. Lionel Keeling IV,MANAGER +Darren Abernathy DDS,ENGINEER +Braxton Hagenes,ENGINEER +Aniya Fadel,MANAGER +Ms. Reina Erdman,ENGINEER +Furman Tremblay,MANAGER +Delfina Moen,ENGINEER +Ana Grady DVM,ENGINEER +Brittany Stehr,MANAGER +Milan Larkin,ENGINEER +Lilliana Mante,MANAGER +Corrine Sawayn,ENGINEER +Mr. Kenneth Berge,ENGINEER +Mr. Theodore Wyman,MANAGER +Jayde Bauch,ENGINEER +Ms. Marguerite VonRueden,ENGINEER +Magdalen Schowalter,ENGINEER +Rita Fay,MANAGER +Mr. Clement Parisian IV,MANAGER +Bernie Leannon,MANAGER +Alta Fritsch,MANAGER +Otto Skiles Jr.,MANAGER +Marcellus Botsford,ENGINEER +Leopold Pacocha,ENGINEER +Coy Friesen,MANAGER +Flavio Kerluke,MANAGER +Ms. Otilia Sauer,ENGINEER +Mertie Robel PhD,ENGINEER +Mr. Waino Langosh,MANAGER +Linnie Yundt,ENGINEER +Santos Rohan V,MANAGER +Ms. Karen Grady,MANAGER +Mr. Kale Hessel IV,ENGINEER +Dayton Oberbrunner,MANAGER +Fausto Considine,MANAGER +Amie Muller,ENGINEER +Leopoldo Becker DDS,ENGINEER +Zetta Carter,ENGINEER +Kaitlyn Douglas,MANAGER +Jaylin Sporer,MANAGER +Ms. Gina Barrows II,ENGINEER +Naomi Bogan,ENGINEER +Price Hauck II,ENGINEER +Berniece Wilderman,ENGINEER +Harrison Mann,MANAGER +Buddy Marquardt,ENGINEER +Leonor Wintheiser,ENGINEER +Oswaldo Gutkowski,MANAGER +Manley Predovic,ENGINEER +Mr. Paolo Beatty,MANAGER +Mr. Ian Klocko Sr.,ENGINEER +Mr. Alec Hagenes DVM,ENGINEER +Zetta Reynolds,ENGINEER +Mr. Liam Pacocha PhD,MANAGER +Elvera McClure,MANAGER +Fleta Hansen,ENGINEER +Liza Corwin,MANAGER +Tyrel Thompson,ENGINEER +Ms. Krista Bogan,ENGINEER +Garfield Ratke,MANAGER +Eda Morissette,MANAGER +Ms. Alexandrine Weissnat V,MANAGER +Jeramy Hettinger,ENGINEER +Ms. Flavie Mertz III,ENGINEER +Vilma Maggio Sr.,MANAGER +Jacinthe D'Amore,MANAGER +Ms. Aliza Towne,ENGINEER +Amos Maggio,MANAGER +Janick Crona DDS,ENGINEER +Darien Fadel,ENGINEER +Albert Frami,MANAGER +Mr. Kelvin Shanahan V,MANAGER +Kraig Gulgowski DDS,MANAGER +Jodie Bergnaum,ENGINEER +Emilie O'Reilly,MANAGER +Ellen Dach,MANAGER +Ms. Annabell Ferry II,MANAGER +Brady Ritchie,MANAGER +Ms. Anna Lockman PhD,MANAGER +Quentin Corwin,MANAGER +Tianna Skiles,ENGINEER +Betty Marks,ENGINEER +Antwon Deckow,MANAGER +Nina Rolfson,ENGINEER +Maggie West,MANAGER +Mr. Keon Pfeffer,MANAGER +Abbigail Mante,MANAGER +Amy Heathcote MD,ENGINEER +Mr. Theron Watsica,MANAGER +Lafayette Toy,ENGINEER +Mr. Darius O'Conner,ENGINEER +Mr. Juwan Miller Sr.,ENGINEER +Elwyn Wilkinson II,MANAGER +Jon Collins,MANAGER +Joanie Windler,ENGINEER +Coty Eichmann MD,MANAGER +Elmore Weber,MANAGER +Layla Gottlieb,MANAGER +Zachariah Armstrong,ENGINEER +Jorge Osinski,MANAGER +Jayden Ruecker IV,MANAGER +Ms. Kyla Lubowitz,MANAGER +Jayme Ullrich,MANAGER +Devin Leannon,ENGINEER +Eliezer Roberts,ENGINEER +Lexus McLaughlin,MANAGER +Ms. Eve Gerlach PhD,MANAGER +Sheila Bayer,ENGINEER +Ms. Bettie Gislason IV,MANAGER +Sven Batz V,MANAGER +Kevin Langosh Jr.,MANAGER +Ms. Eldridge Bins,ENGINEER +Madelyn Terry,MANAGER +Aurelia Sauer,ENGINEER +Harry Wehner,ENGINEER +Mckayla Rosenbaum,ENGINEER +Mr. Zack Heidenreich PhD,ENGINEER +Margaret Rempel,MANAGER +Coy Moen,MANAGER +Ms. Whitney Jacobson,MANAGER +Ms. Reba O'Conner III,ENGINEER +Emmy Emard,ENGINEER +Ellie Simonis IV,MANAGER +Kolby Jerde,ENGINEER +Serenity Nolan,ENGINEER +Arvilla Leffler MD,MANAGER +Sherwood Considine,MANAGER +Braulio Pfeffer,ENGINEER +Americo Roberts,MANAGER +Mr. Cesar Hayes,ENGINEER +Rosalinda Kautzer III,ENGINEER +Melvina McGlynn III,ENGINEER +Jannie Botsford,MANAGER +Mr. Barry Eichmann Jr.,MANAGER +Ubaldo Harvey Jr.,MANAGER +Vincenza Mayer,ENGINEER +Sister Hickle,ENGINEER +Joanny Mante,MANAGER +Enid Kihn,MANAGER +Kathleen Corwin MD,ENGINEER +Hellen Little III,MANAGER +Mr. Tanner Kihn,ENGINEER +Sasha Feest,ENGINEER +Benny Pfeffer III,ENGINEER +Mr. Wilford Herman,MANAGER +Ms. Asia Klein III,MANAGER +Buster Marquardt,ENGINEER +Magdalena Kshlerin,MANAGER +Pete White,MANAGER +Bud Goyette,ENGINEER +Elias Muller,ENGINEER +Lizzie Hansen,ENGINEER +Loy Farrell DVM,MANAGER +Demarco Stanton Sr.,MANAGER +Ms. Malvina Hyatt II,ENGINEER +Daren Windler DDS,ENGINEER +Ms. Madie Koss PhD,MANAGER +Johnson Parisian,MANAGER +Odessa Kling,MANAGER +Dolores Schaden,ENGINEER +Mr. Pedro Kshlerin Jr.,ENGINEER +Gage Becker Jr.,ENGINEER +Miles Bergnaum Sr.,ENGINEER +Mr. Damon Kreiger,ENGINEER +Caroline Gutkowski,MANAGER +Kaitlin Reynolds,ENGINEER +Mr. Kellen Metz,ENGINEER +Ms. Shany Hoeger II,MANAGER +Mr. Marvin Crist,ENGINEER +Daren O'Connell,ENGINEER +Trystan Johnston,ENGINEER +Malvina Schroeder,MANAGER +Lourdes Mertz,MANAGER +Mr. Modesto Funk DDS,MANAGER +Bonnie Ortiz,MANAGER +Gunner Halvorson,ENGINEER +Hallie Crist,MANAGER +Freddy Lehner,ENGINEER +Bell Brekke,MANAGER +Arianna King,MANAGER +Clement Schaefer,MANAGER +Hillary Bartoletti,MANAGER +Adrain Kertzmann,ENGINEER +Ms. Reyna Bayer DVM,MANAGER +Lauryn Satterfield,ENGINEER +Ms. Gregoria Rolfson,MANAGER +Bessie Schamberger,ENGINEER +Ms. Faye Lubowitz,MANAGER +Leora Powlowski,MANAGER +Mr. Omer O'Reilly Sr.,MANAGER +Miller Tremblay,MANAGER +Joan Keebler,ENGINEER +Larry Weimann,MANAGER +Mr. Jaren Brekke III,MANAGER +Makayla Hoppe,MANAGER +Ms. Electa Grant,MANAGER +Virgil Kshlerin I,MANAGER +Alverta Prohaska,ENGINEER +Bud Connelly,ENGINEER +Franz Altenwerth DDS,MANAGER +Amos Predovic,ENGINEER +Lew Grimes,MANAGER +Brendan Kohler,ENGINEER +Ms. Addison Okuneva,ENGINEER +Esta Brekke,ENGINEER +Skyla Barton PhD,ENGINEER +Paula Herzog,MANAGER +Horace Carter IV,MANAGER +Dolly Kshlerin DDS,ENGINEER +Jamil Bashirian,ENGINEER +Ms. Margret Schimmel MD,ENGINEER +Alvera Sauer,MANAGER +Enid Hettinger,ENGINEER +Ezequiel Hettinger,ENGINEER +Florian Auer,ENGINEER +Estella Feeney,ENGINEER +Israel Spinka,MANAGER +Edwina Kirlin,ENGINEER +Pamela Brakus PhD,MANAGER +Delbert Schiller,MANAGER +Ms. Rosetta Breitenberg,MANAGER +Hermina Wisoky,ENGINEER +Palma Langosh,ENGINEER +Keenan Hane,MANAGER +Matilde Bergstrom,MANAGER +Ms. Jessica Bergnaum Sr.,ENGINEER +Camille Schuster,ENGINEER +Myrl Haag,ENGINEER +Annalise Rutherford,ENGINEER +Meredith Reichert,ENGINEER +Ms. Chelsie Conroy,MANAGER +Leora Torphy,MANAGER +Adolf Torp,MANAGER +Sincere Klocko,MANAGER +Reese Torp II,MANAGER +Ms. Miracle Balistreri,MANAGER +Ms. Paige Jakubowski II,MANAGER +Jimmie Brekke,MANAGER +Avery Tremblay,ENGINEER +Collin Cartwright,ENGINEER +Amelie Carroll,MANAGER +Angela Towne,MANAGER +Maria Ward,MANAGER +Ms. Ellen Walker III,ENGINEER +Martin Senger Sr.,MANAGER +Florida Hessel,MANAGER +Freeman Steuber,ENGINEER +Mr. Ellsworth Maggio,ENGINEER +Ms. Hildegard Watsica,ENGINEER +Ivory Wehner,ENGINEER +Mr. Carmine Reichel V,ENGINEER +Ida Crona,MANAGER +Abigail Morissette,MANAGER +Mr. Norwood Gerlach III,MANAGER +Olin Keeling,ENGINEER +Brayan Kautzer,MANAGER +Carlie Ward MD,ENGINEER +Mr. Jalon Heller V,ENGINEER +Vivienne Corkery,ENGINEER +Ms. Mittie Romaguera DVM,MANAGER +Aylin Gerhold II,MANAGER +Peggie Wehner,MANAGER +Ms. Sadye Barrows DDS,ENGINEER +Althea Dickens,ENGINEER +Richmond Oberbrunner,ENGINEER +Toney Brakus III,ENGINEER +Abigale Greenfelder,ENGINEER +Ms. Karine Dickinson DVM,MANAGER +Ms. Beatrice Reynolds,MANAGER +Yvonne Howell,MANAGER +Mr. Douglas Witting Sr.,MANAGER +Dustin McDermott,ENGINEER +Mr. Sherwood Murphy,MANAGER +Delilah Nicolas,ENGINEER +Ms. Gloria Quigley DVM,ENGINEER +Dorris Bartell,ENGINEER +Daija Hamill,ENGINEER +Ms. Litzy Johns,ENGINEER +Tony Ferry,MANAGER +Justyn Erdman,ENGINEER +Zoie Parker,MANAGER +Mr. Garland Heathcote,MANAGER +Emely Will IV,MANAGER +Ms. Haven Romaguera PhD,MANAGER +Ahmad Lehner,ENGINEER +Keanu Schumm,MANAGER +Floy Kozey,ENGINEER +Judy Kunde,MANAGER +Camden Gaylord,ENGINEER +Verna Schmeler,MANAGER +Ms. Guadalupe Eichmann III,MANAGER +Mr. Issac Purdy,MANAGER +Nina Thompson PhD,MANAGER +Quinn Cartwright,MANAGER +Mr. Edmund Thiel V,ENGINEER +Ezekiel Block,MANAGER +Johanna Abernathy,MANAGER +Sheila Hills,ENGINEER +Theresa Lind,MANAGER +Ms. Bessie Muller PhD,ENGINEER +Wayne Abbott,MANAGER +Clay Hayes,MANAGER +Marcus Pouros,ENGINEER +Hilda Schulist,ENGINEER +Dudley Ullrich,MANAGER +Ms. Meghan Hayes,MANAGER +Alexandria Jenkins,MANAGER +Mr. Osborne Rolfson,ENGINEER +Jaclyn Osinski,ENGINEER +Pamela Jenkins,ENGINEER +Mr. Khalil McCullough,MANAGER +Eva Satterfield,MANAGER +Modesta Runolfsson,MANAGER +Ms. Brooke Hyatt,MANAGER +Brianne Graham,MANAGER +Damon Hudson II,MANAGER +Ulises McCullough I,ENGINEER +Letha Ziemann DDS,ENGINEER +Amiya Durgan,MANAGER +Mr. Sydney Zulauf,ENGINEER +Dayton Lesch,ENGINEER +Millie Konopelski,ENGINEER +Wilma Roberts,MANAGER +Alexandrea Miller,ENGINEER +Rosalind Lind,ENGINEER +Raquel Kreiger,ENGINEER +Mr. Colby Hamill MD,MANAGER +Melisa Schoen,MANAGER +Gerson Rice Sr.,ENGINEER +Ms. Clara Hettinger,ENGINEER +Casandra Hammes,MANAGER +Arthur Kuhic,ENGINEER +Wilburn Abernathy,MANAGER +Mr. Jules Jacobi,MANAGER +Mr. Tyrique Runte PhD,ENGINEER +Alva Murphy,MANAGER +Laurel O'Hara,ENGINEER +Ocie Hauck,MANAGER +Mr. Jamarcus Nitzsche,MANAGER +Lucienne Hane,ENGINEER +Helen Kessler,MANAGER +Eino Morar Jr.,MANAGER +Caden Watsica,ENGINEER +Mr. Jaden Pfannerstill MD,MANAGER +Mr. Macey McGlynn IV,MANAGER +Luisa Kuhn II,ENGINEER +Ms. Carolanne Feil,MANAGER +Christiana Berge,ENGINEER +Micah Hamill,MANAGER +Scotty Moore,MANAGER +Louisa Wyman,ENGINEER +Roslyn Gorczany,MANAGER +Mauricio Nikolaus,ENGINEER +Agustina Hammes,ENGINEER +Filiberto Schulist,MANAGER +Providenci Prohaska,ENGINEER +Elvie Mayert V,MANAGER +Mr. Damien Turcotte,ENGINEER +Peter Toy DVM,MANAGER +Barbara Jacobs IV,ENGINEER +Selina Feeney Sr.,ENGINEER +Ms. Lavina Bogisich Sr.,MANAGER +Francisca Kuvalis,MANAGER +Mr. Eddie Bartell,ENGINEER +Braeden Quigley,MANAGER +Ms. Maude Schmeler,MANAGER +Rowena Wilkinson,MANAGER +Soledad Schroeder,MANAGER +Ms. Josianne Doyle V,MANAGER +Brooke Dare DDS,MANAGER +Mr. Abe Hahn,ENGINEER +Cooper Collier,MANAGER +Avery Bernier,MANAGER +Ms. Augustine O'Keefe DDS,ENGINEER +Keshaun Cummerata,ENGINEER +Dedric Nolan I,ENGINEER +Elbert Auer,ENGINEER +Betsy Schulist,ENGINEER +Ms. Asha Zulauf,MANAGER +Silas Heidenreich,ENGINEER +Mr. Alfonzo Graham PhD,ENGINEER +Mr. Jennings Hansen,ENGINEER +Gaetano Heidenreich,ENGINEER +Forrest Abshire,MANAGER +Ms. Avis Fisher PhD,ENGINEER +Wendell Wunsch,ENGINEER +Jana DuBuque,MANAGER +Tate Padberg,ENGINEER +Mr. Deondre Mosciski,MANAGER +Lavada Konopelski,ENGINEER +Jane McClure,MANAGER +Matt Shanahan IV,ENGINEER +Ms. Eliane Schuppe,MANAGER +Ila Vandervort,ENGINEER +Ms. Lucienne Zieme DDS,MANAGER +Sharon Dickens,ENGINEER +Vivienne Osinski,MANAGER +Nichole Schaefer,MANAGER +Walton Gorczany,MANAGER +Brandy Herzog,MANAGER +Meggie Doyle,ENGINEER +Sven Schimmel,MANAGER +Ms. Shaina West III,MANAGER +Tatyana Wolf I,ENGINEER +Mr. Braden Jacobson DDS,ENGINEER +Mr. Dangelo Krajcik V,MANAGER +Miguel Jenkins,MANAGER +Stan Roob,MANAGER +Ms. Verdie Purdy,MANAGER +Ms. Leatha Kulas,MANAGER +Alanna Senger,MANAGER +Margarett Okuneva,MANAGER +Cassie Wiegand,ENGINEER +Ms. Fatima Bednar Jr.,ENGINEER +Ms. Aylin Larson,ENGINEER +Ada Rippin,ENGINEER +Quinten Beahan,ENGINEER +Modesta Kertzmann,ENGINEER +Retha Herzog,MANAGER +Mr. Darryl Wyman DDS,MANAGER +Ulises Kutch,ENGINEER +Mr. Jettie Thiel,MANAGER +Theresia Schinner,ENGINEER +Taurean Lehner,MANAGER +Darien Carter,ENGINEER +Anastasia Turner,ENGINEER +Elbert Langosh,MANAGER +Jordi Labadie,MANAGER +Theodora Welch,ENGINEER +Ms. Ebony Johnson V,ENGINEER +Jonathan Schimmel,MANAGER +Carole Maggio III,ENGINEER +Kennedi King IV,MANAGER +Myra Wehner,ENGINEER +Jewel Rodriguez,ENGINEER +Nick Kling,MANAGER +Fred Kassulke,ENGINEER +Mr. Elmore Quigley,MANAGER +Ms. Veronica McKenzie,ENGINEER +Maxine Wilderman,ENGINEER +Alice Klein,MANAGER +Theo Fisher,ENGINEER +Mr. Orlando Prohaska,ENGINEER +June Heller PhD,ENGINEER +Mr. Tyreek Ankunding MD,MANAGER +Stephon Glover IV,ENGINEER +Herminia Emmerich,ENGINEER +Mr. Hector Mante,ENGINEER +Zion Bartoletti DVM,MANAGER +Santa Effertz,MANAGER +Brody Nitzsche Sr.,MANAGER +Ms. Odessa Wuckert II,ENGINEER +Frederik Ebert,MANAGER +Clark Gulgowski,ENGINEER +Ms. Wendy Reilly I,MANAGER +Ms. Dominique Torphy,MANAGER +Roderick Brown,MANAGER +Mr. Jaiden Kemmer,ENGINEER +Verda Deckow,ENGINEER +Jaeden Tremblay,ENGINEER +Arjun Kirlin II,MANAGER +Mr. Demario Haag II,ENGINEER +Fredy Howell,MANAGER +Jeffrey Veum,MANAGER +Jordy Spencer,MANAGER +Mr. Verner Schaefer V,ENGINEER +Prudence Luettgen,ENGINEER +Earlene Lang,MANAGER +Mr. Trevor Bailey Jr.,MANAGER +Mr. Lenny Kemmer II,MANAGER +Kiarra Bayer MD,MANAGER +Mr. Taurean Bogisich,MANAGER +Merlin Kuphal,ENGINEER +Reina Labadie,MANAGER +Marques Brakus DDS,ENGINEER +Lourdes Kutch,MANAGER +Dejah Erdman,ENGINEER +Kole Prohaska DDS,MANAGER +Kaci Monahan,ENGINEER +Mr. Cameron Howell,ENGINEER +Mr. Rod Okuneva,ENGINEER +Stone McGlynn,MANAGER +Johnnie Gutmann,MANAGER +Ms. Aurelia Wyman IV,MANAGER +Gabrielle DuBuque,MANAGER +Laury Ryan,ENGINEER +Ms. Camila Pouros II,MANAGER +Beaulah Sporer,MANAGER +Mr. Keeley Kessler V,MANAGER +Katlyn O'Keefe,ENGINEER +Mr. Webster Veum MD,ENGINEER +Ms. Estella Crona,ENGINEER +Toy Jaskolski,ENGINEER +Lilla Wisozk,ENGINEER +Mr. Domingo Johnson,ENGINEER +Rose Swaniawski,MANAGER +Timmothy Johnson IV,ENGINEER +Rosina McDermott MD,ENGINEER +Jonathan Runte,ENGINEER +Haley Heller,ENGINEER +Katlynn Ritchie,ENGINEER +Toni Funk PhD,ENGINEER +Eloy Cummerata,MANAGER +Norma Gleason,ENGINEER +Jayde Greenholt,ENGINEER +Adele Spinka,MANAGER +Tristian Walsh III,ENGINEER +Toni Jaskolski,ENGINEER +Novella Beier,MANAGER +Mr. Cortez Fay,MANAGER +Jason Schuster,MANAGER +Elias Davis,MANAGER +Brennan Mayert DDS,MANAGER +Jewel Renner Sr.,ENGINEER +Brad Steuber,MANAGER +Darrin Boehm,MANAGER +Hal Bergstrom,ENGINEER +Hubert Lebsack,ENGINEER +Torrance Schimmel MD,ENGINEER +Ms. Magdalen Stoltenberg,ENGINEER +Vilma Emard,ENGINEER +Ms. Fanny Dibbert,MANAGER +Mr. Lucio Wintheiser Sr.,MANAGER +Cathy McLaughlin MD,MANAGER +Murl Altenwerth,ENGINEER +Holly Beer,ENGINEER +Mr. Lucio Witting,MANAGER +Marco McKenzie,ENGINEER +Ms. Madie Marvin,MANAGER +Ms. Renee Koepp,ENGINEER +Perry Roberts,ENGINEER +Dawson Kozey I,ENGINEER +Ana Blick,ENGINEER +Wilma Huel,MANAGER +Ms. Cordie Nitzsche,ENGINEER +Marcelino Hansen,MANAGER +Ms. Otha Stamm,ENGINEER +Stefan Hahn III,MANAGER +Amanda Hudson,ENGINEER +Deshaun Langworth,MANAGER +Mr. Hilario Kuhn,ENGINEER +Montserrat Wisoky,ENGINEER +Lily Braun,ENGINEER +Ms. Nicolette Windler I,ENGINEER +Caesar Gorczany,ENGINEER +Nils Sipes,ENGINEER +Kara Cormier,MANAGER +Cullen Klocko,ENGINEER +Mr. Skylar Durgan II,ENGINEER +Alberto West,MANAGER +Gwen Veum MD,MANAGER +Frederick McDermott MD,ENGINEER +Mr. Hudson Skiles,MANAGER +Ruth Schaden,ENGINEER +Alayna Raynor,ENGINEER +Ms. Eryn Olson,ENGINEER +Alexa Shanahan PhD,MANAGER +Camylle Rowe,ENGINEER +Isabella Emmerich,ENGINEER +Annetta Gutmann III,ENGINEER +Kristy Kunde,ENGINEER +Mr. Gardner Fahey IV,MANAGER +Seamus Hagenes,ENGINEER +Mr. Gene Marks,ENGINEER +Hilario Block,ENGINEER +Ms. Annabel Keeling,MANAGER +Ms. Mckayla Sipes II,ENGINEER +Henriette Bogisich,ENGINEER +Tess Gusikowski DDS,ENGINEER +Mr. Anthony Kertzmann DVM,MANAGER +Alysha Okuneva,ENGINEER +Orlo Ebert,MANAGER +Eulalia Kshlerin,ENGINEER +Ms. Zelda Olson DDS,ENGINEER +Ms. Sarah Mitchell MD,MANAGER +Ms. Ciara Jakubowski Jr.,ENGINEER +Mr. Wilhelm Lubowitz DVM,ENGINEER +Aisha Barton,MANAGER +Nayeli Kessler PhD,ENGINEER +Alexandre Reilly,MANAGER +Alexys Doyle,ENGINEER +Shayne Keebler V,ENGINEER +Kristoffer Rohan,ENGINEER +Ms. Chaya Feest,ENGINEER +Ms. Kaycee Paucek DDS,MANAGER +Ima Fritsch,ENGINEER +Ms. Kailee O'Reilly,ENGINEER +Emilia Kerluke Sr.,MANAGER +Keyshawn Stark,MANAGER +Lila Jenkins,ENGINEER +Magdalen Hyatt,MANAGER +Ms. Danyka Bernier,ENGINEER +Matteo Jaskolski,ENGINEER +Laverna Simonis,MANAGER +Filiberto Satterfield IV,MANAGER +Margot Schowalter,MANAGER +Ms. Winnifred Leannon III,ENGINEER +Talon Howell,MANAGER +Leo Zboncak,ENGINEER +Pierre Nikolaus,ENGINEER +Dana Carter,MANAGER +Sofia Hoppe,ENGINEER +Lupe Braun,MANAGER +Brayan Mosciski,ENGINEER +Ferne Mraz,ENGINEER +Frank Kautzer,MANAGER +Mr. Jadon Goyette,MANAGER +Ms. Alisa Lang PhD,MANAGER +Mr. Jamaal Roob,ENGINEER +Ms. Tabitha Towne V,ENGINEER +Emanuel Goyette,MANAGER +Araceli Howe,ENGINEER +Bonnie DuBuque,MANAGER +Arch Wintheiser,MANAGER +Solon Turcotte,ENGINEER +General Glover,MANAGER +Krista Kautzer,MANAGER +Roosevelt Trantow,ENGINEER +Luisa Ratke DDS,ENGINEER +Roman McDermott,ENGINEER +Lindsey Breitenberg,ENGINEER +Mr. Warren Crooks,ENGINEER +Ms. Litzy Reichel,ENGINEER +Mr. Jeramie Runolfsdottir PhD,MANAGER +Gavin Morissette Sr.,MANAGER +Minnie Goldner,MANAGER +Clay Smith II,MANAGER +Daphne Schimmel,MANAGER +Corine Berge Sr.,MANAGER +Ms. Adeline Heller II,MANAGER +Oran Lakin,MANAGER +Velma Monahan II,ENGINEER From bbf6c8cec8a8aebd582a38cc51e352be48e90890 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Fri, 8 Aug 2025 15:15:30 -0400 Subject: [PATCH 0729/1301] Stick to a consistent seed --- .../document_classifier/documents.csv | 200 +- .../entity_recognizer/annotations.csv | 1944 ++++++++-------- .../entity_recognizer/documents.txt | 2000 ++++++++--------- .../entity_recognizer/entitylist.csv | 2000 ++++++++--------- .../generate/document_classifier/main.go | 4 +- .../document_classifier_multilabel/main.go | 4 +- .../generate/entity_recognizer/main.go | 4 +- 7 files changed, 3078 insertions(+), 3078 deletions(-) diff --git a/internal/service/comprehend/test-fixtures/document_classifier/documents.csv b/internal/service/comprehend/test-fixtures/document_classifier/documents.csv index 2cd96c026acf..6680fbf79142 100644 --- a/internal/service/comprehend/test-fixtures/document_classifier/documents.csv +++ b/internal/service/comprehend/test-fixtures/document_classifier/documents.csv @@ -1,100 +1,100 @@ -SPAM,"Dear Pablo O'Connell,\n\nBuy a Dark Horse Plead the 5th from O'Connell, O'Connell and O'Connell now!\n" -SPAM,"Hello Jadon Predovic,\n\nNow available!\n\nA Ballast Point Sculpin from Schultz LLC\n" -SPAM,"Dear Baby Schmitt,\n\nBuy a Allagash White from Gusikowski LLC now!\n" -SPAM,"Hello Shyann Moore,\n\nNow available!\n\nA Anchor Steam Beer from Flatley, Flatley and Flatley\n" -PHISHING,"Dear Gerald Kautzer,\n\nYour transaction qhpyasydah has failed.\n\nCall (974) 988-3460 x4262 for help.\n" -PHISHING,"Mr. Ambrose O'Reilly,\n\nYour order number jthfzyzkku has been returned.\n\nCall 713.402.6705 to get help.\n" -PHISHING,"Hello Chris Barrows,\n\nCall (868) 687-8023 x530 for help with your order wwfrdcezer. Otherwise it will be returned to the sender.\n" -PHISHING,"Hello Gabriel Kshlerin,\n\nCall +16393306190 for help with your order oyxoponask. Otherwise it will be returned to the sender.\n" -SPAM,"Hello Mr. Felix Schaefer Jr.,\n\nNow available!\n\nA Hill Farmstead Abner from Mann-Mann\n" -SPAM,"Hello Ms. Angela Grimes I,\n\nNow available!\n\nA Sierra Nevada Bigfoot Barleywine-Style Ale from Trantow PLC\n" -SPAM,"Dear Fay Stanton DVM,\n\nBuy a Saint Arnold Fancy Lawnmower from Brakus, Brakus and Brakus now!\n" -PHISHING,"Minnie Kutch MD,\n\nYour order number mywqfwyvho has been returned.\n\nCall (338) 462-0772 x0986 to get help.\n" -SPAM,"Joanie Koss,\n\nDon't miss out on buying VonRueden-VonRueden's Surly Brewing Darkness today!\n" -SPAM,"Rita Klein,\n\nDon't miss out on buying Wehner, Wehner and Wehner's Terrapin Wake n Bake today!\n" -PHISHING,"Dear Margarett Boyer,\n\nYour transaction etmxtmfhru has failed.\n\nCall 648.676.5311 x3981 for help.\n" -SPAM,"Dear Ms. Lela Macejkovic,\n\nBuy a Alpine Duet IPA from Konopelski, Konopelski and Konopelski now!\n" -SPAM,"Hello Antonietta Simonis,\n\nNow available!\n\nA Toppling Goliath PseudoSue from Upton-Upton\n" -SPAM,"Hello Mr. William Schinner,\n\nNow available!\n\nA Ballast Point Sculpin from Barrows-Barrows\n" -SPAM,"Ms. Eugenia Stanton DDS,\n\nDon't miss out on buying Kling, Kling and Kling's Lagunitas Brown Shugga today!\n" -SPAM,"Dear Janis Grimes Jr.,\n\nBuy a Alpine Duet IPA from Klein-Klein now!\n" -SPAM,"Toy Schumm,\n\nDon't miss out on buying Anderson, Anderson and Anderson's Allagash Curieux today!\n" -PHISHING,"Dear Coleman Torp,\n\nYour transaction sabcqyfgdu has failed.\n\nCall (607) 801-6109 for help.\n" -SPAM,"Dear Darren VonRueden,\n\nBuy a Westbrook Gose from Schoen Inc now!\n" -PHISHING,"Mr. Monty Jast I,\n\nYour order number gprqggvuvx has been returned.\n\nCall 424-792-2444 to get help.\n" -SPAM,"Dear Donny Brekke,\n\nBuy a Capital Autumnal Fire Doppelbock from Streich LLC now!\n" -SPAM,"Thurman Harvey V,\n\nDon't miss out on buying Zemlak Ltd's Lagunitas IPA today!\n" -SPAM,"Dear Vergie Greenfelder,\n\nBuy a Cigar City Hanaphu Imperial Stout from Willms, Willms and Willms now!\n" -PHISHING,"Ms. Emmalee Maggio,\n\nYour order number zkstogyedk has been returned.\n\nCall +1-256-205-7169 to get help.\n" -PHISHING,"Dear Mr. Keon Medhurst,\n\nYour transaction uuodefrdmb has failed.\n\nCall 650.307.3704 for help.\n" -SPAM,"Hello Rae Mann,\n\nNow available!\n\nA Craftsman Cabernale from Jacobs Group\n" -SPAM,"Dear Ms. Marisol Larson PhD,\n\nBuy a NoDa Hop Drop n Roll from O'Kon-O'Kon now!\n" -SPAM,"Dear Jaycee Predovic,\n\nBuy a Half Acre Daisy Cutter from Hills, Hills and Hills now!\n" -PHISHING,"Hello Shemar Gutkowski III,\n\nCall 1-703-290-5017 for help with your order xfqtoekgvg. Otherwise it will be returned to the sender.\n" -SPAM,"Hello Alda Carroll,\n\nNow available!\n\nA Cigar City Hanaphu Imperial Stout from Jacobi LLC\n" -SPAM,"Hello Mr. Harvey Senger,\n\nNow available!\n\nA Widmer Brothers Hefeweizen from Skiles-Skiles\n" -SPAM,"Dear Katelin Jacobs,\n\nBuy a Clown Shoes Undead Party Crasher from Kemmer LLC now!\n" -PHISHING,"Hello Mr. Lance Pollich Jr.,\n\nCall 1-725-803-9221 for help with your order hlbmzezren. Otherwise it will be returned to the sender.\n" -SPAM,"Dear Elise Paucek,\n\nBuy a Firestone Walker Union Jack IPA from Donnelly and Sons now!\n" -SPAM,"Cheyenne Hermann,\n\nDon't miss out on buying Dibbert, Dibbert and Dibbert's Highland Cold Mountain Winter Ale today!\n" -PHISHING,"Hello Jan Heller I,\n\nCall 1-301-592-8234 x08827 for help with your order wzbmdlybbs. Otherwise it will be returned to the sender.\n" -SPAM,"Dear Madonna Hauck DVM,\n\nBuy a Kern River Brewing Citra DIPA from Turner Inc now!\n" -SPAM,"Annabelle Runte,\n\nDon't miss out on buying Mann, Mann and Mann's Left Hand Milk Stout Nitro today!\n" -SPAM,"Mr. Cleveland Yost I,\n\nDon't miss out on buying Fritsch Inc's Pipeworks Citra today!\n" -SPAM,"Hello Assunta Langworth MD,\n\nNow available!\n\nA Alpine Duet IPA from Deckow Ltd\n" -SPAM,"Veronica Hartmann,\n\nDon't miss out on buying Torp-Torp's New Belgium Lips of Faith La Folie today!\n" -PHISHING,"Keaton Armstrong,\n\nYour order number snafgffxrw has been returned.\n\nCall 327.897.8523 x3273 to get help.\n" -PHISHING,"Aurelia Murazik DVM,\n\nYour order number vgmpcjjuub has been returned.\n\nCall (995) 836-8893 to get help.\n" -PHISHING,"Cary Hegmann,\n\nYour order number hcybdmjqzt has been returned.\n\nCall 1-556-510-2530 x905 to get help.\n" -PHISHING,"Dear Katrine Stiedemann,\n\nYour transaction qdoxegrduw has failed.\n\nCall 597.759.6624 x392 for help.\n" -SPAM,"Hello Walker Dickens,\n\nNow available!\n\nA Dale’s Pale Ale from King, King and King\n" -SPAM,"Reilly Ebert,\n\nDon't miss out on buying Zemlak Inc's Avery Rumpkin today!\n" -SPAM,"Hello Leopoldo Hayes,\n\nNow available!\n\nA Ballast Point Sculpin from Casper and Sons\n" -SPAM,"Hello Ms. Asa Sipes DDS,\n\nNow available!\n\nA Breckenridge Vanilla Porter from Skiles PLC\n" -PHISHING,"Mr. Esteban Wisoky,\n\nYour order number vuhbzugzir has been returned.\n\nCall +1.278.959.8318 to get help.\n" -PHISHING,"Ms. Janiya Nitzsche,\n\nYour order number qegezzobqg has been returned.\n\nCall (551) 640-2309 x468 to get help.\n" -PHISHING,"Myah Abbott,\n\nYour order number yvpnlfjtwi has been returned.\n\nCall 964-466-0131 x46361 to get help.\n" -SPAM,"Hello Neva Batz,\n\nNow available!\n\nA Brooklyn Brewery Lager from Goodwin-Goodwin\n" -PHISHING,"Luciano Koch,\n\nYour order number mjhpjaajfl has been returned.\n\nCall (985) 343-0161 to get help.\n" -SPAM,"Mathew Beahan,\n\nDon't miss out on buying Bartoletti, Bartoletti and Bartoletti's Hill Farmstead Everett Porter today!\n" -SPAM,"Dear Stacy Bosco,\n\nBuy a The Alchemist Focal Banger from Roob PLC now!\n" -PHISHING,"Murphy Lindgren IV,\n\nYour order number utgtubgccu has been returned.\n\nCall 241-949-1391 x6667 to get help.\n" -SPAM,"Dear Noel Wolff,\n\nBuy a Gigantic IPA from O'Keefe-O'Keefe now!\n" -PHISHING,"Dear Mr. Parker Harvey IV,\n\nYour transaction vrydrtqsck has failed.\n\nCall (923) 240-1785 x33892 for help.\n" -SPAM,"Mohammed Legros,\n\nDon't miss out on buying Abshire, Abshire and Abshire's Ten Fidy today!\n" -SPAM,"Dear Mr. Olaf Cormier DDS,\n\nBuy a Tröegs Nugget Nectar from Morar Ltd now!\n" -PHISHING,"Dear Candida Hudson,\n\nYour transaction spmhlurdag has failed.\n\nCall 238.681.3997 for help.\n" -SPAM,"Hello Marques Rutherford,\n\nNow available!\n\nA Highland Cold Mountain Winter Ale from Smith and Sons\n" -SPAM,"Percy Quigley,\n\nDon't miss out on buying Schiller Inc's Revolution Anti-Hero IPA today!\n" -PHISHING,"Hello Mr. Russel Goodwin,\n\nCall 975.617.9872 for help with your order tlocbsksbj. Otherwise it will be returned to the sender.\n" -PHISHING,"Dear Mr. Dedric Lebsack V,\n\nYour transaction omhzgmbudk has failed.\n\nCall (923) 380-0445 for help.\n" -PHISHING,"Hello Bryana Kilback,\n\nCall +1-843-946-5787 for help with your order lgwjomksih. Otherwise it will be returned to the sender.\n" -PHISHING,"Willard Heathcote,\n\nYour order number tmwhquzkvy has been returned.\n\nCall 983.826.5779 x199 to get help.\n" -PHISHING,"Hello Ms. Vicenta Collins,\n\nCall 246-703-0477 x53110 for help with your order csqggosbaa. Otherwise it will be returned to the sender.\n" -PHISHING,"Hello Marguerite Nikolaus,\n\nCall 652-743-8872 for help with your order ujbzjzieob. Otherwise it will be returned to the sender.\n" -SPAM,"Hello Archibald Bogisich,\n\nNow available!\n\nA DC Brau On the Wings Of Armageddon from Schamberger, Schamberger and Schamberger\n" -PHISHING,"Hoyt Von,\n\nYour order number quyyljzwjo has been returned.\n\nCall 1-930-457-8701 x2514 to get help.\n" -PHISHING,"Bethel McGlynn,\n\nYour order number hnhbrpnpck has been returned.\n\nCall 760.786.1018 to get help.\n" -SPAM,"Ms. Aylin Bergnaum Jr.,\n\nDon't miss out on buying Koch, Koch and Koch's The Alchemist Focal Banger today!\n" -SPAM,"Dear Esperanza Spinka I,\n\nBuy a Saint Arnold Fancy Lawnmower from Price, Price and Price now!\n" -PHISHING,"Hello Colton Marquardt,\n\nCall (909) 865-4929 x2342 for help with your order fodaaiorja. Otherwise it will be returned to the sender.\n" -SPAM,"Dear Ms. Yvette Jones,\n\nBuy a Samuel Adams Utopias from Barton Group now!\n" -PHISHING,"Dear Justen Christiansen,\n\nYour transaction pcyxcmlqlv has failed.\n\nCall 1-742-647-8697 x6604 for help.\n" -PHISHING,"Dear Cale Sauer PhD,\n\nYour transaction jxulwapzhg has failed.\n\nCall 1-239-488-5016 x957 for help.\n" -PHISHING,"Dear Ericka Gorczany MD,\n\nYour transaction egpqbyhvfc has failed.\n\nCall 668-645-9932 x603 for help.\n" -SPAM,"Odessa Bartoletti,\n\nDon't miss out on buying Hessel-Hessel's Firestone Walker Velvet Merkin today!\n" -PHISHING,"Dear Maximilian Hagenes,\n\nYour transaction rywxfaycgj has failed.\n\nCall (454) 252-1382 x78412 for help.\n" -SPAM,"Dear Mr. Jermey Johnson,\n\nBuy a Victory Prima Pils from Cartwright, Cartwright and Cartwright now!\n" -PHISHING,"Skylar Gislason,\n\nYour order number eqpkcdrfkg has been returned.\n\nCall 381.772.1696 x521 to get help.\n" -SPAM,"Dear Annamae Upton,\n\nBuy a Goose Island Bourbon County Stout from Morissette Group now!\n" -SPAM,"Hello Avery Toy,\n\nNow available!\n\nA Samuel Adams Utopias from Auer, Auer and Auer\n" -PHISHING,"Dear Ms. Beatrice Skiles,\n\nYour transaction ypborbpbbj has failed.\n\nCall 714-833-3758 x6696 for help.\n" -PHISHING,"Dear Cody Will,\n\nYour transaction qiuxyejegp has failed.\n\nCall 208.828.5990 x02050 for help.\n" -PHISHING,"Dear Mr. Tavares Baumbach,\n\nYour transaction kytugedncj has failed.\n\nCall 1-368-244-3862 for help.\n" -PHISHING,"Dear Mertie Wisozk,\n\nYour transaction jzsnbbkrys has failed.\n\nCall 643.746.3437 x84915 for help.\n" -SPAM,"Mr. Landen Carroll,\n\nDon't miss out on buying Hand-Hand's Floyds Dark Lord today!\n" -SPAM,"Hello Brooklyn Daugherty V,\n\nNow available!\n\nA The Alchemist Heady Topper from Romaguera and Sons\n" -SPAM,"Dear Jarred Windler,\n\nBuy a Perennial Artisan Ales Abraxas Imperial Stout from Bauch, Bauch and Bauch now!\n" -PHISHING,"Aurelia Smith,\n\nYour order number xfsfdhxrmz has been returned.\n\nCall 470-613-9114 x010 to get help.\n" -SPAM,"Dear Clint Willms,\n\nBuy a Green Flash Palate Wrecker from Gislason-Gislason now!\n" -PHISHING,"Hello Mr. Randi Hackett,\n\nCall (412) 607-7957 for help with your order bozgwjeorh. Otherwise it will be returned to the sender.\n" +SPAM,"Dear Miller Zulauf,\n\nBuy a Boulevard Tank 7 from Gottlieb PLC now!\n" +SPAM,"Dear Ms. Kavon Konopelski PhD,\n\nBuy a Hill Farmstead Abner from Schmidt, Schmidt and Schmidt now!\n" +SPAM,"Dear Ms. Hannah Mante I,\n\nBuy a Bell’s Two Hearted from Stamm-Stamm now!\n" +SPAM,"Tyler Will,\n\nDon't miss out on buying Bahringer, Bahringer and Bahringer's Avery Mephistopheles Stout today!\n" +PHISHING,"Ms. Jakayla Vandervort,\n\nYour order number zwrfmprbhc has been returned.\n\nCall +1-261-844-1689 to get help.\n" +PHISHING,"Dear Kayleigh Bashirian I,\n\nYour transaction dlmiqubfcf has failed.\n\nCall 1-984-227-1127 for help.\n" +PHISHING,"Nia Batz,\n\nYour order number liiwbinqlq has been returned.\n\nCall 402-250-8383 x9865 to get help.\n" +PHISHING,"Mr. Gus Rice,\n\nYour order number xmpawgudin has been returned.\n\nCall 685.225.2961 x4503 to get help.\n" +SPAM,"Hello Elena Runolfsdottir IV,\n\nNow available!\n\nA Founders Red’s Rye from Witting Group\n" +SPAM,"Hello Ms. Marisa Borer V,\n\nNow available!\n\nA Haymarket Angry Birds Rye IPA from Larkin Inc\n" +PHISHING,"Hello Dale Wilkinson,\n\nCall 524.541.3910 x2765 for help with your order hxqmmhkgnq. Otherwise it will be returned to the sender.\n" +PHISHING,"Hello Mr. Zachery O'Keefe II,\n\nCall (754) 290-9755 x28617 for help with your order vvlcglhavy. Otherwise it will be returned to the sender.\n" +SPAM,"Rickey Hoeger,\n\nDon't miss out on buying Braun, Braun and Braun's Great Divide Yeti today!\n" +SPAM,"Dear Adella Feeney,\n\nBuy a Brooklyn Brewery Lager from Lubowitz and Sons now!\n" +SPAM,"Ms. Hollie Nikolaus Sr.,\n\nDon't miss out on buying Barrows-Barrows's Brooklyn Brewery Lager today!\n" +SPAM,"Hello Violet Schneider,\n\nNow available!\n\nA New Belgium Fat Tire from Von, Von and Von\n" +PHISHING,"Dear Sandrine Zulauf MD,\n\nYour transaction xfsocadaet has failed.\n\nCall 361.648.3656 x289 for help.\n" +PHISHING,"Mr. Charley Fahey,\n\nYour order number lfcbxzffto has been returned.\n\nCall 964.814.6026 x582 to get help.\n" +PHISHING,"Hello Lily Ritchie MD,\n\nCall +1 (235) 218-2052 for help with your order ayqcgejtvo. Otherwise it will be returned to the sender.\n" +SPAM,"Dear Weldon Leuschke,\n\nBuy a Boulevard Tank 7 from Shields-Shields now!\n" +SPAM,"Hello Thea Cronin,\n\nNow available!\n\nA Brewery Ommegang Three Philosophers from Oberbrunner, Oberbrunner and Oberbrunner\n" +SPAM,"Hello Rhett Shanahan,\n\nNow available!\n\nA Floyds Dark Lord from Bosco LLC\n" +PHISHING,"Carley Torphy,\n\nYour order number ahkptypafk has been returned.\n\nCall +1-621-812-1206 to get help.\n" +PHISHING,"Hello Ms. Adella Runolfsdottir DDS,\n\nCall 374.890.8913 for help with your order dvxyktwiso. Otherwise it will be returned to the sender.\n" +SPAM,"Hello Alan Walter Sr.,\n\nNow available!\n\nA Green Flash Palate Wrecker from Graham, Graham and Graham\n" +PHISHING,"Hello Molly Grant,\n\nCall (306) 627-7209 x71992 for help with your order qpnazfoijv. Otherwise it will be returned to the sender.\n" +PHISHING,"Dear Bailey Smith,\n\nYour transaction nvuisehndq has failed.\n\nCall 585-505-6343 x187 for help.\n" +PHISHING,"Mr. Jabari Borer,\n\nYour order number hbiqmmnjlu has been returned.\n\nCall 517-338-4467 x4199 to get help.\n" +SPAM,"Hilton O'Keefe,\n\nDon't miss out on buying Weissnat-Weissnat's Perennial Artisan Ales Abraxas Imperial Stout today!\n" +SPAM,"Ms. Carolina Jakubowski IV,\n\nDon't miss out on buying McLaughlin-McLaughlin's 21st Amendment Bitter American today!\n" +PHISHING,"Hello Stone Wisoky,\n\nCall 1-937-892-3418 x056 for help with your order eejtolsuzc. Otherwise it will be returned to the sender.\n" +SPAM,"Rylan Roob,\n\nDon't miss out on buying Harris-Harris's Saint Arnold Fancy Lawnmower today!\n" +PHISHING,"Dear Ms. Bonita Deckow V,\n\nYour transaction lobmlodwbi has failed.\n\nCall 673.284.1552 for help.\n" +SPAM,"Wilton Jaskolski,\n\nDon't miss out on buying Lubowitz PLC's Allagash White today!\n" +PHISHING,"Vernon Purdy,\n\nYour order number lewpstaxpn has been returned.\n\nCall 335.317.6581 x81749 to get help.\n" +SPAM,"Mallory Dietrich,\n\nDon't miss out on buying Yost-Yost's Deschutes Black Butte Porter today!\n" +PHISHING,"Guadalupe Stanton,\n\nYour order number iddgbzfnqp has been returned.\n\nCall +1.683.241.2135 to get help.\n" +PHISHING,"Dear Kasandra Ritchie,\n\nYour transaction myenxkuxto has failed.\n\nCall +1-458-407-6700 for help.\n" +PHISHING,"Hello Skylar Fritsch,\n\nCall 601-258-3052 x98651 for help with your order okbxafunej. Otherwise it will be returned to the sender.\n" +SPAM,"Dear Laney Nitzsche,\n\nBuy a Sierra Nevada Bigfoot Barleywine-Style Ale from Terry, Terry and Terry now!\n" +PHISHING,"Hello Gracie Cremin IV,\n\nCall (915) 290-2958 for help with your order esnlpvbxgw. Otherwise it will be returned to the sender.\n" +SPAM,"Kaelyn Schaden,\n\nDon't miss out on buying Bergnaum-Bergnaum's New Belgium Fat Tire today!\n" +SPAM,"Andres Borer,\n\nDon't miss out on buying Franecki-Franecki's Firestone Walker Parabola today!\n" +SPAM,"Dear Ms. Laurence Windler MD,\n\nBuy a Dale’s Pale Ale from Aufderhar Ltd now!\n" +SPAM,"Hello Leon Ferry,\n\nNow available!\n\nA Allagash Curieux from Little, Little and Little\n" +PHISHING,"Hello Reuben Green,\n\nCall +1.517.604.7444 for help with your order lceqaessmo. Otherwise it will be returned to the sender.\n" +SPAM,"Dear Ms. Alayna Jacobs,\n\nBuy a Avery Uncle Jacob’s Stout from Daugherty-Daugherty now!\n" +SPAM,"Hello Kade Schumm,\n\nNow available!\n\nA Foothills Brewing Sexual Chocolate from Kovacek-Kovacek\n" +SPAM,"Candida Boyer,\n\nDon't miss out on buying Krajcik, Krajcik and Krajcik's Great Lakes Edmund Fitzgerald Porter today!\n" +SPAM,"Mariana Nienow DVM,\n\nDon't miss out on buying Ward PLC's New Belgium Lips of Faith La Folie today!\n" +SPAM,"Hello Bret Grady,\n\nNow available!\n\nA Highland Cold Mountain Winter Ale from Beahan-Beahan\n" +PHISHING,"Hello Lillie Lebsack,\n\nCall 316.982.2906 x27941 for help with your order zlglrwnipa. Otherwise it will be returned to the sender.\n" +PHISHING,"Susanna Rolfson,\n\nYour order number xkrcxnrdrk has been returned.\n\nCall (223) 441-5035 x6167 to get help.\n" +SPAM,"Mr. Domenico Kertzmann I,\n\nDon't miss out on buying Hintz, Hintz and Hintz's Wild Heaven Eschaton today!\n" +SPAM,"Hillary Schinner,\n\nDon't miss out on buying Strosin-Strosin's Bell’s Two Hearted today!\n" +SPAM,"Harry O'Kon,\n\nDon't miss out on buying Gerhold, Gerhold and Gerhold's Green Flash Palate Wrecker today!\n" +PHISHING,"Dear Forrest Ullrich,\n\nYour transaction xvbzkmqyrz has failed.\n\nCall +1 (992) 894-5548 for help.\n" +PHISHING,"Dear Ms. Dayna Gislason Jr.,\n\nYour transaction oxhvreavun has failed.\n\nCall 779-772-8691 for help.\n" +PHISHING,"Hello Constance Hand,\n\nCall 1-572-597-2202 for help with your order gqxeptgike. Otherwise it will be returned to the sender.\n" +SPAM,"Dear Neha Bayer,\n\nBuy a Terrapin Wake n Bake from Green Inc now!\n" +SPAM,"Mr. Lavern Walter,\n\nDon't miss out on buying Mayert-Mayert's Bell’s Hop Slam today!\n" +SPAM,"Dear Andrew Heller,\n\nBuy a The Bruery Saison Rue from Waters Group now!\n" +SPAM,"Ms. Karianne Dibbert Sr.,\n\nDon't miss out on buying Langworth-Langworth's Hill Farmstead Abner today!\n" +PHISHING,"Ms. Corine Homenick,\n\nYour order number yuwrwkhrjq has been returned.\n\nCall (913) 489-1702 to get help.\n" +PHISHING,"Hello Mr. Leopoldo VonRueden DDS,\n\nCall 1-658-996-7312 x7820 for help with your order elyqdcwyjc. Otherwise it will be returned to the sender.\n" +SPAM,"Hello Providenci Heidenreich,\n\nNow available!\n\nA Fullsteam Carver from Williamson Ltd\n" +SPAM,"Dear Ms. Yasmine Harber,\n\nBuy a Ten Fidy from Abbott, Abbott and Abbott now!\n" +SPAM,"Jasper Block,\n\nDon't miss out on buying Price-Price's Westbrook Mexican Cake today!\n" +PHISHING,"Thurman Blick MD,\n\nYour order number mhanpuruge has been returned.\n\nCall (609) 564-5086 to get help.\n" +SPAM,"Dear Jarret Homenick,\n\nBuy a Cigar City Hanaphu Imperial Stout from Christiansen PLC now!\n" +PHISHING,"Hello Bryana Fadel,\n\nCall 1-242-357-5173 x1449 for help with your order amcchfhseb. Otherwise it will be returned to the sender.\n" +SPAM,"Hello Marietta Hoeger,\n\nNow available!\n\nA Firestone Walker Velvet Merkin from Herzog, Herzog and Herzog\n" +SPAM,"Alejandrin Rogahn,\n\nDon't miss out on buying Kerluke, Kerluke and Kerluke's Hill Farmstead Everett Porter today!\n" +PHISHING,"Kian Walter,\n\nYour order number yafdhzsphd has been returned.\n\nCall +1-462-307-4667 to get help.\n" +SPAM,"Hello Mr. Marquis Okuneva,\n\nNow available!\n\nA Anchor Steam Beer from Pfannerstill-Pfannerstill\n" +SPAM,"Hello Rosella Green,\n\nNow available!\n\nA Wicked Weed Serenity from Klein, Klein and Klein\n" +SPAM,"Mr. Hyman McDermott,\n\nDon't miss out on buying Rippin PLC's The Bruery Sans Pagaie today!\n" +SPAM,"Dear Dwight Russel,\n\nBuy a Wild Heaven Eschaton from Abbott PLC now!\n" +SPAM,"Nettie Kreiger,\n\nDon't miss out on buying Casper Group's Great Divide Yeti today!\n" +PHISHING,"Dear Raymundo Wuckert,\n\nYour transaction ozqflyxkpv has failed.\n\nCall 749.409.2335 for help.\n" +PHISHING,"Hello Ms. Eva Schamberger DVM,\n\nCall +1-938-771-0587 for help with your order hwihmypuuv. Otherwise it will be returned to the sender.\n" +PHISHING,"Hello Lincoln Cole,\n\nCall 640.721.2514 for help with your order vxzhfsepwz. Otherwise it will be returned to the sender.\n" +PHISHING,"Dear Mr. Terrill O'Conner,\n\nYour transaction wupxwtkiny has failed.\n\nCall 1-937-354-6546 x14927 for help.\n" +PHISHING,"Dear Ms. Valentina Johnson DDS,\n\nYour transaction txxutugwto has failed.\n\nCall 327-497-8512 x16391 for help.\n" +PHISHING,"Hello Aiyana Senger,\n\nCall 1-457-680-2828 x090 for help with your order xopgerkxib. Otherwise it will be returned to the sender.\n" +PHISHING,"Edward Block,\n\nYour order number joqubrmvvg has been returned.\n\nCall (513) 464-7385 x346 to get help.\n" +SPAM,"Dear Retta Donnelly,\n\nBuy a Odell 90 Shilling Ale from Windler-Windler now!\n" +SPAM,"Bennie Walter,\n\nDon't miss out on buying Stracke, Stracke and Stracke's Revolution Anti-Hero IPA today!\n" +SPAM,"Peter Miller,\n\nDon't miss out on buying Hermiston PLC's Schlafly Pumpkin Ale today!\n" +SPAM,"Dear Mr. Tremayne Stark,\n\nBuy a Ballast Point Sculpin from Shields Inc now!\n" +PHISHING,"Hello Terrence O'Conner,\n\nCall 204.354.8255 for help with your order zbfguftyqp. Otherwise it will be returned to the sender.\n" +PHISHING,"Hello Oma Bergnaum III,\n\nCall 392.896.4135 x39029 for help with your order rutmdrozem. Otherwise it will be returned to the sender.\n" +SPAM,"Ms. Eleanora Bechtelar I,\n\nDon't miss out on buying Hoppe, Hoppe and Hoppe's Hill Farmstead Everett Porter today!\n" +PHISHING,"Dear Theodore Christiansen,\n\nYour transaction jikdggshvz has failed.\n\nCall 880.778.3256 for help.\n" +SPAM,"Ms. Alexandrea Schumm III,\n\nDon't miss out on buying Hand Inc's Smuttynose Finest Kind IPA today!\n" +SPAM,"Dear Amiya Quigley,\n\nBuy a New Glarus Brewing Serendipity from Smith-Smith now!\n" +SPAM,"Hello Kailey Towne Jr.,\n\nNow available!\n\nA 21st Amendment Bitter American from Rutherford-Rutherford\n" +SPAM,"Hello Aliyah Fisher,\n\nNow available!\n\nA Stone Enjoy By… IPA from Hane-Hane\n" +PHISHING,"Amanda Lakin,\n\nYour order number tofunjxtjv has been returned.\n\nCall 978-619-5434 x06171 to get help.\n" +PHISHING,"Dear Angelo Pfeffer,\n\nYour transaction jnwsxqgrxq has failed.\n\nCall 789-697-1286 x80594 for help.\n" diff --git a/internal/service/comprehend/test-fixtures/entity_recognizer/annotations.csv b/internal/service/comprehend/test-fixtures/entity_recognizer/annotations.csv index da8fb1ebd03b..2a80dbd182ae 100644 --- a/internal/service/comprehend/test-fixtures/entity_recognizer/annotations.csv +++ b/internal/service/comprehend/test-fixtures/entity_recognizer/annotations.csv @@ -1,1001 +1,1001 @@ File,Line,Begin Offset,End Offset,Type -documents.txt,0,19,29,MANAGER -documents.txt,1,0,12,MANAGER -documents.txt,2,0,16,MANAGER +documents.txt,0,0,13,MANAGER +documents.txt,1,0,14,MANAGER +documents.txt,2,0,21,MANAGER documents.txt,3,0,15,MANAGER -documents.txt,4,0,16,ENGINEER -documents.txt,5,0,19,ENGINEER -documents.txt,6,0,15,ENGINEER -documents.txt,7,25,38,ENGINEER -documents.txt,8,0,13,MANAGER -documents.txt,9,25,35,MANAGER -documents.txt,10,0,15,MANAGER -documents.txt,11,0,16,ENGINEER -documents.txt,12,0,10,MANAGER -documents.txt,13,36,51,MANAGER -documents.txt,14,20,41,ENGINEER -documents.txt,15,0,18,MANAGER -documents.txt,16,0,19,MANAGER -documents.txt,17,0,12,MANAGER -documents.txt,18,0,13,MANAGER -documents.txt,19,0,20,MANAGER -documents.txt,20,0,12,MANAGER -documents.txt,21,20,37,ENGINEER -documents.txt,22,19,29,MANAGER -documents.txt,23,37,51,ENGINEER -documents.txt,24,0,13,MANAGER -documents.txt,25,0,14,MANAGER -documents.txt,26,19,37,MANAGER -documents.txt,27,0,15,ENGINEER -documents.txt,28,0,12,ENGINEER -documents.txt,29,0,14,MANAGER -documents.txt,30,0,21,MANAGER -documents.txt,31,0,14,MANAGER -documents.txt,32,0,21,ENGINEER -documents.txt,33,25,42,MANAGER -documents.txt,34,25,38,MANAGER -documents.txt,35,0,14,MANAGER -documents.txt,36,25,37,ENGINEER -documents.txt,37,0,14,MANAGER -documents.txt,38,0,14,MANAGER -documents.txt,39,0,13,ENGINEER -documents.txt,40,0,12,MANAGER -documents.txt,41,0,13,MANAGER -documents.txt,42,0,20,MANAGER -documents.txt,43,0,22,MANAGER -documents.txt,44,0,17,MANAGER -documents.txt,45,37,50,ENGINEER -documents.txt,46,0,13,ENGINEER -documents.txt,47,0,14,ENGINEER -documents.txt,48,20,46,ENGINEER -documents.txt,49,25,36,MANAGER -documents.txt,50,0,13,MANAGER -documents.txt,51,0,16,MANAGER -documents.txt,52,25,39,MANAGER -documents.txt,53,0,19,ENGINEER -documents.txt,54,37,54,ENGINEER -documents.txt,55,0,15,ENGINEER -documents.txt,56,25,45,MANAGER +documents.txt,4,0,17,ENGINEER +documents.txt,5,0,22,ENGINEER +documents.txt,6,37,56,ENGINEER +documents.txt,7,0,13,ENGINEER +documents.txt,8,25,42,MANAGER +documents.txt,9,25,48,MANAGER +documents.txt,10,0,11,ENGINEER +documents.txt,11,25,39,ENGINEER +documents.txt,12,0,17,MANAGER +documents.txt,13,0,11,MANAGER +documents.txt,14,0,20,MANAGER +documents.txt,15,0,14,MANAGER +documents.txt,16,20,41,ENGINEER +documents.txt,17,0,12,ENGINEER +documents.txt,18,0,13,ENGINEER +documents.txt,19,0,14,MANAGER +documents.txt,20,0,14,MANAGER +documents.txt,21,25,41,MANAGER +documents.txt,22,0,12,ENGINEER +documents.txt,23,0,14,ENGINEER +documents.txt,24,0,23,MANAGER +documents.txt,25,25,42,ENGINEER +documents.txt,26,0,14,ENGINEER +documents.txt,27,0,18,ENGINEER +documents.txt,28,0,13,MANAGER +documents.txt,29,36,53,MANAGER +documents.txt,30,0,15,ENGINEER +documents.txt,31,0,15,MANAGER +documents.txt,32,0,15,ENGINEER +documents.txt,33,0,12,MANAGER +documents.txt,34,0,20,ENGINEER +documents.txt,35,0,21,MANAGER +documents.txt,36,0,15,ENGINEER +documents.txt,37,0,16,ENGINEER +documents.txt,38,0,16,ENGINEER +documents.txt,39,0,19,MANAGER +documents.txt,40,25,39,ENGINEER +documents.txt,41,0,12,MANAGER +documents.txt,42,0,15,MANAGER +documents.txt,43,19,43,MANAGER +documents.txt,44,0,13,MANAGER +documents.txt,45,0,15,ENGINEER +documents.txt,46,0,27,MANAGER +documents.txt,47,0,10,MANAGER +documents.txt,48,0,14,MANAGER +documents.txt,49,0,10,MANAGER +documents.txt,50,0,12,MANAGER +documents.txt,51,0,16,ENGINEER +documents.txt,52,0,10,ENGINEER +documents.txt,53,0,18,MANAGER +documents.txt,54,36,50,MANAGER +documents.txt,55,0,12,MANAGER +documents.txt,56,0,13,ENGINEER documents.txt,57,0,11,ENGINEER -documents.txt,58,0,18,MANAGER -documents.txt,59,0,14,MANAGER -documents.txt,60,0,10,ENGINEER -documents.txt,61,19,40,MANAGER -documents.txt,62,0,13,ENGINEER -documents.txt,63,0,16,MANAGER -documents.txt,64,0,15,MANAGER -documents.txt,65,20,32,ENGINEER -documents.txt,66,25,35,MANAGER -documents.txt,67,0,11,MANAGER -documents.txt,68,25,35,ENGINEER -documents.txt,69,20,35,ENGINEER -documents.txt,70,0,19,ENGINEER -documents.txt,71,37,53,ENGINEER -documents.txt,72,0,29,ENGINEER -documents.txt,73,25,46,ENGINEER -documents.txt,74,0,15,MANAGER -documents.txt,75,0,16,ENGINEER -documents.txt,76,37,51,ENGINEER -documents.txt,77,0,19,MANAGER -documents.txt,78,0,19,MANAGER -documents.txt,79,25,45,ENGINEER -documents.txt,80,19,41,MANAGER -documents.txt,81,0,10,ENGINEER -documents.txt,82,20,37,ENGINEER -documents.txt,83,0,14,ENGINEER -documents.txt,84,36,45,MANAGER -documents.txt,85,0,23,ENGINEER -documents.txt,86,0,21,MANAGER -documents.txt,87,0,17,ENGINEER -documents.txt,88,19,38,MANAGER -documents.txt,89,0,21,MANAGER -documents.txt,90,0,11,ENGINEER -documents.txt,91,20,39,ENGINEER -documents.txt,92,20,39,ENGINEER -documents.txt,93,0,18,ENGINEER -documents.txt,94,0,24,MANAGER -documents.txt,95,25,40,MANAGER -documents.txt,96,0,15,MANAGER -documents.txt,97,37,49,ENGINEER -documents.txt,98,0,13,MANAGER -documents.txt,99,0,23,ENGINEER -documents.txt,100,0,17,MANAGER -documents.txt,101,0,14,MANAGER -documents.txt,102,0,13,ENGINEER -documents.txt,103,0,20,MANAGER -documents.txt,104,0,19,MANAGER -documents.txt,105,20,34,ENGINEER -documents.txt,106,0,18,MANAGER -documents.txt,107,0,14,ENGINEER -documents.txt,108,0,15,MANAGER -documents.txt,109,0,10,MANAGER -documents.txt,110,0,14,MANAGER -documents.txt,111,0,18,MANAGER -documents.txt,112,0,18,MANAGER -documents.txt,113,37,51,ENGINEER -documents.txt,114,0,21,ENGINEER -documents.txt,115,0,18,ENGINEER -documents.txt,116,0,18,ENGINEER -documents.txt,117,36,47,MANAGER -documents.txt,118,0,20,ENGINEER -documents.txt,119,0,15,ENGINEER -documents.txt,120,20,33,ENGINEER -documents.txt,121,0,17,MANAGER -documents.txt,122,0,14,ENGINEER -documents.txt,123,0,20,MANAGER -documents.txt,124,0,22,MANAGER -documents.txt,125,0,18,ENGINEER -documents.txt,126,0,18,MANAGER -documents.txt,127,25,39,MANAGER -documents.txt,128,25,43,ENGINEER -documents.txt,129,0,17,ENGINEER -documents.txt,130,0,19,ENGINEER -documents.txt,131,19,36,MANAGER -documents.txt,132,0,20,MANAGER -documents.txt,133,0,15,ENGINEER -documents.txt,134,37,58,ENGINEER -documents.txt,135,37,52,ENGINEER -documents.txt,136,20,34,ENGINEER -documents.txt,137,0,23,ENGINEER -documents.txt,138,0,20,ENGINEER -documents.txt,139,0,15,ENGINEER -documents.txt,140,37,56,ENGINEER -documents.txt,141,0,23,ENGINEER -documents.txt,142,0,9,MANAGER -documents.txt,143,0,17,MANAGER -documents.txt,144,0,19,MANAGER -documents.txt,145,19,32,MANAGER -documents.txt,146,19,38,MANAGER -documents.txt,147,0,19,MANAGER -documents.txt,148,0,14,MANAGER -documents.txt,149,0,18,MANAGER -documents.txt,150,0,12,ENGINEER -documents.txt,151,0,19,ENGINEER -documents.txt,152,37,54,ENGINEER -documents.txt,153,25,39,MANAGER -documents.txt,154,0,13,ENGINEER -documents.txt,155,20,38,ENGINEER -documents.txt,156,0,20,ENGINEER -documents.txt,157,0,12,MANAGER -documents.txt,158,0,15,MANAGER -documents.txt,159,0,9,MANAGER -documents.txt,160,20,33,ENGINEER -documents.txt,161,25,42,MANAGER -documents.txt,162,36,52,MANAGER -documents.txt,163,0,17,ENGINEER -documents.txt,164,0,12,MANAGER -documents.txt,165,0,8,ENGINEER -documents.txt,166,0,12,MANAGER -documents.txt,167,0,14,MANAGER -documents.txt,168,0,15,MANAGER -documents.txt,169,0,14,MANAGER -documents.txt,170,0,24,MANAGER -documents.txt,171,25,44,ENGINEER -documents.txt,172,0,15,MANAGER -documents.txt,173,0,14,MANAGER -documents.txt,174,0,13,ENGINEER -documents.txt,175,0,11,MANAGER -documents.txt,176,0,13,MANAGER -documents.txt,177,20,34,ENGINEER -documents.txt,178,0,19,ENGINEER -documents.txt,179,0,22,MANAGER -documents.txt,180,0,14,ENGINEER -documents.txt,181,0,20,MANAGER -documents.txt,182,20,39,ENGINEER -documents.txt,183,0,20,MANAGER -documents.txt,184,0,21,ENGINEER -documents.txt,185,0,22,MANAGER -documents.txt,186,0,12,MANAGER -documents.txt,187,0,19,MANAGER -documents.txt,188,36,52,MANAGER -documents.txt,189,0,14,ENGINEER -documents.txt,190,0,13,MANAGER -documents.txt,191,0,15,ENGINEER -documents.txt,192,0,23,MANAGER -documents.txt,193,0,15,MANAGER -documents.txt,194,0,17,ENGINEER -documents.txt,195,0,14,ENGINEER -documents.txt,196,25,45,MANAGER -documents.txt,197,0,13,ENGINEER -documents.txt,198,0,18,MANAGER -documents.txt,199,0,13,ENGINEER -documents.txt,200,0,13,ENGINEER -documents.txt,201,0,13,ENGINEER -documents.txt,202,0,13,MANAGER -documents.txt,203,37,59,ENGINEER -documents.txt,204,0,18,MANAGER -documents.txt,205,0,20,ENGINEER -documents.txt,206,25,39,MANAGER -documents.txt,207,0,14,MANAGER -documents.txt,208,25,41,MANAGER -documents.txt,209,19,34,MANAGER -documents.txt,210,0,21,MANAGER -documents.txt,211,0,10,MANAGER -documents.txt,212,0,17,MANAGER -documents.txt,213,36,50,MANAGER -documents.txt,214,20,43,ENGINEER -documents.txt,215,0,13,MANAGER -documents.txt,216,0,15,MANAGER +documents.txt,58,0,13,ENGINEER +documents.txt,59,19,34,MANAGER +documents.txt,60,0,13,MANAGER +documents.txt,61,19,28,MANAGER +documents.txt,62,0,12,MANAGER +documents.txt,63,0,14,ENGINEER +documents.txt,64,0,16,ENGINEER +documents.txt,65,0,17,MANAGER +documents.txt,66,0,19,MANAGER +documents.txt,67,36,52,MANAGER +documents.txt,68,0,11,ENGINEER +documents.txt,69,0,11,MANAGER +documents.txt,70,0,23,ENGINEER +documents.txt,71,0,22,MANAGER +documents.txt,72,36,47,MANAGER +documents.txt,73,37,58,ENGINEER +documents.txt,74,0,20,MANAGER +documents.txt,75,0,14,MANAGER +documents.txt,76,0,13,MANAGER +documents.txt,77,0,17,MANAGER +documents.txt,78,36,49,MANAGER +documents.txt,79,0,17,ENGINEER +documents.txt,80,25,38,ENGINEER +documents.txt,81,0,28,ENGINEER +documents.txt,82,0,11,ENGINEER +documents.txt,83,0,17,ENGINEER +documents.txt,84,25,44,ENGINEER +documents.txt,85,37,52,ENGINEER +documents.txt,86,0,13,MANAGER +documents.txt,87,36,49,MANAGER +documents.txt,88,36,47,MANAGER +documents.txt,89,0,15,MANAGER +documents.txt,90,0,13,ENGINEER +documents.txt,91,25,45,ENGINEER +documents.txt,92,0,14,MANAGER +documents.txt,93,0,15,ENGINEER +documents.txt,94,0,10,MANAGER +documents.txt,95,0,20,MANAGER +documents.txt,96,25,36,MANAGER +documents.txt,97,0,15,MANAGER +documents.txt,98,37,53,ENGINEER +documents.txt,99,0,17,ENGINEER +documents.txt,100,0,16,ENGINEER +documents.txt,101,25,45,ENGINEER +documents.txt,102,25,47,MANAGER +documents.txt,103,0,16,MANAGER +documents.txt,104,0,19,ENGINEER +documents.txt,105,0,20,ENGINEER +documents.txt,106,0,14,ENGINEER +documents.txt,107,0,14,MANAGER +documents.txt,108,0,12,MANAGER +documents.txt,109,0,12,ENGINEER +documents.txt,110,0,12,MANAGER +documents.txt,111,36,52,MANAGER +documents.txt,112,0,20,MANAGER +documents.txt,113,36,50,MANAGER +documents.txt,114,0,11,MANAGER +documents.txt,115,0,14,MANAGER +documents.txt,116,0,17,ENGINEER +documents.txt,117,0,18,ENGINEER +documents.txt,118,0,12,MANAGER +documents.txt,119,0,18,MANAGER +documents.txt,120,0,17,ENGINEER +documents.txt,121,0,18,ENGINEER +documents.txt,122,0,14,MANAGER +documents.txt,123,0,19,ENGINEER +documents.txt,124,0,16,ENGINEER +documents.txt,125,0,21,MANAGER +documents.txt,126,19,36,MANAGER +documents.txt,127,0,15,MANAGER +documents.txt,128,0,15,MANAGER +documents.txt,129,0,14,ENGINEER +documents.txt,130,0,19,MANAGER +documents.txt,131,0,13,ENGINEER +documents.txt,132,0,11,MANAGER +documents.txt,133,0,18,MANAGER +documents.txt,134,0,13,MANAGER +documents.txt,135,25,39,ENGINEER +documents.txt,136,0,14,MANAGER +documents.txt,137,0,12,MANAGER +documents.txt,138,0,13,MANAGER +documents.txt,139,37,50,ENGINEER +documents.txt,140,0,15,MANAGER +documents.txt,141,0,13,ENGINEER +documents.txt,142,0,11,ENGINEER +documents.txt,143,37,58,ENGINEER +documents.txt,144,0,19,ENGINEER +documents.txt,145,0,14,MANAGER +documents.txt,146,0,16,ENGINEER +documents.txt,147,0,20,MANAGER +documents.txt,148,0,24,MANAGER +documents.txt,149,0,14,ENGINEER +documents.txt,150,0,15,ENGINEER +documents.txt,151,0,13,ENGINEER +documents.txt,152,20,33,ENGINEER +documents.txt,153,0,15,MANAGER +documents.txt,154,0,20,ENGINEER +documents.txt,155,37,52,ENGINEER +documents.txt,156,0,14,MANAGER +documents.txt,157,0,14,ENGINEER +documents.txt,158,0,13,ENGINEER +documents.txt,159,0,11,MANAGER +documents.txt,160,0,17,ENGINEER +documents.txt,161,25,42,ENGINEER +documents.txt,162,25,35,ENGINEER +documents.txt,163,0,13,MANAGER +documents.txt,164,0,16,ENGINEER +documents.txt,165,0,13,ENGINEER +documents.txt,166,0,12,ENGINEER +documents.txt,167,19,36,MANAGER +documents.txt,168,0,12,MANAGER +documents.txt,169,0,19,MANAGER +documents.txt,170,0,9,ENGINEER +documents.txt,171,37,54,ENGINEER +documents.txt,172,36,49,MANAGER +documents.txt,173,0,23,ENGINEER +documents.txt,174,0,14,ENGINEER +documents.txt,175,0,17,ENGINEER +documents.txt,176,0,22,MANAGER +documents.txt,177,0,15,ENGINEER +documents.txt,178,0,10,ENGINEER +documents.txt,179,0,17,MANAGER +documents.txt,180,0,15,ENGINEER +documents.txt,181,0,15,MANAGER +documents.txt,182,0,18,MANAGER +documents.txt,183,0,18,MANAGER +documents.txt,184,0,17,ENGINEER +documents.txt,185,0,14,MANAGER +documents.txt,186,37,52,ENGINEER +documents.txt,187,0,20,ENGINEER +documents.txt,188,0,24,ENGINEER +documents.txt,189,0,17,ENGINEER +documents.txt,190,0,26,ENGINEER +documents.txt,191,19,29,MANAGER +documents.txt,192,0,16,ENGINEER +documents.txt,193,25,40,ENGINEER +documents.txt,194,0,14,MANAGER +documents.txt,195,0,15,ENGINEER +documents.txt,196,36,52,MANAGER +documents.txt,197,0,23,ENGINEER +documents.txt,198,0,11,MANAGER +documents.txt,199,0,15,ENGINEER +documents.txt,200,0,12,MANAGER +documents.txt,201,0,17,ENGINEER +documents.txt,202,37,51,ENGINEER +documents.txt,203,25,42,ENGINEER +documents.txt,204,0,12,ENGINEER +documents.txt,205,0,15,MANAGER +documents.txt,206,20,37,ENGINEER +documents.txt,207,19,35,MANAGER +documents.txt,208,25,45,MANAGER +documents.txt,209,36,48,MANAGER +documents.txt,210,0,14,MANAGER +documents.txt,211,25,39,MANAGER +documents.txt,212,0,11,MANAGER +documents.txt,213,0,15,MANAGER +documents.txt,214,0,14,ENGINEER +documents.txt,215,0,11,ENGINEER +documents.txt,216,0,24,MANAGER documents.txt,217,0,15,MANAGER -documents.txt,218,0,19,ENGINEER -documents.txt,219,0,14,ENGINEER -documents.txt,220,20,33,ENGINEER -documents.txt,221,0,20,ENGINEER -documents.txt,222,25,41,MANAGER -documents.txt,223,25,40,ENGINEER -documents.txt,224,25,41,MANAGER -documents.txt,225,0,21,MANAGER +documents.txt,218,0,21,MANAGER +documents.txt,219,0,20,MANAGER +documents.txt,220,0,14,MANAGER +documents.txt,221,0,11,MANAGER +documents.txt,222,20,34,ENGINEER +documents.txt,223,0,26,MANAGER +documents.txt,224,0,17,MANAGER +documents.txt,225,0,17,ENGINEER documents.txt,226,0,15,MANAGER -documents.txt,227,0,21,MANAGER -documents.txt,228,0,20,ENGINEER -documents.txt,229,0,12,ENGINEER -documents.txt,230,0,16,ENGINEER -documents.txt,231,25,36,MANAGER -documents.txt,232,0,17,ENGINEER -documents.txt,233,0,19,MANAGER -documents.txt,234,36,56,MANAGER -documents.txt,235,0,13,ENGINEER -documents.txt,236,36,49,MANAGER -documents.txt,237,36,55,MANAGER -documents.txt,238,20,36,ENGINEER -documents.txt,239,0,13,ENGINEER -documents.txt,240,0,15,MANAGER -documents.txt,241,0,12,MANAGER -documents.txt,242,0,21,ENGINEER -documents.txt,243,0,12,ENGINEER -documents.txt,244,0,20,ENGINEER -documents.txt,245,0,12,ENGINEER -documents.txt,246,0,17,MANAGER -documents.txt,247,0,16,MANAGER -documents.txt,248,0,11,ENGINEER -documents.txt,249,0,16,ENGINEER -documents.txt,250,25,37,MANAGER -documents.txt,251,25,38,MANAGER -documents.txt,252,0,12,MANAGER -documents.txt,253,25,39,MANAGER -documents.txt,254,25,35,MANAGER -documents.txt,255,0,14,MANAGER -documents.txt,256,0,16,MANAGER -documents.txt,257,36,58,MANAGER -documents.txt,258,37,48,ENGINEER -documents.txt,259,0,13,ENGINEER -documents.txt,260,0,14,ENGINEER -documents.txt,261,36,50,MANAGER -documents.txt,262,0,14,ENGINEER -documents.txt,263,0,16,MANAGER -documents.txt,264,0,18,MANAGER -documents.txt,265,0,12,ENGINEER -documents.txt,266,0,17,MANAGER -documents.txt,267,36,49,MANAGER -documents.txt,268,0,22,MANAGER -documents.txt,269,0,12,ENGINEER -documents.txt,270,0,18,MANAGER -documents.txt,271,0,14,MANAGER -documents.txt,272,0,16,ENGINEER -documents.txt,273,0,17,ENGINEER -documents.txt,274,0,20,ENGINEER -documents.txt,275,0,14,MANAGER -documents.txt,276,0,21,ENGINEER -documents.txt,277,0,11,ENGINEER -documents.txt,278,0,15,MANAGER -documents.txt,279,0,11,ENGINEER -documents.txt,280,0,11,MANAGER -documents.txt,281,0,10,MANAGER -documents.txt,282,0,13,MANAGER -documents.txt,283,0,21,ENGINEER -documents.txt,284,0,17,MANAGER -documents.txt,285,36,54,MANAGER -documents.txt,286,0,15,ENGINEER -documents.txt,287,25,43,MANAGER -documents.txt,288,19,32,MANAGER -documents.txt,289,0,13,ENGINEER -documents.txt,290,0,15,ENGINEER -documents.txt,291,19,35,MANAGER -documents.txt,292,0,22,MANAGER -documents.txt,293,25,43,ENGINEER -documents.txt,294,0,13,ENGINEER -documents.txt,295,0,12,ENGINEER -documents.txt,296,0,16,ENGINEER -documents.txt,297,37,48,ENGINEER -documents.txt,298,37,54,ENGINEER -documents.txt,299,0,15,MANAGER -documents.txt,300,20,34,ENGINEER -documents.txt,301,0,13,MANAGER -documents.txt,302,0,16,MANAGER -documents.txt,303,0,17,MANAGER -documents.txt,304,0,8,MANAGER -documents.txt,305,25,39,MANAGER -documents.txt,306,0,14,ENGINEER -documents.txt,307,25,38,MANAGER -documents.txt,308,37,50,ENGINEER -documents.txt,309,0,16,MANAGER -documents.txt,310,36,52,MANAGER -documents.txt,311,0,14,ENGINEER -documents.txt,312,0,11,ENGINEER -documents.txt,313,0,16,MANAGER -documents.txt,314,36,52,MANAGER -documents.txt,315,0,19,ENGINEER -documents.txt,316,0,17,ENGINEER -documents.txt,317,0,17,MANAGER -documents.txt,318,25,44,ENGINEER -documents.txt,319,37,50,ENGINEER -documents.txt,320,0,14,ENGINEER -documents.txt,321,0,22,MANAGER -documents.txt,322,0,20,ENGINEER -documents.txt,323,25,43,MANAGER -documents.txt,324,0,18,MANAGER -documents.txt,325,25,43,ENGINEER -documents.txt,326,25,41,MANAGER -documents.txt,327,0,11,ENGINEER -documents.txt,328,0,9,MANAGER -documents.txt,329,0,15,MANAGER -documents.txt,330,0,20,MANAGER -documents.txt,331,0,17,ENGINEER -documents.txt,332,0,23,MANAGER -documents.txt,333,0,15,MANAGER -documents.txt,334,0,15,ENGINEER -documents.txt,335,25,41,MANAGER -documents.txt,336,19,41,MANAGER -documents.txt,337,0,14,ENGINEER -documents.txt,338,0,16,ENGINEER +documents.txt,227,25,46,MANAGER +documents.txt,228,37,50,ENGINEER +documents.txt,229,25,47,ENGINEER +documents.txt,230,20,45,ENGINEER +documents.txt,231,19,32,MANAGER +documents.txt,232,0,20,MANAGER +documents.txt,233,37,50,ENGINEER +documents.txt,234,0,18,MANAGER +documents.txt,235,0,14,MANAGER +documents.txt,236,0,16,ENGINEER +documents.txt,237,0,12,MANAGER +documents.txt,238,0,11,ENGINEER +documents.txt,239,0,10,MANAGER +documents.txt,240,0,17,MANAGER +documents.txt,241,25,40,ENGINEER +documents.txt,242,0,10,ENGINEER +documents.txt,243,0,15,ENGINEER +documents.txt,244,20,35,ENGINEER +documents.txt,245,0,11,ENGINEER +documents.txt,246,0,10,MANAGER +documents.txt,247,37,56,ENGINEER +documents.txt,248,0,15,MANAGER +documents.txt,249,19,37,MANAGER +documents.txt,250,0,17,ENGINEER +documents.txt,251,0,11,ENGINEER +documents.txt,252,0,22,MANAGER +documents.txt,253,0,23,ENGINEER +documents.txt,254,0,14,MANAGER +documents.txt,255,0,10,MANAGER +documents.txt,256,0,15,MANAGER +documents.txt,257,0,10,ENGINEER +documents.txt,258,0,13,MANAGER +documents.txt,259,0,16,ENGINEER +documents.txt,260,0,16,MANAGER +documents.txt,261,0,12,MANAGER +documents.txt,262,0,15,MANAGER +documents.txt,263,19,35,MANAGER +documents.txt,264,0,19,ENGINEER +documents.txt,265,0,14,MANAGER +documents.txt,266,0,14,ENGINEER +documents.txt,267,0,24,ENGINEER +documents.txt,268,20,38,ENGINEER +documents.txt,269,0,12,MANAGER +documents.txt,270,25,40,ENGINEER +documents.txt,271,19,42,MANAGER +documents.txt,272,20,35,ENGINEER +documents.txt,273,0,23,MANAGER +documents.txt,274,0,12,ENGINEER +documents.txt,275,0,20,MANAGER +documents.txt,276,0,16,MANAGER +documents.txt,277,0,27,ENGINEER +documents.txt,278,0,12,MANAGER +documents.txt,279,0,23,MANAGER +documents.txt,280,0,18,ENGINEER +documents.txt,281,0,19,ENGINEER +documents.txt,282,0,18,ENGINEER +documents.txt,283,0,16,MANAGER +documents.txt,284,0,14,MANAGER +documents.txt,285,0,18,MANAGER +documents.txt,286,0,18,MANAGER +documents.txt,287,0,25,MANAGER +documents.txt,288,0,13,MANAGER +documents.txt,289,0,18,ENGINEER +documents.txt,290,0,15,MANAGER +documents.txt,291,0,10,MANAGER +documents.txt,292,25,38,ENGINEER +documents.txt,293,19,35,MANAGER +documents.txt,294,25,39,MANAGER +documents.txt,295,25,38,MANAGER +documents.txt,296,0,14,ENGINEER +documents.txt,297,0,13,ENGINEER +documents.txt,298,0,19,MANAGER +documents.txt,299,20,32,ENGINEER +documents.txt,300,0,16,MANAGER +documents.txt,301,0,16,MANAGER +documents.txt,302,37,50,ENGINEER +documents.txt,303,0,19,MANAGER +documents.txt,304,0,20,MANAGER +documents.txt,305,0,15,ENGINEER +documents.txt,306,25,48,MANAGER +documents.txt,307,0,21,ENGINEER +documents.txt,308,0,14,ENGINEER +documents.txt,309,0,12,MANAGER +documents.txt,310,0,18,MANAGER +documents.txt,311,0,23,ENGINEER +documents.txt,312,0,17,MANAGER +documents.txt,313,0,25,ENGINEER +documents.txt,314,0,11,MANAGER +documents.txt,315,0,16,ENGINEER +documents.txt,316,25,38,ENGINEER +documents.txt,317,36,50,MANAGER +documents.txt,318,37,52,ENGINEER +documents.txt,319,25,39,MANAGER +documents.txt,320,25,47,MANAGER +documents.txt,321,25,40,MANAGER +documents.txt,322,0,17,ENGINEER +documents.txt,323,0,12,ENGINEER +documents.txt,324,0,10,MANAGER +documents.txt,325,25,40,ENGINEER +documents.txt,326,20,31,ENGINEER +documents.txt,327,0,13,ENGINEER +documents.txt,328,25,46,ENGINEER +documents.txt,329,0,16,ENGINEER +documents.txt,330,0,10,MANAGER +documents.txt,331,37,55,ENGINEER +documents.txt,332,19,36,MANAGER +documents.txt,333,0,13,ENGINEER +documents.txt,334,0,16,MANAGER +documents.txt,335,25,43,MANAGER +documents.txt,336,0,15,MANAGER +documents.txt,337,36,48,MANAGER +documents.txt,338,36,50,MANAGER documents.txt,339,0,13,ENGINEER -documents.txt,340,20,32,ENGINEER -documents.txt,341,0,14,MANAGER -documents.txt,342,0,17,MANAGER -documents.txt,343,0,21,MANAGER -documents.txt,344,0,11,MANAGER -documents.txt,345,0,13,MANAGER -documents.txt,346,0,15,MANAGER -documents.txt,347,0,16,MANAGER -documents.txt,348,37,59,ENGINEER -documents.txt,349,0,22,MANAGER -documents.txt,350,36,53,MANAGER -documents.txt,351,0,17,ENGINEER -documents.txt,352,0,13,ENGINEER -documents.txt,353,0,14,MANAGER -documents.txt,354,36,53,MANAGER -documents.txt,355,0,17,ENGINEER -documents.txt,356,0,21,ENGINEER -documents.txt,357,37,56,ENGINEER -documents.txt,358,20,37,ENGINEER -documents.txt,359,0,12,ENGINEER -documents.txt,360,0,11,ENGINEER -documents.txt,361,0,14,MANAGER -documents.txt,362,0,15,MANAGER -documents.txt,363,19,29,MANAGER -documents.txt,364,0,14,MANAGER -documents.txt,365,0,13,MANAGER -documents.txt,366,0,18,MANAGER -documents.txt,367,0,13,ENGINEER -documents.txt,368,0,21,MANAGER -documents.txt,369,0,20,ENGINEER -documents.txt,370,37,52,ENGINEER -documents.txt,371,0,11,MANAGER -documents.txt,372,25,41,ENGINEER -documents.txt,373,0,15,MANAGER -documents.txt,374,25,37,ENGINEER +documents.txt,340,0,17,ENGINEER +documents.txt,341,36,50,MANAGER +documents.txt,342,0,17,ENGINEER +documents.txt,343,36,50,MANAGER +documents.txt,344,0,14,MANAGER +documents.txt,345,25,45,ENGINEER +documents.txt,346,0,16,ENGINEER +documents.txt,347,37,57,ENGINEER +documents.txt,348,0,14,ENGINEER +documents.txt,349,0,14,MANAGER +documents.txt,350,36,52,MANAGER +documents.txt,351,0,15,ENGINEER +documents.txt,352,0,13,MANAGER +documents.txt,353,0,15,ENGINEER +documents.txt,354,0,18,ENGINEER +documents.txt,355,0,10,MANAGER +documents.txt,356,0,11,MANAGER +documents.txt,357,0,16,MANAGER +documents.txt,358,0,17,ENGINEER +documents.txt,359,0,21,MANAGER +documents.txt,360,0,14,MANAGER +documents.txt,361,37,48,ENGINEER +documents.txt,362,0,24,ENGINEER +documents.txt,363,0,21,MANAGER +documents.txt,364,0,11,MANAGER +documents.txt,365,20,36,ENGINEER +documents.txt,366,0,17,ENGINEER +documents.txt,367,0,10,ENGINEER +documents.txt,368,25,41,ENGINEER +documents.txt,369,0,13,MANAGER +documents.txt,370,25,36,ENGINEER +documents.txt,371,20,39,ENGINEER +documents.txt,372,37,51,ENGINEER +documents.txt,373,0,11,ENGINEER +documents.txt,374,25,38,MANAGER documents.txt,375,0,13,ENGINEER -documents.txt,376,0,14,MANAGER -documents.txt,377,0,12,ENGINEER -documents.txt,378,25,39,MANAGER -documents.txt,379,0,14,ENGINEER -documents.txt,380,0,17,ENGINEER -documents.txt,381,0,18,MANAGER -documents.txt,382,0,11,ENGINEER -documents.txt,383,0,24,ENGINEER -documents.txt,384,0,19,ENGINEER -documents.txt,385,0,8,MANAGER -documents.txt,386,0,23,MANAGER -documents.txt,387,0,14,MANAGER -documents.txt,388,0,12,MANAGER -documents.txt,389,36,51,MANAGER -documents.txt,390,20,38,ENGINEER -documents.txt,391,0,15,ENGINEER -documents.txt,392,0,11,MANAGER -documents.txt,393,19,33,MANAGER -documents.txt,394,0,16,ENGINEER -documents.txt,395,0,16,ENGINEER -documents.txt,396,0,17,MANAGER -documents.txt,397,0,12,ENGINEER -documents.txt,398,0,14,MANAGER -documents.txt,399,0,15,MANAGER -documents.txt,400,0,18,ENGINEER -documents.txt,401,0,18,MANAGER -documents.txt,402,0,16,MANAGER -documents.txt,403,0,11,ENGINEER -documents.txt,404,25,44,ENGINEER -documents.txt,405,0,12,ENGINEER -documents.txt,406,0,15,MANAGER -documents.txt,407,36,49,MANAGER -documents.txt,408,20,39,ENGINEER -documents.txt,409,37,48,ENGINEER +documents.txt,376,0,13,ENGINEER +documents.txt,377,0,11,MANAGER +documents.txt,378,0,17,MANAGER +documents.txt,379,0,17,MANAGER +documents.txt,380,0,15,MANAGER +documents.txt,381,19,31,MANAGER +documents.txt,382,25,45,MANAGER +documents.txt,383,0,12,MANAGER +documents.txt,384,0,15,ENGINEER +documents.txt,385,0,19,ENGINEER +documents.txt,386,0,14,MANAGER +documents.txt,387,0,17,ENGINEER +documents.txt,388,19,32,MANAGER +documents.txt,389,0,15,MANAGER +documents.txt,390,0,19,ENGINEER +documents.txt,391,0,13,MANAGER +documents.txt,392,0,18,MANAGER +documents.txt,393,19,35,MANAGER +documents.txt,394,0,18,MANAGER +documents.txt,395,0,14,ENGINEER +documents.txt,396,20,41,ENGINEER +documents.txt,397,0,19,ENGINEER +documents.txt,398,0,16,ENGINEER +documents.txt,399,0,20,MANAGER +documents.txt,400,25,44,MANAGER +documents.txt,401,36,50,MANAGER +documents.txt,402,0,20,ENGINEER +documents.txt,403,0,16,ENGINEER +documents.txt,404,0,12,MANAGER +documents.txt,405,25,41,ENGINEER +documents.txt,406,0,13,MANAGER +documents.txt,407,0,19,ENGINEER +documents.txt,408,25,40,ENGINEER +documents.txt,409,0,21,MANAGER documents.txt,410,0,14,ENGINEER -documents.txt,411,20,38,ENGINEER -documents.txt,412,0,13,MANAGER -documents.txt,413,0,15,ENGINEER -documents.txt,414,0,17,ENGINEER -documents.txt,415,0,17,MANAGER -documents.txt,416,20,35,ENGINEER -documents.txt,417,0,16,MANAGER -documents.txt,418,0,18,ENGINEER -documents.txt,419,0,20,ENGINEER -documents.txt,420,0,14,ENGINEER -documents.txt,421,0,20,MANAGER -documents.txt,422,19,33,MANAGER -documents.txt,423,37,49,ENGINEER -documents.txt,424,0,11,MANAGER -documents.txt,425,0,14,ENGINEER -documents.txt,426,0,16,ENGINEER -documents.txt,427,0,14,MANAGER -documents.txt,428,0,14,MANAGER -documents.txt,429,0,26,MANAGER +documents.txt,411,0,11,MANAGER +documents.txt,412,0,17,MANAGER +documents.txt,413,0,13,MANAGER +documents.txt,414,0,14,MANAGER +documents.txt,415,0,14,MANAGER +documents.txt,416,0,20,MANAGER +documents.txt,417,0,12,MANAGER +documents.txt,418,0,20,MANAGER +documents.txt,419,0,23,ENGINEER +documents.txt,420,37,48,ENGINEER +documents.txt,421,37,51,ENGINEER +documents.txt,422,0,10,MANAGER +documents.txt,423,37,59,ENGINEER +documents.txt,424,0,17,MANAGER +documents.txt,425,20,31,ENGINEER +documents.txt,426,0,16,MANAGER +documents.txt,427,37,53,ENGINEER +documents.txt,428,0,15,MANAGER +documents.txt,429,0,15,ENGINEER documents.txt,430,0,16,ENGINEER -documents.txt,431,20,40,ENGINEER -documents.txt,432,19,35,MANAGER -documents.txt,433,0,16,MANAGER -documents.txt,434,25,40,ENGINEER -documents.txt,435,0,11,MANAGER -documents.txt,436,0,16,ENGINEER -documents.txt,437,0,12,ENGINEER -documents.txt,438,19,31,MANAGER -documents.txt,439,0,21,MANAGER -documents.txt,440,36,55,MANAGER +documents.txt,431,0,19,ENGINEER +documents.txt,432,0,10,ENGINEER +documents.txt,433,0,18,MANAGER +documents.txt,434,25,38,ENGINEER +documents.txt,435,20,36,ENGINEER +documents.txt,436,0,22,MANAGER +documents.txt,437,0,17,MANAGER +documents.txt,438,0,10,MANAGER +documents.txt,439,25,37,MANAGER +documents.txt,440,0,17,MANAGER documents.txt,441,0,14,ENGINEER -documents.txt,442,0,15,MANAGER -documents.txt,443,0,10,MANAGER -documents.txt,444,0,21,MANAGER -documents.txt,445,0,13,MANAGER -documents.txt,446,0,20,MANAGER -documents.txt,447,0,14,MANAGER -documents.txt,448,0,13,ENGINEER -documents.txt,449,0,11,ENGINEER -documents.txt,450,0,13,MANAGER -documents.txt,451,0,12,ENGINEER -documents.txt,452,0,11,MANAGER -documents.txt,453,0,16,MANAGER -documents.txt,454,0,14,MANAGER -documents.txt,455,25,41,ENGINEER -documents.txt,456,0,18,MANAGER -documents.txt,457,0,13,ENGINEER -documents.txt,458,37,56,ENGINEER -documents.txt,459,0,20,ENGINEER -documents.txt,460,0,18,MANAGER -documents.txt,461,19,30,MANAGER -documents.txt,462,0,14,ENGINEER -documents.txt,463,0,16,MANAGER -documents.txt,464,0,12,MANAGER -documents.txt,465,0,14,MANAGER -documents.txt,466,25,44,ENGINEER -documents.txt,467,25,38,MANAGER -documents.txt,468,25,42,MANAGER -documents.txt,469,25,42,MANAGER -documents.txt,470,0,13,MANAGER -documents.txt,471,0,13,ENGINEER -documents.txt,472,0,15,ENGINEER +documents.txt,442,0,19,MANAGER +documents.txt,443,0,18,ENGINEER +documents.txt,444,0,19,ENGINEER +documents.txt,445,0,16,ENGINEER +documents.txt,446,25,42,ENGINEER +documents.txt,447,0,15,MANAGER +documents.txt,448,0,16,ENGINEER +documents.txt,449,0,19,ENGINEER +documents.txt,450,0,15,ENGINEER +documents.txt,451,0,13,ENGINEER +documents.txt,452,20,31,ENGINEER +documents.txt,453,36,54,MANAGER +documents.txt,454,19,40,MANAGER +documents.txt,455,0,12,MANAGER +documents.txt,456,36,48,MANAGER +documents.txt,457,0,17,ENGINEER +documents.txt,458,0,12,ENGINEER +documents.txt,459,25,38,ENGINEER +documents.txt,460,0,13,ENGINEER +documents.txt,461,0,18,MANAGER +documents.txt,462,0,10,MANAGER +documents.txt,463,0,14,MANAGER +documents.txt,464,0,21,MANAGER +documents.txt,465,0,13,MANAGER +documents.txt,466,0,15,MANAGER +documents.txt,467,0,11,ENGINEER +documents.txt,468,0,21,MANAGER +documents.txt,469,0,10,ENGINEER +documents.txt,470,0,21,MANAGER +documents.txt,471,25,38,MANAGER +documents.txt,472,0,11,ENGINEER documents.txt,473,0,16,MANAGER -documents.txt,474,19,38,MANAGER -documents.txt,475,0,12,ENGINEER -documents.txt,476,19,41,MANAGER +documents.txt,474,0,13,MANAGER +documents.txt,475,0,22,MANAGER +documents.txt,476,0,11,ENGINEER documents.txt,477,0,11,MANAGER documents.txt,478,0,17,MANAGER -documents.txt,479,0,17,ENGINEER -documents.txt,480,25,38,MANAGER -documents.txt,481,20,33,ENGINEER -documents.txt,482,0,12,ENGINEER +documents.txt,479,0,12,ENGINEER +documents.txt,480,0,20,ENGINEER +documents.txt,481,0,15,MANAGER +documents.txt,482,0,11,ENGINEER documents.txt,483,0,17,ENGINEER -documents.txt,484,0,24,ENGINEER -documents.txt,485,0,15,MANAGER -documents.txt,486,0,8,MANAGER -documents.txt,487,0,20,MANAGER -documents.txt,488,0,21,ENGINEER -documents.txt,489,0,10,ENGINEER -documents.txt,490,0,16,MANAGER -documents.txt,491,25,36,ENGINEER -documents.txt,492,0,14,ENGINEER -documents.txt,493,0,18,MANAGER -documents.txt,494,0,18,MANAGER -documents.txt,495,0,15,ENGINEER -documents.txt,496,0,15,MANAGER -documents.txt,497,0,15,ENGINEER -documents.txt,498,25,46,ENGINEER -documents.txt,499,25,44,ENGINEER -documents.txt,500,0,15,MANAGER -documents.txt,501,25,47,MANAGER -documents.txt,502,0,17,MANAGER -documents.txt,503,25,39,ENGINEER -documents.txt,504,0,13,ENGINEER -documents.txt,505,0,12,MANAGER -documents.txt,506,0,9,MANAGER -documents.txt,507,0,18,ENGINEER -documents.txt,508,0,17,MANAGER -documents.txt,509,0,15,ENGINEER -documents.txt,510,0,11,ENGINEER -documents.txt,511,25,42,ENGINEER -documents.txt,512,0,18,MANAGER -documents.txt,513,0,18,MANAGER +documents.txt,484,0,14,MANAGER +documents.txt,485,0,12,MANAGER +documents.txt,486,0,15,MANAGER +documents.txt,487,0,12,ENGINEER +documents.txt,488,0,15,ENGINEER +documents.txt,489,0,11,MANAGER +documents.txt,490,0,14,ENGINEER +documents.txt,491,0,12,ENGINEER +documents.txt,492,0,19,MANAGER +documents.txt,493,0,13,ENGINEER +documents.txt,494,0,15,MANAGER +documents.txt,495,0,10,MANAGER +documents.txt,496,0,13,MANAGER +documents.txt,497,37,49,ENGINEER +documents.txt,498,0,19,ENGINEER +documents.txt,499,25,35,MANAGER +documents.txt,500,0,15,ENGINEER +documents.txt,501,25,43,ENGINEER +documents.txt,502,0,18,ENGINEER +documents.txt,503,37,53,ENGINEER +documents.txt,504,0,21,ENGINEER +documents.txt,505,0,20,MANAGER +documents.txt,506,0,15,ENGINEER +documents.txt,507,19,38,MANAGER +documents.txt,508,0,14,ENGINEER +documents.txt,509,0,22,ENGINEER +documents.txt,510,0,13,ENGINEER +documents.txt,511,0,16,MANAGER +documents.txt,512,0,15,MANAGER +documents.txt,513,0,13,MANAGER documents.txt,514,0,16,ENGINEER -documents.txt,515,0,18,MANAGER -documents.txt,516,0,10,MANAGER -documents.txt,517,20,31,ENGINEER -documents.txt,518,0,12,ENGINEER -documents.txt,519,0,13,ENGINEER -documents.txt,520,19,34,MANAGER -documents.txt,521,0,19,MANAGER +documents.txt,515,0,17,ENGINEER +documents.txt,516,0,19,ENGINEER +documents.txt,517,36,59,MANAGER +documents.txt,518,0,15,ENGINEER +documents.txt,519,0,14,MANAGER +documents.txt,520,0,12,MANAGER +documents.txt,521,0,11,ENGINEER documents.txt,522,0,20,ENGINEER -documents.txt,523,0,17,ENGINEER -documents.txt,524,0,18,MANAGER -documents.txt,525,0,16,MANAGER -documents.txt,526,0,12,MANAGER -documents.txt,527,20,35,ENGINEER -documents.txt,528,0,22,ENGINEER -documents.txt,529,0,15,ENGINEER -documents.txt,530,20,38,ENGINEER -documents.txt,531,0,17,ENGINEER -documents.txt,532,0,18,MANAGER -documents.txt,533,0,16,ENGINEER -documents.txt,534,0,15,ENGINEER -documents.txt,535,0,19,MANAGER -documents.txt,536,25,41,ENGINEER -documents.txt,537,0,15,ENGINEER -documents.txt,538,20,36,ENGINEER -documents.txt,539,0,17,MANAGER -documents.txt,540,0,13,MANAGER -documents.txt,541,25,45,MANAGER -documents.txt,542,0,12,MANAGER -documents.txt,543,0,16,ENGINEER -documents.txt,544,0,12,MANAGER -documents.txt,545,0,13,ENGINEER -documents.txt,546,0,11,MANAGER -documents.txt,547,25,37,MANAGER -documents.txt,548,0,16,MANAGER -documents.txt,549,0,18,MANAGER -documents.txt,550,0,16,ENGINEER -documents.txt,551,0,19,MANAGER -documents.txt,552,0,18,ENGINEER -documents.txt,553,0,20,MANAGER -documents.txt,554,20,38,ENGINEER -documents.txt,555,0,17,MANAGER -documents.txt,556,0,15,MANAGER -documents.txt,557,0,21,MANAGER -documents.txt,558,0,15,MANAGER -documents.txt,559,0,12,ENGINEER -documents.txt,560,19,32,MANAGER -documents.txt,561,36,56,MANAGER -documents.txt,562,0,13,MANAGER -documents.txt,563,0,16,MANAGER -documents.txt,564,0,17,MANAGER -documents.txt,565,0,16,ENGINEER -documents.txt,566,0,12,ENGINEER -documents.txt,567,19,39,MANAGER -documents.txt,568,20,33,ENGINEER -documents.txt,569,0,10,MANAGER -documents.txt,570,0,14,ENGINEER -documents.txt,571,0,19,ENGINEER -documents.txt,572,0,11,ENGINEER -documents.txt,573,0,16,ENGINEER -documents.txt,574,0,12,MANAGER -documents.txt,575,0,16,MANAGER -documents.txt,576,0,18,ENGINEER -documents.txt,577,0,15,ENGINEER -documents.txt,578,0,23,ENGINEER -documents.txt,579,0,12,MANAGER -documents.txt,580,0,14,ENGINEER -documents.txt,581,37,55,ENGINEER -documents.txt,582,0,12,ENGINEER -documents.txt,583,37,51,ENGINEER -documents.txt,584,0,13,MANAGER -documents.txt,585,37,50,ENGINEER -documents.txt,586,0,17,MANAGER -documents.txt,587,0,16,MANAGER -documents.txt,588,0,23,MANAGER -documents.txt,589,25,39,ENGINEER -documents.txt,590,0,13,ENGINEER -documents.txt,591,0,11,MANAGER -documents.txt,592,0,17,MANAGER -documents.txt,593,0,24,ENGINEER -documents.txt,594,0,16,ENGINEER -documents.txt,595,20,29,ENGINEER -documents.txt,596,20,39,ENGINEER -documents.txt,597,0,17,ENGINEER -documents.txt,598,0,18,MANAGER -documents.txt,599,0,12,MANAGER -documents.txt,600,0,10,MANAGER -documents.txt,601,0,14,MANAGER -documents.txt,602,0,13,MANAGER -documents.txt,603,0,22,MANAGER -documents.txt,604,0,23,MANAGER -documents.txt,605,0,13,MANAGER -documents.txt,606,0,14,ENGINEER -documents.txt,607,25,42,ENGINEER -documents.txt,608,0,14,MANAGER -documents.txt,609,0,12,MANAGER -documents.txt,610,36,46,MANAGER -documents.txt,611,0,20,ENGINEER -documents.txt,612,0,17,MANAGER -documents.txt,613,0,14,MANAGER -documents.txt,614,0,15,ENGINEER -documents.txt,615,0,20,ENGINEER -documents.txt,616,25,46,ENGINEER -documents.txt,617,0,12,ENGINEER -documents.txt,618,0,21,ENGINEER -documents.txt,619,0,9,MANAGER -documents.txt,620,0,18,MANAGER -documents.txt,621,0,23,MANAGER -documents.txt,622,0,12,ENGINEER -documents.txt,623,0,14,MANAGER -documents.txt,624,37,51,ENGINEER -documents.txt,625,0,18,ENGINEER -documents.txt,626,0,16,ENGINEER -documents.txt,627,0,24,MANAGER -documents.txt,628,0,16,MANAGER -documents.txt,629,0,13,MANAGER -documents.txt,630,0,21,ENGINEER -documents.txt,631,0,14,ENGINEER -documents.txt,632,0,20,ENGINEER -documents.txt,633,0,16,ENGINEER -documents.txt,634,0,19,ENGINEER -documents.txt,635,36,60,MANAGER -documents.txt,636,0,21,MANAGER -documents.txt,637,0,13,MANAGER -documents.txt,638,19,42,MANAGER -documents.txt,639,0,16,ENGINEER -documents.txt,640,0,19,MANAGER -documents.txt,641,0,15,ENGINEER -documents.txt,642,0,22,ENGINEER -documents.txt,643,0,14,ENGINEER -documents.txt,644,0,12,ENGINEER -documents.txt,645,0,15,ENGINEER -documents.txt,646,19,29,MANAGER -documents.txt,647,0,13,ENGINEER -documents.txt,648,0,11,MANAGER -documents.txt,649,0,21,MANAGER -documents.txt,650,0,13,MANAGER -documents.txt,651,0,23,MANAGER -documents.txt,652,0,12,ENGINEER -documents.txt,653,0,12,MANAGER -documents.txt,654,0,10,ENGINEER -documents.txt,655,0,10,MANAGER -documents.txt,656,0,14,ENGINEER -documents.txt,657,19,33,MANAGER -documents.txt,658,0,26,MANAGER -documents.txt,659,0,15,MANAGER -documents.txt,660,25,42,MANAGER -documents.txt,661,0,16,MANAGER -documents.txt,662,0,18,ENGINEER -documents.txt,663,25,38,MANAGER -documents.txt,664,0,17,MANAGER -documents.txt,665,25,37,ENGINEER -documents.txt,666,0,12,MANAGER -documents.txt,667,0,21,ENGINEER -documents.txt,668,36,48,MANAGER -documents.txt,669,0,10,MANAGER -documents.txt,670,0,13,ENGINEER -documents.txt,671,0,14,ENGINEER -documents.txt,672,25,39,MANAGER -documents.txt,673,0,16,MANAGER -documents.txt,674,0,18,MANAGER -documents.txt,675,0,19,ENGINEER -documents.txt,676,0,14,ENGINEER -documents.txt,677,37,51,ENGINEER -documents.txt,678,0,21,MANAGER -documents.txt,679,0,15,MANAGER +documents.txt,523,19,30,MANAGER +documents.txt,524,37,56,ENGINEER +documents.txt,525,36,52,MANAGER +documents.txt,526,0,15,MANAGER +documents.txt,527,0,15,ENGINEER +documents.txt,528,0,14,MANAGER +documents.txt,529,0,11,ENGINEER +documents.txt,530,0,17,MANAGER +documents.txt,531,0,14,ENGINEER +documents.txt,532,0,13,ENGINEER +documents.txt,533,0,12,ENGINEER +documents.txt,534,0,17,MANAGER +documents.txt,535,0,14,MANAGER +documents.txt,536,0,14,ENGINEER +documents.txt,537,37,49,ENGINEER +documents.txt,538,20,38,ENGINEER +documents.txt,539,0,15,ENGINEER +documents.txt,540,37,51,ENGINEER +documents.txt,541,0,18,ENGINEER +documents.txt,542,19,32,MANAGER +documents.txt,543,0,14,MANAGER +documents.txt,544,0,10,ENGINEER +documents.txt,545,19,40,MANAGER +documents.txt,546,0,23,MANAGER +documents.txt,547,19,39,MANAGER +documents.txt,548,0,14,ENGINEER +documents.txt,549,0,10,MANAGER +documents.txt,550,0,16,MANAGER +documents.txt,551,0,13,MANAGER +documents.txt,552,0,9,ENGINEER +documents.txt,553,19,34,MANAGER +documents.txt,554,0,22,MANAGER +documents.txt,555,0,19,MANAGER +documents.txt,556,0,18,MANAGER +documents.txt,557,0,14,MANAGER +documents.txt,558,0,14,MANAGER +documents.txt,559,0,20,ENGINEER +documents.txt,560,36,50,MANAGER +documents.txt,561,25,38,ENGINEER +documents.txt,562,0,15,MANAGER +documents.txt,563,0,16,ENGINEER +documents.txt,564,0,12,ENGINEER +documents.txt,565,0,18,ENGINEER +documents.txt,566,36,47,MANAGER +documents.txt,567,0,18,ENGINEER +documents.txt,568,0,18,MANAGER +documents.txt,569,0,21,ENGINEER +documents.txt,570,0,19,MANAGER +documents.txt,571,0,12,MANAGER +documents.txt,572,0,11,MANAGER +documents.txt,573,0,11,ENGINEER +documents.txt,574,0,12,ENGINEER +documents.txt,575,20,33,ENGINEER +documents.txt,576,20,40,ENGINEER +documents.txt,577,0,12,ENGINEER +documents.txt,578,0,21,MANAGER +documents.txt,579,0,17,MANAGER +documents.txt,580,0,16,MANAGER +documents.txt,581,0,20,MANAGER +documents.txt,582,0,16,ENGINEER +documents.txt,583,0,11,ENGINEER +documents.txt,584,0,18,MANAGER +documents.txt,585,0,22,MANAGER +documents.txt,586,37,55,ENGINEER +documents.txt,587,0,17,ENGINEER +documents.txt,588,0,22,ENGINEER +documents.txt,589,25,41,MANAGER +documents.txt,590,19,34,MANAGER +documents.txt,591,0,19,ENGINEER +documents.txt,592,0,17,ENGINEER +documents.txt,593,0,21,MANAGER +documents.txt,594,0,13,MANAGER +documents.txt,595,36,60,MANAGER +documents.txt,596,0,19,ENGINEER +documents.txt,597,0,13,ENGINEER +documents.txt,598,0,14,MANAGER +documents.txt,599,36,50,MANAGER +documents.txt,600,25,35,MANAGER +documents.txt,601,0,25,MANAGER +documents.txt,602,0,20,MANAGER +documents.txt,603,0,14,ENGINEER +documents.txt,604,25,43,MANAGER +documents.txt,605,0,15,ENGINEER +documents.txt,606,0,15,ENGINEER +documents.txt,607,0,20,MANAGER +documents.txt,608,36,52,MANAGER +documents.txt,609,0,14,MANAGER +documents.txt,610,0,17,ENGINEER +documents.txt,611,0,16,ENGINEER +documents.txt,612,0,14,MANAGER +documents.txt,613,0,12,ENGINEER +documents.txt,614,0,19,MANAGER +documents.txt,615,0,14,ENGINEER +documents.txt,616,0,23,ENGINEER +documents.txt,617,0,17,ENGINEER +documents.txt,618,0,13,ENGINEER +documents.txt,619,0,17,MANAGER +documents.txt,620,0,14,ENGINEER +documents.txt,621,0,18,MANAGER +documents.txt,622,0,17,MANAGER +documents.txt,623,0,11,MANAGER +documents.txt,624,20,33,ENGINEER +documents.txt,625,0,16,MANAGER +documents.txt,626,0,19,MANAGER +documents.txt,627,0,11,MANAGER +documents.txt,628,0,13,ENGINEER +documents.txt,629,37,54,ENGINEER +documents.txt,630,0,22,ENGINEER +documents.txt,631,0,21,MANAGER +documents.txt,632,0,12,ENGINEER +documents.txt,633,25,43,MANAGER +documents.txt,634,0,13,MANAGER +documents.txt,635,20,32,ENGINEER +documents.txt,636,0,14,MANAGER +documents.txt,637,0,12,ENGINEER +documents.txt,638,0,15,MANAGER +documents.txt,639,0,14,MANAGER +documents.txt,640,0,10,MANAGER +documents.txt,641,0,16,MANAGER +documents.txt,642,19,33,MANAGER +documents.txt,643,25,45,MANAGER +documents.txt,644,0,19,ENGINEER +documents.txt,645,0,12,ENGINEER +documents.txt,646,0,21,ENGINEER +documents.txt,647,19,34,MANAGER +documents.txt,648,0,17,MANAGER +documents.txt,649,0,14,ENGINEER +documents.txt,650,25,43,ENGINEER +documents.txt,651,0,18,ENGINEER +documents.txt,652,0,14,ENGINEER +documents.txt,653,0,11,ENGINEER +documents.txt,654,0,20,MANAGER +documents.txt,655,0,17,ENGINEER +documents.txt,656,0,13,ENGINEER +documents.txt,657,0,13,ENGINEER +documents.txt,658,25,42,ENGINEER +documents.txt,659,25,37,MANAGER +documents.txt,660,0,17,MANAGER +documents.txt,661,19,34,MANAGER +documents.txt,662,0,12,ENGINEER +documents.txt,663,37,51,ENGINEER +documents.txt,664,0,13,MANAGER +documents.txt,665,0,16,MANAGER +documents.txt,666,25,39,MANAGER +documents.txt,667,0,18,ENGINEER +documents.txt,668,25,40,MANAGER +documents.txt,669,0,20,ENGINEER +documents.txt,670,25,40,ENGINEER +documents.txt,671,19,35,MANAGER +documents.txt,672,25,37,MANAGER +documents.txt,673,0,15,MANAGER +documents.txt,674,0,12,MANAGER +documents.txt,675,36,58,MANAGER +documents.txt,676,0,13,MANAGER +documents.txt,677,0,16,MANAGER +documents.txt,678,25,45,ENGINEER +documents.txt,679,0,15,ENGINEER documents.txt,680,0,18,MANAGER -documents.txt,681,25,41,MANAGER -documents.txt,682,0,14,MANAGER -documents.txt,683,0,15,MANAGER -documents.txt,684,0,19,ENGINEER -documents.txt,685,0,17,ENGINEER -documents.txt,686,0,12,MANAGER -documents.txt,687,0,17,ENGINEER +documents.txt,681,0,15,ENGINEER +documents.txt,682,36,54,MANAGER +documents.txt,683,0,11,ENGINEER +documents.txt,684,0,15,ENGINEER +documents.txt,685,36,56,MANAGER +documents.txt,686,0,13,MANAGER +documents.txt,687,36,48,MANAGER documents.txt,688,0,12,ENGINEER -documents.txt,689,0,17,ENGINEER -documents.txt,690,0,13,MANAGER -documents.txt,691,0,17,ENGINEER -documents.txt,692,0,13,ENGINEER +documents.txt,689,25,38,ENGINEER +documents.txt,690,0,18,MANAGER +documents.txt,691,0,12,MANAGER +documents.txt,692,0,20,MANAGER documents.txt,693,0,14,ENGINEER -documents.txt,694,0,19,MANAGER -documents.txt,695,0,13,MANAGER +documents.txt,694,0,16,MANAGER +documents.txt,695,0,22,ENGINEER documents.txt,696,0,15,ENGINEER -documents.txt,697,0,19,ENGINEER -documents.txt,698,0,15,MANAGER -documents.txt,699,0,12,ENGINEER -documents.txt,700,25,42,MANAGER -documents.txt,701,0,16,MANAGER -documents.txt,702,0,21,ENGINEER -documents.txt,703,0,11,MANAGER -documents.txt,704,25,38,ENGINEER -documents.txt,705,0,10,MANAGER -documents.txt,706,0,21,MANAGER -documents.txt,707,25,38,ENGINEER -documents.txt,708,0,13,MANAGER -documents.txt,709,0,14,MANAGER -documents.txt,710,0,13,ENGINEER -documents.txt,711,36,61,MANAGER -documents.txt,712,0,20,MANAGER +documents.txt,697,0,14,MANAGER +documents.txt,698,0,14,MANAGER +documents.txt,699,0,10,ENGINEER +documents.txt,700,36,46,MANAGER +documents.txt,701,0,14,MANAGER +documents.txt,702,0,22,MANAGER +documents.txt,703,0,15,MANAGER +documents.txt,704,0,18,MANAGER +documents.txt,705,0,19,MANAGER +documents.txt,706,0,14,MANAGER +documents.txt,707,0,14,ENGINEER +documents.txt,708,0,11,MANAGER +documents.txt,709,0,19,ENGINEER +documents.txt,710,0,10,ENGINEER +documents.txt,711,0,19,MANAGER +documents.txt,712,20,32,ENGINEER documents.txt,713,0,13,ENGINEER -documents.txt,714,25,43,MANAGER -documents.txt,715,0,16,ENGINEER -documents.txt,716,0,12,MANAGER +documents.txt,714,0,19,MANAGER +documents.txt,715,20,42,ENGINEER +documents.txt,716,0,13,MANAGER documents.txt,717,0,12,MANAGER documents.txt,718,0,12,ENGINEER -documents.txt,719,19,34,MANAGER -documents.txt,720,0,17,ENGINEER -documents.txt,721,0,15,ENGINEER -documents.txt,722,0,18,MANAGER -documents.txt,723,37,56,ENGINEER -documents.txt,724,36,50,MANAGER -documents.txt,725,0,19,ENGINEER -documents.txt,726,0,13,MANAGER -documents.txt,727,0,17,ENGINEER -documents.txt,728,0,17,ENGINEER -documents.txt,729,0,23,MANAGER -documents.txt,730,0,17,MANAGER -documents.txt,731,0,17,ENGINEER -documents.txt,732,0,15,MANAGER -documents.txt,733,25,43,MANAGER -documents.txt,734,0,16,MANAGER -documents.txt,735,36,53,MANAGER -documents.txt,736,0,20,MANAGER -documents.txt,737,0,15,MANAGER -documents.txt,738,0,12,ENGINEER -documents.txt,739,0,14,MANAGER -documents.txt,740,0,13,MANAGER -documents.txt,741,0,25,ENGINEER -documents.txt,742,0,17,ENGINEER -documents.txt,743,25,39,ENGINEER -documents.txt,744,25,36,ENGINEER -documents.txt,745,0,14,ENGINEER -documents.txt,746,19,34,MANAGER -documents.txt,747,0,17,ENGINEER -documents.txt,748,0,22,ENGINEER -documents.txt,749,0,19,ENGINEER -documents.txt,750,0,19,ENGINEER -documents.txt,751,0,15,MANAGER -documents.txt,752,0,19,ENGINEER -documents.txt,753,0,14,ENGINEER -documents.txt,754,0,12,MANAGER -documents.txt,755,0,12,ENGINEER -documents.txt,756,0,20,MANAGER -documents.txt,757,0,17,ENGINEER -documents.txt,758,0,12,MANAGER -documents.txt,759,0,16,ENGINEER -documents.txt,760,0,18,MANAGER -documents.txt,761,0,14,ENGINEER -documents.txt,762,25,47,MANAGER -documents.txt,763,37,51,ENGINEER -documents.txt,764,0,16,MANAGER -documents.txt,765,0,16,MANAGER -documents.txt,766,0,15,MANAGER -documents.txt,767,0,13,MANAGER -documents.txt,768,20,32,ENGINEER -documents.txt,769,0,13,MANAGER -documents.txt,770,25,44,MANAGER -documents.txt,771,0,14,ENGINEER -documents.txt,772,0,23,ENGINEER -documents.txt,773,0,21,MANAGER -documents.txt,774,25,39,MANAGER -documents.txt,775,0,9,MANAGER -documents.txt,776,0,16,MANAGER -documents.txt,777,0,16,MANAGER -documents.txt,778,19,32,MANAGER -documents.txt,779,0,17,MANAGER -documents.txt,780,0,14,ENGINEER -documents.txt,781,0,21,ENGINEER -documents.txt,782,20,36,ENGINEER -documents.txt,783,37,47,ENGINEER -documents.txt,784,0,14,ENGINEER -documents.txt,785,0,17,ENGINEER -documents.txt,786,36,48,MANAGER -documents.txt,787,19,39,MANAGER -documents.txt,788,0,12,ENGINEER -documents.txt,789,0,16,MANAGER -documents.txt,790,0,17,ENGINEER -documents.txt,791,25,39,MANAGER -documents.txt,792,37,50,ENGINEER -documents.txt,793,0,16,ENGINEER -documents.txt,794,36,50,MANAGER -documents.txt,795,0,13,MANAGER -documents.txt,796,0,14,ENGINEER -documents.txt,797,0,19,ENGINEER -documents.txt,798,0,17,MANAGER -documents.txt,799,0,17,ENGINEER -documents.txt,800,0,15,MANAGER -documents.txt,801,0,11,ENGINEER -documents.txt,802,0,15,ENGINEER -documents.txt,803,0,10,MANAGER -documents.txt,804,0,13,ENGINEER +documents.txt,719,37,47,ENGINEER +documents.txt,720,0,11,MANAGER +documents.txt,721,20,31,ENGINEER +documents.txt,722,0,14,ENGINEER +documents.txt,723,0,22,ENGINEER +documents.txt,724,0,15,MANAGER +documents.txt,725,36,53,MANAGER +documents.txt,726,0,17,MANAGER +documents.txt,727,0,23,ENGINEER +documents.txt,728,0,20,MANAGER +documents.txt,729,0,14,MANAGER +documents.txt,730,0,12,ENGINEER +documents.txt,731,0,19,ENGINEER +documents.txt,732,0,20,ENGINEER +documents.txt,733,0,19,MANAGER +documents.txt,734,0,16,ENGINEER +documents.txt,735,0,15,ENGINEER +documents.txt,736,0,14,MANAGER +documents.txt,737,0,19,MANAGER +documents.txt,738,0,19,MANAGER +documents.txt,739,0,21,MANAGER +documents.txt,740,0,24,ENGINEER +documents.txt,741,37,54,ENGINEER +documents.txt,742,0,20,MANAGER +documents.txt,743,0,16,MANAGER +documents.txt,744,0,14,MANAGER +documents.txt,745,0,12,ENGINEER +documents.txt,746,0,16,MANAGER +documents.txt,747,0,13,MANAGER +documents.txt,748,0,17,ENGINEER +documents.txt,749,0,11,ENGINEER +documents.txt,750,37,52,ENGINEER +documents.txt,751,0,11,MANAGER +documents.txt,752,0,22,ENGINEER +documents.txt,753,25,36,MANAGER +documents.txt,754,25,42,ENGINEER +documents.txt,755,0,11,ENGINEER +documents.txt,756,0,13,ENGINEER +documents.txt,757,0,11,MANAGER +documents.txt,758,0,15,MANAGER +documents.txt,759,0,22,MANAGER +documents.txt,760,0,15,MANAGER +documents.txt,761,0,10,MANAGER +documents.txt,762,0,13,MANAGER +documents.txt,763,25,36,MANAGER +documents.txt,764,0,12,MANAGER +documents.txt,765,0,10,ENGINEER +documents.txt,766,0,11,MANAGER +documents.txt,767,20,37,ENGINEER +documents.txt,768,0,16,ENGINEER +documents.txt,769,0,16,ENGINEER +documents.txt,770,0,18,MANAGER +documents.txt,771,0,15,MANAGER +documents.txt,772,25,41,MANAGER +documents.txt,773,0,18,ENGINEER +documents.txt,774,0,13,ENGINEER +documents.txt,775,0,13,ENGINEER +documents.txt,776,0,21,ENGINEER +documents.txt,777,0,16,ENGINEER +documents.txt,778,25,43,MANAGER +documents.txt,779,20,34,ENGINEER +documents.txt,780,0,14,MANAGER +documents.txt,781,20,37,ENGINEER +documents.txt,782,0,15,MANAGER +documents.txt,783,0,17,MANAGER +documents.txt,784,25,38,MANAGER +documents.txt,785,0,18,MANAGER +documents.txt,786,0,12,ENGINEER +documents.txt,787,0,17,ENGINEER +documents.txt,788,20,37,ENGINEER +documents.txt,789,0,12,MANAGER +documents.txt,790,0,16,ENGINEER +documents.txt,791,0,19,ENGINEER +documents.txt,792,0,17,ENGINEER +documents.txt,793,25,41,ENGINEER +documents.txt,794,25,42,ENGINEER +documents.txt,795,25,41,ENGINEER +documents.txt,796,37,48,ENGINEER +documents.txt,797,0,11,ENGINEER +documents.txt,798,36,53,MANAGER +documents.txt,799,20,37,ENGINEER +documents.txt,800,0,15,ENGINEER +documents.txt,801,0,16,ENGINEER +documents.txt,802,0,15,MANAGER +documents.txt,803,0,18,MANAGER +documents.txt,804,0,18,MANAGER documents.txt,805,0,18,MANAGER -documents.txt,806,20,41,ENGINEER -documents.txt,807,25,41,ENGINEER -documents.txt,808,0,11,MANAGER -documents.txt,809,0,11,ENGINEER -documents.txt,810,37,57,ENGINEER -documents.txt,811,0,15,ENGINEER -documents.txt,812,0,23,MANAGER -documents.txt,813,20,37,ENGINEER +documents.txt,806,0,17,MANAGER +documents.txt,807,0,20,ENGINEER +documents.txt,808,0,18,ENGINEER +documents.txt,809,37,55,ENGINEER +documents.txt,810,37,62,ENGINEER +documents.txt,811,0,15,MANAGER +documents.txt,812,25,36,ENGINEER +documents.txt,813,0,19,ENGINEER documents.txt,814,0,17,ENGINEER -documents.txt,815,0,16,ENGINEER -documents.txt,816,19,38,MANAGER -documents.txt,817,0,13,MANAGER -documents.txt,818,0,18,MANAGER -documents.txt,819,0,21,ENGINEER -documents.txt,820,0,14,MANAGER -documents.txt,821,0,15,ENGINEER -documents.txt,822,0,18,MANAGER -documents.txt,823,0,20,MANAGER -documents.txt,824,0,14,MANAGER -documents.txt,825,0,17,ENGINEER -documents.txt,826,0,12,ENGINEER -documents.txt,827,0,15,ENGINEER -documents.txt,828,0,15,MANAGER -documents.txt,829,0,19,ENGINEER -documents.txt,830,0,12,MANAGER -documents.txt,831,0,12,MANAGER -documents.txt,832,0,13,MANAGER -documents.txt,833,0,21,ENGINEER -documents.txt,834,0,17,ENGINEER -documents.txt,835,0,12,MANAGER -documents.txt,836,0,21,MANAGER -documents.txt,837,0,19,MANAGER -documents.txt,838,0,15,MANAGER -documents.txt,839,0,20,MANAGER -documents.txt,840,0,13,ENGINEER -documents.txt,841,0,13,MANAGER -documents.txt,842,25,43,ENGINEER -documents.txt,843,0,13,MANAGER -documents.txt,844,0,12,ENGINEER -documents.txt,845,0,17,MANAGER -documents.txt,846,0,12,ENGINEER -documents.txt,847,0,18,ENGINEER -documents.txt,848,0,15,ENGINEER -documents.txt,849,36,49,MANAGER -documents.txt,850,0,15,MANAGER -documents.txt,851,0,20,MANAGER +documents.txt,815,0,8,MANAGER +documents.txt,816,37,51,ENGINEER +documents.txt,817,25,47,ENGINEER +documents.txt,818,25,36,ENGINEER +documents.txt,819,36,49,MANAGER +documents.txt,820,0,19,ENGINEER +documents.txt,821,0,16,MANAGER +documents.txt,822,0,18,ENGINEER +documents.txt,823,25,44,ENGINEER +documents.txt,824,37,50,ENGINEER +documents.txt,825,0,13,MANAGER +documents.txt,826,0,14,ENGINEER +documents.txt,827,0,11,MANAGER +documents.txt,828,36,49,MANAGER +documents.txt,829,0,20,MANAGER +documents.txt,830,0,13,ENGINEER +documents.txt,831,19,31,MANAGER +documents.txt,832,0,10,ENGINEER +documents.txt,833,0,12,ENGINEER +documents.txt,834,36,53,MANAGER +documents.txt,835,0,14,MANAGER +documents.txt,836,0,14,MANAGER +documents.txt,837,0,18,MANAGER +documents.txt,838,0,13,MANAGER +documents.txt,839,36,51,MANAGER +documents.txt,840,0,16,MANAGER +documents.txt,841,36,52,MANAGER +documents.txt,842,0,17,ENGINEER +documents.txt,843,0,16,ENGINEER +documents.txt,844,0,13,MANAGER +documents.txt,845,0,13,ENGINEER +documents.txt,846,19,26,MANAGER +documents.txt,847,0,19,ENGINEER +documents.txt,848,20,37,ENGINEER +documents.txt,849,0,12,MANAGER +documents.txt,850,0,19,MANAGER +documents.txt,851,0,10,MANAGER documents.txt,852,0,17,MANAGER -documents.txt,853,0,10,ENGINEER -documents.txt,854,0,20,MANAGER -documents.txt,855,0,14,MANAGER -documents.txt,856,0,20,MANAGER -documents.txt,857,0,14,ENGINEER -documents.txt,858,0,19,ENGINEER -documents.txt,859,0,17,ENGINEER -documents.txt,860,0,13,ENGINEER -documents.txt,861,0,12,ENGINEER -documents.txt,862,37,56,ENGINEER -documents.txt,863,0,15,MANAGER -documents.txt,864,0,19,ENGINEER -documents.txt,865,0,19,ENGINEER -documents.txt,866,0,14,ENGINEER -documents.txt,867,20,32,ENGINEER -documents.txt,868,37,52,ENGINEER +documents.txt,853,0,14,ENGINEER +documents.txt,854,19,41,MANAGER +documents.txt,855,0,12,MANAGER +documents.txt,856,36,48,MANAGER +documents.txt,857,0,20,ENGINEER +documents.txt,858,0,13,MANAGER +documents.txt,859,0,11,ENGINEER +documents.txt,860,0,17,ENGINEER +documents.txt,861,0,15,MANAGER +documents.txt,862,0,17,ENGINEER +documents.txt,863,0,22,MANAGER +documents.txt,864,0,7,ENGINEER +documents.txt,865,0,15,MANAGER +documents.txt,866,0,18,MANAGER +documents.txt,867,0,17,MANAGER +documents.txt,868,0,12,MANAGER documents.txt,869,0,13,ENGINEER -documents.txt,870,0,14,MANAGER -documents.txt,871,0,13,ENGINEER -documents.txt,872,0,15,ENGINEER -documents.txt,873,0,12,MANAGER -documents.txt,874,25,43,ENGINEER -documents.txt,875,0,14,ENGINEER -documents.txt,876,36,49,MANAGER -documents.txt,877,0,14,MANAGER -documents.txt,878,0,14,MANAGER -documents.txt,879,25,36,MANAGER -documents.txt,880,0,18,MANAGER -documents.txt,881,37,53,ENGINEER -documents.txt,882,0,12,MANAGER -documents.txt,883,19,31,MANAGER -documents.txt,884,0,13,ENGINEER -documents.txt,885,0,14,ENGINEER -documents.txt,886,37,57,ENGINEER -documents.txt,887,0,24,ENGINEER -documents.txt,888,0,11,ENGINEER -documents.txt,889,0,17,MANAGER -documents.txt,890,0,24,MANAGER -documents.txt,891,0,19,MANAGER -documents.txt,892,0,15,ENGINEER -documents.txt,893,0,10,ENGINEER -documents.txt,894,0,17,MANAGER -documents.txt,895,0,14,ENGINEER -documents.txt,896,0,16,MANAGER -documents.txt,897,0,15,ENGINEER -documents.txt,898,0,13,ENGINEER -documents.txt,899,0,14,ENGINEER -documents.txt,900,0,9,ENGINEER -documents.txt,901,0,10,MANAGER -documents.txt,902,0,19,ENGINEER -documents.txt,903,0,16,MANAGER -documents.txt,904,37,51,ENGINEER -documents.txt,905,0,15,MANAGER -documents.txt,906,0,13,ENGINEER -documents.txt,907,0,17,MANAGER -documents.txt,908,0,16,ENGINEER -documents.txt,909,0,17,ENGINEER -documents.txt,910,0,10,ENGINEER -documents.txt,911,0,23,ENGINEER -documents.txt,912,0,15,ENGINEER -documents.txt,913,0,10,ENGINEER -documents.txt,914,36,48,MANAGER -documents.txt,915,0,13,ENGINEER -documents.txt,916,0,20,ENGINEER -documents.txt,917,36,48,MANAGER -documents.txt,918,0,12,MANAGER -documents.txt,919,0,22,ENGINEER -documents.txt,920,0,17,MANAGER -documents.txt,921,0,12,ENGINEER -documents.txt,922,20,33,ENGINEER -documents.txt,923,0,14,ENGINEER -documents.txt,924,19,37,MANAGER -documents.txt,925,0,12,ENGINEER -documents.txt,926,0,17,ENGINEER -documents.txt,927,25,44,ENGINEER -documents.txt,928,37,49,ENGINEER -documents.txt,929,0,20,MANAGER -documents.txt,930,0,14,ENGINEER -documents.txt,931,0,14,ENGINEER -documents.txt,932,0,13,ENGINEER -documents.txt,933,0,19,MANAGER -documents.txt,934,0,20,ENGINEER +documents.txt,870,0,13,ENGINEER +documents.txt,871,37,52,ENGINEER +documents.txt,872,0,12,ENGINEER +documents.txt,873,0,11,ENGINEER +documents.txt,874,0,15,MANAGER +documents.txt,875,0,21,ENGINEER +documents.txt,876,0,16,MANAGER +documents.txt,877,0,21,ENGINEER +documents.txt,878,19,39,MANAGER +documents.txt,879,0,20,MANAGER +documents.txt,880,0,14,MANAGER +documents.txt,881,19,33,MANAGER +documents.txt,882,0,20,ENGINEER +documents.txt,883,0,13,ENGINEER +documents.txt,884,0,18,MANAGER +documents.txt,885,0,18,ENGINEER +documents.txt,886,0,13,ENGINEER +documents.txt,887,0,19,ENGINEER +documents.txt,888,0,12,ENGINEER +documents.txt,889,0,14,MANAGER +documents.txt,890,0,11,ENGINEER +documents.txt,891,0,11,MANAGER +documents.txt,892,0,10,ENGINEER +documents.txt,893,0,12,ENGINEER +documents.txt,894,0,18,ENGINEER +documents.txt,895,0,17,MANAGER +documents.txt,896,0,19,MANAGER +documents.txt,897,0,22,ENGINEER +documents.txt,898,0,13,MANAGER +documents.txt,899,0,16,ENGINEER +documents.txt,900,0,19,ENGINEER +documents.txt,901,0,12,MANAGER +documents.txt,902,37,57,ENGINEER +documents.txt,903,0,21,ENGINEER +documents.txt,904,0,14,MANAGER +documents.txt,905,0,19,ENGINEER +documents.txt,906,0,11,ENGINEER +documents.txt,907,20,37,ENGINEER +documents.txt,908,0,12,MANAGER +documents.txt,909,36,52,MANAGER +documents.txt,910,0,15,ENGINEER +documents.txt,911,25,42,MANAGER +documents.txt,912,20,36,ENGINEER +documents.txt,913,0,16,ENGINEER +documents.txt,914,0,21,ENGINEER +documents.txt,915,0,17,ENGINEER +documents.txt,916,0,16,ENGINEER +documents.txt,917,0,12,MANAGER +documents.txt,918,0,18,MANAGER +documents.txt,919,0,11,ENGINEER +documents.txt,920,19,38,MANAGER +documents.txt,921,0,15,ENGINEER +documents.txt,922,36,55,MANAGER +documents.txt,923,0,21,ENGINEER +documents.txt,924,0,20,ENGINEER +documents.txt,925,0,17,MANAGER +documents.txt,926,0,20,ENGINEER +documents.txt,927,25,35,ENGINEER +documents.txt,928,0,16,ENGINEER +documents.txt,929,19,31,MANAGER +documents.txt,930,25,37,MANAGER +documents.txt,931,0,15,ENGINEER +documents.txt,932,36,50,MANAGER +documents.txt,933,0,21,MANAGER +documents.txt,934,0,14,ENGINEER documents.txt,935,0,18,ENGINEER -documents.txt,936,0,19,ENGINEER -documents.txt,937,0,25,MANAGER -documents.txt,938,0,14,ENGINEER -documents.txt,939,36,46,MANAGER -documents.txt,940,0,16,ENGINEER -documents.txt,941,0,19,ENGINEER -documents.txt,942,0,21,MANAGER -documents.txt,943,25,49,ENGINEER -documents.txt,944,37,61,ENGINEER -documents.txt,945,0,12,MANAGER -documents.txt,946,0,18,ENGINEER -documents.txt,947,0,16,MANAGER -documents.txt,948,20,32,ENGINEER -documents.txt,949,0,16,ENGINEER -documents.txt,950,0,16,ENGINEER -documents.txt,951,0,15,ENGINEER -documents.txt,952,0,21,MANAGER -documents.txt,953,0,11,ENGINEER -documents.txt,954,0,19,ENGINEER -documents.txt,955,0,18,MANAGER -documents.txt,956,25,39,MANAGER -documents.txt,957,0,12,ENGINEER -documents.txt,958,0,14,MANAGER -documents.txt,959,0,18,ENGINEER -documents.txt,960,0,16,ENGINEER -documents.txt,961,0,15,MANAGER -documents.txt,962,0,24,MANAGER -documents.txt,963,0,17,MANAGER -documents.txt,964,0,25,ENGINEER -documents.txt,965,0,12,MANAGER -documents.txt,966,0,11,ENGINEER -documents.txt,967,0,15,ENGINEER -documents.txt,968,0,11,MANAGER -documents.txt,969,0,11,ENGINEER +documents.txt,936,0,22,MANAGER +documents.txt,937,25,39,MANAGER +documents.txt,938,0,15,ENGINEER +documents.txt,939,19,28,MANAGER +documents.txt,940,0,19,ENGINEER +documents.txt,941,0,15,MANAGER +documents.txt,942,0,15,ENGINEER +documents.txt,943,0,12,ENGINEER +documents.txt,944,0,16,ENGINEER +documents.txt,945,20,35,ENGINEER +documents.txt,946,36,51,MANAGER +documents.txt,947,20,41,ENGINEER +documents.txt,948,37,52,ENGINEER +documents.txt,949,0,14,ENGINEER +documents.txt,950,0,18,ENGINEER +documents.txt,951,0,15,MANAGER +documents.txt,952,0,14,ENGINEER +documents.txt,953,0,12,MANAGER +documents.txt,954,0,16,ENGINEER +documents.txt,955,25,42,MANAGER +documents.txt,956,0,15,ENGINEER +documents.txt,957,19,31,MANAGER +documents.txt,958,36,55,MANAGER +documents.txt,959,0,22,ENGINEER +documents.txt,960,0,13,MANAGER +documents.txt,961,0,15,ENGINEER +documents.txt,962,0,16,ENGINEER +documents.txt,963,0,16,MANAGER +documents.txt,964,0,14,ENGINEER +documents.txt,965,0,14,ENGINEER +documents.txt,966,0,15,ENGINEER +documents.txt,967,0,13,MANAGER +documents.txt,968,0,10,ENGINEER +documents.txt,969,0,10,MANAGER documents.txt,970,0,10,MANAGER -documents.txt,971,25,40,ENGINEER -documents.txt,972,0,10,ENGINEER -documents.txt,973,19,32,MANAGER -documents.txt,974,19,36,MANAGER -documents.txt,975,0,18,MANAGER -documents.txt,976,20,35,ENGINEER -documents.txt,977,0,19,ENGINEER -documents.txt,978,0,15,MANAGER -documents.txt,979,0,12,ENGINEER -documents.txt,980,0,14,MANAGER -documents.txt,981,25,40,MANAGER -documents.txt,982,0,14,ENGINEER -documents.txt,983,0,14,MANAGER -documents.txt,984,0,14,MANAGER -documents.txt,985,37,54,ENGINEER -documents.txt,986,25,40,ENGINEER -documents.txt,987,0,15,ENGINEER -documents.txt,988,37,56,ENGINEER -documents.txt,989,0,17,ENGINEER -documents.txt,990,20,37,ENGINEER -documents.txt,991,19,48,MANAGER -documents.txt,992,0,20,MANAGER -documents.txt,993,0,14,MANAGER -documents.txt,994,0,13,MANAGER -documents.txt,995,0,15,MANAGER -documents.txt,996,0,16,MANAGER -documents.txt,997,0,21,MANAGER -documents.txt,998,0,10,MANAGER -documents.txt,999,25,41,ENGINEER +documents.txt,971,0,22,MANAGER +documents.txt,972,37,50,ENGINEER +documents.txt,973,37,53,ENGINEER +documents.txt,974,0,17,ENGINEER +documents.txt,975,0,20,ENGINEER +documents.txt,976,0,19,ENGINEER +documents.txt,977,0,13,MANAGER +documents.txt,978,36,50,MANAGER +documents.txt,979,25,40,MANAGER +documents.txt,980,0,18,MANAGER +documents.txt,981,0,17,ENGINEER +documents.txt,982,37,55,ENGINEER +documents.txt,983,0,14,ENGINEER +documents.txt,984,0,11,MANAGER +documents.txt,985,0,14,ENGINEER +documents.txt,986,0,14,ENGINEER +documents.txt,987,25,42,MANAGER +documents.txt,988,20,36,ENGINEER +documents.txt,989,25,38,MANAGER +documents.txt,990,0,17,ENGINEER +documents.txt,991,0,18,MANAGER +documents.txt,992,0,18,MANAGER +documents.txt,993,0,13,MANAGER +documents.txt,994,0,16,ENGINEER +documents.txt,995,0,23,ENGINEER +documents.txt,996,0,12,MANAGER +documents.txt,997,0,16,MANAGER +documents.txt,998,0,16,MANAGER +documents.txt,999,0,17,ENGINEER diff --git a/internal/service/comprehend/test-fixtures/entity_recognizer/documents.txt b/internal/service/comprehend/test-fixtures/entity_recognizer/documents.txt index d9934f3eb377..15470ccb972a 100644 --- a/internal/service/comprehend/test-fixtures/entity_recognizer/documents.txt +++ b/internal/service/comprehend/test-fixtures/entity_recognizer/documents.txt @@ -1,1000 +1,1000 @@ -Announcing manager Shea Wyman. -Rudy McGlynn is a manager. -Kallie Wilderman has been an manager for over a decade. -Jude McCullough will be the new manager for the team. -Angeline Hegmann is a engineer in the high tech industry. -Nellie Leuschke DDS is a engineer with Example Corp. -Tyrell Nikolaus is retiring as a engineer. -Our latest new employee, Donnell Kling, has been a engineer in the industry for 4 years. -Jerad Gaylord is retiring as a manager. -Our latest new employee, Milan Kihn, has been a manager in the industry for 4 years. -Roman Kertzmann has been an manager for over a decade. -Elyssa Daugherty joins us as an engineer on the Example project. -Larue Hane is a manager with Example Corp. -Help me welcome our newest manager, Vince Walsh DDS. -Announcing engineer Mr. Rodrigo Davis Jr.. -Mr. Carol Donnelly is a manager in the high tech industry. -Mr. Johathan Kohler is a manager. -Burley Kunde will be the new manager for the team. -Aracely Stark is a manager with Example Corp. -Ms. Mara Greenfelder has been an manager for over a decade. -Rylan Hamill joins us as an manager on the Example project. -Announcing engineer Ms. Fanny Lebsack. -Announcing manager Maia Adams. -Help me welcome our newest engineer, Lauriane Feest. -Bulah Keeling, an manager, will be presenting the award. -Nikita Corkery has been a manager for 14 years. -Announcing manager Ms. Rosetta Hamill. -Thomas Lubowitz has been a engineer for 14 years. -Tina Ullrich has been an engineer for over a decade. -Keven Johnston is a manager. -Mr. Conrad Hoeger III has been an manager for over a decade. -Garrick O'Hara is a manager in the high tech industry. -Ms. Alexane Beahan IV will be the new engineer for the team. -Our latest new employee, Antonetta Denesik, has been a manager in the industry for 4 years. -Our latest new employee, Neha Jacobson, has been a manager in the industry for 4 years. -Jarrett Russel is a manager in the high tech industry. -Our latest new employee, Camylle Hane, has been a engineer in the industry for 4 years. -Martin Murazik has been an manager for over a decade. -Simeon Labadie is a manager with Example Corp. -Chase Wiegand will be the new engineer for the team. -Loy Jacobson, an manager, will be presenting the award. -Rachael Mayer has been a manager for 14 years. -Ms. Nellie Kling Jr. is a manager with Example Corp. -Ms. Annabelle Gorczany is a manager. -Michele Heller II joins us as an manager on the Example project. -Help me welcome our newest engineer, Ethel Brown I. -Woodrow Bayer is a engineer with Example Corp. -Viviane Maggio is a engineer with Example Corp. -Announcing engineer Ms. Abbigail O'Connell Sr.. -Our latest new employee, Idell Hilll, has been a manager in the industry for 4 years. -Mohammed Hahn is a manager with Example Corp. -Adela Altenwerth is retiring as a manager. -Our latest new employee, Maryse Simonis, has been a manager in the industry for 4 years. -Boris Rosenbaum PhD has been a engineer for 14 years. -Help me welcome our newest engineer, Joshuah Marquardt. -Haylie Botsford has been a engineer for 14 years. -Our latest new employee, Demetris Labadie PhD, has been a manager in the industry for 4 years. -Deron Hauck has been a engineer for 14 years. -Mr. Johnpaul Hilll has been a manager for 14 years. -Neoma Johnston has been an manager for over a decade. -Otho Nolan joins us as an engineer on the Example project. -Announcing manager Phyllis Rosenbaum III. -Mylene Cassin has been an engineer for over a decade. -Geoffrey Kovacek joins us as an manager on the Example project. -Leslie Parisian, an manager, will be presenting the award. -Announcing engineer Donavon Veum. -Our latest new employee, Floyd Mraz, has been a manager in the industry for 4 years. -Judson Koss has been a manager for 14 years. -Our latest new employee, Litzy Hahn, has been a engineer in the industry for 4 years. -Announcing engineer Mr. Jalon Boyle. -Ms. Enola Emard DDS is a engineer. -Help me welcome our newest engineer, Mr. Nels Toy Sr.. -Mr. Broderick Heidenreich Sr. is a engineer. -Our latest new employee, Mr. Jaleel Renner Jr., has been a engineer in the industry for 4 years. -Estelle Labadie will be the new manager for the team. -Mozell Ankunding is a engineer with Example Corp. -Help me welcome our newest engineer, Eudora Dibbert. -Mr. Guillermo Welch is a manager with Example Corp. -Mr. Brando Carter I has been an manager for over a decade. -Our latest new employee, Mr. Eliezer Emmerich, has been a engineer in the industry for 4 years. -Announcing manager Mr. Arnulfo Torphy PhD. -Grady Lind has been an engineer for over a decade. -Announcing engineer Mr. Jimmie Barton. -Vivianne Lakin is a engineer in the high tech industry. -Help me welcome our newest manager, Gina Dach. -Ms. Rosetta Langworth I has been an engineer for over a decade. -Jacinthe Abernathy II is a manager in the high tech industry. -Mr. Deven Tillman joins us as an engineer on the Example project. -Announcing manager Mazie Vandervort IV. -Mr. Chadd Corkery DVM is a manager. -Norval Torp, an engineer, will be presenting the award. -Announcing engineer Charlene McCullough. -Announcing engineer Scottie Ziemann PhD. -Reta Dickinson Jr. is a engineer in the high tech industry. -Ms. Hortense Collins PhD joins us as an manager on the Example project. -Our latest new employee, Mr. Lloyd Beier, has been a manager in the industry for 4 years. -Mr. Uriah Price is a manager in the high tech industry. -Help me welcome our newest engineer, Della Larson. -Fanny Schultz has been an manager for over a decade. -Mr. Danial Shanahan Sr. will be the new engineer for the team. -Audrey Dooley PhD is a manager in the high tech industry. -Ms. Ida Hoeger has been a manager for 14 years. -Tyson O'Keefe will be the new engineer for the team. -Therese Bergnaum DVM has been an manager for over a decade. -Mr. Sofia Schroeder is a manager in the high tech industry. -Announcing engineer Boris Bernhard. -Ms. Violet Sanford is a manager in the high tech industry. -Micheal Walker is a engineer in the high tech industry. -Kurtis Sauer IV is a manager. -Golda Haag is a manager in the high tech industry. -Helene Barrows has been a manager for 14 years. -Felicity Wilderman is a manager with Example Corp. -Adalberto Nitzsche, an manager, will be presenting the award. -Help me welcome our newest engineer, Kolby Leuschke. -Mr. Montana Marquardt will be the new engineer for the team. -Audrey Schaden Jr. will be the new engineer for the team. -Ms. Lucie Blick II, an engineer, will be presenting the award. -Help me welcome our newest manager, Lydia O'Kon. -Lawson Cummerata PhD is a engineer. -Cedrick Wiegand is a engineer in the high tech industry. -Announcing engineer Nestor Cassin. -Mr. Gideon Pouros is retiring as a manager. -Clark O'Reilly will be the new engineer for the team. -Ms. Kali DuBuque Jr. has been a manager for 14 years. -Ms. Claudia Runolfsson, an manager, will be presenting the award. -Sandrine Hoppe III has been a engineer for 14 years. -Marlene Williamson is a manager with Example Corp. -Our latest new employee, Jesus McKenzie, has been a manager in the industry for 4 years. -Our latest new employee, Tyson Pfannerstill, has been a engineer in the industry for 4 years. -Mr. Braeden Ratke is a engineer in the high tech industry. -Mr. Martin Lubowitz has been a engineer for 14 years. -Announcing manager Mariana McDermott. -Ms. Jakayla Thompson has been an manager for over a decade. -Sally Crist PhD has been a engineer for 14 years. -Help me welcome our newest engineer, Ms. Cathryn Dooley II. -Help me welcome our newest engineer, Cathryn Hackett. -Announcing engineer Riley Leuschke. -Ms. Nellie Gottlieb Jr., an engineer, will be presenting the award. -Ladarius Predovic IV, an engineer, will be presenting the award. -Mr. Berta Morar will be the new engineer for the team. -Help me welcome our newest engineer, Vincent Stoltenberg. -Ms. Celestine Bergstrom is a engineer with Example Corp. -Abby Roob is a manager with Example Corp. -Ms. Virgie Heaney joins us as an manager on the Example project. -Krystina Klocko Jr. will be the new manager for the team. -Announcing manager Ms. Orie Auer. -Announcing manager Mr. Ariel Hayes DVM. -Mr. Danial Botsford is a manager with Example Corp. -Name Ankunding has been an manager for over a decade. -Flavie Kerluke Jr. is a manager. -Jaida Cremin is a engineer in the high tech industry. -Mr. Zachery Mohr II is retiring as a engineer. -Help me welcome our newest engineer, Mr. Ottis McGlynn. -Our latest new employee, Frederick Roob, has been a manager in the industry for 4 years. -Edwardo Johns has been a engineer for 14 years. -Announcing engineer Mackenzie Rogahn V. -Madelynn Satterfield has been an engineer for over a decade. -Elva Zboncak has been an manager for over a decade. -Michaela Reilly is a manager in the high tech industry. -Ana Kiehn has been a manager for 14 years. -Announcing engineer Ruthie Becker. -Our latest new employee, Cecelia Rosenbaum, has been a manager in the industry for 4 years. -Help me welcome our newest manager, Elaina Halvorson. -Jedediah Botsford joins us as an engineer on the Example project. -Eldred Swift is a manager in the high tech industry. -Jay Torp is a engineer with Example Corp. -Jeramy Kunde joins us as an manager on the Example project. -Daisy Reynolds joins us as an manager on the Example project. -Wilhelm Leffler has been an manager for over a decade. -Selina Pfeffer is a manager in the high tech industry. -Ms. Catherine Douglas MD, an manager, will be presenting the award. -Our latest new employee, Mr. Randal Nikolaus, has been a engineer in the industry for 4 years. -Isabell Kilback is a manager. -Garfield Kutch will be the new manager for the team. -Angelo Lehner, an engineer, will be presenting the award. -Tess Reilly will be the new manager for the team. -Letitia Adams has been an manager for over a decade. -Announcing engineer Glenna Dibbert. -Ms. Virgie Anderson joins us as an engineer on the Example project. -Ms. Nellie Langosh Sr. is a manager. -Nickolas Kuhic is a engineer. -Mr. Greyson Schaefer will be the new manager for the team. -Announcing engineer Adelle Christiansen. -Sherman Jacobson III has been an manager for over a decade. -Lazaro Runolfsson DDS has been an engineer for over a decade. -Ms. Alice Schneider IV has been an manager for over a decade. -Hannah Hilll will be the new manager for the team. -Mr. Deangelo Hessel has been an manager for over a decade. -Help me welcome our newest manager, Adrianna Osinski. -Myra Bechtelar, an engineer, will be presenting the award. -Gennaro Grady has been an manager for over a decade. -Giovanni Willms is a engineer in the high tech industry. -Ms. Minerva Hagenes III is a manager in the high tech industry. -Emie Ziemann II joins us as an manager on the Example project. -Mr. Ervin Towne I is a engineer with Example Corp. -Maeve Lakin II joins us as an engineer on the Example project. -Our latest new employee, Ms. Creola Hauck III, has been a manager in the industry for 4 years. -Velma Kuhlman has been a engineer for 14 years. -Carleton Mertz PhD has been an manager for over a decade. -Lue Schneider, an engineer, will be presenting the award. -Johan Tillman, an engineer, will be presenting the award. -Maureen Zieme has been an engineer for over a decade. -Ciara Collier will be the new manager for the team. -Help me welcome our newest engineer, Ms. Leonie Denesik III. -Mr. Brennan Mohr I is a manager with Example Corp. -Ms. Rosina Larkin MD, an engineer, will be presenting the award. -Our latest new employee, Keaton McClure, has been a manager in the industry for 4 years. -Lorenzo Schoen is a manager in the high tech industry. -Our latest new employee, Ms. Alexa Jacobi, has been a manager in the industry for 4 years. -Announcing manager Daisha Olson II. -Ms. Loraine Heathcote is a manager with Example Corp. -Major Lowe has been a manager for 14 years. -Dedric Denesik II is a manager with Example Corp. -Help me welcome our newest manager, Neoma Bode PhD. -Announcing engineer Ms. Providenci King Sr.. -Orlando Boyle has been an manager for over a decade. -Elvie Mills PhD, an manager, will be presenting the award. -Ashton Gorczany is a manager. -Ms. Maureen Hegmann is retiring as a engineer. -Winona Streich has been an engineer for over a decade. -Announcing engineer Madelyn Hyatt. -Mr. Terrence Goodwin has been an engineer for over a decade. -Our latest new employee, Riley Abbott PhD, has been a manager in the industry for 4 years. -Our latest new employee, Quentin Farrell, has been a engineer in the industry for 4 years. -Our latest new employee, Ms. Lorine Hills, has been a manager in the industry for 4 years. -Mr. Gussie Wehner DVM joins us as an manager on the Example project. -Leanna Schuster has been a manager for 14 years. -Mr. Grayce Konopelski is a manager with Example Corp. -Calista Rodriguez MD joins us as an engineer on the Example project. -Ebba Goldner is a engineer with Example Corp. -Toney McCullough is retiring as a engineer. -Our latest new employee, Hans Wisozk, has been a manager in the industry for 4 years. -Ms. Aditya Schumm, an engineer, will be presenting the award. -Mr. Carmel Russel I has been a manager for 14 years. -Help me welcome our newest manager, Ms. Daniella Kuvalis. -Evert Friesen has been an engineer for over a decade. -Help me welcome our newest manager, Justice Kunze. -Help me welcome our newest manager, Mr. Alford Davis IV. -Announcing engineer Laurence Gerhold. -Lonny Collins is a engineer in the high tech industry. -Judson Emard IV joins us as an manager on the Example project. -Delfina Hand is retiring as a manager. -Gabrielle Turcotte IV, an engineer, will be presenting the award. -Leann Fisher is a engineer with Example Corp. -Billie Greenholt III is a engineer. -Brant Turner is a engineer. -Imelda McLaughlin joins us as an manager on the Example project. -Ms. Macie Beatty is a manager in the high tech industry. -Dayne Dicki joins us as an engineer on the Example project. -Elenor Abernathy will be the new engineer for the team. -Our latest new employee, Alanna Bauch, has been a manager in the industry for 4 years. -Our latest new employee, Creola Russel, has been a manager in the industry for 4 years. -Misty Becker, an manager, will be presenting the award. -Our latest new employee, Brennan Larkin, has been a manager in the industry for 4 years. -Our latest new employee, Kian Olson, has been a manager in the industry for 4 years. -Sigurd Schuppe joins us as an manager on the Example project. -Winnifred Zemlak has been an manager for over a decade. -Help me welcome our newest manager, Ms. Adrianna Gerlach V. -Help me welcome our newest engineer, Arch Bednar. -Zion Nikolaus is a engineer. -Sidney Hegmann is a engineer in the high tech industry. -Help me welcome our newest manager, Jessika Senger. -Sophie Watsica has been a engineer for 14 years. -Lila McClure DDS is retiring as a manager. -Concepcion Gerhold, an manager, will be presenting the award. -Marley Doyle will be the new engineer for the team. -Kristin Hermiston is a manager with Example Corp. -Help me welcome our newest manager, Hollis Becker. -Mr. Alessandro Kilback joins us as an manager on the Example project. -Celia Beatty is a engineer in the high tech industry. -Mr. Camren Schuppe is a manager with Example Corp. -Judy Kemmer IV will be the new manager for the team. -Mr. Alex Stracke, an engineer, will be presenting the award. -Ms. Maureen Klein will be the new engineer for the team. -Giovanni Bogisich II is retiring as a engineer. -Trevor Lebsack has been an manager for over a decade. -Mr. Damian Larkin PhD is a engineer. -Dave Hirthe is a engineer. -Mr. Thad Casper will be the new manager for the team. -Pietro Bode, an engineer, will be presenting the award. -Gregg Ortiz is retiring as a manager. -Ervin Hand will be the new manager for the team. -Roberta Bosco is a manager in the high tech industry. -Ms. Kellie Osinski II is a engineer with Example Corp. -Mr. Carmine Morar has been an manager for over a decade. -Help me welcome our newest manager, Ms. Annie Bode III. -Lorna O'Connell has been an engineer for over a decade. -Our latest new employee, Gayle Jacobson III, has been a manager in the industry for 4 years. -Announcing manager Dave Schaefer. -Devyn Effertz is a engineer with Example Corp. -Mr. Arlo Casper is a engineer in the high tech industry. -Announcing manager Sandrine Collins. -Mr. Chandler Roberts V will be the new manager for the team. -Our latest new employee, Ms. Ericka Murazik, has been a engineer in the industry for 4 years. -Keith Goyette, an engineer, will be presenting the award. -Mckenna Feil joins us as an engineer on the Example project. -Britney Prosacco has been an engineer for over a decade. -Help me welcome our newest engineer, Lois Hudson. -Help me welcome our newest engineer, Ms. Hilma Walsh V. -Albina Gorczany will be the new manager for the team. -Announcing engineer German Wiegand. -Mr. Jed Morar has been a manager for 14 years. -Quincy Willms II, an manager, will be presenting the award. -Ms. Bette King II has been an manager for over a decade. -Ena Ryan joins us as an manager on the Example project. -Our latest new employee, Daryl Nitzsche, has been a manager in the industry for 4 years. -Liliane Rempel, an engineer, will be presenting the award. -Our latest new employee, Patience Wolf, has been a manager in the industry for 4 years. -Help me welcome our newest engineer, Cleora Torphy. -Clemens O'Conner is a manager with Example Corp. -Help me welcome our newest manager, Ozella Romaguera. -Javon Mitchell has been a engineer for 14 years. -Koby Jacobs is a engineer with Example Corp. -Ms. Leda Leffler is a manager. -Help me welcome our newest manager, Isabelle Kautzer. -Ms. Annabell Auer V will be the new engineer for the team. -Wilfredo Turner I has been an engineer for over a decade. -D'angelo Predovic is a manager with Example Corp. -Our latest new employee, Mr. Godfrey Barrows, has been a engineer in the industry for 4 years. -Help me welcome our newest engineer, Allie Gerhold. -Ms. Oleta Beer has been an engineer for over a decade. -Ms. Jacklyn Wehner DDS is a manager in the high tech industry. -Mr. Bailey Fahey DVM joins us as an engineer on the Example project. -Our latest new employee, Lesly Mitchell Sr., has been a manager in the industry for 4 years. -Phyllis Heller III joins us as an manager on the Example project. -Our latest new employee, Oswaldo Gusikowski, has been a engineer in the industry for 4 years. -Our latest new employee, Jordi Altenwerth, has been a manager in the industry for 4 years. -Ariel Price has been a engineer for 14 years. -Orie Bins is a manager in the high tech industry. -Eldridge Conroy joins us as an manager on the Example project. -Benedict Lebsack III has been an manager for over a decade. -Clarabelle Walker is a engineer. -Anabelle Hodkiewicz Sr. joins us as an manager on the Example project. -Mr. Nikko Ferry is a manager with Example Corp. -Nelda VonRueden joins us as an engineer on the Example project. -Our latest new employee, Mathew Buckridge, has been a manager in the industry for 4 years. -Announcing manager Mary Runolfsdottir III. -Jesus Reynolds joins us as an engineer on the Example project. -Abbigail Steuber joins us as an engineer on the Example project. -Ally Franecki is a engineer with Example Corp. -Announcing engineer Edward Mayer. -Myrtie Kreiger is retiring as a manager. -Mr. Chadd Kovacek has been a manager for 14 years. -Glennie Jakubowski IV has been an manager for over a decade. -Coby Hirthe is a manager with Example Corp. -Milton Grimes has been an manager for over a decade. -Estella Kilback is a manager. -Ms. Zoe Gorczany is a manager with Example Corp. -Help me welcome our newest engineer, Ms. Vivienne Heller IV. -Mr. Wilson Greenfelder, an manager, will be presenting the award. -Help me welcome our newest manager, Curtis Stiedemann. -Karlie Swaniawski has been a engineer for 14 years. -Vicente Fahey is a engineer with Example Corp. -Madilyn Erdman is retiring as a manager. -Help me welcome our newest manager, Mr. Elroy Gerhold. -Ms. Hettie Murphy is retiring as a engineer. -Mr. Ashton Conroy Jr. is a engineer. -Help me welcome our newest engineer, Hollie Dietrich Jr.. -Announcing engineer Mr. Khalid Deckow. -Jett Kessler is retiring as a engineer. -Theresa Rau is a engineer. -Brianne Casper is a manager with Example Corp. -Reymundo O'Hara is a manager in the high tech industry. -Announcing manager Jadon Moen. -Patricia Hyatt has been an manager for over a decade. -Cristal Johns is retiring as a manager. -Jenifer Hammes III is a manager. -Lamar Gleason is a engineer with Example Corp. -Mr. Lionel Keeling IV joins us as an manager on the Example project. -Darren Abernathy DDS will be the new engineer for the team. -Help me welcome our newest engineer, Braxton Hagenes. -Aniya Fadel will be the new manager for the team. -Our latest new employee, Ms. Reina Erdman, has been a engineer in the industry for 4 years. -Furman Tremblay, an manager, will be presenting the award. -Our latest new employee, Delfina Moen, has been a engineer in the industry for 4 years. -Ana Grady DVM is a engineer with Example Corp. -Brittany Stehr joins us as an manager on the Example project. -Milan Larkin is a engineer. -Our latest new employee, Lilliana Mante, has been a manager in the industry for 4 years. -Corrine Sawayn will be the new engineer for the team. -Mr. Kenneth Berge has been a engineer for 14 years. -Mr. Theodore Wyman has been a manager for 14 years. -Jayde Bauch is a engineer. -Ms. Marguerite VonRueden has been an engineer for over a decade. -Magdalen Schowalter is a engineer in the high tech industry. -Rita Fay joins us as an manager on the Example project. -Mr. Clement Parisian IV joins us as an manager on the Example project. -Bernie Leannon has been an manager for over a decade. -Alta Fritsch is a manager. -Help me welcome our newest manager, Otto Skiles Jr.. -Announcing engineer Marcellus Botsford. -Leopold Pacocha has been an engineer for over a decade. -Coy Friesen is a manager in the high tech industry. -Announcing manager Flavio Kerluke. -Ms. Otilia Sauer will be the new engineer for the team. -Mertie Robel PhD has been a engineer for 14 years. -Mr. Waino Langosh is a manager in the high tech industry. -Linnie Yundt is a engineer in the high tech industry. -Santos Rohan V is a manager with Example Corp. -Ms. Karen Grady has been a manager for 14 years. -Mr. Kale Hessel IV is a engineer. -Dayton Oberbrunner, an manager, will be presenting the award. -Fausto Considine is a manager in the high tech industry. -Amie Muller joins us as an engineer on the Example project. -Our latest new employee, Leopoldo Becker DDS, has been a engineer in the industry for 4 years. -Zetta Carter has been an engineer for over a decade. -Kaitlyn Douglas will be the new manager for the team. -Help me welcome our newest manager, Jaylin Sporer. -Announcing engineer Ms. Gina Barrows II. -Help me welcome our newest engineer, Naomi Bogan. -Price Hauck II, an engineer, will be presenting the award. -Announcing engineer Berniece Wilderman. -Harrison Mann, an manager, will be presenting the award. -Buddy Marquardt, an engineer, will be presenting the award. -Leonor Wintheiser joins us as an engineer on the Example project. -Oswaldo Gutkowski is a manager. -Announcing engineer Manley Predovic. -Mr. Paolo Beatty is a manager in the high tech industry. -Mr. Ian Klocko Sr. has been an engineer for over a decade. -Mr. Alec Hagenes DVM is a engineer in the high tech industry. -Zetta Reynolds is a engineer. -Mr. Liam Pacocha PhD is a manager with Example Corp. -Announcing manager Elvera McClure. -Help me welcome our newest engineer, Fleta Hansen. -Liza Corwin is a manager. -Tyrel Thompson is retiring as a engineer. -Ms. Krista Bogan is a engineer in the high tech industry. -Garfield Ratke will be the new manager for the team. -Eda Morissette has been an manager for over a decade. -Ms. Alexandrine Weissnat V is a manager. -Jeramy Hettinger is retiring as a engineer. -Announcing engineer Ms. Flavie Mertz III. -Announcing manager Vilma Maggio Sr.. -Jacinthe D'Amore will be the new manager for the team. -Our latest new employee, Ms. Aliza Towne, has been a engineer in the industry for 4 years. -Amos Maggio is a manager. -Janick Crona DDS is retiring as a engineer. -Darien Fadel has been a engineer for 14 years. -Announcing manager Albert Frami. -Mr. Kelvin Shanahan V has been an manager for over a decade. -Help me welcome our newest manager, Kraig Gulgowski DDS. -Jodie Bergnaum joins us as an engineer on the Example project. -Emilie O'Reilly is retiring as a manager. -Ellen Dach, an manager, will be presenting the award. -Ms. Annabell Ferry II, an manager, will be presenting the award. -Brady Ritchie will be the new manager for the team. -Ms. Anna Lockman PhD is a manager. -Quentin Corwin will be the new manager for the team. -Tianna Skiles is a engineer with Example Corp. -Betty Marks is a engineer with Example Corp. -Antwon Deckow is a manager in the high tech industry. -Nina Rolfson has been an engineer for over a decade. -Maggie West has been a manager for 14 years. -Mr. Keon Pfeffer is a manager in the high tech industry. -Abbigail Mante has been a manager for 14 years. -Our latest new employee, Amy Heathcote MD, has been a engineer in the industry for 4 years. -Mr. Theron Watsica has been an manager for over a decade. -Lafayette Toy has been an engineer for over a decade. -Help me welcome our newest engineer, Mr. Darius O'Conner. -Mr. Juwan Miller Sr. is retiring as a engineer. -Elwyn Wilkinson II is retiring as a manager. -Announcing manager Jon Collins. -Joanie Windler will be the new engineer for the team. -Coty Eichmann MD will be the new manager for the team. -Elmore Weber will be the new manager for the team. -Layla Gottlieb is a manager in the high tech industry. -Our latest new employee, Zachariah Armstrong, has been a engineer in the industry for 4 years. -Our latest new employee, Jorge Osinski, has been a manager in the industry for 4 years. -Our latest new employee, Jayden Ruecker IV, has been a manager in the industry for 4 years. -Our latest new employee, Ms. Kyla Lubowitz, has been a manager in the industry for 4 years. -Jayme Ullrich has been a manager for 14 years. -Devin Leannon joins us as an engineer on the Example project. -Eliezer Roberts joins us as an engineer on the Example project. -Lexus McLaughlin is a manager in the high tech industry. -Announcing manager Ms. Eve Gerlach PhD. -Sheila Bayer, an engineer, will be presenting the award. -Announcing manager Ms. Bettie Gislason IV. -Sven Batz V, an manager, will be presenting the award. -Kevin Langosh Jr. has been an manager for over a decade. -Ms. Eldridge Bins has been a engineer for 14 years. -Our latest new employee, Madelyn Terry, has been a manager in the industry for 4 years. -Announcing engineer Aurelia Sauer. -Harry Wehner will be the new engineer for the team. -Mckayla Rosenbaum is retiring as a engineer. -Mr. Zack Heidenreich PhD is retiring as a engineer. -Margaret Rempel is a manager in the high tech industry. -Coy Moen will be the new manager for the team. -Ms. Whitney Jacobson is a manager with Example Corp. -Ms. Reba O'Conner III is retiring as a engineer. -Emmy Emard has been a engineer for 14 years. -Ellie Simonis IV is a manager in the high tech industry. -Our latest new employee, Kolby Jerde, has been a engineer in the industry for 4 years. -Serenity Nolan has been a engineer for 14 years. -Arvilla Leffler MD is a manager in the high tech industry. -Sherwood Considine is retiring as a manager. -Braulio Pfeffer is a engineer with Example Corp. -Americo Roberts has been an manager for over a decade. -Mr. Cesar Hayes has been an engineer for over a decade. -Our latest new employee, Rosalinda Kautzer III, has been a engineer in the industry for 4 years. -Our latest new employee, Melvina McGlynn III, has been a engineer in the industry for 4 years. -Jannie Botsford has been a manager for 14 years. -Our latest new employee, Mr. Barry Eichmann Jr., has been a manager in the industry for 4 years. -Ubaldo Harvey Jr., an manager, will be presenting the award. -Our latest new employee, Vincenza Mayer, has been a engineer in the industry for 4 years. -Sister Hickle joins us as an engineer on the Example project. -Joanny Mante is a manager with Example Corp. -Enid Kihn, an manager, will be presenting the award. -Kathleen Corwin MD, an engineer, will be presenting the award. -Hellen Little III has been a manager for 14 years. -Mr. Tanner Kihn will be the new engineer for the team. -Sasha Feest will be the new engineer for the team. -Our latest new employee, Benny Pfeffer III, has been a engineer in the industry for 4 years. -Mr. Wilford Herman has been a manager for 14 years. -Ms. Asia Klein III joins us as an manager on the Example project. -Buster Marquardt has been a engineer for 14 years. -Magdalena Kshlerin has been an manager for over a decade. -Pete White is a manager with Example Corp. -Announcing engineer Bud Goyette. -Elias Muller is a engineer with Example Corp. -Lizzie Hansen joins us as an engineer on the Example project. -Announcing manager Loy Farrell DVM. -Demarco Stanton Sr. is retiring as a manager. -Ms. Malvina Hyatt II is retiring as a engineer. -Daren Windler DDS will be the new engineer for the team. -Ms. Madie Koss PhD has been an manager for over a decade. -Johnson Parisian is a manager in the high tech industry. -Odessa Kling is retiring as a manager. -Announcing engineer Dolores Schaden. -Mr. Pedro Kshlerin Jr., an engineer, will be presenting the award. -Gage Becker Jr. has been an engineer for over a decade. -Announcing engineer Miles Bergnaum Sr.. -Mr. Damon Kreiger, an engineer, will be presenting the award. -Caroline Gutkowski joins us as an manager on the Example project. -Kaitlin Reynolds joins us as an engineer on the Example project. -Mr. Kellen Metz is a engineer with Example Corp. -Ms. Shany Hoeger II has been a manager for 14 years. -Our latest new employee, Mr. Marvin Crist, has been a engineer in the industry for 4 years. -Daren O'Connell is a engineer with Example Corp. -Announcing engineer Trystan Johnston. -Malvina Schroeder has been an manager for over a decade. -Lourdes Mertz has been a manager for 14 years. -Our latest new employee, Mr. Modesto Funk DDS, has been a manager in the industry for 4 years. -Bonnie Ortiz is a manager in the high tech industry. -Gunner Halvorson is a engineer with Example Corp. -Hallie Crist is a manager in the high tech industry. -Freddy Lehner joins us as an engineer on the Example project. -Bell Brekke is a manager in the high tech industry. -Our latest new employee, Arianna King, has been a manager in the industry for 4 years. -Clement Schaefer joins us as an manager on the Example project. -Hillary Bartoletti is retiring as a manager. -Adrain Kertzmann is a engineer. -Ms. Reyna Bayer DVM is retiring as a manager. -Lauryn Satterfield is a engineer. -Ms. Gregoria Rolfson is retiring as a manager. -Announcing engineer Bessie Schamberger. -Ms. Faye Lubowitz is retiring as a manager. -Leora Powlowski, an manager, will be presenting the award. -Mr. Omer O'Reilly Sr. has been an manager for over a decade. -Miller Tremblay is a manager in the high tech industry. -Joan Keebler will be the new engineer for the team. -Announcing manager Larry Weimann. -Help me welcome our newest manager, Mr. Jaren Brekke III. -Makayla Hoppe, an manager, will be presenting the award. -Ms. Electa Grant will be the new manager for the team. -Virgil Kshlerin I has been an manager for over a decade. -Alverta Prohaska will be the new engineer for the team. -Bud Connelly joins us as an engineer on the Example project. -Announcing manager Franz Altenwerth DDS. -Announcing engineer Amos Predovic. -Lew Grimes joins us as an manager on the Example project. -Brendan Kohler is a engineer. -Ms. Addison Okuneva is a engineer with Example Corp. -Esta Brekke joins us as an engineer on the Example project. -Skyla Barton PhD has been a engineer for 14 years. -Paula Herzog has been an manager for over a decade. -Horace Carter IV is a manager in the high tech industry. -Dolly Kshlerin DDS has been an engineer for over a decade. -Jamil Bashirian is a engineer. -Ms. Margret Schimmel MD is a engineer. -Alvera Sauer has been an manager for over a decade. -Enid Hettinger is retiring as a engineer. -Help me welcome our newest engineer, Ezequiel Hettinger. -Florian Auer joins us as an engineer on the Example project. -Help me welcome our newest engineer, Estella Feeney. -Israel Spinka is a manager in the high tech industry. -Help me welcome our newest engineer, Edwina Kirlin. -Pamela Brakus PhD is retiring as a manager. -Delbert Schiller has been an manager for over a decade. -Ms. Rosetta Breitenberg has been an manager for over a decade. -Our latest new employee, Hermina Wisoky, has been a engineer in the industry for 4 years. -Palma Langosh is a engineer. -Keenan Hane has been a manager for 14 years. -Matilde Bergstrom has been a manager for 14 years. -Ms. Jessica Bergnaum Sr. has been a engineer for 14 years. -Camille Schuster is retiring as a engineer. -Announcing engineer Myrl Haag. -Announcing engineer Annalise Rutherford. -Meredith Reichert is a engineer in the high tech industry. -Ms. Chelsie Conroy will be the new manager for the team. -Leora Torphy is retiring as a manager. -Adolf Torp joins us as an manager on the Example project. -Sincere Klocko joins us as an manager on the Example project. -Reese Torp II is a manager in the high tech industry. -Ms. Miracle Balistreri is a manager in the high tech industry. -Ms. Paige Jakubowski II joins us as an manager on the Example project. -Jimmie Brekke has been an manager for over a decade. -Avery Tremblay is a engineer. -Our latest new employee, Collin Cartwright, has been a engineer in the industry for 4 years. -Amelie Carroll joins us as an manager on the Example project. -Angela Towne has been an manager for over a decade. -Help me welcome our newest manager, Maria Ward. -Ms. Ellen Walker III is a engineer. -Martin Senger Sr. joins us as an manager on the Example project. -Florida Hessel, an manager, will be presenting the award. -Freeman Steuber is a engineer with Example Corp. -Mr. Ellsworth Maggio will be the new engineer for the team. -Our latest new employee, Ms. Hildegard Watsica, has been a engineer in the industry for 4 years. -Ivory Wehner will be the new engineer for the team. -Mr. Carmine Reichel V is retiring as a engineer. -Ida Crona, an manager, will be presenting the award. -Abigail Morissette, an manager, will be presenting the award. -Mr. Norwood Gerlach III, an manager, will be presenting the award. -Olin Keeling is retiring as a engineer. -Brayan Kautzer joins us as an manager on the Example project. -Help me welcome our newest engineer, Carlie Ward MD. -Mr. Jalon Heller V will be the new engineer for the team. -Vivienne Corkery is a engineer in the high tech industry. -Ms. Mittie Romaguera DVM is a manager in the high tech industry. -Aylin Gerhold II joins us as an manager on the Example project. -Peggie Wehner has been an manager for over a decade. -Ms. Sadye Barrows DDS, an engineer, will be presenting the award. -Althea Dickens has been a engineer for 14 years. -Richmond Oberbrunner is a engineer. -Toney Brakus III is a engineer in the high tech industry. -Abigale Greenfelder joins us as an engineer on the Example project. -Help me welcome our newest manager, Ms. Karine Dickinson DVM. -Ms. Beatrice Reynolds has been an manager for over a decade. -Yvonne Howell is a manager. -Announcing manager Mr. Douglas Witting Sr.. -Dustin McDermott joins us as an engineer on the Example project. -Mr. Sherwood Murphy, an manager, will be presenting the award. -Delilah Nicolas joins us as an engineer on the Example project. -Ms. Gloria Quigley DVM, an engineer, will be presenting the award. -Dorris Bartell is a engineer. -Daija Hamill is a engineer in the high tech industry. -Ms. Litzy Johns, an engineer, will be presenting the award. -Announcing manager Tony Ferry. -Justyn Erdman will be the new engineer for the team. -Zoie Parker will be the new manager for the team. -Mr. Garland Heathcote will be the new manager for the team. -Emely Will IV is retiring as a manager. -Ms. Haven Romaguera PhD is a manager in the high tech industry. -Ahmad Lehner is a engineer with Example Corp. -Keanu Schumm has been a manager for 14 years. -Floy Kozey is a engineer with Example Corp. -Judy Kunde will be the new manager for the team. -Camden Gaylord is a engineer with Example Corp. -Announcing manager Verna Schmeler. -Ms. Guadalupe Eichmann III is a manager with Example Corp. -Mr. Issac Purdy, an manager, will be presenting the award. -Our latest new employee, Nina Thompson PhD, has been a manager in the industry for 4 years. -Quinn Cartwright is a manager in the high tech industry. -Mr. Edmund Thiel V is a engineer. -Our latest new employee, Ezekiel Block, has been a manager in the industry for 4 years. -Johanna Abernathy will be the new manager for the team. -Our latest new employee, Sheila Hills, has been a engineer in the industry for 4 years. -Theresa Lind will be the new manager for the team. -Ms. Bessie Muller PhD has been an engineer for over a decade. -Help me welcome our newest manager, Wayne Abbott. -Clay Hayes has been an manager for over a decade. -Marcus Pouros has been an engineer for over a decade. -Hilda Schulist is retiring as a engineer. -Our latest new employee, Dudley Ullrich, has been a manager in the industry for 4 years. -Ms. Meghan Hayes has been a manager for 14 years. -Alexandria Jenkins is a manager. -Mr. Osborne Rolfson is a engineer in the high tech industry. -Jaclyn Osinski joins us as an engineer on the Example project. -Help me welcome our newest engineer, Pamela Jenkins. -Mr. Khalil McCullough joins us as an manager on the Example project. -Eva Satterfield is a manager in the high tech industry. -Modesta Runolfsson is a manager in the high tech industry. -Our latest new employee, Ms. Brooke Hyatt, has been a manager in the industry for 4 years. -Brianne Graham joins us as an manager on the Example project. -Damon Hudson II has been a manager for 14 years. -Ulises McCullough I has been an engineer for over a decade. -Letha Ziemann DDS is a engineer with Example Corp. -Amiya Durgan is retiring as a manager. -Mr. Sydney Zulauf is a engineer. -Dayton Lesch is a engineer with Example Corp. -Millie Konopelski is a engineer. -Wilma Roberts joins us as an manager on the Example project. -Alexandrea Miller has been a engineer for 14 years. -Rosalind Lind is retiring as a engineer. -Raquel Kreiger will be the new engineer for the team. -Mr. Colby Hamill MD is retiring as a manager. -Melisa Schoen will be the new manager for the team. -Gerson Rice Sr. has been a engineer for 14 years. -Ms. Clara Hettinger, an engineer, will be presenting the award. -Casandra Hammes joins us as an manager on the Example project. -Arthur Kuhic is a engineer with Example Corp. -Our latest new employee, Wilburn Abernathy, has been a manager in the industry for 4 years. -Mr. Jules Jacobi joins us as an manager on the Example project. -Mr. Tyrique Runte PhD is a engineer. -Alva Murphy joins us as an manager on the Example project. -Our latest new employee, Laurel O'Hara, has been a engineer in the industry for 4 years. -Ocie Hauck has been an manager for over a decade. -Mr. Jamarcus Nitzsche has been a manager for 14 years. -Our latest new employee, Lucienne Hane, has been a engineer in the industry for 4 years. -Helen Kessler joins us as an manager on the Example project. -Eino Morar Jr. will be the new manager for the team. -Caden Watsica has been an engineer for over a decade. -Help me welcome our newest manager, Mr. Jaden Pfannerstill MD. -Mr. Macey McGlynn IV will be the new manager for the team. -Luisa Kuhn II will be the new engineer for the team. -Our latest new employee, Ms. Carolanne Feil, has been a manager in the industry for 4 years. -Christiana Berge has been a engineer for 14 years. -Micah Hamill is retiring as a manager. -Scotty Moore has been a manager for 14 years. -Louisa Wyman is a engineer. -Announcing manager Roslyn Gorczany. -Mauricio Nikolaus is a engineer with Example Corp. -Agustina Hammes will be the new engineer for the team. -Filiberto Schulist is a manager with Example Corp. -Help me welcome our newest engineer, Providenci Prohaska. -Help me welcome our newest manager, Elvie Mayert V. -Mr. Damien Turcotte is retiring as a engineer. -Peter Toy DVM, an manager, will be presenting the award. -Barbara Jacobs IV is retiring as a engineer. -Selina Feeney Sr. has been an engineer for over a decade. -Ms. Lavina Bogisich Sr. is a manager with Example Corp. -Francisca Kuvalis is a manager in the high tech industry. -Mr. Eddie Bartell has been an engineer for over a decade. -Braeden Quigley will be the new manager for the team. -Our latest new employee, Ms. Maude Schmeler, has been a manager in the industry for 4 years. -Rowena Wilkinson, an manager, will be presenting the award. -Help me welcome our newest manager, Soledad Schroeder. -Ms. Josianne Doyle V joins us as an manager on the Example project. -Brooke Dare DDS is a manager. -Mr. Abe Hahn is a engineer in the high tech industry. -Cooper Collier has been an manager for over a decade. -Avery Bernier has been a manager for 14 years. -Ms. Augustine O'Keefe DDS has been a engineer for 14 years. -Keshaun Cummerata has been an engineer for over a decade. -Our latest new employee, Dedric Nolan I, has been a engineer in the industry for 4 years. -Our latest new employee, Elbert Auer, has been a engineer in the industry for 4 years. -Betsy Schulist is a engineer in the high tech industry. -Announcing manager Ms. Asha Zulauf. -Silas Heidenreich is retiring as a engineer. -Mr. Alfonzo Graham PhD is retiring as a engineer. -Mr. Jennings Hansen has been an engineer for over a decade. -Gaetano Heidenreich has been a engineer for 14 years. -Forrest Abshire joins us as an manager on the Example project. -Ms. Avis Fisher PhD joins us as an engineer on the Example project. -Wendell Wunsch has been a engineer for 14 years. -Jana DuBuque has been a manager for 14 years. -Tate Padberg has been a engineer for 14 years. -Mr. Deondre Mosciski is a manager in the high tech industry. -Lavada Konopelski is retiring as a engineer. -Jane McClure has been an manager for over a decade. -Matt Shanahan IV is a engineer with Example Corp. -Ms. Eliane Schuppe has been an manager for over a decade. -Ila Vandervort is retiring as a engineer. -Our latest new employee, Ms. Lucienne Zieme DDS, has been a manager in the industry for 4 years. -Help me welcome our newest engineer, Sharon Dickens. -Vivienne Osinski is a manager. -Nichole Schaefer, an manager, will be presenting the award. -Walton Gorczany, an manager, will be presenting the award. -Brandy Herzog will be the new manager for the team. -Announcing engineer Meggie Doyle. -Sven Schimmel is a manager. -Our latest new employee, Ms. Shaina West III, has been a manager in the industry for 4 years. -Tatyana Wolf I is retiring as a engineer. -Mr. Braden Jacobson DDS is a engineer. -Mr. Dangelo Krajcik V joins us as an manager on the Example project. -Our latest new employee, Miguel Jenkins, has been a manager in the industry for 4 years. -Stan Roob, an manager, will be presenting the award. -Ms. Verdie Purdy has been a manager for 14 years. -Ms. Leatha Kulas will be the new manager for the team. -Announcing manager Alanna Senger. -Margarett Okuneva is a manager with Example Corp. -Cassie Wiegand is a engineer with Example Corp. -Ms. Fatima Bednar Jr. is retiring as a engineer. -Announcing engineer Ms. Aylin Larson. -Help me welcome our newest engineer, Ada Rippin. -Quinten Beahan is a engineer. -Modesta Kertzmann is a engineer in the high tech industry. -Help me welcome our newest manager, Retha Herzog. -Announcing manager Mr. Darryl Wyman DDS. -Ulises Kutch will be the new engineer for the team. -Mr. Jettie Thiel has been an manager for over a decade. -Theresia Schinner is a engineer in the high tech industry. -Our latest new employee, Taurean Lehner, has been a manager in the industry for 4 years. -Help me welcome our newest engineer, Darien Carter. -Anastasia Turner is a engineer. -Help me welcome our newest manager, Elbert Langosh. -Jordi Labadie is retiring as a manager. -Theodora Welch is a engineer in the high tech industry. -Ms. Ebony Johnson V joins us as an engineer on the Example project. -Jonathan Schimmel is a manager in the high tech industry. -Carole Maggio III, an engineer, will be presenting the award. -Kennedi King IV has been a manager for 14 years. -Myra Wehner has been an engineer for over a decade. -Jewel Rodriguez is retiring as a engineer. -Nick Kling is a manager. -Fred Kassulke has been an engineer for over a decade. -Mr. Elmore Quigley joins us as an manager on the Example project. -Announcing engineer Ms. Veronica McKenzie. -Our latest new employee, Maxine Wilderman, has been a engineer in the industry for 4 years. -Alice Klein has been a manager for 14 years. -Theo Fisher is a engineer in the high tech industry. -Help me welcome our newest engineer, Mr. Orlando Prohaska. -June Heller PhD is a engineer in the high tech industry. -Mr. Tyreek Ankunding MD has been a manager for 14 years. -Announcing engineer Stephon Glover IV. -Herminia Emmerich will be the new engineer for the team. -Mr. Hector Mante is a engineer in the high tech industry. -Announcing manager Zion Bartoletti DVM. -Santa Effertz joins us as an manager on the Example project. -Brody Nitzsche Sr. will be the new manager for the team. -Ms. Odessa Wuckert II is retiring as a engineer. -Frederik Ebert has been an manager for over a decade. -Clark Gulgowski, an engineer, will be presenting the award. -Ms. Wendy Reilly I is a manager with Example Corp. -Ms. Dominique Torphy has been a manager for 14 years. -Roderick Brown, an manager, will be presenting the award. -Mr. Jaiden Kemmer joins us as an engineer on the Example project. -Verda Deckow is a engineer. -Jaeden Tremblay will be the new engineer for the team. -Arjun Kirlin II has been an manager for over a decade. -Mr. Demario Haag II, an engineer, will be presenting the award. -Fredy Howell is a manager with Example Corp. -Jeffrey Veum will be the new manager for the team. -Jordy Spencer is a manager. -Mr. Verner Schaefer V has been an engineer for over a decade. -Prudence Luettgen has been an engineer for over a decade. -Earlene Lang, an manager, will be presenting the award. -Mr. Trevor Bailey Jr. joins us as an manager on the Example project. -Mr. Lenny Kemmer II, an manager, will be presenting the award. -Kiarra Bayer MD has been an manager for over a decade. -Mr. Taurean Bogisich has been a manager for 14 years. -Merlin Kuphal is a engineer. -Reina Labadie is a manager with Example Corp. -Our latest new employee, Marques Brakus DDS, has been a engineer in the industry for 4 years. -Lourdes Kutch, an manager, will be presenting the award. -Dejah Erdman, an engineer, will be presenting the award. -Kole Prohaska DDS has been an manager for over a decade. -Kaci Monahan is a engineer. -Mr. Cameron Howell has been an engineer for over a decade. -Mr. Rod Okuneva is a engineer in the high tech industry. -Help me welcome our newest manager, Stone McGlynn. -Johnnie Gutmann joins us as an manager on the Example project. -Ms. Aurelia Wyman IV is retiring as a manager. -Gabrielle DuBuque is retiring as a manager. -Laury Ryan is a engineer. -Ms. Camila Pouros II, an manager, will be presenting the award. -Beaulah Sporer is a manager in the high tech industry. -Mr. Keeley Kessler V is a manager in the high tech industry. -Katlyn O'Keefe is a engineer with Example Corp. -Mr. Webster Veum MD is a engineer in the high tech industry. -Ms. Estella Crona will be the new engineer for the team. -Toy Jaskolski is a engineer. -Lilla Wisozk is a engineer. -Help me welcome our newest engineer, Mr. Domingo Johnson. -Rose Swaniawski is a manager in the high tech industry. -Timmothy Johnson IV is a engineer with Example Corp. -Rosina McDermott MD will be the new engineer for the team. -Jonathan Runte is retiring as a engineer. -Announcing engineer Haley Heller. -Help me welcome our newest engineer, Katlynn Ritchie. -Toni Funk PhD is a engineer. -Eloy Cummerata, an manager, will be presenting the award. -Norma Gleason will be the new engineer for the team. -Jayde Greenholt will be the new engineer for the team. -Adele Spinka is a manager with Example Corp. -Our latest new employee, Tristian Walsh III, has been a engineer in the industry for 4 years. -Toni Jaskolski joins us as an engineer on the Example project. -Help me welcome our newest manager, Novella Beier. -Mr. Cortez Fay, an manager, will be presenting the award. -Jason Schuster is retiring as a manager. -Our latest new employee, Elias Davis, has been a manager in the industry for 4 years. -Brennan Mayert DDS is a manager. -Help me welcome our newest engineer, Jewel Renner Sr.. -Brad Steuber is a manager with Example Corp. -Announcing manager Darrin Boehm. -Hal Bergstrom is a engineer in the high tech industry. -Hubert Lebsack has been an engineer for over a decade. -Help me welcome our newest engineer, Torrance Schimmel MD. -Ms. Magdalen Stoltenberg has been a engineer for 14 years. -Vilma Emard will be the new engineer for the team. -Ms. Fanny Dibbert, an manager, will be presenting the award. -Mr. Lucio Wintheiser Sr. has been a manager for 14 years. -Cathy McLaughlin MD is retiring as a manager. -Murl Altenwerth is retiring as a engineer. -Holly Beer is a engineer in the high tech industry. -Mr. Lucio Witting joins us as an manager on the Example project. -Marco McKenzie, an engineer, will be presenting the award. -Ms. Madie Marvin is a manager with Example Corp. -Ms. Renee Koepp will be the new engineer for the team. -Perry Roberts has been an engineer for over a decade. -Dawson Kozey I has been a engineer for 14 years. -Ana Blick has been an engineer for over a decade. -Wilma Huel is a manager with Example Corp. -Ms. Cordie Nitzsche has been an engineer for over a decade. -Marcelino Hansen is a manager in the high tech industry. -Help me welcome our newest engineer, Ms. Otha Stamm. -Stefan Hahn III is a manager in the high tech industry. -Amanda Hudson has been an engineer for over a decade. -Deshaun Langworth, an manager, will be presenting the award. -Mr. Hilario Kuhn has been a engineer for 14 years. -Montserrat Wisoky has been an engineer for over a decade. -Lily Braun has been an engineer for over a decade. -Ms. Nicolette Windler I is a engineer. -Caesar Gorczany joins us as an engineer on the Example project. -Nils Sipes is a engineer with Example Corp. -Help me welcome our newest manager, Kara Cormier. -Cullen Klocko has been a engineer for 14 years. -Mr. Skylar Durgan II is retiring as a engineer. -Help me welcome our newest manager, Alberto West. -Gwen Veum MD will be the new manager for the team. -Frederick McDermott MD is a engineer in the high tech industry. -Mr. Hudson Skiles will be the new manager for the team. -Ruth Schaden has been a engineer for 14 years. -Announcing engineer Alayna Raynor. -Ms. Eryn Olson is a engineer with Example Corp. -Announcing manager Alexa Shanahan PhD. -Camylle Rowe has been an engineer for over a decade. -Isabella Emmerich is a engineer with Example Corp. -Our latest new employee, Annetta Gutmann III, has been a engineer in the industry for 4 years. -Help me welcome our newest engineer, Kristy Kunde. -Mr. Gardner Fahey IV is a manager in the high tech industry. -Seamus Hagenes is a engineer. -Mr. Gene Marks is a engineer with Example Corp. -Hilario Block is retiring as a engineer. -Ms. Annabel Keeling will be the new manager for the team. -Ms. Mckayla Sipes II will be the new engineer for the team. -Henriette Bogisich has been an engineer for over a decade. -Tess Gusikowski DDS is retiring as a engineer. -Mr. Anthony Kertzmann DVM is a manager. -Alysha Okuneva joins us as an engineer on the Example project. -Help me welcome our newest manager, Orlo Ebert. -Eulalia Kshlerin has been a engineer for 14 years. -Ms. Zelda Olson DDS has been a engineer for 14 years. -Ms. Sarah Mitchell MD is retiring as a manager. -Our latest new employee, Ms. Ciara Jakubowski Jr., has been a engineer in the industry for 4 years. -Help me welcome our newest engineer, Mr. Wilhelm Lubowitz DVM. -Aisha Barton will be the new manager for the team. -Nayeli Kessler PhD is a engineer. -Alexandre Reilly has been a manager for 14 years. -Announcing engineer Alexys Doyle. -Shayne Keebler V will be the new engineer for the team. -Kristoffer Rohan is a engineer with Example Corp. -Ms. Chaya Feest has been a engineer for 14 years. -Ms. Kaycee Paucek DDS has been a manager for 14 years. -Ima Fritsch will be the new engineer for the team. -Ms. Kailee O'Reilly is a engineer in the high tech industry. -Emilia Kerluke Sr. is a manager. -Our latest new employee, Keyshawn Stark, has been a manager in the industry for 4 years. -Lila Jenkins has been an engineer for over a decade. -Magdalen Hyatt, an manager, will be presenting the award. -Ms. Danyka Bernier has been an engineer for over a decade. -Matteo Jaskolski will be the new engineer for the team. -Laverna Simonis joins us as an manager on the Example project. -Filiberto Satterfield IV is a manager in the high tech industry. -Margot Schowalter, an manager, will be presenting the award. -Ms. Winnifred Leannon III is a engineer. -Talon Howell has been an manager for over a decade. -Leo Zboncak is a engineer in the high tech industry. -Pierre Nikolaus is a engineer in the high tech industry. -Dana Carter has been a manager for 14 years. -Sofia Hoppe is a engineer. -Lupe Braun has been an manager for over a decade. -Our latest new employee, Brayan Mosciski, has been a engineer in the industry for 4 years. -Ferne Mraz will be the new engineer for the team. -Announcing manager Frank Kautzer. -Announcing manager Mr. Jadon Goyette. -Ms. Alisa Lang PhD, an manager, will be presenting the award. -Announcing engineer Mr. Jamaal Roob. -Ms. Tabitha Towne V has been a engineer for 14 years. -Emanuel Goyette has been an manager for over a decade. -Araceli Howe is a engineer with Example Corp. -Bonnie DuBuque joins us as an manager on the Example project. -Our latest new employee, Arch Wintheiser, has been a manager in the industry for 4 years. -Solon Turcotte is a engineer. -General Glover is a manager in the high tech industry. -Krista Kautzer will be the new manager for the team. -Help me welcome our newest engineer, Roosevelt Trantow. -Our latest new employee, Luisa Ratke DDS, has been a engineer in the industry for 4 years. -Roman McDermott has been an engineer for over a decade. -Help me welcome our newest engineer, Lindsey Breitenberg. -Mr. Warren Crooks is a engineer with Example Corp. -Announcing engineer Ms. Litzy Reichel. -Announcing manager Mr. Jeramie Runolfsdottir PhD. -Gavin Morissette Sr. has been a manager for 14 years. -Minnie Goldner is a manager with Example Corp. -Clay Smith II is a manager with Example Corp. -Daphne Schimmel, an manager, will be presenting the award. -Corine Berge Sr. will be the new manager for the team. -Ms. Adeline Heller II is a manager in the high tech industry. -Oran Lakin joins us as an manager on the Example project. -Our latest new employee, Velma Monahan II, has been a engineer in the industry for 4 years. +Miller Zulauf, an manager, will be presenting the award. +Mazie Gottlieb has been an manager for over a decade. +Johnathon Shields Sr. is a manager in the high tech industry. +Paula Windler I has been a manager for 14 years. +Kaley Gleichner V is a engineer with Example Corp. +Mr. Roosevelt Welch MD is a engineer in the high tech industry. +Help me welcome our newest engineer, Ms. Shirley Purdy V. +Rolando Klein has been a engineer for 14 years. +Our latest new employee, Ms. Sandy Osinski, has been a manager in the industry for 4 years. +Our latest new employee, Mr. Kristopher Bauch II, has been a manager in the industry for 4 years. +Ali Gleason is a engineer. +Our latest new employee, Americo Rempel, has been a engineer in the industry for 4 years. +Gladys Marvin DVM is a manager with Example Corp. +Danial Koch, an manager, will be presenting the award. +Mr. Leopold Bergnaum is a manager with Example Corp. +Davonte Larson will be the new manager for the team. +Announcing engineer Ms. Tiara Collier Jr.. +Jessie Price joins us as an engineer on the Example project. +Kathleen Kihn is retiring as a engineer. +Mr. Ruben Haag is a manager in the high tech industry. +Maegan Quitzon will be the new manager for the team. +Our latest new employee, Clifton McKenzie, has been a manager in the industry for 4 years. +Lily Collins joins us as an engineer on the Example project. +Janie Hartmann is retiring as a engineer. +Ms. Alexandra Torphy IV will be the new manager for the team. +Our latest new employee, Rosemarie Gerlach, has been a engineer in the industry for 4 years. +Emilio Schultz, an engineer, will be presenting the award. +Adalberto Reilly V joins us as an engineer on the Example project. +Jess Schulist is a manager with Example Corp. +Help me welcome our newest manager, Bianka Swaniawski. +Mr. Oliver Lowe is a engineer. +Winifred Mayert has been a manager for 14 years. +Lamar Bahringer has been an engineer for over a decade. +Celia Hamill is a manager with Example Corp. +Ms. Shanon Murphy IV joins us as an engineer on the Example project. +Mr. Doris Gislason IV is a manager with Example Corp. +Hulda Bechtelar has been a engineer for 14 years. +Raina Pfeffer IV has been an engineer for over a decade. +Lilyan Gulgowski will be the new engineer for the team. +Mr. Gilbert Ziemann is a manager in the high tech industry. +Our latest new employee, Rebeca Spencer, has been a engineer in the industry for 4 years. +Dion Goodwin is a manager with Example Corp. +Ms. Shemar Hand is a manager with Example Corp. +Announcing manager Mr. Adrien Marquardt DDS. +Ladarius Veum is a manager. +Josefina Ernser is retiring as a engineer. +Mr. Geovanny Schowalter DDS, an manager, will be presenting the award. +Lera Rohan is a manager. +Fredy Bogisich joins us as an manager on the Example project. +Vada Jones is a manager with Example Corp. +Alec Waelchi is a manager. +Violet Schneider will be the new engineer for the team. +Nestor Von has been a engineer for 14 years. +Ms. Zora Ortiz DVM joins us as an manager on the Example project. +Help me welcome our newest manager, Mortimer Borer. +Adam Rolfson is a manager with Example Corp. +Willie Cronin has been an engineer for over a decade. +Tianna Cole has been an engineer for over a decade. +Eliza McGlynn will be the new engineer for the team. +Announcing manager Fidel Heathcote. +Brendan Towne joins us as an manager on the Example project. +Announcing manager Dean Lowe. +Brycen Ortiz is a manager with Example Corp. +Ford Kertzmann has been a engineer for 14 years. +Alfredo Franecki is retiring as a engineer. +Monica Pouros Jr. will be the new manager for the team. +Ms. Assunta Fay Sr. has been an manager for over a decade. +Help me welcome our newest manager, Noah Lockman Jr.. +Lonny Ebert has been a engineer for 14 years. +Briana Howe, an manager, will be presenting the award. +Ms. Vivienne Kuvalis IV is a engineer. +Ms. Gracie Hilpert PhD is retiring as a manager. +Help me welcome our newest manager, Thea Cronin. +Help me welcome our newest engineer, Elenora Oberbrunner I. +Ms. Rebecca Bergnaum is retiring as a manager. +Hudson Lebsack will be the new manager for the team. +Sigurd Abbott joins us as an manager on the Example project. +Kennith Wiegand V has been an manager for over a decade. +Help me welcome our newest manager, Dalton Carter. +Raegan Balistreri, an engineer, will be presenting the award. +Our latest new employee, Brandy Cronin, has been a engineer in the industry for 4 years. +Ms. Adella Runolfsdottir DDS is a engineer. +Robin Walsh, an engineer, will be presenting the award. +Emmanuelle Rempel is a engineer in the high tech industry. +Our latest new employee, Mr. Jan Ullrich DVM, has been a engineer in the industry for 4 years. +Help me welcome our newest engineer, Stefan Eichmann. +Giles Keeling is a manager in the high tech industry. +Help me welcome our newest manager, Bell O'Reilly. +Help me welcome our newest manager, Molly Grant. +Karlee Anderson is a manager in the high tech industry. +Jordyn Heller is retiring as a engineer. +Our latest new employee, Eleonore Dibbert Sr., has been a engineer in the industry for 4 years. +Efrain Borer I is a manager with Example Corp. +Ms. Alisha Wiza is a engineer in the high tech industry. +David Haag joins us as an manager on the Example project. +Ms. Rebecca Schmeler has been an manager for over a decade. +Our latest new employee, Ebba Legros, has been a manager in the industry for 4 years. +Assunta McGlynn will be the new manager for the team. +Help me welcome our newest engineer, Joelle Heller II. +Rasheed Considine is a engineer in the high tech industry. +Mr. Jabari Borer is a engineer. +Our latest new employee, Mr. Americo O'Conner, has been a engineer in the industry for 4 years. +Our latest new employee, Mr. Johnny Kautzer DDS, has been a manager in the industry for 4 years. +Beverly Schimmel is a manager in the high tech industry. +Ms. Sarina Kuhn DDS is a engineer with Example Corp. +Eusebio Kertzmann II, an engineer, will be presenting the award. +Hilton O'Keefe will be the new engineer for the team. +Reina Weissnat is a manager. +Hassie Kling will be the new manager for the team. +Lera Gleason has been a engineer for 14 years. +Waldo Deckow is retiring as a manager. +Help me welcome our newest manager, Mr. Norris Kling. +Ms. Annabel Nikolaus, an manager, will be presenting the award. +Help me welcome our newest manager, Cheyanne Hilll. +Gage Jacobs, an manager, will be presenting the award. +Cassidy Stokes joins us as an manager on the Example project. +Georgianna Jacobs is a engineer with Example Corp. +Mr. Ubaldo Cormier joins us as an engineer on the Example project. +Laurie Berge, an manager, will be presenting the award. +Mr. Karl Stehr Jr. is retiring as a manager. +Mr. Jaquan Gibson joins us as an engineer on the Example project. +Delores Stiedemann, an engineer, will be presenting the award. +Anabelle Yundt is a manager in the high tech industry. +Gaston Bergstrom MD has been an engineer for over a decade. +Verona Halvorson has been an engineer for over a decade. +Ms. Bridie Thompson V has been a manager for 14 years. +Announcing manager Albertha Tremblay. +Courtney Becker joins us as an manager on the Example project. +Bessie Homenick is retiring as a manager. +Lilian Osinski is a engineer with Example Corp. +Bertrand Altenwerth has been a manager for 14 years. +Cruz Gottlieb is a engineer with Example Corp. +Willy Runte joins us as an manager on the Example project. +Ms. Estelle Carter will be the new manager for the team. +Arnoldo Emard is a manager. +Our latest new employee, Brenna Lockman, has been a engineer in the industry for 4 years. +Kelly Bergnaum joins us as an manager on the Example project. +Adah Labadie is a manager. +Nichole Koepp has been a manager for 14 years. +Help me welcome our newest engineer, Jettie Jacobs. +Kellie Brekke V is retiring as a manager. +Nya Russel IV is a engineer. +Rowan Kling is a engineer with Example Corp. +Help me welcome our newest engineer, Dariana Oberbrunner V. +Angelo Altenwerth I joins us as an engineer on the Example project. +Britney Herman is retiring as a manager. +Abigayle Reichel is a engineer in the high tech industry. +Ms. Miracle Grady IV is a manager in the high tech industry. +Ms. Alison Bartoletti IV joins us as an manager on the Example project. +Laney Nitzsche is a engineer with Example Corp. +Laura Terry PhD is a engineer. +Breanne Koepp has been a engineer for 14 years. +Announcing engineer Ines Medhurst. +Theodore Stokes is a manager. +Ms. Yasmine Schulist, an engineer, will be presenting the award. +Help me welcome our newest engineer, Adolfo O'Reilly. +Kaelyn Schaden joins us as an manager on the Example project. +Jorge Bergnaum has been a engineer for 14 years. +Ignacio Wyman joins us as an engineer on the Example project. +Dannie Will is a manager in the high tech industry. +Margaretta Abbott will be the new engineer for the team. +Our latest new employee, Briana Murray PhD, has been a engineer in the industry for 4 years. +Our latest new employee, Brady Rath, has been a engineer in the industry for 4 years. +Rahsaan Adams joins us as an manager on the Example project. +Mr. Hayley Dicki will be the new engineer for the team. +Colton Pouros, an engineer, will be presenting the award. +Vida Schultz joins us as an engineer on the Example project. +Announcing manager Alexanne Turcotte. +Reba Stroman is a manager with Example Corp. +Paxton O'Connell MD, an manager, will be presenting the award. +Don Lesch joins us as an engineer on the Example project. +Help me welcome our newest engineer, Mr. Carter Von IV. +Help me welcome our newest manager, Candida Boyer. +Mr. Raymond Krajcik DVM is a engineer with Example Corp. +Markus Waelchi has been a engineer for 14 years. +Malachi Cummerata has been an engineer for over a decade. +Mr. Edmond Dietrich IV has been a manager for 14 years. +Lenora Reynolds is a engineer in the high tech industry. +Zoie Kiehn is retiring as a engineer. +Mr. Mason Lang II is a manager with Example Corp. +Virginia Reilly has been an engineer for over a decade. +Claude Emmerich, an manager, will be presenting the award. +Sebastian Prosacco has been a manager for 14 years. +Mr. Dashawn O'Hara, an manager, will be presenting the award. +Emmy Turcotte III joins us as an engineer on the Example project. +Sincere Legros joins us as an manager on the Example project. +Help me welcome our newest engineer, Mauricio Reilly. +Ms. Kimberly Bogan I is a engineer in the high tech industry. +Ms. Cassandre Murphy PhD has been a engineer for 14 years. +Kaycee Kshlerin I is a engineer in the high tech industry. +Ms. Cheyanne Rodriguez PhD is a engineer with Example Corp. +Announcing manager Gayle Wiza. +Ms. Desiree Metz is retiring as a engineer. +Our latest new employee, Hettie Beier MD, has been a engineer in the industry for 4 years. +Shakira Ledner is a manager. +Forrest Ullrich will be the new engineer for the team. +Help me welcome our newest manager, Alysha Wolff III. +Mr. Lorenza Okuneva DVM is a engineer in the high tech industry. +Nasir Walsh will be the new manager for the team. +Jeanette Rogahn is a engineer in the high tech industry. +Gilda Funk I, an manager, will be presenting the award. +Julius Gusikowski is a engineer. +Help me welcome our newest engineer, Agnes Schuster. +Our latest new employee, Delphine Thompson, has been a engineer in the industry for 4 years. +Tressa Nolan joins us as an engineer on the Example project. +Leatha Reilly I is a manager in the high tech industry. +Announcing engineer Mr. Jamar Mueller. +Announcing manager Kyleigh Franecki. +Our latest new employee, Cornell Bashirian MD, has been a manager in the industry for 4 years. +Help me welcome our newest manager, Ramiro Bogan. +Robyn McKenzie will be the new manager for the team. +Our latest new employee, Destini Rippin, has been a manager in the industry for 4 years. +Eladio Mraz joins us as an manager on the Example project. +Jayda Moore III is a manager in the high tech industry. +Alivia Koelpin is retiring as a engineer. +Alva Muller is a engineer with Example Corp. +Ms. Karianne Dibbert Sr. is a manager with Example Corp. +Hazle Langworth is retiring as a manager. +Geraldine Koelpin DVM, an manager, will be presenting the award. +Margarett Swaniawski is retiring as a manager. +Major Mosciski has been a manager for 14 years. +Cara Kuphal is a manager with Example Corp. +Announcing engineer Deshawn Fisher. +Mr. Leopoldo VonRueden DDS, an manager, will be presenting the award. +Horacio O'Connell is a manager in the high tech industry. +Salvatore Hermann will be the new engineer for the team. +Dessie Franecki is a manager in the high tech industry. +Our latest new employee, Mr. Torrey Macejkovic, has been a manager in the industry for 4 years. +Help me welcome our newest engineer, Wendell Boyer. +Our latest new employee, Providenci Heidenreich, has been a engineer in the industry for 4 years. +Announcing engineer Mr. Dorthy Williamson DDS. +Announcing manager Ena Green DDS. +Ms. Aaliyah Bernhard is retiring as a manager. +Help me welcome our newest engineer, Grace Quitzon. +Germaine VonRueden is a manager. +Lionel Goldner will be the new manager for the team. +Pearline Osinski is retiring as a engineer. +Claud Mayert is a manager. +Palma Grady joins us as an engineer on the Example project. +Andre Conn has been a manager for 14 years. +Gerardo Wilderman is a manager in the high tech industry. +Our latest new employee, Ms. Lydia Moore, has been a engineer in the industry for 4 years. +Walter Kub has been a engineer for 14 years. +Elbert Gottlieb, an engineer, will be presenting the award. +Announcing engineer Arnoldo Quitzon. +Macy Conroy joins us as an engineer on the Example project. +Cecil Metz will be the new manager for the team. +Help me welcome our newest engineer, Ms. Loyce Torphy MD. +Rylan Wyman PhD has been a manager for 14 years. +Announcing manager Clair Luettgen DDS. +Mr. Rickey Lehner is a engineer. +Kian Walter is a engineer. +Ms. Coralie Carroll II is a manager. +Ms. Leann Gutkowski Sr. has been a engineer for 14 years. +Presley Hirthe has been a manager for 14 years. +Leola King has been a manager for 14 years. +Maribel Mueller has been an manager for over a decade. +Dean Hilll is a engineer in the high tech industry. +Rosella Green, an manager, will be presenting the award. +Clementine Klein is retiring as a engineer. +Mr. Riley Roob V will be the new manager for the team. +Newell Beier will be the new manager for the team. +Orval Rodriguez joins us as an manager on the Example project. +Announcing manager Ms. Neha Kerluke. +Mr. Roger Farrell V joins us as an engineer on the Example project. +Charlie Brakus is a manager with Example Corp. +Judge Nitzsche is retiring as a engineer. +Mr. Triston Jakubowski V is a engineer. +Announcing engineer Ms. Rhoda Luettgen. +Felicia Roob is a manager. +Our latest new employee, Wendy Gulgowski, has been a engineer in the industry for 4 years. +Announcing manager Ms. Destiny Stoltenberg. +Announcing engineer Mr. Jaylen Metz. +Ms. Annamarie Heathcote is a manager. +Cayla Heaney is a engineer with Example Corp. +Eleanora Cruickshank has been a manager for 14 years. +Susie Schowalter is retiring as a manager. +Ms. Clarabelle Reichert Sr. joins us as an engineer on the Example project. +Whitney Kuhn is retiring as a manager. +Mr. Dangelo Dibbert DDS joins us as an manager on the Example project. +Mr. Jess Willms II joins us as an engineer on the Example project. +Madisyn Waelchi PhD has been an engineer for over a decade. +Ms. Sister Tillman is a engineer in the high tech industry. +Fern Weimann DVM is retiring as a manager. +Dejah Kunze II will be the new manager for the team. +Mr. Rahul Lubowitz, an manager, will be presenting the award. +Antonia Zulauf DDS is retiring as a manager. +Ms. Valentina Johnson DDS, an manager, will be presenting the award. +Shaylee Sauer is a manager. +Ms. Shanie Ruecker is a engineer in the high tech industry. +Mandy Boehm III is retiring as a manager. +Greg Hintz has been a manager for 14 years. +Our latest new employee, Vesta Lockman, has been a engineer in the industry for 4 years. +Announcing manager Lester Bahringer. +Our latest new employee, Kianna McGlynn, has been a manager in the industry for 4 years. +Our latest new employee, Matteo Turner, has been a manager in the industry for 4 years. +Lexus Gorczany has been an engineer for over a decade. +Otilia Schumm has been an engineer for over a decade. +Ms. Gabriella Boyle is a manager in the high tech industry. +Announcing engineer Edward Block. +Keanu Russel Jr. joins us as an manager on the Example project. +Raquel Schroeder has been an manager for over a decade. +Help me welcome our newest engineer, Coralie Boyer. +Ms. Stefanie Ernser is a manager with Example Corp. +Ms. Dorothy Reynolds is a manager with Example Corp. +Riley Little MD will be the new engineer for the team. +Our latest new employee, Mr. Bennie Champlin Jr., has been a manager in the industry for 4 years. +Ms. Ettie Koelpin DVM will be the new engineer for the team. +Saige Schaefer joins us as an engineer on the Example project. +Kyra Barrows, an manager, will be presenting the award. +Felton Gerhold PhD is a manager with Example Corp. +Mr. Freeman Abshire PhD is a engineer with Example Corp. +Terrence O'Conner has been a manager for 14 years. +Ms. Clarabelle Gibson DDS is a engineer with Example Corp. +Nikko Nader is a manager with Example Corp. +Mr. Arturo Moore is retiring as a engineer. +Our latest new employee, Wayne Abshire, has been a engineer in the industry for 4 years. +Help me welcome our newest manager, Sydnee Schaden. +Help me welcome our newest engineer, Matteo Robel IV. +Our latest new employee, Maverick Wyman, has been a manager in the industry for 4 years. +Our latest new employee, Mr. Westley Predovic V, has been a manager in the industry for 4 years. +Our latest new employee, Selina Donnelly, has been a manager in the industry for 4 years. +Mr. Alfonzo Von I is a engineer with Example Corp. +Doug Ruecker is a engineer. +Denis Yost joins us as an manager on the Example project. +Our latest new employee, Cyril Robel Sr., has been a engineer in the industry for 4 years. +Announcing engineer Ford Jacobi. +Dillan Grimes is a engineer. +Our latest new employee, Ms. Cecelia Kiehn PhD, has been a engineer in the industry for 4 years. +Rachael Kshlerin is a engineer with Example Corp. +Raven Kihn is retiring as a manager. +Help me welcome our newest engineer, Ms. Eileen Friesen. +Announcing manager Mr. Jett Bernhard. +Haylie Spinka has been an engineer for over a decade. +Kailey Towne Jr. has been a manager for 14 years. +Our latest new employee, Mr. Jed Rutherford, has been a manager in the industry for 4 years. +Angel Schneider is a manager. +Help me welcome our newest manager, Emma Pacocha. +Help me welcome our newest manager, Jeremie Rogahn. +Porter Herman is a engineer. +Priscilla Stanton joins us as an engineer on the Example project. +Help me welcome our newest manager, Aurelio Turner. +Melvin McLaughlin is retiring as a engineer. +Help me welcome our newest manager, Brandy Friesen. +Angelo Pfeffer has been a manager for 14 years. +Our latest new employee, Mr. Jerrold Prohaska, has been a engineer in the industry for 4 years. +Margret Turcotte has been a engineer for 14 years. +Help me welcome our newest engineer, Kathryne Schaefer II. +Kamille Blanda is a engineer with Example Corp. +Addie Tremblay, an manager, will be presenting the award. +Help me welcome our newest manager, Cathrine Bernier. +Jesus Bashirian is a engineer in the high tech industry. +Dillon Hamill is retiring as a manager. +Granville Lemke is retiring as a engineer. +Vito Greenholt III is a engineer with Example Corp. +Evie Kunde is a manager with Example Corp. +Lela Renner joins us as an manager on the Example project. +Brendon Reynolds will be the new manager for the team. +Mr. Brandt Larson joins us as an engineer on the Example project. +Mr. Arthur Brakus Jr. joins us as an manager on the Example project. +Haylie Gerhold will be the new manager for the team. +Help me welcome our newest engineer, Emile Crist. +Mr. Kale Schamberger DVM has been an engineer for over a decade. +Ms. Oceane Kerluke II will be the new manager for the team. +Matteo Auer has been a manager for 14 years. +Announcing engineer Audie Kreiger IV. +Mr. Niko Yost Jr. is retiring as a engineer. +Sage Bruen will be the new engineer for the team. +Our latest new employee, Francisco Feeney, has been a engineer in the industry for 4 years. +Jared Koelpin, an manager, will be presenting the award. +Our latest new employee, Claud Lesch, has been a engineer in the industry for 4 years. +Announcing engineer Sherman Okuneva Jr.. +Help me welcome our newest engineer, Jeramy Strosin. +Amya Schumm is a engineer with Example Corp. +Our latest new employee, Tracey Wunsch, has been a manager in the industry for 4 years. +Krystal Kunze is retiring as a engineer. +Talon Wyman V, an engineer, will be presenting the award. +Brice Mills has been a manager for 14 years. +Scottie Bergstrom has been a manager for 14 years. +Ms. Shanny Beatty is a manager with Example Corp. +Shannon Witting is a manager. +Announcing manager Taya Fahey V. +Our latest new employee, Ms. Lauriane Sanford, has been a manager in the industry for 4 years. +Emilia Lesch has been an manager for over a decade. +Randal Predovic is a engineer in the high tech industry. +Piper Heidenreich I is a engineer with Example Corp. +Jakob Kassulke, an manager, will be presenting the award. +Wilma Satterfield is retiring as a engineer. +Announcing manager Dahlia Paucek. +Peyton Will Jr. has been a manager for 14 years. +Reginald Durgan Sr. has been an engineer for over a decade. +Miracle Sauer will be the new manager for the team. +Dewayne Wintheiser will be the new manager for the team. +Announcing manager Emelia Langworth. +Ms. Elissa Reichel is retiring as a manager. +Gillian Ledner, an engineer, will be presenting the award. +Announcing engineer Mr. Morgan Bernier IV. +Mr. Brooks Prosacco, an engineer, will be presenting the award. +Mr. Junius Hintz is a engineer in the high tech industry. +Astrid Heathcote DVM is a manager. +Our latest new employee, Ms. Brooklyn Parker, has been a manager in the industry for 4 years. +Help me welcome our newest manager, Domingo Heller. +Mr. Jayde Dooley Sr. has been an engineer for over a decade. +Jada Carroll Sr. joins us as an engineer on the Example project. +Enoch Hammes has been an manager for over a decade. +Our latest new employee, Ms. Mckayla Jast, has been a engineer in the industry for 4 years. +Ulices Wunsch has been an manager for over a decade. +Ms. Jacklyn Bayer I is a engineer. +Our latest new employee, Adolph Kshlerin, has been a engineer in the industry for 4 years. +Magnolia Baumbach PhD has been an manager for over a decade. +Noelia Windler is a engineer in the high tech industry. +Jaeden Hand is a manager. +Heather Wilderman joins us as an manager on the Example project. +Daphne Hamill is retiring as a manager. +Octavia Durgan will be the new manager for the team. +Anibal Kerluke is retiring as a manager. +Mr. Orval Hammes Jr. is retiring as a manager. +Kristin Conn is a manager. +Magdalen Dietrich IV is retiring as a manager. +Ms. Haylie Rosenbaum MD is a engineer in the high tech industry. +Help me welcome our newest engineer, Elenor Howe. +Help me welcome our newest engineer, Yvonne Roberts. +Oda Wisoky has been an manager for over a decade. +Help me welcome our newest engineer, Ms. Aryanna Grimes Jr.. +Jocelyn Wilkinson joins us as an manager on the Example project. +Announcing engineer Neil Hirthe. +Aric Heidenreich has been a manager for 14 years. +Help me welcome our newest engineer, Ms. Julia Carter. +Darlene Pacocha is a manager. +Kathryne Hoeger is a engineer. +Alysson Carter V is a engineer with Example Corp. +Mr. Nicolas Blick V is a engineer with Example Corp. +Elaina Von, an engineer, will be presenting the award. +Ms. Ellen Mayer IV is a manager with Example Corp. +Our latest new employee, Darryl Casper, has been a engineer in the industry for 4 years. +Announcing engineer Mr. Kadin Metz V. +Ms. Electa Quitzon Sr. joins us as an manager on the Example project. +Mr. Hiram Howe MD is a manager in the high tech industry. +Ole Marvin joins us as an manager on the Example project. +Our latest new employee, Claudia Rice, has been a manager in the industry for 4 years. +Forest Swaniawski is a manager in the high tech industry. +Roslyn Dickens has been a engineer for 14 years. +Ms. Janis Wuckert V is a manager in the high tech industry. +Ms. Meda Jerde DVM is a engineer. +Dolores Schiller II has been a engineer for 14 years. +Mr. Enid Keeling is a engineer with Example Corp. +Our latest new employee, Burnice Bosco DDS, has been a engineer in the industry for 4 years. +Katheryn Becker, an manager, will be presenting the award. +Samantha Schmidt will be the new engineer for the team. +Mr. Royce Bashirian is a engineer. +Mitchell Parker is a engineer. +Ms. Eryn Bins is a engineer. +Announcing engineer Sven Harvey. +Help me welcome our newest manager, Mr. Melany Dibbert. +Announcing manager Ms. Ardella Sipes Jr.. +Joy Reynolds will be the new manager for the team. +Help me welcome our newest manager, Lyda Quitzon. +Sophie Gusikowski, an engineer, will be presenting the award. +Ashly Jacobi will be the new engineer for the team. +Our latest new employee, Haylie Maggio, has been a engineer in the industry for 4 years. +Deshaun Walsh, an engineer, will be presenting the award. +Mr. Malachi Gibson is a manager in the high tech industry. +Edna Fadel will be the new manager for the team. +Ms. Eula Bogan will be the new manager for the team. +Mr. Javier Kemmer DDS joins us as an manager on the Example project. +Nicole Conroy will be the new manager for the team. +Cordie Wunsch V is a manager. +Pablo Jones will be the new engineer for the team. +Ms. Jolie Schuppe DDS is a manager in the high tech industry. +Amya Swift, an engineer, will be presenting the award. +Alessandro Bartoletti will be the new manager for the team. +Our latest new employee, Sonya Schmitt, has been a manager in the industry for 4 years. +Ava D'Amore has been an engineer for over a decade. +Raphaelle Murphy will be the new manager for the team. +Seth King DVM has been an manager for over a decade. +Mr. Wilber Schaden III will be the new manager for the team. +Brian White is a engineer. +Sage Parker has been a manager for 14 years. +Katharina Wiegand is a manager. +Eric Weimann, an engineer, will be presenting the award. +Marcellus Jakubowski has been an engineer for over a decade. +Angeline Pouros has been an manager for over a decade. +Samara Veum will be the new engineer for the team. +Alberto Zemlak MD has been an engineer for over a decade. +Liza Nolan III, an manager, will be presenting the award. +Guy Turcotte is a manager. +Danyka Stamm MD is a manager with Example Corp. +Alverta Dach is retiring as a engineer. +Maybelline Kihn is a engineer with Example Corp. +Carlo Ratke has been a manager for 14 years. +Margaretta Von is a engineer. +Pinkie Green is a engineer in the high tech industry. +Mr. Elvis Gulgowski, an manager, will be presenting the award. +Chanel Harber joins us as an engineer on the Example project. +Carroll Gutmann will be the new manager for the team. +Emma Stehr is a manager with Example Corp. +Rusty Gerhold will be the new manager for the team. +Help me welcome our newest engineer, Nella Graham. +Carolyne Rippin DDS is retiring as a engineer. +Our latest new employee, Conor Rowe, has been a manager in the industry for 4 years. +Gilda Mayert II has been a engineer for 14 years. +Our latest new employee, Mr. Cale Ortiz Jr., has been a engineer in the industry for 4 years. +Morgan Parisian IV will be the new engineer for the team. +Help me welcome our newest engineer, Carolanne Russel. +Grayson VonRueden DVM joins us as an engineer on the Example project. +Ms. Jazmyne Larkin I will be the new manager for the team. +Courtney Hirthe is a engineer with Example Corp. +Announcing manager Maximus Shanahan MD. +Felipa Wiegand has been a engineer for 14 years. +Ms. Madalyn Corwin III is a engineer. +Eldridge West joins us as an engineer on the Example project. +Ms. Cleta Renner is a manager with Example Corp. +Katelynn Erdman will be the new manager for the team. +Scotty Cassin is a manager in the high tech industry. +Melyna Kertzmann is a engineer. +Mariam McCullough joins us as an engineer on the Example project. +Demarcus Donnelly V is retiring as a engineer. +Help me welcome our newest manager, Mr. Ansley Bernhard Sr.. +Chad Ondricka V has been an engineer for over a decade. +Liliana Hessel is retiring as a manager. +Ransom Crist has been an manager for over a decade. +Aisha Boehm has been an engineer for over a decade. +Adaline O'Reilly PhD is retiring as a engineer. +Announcing manager Dayna Hoppe. +Help me welcome our newest engineer, Mr. Lee Kreiger Jr.. +Help me welcome our newest manager, Payton Cummerata. +Colten Luettgen joins us as an manager on the Example project. +Ms. Nakia Johns has been a engineer for 14 years. +Freida Strosin has been an manager for over a decade. +Brad Bednar has been an engineer for over a decade. +Antone McLaughlin has been an manager for over a decade. +Izabella Berge is a engineer with Example Corp. +Carole Lowe V is a engineer in the high tech industry. +Bud Leuschke is a engineer in the high tech industry. +Archibald Hilpert joins us as an manager on the Example project. +Fernando Ebert joins us as an manager on the Example project. +Jeramy Abshire is a engineer with Example Corp. +Help me welcome our newest engineer, Jannie Weber. +Announcing engineer Mr. Mason Wolff MD. +Nelle Kutch III, an engineer, will be presenting the award. +Help me welcome our newest engineer, Keshawn Sporer. +Caterina Kunze PhD has been an engineer for over a decade. +Announcing manager Dashawn Block. +Shania Witting is retiring as a manager. +Amos Stamm is a engineer. +Announcing manager Alexandra Reichel Jr.. +Mr. Edwardo Schneider V joins us as an manager on the Example project. +Announcing manager Ms. Brigitte Waelchi. +Jeanne Keeling is a engineer in the high tech industry. +Forest Von has been a manager for 14 years. +Mr. Casimer Jast joins us as an manager on the Example project. +Ms. Ebba Conn has been a manager for 14 years. +Jany Yost is a engineer in the high tech industry. +Announcing manager Hassie Mosciski. +Mr. Zion Rosenbaum Sr. has been an manager for over a decade. +Ignacio Thompson MD is retiring as a manager. +Jeanette Conroy IV is retiring as a manager. +Garrick Graham is a manager in the high tech industry. +Misael Kuvalis has been a manager for 14 years. +Helene Dickinson III will be the new engineer for the team. +Help me welcome our newest manager, Reilly Murazik. +Our latest new employee, Jadon Ullrich, has been a engineer in the industry for 4 years. +Ms. Audra Borer has been a manager for 14 years. +Earnestine Sauer joins us as an engineer on the Example project. +Myrl Gerlach is a engineer. +Mr. Garret Krajcik is a engineer with Example Corp. +Help me welcome our newest manager, Emmet Hayes. +Ahmed Donnelly Jr. is a engineer. +Mr. Alvah Schimmel joins us as an manager on the Example project. +Ms. Marilyne Harris I has been a engineer for 14 years. +Ms. Casandra Zulauf has been an manager for over a decade. +Alfred Yundt has been a manager for 14 years. +Ford Herman has been a manager for 14 years. +Paige Beier, an engineer, will be presenting the award. +Myrtle Runte has been a engineer for 14 years. +Announcing engineer Roy Rosenbaum. +Announcing engineer Mr. Julius Borer III. +Noemi Hamill has been a engineer for 14 years. +Francisco Koelpin PhD, an manager, will be presenting the award. +Ms. Pascale Emard joins us as an manager on the Example project. +Daryl Wisozk DVM joins us as an manager on the Example project. +Mr. Noble Runolfsson, an manager, will be presenting the award. +Ms. Daija Schoen joins us as an engineer on the Example project. +Ubaldo Dach is retiring as a engineer. +Katrine Parker PhD, an manager, will be presenting the award. +Ms. Martine Treutel IV has been an manager for over a decade. +Help me welcome our newest engineer, Ms. Alice Emard II. +Garrison Nikolaus, an engineer, will be presenting the award. +Mr. Tanner Baumbach IV has been a engineer for 14 years. +Our latest new employee, Austin Wisozk II, has been a manager in the industry for 4 years. +Announcing manager Mr. Saul Little. +Ms. Ashtyn O'Conner is a engineer. +Mr. Norval Wisozk is a engineer. +Ms. Daniella Murphy I, an manager, will be presenting the award. +Rocky Osinski is retiring as a manager. +Help me welcome our newest manager, Ms. Maybelline Powlowski. +Aliyah Lindgren PhD will be the new engineer for the team. +Bradley Hauck, an engineer, will be presenting the award. +Ramiro Kilback is a manager. +Help me welcome our newest manager, Colten Hermann. +Our latest new employee, Neva Hoppe, has been a manager in the industry for 4 years. +Ms. Stephania McGlynn PhD is a manager in the high tech industry. +Florencio Williamson has been a manager for 14 years. +Ruby Langworth will be the new engineer for the team. +Our latest new employee, Mr. Stevie Corkery, has been a manager in the industry for 4 years. +Birdie Herzog V joins us as an engineer on the Example project. +Mr. Boyd Harvey has been an engineer for over a decade. +Ms. Josianne Hauck I joins us as an manager on the Example project. +Help me welcome our newest manager, Jose Marquardt V. +Cullen Gutmann is a manager. +Mr. Ola Brown DVM is a engineer with Example Corp. +Blanca Gleichner has been a engineer for 14 years. +Mr. Evan Lesch is retiring as a manager. +Hazle Grimes has been a engineer for 14 years. +Mr. Ottis Walsh III is a manager with Example Corp. +Sigmund Nienow is retiring as a engineer. +Mr. Tyrel Hermiston DDS has been an engineer for over a decade. +Mr. Woodrow Stark is retiring as a engineer. +Twila Flatley will be the new engineer for the team. +Mr. Murl Howe DDS is a manager with Example Corp. +Kathryne Price has been an engineer for over a decade. +Ms. Hellen Lind IV has been a manager for 14 years. +Ms. Alyson Lehner, an manager, will be presenting the award. +Verda Hyatt is a manager. +Announcing engineer Viola Pacocha. +Lorenza Dietrich is a manager. +Ms. Lavada Runte II has been an manager for over a decade. +Doris Rohan, an manager, will be presenting the award. +Santina Sauer is retiring as a engineer. +Help me welcome our newest engineer, Adrianna Parisian. +Ms. Maurine Senger III is a engineer. +Ms. Delfina Murray II is retiring as a manager. +Jane Kilback is a engineer with Example Corp. +Our latest new employee, Mr. Kirk Braun DDS, has been a manager in the industry for 4 years. +Maynard Hills has been an manager for over a decade. +Announcing engineer Emmitt Marks. +Patience Hilll has been a manager for 14 years. +Dave Volkman, an engineer, will be presenting the award. +Sibyl Gleichner has been a manager for 14 years. +Ressie Koelpin is retiring as a manager. +Erwin Beer will be the new manager for the team. +Geovanni Goodwin is a manager with Example Corp. +Announcing manager Alexanne Mills. +Our latest new employee, Ms. Meaghan Kris DDS, has been a manager in the industry for 4 years. +Mr. Stanton Nicolas is a engineer in the high tech industry. +Elliot Welch is retiring as a engineer. +Mr. Mathew Schowalter joins us as an engineer on the Example project. +Announcing manager Ms. May Lowe MD. +Ms. Henriette Rau joins us as an manager on the Example project. +Reuben Wiza IV has been an engineer for over a decade. +Our latest new employee, Mr. Roman Bernhard, has been a engineer in the industry for 4 years. +Norval Breitenberg is a engineer. +Deshawn Gibson joins us as an engineer on the Example project. +Nola Corwin has been a engineer for 14 years. +Bernadine Beatty III has been a manager for 14 years. +Berneice Baumbach is a engineer with Example Corp. +Aaliyah Brown will be the new engineer for the team. +Mariana Mills is a engineer with Example Corp. +Our latest new employee, Filiberto Jenkins, has been a engineer in the industry for 4 years. +Our latest new employee, Madisen Bode, has been a manager in the industry for 4 years. +Brant Kuvalis Sr. has been an manager for over a decade. +Announcing manager Mr. Wiley Green. +Nova Padberg is a engineer in the high tech industry. +Help me welcome our newest engineer, Rosanna Carter. +Jacquelyn Rau is a manager in the high tech industry. +Mr. Gunner Kub I is retiring as a manager. +Our latest new employee, Roberto Spinka, has been a manager in the industry for 4 years. +Bettie Greenfelder is retiring as a engineer. +Our latest new employee, Ms. Nedra Towne, has been a manager in the industry for 4 years. +Ms. Amely Cartwright is a engineer in the high tech industry. +Our latest new employee, Ms. Joy Wiegand, has been a engineer in the industry for 4 years. +Announcing manager Kayley Moore DDS. +Our latest new employee, Philip Mayer, has been a manager in the industry for 4 years. +Ms. Mae Bartell, an manager, will be presenting the award. +Efren Paucek has been a manager for 14 years. +Help me welcome our newest manager, Mr. Marques Mayert DDS. +Zelma Zboncak joins us as an manager on the Example project. +Camila Buckridge, an manager, will be presenting the award. +Our latest new employee, Mr. Savion Trantow V, has been a engineer in the industry for 4 years. +Lonny Bahringer has been an engineer for over a decade. +Mr. Valentin Stehr has been a manager for 14 years. +Chanelle Willms, an engineer, will be presenting the award. +Help me welcome our newest manager, Holly Swaniawski V. +Eloy Bailey, an engineer, will be presenting the award. +Doris Buckridge will be the new engineer for the team. +Help me welcome our newest manager, Mr. Zackary Fahey MD. +Nella DuBuque is a manager. +Help me welcome our newest manager, Kenya Cronin. +Blanche Torp is a engineer with Example Corp. +Our latest new employee, Estevan Walsh, has been a engineer in the industry for 4 years. +Kurt Greenholt Sr. is a manager with Example Corp. +Beverly Torp is a manager. +Ms. Dorothea Hackett is a manager with Example Corp. +Brigitte Kunde will be the new engineer for the team. +Jackeline Harber has been an manager for over a decade. +Ms. Justine Deckow Sr. has been an engineer for over a decade. +Vicenta Rolfson joins us as an engineer on the Example project. +Holly Tremblay is a manager with Example Corp. +Emilio Windler, an manager, will be presenting the award. +Erin Beier is a engineer with Example Corp. +Help me welcome our newest manager, Kali Terry. +Mr. Aron Walsh is a manager with Example Corp. +Ms. Veronica Ankunding is a manager. +Amaya Adams PhD is a manager with Example Corp. +Milford Watsica II is retiring as a manager. +Ms. Prudence Harvey will be the new manager for the team. +Brice Schinner is a manager. +Kayden Witting will be the new engineer for the team. +Shad Beatty is retiring as a manager. +Ms. Sunny Braun DVM is a engineer in the high tech industry. +Ally Kiehn, an engineer, will be presenting the award. +Sierra Dietrich Sr., an manager, will be presenting the award. +Announcing engineer Diego Hoeger. +Allene Stokes will be the new engineer for the team. +Mr. Chaz Kemmer III is a manager in the high tech industry. +Announcing engineer Ms. Lurline Kessler II. +Carli Osinski is retiring as a manager. +Prince Kunze is a manager. +Jared Schoen has been an engineer for over a decade. +Help me welcome our newest engineer, Sven Lesch. +Alec Ernser has been an manager for over a decade. +Announcing engineer Jean Daniel. +Ambrose Hansen has been an engineer for over a decade. +Ms. Aubree Cruickshank, an engineer, will be presenting the award. +Ms. Aniya Doyle is a manager. +Help me welcome our newest manager, Julianne Weissnat. +Emanuel Friesen I is a manager in the high tech industry. +Ms. Trycia Schulist DDS is a engineer in the high tech industry. +Caesar Runolfsson II has been a manager for 14 years. +Torrance Blick joins us as an manager on the Example project. +Kailyn Ortiz is a engineer. +Mackenzie Farrell V, an engineer, will be presenting the award. +Cristian Quitzon III is a engineer in the high tech industry. +Josie O'Connell PhD is a manager. +Kristian Hermann will be the new engineer for the team. +Brady Halvorson is a engineer. +Foster Monahan is a manager in the high tech industry. +Mr. Aron Dietrich V is retiring as a manager. +Ms. Delilah Blick I is retiring as a manager. +Mr. Ulises Kuvalis IV will be the new manager for the team. +Ms. Kimberly Goodwin DDS has been an engineer for over a decade. +Help me welcome our newest engineer, Ms. Tia Kling III. +Mr. Jovanny Hoppe IV, an manager, will be presenting the award. +Mohamed Brekke I has been a manager for 14 years. +Dillan Jenkins will be the new manager for the team. +Alyce Willms will be the new engineer for the team. +Claudine Corkery, an manager, will be presenting the award. +Royal Krajcik has been a manager for 14 years. +Mr. Tyrese Erdman has been a engineer for 14 years. +Geo Reichel is retiring as a engineer. +Help me welcome our newest engineer, Euna Vandervort. +Anjali Moen, an manager, will be presenting the award. +Ms. Yvette Treutel PhD will be the new engineer for the team. +Our latest new employee, Kolby Yundt, has been a manager in the industry for 4 years. +Our latest new employee, Mr. Kelton Graham, has been a engineer in the industry for 4 years. +Don Corkery is retiring as a engineer. +Wilburn Stark, an engineer, will be presenting the award. +Estel Lesch has been a manager for 14 years. +Kara Hoeger Sr. has been a manager for 14 years. +Mr. Rhiannon Daugherty is a manager with Example Corp. +Mr. Diego Wolff joins us as an manager on the Example project. +Fay Hansen has been a manager for 14 years. +Imani Fritsch is retiring as a manager. +Our latest new employee, Derrick Fay, has been a manager in the industry for 4 years. +Newell Marks has been a manager for 14 years. +Lexie Koch is retiring as a engineer. +Irma Mayert has been an manager for over a decade. +Announcing engineer Schuyler Prosacco. +Madaline Trantow is a engineer with Example Corp. +Abbie Witting II will be the new engineer for the team. +Jocelyn Sawayn PhD joins us as an manager on the Example project. +Ms. Laisha Auer is a manager with Example Corp. +Our latest new employee, Gregoria Krajcik, has been a manager in the industry for 4 years. +Rosalind Considine is retiring as a engineer. +Noemie Howell has been a engineer for 14 years. +Micah Pollich is retiring as a engineer. +Mr. Jett Parisian DVM is retiring as a engineer. +Edythe Haley PhD joins us as an engineer on the Example project. +Our latest new employee, Carlos Breitenberg, has been a manager in the industry for 4 years. +Announcing engineer Lina Bayer DVM. +Ms. Ora Cremin is a manager in the high tech industry. +Announcing engineer Mr. Hilario Bogan. +Ramona Turcotte, an manager, will be presenting the award. +Elisabeth Sanford is retiring as a manager. +Our latest new employee, Telly Streich, has been a manager in the industry for 4 years. +Ms. Naomie Feest I joins us as an manager on the Example project. +Ariane Mayer is a engineer with Example Corp. +German Kuhlman IV is a engineer. +Announcing engineer Ruby Tremblay Sr.. +Ocie Pollich has been a manager for 14 years. +Jaqueline Bailey is a engineer with Example Corp. +Mr. Kyler VonRueden will be the new engineer for the team. +Cydney Stanton MD has been an engineer for over a decade. +Our latest new employee, Marjorie Ritchie, has been a engineer in the industry for 4 years. +Our latest new employee, Marjolaine Kuphal, has been a engineer in the industry for 4 years. +Our latest new employee, Jewell McDermott, has been a engineer in the industry for 4 years. +Help me welcome our newest engineer, Armand Batz. +Gudrun Moen is a engineer in the high tech industry. +Help me welcome our newest manager, Ms. Hilda Friesen. +Announcing engineer Annalise Kshlerin. +Josephine Thiel is a engineer with Example Corp. +Casper Towne III is a engineer with Example Corp. +Buster Lubowitz is a manager in the high tech industry. +Ms. Jazmin Schultz is a manager with Example Corp. +Mr. Austyn Schuppe is a manager with Example Corp. +Mr. Geovanni Wyman will be the new manager for the team. +Mr. Fletcher Rice will be the new manager for the team. +Carleton Stoltenberg, an engineer, will be presenting the award. +Evan Jaskolski DDS is a engineer. +Help me welcome our newest engineer, Ms. Mertie Collins. +Help me welcome our newest engineer, Marianna Pfannerstill Jr.. +Conor Wilderman has been an manager for over a decade. +Our latest new employee, Jordan Mann, has been a engineer in the industry for 4 years. +Mr. Mavis Gutkowski is retiring as a engineer. +Griffin Ratke Jr. has been an engineer for over a decade. +Dan Funk will be the new manager for the team. +Help me welcome our newest engineer, Rafael Denesik. +Our latest new employee, Jazmyne Runolfsson DDS, has been a engineer in the industry for 4 years. +Our latest new employee, Aurore Dach, has been a engineer in the industry for 4 years. +Help me welcome our newest manager, Alvah Gaylord. +Mr. Jerod Gleichner joins us as an engineer on the Example project. +Ms. Brisa Ledner is a manager in the high tech industry. +Ms. Rahsaan Stokes is retiring as a engineer. +Our latest new employee, Mr. Wyatt Stokes MD, has been a engineer in the industry for 4 years. +Help me welcome our newest engineer, Molly Smitham. +Madison Block has been a manager for 14 years. +Briana Dickens has been a engineer for 14 years. +Javonte Von has been an manager for over a decade. +Help me welcome our newest manager, Marley Erdman. +Luciano Christiansen will be the new manager for the team. +Skye Schinner is a engineer with Example Corp. +Announcing manager Icie Denesik. +Lulu Thiel is retiring as a engineer. +Deion Little has been an engineer for over a decade. +Help me welcome our newest manager, Serenity Davis MD. +Wilburn Muller is retiring as a manager. +Allen Jacobson is a manager in the high tech industry. +Ms. Jada Krajcik V joins us as an manager on the Example project. +Chester Klein is a manager. +Help me welcome our newest manager, Graciela Bailey. +Myrtice Bergnaum is a manager in the high tech industry. +Help me welcome our newest manager, Mr. Allan Howell. +Dolly Hagenes Jr. has been an engineer for over a decade. +Audreanne Beahan is a engineer in the high tech industry. +Kraig Kuvalis, an manager, will be presenting the award. +Fausto Stokes has been an engineer for over a decade. +Announcing manager Una Orn. +Ms. Yasmine Pfeffer, an engineer, will be presenting the award. +Announcing engineer Ms. Cassie Brakus. +Ora Lynch MD, an manager, will be presenting the award. +Viviane Botsford MD is a manager with Example Corp. +Jade Stamm is a manager with Example Corp. +Norene Keebler II joins us as an manager on the Example project. +Orlando Reilly has been a engineer for 14 years. +Announcing manager Ms. Gertrude Greenholt. +Zora Koelpin is a manager with Example Corp. +Help me welcome our newest manager, Everett Funk. +Anthony Connelly Jr. is a engineer in the high tech industry. +Ruthie Parker is retiring as a manager. +Orlo Zemlak will be the new engineer for the team. +Baylee Kirlin Sr. is a engineer. +Catharine Bosco has been an manager for over a decade. +Clotilde Kshlerin has been a engineer for 14 years. +Ms. Shanon Strosin PhD is a manager. +Kim Kub is a engineer. +Chase Walsh III is a manager in the high tech industry. +Ms. Dahlia Gleason is retiring as a manager. +Mr. Nelson Reilly has been an manager for over a decade. +Viola Schoen will be the new manager for the team. +Yesenia Jones has been a engineer for 14 years. +Lavinia Beier is a engineer with Example Corp. +Help me welcome our newest engineer, Marcella Wunsch. +Zelma Hirthe is retiring as a engineer. +Shany Borer is a engineer with Example Corp. +Eusebio Stroman has been a manager for 14 years. +Mr. Frankie Johnson V has been a engineer for 14 years. +Mr. Liam Gleason is retiring as a manager. +Moises Greenfelder II has been a engineer for 14 years. +Announcing manager Ms. Gretchen Corkery. +Ms. Hassie Haley Jr. will be the new manager for the team. +Haleigh Carter is a manager in the high tech industry. +Announcing manager Keara Schuster. +Christelle Armstrong will be the new engineer for the team. +Misael Hamill is retiring as a engineer. +Mr. Dillan Friesen joins us as an manager on the Example project. +Mr. Jaydon Mann IV, an engineer, will be presenting the award. +Audra Goodwin has been a engineer for 14 years. +Mr. Jovan Wilkinson, an engineer, will be presenting the award. +Meggie Kuhic has been a engineer for 14 years. +Maiya Lindgren is retiring as a manager. +Tanner Wolf has been a engineer for 14 years. +Tina Barton will be the new manager for the team. +Zola Swift is a engineer. +Verda Fisher is a engineer in the high tech industry. +Joesph Stroman Jr., an engineer, will be presenting the award. +Bart Pfannerstill joins us as an manager on the Example project. +Ms. Pattie Tremblay is a manager in the high tech industry. +Mr. Sigurd Schaden DVM has been a engineer for 14 years. +Abdiel Schumm has been a manager for 14 years. +Columbus Denesik is retiring as a engineer. +Mr. Demario Shields is a engineer in the high tech industry. +Yasmeen Lowe has been a manager for 14 years. +Help me welcome our newest engineer, Maryjane McGlynn PhD. +Ms. Flavie Rutherford is a engineer with Example Corp. +Alanis Wuckert is retiring as a manager. +Ms. Sophie Predovic has been a engineer for 14 years. +Selina Torp is a engineer with Example Corp. +Announcing engineer Melyssa Tromp DDS. +Adrain Rohan has been an manager for over a decade. +Help me welcome our newest manager, Ms. Elsa Stroman. +Constance Ebert has been an engineer for over a decade. +Our latest new employee, Abigayle Schiller, has been a manager in the industry for 4 years. +Announcing engineer Arden Flatley MD. +Leonor Jaskolski has been an engineer for over a decade. +Mr. Antone Skiles PhD will be the new engineer for the team. +Bert Balistreri V is a engineer. +Sierra Stark Jr. has been a engineer for 14 years. +Thad Kilback is a manager. +Ms. Sydni Klein IV will be the new manager for the team. +Owen Herman, an engineer, will be presenting the award. +Announcing manager Jaquelin Hodkiewicz. +Joel Corkery MD is a engineer. +Help me welcome our newest manager, Magnus Christiansen. +Ms. Verla Considine V, an engineer, will be presenting the award. +Mr. Gage Murazik PhD has been an engineer for over a decade. +Mr. Pedro Abshire, an manager, will be presenting the award. +Ms. Frances Schiller joins us as an engineer on the Example project. +Our latest new employee, May Casper, has been a engineer in the industry for 4 years. +Christiana Towne will be the new engineer for the team. +Announcing manager Lester Beier. +Our latest new employee, Juwan Crooks, has been a manager in the industry for 4 years. +Brown Borer Sr. will be the new engineer for the team. +Help me welcome our newest manager, Gregory Funk V. +Ms. Alaina Altenwerth is a manager with Example Corp. +Ms. Aylin Auer is a engineer with Example Corp. +Mr. Isac Buckridge joins us as an engineer on the Example project. +Mr. Morgan Kilback DVM is a manager with Example Corp. +Our latest new employee, Rasheed Casper, has been a manager in the industry for 4 years. +Jennyfer Walker has been an engineer for over a decade. +Announcing manager Shaun Fay. +Ms. Thalia Weissnat will be the new engineer for the team. +Hoyt Balistreri is retiring as a manager. +Mr. Ronny Sipes will be the new engineer for the team. +Jailyn Hoppe has been an engineer for over a decade. +Maximillian Howe, an engineer, will be presenting the award. +Announcing engineer Mr. Sofia Hills. +Help me welcome our newest manager, Catharine Kunde. +Announcing engineer Ms. Bryana Kreiger IV. +Help me welcome our newest engineer, Lavonne Reinger. +Albert Keeling has been an engineer for over a decade. +Ms. Taya Feest III is a engineer with Example Corp. +Maida Daugherty is a manager. +Myra Heathcote is retiring as a engineer. +Brooke Price, an manager, will be presenting the award. +Mr. Kale Watsica is a engineer in the high tech industry. +Our latest new employee, Abbigail Wiza III, has been a manager in the industry for 4 years. +Jaron Dickinson is retiring as a engineer. +Announcing manager Angus Senger. +Help me welcome our newest manager, Ms. Abbie Aufderhar. +Ms. Josefina Stark III has been an engineer for over a decade. +Craig Osinski is a manager with Example Corp. +Lenny Mayer DDS is a engineer with Example Corp. +Mireya Wilderman, an engineer, will be presenting the award. +Marianne Wiegand is retiring as a manager. +Hilario Schumm has been a engineer for 14 years. +Mr. Myron Dare is retiring as a engineer. +Micaela Ryan MD has been an engineer for over a decade. +Emmett Becker, an manager, will be presenting the award. +Jamey Wolf will be the new engineer for the team. +Lue Dooley, an manager, will be presenting the award. +Shaun Kris will be the new manager for the team. +Ms. Imogene Ledner DVM joins us as an manager on the Example project. +Help me welcome our newest engineer, Neil Connelly. +Help me welcome our newest engineer, Mr. Rudy Volkman. +Patricia O'Reilly, an engineer, will be presenting the award. +Mr. Jarred Treutel V is a engineer. +Mr. Omari Murazik I is retiring as a engineer. +Albin Lockman will be the new manager for the team. +Help me welcome our newest manager, Ms. Nona Grady. +Our latest new employee, Terrence Murphy, has been a manager in the industry for 4 years. +Mr. Madyson Deckow is a manager in the high tech industry. +Ms. Carissa Kling has been a engineer for 14 years. +Help me welcome our newest engineer, Mr. Fredy Bogisich. +Reanna Wuckert is retiring as a engineer. +Angie Nolan is a manager in the high tech industry. +Virginie Braun will be the new engineer for the team. +Jarred Flatley, an engineer, will be presenting the award. +Our latest new employee, Ms. Leora Kihn II, has been a manager in the industry for 4 years. +Announcing engineer Cathrine Kovacek. +Our latest new employee, Wilmer Becker, has been a manager in the industry for 4 years. +Missouri Franecki is a engineer with Example Corp. +Mekhi Donnelly PhD has been an manager for over a decade. +Ms. Willow Towne I has been an manager for over a decade. +Jaylon Rippin will be the new manager for the team. +Alanis Hettinger has been a engineer for 14 years. +Ms. Felicita Becker DVM has been an engineer for over a decade. +Zelda Daniel is retiring as a manager. +Mr. Emil Jast IV joins us as an manager on the Example project. +Kian Satterfield is a manager in the high tech industry. +Mr. Cooper Dooley joins us as an engineer on the Example project. diff --git a/internal/service/comprehend/test-fixtures/entity_recognizer/entitylist.csv b/internal/service/comprehend/test-fixtures/entity_recognizer/entitylist.csv index c89cc666011e..851ce28ef43a 100644 --- a/internal/service/comprehend/test-fixtures/entity_recognizer/entitylist.csv +++ b/internal/service/comprehend/test-fixtures/entity_recognizer/entitylist.csv @@ -1,1001 +1,1001 @@ Text,Type -Shea Wyman,MANAGER -Rudy McGlynn,MANAGER -Kallie Wilderman,MANAGER -Jude McCullough,MANAGER -Angeline Hegmann,ENGINEER -Nellie Leuschke DDS,ENGINEER -Tyrell Nikolaus,ENGINEER -Donnell Kling,ENGINEER -Jerad Gaylord,MANAGER -Milan Kihn,MANAGER -Roman Kertzmann,MANAGER -Elyssa Daugherty,ENGINEER -Larue Hane,MANAGER -Vince Walsh DDS,MANAGER -Mr. Rodrigo Davis Jr.,ENGINEER -Mr. Carol Donnelly,MANAGER -Mr. Johathan Kohler,MANAGER -Burley Kunde,MANAGER -Aracely Stark,MANAGER -Ms. Mara Greenfelder,MANAGER -Rylan Hamill,MANAGER -Ms. Fanny Lebsack,ENGINEER -Maia Adams,MANAGER -Lauriane Feest,ENGINEER -Bulah Keeling,MANAGER -Nikita Corkery,MANAGER -Ms. Rosetta Hamill,MANAGER -Thomas Lubowitz,ENGINEER -Tina Ullrich,ENGINEER -Keven Johnston,MANAGER -Mr. Conrad Hoeger III,MANAGER -Garrick O'Hara,MANAGER -Ms. Alexane Beahan IV,ENGINEER -Antonetta Denesik,MANAGER -Neha Jacobson,MANAGER -Jarrett Russel,MANAGER -Camylle Hane,ENGINEER -Martin Murazik,MANAGER -Simeon Labadie,MANAGER -Chase Wiegand,ENGINEER -Loy Jacobson,MANAGER -Rachael Mayer,MANAGER -Ms. Nellie Kling Jr.,MANAGER -Ms. Annabelle Gorczany,MANAGER -Michele Heller II,MANAGER -Ethel Brown I,ENGINEER -Woodrow Bayer,ENGINEER -Viviane Maggio,ENGINEER -Ms. Abbigail O'Connell Sr.,ENGINEER -Idell Hilll,MANAGER -Mohammed Hahn,MANAGER -Adela Altenwerth,MANAGER -Maryse Simonis,MANAGER -Boris Rosenbaum PhD,ENGINEER -Joshuah Marquardt,ENGINEER -Haylie Botsford,ENGINEER -Demetris Labadie PhD,MANAGER -Deron Hauck,ENGINEER -Mr. Johnpaul Hilll,MANAGER -Neoma Johnston,MANAGER -Otho Nolan,ENGINEER -Phyllis Rosenbaum III,MANAGER -Mylene Cassin,ENGINEER -Geoffrey Kovacek,MANAGER -Leslie Parisian,MANAGER -Donavon Veum,ENGINEER -Floyd Mraz,MANAGER -Judson Koss,MANAGER -Litzy Hahn,ENGINEER -Mr. Jalon Boyle,ENGINEER -Ms. Enola Emard DDS,ENGINEER -Mr. Nels Toy Sr.,ENGINEER -Mr. Broderick Heidenreich Sr.,ENGINEER -Mr. Jaleel Renner Jr.,ENGINEER -Estelle Labadie,MANAGER -Mozell Ankunding,ENGINEER -Eudora Dibbert,ENGINEER -Mr. Guillermo Welch,MANAGER -Mr. Brando Carter I,MANAGER -Mr. Eliezer Emmerich,ENGINEER -Mr. Arnulfo Torphy PhD,MANAGER -Grady Lind,ENGINEER -Mr. Jimmie Barton,ENGINEER -Vivianne Lakin,ENGINEER -Gina Dach,MANAGER -Ms. Rosetta Langworth I,ENGINEER -Jacinthe Abernathy II,MANAGER -Mr. Deven Tillman,ENGINEER -Mazie Vandervort IV,MANAGER -Mr. Chadd Corkery DVM,MANAGER -Norval Torp,ENGINEER -Charlene McCullough,ENGINEER -Scottie Ziemann PhD,ENGINEER -Reta Dickinson Jr.,ENGINEER -Ms. Hortense Collins PhD,MANAGER -Mr. Lloyd Beier,MANAGER -Mr. Uriah Price,MANAGER -Della Larson,ENGINEER -Fanny Schultz,MANAGER -Mr. Danial Shanahan Sr.,ENGINEER -Audrey Dooley PhD,MANAGER -Ms. Ida Hoeger,MANAGER -Tyson O'Keefe,ENGINEER -Therese Bergnaum DVM,MANAGER -Mr. Sofia Schroeder,MANAGER -Boris Bernhard,ENGINEER -Ms. Violet Sanford,MANAGER -Micheal Walker,ENGINEER -Kurtis Sauer IV,MANAGER -Golda Haag,MANAGER -Helene Barrows,MANAGER -Felicity Wilderman,MANAGER -Adalberto Nitzsche,MANAGER -Kolby Leuschke,ENGINEER -Mr. Montana Marquardt,ENGINEER -Audrey Schaden Jr.,ENGINEER -Ms. Lucie Blick II,ENGINEER -Lydia O'Kon,MANAGER -Lawson Cummerata PhD,ENGINEER -Cedrick Wiegand,ENGINEER -Nestor Cassin,ENGINEER -Mr. Gideon Pouros,MANAGER -Clark O'Reilly,ENGINEER -Ms. Kali DuBuque Jr.,MANAGER -Ms. Claudia Runolfsson,MANAGER -Sandrine Hoppe III,ENGINEER -Marlene Williamson,MANAGER -Jesus McKenzie,MANAGER -Tyson Pfannerstill,ENGINEER -Mr. Braeden Ratke,ENGINEER -Mr. Martin Lubowitz,ENGINEER -Mariana McDermott,MANAGER -Ms. Jakayla Thompson,MANAGER -Sally Crist PhD,ENGINEER -Ms. Cathryn Dooley II,ENGINEER -Cathryn Hackett,ENGINEER -Riley Leuschke,ENGINEER -Ms. Nellie Gottlieb Jr.,ENGINEER -Ladarius Predovic IV,ENGINEER -Mr. Berta Morar,ENGINEER -Vincent Stoltenberg,ENGINEER -Ms. Celestine Bergstrom,ENGINEER -Abby Roob,MANAGER -Ms. Virgie Heaney,MANAGER -Krystina Klocko Jr.,MANAGER -Ms. Orie Auer,MANAGER -Mr. Ariel Hayes DVM,MANAGER -Mr. Danial Botsford,MANAGER -Name Ankunding,MANAGER -Flavie Kerluke Jr.,MANAGER -Jaida Cremin,ENGINEER -Mr. Zachery Mohr II,ENGINEER -Mr. Ottis McGlynn,ENGINEER -Frederick Roob,MANAGER -Edwardo Johns,ENGINEER -Mackenzie Rogahn V,ENGINEER -Madelynn Satterfield,ENGINEER -Elva Zboncak,MANAGER -Michaela Reilly,MANAGER -Ana Kiehn,MANAGER -Ruthie Becker,ENGINEER -Cecelia Rosenbaum,MANAGER -Elaina Halvorson,MANAGER -Jedediah Botsford,ENGINEER -Eldred Swift,MANAGER -Jay Torp,ENGINEER -Jeramy Kunde,MANAGER -Daisy Reynolds,MANAGER -Wilhelm Leffler,MANAGER -Selina Pfeffer,MANAGER -Ms. Catherine Douglas MD,MANAGER -Mr. Randal Nikolaus,ENGINEER -Isabell Kilback,MANAGER -Garfield Kutch,MANAGER -Angelo Lehner,ENGINEER -Tess Reilly,MANAGER -Letitia Adams,MANAGER -Glenna Dibbert,ENGINEER -Ms. Virgie Anderson,ENGINEER -Ms. Nellie Langosh Sr.,MANAGER -Nickolas Kuhic,ENGINEER -Mr. Greyson Schaefer,MANAGER -Adelle Christiansen,ENGINEER -Sherman Jacobson III,MANAGER -Lazaro Runolfsson DDS,ENGINEER -Ms. Alice Schneider IV,MANAGER -Hannah Hilll,MANAGER -Mr. Deangelo Hessel,MANAGER -Adrianna Osinski,MANAGER -Myra Bechtelar,ENGINEER -Gennaro Grady,MANAGER -Giovanni Willms,ENGINEER -Ms. Minerva Hagenes III,MANAGER -Emie Ziemann II,MANAGER -Mr. Ervin Towne I,ENGINEER -Maeve Lakin II,ENGINEER -Ms. Creola Hauck III,MANAGER -Velma Kuhlman,ENGINEER -Carleton Mertz PhD,MANAGER -Lue Schneider,ENGINEER -Johan Tillman,ENGINEER -Maureen Zieme,ENGINEER -Ciara Collier,MANAGER -Ms. Leonie Denesik III,ENGINEER -Mr. Brennan Mohr I,MANAGER -Ms. Rosina Larkin MD,ENGINEER -Keaton McClure,MANAGER -Lorenzo Schoen,MANAGER -Ms. Alexa Jacobi,MANAGER -Daisha Olson II,MANAGER -Ms. Loraine Heathcote,MANAGER -Major Lowe,MANAGER -Dedric Denesik II,MANAGER -Neoma Bode PhD,MANAGER -Ms. Providenci King Sr.,ENGINEER -Orlando Boyle,MANAGER -Elvie Mills PhD,MANAGER -Ashton Gorczany,MANAGER -Ms. Maureen Hegmann,ENGINEER -Winona Streich,ENGINEER -Madelyn Hyatt,ENGINEER -Mr. Terrence Goodwin,ENGINEER -Riley Abbott PhD,MANAGER -Quentin Farrell,ENGINEER -Ms. Lorine Hills,MANAGER -Mr. Gussie Wehner DVM,MANAGER -Leanna Schuster,MANAGER -Mr. Grayce Konopelski,MANAGER -Calista Rodriguez MD,ENGINEER -Ebba Goldner,ENGINEER -Toney McCullough,ENGINEER -Hans Wisozk,MANAGER -Ms. Aditya Schumm,ENGINEER -Mr. Carmel Russel I,MANAGER -Ms. Daniella Kuvalis,MANAGER -Evert Friesen,ENGINEER -Justice Kunze,MANAGER -Mr. Alford Davis IV,MANAGER -Laurence Gerhold,ENGINEER -Lonny Collins,ENGINEER -Judson Emard IV,MANAGER -Delfina Hand,MANAGER -Gabrielle Turcotte IV,ENGINEER -Leann Fisher,ENGINEER -Billie Greenholt III,ENGINEER -Brant Turner,ENGINEER -Imelda McLaughlin,MANAGER -Ms. Macie Beatty,MANAGER -Dayne Dicki,ENGINEER -Elenor Abernathy,ENGINEER -Alanna Bauch,MANAGER -Creola Russel,MANAGER -Misty Becker,MANAGER -Brennan Larkin,MANAGER -Kian Olson,MANAGER -Sigurd Schuppe,MANAGER -Winnifred Zemlak,MANAGER -Ms. Adrianna Gerlach V,MANAGER -Arch Bednar,ENGINEER -Zion Nikolaus,ENGINEER -Sidney Hegmann,ENGINEER -Jessika Senger,MANAGER -Sophie Watsica,ENGINEER -Lila McClure DDS,MANAGER -Concepcion Gerhold,MANAGER -Marley Doyle,ENGINEER -Kristin Hermiston,MANAGER -Hollis Becker,MANAGER -Mr. Alessandro Kilback,MANAGER -Celia Beatty,ENGINEER -Mr. Camren Schuppe,MANAGER -Judy Kemmer IV,MANAGER -Mr. Alex Stracke,ENGINEER -Ms. Maureen Klein,ENGINEER -Giovanni Bogisich II,ENGINEER -Trevor Lebsack,MANAGER -Mr. Damian Larkin PhD,ENGINEER -Dave Hirthe,ENGINEER -Mr. Thad Casper,MANAGER -Pietro Bode,ENGINEER -Gregg Ortiz,MANAGER -Ervin Hand,MANAGER -Roberta Bosco,MANAGER -Ms. Kellie Osinski II,ENGINEER -Mr. Carmine Morar,MANAGER -Ms. Annie Bode III,MANAGER -Lorna O'Connell,ENGINEER -Gayle Jacobson III,MANAGER -Dave Schaefer,MANAGER -Devyn Effertz,ENGINEER -Mr. Arlo Casper,ENGINEER -Sandrine Collins,MANAGER -Mr. Chandler Roberts V,MANAGER -Ms. Ericka Murazik,ENGINEER -Keith Goyette,ENGINEER -Mckenna Feil,ENGINEER -Britney Prosacco,ENGINEER -Lois Hudson,ENGINEER -Ms. Hilma Walsh V,ENGINEER -Albina Gorczany,MANAGER -German Wiegand,ENGINEER -Mr. Jed Morar,MANAGER -Quincy Willms II,MANAGER -Ms. Bette King II,MANAGER -Ena Ryan,MANAGER -Daryl Nitzsche,MANAGER -Liliane Rempel,ENGINEER -Patience Wolf,MANAGER -Cleora Torphy,ENGINEER -Clemens O'Conner,MANAGER -Ozella Romaguera,MANAGER -Javon Mitchell,ENGINEER -Koby Jacobs,ENGINEER -Ms. Leda Leffler,MANAGER -Isabelle Kautzer,MANAGER -Ms. Annabell Auer V,ENGINEER -Wilfredo Turner I,ENGINEER -D'angelo Predovic,MANAGER -Mr. Godfrey Barrows,ENGINEER -Allie Gerhold,ENGINEER -Ms. Oleta Beer,ENGINEER -Ms. Jacklyn Wehner DDS,MANAGER -Mr. Bailey Fahey DVM,ENGINEER -Lesly Mitchell Sr.,MANAGER -Phyllis Heller III,MANAGER -Oswaldo Gusikowski,ENGINEER -Jordi Altenwerth,MANAGER -Ariel Price,ENGINEER -Orie Bins,MANAGER -Eldridge Conroy,MANAGER -Benedict Lebsack III,MANAGER -Clarabelle Walker,ENGINEER -Anabelle Hodkiewicz Sr.,MANAGER -Mr. Nikko Ferry,MANAGER -Nelda VonRueden,ENGINEER -Mathew Buckridge,MANAGER -Mary Runolfsdottir III,MANAGER -Jesus Reynolds,ENGINEER -Abbigail Steuber,ENGINEER -Ally Franecki,ENGINEER -Edward Mayer,ENGINEER -Myrtie Kreiger,MANAGER -Mr. Chadd Kovacek,MANAGER -Glennie Jakubowski IV,MANAGER -Coby Hirthe,MANAGER -Milton Grimes,MANAGER -Estella Kilback,MANAGER -Ms. Zoe Gorczany,MANAGER -Ms. Vivienne Heller IV,ENGINEER -Mr. Wilson Greenfelder,MANAGER -Curtis Stiedemann,MANAGER -Karlie Swaniawski,ENGINEER -Vicente Fahey,ENGINEER -Madilyn Erdman,MANAGER -Mr. Elroy Gerhold,MANAGER -Ms. Hettie Murphy,ENGINEER -Mr. Ashton Conroy Jr.,ENGINEER -Hollie Dietrich Jr.,ENGINEER -Mr. Khalid Deckow,ENGINEER -Jett Kessler,ENGINEER -Theresa Rau,ENGINEER -Brianne Casper,MANAGER -Reymundo O'Hara,MANAGER -Jadon Moen,MANAGER -Patricia Hyatt,MANAGER -Cristal Johns,MANAGER -Jenifer Hammes III,MANAGER -Lamar Gleason,ENGINEER -Mr. Lionel Keeling IV,MANAGER -Darren Abernathy DDS,ENGINEER -Braxton Hagenes,ENGINEER -Aniya Fadel,MANAGER -Ms. Reina Erdman,ENGINEER -Furman Tremblay,MANAGER -Delfina Moen,ENGINEER -Ana Grady DVM,ENGINEER -Brittany Stehr,MANAGER -Milan Larkin,ENGINEER -Lilliana Mante,MANAGER -Corrine Sawayn,ENGINEER -Mr. Kenneth Berge,ENGINEER -Mr. Theodore Wyman,MANAGER -Jayde Bauch,ENGINEER -Ms. Marguerite VonRueden,ENGINEER -Magdalen Schowalter,ENGINEER -Rita Fay,MANAGER -Mr. Clement Parisian IV,MANAGER -Bernie Leannon,MANAGER -Alta Fritsch,MANAGER -Otto Skiles Jr.,MANAGER -Marcellus Botsford,ENGINEER -Leopold Pacocha,ENGINEER -Coy Friesen,MANAGER -Flavio Kerluke,MANAGER -Ms. Otilia Sauer,ENGINEER -Mertie Robel PhD,ENGINEER -Mr. Waino Langosh,MANAGER -Linnie Yundt,ENGINEER -Santos Rohan V,MANAGER -Ms. Karen Grady,MANAGER -Mr. Kale Hessel IV,ENGINEER -Dayton Oberbrunner,MANAGER -Fausto Considine,MANAGER -Amie Muller,ENGINEER -Leopoldo Becker DDS,ENGINEER -Zetta Carter,ENGINEER -Kaitlyn Douglas,MANAGER -Jaylin Sporer,MANAGER -Ms. Gina Barrows II,ENGINEER -Naomi Bogan,ENGINEER -Price Hauck II,ENGINEER -Berniece Wilderman,ENGINEER -Harrison Mann,MANAGER -Buddy Marquardt,ENGINEER -Leonor Wintheiser,ENGINEER -Oswaldo Gutkowski,MANAGER -Manley Predovic,ENGINEER -Mr. Paolo Beatty,MANAGER -Mr. Ian Klocko Sr.,ENGINEER -Mr. Alec Hagenes DVM,ENGINEER -Zetta Reynolds,ENGINEER -Mr. Liam Pacocha PhD,MANAGER -Elvera McClure,MANAGER -Fleta Hansen,ENGINEER -Liza Corwin,MANAGER -Tyrel Thompson,ENGINEER -Ms. Krista Bogan,ENGINEER -Garfield Ratke,MANAGER -Eda Morissette,MANAGER -Ms. Alexandrine Weissnat V,MANAGER -Jeramy Hettinger,ENGINEER -Ms. Flavie Mertz III,ENGINEER -Vilma Maggio Sr.,MANAGER -Jacinthe D'Amore,MANAGER -Ms. Aliza Towne,ENGINEER -Amos Maggio,MANAGER -Janick Crona DDS,ENGINEER -Darien Fadel,ENGINEER -Albert Frami,MANAGER -Mr. Kelvin Shanahan V,MANAGER -Kraig Gulgowski DDS,MANAGER -Jodie Bergnaum,ENGINEER -Emilie O'Reilly,MANAGER -Ellen Dach,MANAGER -Ms. Annabell Ferry II,MANAGER -Brady Ritchie,MANAGER -Ms. Anna Lockman PhD,MANAGER -Quentin Corwin,MANAGER -Tianna Skiles,ENGINEER -Betty Marks,ENGINEER -Antwon Deckow,MANAGER -Nina Rolfson,ENGINEER -Maggie West,MANAGER -Mr. Keon Pfeffer,MANAGER -Abbigail Mante,MANAGER -Amy Heathcote MD,ENGINEER -Mr. Theron Watsica,MANAGER -Lafayette Toy,ENGINEER -Mr. Darius O'Conner,ENGINEER -Mr. Juwan Miller Sr.,ENGINEER -Elwyn Wilkinson II,MANAGER -Jon Collins,MANAGER -Joanie Windler,ENGINEER -Coty Eichmann MD,MANAGER -Elmore Weber,MANAGER -Layla Gottlieb,MANAGER -Zachariah Armstrong,ENGINEER -Jorge Osinski,MANAGER -Jayden Ruecker IV,MANAGER -Ms. Kyla Lubowitz,MANAGER -Jayme Ullrich,MANAGER -Devin Leannon,ENGINEER -Eliezer Roberts,ENGINEER -Lexus McLaughlin,MANAGER -Ms. Eve Gerlach PhD,MANAGER -Sheila Bayer,ENGINEER -Ms. Bettie Gislason IV,MANAGER -Sven Batz V,MANAGER -Kevin Langosh Jr.,MANAGER -Ms. Eldridge Bins,ENGINEER -Madelyn Terry,MANAGER -Aurelia Sauer,ENGINEER -Harry Wehner,ENGINEER -Mckayla Rosenbaum,ENGINEER -Mr. Zack Heidenreich PhD,ENGINEER -Margaret Rempel,MANAGER -Coy Moen,MANAGER -Ms. Whitney Jacobson,MANAGER -Ms. Reba O'Conner III,ENGINEER -Emmy Emard,ENGINEER -Ellie Simonis IV,MANAGER -Kolby Jerde,ENGINEER -Serenity Nolan,ENGINEER -Arvilla Leffler MD,MANAGER -Sherwood Considine,MANAGER -Braulio Pfeffer,ENGINEER -Americo Roberts,MANAGER -Mr. Cesar Hayes,ENGINEER -Rosalinda Kautzer III,ENGINEER -Melvina McGlynn III,ENGINEER -Jannie Botsford,MANAGER -Mr. Barry Eichmann Jr.,MANAGER -Ubaldo Harvey Jr.,MANAGER -Vincenza Mayer,ENGINEER -Sister Hickle,ENGINEER -Joanny Mante,MANAGER -Enid Kihn,MANAGER -Kathleen Corwin MD,ENGINEER -Hellen Little III,MANAGER -Mr. Tanner Kihn,ENGINEER -Sasha Feest,ENGINEER -Benny Pfeffer III,ENGINEER -Mr. Wilford Herman,MANAGER -Ms. Asia Klein III,MANAGER -Buster Marquardt,ENGINEER -Magdalena Kshlerin,MANAGER -Pete White,MANAGER -Bud Goyette,ENGINEER -Elias Muller,ENGINEER -Lizzie Hansen,ENGINEER -Loy Farrell DVM,MANAGER -Demarco Stanton Sr.,MANAGER -Ms. Malvina Hyatt II,ENGINEER -Daren Windler DDS,ENGINEER -Ms. Madie Koss PhD,MANAGER -Johnson Parisian,MANAGER -Odessa Kling,MANAGER -Dolores Schaden,ENGINEER -Mr. Pedro Kshlerin Jr.,ENGINEER -Gage Becker Jr.,ENGINEER -Miles Bergnaum Sr.,ENGINEER -Mr. Damon Kreiger,ENGINEER -Caroline Gutkowski,MANAGER -Kaitlin Reynolds,ENGINEER -Mr. Kellen Metz,ENGINEER -Ms. Shany Hoeger II,MANAGER -Mr. Marvin Crist,ENGINEER -Daren O'Connell,ENGINEER -Trystan Johnston,ENGINEER -Malvina Schroeder,MANAGER -Lourdes Mertz,MANAGER -Mr. Modesto Funk DDS,MANAGER -Bonnie Ortiz,MANAGER -Gunner Halvorson,ENGINEER -Hallie Crist,MANAGER -Freddy Lehner,ENGINEER -Bell Brekke,MANAGER -Arianna King,MANAGER -Clement Schaefer,MANAGER -Hillary Bartoletti,MANAGER -Adrain Kertzmann,ENGINEER -Ms. Reyna Bayer DVM,MANAGER -Lauryn Satterfield,ENGINEER -Ms. Gregoria Rolfson,MANAGER -Bessie Schamberger,ENGINEER -Ms. Faye Lubowitz,MANAGER -Leora Powlowski,MANAGER -Mr. Omer O'Reilly Sr.,MANAGER -Miller Tremblay,MANAGER -Joan Keebler,ENGINEER -Larry Weimann,MANAGER -Mr. Jaren Brekke III,MANAGER -Makayla Hoppe,MANAGER -Ms. Electa Grant,MANAGER -Virgil Kshlerin I,MANAGER -Alverta Prohaska,ENGINEER -Bud Connelly,ENGINEER -Franz Altenwerth DDS,MANAGER -Amos Predovic,ENGINEER -Lew Grimes,MANAGER -Brendan Kohler,ENGINEER -Ms. Addison Okuneva,ENGINEER -Esta Brekke,ENGINEER -Skyla Barton PhD,ENGINEER -Paula Herzog,MANAGER -Horace Carter IV,MANAGER -Dolly Kshlerin DDS,ENGINEER -Jamil Bashirian,ENGINEER -Ms. Margret Schimmel MD,ENGINEER -Alvera Sauer,MANAGER -Enid Hettinger,ENGINEER -Ezequiel Hettinger,ENGINEER -Florian Auer,ENGINEER -Estella Feeney,ENGINEER -Israel Spinka,MANAGER -Edwina Kirlin,ENGINEER -Pamela Brakus PhD,MANAGER -Delbert Schiller,MANAGER -Ms. Rosetta Breitenberg,MANAGER -Hermina Wisoky,ENGINEER -Palma Langosh,ENGINEER -Keenan Hane,MANAGER -Matilde Bergstrom,MANAGER -Ms. Jessica Bergnaum Sr.,ENGINEER -Camille Schuster,ENGINEER -Myrl Haag,ENGINEER -Annalise Rutherford,ENGINEER -Meredith Reichert,ENGINEER -Ms. Chelsie Conroy,MANAGER -Leora Torphy,MANAGER -Adolf Torp,MANAGER -Sincere Klocko,MANAGER -Reese Torp II,MANAGER -Ms. Miracle Balistreri,MANAGER -Ms. Paige Jakubowski II,MANAGER -Jimmie Brekke,MANAGER -Avery Tremblay,ENGINEER -Collin Cartwright,ENGINEER -Amelie Carroll,MANAGER -Angela Towne,MANAGER -Maria Ward,MANAGER -Ms. Ellen Walker III,ENGINEER -Martin Senger Sr.,MANAGER -Florida Hessel,MANAGER -Freeman Steuber,ENGINEER -Mr. Ellsworth Maggio,ENGINEER -Ms. Hildegard Watsica,ENGINEER -Ivory Wehner,ENGINEER -Mr. Carmine Reichel V,ENGINEER -Ida Crona,MANAGER -Abigail Morissette,MANAGER -Mr. Norwood Gerlach III,MANAGER -Olin Keeling,ENGINEER -Brayan Kautzer,MANAGER -Carlie Ward MD,ENGINEER -Mr. Jalon Heller V,ENGINEER -Vivienne Corkery,ENGINEER -Ms. Mittie Romaguera DVM,MANAGER -Aylin Gerhold II,MANAGER -Peggie Wehner,MANAGER -Ms. Sadye Barrows DDS,ENGINEER -Althea Dickens,ENGINEER -Richmond Oberbrunner,ENGINEER -Toney Brakus III,ENGINEER -Abigale Greenfelder,ENGINEER -Ms. Karine Dickinson DVM,MANAGER -Ms. Beatrice Reynolds,MANAGER -Yvonne Howell,MANAGER -Mr. Douglas Witting Sr.,MANAGER -Dustin McDermott,ENGINEER -Mr. Sherwood Murphy,MANAGER -Delilah Nicolas,ENGINEER -Ms. Gloria Quigley DVM,ENGINEER -Dorris Bartell,ENGINEER -Daija Hamill,ENGINEER -Ms. Litzy Johns,ENGINEER -Tony Ferry,MANAGER -Justyn Erdman,ENGINEER -Zoie Parker,MANAGER -Mr. Garland Heathcote,MANAGER -Emely Will IV,MANAGER -Ms. Haven Romaguera PhD,MANAGER -Ahmad Lehner,ENGINEER -Keanu Schumm,MANAGER -Floy Kozey,ENGINEER -Judy Kunde,MANAGER -Camden Gaylord,ENGINEER -Verna Schmeler,MANAGER -Ms. Guadalupe Eichmann III,MANAGER -Mr. Issac Purdy,MANAGER -Nina Thompson PhD,MANAGER -Quinn Cartwright,MANAGER -Mr. Edmund Thiel V,ENGINEER -Ezekiel Block,MANAGER -Johanna Abernathy,MANAGER -Sheila Hills,ENGINEER -Theresa Lind,MANAGER -Ms. Bessie Muller PhD,ENGINEER -Wayne Abbott,MANAGER -Clay Hayes,MANAGER -Marcus Pouros,ENGINEER -Hilda Schulist,ENGINEER -Dudley Ullrich,MANAGER -Ms. Meghan Hayes,MANAGER -Alexandria Jenkins,MANAGER -Mr. Osborne Rolfson,ENGINEER -Jaclyn Osinski,ENGINEER -Pamela Jenkins,ENGINEER -Mr. Khalil McCullough,MANAGER -Eva Satterfield,MANAGER -Modesta Runolfsson,MANAGER -Ms. Brooke Hyatt,MANAGER -Brianne Graham,MANAGER -Damon Hudson II,MANAGER -Ulises McCullough I,ENGINEER -Letha Ziemann DDS,ENGINEER -Amiya Durgan,MANAGER -Mr. Sydney Zulauf,ENGINEER -Dayton Lesch,ENGINEER -Millie Konopelski,ENGINEER -Wilma Roberts,MANAGER -Alexandrea Miller,ENGINEER -Rosalind Lind,ENGINEER -Raquel Kreiger,ENGINEER -Mr. Colby Hamill MD,MANAGER -Melisa Schoen,MANAGER -Gerson Rice Sr.,ENGINEER -Ms. Clara Hettinger,ENGINEER -Casandra Hammes,MANAGER -Arthur Kuhic,ENGINEER -Wilburn Abernathy,MANAGER -Mr. Jules Jacobi,MANAGER -Mr. Tyrique Runte PhD,ENGINEER -Alva Murphy,MANAGER -Laurel O'Hara,ENGINEER -Ocie Hauck,MANAGER -Mr. Jamarcus Nitzsche,MANAGER -Lucienne Hane,ENGINEER -Helen Kessler,MANAGER -Eino Morar Jr.,MANAGER -Caden Watsica,ENGINEER -Mr. Jaden Pfannerstill MD,MANAGER -Mr. Macey McGlynn IV,MANAGER -Luisa Kuhn II,ENGINEER -Ms. Carolanne Feil,MANAGER -Christiana Berge,ENGINEER -Micah Hamill,MANAGER -Scotty Moore,MANAGER -Louisa Wyman,ENGINEER -Roslyn Gorczany,MANAGER -Mauricio Nikolaus,ENGINEER -Agustina Hammes,ENGINEER -Filiberto Schulist,MANAGER -Providenci Prohaska,ENGINEER -Elvie Mayert V,MANAGER -Mr. Damien Turcotte,ENGINEER -Peter Toy DVM,MANAGER -Barbara Jacobs IV,ENGINEER -Selina Feeney Sr.,ENGINEER -Ms. Lavina Bogisich Sr.,MANAGER -Francisca Kuvalis,MANAGER -Mr. Eddie Bartell,ENGINEER -Braeden Quigley,MANAGER -Ms. Maude Schmeler,MANAGER -Rowena Wilkinson,MANAGER -Soledad Schroeder,MANAGER -Ms. Josianne Doyle V,MANAGER -Brooke Dare DDS,MANAGER -Mr. Abe Hahn,ENGINEER -Cooper Collier,MANAGER -Avery Bernier,MANAGER -Ms. Augustine O'Keefe DDS,ENGINEER -Keshaun Cummerata,ENGINEER -Dedric Nolan I,ENGINEER -Elbert Auer,ENGINEER -Betsy Schulist,ENGINEER -Ms. Asha Zulauf,MANAGER -Silas Heidenreich,ENGINEER -Mr. Alfonzo Graham PhD,ENGINEER -Mr. Jennings Hansen,ENGINEER -Gaetano Heidenreich,ENGINEER -Forrest Abshire,MANAGER -Ms. Avis Fisher PhD,ENGINEER -Wendell Wunsch,ENGINEER -Jana DuBuque,MANAGER -Tate Padberg,ENGINEER -Mr. Deondre Mosciski,MANAGER -Lavada Konopelski,ENGINEER -Jane McClure,MANAGER -Matt Shanahan IV,ENGINEER -Ms. Eliane Schuppe,MANAGER -Ila Vandervort,ENGINEER -Ms. Lucienne Zieme DDS,MANAGER -Sharon Dickens,ENGINEER -Vivienne Osinski,MANAGER -Nichole Schaefer,MANAGER -Walton Gorczany,MANAGER -Brandy Herzog,MANAGER -Meggie Doyle,ENGINEER -Sven Schimmel,MANAGER -Ms. Shaina West III,MANAGER -Tatyana Wolf I,ENGINEER -Mr. Braden Jacobson DDS,ENGINEER -Mr. Dangelo Krajcik V,MANAGER -Miguel Jenkins,MANAGER -Stan Roob,MANAGER -Ms. Verdie Purdy,MANAGER -Ms. Leatha Kulas,MANAGER -Alanna Senger,MANAGER -Margarett Okuneva,MANAGER -Cassie Wiegand,ENGINEER -Ms. Fatima Bednar Jr.,ENGINEER -Ms. Aylin Larson,ENGINEER -Ada Rippin,ENGINEER -Quinten Beahan,ENGINEER -Modesta Kertzmann,ENGINEER -Retha Herzog,MANAGER -Mr. Darryl Wyman DDS,MANAGER -Ulises Kutch,ENGINEER -Mr. Jettie Thiel,MANAGER -Theresia Schinner,ENGINEER -Taurean Lehner,MANAGER -Darien Carter,ENGINEER -Anastasia Turner,ENGINEER -Elbert Langosh,MANAGER -Jordi Labadie,MANAGER -Theodora Welch,ENGINEER -Ms. Ebony Johnson V,ENGINEER -Jonathan Schimmel,MANAGER -Carole Maggio III,ENGINEER -Kennedi King IV,MANAGER -Myra Wehner,ENGINEER -Jewel Rodriguez,ENGINEER -Nick Kling,MANAGER -Fred Kassulke,ENGINEER -Mr. Elmore Quigley,MANAGER -Ms. Veronica McKenzie,ENGINEER -Maxine Wilderman,ENGINEER -Alice Klein,MANAGER -Theo Fisher,ENGINEER -Mr. Orlando Prohaska,ENGINEER -June Heller PhD,ENGINEER -Mr. Tyreek Ankunding MD,MANAGER -Stephon Glover IV,ENGINEER -Herminia Emmerich,ENGINEER -Mr. Hector Mante,ENGINEER -Zion Bartoletti DVM,MANAGER -Santa Effertz,MANAGER -Brody Nitzsche Sr.,MANAGER -Ms. Odessa Wuckert II,ENGINEER -Frederik Ebert,MANAGER -Clark Gulgowski,ENGINEER -Ms. Wendy Reilly I,MANAGER -Ms. Dominique Torphy,MANAGER -Roderick Brown,MANAGER -Mr. Jaiden Kemmer,ENGINEER -Verda Deckow,ENGINEER -Jaeden Tremblay,ENGINEER -Arjun Kirlin II,MANAGER -Mr. Demario Haag II,ENGINEER -Fredy Howell,MANAGER -Jeffrey Veum,MANAGER -Jordy Spencer,MANAGER -Mr. Verner Schaefer V,ENGINEER -Prudence Luettgen,ENGINEER -Earlene Lang,MANAGER -Mr. Trevor Bailey Jr.,MANAGER -Mr. Lenny Kemmer II,MANAGER -Kiarra Bayer MD,MANAGER -Mr. Taurean Bogisich,MANAGER -Merlin Kuphal,ENGINEER -Reina Labadie,MANAGER -Marques Brakus DDS,ENGINEER -Lourdes Kutch,MANAGER -Dejah Erdman,ENGINEER -Kole Prohaska DDS,MANAGER -Kaci Monahan,ENGINEER -Mr. Cameron Howell,ENGINEER -Mr. Rod Okuneva,ENGINEER -Stone McGlynn,MANAGER -Johnnie Gutmann,MANAGER -Ms. Aurelia Wyman IV,MANAGER -Gabrielle DuBuque,MANAGER -Laury Ryan,ENGINEER -Ms. Camila Pouros II,MANAGER -Beaulah Sporer,MANAGER -Mr. Keeley Kessler V,MANAGER -Katlyn O'Keefe,ENGINEER -Mr. Webster Veum MD,ENGINEER -Ms. Estella Crona,ENGINEER -Toy Jaskolski,ENGINEER -Lilla Wisozk,ENGINEER -Mr. Domingo Johnson,ENGINEER -Rose Swaniawski,MANAGER -Timmothy Johnson IV,ENGINEER -Rosina McDermott MD,ENGINEER -Jonathan Runte,ENGINEER -Haley Heller,ENGINEER -Katlynn Ritchie,ENGINEER -Toni Funk PhD,ENGINEER -Eloy Cummerata,MANAGER -Norma Gleason,ENGINEER -Jayde Greenholt,ENGINEER -Adele Spinka,MANAGER -Tristian Walsh III,ENGINEER -Toni Jaskolski,ENGINEER -Novella Beier,MANAGER -Mr. Cortez Fay,MANAGER -Jason Schuster,MANAGER -Elias Davis,MANAGER -Brennan Mayert DDS,MANAGER -Jewel Renner Sr.,ENGINEER -Brad Steuber,MANAGER -Darrin Boehm,MANAGER -Hal Bergstrom,ENGINEER -Hubert Lebsack,ENGINEER -Torrance Schimmel MD,ENGINEER -Ms. Magdalen Stoltenberg,ENGINEER -Vilma Emard,ENGINEER -Ms. Fanny Dibbert,MANAGER -Mr. Lucio Wintheiser Sr.,MANAGER -Cathy McLaughlin MD,MANAGER -Murl Altenwerth,ENGINEER -Holly Beer,ENGINEER -Mr. Lucio Witting,MANAGER -Marco McKenzie,ENGINEER -Ms. Madie Marvin,MANAGER -Ms. Renee Koepp,ENGINEER -Perry Roberts,ENGINEER -Dawson Kozey I,ENGINEER -Ana Blick,ENGINEER -Wilma Huel,MANAGER -Ms. Cordie Nitzsche,ENGINEER -Marcelino Hansen,MANAGER -Ms. Otha Stamm,ENGINEER -Stefan Hahn III,MANAGER -Amanda Hudson,ENGINEER -Deshaun Langworth,MANAGER -Mr. Hilario Kuhn,ENGINEER -Montserrat Wisoky,ENGINEER -Lily Braun,ENGINEER -Ms. Nicolette Windler I,ENGINEER -Caesar Gorczany,ENGINEER -Nils Sipes,ENGINEER -Kara Cormier,MANAGER -Cullen Klocko,ENGINEER -Mr. Skylar Durgan II,ENGINEER -Alberto West,MANAGER -Gwen Veum MD,MANAGER -Frederick McDermott MD,ENGINEER -Mr. Hudson Skiles,MANAGER -Ruth Schaden,ENGINEER -Alayna Raynor,ENGINEER -Ms. Eryn Olson,ENGINEER -Alexa Shanahan PhD,MANAGER -Camylle Rowe,ENGINEER -Isabella Emmerich,ENGINEER -Annetta Gutmann III,ENGINEER -Kristy Kunde,ENGINEER -Mr. Gardner Fahey IV,MANAGER -Seamus Hagenes,ENGINEER -Mr. Gene Marks,ENGINEER -Hilario Block,ENGINEER -Ms. Annabel Keeling,MANAGER -Ms. Mckayla Sipes II,ENGINEER -Henriette Bogisich,ENGINEER -Tess Gusikowski DDS,ENGINEER -Mr. Anthony Kertzmann DVM,MANAGER -Alysha Okuneva,ENGINEER -Orlo Ebert,MANAGER -Eulalia Kshlerin,ENGINEER -Ms. Zelda Olson DDS,ENGINEER -Ms. Sarah Mitchell MD,MANAGER -Ms. Ciara Jakubowski Jr.,ENGINEER -Mr. Wilhelm Lubowitz DVM,ENGINEER -Aisha Barton,MANAGER -Nayeli Kessler PhD,ENGINEER -Alexandre Reilly,MANAGER -Alexys Doyle,ENGINEER -Shayne Keebler V,ENGINEER -Kristoffer Rohan,ENGINEER -Ms. Chaya Feest,ENGINEER -Ms. Kaycee Paucek DDS,MANAGER -Ima Fritsch,ENGINEER -Ms. Kailee O'Reilly,ENGINEER -Emilia Kerluke Sr.,MANAGER -Keyshawn Stark,MANAGER -Lila Jenkins,ENGINEER -Magdalen Hyatt,MANAGER -Ms. Danyka Bernier,ENGINEER -Matteo Jaskolski,ENGINEER -Laverna Simonis,MANAGER -Filiberto Satterfield IV,MANAGER -Margot Schowalter,MANAGER -Ms. Winnifred Leannon III,ENGINEER -Talon Howell,MANAGER -Leo Zboncak,ENGINEER -Pierre Nikolaus,ENGINEER -Dana Carter,MANAGER -Sofia Hoppe,ENGINEER -Lupe Braun,MANAGER -Brayan Mosciski,ENGINEER -Ferne Mraz,ENGINEER -Frank Kautzer,MANAGER -Mr. Jadon Goyette,MANAGER -Ms. Alisa Lang PhD,MANAGER -Mr. Jamaal Roob,ENGINEER -Ms. Tabitha Towne V,ENGINEER -Emanuel Goyette,MANAGER -Araceli Howe,ENGINEER -Bonnie DuBuque,MANAGER -Arch Wintheiser,MANAGER -Solon Turcotte,ENGINEER -General Glover,MANAGER -Krista Kautzer,MANAGER -Roosevelt Trantow,ENGINEER -Luisa Ratke DDS,ENGINEER -Roman McDermott,ENGINEER -Lindsey Breitenberg,ENGINEER -Mr. Warren Crooks,ENGINEER -Ms. Litzy Reichel,ENGINEER -Mr. Jeramie Runolfsdottir PhD,MANAGER -Gavin Morissette Sr.,MANAGER -Minnie Goldner,MANAGER -Clay Smith II,MANAGER -Daphne Schimmel,MANAGER -Corine Berge Sr.,MANAGER -Ms. Adeline Heller II,MANAGER -Oran Lakin,MANAGER -Velma Monahan II,ENGINEER +Miller Zulauf,MANAGER +Mazie Gottlieb,MANAGER +Johnathon Shields Sr.,MANAGER +Paula Windler I,MANAGER +Kaley Gleichner V,ENGINEER +Mr. Roosevelt Welch MD,ENGINEER +Ms. Shirley Purdy V,ENGINEER +Rolando Klein,ENGINEER +Ms. Sandy Osinski,MANAGER +Mr. Kristopher Bauch II,MANAGER +Ali Gleason,ENGINEER +Americo Rempel,ENGINEER +Gladys Marvin DVM,MANAGER +Danial Koch,MANAGER +Mr. Leopold Bergnaum,MANAGER +Davonte Larson,MANAGER +Ms. Tiara Collier Jr.,ENGINEER +Jessie Price,ENGINEER +Kathleen Kihn,ENGINEER +Mr. Ruben Haag,MANAGER +Maegan Quitzon,MANAGER +Clifton McKenzie,MANAGER +Lily Collins,ENGINEER +Janie Hartmann,ENGINEER +Ms. Alexandra Torphy IV,MANAGER +Rosemarie Gerlach,ENGINEER +Emilio Schultz,ENGINEER +Adalberto Reilly V,ENGINEER +Jess Schulist,MANAGER +Bianka Swaniawski,MANAGER +Mr. Oliver Lowe,ENGINEER +Winifred Mayert,MANAGER +Lamar Bahringer,ENGINEER +Celia Hamill,MANAGER +Ms. Shanon Murphy IV,ENGINEER +Mr. Doris Gislason IV,MANAGER +Hulda Bechtelar,ENGINEER +Raina Pfeffer IV,ENGINEER +Lilyan Gulgowski,ENGINEER +Mr. Gilbert Ziemann,MANAGER +Rebeca Spencer,ENGINEER +Dion Goodwin,MANAGER +Ms. Shemar Hand,MANAGER +Mr. Adrien Marquardt DDS,MANAGER +Ladarius Veum,MANAGER +Josefina Ernser,ENGINEER +Mr. Geovanny Schowalter DDS,MANAGER +Lera Rohan,MANAGER +Fredy Bogisich,MANAGER +Vada Jones,MANAGER +Alec Waelchi,MANAGER +Violet Schneider,ENGINEER +Nestor Von,ENGINEER +Ms. Zora Ortiz DVM,MANAGER +Mortimer Borer,MANAGER +Adam Rolfson,MANAGER +Willie Cronin,ENGINEER +Tianna Cole,ENGINEER +Eliza McGlynn,ENGINEER +Fidel Heathcote,MANAGER +Brendan Towne,MANAGER +Dean Lowe,MANAGER +Brycen Ortiz,MANAGER +Ford Kertzmann,ENGINEER +Alfredo Franecki,ENGINEER +Monica Pouros Jr.,MANAGER +Ms. Assunta Fay Sr.,MANAGER +Noah Lockman Jr.,MANAGER +Lonny Ebert,ENGINEER +Briana Howe,MANAGER +Ms. Vivienne Kuvalis IV,ENGINEER +Ms. Gracie Hilpert PhD,MANAGER +Thea Cronin,MANAGER +Elenora Oberbrunner I,ENGINEER +Ms. Rebecca Bergnaum,MANAGER +Hudson Lebsack,MANAGER +Sigurd Abbott,MANAGER +Kennith Wiegand V,MANAGER +Dalton Carter,MANAGER +Raegan Balistreri,ENGINEER +Brandy Cronin,ENGINEER +Ms. Adella Runolfsdottir DDS,ENGINEER +Robin Walsh,ENGINEER +Emmanuelle Rempel,ENGINEER +Mr. Jan Ullrich DVM,ENGINEER +Stefan Eichmann,ENGINEER +Giles Keeling,MANAGER +Bell O'Reilly,MANAGER +Molly Grant,MANAGER +Karlee Anderson,MANAGER +Jordyn Heller,ENGINEER +Eleonore Dibbert Sr.,ENGINEER +Efrain Borer I,MANAGER +Ms. Alisha Wiza,ENGINEER +David Haag,MANAGER +Ms. Rebecca Schmeler,MANAGER +Ebba Legros,MANAGER +Assunta McGlynn,MANAGER +Joelle Heller II,ENGINEER +Rasheed Considine,ENGINEER +Mr. Jabari Borer,ENGINEER +Mr. Americo O'Conner,ENGINEER +Mr. Johnny Kautzer DDS,MANAGER +Beverly Schimmel,MANAGER +Ms. Sarina Kuhn DDS,ENGINEER +Eusebio Kertzmann II,ENGINEER +Hilton O'Keefe,ENGINEER +Reina Weissnat,MANAGER +Hassie Kling,MANAGER +Lera Gleason,ENGINEER +Waldo Deckow,MANAGER +Mr. Norris Kling,MANAGER +Ms. Annabel Nikolaus,MANAGER +Cheyanne Hilll,MANAGER +Gage Jacobs,MANAGER +Cassidy Stokes,MANAGER +Georgianna Jacobs,ENGINEER +Mr. Ubaldo Cormier,ENGINEER +Laurie Berge,MANAGER +Mr. Karl Stehr Jr.,MANAGER +Mr. Jaquan Gibson,ENGINEER +Delores Stiedemann,ENGINEER +Anabelle Yundt,MANAGER +Gaston Bergstrom MD,ENGINEER +Verona Halvorson,ENGINEER +Ms. Bridie Thompson V,MANAGER +Albertha Tremblay,MANAGER +Courtney Becker,MANAGER +Bessie Homenick,MANAGER +Lilian Osinski,ENGINEER +Bertrand Altenwerth,MANAGER +Cruz Gottlieb,ENGINEER +Willy Runte,MANAGER +Ms. Estelle Carter,MANAGER +Arnoldo Emard,MANAGER +Brenna Lockman,ENGINEER +Kelly Bergnaum,MANAGER +Adah Labadie,MANAGER +Nichole Koepp,MANAGER +Jettie Jacobs,ENGINEER +Kellie Brekke V,MANAGER +Nya Russel IV,ENGINEER +Rowan Kling,ENGINEER +Dariana Oberbrunner V,ENGINEER +Angelo Altenwerth I,ENGINEER +Britney Herman,MANAGER +Abigayle Reichel,ENGINEER +Ms. Miracle Grady IV,MANAGER +Ms. Alison Bartoletti IV,MANAGER +Laney Nitzsche,ENGINEER +Laura Terry PhD,ENGINEER +Breanne Koepp,ENGINEER +Ines Medhurst,ENGINEER +Theodore Stokes,MANAGER +Ms. Yasmine Schulist,ENGINEER +Adolfo O'Reilly,ENGINEER +Kaelyn Schaden,MANAGER +Jorge Bergnaum,ENGINEER +Ignacio Wyman,ENGINEER +Dannie Will,MANAGER +Margaretta Abbott,ENGINEER +Briana Murray PhD,ENGINEER +Brady Rath,ENGINEER +Rahsaan Adams,MANAGER +Mr. Hayley Dicki,ENGINEER +Colton Pouros,ENGINEER +Vida Schultz,ENGINEER +Alexanne Turcotte,MANAGER +Reba Stroman,MANAGER +Paxton O'Connell MD,MANAGER +Don Lesch,ENGINEER +Mr. Carter Von IV,ENGINEER +Candida Boyer,MANAGER +Mr. Raymond Krajcik DVM,ENGINEER +Markus Waelchi,ENGINEER +Malachi Cummerata,ENGINEER +Mr. Edmond Dietrich IV,MANAGER +Lenora Reynolds,ENGINEER +Zoie Kiehn,ENGINEER +Mr. Mason Lang II,MANAGER +Virginia Reilly,ENGINEER +Claude Emmerich,MANAGER +Sebastian Prosacco,MANAGER +Mr. Dashawn O'Hara,MANAGER +Emmy Turcotte III,ENGINEER +Sincere Legros,MANAGER +Mauricio Reilly,ENGINEER +Ms. Kimberly Bogan I,ENGINEER +Ms. Cassandre Murphy PhD,ENGINEER +Kaycee Kshlerin I,ENGINEER +Ms. Cheyanne Rodriguez PhD,ENGINEER +Gayle Wiza,MANAGER +Ms. Desiree Metz,ENGINEER +Hettie Beier MD,ENGINEER +Shakira Ledner,MANAGER +Forrest Ullrich,ENGINEER +Alysha Wolff III,MANAGER +Mr. Lorenza Okuneva DVM,ENGINEER +Nasir Walsh,MANAGER +Jeanette Rogahn,ENGINEER +Gilda Funk I,MANAGER +Julius Gusikowski,ENGINEER +Agnes Schuster,ENGINEER +Delphine Thompson,ENGINEER +Tressa Nolan,ENGINEER +Leatha Reilly I,MANAGER +Mr. Jamar Mueller,ENGINEER +Kyleigh Franecki,MANAGER +Cornell Bashirian MD,MANAGER +Ramiro Bogan,MANAGER +Robyn McKenzie,MANAGER +Destini Rippin,MANAGER +Eladio Mraz,MANAGER +Jayda Moore III,MANAGER +Alivia Koelpin,ENGINEER +Alva Muller,ENGINEER +Ms. Karianne Dibbert Sr.,MANAGER +Hazle Langworth,MANAGER +Geraldine Koelpin DVM,MANAGER +Margarett Swaniawski,MANAGER +Major Mosciski,MANAGER +Cara Kuphal,MANAGER +Deshawn Fisher,ENGINEER +Mr. Leopoldo VonRueden DDS,MANAGER +Horacio O'Connell,MANAGER +Salvatore Hermann,ENGINEER +Dessie Franecki,MANAGER +Mr. Torrey Macejkovic,MANAGER +Wendell Boyer,ENGINEER +Providenci Heidenreich,ENGINEER +Mr. Dorthy Williamson DDS,ENGINEER +Ena Green DDS,MANAGER +Ms. Aaliyah Bernhard,MANAGER +Grace Quitzon,ENGINEER +Germaine VonRueden,MANAGER +Lionel Goldner,MANAGER +Pearline Osinski,ENGINEER +Claud Mayert,MANAGER +Palma Grady,ENGINEER +Andre Conn,MANAGER +Gerardo Wilderman,MANAGER +Ms. Lydia Moore,ENGINEER +Walter Kub,ENGINEER +Elbert Gottlieb,ENGINEER +Arnoldo Quitzon,ENGINEER +Macy Conroy,ENGINEER +Cecil Metz,MANAGER +Ms. Loyce Torphy MD,ENGINEER +Rylan Wyman PhD,MANAGER +Clair Luettgen DDS,MANAGER +Mr. Rickey Lehner,ENGINEER +Kian Walter,ENGINEER +Ms. Coralie Carroll II,MANAGER +Ms. Leann Gutkowski Sr.,ENGINEER +Presley Hirthe,MANAGER +Leola King,MANAGER +Maribel Mueller,MANAGER +Dean Hilll,ENGINEER +Rosella Green,MANAGER +Clementine Klein,ENGINEER +Mr. Riley Roob V,MANAGER +Newell Beier,MANAGER +Orval Rodriguez,MANAGER +Ms. Neha Kerluke,MANAGER +Mr. Roger Farrell V,ENGINEER +Charlie Brakus,MANAGER +Judge Nitzsche,ENGINEER +Mr. Triston Jakubowski V,ENGINEER +Ms. Rhoda Luettgen,ENGINEER +Felicia Roob,MANAGER +Wendy Gulgowski,ENGINEER +Ms. Destiny Stoltenberg,MANAGER +Mr. Jaylen Metz,ENGINEER +Ms. Annamarie Heathcote,MANAGER +Cayla Heaney,ENGINEER +Eleanora Cruickshank,MANAGER +Susie Schowalter,MANAGER +Ms. Clarabelle Reichert Sr.,ENGINEER +Whitney Kuhn,MANAGER +Mr. Dangelo Dibbert DDS,MANAGER +Mr. Jess Willms II,ENGINEER +Madisyn Waelchi PhD,ENGINEER +Ms. Sister Tillman,ENGINEER +Fern Weimann DVM,MANAGER +Dejah Kunze II,MANAGER +Mr. Rahul Lubowitz,MANAGER +Antonia Zulauf DDS,MANAGER +Ms. Valentina Johnson DDS,MANAGER +Shaylee Sauer,MANAGER +Ms. Shanie Ruecker,ENGINEER +Mandy Boehm III,MANAGER +Greg Hintz,MANAGER +Vesta Lockman,ENGINEER +Lester Bahringer,MANAGER +Kianna McGlynn,MANAGER +Matteo Turner,MANAGER +Lexus Gorczany,ENGINEER +Otilia Schumm,ENGINEER +Ms. Gabriella Boyle,MANAGER +Edward Block,ENGINEER +Keanu Russel Jr.,MANAGER +Raquel Schroeder,MANAGER +Coralie Boyer,ENGINEER +Ms. Stefanie Ernser,MANAGER +Ms. Dorothy Reynolds,MANAGER +Riley Little MD,ENGINEER +Mr. Bennie Champlin Jr.,MANAGER +Ms. Ettie Koelpin DVM,ENGINEER +Saige Schaefer,ENGINEER +Kyra Barrows,MANAGER +Felton Gerhold PhD,MANAGER +Mr. Freeman Abshire PhD,ENGINEER +Terrence O'Conner,MANAGER +Ms. Clarabelle Gibson DDS,ENGINEER +Nikko Nader,MANAGER +Mr. Arturo Moore,ENGINEER +Wayne Abshire,ENGINEER +Sydnee Schaden,MANAGER +Matteo Robel IV,ENGINEER +Maverick Wyman,MANAGER +Mr. Westley Predovic V,MANAGER +Selina Donnelly,MANAGER +Mr. Alfonzo Von I,ENGINEER +Doug Ruecker,ENGINEER +Denis Yost,MANAGER +Cyril Robel Sr.,ENGINEER +Ford Jacobi,ENGINEER +Dillan Grimes,ENGINEER +Ms. Cecelia Kiehn PhD,ENGINEER +Rachael Kshlerin,ENGINEER +Raven Kihn,MANAGER +Ms. Eileen Friesen,ENGINEER +Mr. Jett Bernhard,MANAGER +Haylie Spinka,ENGINEER +Kailey Towne Jr.,MANAGER +Mr. Jed Rutherford,MANAGER +Angel Schneider,MANAGER +Emma Pacocha,MANAGER +Jeremie Rogahn,MANAGER +Porter Herman,ENGINEER +Priscilla Stanton,ENGINEER +Aurelio Turner,MANAGER +Melvin McLaughlin,ENGINEER +Brandy Friesen,MANAGER +Angelo Pfeffer,MANAGER +Mr. Jerrold Prohaska,ENGINEER +Margret Turcotte,ENGINEER +Kathryne Schaefer II,ENGINEER +Kamille Blanda,ENGINEER +Addie Tremblay,MANAGER +Cathrine Bernier,MANAGER +Jesus Bashirian,ENGINEER +Dillon Hamill,MANAGER +Granville Lemke,ENGINEER +Vito Greenholt III,ENGINEER +Evie Kunde,MANAGER +Lela Renner,MANAGER +Brendon Reynolds,MANAGER +Mr. Brandt Larson,ENGINEER +Mr. Arthur Brakus Jr.,MANAGER +Haylie Gerhold,MANAGER +Emile Crist,ENGINEER +Mr. Kale Schamberger DVM,ENGINEER +Ms. Oceane Kerluke II,MANAGER +Matteo Auer,MANAGER +Audie Kreiger IV,ENGINEER +Mr. Niko Yost Jr.,ENGINEER +Sage Bruen,ENGINEER +Francisco Feeney,ENGINEER +Jared Koelpin,MANAGER +Claud Lesch,ENGINEER +Sherman Okuneva Jr.,ENGINEER +Jeramy Strosin,ENGINEER +Amya Schumm,ENGINEER +Tracey Wunsch,MANAGER +Krystal Kunze,ENGINEER +Talon Wyman V,ENGINEER +Brice Mills,MANAGER +Scottie Bergstrom,MANAGER +Ms. Shanny Beatty,MANAGER +Shannon Witting,MANAGER +Taya Fahey V,MANAGER +Ms. Lauriane Sanford,MANAGER +Emilia Lesch,MANAGER +Randal Predovic,ENGINEER +Piper Heidenreich I,ENGINEER +Jakob Kassulke,MANAGER +Wilma Satterfield,ENGINEER +Dahlia Paucek,MANAGER +Peyton Will Jr.,MANAGER +Reginald Durgan Sr.,ENGINEER +Miracle Sauer,MANAGER +Dewayne Wintheiser,MANAGER +Emelia Langworth,MANAGER +Ms. Elissa Reichel,MANAGER +Gillian Ledner,ENGINEER +Mr. Morgan Bernier IV,ENGINEER +Mr. Brooks Prosacco,ENGINEER +Mr. Junius Hintz,ENGINEER +Astrid Heathcote DVM,MANAGER +Ms. Brooklyn Parker,MANAGER +Domingo Heller,MANAGER +Mr. Jayde Dooley Sr.,ENGINEER +Jada Carroll Sr.,ENGINEER +Enoch Hammes,MANAGER +Ms. Mckayla Jast,ENGINEER +Ulices Wunsch,MANAGER +Ms. Jacklyn Bayer I,ENGINEER +Adolph Kshlerin,ENGINEER +Magnolia Baumbach PhD,MANAGER +Noelia Windler,ENGINEER +Jaeden Hand,MANAGER +Heather Wilderman,MANAGER +Daphne Hamill,MANAGER +Octavia Durgan,MANAGER +Anibal Kerluke,MANAGER +Mr. Orval Hammes Jr.,MANAGER +Kristin Conn,MANAGER +Magdalen Dietrich IV,MANAGER +Ms. Haylie Rosenbaum MD,ENGINEER +Elenor Howe,ENGINEER +Yvonne Roberts,ENGINEER +Oda Wisoky,MANAGER +Ms. Aryanna Grimes Jr.,ENGINEER +Jocelyn Wilkinson,MANAGER +Neil Hirthe,ENGINEER +Aric Heidenreich,MANAGER +Ms. Julia Carter,ENGINEER +Darlene Pacocha,MANAGER +Kathryne Hoeger,ENGINEER +Alysson Carter V,ENGINEER +Mr. Nicolas Blick V,ENGINEER +Elaina Von,ENGINEER +Ms. Ellen Mayer IV,MANAGER +Darryl Casper,ENGINEER +Mr. Kadin Metz V,ENGINEER +Ms. Electa Quitzon Sr.,MANAGER +Mr. Hiram Howe MD,MANAGER +Ole Marvin,MANAGER +Claudia Rice,MANAGER +Forest Swaniawski,MANAGER +Roslyn Dickens,ENGINEER +Ms. Janis Wuckert V,MANAGER +Ms. Meda Jerde DVM,ENGINEER +Dolores Schiller II,ENGINEER +Mr. Enid Keeling,ENGINEER +Burnice Bosco DDS,ENGINEER +Katheryn Becker,MANAGER +Samantha Schmidt,ENGINEER +Mr. Royce Bashirian,ENGINEER +Mitchell Parker,ENGINEER +Ms. Eryn Bins,ENGINEER +Sven Harvey,ENGINEER +Mr. Melany Dibbert,MANAGER +Ms. Ardella Sipes Jr.,MANAGER +Joy Reynolds,MANAGER +Lyda Quitzon,MANAGER +Sophie Gusikowski,ENGINEER +Ashly Jacobi,ENGINEER +Haylie Maggio,ENGINEER +Deshaun Walsh,ENGINEER +Mr. Malachi Gibson,MANAGER +Edna Fadel,MANAGER +Ms. Eula Bogan,MANAGER +Mr. Javier Kemmer DDS,MANAGER +Nicole Conroy,MANAGER +Cordie Wunsch V,MANAGER +Pablo Jones,ENGINEER +Ms. Jolie Schuppe DDS,MANAGER +Amya Swift,ENGINEER +Alessandro Bartoletti,MANAGER +Sonya Schmitt,MANAGER +Ava D'Amore,ENGINEER +Raphaelle Murphy,MANAGER +Seth King DVM,MANAGER +Mr. Wilber Schaden III,MANAGER +Brian White,ENGINEER +Sage Parker,MANAGER +Katharina Wiegand,MANAGER +Eric Weimann,ENGINEER +Marcellus Jakubowski,ENGINEER +Angeline Pouros,MANAGER +Samara Veum,ENGINEER +Alberto Zemlak MD,ENGINEER +Liza Nolan III,MANAGER +Guy Turcotte,MANAGER +Danyka Stamm MD,MANAGER +Alverta Dach,ENGINEER +Maybelline Kihn,ENGINEER +Carlo Ratke,MANAGER +Margaretta Von,ENGINEER +Pinkie Green,ENGINEER +Mr. Elvis Gulgowski,MANAGER +Chanel Harber,ENGINEER +Carroll Gutmann,MANAGER +Emma Stehr,MANAGER +Rusty Gerhold,MANAGER +Nella Graham,ENGINEER +Carolyne Rippin DDS,ENGINEER +Conor Rowe,MANAGER +Gilda Mayert II,ENGINEER +Mr. Cale Ortiz Jr.,ENGINEER +Morgan Parisian IV,ENGINEER +Carolanne Russel,ENGINEER +Grayson VonRueden DVM,ENGINEER +Ms. Jazmyne Larkin I,MANAGER +Courtney Hirthe,ENGINEER +Maximus Shanahan MD,MANAGER +Felipa Wiegand,ENGINEER +Ms. Madalyn Corwin III,ENGINEER +Eldridge West,ENGINEER +Ms. Cleta Renner,MANAGER +Katelynn Erdman,MANAGER +Scotty Cassin,MANAGER +Melyna Kertzmann,ENGINEER +Mariam McCullough,ENGINEER +Demarcus Donnelly V,ENGINEER +Mr. Ansley Bernhard Sr.,MANAGER +Chad Ondricka V,ENGINEER +Liliana Hessel,MANAGER +Ransom Crist,MANAGER +Aisha Boehm,ENGINEER +Adaline O'Reilly PhD,ENGINEER +Dayna Hoppe,MANAGER +Mr. Lee Kreiger Jr.,ENGINEER +Payton Cummerata,MANAGER +Colten Luettgen,MANAGER +Ms. Nakia Johns,ENGINEER +Freida Strosin,MANAGER +Brad Bednar,ENGINEER +Antone McLaughlin,MANAGER +Izabella Berge,ENGINEER +Carole Lowe V,ENGINEER +Bud Leuschke,ENGINEER +Archibald Hilpert,MANAGER +Fernando Ebert,MANAGER +Jeramy Abshire,ENGINEER +Jannie Weber,ENGINEER +Mr. Mason Wolff MD,ENGINEER +Nelle Kutch III,ENGINEER +Keshawn Sporer,ENGINEER +Caterina Kunze PhD,ENGINEER +Dashawn Block,MANAGER +Shania Witting,MANAGER +Amos Stamm,ENGINEER +Alexandra Reichel Jr.,MANAGER +Mr. Edwardo Schneider V,MANAGER +Ms. Brigitte Waelchi,MANAGER +Jeanne Keeling,ENGINEER +Forest Von,MANAGER +Mr. Casimer Jast,MANAGER +Ms. Ebba Conn,MANAGER +Jany Yost,ENGINEER +Hassie Mosciski,MANAGER +Mr. Zion Rosenbaum Sr.,MANAGER +Ignacio Thompson MD,MANAGER +Jeanette Conroy IV,MANAGER +Garrick Graham,MANAGER +Misael Kuvalis,MANAGER +Helene Dickinson III,ENGINEER +Reilly Murazik,MANAGER +Jadon Ullrich,ENGINEER +Ms. Audra Borer,MANAGER +Earnestine Sauer,ENGINEER +Myrl Gerlach,ENGINEER +Mr. Garret Krajcik,ENGINEER +Emmet Hayes,MANAGER +Ahmed Donnelly Jr.,ENGINEER +Mr. Alvah Schimmel,MANAGER +Ms. Marilyne Harris I,ENGINEER +Ms. Casandra Zulauf,MANAGER +Alfred Yundt,MANAGER +Ford Herman,MANAGER +Paige Beier,ENGINEER +Myrtle Runte,ENGINEER +Roy Rosenbaum,ENGINEER +Mr. Julius Borer III,ENGINEER +Noemi Hamill,ENGINEER +Francisco Koelpin PhD,MANAGER +Ms. Pascale Emard,MANAGER +Daryl Wisozk DVM,MANAGER +Mr. Noble Runolfsson,MANAGER +Ms. Daija Schoen,ENGINEER +Ubaldo Dach,ENGINEER +Katrine Parker PhD,MANAGER +Ms. Martine Treutel IV,MANAGER +Ms. Alice Emard II,ENGINEER +Garrison Nikolaus,ENGINEER +Mr. Tanner Baumbach IV,ENGINEER +Austin Wisozk II,MANAGER +Mr. Saul Little,MANAGER +Ms. Ashtyn O'Conner,ENGINEER +Mr. Norval Wisozk,ENGINEER +Ms. Daniella Murphy I,MANAGER +Rocky Osinski,MANAGER +Ms. Maybelline Powlowski,MANAGER +Aliyah Lindgren PhD,ENGINEER +Bradley Hauck,ENGINEER +Ramiro Kilback,MANAGER +Colten Hermann,MANAGER +Neva Hoppe,MANAGER +Ms. Stephania McGlynn PhD,MANAGER +Florencio Williamson,MANAGER +Ruby Langworth,ENGINEER +Mr. Stevie Corkery,MANAGER +Birdie Herzog V,ENGINEER +Mr. Boyd Harvey,ENGINEER +Ms. Josianne Hauck I,MANAGER +Jose Marquardt V,MANAGER +Cullen Gutmann,MANAGER +Mr. Ola Brown DVM,ENGINEER +Blanca Gleichner,ENGINEER +Mr. Evan Lesch,MANAGER +Hazle Grimes,ENGINEER +Mr. Ottis Walsh III,MANAGER +Sigmund Nienow,ENGINEER +Mr. Tyrel Hermiston DDS,ENGINEER +Mr. Woodrow Stark,ENGINEER +Twila Flatley,ENGINEER +Mr. Murl Howe DDS,MANAGER +Kathryne Price,ENGINEER +Ms. Hellen Lind IV,MANAGER +Ms. Alyson Lehner,MANAGER +Verda Hyatt,MANAGER +Viola Pacocha,ENGINEER +Lorenza Dietrich,MANAGER +Ms. Lavada Runte II,MANAGER +Doris Rohan,MANAGER +Santina Sauer,ENGINEER +Adrianna Parisian,ENGINEER +Ms. Maurine Senger III,ENGINEER +Ms. Delfina Murray II,MANAGER +Jane Kilback,ENGINEER +Mr. Kirk Braun DDS,MANAGER +Maynard Hills,MANAGER +Emmitt Marks,ENGINEER +Patience Hilll,MANAGER +Dave Volkman,ENGINEER +Sibyl Gleichner,MANAGER +Ressie Koelpin,MANAGER +Erwin Beer,MANAGER +Geovanni Goodwin,MANAGER +Alexanne Mills,MANAGER +Ms. Meaghan Kris DDS,MANAGER +Mr. Stanton Nicolas,ENGINEER +Elliot Welch,ENGINEER +Mr. Mathew Schowalter,ENGINEER +Ms. May Lowe MD,MANAGER +Ms. Henriette Rau,MANAGER +Reuben Wiza IV,ENGINEER +Mr. Roman Bernhard,ENGINEER +Norval Breitenberg,ENGINEER +Deshawn Gibson,ENGINEER +Nola Corwin,ENGINEER +Bernadine Beatty III,MANAGER +Berneice Baumbach,ENGINEER +Aaliyah Brown,ENGINEER +Mariana Mills,ENGINEER +Filiberto Jenkins,ENGINEER +Madisen Bode,MANAGER +Brant Kuvalis Sr.,MANAGER +Mr. Wiley Green,MANAGER +Nova Padberg,ENGINEER +Rosanna Carter,ENGINEER +Jacquelyn Rau,MANAGER +Mr. Gunner Kub I,MANAGER +Roberto Spinka,MANAGER +Bettie Greenfelder,ENGINEER +Ms. Nedra Towne,MANAGER +Ms. Amely Cartwright,ENGINEER +Ms. Joy Wiegand,ENGINEER +Kayley Moore DDS,MANAGER +Philip Mayer,MANAGER +Ms. Mae Bartell,MANAGER +Efren Paucek,MANAGER +Mr. Marques Mayert DDS,MANAGER +Zelma Zboncak,MANAGER +Camila Buckridge,MANAGER +Mr. Savion Trantow V,ENGINEER +Lonny Bahringer,ENGINEER +Mr. Valentin Stehr,MANAGER +Chanelle Willms,ENGINEER +Holly Swaniawski V,MANAGER +Eloy Bailey,ENGINEER +Doris Buckridge,ENGINEER +Mr. Zackary Fahey MD,MANAGER +Nella DuBuque,MANAGER +Kenya Cronin,MANAGER +Blanche Torp,ENGINEER +Estevan Walsh,ENGINEER +Kurt Greenholt Sr.,MANAGER +Beverly Torp,MANAGER +Ms. Dorothea Hackett,MANAGER +Brigitte Kunde,ENGINEER +Jackeline Harber,MANAGER +Ms. Justine Deckow Sr.,ENGINEER +Vicenta Rolfson,ENGINEER +Holly Tremblay,MANAGER +Emilio Windler,MANAGER +Erin Beier,ENGINEER +Kali Terry,MANAGER +Mr. Aron Walsh,MANAGER +Ms. Veronica Ankunding,MANAGER +Amaya Adams PhD,MANAGER +Milford Watsica II,MANAGER +Ms. Prudence Harvey,MANAGER +Brice Schinner,MANAGER +Kayden Witting,ENGINEER +Shad Beatty,MANAGER +Ms. Sunny Braun DVM,ENGINEER +Ally Kiehn,ENGINEER +Sierra Dietrich Sr.,MANAGER +Diego Hoeger,ENGINEER +Allene Stokes,ENGINEER +Mr. Chaz Kemmer III,MANAGER +Ms. Lurline Kessler II,ENGINEER +Carli Osinski,MANAGER +Prince Kunze,MANAGER +Jared Schoen,ENGINEER +Sven Lesch,ENGINEER +Alec Ernser,MANAGER +Jean Daniel,ENGINEER +Ambrose Hansen,ENGINEER +Ms. Aubree Cruickshank,ENGINEER +Ms. Aniya Doyle,MANAGER +Julianne Weissnat,MANAGER +Emanuel Friesen I,MANAGER +Ms. Trycia Schulist DDS,ENGINEER +Caesar Runolfsson II,MANAGER +Torrance Blick,MANAGER +Kailyn Ortiz,ENGINEER +Mackenzie Farrell V,ENGINEER +Cristian Quitzon III,ENGINEER +Josie O'Connell PhD,MANAGER +Kristian Hermann,ENGINEER +Brady Halvorson,ENGINEER +Foster Monahan,MANAGER +Mr. Aron Dietrich V,MANAGER +Ms. Delilah Blick I,MANAGER +Mr. Ulises Kuvalis IV,MANAGER +Ms. Kimberly Goodwin DDS,ENGINEER +Ms. Tia Kling III,ENGINEER +Mr. Jovanny Hoppe IV,MANAGER +Mohamed Brekke I,MANAGER +Dillan Jenkins,MANAGER +Alyce Willms,ENGINEER +Claudine Corkery,MANAGER +Royal Krajcik,MANAGER +Mr. Tyrese Erdman,ENGINEER +Geo Reichel,ENGINEER +Euna Vandervort,ENGINEER +Anjali Moen,MANAGER +Ms. Yvette Treutel PhD,ENGINEER +Kolby Yundt,MANAGER +Mr. Kelton Graham,ENGINEER +Don Corkery,ENGINEER +Wilburn Stark,ENGINEER +Estel Lesch,MANAGER +Kara Hoeger Sr.,MANAGER +Mr. Rhiannon Daugherty,MANAGER +Mr. Diego Wolff,MANAGER +Fay Hansen,MANAGER +Imani Fritsch,MANAGER +Derrick Fay,MANAGER +Newell Marks,MANAGER +Lexie Koch,ENGINEER +Irma Mayert,MANAGER +Schuyler Prosacco,ENGINEER +Madaline Trantow,ENGINEER +Abbie Witting II,ENGINEER +Jocelyn Sawayn PhD,MANAGER +Ms. Laisha Auer,MANAGER +Gregoria Krajcik,MANAGER +Rosalind Considine,ENGINEER +Noemie Howell,ENGINEER +Micah Pollich,ENGINEER +Mr. Jett Parisian DVM,ENGINEER +Edythe Haley PhD,ENGINEER +Carlos Breitenberg,MANAGER +Lina Bayer DVM,ENGINEER +Ms. Ora Cremin,MANAGER +Mr. Hilario Bogan,ENGINEER +Ramona Turcotte,MANAGER +Elisabeth Sanford,MANAGER +Telly Streich,MANAGER +Ms. Naomie Feest I,MANAGER +Ariane Mayer,ENGINEER +German Kuhlman IV,ENGINEER +Ruby Tremblay Sr.,ENGINEER +Ocie Pollich,MANAGER +Jaqueline Bailey,ENGINEER +Mr. Kyler VonRueden,ENGINEER +Cydney Stanton MD,ENGINEER +Marjorie Ritchie,ENGINEER +Marjolaine Kuphal,ENGINEER +Jewell McDermott,ENGINEER +Armand Batz,ENGINEER +Gudrun Moen,ENGINEER +Ms. Hilda Friesen,MANAGER +Annalise Kshlerin,ENGINEER +Josephine Thiel,ENGINEER +Casper Towne III,ENGINEER +Buster Lubowitz,MANAGER +Ms. Jazmin Schultz,MANAGER +Mr. Austyn Schuppe,MANAGER +Mr. Geovanni Wyman,MANAGER +Mr. Fletcher Rice,MANAGER +Carleton Stoltenberg,ENGINEER +Evan Jaskolski DDS,ENGINEER +Ms. Mertie Collins,ENGINEER +Marianna Pfannerstill Jr.,ENGINEER +Conor Wilderman,MANAGER +Jordan Mann,ENGINEER +Mr. Mavis Gutkowski,ENGINEER +Griffin Ratke Jr.,ENGINEER +Dan Funk,MANAGER +Rafael Denesik,ENGINEER +Jazmyne Runolfsson DDS,ENGINEER +Aurore Dach,ENGINEER +Alvah Gaylord,MANAGER +Mr. Jerod Gleichner,ENGINEER +Ms. Brisa Ledner,MANAGER +Ms. Rahsaan Stokes,ENGINEER +Mr. Wyatt Stokes MD,ENGINEER +Molly Smitham,ENGINEER +Madison Block,MANAGER +Briana Dickens,ENGINEER +Javonte Von,MANAGER +Marley Erdman,MANAGER +Luciano Christiansen,MANAGER +Skye Schinner,ENGINEER +Icie Denesik,MANAGER +Lulu Thiel,ENGINEER +Deion Little,ENGINEER +Serenity Davis MD,MANAGER +Wilburn Muller,MANAGER +Allen Jacobson,MANAGER +Ms. Jada Krajcik V,MANAGER +Chester Klein,MANAGER +Graciela Bailey,MANAGER +Myrtice Bergnaum,MANAGER +Mr. Allan Howell,MANAGER +Dolly Hagenes Jr.,ENGINEER +Audreanne Beahan,ENGINEER +Kraig Kuvalis,MANAGER +Fausto Stokes,ENGINEER +Una Orn,MANAGER +Ms. Yasmine Pfeffer,ENGINEER +Ms. Cassie Brakus,ENGINEER +Ora Lynch MD,MANAGER +Viviane Botsford MD,MANAGER +Jade Stamm,MANAGER +Norene Keebler II,MANAGER +Orlando Reilly,ENGINEER +Ms. Gertrude Greenholt,MANAGER +Zora Koelpin,MANAGER +Everett Funk,MANAGER +Anthony Connelly Jr.,ENGINEER +Ruthie Parker,MANAGER +Orlo Zemlak,ENGINEER +Baylee Kirlin Sr.,ENGINEER +Catharine Bosco,MANAGER +Clotilde Kshlerin,ENGINEER +Ms. Shanon Strosin PhD,MANAGER +Kim Kub,ENGINEER +Chase Walsh III,MANAGER +Ms. Dahlia Gleason,MANAGER +Mr. Nelson Reilly,MANAGER +Viola Schoen,MANAGER +Yesenia Jones,ENGINEER +Lavinia Beier,ENGINEER +Marcella Wunsch,ENGINEER +Zelma Hirthe,ENGINEER +Shany Borer,ENGINEER +Eusebio Stroman,MANAGER +Mr. Frankie Johnson V,ENGINEER +Mr. Liam Gleason,MANAGER +Moises Greenfelder II,ENGINEER +Ms. Gretchen Corkery,MANAGER +Ms. Hassie Haley Jr.,MANAGER +Haleigh Carter,MANAGER +Keara Schuster,MANAGER +Christelle Armstrong,ENGINEER +Misael Hamill,ENGINEER +Mr. Dillan Friesen,MANAGER +Mr. Jaydon Mann IV,ENGINEER +Audra Goodwin,ENGINEER +Mr. Jovan Wilkinson,ENGINEER +Meggie Kuhic,ENGINEER +Maiya Lindgren,MANAGER +Tanner Wolf,ENGINEER +Tina Barton,MANAGER +Zola Swift,ENGINEER +Verda Fisher,ENGINEER +Joesph Stroman Jr.,ENGINEER +Bart Pfannerstill,MANAGER +Ms. Pattie Tremblay,MANAGER +Mr. Sigurd Schaden DVM,ENGINEER +Abdiel Schumm,MANAGER +Columbus Denesik,ENGINEER +Mr. Demario Shields,ENGINEER +Yasmeen Lowe,MANAGER +Maryjane McGlynn PhD,ENGINEER +Ms. Flavie Rutherford,ENGINEER +Alanis Wuckert,MANAGER +Ms. Sophie Predovic,ENGINEER +Selina Torp,ENGINEER +Melyssa Tromp DDS,ENGINEER +Adrain Rohan,MANAGER +Ms. Elsa Stroman,MANAGER +Constance Ebert,ENGINEER +Abigayle Schiller,MANAGER +Arden Flatley MD,ENGINEER +Leonor Jaskolski,ENGINEER +Mr. Antone Skiles PhD,ENGINEER +Bert Balistreri V,ENGINEER +Sierra Stark Jr.,ENGINEER +Thad Kilback,MANAGER +Ms. Sydni Klein IV,MANAGER +Owen Herman,ENGINEER +Jaquelin Hodkiewicz,MANAGER +Joel Corkery MD,ENGINEER +Magnus Christiansen,MANAGER +Ms. Verla Considine V,ENGINEER +Mr. Gage Murazik PhD,ENGINEER +Mr. Pedro Abshire,MANAGER +Ms. Frances Schiller,ENGINEER +May Casper,ENGINEER +Christiana Towne,ENGINEER +Lester Beier,MANAGER +Juwan Crooks,MANAGER +Brown Borer Sr.,ENGINEER +Gregory Funk V,MANAGER +Ms. Alaina Altenwerth,MANAGER +Ms. Aylin Auer,ENGINEER +Mr. Isac Buckridge,ENGINEER +Mr. Morgan Kilback DVM,MANAGER +Rasheed Casper,MANAGER +Jennyfer Walker,ENGINEER +Shaun Fay,MANAGER +Ms. Thalia Weissnat,ENGINEER +Hoyt Balistreri,MANAGER +Mr. Ronny Sipes,ENGINEER +Jailyn Hoppe,ENGINEER +Maximillian Howe,ENGINEER +Mr. Sofia Hills,ENGINEER +Catharine Kunde,MANAGER +Ms. Bryana Kreiger IV,ENGINEER +Lavonne Reinger,ENGINEER +Albert Keeling,ENGINEER +Ms. Taya Feest III,ENGINEER +Maida Daugherty,MANAGER +Myra Heathcote,ENGINEER +Brooke Price,MANAGER +Mr. Kale Watsica,ENGINEER +Abbigail Wiza III,MANAGER +Jaron Dickinson,ENGINEER +Angus Senger,MANAGER +Ms. Abbie Aufderhar,MANAGER +Ms. Josefina Stark III,ENGINEER +Craig Osinski,MANAGER +Lenny Mayer DDS,ENGINEER +Mireya Wilderman,ENGINEER +Marianne Wiegand,MANAGER +Hilario Schumm,ENGINEER +Mr. Myron Dare,ENGINEER +Micaela Ryan MD,ENGINEER +Emmett Becker,MANAGER +Jamey Wolf,ENGINEER +Lue Dooley,MANAGER +Shaun Kris,MANAGER +Ms. Imogene Ledner DVM,MANAGER +Neil Connelly,ENGINEER +Mr. Rudy Volkman,ENGINEER +Patricia O'Reilly,ENGINEER +Mr. Jarred Treutel V,ENGINEER +Mr. Omari Murazik I,ENGINEER +Albin Lockman,MANAGER +Ms. Nona Grady,MANAGER +Terrence Murphy,MANAGER +Mr. Madyson Deckow,MANAGER +Ms. Carissa Kling,ENGINEER +Mr. Fredy Bogisich,ENGINEER +Reanna Wuckert,ENGINEER +Angie Nolan,MANAGER +Virginie Braun,ENGINEER +Jarred Flatley,ENGINEER +Ms. Leora Kihn II,MANAGER +Cathrine Kovacek,ENGINEER +Wilmer Becker,MANAGER +Missouri Franecki,ENGINEER +Mekhi Donnelly PhD,MANAGER +Ms. Willow Towne I,MANAGER +Jaylon Rippin,MANAGER +Alanis Hettinger,ENGINEER +Ms. Felicita Becker DVM,ENGINEER +Zelda Daniel,MANAGER +Mr. Emil Jast IV,MANAGER +Kian Satterfield,MANAGER +Mr. Cooper Dooley,ENGINEER diff --git a/internal/service/comprehend/test-fixtures/generate/document_classifier/main.go b/internal/service/comprehend/test-fixtures/generate/document_classifier/main.go index a42861348e2e..b2fb0c8a28f8 100644 --- a/internal/service/comprehend/test-fixtures/generate/document_classifier/main.go +++ b/internal/service/comprehend/test-fixtures/generate/document_classifier/main.go @@ -36,9 +36,9 @@ var spamDocs = []string{ func main() { log.SetFlags(0) - seed := int64(1) // Default rand seed + seed := int64(48) // Default rand seed r := rand.New(rand.NewSource(seed)) - fake := faker.New() + fake := faker.NewWithSeedInt64(seed) documentFile, err := os.OpenFile("./test-fixtures/document_classifier/documents.csv", os.O_TRUNC|os.O_CREATE|os.O_WRONLY, 0600) if err != nil { diff --git a/internal/service/comprehend/test-fixtures/generate/document_classifier_multilabel/main.go b/internal/service/comprehend/test-fixtures/generate/document_classifier_multilabel/main.go index 942e3249c235..36cc3ca1965e 100644 --- a/internal/service/comprehend/test-fixtures/generate/document_classifier_multilabel/main.go +++ b/internal/service/comprehend/test-fixtures/generate/document_classifier_multilabel/main.go @@ -41,9 +41,9 @@ var comedyWords = []string{ func main() { log.SetFlags(0) - seed := int64(1) // Default rand seed + seed := int64(48) // Default rand seed r := rand.New(rand.NewSource(seed)) - fake := faker.New() + fake := faker.NewWithSeedInt64(seed) // documentFile, err := os.OpenFile("./test-fixtures/document_classifier_multilabel/documents.csv", os.O_TRUNC|os.O_CREATE|os.O_WRONLY, 0600) documentFile, err := os.OpenFile("../../../test-fixtures/document_classifier_multilabel/documents.csv", os.O_TRUNC|os.O_CREATE|os.O_WRONLY, 0600) diff --git a/internal/service/comprehend/test-fixtures/generate/entity_recognizer/main.go b/internal/service/comprehend/test-fixtures/generate/entity_recognizer/main.go index c879a3877e1b..107595fa50f2 100644 --- a/internal/service/comprehend/test-fixtures/generate/entity_recognizer/main.go +++ b/internal/service/comprehend/test-fixtures/generate/entity_recognizer/main.go @@ -41,9 +41,9 @@ func main() { log.SetFlags(0) - seed := int64(1) // Default rand seed + seed := int64(48) // Default rand seed r := rand.New(rand.NewSource(seed)) - fake := faker.New() + fake := faker.NewWithSeedInt64(seed) entitiesFile, err := os.OpenFile("./test-fixtures/entity_recognizer/entitylist.csv", os.O_TRUNC|os.O_CREATE|os.O_WRONLY, 0600) if err != nil { From 09b42f6884b39c0fdfca11bdc5234e7f5fd8703e Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 8 Aug 2025 12:19:24 -0700 Subject: [PATCH 0730/1301] Updates comment --- internal/slices/iter.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/internal/slices/iter.go b/internal/slices/iter.go index 7abd0baaff38..f0a987de277f 100644 --- a/internal/slices/iter.go +++ b/internal/slices/iter.go @@ -18,7 +18,8 @@ func AppliedToEach[S ~[]E, E any, T any](s S, f func(E) T) iter.Seq[T] { } } -// Backward returns an iterator that yields the slice elements in reverse order. +// BackwardValues returns an iterator that yields the slice elements in reverse order. +// It is a values-only equivalent of `slices.Backward`. func BackwardValues[Slice ~[]E, E any](s Slice) iter.Seq[E] { return func(yield func(E) bool) { for i := len(s) - 1; i >= 0; i-- { From f27eae76af4065a059ce8ca7ff60a05919e23aa4 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 8 Aug 2025 12:22:55 -0700 Subject: [PATCH 0731/1301] Moves slice iterator tests to separate test file --- internal/slices/iter_test.go | 49 ++++++++++++++++++++++++++++++++++ internal/slices/slices_test.go | 38 -------------------------- 2 files changed, 49 insertions(+), 38 deletions(-) create mode 100644 internal/slices/iter_test.go diff --git a/internal/slices/iter_test.go b/internal/slices/iter_test.go new file mode 100644 index 000000000000..3fc7eff4fb68 --- /dev/null +++ b/internal/slices/iter_test.go @@ -0,0 +1,49 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package slices + +import ( + "slices" + "strings" + "testing" + + "github.com/google/go-cmp/cmp" +) + +func TestAppliedToEach(t *testing.T) { + t.Parallel() + + type testCase struct { + input []string + expected []string + } + tests := map[string]testCase{ + "three elements": { + input: []string{"one", "two", "3"}, + expected: []string{"ONE", "TWO", "3"}, + }, + "one element": { + input: []string{"abcdEFGH"}, + expected: []string{"ABCDEFGH"}, + }, + "zero elements": { + input: []string{}, + expected: nil, + }, + } + + for name, test := range tests { + t.Run(name, func(t *testing.T) { + t.Parallel() + + iter := AppliedToEach(test.input, strings.ToUpper) + + got := slices.Collect(iter) + + if diff := cmp.Diff(got, test.expected); diff != "" { + t.Errorf("unexpected diff (+wanted, -got): %s", diff) + } + }) + } +} diff --git a/internal/slices/slices_test.go b/internal/slices/slices_test.go index 5983706b971f..0537d29f2cfd 100644 --- a/internal/slices/slices_test.go +++ b/internal/slices/slices_test.go @@ -4,7 +4,6 @@ package slices import ( - "slices" "strings" "testing" @@ -154,43 +153,6 @@ func TestApplyToAll(t *testing.T) { } } -func TestAppliedToEach(t *testing.T) { - t.Parallel() - - type testCase struct { - input []string - expected []string - } - tests := map[string]testCase{ - "three elements": { - input: []string{"one", "two", "3"}, - expected: []string{"ONE", "TWO", "3"}, - }, - "one element": { - input: []string{"abcdEFGH"}, - expected: []string{"ABCDEFGH"}, - }, - "zero elements": { - input: []string{}, - expected: nil, - }, - } - - for name, test := range tests { - t.Run(name, func(t *testing.T) { - t.Parallel() - - iter := AppliedToEach(test.input, strings.ToUpper) - - got := slices.Collect(iter) - - if diff := cmp.Diff(got, test.expected); diff != "" { - t.Errorf("unexpected diff (+wanted, -got): %s", diff) - } - }) - } -} - func TestFilter(t *testing.T) { t.Parallel() From a9a73df1dd04d75c447f9f24427badafe13fd35c Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 8 Aug 2025 12:30:13 -0700 Subject: [PATCH 0732/1301] Adds test for `BackwardValues` --- internal/slices/iter_test.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/internal/slices/iter_test.go b/internal/slices/iter_test.go index 3fc7eff4fb68..da14cec58c2a 100644 --- a/internal/slices/iter_test.go +++ b/internal/slices/iter_test.go @@ -47,3 +47,25 @@ func TestAppliedToEach(t *testing.T) { }) } } + +// Copied and adapted from stdlib slices package +func TestBackwardValues(t *testing.T) { + for size := range 10 { + var s []int + for i := range size { + s = append(s, i) + } + ev := size - 1 + cnt := 0 + for v := range BackwardValues(s) { + if v != ev { + t.Errorf("at iteration %d got %d want %d", cnt, v, ev) + } + ev-- + cnt++ + } + if cnt != size { + t.Errorf("read %d values expected %d", cnt, size) + } + } +} From 407ce1cf3bc158e91745053f3abc430c39202f95 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 8 Aug 2025 12:36:16 -0700 Subject: [PATCH 0733/1301] `t.Parallel` --- internal/provider/framework/intercept_test.go | 20 +++++++++++++++++++ internal/slices/iter_test.go | 2 ++ 2 files changed, 22 insertions(+) diff --git a/internal/provider/framework/intercept_test.go b/internal/provider/framework/intercept_test.go index ce17f497b8d4..d90f63a3d9fd 100644 --- a/internal/provider/framework/intercept_test.go +++ b/internal/provider/framework/intercept_test.go @@ -14,6 +14,8 @@ import ( ) func TestInterceptedHandler_Diags_FirstHasBeforeError(t *testing.T) { + t.Parallel() + expectedDiags := diag.Diagnostics{ diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), diag.NewErrorDiagnostic("First interceptor Before error", "An error occurred in the first interceptor Before handler"), @@ -64,6 +66,8 @@ func TestInterceptedHandler_Diags_FirstHasBeforeError(t *testing.T) { } func TestInterceptedHandler_Diags_SecondHasBeforeError(t *testing.T) { + t.Parallel() + expectedDiags := diag.Diagnostics{ diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), diag.NewErrorDiagnostic("Second interceptor Before error", "An error occurred in the second interceptor Before handler"), @@ -114,6 +118,8 @@ func TestInterceptedHandler_Diags_SecondHasBeforeError(t *testing.T) { } func TestInterceptedHandler_Diags_FirstHasBeforeWarning(t *testing.T) { + t.Parallel() + expectedDiags := diag.Diagnostics{ diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), diag.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), @@ -164,6 +170,8 @@ func TestInterceptedHandler_Diags_FirstHasBeforeWarning(t *testing.T) { } func TestInterceptedHandler_Diags_SecondHasBeforeWarning(t *testing.T) { + t.Parallel() + expectedDiags := diag.Diagnostics{ diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), diag.NewWarningDiagnostic("Second interceptor Before warning", "A warning occurred in the second interceptor Before handler"), @@ -214,6 +222,8 @@ func TestInterceptedHandler_Diags_SecondHasBeforeWarning(t *testing.T) { } func TestInterceptedHandler_Diags_FirstHasBeforeWarning_SecondHasBeforeError(t *testing.T) { + t.Parallel() + expectedDiags := diag.Diagnostics{ diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), diag.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), @@ -269,6 +279,8 @@ func TestInterceptedHandler_Diags_FirstHasBeforeWarning_SecondHasBeforeError(t * } func TestInterceptedHandler_Diags_InnerHasError(t *testing.T) { + t.Parallel() + expectedDiags := diag.Diagnostics{ diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), diag.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), @@ -318,6 +330,8 @@ func TestInterceptedHandler_Diags_InnerHasError(t *testing.T) { } func TestInterceptedHandler_Diags_InnerHasWarning(t *testing.T) { + t.Parallel() + expectedDiags := diag.Diagnostics{ diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), diag.NewWarningDiagnostic("Inner function warning", "A warning occurred in the inner function"), @@ -367,6 +381,8 @@ func TestInterceptedHandler_Diags_InnerHasWarning(t *testing.T) { } func TestInterceptedHandler_Diags_InnerHasError_FirstHasBeforeWarning(t *testing.T) { + t.Parallel() + expectedDiags := diag.Diagnostics{ diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), diag.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), @@ -422,6 +438,8 @@ func TestInterceptedHandler_Diags_InnerHasError_FirstHasBeforeWarning(t *testing } func TestInterceptedHandler_Diags_AllHaveWarnings(t *testing.T) { + t.Parallel() + expectedDiags := diag.Diagnostics{ diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), diag.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), @@ -497,6 +515,8 @@ func TestInterceptedHandler_Diags_AllHaveWarnings(t *testing.T) { } func TestInterceptedHandler_Diags_InnerHasError_HandlersHaveWarnings(t *testing.T) { + t.Parallel() + expectedDiags := diag.Diagnostics{ diag.NewWarningDiagnostic("Pre-existing warning", "This is a pre-existing warning that should not be affected by the interceptors"), diag.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), diff --git a/internal/slices/iter_test.go b/internal/slices/iter_test.go index da14cec58c2a..f8c5ea0263df 100644 --- a/internal/slices/iter_test.go +++ b/internal/slices/iter_test.go @@ -50,6 +50,8 @@ func TestAppliedToEach(t *testing.T) { // Copied and adapted from stdlib slices package func TestBackwardValues(t *testing.T) { + t.Parallel() + for size := range 10 { var s []int for i := range size { From 73dd3b296527d4b3b7492ff277fd41bc0826d224 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 8 Aug 2025 12:43:35 -0700 Subject: [PATCH 0734/1301] Adds `stringer` to tools used for code generation --- .github/workflows/provider.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/provider.yml b/.github/workflows/provider.yml index 673b56e39d0f..e550fbf336f1 100644 --- a/.github/workflows/provider.yml +++ b/.github/workflows/provider.yml @@ -113,6 +113,7 @@ jobs: path: ~/go/pkg/mod key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }} - run: go install golang.org/x/tools/cmd/goimports@latest + - run: go install golang.org/x/tools/cmd/stringer@latest - run: make gen - name: Check for Git Differences run: | From 36d271af1890424445d5c85e8296fca7a1cc74fa Mon Sep 17 00:00:00 2001 From: changelogbot Date: Fri, 8 Aug 2025 20:10:23 +0000 Subject: [PATCH 0735/1301] Update CHANGELOG.md for #43784 --- CHANGELOG.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f0e58bcca00a..6e4c8aa78130 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ ## 6.9.0 (Unreleased) +ENHANCEMENTS: + +* resource/aws_dynamodb_table: Add `replica.deletion_protection_enabled` argument ([#43240](https://github.com/hashicorp/terraform-provider-aws/issues/43240)) + +BUG FIXES: + +* data-source/aws_lambda_function: Fix missing value for `reserved_concurrent_executions` attribute when a published version exists. This functionality requires the `lambda:GetFunctionConcurrency` IAM permission ([#43753](https://github.com/hashicorp/terraform-provider-aws/issues/43753)) +* resource/aws_cognito_risk_configuration: Make `account_takeover_risk_configuration.notify_configuration` optional ([#33624](https://github.com/hashicorp/terraform-provider-aws/issues/33624)) +* resource/aws_lambda_function: Fix missing value for `reserved_concurrent_executions` attribute when a published version exists. This functionality requires the `lambda:GetFunctionConcurrency` IAM permission ([#43753](https://github.com/hashicorp/terraform-provider-aws/issues/43753)) +* resource/aws_servicequotas_service_quota: Add validation, during `create`, to check if new value is less than current value of quota ([#43545](https://github.com/hashicorp/terraform-provider-aws/issues/43545)) + ## 6.8.0 (August 7, 2025) FEATURES: From 8ccf5b66f35326317abfe49c0cd0f30e9c29dfc9 Mon Sep 17 00:00:00 2001 From: GHA Date: Fri, 8 Aug 2025 14:48:20 -0700 Subject: [PATCH 0736/1301] remove debug --- internal/service/appsync/api.go | 15 +------------ internal/service/appsync/api_tags_gen_test.go | 21 +++++++++++++++++++ .../appsync/graphql_api_tags_gen_test.go | 21 +++++++++++++++++++ 3 files changed, 43 insertions(+), 14 deletions(-) diff --git a/internal/service/appsync/api.go b/internal/service/appsync/api.go index 47d42ffa8cca..1833f763382f 100644 --- a/internal/service/appsync/api.go +++ b/internal/service/appsync/api.go @@ -6,7 +6,6 @@ package appsync import ( "context" "errors" - "fmt" "time" "github.com/YakDriver/smarterr" @@ -42,7 +41,7 @@ import ( // @IdentityAttribute("id") // @#Testing(importStateIdAttribute="id") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/appsync/types;awstypes;awstypes.Api") -// @Testing(preIdentityVersion="") +// @Testing(hasNoPreExistingResource=true) func newAPIResource(_ context.Context) (resource.ResourceWithConfigure, error) { r := &resourceAPI{} @@ -315,7 +314,6 @@ func (r *resourceAPI) Read(ctx context.Context, req resource.ReadRequest, resp * } apiId := state.ApiId.ValueString() - fmt.Println("Read api id", apiId) out, err := findAPIByID(ctx, conn, apiId) if tfresource.NotFound(err) { @@ -426,11 +424,6 @@ func waitAPICreated(ctx context.Context, conn *appsync.Client, id string, timeou } outputRaw, err := stateConf.WaitForStateContext(ctx) - if err != nil { - fmt.Printf("[DEBUG] waitAPICreated: Wait failed with error: %v\n", err) - } else { - fmt.Printf("[DEBUG] waitAPICreated: Wait completed successfully for API: %s\n", id) - } if out, ok := outputRaw.(*awstypes.Api); ok { return out, smarterr.NewError(err) @@ -440,7 +433,6 @@ func waitAPICreated(ctx context.Context, conn *appsync.Client, id string, timeou } func waitAPIDeleted(ctx context.Context, conn *appsync.Client, id string, timeout time.Duration) (*awstypes.Api, error) { - fmt.Printf("[DEBUG] waitAPIDeleted: Starting wait for API deletion: %s\n", id) stateConf := &retry.StateChangeConf{ Pending: []string{statusDeleting, statusNormal}, Target: []string{}, @@ -449,11 +441,6 @@ func waitAPIDeleted(ctx context.Context, conn *appsync.Client, id string, timeou } outputRaw, err := stateConf.WaitForStateContext(ctx) - if err != nil { - fmt.Printf("[DEBUG] waitAPIDeleted: Wait failed with error: %v\n", err) - } else { - fmt.Printf("[DEBUG] waitAPIDeleted: Wait completed successfully for API: %s\n", id) - } if out, ok := outputRaw.(*awstypes.Api); ok { return out, smarterr.NewError(err) diff --git a/internal/service/appsync/api_tags_gen_test.go b/internal/service/appsync/api_tags_gen_test.go index aa9ed5069b47..e762bcc9c5c6 100644 --- a/internal/service/appsync/api_tags_gen_test.go +++ b/internal/service/appsync/api_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccAppSyncAPI_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccAppSyncAPI_tags(t *testing.T) { func TestAccAppSyncAPI_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -262,6 +264,7 @@ func TestAccAppSyncAPI_tags_null(t *testing.T) { func TestAccAppSyncAPI_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -312,6 +315,7 @@ func TestAccAppSyncAPI_tags_EmptyMap(t *testing.T) { func TestAccAppSyncAPI_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -392,6 +396,7 @@ func TestAccAppSyncAPI_tags_AddOnUpdate(t *testing.T) { func TestAccAppSyncAPI_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -482,6 +487,7 @@ func TestAccAppSyncAPI_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccAppSyncAPI_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -621,6 +627,7 @@ func TestAccAppSyncAPI_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccAppSyncAPI_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -711,6 +718,7 @@ func TestAccAppSyncAPI_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccAppSyncAPI_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -892,6 +900,7 @@ func TestAccAppSyncAPI_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccAppSyncAPI_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1052,6 +1061,7 @@ func TestAccAppSyncAPI_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccAppSyncAPI_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1228,6 +1238,7 @@ func TestAccAppSyncAPI_tags_DefaultTags_overlapping(t *testing.T) { func TestAccAppSyncAPI_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1318,6 +1329,7 @@ func TestAccAppSyncAPI_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccAppSyncAPI_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1407,6 +1419,7 @@ func TestAccAppSyncAPI_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccAppSyncAPI_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccAppSyncAPI_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccAppSyncAPI_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1531,6 +1545,7 @@ func TestAccAppSyncAPI_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccAppSyncAPI_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1600,6 +1615,7 @@ func TestAccAppSyncAPI_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) func TestAccAppSyncAPI_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1671,6 +1687,7 @@ func TestAccAppSyncAPI_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing func TestAccAppSyncAPI_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1726,6 +1743,7 @@ func TestAccAppSyncAPI_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccAppSyncAPI_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1823,6 +1841,7 @@ func TestAccAppSyncAPI_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccAppSyncAPI_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1929,7 @@ func TestAccAppSyncAPI_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccAppSyncAPI_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2072,6 +2092,7 @@ func TestAccAppSyncAPI_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccAppSyncAPI_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/appsync/graphql_api_tags_gen_test.go b/internal/service/appsync/graphql_api_tags_gen_test.go index 8c99f5b13754..af591227be30 100644 --- a/internal/service/appsync/graphql_api_tags_gen_test.go +++ b/internal/service/appsync/graphql_api_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccAppSyncGraphQLAPI_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccAppSyncGraphQLAPI_tags(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccAppSyncGraphQLAPI_tags_null(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccAppSyncGraphQLAPI_tags_EmptyMap(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccAppSyncGraphQLAPI_tags_AddOnUpdate(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccAppSyncGraphQLAPI_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccAppSyncGraphQLAPI_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccAppSyncGraphQLAPI_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccAppSyncGraphQLAPI_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccAppSyncGraphQLAPI_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccAppSyncGraphQLAPI_tags_DefaultTags_overlapping(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccAppSyncGraphQLAPI_tags_DefaultTags_updateToProviderOnly(t *testing.T func TestAccAppSyncGraphQLAPI_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccAppSyncGraphQLAPI_tags_DefaultTags_updateToResourceOnly(t *testing.T func TestAccAppSyncGraphQLAPI_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccAppSyncGraphQLAPI_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccAppSyncGraphQLAPI_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T func TestAccAppSyncGraphQLAPI_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccAppSyncGraphQLAPI_tags_DefaultTags_nullOverlappingResourceTag(t *tes func TestAccAppSyncGraphQLAPI_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccAppSyncGraphQLAPI_tags_DefaultTags_nullNonOverlappingResourceTag(t * func TestAccAppSyncGraphQLAPI_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccAppSyncGraphQLAPI_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccAppSyncGraphQLAPI_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccAppSyncGraphQLAPI_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccAppSyncGraphQLAPI_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) From db9ab08b3fb582d19454e6621d731525cf5af9ca Mon Sep 17 00:00:00 2001 From: ThomasZalewski Date: Fri, 18 Jul 2025 13:19:54 -0700 Subject: [PATCH 0737/1301] added support for event_api resource --- internal/service/appsync/event_api.go | 578 ++++++++++++++++++ .../appsync/event_api_identity_gen_test.go | 196 ++++++ internal/service/appsync/event_api_test.go | 553 +++++++++++++++++ internal/service/appsync/exports_test.go | 2 + internal/service/appsync/generate.go | 1 + .../service/appsync/service_package_gen.go | 10 + .../testdata/EventAPI/basic/main_gen.tf | 160 +++++ .../EventAPI/region_overide/main_gen.tf | 11 + .../EventAPI/region_override/main_gen.tf | 182 ++++++ .../appsync/testdata/tmpl/event_api_tags.gtpl | 160 +++++ .../docs/r/appsync_event_api.html.markdown | 277 +++++++++ 11 files changed, 2130 insertions(+) create mode 100644 internal/service/appsync/event_api.go create mode 100644 internal/service/appsync/event_api_identity_gen_test.go create mode 100644 internal/service/appsync/event_api_test.go create mode 100644 internal/service/appsync/testdata/EventAPI/basic/main_gen.tf create mode 100644 internal/service/appsync/testdata/EventAPI/region_overide/main_gen.tf create mode 100644 internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf create mode 100644 internal/service/appsync/testdata/tmpl/event_api_tags.gtpl create mode 100644 website/docs/r/appsync_event_api.html.markdown diff --git a/internal/service/appsync/event_api.go b/internal/service/appsync/event_api.go new file mode 100644 index 000000000000..38c5042e1837 --- /dev/null +++ b/internal/service/appsync/event_api.go @@ -0,0 +1,578 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package appsync + +import ( + "context" + "errors" + "fmt" + "time" + + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/service/appsync" + awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" + "github.com/hashicorp/terraform-plugin-framework-timeouts/resource/timeouts" + "github.com/hashicorp/terraform-plugin-framework-timetypes/timetypes" + "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" + "github.com/hashicorp/terraform-plugin-framework/path" + "github.com/hashicorp/terraform-plugin-framework/resource" + "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/int64planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/mapplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/schema/validator" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" + "github.com/hashicorp/terraform-provider-aws/internal/create" + "github.com/hashicorp/terraform-provider-aws/internal/errs" + "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" + "github.com/hashicorp/terraform-provider-aws/internal/framework" + "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" + fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" + tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" + "github.com/hashicorp/terraform-provider-aws/internal/tfresource" + "github.com/hashicorp/terraform-provider-aws/names" +) + +// @FrameworkResource("aws_appsync_event_api", name="Event API") +// @IdentityAttribute("id") +// @Testing(importStateIdAttribute="id") +// @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/appsync/types;awstypes;awstypes.Api") +func newEventApiResource(_ context.Context) (resource.ResourceWithConfigure, error) { + r := &resourceEventApi{} + + r.SetDefaultCreateTimeout(30 * time.Minute) + r.SetDefaultUpdateTimeout(30 * time.Minute) + r.SetDefaultDeleteTimeout(30 * time.Minute) + + return r, nil +} + +const ( + ResNameEventApi = "Event API" +) + +type resourceEventApi struct { + framework.ResourceWithModel[resourceEventApiModel] + framework.WithTimeouts +} + +func (r *resourceEventApi) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { + resp.Schema = schema.Schema{ + Attributes: map[string]schema.Attribute{ + names.AttrARN: framework.ARNAttributeComputedOnly(), + "id": schema.StringAttribute{ + Computed: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.UseStateForUnknown(), + }, + }, + "created": schema.StringAttribute{ + CustomType: timetypes.RFC3339Type{}, + Computed: true, + }, + "dns": schema.MapAttribute{ + CustomType: fwtypes.MapOfStringType, + Computed: true, + PlanModifiers: []planmodifier.Map{ + mapplanmodifier.UseStateForUnknown(), + }, + }, + names.AttrName: schema.StringAttribute{ + Required: true, + }, + "owner_contact": schema.StringAttribute{ + Optional: true, + }, + names.AttrTags: tftags.TagsAttribute(), + names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), + "waf_web_acl_arn": schema.StringAttribute{ + Computed: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.UseStateForUnknown(), + }, + }, + "xray_enabled": schema.BoolAttribute{ + Computed: true, + }, + }, + Blocks: map[string]schema.Block{ + "event_config": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[eventConfigModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Blocks: map[string]schema.Block{ + "auth_providers": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[authProviderModel](ctx), + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "auth_type": schema.StringAttribute{ + Required: true, + CustomType: fwtypes.StringEnumType[awstypes.AuthenticationType](), + }, + }, + Blocks: map[string]schema.Block{ + "cognito_config": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[cognitoConfigModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "aws_region": schema.StringAttribute{ + Required: true, + }, + "user_pool_id": schema.StringAttribute{ + Required: true, + }, + "app_id_client_regex": schema.StringAttribute{ + Optional: true, + }, + }, + }, + }, + "lambda_authorizer_config": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[lambdaAuthorizerConfigModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "authorizer_result_ttl_in_seconds": schema.Int64Attribute{ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Int64{ + int64planmodifier.UseStateForUnknown(), + }, + }, + "authorizer_uri": schema.StringAttribute{ + Required: true, + }, + "identity_validation_expression": schema.StringAttribute{ + Optional: true, + }, + }, + }, + }, + "openid_connect_config": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[openIDConnectConfigModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "auth_ttl": schema.Int64Attribute{ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Int64{ + int64planmodifier.UseStateForUnknown(), + }, + }, + names.AttrClientID: schema.StringAttribute{ + Optional: true, + }, + "iat_ttl": schema.Int64Attribute{ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Int64{ + int64planmodifier.UseStateForUnknown(), + }, + }, + names.AttrIssuer: schema.StringAttribute{ + Required: true, + }, + }, + }, + }, + }, + }, + }, + "connection_auth_modes": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[authModeModel](ctx), + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "auth_type": schema.StringAttribute{ + Required: true, + CustomType: fwtypes.StringEnumType[awstypes.AuthenticationType](), + }, + }, + }, + }, + "default_publish_auth_modes": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[authModeModel](ctx), + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "auth_type": schema.StringAttribute{ + Required: true, + CustomType: fwtypes.StringEnumType[awstypes.AuthenticationType](), + }, + }, + }, + }, + "default_subscribe_auth_modes": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[authModeModel](ctx), + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "auth_type": schema.StringAttribute{ + Required: true, + CustomType: fwtypes.StringEnumType[awstypes.AuthenticationType](), + }, + }, + }, + }, + "log_config": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[eventLogConfigModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "cloudwatch_logs_role_arn": schema.StringAttribute{ + Required: true, + }, + "log_level": schema.StringAttribute{ + Required: true, + CustomType: fwtypes.StringEnumType[awstypes.EventLogLevel](), + }, + }, + }, + }, + }, + }, + }, + names.AttrTimeouts: timeouts.Block(ctx, timeouts.Opts{ + Create: true, + Update: true, + Delete: true, + }), + }, + } +} + +func (r *resourceEventApi) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { + conn := r.Meta().AppSyncClient(ctx) + + var plan resourceEventApiModel + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + if resp.Diagnostics.HasError() { + return + } + + var input appsync.CreateApiInput + resp.Diagnostics.Append(flex.Expand(ctx, plan, &input)...) + if resp.Diagnostics.HasError() { + return + } + + input.Tags = getTagsIn(ctx) + + out, err := conn.CreateApi(ctx, &input) + if err != nil { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.AppSync, create.ErrActionCreating, ResNameEventApi, plan.Name.String(), err), + err.Error(), + ) + return + } + if out == nil || out.Api == nil { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.AppSync, create.ErrActionCreating, ResNameEventApi, plan.Name.String(), nil), + errors.New("empty output").Error(), + ) + return + } + + resp.Diagnostics.Append(flex.Flatten(ctx, out.Api, &plan)...) + if resp.Diagnostics.HasError() { + return + } + + createTimeout := r.CreateTimeout(ctx, plan.Timeouts) + _, err = waitEventApiCreated(ctx, conn, plan.ApiId.ValueString(), createTimeout) + if err != nil { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.AppSync, create.ErrActionWaitingForCreation, ResNameEventApi, plan.Name.String(), err), + err.Error(), + ) + return + } + + resp.Diagnostics.Append(resp.State.Set(ctx, plan)...) +} + +func (r *resourceEventApi) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { + conn := r.Meta().AppSyncClient(ctx) + + var state resourceEventApiModel + resp.Diagnostics.Append(req.State.Get(ctx, &state)...) + if resp.Diagnostics.HasError() { + return + } + + apiId := state.ApiId.ValueString() + + out, err := findEventApiByID(ctx, conn, apiId) + if tfresource.NotFound(err) { + resp.Diagnostics.Append(fwdiag.NewResourceNotFoundWarningDiagnostic(err)) + resp.State.RemoveResource(ctx) + return + } + if err != nil { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.AppSync, create.ErrActionReading, ResNameEventApi, state.ApiId.String(), err), + err.Error(), + ) + return + } + + resp.Diagnostics.Append(flex.Flatten(ctx, out, &state)...) + if resp.Diagnostics.HasError() { + return + } + + resp.Diagnostics.Append(resp.State.Set(ctx, &state)...) +} + +func (r *resourceEventApi) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { + conn := r.Meta().AppSyncClient(ctx) + + var plan, state resourceEventApiModel + resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + resp.Diagnostics.Append(req.State.Get(ctx, &state)...) + if resp.Diagnostics.HasError() { + return + } + + diff, d := flex.Diff(ctx, plan, state) + resp.Diagnostics.Append(d...) + if resp.Diagnostics.HasError() { + return + } + + if diff.HasChanges() { + var input appsync.UpdateApiInput + resp.Diagnostics.Append(flex.Expand(ctx, plan, &input)...) + if resp.Diagnostics.HasError() { + return + } + + input.ApiId = plan.ApiId.ValueStringPointer() + + out, err := conn.UpdateApi(ctx, &input) + if err != nil { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.AppSync, create.ErrActionUpdating, ResNameEventApi, plan.ApiId.String(), err), + err.Error(), + ) + return + } + if out == nil || out.Api == nil { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.AppSync, create.ErrActionUpdating, ResNameEventApi, plan.ApiId.String(), nil), + errors.New("empty output").Error(), + ) + return + } + + resp.Diagnostics.Append(flex.Flatten(ctx, out.Api, &plan)...) + if resp.Diagnostics.HasError() { + return + } + } + + resp.Diagnostics.Append(resp.State.Set(ctx, &plan)...) +} + +func (r *resourceEventApi) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { + conn := r.Meta().AppSyncClient(ctx) + + var state resourceEventApiModel + resp.Diagnostics.Append(req.State.Get(ctx, &state)...) + if resp.Diagnostics.HasError() { + return + } + + input := appsync.DeleteApiInput{ + ApiId: state.ApiId.ValueStringPointer(), + } + + _, err := conn.DeleteApi(ctx, &input) + if err != nil { + if errs.IsA[*awstypes.NotFoundException](err) { + return + } + + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.AppSync, create.ErrActionDeleting, ResNameEventApi, state.ApiId.String(), err), + err.Error(), + ) + return + } + + deleteTimeout := r.DeleteTimeout(ctx, state.Timeouts) + _, err = waitEventApiDeleted(ctx, conn, state.ApiId.ValueString(), deleteTimeout) + if err != nil { + resp.Diagnostics.AddError( + create.ProblemStandardMessage(names.AppSync, create.ErrActionWaitingForDeletion, ResNameEventApi, state.ApiId.String(), err), + err.Error(), + ) + return + } +} + +func (r *resourceEventApi) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { + resource.ImportStatePassthroughID(ctx, path.Root("id"), req, resp) +} + +const ( + statusDeleting = "Deleting" + statusNormal = "Normal" +) + +func waitEventApiCreated(ctx context.Context, conn *appsync.Client, id string, timeout time.Duration) (*awstypes.Api, error) { + stateConf := &retry.StateChangeConf{ + Pending: []string{}, + Target: []string{statusNormal}, + Refresh: statusEventApi(ctx, conn, id), + Timeout: timeout, + NotFoundChecks: 20, + ContinuousTargetOccurence: 2, + } + + outputRaw, err := stateConf.WaitForStateContext(ctx) + if err != nil { + fmt.Printf("[DEBUG] waitEventApiCreated: Wait failed with error: %v\n", err) + } else { + fmt.Printf("[DEBUG] waitEventApiCreated: Wait completed successfully for API: %s\n", id) + } + + if out, ok := outputRaw.(*awstypes.Api); ok { + return out, err + } + + return nil, err +} + +func waitEventApiDeleted(ctx context.Context, conn *appsync.Client, id string, timeout time.Duration) (*awstypes.Api, error) { + fmt.Printf("[DEBUG] waitEventApiDeleted: Starting wait for API deletion: %s\n", id) + stateConf := &retry.StateChangeConf{ + Pending: []string{statusDeleting, statusNormal}, + Target: []string{}, + Refresh: statusEventApi(ctx, conn, id), + Timeout: timeout, + } + + outputRaw, err := stateConf.WaitForStateContext(ctx) + if err != nil { + fmt.Printf("[DEBUG] waitEventApiDeleted: Wait failed with error: %v\n", err) + } else { + fmt.Printf("[DEBUG] waitEventApiDeleted: Wait completed successfully for API: %s\n", id) + } + + if out, ok := outputRaw.(*awstypes.Api); ok { + return out, err + } + + return nil, err +} + +func statusEventApi(ctx context.Context, conn *appsync.Client, id string) retry.StateRefreshFunc { + return func() (any, string, error) { + out, err := findEventApiByID(ctx, conn, id) + if tfresource.NotFound(err) { + return nil, "", nil + } + + if err != nil { + return nil, "", err + } + + return out, statusNormal, nil + } +} + +func findEventApiByID(ctx context.Context, conn *appsync.Client, id string) (*awstypes.Api, error) { + input := appsync.GetApiInput{ + ApiId: aws.String(id), + } + + out, err := conn.GetApi(ctx, &input) + if err != nil { + if errs.IsA[*awstypes.NotFoundException](err) { + return nil, &retry.NotFoundError{ + LastError: err, + LastRequest: &input, + } + } + return nil, err + } + + if out == nil || out.Api == nil { + return nil, tfresource.NewEmptyResultError(&input) + } + + return out.Api, nil +} + +type resourceEventApiModel struct { + framework.WithRegionModel + ApiArn types.String `tfsdk:"arn"` + ApiId types.String `tfsdk:"id"` + Created timetypes.RFC3339 `tfsdk:"created"` + Dns fwtypes.MapOfString `tfsdk:"dns"` + EventConfig fwtypes.ListNestedObjectValueOf[eventConfigModel] `tfsdk:"event_config"` + Name types.String `tfsdk:"name"` + OwnerContact types.String `tfsdk:"owner_contact"` + Tags tftags.Map `tfsdk:"tags"` + TagsAll tftags.Map `tfsdk:"tags_all"` + Timeouts timeouts.Value `tfsdk:"timeouts"` + WafWebAclArn types.String `tfsdk:"waf_web_acl_arn"` + XrayEnabled types.Bool `tfsdk:"xray_enabled"` +} + +type eventConfigModel struct { + AuthProviders fwtypes.ListNestedObjectValueOf[authProviderModel] `tfsdk:"auth_providers"` + ConnectionAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"connection_auth_modes"` + DefaultPublishAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"default_publish_auth_modes"` + DefaultSubscribeAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"default_subscribe_auth_modes"` + LogConfig fwtypes.ListNestedObjectValueOf[eventLogConfigModel] `tfsdk:"log_config"` +} + +type authProviderModel struct { + AuthType fwtypes.StringEnum[awstypes.AuthenticationType] `tfsdk:"auth_type"` + CognitoConfig fwtypes.ListNestedObjectValueOf[cognitoConfigModel] `tfsdk:"cognito_config"` + LambdaAuthorizerConfig fwtypes.ListNestedObjectValueOf[lambdaAuthorizerConfigModel] `tfsdk:"lambda_authorizer_config"` + OpenIDConnectConfig fwtypes.ListNestedObjectValueOf[openIDConnectConfigModel] `tfsdk:"openid_connect_config"` +} + +type authModeModel struct { + AuthType fwtypes.StringEnum[awstypes.AuthenticationType] `tfsdk:"auth_type"` +} + +type cognitoConfigModel struct { + AwsRegion types.String `tfsdk:"aws_region"` + UserPoolId types.String `tfsdk:"user_pool_id"` + AppIdClientRegex types.String `tfsdk:"app_id_client_regex"` +} + +type lambdaAuthorizerConfigModel struct { + AuthorizerResultTtlInSeconds types.Int64 `tfsdk:"authorizer_result_ttl_in_seconds"` + AuthorizerUri types.String `tfsdk:"authorizer_uri"` + IdentityValidationExpression types.String `tfsdk:"identity_validation_expression"` +} + +type openIDConnectConfigModel struct { + AuthTtl types.Int64 `tfsdk:"auth_ttl"` + ClientId types.String `tfsdk:"client_id"` + IatTtl types.Int64 `tfsdk:"iat_ttl"` + Issuer types.String `tfsdk:"issuer"` +} + +type eventLogConfigModel struct { + CloudWatchLogsRoleArn types.String `tfsdk:"cloudwatch_logs_role_arn"` + LogLevel fwtypes.StringEnum[awstypes.EventLogLevel] `tfsdk:"log_level"` +} diff --git a/internal/service/appsync/event_api_identity_gen_test.go b/internal/service/appsync/event_api_identity_gen_test.go new file mode 100644 index 000000000000..8eee21f74f27 --- /dev/null +++ b/internal/service/appsync/event_api_identity_gen_test.go @@ -0,0 +1,196 @@ +// Code generated by internal/generate/identitytests/main.go; DO NOT EDIT. + +package appsync_test + +import ( + "testing" + + awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" + "github.com/hashicorp/terraform-plugin-testing/config" + sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-plugin-testing/tfversion" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfknownvalue "github.com/hashicorp/terraform-provider-aws/internal/acctest/knownvalue" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccAppSyncEventAPI_Identity_Basic(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.Api + resourceName := "aws_appsync_event_api.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckEventAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/EventAPI/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckEventAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.Region()), + names.AttrID: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/EventAPI/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ImportStateKind: resource.ImportCommandWithID, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/EventAPI/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/EventAPI/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + }, + }) +} + +func TestAccAppSyncEventAPI_Identity_RegionOverride(t *testing.T) { + ctx := acctest.Context(t) + + resourceName := "aws_appsync_event_api.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: acctest.CheckDestroyNoop, + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/EventAPI/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrID: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/EventAPI/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + // TODO + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/EventAPI/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + // TODO + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/EventAPI/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + }, + }) +} diff --git a/internal/service/appsync/event_api_test.go b/internal/service/appsync/event_api_test.go new file mode 100644 index 000000000000..a2065fb7a732 --- /dev/null +++ b/internal/service/appsync/event_api_test.go @@ -0,0 +1,553 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package appsync_test + +import ( + "context" + "errors" + "fmt" + "testing" + + "github.com/YakDriver/regexache" + awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" + sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/terraform" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + "github.com/hashicorp/terraform-provider-aws/internal/conns" + "github.com/hashicorp/terraform-provider-aws/internal/create" + "github.com/hashicorp/terraform-provider-aws/internal/tfresource" + "github.com/hashicorp/terraform-provider-aws/names" + + tfappsync "github.com/hashicorp/terraform-provider-aws/internal/service/appsync" +) + +// TIP: File Structure. The basic outline for all test files should be as +// follows. Improve this resource's maintainability by following this +// outline. +// +// 1. Package declaration (add "_test" since this is a test file) +// 2. Imports +// 3. Unit tests +// 4. Basic test +// 5. Disappears test +// 6. All the other tests +// 7. Helper functions (exists, destroy, check, etc.) +// 8. Functions that return Terraform configurations + +// TIP: ==== UNIT TESTS ==== +// This is an example of a unit test. Its name is not prefixed with +// "TestAcc" like an acceptance test. +// +// Unlike acceptance tests, unit tests do not access AWS and are focused on a +// function (or method). Because of this, they are quick and cheap to run. +// +// In designing a resource's implementation, isolate complex bits from AWS bits +// so that they can be tested through a unit test. We encourage more unit tests +// in the provider. +// +// Cut and dry functions using well-used patterns, like typical flatteners and +// expanders, don't need unit testing. However, if they are complex or +// intricate, they should be unit tested. +// Unit tests would go here if needed + +// TIP: ==== ACCEPTANCE TESTS ==== +// This is an example of a basic acceptance test. This should test as much of +// standard functionality of the resource as possible, and test importing, if +// applicable. We prefix its name with "TestAcc", the service, and the +// resource name. +// +// Acceptance test access AWS and cost money to run. +func TestAccAppSyncEventApi_basic(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var eventapi awstypes.Api + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_appsync_event_api.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) + testAccPreCheck(ctx, t) + }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckEventApiDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccEventApiConfig_basic(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckEventApiExists(ctx, resourceName, &eventapi), + resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), + resource.TestCheckResourceAttrSet(resourceName, "api_id"), + resource.TestCheckResourceAttrSet(resourceName, "created"), + resource.TestCheckResourceAttrSet(resourceName, names.AttrARN), + acctest.MatchResourceAttrRegionalARN(ctx, resourceName, names.AttrARN, "appsync", regexache.MustCompile(`api/.+$`)), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "0"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncEventApi_disappears(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var eventapi awstypes.Api + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_appsync_event_api.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) + testAccPreCheck(ctx, t) + }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckEventApiDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccEventApiConfig_basic(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckEventApiExists(ctx, resourceName, &eventapi), + acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfappsync.ResourceEventApi, resourceName), + ), + ExpectNonEmptyPlan: true, + }, + }, + }) +} + +func TestAccAppSyncEventApi_eventConfigComprehensive(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var eventapi awstypes.Api + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_appsync_event_api.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) + testAccPreCheck(ctx, t) + }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckEventApiDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccEventApiConfig_eventConfigComprehensive(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckEventApiExists(ctx, resourceName, &eventapi), + resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), + resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), + resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "3"), + // Cognito auth provider + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.0.auth_type", "AMAZON_COGNITO_USER_POOLS"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.0.cognito_config.#", "1"), + resource.TestCheckResourceAttrSet(resourceName, "event_config.0.auth_providers.0.cognito_config.0.user_pool_id"), + resource.TestCheckResourceAttrSet(resourceName, "event_config.0.auth_providers.0.cognito_config.0.aws_region"), + // Lambda auth provider + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.1.auth_type", "AWS_LAMBDA"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.1.lambda_authorizer_config.#", "1"), + resource.TestCheckResourceAttrSet(resourceName, "event_config.0.auth_providers.1.lambda_authorizer_config.0.authorizer_uri"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.1.lambda_authorizer_config.0.authorizer_result_ttl_in_seconds", "300"), + // OpenID Connect auth provider + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.2.auth_type", "OPENID_CONNECT"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.2.openid_connect_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.2.openid_connect_config.0.issuer", "https://example.com"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.2.openid_connect_config.0.client_id", "test-client-id"), + // Auth modes + resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.0.auth_type", "AWS_LAMBDA"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.0.auth_type", "AWS_LAMBDA"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.0.auth_type", "AWS_LAMBDA"), + // Log config + resource.TestCheckResourceAttr(resourceName, "event_config.0.log_config.#", "1"), + resource.TestCheckResourceAttrSet(resourceName, "event_config.0.log_config.0.cloudwatch_logs_role_arn"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.log_config.0.log_level", "ERROR"), + // Tags + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "2"), + resource.TestCheckResourceAttr(resourceName, "tags.Environment", "test"), + resource.TestCheckResourceAttr(resourceName, "tags.Purpose", "event-api-testing"), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsAllPercent, "2"), + resource.TestCheckResourceAttr(resourceName, "tags_all.Environment", "test"), + resource.TestCheckResourceAttr(resourceName, "tags_all.Purpose", "event-api-testing"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncEventApi_tags(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var eventapi awstypes.Api + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_appsync_event_api.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) + testAccPreCheck(ctx, t) + }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckEventApiDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccEventApiConfig_tags1(rName, "key1", "value1"), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckEventApiExists(ctx, resourceName, &eventapi), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "1"), + resource.TestCheckResourceAttr(resourceName, "tags.key1", "value1"), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsAllPercent, "1"), + resource.TestCheckResourceAttr(resourceName, "tags_all.key1", "value1"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + Config: testAccEventApiConfig_tags2(rName, "key1", "value1updated", "key2", "value2"), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckEventApiExists(ctx, resourceName, &eventapi), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "2"), + resource.TestCheckResourceAttr(resourceName, "tags.key1", "value1updated"), + resource.TestCheckResourceAttr(resourceName, "tags.key2", "value2"), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsAllPercent, "2"), + resource.TestCheckResourceAttr(resourceName, "tags_all.key1", "value1updated"), + resource.TestCheckResourceAttr(resourceName, "tags_all.key2", "value2"), + ), + }, + { + Config: testAccEventApiConfig_tags1(rName, "key2", "value2"), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckEventApiExists(ctx, resourceName, &eventapi), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "1"), + resource.TestCheckResourceAttr(resourceName, "tags.key2", "value2"), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsAllPercent, "1"), + resource.TestCheckResourceAttr(resourceName, "tags_all.key2", "value2"), + ), + }, + }, + }) +} + +func TestAccAppSyncEventApi_update(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var eventapi awstypes.Api + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + rNameUpdated := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_appsync_event_api.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) + testAccPreCheck(ctx, t) + }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckEventApiDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccEventApiConfig_eventConfigComprehensive(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckEventApiExists(ctx, resourceName, &eventapi), + resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), + resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), + resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "3"), + ), + }, + { + Config: testAccEventApiConfig_eventConfigComprehensive(rNameUpdated), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckEventApiExists(ctx, resourceName, &eventapi), + resource.TestCheckResourceAttr(resourceName, names.AttrName, rNameUpdated), + resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), + resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "3"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func testAccCheckEventApiDestroy(ctx context.Context) resource.TestCheckFunc { + return func(s *terraform.State) error { + conn := acctest.Provider.Meta().(*conns.AWSClient).AppSyncClient(ctx) + + for _, rs := range s.RootModule().Resources { + if rs.Type != "aws_appsync_event_api" { + continue + } + + _, err := tfappsync.FindEventApiByID(ctx, conn, rs.Primary.ID) + if tfresource.NotFound(err) { + return nil + } + if err != nil { + return create.Error(names.AppSync, create.ErrActionCheckingDestroyed, tfappsync.ResNameEventApi, rs.Primary.ID, err) + } + + return create.Error(names.AppSync, create.ErrActionCheckingDestroyed, tfappsync.ResNameEventApi, rs.Primary.ID, errors.New("not destroyed")) + } + + return nil + } +} + +func testAccCheckEventApiExists(ctx context.Context, name string, eventapi *awstypes.Api) resource.TestCheckFunc { + return func(s *terraform.State) error { + rs, ok := s.RootModule().Resources[name] + if !ok { + return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameEventApi, name, errors.New("not found")) + } + + if rs.Primary.ID == "" { + return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameEventApi, name, errors.New("not set")) + } + + conn := acctest.Provider.Meta().(*conns.AWSClient).AppSyncClient(ctx) + + resp, err := tfappsync.FindEventApiByID(ctx, conn, rs.Primary.ID) + if err != nil { + return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameEventApi, rs.Primary.ID, err) + } + + *eventapi = *resp + + return nil + } +} + +func testAccEventApiConfig_basic(rName string) string { + return fmt.Sprintf(` +resource "aws_appsync_event_api" "test" { + name = %[1]q +} +`, rName) +} + +func testAccEventApiConfig_eventConfigComprehensive(rName string) string { + return fmt.Sprintf(` +resource "aws_cognito_user_pool" "test" { + name = %[1]q +} + +resource "aws_iam_role" "lambda" { + name = "%[1]s-lambda" + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "lambda_basic" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "lambda_basic" { + name = "%[1]s-lambda-basic" + role = aws_iam_role.lambda.id + policy = data.aws_iam_policy_document.lambda_basic.json +} + +resource "aws_lambda_function" "test" { + filename = "test-fixtures/lambdatest.zip" + function_name = %[1]q + role = aws_iam_role.lambda.arn + handler = "index.handler" + runtime = "nodejs18.x" + source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") + + depends_on = [aws_iam_role_policy.lambda_basic] +} + +resource "aws_lambda_permission" "appsync_invoke" { + statement_id = "AllowExecutionFromAppSync" + action = "lambda:InvokeFunction" + function_name = aws_lambda_function.test.function_name + principal = "appsync.amazonaws.com" +} + +resource "aws_iam_role" "cloudwatch" { + name = "%[1]s-cloudwatch" + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "appsync.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "cloudwatch_logs" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "cloudwatch" { + name = "%[1]s-cloudwatch-policy" + role = aws_iam_role.cloudwatch.id + policy = data.aws_iam_policy_document.cloudwatch_logs.json +} + +resource "aws_appsync_event_api" "test" { + name = %[1]q + owner_contact = "test@example.com" + + event_config { + auth_providers { + auth_type = "AMAZON_COGNITO_USER_POOLS" + cognito_config { + user_pool_id = aws_cognito_user_pool.test.id + aws_region = data.aws_region.current.name + } + } + + auth_providers { + auth_type = "AWS_LAMBDA" + lambda_authorizer_config { + authorizer_uri = aws_lambda_function.test.arn + authorizer_result_ttl_in_seconds = 300 + } + } + + auth_providers { + auth_type = "OPENID_CONNECT" + openid_connect_config { + issuer = "https://example.com" + client_id = "test-client-id" + } + } + + connection_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_publish_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_subscribe_auth_modes { + auth_type = "AWS_LAMBDA" + } + + log_config { + cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn + log_level = "ERROR" + } + } + + tags = { + Environment = "test" + Purpose = "event-api-testing" + } + + depends_on = [ + aws_lambda_permission.appsync_invoke, + aws_iam_role_policy.cloudwatch + ] +} + +data "aws_region" "current" {} +`, rName) +} + +func testAccEventApiConfig_tags1(rName, tagKey1, tagValue1 string) string { + return fmt.Sprintf(` +resource "aws_appsync_event_api" "test" { + name = %[1]q + + tags = { + %[2]q = %[3]q + } +} +`, rName, tagKey1, tagValue1) +} + +func testAccEventApiConfig_tags2(rName, tagKey1, tagValue1, tagKey2, tagValue2 string) string { + return fmt.Sprintf(` +resource "aws_appsync_event_api" "test" { + name = %[1]q + + tags = { + %[2]q = %[3]q + %[4]q = %[5]q + } +} +`, rName, tagKey1, tagValue1, tagKey2, tagValue2) +} diff --git a/internal/service/appsync/exports_test.go b/internal/service/appsync/exports_test.go index 355d234b2699..f4c61b134c4f 100644 --- a/internal/service/appsync/exports_test.go +++ b/internal/service/appsync/exports_test.go @@ -10,6 +10,7 @@ var ( ResourceDataSource = resourceDataSource ResourceDomainName = resourceDomainName ResourceDomainNameAPIAssociation = resourceDomainNameAPIAssociation + ResourceEventApi = newEventApiResource ResourceFunction = resourceFunction ResourceGraphQLAPI = resourceGraphQLAPI ResourceResolver = resourceResolver @@ -22,6 +23,7 @@ var ( FindDataSourceByTwoPartKey = findDataSourceByTwoPartKey FindDomainNameAPIAssociationByID = findDomainNameAPIAssociationByID FindDomainNameByID = findDomainNameByID + FindEventApiByID = findEventApiByID FindFunctionByTwoPartKey = findFunctionByTwoPartKey FindGraphQLAPIByID = findGraphQLAPIByID FindResolverByThreePartKey = findResolverByThreePartKey diff --git a/internal/service/appsync/generate.go b/internal/service/appsync/generate.go index a7b20c7e40a1..b0f1b3824d27 100644 --- a/internal/service/appsync/generate.go +++ b/internal/service/appsync/generate.go @@ -4,6 +4,7 @@ //go:generate go run ../../generate/listpages/main.go -ListOps=ListApiKeys,ListDomainNames,ListGraphqlApis //go:generate go run ../../generate/tags/main.go -ListTags -ServiceTagsMap -UpdateTags -KVTValues //go:generate go run ../../generate/servicepackage/main.go +//go:generate go run ../../generate/identitytests/main.go // ONLY generate directives and package declaration! Do not add anything else to this file. package appsync diff --git a/internal/service/appsync/service_package_gen.go b/internal/service/appsync/service_package_gen.go index cbd5cd493088..97e46d33c61b 100644 --- a/internal/service/appsync/service_package_gen.go +++ b/internal/service/appsync/service_package_gen.go @@ -24,6 +24,16 @@ func (p *servicePackage) FrameworkDataSources(ctx context.Context) []*inttypes.S func (p *servicePackage) FrameworkResources(ctx context.Context) []*inttypes.ServicePackageFrameworkResource { return []*inttypes.ServicePackageFrameworkResource{ + { + Factory: newEventApiResource, + TypeName: "aws_appsync_event_api", + Name: "Event API", + Region: unique.Make(inttypes.ResourceRegionDefault()), + Identity: inttypes.RegionalSingleParameterIdentity(names.AttrID), + Import: inttypes.FrameworkImport{ + WrappedImport: true, + }, + }, { Factory: newSourceAPIAssociationResource, TypeName: "aws_appsync_source_api_association", diff --git a/internal/service/appsync/testdata/EventAPI/basic/main_gen.tf b/internal/service/appsync/testdata/EventAPI/basic/main_gen.tf new file mode 100644 index 000000000000..2f93319b9cc1 --- /dev/null +++ b/internal/service/appsync/testdata/EventAPI/basic/main_gen.tf @@ -0,0 +1,160 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_cognito_user_pool" "test" { + name = var.name +} + +resource "aws_iam_role" "lambda" { + name = var.name + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "lambda_basic" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "lambda_basic" { + name = var.name + role = aws_iam_role.lambda.id + policy = data.aws_iam_policy_document.lambda_basic.json +} + +resource "aws_lambda_function" "test" { + filename = "test-fixtures/lambdatest.zip" + function_name = var.name + role = aws_iam_role.lambda.arn + handler = "index.handler" + runtime = "nodejs18.x" + source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") + + depends_on = [aws_iam_role_policy.lambda_basic] +} + +resource "aws_lambda_permission" "appsync_invoke" { + statement_id = "AllowExecutionFromAppSync" + action = "lambda:InvokeFunction" + function_name = aws_lambda_function.test.function_name + principal = "appsync.amazonaws.com" +} + +resource "aws_iam_role" "cloudwatch" { + name = var.name + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "appsync.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "cloudwatch_logs" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "cloudwatch" { + name = var.name + role = aws_iam_role.cloudwatch.id + policy = data.aws_iam_policy_document.cloudwatch_logs.json +} + +resource "aws_appsync_event_api" "test" { + name = var.name + owner_contact = "test@example.com" + + event_config { + auth_providers { + auth_type = "AMAZON_COGNITO_USER_POOLS" + cognito_config { + user_pool_id = aws_cognito_user_pool.test.id + aws_region = data.aws_region.current.name + } + } + + auth_providers { + auth_type = "AWS_LAMBDA" + lambda_authorizer_config { + authorizer_uri = aws_lambda_function.test.arn + authorizer_result_ttl_in_seconds = 300 + } + } + + auth_providers { + auth_type = "OPENID_CONNECT" + openid_connect_config { + issuer = "https://example.com" + client_id = "test-client-id" + } + } + + connection_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_publish_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_subscribe_auth_modes { + auth_type = "AWS_LAMBDA" + } + + log_config { + cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn + log_level = "ERROR" + } + } + + depends_on = [ + aws_lambda_permission.appsync_invoke, + aws_iam_role_policy.cloudwatch + ] +} + +data "aws_region" "current" {} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} diff --git a/internal/service/appsync/testdata/EventAPI/region_overide/main_gen.tf b/internal/service/appsync/testdata/EventAPI/region_overide/main_gen.tf new file mode 100644 index 000000000000..66fe562894a2 --- /dev/null +++ b/internal/service/appsync/testdata/EventAPI/region_overide/main_gen.tf @@ -0,0 +1,11 @@ +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "region" { + description = "Region to deploy resource in" + type = string + nullable = false +} \ No newline at end of file diff --git a/internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf b/internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf new file mode 100644 index 000000000000..ffa00abbbb25 --- /dev/null +++ b/internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf @@ -0,0 +1,182 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_cognito_user_pool" "test" { + name = var.name + region = var.region + +} + +resource "aws_iam_role" "lambda" { + name = var.name + region = var.region + + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "lambda_basic" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "lambda_basic" { + name = var.name + role = aws_iam_role.lambda.id + policy = data.aws_iam_policy_document.lambda_basic.json + region = var.region + +} + +resource "aws_lambda_function" "test" { + filename = "test-fixtures/lambdatest.zip" + function_name = var.name + role = aws_iam_role.lambda.arn + handler = "index.handler" + runtime = "nodejs18.x" + source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") + + depends_on = [aws_iam_role_policy.lambda_basic] + region = var.region + +} + +resource "aws_lambda_permission" "appsync_invoke" { + statement_id = "AllowExecutionFromAppSync" + action = "lambda:InvokeFunction" + function_name = aws_lambda_function.test.function_name + principal = "appsync.amazonaws.com" + region = var.region + +} + +resource "aws_iam_role" "cloudwatch" { + name = var.name + region = var.region + + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "appsync.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "cloudwatch_logs" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "cloudwatch" { + name = var.name + role = aws_iam_role.cloudwatch.id + policy = data.aws_iam_policy_document.cloudwatch_logs.json + region = var.region + +} + +resource "aws_appsync_event_api" "test" { + name = var.name + owner_contact = "test@example.com" + region = var.region + + + event_config { + auth_providers { + auth_type = "AMAZON_COGNITO_USER_POOLS" + cognito_config { + user_pool_id = aws_cognito_user_pool.test.id + aws_region = data.aws_region.current.name + } + } + + auth_providers { + auth_type = "AWS_LAMBDA" + lambda_authorizer_config { + authorizer_uri = aws_lambda_function.test.arn + authorizer_result_ttl_in_seconds = 300 + } + } + + auth_providers { + auth_type = "OPENID_CONNECT" + openid_connect_config { + issuer = "https://example.com" + client_id = "test-client-id" + } + } + + connection_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_publish_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_subscribe_auth_modes { + auth_type = "AWS_LAMBDA" + } + + log_config { + cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn + log_level = "ERROR" + } + } + + depends_on = [ + aws_lambda_permission.appsync_invoke, + aws_iam_role_policy.cloudwatch + ] +} + +data "aws_region" "current" {} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "region" { + description = "Region to deploy resource in" + type = string + nullable = false +} diff --git a/internal/service/appsync/testdata/tmpl/event_api_tags.gtpl b/internal/service/appsync/testdata/tmpl/event_api_tags.gtpl new file mode 100644 index 000000000000..7e496ebd6e5a --- /dev/null +++ b/internal/service/appsync/testdata/tmpl/event_api_tags.gtpl @@ -0,0 +1,160 @@ +resource "aws_cognito_user_pool" "test" { + name = var.name + {{- template "region" }} +} + +resource "aws_iam_role" "lambda" { + name = var.name + {{- template "region" }} + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "lambda_basic" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "lambda_basic" { + name = var.name + role = aws_iam_role.lambda.id + policy = data.aws_iam_policy_document.lambda_basic.json + {{- template "region" }} +} + +resource "aws_lambda_function" "test" { + filename = "test-fixtures/lambdatest.zip" + function_name = var.name + role = aws_iam_role.lambda.arn + handler = "index.handler" + runtime = "nodejs18.x" + source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") + + depends_on = [aws_iam_role_policy.lambda_basic] + {{- template "region" }} +} + +resource "aws_lambda_permission" "appsync_invoke" { + statement_id = "AllowExecutionFromAppSync" + action = "lambda:InvokeFunction" + function_name = aws_lambda_function.test.function_name + principal = "appsync.amazonaws.com" + {{- template "region" }} +} + +resource "aws_iam_role" "cloudwatch" { + name = var.name + {{- template "region" }} + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "appsync.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "cloudwatch_logs" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "cloudwatch" { + name = var.name + role = aws_iam_role.cloudwatch.id + policy = data.aws_iam_policy_document.cloudwatch_logs.json + {{- template "region" }} +} + +resource "aws_appsync_event_api" "test" { + name = var.name + owner_contact = "test@example.com" + {{- template "region" }} + + event_config { + auth_providers { + auth_type = "AMAZON_COGNITO_USER_POOLS" + cognito_config { + user_pool_id = aws_cognito_user_pool.test.id + aws_region = data.aws_region.current.name + } + } + + auth_providers { + auth_type = "AWS_LAMBDA" + lambda_authorizer_config { + authorizer_uri = aws_lambda_function.test.arn + authorizer_result_ttl_in_seconds = 300 + } + } + + auth_providers { + auth_type = "OPENID_CONNECT" + openid_connect_config { + issuer = "https://example.com" + client_id = "test-client-id" + } + } + + connection_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_publish_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_subscribe_auth_modes { + auth_type = "AWS_LAMBDA" + } + + log_config { + cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn + log_level = "ERROR" + } + } + + depends_on = [ + aws_lambda_permission.appsync_invoke, + aws_iam_role_policy.cloudwatch + ] +} + +data "aws_region" "current" {} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} \ No newline at end of file diff --git a/website/docs/r/appsync_event_api.html.markdown b/website/docs/r/appsync_event_api.html.markdown new file mode 100644 index 000000000000..c4dba31ff238 --- /dev/null +++ b/website/docs/r/appsync_event_api.html.markdown @@ -0,0 +1,277 @@ +--- +subcategory: "AppSync" +layout: "aws" +page_title: "AWS: aws_appsync_event_api" +description: |- + Manages an AWS AppSync Event API. +--- + +# Resource: aws_appsync_event_api + +Manages an AWS AppSync Event API. Event APIs enable real-time subscriptions and event-driven communication in AppSync applications. + +## Example Usage + +### Basic Usage + +```terraform +resource "aws_appsync_event_api" "example" { + name = "example-event-api" +} +``` + +### With Owner Contact + +```terraform +resource "aws_appsync_event_api" "example" { + name = "example-event-api" + owner_contact = "admin@example.com" +} +``` + +### With Cognito Authentication + +```terraform +resource "aws_cognito_user_pool" "example" { + name = "example-user-pool" +} + +resource "aws_appsync_event_api" "example" { + name = "example-event-api" + + event_config { + auth_providers { + auth_type = "AMAZON_COGNITO_USER_POOLS" + cognito_config { + user_pool_id = aws_cognito_user_pool.example.id + aws_region = data.aws_region.current.name + } + } + } +} + +data "aws_region" "current" {} +``` + +### With Lambda Authorizer + +```terraform +resource "aws_iam_role" "lambda" { + name = "example-lambda-role" + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" + } + } + ] + }) +} + +resource "aws_lambda_function" "example" { + filename = "lambda_authorizer.zip" + function_name = "example-authorizer" + role = aws_iam_role.lambda.arn + handler = "index.handler" + runtime = "nodejs18.x" +} + +resource "aws_appsync_event_api" "example" { + name = "example-event-api" + + event_config { + auth_providers { + auth_type = "AWS_LAMBDA" + lambda_authorizer_config { + authorizer_uri = aws_lambda_function.example.invoke_arn + authorizer_result_ttl_in_seconds = 300 + } + } + } +} +``` + +### With OpenID Connect + +```terraform +resource "aws_appsync_event_api" "example" { + name = "example-event-api" + + event_config { + auth_providers { + auth_type = "OPENID_CONNECT" + openid_connect_config { + issuer = "https://example.com" + client_id = "example-client-id" + } + } + } +} +``` + +### With Authentication Modes + +```terraform +resource "aws_appsync_event_api" "example" { + name = "example-event-api" + + event_config { + connection_auth_modes { + auth_type = "API_KEY" + } + default_publish_auth_modes { + auth_type = "API_KEY" + } + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } +} +``` + +### With CloudWatch Logging + +```terraform +resource "aws_iam_role" "cloudwatch" { + name = "example-cloudwatch-role" + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "appsync.amazonaws.com" + } + } + ] + }) +} + +resource "aws_iam_role_policy_attachment" "cloudwatch" { + policy_arn = "arn:aws:iam::aws:policy/service-role/AppSyncPushToCloudWatchLogs" + role = aws_iam_role.cloudwatch.name +} + +resource "aws_appsync_event_api" "example" { + name = "example-event-api" + + event_config { + log_config { + cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn + log_level = "ERROR" + } + } +} +``` + +## Argument Reference + +The following arguments are required: + +* `name` - (Required) Name of the Event API. + +The following arguments are optional: + +* `owner_contact` - (Optional) Contact information for the owner of the Event API. +* `event_config` - (Optional) Configuration for the Event API. See [Event Config](#event-config) below. +* `tags` - (Optional) Map of tags to assign to the resource. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +### Event Config + +The `event_config` block supports the following: + +* `auth_providers` - (Optional) List of authentication providers. See [Auth Providers](#auth-providers) below. +* `connection_auth_modes` - (Optional) List of authentication modes for connections. See [Auth Modes](#auth-modes) below. +* `default_publish_auth_modes` - (Optional) List of default authentication modes for publishing. See [Auth Modes](#auth-modes) below. +* `default_subscribe_auth_modes` - (Optional) List of default authentication modes for subscribing. See [Auth Modes](#auth-modes) below. +* `log_config` - (Optional) Logging configuration. See [Log Config](#log-config) below. + +### Auth Providers + +The `auth_providers` block supports the following: + +* `auth_type` - (Required) Type of authentication provider. Valid values: `AMAZON_COGNITO_USER_POOLS`, `AWS_LAMBDA`, `OPENID_CONNECT`, `API_KEY`. +* `cognito_config` - (Optional) Configuration for Cognito user pool authentication. Required when `auth_type` is `AMAZON_COGNITO_USER_POOLS`. See [Cognito Config](#cognito-config) below. +* `lambda_authorizer_config` - (Optional) Configuration for Lambda authorization. Required when `auth_type` is `AWS_LAMBDA`. See [Lambda Authorizer Config](#lambda-authorizer-config) below. +* `openid_connect_config` - (Optional) Configuration for OpenID Connect. Required when `auth_type` is `OPENID_CONNECT`. See [OpenID Connect Config](#openid-connect-config) below. + +### Cognito Config + +The `cognito_config` block supports the following: + +* `user_pool_id` - (Required) ID of the Cognito user pool. +* `aws_region` - (Required) AWS region where the user pool is located. +* `app_id_client_regex` - (Optional) Regular expression for matching the client ID. + +### Lambda Authorizer Config + +The `lambda_authorizer_config` block supports the following: + +* `authorizer_uri` - (Required) URI of the Lambda function for authorization. +* `authorizer_result_ttl_in_seconds` - (Optional) TTL in seconds for the authorization result cache. +* `identity_validation_expression` - (Optional) Regular expression for identity validation. + +### OpenID Connect Config + +The `openid_connect_config` block supports the following: + +* `issuer` - (Required) Issuer URL for the OpenID Connect provider. +* `client_id` - (Optional) Client ID for the OpenID Connect provider. +* `auth_ttl` - (Optional) TTL in seconds for the authentication token. +* `iat_ttl` - (Optional) TTL in seconds for the issued at time. + +### Auth Modes + +The `connection_auth_modes`, `default_publish_auth_modes`, and `default_subscribe_auth_modes` blocks support the following: + +* `auth_type` - (Required) Type of authentication. Valid values: `API_KEY`, `AWS_IAM`, `AMAZON_COGNITO_USER_POOLS`, `OPENID_CONNECT`, `AWS_LAMBDA`. + +### Log Config + +The `log_config` block supports the following: + +* `cloudwatch_logs_role_arn` - (Required) ARN of the IAM role for CloudWatch logs. +* `log_level` - (Required) Log level. Valid values: `NONE`, `ERROR`, `ALL`, `INFO`, `DEBUG`. + +## Attribute Reference + +This resource exports the following attributes in addition to the arguments above: + +* `api_id` - ID of the Event API. +* `arn` - ARN of the Event API. +* `created` - Date and time when the Event API was created. +* `dns` - DNS configuration for the Event API. +* `tags_all` - Map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). +* `waf_web_acl_arn` - ARN of the associated WAF web ACL. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +* `create` - (Default `30m`) +* `update` - (Default `30m`) +* `delete` - (Default `30m`) + +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import AppSync Event API using the `api_id`. For example: + +```terraform +import { + to = aws_appsync_event_api.example + id = "example-api-id" +} +``` + +Using `terraform import`, import AppSync Event API using the `api_id`. For example: + +```console +% terraform import aws_appsync_event_api.example example-api-id +``` From 8885fa84ebc2cbc620111d9e1eb8d7ae0bc7af5f Mon Sep 17 00:00:00 2001 From: ThomasZalewski Date: Sat, 19 Jul 2025 01:54:32 -0700 Subject: [PATCH 0738/1301] api -> API --- internal/service/appsync/event_api.go | 78 +++++++++--------- internal/service/appsync/event_api_test.go | 80 +++++++++---------- internal/service/appsync/exports_test.go | 4 +- .../service/appsync/service_package_gen.go | 2 +- 4 files changed, 82 insertions(+), 82 deletions(-) diff --git a/internal/service/appsync/event_api.go b/internal/service/appsync/event_api.go index 38c5042e1837..12df39f80d7f 100644 --- a/internal/service/appsync/event_api.go +++ b/internal/service/appsync/event_api.go @@ -40,8 +40,8 @@ import ( // @IdentityAttribute("id") // @Testing(importStateIdAttribute="id") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/appsync/types;awstypes;awstypes.Api") -func newEventApiResource(_ context.Context) (resource.ResourceWithConfigure, error) { - r := &resourceEventApi{} +func newEventAPIResource(_ context.Context) (resource.ResourceWithConfigure, error) { + r := &resourceEventAPI{} r.SetDefaultCreateTimeout(30 * time.Minute) r.SetDefaultUpdateTimeout(30 * time.Minute) @@ -51,15 +51,15 @@ func newEventApiResource(_ context.Context) (resource.ResourceWithConfigure, err } const ( - ResNameEventApi = "Event API" + ResNameEventAPI = "Event API" ) -type resourceEventApi struct { - framework.ResourceWithModel[resourceEventApiModel] +type resourceEventAPI struct { + framework.ResourceWithModel[resourceEventAPIModel] framework.WithTimeouts } -func (r *resourceEventApi) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { +func (r *resourceEventAPI) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { resp.Schema = schema.Schema{ Attributes: map[string]schema.Attribute{ names.AttrARN: framework.ARNAttributeComputedOnly(), @@ -253,10 +253,10 @@ func (r *resourceEventApi) Schema(ctx context.Context, req resource.SchemaReques } } -func (r *resourceEventApi) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { +func (r *resourceEventAPI) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { conn := r.Meta().AppSyncClient(ctx) - var plan resourceEventApiModel + var plan resourceEventAPIModel resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) if resp.Diagnostics.HasError() { return @@ -273,14 +273,14 @@ func (r *resourceEventApi) Create(ctx context.Context, req resource.CreateReques out, err := conn.CreateApi(ctx, &input) if err != nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionCreating, ResNameEventApi, plan.Name.String(), err), + create.ProblemStandardMessage(names.AppSync, create.ErrActionCreating, ResNameEventAPI, plan.Name.String(), err), err.Error(), ) return } if out == nil || out.Api == nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionCreating, ResNameEventApi, plan.Name.String(), nil), + create.ProblemStandardMessage(names.AppSync, create.ErrActionCreating, ResNameEventAPI, plan.Name.String(), nil), errors.New("empty output").Error(), ) return @@ -292,10 +292,10 @@ func (r *resourceEventApi) Create(ctx context.Context, req resource.CreateReques } createTimeout := r.CreateTimeout(ctx, plan.Timeouts) - _, err = waitEventApiCreated(ctx, conn, plan.ApiId.ValueString(), createTimeout) + _, err = waitEventAPICreated(ctx, conn, plan.ApiId.ValueString(), createTimeout) if err != nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionWaitingForCreation, ResNameEventApi, plan.Name.String(), err), + create.ProblemStandardMessage(names.AppSync, create.ErrActionWaitingForCreation, ResNameEventAPI, plan.Name.String(), err), err.Error(), ) return @@ -304,10 +304,10 @@ func (r *resourceEventApi) Create(ctx context.Context, req resource.CreateReques resp.Diagnostics.Append(resp.State.Set(ctx, plan)...) } -func (r *resourceEventApi) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { +func (r *resourceEventAPI) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { conn := r.Meta().AppSyncClient(ctx) - var state resourceEventApiModel + var state resourceEventAPIModel resp.Diagnostics.Append(req.State.Get(ctx, &state)...) if resp.Diagnostics.HasError() { return @@ -315,7 +315,7 @@ func (r *resourceEventApi) Read(ctx context.Context, req resource.ReadRequest, r apiId := state.ApiId.ValueString() - out, err := findEventApiByID(ctx, conn, apiId) + out, err := findEventAPIByID(ctx, conn, apiId) if tfresource.NotFound(err) { resp.Diagnostics.Append(fwdiag.NewResourceNotFoundWarningDiagnostic(err)) resp.State.RemoveResource(ctx) @@ -323,7 +323,7 @@ func (r *resourceEventApi) Read(ctx context.Context, req resource.ReadRequest, r } if err != nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionReading, ResNameEventApi, state.ApiId.String(), err), + create.ProblemStandardMessage(names.AppSync, create.ErrActionReading, ResNameEventAPI, state.ApiId.String(), err), err.Error(), ) return @@ -337,10 +337,10 @@ func (r *resourceEventApi) Read(ctx context.Context, req resource.ReadRequest, r resp.Diagnostics.Append(resp.State.Set(ctx, &state)...) } -func (r *resourceEventApi) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { +func (r *resourceEventAPI) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { conn := r.Meta().AppSyncClient(ctx) - var plan, state resourceEventApiModel + var plan, state resourceEventAPIModel resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) resp.Diagnostics.Append(req.State.Get(ctx, &state)...) if resp.Diagnostics.HasError() { @@ -365,14 +365,14 @@ func (r *resourceEventApi) Update(ctx context.Context, req resource.UpdateReques out, err := conn.UpdateApi(ctx, &input) if err != nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionUpdating, ResNameEventApi, plan.ApiId.String(), err), + create.ProblemStandardMessage(names.AppSync, create.ErrActionUpdating, ResNameEventAPI, plan.ApiId.String(), err), err.Error(), ) return } if out == nil || out.Api == nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionUpdating, ResNameEventApi, plan.ApiId.String(), nil), + create.ProblemStandardMessage(names.AppSync, create.ErrActionUpdating, ResNameEventAPI, plan.ApiId.String(), nil), errors.New("empty output").Error(), ) return @@ -387,10 +387,10 @@ func (r *resourceEventApi) Update(ctx context.Context, req resource.UpdateReques resp.Diagnostics.Append(resp.State.Set(ctx, &plan)...) } -func (r *resourceEventApi) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { +func (r *resourceEventAPI) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { conn := r.Meta().AppSyncClient(ctx) - var state resourceEventApiModel + var state resourceEventAPIModel resp.Diagnostics.Append(req.State.Get(ctx, &state)...) if resp.Diagnostics.HasError() { return @@ -407,24 +407,24 @@ func (r *resourceEventApi) Delete(ctx context.Context, req resource.DeleteReques } resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionDeleting, ResNameEventApi, state.ApiId.String(), err), + create.ProblemStandardMessage(names.AppSync, create.ErrActionDeleting, ResNameEventAPI, state.ApiId.String(), err), err.Error(), ) return } deleteTimeout := r.DeleteTimeout(ctx, state.Timeouts) - _, err = waitEventApiDeleted(ctx, conn, state.ApiId.ValueString(), deleteTimeout) + _, err = waitEventAPIDeleted(ctx, conn, state.ApiId.ValueString(), deleteTimeout) if err != nil { resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionWaitingForDeletion, ResNameEventApi, state.ApiId.String(), err), + create.ProblemStandardMessage(names.AppSync, create.ErrActionWaitingForDeletion, ResNameEventAPI, state.ApiId.String(), err), err.Error(), ) return } } -func (r *resourceEventApi) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { +func (r *resourceEventAPI) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { resource.ImportStatePassthroughID(ctx, path.Root("id"), req, resp) } @@ -433,11 +433,11 @@ const ( statusNormal = "Normal" ) -func waitEventApiCreated(ctx context.Context, conn *appsync.Client, id string, timeout time.Duration) (*awstypes.Api, error) { +func waitEventAPICreated(ctx context.Context, conn *appsync.Client, id string, timeout time.Duration) (*awstypes.Api, error) { stateConf := &retry.StateChangeConf{ Pending: []string{}, Target: []string{statusNormal}, - Refresh: statusEventApi(ctx, conn, id), + Refresh: statusEventAPI(ctx, conn, id), Timeout: timeout, NotFoundChecks: 20, ContinuousTargetOccurence: 2, @@ -445,9 +445,9 @@ func waitEventApiCreated(ctx context.Context, conn *appsync.Client, id string, t outputRaw, err := stateConf.WaitForStateContext(ctx) if err != nil { - fmt.Printf("[DEBUG] waitEventApiCreated: Wait failed with error: %v\n", err) + fmt.Printf("[DEBUG] waitEventAPICreated: Wait failed with error: %v\n", err) } else { - fmt.Printf("[DEBUG] waitEventApiCreated: Wait completed successfully for API: %s\n", id) + fmt.Printf("[DEBUG] waitEventAPICreated: Wait completed successfully for API: %s\n", id) } if out, ok := outputRaw.(*awstypes.Api); ok { @@ -457,20 +457,20 @@ func waitEventApiCreated(ctx context.Context, conn *appsync.Client, id string, t return nil, err } -func waitEventApiDeleted(ctx context.Context, conn *appsync.Client, id string, timeout time.Duration) (*awstypes.Api, error) { - fmt.Printf("[DEBUG] waitEventApiDeleted: Starting wait for API deletion: %s\n", id) +func waitEventAPIDeleted(ctx context.Context, conn *appsync.Client, id string, timeout time.Duration) (*awstypes.Api, error) { + fmt.Printf("[DEBUG] waitEventAPIDeleted: Starting wait for API deletion: %s\n", id) stateConf := &retry.StateChangeConf{ Pending: []string{statusDeleting, statusNormal}, Target: []string{}, - Refresh: statusEventApi(ctx, conn, id), + Refresh: statusEventAPI(ctx, conn, id), Timeout: timeout, } outputRaw, err := stateConf.WaitForStateContext(ctx) if err != nil { - fmt.Printf("[DEBUG] waitEventApiDeleted: Wait failed with error: %v\n", err) + fmt.Printf("[DEBUG] waitEventAPIDeleted: Wait failed with error: %v\n", err) } else { - fmt.Printf("[DEBUG] waitEventApiDeleted: Wait completed successfully for API: %s\n", id) + fmt.Printf("[DEBUG] waitEventAPIDeleted: Wait completed successfully for API: %s\n", id) } if out, ok := outputRaw.(*awstypes.Api); ok { @@ -480,9 +480,9 @@ func waitEventApiDeleted(ctx context.Context, conn *appsync.Client, id string, t return nil, err } -func statusEventApi(ctx context.Context, conn *appsync.Client, id string) retry.StateRefreshFunc { +func statusEventAPI(ctx context.Context, conn *appsync.Client, id string) retry.StateRefreshFunc { return func() (any, string, error) { - out, err := findEventApiByID(ctx, conn, id) + out, err := findEventAPIByID(ctx, conn, id) if tfresource.NotFound(err) { return nil, "", nil } @@ -495,7 +495,7 @@ func statusEventApi(ctx context.Context, conn *appsync.Client, id string) retry. } } -func findEventApiByID(ctx context.Context, conn *appsync.Client, id string) (*awstypes.Api, error) { +func findEventAPIByID(ctx context.Context, conn *appsync.Client, id string) (*awstypes.Api, error) { input := appsync.GetApiInput{ ApiId: aws.String(id), } @@ -518,7 +518,7 @@ func findEventApiByID(ctx context.Context, conn *appsync.Client, id string) (*aw return out.Api, nil } -type resourceEventApiModel struct { +type resourceEventAPIModel struct { framework.WithRegionModel ApiArn types.String `tfsdk:"arn"` ApiId types.String `tfsdk:"id"` diff --git a/internal/service/appsync/event_api_test.go b/internal/service/appsync/event_api_test.go index a2065fb7a732..ffe01c6ba8ab 100644 --- a/internal/service/appsync/event_api_test.go +++ b/internal/service/appsync/event_api_test.go @@ -59,7 +59,7 @@ import ( // resource name. // // Acceptance test access AWS and cost money to run. -func TestAccAppSyncEventApi_basic(t *testing.T) { +func TestAccAppSyncEventAPI_basic(t *testing.T) { ctx := acctest.Context(t) if testing.Short() { t.Skip("skipping long-running test in short mode") @@ -77,12 +77,12 @@ func TestAccAppSyncEventApi_basic(t *testing.T) { }, ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckEventApiDestroy(ctx), + CheckDestroy: testAccCheckEventAPIDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccEventApiConfig_basic(rName), + Config: testAccEventAPIConfig_basic(rName), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventApiExists(ctx, resourceName, &eventapi), + testAccCheckEventAPIExists(ctx, resourceName, &eventapi), resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), resource.TestCheckResourceAttrSet(resourceName, "api_id"), resource.TestCheckResourceAttrSet(resourceName, "created"), @@ -100,7 +100,7 @@ func TestAccAppSyncEventApi_basic(t *testing.T) { }) } -func TestAccAppSyncEventApi_disappears(t *testing.T) { +func TestAccAppSyncEventAPI_disappears(t *testing.T) { ctx := acctest.Context(t) if testing.Short() { t.Skip("skipping long-running test in short mode") @@ -118,13 +118,13 @@ func TestAccAppSyncEventApi_disappears(t *testing.T) { }, ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckEventApiDestroy(ctx), + CheckDestroy: testAccCheckEventAPIDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccEventApiConfig_basic(rName), + Config: testAccEventAPIConfig_basic(rName), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventApiExists(ctx, resourceName, &eventapi), - acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfappsync.ResourceEventApi, resourceName), + testAccCheckEventAPIExists(ctx, resourceName, &eventapi), + acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfappsync.ResourceEventAPI, resourceName), ), ExpectNonEmptyPlan: true, }, @@ -132,7 +132,7 @@ func TestAccAppSyncEventApi_disappears(t *testing.T) { }) } -func TestAccAppSyncEventApi_eventConfigComprehensive(t *testing.T) { +func TestAccAppSyncEventAPI_eventConfigComprehensive(t *testing.T) { ctx := acctest.Context(t) if testing.Short() { t.Skip("skipping long-running test in short mode") @@ -150,12 +150,12 @@ func TestAccAppSyncEventApi_eventConfigComprehensive(t *testing.T) { }, ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckEventApiDestroy(ctx), + CheckDestroy: testAccCheckEventAPIDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccEventApiConfig_eventConfigComprehensive(rName), + Config: testAccEventAPIConfig_eventConfigComprehensive(rName), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventApiExists(ctx, resourceName, &eventapi), + testAccCheckEventAPIExists(ctx, resourceName, &eventapi), resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), @@ -204,7 +204,7 @@ func TestAccAppSyncEventApi_eventConfigComprehensive(t *testing.T) { }) } -func TestAccAppSyncEventApi_tags(t *testing.T) { +func TestAccAppSyncEventAPI_tags(t *testing.T) { ctx := acctest.Context(t) if testing.Short() { t.Skip("skipping long-running test in short mode") @@ -222,12 +222,12 @@ func TestAccAppSyncEventApi_tags(t *testing.T) { }, ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckEventApiDestroy(ctx), + CheckDestroy: testAccCheckEventAPIDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccEventApiConfig_tags1(rName, "key1", "value1"), + Config: testAccEventAPIConfig_tags1(rName, "key1", "value1"), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventApiExists(ctx, resourceName, &eventapi), + testAccCheckEventAPIExists(ctx, resourceName, &eventapi), resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "1"), resource.TestCheckResourceAttr(resourceName, "tags.key1", "value1"), resource.TestCheckResourceAttr(resourceName, acctest.CtTagsAllPercent, "1"), @@ -240,9 +240,9 @@ func TestAccAppSyncEventApi_tags(t *testing.T) { ImportStateVerify: true, }, { - Config: testAccEventApiConfig_tags2(rName, "key1", "value1updated", "key2", "value2"), + Config: testAccEventAPIConfig_tags2(rName, "key1", "value1updated", "key2", "value2"), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventApiExists(ctx, resourceName, &eventapi), + testAccCheckEventAPIExists(ctx, resourceName, &eventapi), resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "2"), resource.TestCheckResourceAttr(resourceName, "tags.key1", "value1updated"), resource.TestCheckResourceAttr(resourceName, "tags.key2", "value2"), @@ -252,9 +252,9 @@ func TestAccAppSyncEventApi_tags(t *testing.T) { ), }, { - Config: testAccEventApiConfig_tags1(rName, "key2", "value2"), + Config: testAccEventAPIConfig_tags1(rName, "key2", "value2"), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventApiExists(ctx, resourceName, &eventapi), + testAccCheckEventAPIExists(ctx, resourceName, &eventapi), resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "1"), resource.TestCheckResourceAttr(resourceName, "tags.key2", "value2"), resource.TestCheckResourceAttr(resourceName, acctest.CtTagsAllPercent, "1"), @@ -265,7 +265,7 @@ func TestAccAppSyncEventApi_tags(t *testing.T) { }) } -func TestAccAppSyncEventApi_update(t *testing.T) { +func TestAccAppSyncEventAPI_update(t *testing.T) { ctx := acctest.Context(t) if testing.Short() { t.Skip("skipping long-running test in short mode") @@ -284,12 +284,12 @@ func TestAccAppSyncEventApi_update(t *testing.T) { }, ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckEventApiDestroy(ctx), + CheckDestroy: testAccCheckEventAPIDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccEventApiConfig_eventConfigComprehensive(rName), + Config: testAccEventAPIConfig_eventConfigComprehensive(rName), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventApiExists(ctx, resourceName, &eventapi), + testAccCheckEventAPIExists(ctx, resourceName, &eventapi), resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), @@ -297,9 +297,9 @@ func TestAccAppSyncEventApi_update(t *testing.T) { ), }, { - Config: testAccEventApiConfig_eventConfigComprehensive(rNameUpdated), + Config: testAccEventAPIConfig_eventConfigComprehensive(rNameUpdated), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventApiExists(ctx, resourceName, &eventapi), + testAccCheckEventAPIExists(ctx, resourceName, &eventapi), resource.TestCheckResourceAttr(resourceName, names.AttrName, rNameUpdated), resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), @@ -315,7 +315,7 @@ func TestAccAppSyncEventApi_update(t *testing.T) { }) } -func testAccCheckEventApiDestroy(ctx context.Context) resource.TestCheckFunc { +func testAccCheckEventAPIDestroy(ctx context.Context) resource.TestCheckFunc { return func(s *terraform.State) error { conn := acctest.Provider.Meta().(*conns.AWSClient).AppSyncClient(ctx) @@ -324,37 +324,37 @@ func testAccCheckEventApiDestroy(ctx context.Context) resource.TestCheckFunc { continue } - _, err := tfappsync.FindEventApiByID(ctx, conn, rs.Primary.ID) + _, err := tfappsync.FindEventAPIByID(ctx, conn, rs.Primary.ID) if tfresource.NotFound(err) { return nil } if err != nil { - return create.Error(names.AppSync, create.ErrActionCheckingDestroyed, tfappsync.ResNameEventApi, rs.Primary.ID, err) + return create.Error(names.AppSync, create.ErrActionCheckingDestroyed, tfappsync.ResNameEventAPI, rs.Primary.ID, err) } - return create.Error(names.AppSync, create.ErrActionCheckingDestroyed, tfappsync.ResNameEventApi, rs.Primary.ID, errors.New("not destroyed")) + return create.Error(names.AppSync, create.ErrActionCheckingDestroyed, tfappsync.ResNameEventAPI, rs.Primary.ID, errors.New("not destroyed")) } return nil } } -func testAccCheckEventApiExists(ctx context.Context, name string, eventapi *awstypes.Api) resource.TestCheckFunc { +func testAccCheckEventAPIExists(ctx context.Context, name string, eventapi *awstypes.Api) resource.TestCheckFunc { return func(s *terraform.State) error { rs, ok := s.RootModule().Resources[name] if !ok { - return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameEventApi, name, errors.New("not found")) + return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameEventAPI, name, errors.New("not found")) } if rs.Primary.ID == "" { - return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameEventApi, name, errors.New("not set")) + return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameEventAPI, name, errors.New("not set")) } conn := acctest.Provider.Meta().(*conns.AWSClient).AppSyncClient(ctx) - resp, err := tfappsync.FindEventApiByID(ctx, conn, rs.Primary.ID) + resp, err := tfappsync.FindEventAPIByID(ctx, conn, rs.Primary.ID) if err != nil { - return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameEventApi, rs.Primary.ID, err) + return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameEventAPI, rs.Primary.ID, err) } *eventapi = *resp @@ -363,7 +363,7 @@ func testAccCheckEventApiExists(ctx context.Context, name string, eventapi *awst } } -func testAccEventApiConfig_basic(rName string) string { +func testAccEventAPIConfig_basic(rName string) string { return fmt.Sprintf(` resource "aws_appsync_event_api" "test" { name = %[1]q @@ -371,7 +371,7 @@ resource "aws_appsync_event_api" "test" { `, rName) } -func testAccEventApiConfig_eventConfigComprehensive(rName string) string { +func testAccEventAPIConfig_eventConfigComprehensive(rName string) string { return fmt.Sprintf(` resource "aws_cognito_user_pool" "test" { name = %[1]q @@ -527,7 +527,7 @@ data "aws_region" "current" {} `, rName) } -func testAccEventApiConfig_tags1(rName, tagKey1, tagValue1 string) string { +func testAccEventAPIConfig_tags1(rName, tagKey1, tagValue1 string) string { return fmt.Sprintf(` resource "aws_appsync_event_api" "test" { name = %[1]q @@ -539,7 +539,7 @@ resource "aws_appsync_event_api" "test" { `, rName, tagKey1, tagValue1) } -func testAccEventApiConfig_tags2(rName, tagKey1, tagValue1, tagKey2, tagValue2 string) string { +func testAccEventAPIConfig_tags2(rName, tagKey1, tagValue1, tagKey2, tagValue2 string) string { return fmt.Sprintf(` resource "aws_appsync_event_api" "test" { name = %[1]q diff --git a/internal/service/appsync/exports_test.go b/internal/service/appsync/exports_test.go index f4c61b134c4f..9945fe8fe8b7 100644 --- a/internal/service/appsync/exports_test.go +++ b/internal/service/appsync/exports_test.go @@ -10,7 +10,7 @@ var ( ResourceDataSource = resourceDataSource ResourceDomainName = resourceDomainName ResourceDomainNameAPIAssociation = resourceDomainNameAPIAssociation - ResourceEventApi = newEventApiResource + ResourceEventAPI = newEventAPIResource ResourceFunction = resourceFunction ResourceGraphQLAPI = resourceGraphQLAPI ResourceResolver = resourceResolver @@ -23,7 +23,7 @@ var ( FindDataSourceByTwoPartKey = findDataSourceByTwoPartKey FindDomainNameAPIAssociationByID = findDomainNameAPIAssociationByID FindDomainNameByID = findDomainNameByID - FindEventApiByID = findEventApiByID + FindEventAPIByID = findEventAPIByID FindFunctionByTwoPartKey = findFunctionByTwoPartKey FindGraphQLAPIByID = findGraphQLAPIByID FindResolverByThreePartKey = findResolverByThreePartKey diff --git a/internal/service/appsync/service_package_gen.go b/internal/service/appsync/service_package_gen.go index 97e46d33c61b..ea2dd46e9d4c 100644 --- a/internal/service/appsync/service_package_gen.go +++ b/internal/service/appsync/service_package_gen.go @@ -25,7 +25,7 @@ func (p *servicePackage) FrameworkDataSources(ctx context.Context) []*inttypes.S func (p *servicePackage) FrameworkResources(ctx context.Context) []*inttypes.ServicePackageFrameworkResource { return []*inttypes.ServicePackageFrameworkResource{ { - Factory: newEventApiResource, + Factory: newEventAPIResource, TypeName: "aws_appsync_event_api", Name: "Event API", Region: unique.Make(inttypes.ResourceRegionDefault()), From f09e68a31a07bfc5d56c4b039523098d35d81e86 Mon Sep 17 00:00:00 2001 From: ThomasZalewski Date: Sat, 19 Jul 2025 02:03:39 -0700 Subject: [PATCH 0739/1301] smarterr errors --- internal/service/appsync/event_api.go | 89 ++++++++++----------------- 1 file changed, 33 insertions(+), 56 deletions(-) diff --git a/internal/service/appsync/event_api.go b/internal/service/appsync/event_api.go index 12df39f80d7f..861cc6c6eab6 100644 --- a/internal/service/appsync/event_api.go +++ b/internal/service/appsync/event_api.go @@ -9,6 +9,7 @@ import ( "fmt" "time" + "github.com/YakDriver/smarterr" "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/service/appsync" awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" @@ -25,12 +26,12 @@ import ( "github.com/hashicorp/terraform-plugin-framework/schema/validator" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" - "github.com/hashicorp/terraform-provider-aws/internal/create" "github.com/hashicorp/terraform-provider-aws/internal/errs" "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" "github.com/hashicorp/terraform-provider-aws/internal/framework" "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" + "github.com/hashicorp/terraform-provider-aws/internal/smerr" tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" @@ -257,13 +258,13 @@ func (r *resourceEventAPI) Create(ctx context.Context, req resource.CreateReques conn := r.Meta().AppSyncClient(ctx) var plan resourceEventAPIModel - resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) + smerr.EnrichAppend(ctx, &resp.Diagnostics, req.Plan.Get(ctx, &plan)) if resp.Diagnostics.HasError() { return } var input appsync.CreateApiInput - resp.Diagnostics.Append(flex.Expand(ctx, plan, &input)...) + smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Expand(ctx, plan, &input)) if resp.Diagnostics.HasError() { return } @@ -272,21 +273,15 @@ func (r *resourceEventAPI) Create(ctx context.Context, req resource.CreateReques out, err := conn.CreateApi(ctx, &input) if err != nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionCreating, ResNameEventAPI, plan.Name.String(), err), - err.Error(), - ) + smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, plan.Name.String()) return } if out == nil || out.Api == nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionCreating, ResNameEventAPI, plan.Name.String(), nil), - errors.New("empty output").Error(), - ) + smerr.AddError(ctx, &resp.Diagnostics, errors.New("empty output"), smerr.ID, plan.Name.String()) return } - resp.Diagnostics.Append(flex.Flatten(ctx, out.Api, &plan)...) + smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Flatten(ctx, out.Api, &plan), smerr.ID, plan.Name.String()) if resp.Diagnostics.HasError() { return } @@ -294,21 +289,18 @@ func (r *resourceEventAPI) Create(ctx context.Context, req resource.CreateReques createTimeout := r.CreateTimeout(ctx, plan.Timeouts) _, err = waitEventAPICreated(ctx, conn, plan.ApiId.ValueString(), createTimeout) if err != nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionWaitingForCreation, ResNameEventAPI, plan.Name.String(), err), - err.Error(), - ) + smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, plan.Name.String()) return } - resp.Diagnostics.Append(resp.State.Set(ctx, plan)...) + smerr.EnrichAppend(ctx, &resp.Diagnostics, resp.State.Set(ctx, plan), smerr.ID, plan.ApiId.String()) } func (r *resourceEventAPI) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { conn := r.Meta().AppSyncClient(ctx) var state resourceEventAPIModel - resp.Diagnostics.Append(req.State.Get(ctx, &state)...) + smerr.EnrichAppend(ctx, &resp.Diagnostics, req.State.Get(ctx, &state)) if resp.Diagnostics.HasError() { return } @@ -322,40 +314,37 @@ func (r *resourceEventAPI) Read(ctx context.Context, req resource.ReadRequest, r return } if err != nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionReading, ResNameEventAPI, state.ApiId.String(), err), - err.Error(), - ) + smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, state.ApiId.String()) return } - resp.Diagnostics.Append(flex.Flatten(ctx, out, &state)...) + smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Flatten(ctx, out, &state), smerr.ID, state.ApiId.String()) if resp.Diagnostics.HasError() { return } - resp.Diagnostics.Append(resp.State.Set(ctx, &state)...) + smerr.EnrichAppend(ctx, &resp.Diagnostics, resp.State.Set(ctx, &state), smerr.ID, state.ApiId.String()) } func (r *resourceEventAPI) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { conn := r.Meta().AppSyncClient(ctx) var plan, state resourceEventAPIModel - resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) - resp.Diagnostics.Append(req.State.Get(ctx, &state)...) + smerr.EnrichAppend(ctx, &resp.Diagnostics, req.Plan.Get(ctx, &plan)) + smerr.EnrichAppend(ctx, &resp.Diagnostics, req.State.Get(ctx, &state)) if resp.Diagnostics.HasError() { return } diff, d := flex.Diff(ctx, plan, state) - resp.Diagnostics.Append(d...) + smerr.EnrichAppend(ctx, &resp.Diagnostics, d, smerr.ID, plan.ApiId.String()) if resp.Diagnostics.HasError() { return } if diff.HasChanges() { var input appsync.UpdateApiInput - resp.Diagnostics.Append(flex.Expand(ctx, plan, &input)...) + smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Expand(ctx, plan, &input), smerr.ID, plan.ApiId.String()) if resp.Diagnostics.HasError() { return } @@ -364,34 +353,28 @@ func (r *resourceEventAPI) Update(ctx context.Context, req resource.UpdateReques out, err := conn.UpdateApi(ctx, &input) if err != nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionUpdating, ResNameEventAPI, plan.ApiId.String(), err), - err.Error(), - ) + smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, plan.ApiId.String()) return } if out == nil || out.Api == nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionUpdating, ResNameEventAPI, plan.ApiId.String(), nil), - errors.New("empty output").Error(), - ) + smerr.AddError(ctx, &resp.Diagnostics, errors.New("empty output"), smerr.ID, plan.ApiId.String()) return } - resp.Diagnostics.Append(flex.Flatten(ctx, out.Api, &plan)...) + smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Flatten(ctx, out.Api, &plan), smerr.ID, plan.ApiId.String()) if resp.Diagnostics.HasError() { return } } - resp.Diagnostics.Append(resp.State.Set(ctx, &plan)...) + smerr.EnrichAppend(ctx, &resp.Diagnostics, resp.State.Set(ctx, &plan), smerr.ID, plan.ApiId.String()) } func (r *resourceEventAPI) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { conn := r.Meta().AppSyncClient(ctx) var state resourceEventAPIModel - resp.Diagnostics.Append(req.State.Get(ctx, &state)...) + smerr.EnrichAppend(ctx, &resp.Diagnostics, req.State.Get(ctx, &state)) if resp.Diagnostics.HasError() { return } @@ -406,20 +389,14 @@ func (r *resourceEventAPI) Delete(ctx context.Context, req resource.DeleteReques return } - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionDeleting, ResNameEventAPI, state.ApiId.String(), err), - err.Error(), - ) + smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, state.ApiId.String()) return } deleteTimeout := r.DeleteTimeout(ctx, state.Timeouts) _, err = waitEventAPIDeleted(ctx, conn, state.ApiId.ValueString(), deleteTimeout) if err != nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.AppSync, create.ErrActionWaitingForDeletion, ResNameEventAPI, state.ApiId.String(), err), - err.Error(), - ) + smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, state.ApiId.String()) return } } @@ -451,10 +428,10 @@ func waitEventAPICreated(ctx context.Context, conn *appsync.Client, id string, t } if out, ok := outputRaw.(*awstypes.Api); ok { - return out, err + return out, smarterr.NewError(err) } - return nil, err + return nil, smarterr.NewError(err) } func waitEventAPIDeleted(ctx context.Context, conn *appsync.Client, id string, timeout time.Duration) (*awstypes.Api, error) { @@ -474,10 +451,10 @@ func waitEventAPIDeleted(ctx context.Context, conn *appsync.Client, id string, t } if out, ok := outputRaw.(*awstypes.Api); ok { - return out, err + return out, smarterr.NewError(err) } - return nil, err + return nil, smarterr.NewError(err) } func statusEventAPI(ctx context.Context, conn *appsync.Client, id string) retry.StateRefreshFunc { @@ -488,7 +465,7 @@ func statusEventAPI(ctx context.Context, conn *appsync.Client, id string) retry. } if err != nil { - return nil, "", err + return nil, "", smarterr.NewError(err) } return out, statusNormal, nil @@ -503,16 +480,16 @@ func findEventAPIByID(ctx context.Context, conn *appsync.Client, id string) (*aw out, err := conn.GetApi(ctx, &input) if err != nil { if errs.IsA[*awstypes.NotFoundException](err) { - return nil, &retry.NotFoundError{ + return nil, smarterr.NewError(&retry.NotFoundError{ LastError: err, LastRequest: &input, - } + }) } - return nil, err + return nil, smarterr.NewError(err) } if out == nil || out.Api == nil { - return nil, tfresource.NewEmptyResultError(&input) + return nil, smarterr.NewError(tfresource.NewEmptyResultError(&input)) } return out.Api, nil From 549e9f739feaf087a994ce261a5494c7b5652ad5 Mon Sep 17 00:00:00 2001 From: ThomasZalewski Date: Mon, 21 Jul 2025 08:45:54 -0700 Subject: [PATCH 0740/1301] tags support --- internal/service/appsync/event_api.go | 1 + .../appsync/event_api_identity_gen_test.go | 85 ++++++++ .../service/appsync/service_package_gen.go | 3 + .../testdata/EventAPI/basic/main_gen.tf | 19 +- .../EventAPI/basic_v5.100.0/main_gen.tf | 165 ++++++++++++++++ .../EventAPI/basic_v6.0.0/main_gen.tf | 165 ++++++++++++++++ .../EventAPI/region_overide/main_gen.tf | 11 -- .../EventAPI/region_override/main_gen.tf | 37 ++-- .../testdata/EventAPI/tags/main_gen.tf | 187 ++++++++++++++++++ .../EventAPI/tags/tags_computed1/main_gen.tf | 175 ++++++++++++++++ .../EventAPI/tags/tags_ignore/main_gen.tf | 185 +++++++++++++++++ .../appsync/testdata/tmpl/event_api_tags.gtpl | 31 ++- 12 files changed, 1002 insertions(+), 62 deletions(-) create mode 100644 internal/service/appsync/testdata/EventAPI/basic_v5.100.0/main_gen.tf create mode 100644 internal/service/appsync/testdata/EventAPI/basic_v6.0.0/main_gen.tf delete mode 100644 internal/service/appsync/testdata/EventAPI/region_overide/main_gen.tf create mode 100644 internal/service/appsync/testdata/EventAPI/tags/main_gen.tf create mode 100644 internal/service/appsync/testdata/EventAPI/tags/tags_computed1/main_gen.tf create mode 100644 internal/service/appsync/testdata/EventAPI/tags/tags_ignore/main_gen.tf diff --git a/internal/service/appsync/event_api.go b/internal/service/appsync/event_api.go index 861cc6c6eab6..d508df8a4a7c 100644 --- a/internal/service/appsync/event_api.go +++ b/internal/service/appsync/event_api.go @@ -38,6 +38,7 @@ import ( ) // @FrameworkResource("aws_appsync_event_api", name="Event API") +// @Tags(identifierAttribute="id") // @IdentityAttribute("id") // @Testing(importStateIdAttribute="id") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/appsync/types;awstypes;awstypes.Api") diff --git a/internal/service/appsync/event_api_identity_gen_test.go b/internal/service/appsync/event_api_identity_gen_test.go index 8eee21f74f27..c7fb5a85feef 100644 --- a/internal/service/appsync/event_api_identity_gen_test.go +++ b/internal/service/appsync/event_api_identity_gen_test.go @@ -16,6 +16,7 @@ import ( "github.com/hashicorp/terraform-plugin-testing/tfversion" "github.com/hashicorp/terraform-provider-aws/internal/acctest" tfknownvalue "github.com/hashicorp/terraform-provider-aws/internal/acctest/knownvalue" + tfstatecheck "github.com/hashicorp/terraform-provider-aws/internal/acctest/statecheck" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -194,3 +195,87 @@ func TestAccAppSyncEventAPI_Identity_RegionOverride(t *testing.T) { }, }) } + +func TestAccAppSyncEventAPI_Identity_ExistingResource(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.Api + resourceName := "aws_appsync_event_api.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckEventAPIDestroy(ctx), + Steps: []resource.TestStep{ + // Step 1: Create pre-Identity + { + ConfigDirectory: config.StaticDirectory("testdata/EventAPI/basic_v5.100.0/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckEventAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + tfstatecheck.ExpectNoIdentity(resourceName), + }, + }, + + // Step 2: v6.0 Identity set on refresh + { + ConfigDirectory: config.StaticDirectory("testdata/EventAPI/basic_v6.0.0/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckEventAPIExists(ctx, resourceName, &v), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.Region()), + names.AttrID: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), + }, + }, + + // Step 3: Current version + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/EventAPI/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.Region()), + names.AttrID: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), + }, + }, + }, + }) +} diff --git a/internal/service/appsync/service_package_gen.go b/internal/service/appsync/service_package_gen.go index ea2dd46e9d4c..274c1a90bc48 100644 --- a/internal/service/appsync/service_package_gen.go +++ b/internal/service/appsync/service_package_gen.go @@ -28,6 +28,9 @@ func (p *servicePackage) FrameworkResources(ctx context.Context) []*inttypes.Ser Factory: newEventAPIResource, TypeName: "aws_appsync_event_api", Name: "Event API", + Tags: unique.Make(inttypes.ServicePackageResourceTags{ + IdentifierAttribute: names.AttrID, + }), Region: unique.Make(inttypes.ResourceRegionDefault()), Identity: inttypes.RegionalSingleParameterIdentity(names.AttrID), Import: inttypes.FrameworkImport{ diff --git a/internal/service/appsync/testdata/EventAPI/basic/main_gen.tf b/internal/service/appsync/testdata/EventAPI/basic/main_gen.tf index 2f93319b9cc1..119c9278705a 100644 --- a/internal/service/appsync/testdata/EventAPI/basic/main_gen.tf +++ b/internal/service/appsync/testdata/EventAPI/basic/main_gen.tf @@ -2,11 +2,11 @@ # SPDX-License-Identifier: MPL-2.0 resource "aws_cognito_user_pool" "test" { - name = var.name + name = var.rName } resource "aws_iam_role" "lambda" { - name = var.name + name = var.rName assume_role_policy = jsonencode({ Version = "2012-10-17" @@ -35,14 +35,14 @@ data "aws_iam_policy_document" "lambda_basic" { } resource "aws_iam_role_policy" "lambda_basic" { - name = var.name + name = var.rName role = aws_iam_role.lambda.id policy = data.aws_iam_policy_document.lambda_basic.json } resource "aws_lambda_function" "test" { filename = "test-fixtures/lambdatest.zip" - function_name = var.name + function_name = var.rName role = aws_iam_role.lambda.arn handler = "index.handler" runtime = "nodejs18.x" @@ -59,7 +59,7 @@ resource "aws_lambda_permission" "appsync_invoke" { } resource "aws_iam_role" "cloudwatch" { - name = var.name + name = var.rName assume_role_policy = jsonencode({ Version = "2012-10-17" @@ -88,13 +88,13 @@ data "aws_iam_policy_document" "cloudwatch_logs" { } resource "aws_iam_role_policy" "cloudwatch" { - name = var.name + name = var.rName role = aws_iam_role.cloudwatch.id policy = data.aws_iam_policy_document.cloudwatch_logs.json } resource "aws_appsync_event_api" "test" { - name = var.name + name = var.rName owner_contact = "test@example.com" event_config { @@ -153,8 +153,3 @@ variable "rName" { type = string nullable = false } -variable "rName" { - description = "Name for resource" - type = string - nullable = false -} diff --git a/internal/service/appsync/testdata/EventAPI/basic_v5.100.0/main_gen.tf b/internal/service/appsync/testdata/EventAPI/basic_v5.100.0/main_gen.tf new file mode 100644 index 000000000000..14ca74e19d7e --- /dev/null +++ b/internal/service/appsync/testdata/EventAPI/basic_v5.100.0/main_gen.tf @@ -0,0 +1,165 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_cognito_user_pool" "test" { + name = var.rName +} + +resource "aws_iam_role" "lambda" { + name = var.rName + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "lambda_basic" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "lambda_basic" { + name = var.rName + role = aws_iam_role.lambda.id + policy = data.aws_iam_policy_document.lambda_basic.json +} + +resource "aws_lambda_function" "test" { + filename = "test-fixtures/lambdatest.zip" + function_name = var.rName + role = aws_iam_role.lambda.arn + handler = "index.handler" + runtime = "nodejs18.x" + source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") + + depends_on = [aws_iam_role_policy.lambda_basic] +} + +resource "aws_lambda_permission" "appsync_invoke" { + statement_id = "AllowExecutionFromAppSync" + action = "lambda:InvokeFunction" + function_name = aws_lambda_function.test.function_name + principal = "appsync.amazonaws.com" +} + +resource "aws_iam_role" "cloudwatch" { + name = var.rName + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "appsync.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "cloudwatch_logs" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "cloudwatch" { + name = var.rName + role = aws_iam_role.cloudwatch.id + policy = data.aws_iam_policy_document.cloudwatch_logs.json +} + +resource "aws_appsync_event_api" "test" { + name = var.rName + owner_contact = "test@example.com" + + event_config { + auth_providers { + auth_type = "AMAZON_COGNITO_USER_POOLS" + cognito_config { + user_pool_id = aws_cognito_user_pool.test.id + aws_region = data.aws_region.current.name + } + } + + auth_providers { + auth_type = "AWS_LAMBDA" + lambda_authorizer_config { + authorizer_uri = aws_lambda_function.test.arn + authorizer_result_ttl_in_seconds = 300 + } + } + + auth_providers { + auth_type = "OPENID_CONNECT" + openid_connect_config { + issuer = "https://example.com" + client_id = "test-client-id" + } + } + + connection_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_publish_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_subscribe_auth_modes { + auth_type = "AWS_LAMBDA" + } + + log_config { + cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn + log_level = "ERROR" + } + } + + depends_on = [ + aws_lambda_permission.appsync_invoke, + aws_iam_role_policy.cloudwatch + ] +} + +data "aws_region" "current" {} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "5.100.0" + } + } +} + +provider "aws" {} diff --git a/internal/service/appsync/testdata/EventAPI/basic_v6.0.0/main_gen.tf b/internal/service/appsync/testdata/EventAPI/basic_v6.0.0/main_gen.tf new file mode 100644 index 000000000000..2f8c60b00b92 --- /dev/null +++ b/internal/service/appsync/testdata/EventAPI/basic_v6.0.0/main_gen.tf @@ -0,0 +1,165 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_cognito_user_pool" "test" { + name = var.rName +} + +resource "aws_iam_role" "lambda" { + name = var.rName + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "lambda_basic" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "lambda_basic" { + name = var.rName + role = aws_iam_role.lambda.id + policy = data.aws_iam_policy_document.lambda_basic.json +} + +resource "aws_lambda_function" "test" { + filename = "test-fixtures/lambdatest.zip" + function_name = var.rName + role = aws_iam_role.lambda.arn + handler = "index.handler" + runtime = "nodejs18.x" + source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") + + depends_on = [aws_iam_role_policy.lambda_basic] +} + +resource "aws_lambda_permission" "appsync_invoke" { + statement_id = "AllowExecutionFromAppSync" + action = "lambda:InvokeFunction" + function_name = aws_lambda_function.test.function_name + principal = "appsync.amazonaws.com" +} + +resource "aws_iam_role" "cloudwatch" { + name = var.rName + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "appsync.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "cloudwatch_logs" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "cloudwatch" { + name = var.rName + role = aws_iam_role.cloudwatch.id + policy = data.aws_iam_policy_document.cloudwatch_logs.json +} + +resource "aws_appsync_event_api" "test" { + name = var.rName + owner_contact = "test@example.com" + + event_config { + auth_providers { + auth_type = "AMAZON_COGNITO_USER_POOLS" + cognito_config { + user_pool_id = aws_cognito_user_pool.test.id + aws_region = data.aws_region.current.name + } + } + + auth_providers { + auth_type = "AWS_LAMBDA" + lambda_authorizer_config { + authorizer_uri = aws_lambda_function.test.arn + authorizer_result_ttl_in_seconds = 300 + } + } + + auth_providers { + auth_type = "OPENID_CONNECT" + openid_connect_config { + issuer = "https://example.com" + client_id = "test-client-id" + } + } + + connection_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_publish_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_subscribe_auth_modes { + auth_type = "AWS_LAMBDA" + } + + log_config { + cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn + log_level = "ERROR" + } + } + + depends_on = [ + aws_lambda_permission.appsync_invoke, + aws_iam_role_policy.cloudwatch + ] +} + +data "aws_region" "current" {} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "6.0.0" + } + } +} + +provider "aws" {} diff --git a/internal/service/appsync/testdata/EventAPI/region_overide/main_gen.tf b/internal/service/appsync/testdata/EventAPI/region_overide/main_gen.tf deleted file mode 100644 index 66fe562894a2..000000000000 --- a/internal/service/appsync/testdata/EventAPI/region_overide/main_gen.tf +++ /dev/null @@ -1,11 +0,0 @@ -variable "rName" { - description = "Name for resource" - type = string - nullable = false -} - -variable "region" { - description = "Region to deploy resource in" - type = string - nullable = false -} \ No newline at end of file diff --git a/internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf b/internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf index ffa00abbbb25..9134dbaf3154 100644 --- a/internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf +++ b/internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf @@ -2,15 +2,15 @@ # SPDX-License-Identifier: MPL-2.0 resource "aws_cognito_user_pool" "test" { - name = var.name region = var.region + name = var.rName } resource "aws_iam_role" "lambda" { - name = var.name region = var.region + name = var.rName assume_role_policy = jsonencode({ Version = "2012-10-17" @@ -39,39 +39,39 @@ data "aws_iam_policy_document" "lambda_basic" { } resource "aws_iam_role_policy" "lambda_basic" { - name = var.name - role = aws_iam_role.lambda.id - policy = data.aws_iam_policy_document.lambda_basic.json region = var.region + name = var.rName + role = aws_iam_role.lambda.id + policy = data.aws_iam_policy_document.lambda_basic.json } resource "aws_lambda_function" "test" { + region = var.region + filename = "test-fixtures/lambdatest.zip" - function_name = var.name + function_name = var.rName role = aws_iam_role.lambda.arn handler = "index.handler" runtime = "nodejs18.x" source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") depends_on = [aws_iam_role_policy.lambda_basic] - region = var.region - } resource "aws_lambda_permission" "appsync_invoke" { + region = var.region + statement_id = "AllowExecutionFromAppSync" action = "lambda:InvokeFunction" function_name = aws_lambda_function.test.function_name principal = "appsync.amazonaws.com" - region = var.region - } resource "aws_iam_role" "cloudwatch" { - name = var.name region = var.region + name = var.rName assume_role_policy = jsonencode({ Version = "2012-10-17" @@ -100,18 +100,18 @@ data "aws_iam_policy_document" "cloudwatch_logs" { } resource "aws_iam_role_policy" "cloudwatch" { - name = var.name - role = aws_iam_role.cloudwatch.id - policy = data.aws_iam_policy_document.cloudwatch_logs.json region = var.region + name = var.rName + role = aws_iam_role.cloudwatch.id + policy = data.aws_iam_policy_document.cloudwatch_logs.json } resource "aws_appsync_event_api" "test" { - name = var.name - owner_contact = "test@example.com" region = var.region + name = var.rName + owner_contact = "test@example.com" event_config { auth_providers { @@ -164,11 +164,6 @@ resource "aws_appsync_event_api" "test" { data "aws_region" "current" {} -variable "rName" { - description = "Name for resource" - type = string - nullable = false -} variable "rName" { description = "Name for resource" type = string diff --git a/internal/service/appsync/testdata/EventAPI/tags/main_gen.tf b/internal/service/appsync/testdata/EventAPI/tags/main_gen.tf new file mode 100644 index 000000000000..10d100cb649e --- /dev/null +++ b/internal/service/appsync/testdata/EventAPI/tags/main_gen.tf @@ -0,0 +1,187 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_cognito_user_pool" "test" { + + name = var.rName +} + +resource "aws_iam_role" "lambda" { + + name = var.rName + + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "lambda_basic" { + + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "lambda_basic" { + + name = var.rName + role = aws_iam_role.lambda.id + policy = data.aws_iam_policy_document.lambda_basic.json +} + +resource "aws_lambda_function" "test" { + + filename = "test-fixtures/lambdatest.zip" + function_name = var.rName + role = aws_iam_role.lambda.arn + handler = "index.handler" + runtime = "nodejs18.x" + source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") + + depends_on = [aws_iam_role_policy.lambda_basic] +} + +resource "aws_lambda_permission" "appsync_invoke" { + + statement_id = "AllowExecutionFromAppSync" + action = "lambda:InvokeFunction" + function_name = aws_lambda_function.test.function_name + principal = "appsync.amazonaws.com" +} + +resource "aws_iam_role" "cloudwatch" { + name = var.rName + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "appsync.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "cloudwatch_logs" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "cloudwatch" { + name = var.rName + role = aws_iam_role.cloudwatch.id + policy = data.aws_iam_policy_document.cloudwatch_logs.json +} + +resource "aws_appsync_event_api" "test" { + + name = var.rName + owner_contact = "test@example.com" + + + event_config { + auth_providers { + auth_type = "AMAZON_COGNITO_USER_POOLS" + cognito_config { + user_pool_id = aws_cognito_user_pool.test.id + aws_region = data.aws_region.current.name + } + } + + auth_providers { + auth_type = "AWS_LAMBDA" + lambda_authorizer_config { + authorizer_uri = aws_lambda_function.test.arn + authorizer_result_ttl_in_seconds = 300 + } + } + + auth_providers { + auth_type = "OPENID_CONNECT" + openid_connect_config { + issuer = "https://example.com" + client_id = "test-client-id" + } + } + + connection_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_publish_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_subscribe_auth_modes { + auth_type = "AWS_LAMBDA" + } + + log_config { + cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn + log_level = "ERROR" + } + } + + depends_on = [ + aws_lambda_permission.appsync_invoke, + aws_iam_role_policy.cloudwatch + ] + + tags = { + Name = var.rName + } +} + +variable "resource_tags" { + description = "Tags to set on resource. To specify no tags, set to `null`" + # Not setting a default, so that this must explicitly be set to `null` to specify no tags + type = map(string) + nullable = true +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "unknownTagKey" { + type = string + nullable = false +} + +variable "knownTagKey" { + type = string + nullable = false +} + +variable "knownTagValue" { + type = string + nullable = false +} \ No newline at end of file diff --git a/internal/service/appsync/testdata/EventAPI/tags/tags_computed1/main_gen.tf b/internal/service/appsync/testdata/EventAPI/tags/tags_computed1/main_gen.tf new file mode 100644 index 000000000000..779ad9b88091 --- /dev/null +++ b/internal/service/appsync/testdata/EventAPI/tags/tags_computed1/main_gen.tf @@ -0,0 +1,175 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_cognito_user_pool" "test" { + + name = var.rName +} + +resource "aws_iam_role" "lambda" { + + name = var.rName + + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "lambda_basic" { + + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "lambda_basic" { + + name = var.rName + role = aws_iam_role.lambda.id + policy = data.aws_iam_policy_document.lambda_basic.json +} + +resource "aws_lambda_function" "test" { + + filename = "test-fixtures/lambdatest.zip" + function_name = var.rName + role = aws_iam_role.lambda.arn + handler = "index.handler" + runtime = "nodejs18.x" + source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") + + depends_on = [aws_iam_role_policy.lambda_basic] +} + +resource "aws_lambda_permission" "appsync_invoke" { + + statement_id = "AllowExecutionFromAppSync" + action = "lambda:InvokeFunction" + function_name = aws_lambda_function.test.function_name + principal = "appsync.amazonaws.com" +} + +resource "aws_iam_role" "cloudwatch" { + name = var.rName + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "appsync.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "cloudwatch_logs" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "cloudwatch" { + name = var.rName + role = aws_iam_role.cloudwatch.id + policy = data.aws_iam_policy_document.cloudwatch_logs.json +} + +resource "aws_appsync_event_api" "test" { + + name = var.rName + owner_contact = "test@example.com" + + + event_config { + auth_providers { + auth_type = "AMAZON_COGNITO_USER_POOLS" + cognito_config { + user_pool_id = aws_cognito_user_pool.test.id + aws_region = data.aws_region.current.name + } + } + + auth_providers { + auth_type = "AWS_LAMBDA" + lambda_authorizer_config { + authorizer_uri = aws_lambda_function.test.arn + authorizer_result_ttl_in_seconds = 300 + } + } + + auth_providers { + auth_type = "OPENID_CONNECT" + openid_connect_config { + issuer = "https://example.com" + client_id = "test-client-id" + } + } + + connection_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_publish_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_subscribe_auth_modes { + auth_type = "AWS_LAMBDA" + } + + log_config { + cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn + log_level = "ERROR" + } + } + + depends_on = [ + aws_lambda_permission.appsync_invoke, + aws_iam_role_policy.cloudwatch + ] + + tags = { + (var.unknownTagKey) = null_resource.test.id + } +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "knownTagKey" { + type = string + nullable = false +} + +variable "knownTagValue" { + type = string + nullable = false +} \ No newline at end of file diff --git a/internal/service/appsync/testdata/EventAPI/tags/tags_ignore/main_gen.tf b/internal/service/appsync/testdata/EventAPI/tags/tags_ignore/main_gen.tf new file mode 100644 index 000000000000..47c39a5a27dc --- /dev/null +++ b/internal/service/appsync/testdata/EventAPI/tags/tags_ignore/main_gen.tf @@ -0,0 +1,185 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_cognito_user_pool" "test" { + + name = var.rName +} + +resource "aws_iam_role" "lambda" { + + name = var.rName + + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "lambda_basic" { + + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "lambda_basic" { + + name = var.rName + role = aws_iam_role.lambda.id + policy = data.aws_iam_policy_document.lambda_basic.json +} + +resource "aws_lambda_function" "test" { + + filename = "test-fixtures/lambdatest.zip" + function_name = var.rName + role = aws_iam_role.lambda.arn + handler = "index.handler" + runtime = "nodejs18.x" + source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") + + depends_on = [aws_iam_role_policy.lambda_basic] +} + +resource "aws_lambda_permission" "appsync_invoke" { + + statement_id = "AllowExecutionFromAppSync" + action = "lambda:InvokeFunction" + function_name = aws_lambda_function.test.function_name + principal = "appsync.amazonaws.com" +} + +resource "aws_iam_role" "cloudwatch" { + name = var.rName + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "appsync.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "cloudwatch_logs" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "cloudwatch" { + name = var.rName + role = aws_iam_role.cloudwatch.id + policy = data.aws_iam_policy_document.cloudwatch_logs.json +} + +resource "aws_appsync_event_api" "test" { + + name = var.rName + owner_contact = "test@example.com" + + + event_config { + auth_providers { + auth_type = "AMAZON_COGNITO_USER_POOLS" + cognito_config { + user_pool_id = aws_cognito_user_pool.test.id + aws_region = data.aws_region.current.name + } + } + + auth_providers { + auth_type = "AWS_LAMBDA" + lambda_authorizer_config { + authorizer_uri = aws_lambda_function.test.arn + authorizer_result_ttl_in_seconds = 300 + } + } + + auth_providers { + auth_type = "OPENID_CONNECT" + openid_connect_config { + issuer = "https://example.com" + client_id = "test-client-id" + } + } + + connection_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_publish_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_subscribe_auth_modes { + auth_type = "AWS_LAMBDA" + } + + log_config { + cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn + log_level = "ERROR" + } + } + + depends_on = [ + aws_lambda_permission.appsync_invoke, + aws_iam_role_policy.cloudwatch + ] + + tags = var.resource_tags +} + +variable "resource_tags" { + description = "Tags to set on resource. To specify no tags, set to `null`" + # Not setting a default, so that this must explicitly be set to `null` to specify no tags + type = map(string) + nullable = true +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "unknownTagKey" { + type = string + nullable = false +} + +variable "knownTagKey" { + type = string + nullable = false +} + +variable "knownTagValue" { + type = string + nullable = false +} \ No newline at end of file diff --git a/internal/service/appsync/testdata/tmpl/event_api_tags.gtpl b/internal/service/appsync/testdata/tmpl/event_api_tags.gtpl index 7e496ebd6e5a..44dc20bff8b9 100644 --- a/internal/service/appsync/testdata/tmpl/event_api_tags.gtpl +++ b/internal/service/appsync/testdata/tmpl/event_api_tags.gtpl @@ -1,11 +1,11 @@ resource "aws_cognito_user_pool" "test" { - name = var.name {{- template "region" }} + name = var.rName } resource "aws_iam_role" "lambda" { - name = var.name {{- template "region" }} + name = var.rName assume_role_policy = jsonencode({ Version = "2012-10-17" @@ -34,35 +34,35 @@ data "aws_iam_policy_document" "lambda_basic" { } resource "aws_iam_role_policy" "lambda_basic" { - name = var.name + {{- template "region" }} + name = var.rName role = aws_iam_role.lambda.id policy = data.aws_iam_policy_document.lambda_basic.json - {{- template "region" }} } resource "aws_lambda_function" "test" { + {{- template "region" }} filename = "test-fixtures/lambdatest.zip" - function_name = var.name + function_name = var.rName role = aws_iam_role.lambda.arn handler = "index.handler" runtime = "nodejs18.x" source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") depends_on = [aws_iam_role_policy.lambda_basic] - {{- template "region" }} } resource "aws_lambda_permission" "appsync_invoke" { + {{- template "region" }} statement_id = "AllowExecutionFromAppSync" action = "lambda:InvokeFunction" function_name = aws_lambda_function.test.function_name principal = "appsync.amazonaws.com" - {{- template "region" }} } resource "aws_iam_role" "cloudwatch" { - name = var.name {{- template "region" }} + name = var.rName assume_role_policy = jsonencode({ Version = "2012-10-17" @@ -91,16 +91,16 @@ data "aws_iam_policy_document" "cloudwatch_logs" { } resource "aws_iam_role_policy" "cloudwatch" { - name = var.name + {{- template "region" }} + name = var.rName role = aws_iam_role.cloudwatch.id policy = data.aws_iam_policy_document.cloudwatch_logs.json - {{- template "region" }} } resource "aws_appsync_event_api" "test" { - name = var.name - owner_contact = "test@example.com" {{- template "region" }} + name = var.rName + owner_contact = "test@example.com" event_config { auth_providers { @@ -149,12 +149,7 @@ resource "aws_appsync_event_api" "test" { aws_lambda_permission.appsync_invoke, aws_iam_role_policy.cloudwatch ] + {{- template "tags" . }} } data "aws_region" "current" {} - -variable "rName" { - description = "Name for resource" - type = string - nullable = false -} \ No newline at end of file From 13ffa0d851570e6e48e3a9dee2a23c05e89df480 Mon Sep 17 00:00:00 2001 From: ThomasZalewski Date: Tue, 22 Jul 2025 11:23:34 -0700 Subject: [PATCH 0741/1301] template identity fix --- internal/service/appsync/event_api_test.go | 169 +++------------- internal/service/appsync/generate.go | 1 + internal/service/appsync/graphql_api.go | 1 + .../service/appsync/service_package_gen.go | 3 - .../testdata/EventAPI/basic/main_gen.tf | 135 +------------ .../EventAPI/basic_v5.100.0/main_gen.tf | 135 +------------ .../EventAPI/basic_v6.0.0/main_gen.tf | 135 +------------ .../EventAPI/region_override/main_gen.tf | 149 +------------- .../testdata/EventAPI/tags/main_gen.tf | 170 ++-------------- .../EventAPI/tags/tags_computed1/main_gen.tf | 175 ----------------- .../EventAPI/tags/tags_ignore/main_gen.tf | 185 ------------------ .../appsync/testdata/tmpl/event_api_tags.gtpl | 142 +------------- 12 files changed, 67 insertions(+), 1333 deletions(-) delete mode 100644 internal/service/appsync/testdata/EventAPI/tags/tags_computed1/main_gen.tf delete mode 100644 internal/service/appsync/testdata/EventAPI/tags/tags_ignore/main_gen.tf diff --git a/internal/service/appsync/event_api_test.go b/internal/service/appsync/event_api_test.go index ffe01c6ba8ab..d8357be48b45 100644 --- a/internal/service/appsync/event_api_test.go +++ b/internal/service/appsync/event_api_test.go @@ -9,7 +9,6 @@ import ( "fmt" "testing" - "github.com/YakDriver/regexache" awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" @@ -23,83 +22,6 @@ import ( tfappsync "github.com/hashicorp/terraform-provider-aws/internal/service/appsync" ) -// TIP: File Structure. The basic outline for all test files should be as -// follows. Improve this resource's maintainability by following this -// outline. -// -// 1. Package declaration (add "_test" since this is a test file) -// 2. Imports -// 3. Unit tests -// 4. Basic test -// 5. Disappears test -// 6. All the other tests -// 7. Helper functions (exists, destroy, check, etc.) -// 8. Functions that return Terraform configurations - -// TIP: ==== UNIT TESTS ==== -// This is an example of a unit test. Its name is not prefixed with -// "TestAcc" like an acceptance test. -// -// Unlike acceptance tests, unit tests do not access AWS and are focused on a -// function (or method). Because of this, they are quick and cheap to run. -// -// In designing a resource's implementation, isolate complex bits from AWS bits -// so that they can be tested through a unit test. We encourage more unit tests -// in the provider. -// -// Cut and dry functions using well-used patterns, like typical flatteners and -// expanders, don't need unit testing. However, if they are complex or -// intricate, they should be unit tested. -// Unit tests would go here if needed - -// TIP: ==== ACCEPTANCE TESTS ==== -// This is an example of a basic acceptance test. This should test as much of -// standard functionality of the resource as possible, and test importing, if -// applicable. We prefix its name with "TestAcc", the service, and the -// resource name. -// -// Acceptance test access AWS and cost money to run. -func TestAccAppSyncEventAPI_basic(t *testing.T) { - ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - - var eventapi awstypes.Api - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resourceName := "aws_appsync_event_api.test" - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { - acctest.PreCheck(ctx, t) - acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) - testAccPreCheck(ctx, t) - }, - ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckEventAPIDestroy(ctx), - Steps: []resource.TestStep{ - { - Config: testAccEventAPIConfig_basic(rName), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventAPIExists(ctx, resourceName, &eventapi), - resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), - resource.TestCheckResourceAttrSet(resourceName, "api_id"), - resource.TestCheckResourceAttrSet(resourceName, "created"), - resource.TestCheckResourceAttrSet(resourceName, names.AttrARN), - acctest.MatchResourceAttrRegionalARN(ctx, resourceName, names.AttrARN, "appsync", regexache.MustCompile(`api/.+$`)), - resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "0"), - ), - }, - { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - }, - }, - }) -} - func TestAccAppSyncEventAPI_disappears(t *testing.T) { ctx := acctest.Context(t) if testing.Short() { @@ -124,6 +46,16 @@ func TestAccAppSyncEventAPI_disappears(t *testing.T) { Config: testAccEventAPIConfig_basic(rName), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckEventAPIExists(ctx, resourceName, &eventapi), + resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), + resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.0.auth_type", "API_KEY"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.0.auth_type", "API_KEY"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.0.auth_type", "API_KEY"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.0.auth_type", "API_KEY"), acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfappsync.ResourceEventAPI, resourceName), ), ExpectNonEmptyPlan: true, @@ -132,7 +64,7 @@ func TestAccAppSyncEventAPI_disappears(t *testing.T) { }) } -func TestAccAppSyncEventAPI_eventConfigComprehensive(t *testing.T) { +func TestAccAppSyncEventAPI_basic(t *testing.T) { ctx := acctest.Context(t) if testing.Short() { t.Skip("skipping long-running test in short mode") @@ -204,67 +136,6 @@ func TestAccAppSyncEventAPI_eventConfigComprehensive(t *testing.T) { }) } -func TestAccAppSyncEventAPI_tags(t *testing.T) { - ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - - var eventapi awstypes.Api - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resourceName := "aws_appsync_event_api.test" - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { - acctest.PreCheck(ctx, t) - acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) - testAccPreCheck(ctx, t) - }, - ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckEventAPIDestroy(ctx), - Steps: []resource.TestStep{ - { - Config: testAccEventAPIConfig_tags1(rName, "key1", "value1"), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventAPIExists(ctx, resourceName, &eventapi), - resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "1"), - resource.TestCheckResourceAttr(resourceName, "tags.key1", "value1"), - resource.TestCheckResourceAttr(resourceName, acctest.CtTagsAllPercent, "1"), - resource.TestCheckResourceAttr(resourceName, "tags_all.key1", "value1"), - ), - }, - { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - }, - { - Config: testAccEventAPIConfig_tags2(rName, "key1", "value1updated", "key2", "value2"), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventAPIExists(ctx, resourceName, &eventapi), - resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "2"), - resource.TestCheckResourceAttr(resourceName, "tags.key1", "value1updated"), - resource.TestCheckResourceAttr(resourceName, "tags.key2", "value2"), - resource.TestCheckResourceAttr(resourceName, acctest.CtTagsAllPercent, "2"), - resource.TestCheckResourceAttr(resourceName, "tags_all.key1", "value1updated"), - resource.TestCheckResourceAttr(resourceName, "tags_all.key2", "value2"), - ), - }, - { - Config: testAccEventAPIConfig_tags1(rName, "key2", "value2"), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventAPIExists(ctx, resourceName, &eventapi), - resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "1"), - resource.TestCheckResourceAttr(resourceName, "tags.key2", "value2"), - resource.TestCheckResourceAttr(resourceName, acctest.CtTagsAllPercent, "1"), - resource.TestCheckResourceAttr(resourceName, "tags_all.key2", "value2"), - ), - }, - }, - }) -} - func TestAccAppSyncEventAPI_update(t *testing.T) { ctx := acctest.Context(t) if testing.Short() { @@ -367,6 +238,24 @@ func testAccEventAPIConfig_basic(rName string) string { return fmt.Sprintf(` resource "aws_appsync_event_api" "test" { name = %[1]q + + event_config { + auth_providers { + auth_type = "API_KEY" + } + + connection_auth_modes { + auth_type = "API_KEY" + } + + default_publish_auth_modes { + auth_type = "API_KEY" + } + + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } } `, rName) } diff --git a/internal/service/appsync/generate.go b/internal/service/appsync/generate.go index b0f1b3824d27..d707f5833eda 100644 --- a/internal/service/appsync/generate.go +++ b/internal/service/appsync/generate.go @@ -4,6 +4,7 @@ //go:generate go run ../../generate/listpages/main.go -ListOps=ListApiKeys,ListDomainNames,ListGraphqlApis //go:generate go run ../../generate/tags/main.go -ListTags -ServiceTagsMap -UpdateTags -KVTValues //go:generate go run ../../generate/servicepackage/main.go +//go:generate go run ../../generate/tagstests/main.go //go:generate go run ../../generate/identitytests/main.go // ONLY generate directives and package declaration! Do not add anything else to this file. diff --git a/internal/service/appsync/graphql_api.go b/internal/service/appsync/graphql_api.go index 13c5eb06ed6d..98b164d16d85 100644 --- a/internal/service/appsync/graphql_api.go +++ b/internal/service/appsync/graphql_api.go @@ -34,6 +34,7 @@ const ( // @SDKResource("aws_appsync_graphql_api", name="GraphQL API") // @Tags(identifierAttribute="arn") +// @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/appsync/types;awstypes;awstypes.GraphqlApi") func resourceGraphQLAPI() *schema.Resource { validateAuthorizerResultTTLInSeconds := validation.IntBetween(0, 3600) diff --git a/internal/service/appsync/service_package_gen.go b/internal/service/appsync/service_package_gen.go index 274c1a90bc48..59af60fcb49c 100644 --- a/internal/service/appsync/service_package_gen.go +++ b/internal/service/appsync/service_package_gen.go @@ -33,9 +33,6 @@ func (p *servicePackage) FrameworkResources(ctx context.Context) []*inttypes.Ser }), Region: unique.Make(inttypes.ResourceRegionDefault()), Identity: inttypes.RegionalSingleParameterIdentity(names.AttrID), - Import: inttypes.FrameworkImport{ - WrappedImport: true, - }, }, { Factory: newSourceAPIAssociationResource, diff --git a/internal/service/appsync/testdata/EventAPI/basic/main_gen.tf b/internal/service/appsync/testdata/EventAPI/basic/main_gen.tf index 119c9278705a..fe88bf39d641 100644 --- a/internal/service/appsync/testdata/EventAPI/basic/main_gen.tf +++ b/internal/service/appsync/testdata/EventAPI/basic/main_gen.tf @@ -1,153 +1,28 @@ # Copyright (c) HashiCorp, Inc. # SPDX-License-Identifier: MPL-2.0 -resource "aws_cognito_user_pool" "test" { - name = var.rName -} - -resource "aws_iam_role" "lambda" { - name = var.rName - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "lambda.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "lambda_basic" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "lambda_basic" { - name = var.rName - role = aws_iam_role.lambda.id - policy = data.aws_iam_policy_document.lambda_basic.json -} - -resource "aws_lambda_function" "test" { - filename = "test-fixtures/lambdatest.zip" - function_name = var.rName - role = aws_iam_role.lambda.arn - handler = "index.handler" - runtime = "nodejs18.x" - source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") - - depends_on = [aws_iam_role_policy.lambda_basic] -} - -resource "aws_lambda_permission" "appsync_invoke" { - statement_id = "AllowExecutionFromAppSync" - action = "lambda:InvokeFunction" - function_name = aws_lambda_function.test.function_name - principal = "appsync.amazonaws.com" -} - -resource "aws_iam_role" "cloudwatch" { - name = var.rName - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "appsync.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "cloudwatch_logs" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "cloudwatch" { - name = var.rName - role = aws_iam_role.cloudwatch.id - policy = data.aws_iam_policy_document.cloudwatch_logs.json -} - resource "aws_appsync_event_api" "test" { - name = var.rName - owner_contact = "test@example.com" + name = var.rName event_config { auth_providers { - auth_type = "AMAZON_COGNITO_USER_POOLS" - cognito_config { - user_pool_id = aws_cognito_user_pool.test.id - aws_region = data.aws_region.current.name - } - } - - auth_providers { - auth_type = "AWS_LAMBDA" - lambda_authorizer_config { - authorizer_uri = aws_lambda_function.test.arn - authorizer_result_ttl_in_seconds = 300 - } - } - - auth_providers { - auth_type = "OPENID_CONNECT" - openid_connect_config { - issuer = "https://example.com" - client_id = "test-client-id" - } + auth_type = "API_KEY" } connection_auth_modes { - auth_type = "AWS_LAMBDA" + auth_type = "API_KEY" } default_publish_auth_modes { - auth_type = "AWS_LAMBDA" + auth_type = "API_KEY" } default_subscribe_auth_modes { - auth_type = "AWS_LAMBDA" - } - - log_config { - cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn - log_level = "ERROR" + auth_type = "API_KEY" } } - - depends_on = [ - aws_lambda_permission.appsync_invoke, - aws_iam_role_policy.cloudwatch - ] } -data "aws_region" "current" {} - variable "rName" { description = "Name for resource" type = string diff --git a/internal/service/appsync/testdata/EventAPI/basic_v5.100.0/main_gen.tf b/internal/service/appsync/testdata/EventAPI/basic_v5.100.0/main_gen.tf index 14ca74e19d7e..a554107050df 100644 --- a/internal/service/appsync/testdata/EventAPI/basic_v5.100.0/main_gen.tf +++ b/internal/service/appsync/testdata/EventAPI/basic_v5.100.0/main_gen.tf @@ -1,153 +1,28 @@ # Copyright (c) HashiCorp, Inc. # SPDX-License-Identifier: MPL-2.0 -resource "aws_cognito_user_pool" "test" { - name = var.rName -} - -resource "aws_iam_role" "lambda" { - name = var.rName - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "lambda.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "lambda_basic" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "lambda_basic" { - name = var.rName - role = aws_iam_role.lambda.id - policy = data.aws_iam_policy_document.lambda_basic.json -} - -resource "aws_lambda_function" "test" { - filename = "test-fixtures/lambdatest.zip" - function_name = var.rName - role = aws_iam_role.lambda.arn - handler = "index.handler" - runtime = "nodejs18.x" - source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") - - depends_on = [aws_iam_role_policy.lambda_basic] -} - -resource "aws_lambda_permission" "appsync_invoke" { - statement_id = "AllowExecutionFromAppSync" - action = "lambda:InvokeFunction" - function_name = aws_lambda_function.test.function_name - principal = "appsync.amazonaws.com" -} - -resource "aws_iam_role" "cloudwatch" { - name = var.rName - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "appsync.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "cloudwatch_logs" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "cloudwatch" { - name = var.rName - role = aws_iam_role.cloudwatch.id - policy = data.aws_iam_policy_document.cloudwatch_logs.json -} - resource "aws_appsync_event_api" "test" { - name = var.rName - owner_contact = "test@example.com" + name = var.rName event_config { auth_providers { - auth_type = "AMAZON_COGNITO_USER_POOLS" - cognito_config { - user_pool_id = aws_cognito_user_pool.test.id - aws_region = data.aws_region.current.name - } - } - - auth_providers { - auth_type = "AWS_LAMBDA" - lambda_authorizer_config { - authorizer_uri = aws_lambda_function.test.arn - authorizer_result_ttl_in_seconds = 300 - } - } - - auth_providers { - auth_type = "OPENID_CONNECT" - openid_connect_config { - issuer = "https://example.com" - client_id = "test-client-id" - } + auth_type = "API_KEY" } connection_auth_modes { - auth_type = "AWS_LAMBDA" + auth_type = "API_KEY" } default_publish_auth_modes { - auth_type = "AWS_LAMBDA" + auth_type = "API_KEY" } default_subscribe_auth_modes { - auth_type = "AWS_LAMBDA" - } - - log_config { - cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn - log_level = "ERROR" + auth_type = "API_KEY" } } - - depends_on = [ - aws_lambda_permission.appsync_invoke, - aws_iam_role_policy.cloudwatch - ] } -data "aws_region" "current" {} - variable "rName" { description = "Name for resource" type = string diff --git a/internal/service/appsync/testdata/EventAPI/basic_v6.0.0/main_gen.tf b/internal/service/appsync/testdata/EventAPI/basic_v6.0.0/main_gen.tf index 2f8c60b00b92..44f698c5ca22 100644 --- a/internal/service/appsync/testdata/EventAPI/basic_v6.0.0/main_gen.tf +++ b/internal/service/appsync/testdata/EventAPI/basic_v6.0.0/main_gen.tf @@ -1,153 +1,28 @@ # Copyright (c) HashiCorp, Inc. # SPDX-License-Identifier: MPL-2.0 -resource "aws_cognito_user_pool" "test" { - name = var.rName -} - -resource "aws_iam_role" "lambda" { - name = var.rName - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "lambda.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "lambda_basic" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "lambda_basic" { - name = var.rName - role = aws_iam_role.lambda.id - policy = data.aws_iam_policy_document.lambda_basic.json -} - -resource "aws_lambda_function" "test" { - filename = "test-fixtures/lambdatest.zip" - function_name = var.rName - role = aws_iam_role.lambda.arn - handler = "index.handler" - runtime = "nodejs18.x" - source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") - - depends_on = [aws_iam_role_policy.lambda_basic] -} - -resource "aws_lambda_permission" "appsync_invoke" { - statement_id = "AllowExecutionFromAppSync" - action = "lambda:InvokeFunction" - function_name = aws_lambda_function.test.function_name - principal = "appsync.amazonaws.com" -} - -resource "aws_iam_role" "cloudwatch" { - name = var.rName - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "appsync.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "cloudwatch_logs" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "cloudwatch" { - name = var.rName - role = aws_iam_role.cloudwatch.id - policy = data.aws_iam_policy_document.cloudwatch_logs.json -} - resource "aws_appsync_event_api" "test" { - name = var.rName - owner_contact = "test@example.com" + name = var.rName event_config { auth_providers { - auth_type = "AMAZON_COGNITO_USER_POOLS" - cognito_config { - user_pool_id = aws_cognito_user_pool.test.id - aws_region = data.aws_region.current.name - } - } - - auth_providers { - auth_type = "AWS_LAMBDA" - lambda_authorizer_config { - authorizer_uri = aws_lambda_function.test.arn - authorizer_result_ttl_in_seconds = 300 - } - } - - auth_providers { - auth_type = "OPENID_CONNECT" - openid_connect_config { - issuer = "https://example.com" - client_id = "test-client-id" - } + auth_type = "API_KEY" } connection_auth_modes { - auth_type = "AWS_LAMBDA" + auth_type = "API_KEY" } default_publish_auth_modes { - auth_type = "AWS_LAMBDA" + auth_type = "API_KEY" } default_subscribe_auth_modes { - auth_type = "AWS_LAMBDA" - } - - log_config { - cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn - log_level = "ERROR" + auth_type = "API_KEY" } } - - depends_on = [ - aws_lambda_permission.appsync_invoke, - aws_iam_role_policy.cloudwatch - ] } -data "aws_region" "current" {} - variable "rName" { description = "Name for resource" type = string diff --git a/internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf b/internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf index 9134dbaf3154..2a5a3859bf5e 100644 --- a/internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf +++ b/internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf @@ -1,169 +1,30 @@ # Copyright (c) HashiCorp, Inc. # SPDX-License-Identifier: MPL-2.0 -resource "aws_cognito_user_pool" "test" { - region = var.region - - name = var.rName -} - -resource "aws_iam_role" "lambda" { - region = var.region - - name = var.rName - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "lambda.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "lambda_basic" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "lambda_basic" { - region = var.region - - name = var.rName - role = aws_iam_role.lambda.id - policy = data.aws_iam_policy_document.lambda_basic.json -} - -resource "aws_lambda_function" "test" { - region = var.region - - filename = "test-fixtures/lambdatest.zip" - function_name = var.rName - role = aws_iam_role.lambda.arn - handler = "index.handler" - runtime = "nodejs18.x" - source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") - - depends_on = [aws_iam_role_policy.lambda_basic] -} - -resource "aws_lambda_permission" "appsync_invoke" { - region = var.region - - statement_id = "AllowExecutionFromAppSync" - action = "lambda:InvokeFunction" - function_name = aws_lambda_function.test.function_name - principal = "appsync.amazonaws.com" -} - -resource "aws_iam_role" "cloudwatch" { - region = var.region - - name = var.rName - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "appsync.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "cloudwatch_logs" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "cloudwatch" { - region = var.region - - name = var.rName - role = aws_iam_role.cloudwatch.id - policy = data.aws_iam_policy_document.cloudwatch_logs.json -} - resource "aws_appsync_event_api" "test" { region = var.region - name = var.rName - owner_contact = "test@example.com" + name = var.rName event_config { auth_providers { - auth_type = "AMAZON_COGNITO_USER_POOLS" - cognito_config { - user_pool_id = aws_cognito_user_pool.test.id - aws_region = data.aws_region.current.name - } - } - - auth_providers { - auth_type = "AWS_LAMBDA" - lambda_authorizer_config { - authorizer_uri = aws_lambda_function.test.arn - authorizer_result_ttl_in_seconds = 300 - } - } - - auth_providers { - auth_type = "OPENID_CONNECT" - openid_connect_config { - issuer = "https://example.com" - client_id = "test-client-id" - } + auth_type = "API_KEY" } connection_auth_modes { - auth_type = "AWS_LAMBDA" + auth_type = "API_KEY" } default_publish_auth_modes { - auth_type = "AWS_LAMBDA" + auth_type = "API_KEY" } default_subscribe_auth_modes { - auth_type = "AWS_LAMBDA" - } - - log_config { - cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn - log_level = "ERROR" + auth_type = "API_KEY" } } - - depends_on = [ - aws_lambda_permission.appsync_invoke, - aws_iam_role_policy.cloudwatch - ] } -data "aws_region" "current" {} - variable "rName" { description = "Name for resource" type = string diff --git a/internal/service/appsync/testdata/EventAPI/tags/main_gen.tf b/internal/service/appsync/testdata/EventAPI/tags/main_gen.tf index 10d100cb649e..736858d6161e 100644 --- a/internal/service/appsync/testdata/EventAPI/tags/main_gen.tf +++ b/internal/service/appsync/testdata/EventAPI/tags/main_gen.tf @@ -1,168 +1,28 @@ # Copyright (c) HashiCorp, Inc. # SPDX-License-Identifier: MPL-2.0 -resource "aws_cognito_user_pool" "test" { - - name = var.rName -} - -resource "aws_iam_role" "lambda" { - - name = var.rName - - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "lambda.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "lambda_basic" { - - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "lambda_basic" { - - name = var.rName - role = aws_iam_role.lambda.id - policy = data.aws_iam_policy_document.lambda_basic.json -} - -resource "aws_lambda_function" "test" { - - filename = "test-fixtures/lambdatest.zip" - function_name = var.rName - role = aws_iam_role.lambda.arn - handler = "index.handler" - runtime = "nodejs18.x" - source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") - - depends_on = [aws_iam_role_policy.lambda_basic] -} - -resource "aws_lambda_permission" "appsync_invoke" { - - statement_id = "AllowExecutionFromAppSync" - action = "lambda:InvokeFunction" - function_name = aws_lambda_function.test.function_name - principal = "appsync.amazonaws.com" -} - -resource "aws_iam_role" "cloudwatch" { - name = var.rName - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "appsync.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "cloudwatch_logs" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "cloudwatch" { - name = var.rName - role = aws_iam_role.cloudwatch.id - policy = data.aws_iam_policy_document.cloudwatch_logs.json -} - resource "aws_appsync_event_api" "test" { - - name = var.rName - owner_contact = "test@example.com" - + name = var.rName event_config { auth_providers { - auth_type = "AMAZON_COGNITO_USER_POOLS" - cognito_config { - user_pool_id = aws_cognito_user_pool.test.id - aws_region = data.aws_region.current.name - } - } - - auth_providers { - auth_type = "AWS_LAMBDA" - lambda_authorizer_config { - authorizer_uri = aws_lambda_function.test.arn - authorizer_result_ttl_in_seconds = 300 - } - } - - auth_providers { - auth_type = "OPENID_CONNECT" - openid_connect_config { - issuer = "https://example.com" - client_id = "test-client-id" - } + auth_type = "API_KEY" } connection_auth_modes { - auth_type = "AWS_LAMBDA" + auth_type = "API_KEY" } default_publish_auth_modes { - auth_type = "AWS_LAMBDA" + auth_type = "API_KEY" } default_subscribe_auth_modes { - auth_type = "AWS_LAMBDA" + auth_type = "API_KEY" } - - log_config { - cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn - log_level = "ERROR" - } - } - - depends_on = [ - aws_lambda_permission.appsync_invoke, - aws_iam_role_policy.cloudwatch - ] - - tags = { - Name = var.rName } -} -variable "resource_tags" { - description = "Tags to set on resource. To specify no tags, set to `null`" - # Not setting a default, so that this must explicitly be set to `null` to specify no tags - type = map(string) - nullable = true + tags = var.resource_tags } variable "rName" { @@ -171,17 +31,9 @@ variable "rName" { nullable = false } -variable "unknownTagKey" { - type = string - nullable = false -} - -variable "knownTagKey" { - type = string - nullable = false +variable "resource_tags" { + description = "Tags to set on resource. To specify no tags, set to `null`" + # Not setting a default, so that this must explicitly be set to `null` to specify no tags + type = map(string) + nullable = true } - -variable "knownTagValue" { - type = string - nullable = false -} \ No newline at end of file diff --git a/internal/service/appsync/testdata/EventAPI/tags/tags_computed1/main_gen.tf b/internal/service/appsync/testdata/EventAPI/tags/tags_computed1/main_gen.tf deleted file mode 100644 index 779ad9b88091..000000000000 --- a/internal/service/appsync/testdata/EventAPI/tags/tags_computed1/main_gen.tf +++ /dev/null @@ -1,175 +0,0 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: MPL-2.0 - -resource "aws_cognito_user_pool" "test" { - - name = var.rName -} - -resource "aws_iam_role" "lambda" { - - name = var.rName - - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "lambda.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "lambda_basic" { - - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "lambda_basic" { - - name = var.rName - role = aws_iam_role.lambda.id - policy = data.aws_iam_policy_document.lambda_basic.json -} - -resource "aws_lambda_function" "test" { - - filename = "test-fixtures/lambdatest.zip" - function_name = var.rName - role = aws_iam_role.lambda.arn - handler = "index.handler" - runtime = "nodejs18.x" - source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") - - depends_on = [aws_iam_role_policy.lambda_basic] -} - -resource "aws_lambda_permission" "appsync_invoke" { - - statement_id = "AllowExecutionFromAppSync" - action = "lambda:InvokeFunction" - function_name = aws_lambda_function.test.function_name - principal = "appsync.amazonaws.com" -} - -resource "aws_iam_role" "cloudwatch" { - name = var.rName - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "appsync.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "cloudwatch_logs" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "cloudwatch" { - name = var.rName - role = aws_iam_role.cloudwatch.id - policy = data.aws_iam_policy_document.cloudwatch_logs.json -} - -resource "aws_appsync_event_api" "test" { - - name = var.rName - owner_contact = "test@example.com" - - - event_config { - auth_providers { - auth_type = "AMAZON_COGNITO_USER_POOLS" - cognito_config { - user_pool_id = aws_cognito_user_pool.test.id - aws_region = data.aws_region.current.name - } - } - - auth_providers { - auth_type = "AWS_LAMBDA" - lambda_authorizer_config { - authorizer_uri = aws_lambda_function.test.arn - authorizer_result_ttl_in_seconds = 300 - } - } - - auth_providers { - auth_type = "OPENID_CONNECT" - openid_connect_config { - issuer = "https://example.com" - client_id = "test-client-id" - } - } - - connection_auth_modes { - auth_type = "AWS_LAMBDA" - } - - default_publish_auth_modes { - auth_type = "AWS_LAMBDA" - } - - default_subscribe_auth_modes { - auth_type = "AWS_LAMBDA" - } - - log_config { - cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn - log_level = "ERROR" - } - } - - depends_on = [ - aws_lambda_permission.appsync_invoke, - aws_iam_role_policy.cloudwatch - ] - - tags = { - (var.unknownTagKey) = null_resource.test.id - } -} - -variable "rName" { - description = "Name for resource" - type = string - nullable = false -} - -variable "knownTagKey" { - type = string - nullable = false -} - -variable "knownTagValue" { - type = string - nullable = false -} \ No newline at end of file diff --git a/internal/service/appsync/testdata/EventAPI/tags/tags_ignore/main_gen.tf b/internal/service/appsync/testdata/EventAPI/tags/tags_ignore/main_gen.tf deleted file mode 100644 index 47c39a5a27dc..000000000000 --- a/internal/service/appsync/testdata/EventAPI/tags/tags_ignore/main_gen.tf +++ /dev/null @@ -1,185 +0,0 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: MPL-2.0 - -resource "aws_cognito_user_pool" "test" { - - name = var.rName -} - -resource "aws_iam_role" "lambda" { - - name = var.rName - - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "lambda.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "lambda_basic" { - - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "lambda_basic" { - - name = var.rName - role = aws_iam_role.lambda.id - policy = data.aws_iam_policy_document.lambda_basic.json -} - -resource "aws_lambda_function" "test" { - - filename = "test-fixtures/lambdatest.zip" - function_name = var.rName - role = aws_iam_role.lambda.arn - handler = "index.handler" - runtime = "nodejs18.x" - source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") - - depends_on = [aws_iam_role_policy.lambda_basic] -} - -resource "aws_lambda_permission" "appsync_invoke" { - - statement_id = "AllowExecutionFromAppSync" - action = "lambda:InvokeFunction" - function_name = aws_lambda_function.test.function_name - principal = "appsync.amazonaws.com" -} - -resource "aws_iam_role" "cloudwatch" { - name = var.rName - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "appsync.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "cloudwatch_logs" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "cloudwatch" { - name = var.rName - role = aws_iam_role.cloudwatch.id - policy = data.aws_iam_policy_document.cloudwatch_logs.json -} - -resource "aws_appsync_event_api" "test" { - - name = var.rName - owner_contact = "test@example.com" - - - event_config { - auth_providers { - auth_type = "AMAZON_COGNITO_USER_POOLS" - cognito_config { - user_pool_id = aws_cognito_user_pool.test.id - aws_region = data.aws_region.current.name - } - } - - auth_providers { - auth_type = "AWS_LAMBDA" - lambda_authorizer_config { - authorizer_uri = aws_lambda_function.test.arn - authorizer_result_ttl_in_seconds = 300 - } - } - - auth_providers { - auth_type = "OPENID_CONNECT" - openid_connect_config { - issuer = "https://example.com" - client_id = "test-client-id" - } - } - - connection_auth_modes { - auth_type = "AWS_LAMBDA" - } - - default_publish_auth_modes { - auth_type = "AWS_LAMBDA" - } - - default_subscribe_auth_modes { - auth_type = "AWS_LAMBDA" - } - - log_config { - cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn - log_level = "ERROR" - } - } - - depends_on = [ - aws_lambda_permission.appsync_invoke, - aws_iam_role_policy.cloudwatch - ] - - tags = var.resource_tags -} - -variable "resource_tags" { - description = "Tags to set on resource. To specify no tags, set to `null`" - # Not setting a default, so that this must explicitly be set to `null` to specify no tags - type = map(string) - nullable = true -} - -variable "rName" { - description = "Name for resource" - type = string - nullable = false -} - -variable "unknownTagKey" { - type = string - nullable = false -} - -variable "knownTagKey" { - type = string - nullable = false -} - -variable "knownTagValue" { - type = string - nullable = false -} \ No newline at end of file diff --git a/internal/service/appsync/testdata/tmpl/event_api_tags.gtpl b/internal/service/appsync/testdata/tmpl/event_api_tags.gtpl index 44dc20bff8b9..b2c9f2957f16 100644 --- a/internal/service/appsync/testdata/tmpl/event_api_tags.gtpl +++ b/internal/service/appsync/testdata/tmpl/event_api_tags.gtpl @@ -1,155 +1,23 @@ -resource "aws_cognito_user_pool" "test" { - {{- template "region" }} - name = var.rName -} - -resource "aws_iam_role" "lambda" { - {{- template "region" }} - name = var.rName - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "lambda.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "lambda_basic" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "lambda_basic" { - {{- template "region" }} - name = var.rName - role = aws_iam_role.lambda.id - policy = data.aws_iam_policy_document.lambda_basic.json -} - -resource "aws_lambda_function" "test" { - {{- template "region" }} - filename = "test-fixtures/lambdatest.zip" - function_name = var.rName - role = aws_iam_role.lambda.arn - handler = "index.handler" - runtime = "nodejs18.x" - source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") - - depends_on = [aws_iam_role_policy.lambda_basic] -} - -resource "aws_lambda_permission" "appsync_invoke" { - {{- template "region" }} - statement_id = "AllowExecutionFromAppSync" - action = "lambda:InvokeFunction" - function_name = aws_lambda_function.test.function_name - principal = "appsync.amazonaws.com" -} - -resource "aws_iam_role" "cloudwatch" { - {{- template "region" }} - name = var.rName - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "appsync.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "cloudwatch_logs" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "cloudwatch" { - {{- template "region" }} - name = var.rName - role = aws_iam_role.cloudwatch.id - policy = data.aws_iam_policy_document.cloudwatch_logs.json -} - resource "aws_appsync_event_api" "test" { {{- template "region" }} - name = var.rName - owner_contact = "test@example.com" + name = var.rName event_config { auth_providers { - auth_type = "AMAZON_COGNITO_USER_POOLS" - cognito_config { - user_pool_id = aws_cognito_user_pool.test.id - aws_region = data.aws_region.current.name - } - } - - auth_providers { - auth_type = "AWS_LAMBDA" - lambda_authorizer_config { - authorizer_uri = aws_lambda_function.test.arn - authorizer_result_ttl_in_seconds = 300 - } - } - - auth_providers { - auth_type = "OPENID_CONNECT" - openid_connect_config { - issuer = "https://example.com" - client_id = "test-client-id" - } + auth_type = "API_KEY" } connection_auth_modes { - auth_type = "AWS_LAMBDA" + auth_type = "API_KEY" } default_publish_auth_modes { - auth_type = "AWS_LAMBDA" + auth_type = "API_KEY" } default_subscribe_auth_modes { - auth_type = "AWS_LAMBDA" - } - - log_config { - cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn - log_level = "ERROR" + auth_type = "API_KEY" } } - - depends_on = [ - aws_lambda_permission.appsync_invoke, - aws_iam_role_policy.cloudwatch - ] {{- template "tags" . }} } - -data "aws_region" "current" {} From a710095a3e9ddcb0cdb875ad7b0cee699de9c9b3 Mon Sep 17 00:00:00 2001 From: ThomasZalewski Date: Wed, 23 Jul 2025 14:46:53 -0700 Subject: [PATCH 0742/1301] tags updates --- internal/service/appsync/event_api.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/appsync/event_api.go b/internal/service/appsync/event_api.go index d508df8a4a7c..042e031c8acc 100644 --- a/internal/service/appsync/event_api.go +++ b/internal/service/appsync/event_api.go @@ -38,7 +38,7 @@ import ( ) // @FrameworkResource("aws_appsync_event_api", name="Event API") -// @Tags(identifierAttribute="id") +// @Tags(identifierAttribute="arn") // @IdentityAttribute("id") // @Testing(importStateIdAttribute="id") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/appsync/types;awstypes;awstypes.Api") From 1137477eb825b27e76b0a1440f951a8748d21f9b Mon Sep 17 00:00:00 2001 From: ThomasZalewski Date: Wed, 23 Jul 2025 18:16:31 -0700 Subject: [PATCH 0743/1301] fixed identity --- internal/service/appsync/event_api.go | 1 + internal/service/appsync/event_api_test.go | 82 +++++++++---------- .../service/appsync/service_package_gen.go | 2 +- 3 files changed, 42 insertions(+), 43 deletions(-) diff --git a/internal/service/appsync/event_api.go b/internal/service/appsync/event_api.go index 042e031c8acc..bbee3febece9 100644 --- a/internal/service/appsync/event_api.go +++ b/internal/service/appsync/event_api.go @@ -307,6 +307,7 @@ func (r *resourceEventAPI) Read(ctx context.Context, req resource.ReadRequest, r } apiId := state.ApiId.ValueString() + fmt.Println("hello", apiId) out, err := findEventAPIByID(ctx, conn, apiId) if tfresource.NotFound(err) { diff --git a/internal/service/appsync/event_api_test.go b/internal/service/appsync/event_api_test.go index d8357be48b45..abf9c5c50570 100644 --- a/internal/service/appsync/event_api_test.go +++ b/internal/service/appsync/event_api_test.go @@ -22,48 +22,6 @@ import ( tfappsync "github.com/hashicorp/terraform-provider-aws/internal/service/appsync" ) -func TestAccAppSyncEventAPI_disappears(t *testing.T) { - ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - - var eventapi awstypes.Api - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resourceName := "aws_appsync_event_api.test" - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { - acctest.PreCheck(ctx, t) - acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) - testAccPreCheck(ctx, t) - }, - ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckEventAPIDestroy(ctx), - Steps: []resource.TestStep{ - { - Config: testAccEventAPIConfig_basic(rName), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventAPIExists(ctx, resourceName, &eventapi), - resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), - resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.0.auth_type", "API_KEY"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.0.auth_type", "API_KEY"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.0.auth_type", "API_KEY"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.0.auth_type", "API_KEY"), - acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfappsync.ResourceEventAPI, resourceName), - ), - ExpectNonEmptyPlan: true, - }, - }, - }) -} - func TestAccAppSyncEventAPI_basic(t *testing.T) { ctx := acctest.Context(t) if testing.Short() { @@ -185,7 +143,47 @@ func TestAccAppSyncEventAPI_update(t *testing.T) { }, }) } +func TestAccAppSyncEventAPI_disappears(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + var eventapi awstypes.Api + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_appsync_event_api.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) + testAccPreCheck(ctx, t) + }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckEventAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccEventAPIConfig_basic(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckEventAPIExists(ctx, resourceName, &eventapi), + resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), + resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.0.auth_type", "API_KEY"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.0.auth_type", "API_KEY"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.0.auth_type", "API_KEY"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.0.auth_type", "API_KEY"), + acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfappsync.ResourceEventAPI, resourceName), + ), + ExpectNonEmptyPlan: true, + }, + }, + }) +} func testAccCheckEventAPIDestroy(ctx context.Context) resource.TestCheckFunc { return func(s *terraform.State) error { conn := acctest.Provider.Meta().(*conns.AWSClient).AppSyncClient(ctx) diff --git a/internal/service/appsync/service_package_gen.go b/internal/service/appsync/service_package_gen.go index 59af60fcb49c..0814d3a4faf0 100644 --- a/internal/service/appsync/service_package_gen.go +++ b/internal/service/appsync/service_package_gen.go @@ -29,7 +29,7 @@ func (p *servicePackage) FrameworkResources(ctx context.Context) []*inttypes.Ser TypeName: "aws_appsync_event_api", Name: "Event API", Tags: unique.Make(inttypes.ServicePackageResourceTags{ - IdentifierAttribute: names.AttrID, + IdentifierAttribute: names.AttrARN, }), Region: unique.Make(inttypes.ResourceRegionDefault()), Identity: inttypes.RegionalSingleParameterIdentity(names.AttrID), From 5efffb3bffc203cf23fdb01e6b15b366dc4294f8 Mon Sep 17 00:00:00 2001 From: ThomasZalewski Date: Thu, 24 Jul 2025 13:27:29 -0700 Subject: [PATCH 0744/1301] test tags/identity gen --- internal/service/appsync/event_api.go | 557 ------------------ .../appsync/event_api_identity_gen_test.go | 281 --------- internal/service/appsync/event_api_test.go | 440 -------------- internal/service/appsync/exports_test.go | 4 +- .../service/appsync/service_package_gen.go | 9 +- .../testdata/EventAPI/basic/main_gen.tf | 30 - .../EventAPI/basic_v5.100.0/main_gen.tf | 40 -- .../EventAPI/basic_v6.0.0/main_gen.tf | 40 -- .../EventAPI/region_override/main_gen.tf | 38 -- .../testdata/EventAPI/tags/main_gen.tf | 39 -- .../appsync/testdata/tmpl/event_api_tags.gtpl | 23 - 11 files changed, 8 insertions(+), 1493 deletions(-) delete mode 100644 internal/service/appsync/event_api.go delete mode 100644 internal/service/appsync/event_api_identity_gen_test.go delete mode 100644 internal/service/appsync/event_api_test.go delete mode 100644 internal/service/appsync/testdata/EventAPI/basic/main_gen.tf delete mode 100644 internal/service/appsync/testdata/EventAPI/basic_v5.100.0/main_gen.tf delete mode 100644 internal/service/appsync/testdata/EventAPI/basic_v6.0.0/main_gen.tf delete mode 100644 internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf delete mode 100644 internal/service/appsync/testdata/EventAPI/tags/main_gen.tf delete mode 100644 internal/service/appsync/testdata/tmpl/event_api_tags.gtpl diff --git a/internal/service/appsync/event_api.go b/internal/service/appsync/event_api.go deleted file mode 100644 index bbee3febece9..000000000000 --- a/internal/service/appsync/event_api.go +++ /dev/null @@ -1,557 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: MPL-2.0 - -package appsync - -import ( - "context" - "errors" - "fmt" - "time" - - "github.com/YakDriver/smarterr" - "github.com/aws/aws-sdk-go-v2/aws" - "github.com/aws/aws-sdk-go-v2/service/appsync" - awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" - "github.com/hashicorp/terraform-plugin-framework-timeouts/resource/timeouts" - "github.com/hashicorp/terraform-plugin-framework-timetypes/timetypes" - "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" - "github.com/hashicorp/terraform-plugin-framework/path" - "github.com/hashicorp/terraform-plugin-framework/resource" - "github.com/hashicorp/terraform-plugin-framework/resource/schema" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/int64planmodifier" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/mapplanmodifier" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" - "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" - "github.com/hashicorp/terraform-plugin-framework/schema/validator" - "github.com/hashicorp/terraform-plugin-framework/types" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" - "github.com/hashicorp/terraform-provider-aws/internal/errs" - "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" - "github.com/hashicorp/terraform-provider-aws/internal/framework" - "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" - fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" - "github.com/hashicorp/terraform-provider-aws/internal/smerr" - tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" - "github.com/hashicorp/terraform-provider-aws/internal/tfresource" - "github.com/hashicorp/terraform-provider-aws/names" -) - -// @FrameworkResource("aws_appsync_event_api", name="Event API") -// @Tags(identifierAttribute="arn") -// @IdentityAttribute("id") -// @Testing(importStateIdAttribute="id") -// @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/appsync/types;awstypes;awstypes.Api") -func newEventAPIResource(_ context.Context) (resource.ResourceWithConfigure, error) { - r := &resourceEventAPI{} - - r.SetDefaultCreateTimeout(30 * time.Minute) - r.SetDefaultUpdateTimeout(30 * time.Minute) - r.SetDefaultDeleteTimeout(30 * time.Minute) - - return r, nil -} - -const ( - ResNameEventAPI = "Event API" -) - -type resourceEventAPI struct { - framework.ResourceWithModel[resourceEventAPIModel] - framework.WithTimeouts -} - -func (r *resourceEventAPI) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { - resp.Schema = schema.Schema{ - Attributes: map[string]schema.Attribute{ - names.AttrARN: framework.ARNAttributeComputedOnly(), - "id": schema.StringAttribute{ - Computed: true, - PlanModifiers: []planmodifier.String{ - stringplanmodifier.UseStateForUnknown(), - }, - }, - "created": schema.StringAttribute{ - CustomType: timetypes.RFC3339Type{}, - Computed: true, - }, - "dns": schema.MapAttribute{ - CustomType: fwtypes.MapOfStringType, - Computed: true, - PlanModifiers: []planmodifier.Map{ - mapplanmodifier.UseStateForUnknown(), - }, - }, - names.AttrName: schema.StringAttribute{ - Required: true, - }, - "owner_contact": schema.StringAttribute{ - Optional: true, - }, - names.AttrTags: tftags.TagsAttribute(), - names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), - "waf_web_acl_arn": schema.StringAttribute{ - Computed: true, - PlanModifiers: []planmodifier.String{ - stringplanmodifier.UseStateForUnknown(), - }, - }, - "xray_enabled": schema.BoolAttribute{ - Computed: true, - }, - }, - Blocks: map[string]schema.Block{ - "event_config": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[eventConfigModel](ctx), - Validators: []validator.List{ - listvalidator.SizeAtMost(1), - }, - NestedObject: schema.NestedBlockObject{ - Blocks: map[string]schema.Block{ - "auth_providers": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[authProviderModel](ctx), - NestedObject: schema.NestedBlockObject{ - Attributes: map[string]schema.Attribute{ - "auth_type": schema.StringAttribute{ - Required: true, - CustomType: fwtypes.StringEnumType[awstypes.AuthenticationType](), - }, - }, - Blocks: map[string]schema.Block{ - "cognito_config": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[cognitoConfigModel](ctx), - Validators: []validator.List{ - listvalidator.SizeAtMost(1), - }, - NestedObject: schema.NestedBlockObject{ - Attributes: map[string]schema.Attribute{ - "aws_region": schema.StringAttribute{ - Required: true, - }, - "user_pool_id": schema.StringAttribute{ - Required: true, - }, - "app_id_client_regex": schema.StringAttribute{ - Optional: true, - }, - }, - }, - }, - "lambda_authorizer_config": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[lambdaAuthorizerConfigModel](ctx), - Validators: []validator.List{ - listvalidator.SizeAtMost(1), - }, - NestedObject: schema.NestedBlockObject{ - Attributes: map[string]schema.Attribute{ - "authorizer_result_ttl_in_seconds": schema.Int64Attribute{ - Optional: true, - Computed: true, - PlanModifiers: []planmodifier.Int64{ - int64planmodifier.UseStateForUnknown(), - }, - }, - "authorizer_uri": schema.StringAttribute{ - Required: true, - }, - "identity_validation_expression": schema.StringAttribute{ - Optional: true, - }, - }, - }, - }, - "openid_connect_config": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[openIDConnectConfigModel](ctx), - Validators: []validator.List{ - listvalidator.SizeAtMost(1), - }, - NestedObject: schema.NestedBlockObject{ - Attributes: map[string]schema.Attribute{ - "auth_ttl": schema.Int64Attribute{ - Optional: true, - Computed: true, - PlanModifiers: []planmodifier.Int64{ - int64planmodifier.UseStateForUnknown(), - }, - }, - names.AttrClientID: schema.StringAttribute{ - Optional: true, - }, - "iat_ttl": schema.Int64Attribute{ - Optional: true, - Computed: true, - PlanModifiers: []planmodifier.Int64{ - int64planmodifier.UseStateForUnknown(), - }, - }, - names.AttrIssuer: schema.StringAttribute{ - Required: true, - }, - }, - }, - }, - }, - }, - }, - "connection_auth_modes": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[authModeModel](ctx), - NestedObject: schema.NestedBlockObject{ - Attributes: map[string]schema.Attribute{ - "auth_type": schema.StringAttribute{ - Required: true, - CustomType: fwtypes.StringEnumType[awstypes.AuthenticationType](), - }, - }, - }, - }, - "default_publish_auth_modes": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[authModeModel](ctx), - NestedObject: schema.NestedBlockObject{ - Attributes: map[string]schema.Attribute{ - "auth_type": schema.StringAttribute{ - Required: true, - CustomType: fwtypes.StringEnumType[awstypes.AuthenticationType](), - }, - }, - }, - }, - "default_subscribe_auth_modes": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[authModeModel](ctx), - NestedObject: schema.NestedBlockObject{ - Attributes: map[string]schema.Attribute{ - "auth_type": schema.StringAttribute{ - Required: true, - CustomType: fwtypes.StringEnumType[awstypes.AuthenticationType](), - }, - }, - }, - }, - "log_config": schema.ListNestedBlock{ - CustomType: fwtypes.NewListNestedObjectTypeOf[eventLogConfigModel](ctx), - Validators: []validator.List{ - listvalidator.SizeAtMost(1), - }, - NestedObject: schema.NestedBlockObject{ - Attributes: map[string]schema.Attribute{ - "cloudwatch_logs_role_arn": schema.StringAttribute{ - Required: true, - }, - "log_level": schema.StringAttribute{ - Required: true, - CustomType: fwtypes.StringEnumType[awstypes.EventLogLevel](), - }, - }, - }, - }, - }, - }, - }, - names.AttrTimeouts: timeouts.Block(ctx, timeouts.Opts{ - Create: true, - Update: true, - Delete: true, - }), - }, - } -} - -func (r *resourceEventAPI) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { - conn := r.Meta().AppSyncClient(ctx) - - var plan resourceEventAPIModel - smerr.EnrichAppend(ctx, &resp.Diagnostics, req.Plan.Get(ctx, &plan)) - if resp.Diagnostics.HasError() { - return - } - - var input appsync.CreateApiInput - smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Expand(ctx, plan, &input)) - if resp.Diagnostics.HasError() { - return - } - - input.Tags = getTagsIn(ctx) - - out, err := conn.CreateApi(ctx, &input) - if err != nil { - smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, plan.Name.String()) - return - } - if out == nil || out.Api == nil { - smerr.AddError(ctx, &resp.Diagnostics, errors.New("empty output"), smerr.ID, plan.Name.String()) - return - } - - smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Flatten(ctx, out.Api, &plan), smerr.ID, plan.Name.String()) - if resp.Diagnostics.HasError() { - return - } - - createTimeout := r.CreateTimeout(ctx, plan.Timeouts) - _, err = waitEventAPICreated(ctx, conn, plan.ApiId.ValueString(), createTimeout) - if err != nil { - smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, plan.Name.String()) - return - } - - smerr.EnrichAppend(ctx, &resp.Diagnostics, resp.State.Set(ctx, plan), smerr.ID, plan.ApiId.String()) -} - -func (r *resourceEventAPI) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { - conn := r.Meta().AppSyncClient(ctx) - - var state resourceEventAPIModel - smerr.EnrichAppend(ctx, &resp.Diagnostics, req.State.Get(ctx, &state)) - if resp.Diagnostics.HasError() { - return - } - - apiId := state.ApiId.ValueString() - fmt.Println("hello", apiId) - - out, err := findEventAPIByID(ctx, conn, apiId) - if tfresource.NotFound(err) { - resp.Diagnostics.Append(fwdiag.NewResourceNotFoundWarningDiagnostic(err)) - resp.State.RemoveResource(ctx) - return - } - if err != nil { - smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, state.ApiId.String()) - return - } - - smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Flatten(ctx, out, &state), smerr.ID, state.ApiId.String()) - if resp.Diagnostics.HasError() { - return - } - - smerr.EnrichAppend(ctx, &resp.Diagnostics, resp.State.Set(ctx, &state), smerr.ID, state.ApiId.String()) -} - -func (r *resourceEventAPI) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { - conn := r.Meta().AppSyncClient(ctx) - - var plan, state resourceEventAPIModel - smerr.EnrichAppend(ctx, &resp.Diagnostics, req.Plan.Get(ctx, &plan)) - smerr.EnrichAppend(ctx, &resp.Diagnostics, req.State.Get(ctx, &state)) - if resp.Diagnostics.HasError() { - return - } - - diff, d := flex.Diff(ctx, plan, state) - smerr.EnrichAppend(ctx, &resp.Diagnostics, d, smerr.ID, plan.ApiId.String()) - if resp.Diagnostics.HasError() { - return - } - - if diff.HasChanges() { - var input appsync.UpdateApiInput - smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Expand(ctx, plan, &input), smerr.ID, plan.ApiId.String()) - if resp.Diagnostics.HasError() { - return - } - - input.ApiId = plan.ApiId.ValueStringPointer() - - out, err := conn.UpdateApi(ctx, &input) - if err != nil { - smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, plan.ApiId.String()) - return - } - if out == nil || out.Api == nil { - smerr.AddError(ctx, &resp.Diagnostics, errors.New("empty output"), smerr.ID, plan.ApiId.String()) - return - } - - smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Flatten(ctx, out.Api, &plan), smerr.ID, plan.ApiId.String()) - if resp.Diagnostics.HasError() { - return - } - } - - smerr.EnrichAppend(ctx, &resp.Diagnostics, resp.State.Set(ctx, &plan), smerr.ID, plan.ApiId.String()) -} - -func (r *resourceEventAPI) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { - conn := r.Meta().AppSyncClient(ctx) - - var state resourceEventAPIModel - smerr.EnrichAppend(ctx, &resp.Diagnostics, req.State.Get(ctx, &state)) - if resp.Diagnostics.HasError() { - return - } - - input := appsync.DeleteApiInput{ - ApiId: state.ApiId.ValueStringPointer(), - } - - _, err := conn.DeleteApi(ctx, &input) - if err != nil { - if errs.IsA[*awstypes.NotFoundException](err) { - return - } - - smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, state.ApiId.String()) - return - } - - deleteTimeout := r.DeleteTimeout(ctx, state.Timeouts) - _, err = waitEventAPIDeleted(ctx, conn, state.ApiId.ValueString(), deleteTimeout) - if err != nil { - smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, state.ApiId.String()) - return - } -} - -func (r *resourceEventAPI) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { - resource.ImportStatePassthroughID(ctx, path.Root("id"), req, resp) -} - -const ( - statusDeleting = "Deleting" - statusNormal = "Normal" -) - -func waitEventAPICreated(ctx context.Context, conn *appsync.Client, id string, timeout time.Duration) (*awstypes.Api, error) { - stateConf := &retry.StateChangeConf{ - Pending: []string{}, - Target: []string{statusNormal}, - Refresh: statusEventAPI(ctx, conn, id), - Timeout: timeout, - NotFoundChecks: 20, - ContinuousTargetOccurence: 2, - } - - outputRaw, err := stateConf.WaitForStateContext(ctx) - if err != nil { - fmt.Printf("[DEBUG] waitEventAPICreated: Wait failed with error: %v\n", err) - } else { - fmt.Printf("[DEBUG] waitEventAPICreated: Wait completed successfully for API: %s\n", id) - } - - if out, ok := outputRaw.(*awstypes.Api); ok { - return out, smarterr.NewError(err) - } - - return nil, smarterr.NewError(err) -} - -func waitEventAPIDeleted(ctx context.Context, conn *appsync.Client, id string, timeout time.Duration) (*awstypes.Api, error) { - fmt.Printf("[DEBUG] waitEventAPIDeleted: Starting wait for API deletion: %s\n", id) - stateConf := &retry.StateChangeConf{ - Pending: []string{statusDeleting, statusNormal}, - Target: []string{}, - Refresh: statusEventAPI(ctx, conn, id), - Timeout: timeout, - } - - outputRaw, err := stateConf.WaitForStateContext(ctx) - if err != nil { - fmt.Printf("[DEBUG] waitEventAPIDeleted: Wait failed with error: %v\n", err) - } else { - fmt.Printf("[DEBUG] waitEventAPIDeleted: Wait completed successfully for API: %s\n", id) - } - - if out, ok := outputRaw.(*awstypes.Api); ok { - return out, smarterr.NewError(err) - } - - return nil, smarterr.NewError(err) -} - -func statusEventAPI(ctx context.Context, conn *appsync.Client, id string) retry.StateRefreshFunc { - return func() (any, string, error) { - out, err := findEventAPIByID(ctx, conn, id) - if tfresource.NotFound(err) { - return nil, "", nil - } - - if err != nil { - return nil, "", smarterr.NewError(err) - } - - return out, statusNormal, nil - } -} - -func findEventAPIByID(ctx context.Context, conn *appsync.Client, id string) (*awstypes.Api, error) { - input := appsync.GetApiInput{ - ApiId: aws.String(id), - } - - out, err := conn.GetApi(ctx, &input) - if err != nil { - if errs.IsA[*awstypes.NotFoundException](err) { - return nil, smarterr.NewError(&retry.NotFoundError{ - LastError: err, - LastRequest: &input, - }) - } - return nil, smarterr.NewError(err) - } - - if out == nil || out.Api == nil { - return nil, smarterr.NewError(tfresource.NewEmptyResultError(&input)) - } - - return out.Api, nil -} - -type resourceEventAPIModel struct { - framework.WithRegionModel - ApiArn types.String `tfsdk:"arn"` - ApiId types.String `tfsdk:"id"` - Created timetypes.RFC3339 `tfsdk:"created"` - Dns fwtypes.MapOfString `tfsdk:"dns"` - EventConfig fwtypes.ListNestedObjectValueOf[eventConfigModel] `tfsdk:"event_config"` - Name types.String `tfsdk:"name"` - OwnerContact types.String `tfsdk:"owner_contact"` - Tags tftags.Map `tfsdk:"tags"` - TagsAll tftags.Map `tfsdk:"tags_all"` - Timeouts timeouts.Value `tfsdk:"timeouts"` - WafWebAclArn types.String `tfsdk:"waf_web_acl_arn"` - XrayEnabled types.Bool `tfsdk:"xray_enabled"` -} - -type eventConfigModel struct { - AuthProviders fwtypes.ListNestedObjectValueOf[authProviderModel] `tfsdk:"auth_providers"` - ConnectionAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"connection_auth_modes"` - DefaultPublishAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"default_publish_auth_modes"` - DefaultSubscribeAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"default_subscribe_auth_modes"` - LogConfig fwtypes.ListNestedObjectValueOf[eventLogConfigModel] `tfsdk:"log_config"` -} - -type authProviderModel struct { - AuthType fwtypes.StringEnum[awstypes.AuthenticationType] `tfsdk:"auth_type"` - CognitoConfig fwtypes.ListNestedObjectValueOf[cognitoConfigModel] `tfsdk:"cognito_config"` - LambdaAuthorizerConfig fwtypes.ListNestedObjectValueOf[lambdaAuthorizerConfigModel] `tfsdk:"lambda_authorizer_config"` - OpenIDConnectConfig fwtypes.ListNestedObjectValueOf[openIDConnectConfigModel] `tfsdk:"openid_connect_config"` -} - -type authModeModel struct { - AuthType fwtypes.StringEnum[awstypes.AuthenticationType] `tfsdk:"auth_type"` -} - -type cognitoConfigModel struct { - AwsRegion types.String `tfsdk:"aws_region"` - UserPoolId types.String `tfsdk:"user_pool_id"` - AppIdClientRegex types.String `tfsdk:"app_id_client_regex"` -} - -type lambdaAuthorizerConfigModel struct { - AuthorizerResultTtlInSeconds types.Int64 `tfsdk:"authorizer_result_ttl_in_seconds"` - AuthorizerUri types.String `tfsdk:"authorizer_uri"` - IdentityValidationExpression types.String `tfsdk:"identity_validation_expression"` -} - -type openIDConnectConfigModel struct { - AuthTtl types.Int64 `tfsdk:"auth_ttl"` - ClientId types.String `tfsdk:"client_id"` - IatTtl types.Int64 `tfsdk:"iat_ttl"` - Issuer types.String `tfsdk:"issuer"` -} - -type eventLogConfigModel struct { - CloudWatchLogsRoleArn types.String `tfsdk:"cloudwatch_logs_role_arn"` - LogLevel fwtypes.StringEnum[awstypes.EventLogLevel] `tfsdk:"log_level"` -} diff --git a/internal/service/appsync/event_api_identity_gen_test.go b/internal/service/appsync/event_api_identity_gen_test.go deleted file mode 100644 index c7fb5a85feef..000000000000 --- a/internal/service/appsync/event_api_identity_gen_test.go +++ /dev/null @@ -1,281 +0,0 @@ -// Code generated by internal/generate/identitytests/main.go; DO NOT EDIT. - -package appsync_test - -import ( - "testing" - - awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" - "github.com/hashicorp/terraform-plugin-testing/config" - sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" - "github.com/hashicorp/terraform-plugin-testing/helper/resource" - "github.com/hashicorp/terraform-plugin-testing/knownvalue" - "github.com/hashicorp/terraform-plugin-testing/plancheck" - "github.com/hashicorp/terraform-plugin-testing/statecheck" - "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" - "github.com/hashicorp/terraform-plugin-testing/tfversion" - "github.com/hashicorp/terraform-provider-aws/internal/acctest" - tfknownvalue "github.com/hashicorp/terraform-provider-aws/internal/acctest/knownvalue" - tfstatecheck "github.com/hashicorp/terraform-provider-aws/internal/acctest/statecheck" - "github.com/hashicorp/terraform-provider-aws/names" -) - -func TestAccAppSyncEventAPI_Identity_Basic(t *testing.T) { - ctx := acctest.Context(t) - - var v awstypes.Api - resourceName := "aws_appsync_event_api.test" - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - - resource.ParallelTest(t, resource.TestCase{ - TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(tfversion.Version1_12_0), - }, - PreCheck: func() { acctest.PreCheck(ctx, t) }, - ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), - CheckDestroy: testAccCheckEventAPIDestroy(ctx), - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - Steps: []resource.TestStep{ - // Step 1: Setup - { - ConfigDirectory: config.StaticDirectory("testdata/EventAPI/basic/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - }, - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventAPIExists(ctx, resourceName, &v), - ), - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), - statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ - names.AttrAccountID: tfknownvalue.AccountID(), - names.AttrRegion: knownvalue.StringExact(acctest.Region()), - names.AttrID: knownvalue.NotNull(), - }), - statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), - }, - }, - - // Step 2: Import command - { - ConfigDirectory: config.StaticDirectory("testdata/EventAPI/basic/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - }, - ImportStateKind: resource.ImportCommandWithID, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, - }, - - // Step 3: Import block with Import ID - { - ConfigDirectory: config.StaticDirectory("testdata/EventAPI/basic/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - }, - ResourceName: resourceName, - ImportState: true, - ImportStateKind: resource.ImportBlockWithID, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportPlanChecks: resource.ImportPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), - plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), - }, - }, - }, - - // Step 4: Import block with Resource Identity - { - ConfigDirectory: config.StaticDirectory("testdata/EventAPI/basic/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - }, - ResourceName: resourceName, - ImportState: true, - ImportStateKind: resource.ImportBlockWithResourceIdentity, - ImportPlanChecks: resource.ImportPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), - plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), - }, - }, - }, - }, - }) -} - -func TestAccAppSyncEventAPI_Identity_RegionOverride(t *testing.T) { - ctx := acctest.Context(t) - - resourceName := "aws_appsync_event_api.test" - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - - resource.ParallelTest(t, resource.TestCase{ - TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(tfversion.Version1_12_0), - }, - PreCheck: func() { acctest.PreCheck(ctx, t) }, - ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), - CheckDestroy: acctest.CheckDestroyNoop, - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - Steps: []resource.TestStep{ - // Step 1: Setup - { - ConfigDirectory: config.StaticDirectory("testdata/EventAPI/region_override/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - "region": config.StringVariable(acctest.AlternateRegion()), - }, - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), - statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ - names.AttrAccountID: tfknownvalue.AccountID(), - names.AttrRegion: knownvalue.StringExact(acctest.AlternateRegion()), - names.AttrID: knownvalue.NotNull(), - }), - statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), - }, - }, - - // Step 2: Import command - { - ConfigDirectory: config.StaticDirectory("testdata/EventAPI/region_override/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - "region": config.StringVariable(acctest.AlternateRegion()), - }, - ImportStateKind: resource.ImportCommandWithID, - // TODO - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, - }, - - // Step 3: Import block with Import ID - { - ConfigDirectory: config.StaticDirectory("testdata/EventAPI/region_override/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - "region": config.StringVariable(acctest.AlternateRegion()), - }, - ResourceName: resourceName, - ImportState: true, - ImportStateKind: resource.ImportBlockWithID, - // TODO - ImportPlanChecks: resource.ImportPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), - plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), - }, - }, - }, - - // Step 4: Import block with Resource Identity - { - ConfigDirectory: config.StaticDirectory("testdata/EventAPI/region_override/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - "region": config.StringVariable(acctest.AlternateRegion()), - }, - ResourceName: resourceName, - ImportState: true, - ImportStateKind: resource.ImportBlockWithResourceIdentity, - ImportPlanChecks: resource.ImportPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), - plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), - }, - }, - }, - }, - }) -} - -func TestAccAppSyncEventAPI_Identity_ExistingResource(t *testing.T) { - ctx := acctest.Context(t) - - var v awstypes.Api - resourceName := "aws_appsync_event_api.test" - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - - resource.ParallelTest(t, resource.TestCase{ - TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(tfversion.Version1_12_0), - }, - PreCheck: func() { acctest.PreCheck(ctx, t) }, - ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), - CheckDestroy: testAccCheckEventAPIDestroy(ctx), - Steps: []resource.TestStep{ - // Step 1: Create pre-Identity - { - ConfigDirectory: config.StaticDirectory("testdata/EventAPI/basic_v5.100.0/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - }, - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventAPIExists(ctx, resourceName, &v), - ), - ConfigStateChecks: []statecheck.StateCheck{ - tfstatecheck.ExpectNoIdentity(resourceName), - }, - }, - - // Step 2: v6.0 Identity set on refresh - { - ConfigDirectory: config.StaticDirectory("testdata/EventAPI/basic_v6.0.0/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - }, - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventAPIExists(ctx, resourceName, &v), - ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - PostApplyPostRefresh: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - }, - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ - names.AttrAccountID: tfknownvalue.AccountID(), - names.AttrRegion: knownvalue.StringExact(acctest.Region()), - names.AttrID: knownvalue.NotNull(), - }), - statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), - }, - }, - - // Step 3: Current version - { - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - ConfigDirectory: config.StaticDirectory("testdata/EventAPI/basic/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - }, - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - PostApplyPostRefresh: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - }, - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ - names.AttrAccountID: tfknownvalue.AccountID(), - names.AttrRegion: knownvalue.StringExact(acctest.Region()), - names.AttrID: knownvalue.NotNull(), - }), - statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), - }, - }, - }, - }) -} diff --git a/internal/service/appsync/event_api_test.go b/internal/service/appsync/event_api_test.go deleted file mode 100644 index abf9c5c50570..000000000000 --- a/internal/service/appsync/event_api_test.go +++ /dev/null @@ -1,440 +0,0 @@ -// Copyright (c) HashiCorp, Inc. -// SPDX-License-Identifier: MPL-2.0 - -package appsync_test - -import ( - "context" - "errors" - "fmt" - "testing" - - awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" - sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" - "github.com/hashicorp/terraform-plugin-testing/helper/resource" - "github.com/hashicorp/terraform-plugin-testing/terraform" - "github.com/hashicorp/terraform-provider-aws/internal/acctest" - "github.com/hashicorp/terraform-provider-aws/internal/conns" - "github.com/hashicorp/terraform-provider-aws/internal/create" - "github.com/hashicorp/terraform-provider-aws/internal/tfresource" - "github.com/hashicorp/terraform-provider-aws/names" - - tfappsync "github.com/hashicorp/terraform-provider-aws/internal/service/appsync" -) - -func TestAccAppSyncEventAPI_basic(t *testing.T) { - ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - - var eventapi awstypes.Api - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resourceName := "aws_appsync_event_api.test" - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { - acctest.PreCheck(ctx, t) - acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) - testAccPreCheck(ctx, t) - }, - ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckEventAPIDestroy(ctx), - Steps: []resource.TestStep{ - { - Config: testAccEventAPIConfig_eventConfigComprehensive(rName), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventAPIExists(ctx, resourceName, &eventapi), - resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), - resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), - resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "3"), - // Cognito auth provider - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.0.auth_type", "AMAZON_COGNITO_USER_POOLS"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.0.cognito_config.#", "1"), - resource.TestCheckResourceAttrSet(resourceName, "event_config.0.auth_providers.0.cognito_config.0.user_pool_id"), - resource.TestCheckResourceAttrSet(resourceName, "event_config.0.auth_providers.0.cognito_config.0.aws_region"), - // Lambda auth provider - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.1.auth_type", "AWS_LAMBDA"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.1.lambda_authorizer_config.#", "1"), - resource.TestCheckResourceAttrSet(resourceName, "event_config.0.auth_providers.1.lambda_authorizer_config.0.authorizer_uri"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.1.lambda_authorizer_config.0.authorizer_result_ttl_in_seconds", "300"), - // OpenID Connect auth provider - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.2.auth_type", "OPENID_CONNECT"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.2.openid_connect_config.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.2.openid_connect_config.0.issuer", "https://example.com"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.2.openid_connect_config.0.client_id", "test-client-id"), - // Auth modes - resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.0.auth_type", "AWS_LAMBDA"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.0.auth_type", "AWS_LAMBDA"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.0.auth_type", "AWS_LAMBDA"), - // Log config - resource.TestCheckResourceAttr(resourceName, "event_config.0.log_config.#", "1"), - resource.TestCheckResourceAttrSet(resourceName, "event_config.0.log_config.0.cloudwatch_logs_role_arn"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.log_config.0.log_level", "ERROR"), - // Tags - resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "2"), - resource.TestCheckResourceAttr(resourceName, "tags.Environment", "test"), - resource.TestCheckResourceAttr(resourceName, "tags.Purpose", "event-api-testing"), - resource.TestCheckResourceAttr(resourceName, acctest.CtTagsAllPercent, "2"), - resource.TestCheckResourceAttr(resourceName, "tags_all.Environment", "test"), - resource.TestCheckResourceAttr(resourceName, "tags_all.Purpose", "event-api-testing"), - ), - }, - { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - }, - }, - }) -} - -func TestAccAppSyncEventAPI_update(t *testing.T) { - ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - - var eventapi awstypes.Api - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - rNameUpdated := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resourceName := "aws_appsync_event_api.test" - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { - acctest.PreCheck(ctx, t) - acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) - testAccPreCheck(ctx, t) - }, - ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckEventAPIDestroy(ctx), - Steps: []resource.TestStep{ - { - Config: testAccEventAPIConfig_eventConfigComprehensive(rName), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventAPIExists(ctx, resourceName, &eventapi), - resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), - resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), - resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "3"), - ), - }, - { - Config: testAccEventAPIConfig_eventConfigComprehensive(rNameUpdated), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventAPIExists(ctx, resourceName, &eventapi), - resource.TestCheckResourceAttr(resourceName, names.AttrName, rNameUpdated), - resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), - resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "3"), - ), - }, - { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - }, - }, - }) -} -func TestAccAppSyncEventAPI_disappears(t *testing.T) { - ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - - var eventapi awstypes.Api - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resourceName := "aws_appsync_event_api.test" - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { - acctest.PreCheck(ctx, t) - acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) - testAccPreCheck(ctx, t) - }, - ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckEventAPIDestroy(ctx), - Steps: []resource.TestStep{ - { - Config: testAccEventAPIConfig_basic(rName), - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckEventAPIExists(ctx, resourceName, &eventapi), - resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), - resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.0.auth_type", "API_KEY"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.0.auth_type", "API_KEY"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.0.auth_type", "API_KEY"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.0.auth_type", "API_KEY"), - acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfappsync.ResourceEventAPI, resourceName), - ), - ExpectNonEmptyPlan: true, - }, - }, - }) -} -func testAccCheckEventAPIDestroy(ctx context.Context) resource.TestCheckFunc { - return func(s *terraform.State) error { - conn := acctest.Provider.Meta().(*conns.AWSClient).AppSyncClient(ctx) - - for _, rs := range s.RootModule().Resources { - if rs.Type != "aws_appsync_event_api" { - continue - } - - _, err := tfappsync.FindEventAPIByID(ctx, conn, rs.Primary.ID) - if tfresource.NotFound(err) { - return nil - } - if err != nil { - return create.Error(names.AppSync, create.ErrActionCheckingDestroyed, tfappsync.ResNameEventAPI, rs.Primary.ID, err) - } - - return create.Error(names.AppSync, create.ErrActionCheckingDestroyed, tfappsync.ResNameEventAPI, rs.Primary.ID, errors.New("not destroyed")) - } - - return nil - } -} - -func testAccCheckEventAPIExists(ctx context.Context, name string, eventapi *awstypes.Api) resource.TestCheckFunc { - return func(s *terraform.State) error { - rs, ok := s.RootModule().Resources[name] - if !ok { - return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameEventAPI, name, errors.New("not found")) - } - - if rs.Primary.ID == "" { - return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameEventAPI, name, errors.New("not set")) - } - - conn := acctest.Provider.Meta().(*conns.AWSClient).AppSyncClient(ctx) - - resp, err := tfappsync.FindEventAPIByID(ctx, conn, rs.Primary.ID) - if err != nil { - return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameEventAPI, rs.Primary.ID, err) - } - - *eventapi = *resp - - return nil - } -} - -func testAccEventAPIConfig_basic(rName string) string { - return fmt.Sprintf(` -resource "aws_appsync_event_api" "test" { - name = %[1]q - - event_config { - auth_providers { - auth_type = "API_KEY" - } - - connection_auth_modes { - auth_type = "API_KEY" - } - - default_publish_auth_modes { - auth_type = "API_KEY" - } - - default_subscribe_auth_modes { - auth_type = "API_KEY" - } - } -} -`, rName) -} - -func testAccEventAPIConfig_eventConfigComprehensive(rName string) string { - return fmt.Sprintf(` -resource "aws_cognito_user_pool" "test" { - name = %[1]q -} - -resource "aws_iam_role" "lambda" { - name = "%[1]s-lambda" - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "lambda.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "lambda_basic" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "lambda_basic" { - name = "%[1]s-lambda-basic" - role = aws_iam_role.lambda.id - policy = data.aws_iam_policy_document.lambda_basic.json -} - -resource "aws_lambda_function" "test" { - filename = "test-fixtures/lambdatest.zip" - function_name = %[1]q - role = aws_iam_role.lambda.arn - handler = "index.handler" - runtime = "nodejs18.x" - source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") - - depends_on = [aws_iam_role_policy.lambda_basic] -} - -resource "aws_lambda_permission" "appsync_invoke" { - statement_id = "AllowExecutionFromAppSync" - action = "lambda:InvokeFunction" - function_name = aws_lambda_function.test.function_name - principal = "appsync.amazonaws.com" -} - -resource "aws_iam_role" "cloudwatch" { - name = "%[1]s-cloudwatch" - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "appsync.amazonaws.com" - } - } - ] - }) -} - -data "aws_iam_policy_document" "cloudwatch_logs" { - statement { - effect = "Allow" - actions = [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ] - resources = ["arn:aws:logs:*:*:*"] - } -} - -resource "aws_iam_role_policy" "cloudwatch" { - name = "%[1]s-cloudwatch-policy" - role = aws_iam_role.cloudwatch.id - policy = data.aws_iam_policy_document.cloudwatch_logs.json -} - -resource "aws_appsync_event_api" "test" { - name = %[1]q - owner_contact = "test@example.com" - - event_config { - auth_providers { - auth_type = "AMAZON_COGNITO_USER_POOLS" - cognito_config { - user_pool_id = aws_cognito_user_pool.test.id - aws_region = data.aws_region.current.name - } - } - - auth_providers { - auth_type = "AWS_LAMBDA" - lambda_authorizer_config { - authorizer_uri = aws_lambda_function.test.arn - authorizer_result_ttl_in_seconds = 300 - } - } - - auth_providers { - auth_type = "OPENID_CONNECT" - openid_connect_config { - issuer = "https://example.com" - client_id = "test-client-id" - } - } - - connection_auth_modes { - auth_type = "AWS_LAMBDA" - } - - default_publish_auth_modes { - auth_type = "AWS_LAMBDA" - } - - default_subscribe_auth_modes { - auth_type = "AWS_LAMBDA" - } - - log_config { - cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn - log_level = "ERROR" - } - } - - tags = { - Environment = "test" - Purpose = "event-api-testing" - } - - depends_on = [ - aws_lambda_permission.appsync_invoke, - aws_iam_role_policy.cloudwatch - ] -} - -data "aws_region" "current" {} -`, rName) -} - -func testAccEventAPIConfig_tags1(rName, tagKey1, tagValue1 string) string { - return fmt.Sprintf(` -resource "aws_appsync_event_api" "test" { - name = %[1]q - - tags = { - %[2]q = %[3]q - } -} -`, rName, tagKey1, tagValue1) -} - -func testAccEventAPIConfig_tags2(rName, tagKey1, tagValue1, tagKey2, tagValue2 string) string { - return fmt.Sprintf(` -resource "aws_appsync_event_api" "test" { - name = %[1]q - - tags = { - %[2]q = %[3]q - %[4]q = %[5]q - } -} -`, rName, tagKey1, tagValue1, tagKey2, tagValue2) -} diff --git a/internal/service/appsync/exports_test.go b/internal/service/appsync/exports_test.go index 9945fe8fe8b7..d423f1d538d7 100644 --- a/internal/service/appsync/exports_test.go +++ b/internal/service/appsync/exports_test.go @@ -10,7 +10,7 @@ var ( ResourceDataSource = resourceDataSource ResourceDomainName = resourceDomainName ResourceDomainNameAPIAssociation = resourceDomainNameAPIAssociation - ResourceEventAPI = newEventAPIResource + ResourceAPI = newAPIResource ResourceFunction = resourceFunction ResourceGraphQLAPI = resourceGraphQLAPI ResourceResolver = resourceResolver @@ -23,7 +23,7 @@ var ( FindDataSourceByTwoPartKey = findDataSourceByTwoPartKey FindDomainNameAPIAssociationByID = findDomainNameAPIAssociationByID FindDomainNameByID = findDomainNameByID - FindEventAPIByID = findEventAPIByID + FindAPIByID = findAPIByID FindFunctionByTwoPartKey = findFunctionByTwoPartKey FindGraphQLAPIByID = findGraphQLAPIByID FindResolverByThreePartKey = findResolverByThreePartKey diff --git a/internal/service/appsync/service_package_gen.go b/internal/service/appsync/service_package_gen.go index 0814d3a4faf0..90ea90695144 100644 --- a/internal/service/appsync/service_package_gen.go +++ b/internal/service/appsync/service_package_gen.go @@ -25,14 +25,17 @@ func (p *servicePackage) FrameworkDataSources(ctx context.Context) []*inttypes.S func (p *servicePackage) FrameworkResources(ctx context.Context) []*inttypes.ServicePackageFrameworkResource { return []*inttypes.ServicePackageFrameworkResource{ { - Factory: newEventAPIResource, - TypeName: "aws_appsync_event_api", - Name: "Event API", + Factory: newAPIResource, + TypeName: "aws_appsync_api", + Name: "API", Tags: unique.Make(inttypes.ServicePackageResourceTags{ IdentifierAttribute: names.AttrARN, }), Region: unique.Make(inttypes.ResourceRegionDefault()), Identity: inttypes.RegionalSingleParameterIdentity(names.AttrID), + Import: inttypes.FrameworkImport{ + WrappedImport: true, + }, }, { Factory: newSourceAPIAssociationResource, diff --git a/internal/service/appsync/testdata/EventAPI/basic/main_gen.tf b/internal/service/appsync/testdata/EventAPI/basic/main_gen.tf deleted file mode 100644 index fe88bf39d641..000000000000 --- a/internal/service/appsync/testdata/EventAPI/basic/main_gen.tf +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: MPL-2.0 - -resource "aws_appsync_event_api" "test" { - name = var.rName - - event_config { - auth_providers { - auth_type = "API_KEY" - } - - connection_auth_modes { - auth_type = "API_KEY" - } - - default_publish_auth_modes { - auth_type = "API_KEY" - } - - default_subscribe_auth_modes { - auth_type = "API_KEY" - } - } -} - -variable "rName" { - description = "Name for resource" - type = string - nullable = false -} diff --git a/internal/service/appsync/testdata/EventAPI/basic_v5.100.0/main_gen.tf b/internal/service/appsync/testdata/EventAPI/basic_v5.100.0/main_gen.tf deleted file mode 100644 index a554107050df..000000000000 --- a/internal/service/appsync/testdata/EventAPI/basic_v5.100.0/main_gen.tf +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: MPL-2.0 - -resource "aws_appsync_event_api" "test" { - name = var.rName - - event_config { - auth_providers { - auth_type = "API_KEY" - } - - connection_auth_modes { - auth_type = "API_KEY" - } - - default_publish_auth_modes { - auth_type = "API_KEY" - } - - default_subscribe_auth_modes { - auth_type = "API_KEY" - } - } -} - -variable "rName" { - description = "Name for resource" - type = string - nullable = false -} -terraform { - required_providers { - aws = { - source = "hashicorp/aws" - version = "5.100.0" - } - } -} - -provider "aws" {} diff --git a/internal/service/appsync/testdata/EventAPI/basic_v6.0.0/main_gen.tf b/internal/service/appsync/testdata/EventAPI/basic_v6.0.0/main_gen.tf deleted file mode 100644 index 44f698c5ca22..000000000000 --- a/internal/service/appsync/testdata/EventAPI/basic_v6.0.0/main_gen.tf +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: MPL-2.0 - -resource "aws_appsync_event_api" "test" { - name = var.rName - - event_config { - auth_providers { - auth_type = "API_KEY" - } - - connection_auth_modes { - auth_type = "API_KEY" - } - - default_publish_auth_modes { - auth_type = "API_KEY" - } - - default_subscribe_auth_modes { - auth_type = "API_KEY" - } - } -} - -variable "rName" { - description = "Name for resource" - type = string - nullable = false -} -terraform { - required_providers { - aws = { - source = "hashicorp/aws" - version = "6.0.0" - } - } -} - -provider "aws" {} diff --git a/internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf b/internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf deleted file mode 100644 index 2a5a3859bf5e..000000000000 --- a/internal/service/appsync/testdata/EventAPI/region_override/main_gen.tf +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: MPL-2.0 - -resource "aws_appsync_event_api" "test" { - region = var.region - - name = var.rName - - event_config { - auth_providers { - auth_type = "API_KEY" - } - - connection_auth_modes { - auth_type = "API_KEY" - } - - default_publish_auth_modes { - auth_type = "API_KEY" - } - - default_subscribe_auth_modes { - auth_type = "API_KEY" - } - } -} - -variable "rName" { - description = "Name for resource" - type = string - nullable = false -} - -variable "region" { - description = "Region to deploy resource in" - type = string - nullable = false -} diff --git a/internal/service/appsync/testdata/EventAPI/tags/main_gen.tf b/internal/service/appsync/testdata/EventAPI/tags/main_gen.tf deleted file mode 100644 index 736858d6161e..000000000000 --- a/internal/service/appsync/testdata/EventAPI/tags/main_gen.tf +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright (c) HashiCorp, Inc. -# SPDX-License-Identifier: MPL-2.0 - -resource "aws_appsync_event_api" "test" { - name = var.rName - - event_config { - auth_providers { - auth_type = "API_KEY" - } - - connection_auth_modes { - auth_type = "API_KEY" - } - - default_publish_auth_modes { - auth_type = "API_KEY" - } - - default_subscribe_auth_modes { - auth_type = "API_KEY" - } - } - - tags = var.resource_tags -} - -variable "rName" { - description = "Name for resource" - type = string - nullable = false -} - -variable "resource_tags" { - description = "Tags to set on resource. To specify no tags, set to `null`" - # Not setting a default, so that this must explicitly be set to `null` to specify no tags - type = map(string) - nullable = true -} diff --git a/internal/service/appsync/testdata/tmpl/event_api_tags.gtpl b/internal/service/appsync/testdata/tmpl/event_api_tags.gtpl deleted file mode 100644 index b2c9f2957f16..000000000000 --- a/internal/service/appsync/testdata/tmpl/event_api_tags.gtpl +++ /dev/null @@ -1,23 +0,0 @@ -resource "aws_appsync_event_api" "test" { - {{- template "region" }} - name = var.rName - - event_config { - auth_providers { - auth_type = "API_KEY" - } - - connection_auth_modes { - auth_type = "API_KEY" - } - - default_publish_auth_modes { - auth_type = "API_KEY" - } - - default_subscribe_auth_modes { - auth_type = "API_KEY" - } - } - {{- template "tags" . }} -} From 7033da3da66c95eeae45cc4998583aba446fefe7 Mon Sep 17 00:00:00 2001 From: ThomasZalewski Date: Thu, 24 Jul 2025 13:29:11 -0700 Subject: [PATCH 0745/1301] added test files --- internal/service/appsync/api.go | 558 ++++ .../service/appsync/api_identity_gen_test.go | 281 ++ internal/service/appsync/api_tags_gen_test.go | 2320 +++++++++++++++++ internal/service/appsync/api_test.go | 440 ++++ .../appsync/graphql_api_tags_gen_test.go | 2272 ++++++++++++++++ internal/service/appsync/tags_gen_test.go | 16 + .../appsync/testdata/API/basic/main_gen.tf | 30 + .../testdata/API/basic_v5.100.0/main_gen.tf | 40 + .../testdata/API/basic_v6.0.0/main_gen.tf | 40 + .../testdata/API/region_override/main_gen.tf | 38 + .../appsync/testdata/API/tags/main_gen.tf | 39 + .../testdata/API/tagsComputed1/main_gen.tf | 43 + .../testdata/API/tagsComputed2/main_gen.tf | 54 + .../testdata/API/tags_defaults/main_gen.tf | 50 + .../testdata/API/tags_ignore/main_gen.tf | 59 + .../testdata/GraphQLAPI/tags/main_gen.tf | 23 + .../GraphQLAPI/tagsComputed1/main_gen.tf | 27 + .../GraphQLAPI/tagsComputed2/main_gen.tf | 38 + .../GraphQLAPI/tags_defaults/main_gen.tf | 34 + .../GraphQLAPI/tags_ignore/main_gen.tf | 43 + .../appsync/testdata/tmpl/api_tags.gtpl | 23 + .../testdata/tmpl/graphql_api_tags.gtpl | 8 + 22 files changed, 6476 insertions(+) create mode 100644 internal/service/appsync/api.go create mode 100644 internal/service/appsync/api_identity_gen_test.go create mode 100644 internal/service/appsync/api_tags_gen_test.go create mode 100644 internal/service/appsync/api_test.go create mode 100644 internal/service/appsync/graphql_api_tags_gen_test.go create mode 100644 internal/service/appsync/tags_gen_test.go create mode 100644 internal/service/appsync/testdata/API/basic/main_gen.tf create mode 100644 internal/service/appsync/testdata/API/basic_v5.100.0/main_gen.tf create mode 100644 internal/service/appsync/testdata/API/basic_v6.0.0/main_gen.tf create mode 100644 internal/service/appsync/testdata/API/region_override/main_gen.tf create mode 100644 internal/service/appsync/testdata/API/tags/main_gen.tf create mode 100644 internal/service/appsync/testdata/API/tagsComputed1/main_gen.tf create mode 100644 internal/service/appsync/testdata/API/tagsComputed2/main_gen.tf create mode 100644 internal/service/appsync/testdata/API/tags_defaults/main_gen.tf create mode 100644 internal/service/appsync/testdata/API/tags_ignore/main_gen.tf create mode 100644 internal/service/appsync/testdata/GraphQLAPI/tags/main_gen.tf create mode 100644 internal/service/appsync/testdata/GraphQLAPI/tagsComputed1/main_gen.tf create mode 100644 internal/service/appsync/testdata/GraphQLAPI/tagsComputed2/main_gen.tf create mode 100644 internal/service/appsync/testdata/GraphQLAPI/tags_defaults/main_gen.tf create mode 100644 internal/service/appsync/testdata/GraphQLAPI/tags_ignore/main_gen.tf create mode 100644 internal/service/appsync/testdata/tmpl/api_tags.gtpl create mode 100644 internal/service/appsync/testdata/tmpl/graphql_api_tags.gtpl diff --git a/internal/service/appsync/api.go b/internal/service/appsync/api.go new file mode 100644 index 000000000000..c4d04fff81c6 --- /dev/null +++ b/internal/service/appsync/api.go @@ -0,0 +1,558 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package appsync + +import ( + "context" + "errors" + "fmt" + "time" + + "github.com/YakDriver/smarterr" + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/service/appsync" + awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" + "github.com/hashicorp/terraform-plugin-framework-timeouts/resource/timeouts" + "github.com/hashicorp/terraform-plugin-framework-timetypes/timetypes" + "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" + "github.com/hashicorp/terraform-plugin-framework/path" + "github.com/hashicorp/terraform-plugin-framework/resource" + "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/int64planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/mapplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/schema/validator" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" + "github.com/hashicorp/terraform-provider-aws/internal/errs" + "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" + "github.com/hashicorp/terraform-provider-aws/internal/framework" + "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" + fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" + "github.com/hashicorp/terraform-provider-aws/internal/smerr" + tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" + "github.com/hashicorp/terraform-provider-aws/internal/tfresource" + "github.com/hashicorp/terraform-provider-aws/names" +) + +// @FrameworkResource("aws_appsync_api", name="API") +// @Tags(identifierAttribute="arn") +// @IdentityAttribute("id") +// @Testing(importStateIdAttribute="id") +// @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/appsync/types;awstypes;awstypes.Api") +// @Testing(preIdentityVersion="v6.3.0") +func newAPIResource(_ context.Context) (resource.ResourceWithConfigure, error) { + r := &resourceAPI{} + + r.SetDefaultCreateTimeout(30 * time.Minute) + r.SetDefaultUpdateTimeout(30 * time.Minute) + r.SetDefaultDeleteTimeout(30 * time.Minute) + + return r, nil +} + +const ( + ResNameAPI = "API" +) + +type resourceAPI struct { + framework.ResourceWithModel[resourceAPIModel] + framework.WithTimeouts +} + +func (r *resourceAPI) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { + resp.Schema = schema.Schema{ + Attributes: map[string]schema.Attribute{ + names.AttrARN: framework.ARNAttributeComputedOnly(), + "id": schema.StringAttribute{ + Computed: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.UseStateForUnknown(), + }, + }, + "created": schema.StringAttribute{ + CustomType: timetypes.RFC3339Type{}, + Computed: true, + }, + "dns": schema.MapAttribute{ + CustomType: fwtypes.MapOfStringType, + Computed: true, + PlanModifiers: []planmodifier.Map{ + mapplanmodifier.UseStateForUnknown(), + }, + }, + names.AttrName: schema.StringAttribute{ + Required: true, + }, + "owner_contact": schema.StringAttribute{ + Optional: true, + }, + names.AttrTags: tftags.TagsAttribute(), + names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), + "waf_web_acl_arn": schema.StringAttribute{ + Computed: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.UseStateForUnknown(), + }, + }, + "xray_enabled": schema.BoolAttribute{ + Computed: true, + }, + }, + Blocks: map[string]schema.Block{ + "event_config": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[eventConfigModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Blocks: map[string]schema.Block{ + "auth_providers": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[authProviderModel](ctx), + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "auth_type": schema.StringAttribute{ + Required: true, + CustomType: fwtypes.StringEnumType[awstypes.AuthenticationType](), + }, + }, + Blocks: map[string]schema.Block{ + "cognito_config": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[cognitoConfigModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "aws_region": schema.StringAttribute{ + Required: true, + }, + "user_pool_id": schema.StringAttribute{ + Required: true, + }, + "app_id_client_regex": schema.StringAttribute{ + Optional: true, + }, + }, + }, + }, + "lambda_authorizer_config": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[lambdaAuthorizerConfigModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "authorizer_result_ttl_in_seconds": schema.Int64Attribute{ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Int64{ + int64planmodifier.UseStateForUnknown(), + }, + }, + "authorizer_uri": schema.StringAttribute{ + Required: true, + }, + "identity_validation_expression": schema.StringAttribute{ + Optional: true, + }, + }, + }, + }, + "openid_connect_config": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[openIDConnectConfigModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "auth_ttl": schema.Int64Attribute{ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Int64{ + int64planmodifier.UseStateForUnknown(), + }, + }, + names.AttrClientID: schema.StringAttribute{ + Optional: true, + }, + "iat_ttl": schema.Int64Attribute{ + Optional: true, + Computed: true, + PlanModifiers: []planmodifier.Int64{ + int64planmodifier.UseStateForUnknown(), + }, + }, + names.AttrIssuer: schema.StringAttribute{ + Required: true, + }, + }, + }, + }, + }, + }, + }, + "connection_auth_modes": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[authModeModel](ctx), + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "auth_type": schema.StringAttribute{ + Required: true, + CustomType: fwtypes.StringEnumType[awstypes.AuthenticationType](), + }, + }, + }, + }, + "default_publish_auth_modes": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[authModeModel](ctx), + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "auth_type": schema.StringAttribute{ + Required: true, + CustomType: fwtypes.StringEnumType[awstypes.AuthenticationType](), + }, + }, + }, + }, + "default_subscribe_auth_modes": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[authModeModel](ctx), + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "auth_type": schema.StringAttribute{ + Required: true, + CustomType: fwtypes.StringEnumType[awstypes.AuthenticationType](), + }, + }, + }, + }, + "log_config": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[eventLogConfigModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "cloudwatch_logs_role_arn": schema.StringAttribute{ + Required: true, + }, + "log_level": schema.StringAttribute{ + Required: true, + CustomType: fwtypes.StringEnumType[awstypes.EventLogLevel](), + }, + }, + }, + }, + }, + }, + }, + names.AttrTimeouts: timeouts.Block(ctx, timeouts.Opts{ + Create: true, + Update: true, + Delete: true, + }), + }, + } +} + +func (r *resourceAPI) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { + conn := r.Meta().AppSyncClient(ctx) + + var plan resourceAPIModel + smerr.EnrichAppend(ctx, &resp.Diagnostics, req.Plan.Get(ctx, &plan)) + if resp.Diagnostics.HasError() { + return + } + + var input appsync.CreateApiInput + smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Expand(ctx, plan, &input)) + if resp.Diagnostics.HasError() { + return + } + + input.Tags = getTagsIn(ctx) + + out, err := conn.CreateApi(ctx, &input) + if err != nil { + smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, plan.Name.String()) + return + } + if out == nil || out.Api == nil { + smerr.AddError(ctx, &resp.Diagnostics, errors.New("empty output"), smerr.ID, plan.Name.String()) + return + } + + smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Flatten(ctx, out.Api, &plan), smerr.ID, plan.Name.String()) + if resp.Diagnostics.HasError() { + return + } + + createTimeout := r.CreateTimeout(ctx, plan.Timeouts) + _, err = waitAPICreated(ctx, conn, plan.ApiId.ValueString(), createTimeout) + if err != nil { + smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, plan.Name.String()) + return + } + + smerr.EnrichAppend(ctx, &resp.Diagnostics, resp.State.Set(ctx, plan), smerr.ID, plan.ApiId.String()) +} + +func (r *resourceAPI) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { + conn := r.Meta().AppSyncClient(ctx) + + var state resourceAPIModel + smerr.EnrichAppend(ctx, &resp.Diagnostics, req.State.Get(ctx, &state)) + if resp.Diagnostics.HasError() { + return + } + + apiId := state.ApiId.ValueString() + fmt.Println("hello", apiId) + + out, err := findAPIByID(ctx, conn, apiId) + if tfresource.NotFound(err) { + resp.Diagnostics.Append(fwdiag.NewResourceNotFoundWarningDiagnostic(err)) + resp.State.RemoveResource(ctx) + return + } + if err != nil { + smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, state.ApiId.String()) + return + } + + smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Flatten(ctx, out, &state), smerr.ID, state.ApiId.String()) + if resp.Diagnostics.HasError() { + return + } + + smerr.EnrichAppend(ctx, &resp.Diagnostics, resp.State.Set(ctx, &state), smerr.ID, state.ApiId.String()) +} + +func (r *resourceAPI) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { + conn := r.Meta().AppSyncClient(ctx) + + var plan, state resourceAPIModel + smerr.EnrichAppend(ctx, &resp.Diagnostics, req.Plan.Get(ctx, &plan)) + smerr.EnrichAppend(ctx, &resp.Diagnostics, req.State.Get(ctx, &state)) + if resp.Diagnostics.HasError() { + return + } + + diff, d := flex.Diff(ctx, plan, state) + smerr.EnrichAppend(ctx, &resp.Diagnostics, d, smerr.ID, plan.ApiId.String()) + if resp.Diagnostics.HasError() { + return + } + + if diff.HasChanges() { + var input appsync.UpdateApiInput + smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Expand(ctx, plan, &input), smerr.ID, plan.ApiId.String()) + if resp.Diagnostics.HasError() { + return + } + + input.ApiId = plan.ApiId.ValueStringPointer() + + out, err := conn.UpdateApi(ctx, &input) + if err != nil { + smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, plan.ApiId.String()) + return + } + if out == nil || out.Api == nil { + smerr.AddError(ctx, &resp.Diagnostics, errors.New("empty output"), smerr.ID, plan.ApiId.String()) + return + } + + smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Flatten(ctx, out.Api, &plan), smerr.ID, plan.ApiId.String()) + if resp.Diagnostics.HasError() { + return + } + } + + smerr.EnrichAppend(ctx, &resp.Diagnostics, resp.State.Set(ctx, &plan), smerr.ID, plan.ApiId.String()) +} + +func (r *resourceAPI) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { + conn := r.Meta().AppSyncClient(ctx) + + var state resourceAPIModel + smerr.EnrichAppend(ctx, &resp.Diagnostics, req.State.Get(ctx, &state)) + if resp.Diagnostics.HasError() { + return + } + + input := appsync.DeleteApiInput{ + ApiId: state.ApiId.ValueStringPointer(), + } + + _, err := conn.DeleteApi(ctx, &input) + if err != nil { + if errs.IsA[*awstypes.NotFoundException](err) { + return + } + + smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, state.ApiId.String()) + return + } + + deleteTimeout := r.DeleteTimeout(ctx, state.Timeouts) + _, err = waitAPIDeleted(ctx, conn, state.ApiId.ValueString(), deleteTimeout) + if err != nil { + smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, state.ApiId.String()) + return + } +} + +func (r *resourceAPI) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { + resource.ImportStatePassthroughID(ctx, path.Root("id"), req, resp) +} + +const ( + statusDeleting = "Deleting" + statusNormal = "Normal" +) + +func waitAPICreated(ctx context.Context, conn *appsync.Client, id string, timeout time.Duration) (*awstypes.Api, error) { + stateConf := &retry.StateChangeConf{ + Pending: []string{}, + Target: []string{statusNormal}, + Refresh: statusAPI(ctx, conn, id), + Timeout: timeout, + NotFoundChecks: 20, + ContinuousTargetOccurence: 2, + } + + outputRaw, err := stateConf.WaitForStateContext(ctx) + if err != nil { + fmt.Printf("[DEBUG] waitAPICreated: Wait failed with error: %v\n", err) + } else { + fmt.Printf("[DEBUG] waitAPICreated: Wait completed successfully for API: %s\n", id) + } + + if out, ok := outputRaw.(*awstypes.Api); ok { + return out, smarterr.NewError(err) + } + + return nil, smarterr.NewError(err) +} + +func waitAPIDeleted(ctx context.Context, conn *appsync.Client, id string, timeout time.Duration) (*awstypes.Api, error) { + fmt.Printf("[DEBUG] waitAPIDeleted: Starting wait for API deletion: %s\n", id) + stateConf := &retry.StateChangeConf{ + Pending: []string{statusDeleting, statusNormal}, + Target: []string{}, + Refresh: statusAPI(ctx, conn, id), + Timeout: timeout, + } + + outputRaw, err := stateConf.WaitForStateContext(ctx) + if err != nil { + fmt.Printf("[DEBUG] waitAPIDeleted: Wait failed with error: %v\n", err) + } else { + fmt.Printf("[DEBUG] waitAPIDeleted: Wait completed successfully for API: %s\n", id) + } + + if out, ok := outputRaw.(*awstypes.Api); ok { + return out, smarterr.NewError(err) + } + + return nil, smarterr.NewError(err) +} + +func statusAPI(ctx context.Context, conn *appsync.Client, id string) retry.StateRefreshFunc { + return func() (any, string, error) { + out, err := findAPIByID(ctx, conn, id) + if tfresource.NotFound(err) { + return nil, "", nil + } + + if err != nil { + return nil, "", smarterr.NewError(err) + } + + return out, statusNormal, nil + } +} + +func findAPIByID(ctx context.Context, conn *appsync.Client, id string) (*awstypes.Api, error) { + input := appsync.GetApiInput{ + ApiId: aws.String(id), + } + + out, err := conn.GetApi(ctx, &input) + if err != nil { + if errs.IsA[*awstypes.NotFoundException](err) { + return nil, smarterr.NewError(&retry.NotFoundError{ + LastError: err, + LastRequest: &input, + }) + } + return nil, smarterr.NewError(err) + } + + if out == nil || out.Api == nil { + return nil, smarterr.NewError(tfresource.NewEmptyResultError(&input)) + } + + return out.Api, nil +} + +type resourceAPIModel struct { + framework.WithRegionModel + ApiArn types.String `tfsdk:"arn"` + ApiId types.String `tfsdk:"id"` + Created timetypes.RFC3339 `tfsdk:"created"` + Dns fwtypes.MapOfString `tfsdk:"dns"` + EventConfig fwtypes.ListNestedObjectValueOf[eventConfigModel] `tfsdk:"event_config"` + Name types.String `tfsdk:"name"` + OwnerContact types.String `tfsdk:"owner_contact"` + Tags tftags.Map `tfsdk:"tags"` + TagsAll tftags.Map `tfsdk:"tags_all"` + Timeouts timeouts.Value `tfsdk:"timeouts"` + WafWebAclArn types.String `tfsdk:"waf_web_acl_arn"` + XrayEnabled types.Bool `tfsdk:"xray_enabled"` +} + +type eventConfigModel struct { + AuthProviders fwtypes.ListNestedObjectValueOf[authProviderModel] `tfsdk:"auth_providers"` + ConnectionAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"connection_auth_modes"` + DefaultPublishAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"default_publish_auth_modes"` + DefaultSubscribeAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"default_subscribe_auth_modes"` + LogConfig fwtypes.ListNestedObjectValueOf[eventLogConfigModel] `tfsdk:"log_config"` +} + +type authProviderModel struct { + AuthType fwtypes.StringEnum[awstypes.AuthenticationType] `tfsdk:"auth_type"` + CognitoConfig fwtypes.ListNestedObjectValueOf[cognitoConfigModel] `tfsdk:"cognito_config"` + LambdaAuthorizerConfig fwtypes.ListNestedObjectValueOf[lambdaAuthorizerConfigModel] `tfsdk:"lambda_authorizer_config"` + OpenIDConnectConfig fwtypes.ListNestedObjectValueOf[openIDConnectConfigModel] `tfsdk:"openid_connect_config"` +} + +type authModeModel struct { + AuthType fwtypes.StringEnum[awstypes.AuthenticationType] `tfsdk:"auth_type"` +} + +type cognitoConfigModel struct { + AwsRegion types.String `tfsdk:"aws_region"` + UserPoolId types.String `tfsdk:"user_pool_id"` + AppIdClientRegex types.String `tfsdk:"app_id_client_regex"` +} + +type lambdaAuthorizerConfigModel struct { + AuthorizerResultTtlInSeconds types.Int64 `tfsdk:"authorizer_result_ttl_in_seconds"` + AuthorizerUri types.String `tfsdk:"authorizer_uri"` + IdentityValidationExpression types.String `tfsdk:"identity_validation_expression"` +} + +type openIDConnectConfigModel struct { + AuthTtl types.Int64 `tfsdk:"auth_ttl"` + ClientId types.String `tfsdk:"client_id"` + IatTtl types.Int64 `tfsdk:"iat_ttl"` + Issuer types.String `tfsdk:"issuer"` +} + +type eventLogConfigModel struct { + CloudWatchLogsRoleArn types.String `tfsdk:"cloudwatch_logs_role_arn"` + LogLevel fwtypes.StringEnum[awstypes.EventLogLevel] `tfsdk:"log_level"` +} diff --git a/internal/service/appsync/api_identity_gen_test.go b/internal/service/appsync/api_identity_gen_test.go new file mode 100644 index 000000000000..3ff03c50f4c4 --- /dev/null +++ b/internal/service/appsync/api_identity_gen_test.go @@ -0,0 +1,281 @@ +// Code generated by internal/generate/identitytests/main.go; DO NOT EDIT. + +package appsync_test + +import ( + "testing" + + awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" + "github.com/hashicorp/terraform-plugin-testing/config" + sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-plugin-testing/tfversion" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfknownvalue "github.com/hashicorp/terraform-provider-aws/internal/acctest/knownvalue" + tfstatecheck "github.com/hashicorp/terraform-provider-aws/internal/acctest/statecheck" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccAppSyncAPI_Identity_Basic(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/API/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.Region()), + names.AttrID: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/API/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ImportStateKind: resource.ImportCommandWithID, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/API/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/API/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + }, + }) +} + +func TestAccAppSyncAPI_Identity_RegionOverride(t *testing.T) { + ctx := acctest.Context(t) + + resourceName := "aws_appsync_api.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: acctest.CheckDestroyNoop, + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/API/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrID: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/API/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + // TODO + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/API/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + // TODO + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/API/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + }, + }) +} + +func TestAccAppSyncAPI_Identity_ExistingResource(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + resource.ParallelTest(t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + // Step 1: Create pre-Identity + { + ConfigDirectory: config.StaticDirectory("testdata/API/basic_v5.100.0/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + tfstatecheck.ExpectNoIdentity(resourceName), + }, + }, + + // Step 2: v6.0 Identity set on refresh + { + ConfigDirectory: config.StaticDirectory("testdata/API/basic_v6.0.0/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.Region()), + names.AttrID: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), + }, + }, + + // Step 3: Current version + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.Region()), + names.AttrID: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), + }, + }, + }, + }) +} diff --git a/internal/service/appsync/api_tags_gen_test.go b/internal/service/appsync/api_tags_gen_test.go new file mode 100644 index 000000000000..1d710f88064d --- /dev/null +++ b/internal/service/appsync/api_tags_gen_test.go @@ -0,0 +1,2320 @@ +// Code generated by internal/generate/tagstests/main.go; DO NOT EDIT. + +package appsync_test + +import ( + "testing" + + awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" + "github.com/hashicorp/terraform-plugin-testing/config" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccAppSyncAPI_tags(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1Updated), + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1Updated), + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_null(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: nil, + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.Null(), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.Null(), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: nil, + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + ImportStateVerifyIgnore: []string{ + acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" + }, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_EmptyMap(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{}), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{}), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + ImportStateVerifyIgnore: []string{ + acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" + }, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_AddOnUpdate(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_EmptyTag_OnCreate(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_EmptyTag_OnUpdate_Add(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + acctest.CtKey2: config.StringVariable(""), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + acctest.CtKey2: knownvalue.StringExact(""), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + acctest.CtKey2: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + acctest.CtKey2: knownvalue.StringExact(""), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + acctest.CtKey2: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + acctest.CtKey2: config.StringVariable(""), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_DefaultTags_providerOnly(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1Updated), + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1Updated), + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_DefaultTags_nonOverlapping(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1Updated), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1Updated), + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1Updated), + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1Updated), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_DefaultTags_overlapping(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + acctest.CtOverlapKey2: config.StringVariable("providervalue2"), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), + acctest.CtOverlapKey2: config.StringVariable(acctest.CtResourceValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtOverlapKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtOverlapKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtOverlapKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtOverlapKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + acctest.CtOverlapKey2: config.StringVariable("providervalue2"), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), + acctest.CtOverlapKey2: config.StringVariable(acctest.CtResourceValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_DefaultTags_updateToProviderOnly(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_DefaultTags_updateToResourceOnly(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_DefaultTags_emptyResourceTag(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: nil, + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.Null(), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.Null(), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: nil, + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + ImportStateVerifyIgnore: []string{ + acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" + }, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: nil, + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.Null(), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(""), + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.Null(), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(""), + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: nil, + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + ImportStateVerifyIgnore: []string{ + "tags.resourcekey1", // The canonical value returned by the AWS API is "" + }, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_ComputedTag_OnCreate(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tagsComputed1/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable("computedkey1"), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + resource.TestCheckResourceAttrPair(resourceName, "tags.computedkey1", "null_resource.test", names.AttrID), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapSizeExact(1)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapSizeExact(1)), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTags).AtMapKey("computedkey1")), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tagsComputed1/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable("computedkey1"), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_ComputedTag_OnUpdate_Add(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tagsComputed2/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable("computedkey1"), + "knownTagKey": config.StringVariable(acctest.CtKey1), + "knownTagValue": config.StringVariable(acctest.CtValue1), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + resource.TestCheckResourceAttrPair(resourceName, "tags.computedkey1", "null_resource.test", names.AttrID), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapSizeExact(2)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapPartial(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapSizeExact(2)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapPartial(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTags).AtMapKey("computedkey1")), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tagsComputed2/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable("computedkey1"), + "knownTagKey": config.StringVariable(acctest.CtKey1), + "knownTagValue": config.StringVariable(acctest.CtValue1), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tagsComputed1/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable(acctest.CtKey1), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + resource.TestCheckResourceAttrPair(resourceName, acctest.CtTagsKey1, "null_resource.test", names.AttrID), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapSizeExact(1)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapSizeExact(1)), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTags).AtMapKey(acctest.CtKey1)), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tagsComputed1/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable(acctest.CtKey1), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrID, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + // 1: Create + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtProviderKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), // TODO: Should not be set + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + }, + }, + // 2: Update ignored tag only + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1Updated), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtProviderKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), // TODO: Should not be set + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + }, + }, + // 3: Update both tags + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1Again), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Updated), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtProviderKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), // TODO: Should not be set + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + }, + }, + }, + }) +} + +func TestAccAppSyncAPI_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.Api + resourceName := "aws_appsync_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + // 1: Create + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtResourceKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), // TODO: Should not be set + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), // TODO: Should be NoOp + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + ExpectNonEmptyPlan: true, + }, + // 2: Update ignored tag + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtResourceKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), // TODO: Should not be set + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), // TODO: Should be NoOp + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + ExpectNonEmptyPlan: true, + }, + // 3: Update both tags + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/API/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Again), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2Updated), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtResourceKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Again), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), // TODO: Should not be set + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Again), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), // TODO: Should be NoOp + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Again), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + }, + }, + ExpectNonEmptyPlan: true, + }, + }, + }) +} diff --git a/internal/service/appsync/api_test.go b/internal/service/appsync/api_test.go new file mode 100644 index 000000000000..51443452624e --- /dev/null +++ b/internal/service/appsync/api_test.go @@ -0,0 +1,440 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package appsync_test + +import ( + "context" + "errors" + "fmt" + "testing" + + awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" + sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/terraform" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + "github.com/hashicorp/terraform-provider-aws/internal/conns" + "github.com/hashicorp/terraform-provider-aws/internal/create" + "github.com/hashicorp/terraform-provider-aws/internal/tfresource" + "github.com/hashicorp/terraform-provider-aws/names" + + tfappsync "github.com/hashicorp/terraform-provider-aws/internal/service/appsync" +) + +func TestAccAppSyncAPI_basic(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var api awstypes.Api + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_appsync_api.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) + testAccPreCheck(ctx, t) + }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccAPIConfig_eventConfigComprehensive(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &api), + resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), + resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), + resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "3"), + // Cognito auth provider + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.0.auth_type", "AMAZON_COGNITO_USER_POOLS"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.0.cognito_config.#", "1"), + resource.TestCheckResourceAttrSet(resourceName, "event_config.0.auth_providers.0.cognito_config.0.user_pool_id"), + resource.TestCheckResourceAttrSet(resourceName, "event_config.0.auth_providers.0.cognito_config.0.aws_region"), + // Lambda auth provider + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.1.auth_type", "AWS_LAMBDA"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.1.lambda_authorizer_config.#", "1"), + resource.TestCheckResourceAttrSet(resourceName, "event_config.0.auth_providers.1.lambda_authorizer_config.0.authorizer_uri"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.1.lambda_authorizer_config.0.authorizer_result_ttl_in_seconds", "300"), + // OpenID Connect auth provider + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.2.auth_type", "OPENID_CONNECT"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.2.openid_connect_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.2.openid_connect_config.0.issuer", "https://example.com"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.2.openid_connect_config.0.client_id", "test-client-id"), + // Auth modes + resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.0.auth_type", "AWS_LAMBDA"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.0.auth_type", "AWS_LAMBDA"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.0.auth_type", "AWS_LAMBDA"), + // Log config + resource.TestCheckResourceAttr(resourceName, "event_config.0.log_config.#", "1"), + resource.TestCheckResourceAttrSet(resourceName, "event_config.0.log_config.0.cloudwatch_logs_role_arn"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.log_config.0.log_level", "ERROR"), + // Tags + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "2"), + resource.TestCheckResourceAttr(resourceName, "tags.Environment", "test"), + resource.TestCheckResourceAttr(resourceName, "tags.Purpose", "event-api-testing"), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsAllPercent, "2"), + resource.TestCheckResourceAttr(resourceName, "tags_all.Environment", "test"), + resource.TestCheckResourceAttr(resourceName, "tags_all.Purpose", "event-api-testing"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncAPI_update(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var api awstypes.Api + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + rNameUpdated := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_appsync_api.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) + testAccPreCheck(ctx, t) + }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccAPIConfig_eventConfigComprehensive(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &api), + resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), + resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), + resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "3"), + ), + }, + { + Config: testAccAPIConfig_eventConfigComprehensive(rNameUpdated), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &api), + resource.TestCheckResourceAttr(resourceName, names.AttrName, rNameUpdated), + resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), + resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "3"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} +func TestAccAppSyncAPI_disappears(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var api awstypes.Api + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_appsync_api.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) + testAccPreCheck(ctx, t) + }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccAPIConfig_basic(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &api), + resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), + resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.0.auth_type", "API_KEY"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.0.auth_type", "API_KEY"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.0.auth_type", "API_KEY"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.0.auth_type", "API_KEY"), + acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfappsync.ResourceAPI, resourceName), + ), + ExpectNonEmptyPlan: true, + }, + }, + }) +} +func testAccCheckAPIDestroy(ctx context.Context) resource.TestCheckFunc { + return func(s *terraform.State) error { + conn := acctest.Provider.Meta().(*conns.AWSClient).AppSyncClient(ctx) + + for _, rs := range s.RootModule().Resources { + if rs.Type != "aws_appsync_api" { + continue + } + + _, err := tfappsync.FindAPIByID(ctx, conn, rs.Primary.ID) + if tfresource.NotFound(err) { + return nil + } + if err != nil { + return create.Error(names.AppSync, create.ErrActionCheckingDestroyed, tfappsync.ResNameAPI, rs.Primary.ID, err) + } + + return create.Error(names.AppSync, create.ErrActionCheckingDestroyed, tfappsync.ResNameAPI, rs.Primary.ID, errors.New("not destroyed")) + } + + return nil + } +} + +func testAccCheckAPIExists(ctx context.Context, name string, api *awstypes.Api) resource.TestCheckFunc { + return func(s *terraform.State) error { + rs, ok := s.RootModule().Resources[name] + if !ok { + return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameAPI, name, errors.New("not found")) + } + + if rs.Primary.ID == "" { + return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameAPI, name, errors.New("not set")) + } + + conn := acctest.Provider.Meta().(*conns.AWSClient).AppSyncClient(ctx) + + resp, err := tfappsync.FindAPIByID(ctx, conn, rs.Primary.ID) + if err != nil { + return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameAPI, rs.Primary.ID, err) + } + + *api = *resp + + return nil + } +} + +func testAccAPIConfig_basic(rName string) string { + return fmt.Sprintf(` +resource "aws_appsync_api" "test" { + name = %[1]q + + event_config { + auth_providers { + auth_type = "API_KEY" + } + + connection_auth_modes { + auth_type = "API_KEY" + } + + default_publish_auth_modes { + auth_type = "API_KEY" + } + + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } +} +`, rName) +} + +func testAccAPIConfig_eventConfigComprehensive(rName string) string { + return fmt.Sprintf(` +resource "aws_cognito_user_pool" "test" { + name = %[1]q +} + +resource "aws_iam_role" "lambda" { + name = "%[1]s-lambda" + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "lambda_basic" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "lambda_basic" { + name = "%[1]s-lambda-basic" + role = aws_iam_role.lambda.id + policy = data.aws_iam_policy_document.lambda_basic.json +} + +resource "aws_lambda_function" "test" { + filename = "test-fixtures/lambdatest.zip" + function_name = %[1]q + role = aws_iam_role.lambda.arn + handler = "index.handler" + runtime = "nodejs18.x" + source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") + + depends_on = [aws_iam_role_policy.lambda_basic] +} + +resource "aws_lambda_permission" "appsync_invoke" { + statement_id = "AllowExecutionFromAppSync" + action = "lambda:InvokeFunction" + function_name = aws_lambda_function.test.function_name + principal = "appsync.amazonaws.com" +} + +resource "aws_iam_role" "cloudwatch" { + name = "%[1]s-cloudwatch" + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "appsync.amazonaws.com" + } + } + ] + }) +} + +data "aws_iam_policy_document" "cloudwatch_logs" { + statement { + effect = "Allow" + actions = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + resources = ["arn:aws:logs:*:*:*"] + } +} + +resource "aws_iam_role_policy" "cloudwatch" { + name = "%[1]s-cloudwatch-policy" + role = aws_iam_role.cloudwatch.id + policy = data.aws_iam_policy_document.cloudwatch_logs.json +} + +resource "aws_appsync_api" "test" { + name = %[1]q + owner_contact = "test@example.com" + + event_config { + auth_providers { + auth_type = "AMAZON_COGNITO_USER_POOLS" + cognito_config { + user_pool_id = aws_cognito_user_pool.test.id + aws_region = data.aws_region.current.name + } + } + + auth_providers { + auth_type = "AWS_LAMBDA" + lambda_authorizer_config { + authorizer_uri = aws_lambda_function.test.arn + authorizer_result_ttl_in_seconds = 300 + } + } + + auth_providers { + auth_type = "OPENID_CONNECT" + openid_connect_config { + issuer = "https://example.com" + client_id = "test-client-id" + } + } + + connection_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_publish_auth_modes { + auth_type = "AWS_LAMBDA" + } + + default_subscribe_auth_modes { + auth_type = "AWS_LAMBDA" + } + + log_config { + cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn + log_level = "ERROR" + } + } + + tags = { + Environment = "test" + Purpose = "event-api-testing" + } + + depends_on = [ + aws_lambda_permission.appsync_invoke, + aws_iam_role_policy.cloudwatch + ] +} + +data "aws_region" "current" {} +`, rName) +} + +func testAccAPIConfig_tags1(rName, tagKey1, tagValue1 string) string { + return fmt.Sprintf(` +resource "aws_appsync_api" "test" { + name = %[1]q + + tags = { + %[2]q = %[3]q + } +} +`, rName, tagKey1, tagValue1) +} + +func testAccAPIConfig_tags2(rName, tagKey1, tagValue1, tagKey2, tagValue2 string) string { + return fmt.Sprintf(` +resource "aws_appsync_api" "test" { + name = %[1]q + + tags = { + %[2]q = %[3]q + %[4]q = %[5]q + } +} +`, rName, tagKey1, tagValue1, tagKey2, tagValue2) +} diff --git a/internal/service/appsync/graphql_api_tags_gen_test.go b/internal/service/appsync/graphql_api_tags_gen_test.go new file mode 100644 index 000000000000..8c99f5b13754 --- /dev/null +++ b/internal/service/appsync/graphql_api_tags_gen_test.go @@ -0,0 +1,2272 @@ +// Code generated by internal/generate/tagstests/main.go; DO NOT EDIT. + +package appsync_test + +import ( + "testing" + + awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" + "github.com/hashicorp/terraform-plugin-testing/config" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccAppSyncGraphQLAPI_tags(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1Updated), + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1Updated), + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_null(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: nil, + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + // TODO: Should be known + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: nil, + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_EmptyMap(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{}), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + // TODO: Should be known + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{}), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_AddOnUpdate(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + // TODO: Should be known + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_EmptyTag_OnCreate(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + // TODO: Should be known + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_EmptyTag_OnUpdate_Add(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + acctest.CtKey2: config.StringVariable(""), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + acctest.CtKey2: knownvalue.StringExact(""), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + acctest.CtKey2: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + acctest.CtKey2: knownvalue.StringExact(""), + })), + // TODO: Should be known + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + acctest.CtKey2: config.StringVariable(""), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + // TODO: Should be known + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_DefaultTags_providerOnly(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1Updated), + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1Updated), + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_DefaultTags_nonOverlapping(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1Updated), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1Updated), + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1Updated), + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1Updated), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_DefaultTags_overlapping(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + acctest.CtOverlapKey2: config.StringVariable("providervalue2"), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), + acctest.CtOverlapKey2: config.StringVariable(acctest.CtResourceValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtOverlapKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtOverlapKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtOverlapKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtOverlapKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + acctest.CtOverlapKey2: config.StringVariable("providervalue2"), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), + acctest.CtOverlapKey2: config.StringVariable(acctest.CtResourceValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_DefaultTags_updateToProviderOnly(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_DefaultTags_updateToResourceOnly(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_DefaultTags_emptyResourceTag(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + // TODO: Should be known + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + // TODO: Should be known + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: nil, + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtProviderValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtProviderValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: nil, + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: nil, + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: nil, + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_ComputedTag_OnCreate(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tagsComputed1/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable("computedkey1"), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + resource.TestCheckResourceAttrPair(resourceName, "tags.computedkey1", "null_resource.test", names.AttrID), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapSizeExact(1)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapSizeExact(1)), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTags)), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tagsComputed1/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable("computedkey1"), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_ComputedTag_OnUpdate_Add(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tagsComputed2/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable("computedkey1"), + "knownTagKey": config.StringVariable(acctest.CtKey1), + "knownTagValue": config.StringVariable(acctest.CtValue1), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + resource.TestCheckResourceAttrPair(resourceName, "tags.computedkey1", "null_resource.test", names.AttrID), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapSizeExact(2)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapPartial(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapSizeExact(2)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapPartial(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTags)), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tagsComputed2/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable("computedkey1"), + "knownTagKey": config.StringVariable(acctest.CtKey1), + "knownTagValue": config.StringVariable(acctest.CtValue1), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tagsComputed1/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable(acctest.CtKey1), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + resource.TestCheckResourceAttrPair(resourceName, acctest.CtTagsKey1, "null_resource.test", names.AttrID), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapSizeExact(1)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapSizeExact(1)), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTags)), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tagsComputed1/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable(acctest.CtKey1), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + Steps: []resource.TestStep{ + // 1: Create + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtProviderKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), // TODO: Should not be set + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + }, + }, + // 2: Update ignored tag only + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1Updated), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtProviderKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), // TODO: Should not be set + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + }, + }, + // 3: Update both tags + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1Again), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Updated), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtProviderKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), // TODO: Should not be set + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + }, + }, + }, + }) +} + +func TestAccAppSyncGraphQLAPI_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.GraphqlApi + resourceName := "aws_appsync_graphql_api.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckGraphQLAPIDestroy(ctx), + Steps: []resource.TestStep{ + // 1: Create + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtResourceKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), // TODO: Should not be set + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + ExpectNonEmptyPlan: true, + }, + // 2: Update ignored tag + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtResourceKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), // TODO: Should not be set + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + ExpectNonEmptyPlan: true, + }, + // 3: Update both tags + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/GraphQLAPI/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Again), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2Updated), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtResourceKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckGraphQLAPIExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), // TODO: Should not be set + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Again), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Again), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Again), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + }, + }, + ExpectNonEmptyPlan: true, + }, + }, + }) +} diff --git a/internal/service/appsync/tags_gen_test.go b/internal/service/appsync/tags_gen_test.go new file mode 100644 index 000000000000..3e5d2ad45d0b --- /dev/null +++ b/internal/service/appsync/tags_gen_test.go @@ -0,0 +1,16 @@ +// Code generated by internal/generate/tagstests/main.go; DO NOT EDIT. + +package appsync_test + +import ( + "context" + + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + tfstatecheck "github.com/hashicorp/terraform-provider-aws/internal/acctest/statecheck" + tfappsync "github.com/hashicorp/terraform-provider-aws/internal/service/appsync" +) + +func expectFullResourceTags(ctx context.Context, resourceAddress string, knownValue knownvalue.Check) statecheck.StateCheck { + return tfstatecheck.ExpectFullResourceTags(tfappsync.ServicePackage(ctx), resourceAddress, knownValue) +} diff --git a/internal/service/appsync/testdata/API/basic/main_gen.tf b/internal/service/appsync/testdata/API/basic/main_gen.tf new file mode 100644 index 000000000000..cb4202095bfc --- /dev/null +++ b/internal/service/appsync/testdata/API/basic/main_gen.tf @@ -0,0 +1,30 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_appsync_api" "test" { + name = var.rName + + event_config { + auth_providers { + auth_type = "API_KEY" + } + + connection_auth_modes { + auth_type = "API_KEY" + } + + default_publish_auth_modes { + auth_type = "API_KEY" + } + + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} diff --git a/internal/service/appsync/testdata/API/basic_v5.100.0/main_gen.tf b/internal/service/appsync/testdata/API/basic_v5.100.0/main_gen.tf new file mode 100644 index 000000000000..58115748f07b --- /dev/null +++ b/internal/service/appsync/testdata/API/basic_v5.100.0/main_gen.tf @@ -0,0 +1,40 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_appsync_api" "test" { + name = var.rName + + event_config { + auth_providers { + auth_type = "API_KEY" + } + + connection_auth_modes { + auth_type = "API_KEY" + } + + default_publish_auth_modes { + auth_type = "API_KEY" + } + + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "5.100.0" + } + } +} + +provider "aws" {} diff --git a/internal/service/appsync/testdata/API/basic_v6.0.0/main_gen.tf b/internal/service/appsync/testdata/API/basic_v6.0.0/main_gen.tf new file mode 100644 index 000000000000..9fe03fa335b1 --- /dev/null +++ b/internal/service/appsync/testdata/API/basic_v6.0.0/main_gen.tf @@ -0,0 +1,40 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_appsync_api" "test" { + name = var.rName + + event_config { + auth_providers { + auth_type = "API_KEY" + } + + connection_auth_modes { + auth_type = "API_KEY" + } + + default_publish_auth_modes { + auth_type = "API_KEY" + } + + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "6.0.0" + } + } +} + +provider "aws" {} diff --git a/internal/service/appsync/testdata/API/region_override/main_gen.tf b/internal/service/appsync/testdata/API/region_override/main_gen.tf new file mode 100644 index 000000000000..77928d1520b4 --- /dev/null +++ b/internal/service/appsync/testdata/API/region_override/main_gen.tf @@ -0,0 +1,38 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_appsync_api" "test" { + region = var.region + + name = var.rName + + event_config { + auth_providers { + auth_type = "API_KEY" + } + + connection_auth_modes { + auth_type = "API_KEY" + } + + default_publish_auth_modes { + auth_type = "API_KEY" + } + + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "region" { + description = "Region to deploy resource in" + type = string + nullable = false +} diff --git a/internal/service/appsync/testdata/API/tags/main_gen.tf b/internal/service/appsync/testdata/API/tags/main_gen.tf new file mode 100644 index 000000000000..856cf507e796 --- /dev/null +++ b/internal/service/appsync/testdata/API/tags/main_gen.tf @@ -0,0 +1,39 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_appsync_api" "test" { + name = var.rName + + event_config { + auth_providers { + auth_type = "API_KEY" + } + + connection_auth_modes { + auth_type = "API_KEY" + } + + default_publish_auth_modes { + auth_type = "API_KEY" + } + + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } + + tags = var.resource_tags +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "resource_tags" { + description = "Tags to set on resource. To specify no tags, set to `null`" + # Not setting a default, so that this must explicitly be set to `null` to specify no tags + type = map(string) + nullable = true +} diff --git a/internal/service/appsync/testdata/API/tagsComputed1/main_gen.tf b/internal/service/appsync/testdata/API/tagsComputed1/main_gen.tf new file mode 100644 index 000000000000..43f59be80535 --- /dev/null +++ b/internal/service/appsync/testdata/API/tagsComputed1/main_gen.tf @@ -0,0 +1,43 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "null" {} + +resource "aws_appsync_api" "test" { + name = var.rName + + event_config { + auth_providers { + auth_type = "API_KEY" + } + + connection_auth_modes { + auth_type = "API_KEY" + } + + default_publish_auth_modes { + auth_type = "API_KEY" + } + + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } + + tags = { + (var.unknownTagKey) = null_resource.test.id + } +} + +resource "null_resource" "test" {} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "unknownTagKey" { + type = string + nullable = false +} diff --git a/internal/service/appsync/testdata/API/tagsComputed2/main_gen.tf b/internal/service/appsync/testdata/API/tagsComputed2/main_gen.tf new file mode 100644 index 000000000000..40fbd1e57600 --- /dev/null +++ b/internal/service/appsync/testdata/API/tagsComputed2/main_gen.tf @@ -0,0 +1,54 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "null" {} + +resource "aws_appsync_api" "test" { + name = var.rName + + event_config { + auth_providers { + auth_type = "API_KEY" + } + + connection_auth_modes { + auth_type = "API_KEY" + } + + default_publish_auth_modes { + auth_type = "API_KEY" + } + + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } + + tags = { + (var.unknownTagKey) = null_resource.test.id + (var.knownTagKey) = var.knownTagValue + } +} + +resource "null_resource" "test" {} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "unknownTagKey" { + type = string + nullable = false +} + +variable "knownTagKey" { + type = string + nullable = false +} + +variable "knownTagValue" { + type = string + nullable = false +} diff --git a/internal/service/appsync/testdata/API/tags_defaults/main_gen.tf b/internal/service/appsync/testdata/API/tags_defaults/main_gen.tf new file mode 100644 index 000000000000..b2ab1d518182 --- /dev/null +++ b/internal/service/appsync/testdata/API/tags_defaults/main_gen.tf @@ -0,0 +1,50 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "aws" { + default_tags { + tags = var.provider_tags + } +} + +resource "aws_appsync_api" "test" { + name = var.rName + + event_config { + auth_providers { + auth_type = "API_KEY" + } + + connection_auth_modes { + auth_type = "API_KEY" + } + + default_publish_auth_modes { + auth_type = "API_KEY" + } + + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } + + tags = var.resource_tags +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "resource_tags" { + description = "Tags to set on resource. To specify no tags, set to `null`" + # Not setting a default, so that this must explicitly be set to `null` to specify no tags + type = map(string) + nullable = true +} + +variable "provider_tags" { + type = map(string) + nullable = false +} diff --git a/internal/service/appsync/testdata/API/tags_ignore/main_gen.tf b/internal/service/appsync/testdata/API/tags_ignore/main_gen.tf new file mode 100644 index 000000000000..14110e0b6dee --- /dev/null +++ b/internal/service/appsync/testdata/API/tags_ignore/main_gen.tf @@ -0,0 +1,59 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "aws" { + default_tags { + tags = var.provider_tags + } + ignore_tags { + keys = var.ignore_tag_keys + } +} + +resource "aws_appsync_api" "test" { + name = var.rName + + event_config { + auth_providers { + auth_type = "API_KEY" + } + + connection_auth_modes { + auth_type = "API_KEY" + } + + default_publish_auth_modes { + auth_type = "API_KEY" + } + + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } + + tags = var.resource_tags +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "resource_tags" { + description = "Tags to set on resource. To specify no tags, set to `null`" + # Not setting a default, so that this must explicitly be set to `null` to specify no tags + type = map(string) + nullable = true +} + +variable "provider_tags" { + type = map(string) + nullable = true + default = null +} + +variable "ignore_tag_keys" { + type = set(string) + nullable = false +} diff --git a/internal/service/appsync/testdata/GraphQLAPI/tags/main_gen.tf b/internal/service/appsync/testdata/GraphQLAPI/tags/main_gen.tf new file mode 100644 index 000000000000..6d1bf7d6933e --- /dev/null +++ b/internal/service/appsync/testdata/GraphQLAPI/tags/main_gen.tf @@ -0,0 +1,23 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_appsync_graphql_api" "test" { + authentication_type = "API_KEY" + name = var.rName + visibility = var.rName + + tags = var.resource_tags +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "resource_tags" { + description = "Tags to set on resource. To specify no tags, set to `null`" + # Not setting a default, so that this must explicitly be set to `null` to specify no tags + type = map(string) + nullable = true +} diff --git a/internal/service/appsync/testdata/GraphQLAPI/tagsComputed1/main_gen.tf b/internal/service/appsync/testdata/GraphQLAPI/tagsComputed1/main_gen.tf new file mode 100644 index 000000000000..9f4abbf9099f --- /dev/null +++ b/internal/service/appsync/testdata/GraphQLAPI/tagsComputed1/main_gen.tf @@ -0,0 +1,27 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "null" {} + +resource "aws_appsync_graphql_api" "test" { + authentication_type = "API_KEY" + name = var.rName + visibility = var.rName + + tags = { + (var.unknownTagKey) = null_resource.test.id + } +} + +resource "null_resource" "test" {} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "unknownTagKey" { + type = string + nullable = false +} diff --git a/internal/service/appsync/testdata/GraphQLAPI/tagsComputed2/main_gen.tf b/internal/service/appsync/testdata/GraphQLAPI/tagsComputed2/main_gen.tf new file mode 100644 index 000000000000..8adb41deb270 --- /dev/null +++ b/internal/service/appsync/testdata/GraphQLAPI/tagsComputed2/main_gen.tf @@ -0,0 +1,38 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "null" {} + +resource "aws_appsync_graphql_api" "test" { + authentication_type = "API_KEY" + name = var.rName + visibility = var.rName + + tags = { + (var.unknownTagKey) = null_resource.test.id + (var.knownTagKey) = var.knownTagValue + } +} + +resource "null_resource" "test" {} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "unknownTagKey" { + type = string + nullable = false +} + +variable "knownTagKey" { + type = string + nullable = false +} + +variable "knownTagValue" { + type = string + nullable = false +} diff --git a/internal/service/appsync/testdata/GraphQLAPI/tags_defaults/main_gen.tf b/internal/service/appsync/testdata/GraphQLAPI/tags_defaults/main_gen.tf new file mode 100644 index 000000000000..ca619fa10da2 --- /dev/null +++ b/internal/service/appsync/testdata/GraphQLAPI/tags_defaults/main_gen.tf @@ -0,0 +1,34 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "aws" { + default_tags { + tags = var.provider_tags + } +} + +resource "aws_appsync_graphql_api" "test" { + authentication_type = "API_KEY" + name = var.rName + visibility = var.rName + + tags = var.resource_tags +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "resource_tags" { + description = "Tags to set on resource. To specify no tags, set to `null`" + # Not setting a default, so that this must explicitly be set to `null` to specify no tags + type = map(string) + nullable = true +} + +variable "provider_tags" { + type = map(string) + nullable = false +} diff --git a/internal/service/appsync/testdata/GraphQLAPI/tags_ignore/main_gen.tf b/internal/service/appsync/testdata/GraphQLAPI/tags_ignore/main_gen.tf new file mode 100644 index 000000000000..e5fa339029a9 --- /dev/null +++ b/internal/service/appsync/testdata/GraphQLAPI/tags_ignore/main_gen.tf @@ -0,0 +1,43 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "aws" { + default_tags { + tags = var.provider_tags + } + ignore_tags { + keys = var.ignore_tag_keys + } +} + +resource "aws_appsync_graphql_api" "test" { + authentication_type = "API_KEY" + name = var.rName + visibility = var.rName + + tags = var.resource_tags +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "resource_tags" { + description = "Tags to set on resource. To specify no tags, set to `null`" + # Not setting a default, so that this must explicitly be set to `null` to specify no tags + type = map(string) + nullable = true +} + +variable "provider_tags" { + type = map(string) + nullable = true + default = null +} + +variable "ignore_tag_keys" { + type = set(string) + nullable = false +} diff --git a/internal/service/appsync/testdata/tmpl/api_tags.gtpl b/internal/service/appsync/testdata/tmpl/api_tags.gtpl new file mode 100644 index 000000000000..95ac30831330 --- /dev/null +++ b/internal/service/appsync/testdata/tmpl/api_tags.gtpl @@ -0,0 +1,23 @@ +resource "aws_appsync_api" "test" { + {{- template "region" }} + name = var.rName + + event_config { + auth_providers { + auth_type = "API_KEY" + } + + connection_auth_modes { + auth_type = "API_KEY" + } + + default_publish_auth_modes { + auth_type = "API_KEY" + } + + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } + {{- template "tags" . }} +} diff --git a/internal/service/appsync/testdata/tmpl/graphql_api_tags.gtpl b/internal/service/appsync/testdata/tmpl/graphql_api_tags.gtpl new file mode 100644 index 000000000000..ac83faa0b022 --- /dev/null +++ b/internal/service/appsync/testdata/tmpl/graphql_api_tags.gtpl @@ -0,0 +1,8 @@ +resource "aws_appsync_graphql_api" "test" { + {{- template "region" }} + authentication_type = "API_KEY" + name = var.rName + visibility = var.rName + + {{- template "tags" . }} +} From b9019489ef7d83a56e0ce57921e1987c6947c72f Mon Sep 17 00:00:00 2001 From: ThomasZalewski Date: Thu, 24 Jul 2025 13:37:00 -0700 Subject: [PATCH 0746/1301] update identity test file --- .../service/appsync/api_identity_gen_test.go | 32 ++----------------- 1 file changed, 3 insertions(+), 29 deletions(-) diff --git a/internal/service/appsync/api_identity_gen_test.go b/internal/service/appsync/api_identity_gen_test.go index 3ff03c50f4c4..8c1c3f675317 100644 --- a/internal/service/appsync/api_identity_gen_test.go +++ b/internal/service/appsync/api_identity_gen_test.go @@ -196,6 +196,7 @@ func TestAccAppSyncAPI_Identity_RegionOverride(t *testing.T) { }) } +// Resource Identity was added after v6.3.0 func TestAccAppSyncAPI_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) @@ -213,7 +214,7 @@ func TestAccAppSyncAPI_Identity_ExistingResource(t *testing.T) { Steps: []resource.TestStep{ // Step 1: Create pre-Identity { - ConfigDirectory: config.StaticDirectory("testdata/API/basic_v5.100.0/"), + ConfigDirectory: config.StaticDirectory("testdata/API/basic_v6.3.0/"), ConfigVariables: config.Variables{ acctest.CtRName: config.StringVariable(rName), }, @@ -225,34 +226,7 @@ func TestAccAppSyncAPI_Identity_ExistingResource(t *testing.T) { }, }, - // Step 2: v6.0 Identity set on refresh - { - ConfigDirectory: config.StaticDirectory("testdata/API/basic_v6.0.0/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - }, - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckAPIExists(ctx, resourceName, &v), - ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - PostApplyPostRefresh: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - }, - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ - names.AttrAccountID: tfknownvalue.AccountID(), - names.AttrRegion: knownvalue.StringExact(acctest.Region()), - names.AttrID: knownvalue.NotNull(), - }), - statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), - }, - }, - - // Step 3: Current version + // Step 2: Current version { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, ConfigDirectory: config.StaticDirectory("testdata/API/basic/"), From bfa945cad4361105b5135580543d9831c0234581 Mon Sep 17 00:00:00 2001 From: ThomasZalewski Date: Thu, 24 Jul 2025 13:37:17 -0700 Subject: [PATCH 0747/1301] 6.3.0 tags test --- .../testdata/API/basic_v6.3.0/main_gen.tf | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 internal/service/appsync/testdata/API/basic_v6.3.0/main_gen.tf diff --git a/internal/service/appsync/testdata/API/basic_v6.3.0/main_gen.tf b/internal/service/appsync/testdata/API/basic_v6.3.0/main_gen.tf new file mode 100644 index 000000000000..5fd2d37eba72 --- /dev/null +++ b/internal/service/appsync/testdata/API/basic_v6.3.0/main_gen.tf @@ -0,0 +1,40 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_appsync_api" "test" { + name = var.rName + + event_config { + auth_providers { + auth_type = "API_KEY" + } + + connection_auth_modes { + auth_type = "API_KEY" + } + + default_publish_auth_modes { + auth_type = "API_KEY" + } + + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "6.3.0" + } + } +} + +provider "aws" {} From 112b5d53dfe390c65ee01c420c252d43fa7efd0c Mon Sep 17 00:00:00 2001 From: ThomasZalewski Date: Thu, 24 Jul 2025 20:44:04 -0700 Subject: [PATCH 0748/1301] update api.go --- internal/service/appsync/api.go | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/internal/service/appsync/api.go b/internal/service/appsync/api.go index c4d04fff81c6..770aed33c521 100644 --- a/internal/service/appsync/api.go +++ b/internal/service/appsync/api.go @@ -16,7 +16,6 @@ import ( "github.com/hashicorp/terraform-plugin-framework-timeouts/resource/timeouts" "github.com/hashicorp/terraform-plugin-framework-timetypes/timetypes" "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" - "github.com/hashicorp/terraform-plugin-framework/path" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" "github.com/hashicorp/terraform-plugin-framework/resource/schema/int64planmodifier" @@ -42,7 +41,6 @@ import ( // @IdentityAttribute("id") // @Testing(importStateIdAttribute="id") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/appsync/types;awstypes;awstypes.Api") -// @Testing(preIdentityVersion="v6.3.0") func newAPIResource(_ context.Context) (resource.ResourceWithConfigure, error) { r := &resourceAPI{} @@ -59,6 +57,7 @@ const ( type resourceAPI struct { framework.ResourceWithModel[resourceAPIModel] + framework.WithImportByIdentity framework.WithTimeouts } @@ -308,7 +307,7 @@ func (r *resourceAPI) Read(ctx context.Context, req resource.ReadRequest, resp * } apiId := state.ApiId.ValueString() - fmt.Println("hello", apiId) + fmt.Println("Read api id", apiId) out, err := findAPIByID(ctx, conn, apiId) if tfresource.NotFound(err) { @@ -369,7 +368,6 @@ func (r *resourceAPI) Update(ctx context.Context, req resource.UpdateRequest, re return } } - smerr.EnrichAppend(ctx, &resp.Diagnostics, resp.State.Set(ctx, &plan), smerr.ID, plan.ApiId.String()) } @@ -404,10 +402,6 @@ func (r *resourceAPI) Delete(ctx context.Context, req resource.DeleteRequest, re } } -func (r *resourceAPI) ImportState(ctx context.Context, req resource.ImportStateRequest, resp *resource.ImportStateResponse) { - resource.ImportStatePassthroughID(ctx, path.Root("id"), req, resp) -} - const ( statusDeleting = "Deleting" statusNormal = "Normal" From d1e99e7545c7cd250ddb578826e21d2c6aaf8eea Mon Sep 17 00:00:00 2001 From: GHA Date: Thu, 31 Jul 2025 09:11:44 -0700 Subject: [PATCH 0749/1301] docs --- .../docs/r/appsync_event_api.html.markdown | 277 ------------------ 1 file changed, 277 deletions(-) delete mode 100644 website/docs/r/appsync_event_api.html.markdown diff --git a/website/docs/r/appsync_event_api.html.markdown b/website/docs/r/appsync_event_api.html.markdown deleted file mode 100644 index c4dba31ff238..000000000000 --- a/website/docs/r/appsync_event_api.html.markdown +++ /dev/null @@ -1,277 +0,0 @@ ---- -subcategory: "AppSync" -layout: "aws" -page_title: "AWS: aws_appsync_event_api" -description: |- - Manages an AWS AppSync Event API. ---- - -# Resource: aws_appsync_event_api - -Manages an AWS AppSync Event API. Event APIs enable real-time subscriptions and event-driven communication in AppSync applications. - -## Example Usage - -### Basic Usage - -```terraform -resource "aws_appsync_event_api" "example" { - name = "example-event-api" -} -``` - -### With Owner Contact - -```terraform -resource "aws_appsync_event_api" "example" { - name = "example-event-api" - owner_contact = "admin@example.com" -} -``` - -### With Cognito Authentication - -```terraform -resource "aws_cognito_user_pool" "example" { - name = "example-user-pool" -} - -resource "aws_appsync_event_api" "example" { - name = "example-event-api" - - event_config { - auth_providers { - auth_type = "AMAZON_COGNITO_USER_POOLS" - cognito_config { - user_pool_id = aws_cognito_user_pool.example.id - aws_region = data.aws_region.current.name - } - } - } -} - -data "aws_region" "current" {} -``` - -### With Lambda Authorizer - -```terraform -resource "aws_iam_role" "lambda" { - name = "example-lambda-role" - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "lambda.amazonaws.com" - } - } - ] - }) -} - -resource "aws_lambda_function" "example" { - filename = "lambda_authorizer.zip" - function_name = "example-authorizer" - role = aws_iam_role.lambda.arn - handler = "index.handler" - runtime = "nodejs18.x" -} - -resource "aws_appsync_event_api" "example" { - name = "example-event-api" - - event_config { - auth_providers { - auth_type = "AWS_LAMBDA" - lambda_authorizer_config { - authorizer_uri = aws_lambda_function.example.invoke_arn - authorizer_result_ttl_in_seconds = 300 - } - } - } -} -``` - -### With OpenID Connect - -```terraform -resource "aws_appsync_event_api" "example" { - name = "example-event-api" - - event_config { - auth_providers { - auth_type = "OPENID_CONNECT" - openid_connect_config { - issuer = "https://example.com" - client_id = "example-client-id" - } - } - } -} -``` - -### With Authentication Modes - -```terraform -resource "aws_appsync_event_api" "example" { - name = "example-event-api" - - event_config { - connection_auth_modes { - auth_type = "API_KEY" - } - default_publish_auth_modes { - auth_type = "API_KEY" - } - default_subscribe_auth_modes { - auth_type = "API_KEY" - } - } -} -``` - -### With CloudWatch Logging - -```terraform -resource "aws_iam_role" "cloudwatch" { - name = "example-cloudwatch-role" - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "appsync.amazonaws.com" - } - } - ] - }) -} - -resource "aws_iam_role_policy_attachment" "cloudwatch" { - policy_arn = "arn:aws:iam::aws:policy/service-role/AppSyncPushToCloudWatchLogs" - role = aws_iam_role.cloudwatch.name -} - -resource "aws_appsync_event_api" "example" { - name = "example-event-api" - - event_config { - log_config { - cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn - log_level = "ERROR" - } - } -} -``` - -## Argument Reference - -The following arguments are required: - -* `name` - (Required) Name of the Event API. - -The following arguments are optional: - -* `owner_contact` - (Optional) Contact information for the owner of the Event API. -* `event_config` - (Optional) Configuration for the Event API. See [Event Config](#event-config) below. -* `tags` - (Optional) Map of tags to assign to the resource. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. - -### Event Config - -The `event_config` block supports the following: - -* `auth_providers` - (Optional) List of authentication providers. See [Auth Providers](#auth-providers) below. -* `connection_auth_modes` - (Optional) List of authentication modes for connections. See [Auth Modes](#auth-modes) below. -* `default_publish_auth_modes` - (Optional) List of default authentication modes for publishing. See [Auth Modes](#auth-modes) below. -* `default_subscribe_auth_modes` - (Optional) List of default authentication modes for subscribing. See [Auth Modes](#auth-modes) below. -* `log_config` - (Optional) Logging configuration. See [Log Config](#log-config) below. - -### Auth Providers - -The `auth_providers` block supports the following: - -* `auth_type` - (Required) Type of authentication provider. Valid values: `AMAZON_COGNITO_USER_POOLS`, `AWS_LAMBDA`, `OPENID_CONNECT`, `API_KEY`. -* `cognito_config` - (Optional) Configuration for Cognito user pool authentication. Required when `auth_type` is `AMAZON_COGNITO_USER_POOLS`. See [Cognito Config](#cognito-config) below. -* `lambda_authorizer_config` - (Optional) Configuration for Lambda authorization. Required when `auth_type` is `AWS_LAMBDA`. See [Lambda Authorizer Config](#lambda-authorizer-config) below. -* `openid_connect_config` - (Optional) Configuration for OpenID Connect. Required when `auth_type` is `OPENID_CONNECT`. See [OpenID Connect Config](#openid-connect-config) below. - -### Cognito Config - -The `cognito_config` block supports the following: - -* `user_pool_id` - (Required) ID of the Cognito user pool. -* `aws_region` - (Required) AWS region where the user pool is located. -* `app_id_client_regex` - (Optional) Regular expression for matching the client ID. - -### Lambda Authorizer Config - -The `lambda_authorizer_config` block supports the following: - -* `authorizer_uri` - (Required) URI of the Lambda function for authorization. -* `authorizer_result_ttl_in_seconds` - (Optional) TTL in seconds for the authorization result cache. -* `identity_validation_expression` - (Optional) Regular expression for identity validation. - -### OpenID Connect Config - -The `openid_connect_config` block supports the following: - -* `issuer` - (Required) Issuer URL for the OpenID Connect provider. -* `client_id` - (Optional) Client ID for the OpenID Connect provider. -* `auth_ttl` - (Optional) TTL in seconds for the authentication token. -* `iat_ttl` - (Optional) TTL in seconds for the issued at time. - -### Auth Modes - -The `connection_auth_modes`, `default_publish_auth_modes`, and `default_subscribe_auth_modes` blocks support the following: - -* `auth_type` - (Required) Type of authentication. Valid values: `API_KEY`, `AWS_IAM`, `AMAZON_COGNITO_USER_POOLS`, `OPENID_CONNECT`, `AWS_LAMBDA`. - -### Log Config - -The `log_config` block supports the following: - -* `cloudwatch_logs_role_arn` - (Required) ARN of the IAM role for CloudWatch logs. -* `log_level` - (Required) Log level. Valid values: `NONE`, `ERROR`, `ALL`, `INFO`, `DEBUG`. - -## Attribute Reference - -This resource exports the following attributes in addition to the arguments above: - -* `api_id` - ID of the Event API. -* `arn` - ARN of the Event API. -* `created` - Date and time when the Event API was created. -* `dns` - DNS configuration for the Event API. -* `tags_all` - Map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). -* `waf_web_acl_arn` - ARN of the associated WAF web ACL. - -## Timeouts - -[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): - -* `create` - (Default `30m`) -* `update` - (Default `30m`) -* `delete` - (Default `30m`) - -## Import - -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import AppSync Event API using the `api_id`. For example: - -```terraform -import { - to = aws_appsync_event_api.example - id = "example-api-id" -} -``` - -Using `terraform import`, import AppSync Event API using the `api_id`. For example: - -```console -% terraform import aws_appsync_event_api.example example-api-id -``` From faa7a5cd15eb8573e279ddf69f2d146b2495aa57 Mon Sep 17 00:00:00 2001 From: GHA Date: Thu, 31 Jul 2025 09:12:14 -0700 Subject: [PATCH 0750/1301] docs --- website/docs/r/appsync_api.html.markdown | 277 +++++++++++++++++++++++ 1 file changed, 277 insertions(+) create mode 100644 website/docs/r/appsync_api.html.markdown diff --git a/website/docs/r/appsync_api.html.markdown b/website/docs/r/appsync_api.html.markdown new file mode 100644 index 000000000000..12ee70691ff0 --- /dev/null +++ b/website/docs/r/appsync_api.html.markdown @@ -0,0 +1,277 @@ +--- +subcategory: "AppSync" +layout: "aws" +page_title: "AWS: aws_appsync_event_api" +description: |- + Manages an AWS AppSync Event API. +--- + +# Resource: aws_appsync_event_api + +Manages an AWS AppSync Event API. Event APIs enable real-time subscriptions and event-driven communication in AppSync applications. + +## Example Usage + +### Basic Usage + +```terraform +resource "aws_appsync_event_api" "example" { + name = "example-event-api" +} +``` + +### With Owner Contact + +```terraform +resource "aws_appsync_event_api" "example" { + name = "example-event-api" + owner_contact = "admin@example.com" +} +``` +a +### With Cognito Authentication + +```terraform +resource "aws_cognito_user_pool" "example" { + name = "example-user-pool" +} + +resource "aws_appsync_event_api" "example" { + name = "example-event-api" + + event_config { + auth_providers { + auth_type = "AMAZON_COGNITO_USER_POOLS" + cognito_config { + user_pool_id = aws_cognito_user_pool.example.id + aws_region = data.aws_region.current.name + } + } + } +} + +data "aws_region" "current" {} +``` + +### With Lambda Authorizer + +```terraform +resource "aws_iam_role" "lambda" { + name = "example-lambda-role" + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" + } + } + ] + }) +} + +resource "aws_lambda_function" "example" { + filename = "lambda_authorizer.zip" + function_name = "example-authorizer" + role = aws_iam_role.lambda.arn + handler = "index.handler" + runtime = "nodejs18.x" +} + +resource "aws_appsync_event_api" "example" { + name = "example-event-api" + + event_config { + auth_providers { + auth_type = "AWS_LAMBDA" + lambda_authorizer_config { + authorizer_uri = aws_lambda_function.example.invoke_arn + authorizer_result_ttl_in_seconds = 300 + } + } + } +} +``` + +### With OpenID Connect + +```terraform +resource "aws_appsync_event_api" "example" { + name = "example-event-api" + + event_config { + auth_providers { + auth_type = "OPENID_CONNECT" + openid_connect_config { + issuer = "https://example.com" + client_id = "example-client-id" + } + } + } +} +``` + +### With Authentication Modes + +```terraform +resource "aws_appsync_event_api" "example" { + name = "example-event-api" + + event_config { + connection_auth_modes { + auth_type = "API_KEY" + } + default_publish_auth_modes { + auth_type = "API_KEY" + } + default_subscribe_auth_modes { + auth_type = "API_KEY" + } + } +} +``` + +### With CloudWatch Logging + +```terraform +resource "aws_iam_role" "cloudwatch" { + name = "example-cloudwatch-role" + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "appsync.amazonaws.com" + } + } + ] + }) +} + +resource "aws_iam_role_policy_attachment" "cloudwatch" { + policy_arn = "arn:aws:iam::aws:policy/service-role/AppSyncPushToCloudWatchLogs" + role = aws_iam_role.cloudwatch.name +} + +resource "aws_appsync_event_api" "example" { + name = "example-event-api" + + event_config { + log_config { + cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn + log_level = "ERROR" + } + } +} +``` + +## Argument Reference + +The following arguments are required: + +* `name` - (Required) Name of the Event API. + +The following arguments are optional: + +* `owner_contact` - (Optional) Contact information for the owner of the Event API. +* `event_config` - (Optional) Configuration for the Event API. See [Event Config](#event-config) below. +* `tags` - (Optional) Map of tags to assign to the resource. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +### Event Config + +The `event_config` block supports the following: + +* `auth_providers` - (Optional) List of authentication providers. See [Auth Providers](#auth-providers) below. +* `connection_auth_modes` - (Optional) List of authentication modes for connections. See [Auth Modes](#auth-modes) below. +* `default_publish_auth_modes` - (Optional) List of default authentication modes for publishing. See [Auth Modes](#auth-modes) below. +* `default_subscribe_auth_modes` - (Optional) List of default authentication modes for subscribing. See [Auth Modes](#auth-modes) below. +* `log_config` - (Optional) Logging configuration. See [Log Config](#log-config) below. + +### Auth Providers + +The `auth_providers` block supports the following: + +* `auth_type` - (Required) Type of authentication provider. Valid values: `AMAZON_COGNITO_USER_POOLS`, `AWS_LAMBDA`, `OPENID_CONNECT`, `API_KEY`. +* `cognito_config` - (Optional) Configuration for Cognito user pool authentication. Required when `auth_type` is `AMAZON_COGNITO_USER_POOLS`. See [Cognito Config](#cognito-config) below. +* `lambda_authorizer_config` - (Optional) Configuration for Lambda authorization. Required when `auth_type` is `AWS_LAMBDA`. See [Lambda Authorizer Config](#lambda-authorizer-config) below. +* `openid_connect_config` - (Optional) Configuration for OpenID Connect. Required when `auth_type` is `OPENID_CONNECT`. See [OpenID Connect Config](#openid-connect-config) below. + +### Cognito Config + +The `cognito_config` block supports the following: + +* `user_pool_id` - (Required) ID of the Cognito user pool. +* `aws_region` - (Required) AWS region where the user pool is located. +* `app_id_client_regex` - (Optional) Regular expression for matching the client ID. + +### Lambda Authorizer Config + +The `lambda_authorizer_config` block supports the following: + +* `authorizer_uri` - (Required) URI of the Lambda function for authorization. +* `authorizer_result_ttl_in_seconds` - (Optional) TTL in seconds for the authorization result cache. +* `identity_validation_expression` - (Optional) Regular expression for identity validation. + +### OpenID Connect Config + +The `openid_connect_config` block supports the following: + +* `issuer` - (Required) Issuer URL for the OpenID Connect provider. +* `client_id` - (Optional) Client ID for the OpenID Connect provider. +* `auth_ttl` - (Optional) TTL in seconds for the authentication token. +* `iat_ttl` - (Optional) TTL in seconds for the issued at time. + +### Auth Modes + +The `connection_auth_modes`, `default_publish_auth_modes`, and `default_subscribe_auth_modes` blocks support the following: + +* `auth_type` - (Required) Type of authentication. Valid values: `API_KEY`, `AWS_IAM`, `AMAZON_COGNITO_USER_POOLS`, `OPENID_CONNECT`, `AWS_LAMBDA`. + +### Log Config + +The `log_config` block supports the following: + +* `cloudwatch_logs_role_arn` - (Required) ARN of the IAM role for CloudWatch logs. +* `log_level` - (Required) Log level. Valid values: `NONE`, `ERROR`, `ALL`, `INFO`, `DEBUG`. + +## Attribute Reference + +This resource exports the following attributes in addition to the arguments above: + +* `api_id` - ID of the Event API. +* `arn` - ARN of the Event API. +* `created` - Date and time when the Event API was created. +* `dns` - DNS configuration for the Event API. +* `tags_all` - Map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). +* `waf_web_acl_arn` - ARN of the associated WAF web ACL. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +* `create` - (Default `30m`) +* `update` - (Default `30m`) +* `delete` - (Default `30m`) + +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import AppSync Event API using the `api_id`. For example: + +```terraform +import { + to = aws_appsync_event_api.example + id = "example-api-id" +} +``` + +Using `terraform import`, import AppSync Event API using the `api_id`. For example: + +```console +% terraform import aws_appsync_event_api.example example-api-id +``` From 34818d629278eff62e366965481f2050a1f79594 Mon Sep 17 00:00:00 2001 From: GHA Date: Mon, 4 Aug 2025 09:35:48 -0700 Subject: [PATCH 0751/1301] test gen for new resource --- internal/service/appsync/api.go | 10 +- .../service/appsync/api_identity_gen_test.go | 68 +++-- internal/service/appsync/api_tags_gen_test.go | 248 +++++++----------- 3 files changed, 147 insertions(+), 179 deletions(-) diff --git a/internal/service/appsync/api.go b/internal/service/appsync/api.go index 770aed33c521..47d42ffa8cca 100644 --- a/internal/service/appsync/api.go +++ b/internal/service/appsync/api.go @@ -18,6 +18,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/boolplanmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/int64planmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/mapplanmodifier" "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" @@ -39,8 +40,9 @@ import ( // @FrameworkResource("aws_appsync_api", name="API") // @Tags(identifierAttribute="arn") // @IdentityAttribute("id") -// @Testing(importStateIdAttribute="id") +// @#Testing(importStateIdAttribute="id") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/appsync/types;awstypes;awstypes.Api") +// @Testing(preIdentityVersion="") func newAPIResource(_ context.Context) (resource.ResourceWithConfigure, error) { r := &resourceAPI{} @@ -74,6 +76,9 @@ func (r *resourceAPI) Schema(ctx context.Context, req resource.SchemaRequest, re "created": schema.StringAttribute{ CustomType: timetypes.RFC3339Type{}, Computed: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.UseStateForUnknown(), + }, }, "dns": schema.MapAttribute{ CustomType: fwtypes.MapOfStringType, @@ -98,6 +103,9 @@ func (r *resourceAPI) Schema(ctx context.Context, req resource.SchemaRequest, re }, "xray_enabled": schema.BoolAttribute{ Computed: true, + PlanModifiers: []planmodifier.Bool{ + boolplanmodifier.UseStateForUnknown(), + }, }, }, Blocks: map[string]schema.Block{ diff --git a/internal/service/appsync/api_identity_gen_test.go b/internal/service/appsync/api_identity_gen_test.go index 8c1c3f675317..f937ce3c0093 100644 --- a/internal/service/appsync/api_identity_gen_test.go +++ b/internal/service/appsync/api_identity_gen_test.go @@ -62,12 +62,10 @@ func TestAccAppSyncAPI_Identity_Basic(t *testing.T) { ConfigVariables: config.Variables{ acctest.CtRName: config.StringVariable(rName), }, - ImportStateKind: resource.ImportCommandWithID, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, // Step 3: Import block with Import ID @@ -76,10 +74,9 @@ func TestAccAppSyncAPI_Identity_Basic(t *testing.T) { ConfigVariables: config.Variables{ acctest.CtRName: config.StringVariable(rName), }, - ResourceName: resourceName, - ImportState: true, - ImportStateKind: resource.ImportBlockWithID, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, ImportPlanChecks: resource.ImportPlanChecks{ PreApply: []plancheck.PlanCheck{ plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), @@ -148,12 +145,11 @@ func TestAccAppSyncAPI_Identity_RegionOverride(t *testing.T) { acctest.CtRName: config.StringVariable(rName), "region": config.StringVariable(acctest.AlternateRegion()), }, - ImportStateKind: resource.ImportCommandWithID, - // TODO - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ImportStateKind: resource.ImportCommandWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, // Step 3: Import block with Import ID @@ -163,10 +159,10 @@ func TestAccAppSyncAPI_Identity_RegionOverride(t *testing.T) { acctest.CtRName: config.StringVariable(rName), "region": config.StringVariable(acctest.AlternateRegion()), }, - ResourceName: resourceName, - ImportState: true, - ImportStateKind: resource.ImportBlockWithID, - // TODO + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), ImportPlanChecks: resource.ImportPlanChecks{ PreApply: []plancheck.PlanCheck{ plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), @@ -196,7 +192,6 @@ func TestAccAppSyncAPI_Identity_RegionOverride(t *testing.T) { }) } -// Resource Identity was added after v6.3.0 func TestAccAppSyncAPI_Identity_ExistingResource(t *testing.T) { ctx := acctest.Context(t) @@ -214,7 +209,7 @@ func TestAccAppSyncAPI_Identity_ExistingResource(t *testing.T) { Steps: []resource.TestStep{ // Step 1: Create pre-Identity { - ConfigDirectory: config.StaticDirectory("testdata/API/basic_v6.3.0/"), + ConfigDirectory: config.StaticDirectory("testdata/API/basic_v5.100.0/"), ConfigVariables: config.Variables{ acctest.CtRName: config.StringVariable(rName), }, @@ -226,7 +221,34 @@ func TestAccAppSyncAPI_Identity_ExistingResource(t *testing.T) { }, }, - // Step 2: Current version + // Step 2: v6.0 Identity set on refresh + { + ConfigDirectory: config.StaticDirectory("testdata/API/basic_v6.0.0/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &v), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.Region()), + names.AttrID: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), + }, + }, + + // Step 3: Current version { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, ConfigDirectory: config.StaticDirectory("testdata/API/basic/"), diff --git a/internal/service/appsync/api_tags_gen_test.go b/internal/service/appsync/api_tags_gen_test.go index 1d710f88064d..aa9ed5069b47 100644 --- a/internal/service/appsync/api_tags_gen_test.go +++ b/internal/service/appsync/api_tags_gen_test.go @@ -67,11 +67,9 @@ func TestAccAppSyncAPI_tags(t *testing.T) { acctest.CtKey1: config.StringVariable(acctest.CtValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, { ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), @@ -118,11 +116,9 @@ func TestAccAppSyncAPI_tags(t *testing.T) { acctest.CtKey2: config.StringVariable(acctest.CtValue2), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, { ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), @@ -163,11 +159,9 @@ func TestAccAppSyncAPI_tags(t *testing.T) { acctest.CtKey2: config.StringVariable(acctest.CtValue2), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, { ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), @@ -196,11 +190,9 @@ func TestAccAppSyncAPI_tags(t *testing.T) { acctest.CtRName: config.StringVariable(rName), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) @@ -257,11 +249,9 @@ func TestAccAppSyncAPI_tags_null(t *testing.T) { acctest.CtKey1: nil, }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, ImportStateVerifyIgnore: []string{ acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" }, @@ -309,11 +299,9 @@ func TestAccAppSyncAPI_tags_EmptyMap(t *testing.T) { acctest.CtRName: config.StringVariable(rName), acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{}), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, ImportStateVerifyIgnore: []string{ acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" }, @@ -394,11 +382,9 @@ func TestAccAppSyncAPI_tags_AddOnUpdate(t *testing.T) { acctest.CtKey1: config.StringVariable(acctest.CtValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) @@ -455,11 +441,9 @@ func TestAccAppSyncAPI_tags_EmptyTag_OnCreate(t *testing.T) { acctest.CtKey1: config.StringVariable(""), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, { ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), @@ -488,11 +472,9 @@ func TestAccAppSyncAPI_tags_EmptyTag_OnCreate(t *testing.T) { acctest.CtRName: config.StringVariable(rName), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) @@ -586,11 +568,9 @@ func TestAccAppSyncAPI_tags_EmptyTag_OnUpdate_Add(t *testing.T) { acctest.CtKey2: config.StringVariable(""), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, { ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), @@ -631,11 +611,9 @@ func TestAccAppSyncAPI_tags_EmptyTag_OnUpdate_Add(t *testing.T) { acctest.CtKey1: config.StringVariable(acctest.CtValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) @@ -723,11 +701,9 @@ func TestAccAppSyncAPI_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { acctest.CtKey1: config.StringVariable(""), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) @@ -783,11 +759,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_providerOnly(t *testing.T) { }), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -832,11 +806,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_providerOnly(t *testing.T) { }), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -877,11 +849,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_providerOnly(t *testing.T) { }), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -912,11 +882,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_providerOnly(t *testing.T) { acctest.CtRName: config.StringVariable(rName), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) @@ -982,11 +950,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_nonOverlapping(t *testing.T) { acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -1043,11 +1009,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_nonOverlapping(t *testing.T) { acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -1078,11 +1042,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_nonOverlapping(t *testing.T) { acctest.CtRName: config.StringVariable(rName), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) @@ -1146,11 +1108,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_overlapping(t *testing.T) { acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -1207,11 +1167,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_overlapping(t *testing.T) { acctest.CtOverlapKey2: config.StringVariable(acctest.CtResourceValue2), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -1260,11 +1218,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_overlapping(t *testing.T) { acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue2), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) @@ -1352,11 +1308,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_updateToProviderOnly(t *testing.T) { }), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) @@ -1443,11 +1397,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_updateToResourceOnly(t *testing.T) { acctest.CtKey1: config.StringVariable(acctest.CtValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) @@ -1511,11 +1463,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_emptyResourceTag(t *testing.T) { acctest.CtKey1: config.StringVariable(""), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) @@ -1571,11 +1521,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { }), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) @@ -1639,11 +1587,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) acctest.CtKey1: nil, }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, ImportStateVerifyIgnore: []string{ acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" }, @@ -1712,11 +1658,9 @@ func TestAccAppSyncAPI_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing acctest.CtResourceKey1: nil, }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, ImportStateVerifyIgnore: []string{ "tags.resourcekey1", // The canonical value returned by the AWS API is "" }, @@ -1772,11 +1716,9 @@ func TestAccAppSyncAPI_tags_ComputedTag_OnCreate(t *testing.T) { acctest.CtRName: config.StringVariable(rName), "unknownTagKey": config.StringVariable("computedkey1"), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) @@ -1871,11 +1813,9 @@ func TestAccAppSyncAPI_tags_ComputedTag_OnUpdate_Add(t *testing.T) { "knownTagKey": config.StringVariable(acctest.CtKey1), "knownTagValue": config.StringVariable(acctest.CtValue1), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) @@ -1960,11 +1900,9 @@ func TestAccAppSyncAPI_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { acctest.CtRName: config.StringVariable(rName), "unknownTagKey": config.StringVariable(acctest.CtKey1), }, - ResourceName: resourceName, - ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrID), - ImportStateVerify: true, - ImportStateVerifyIdentifierAttribute: names.AttrID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, }, }, }) From 59517efe3e7e44635637b9b226bd097e5c99bb49 Mon Sep 17 00:00:00 2001 From: GHA Date: Fri, 8 Aug 2025 14:48:20 -0700 Subject: [PATCH 0752/1301] remove debug --- internal/service/appsync/api.go | 15 +------------ internal/service/appsync/api_tags_gen_test.go | 21 +++++++++++++++++++ .../appsync/graphql_api_tags_gen_test.go | 21 +++++++++++++++++++ 3 files changed, 43 insertions(+), 14 deletions(-) diff --git a/internal/service/appsync/api.go b/internal/service/appsync/api.go index 47d42ffa8cca..1833f763382f 100644 --- a/internal/service/appsync/api.go +++ b/internal/service/appsync/api.go @@ -6,7 +6,6 @@ package appsync import ( "context" "errors" - "fmt" "time" "github.com/YakDriver/smarterr" @@ -42,7 +41,7 @@ import ( // @IdentityAttribute("id") // @#Testing(importStateIdAttribute="id") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/appsync/types;awstypes;awstypes.Api") -// @Testing(preIdentityVersion="") +// @Testing(hasNoPreExistingResource=true) func newAPIResource(_ context.Context) (resource.ResourceWithConfigure, error) { r := &resourceAPI{} @@ -315,7 +314,6 @@ func (r *resourceAPI) Read(ctx context.Context, req resource.ReadRequest, resp * } apiId := state.ApiId.ValueString() - fmt.Println("Read api id", apiId) out, err := findAPIByID(ctx, conn, apiId) if tfresource.NotFound(err) { @@ -426,11 +424,6 @@ func waitAPICreated(ctx context.Context, conn *appsync.Client, id string, timeou } outputRaw, err := stateConf.WaitForStateContext(ctx) - if err != nil { - fmt.Printf("[DEBUG] waitAPICreated: Wait failed with error: %v\n", err) - } else { - fmt.Printf("[DEBUG] waitAPICreated: Wait completed successfully for API: %s\n", id) - } if out, ok := outputRaw.(*awstypes.Api); ok { return out, smarterr.NewError(err) @@ -440,7 +433,6 @@ func waitAPICreated(ctx context.Context, conn *appsync.Client, id string, timeou } func waitAPIDeleted(ctx context.Context, conn *appsync.Client, id string, timeout time.Duration) (*awstypes.Api, error) { - fmt.Printf("[DEBUG] waitAPIDeleted: Starting wait for API deletion: %s\n", id) stateConf := &retry.StateChangeConf{ Pending: []string{statusDeleting, statusNormal}, Target: []string{}, @@ -449,11 +441,6 @@ func waitAPIDeleted(ctx context.Context, conn *appsync.Client, id string, timeou } outputRaw, err := stateConf.WaitForStateContext(ctx) - if err != nil { - fmt.Printf("[DEBUG] waitAPIDeleted: Wait failed with error: %v\n", err) - } else { - fmt.Printf("[DEBUG] waitAPIDeleted: Wait completed successfully for API: %s\n", id) - } if out, ok := outputRaw.(*awstypes.Api); ok { return out, smarterr.NewError(err) diff --git a/internal/service/appsync/api_tags_gen_test.go b/internal/service/appsync/api_tags_gen_test.go index aa9ed5069b47..e762bcc9c5c6 100644 --- a/internal/service/appsync/api_tags_gen_test.go +++ b/internal/service/appsync/api_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccAppSyncAPI_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccAppSyncAPI_tags(t *testing.T) { func TestAccAppSyncAPI_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -262,6 +264,7 @@ func TestAccAppSyncAPI_tags_null(t *testing.T) { func TestAccAppSyncAPI_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -312,6 +315,7 @@ func TestAccAppSyncAPI_tags_EmptyMap(t *testing.T) { func TestAccAppSyncAPI_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -392,6 +396,7 @@ func TestAccAppSyncAPI_tags_AddOnUpdate(t *testing.T) { func TestAccAppSyncAPI_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -482,6 +487,7 @@ func TestAccAppSyncAPI_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccAppSyncAPI_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -621,6 +627,7 @@ func TestAccAppSyncAPI_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccAppSyncAPI_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -711,6 +718,7 @@ func TestAccAppSyncAPI_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccAppSyncAPI_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -892,6 +900,7 @@ func TestAccAppSyncAPI_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccAppSyncAPI_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1052,6 +1061,7 @@ func TestAccAppSyncAPI_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccAppSyncAPI_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1228,6 +1238,7 @@ func TestAccAppSyncAPI_tags_DefaultTags_overlapping(t *testing.T) { func TestAccAppSyncAPI_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1318,6 +1329,7 @@ func TestAccAppSyncAPI_tags_DefaultTags_updateToProviderOnly(t *testing.T) { func TestAccAppSyncAPI_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1407,6 +1419,7 @@ func TestAccAppSyncAPI_tags_DefaultTags_updateToResourceOnly(t *testing.T) { func TestAccAppSyncAPI_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1473,6 +1486,7 @@ func TestAccAppSyncAPI_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccAppSyncAPI_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1531,6 +1545,7 @@ func TestAccAppSyncAPI_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { func TestAccAppSyncAPI_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1600,6 +1615,7 @@ func TestAccAppSyncAPI_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) func TestAccAppSyncAPI_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1671,6 +1687,7 @@ func TestAccAppSyncAPI_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing func TestAccAppSyncAPI_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1726,6 +1743,7 @@ func TestAccAppSyncAPI_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccAppSyncAPI_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1823,6 +1841,7 @@ func TestAccAppSyncAPI_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccAppSyncAPI_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1910,6 +1929,7 @@ func TestAccAppSyncAPI_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccAppSyncAPI_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2072,6 +2092,7 @@ func TestAccAppSyncAPI_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccAppSyncAPI_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.Api resourceName := "aws_appsync_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) diff --git a/internal/service/appsync/graphql_api_tags_gen_test.go b/internal/service/appsync/graphql_api_tags_gen_test.go index 8c99f5b13754..af591227be30 100644 --- a/internal/service/appsync/graphql_api_tags_gen_test.go +++ b/internal/service/appsync/graphql_api_tags_gen_test.go @@ -18,6 +18,7 @@ import ( func TestAccAppSyncGraphQLAPI_tags(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -200,6 +201,7 @@ func TestAccAppSyncGraphQLAPI_tags(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_null(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -267,6 +269,7 @@ func TestAccAppSyncGraphQLAPI_tags_null(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_EmptyMap(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -330,6 +333,7 @@ func TestAccAppSyncGraphQLAPI_tags_EmptyMap(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_AddOnUpdate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -411,6 +415,7 @@ func TestAccAppSyncGraphQLAPI_tags_AddOnUpdate(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_EmptyTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -500,6 +505,7 @@ func TestAccAppSyncGraphQLAPI_tags_EmptyTag_OnCreate(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_EmptyTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -637,6 +643,7 @@ func TestAccAppSyncGraphQLAPI_tags_EmptyTag_OnUpdate_Add(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -726,6 +733,7 @@ func TestAccAppSyncGraphQLAPI_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_DefaultTags_providerOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -907,6 +915,7 @@ func TestAccAppSyncGraphQLAPI_tags_DefaultTags_providerOnly(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_DefaultTags_nonOverlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1067,6 +1076,7 @@ func TestAccAppSyncGraphQLAPI_tags_DefaultTags_nonOverlapping(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_DefaultTags_overlapping(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1243,6 +1253,7 @@ func TestAccAppSyncGraphQLAPI_tags_DefaultTags_overlapping(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_DefaultTags_updateToProviderOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1333,6 +1344,7 @@ func TestAccAppSyncGraphQLAPI_tags_DefaultTags_updateToProviderOnly(t *testing.T func TestAccAppSyncGraphQLAPI_tags_DefaultTags_updateToResourceOnly(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1422,6 +1434,7 @@ func TestAccAppSyncGraphQLAPI_tags_DefaultTags_updateToResourceOnly(t *testing.T func TestAccAppSyncGraphQLAPI_tags_DefaultTags_emptyResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1487,6 +1500,7 @@ func TestAccAppSyncGraphQLAPI_tags_DefaultTags_emptyResourceTag(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1544,6 +1558,7 @@ func TestAccAppSyncGraphQLAPI_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T func TestAccAppSyncGraphQLAPI_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1606,6 +1621,7 @@ func TestAccAppSyncGraphQLAPI_tags_DefaultTags_nullOverlappingResourceTag(t *tes func TestAccAppSyncGraphQLAPI_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1668,6 +1684,7 @@ func TestAccAppSyncGraphQLAPI_tags_DefaultTags_nullNonOverlappingResourceTag(t * func TestAccAppSyncGraphQLAPI_tags_ComputedTag_OnCreate(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1723,6 +1740,7 @@ func TestAccAppSyncGraphQLAPI_tags_ComputedTag_OnCreate(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_ComputedTag_OnUpdate_Add(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1820,6 +1838,7 @@ func TestAccAppSyncGraphQLAPI_tags_ComputedTag_OnUpdate_Add(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -1907,6 +1926,7 @@ func TestAccAppSyncGraphQLAPI_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) @@ -2069,6 +2089,7 @@ func TestAccAppSyncGraphQLAPI_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { func TestAccAppSyncGraphQLAPI_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { ctx := acctest.Context(t) + var v awstypes.GraphqlApi resourceName := "aws_appsync_graphql_api.test" rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) From c179461be177210a21dd2a2336377775604a3e51 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 8 Aug 2025 16:04:42 -0700 Subject: [PATCH 0753/1301] Allow region unit test to run without envvar --- internal/provider/framework/region_test.go | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/internal/provider/framework/region_test.go b/internal/provider/framework/region_test.go index 66d6d8d3f98f..a34a8295ffc8 100644 --- a/internal/provider/framework/region_test.go +++ b/internal/provider/framework/region_test.go @@ -5,7 +5,6 @@ package framework import ( "context" - "os" "testing" "github.com/hashicorp/terraform-plugin-framework/path" @@ -24,10 +23,7 @@ func TestResourceSetRegionInStateInterceptor_Read(t *testing.T) { const name = "example" - region := os.Getenv("AWS_DEFAULT_REGION") - if region == "" { - t.Skip("AWS_DEFAULT_REGION env var must be set for ResourceSetRegionInStateInterceptor test.") - } + region := "a_region" ctx := context.Background() client := mockClient{region: region} From 0fd5399f0d2bbff870b5f3642f44f58f180fda27 Mon Sep 17 00:00:00 2001 From: GHA Date: Fri, 8 Aug 2025 16:20:30 -0700 Subject: [PATCH 0754/1301] remove errored tests --- .../service/appsync/api_identity_gen_test.go | 89 +------------------ 1 file changed, 2 insertions(+), 87 deletions(-) diff --git a/internal/service/appsync/api_identity_gen_test.go b/internal/service/appsync/api_identity_gen_test.go index f937ce3c0093..2aab65c7d801 100644 --- a/internal/service/appsync/api_identity_gen_test.go +++ b/internal/service/appsync/api_identity_gen_test.go @@ -16,7 +16,6 @@ import ( "github.com/hashicorp/terraform-plugin-testing/tfversion" "github.com/hashicorp/terraform-provider-aws/internal/acctest" tfknownvalue "github.com/hashicorp/terraform-provider-aws/internal/acctest/knownvalue" - tfstatecheck "github.com/hashicorp/terraform-provider-aws/internal/acctest/statecheck" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -27,7 +26,7 @@ func TestAccAppSyncAPI_Identity_Basic(t *testing.T) { resourceName := "aws_appsync_api.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -111,7 +110,7 @@ func TestAccAppSyncAPI_Identity_RegionOverride(t *testing.T) { resourceName := "aws_appsync_api.test" rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resource.ParallelTest(t, resource.TestCase{ + acctest.ParallelTest(ctx, t, resource.TestCase{ TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.SkipBelow(tfversion.Version1_12_0), }, @@ -191,87 +190,3 @@ func TestAccAppSyncAPI_Identity_RegionOverride(t *testing.T) { }, }) } - -func TestAccAppSyncAPI_Identity_ExistingResource(t *testing.T) { - ctx := acctest.Context(t) - - var v awstypes.Api - resourceName := "aws_appsync_api.test" - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - - resource.ParallelTest(t, resource.TestCase{ - TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(tfversion.Version1_12_0), - }, - PreCheck: func() { acctest.PreCheck(ctx, t) }, - ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), - CheckDestroy: testAccCheckAPIDestroy(ctx), - Steps: []resource.TestStep{ - // Step 1: Create pre-Identity - { - ConfigDirectory: config.StaticDirectory("testdata/API/basic_v5.100.0/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - }, - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckAPIExists(ctx, resourceName, &v), - ), - ConfigStateChecks: []statecheck.StateCheck{ - tfstatecheck.ExpectNoIdentity(resourceName), - }, - }, - - // Step 2: v6.0 Identity set on refresh - { - ConfigDirectory: config.StaticDirectory("testdata/API/basic_v6.0.0/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - }, - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckAPIExists(ctx, resourceName, &v), - ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - PostApplyPostRefresh: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - }, - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ - names.AttrAccountID: tfknownvalue.AccountID(), - names.AttrRegion: knownvalue.StringExact(acctest.Region()), - names.AttrID: knownvalue.NotNull(), - }), - statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), - }, - }, - - // Step 3: Current version - { - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - ConfigDirectory: config.StaticDirectory("testdata/API/basic/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - }, - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - PostApplyPostRefresh: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - }, - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ - names.AttrAccountID: tfknownvalue.AccountID(), - names.AttrRegion: knownvalue.StringExact(acctest.Region()), - names.AttrID: knownvalue.NotNull(), - }), - statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), - }, - }, - }, - }) -} From 1a887b4959d3f1911facbfbd92ffecdfaf33aeed Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 8 Aug 2025 17:06:58 -0700 Subject: [PATCH 0755/1301] Uses `response.Diagnostics` to store response diagnostics --- .../framework/identity_interceptor.go | 67 ++--- .../framework/identity_interceptor_test.go | 16 +- internal/provider/framework/intercept.go | 247 ++++++------------ internal/provider/framework/intercept_test.go | 45 ++-- internal/provider/framework/region.go | 171 +++++------- internal/provider/framework/region_test.go | 7 +- .../provider/framework/tags_interceptor.go | 128 ++++----- internal/provider/framework/wrap.go | 26 +- 8 files changed, 280 insertions(+), 427 deletions(-) diff --git a/internal/provider/framework/identity_interceptor.go b/internal/provider/framework/identity_interceptor.go index d55944b8e725..2048d3630360 100644 --- a/internal/provider/framework/identity_interceptor.go +++ b/internal/provider/framework/identity_interceptor.go @@ -7,7 +7,6 @@ import ( "context" "github.com/hashicorp/terraform-plugin-framework/attr" - "github.com/hashicorp/terraform-plugin-framework/diag" "github.com/hashicorp/terraform-plugin-framework/path" "github.com/hashicorp/terraform-plugin-framework/resource" inttypes "github.com/hashicorp/terraform-provider-aws/internal/types" @@ -20,8 +19,7 @@ type identityInterceptor struct { attributes []inttypes.IdentityAttribute } -func (r identityInterceptor) create(ctx context.Context, opts interceptorOptions[resource.CreateRequest, resource.CreateResponse]) diag.Diagnostics { - var diags diag.Diagnostics +func (r identityInterceptor) create(ctx context.Context, opts interceptorOptions[resource.CreateRequest, resource.CreateResponse]) { awsClient := opts.c switch response, when := opts.response, opts.when; when { @@ -34,37 +32,34 @@ func (r identityInterceptor) create(ctx context.Context, opts interceptorOptions for _, att := range r.attributes { switch att.Name() { case names.AttrAccountID: - diags.Append(identity.SetAttribute(ctx, path.Root(att.Name()), awsClient.AccountID(ctx))...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(identity.SetAttribute(ctx, path.Root(att.Name()), awsClient.AccountID(ctx))...) + if opts.response.Diagnostics.HasError() { + return } case names.AttrRegion: - diags.Append(identity.SetAttribute(ctx, path.Root(att.Name()), awsClient.Region(ctx))...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(identity.SetAttribute(ctx, path.Root(att.Name()), awsClient.Region(ctx))...) + if opts.response.Diagnostics.HasError() { + return } default: var attrVal attr.Value - diags.Append(response.State.GetAttribute(ctx, path.Root(att.ResourceAttributeName()), &attrVal)...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(response.State.GetAttribute(ctx, path.Root(att.ResourceAttributeName()), &attrVal)...) + if opts.response.Diagnostics.HasError() { + return } - diags.Append(identity.SetAttribute(ctx, path.Root(att.Name()), attrVal)...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(identity.SetAttribute(ctx, path.Root(att.Name()), attrVal)...) + if opts.response.Diagnostics.HasError() { + return } } } } - - return diags } -func (r identityInterceptor) read(ctx context.Context, opts interceptorOptions[resource.ReadRequest, resource.ReadResponse]) diag.Diagnostics { - var diags diag.Diagnostics +func (r identityInterceptor) read(ctx context.Context, opts interceptorOptions[resource.ReadRequest, resource.ReadResponse]) { awsClient := opts.c switch response, when := opts.response, opts.when; when { @@ -80,43 +75,37 @@ func (r identityInterceptor) read(ctx context.Context, opts interceptorOptions[r for _, att := range r.attributes { switch att.Name() { case names.AttrAccountID: - diags.Append(identity.SetAttribute(ctx, path.Root(att.Name()), awsClient.AccountID(ctx))...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(identity.SetAttribute(ctx, path.Root(att.Name()), awsClient.AccountID(ctx))...) + if opts.response.Diagnostics.HasError() { + return } case names.AttrRegion: - diags.Append(identity.SetAttribute(ctx, path.Root(att.Name()), awsClient.Region(ctx))...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(identity.SetAttribute(ctx, path.Root(att.Name()), awsClient.Region(ctx))...) + if opts.response.Diagnostics.HasError() { + return } default: var attrVal attr.Value - diags.Append(response.State.GetAttribute(ctx, path.Root(att.ResourceAttributeName()), &attrVal)...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(response.State.GetAttribute(ctx, path.Root(att.ResourceAttributeName()), &attrVal)...) + if opts.response.Diagnostics.HasError() { + return } - diags.Append(identity.SetAttribute(ctx, path.Root(att.Name()), attrVal)...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(identity.SetAttribute(ctx, path.Root(att.Name()), attrVal)...) + if opts.response.Diagnostics.HasError() { + return } } } } - - return diags } -func (r identityInterceptor) update(ctx context.Context, opts interceptorOptions[resource.UpdateRequest, resource.UpdateResponse]) diag.Diagnostics { - var diags diag.Diagnostics - return diags +func (r identityInterceptor) update(ctx context.Context, opts interceptorOptions[resource.UpdateRequest, resource.UpdateResponse]) { } -func (r identityInterceptor) delete(ctx context.Context, opts interceptorOptions[resource.DeleteRequest, resource.DeleteResponse]) diag.Diagnostics { - var diags diag.Diagnostics - return diags +func (r identityInterceptor) delete(ctx context.Context, opts interceptorOptions[resource.DeleteRequest, resource.DeleteResponse]) { } func newIdentityInterceptor(attributes []inttypes.IdentityAttribute) identityInterceptor { diff --git a/internal/provider/framework/identity_interceptor_test.go b/internal/provider/framework/identity_interceptor_test.go index da6eab77ace4..bd53b564d578 100644 --- a/internal/provider/framework/identity_interceptor_test.go +++ b/internal/provider/framework/identity_interceptor_test.go @@ -133,11 +133,11 @@ func create(ctx context.Context, interceptor identityInterceptor, resourceSchema when: After, } - diags := interceptor.create(ctx, opts) - if diags.HasError() { - return nil, diags + interceptor.create(ctx, opts) + if response.Diagnostics.HasError() { + return nil, response.Diagnostics } - return response.Identity, diags + return response.Identity, response.Diagnostics } func read(ctx context.Context, interceptor identityInterceptor, resourceSchema schema.Schema, stateAttrs map[string]string, identity *tfsdk.ResourceIdentity, client awsClient) (*tfsdk.ResourceIdentity, diag.Diagnostics) { @@ -156,11 +156,11 @@ func read(ctx context.Context, interceptor identityInterceptor, resourceSchema s when: After, } - diags := interceptor.read(ctx, opts) - if diags.HasError() { - return nil, diags + interceptor.read(ctx, opts) + if response.Diagnostics.HasError() { + return nil, response.Diagnostics } - return response.Identity, diags + return response.Identity, response.Diagnostics } func getIdentityAttributeValue(ctx context.Context, t *testing.T, identity *tfsdk.ResourceIdentity, path path.Path) string { diff --git a/internal/provider/framework/intercept.go b/internal/provider/framework/intercept.go index b1d20576bb52..fb5bef0b539e 100644 --- a/internal/provider/framework/intercept.go +++ b/internal/provider/framework/intercept.go @@ -5,7 +5,6 @@ package framework import ( "context" - "fmt" "slices" "github.com/aws/aws-sdk-go-v2/aws" @@ -36,7 +35,7 @@ type interceptorOptions[Request, Response any] struct { when when } -type interceptorFunc[Request, Response any] func(context.Context, interceptorOptions[Request, Response]) diag.Diagnostics +type interceptorFunc[Request, Response any] func(context.Context, interceptorOptions[Request, Response]) type interceptorInvocations []any @@ -46,7 +45,7 @@ type interceptorInvocations []any // In other cases all interceptors in the chain are run. type dataSourceCRUDInterceptor interface { // read is invoked for a Read call. - read(context.Context, interceptorOptions[datasource.ReadRequest, datasource.ReadResponse]) diag.Diagnostics + read(context.Context, interceptorOptions[datasource.ReadRequest, datasource.ReadResponse]) } // dataSourceRead returns a slice of interceptors that run on data source Read. @@ -61,7 +60,7 @@ func (s interceptorInvocations) dataSourceRead() []interceptorFunc[datasource.Re type dataSourceSchemaInterceptor interface { // schema is invoked for a Schema call. - schema(context.Context, interceptorOptions[datasource.SchemaRequest, datasource.SchemaResponse]) diag.Diagnostics + schema(context.Context, interceptorOptions[datasource.SchemaRequest, datasource.SchemaResponse]) } // dataSourceSchema returns a slice of interceptors that run on data source Schema. @@ -76,11 +75,11 @@ func (s interceptorInvocations) dataSourceSchema() []interceptorFunc[datasource. type ephemeralResourceORCInterceptor interface { // open is invoked for an Open call. - open(context.Context, interceptorOptions[ephemeral.OpenRequest, ephemeral.OpenResponse]) diag.Diagnostics + open(context.Context, interceptorOptions[ephemeral.OpenRequest, ephemeral.OpenResponse]) // renew is invoked for a Renew call. - renew(context.Context, interceptorOptions[ephemeral.RenewRequest, ephemeral.RenewResponse]) diag.Diagnostics + renew(context.Context, interceptorOptions[ephemeral.RenewRequest, ephemeral.RenewResponse]) // close is invoked for a Close call. - close(context.Context, interceptorOptions[ephemeral.CloseRequest, ephemeral.CloseResponse]) diag.Diagnostics + close(context.Context, interceptorOptions[ephemeral.CloseRequest, ephemeral.CloseResponse]) } // ephemeralResourceOpen returns a slice of interceptors that run on ephemeral resource Open. @@ -117,27 +116,18 @@ func (s interceptorInvocations) ephemeralResourceClose() []interceptorFunc[ephem // It can be embedded into a struct to provide default behavior for the open, renew, and close methods. type ephemeralResourceNoOpORCInterceptor struct{} -func (r ephemeralResourceNoOpORCInterceptor) open(ctx context.Context, opts interceptorOptions[ephemeral.OpenRequest, ephemeral.OpenResponse]) diag.Diagnostics { - var diags diag.Diagnostics - - return diags +func (r ephemeralResourceNoOpORCInterceptor) open(ctx context.Context, opts interceptorOptions[ephemeral.OpenRequest, ephemeral.OpenResponse]) { } -func (r ephemeralResourceNoOpORCInterceptor) renew(ctx context.Context, opts interceptorOptions[ephemeral.RenewRequest, ephemeral.RenewResponse]) diag.Diagnostics { - var diags diag.Diagnostics - - return diags +func (r ephemeralResourceNoOpORCInterceptor) renew(ctx context.Context, opts interceptorOptions[ephemeral.RenewRequest, ephemeral.RenewResponse]) { } -func (r ephemeralResourceNoOpORCInterceptor) close(ctx context.Context, opts interceptorOptions[ephemeral.CloseRequest, ephemeral.CloseResponse]) diag.Diagnostics { - var diags diag.Diagnostics - - return diags +func (r ephemeralResourceNoOpORCInterceptor) close(ctx context.Context, opts interceptorOptions[ephemeral.CloseRequest, ephemeral.CloseResponse]) { } type ephemeralResourceSchemaInterceptor interface { // schema is invoked for a Schema call. - schema(context.Context, interceptorOptions[ephemeral.SchemaRequest, ephemeral.SchemaResponse]) diag.Diagnostics + schema(context.Context, interceptorOptions[ephemeral.SchemaRequest, ephemeral.SchemaResponse]) } // ephemeralResourceSchema returns a slice of interceptors that run on ephemeral resource Schema. @@ -156,13 +146,13 @@ func (s interceptorInvocations) ephemeralResourceSchema() []interceptorFunc[ephe // In other cases all interceptors in the chain are run. type resourceCRUDInterceptor interface { // create is invoked for a Create call. - create(context.Context, interceptorOptions[resource.CreateRequest, resource.CreateResponse]) diag.Diagnostics + create(context.Context, interceptorOptions[resource.CreateRequest, resource.CreateResponse]) // read is invoked for a Read call. - read(context.Context, interceptorOptions[resource.ReadRequest, resource.ReadResponse]) diag.Diagnostics + read(context.Context, interceptorOptions[resource.ReadRequest, resource.ReadResponse]) // update is invoked for an Update call. - update(context.Context, interceptorOptions[resource.UpdateRequest, resource.UpdateResponse]) diag.Diagnostics + update(context.Context, interceptorOptions[resource.UpdateRequest, resource.UpdateResponse]) // delete is invoked for a Delete call. - delete(context.Context, interceptorOptions[resource.DeleteRequest, resource.DeleteResponse]) diag.Diagnostics + delete(context.Context, interceptorOptions[resource.DeleteRequest, resource.DeleteResponse]) } // resourceCreate returns a slice of interceptors that run on resource Create. @@ -209,33 +199,21 @@ func (s interceptorInvocations) resourceDelete() []interceptorFunc[resource.Dele // It can be embedded into a struct to provide default behavior for the create, read, update, and delete methods. type resourceNoOpCRUDInterceptor struct{} -func (r resourceNoOpCRUDInterceptor) create(ctx context.Context, opts interceptorOptions[resource.CreateRequest, resource.CreateResponse]) diag.Diagnostics { - var diags diag.Diagnostics - - return diags +func (r resourceNoOpCRUDInterceptor) create(ctx context.Context, opts interceptorOptions[resource.CreateRequest, resource.CreateResponse]) { } -func (r resourceNoOpCRUDInterceptor) read(ctx context.Context, opts interceptorOptions[resource.ReadRequest, resource.ReadResponse]) diag.Diagnostics { - var diags diag.Diagnostics - - return diags +func (r resourceNoOpCRUDInterceptor) read(ctx context.Context, opts interceptorOptions[resource.ReadRequest, resource.ReadResponse]) { } -func (r resourceNoOpCRUDInterceptor) update(ctx context.Context, opts interceptorOptions[resource.UpdateRequest, resource.UpdateResponse]) diag.Diagnostics { - var diags diag.Diagnostics - - return diags +func (r resourceNoOpCRUDInterceptor) update(ctx context.Context, opts interceptorOptions[resource.UpdateRequest, resource.UpdateResponse]) { } -func (r resourceNoOpCRUDInterceptor) delete(ctx context.Context, opts interceptorOptions[resource.DeleteRequest, resource.DeleteResponse]) diag.Diagnostics { - var diags diag.Diagnostics - - return diags +func (r resourceNoOpCRUDInterceptor) delete(ctx context.Context, opts interceptorOptions[resource.DeleteRequest, resource.DeleteResponse]) { } type resourceSchemaInterceptor interface { // schema is invoked for a Schema call. - schema(context.Context, interceptorOptions[resource.SchemaRequest, resource.SchemaResponse]) diag.Diagnostics + schema(context.Context, interceptorOptions[resource.SchemaRequest, resource.SchemaResponse]) } // resourceSchema returns a slice of interceptors that run on resource Schema. @@ -250,7 +228,7 @@ func (s interceptorInvocations) resourceSchema() []interceptorFunc[resource.Sche type resourceModifyPlanInterceptor interface { // modifyPlan is invoked for a ModifyPlan call. - modifyPlan(context.Context, interceptorOptions[resource.ModifyPlanRequest, resource.ModifyPlanResponse]) diag.Diagnostics + modifyPlan(context.Context, interceptorOptions[resource.ModifyPlanRequest, resource.ModifyPlanResponse]) } // resourceModifyPlan returns a slice of interceptors that run on resource ModifyPlan. @@ -265,7 +243,7 @@ func (s interceptorInvocations) resourceModifyPlan() []interceptorFunc[resource. type resourceImportStateInterceptor interface { // importState is invoked for an ImportState call. - importState(context.Context, interceptorOptions[resource.ImportStateRequest, resource.ImportStateResponse]) diag.Diagnostics + importState(context.Context, interceptorOptions[resource.ImportStateRequest, resource.ImportStateResponse]) } // resourceSchema returns a slice of interceptors that run on resource Schema. @@ -329,116 +307,8 @@ type interceptedResponse interface { type innerFunc[Request, Response any] func(ctx context.Context, request *Request, response *Response) diag.Diagnostics // interceptedHandler returns a handler that runs any interceptors. -func interceptedHandler[Request interceptedRequest, Response interceptedResponse](interceptors []interceptorFunc[Request, Response], f innerFunc[Request, Response], c awsClient) func(context.Context, *Request, *Response) diag.Diagnostics { - return func(ctx context.Context, request *Request, response *Response) (diags diag.Diagnostics) { - // We need to stash the diagnostics from the Response to preserve any existing diagnostics because - // the `inner` function will actually returns its diagnostics in the Response, but we are collecting them here as well. - var stashDiags diag.Diagnostics - switch v := any(response).(type) { - case *datasource.SchemaResponse: - stashDiags = v.Diagnostics - v.Diagnostics = diag.Diagnostics{} - defer func() { - v.Diagnostics = stashDiags - }() - - case *datasource.ReadResponse: - stashDiags = v.Diagnostics - v.Diagnostics = diag.Diagnostics{} - defer func() { - v.Diagnostics = stashDiags - }() - - case *ephemeral.SchemaResponse: - stashDiags = v.Diagnostics - v.Diagnostics = diag.Diagnostics{} - defer func() { - v.Diagnostics = stashDiags - }() - - case *ephemeral.OpenResponse: - stashDiags = v.Diagnostics - v.Diagnostics = diag.Diagnostics{} - defer func() { - v.Diagnostics = stashDiags - }() - - case *ephemeral.RenewResponse: - stashDiags = v.Diagnostics - v.Diagnostics = diag.Diagnostics{} - defer func() { - v.Diagnostics = stashDiags - }() - - case *ephemeral.CloseResponse: - stashDiags = v.Diagnostics - v.Diagnostics = diag.Diagnostics{} - defer func() { - v.Diagnostics = stashDiags - }() - - case *resource.SchemaResponse: - stashDiags = v.Diagnostics - v.Diagnostics = diag.Diagnostics{} - defer func() { - v.Diagnostics = stashDiags - }() - - case *resource.CreateResponse: - stashDiags = v.Diagnostics - v.Diagnostics = diag.Diagnostics{} - defer func() { - v.Diagnostics = stashDiags - }() - - case *resource.ReadResponse: - stashDiags = v.Diagnostics - v.Diagnostics = diag.Diagnostics{} - defer func() { - v.Diagnostics = stashDiags - }() - - case *resource.UpdateResponse: - stashDiags = v.Diagnostics - v.Diagnostics = diag.Diagnostics{} - defer func() { - v.Diagnostics = stashDiags - }() - - case *resource.DeleteResponse: - stashDiags = v.Diagnostics - v.Diagnostics = diag.Diagnostics{} - defer func() { - v.Diagnostics = stashDiags - }() - - case *resource.ModifyPlanResponse: - stashDiags = v.Diagnostics - v.Diagnostics = diag.Diagnostics{} - defer func() { - v.Diagnostics = stashDiags - }() - - case *resource.ImportStateResponse: - stashDiags = v.Diagnostics - v.Diagnostics = diag.Diagnostics{} - defer func() { - v.Diagnostics = stashDiags - }() - - default: - // Catches when Response type is added to `interceptedResponse` but not handled here. - diags.Append( - diag.NewErrorDiagnostic( - "Unexpected Response Type", - "This is always an error in the provider. "+ - "Please report the following to the provider developer:\n\n"+ - fmt.Sprintf("Response type %T is not supported when stashing diags in \"interceptedHandler\".", v), - ), - ) - return diags - } - +func interceptedHandler[Request interceptedRequest, Response interceptedResponse](interceptors []interceptorFunc[Request, Response], f innerFunc[Request, Response], hasError hasErrorFn[Response], c awsClient) func(context.Context, *Request, *Response) { + return func(ctx context.Context, request *Request, response *Response) { // Before interceptors are run first to last. when := Before for v := range slices.Values(interceptors) { @@ -448,19 +318,18 @@ func interceptedHandler[Request interceptedRequest, Response interceptedResponse response: response, when: when, } - diags.Append(v(ctx, opts)...) + v(ctx, opts) // Short circuit if any Before interceptor errors. - if diags.HasError() { - return diags + if hasError(response) { + return } } - d := f(ctx, request, response) - diags.Append(d...) + f(ctx, request, response) // All other interceptors are run last to first. - if d.HasError() { + if hasError(response) { when = OnError } else { when = After @@ -472,7 +341,7 @@ func interceptedHandler[Request interceptedRequest, Response interceptedResponse response: response, when: when, } - diags.Append(v(ctx, opts)...) + v(ctx, opts) } when = Finally @@ -483,9 +352,61 @@ func interceptedHandler[Request interceptedRequest, Response interceptedResponse response: response, when: when, } - diags.Append(v(ctx, opts)...) + v(ctx, opts) } - - return diags } } + +type hasErrorFn[Response interceptedResponse] func(response *Response) bool + +func dataSourceSchemaHasError(response *datasource.SchemaResponse) bool { + return response.Diagnostics.HasError() +} + +func dataSourceReadHasError(response *datasource.ReadResponse) bool { + return response.Diagnostics.HasError() +} + +func ephemeralSchemaHasError(response *ephemeral.SchemaResponse) bool { + return response.Diagnostics.HasError() +} + +func ephemeralOpenHasError(response *ephemeral.OpenResponse) bool { + return response.Diagnostics.HasError() +} + +func ephemeralRenewHasError(response *ephemeral.RenewResponse) bool { + return response.Diagnostics.HasError() +} + +func ephemeralCloseHasError(response *ephemeral.CloseResponse) bool { + return response.Diagnostics.HasError() +} + +func resourceSchemaHasError(response *resource.SchemaResponse) bool { + return response.Diagnostics.HasError() +} + +func resourceCreateHasError(response *resource.CreateResponse) bool { + return response.Diagnostics.HasError() +} + +func resourceReadHasError(response *resource.ReadResponse) bool { + return response.Diagnostics.HasError() +} + +func resourceUpdateHasError(response *resource.UpdateResponse) bool { + return response.Diagnostics.HasError() +} + +func resourceDeleteHasError(response *resource.DeleteResponse) bool { + return response.Diagnostics.HasError() +} + +func resourceModifyPlanHasError(response *resource.ModifyPlanResponse) bool { + return response.Diagnostics.HasError() +} + +func resourceImportStateHasError(response *resource.ImportStateResponse) bool { + return response.Diagnostics.HasError() +} diff --git a/internal/provider/framework/intercept_test.go b/internal/provider/framework/intercept_test.go index d90f63a3d9fd..419a7565089c 100644 --- a/internal/provider/framework/intercept_test.go +++ b/internal/provider/framework/intercept_test.go @@ -38,7 +38,7 @@ func TestInterceptedHandler_Diags_FirstHasBeforeError(t *testing.T) { } var f mockInnerFunc - handler := interceptedHandler(interceptors, f.Call, client) + handler := interceptedHandler(interceptors, f.Call, resourceSchemaHasError, client) ctx := t.Context() var request resource.SchemaRequest @@ -48,7 +48,7 @@ func TestInterceptedHandler_Diags_FirstHasBeforeError(t *testing.T) { }, } - response.Diagnostics.Append(handler(ctx, &request, &response)...) + handler(ctx, &request, &response) if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { t.Errorf("unexpected diagnostics difference: %s", diff) @@ -90,7 +90,7 @@ func TestInterceptedHandler_Diags_SecondHasBeforeError(t *testing.T) { } var f mockInnerFunc - handler := interceptedHandler(interceptors, f.Call, client) + handler := interceptedHandler(interceptors, f.Call, resourceSchemaHasError, client) ctx := t.Context() var request resource.SchemaRequest @@ -100,7 +100,7 @@ func TestInterceptedHandler_Diags_SecondHasBeforeError(t *testing.T) { }, } - response.Diagnostics.Append(handler(ctx, &request, &response)...) + handler(ctx, &request, &response) if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { t.Errorf("unexpected diagnostics difference: %s", diff) @@ -142,7 +142,7 @@ func TestInterceptedHandler_Diags_FirstHasBeforeWarning(t *testing.T) { } var f mockInnerFunc - handler := interceptedHandler(interceptors, f.Call, client) + handler := interceptedHandler(interceptors, f.Call, resourceSchemaHasError, client) ctx := t.Context() var request resource.SchemaRequest @@ -152,7 +152,7 @@ func TestInterceptedHandler_Diags_FirstHasBeforeWarning(t *testing.T) { }, } - response.Diagnostics.Append(handler(ctx, &request, &response)...) + handler(ctx, &request, &response) if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { t.Errorf("unexpected diagnostics difference: %s", diff) @@ -194,7 +194,7 @@ func TestInterceptedHandler_Diags_SecondHasBeforeWarning(t *testing.T) { } var f mockInnerFunc - handler := interceptedHandler(interceptors, f.Call, client) + handler := interceptedHandler(interceptors, f.Call, resourceSchemaHasError, client) ctx := t.Context() var request resource.SchemaRequest @@ -204,7 +204,7 @@ func TestInterceptedHandler_Diags_SecondHasBeforeWarning(t *testing.T) { }, } - response.Diagnostics.Append(handler(ctx, &request, &response)...) + handler(ctx, &request, &response) if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { t.Errorf("unexpected diagnostics difference: %s", diff) @@ -251,7 +251,7 @@ func TestInterceptedHandler_Diags_FirstHasBeforeWarning_SecondHasBeforeError(t * } var f mockInnerFunc - handler := interceptedHandler(interceptors, f.Call, client) + handler := interceptedHandler(interceptors, f.Call, resourceSchemaHasError, client) ctx := t.Context() var request resource.SchemaRequest @@ -261,7 +261,7 @@ func TestInterceptedHandler_Diags_FirstHasBeforeWarning_SecondHasBeforeError(t * }, } - response.Diagnostics.Append(handler(ctx, &request, &response)...) + handler(ctx, &request, &response) if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { t.Errorf("unexpected diagnostics difference: %s", diff) @@ -302,7 +302,7 @@ func TestInterceptedHandler_Diags_InnerHasError(t *testing.T) { f.diags = diag.Diagnostics{ diag.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), } - handler := interceptedHandler(interceptors, f.Call, client) + handler := interceptedHandler(interceptors, f.Call, resourceSchemaHasError, client) ctx := t.Context() var request resource.SchemaRequest @@ -312,7 +312,7 @@ func TestInterceptedHandler_Diags_InnerHasError(t *testing.T) { }, } - response.Diagnostics.Append(handler(ctx, &request, &response)...) + handler(ctx, &request, &response) if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { t.Errorf("unexpected diagnostics difference: %s", diff) @@ -353,7 +353,7 @@ func TestInterceptedHandler_Diags_InnerHasWarning(t *testing.T) { f.diags = diag.Diagnostics{ diag.NewWarningDiagnostic("Inner function warning", "A warning occurred in the inner function"), } - handler := interceptedHandler(interceptors, f.Call, client) + handler := interceptedHandler(interceptors, f.Call, resourceSchemaHasError, client) ctx := t.Context() var request resource.SchemaRequest @@ -363,7 +363,7 @@ func TestInterceptedHandler_Diags_InnerHasWarning(t *testing.T) { }, } - response.Diagnostics.Append(handler(ctx, &request, &response)...) + handler(ctx, &request, &response) if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { t.Errorf("unexpected diagnostics difference: %s", diff) @@ -410,7 +410,7 @@ func TestInterceptedHandler_Diags_InnerHasError_FirstHasBeforeWarning(t *testing f.diags = diag.Diagnostics{ diag.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), } - handler := interceptedHandler(interceptors, f.Call, client) + handler := interceptedHandler(interceptors, f.Call, resourceSchemaHasError, client) ctx := t.Context() var request resource.SchemaRequest @@ -420,7 +420,7 @@ func TestInterceptedHandler_Diags_InnerHasError_FirstHasBeforeWarning(t *testing }, } - response.Diagnostics.Append(handler(ctx, &request, &response)...) + handler(ctx, &request, &response) if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { t.Errorf("unexpected diagnostics difference: %s", diff) @@ -487,7 +487,7 @@ func TestInterceptedHandler_Diags_AllHaveWarnings(t *testing.T) { f.diags = diag.Diagnostics{ diag.NewWarningDiagnostic("Inner function warning", "A warning occurred in the inner function"), } - handler := interceptedHandler(interceptors, f.Call, client) + handler := interceptedHandler(interceptors, f.Call, resourceSchemaHasError, client) ctx := t.Context() var request resource.SchemaRequest @@ -497,7 +497,7 @@ func TestInterceptedHandler_Diags_AllHaveWarnings(t *testing.T) { }, } - response.Diagnostics.Append(handler(ctx, &request, &response)...) + handler(ctx, &request, &response) if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { t.Errorf("unexpected diagnostics difference: %s", diff) @@ -564,7 +564,7 @@ func TestInterceptedHandler_Diags_InnerHasError_HandlersHaveWarnings(t *testing. f.diags = diag.Diagnostics{ diag.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), } - handler := interceptedHandler(interceptors, f.Call, client) + handler := interceptedHandler(interceptors, f.Call, resourceSchemaHasError, client) ctx := t.Context() var request resource.SchemaRequest @@ -574,7 +574,7 @@ func TestInterceptedHandler_Diags_InnerHasError_HandlersHaveWarnings(t *testing. }, } - response.Diagnostics.Append(handler(ctx, &request, &response)...) + handler(ctx, &request, &response) if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { t.Errorf("unexpected diagnostics difference: %s", diff) @@ -602,9 +602,10 @@ func newMockInterceptor(diags map[when]diag.Diagnostics) *mockInterceptor { } } -func (m *mockInterceptor) Intercept(ctx context.Context, opts interceptorOptions[resource.SchemaRequest, resource.SchemaResponse]) diag.Diagnostics { +func (m *mockInterceptor) Intercept(ctx context.Context, opts interceptorOptions[resource.SchemaRequest, resource.SchemaResponse]) { m.called = append(m.called, opts.when) - return m.diags[opts.when] + // return m.diags[opts.when] + opts.response.Diagnostics.Append(m.diags[opts.when]...) } type mockInnerFunc struct { diff --git a/internal/provider/framework/region.go b/internal/provider/framework/region.go index 3bbee23cb5ea..9b132ad9a73e 100644 --- a/internal/provider/framework/region.go +++ b/internal/provider/framework/region.go @@ -31,9 +31,7 @@ func validateInContextRegionInPartition(ctx context.Context, c awsClient) diag.D type dataSourceInjectRegionAttributeInterceptor struct{} -func (r dataSourceInjectRegionAttributeInterceptor) schema(ctx context.Context, opts interceptorOptions[datasource.SchemaRequest, datasource.SchemaResponse]) diag.Diagnostics { - var diags diag.Diagnostics - +func (r dataSourceInjectRegionAttributeInterceptor) schema(ctx context.Context, opts interceptorOptions[datasource.SchemaRequest, datasource.SchemaResponse]) { switch response, when := opts.response, opts.when; when { case After: if _, ok := response.Schema.Attributes[names.AttrRegion]; !ok { @@ -45,8 +43,6 @@ func (r dataSourceInjectRegionAttributeInterceptor) schema(ctx context.Context, } } } - - return diags } // dataSourceInjectRegionAttribute injects a top-level "region" attribute into a data source's schema. @@ -56,20 +52,17 @@ func dataSourceInjectRegionAttribute() dataSourceSchemaInterceptor { type dataSourceValidateRegionInterceptor struct{} -func (r dataSourceValidateRegionInterceptor) read(ctx context.Context, opts interceptorOptions[datasource.ReadRequest, datasource.ReadResponse]) diag.Diagnostics { +func (r dataSourceValidateRegionInterceptor) read(ctx context.Context, opts interceptorOptions[datasource.ReadRequest, datasource.ReadResponse]) { c := opts.c - var diags diag.Diagnostics switch when := opts.when; when { case Before: // As data sources have no ModifyPlan functionality we validate the per-resource Region override value before R. - diags.Append(validateInContextRegionInPartition(ctx, c)...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(validateInContextRegionInPartition(ctx, c)...) + if opts.response.Diagnostics.HasError() { + return } } - - return diags } // dataSourceValidateRegion validates that the value of the top-level `region` attribute is in the configured AWS partition. @@ -79,28 +72,25 @@ func dataSourceValidateRegion() dataSourceCRUDInterceptor { type dataSourceSetRegionInStateInterceptor struct{} -func (r dataSourceSetRegionInStateInterceptor) read(ctx context.Context, opts interceptorOptions[datasource.ReadRequest, datasource.ReadResponse]) diag.Diagnostics { +func (r dataSourceSetRegionInStateInterceptor) read(ctx context.Context, opts interceptorOptions[datasource.ReadRequest, datasource.ReadResponse]) { c := opts.c - var diags diag.Diagnostics switch response, when := opts.response, opts.when; when { case After: // Set region in state after R, but only if the data source didn't explicitly set it (e.g. aws_region). var target types.String - diags.Append(response.State.GetAttribute(ctx, path.Root(names.AttrRegion), &target)...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(response.State.GetAttribute(ctx, path.Root(names.AttrRegion), &target)...) + if opts.response.Diagnostics.HasError() { + return } if target.IsNull() { - diags.Append(response.State.SetAttribute(ctx, path.Root(names.AttrRegion), c.Region(ctx))...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root(names.AttrRegion), c.Region(ctx))...) + if opts.response.Diagnostics.HasError() { + return } } } - - return diags } // dataSourceSetRegionInState set the value of the top-level `region` attribute in state after Read. @@ -110,9 +100,7 @@ func dataSourceSetRegionInState() dataSourceCRUDInterceptor { type ephemeralResourceInjectRegionAttributeInterceptor struct{} -func (r ephemeralResourceInjectRegionAttributeInterceptor) schema(ctx context.Context, opts interceptorOptions[ephemeral.SchemaRequest, ephemeral.SchemaResponse]) diag.Diagnostics { - var diags diag.Diagnostics - +func (r ephemeralResourceInjectRegionAttributeInterceptor) schema(ctx context.Context, opts interceptorOptions[ephemeral.SchemaRequest, ephemeral.SchemaResponse]) { switch response, when := opts.response, opts.when; when { case After: if _, ok := response.Schema.Attributes[names.AttrRegion]; !ok { @@ -124,8 +112,6 @@ func (r ephemeralResourceInjectRegionAttributeInterceptor) schema(ctx context.Co } } } - - return diags } // ephemeralResourceInjectRegionAttribute injects a top-level "region" attribute into an ephemeral resource's schema. @@ -137,20 +123,17 @@ type ephemeralResourceSetRegionInStateInterceptor struct { ephemeralResourceNoOpORCInterceptor } -func (r ephemeralResourceSetRegionInStateInterceptor) open(ctx context.Context, opts interceptorOptions[ephemeral.OpenRequest, ephemeral.OpenResponse]) diag.Diagnostics { +func (r ephemeralResourceSetRegionInStateInterceptor) open(ctx context.Context, opts interceptorOptions[ephemeral.OpenRequest, ephemeral.OpenResponse]) { c := opts.c - var diags diag.Diagnostics switch response, when := opts.response, opts.when; when { case After: // Set region in state after R. - diags.Append(response.Result.SetAttribute(ctx, path.Root(names.AttrRegion), c.Region(ctx))...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(response.Result.SetAttribute(ctx, path.Root(names.AttrRegion), c.Region(ctx))...) + if opts.response.Diagnostics.HasError() { + return } } - - return diags } // ephemeralResourceSetRegionInResult set the value of the top-level `region` attribute in the result after Open. @@ -162,20 +145,17 @@ type ephemeralResourceValidateRegionInterceptor struct { ephemeralResourceNoOpORCInterceptor } -func (r ephemeralResourceValidateRegionInterceptor) open(ctx context.Context, opts interceptorOptions[ephemeral.OpenRequest, ephemeral.OpenResponse]) diag.Diagnostics { +func (r ephemeralResourceValidateRegionInterceptor) open(ctx context.Context, opts interceptorOptions[ephemeral.OpenRequest, ephemeral.OpenResponse]) { c := opts.c - var diags diag.Diagnostics switch when := opts.when; when { case Before: // As ephemeral resources have no ModifyPlan functionality we validate the per-resource Region override value here. - diags.Append(validateInContextRegionInPartition(ctx, c)...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(validateInContextRegionInPartition(ctx, c)...) + if opts.response.Diagnostics.HasError() { + return } } - - return diags } // ephemeralResourceValidateRegion validates that the value of the top-level `region` attribute is in the configured AWS partition. @@ -185,9 +165,7 @@ func ephemeralResourceValidateRegion() ephemeralResourceORCInterceptor { type resourceInjectRegionAttributeInterceptor struct{} -func (r resourceInjectRegionAttributeInterceptor) schema(ctx context.Context, opts interceptorOptions[resource.SchemaRequest, resource.SchemaResponse]) diag.Diagnostics { - var diags diag.Diagnostics - +func (r resourceInjectRegionAttributeInterceptor) schema(ctx context.Context, opts interceptorOptions[resource.SchemaRequest, resource.SchemaResponse]) { switch response, when := opts.response, opts.when; when { case After: if _, ok := response.Schema.Attributes[names.AttrRegion]; !ok { @@ -195,8 +173,6 @@ func (r resourceInjectRegionAttributeInterceptor) schema(ctx context.Context, op response.Schema.Attributes[names.AttrRegion] = resourceattribute.Region() } } - - return diags } // resourceInjectRegionAttribute injects a top-level "region" attribute into a resource's schema. @@ -206,19 +182,16 @@ func resourceInjectRegionAttribute() resourceSchemaInterceptor { type resourceValidateRegionInterceptor struct{} -func (r resourceValidateRegionInterceptor) modifyPlan(ctx context.Context, opts interceptorOptions[resource.ModifyPlanRequest, resource.ModifyPlanResponse]) diag.Diagnostics { +func (r resourceValidateRegionInterceptor) modifyPlan(ctx context.Context, opts interceptorOptions[resource.ModifyPlanRequest, resource.ModifyPlanResponse]) { c := opts.c - var diags diag.Diagnostics switch when := opts.when; when { case Before: - diags.Append(validateInContextRegionInPartition(ctx, c)...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(validateInContextRegionInPartition(ctx, c)...) + if opts.response.Diagnostics.HasError() { + return } } - - return diags } // resourceValidateRegion validates that the value of the top-level `region` attribute is in the configured AWS partition. @@ -228,33 +201,30 @@ func resourceValidateRegion() resourceModifyPlanInterceptor { type resourceDefaultRegionInterceptor struct{} -func (r resourceDefaultRegionInterceptor) modifyPlan(ctx context.Context, opts interceptorOptions[resource.ModifyPlanRequest, resource.ModifyPlanResponse]) diag.Diagnostics { +func (r resourceDefaultRegionInterceptor) modifyPlan(ctx context.Context, opts interceptorOptions[resource.ModifyPlanRequest, resource.ModifyPlanResponse]) { c := opts.c - var diags diag.Diagnostics switch request, response, when := opts.request, opts.response, opts.when; when { case Before: // If the entire plan is null, the resource is planned for destruction. if request.Plan.Raw.IsNull() { - return diags + return } var target types.String - diags.Append(request.Plan.GetAttribute(ctx, path.Root(names.AttrRegion), &target)...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(request.Plan.GetAttribute(ctx, path.Root(names.AttrRegion), &target)...) + if opts.response.Diagnostics.HasError() { + return } if target.IsNull() || target.IsUnknown() { // Set the region to the provider's configured region - diags.Append(response.Plan.SetAttribute(ctx, path.Root(names.AttrRegion), c.AwsConfig(ctx).Region)...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(response.Plan.SetAttribute(ctx, path.Root(names.AttrRegion), c.AwsConfig(ctx).Region)...) + if opts.response.Diagnostics.HasError() { + return } } } - - return diags } // resourceDefaultRegion sets the value of the top-level `region` attribute to the provider's configured Region if it is not set. @@ -264,48 +234,47 @@ func resourceDefaultRegion() resourceModifyPlanInterceptor { type resourceForceNewIfRegionChangesInterceptor struct{} -func (r resourceForceNewIfRegionChangesInterceptor) modifyPlan(ctx context.Context, opts interceptorOptions[resource.ModifyPlanRequest, resource.ModifyPlanResponse]) diag.Diagnostics { +func (r resourceForceNewIfRegionChangesInterceptor) modifyPlan(ctx context.Context, opts interceptorOptions[resource.ModifyPlanRequest, resource.ModifyPlanResponse]) { c := opts.c - var diags diag.Diagnostics switch request, response, when := opts.request, opts.response, opts.when; when { case Before: // If the entire plan is null, the resource is planned for destruction. if request.Plan.Raw.IsNull() { - return diags + return } // If the entire state is null, the resource is new. if request.State.Raw.IsNull() { - return diags + return } var configRegion types.String - diags.Append(request.Config.GetAttribute(ctx, path.Root(names.AttrRegion), &configRegion)...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(request.Config.GetAttribute(ctx, path.Root(names.AttrRegion), &configRegion)...) + if opts.response.Diagnostics.HasError() { + return } var planRegion types.String - diags.Append(request.Plan.GetAttribute(ctx, path.Root(names.AttrRegion), &planRegion)...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(request.Plan.GetAttribute(ctx, path.Root(names.AttrRegion), &planRegion)...) + if opts.response.Diagnostics.HasError() { + return } var stateRegion types.String - diags.Append(request.State.GetAttribute(ctx, path.Root(names.AttrRegion), &stateRegion)...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(request.State.GetAttribute(ctx, path.Root(names.AttrRegion), &stateRegion)...) + if opts.response.Diagnostics.HasError() { + return } if stateRegion.IsNull() { // Upgrade from pre-v6.0.0 provider and '-refresh=false' in effect. if configRegion.IsNull() { - return diags + return } if providerRegion := c.AwsConfig(ctx).Region; planRegion.ValueString() == providerRegion { - return diags + return } } @@ -313,8 +282,6 @@ func (r resourceForceNewIfRegionChangesInterceptor) modifyPlan(ctx context.Conte response.RequiresReplace = path.Paths{path.Root(names.AttrRegion)} } } - - return diags } // resourceForceNewIfRegionChanges forces resource replacement if the value of the top-level `region` attribute changes. @@ -326,25 +293,22 @@ type resourceSetRegionInStateInterceptor struct { resourceNoOpCRUDInterceptor } -func (r resourceSetRegionInStateInterceptor) read(ctx context.Context, opts interceptorOptions[resource.ReadRequest, resource.ReadResponse]) diag.Diagnostics { +func (r resourceSetRegionInStateInterceptor) read(ctx context.Context, opts interceptorOptions[resource.ReadRequest, resource.ReadResponse]) { c := opts.c - var diags diag.Diagnostics switch response, when := opts.response, opts.when; when { case After: // Will occur on a refresh when the resource does not exist in AWS and needs to be recreated, e.g. "_disappears" tests. if response.State.Raw.IsNull() { - return diags + return } // Set region in state after R. - diags.Append(response.State.SetAttribute(ctx, path.Root(names.AttrRegion), c.Region(ctx))...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root(names.AttrRegion), c.Region(ctx))...) + if opts.response.Diagnostics.HasError() { + return } } - - return diags } // resourceSetRegionInState set the value of the top-level `region` attribute in state after Read. @@ -354,28 +318,25 @@ func resourceSetRegionInState() resourceCRUDInterceptor { type resourceImportRegionInterceptor struct{} -func (r resourceImportRegionInterceptor) importState(ctx context.Context, opts interceptorOptions[resource.ImportStateRequest, resource.ImportStateResponse]) diag.Diagnostics { +func (r resourceImportRegionInterceptor) importState(ctx context.Context, opts interceptorOptions[resource.ImportStateRequest, resource.ImportStateResponse]) { c := opts.c - var diags diag.Diagnostics switch request, response, when := opts.request, opts.response, opts.when; when { case Before: // Import ID optionally ends with "@". if matches := regexache.MustCompile(`^(.+)@([a-z]{2}(?:-[a-z]+)+-\d{1,2})$`).FindStringSubmatch(request.ID); len(matches) == 3 { request.ID = matches[1] - diags.Append(response.State.SetAttribute(ctx, path.Root(names.AttrRegion), matches[2])...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root(names.AttrRegion), matches[2])...) + if opts.response.Diagnostics.HasError() { + return } } else { - diags.Append(response.State.SetAttribute(ctx, path.Root(names.AttrRegion), c.AwsConfig(ctx).Region)...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root(names.AttrRegion), c.AwsConfig(ctx).Region)...) + if opts.response.Diagnostics.HasError() { + return } } } - - return diags } // resourceImportRegion sets the value of the top-level `region` attribute during import. @@ -385,22 +346,18 @@ func resourceImportRegion() resourceImportStateInterceptor { type resourceImportRegionNoDefaultInterceptor struct{} -func (r resourceImportRegionNoDefaultInterceptor) importState(ctx context.Context, opts interceptorOptions[resource.ImportStateRequest, resource.ImportStateResponse]) diag.Diagnostics { - var diags diag.Diagnostics - +func (r resourceImportRegionNoDefaultInterceptor) importState(ctx context.Context, opts interceptorOptions[resource.ImportStateRequest, resource.ImportStateResponse]) { switch request, response, when := opts.request, opts.response, opts.when; when { case Before: // Import ID optionally ends with "@". if matches := regexache.MustCompile(`^(.+)@([a-z]{2}(?:-[a-z]+)+-\d{1,2})$`).FindStringSubmatch(request.ID); len(matches) == 3 { request.ID = matches[1] - diags.Append(response.State.SetAttribute(ctx, path.Root(names.AttrRegion), matches[2])...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root(names.AttrRegion), matches[2])...) + if opts.response.Diagnostics.HasError() { + return } } } - - return diags } // resourceImportRegionNoDefault sets the value of the top-level `region` attribute during import. diff --git a/internal/provider/framework/region_test.go b/internal/provider/framework/region_test.go index a34a8295ffc8..765c374e9222 100644 --- a/internal/provider/framework/region_test.go +++ b/internal/provider/framework/region_test.go @@ -60,13 +60,14 @@ func TestResourceSetRegionInStateInterceptor_Read(t *testing.T) { req := resource.ReadRequest{State: tc.startState} resp := resource.ReadResponse{State: tc.startState} - if diags := icpt.read(ctx, interceptorOptions[resource.ReadRequest, resource.ReadResponse]{ + icpt.read(ctx, interceptorOptions[resource.ReadRequest, resource.ReadResponse]{ c: client, request: &req, response: &resp, when: After, - }); diags.HasError() { - t.Fatalf("unexpected diags: %s", diags) + }) + if resp.Diagnostics.HasError() { + t.Fatalf("unexpected diags: %s", resp.Diagnostics) } if tc.expectSet { diff --git a/internal/provider/framework/tags_interceptor.go b/internal/provider/framework/tags_interceptor.go index 287968ffd171..f8c385fc02bf 100644 --- a/internal/provider/framework/tags_interceptor.go +++ b/internal/provider/framework/tags_interceptor.go @@ -9,7 +9,6 @@ import ( "unique" "github.com/hashicorp/terraform-plugin-framework/datasource" - "github.com/hashicorp/terraform-plugin-framework/diag" "github.com/hashicorp/terraform-plugin-framework/path" "github.com/hashicorp/terraform-plugin-framework/resource" fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" @@ -25,25 +24,24 @@ type tagsDataSourceInterceptor struct { interceptors.HTags } -func (r tagsDataSourceInterceptor) read(ctx context.Context, opts interceptorOptions[datasource.ReadRequest, datasource.ReadResponse]) diag.Diagnostics { +func (r tagsDataSourceInterceptor) read(ctx context.Context, opts interceptorOptions[datasource.ReadRequest, datasource.ReadResponse]) { c := opts.c - var diags diag.Diagnostics if !r.Enabled() { - return diags + return } sp, serviceName, resourceName, tagsInContext, ok := interceptors.InfoFromContext(ctx, c) if !ok { - return diags + return } switch request, response, when := opts.request, opts.response, opts.when; when { case Before: var configTags tftags.Map - diags.Append(request.Config.GetAttribute(ctx, path.Root(names.AttrTags), &configTags)...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(request.Config.GetAttribute(ctx, path.Root(names.AttrTags), &configTags)...) + if opts.response.Diagnostics.HasError() { + return } tags := tftags.New(ctx, configTags) @@ -53,8 +51,8 @@ func (r tagsDataSourceInterceptor) read(ctx context.Context, opts interceptorOpt if tagsInContext.TagsOut.IsNone() { if identifier := r.GetIdentifierFramework(ctx, response.State); identifier != "" { if err := r.ListTags(ctx, sp, c, identifier); err != nil { - diags.AddError(fmt.Sprintf("listing tags for %s %s (%s)", serviceName, resourceName, identifier), err.Error()) - return diags + opts.response.Diagnostics.AddError(fmt.Sprintf("listing tags for %s %s (%s)", serviceName, resourceName, identifier), err.Error()) + return } } } @@ -62,13 +60,11 @@ func (r tagsDataSourceInterceptor) read(ctx context.Context, opts interceptorOpt tags := tagsInContext.TagsOut.UnwrapOrDefault() // Remove any provider configured ignore_tags and system tags from those returned from the service API. stateTags := fwflex.FlattenFrameworkStringValueMapLegacy(ctx, tags.IgnoreSystem(sp.ServicePackageName()).IgnoreConfig(c.IgnoreTagsConfig(ctx)).Map()) - diags.Append(response.State.SetAttribute(ctx, path.Root(names.AttrTags), tftags.NewMapFromMapValue(stateTags))...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root(names.AttrTags), tftags.NewMapFromMapValue(stateTags))...) + if opts.response.Diagnostics.HasError() { + return } } - - return diags } func dataSourceTransparentTagging(servicePackageResourceTags unique.Handle[inttypes.ServicePackageResourceTags]) dataSourceCRUDInterceptor { @@ -83,25 +79,24 @@ type tagsResourceInterceptor struct { interceptors.HTags } -func (r tagsResourceInterceptor) create(ctx context.Context, opts interceptorOptions[resource.CreateRequest, resource.CreateResponse]) diag.Diagnostics { +func (r tagsResourceInterceptor) create(ctx context.Context, opts interceptorOptions[resource.CreateRequest, resource.CreateResponse]) { c := opts.c - var diags diag.Diagnostics if !r.Enabled() { - return diags + return } sp, _, _, tagsInContext, ok := interceptors.InfoFromContext(ctx, c) if !ok { - return diags + return } switch request, response, when := opts.request, opts.response, opts.when; when { case Before: var planTags tftags.Map - diags.Append(request.Plan.GetAttribute(ctx, path.Root(names.AttrTags), &planTags)...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(request.Plan.GetAttribute(ctx, path.Root(names.AttrTags), &planTags)...) + if opts.response.Diagnostics.HasError() { + return } // Merge the resource's configured tags with any provider configured default_tags. @@ -114,33 +109,30 @@ func (r tagsResourceInterceptor) create(ctx context.Context, opts interceptorOpt // Remove any provider configured ignore_tags and system tags from those passed to the service API. // Computed tags_all include any provider configured default_tags. stateTagsAll := fwflex.FlattenFrameworkStringValueMapLegacy(ctx, tagsInContext.TagsIn.MustUnwrap().IgnoreSystem(sp.ServicePackageName()).IgnoreConfig(c.IgnoreTagsConfig(ctx)).Map()) - diags.Append(response.State.SetAttribute(ctx, path.Root(names.AttrTagsAll), tftags.NewMapFromMapValue(stateTagsAll))...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root(names.AttrTagsAll), tftags.NewMapFromMapValue(stateTagsAll))...) + if opts.response.Diagnostics.HasError() { + return } } - - return diags } -func (r tagsResourceInterceptor) read(ctx context.Context, opts interceptorOptions[resource.ReadRequest, resource.ReadResponse]) diag.Diagnostics { +func (r tagsResourceInterceptor) read(ctx context.Context, opts interceptorOptions[resource.ReadRequest, resource.ReadResponse]) { c := opts.c - var diags diag.Diagnostics if !r.Enabled() { - return diags + return } sp, serviceName, resourceName, tagsInContext, ok := interceptors.InfoFromContext(ctx, c) if !ok { - return diags + return } switch response, when := opts.response, opts.when; when { case After: // Will occur on a refresh when the resource does not exist in AWS and needs to be recreated, e.g. "_disappears" tests. if response.State.Raw.IsNull() { - return diags + return } // If the R handler didn't set tags, try and read them from the service API. @@ -149,9 +141,9 @@ func (r tagsResourceInterceptor) read(ctx context.Context, opts interceptorOptio // https://github.com/hashicorp/terraform-provider-aws/issues/31180 if identifier := r.GetIdentifierFramework(ctx, response.State); identifier != "" { if err := r.ListTags(ctx, sp, c, identifier); err != nil { - diags.AddError(fmt.Sprintf("listing tags for %s %s (%s)", serviceName, resourceName, identifier), err.Error()) + opts.response.Diagnostics.AddError(fmt.Sprintf("listing tags for %s %s (%s)", serviceName, resourceName, identifier), err.Error()) - return diags + return } } } @@ -163,44 +155,41 @@ func (r tagsResourceInterceptor) read(ctx context.Context, opts interceptorOptio response.State.GetAttribute(ctx, path.Root(names.AttrTags), &stateTags) // Remove any provider configured ignore_tags and system tags from those returned from the service API. // The resource's configured tags do not include any provider configured default_tags. - if v := apiTags.IgnoreSystem(sp.ServicePackageName()).IgnoreConfig(c.IgnoreTagsConfig(ctx)).ResolveDuplicatesFramework(ctx, c.DefaultTagsConfig(ctx), c.IgnoreTagsConfig(ctx), response, &diags).Map(); len(v) > 0 { + if v := apiTags.IgnoreSystem(sp.ServicePackageName()).IgnoreConfig(c.IgnoreTagsConfig(ctx)).ResolveDuplicatesFramework(ctx, c.DefaultTagsConfig(ctx), c.IgnoreTagsConfig(ctx), response, &opts.response.Diagnostics).Map(); len(v) > 0 { stateTags = tftags.NewMapFromMapValue(fwflex.FlattenFrameworkStringValueMapLegacy(ctx, v)) } - diags.Append(response.State.SetAttribute(ctx, path.Root(names.AttrTags), &stateTags)...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root(names.AttrTags), &stateTags)...) + if opts.response.Diagnostics.HasError() { + return } // Computed tags_all do. stateTagsAll := fwflex.FlattenFrameworkStringValueMapLegacy(ctx, apiTags.IgnoreSystem(sp.ServicePackageName()).IgnoreConfig(c.IgnoreTagsConfig(ctx)).Map()) - diags.Append(response.State.SetAttribute(ctx, path.Root(names.AttrTagsAll), tftags.NewMapFromMapValue(stateTagsAll))...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root(names.AttrTagsAll), tftags.NewMapFromMapValue(stateTagsAll))...) + if opts.response.Diagnostics.HasError() { + return } } - - return diags } -func (r tagsResourceInterceptor) update(ctx context.Context, opts interceptorOptions[resource.UpdateRequest, resource.UpdateResponse]) diag.Diagnostics { +func (r tagsResourceInterceptor) update(ctx context.Context, opts interceptorOptions[resource.UpdateRequest, resource.UpdateResponse]) { c := opts.c - var diags diag.Diagnostics if !r.Enabled() { - return diags + return } sp, serviceName, resourceName, tagsInContext, ok := interceptors.InfoFromContext(ctx, c) if !ok { - return diags + return } switch request, when := opts.request, opts.when; when { case Before: var planTags tftags.Map - diags.Append(request.Plan.GetAttribute(ctx, path.Root(names.AttrTags), &planTags)...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(request.Plan.GetAttribute(ctx, path.Root(names.AttrTags), &planTags)...) + if opts.response.Diagnostics.HasError() { + return } // Merge the resource's configured tags with any provider configured default_tags. @@ -210,13 +199,13 @@ func (r tagsResourceInterceptor) update(ctx context.Context, opts interceptorOpt tagsInContext.TagsIn = option.Some(tags) var oldTagsAll, newTagsAll tftags.Map - diags.Append(request.State.GetAttribute(ctx, path.Root(names.AttrTagsAll), &oldTagsAll)...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(request.State.GetAttribute(ctx, path.Root(names.AttrTagsAll), &oldTagsAll)...) + if opts.response.Diagnostics.HasError() { + return } - diags.Append(request.Plan.GetAttribute(ctx, path.Root(names.AttrTagsAll), &newTagsAll)...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(request.Plan.GetAttribute(ctx, path.Root(names.AttrTagsAll), &newTagsAll)...) + if opts.response.Diagnostics.HasError() { + return } if !newTagsAll.Equal(oldTagsAll) { @@ -224,49 +213,44 @@ func (r tagsResourceInterceptor) update(ctx context.Context, opts interceptorOpt // https://github.com/hashicorp/terraform-provider-aws/issues/31180 if identifier := r.GetIdentifierFramework(ctx, request.Plan); identifier != "" { if err := r.UpdateTags(ctx, sp, c, identifier, oldTagsAll, newTagsAll); err != nil { - diags.AddError(fmt.Sprintf("updating tags for %s %s (%s)", serviceName, resourceName, identifier), err.Error()) + opts.response.Diagnostics.AddError(fmt.Sprintf("updating tags for %s %s (%s)", serviceName, resourceName, identifier), err.Error()) - return diags + return } } // TODO If the only change was to tags it would be nice to not call the resource's U handler. } } - - return diags } -func (r tagsResourceInterceptor) modifyPlan(ctx context.Context, opts interceptorOptions[resource.ModifyPlanRequest, resource.ModifyPlanResponse]) diag.Diagnostics { +func (r tagsResourceInterceptor) modifyPlan(ctx context.Context, opts interceptorOptions[resource.ModifyPlanRequest, resource.ModifyPlanResponse]) { c := opts.c - var diags diag.Diagnostics switch request, response, when := opts.request, opts.response, opts.when; when { case Before: // If the entire plan is null, the resource is planned for destruction. if request.Plan.Raw.IsNull() { - return diags + return } // Calculate the new value for the `tags_all` attribute. var planTags tftags.Map - diags.Append(request.Plan.GetAttribute(ctx, path.Root(names.AttrTags), &planTags)...) - if diags.HasError() { - return diags + opts.response.Diagnostics.Append(request.Plan.GetAttribute(ctx, path.Root(names.AttrTags), &planTags)...) + if opts.response.Diagnostics.HasError() { + return } if planTags.IsWhollyKnown() { allTags := c.DefaultTagsConfig(ctx).MergeTags(tftags.New(ctx, planTags)).IgnoreConfig(c.IgnoreTagsConfig(ctx)) - diags.Append(response.Plan.SetAttribute(ctx, path.Root(names.AttrTagsAll), fwflex.FlattenFrameworkStringValueMapLegacy(ctx, allTags.Map()))...) + opts.response.Diagnostics.Append(response.Plan.SetAttribute(ctx, path.Root(names.AttrTagsAll), fwflex.FlattenFrameworkStringValueMapLegacy(ctx, allTags.Map()))...) } else { - diags.Append(response.Plan.SetAttribute(ctx, path.Root(names.AttrTagsAll), tftags.Unknown)...) + opts.response.Diagnostics.Append(response.Plan.SetAttribute(ctx, path.Root(names.AttrTagsAll), tftags.Unknown)...) } - if diags.HasError() { - return diags + if opts.response.Diagnostics.HasError() { + return } } - - return diags } func resourceTransparentTagging(servicePackageResourceTags unique.Handle[inttypes.ServicePackageResourceTags]) interface { diff --git a/internal/provider/framework/wrap.go b/internal/provider/framework/wrap.go index e6c17c236a4c..d2d09090d6a9 100644 --- a/internal/provider/framework/wrap.go +++ b/internal/provider/framework/wrap.go @@ -63,7 +63,7 @@ func (w *wrappedDataSource) Schema(ctx context.Context, request datasource.Schem w.inner.Schema(ctx, *request, response) return response.Diagnostics } - response.Diagnostics.Append(interceptedHandler(w.opts.interceptors.dataSourceSchema(), f, w.meta)(ctx, &request, response)...) + interceptedHandler(w.opts.interceptors.dataSourceSchema(), f, dataSourceSchemaHasError, w.meta)(ctx, &request, response) if response.Diagnostics.HasError() { return } @@ -91,7 +91,7 @@ func (w *wrappedDataSource) Read(ctx context.Context, request datasource.ReadReq w.inner.Read(ctx, *request, response) return response.Diagnostics } - response.Diagnostics.Append(interceptedHandler(w.opts.interceptors.dataSourceRead(), f, w.meta)(ctx, &request, response)...) + interceptedHandler(w.opts.interceptors.dataSourceRead(), f, dataSourceReadHasError, w.meta)(ctx, &request, response) } func (w *wrappedDataSource) Configure(ctx context.Context, request datasource.ConfigureRequest, response *datasource.ConfigureResponse) { @@ -175,7 +175,7 @@ func (w *wrappedEphemeralResource) Schema(ctx context.Context, request ephemeral w.inner.Schema(ctx, *request, response) return response.Diagnostics } - response.Diagnostics.Append(interceptedHandler(w.opts.interceptors.ephemeralResourceSchema(), f, w.meta)(ctx, &request, response)...) + interceptedHandler(w.opts.interceptors.ephemeralResourceSchema(), f, ephemeralSchemaHasError, w.meta)(ctx, &request, response) // Validate the ephemeral resource's model against the schema. if v, ok := w.inner.(framework.EphemeralResourceValidateModel); ok { @@ -200,7 +200,7 @@ func (w *wrappedEphemeralResource) Open(ctx context.Context, request ephemeral.O w.inner.Open(ctx, *request, response) return response.Diagnostics } - response.Diagnostics.Append(interceptedHandler(w.opts.interceptors.ephemeralResourceOpen(), f, w.meta)(ctx, &request, response)...) + interceptedHandler(w.opts.interceptors.ephemeralResourceOpen(), f, ephemeralOpenHasError, w.meta)(ctx, &request, response) } func (w *wrappedEphemeralResource) Configure(ctx context.Context, request ephemeral.ConfigureRequest, response *ephemeral.ConfigureResponse) { @@ -229,7 +229,7 @@ func (w *wrappedEphemeralResource) Renew(ctx context.Context, request ephemeral. v.Renew(ctx, *request, response) return response.Diagnostics } - response.Diagnostics.Append(interceptedHandler(w.opts.interceptors.ephemeralResourceRenew(), f, w.meta)(ctx, &request, response)...) + interceptedHandler(w.opts.interceptors.ephemeralResourceRenew(), f, ephemeralRenewHasError, w.meta)(ctx, &request, response) } } @@ -245,7 +245,7 @@ func (w *wrappedEphemeralResource) Close(ctx context.Context, request ephemeral. v.Close(ctx, *request, response) return response.Diagnostics } - response.Diagnostics.Append(interceptedHandler(w.opts.interceptors.ephemeralResourceClose(), f, w.meta)(ctx, &request, response)...) + interceptedHandler(w.opts.interceptors.ephemeralResourceClose(), f, ephemeralCloseHasError, w.meta)(ctx, &request, response) } } @@ -321,7 +321,7 @@ func (w *wrappedResource) Schema(ctx context.Context, request resource.SchemaReq w.inner.Schema(ctx, *request, response) return response.Diagnostics } - response.Diagnostics.Append(interceptedHandler(w.opts.interceptors.resourceSchema(), f, w.meta)(ctx, &request, response)...) + interceptedHandler(w.opts.interceptors.resourceSchema(), f, resourceSchemaHasError, w.meta)(ctx, &request, response) // Validate the resource's model against the schema. if v, ok := w.inner.(framework.ResourceValidateModel); ok { @@ -346,7 +346,7 @@ func (w *wrappedResource) Create(ctx context.Context, request resource.CreateReq w.inner.Create(ctx, *request, response) return response.Diagnostics } - response.Diagnostics.Append(interceptedHandler(w.opts.interceptors.resourceCreate(), f, w.meta)(ctx, &request, response)...) + interceptedHandler(w.opts.interceptors.resourceCreate(), f, resourceCreateHasError, w.meta)(ctx, &request, response) } func (w *wrappedResource) Read(ctx context.Context, request resource.ReadRequest, response *resource.ReadResponse) { @@ -360,7 +360,7 @@ func (w *wrappedResource) Read(ctx context.Context, request resource.ReadRequest w.inner.Read(ctx, *request, response) return response.Diagnostics } - response.Diagnostics.Append(interceptedHandler(w.opts.interceptors.resourceRead(), f, w.meta)(ctx, &request, response)...) + interceptedHandler(w.opts.interceptors.resourceRead(), f, resourceReadHasError, w.meta)(ctx, &request, response) } func (w *wrappedResource) Update(ctx context.Context, request resource.UpdateRequest, response *resource.UpdateResponse) { @@ -374,7 +374,7 @@ func (w *wrappedResource) Update(ctx context.Context, request resource.UpdateReq w.inner.Update(ctx, *request, response) return response.Diagnostics } - response.Diagnostics.Append(interceptedHandler(w.opts.interceptors.resourceUpdate(), f, w.meta)(ctx, &request, response)...) + interceptedHandler(w.opts.interceptors.resourceUpdate(), f, resourceUpdateHasError, w.meta)(ctx, &request, response) } func (w *wrappedResource) Delete(ctx context.Context, request resource.DeleteRequest, response *resource.DeleteResponse) { @@ -388,7 +388,7 @@ func (w *wrappedResource) Delete(ctx context.Context, request resource.DeleteReq w.inner.Delete(ctx, *request, response) return response.Diagnostics } - response.Diagnostics.Append(interceptedHandler(w.opts.interceptors.resourceDelete(), f, w.meta)(ctx, &request, response)...) + interceptedHandler(w.opts.interceptors.resourceDelete(), f, resourceDeleteHasError, w.meta)(ctx, &request, response) } func (w *wrappedResource) Configure(ctx context.Context, request resource.ConfigureRequest, response *resource.ConfigureResponse) { @@ -418,7 +418,7 @@ func (w *wrappedResource) ImportState(ctx context.Context, request resource.Impo v.ImportState(ctx, *request, response) return response.Diagnostics } - response.Diagnostics.Append(interceptedHandler(w.opts.interceptors.resourceImportState(), f, w.meta)(ctx, &request, response)...) + interceptedHandler(w.opts.interceptors.resourceImportState(), f, resourceImportStateHasError, w.meta)(ctx, &request, response) return } @@ -446,7 +446,7 @@ func (w *wrappedResource) ModifyPlan(ctx context.Context, request resource.Modif return response.Diagnostics } } - response.Diagnostics.Append(interceptedHandler(w.opts.interceptors.resourceModifyPlan(), f, w.meta)(ctx, &request, response)...) + interceptedHandler(w.opts.interceptors.resourceModifyPlan(), f, resourceModifyPlanHasError, w.meta)(ctx, &request, response) } func (w *wrappedResource) ConfigValidators(ctx context.Context) []resource.ConfigValidator { From 7d4b2cb79101779fd133a985a07d39ba44c2be88 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 8 Aug 2025 17:09:53 -0700 Subject: [PATCH 0756/1301] Simplifies `opts` --- internal/provider/framework/intercept.go | 32 ++++++++---------------- 1 file changed, 10 insertions(+), 22 deletions(-) diff --git a/internal/provider/framework/intercept.go b/internal/provider/framework/intercept.go index fb5bef0b539e..7ce17128f4eb 100644 --- a/internal/provider/framework/intercept.go +++ b/internal/provider/framework/intercept.go @@ -309,15 +309,15 @@ type innerFunc[Request, Response any] func(ctx context.Context, request *Request // interceptedHandler returns a handler that runs any interceptors. func interceptedHandler[Request interceptedRequest, Response interceptedResponse](interceptors []interceptorFunc[Request, Response], f innerFunc[Request, Response], hasError hasErrorFn[Response], c awsClient) func(context.Context, *Request, *Response) { return func(ctx context.Context, request *Request, response *Response) { + opts := interceptorOptions[Request, Response]{ + c: c, + request: request, + response: response, + } + // Before interceptors are run first to last. - when := Before + opts.when = Before for v := range slices.Values(interceptors) { - opts := interceptorOptions[Request, Response]{ - c: c, - request: request, - response: response, - when: when, - } v(ctx, opts) // Short circuit if any Before interceptor errors. @@ -330,28 +330,16 @@ func interceptedHandler[Request interceptedRequest, Response interceptedResponse // All other interceptors are run last to first. if hasError(response) { - when = OnError + opts.when = OnError } else { - when = After + opts.when = After } for v := range tfslices.BackwardValues(interceptors) { - opts := interceptorOptions[Request, Response]{ - c: c, - request: request, - response: response, - when: when, - } v(ctx, opts) } - when = Finally + opts.when = Finally for v := range tfslices.BackwardValues(interceptors) { - opts := interceptorOptions[Request, Response]{ - c: c, - request: request, - response: response, - when: when, - } v(ctx, opts) } } From a2670758edec75eb88857e5d177f36f71de68d16 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 8 Aug 2025 17:14:02 -0700 Subject: [PATCH 0757/1301] `innerFunc`'s return value is unused --- internal/provider/framework/intercept.go | 3 +- internal/provider/framework/intercept_test.go | 3 +- internal/provider/framework/wrap.go | 42 +++++++------------ 3 files changed, 16 insertions(+), 32 deletions(-) diff --git a/internal/provider/framework/intercept.go b/internal/provider/framework/intercept.go index 7ce17128f4eb..a0397518bc5a 100644 --- a/internal/provider/framework/intercept.go +++ b/internal/provider/framework/intercept.go @@ -9,7 +9,6 @@ import ( "github.com/aws/aws-sdk-go-v2/aws" "github.com/hashicorp/terraform-plugin-framework/datasource" - "github.com/hashicorp/terraform-plugin-framework/diag" "github.com/hashicorp/terraform-plugin-framework/ephemeral" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-provider-aws/internal/conns" @@ -304,7 +303,7 @@ type interceptedResponse interface { resource.ImportStateResponse } -type innerFunc[Request, Response any] func(ctx context.Context, request *Request, response *Response) diag.Diagnostics +type innerFunc[Request, Response any] func(ctx context.Context, request *Request, response *Response) // interceptedHandler returns a handler that runs any interceptors. func interceptedHandler[Request interceptedRequest, Response interceptedResponse](interceptors []interceptorFunc[Request, Response], f innerFunc[Request, Response], hasError hasErrorFn[Response], c awsClient) func(context.Context, *Request, *Response) { diff --git a/internal/provider/framework/intercept_test.go b/internal/provider/framework/intercept_test.go index 419a7565089c..addf7db900c7 100644 --- a/internal/provider/framework/intercept_test.go +++ b/internal/provider/framework/intercept_test.go @@ -613,8 +613,7 @@ type mockInnerFunc struct { count int } -func (m *mockInnerFunc) Call(ctx context.Context, request *resource.SchemaRequest, response *resource.SchemaResponse) diag.Diagnostics { +func (m *mockInnerFunc) Call(ctx context.Context, request *resource.SchemaRequest, response *resource.SchemaResponse) { m.count++ response.Diagnostics.Append(m.diags...) - return response.Diagnostics } diff --git a/internal/provider/framework/wrap.go b/internal/provider/framework/wrap.go index d2d09090d6a9..23d6caa7d7b5 100644 --- a/internal/provider/framework/wrap.go +++ b/internal/provider/framework/wrap.go @@ -59,9 +59,8 @@ func (w *wrappedDataSource) Schema(ctx context.Context, request datasource.Schem return } - f := func(ctx context.Context, request *datasource.SchemaRequest, response *datasource.SchemaResponse) diag.Diagnostics { + f := func(ctx context.Context, request *datasource.SchemaRequest, response *datasource.SchemaResponse) { w.inner.Schema(ctx, *request, response) - return response.Diagnostics } interceptedHandler(w.opts.interceptors.dataSourceSchema(), f, dataSourceSchemaHasError, w.meta)(ctx, &request, response) if response.Diagnostics.HasError() { @@ -87,9 +86,8 @@ func (w *wrappedDataSource) Read(ctx context.Context, request datasource.ReadReq return } - f := func(ctx context.Context, request *datasource.ReadRequest, response *datasource.ReadResponse) diag.Diagnostics { + f := func(ctx context.Context, request *datasource.ReadRequest, response *datasource.ReadResponse) { w.inner.Read(ctx, *request, response) - return response.Diagnostics } interceptedHandler(w.opts.interceptors.dataSourceRead(), f, dataSourceReadHasError, w.meta)(ctx, &request, response) } @@ -171,9 +169,8 @@ func (w *wrappedEphemeralResource) Schema(ctx context.Context, request ephemeral return } - f := func(ctx context.Context, request *ephemeral.SchemaRequest, response *ephemeral.SchemaResponse) diag.Diagnostics { + f := func(ctx context.Context, request *ephemeral.SchemaRequest, response *ephemeral.SchemaResponse) { w.inner.Schema(ctx, *request, response) - return response.Diagnostics } interceptedHandler(w.opts.interceptors.ephemeralResourceSchema(), f, ephemeralSchemaHasError, w.meta)(ctx, &request, response) @@ -196,9 +193,8 @@ func (w *wrappedEphemeralResource) Open(ctx context.Context, request ephemeral.O return } - f := func(ctx context.Context, request *ephemeral.OpenRequest, response *ephemeral.OpenResponse) diag.Diagnostics { + f := func(ctx context.Context, request *ephemeral.OpenRequest, response *ephemeral.OpenResponse) { w.inner.Open(ctx, *request, response) - return response.Diagnostics } interceptedHandler(w.opts.interceptors.ephemeralResourceOpen(), f, ephemeralOpenHasError, w.meta)(ctx, &request, response) } @@ -225,9 +221,8 @@ func (w *wrappedEphemeralResource) Renew(ctx context.Context, request ephemeral. return } - f := func(ctx context.Context, request *ephemeral.RenewRequest, response *ephemeral.RenewResponse) diag.Diagnostics { + f := func(ctx context.Context, request *ephemeral.RenewRequest, response *ephemeral.RenewResponse) { v.Renew(ctx, *request, response) - return response.Diagnostics } interceptedHandler(w.opts.interceptors.ephemeralResourceRenew(), f, ephemeralRenewHasError, w.meta)(ctx, &request, response) } @@ -241,9 +236,8 @@ func (w *wrappedEphemeralResource) Close(ctx context.Context, request ephemeral. return } - f := func(ctx context.Context, request *ephemeral.CloseRequest, response *ephemeral.CloseResponse) diag.Diagnostics { + f := func(ctx context.Context, request *ephemeral.CloseRequest, response *ephemeral.CloseResponse) { v.Close(ctx, *request, response) - return response.Diagnostics } interceptedHandler(w.opts.interceptors.ephemeralResourceClose(), f, ephemeralCloseHasError, w.meta)(ctx, &request, response) } @@ -317,9 +311,8 @@ func (w *wrappedResource) Schema(ctx context.Context, request resource.SchemaReq return } - f := func(ctx context.Context, request *resource.SchemaRequest, response *resource.SchemaResponse) diag.Diagnostics { + f := func(ctx context.Context, request *resource.SchemaRequest, response *resource.SchemaResponse) { w.inner.Schema(ctx, *request, response) - return response.Diagnostics } interceptedHandler(w.opts.interceptors.resourceSchema(), f, resourceSchemaHasError, w.meta)(ctx, &request, response) @@ -342,9 +335,8 @@ func (w *wrappedResource) Create(ctx context.Context, request resource.CreateReq return } - f := func(ctx context.Context, request *resource.CreateRequest, response *resource.CreateResponse) diag.Diagnostics { + f := func(ctx context.Context, request *resource.CreateRequest, response *resource.CreateResponse) { w.inner.Create(ctx, *request, response) - return response.Diagnostics } interceptedHandler(w.opts.interceptors.resourceCreate(), f, resourceCreateHasError, w.meta)(ctx, &request, response) } @@ -356,9 +348,8 @@ func (w *wrappedResource) Read(ctx context.Context, request resource.ReadRequest return } - f := func(ctx context.Context, request *resource.ReadRequest, response *resource.ReadResponse) diag.Diagnostics { + f := func(ctx context.Context, request *resource.ReadRequest, response *resource.ReadResponse) { w.inner.Read(ctx, *request, response) - return response.Diagnostics } interceptedHandler(w.opts.interceptors.resourceRead(), f, resourceReadHasError, w.meta)(ctx, &request, response) } @@ -370,9 +361,8 @@ func (w *wrappedResource) Update(ctx context.Context, request resource.UpdateReq return } - f := func(ctx context.Context, request *resource.UpdateRequest, response *resource.UpdateResponse) diag.Diagnostics { + f := func(ctx context.Context, request *resource.UpdateRequest, response *resource.UpdateResponse) { w.inner.Update(ctx, *request, response) - return response.Diagnostics } interceptedHandler(w.opts.interceptors.resourceUpdate(), f, resourceUpdateHasError, w.meta)(ctx, &request, response) } @@ -384,9 +374,8 @@ func (w *wrappedResource) Delete(ctx context.Context, request resource.DeleteReq return } - f := func(ctx context.Context, request *resource.DeleteRequest, response *resource.DeleteResponse) diag.Diagnostics { + f := func(ctx context.Context, request *resource.DeleteRequest, response *resource.DeleteResponse) { w.inner.Delete(ctx, *request, response) - return response.Diagnostics } interceptedHandler(w.opts.interceptors.resourceDelete(), f, resourceDeleteHasError, w.meta)(ctx, &request, response) } @@ -414,9 +403,8 @@ func (w *wrappedResource) ImportState(ctx context.Context, request resource.Impo } ctx = importer.Context(ctx, w.meta) - f := func(ctx context.Context, request *resource.ImportStateRequest, response *resource.ImportStateResponse) diag.Diagnostics { + f := func(ctx context.Context, request *resource.ImportStateRequest, response *resource.ImportStateResponse) { v.ImportState(ctx, *request, response) - return response.Diagnostics } interceptedHandler(w.opts.interceptors.resourceImportState(), f, resourceImportStateHasError, w.meta)(ctx, &request, response) @@ -437,13 +425,11 @@ func (w *wrappedResource) ModifyPlan(ctx context.Context, request resource.Modif } // We run ModifyPlan interceptors even if the resource has not defined a ModifyPlan method. - f := func(ctx context.Context, request *resource.ModifyPlanRequest, response *resource.ModifyPlanResponse) diag.Diagnostics { - return response.Diagnostics + f := func(ctx context.Context, request *resource.ModifyPlanRequest, response *resource.ModifyPlanResponse) { } if v, ok := w.inner.(resource.ResourceWithModifyPlan); ok { - f = func(ctx context.Context, request *resource.ModifyPlanRequest, response *resource.ModifyPlanResponse) diag.Diagnostics { + f = func(ctx context.Context, request *resource.ModifyPlanRequest, response *resource.ModifyPlanResponse) { v.ModifyPlan(ctx, *request, response) - return response.Diagnostics } } interceptedHandler(w.opts.interceptors.resourceModifyPlan(), f, resourceModifyPlanHasError, w.meta)(ctx, &request, response) From dcfa9c8ff4412afeb9b10b5e36af6d1f616f15f8 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 8 Aug 2025 17:24:20 -0700 Subject: [PATCH 0758/1301] Don't take pointer to Request --- internal/provider/framework/intercept.go | 8 +- internal/provider/framework/intercept_test.go | 22 ++--- internal/provider/framework/wrap.go | 80 +++++++++---------- 3 files changed, 55 insertions(+), 55 deletions(-) diff --git a/internal/provider/framework/intercept.go b/internal/provider/framework/intercept.go index a0397518bc5a..9d88fb5f6e6b 100644 --- a/internal/provider/framework/intercept.go +++ b/internal/provider/framework/intercept.go @@ -303,14 +303,14 @@ type interceptedResponse interface { resource.ImportStateResponse } -type innerFunc[Request, Response any] func(ctx context.Context, request *Request, response *Response) +type innerFunc[Request, Response any] func(ctx context.Context, request Request, response *Response) // interceptedHandler returns a handler that runs any interceptors. -func interceptedHandler[Request interceptedRequest, Response interceptedResponse](interceptors []interceptorFunc[Request, Response], f innerFunc[Request, Response], hasError hasErrorFn[Response], c awsClient) func(context.Context, *Request, *Response) { - return func(ctx context.Context, request *Request, response *Response) { +func interceptedHandler[Request interceptedRequest, Response interceptedResponse](interceptors []interceptorFunc[Request, Response], f innerFunc[Request, Response], hasError hasErrorFn[Response], c awsClient) func(context.Context, Request, *Response) { + return func(ctx context.Context, request Request, response *Response) { opts := interceptorOptions[Request, Response]{ c: c, - request: request, + request: &request, response: response, } diff --git a/internal/provider/framework/intercept_test.go b/internal/provider/framework/intercept_test.go index addf7db900c7..995dae00f38d 100644 --- a/internal/provider/framework/intercept_test.go +++ b/internal/provider/framework/intercept_test.go @@ -48,7 +48,7 @@ func TestInterceptedHandler_Diags_FirstHasBeforeError(t *testing.T) { }, } - handler(ctx, &request, &response) + handler(ctx, request, &response) if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { t.Errorf("unexpected diagnostics difference: %s", diff) @@ -100,7 +100,7 @@ func TestInterceptedHandler_Diags_SecondHasBeforeError(t *testing.T) { }, } - handler(ctx, &request, &response) + handler(ctx, request, &response) if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { t.Errorf("unexpected diagnostics difference: %s", diff) @@ -152,7 +152,7 @@ func TestInterceptedHandler_Diags_FirstHasBeforeWarning(t *testing.T) { }, } - handler(ctx, &request, &response) + handler(ctx, request, &response) if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { t.Errorf("unexpected diagnostics difference: %s", diff) @@ -204,7 +204,7 @@ func TestInterceptedHandler_Diags_SecondHasBeforeWarning(t *testing.T) { }, } - handler(ctx, &request, &response) + handler(ctx, request, &response) if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { t.Errorf("unexpected diagnostics difference: %s", diff) @@ -261,7 +261,7 @@ func TestInterceptedHandler_Diags_FirstHasBeforeWarning_SecondHasBeforeError(t * }, } - handler(ctx, &request, &response) + handler(ctx, request, &response) if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { t.Errorf("unexpected diagnostics difference: %s", diff) @@ -312,7 +312,7 @@ func TestInterceptedHandler_Diags_InnerHasError(t *testing.T) { }, } - handler(ctx, &request, &response) + handler(ctx, request, &response) if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { t.Errorf("unexpected diagnostics difference: %s", diff) @@ -363,7 +363,7 @@ func TestInterceptedHandler_Diags_InnerHasWarning(t *testing.T) { }, } - handler(ctx, &request, &response) + handler(ctx, request, &response) if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { t.Errorf("unexpected diagnostics difference: %s", diff) @@ -420,7 +420,7 @@ func TestInterceptedHandler_Diags_InnerHasError_FirstHasBeforeWarning(t *testing }, } - handler(ctx, &request, &response) + handler(ctx, request, &response) if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { t.Errorf("unexpected diagnostics difference: %s", diff) @@ -497,7 +497,7 @@ func TestInterceptedHandler_Diags_AllHaveWarnings(t *testing.T) { }, } - handler(ctx, &request, &response) + handler(ctx, request, &response) if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { t.Errorf("unexpected diagnostics difference: %s", diff) @@ -574,7 +574,7 @@ func TestInterceptedHandler_Diags_InnerHasError_HandlersHaveWarnings(t *testing. }, } - handler(ctx, &request, &response) + handler(ctx, request, &response) if diff := cmp.Diff(response.Diagnostics, expectedDiags); diff != "" { t.Errorf("unexpected diagnostics difference: %s", diff) @@ -613,7 +613,7 @@ type mockInnerFunc struct { count int } -func (m *mockInnerFunc) Call(ctx context.Context, request *resource.SchemaRequest, response *resource.SchemaResponse) { +func (m *mockInnerFunc) Call(ctx context.Context, request resource.SchemaRequest, response *resource.SchemaResponse) { m.count++ response.Diagnostics.Append(m.diags...) } diff --git a/internal/provider/framework/wrap.go b/internal/provider/framework/wrap.go index 23d6caa7d7b5..31614858dcfc 100644 --- a/internal/provider/framework/wrap.go +++ b/internal/provider/framework/wrap.go @@ -59,10 +59,10 @@ func (w *wrappedDataSource) Schema(ctx context.Context, request datasource.Schem return } - f := func(ctx context.Context, request *datasource.SchemaRequest, response *datasource.SchemaResponse) { - w.inner.Schema(ctx, *request, response) + f := func(ctx context.Context, request datasource.SchemaRequest, response *datasource.SchemaResponse) { + w.inner.Schema(ctx, request, response) } - interceptedHandler(w.opts.interceptors.dataSourceSchema(), f, dataSourceSchemaHasError, w.meta)(ctx, &request, response) + interceptedHandler(w.opts.interceptors.dataSourceSchema(), f, dataSourceSchemaHasError, w.meta)(ctx, request, response) if response.Diagnostics.HasError() { return } @@ -86,10 +86,10 @@ func (w *wrappedDataSource) Read(ctx context.Context, request datasource.ReadReq return } - f := func(ctx context.Context, request *datasource.ReadRequest, response *datasource.ReadResponse) { - w.inner.Read(ctx, *request, response) + f := func(ctx context.Context, request datasource.ReadRequest, response *datasource.ReadResponse) { + w.inner.Read(ctx, request, response) } - interceptedHandler(w.opts.interceptors.dataSourceRead(), f, dataSourceReadHasError, w.meta)(ctx, &request, response) + interceptedHandler(w.opts.interceptors.dataSourceRead(), f, dataSourceReadHasError, w.meta)(ctx, request, response) } func (w *wrappedDataSource) Configure(ctx context.Context, request datasource.ConfigureRequest, response *datasource.ConfigureResponse) { @@ -169,10 +169,10 @@ func (w *wrappedEphemeralResource) Schema(ctx context.Context, request ephemeral return } - f := func(ctx context.Context, request *ephemeral.SchemaRequest, response *ephemeral.SchemaResponse) { - w.inner.Schema(ctx, *request, response) + f := func(ctx context.Context, request ephemeral.SchemaRequest, response *ephemeral.SchemaResponse) { + w.inner.Schema(ctx, request, response) } - interceptedHandler(w.opts.interceptors.ephemeralResourceSchema(), f, ephemeralSchemaHasError, w.meta)(ctx, &request, response) + interceptedHandler(w.opts.interceptors.ephemeralResourceSchema(), f, ephemeralSchemaHasError, w.meta)(ctx, request, response) // Validate the ephemeral resource's model against the schema. if v, ok := w.inner.(framework.EphemeralResourceValidateModel); ok { @@ -193,10 +193,10 @@ func (w *wrappedEphemeralResource) Open(ctx context.Context, request ephemeral.O return } - f := func(ctx context.Context, request *ephemeral.OpenRequest, response *ephemeral.OpenResponse) { - w.inner.Open(ctx, *request, response) + f := func(ctx context.Context, request ephemeral.OpenRequest, response *ephemeral.OpenResponse) { + w.inner.Open(ctx, request, response) } - interceptedHandler(w.opts.interceptors.ephemeralResourceOpen(), f, ephemeralOpenHasError, w.meta)(ctx, &request, response) + interceptedHandler(w.opts.interceptors.ephemeralResourceOpen(), f, ephemeralOpenHasError, w.meta)(ctx, request, response) } func (w *wrappedEphemeralResource) Configure(ctx context.Context, request ephemeral.ConfigureRequest, response *ephemeral.ConfigureResponse) { @@ -221,10 +221,10 @@ func (w *wrappedEphemeralResource) Renew(ctx context.Context, request ephemeral. return } - f := func(ctx context.Context, request *ephemeral.RenewRequest, response *ephemeral.RenewResponse) { - v.Renew(ctx, *request, response) + f := func(ctx context.Context, request ephemeral.RenewRequest, response *ephemeral.RenewResponse) { + v.Renew(ctx, request, response) } - interceptedHandler(w.opts.interceptors.ephemeralResourceRenew(), f, ephemeralRenewHasError, w.meta)(ctx, &request, response) + interceptedHandler(w.opts.interceptors.ephemeralResourceRenew(), f, ephemeralRenewHasError, w.meta)(ctx, request, response) } } @@ -236,10 +236,10 @@ func (w *wrappedEphemeralResource) Close(ctx context.Context, request ephemeral. return } - f := func(ctx context.Context, request *ephemeral.CloseRequest, response *ephemeral.CloseResponse) { - v.Close(ctx, *request, response) + f := func(ctx context.Context, request ephemeral.CloseRequest, response *ephemeral.CloseResponse) { + v.Close(ctx, request, response) } - interceptedHandler(w.opts.interceptors.ephemeralResourceClose(), f, ephemeralCloseHasError, w.meta)(ctx, &request, response) + interceptedHandler(w.opts.interceptors.ephemeralResourceClose(), f, ephemeralCloseHasError, w.meta)(ctx, request, response) } } @@ -311,10 +311,10 @@ func (w *wrappedResource) Schema(ctx context.Context, request resource.SchemaReq return } - f := func(ctx context.Context, request *resource.SchemaRequest, response *resource.SchemaResponse) { - w.inner.Schema(ctx, *request, response) + f := func(ctx context.Context, request resource.SchemaRequest, response *resource.SchemaResponse) { + w.inner.Schema(ctx, request, response) } - interceptedHandler(w.opts.interceptors.resourceSchema(), f, resourceSchemaHasError, w.meta)(ctx, &request, response) + interceptedHandler(w.opts.interceptors.resourceSchema(), f, resourceSchemaHasError, w.meta)(ctx, request, response) // Validate the resource's model against the schema. if v, ok := w.inner.(framework.ResourceValidateModel); ok { @@ -335,10 +335,10 @@ func (w *wrappedResource) Create(ctx context.Context, request resource.CreateReq return } - f := func(ctx context.Context, request *resource.CreateRequest, response *resource.CreateResponse) { - w.inner.Create(ctx, *request, response) + f := func(ctx context.Context, request resource.CreateRequest, response *resource.CreateResponse) { + w.inner.Create(ctx, request, response) } - interceptedHandler(w.opts.interceptors.resourceCreate(), f, resourceCreateHasError, w.meta)(ctx, &request, response) + interceptedHandler(w.opts.interceptors.resourceCreate(), f, resourceCreateHasError, w.meta)(ctx, request, response) } func (w *wrappedResource) Read(ctx context.Context, request resource.ReadRequest, response *resource.ReadResponse) { @@ -348,10 +348,10 @@ func (w *wrappedResource) Read(ctx context.Context, request resource.ReadRequest return } - f := func(ctx context.Context, request *resource.ReadRequest, response *resource.ReadResponse) { - w.inner.Read(ctx, *request, response) + f := func(ctx context.Context, request resource.ReadRequest, response *resource.ReadResponse) { + w.inner.Read(ctx, request, response) } - interceptedHandler(w.opts.interceptors.resourceRead(), f, resourceReadHasError, w.meta)(ctx, &request, response) + interceptedHandler(w.opts.interceptors.resourceRead(), f, resourceReadHasError, w.meta)(ctx, request, response) } func (w *wrappedResource) Update(ctx context.Context, request resource.UpdateRequest, response *resource.UpdateResponse) { @@ -361,10 +361,10 @@ func (w *wrappedResource) Update(ctx context.Context, request resource.UpdateReq return } - f := func(ctx context.Context, request *resource.UpdateRequest, response *resource.UpdateResponse) { - w.inner.Update(ctx, *request, response) + f := func(ctx context.Context, request resource.UpdateRequest, response *resource.UpdateResponse) { + w.inner.Update(ctx, request, response) } - interceptedHandler(w.opts.interceptors.resourceUpdate(), f, resourceUpdateHasError, w.meta)(ctx, &request, response) + interceptedHandler(w.opts.interceptors.resourceUpdate(), f, resourceUpdateHasError, w.meta)(ctx, request, response) } func (w *wrappedResource) Delete(ctx context.Context, request resource.DeleteRequest, response *resource.DeleteResponse) { @@ -374,10 +374,10 @@ func (w *wrappedResource) Delete(ctx context.Context, request resource.DeleteReq return } - f := func(ctx context.Context, request *resource.DeleteRequest, response *resource.DeleteResponse) { - w.inner.Delete(ctx, *request, response) + f := func(ctx context.Context, request resource.DeleteRequest, response *resource.DeleteResponse) { + w.inner.Delete(ctx, request, response) } - interceptedHandler(w.opts.interceptors.resourceDelete(), f, resourceDeleteHasError, w.meta)(ctx, &request, response) + interceptedHandler(w.opts.interceptors.resourceDelete(), f, resourceDeleteHasError, w.meta)(ctx, request, response) } func (w *wrappedResource) Configure(ctx context.Context, request resource.ConfigureRequest, response *resource.ConfigureResponse) { @@ -403,10 +403,10 @@ func (w *wrappedResource) ImportState(ctx context.Context, request resource.Impo } ctx = importer.Context(ctx, w.meta) - f := func(ctx context.Context, request *resource.ImportStateRequest, response *resource.ImportStateResponse) { - v.ImportState(ctx, *request, response) + f := func(ctx context.Context, request resource.ImportStateRequest, response *resource.ImportStateResponse) { + v.ImportState(ctx, request, response) } - interceptedHandler(w.opts.interceptors.resourceImportState(), f, resourceImportStateHasError, w.meta)(ctx, &request, response) + interceptedHandler(w.opts.interceptors.resourceImportState(), f, resourceImportStateHasError, w.meta)(ctx, request, response) return } @@ -425,14 +425,14 @@ func (w *wrappedResource) ModifyPlan(ctx context.Context, request resource.Modif } // We run ModifyPlan interceptors even if the resource has not defined a ModifyPlan method. - f := func(ctx context.Context, request *resource.ModifyPlanRequest, response *resource.ModifyPlanResponse) { + f := func(ctx context.Context, request resource.ModifyPlanRequest, response *resource.ModifyPlanResponse) { } if v, ok := w.inner.(resource.ResourceWithModifyPlan); ok { - f = func(ctx context.Context, request *resource.ModifyPlanRequest, response *resource.ModifyPlanResponse) { - v.ModifyPlan(ctx, *request, response) + f = func(ctx context.Context, request resource.ModifyPlanRequest, response *resource.ModifyPlanResponse) { + v.ModifyPlan(ctx, request, response) } } - interceptedHandler(w.opts.interceptors.resourceModifyPlan(), f, resourceModifyPlanHasError, w.meta)(ctx, &request, response) + interceptedHandler(w.opts.interceptors.resourceModifyPlan(), f, resourceModifyPlanHasError, w.meta)(ctx, request, response) } func (w *wrappedResource) ConfigValidators(ctx context.Context) []resource.ConfigValidator { From 8d9bc93608d605b829b61aac4a4172723c0c4740 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 8 Aug 2025 17:39:02 -0700 Subject: [PATCH 0759/1301] Passes `inner` operation function directly to `interceptedHandler` --- internal/provider/framework/wrap.go | 64 ++++++----------------------- 1 file changed, 13 insertions(+), 51 deletions(-) diff --git a/internal/provider/framework/wrap.go b/internal/provider/framework/wrap.go index 31614858dcfc..821790cf80e6 100644 --- a/internal/provider/framework/wrap.go +++ b/internal/provider/framework/wrap.go @@ -59,10 +59,7 @@ func (w *wrappedDataSource) Schema(ctx context.Context, request datasource.Schem return } - f := func(ctx context.Context, request datasource.SchemaRequest, response *datasource.SchemaResponse) { - w.inner.Schema(ctx, request, response) - } - interceptedHandler(w.opts.interceptors.dataSourceSchema(), f, dataSourceSchemaHasError, w.meta)(ctx, request, response) + interceptedHandler(w.opts.interceptors.dataSourceSchema(), w.inner.Schema, dataSourceSchemaHasError, w.meta)(ctx, request, response) if response.Diagnostics.HasError() { return } @@ -86,10 +83,7 @@ func (w *wrappedDataSource) Read(ctx context.Context, request datasource.ReadReq return } - f := func(ctx context.Context, request datasource.ReadRequest, response *datasource.ReadResponse) { - w.inner.Read(ctx, request, response) - } - interceptedHandler(w.opts.interceptors.dataSourceRead(), f, dataSourceReadHasError, w.meta)(ctx, request, response) + interceptedHandler(w.opts.interceptors.dataSourceRead(), w.inner.Read, dataSourceReadHasError, w.meta)(ctx, request, response) } func (w *wrappedDataSource) Configure(ctx context.Context, request datasource.ConfigureRequest, response *datasource.ConfigureResponse) { @@ -169,10 +163,7 @@ func (w *wrappedEphemeralResource) Schema(ctx context.Context, request ephemeral return } - f := func(ctx context.Context, request ephemeral.SchemaRequest, response *ephemeral.SchemaResponse) { - w.inner.Schema(ctx, request, response) - } - interceptedHandler(w.opts.interceptors.ephemeralResourceSchema(), f, ephemeralSchemaHasError, w.meta)(ctx, request, response) + interceptedHandler(w.opts.interceptors.ephemeralResourceSchema(), w.inner.Schema, ephemeralSchemaHasError, w.meta)(ctx, request, response) // Validate the ephemeral resource's model against the schema. if v, ok := w.inner.(framework.EphemeralResourceValidateModel); ok { @@ -193,10 +184,7 @@ func (w *wrappedEphemeralResource) Open(ctx context.Context, request ephemeral.O return } - f := func(ctx context.Context, request ephemeral.OpenRequest, response *ephemeral.OpenResponse) { - w.inner.Open(ctx, request, response) - } - interceptedHandler(w.opts.interceptors.ephemeralResourceOpen(), f, ephemeralOpenHasError, w.meta)(ctx, request, response) + interceptedHandler(w.opts.interceptors.ephemeralResourceOpen(), w.inner.Open, ephemeralOpenHasError, w.meta)(ctx, request, response) } func (w *wrappedEphemeralResource) Configure(ctx context.Context, request ephemeral.ConfigureRequest, response *ephemeral.ConfigureResponse) { @@ -221,10 +209,7 @@ func (w *wrappedEphemeralResource) Renew(ctx context.Context, request ephemeral. return } - f := func(ctx context.Context, request ephemeral.RenewRequest, response *ephemeral.RenewResponse) { - v.Renew(ctx, request, response) - } - interceptedHandler(w.opts.interceptors.ephemeralResourceRenew(), f, ephemeralRenewHasError, w.meta)(ctx, request, response) + interceptedHandler(w.opts.interceptors.ephemeralResourceRenew(), v.Renew, ephemeralRenewHasError, w.meta)(ctx, request, response) } } @@ -236,10 +221,7 @@ func (w *wrappedEphemeralResource) Close(ctx context.Context, request ephemeral. return } - f := func(ctx context.Context, request ephemeral.CloseRequest, response *ephemeral.CloseResponse) { - v.Close(ctx, request, response) - } - interceptedHandler(w.opts.interceptors.ephemeralResourceClose(), f, ephemeralCloseHasError, w.meta)(ctx, request, response) + interceptedHandler(w.opts.interceptors.ephemeralResourceClose(), v.Close, ephemeralCloseHasError, w.meta)(ctx, request, response) } } @@ -311,10 +293,7 @@ func (w *wrappedResource) Schema(ctx context.Context, request resource.SchemaReq return } - f := func(ctx context.Context, request resource.SchemaRequest, response *resource.SchemaResponse) { - w.inner.Schema(ctx, request, response) - } - interceptedHandler(w.opts.interceptors.resourceSchema(), f, resourceSchemaHasError, w.meta)(ctx, request, response) + interceptedHandler(w.opts.interceptors.resourceSchema(), w.inner.Schema, resourceSchemaHasError, w.meta)(ctx, request, response) // Validate the resource's model against the schema. if v, ok := w.inner.(framework.ResourceValidateModel); ok { @@ -335,10 +314,7 @@ func (w *wrappedResource) Create(ctx context.Context, request resource.CreateReq return } - f := func(ctx context.Context, request resource.CreateRequest, response *resource.CreateResponse) { - w.inner.Create(ctx, request, response) - } - interceptedHandler(w.opts.interceptors.resourceCreate(), f, resourceCreateHasError, w.meta)(ctx, request, response) + interceptedHandler(w.opts.interceptors.resourceCreate(), w.inner.Create, resourceCreateHasError, w.meta)(ctx, request, response) } func (w *wrappedResource) Read(ctx context.Context, request resource.ReadRequest, response *resource.ReadResponse) { @@ -348,10 +324,7 @@ func (w *wrappedResource) Read(ctx context.Context, request resource.ReadRequest return } - f := func(ctx context.Context, request resource.ReadRequest, response *resource.ReadResponse) { - w.inner.Read(ctx, request, response) - } - interceptedHandler(w.opts.interceptors.resourceRead(), f, resourceReadHasError, w.meta)(ctx, request, response) + interceptedHandler(w.opts.interceptors.resourceRead(), w.inner.Read, resourceReadHasError, w.meta)(ctx, request, response) } func (w *wrappedResource) Update(ctx context.Context, request resource.UpdateRequest, response *resource.UpdateResponse) { @@ -361,10 +334,7 @@ func (w *wrappedResource) Update(ctx context.Context, request resource.UpdateReq return } - f := func(ctx context.Context, request resource.UpdateRequest, response *resource.UpdateResponse) { - w.inner.Update(ctx, request, response) - } - interceptedHandler(w.opts.interceptors.resourceUpdate(), f, resourceUpdateHasError, w.meta)(ctx, request, response) + interceptedHandler(w.opts.interceptors.resourceUpdate(), w.inner.Update, resourceUpdateHasError, w.meta)(ctx, request, response) } func (w *wrappedResource) Delete(ctx context.Context, request resource.DeleteRequest, response *resource.DeleteResponse) { @@ -374,10 +344,7 @@ func (w *wrappedResource) Delete(ctx context.Context, request resource.DeleteReq return } - f := func(ctx context.Context, request resource.DeleteRequest, response *resource.DeleteResponse) { - w.inner.Delete(ctx, request, response) - } - interceptedHandler(w.opts.interceptors.resourceDelete(), f, resourceDeleteHasError, w.meta)(ctx, request, response) + interceptedHandler(w.opts.interceptors.resourceDelete(), w.inner.Delete, resourceDeleteHasError, w.meta)(ctx, request, response) } func (w *wrappedResource) Configure(ctx context.Context, request resource.ConfigureRequest, response *resource.ConfigureResponse) { @@ -403,10 +370,7 @@ func (w *wrappedResource) ImportState(ctx context.Context, request resource.Impo } ctx = importer.Context(ctx, w.meta) - f := func(ctx context.Context, request resource.ImportStateRequest, response *resource.ImportStateResponse) { - v.ImportState(ctx, request, response) - } - interceptedHandler(w.opts.interceptors.resourceImportState(), f, resourceImportStateHasError, w.meta)(ctx, request, response) + interceptedHandler(w.opts.interceptors.resourceImportState(), v.ImportState, resourceImportStateHasError, w.meta)(ctx, request, response) return } @@ -428,9 +392,7 @@ func (w *wrappedResource) ModifyPlan(ctx context.Context, request resource.Modif f := func(ctx context.Context, request resource.ModifyPlanRequest, response *resource.ModifyPlanResponse) { } if v, ok := w.inner.(resource.ResourceWithModifyPlan); ok { - f = func(ctx context.Context, request resource.ModifyPlanRequest, response *resource.ModifyPlanResponse) { - v.ModifyPlan(ctx, request, response) - } + f = v.ModifyPlan } interceptedHandler(w.opts.interceptors.resourceModifyPlan(), f, resourceModifyPlanHasError, w.meta)(ctx, request, response) } From 4eea73f71879c00d3d7283d0dbeeb5d390b8d285 Mon Sep 17 00:00:00 2001 From: Anthony Wat Date: Sat, 9 Aug 2025 19:16:08 -0400 Subject: [PATCH 0760/1301] chore: Upgrade cedar-go to v1.2.6 + refactor usages in r/aws_verifiedpermissions_policy --- .changelog/43793.txt | 3 ++ go.mod | 3 +- go.sum | 6 ++- .../service/verifiedpermissions/policy.go | 45 +++++++------------ .../verifiedpermissions/policy_test.go | 26 +++++++++++ 5 files changed, 50 insertions(+), 33 deletions(-) create mode 100644 .changelog/43793.txt diff --git a/.changelog/43793.txt b/.changelog/43793.txt new file mode 100644 index 000000000000..b81f342de983 --- /dev/null +++ b/.changelog/43793.txt @@ -0,0 +1,3 @@ +```release-note:bug +resource/aws_verifiedpermissions_policy: Upgrade `cedar-go` to v1.6.2 and replace previously experimental API usages with that of the current API +``` \ No newline at end of file diff --git a/go.mod b/go.mod index c1e2d3257ece..57fcc3be492f 100644 --- a/go.mod +++ b/go.mod @@ -271,7 +271,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/xray v1.33.0 github.com/aws/smithy-go v1.22.5 github.com/beevik/etree v1.5.1 - github.com/cedar-policy/cedar-go v0.1.0 + github.com/cedar-policy/cedar-go v1.2.6 github.com/davecgh/go-spew v1.1.1 github.com/dlclark/regexp2 v1.11.5 github.com/gertd/go-pluralize v0.2.1 @@ -372,6 +372,7 @@ require ( go.opentelemetry.io/otel v1.36.0 // indirect go.opentelemetry.io/otel/metric v1.36.0 // indirect go.opentelemetry.io/otel/trace v1.36.0 // indirect + golang.org/x/exp v0.0.0-20220921023135-46d9e7742f1e // indirect golang.org/x/mod v0.26.0 // indirect golang.org/x/net v0.42.0 // indirect golang.org/x/sync v0.16.0 // indirect diff --git a/go.sum b/go.sum index 154d9bcad3af..2e3abd85ae42 100644 --- a/go.sum +++ b/go.sum @@ -571,8 +571,8 @@ github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc h1:biVzkmvwrH8 github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZlaQsNA= github.com/bufbuild/protocompile v0.4.0/go.mod h1:3v93+mbWn/v3xzN+31nwkJfrEpAUwp+BagBSZWx+TP8= -github.com/cedar-policy/cedar-go v0.1.0 h1:2tZwWn8tNO/896YAM7OQmH3vn98EeHEA3g9anwdVZvA= -github.com/cedar-policy/cedar-go v0.1.0/go.mod h1:pEgiK479O5dJfzXnTguOMm+bCplzy5rEEFPGdZKPWz4= +github.com/cedar-policy/cedar-go v1.2.6 h1:q6f1sRxhoBG7lnK/fH6oBG33ruf2yIpcfcPXNExANa0= +github.com/cedar-policy/cedar-go v1.2.6/go.mod h1:h5+3CVW1oI5LXVskJG+my9TFCYI5yjh/+Ul3EJie6MI= github.com/cloudflare/circl v1.6.1 h1:zqIqSPIndyBh1bjLVVDHMPpVKqp8Su/V+6MeDzzQBQ0= github.com/cloudflare/circl v1.6.1/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs= github.com/cyphar/filepath-securejoin v0.4.1 h1:JyxxyPEaktOD+GAnqIqTf9A8tHyAG22rowi7HkoSU1s= @@ -805,6 +805,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM= golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY= +golang.org/x/exp v0.0.0-20220921023135-46d9e7742f1e h1:Ctm9yurWsg7aWwIpH9Bnap/IdSVxixymIb3MhiMEQQA= +golang.org/x/exp v0.0.0-20220921023135-46d9e7742f1e/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.26.0 h1:EGMPT//Ezu+ylkCijjPc+f4Aih7sZvaAr+O3EHBxvZg= golang.org/x/mod v0.26.0/go.mod h1:/j6NAhSk8iQ723BGAUyoAcn7SlD7s15Dp9Nd/SfeaFQ= diff --git a/internal/service/verifiedpermissions/policy.go b/internal/service/verifiedpermissions/policy.go index 342b936e26d6..fed28989ebd8 100644 --- a/internal/service/verifiedpermissions/policy.go +++ b/internal/service/verifiedpermissions/policy.go @@ -9,7 +9,7 @@ import ( "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/service/verifiedpermissions" awstypes "github.com/aws/aws-sdk-go-v2/service/verifiedpermissions/types" - cedar "github.com/cedar-policy/cedar-go/x/exp/parser" + "github.com/cedar-policy/cedar-go" "github.com/hashicorp/terraform-plugin-framework-timetypes/timetypes" "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" "github.com/hashicorp/terraform-plugin-framework/path" @@ -184,46 +184,31 @@ func statementReplaceIf(_ context.Context, req planmodifier.StringRequest, resp return } - cedarPlan, err := cedar.Tokenize([]byte(req.PlanValue.ValueString())) + // Parse the plan policy + planPolicies, err := cedar.NewPolicyListFromBytes("plan.cedar", []byte(req.PlanValue.ValueString())) if err != nil { - resp.Diagnostics.AddError(err.Error(), err.Error()) + resp.Diagnostics.AddError("Failed to parse plan policy", err.Error()) return } - cedarState, err := cedar.Tokenize([]byte(req.StateValue.ValueString())) + // Parse the state policy + statePolicies, err := cedar.NewPolicyListFromBytes("state.cedar", []byte(req.StateValue.ValueString())) if err != nil { - resp.Diagnostics.AddError(err.Error(), err.Error()) + resp.Diagnostics.AddError("Failed to parse state policy", err.Error()) return } - policyPlan, err := cedar.Parse(cedarPlan) - if err != nil { - resp.Diagnostics.AddError(err.Error(), err.Error()) - return - } - - policyState, err := cedar.Parse(cedarState) - if err != nil { - resp.Diagnostics.AddError(err.Error(), err.Error()) - return - } - - var policyPrincipal bool - if len(policyPlan) > 0 && len(policyState) > 0 && (len(policyPlan[0].Principal.Entity.Path) > 0 && (len(policyState[0].Principal.Entity.Path)) > 0) { - policyPrincipal = (policyPlan[0].Principal.Entity.String() != policyState[0].Principal.Entity.String()) || (policyPlan[0].Principal.Type != policyState[0].Principal.Type) - } - - var policyResource bool - if len(policyPlan) > 0 && len(policyState) > 0 && (len(policyPlan[0].Resource.Entity.Path) > 0 && (len(policyState[0].Resource.Entity.Path)) > 0) { - policyResource = (policyPlan[0].Resource.Entity.String() != policyState[0].Resource.Entity.String()) || (policyPlan[0].Resource.Type != policyState[0].Resource.Type) - } + var policyPrincipal, policyResource, policyEffect bool + if len(planPolicies) > 0 && len(statePolicies) > 0 { + planPolicyAST := planPolicies[0].AST() + statePolicyAST := statePolicies[0].AST() - var policyEffect bool - if len(policyPlan) > 0 && len(policyState) > 0 { - policyEffect = policyPlan[0].Effect != policyState[0].Effect + policyEffect = planPolicyAST.Effect != statePolicyAST.Effect + policyPrincipal = planPolicyAST.Principal != statePolicyAST.Principal + policyResource = planPolicyAST.Resource != statePolicyAST.Resource } - resp.RequiresReplace = policyEffect || policyResource || policyPrincipal + resp.RequiresReplace = policyEffect || policyPrincipal || policyResource } const ( diff --git a/internal/service/verifiedpermissions/policy_test.go b/internal/service/verifiedpermissions/policy_test.go index 975260ab2a13..297cbf25390b 100644 --- a/internal/service/verifiedpermissions/policy_test.go +++ b/internal/service/verifiedpermissions/policy_test.go @@ -13,6 +13,7 @@ import ( awstypes "github.com/aws/aws-sdk-go-v2/service/verifiedpermissions/types" sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/plancheck" "github.com/hashicorp/terraform-plugin-testing/terraform" "github.com/hashicorp/terraform-provider-aws/internal/acctest" "github.com/hashicorp/terraform-provider-aws/internal/conns" @@ -115,6 +116,7 @@ func TestAccVerifiedPermissionsPolicy_update(t *testing.T) { policyStatement := "permit (principal, action == Action::\"view\", resource in Album:: \"test_album\");" policyStatementActionUpdated := "permit (principal, action == Action::\"write\", resource in Album:: \"test_album\");" policyStatementEffectUpdated := "forbid (principal, action == Action::\"view\", resource in Album:: \"test_album\");" + policyStatementResourceUpdated := "forbid (principal, action == Action::\"view\", resource in Album:: \"test_album_updated\");" resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { @@ -136,6 +138,11 @@ func TestAccVerifiedPermissionsPolicy_update(t *testing.T) { }, { Config: testAccPolicyConfig_basic(rName, policyStatementActionUpdated), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + }, + }, Check: resource.ComposeTestCheckFunc( testAccCheckPolicyExists(ctx, resourceName, &policy), resource.TestCheckResourceAttr(resourceName, "definition.0.static.0.description", rName), @@ -145,6 +152,11 @@ func TestAccVerifiedPermissionsPolicy_update(t *testing.T) { }, { Config: testAccPolicyConfig_basic(rName, policyStatementEffectUpdated), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionReplace), + }, + }, Check: resource.ComposeTestCheckFunc( testAccCheckPolicyExists(ctx, resourceName, &policy), resource.TestCheckResourceAttr(resourceName, "definition.0.static.0.description", rName), @@ -152,6 +164,20 @@ func TestAccVerifiedPermissionsPolicy_update(t *testing.T) { resource.TestCheckResourceAttrSet(resourceName, "policy_id"), ), }, + { + Config: testAccPolicyConfig_basic(rName, policyStatementResourceUpdated), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionReplace), + }, + }, + Check: resource.ComposeTestCheckFunc( + testAccCheckPolicyExists(ctx, resourceName, &policy), + resource.TestCheckResourceAttr(resourceName, "definition.0.static.0.description", rName), + resource.TestCheckResourceAttr(resourceName, "definition.0.static.0.statement", policyStatementResourceUpdated), + resource.TestCheckResourceAttrSet(resourceName, "policy_id"), + ), + }, }, }) } From 98909e59ff9f94ae0e054a15c924d9a94d630b60 Mon Sep 17 00:00:00 2001 From: tabito Date: Sun, 10 Aug 2025 10:53:38 +0900 Subject: [PATCH 0761/1301] Add Runner Project documentation section to aws_codebuild_project --- website/docs/r/codebuild_project.html.markdown | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/website/docs/r/codebuild_project.html.markdown b/website/docs/r/codebuild_project.html.markdown index 68023663b338..027e983256a7 100755 --- a/website/docs/r/codebuild_project.html.markdown +++ b/website/docs/r/codebuild_project.html.markdown @@ -14,6 +14,8 @@ source (e.g., the "rebuild every time a code change is pushed" option in the Cod ## Example Usage +### Basic Usage + ```terraform resource "aws_s3_bucket" "example" { bucket = "example" @@ -260,6 +262,11 @@ resource "aws_codebuild_project" "project-using-github-app" { } ``` +### Runner Project + +While no special configuration is required for `aws_codebuild_project` to create a project as a Runner Project, an `aws_codebuild_webhook` resource with an appropriate `filter_group` is required. +See the [`aws_codebuild_webhook` resource documentation example](/docs/providers/aws/r/codebuild_webhook.html#for-codebuild-runner-project) for more details. + ## Argument Reference The following arguments are required: From 3c49ed6d71ad1b1319c05c1e894f76abfd6cc869 Mon Sep 17 00:00:00 2001 From: tabito Date: Sun, 10 Aug 2025 10:56:37 +0900 Subject: [PATCH 0762/1301] Add an example for CodeBuild Runner Project to aws_codebuild_webhook --- website/docs/r/codebuild_webhook.html.markdown | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/website/docs/r/codebuild_webhook.html.markdown b/website/docs/r/codebuild_webhook.html.markdown index 79da76f115bf..f7b06dbebbe2 100644 --- a/website/docs/r/codebuild_webhook.html.markdown +++ b/website/docs/r/codebuild_webhook.html.markdown @@ -64,6 +64,24 @@ resource "github_repository_webhook" "example" { } ``` +### For CodeBuild Runner Project + +To create a CodeBuild project as a Runner Project, the following `aws_codebuild_webhook` resource is required for the project. +See thr [AWS Documentation](https://docs.aws.amazon.com/codebuild/latest/userguide/action-runner.html) for more information about CodeBuild Runner Projects. + +```terraform +resource "aws_codebuild_webhook" "example" { + project_name = aws_codebuild_project.example.name + build_type = "BUILD" + filter_group { + filter { + type = "EVENT" + pattern = "WORKFLOW_JOB_QUEUED" + } + } +} +``` + ## Argument Reference This resource supports the following arguments: From 41f8f5a47c3baef1882be0bf7b77270d91cd602f Mon Sep 17 00:00:00 2001 From: Anthony Wat Date: Sun, 10 Aug 2025 03:02:42 -0400 Subject: [PATCH 0763/1301] chore: Remove aws.StringSlice usage from r/aws_amplify_app --- internal/service/amplify/app.go | 2 +- internal/service/amplify/app_test.go | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/internal/service/amplify/app.go b/internal/service/amplify/app.go index f8012e1ebaf1..4ce53bc4a68b 100644 --- a/internal/service/amplify/app.go +++ b/internal/service/amplify/app.go @@ -460,7 +460,7 @@ func resourceAppRead(ctx context.Context, d *schema.ResourceData, meta any) diag } else { d.Set("auto_branch_creation_config", nil) } - d.Set("auto_branch_creation_patterns", aws.StringSlice(app.AutoBranchCreationPatterns)) + d.Set("auto_branch_creation_patterns", app.AutoBranchCreationPatterns) d.Set("basic_auth_credentials", app.BasicAuthCredentials) d.Set("build_spec", app.BuildSpec) if app.CacheConfig != nil { diff --git a/internal/service/amplify/app_test.go b/internal/service/amplify/app_test.go index 3c3048cc1637..e18c961af83d 100644 --- a/internal/service/amplify/app_test.go +++ b/internal/service/amplify/app_test.go @@ -141,10 +141,11 @@ func testAccApp_AutoBranchCreationConfig(t *testing.T) { Check: resource.ComposeTestCheckFunc( testAccCheckAppExists(ctx, resourceName, &app), resource.TestCheckResourceAttr(resourceName, "auto_branch_creation_config.#", "1"), - resource.TestCheckResourceAttr(resourceName, "auto_branch_creation_config.0.basic_auth_credentials", credentials), + // resource.TestCheckResourceAttr(resourceName, "auto_branch_creation_config.0.basic_auth_credentials", credentials), resource.TestCheckResourceAttr(resourceName, "auto_branch_creation_config.0.build_spec", "version: 0.1"), resource.TestCheckResourceAttr(resourceName, "auto_branch_creation_config.0.enable_auto_build", acctest.CtTrue), - resource.TestCheckResourceAttr(resourceName, "auto_branch_creation_config.0.enable_basic_auth", acctest.CtTrue), + resource.TestCheckResourceAttr(resourceName, "auto_branch_creation_config.0.enable_basic_auth", acctest.CtFalse), + // resource.TestCheckResourceAttr(resourceName, "auto_branch_creation_config.0.enable_basic_auth", acctest.CtTrue), resource.TestCheckResourceAttr(resourceName, "auto_branch_creation_config.0.enable_performance_mode", acctest.CtFalse), resource.TestCheckResourceAttr(resourceName, "auto_branch_creation_config.0.enable_pull_request_preview", acctest.CtTrue), resource.TestCheckResourceAttr(resourceName, "auto_branch_creation_config.0.environment_variables.%", "1"), @@ -805,8 +806,10 @@ resource "aws_amplify_app" "test" { framework = "React" stage = "DEVELOPMENT" - enable_basic_auth = true - basic_auth_credentials = %[2]q + # enable_basic_auth = true + # basic_auth_credentials = %[2]q + enable_basic_auth = false + basic_auth_credentials = null enable_auto_build = true enable_pull_request_preview = true From ca008c1ab7f411422639373c8089e3562b4adbb8 Mon Sep 17 00:00:00 2001 From: Anthony Wat Date: Sun, 10 Aug 2025 03:50:39 -0400 Subject: [PATCH 0764/1301] chore: Remove aws.StringSlice usages from aws_ec2_client_vpn_endpoint --- internal/service/ec2/vpnclient_endpoint.go | 4 ++-- internal/service/ec2/vpnclient_endpoint_data_source.go | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/service/ec2/vpnclient_endpoint.go b/internal/service/ec2/vpnclient_endpoint.go index 11ce355714ed..c49ccbf292e6 100644 --- a/internal/service/ec2/vpnclient_endpoint.go +++ b/internal/service/ec2/vpnclient_endpoint.go @@ -373,8 +373,8 @@ func resourceClientVPNEndpointRead(ctx context.Context, d *schema.ResourceData, d.Set(names.AttrDescription, ep.Description) d.Set("disconnect_on_session_timeout", ep.DisconnectOnSessionTimeout) d.Set(names.AttrDNSName, ep.DnsName) - d.Set("dns_servers", aws.StringSlice(ep.DnsServers)) - d.Set(names.AttrSecurityGroupIDs, aws.StringSlice(ep.SecurityGroupIds)) + d.Set("dns_servers", ep.DnsServers) + d.Set(names.AttrSecurityGroupIDs, ep.SecurityGroupIds) if aws.ToString(ep.SelfServicePortalUrl) != "" { d.Set("self_service_portal", awstypes.SelfServicePortalEnabled) } else { diff --git a/internal/service/ec2/vpnclient_endpoint_data_source.go b/internal/service/ec2/vpnclient_endpoint_data_source.go index dd57af467bea..462888dce15e 100644 --- a/internal/service/ec2/vpnclient_endpoint_data_source.go +++ b/internal/service/ec2/vpnclient_endpoint_data_source.go @@ -258,8 +258,8 @@ func dataSourceClientVPNEndpointRead(ctx context.Context, d *schema.ResourceData } d.Set(names.AttrDescription, ep.Description) d.Set(names.AttrDNSName, ep.DnsName) - d.Set("dns_servers", aws.StringSlice(ep.DnsServers)) - d.Set(names.AttrSecurityGroupIDs, aws.StringSlice(ep.SecurityGroupIds)) + d.Set("dns_servers", ep.DnsServers) + d.Set(names.AttrSecurityGroupIDs, ep.SecurityGroupIds) if aws.ToString(ep.SelfServicePortalUrl) != "" { d.Set("self_service_portal", awstypes.SelfServicePortalEnabled) } else { From db35c8fdc6cb0d6df59c702dc94b490699d1f1d0 Mon Sep 17 00:00:00 2001 From: Anthony Wat Date: Sun, 10 Aug 2025 04:04:16 -0400 Subject: [PATCH 0765/1301] chore: Remove aws.StringSlice usage from r/aws_iot_indexing_configuration --- internal/service/iot/indexing_configuration.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/iot/indexing_configuration.go b/internal/service/iot/indexing_configuration.go index 3d3bdf4cbcfa..32ad055d5cf2 100644 --- a/internal/service/iot/indexing_configuration.go +++ b/internal/service/iot/indexing_configuration.go @@ -292,7 +292,7 @@ func flattenIndexingFilter(apiObject *awstypes.IndexingFilter) map[string]any { tfMap := map[string]any{} if v := apiObject.NamedShadowNames; v != nil { - tfMap["named_shadow_names"] = aws.StringSlice(v) + tfMap["named_shadow_names"] = v } return tfMap From 20e6a7852ca513fcad00464f3641fbe18f6a48cc Mon Sep 17 00:00:00 2001 From: tabito Date: Sun, 10 Aug 2025 20:28:29 +0900 Subject: [PATCH 0766/1301] Add an example configuration for cross-account data firehose logging --- website/docs/r/flow_log.html.markdown | 136 ++++++++++++++++++++++++++ 1 file changed, 136 insertions(+) diff --git a/website/docs/r/flow_log.html.markdown b/website/docs/r/flow_log.html.markdown index c0ef726e4d38..0472f04983b8 100644 --- a/website/docs/r/flow_log.html.markdown +++ b/website/docs/r/flow_log.html.markdown @@ -174,6 +174,142 @@ resource "aws_s3_bucket" "example" { } ``` +### Cross-Account Amazon Data Firehose Logging + +The following example shows how to set up a flow log in one AWS account (source) that sends logs to an Amazon Data Firehose delivery stream in another AWS account (destination). +See the [AWS Documentation](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs-firehose.html). + +```terraform +# Provider configurations +provider "aws" { + profile = "admin-src" +} + +provider "aws" { + alias = "destination_account" + profile = "admin-dst" +} + +# For source account +resource "aws_vpc" "src" { + // conf... +} + +data "aws_iam_policy_document" "src_assume_role_policy" { + statement { + actions = ["sts:AssumeRole"] + effect = "Allow" + principals { + type = "Service" + identifiers = ["delivery.logs.amazonaws.com"] + } + } +} + +resource "aws_iam_role" "src" { + name = "tf-example-mySourceRole" + assume_role_policy = data.aws_iam_policy_document.src_assume_role_policy.json +} + +data "aws_iam_policy_document" "src_role_policy" { + statement { + effect = "Allow" + actions = ["iam:PassRole"] + resources = [aws_iam_role.src.arn] + + condition { + test = "StringEquals" + variable = "iam:PassedToService" + values = ["delivery.logs.amazonaws.com"] + } + + condition { + test = "StringLike" + variable = "iam:AssociatedResourceARN" + values = [aws_vpc.src.arn] + } + } + + statement { + effect = "Allow" + actions = [ + "logs:CreateLogDelivery", + "logs:DeleteLogDelivery", + "logs:ListLogDeliveries", + "logs:GetLogDelivery" + ] + resources = ["*"] + } + + statement { + effect = "Allow" + actions = ["sts:AssumeRole"] + resources = [aws_iam_role.dst.arn] + } +} +resource "aws_iam_role_policy" "src_policy" { + name = "tf-example-mySourceRolePolicy" + role = aws_iam_role.src.name + policy = data.aws_iam_policy_document.src_role_policy.json +} + +resource "aws_flow_log" "src" { + log_destination_type = "kinesis-data-firehose" + log_destination = aws_kinesis_firehose_delivery_stream.dst.arn + traffic_type = "ALL" + vpc_id = aws_vpc.src.id + iam_role_arn = aws_iam_role.src.arn + deliver_cross_account_role = aws_iam_role.dst.arn +} + +# For destination account +data "aws_iam_policy_document" "dst_assume_role_policy" { + statement { + actions = ["sts:AssumeRole"] + effect = "Allow" + principals { + type = "AWS" + identifiers = [aws_iam_role.src.arn] + } + } +} + +resource "aws_iam_role" "dst" { + provider = aws.destination_account + name = "AWSLogDeliveryFirehoseCrossAccountRole" // must start with "AWSLogDeliveryFirehoseCrossAccountRolePolicy" + assume_role_policy = data.aws_iam_policy_document.dst_assume_role_policy.json +} + +data "aws_iam_policy_document" "dst_role_policy" { + statement { + effect = "Allow" + actions = [ + "iam:CreateServiceLinkedRole", + "firehose:TagDeliveryStream" + ] + resources = ["*"] + } +} + +resource "aws_iam_role_policy" "dst" { + provider = aws.destination_account + name = "AWSLogDeliveryFirehoseCrossAccountRolePolicy" + role = aws_iam_role.dst.name + policy = data.aws_iam_policy_document.dst_role_policy.json +} + +resource "aws_kinesis_firehose_delivery_stream" "dst" { + provider = aws.destination_account + # The tag named "LogDeliveryEnabled" must be set to "true" to allow the service-linked role "AWSServiceRoleForLogDelivery" + # to perform permitted actions on your behalf. + # See: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-infrastructure-Firehose.html + tags = { + LogDeliveryEnabled = "true" + } + # other config... +} +``` + ## Argument Reference This resource supports the following arguments: From 345efee2337320b6b86a95f92075cebf60e9a240 Mon Sep 17 00:00:00 2001 From: tabito Date: Sun, 10 Aug 2025 20:29:13 +0900 Subject: [PATCH 0767/1301] Remove "Kinesis" from the service name of Data Firehose --- website/docs/r/flow_log.html.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/r/flow_log.html.markdown b/website/docs/r/flow_log.html.markdown index 0472f04983b8..6b90d6700553 100644 --- a/website/docs/r/flow_log.html.markdown +++ b/website/docs/r/flow_log.html.markdown @@ -9,7 +9,7 @@ description: |- # Resource: aws_flow_log Provides a VPC/Subnet/ENI/Transit Gateway/Transit Gateway Attachment Flow Log to capture IP traffic for a specific network -interface, subnet, or VPC. Logs are sent to a CloudWatch Log Group, a S3 Bucket, or Amazon Kinesis Data Firehose +interface, subnet, or VPC. Logs are sent to a CloudWatch Log Group, a S3 Bucket, or Amazon Data Firehose ## Example Usage @@ -68,7 +68,7 @@ resource "aws_iam_role_policy" "example" { } ``` -### Amazon Kinesis Data Firehose logging +### Amazon Data Firehose logging ```terraform resource "aws_flow_log" "example" { From d33969fa145fb8bef50015c7d0783840342dd2af Mon Sep 17 00:00:00 2001 From: tabito Date: Sun, 10 Aug 2025 20:48:09 +0900 Subject: [PATCH 0768/1301] Improve IAM role descriptions --- website/docs/r/flow_log.html.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/r/flow_log.html.markdown b/website/docs/r/flow_log.html.markdown index 6b90d6700553..0df541083545 100644 --- a/website/docs/r/flow_log.html.markdown +++ b/website/docs/r/flow_log.html.markdown @@ -316,9 +316,9 @@ This resource supports the following arguments: * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `traffic_type` - (Required) The type of traffic to capture. Valid values: `ACCEPT`,`REJECT`, `ALL`. -* `deliver_cross_account_role` - (Optional) ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts. +* `deliver_cross_account_role` - (Optional) ARN of the IAM role in the destination account used for cross-account delivery of flow logs. * `eni_id` - (Optional) Elastic Network Interface ID to attach to. -* `iam_role_arn` - (Optional) ARN of the IAM role that's used to post flow logs to a CloudWatch Logs log group. +* `iam_role_arn` - (Optional) ARN of the IAM role used to post flow logs. Corresponds to `DeliverLogsPermissionArn` in the [AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFlowLogs.html). * `log_destination_type` - (Optional) Logging destination type. Valid values: `cloud-watch-logs`, `s3`, `kinesis-data-firehose`. Default: `cloud-watch-logs`. * `log_destination` - (Optional) ARN of the logging destination. * `subnet_id` - (Optional) Subnet ID to attach to. From f6c9d05efc2a4bf8d24f4ec8918fb1a711460871 Mon Sep 17 00:00:00 2001 From: tabito Date: Sun, 10 Aug 2025 20:56:55 +0900 Subject: [PATCH 0769/1301] terraform fmt --- website/docs/r/flow_log.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/r/flow_log.html.markdown b/website/docs/r/flow_log.html.markdown index 0df541083545..ec7a7564a845 100644 --- a/website/docs/r/flow_log.html.markdown +++ b/website/docs/r/flow_log.html.markdown @@ -276,7 +276,7 @@ data "aws_iam_policy_document" "dst_assume_role_policy" { resource "aws_iam_role" "dst" { provider = aws.destination_account - name = "AWSLogDeliveryFirehoseCrossAccountRole" // must start with "AWSLogDeliveryFirehoseCrossAccountRolePolicy" + name = "AWSLogDeliveryFirehoseCrossAccountRole" // must start with "AWSLogDeliveryFirehoseCrossAccountRolePolicy" assume_role_policy = data.aws_iam_policy_document.dst_assume_role_policy.json } From 4979303e0f2863123d7c4d9aaeeba244c8024097 Mon Sep 17 00:00:00 2001 From: tabito Date: Sun, 10 Aug 2025 22:55:09 +0900 Subject: [PATCH 0770/1301] fix an issue reported by tflint --- website/docs/r/flow_log.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/r/flow_log.html.markdown b/website/docs/r/flow_log.html.markdown index ec7a7564a845..a777615d059d 100644 --- a/website/docs/r/flow_log.html.markdown +++ b/website/docs/r/flow_log.html.markdown @@ -276,7 +276,7 @@ data "aws_iam_policy_document" "dst_assume_role_policy" { resource "aws_iam_role" "dst" { provider = aws.destination_account - name = "AWSLogDeliveryFirehoseCrossAccountRole" // must start with "AWSLogDeliveryFirehoseCrossAccountRolePolicy" + name = "AWSLogDeliveryFirehoseCrossAccountRole" # must start with "AWSLogDeliveryFirehoseCrossAccountRolePolicy" assume_role_policy = data.aws_iam_policy_document.dst_assume_role_policy.json } From d775bdcd0fdde388878454deb5baf4c965855c97 Mon Sep 17 00:00:00 2001 From: tabito Date: Sun, 10 Aug 2025 23:35:35 +0900 Subject: [PATCH 0771/1301] fix typo --- website/docs/r/flow_log.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/r/flow_log.html.markdown b/website/docs/r/flow_log.html.markdown index a777615d059d..d1de262a80b0 100644 --- a/website/docs/r/flow_log.html.markdown +++ b/website/docs/r/flow_log.html.markdown @@ -192,7 +192,7 @@ provider "aws" { # For source account resource "aws_vpc" "src" { - // conf... + # config... } data "aws_iam_policy_document" "src_assume_role_policy" { From 4408cb2eea6fea0013f569286226dc27a953a80c Mon Sep 17 00:00:00 2001 From: Anthony Wat Date: Sun, 10 Aug 2025 12:33:55 -0400 Subject: [PATCH 0772/1301] chore: Remove aws.StringSlice usages from r/aws_iot_topic_rule_destination --- .../service/iot/topic_rule_destination.go | 4 +-- .../iot/topic_rule_destination_test.go | 27 ++++++++++--------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/internal/service/iot/topic_rule_destination.go b/internal/service/iot/topic_rule_destination.go index d412de453aeb..91b2f17a5792 100644 --- a/internal/service/iot/topic_rule_destination.go +++ b/internal/service/iot/topic_rule_destination.go @@ -405,11 +405,11 @@ func flattenVPCDestinationProperties(apiObject *awstypes.VpcDestinationPropertie } if v := apiObject.SecurityGroups; v != nil { - tfMap[names.AttrSecurityGroups] = aws.StringSlice(v) + tfMap[names.AttrSecurityGroups] = v } if v := apiObject.SubnetIds; v != nil { - tfMap[names.AttrSubnetIDs] = aws.StringSlice(v) + tfMap[names.AttrSubnetIDs] = v } if v := apiObject.VpcId; v != nil { diff --git a/internal/service/iot/topic_rule_destination_test.go b/internal/service/iot/topic_rule_destination_test.go index 3fc80d13c9f2..2212d74baa4d 100644 --- a/internal/service/iot/topic_rule_destination_test.go +++ b/internal/service/iot/topic_rule_destination_test.go @@ -91,7 +91,7 @@ func TestAccIoTTopicRuleDestination_enabled(t *testing.T) { CheckDestroy: testAccCheckTopicRuleDestinationDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccTopicRuleDestinationConfig_enabled(rName, false), + Config: testAccTopicRuleDestinationConfig_enabled(rName, 1, false), Check: resource.ComposeTestCheckFunc( testAccCheckTopicRuleDestinationExists(ctx, resourceName), resource.TestCheckResourceAttr(resourceName, names.AttrEnabled, acctest.CtFalse), @@ -103,16 +103,18 @@ func TestAccIoTTopicRuleDestination_enabled(t *testing.T) { ImportStateVerify: true, }, { - Config: testAccTopicRuleDestinationConfig_enabled(rName, true), + Config: testAccTopicRuleDestinationConfig_enabled(rName, 1, true), Check: resource.ComposeTestCheckFunc( testAccCheckTopicRuleDestinationExists(ctx, resourceName), + resource.TestCheckResourceAttr(resourceName, "vpc_configuration.0.security_groups.#", "1"), resource.TestCheckResourceAttr(resourceName, names.AttrEnabled, acctest.CtTrue), ), }, { - Config: testAccTopicRuleDestinationConfig_enabled(rName, false), + Config: testAccTopicRuleDestinationConfig_enabled(rName, 2, false), Check: resource.ComposeTestCheckFunc( testAccCheckTopicRuleDestinationExists(ctx, resourceName), + resource.TestCheckResourceAttr(resourceName, "vpc_configuration.0.security_groups.#", "2"), resource.TestCheckResourceAttr(resourceName, names.AttrEnabled, acctest.CtFalse), ), }, @@ -169,28 +171,29 @@ func testAccCheckTopicRuleDestinationExists(ctx context.Context, n string) resou } } -func testAccTopicRuleDestinationBaseConfig(rName string) string { +func testAccTopicRuleDestinationBaseConfig(rName string, securityGroupCount int) string { return acctest.ConfigCompose( acctest.ConfigVPCWithSubnets(rName, 2), testAccTopicRuleConfig_destinationRole(rName), fmt.Sprintf(` resource "aws_security_group" "test" { - name = %[1]q + count = %[2]d + name = "%[1]s-${count.index}" vpc_id = aws_vpc.test.id tags = { - Name = %[1]q + Name = "%[1]s-${count.index}" } } -`, rName)) +`, rName, securityGroupCount)) } func testAccTopicRuleDestinationConfig_basic(rName string) string { - return acctest.ConfigCompose(testAccTopicRuleDestinationBaseConfig(rName), ` + return acctest.ConfigCompose(testAccTopicRuleDestinationBaseConfig(rName, 1), ` resource "aws_iot_topic_rule_destination" "test" { vpc_configuration { role_arn = aws_iam_role.test.arn - security_groups = [aws_security_group.test.id] + security_groups = aws_security_group.test[*].id subnet_ids = aws_subnet.test[*].id vpc_id = aws_vpc.test.id } @@ -198,14 +201,14 @@ resource "aws_iot_topic_rule_destination" "test" { `) } -func testAccTopicRuleDestinationConfig_enabled(rName string, enabled bool) string { - return acctest.ConfigCompose(testAccTopicRuleDestinationBaseConfig(rName), fmt.Sprintf(` +func testAccTopicRuleDestinationConfig_enabled(rName string, securityGroupCount int, enabled bool) string { + return acctest.ConfigCompose(testAccTopicRuleDestinationBaseConfig(rName, securityGroupCount), fmt.Sprintf(` resource "aws_iot_topic_rule_destination" "test" { enabled = %[1]t vpc_configuration { role_arn = aws_iam_role.test.arn - security_groups = [aws_security_group.test.id] + security_groups = aws_security_group.test[*].id subnet_ids = aws_subnet.test[*].id vpc_id = aws_vpc.test.id } From dcb20587b739fb9c1e5d3017d22128b4a8d1ac14 Mon Sep 17 00:00:00 2001 From: tabito Date: Mon, 11 Aug 2025 02:00:33 +0900 Subject: [PATCH 0773/1301] fix a format --- website/docs/r/flow_log.html.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/website/docs/r/flow_log.html.markdown b/website/docs/r/flow_log.html.markdown index d1de262a80b0..1f4ee4d517f1 100644 --- a/website/docs/r/flow_log.html.markdown +++ b/website/docs/r/flow_log.html.markdown @@ -247,6 +247,7 @@ data "aws_iam_policy_document" "src_role_policy" { resources = [aws_iam_role.dst.arn] } } + resource "aws_iam_role_policy" "src_policy" { name = "tf-example-mySourceRolePolicy" role = aws_iam_role.src.name From d92cfbbb26539cbe4b83f29f9f387384156b9ade Mon Sep 17 00:00:00 2001 From: Anthony Wat Date: Sun, 10 Aug 2025 15:02:54 -0400 Subject: [PATCH 0774/1301] chore: Remove aws.StringSlice usages from r/aws_storagegateway_smb_file_share --- internal/service/storagegateway/smb_file_share.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/service/storagegateway/smb_file_share.go b/internal/service/storagegateway/smb_file_share.go index 4fe718d9401d..b0ee77406062 100644 --- a/internal/service/storagegateway/smb_file_share.go +++ b/internal/service/storagegateway/smb_file_share.go @@ -319,7 +319,7 @@ func resourceSMBFileShareRead(ctx context.Context, d *schema.ResourceData, meta } d.Set("access_based_enumeration", fileshare.AccessBasedEnumeration) - d.Set("admin_user_list", aws.StringSlice(fileshare.AdminUserList)) + d.Set("admin_user_list", fileshare.AdminUserList) d.Set(names.AttrARN, fileshare.FileShareARN) d.Set("audit_destination_arn", fileshare.AuditDestinationARN) d.Set("authentication", fileshare.Authentication) @@ -337,7 +337,7 @@ func resourceSMBFileShareRead(ctx context.Context, d *schema.ResourceData, meta d.Set("file_share_name", fileshare.FileShareName) d.Set("gateway_arn", fileshare.GatewayARN) d.Set("guess_mime_type_enabled", fileshare.GuessMIMETypeEnabled) - d.Set("invalid_user_list", aws.StringSlice(fileshare.InvalidUserList)) + d.Set("invalid_user_list", fileshare.InvalidUserList) d.Set("kms_encrypted", fileshare.KMSEncrypted) //nolint:staticcheck // deprecated by AWS, but must remain for backward compatibility d.Set(names.AttrKMSKeyARN, fileshare.KMSKey) d.Set("location_arn", fileshare.LocationARN) @@ -349,7 +349,7 @@ func resourceSMBFileShareRead(ctx context.Context, d *schema.ResourceData, meta d.Set("requester_pays", fileshare.RequesterPays) d.Set(names.AttrRoleARN, fileshare.Role) d.Set("smb_acl_enabled", fileshare.SMBACLEnabled) - d.Set("valid_user_list", aws.StringSlice(fileshare.ValidUserList)) + d.Set("valid_user_list", fileshare.ValidUserList) d.Set("vpc_endpoint_dns_name", fileshare.VPCEndpointDNSName) setTagsOut(ctx, fileshare.Tags) From 0829b0d49914711cea3f086f6023b07bb60a939d Mon Sep 17 00:00:00 2001 From: Anthony Wat Date: Sun, 10 Aug 2025 18:42:50 -0400 Subject: [PATCH 0775/1301] chore: Remove aws.StringSlice usage from r/aws_imagebuilder_image --- internal/service/imagebuilder/image.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/imagebuilder/image.go b/internal/service/imagebuilder/image.go index 524d745fde55..2effd9f080dd 100644 --- a/internal/service/imagebuilder/image.go +++ b/internal/service/imagebuilder/image.go @@ -557,7 +557,7 @@ func flattenContainer(apiObject awstypes.Container) map[string]any { tfMap := map[string]any{} if v := apiObject.ImageUris; v != nil { - tfMap["image_uris"] = aws.StringSlice(v) + tfMap["image_uris"] = v } if v := apiObject.Region; v != nil { From 2eef88f2dd8cad5bc385cee2eccac1585e4ee035 Mon Sep 17 00:00:00 2001 From: Anthony Wat Date: Sun, 10 Aug 2025 18:44:23 -0400 Subject: [PATCH 0776/1301] fix: Use custom IAM policy vs. copy service-linked role policy causing policy size error --- internal/service/imagebuilder/image_test.go | 114 ++++++++++++++++---- 1 file changed, 93 insertions(+), 21 deletions(-) diff --git a/internal/service/imagebuilder/image_test.go b/internal/service/imagebuilder/image_test.go index 7185d2fb493e..6a3430b2f12a 100644 --- a/internal/service/imagebuilder/image_test.go +++ b/internal/service/imagebuilder/image_test.go @@ -733,29 +733,102 @@ resource "aws_iam_role" "test_execute" { name = join("-", [%[1]q, "execute"]) } -data "aws_iam_policy" "AWSServiceRoleForImageBuilder" { - arn = "arn:${data.aws_partition.current.partition}:iam::aws:policy/aws-service-role/AWSServiceRoleForImageBuilder" -} - -resource "aws_iam_policy" "test_execute_service_policy" { - name = join("-", [%[1]q, "execute-service"]) - policy = data.aws_iam_policy.AWSServiceRoleForImageBuilder.policy -} - -resource "aws_iam_role_policy_attachment" "test_execute_service" { - policy_arn = aws_iam_policy.test_execute_service_policy.arn - role = aws_iam_role.test_execute.name -} - resource "aws_iam_policy" "test_execute" { name = join("-", [%[1]q, "execute"]) policy = jsonencode({ Version = "2012-10-17" - Statement = [{ - Action = "ssm:SendCommand" - Effect = "Allow" - Resource = "arn:${data.aws_partition.current.partition}:ssm:${data.aws_region.current.id}::document/AWS-UpdateSSMAgent" - }] + Statement = [ + { + Sid = "EC2Lifecycle" + Effect = "Allow" + Action = [ + "ec2:CreateImage", + "ec2:CreateTags", + "ec2:DescribeInstances", + "ec2:DescribeImages", + "ec2:DescribeTags", + "ec2:DescribeInstanceStatus", + "ec2:DescribeInstanceTypeOfferings", + "ec2:RunInstances", + "ec2:StopInstances", + "ec2:TerminateInstances" + ] + Resource = "*" + }, + { + Sid = "SSMExecution" + Effect = "Allow" + Action = [ + "ssm:AddTagsToResource", + "ssm:CreateAssociation", + "ssm:DeleteAssociation", + "ssm:DescribeAssociationExecutions", + "ssm:DescribeDocument", + "ssm:DescribeInstanceAssociationsStatus", + "ssm:DescribeInstanceInformation", + "ssm:GetAutomationExecution", + "ssm:GetCommandInvocation", + "ssm:GetDocument", + "ssm:ListCommands", + "ssm:ListCommandInvocations", + "ssm:ListInventoryEntries", + "ssm:SendAutomationSignal", + "ssm:SendCommand", + "ssm:StopAutomationExecution" + ] + Resource = "*" + }, + { + Sid = "ImageBuilderCore" + Effect = "Allow" + Action = [ + "imagebuilder:GetComponent", + "imagebuilder:GetImage", + "imagebuilder:GetImageRecipe", + "imagebuilder:ListComponents", + "imagebuilder:ListImageBuildVersions", + "imagebuilder:ListImagePackages", + "imagebuilder:ListImagePipelineImages", + "imagebuilder:ListImageRecipes" + ] + Resource = "*" + }, + { + Sid = "ImageScanFindings" + Effect = "Allow" + Action = [ + "inspector2:BatchGet*", + "inspector2:Get*", + "inspector2:List*" + ] + Resource = "*" + }, + { + Sid = "CloudWatchLogging" + Effect = "Allow" + Action = [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ] + Resource = "*" + }, + { + Sid = "PassRole" + Effect = "Allow" + Action = "iam:PassRole" + Resource = "*" + Condition = { + StringEquals = { + "iam:PassedToService" = [ + "ec2.amazonaws.com", + "ec2.amazonaws.com.cn", + "vmie.amazonaws.com" + ] + } + } + } + ] }) } @@ -785,8 +858,7 @@ resource "aws_imagebuilder_image" "test" { } depends_on = [ - aws_iam_role_policy_attachment.test_execute, - aws_iam_role_policy_attachment.test_execute_service + aws_iam_role_policy_attachment.test_execute ] } `, rName), From 1ae7618eaffe4210bd5ccbdbcd23d67b41eb3977 Mon Sep 17 00:00:00 2001 From: team-tf-cdk Date: Mon, 11 Aug 2025 00:38:09 +0000 Subject: [PATCH 0777/1301] cdktf: update index.html.markdown,r/xray_sampling_rule.html.markdown,r/xray_resource_policy.html.markdown,r/xray_group.html.markdown,r/xray_encryption_config.html.markdown,r/workspacesweb_user_settings.html.markdown,r/workspacesweb_user_access_logging_settings.html.markdown,r/workspacesweb_network_settings.html.markdown,r/workspacesweb_ip_access_settings.html.markdown,r/workspacesweb_data_protection_settings.html.markdown,r/workspacesweb_browser_settings.html.markdown,r/workspaces_workspace.html.markdown,r/workspaces_ip_group.html.markdown,r/workspaces_directory.html.markdown,r/workspaces_connection_alias.html.markdown,r/wafv2_web_acl_rule_group_association.html.markdown,r/wafv2_web_acl_logging_configuration.html.markdown,r/wafv2_web_acl_association.html.markdown,r/wafv2_web_acl.html.markdown,r/wafv2_rule_group.html.markdown,r/wafv2_regex_pattern_set.html.markdown,r/wafv2_ip_set.html.markdown,r/wafv2_api_key.html.markdown,r/wafregional_xss_match_set.html.markdown,r/wafregional_web_acl_association.html.markdown,r/wafregional_web_acl.html.markdown,r/wafregional_sql_injection_match_set.html.markdown,r/wafregional_size_constraint_set.html.markdown,r/wafregional_rule_group.html.markdown,r/wafregional_rule.html.markdown,r/wafregional_regex_pattern_set.html.markdown,r/wafregional_regex_match_set.html.markdown,r/wafregional_rate_based_rule.html.markdown,r/wafregional_ipset.html.markdown,r/wafregional_geo_match_set.html.markdown,r/wafregional_byte_match_set.html.markdown,r/waf_xss_match_set.html.markdown,r/waf_web_acl.html.markdown,r/waf_sql_injection_match_set.html.markdown,r/waf_size_constraint_set.html.markdown,r/waf_rule_group.html.markdown,r/waf_rule.html.markdown,r/waf_regex_pattern_set.html.markdown,r/waf_regex_match_set.html.markdown,r/waf_rate_based_rule.html.markdown,r/waf_ipset.html.markdown,r/waf_geo_match_set.html.markdown,r/waf_byte_match_set.html.markdown,r/vpn_gateway_route_propagation.html.markdown,r/vpn_gateway_attachment.html.markdown,r/vpn_gateway.html.markdown,r/vpn_connection_route.html.markdown,r/vpn_connection.html.markdown,r/vpclattice_target_group_attachment.html.markdown,r/vpclattice_target_group.html.markdown,r/vpclattice_service_network_vpc_association.html.markdown,r/vpclattice_service_network_service_association.html.markdown,r/vpclattice_service_network_resource_association.html.markdown,r/vpclattice_service_network.html.markdown,r/vpclattice_service.html.markdown,r/vpclattice_resource_policy.html.markdown,r/vpclattice_resource_gateway.html.markdown,r/vpclattice_resource_configuration.html.markdown,r/vpclattice_listener_rule.html.markdown,r/vpclattice_listener.html.markdown,r/vpclattice_auth_policy.html.markdown,r/vpclattice_access_log_subscription.html.markdown,r/vpc_security_group_vpc_association.html.markdown,r/vpc_security_group_ingress_rule.html.markdown,r/vpc_security_group_egress_rule.html.markdown,r/vpc_route_server_vpc_association.html.markdown,r/vpc_route_server_propagation.html.markdown,r/vpc_route_server_peer.html.markdown,r/vpc_route_server_endpoint.html.markdown,r/vpc_route_server.html.markdown,r/vpc_peering_connection_options.html.markdown,r/vpc_peering_connection_accepter.html.markdown,r/vpc_peering_connection.html.markdown,r/vpc_network_performance_metric_subscription.html.markdown,r/vpc_ipv6_cidr_block_association.html.markdown,r/vpc_ipv4_cidr_block_association.html.markdown,r/vpc_ipam_scope.html.markdown,r/vpc_ipam_resource_discovery_association.html.markdown,r/vpc_ipam_resource_discovery.html.markdown,r/vpc_ipam_preview_next_cidr.html.markdown,r/vpc_ipam_pool_cidr_allocation.html.markdown,r/vpc_ipam_pool_cidr.html.markdown,r/vpc_ipam_pool.html.markdown,r/vpc_ipam_organization_admin_account.html.markdown,r/vpc_ipam.html.markdown,r/vpc_endpoint_subnet_association.html.markdown,r/vpc_endpoint_service_private_dns_verification.html.markdown,r/vpc_endpoint_service_allowed_principal.html.markdown,r/vpc_endpoint_service.html.markdown,r/vpc_endpoint_security_group_association.html.markdown,r/vpc_endpoint_route_table_association.html.markdown,r/vpc_endpoint_private_dns.html.markdown,r/vpc_endpoint_policy.html.markdown,r/vpc_endpoint_connection_notification.html.markdown,r/vpc_endpoint_connection_accepter.html.markdown,r/vpc_endpoint.html.markdown,r/vpc_dhcp_options_association.html.markdown,r/vpc_dhcp_options.html.markdown,r/vpc_block_public_access_options.html.markdown,r/vpc_block_public_access_exclusion.html.markdown,r/vpc.html.markdown,r/volume_attachment.html.markdown,r/verifiedpermissions_schema.html.markdown,r/verifiedpermissions_policy_template.html.markdown,r/verifiedpermissions_policy_store.html.markdown,r/verifiedpermissions_policy.html.markdown,r/verifiedpermissions_identity_source.html.markdown,r/verifiedaccess_trust_provider.html.markdown,r/verifiedaccess_instance_trust_provider_attachment.html.markdown,r/verifiedaccess_instance_logging_configuration.html.markdown,r/verifiedaccess_instance.html.markdown,r/verifiedaccess_group.html.markdown,r/verifiedaccess_endpoint.html.markdown,r/transfer_workflow.html.markdown,r/transfer_user.html.markdown,r/transfer_tag.html.markdown,r/transfer_ssh_key.html.markdown,r/transfer_server.html.markdown,r/transfer_profile.html.markdown,r/transfer_connector.html.markdown,r/transfer_certificate.html.markdown,r/transfer_agreement.html.markdown,r/transfer_access.html.markdown,r/transcribe_vocabulary_filter.html.markdown,r/transcribe_vocabulary.html.markdown,r/transcribe_medical_vocabulary.html.markdown,r/transcribe_language_model.html.markdown,r/timestreamwrite_table.html.markdown,r/timestreamwrite_database.html.markdown,r/timestreamquery_scheduled_query.html.markdown,r/timestreaminfluxdb_db_instance.html.markdown,r/synthetics_group_association.html.markdown,r/synthetics_group.html.markdown,r/synthetics_canary.html.markdown,r/swf_domain.html.markdown,r/subnet.html.markdown,r/storagegateway_working_storage.html.markdown,r/storagegateway_upload_buffer.html.markdown,r/storagegateway_tape_pool.html.markdown,r/storagegateway_stored_iscsi_volume.html.markdown,r/storagegateway_smb_file_share.html.markdown,r/storagegateway_nfs_file_share.html.markdown,r/storagegateway_gateway.html.markdown,r/storagegateway_file_system_association.html.markdown,r/storagegateway_cached_iscsi_volume.html.markdown,r/storagegateway_cache.html.markdown,r/ssoadmin_trusted_token_issuer.html.markdown,r/ssoadmin_permissions_boundary_attachment.html.markdown,r/ssoadmin_permission_set_inline_policy.html.markdown,r/ssoadmin_permission_set.html.markdown,r/ssoadmin_managed_policy_attachment.html.markdown,r/ssoadmin_instance_access_control_attributes.html.markdown,r/ssoadmin_customer_managed_policy_attachment.html.markdown,r/ssoadmin_application_assignment_configuration.html.markdown,r/ssoadmin_application_assignment.html.markdown,r/ssoadmin_application_access_scope.html.markdown,r/ssoadmin_application.html.markdown,r/ssoadmin_account_assignment.html.markdown,r/ssmquicksetup_configuration_manager.html.markdown,r/ssmincidents_response_plan.html.markdown,r/ssmincidents_replication_set.html.markdown,r/ssmcontacts_rotation.html.markdown,r/ssmcontacts_plan.html.markdown,r/ssmcontacts_contact_channel.html.markdown,r/ssmcontacts_contact.html.markdown,r/ssm_service_setting.html.markdown,r/ssm_resource_data_sync.html.markdown,r/ssm_patch_group.html.markdown,r/ssm_patch_baseline.html.markdown,r/ssm_parameter.html.markdown,r/ssm_maintenance_window_task.html.markdown,r/ssm_maintenance_window_target.html.markdown,r/ssm_maintenance_window.html.markdown,r/ssm_document.html.markdown,r/ssm_default_patch_baseline.html.markdown,r/ssm_association.html.markdown,r/ssm_activation.html.markdown,r/sqs_queue_redrive_policy.html.markdown,r/sqs_queue_redrive_allow_policy.html.markdown,r/sqs_queue_policy.html.markdown,r/sqs_queue.html.markdown,r/spot_instance_request.html.markdown,r/spot_fleet_request.html.markdown,r/spot_datafeed_subscription.html.markdown,r/sns_topic_subscription.html.markdown,r/sns_topic_policy.html.markdown,r/sns_topic_data_protection_policy.html.markdown,r/sns_topic.html.markdown,r/sns_sms_preferences.html.markdown,r/sns_platform_application.html.markdown,r/snapshot_create_volume_permission.html.markdown,r/signer_signing_profile_permission.html.markdown,r/signer_signing_profile.html.markdown,r/signer_signing_job.html.markdown,r/shield_subscription.html.markdown,r/shield_protection_health_check_association.html.markdown,r/shield_protection_group.html.markdown,r/shield_protection.html.markdown,r/shield_proactive_engagement.html.markdown,r/shield_drt_access_role_arn_association.html.markdown,r/shield_drt_access_log_bucket_association.html.markdown,r/shield_application_layer_automatic_response.html.markdown,r/sfn_state_machine.html.markdown,r/sfn_alias.html.markdown,r/sfn_activity.html.markdown,r/sesv2_email_identity_policy.html.markdown,r/sesv2_email_identity_mail_from_attributes.html.markdown,r/sesv2_email_identity_feedback_attributes.html.markdown,r/sesv2_email_identity.html.markdown,r/sesv2_dedicated_ip_pool.html.markdown,r/sesv2_dedicated_ip_assignment.html.markdown,r/sesv2_contact_list.html.markdown,r/sesv2_configuration_set_event_destination.html.markdown,r/sesv2_configuration_set.html.markdown,r/sesv2_account_vdm_attributes.html.markdown,r/sesv2_account_suppression_attributes.html.markdown,r/ses_template.html.markdown,r/ses_receipt_rule_set.html.markdown,r/ses_receipt_rule.html.markdown,r/ses_receipt_filter.html.markdown,r/ses_identity_policy.html.markdown,r/ses_identity_notification_topic.html.markdown,r/ses_event_destination.html.markdown,r/ses_email_identity.html.markdown,r/ses_domain_mail_from.html.markdown,r/ses_domain_identity_verification.html.markdown,r/ses_domain_identity.html.markdown,r/ses_domain_dkim.html.markdown,r/ses_configuration_set.html.markdown,r/ses_active_receipt_rule_set.html.markdown,r/servicequotas_template_association.html.markdown,r/servicequotas_template.html.markdown,r/servicequotas_service_quota.html.markdown,r/servicecatalogappregistry_attribute_group_association.html.markdown,r/servicecatalogappregistry_attribute_group.html.markdown,r/servicecatalogappregistry_application.html.markdown,r/servicecatalog_tag_option_resource_association.html.markdown,r/servicecatalog_tag_option.html.markdown,r/servicecatalog_service_action.html.markdown,r/servicecatalog_provisioning_artifact.html.markdown,r/servicecatalog_provisioned_product.html.markdown,r/servicecatalog_product_portfolio_association.html.markdown,r/servicecatalog_product.html.markdown,r/servicecatalog_principal_portfolio_association.html.markdown,r/servicecatalog_portfolio_share.html.markdown,r/servicecatalog_portfolio.html.markdown,r/servicecatalog_organizations_access.html.markdown,r/servicecatalog_constraint.html.markdown,r/servicecatalog_budget_resource_association.html.markdown,r/service_discovery_service.html.markdown,r/service_discovery_public_dns_namespace.html.markdown,r/service_discovery_private_dns_namespace.html.markdown,r/service_discovery_instance.html.markdown,r/service_discovery_http_namespace.html.markdown,r/serverlessapplicationrepository_cloudformation_stack.html.markdown,r/securitylake_subscriber_notification.html.markdown,r/securitylake_subscriber.html.markdown,r/securitylake_data_lake.html.markdown,r/securitylake_custom_log_source.html.markdown,r/securitylake_aws_log_source.html.markdown,r/securityhub_standards_subscription.html.markdown,r/securityhub_standards_control_association.html.markdown,r/securityhub_standards_control.html.markdown,r/securityhub_product_subscription.html.markdown,r/securityhub_organization_configuration.html.markdown,r/securityhub_organization_admin_account.html.markdown,r/securityhub_member.html.markdown,r/securityhub_invite_accepter.html.markdown,r/securityhub_insight.html.markdown,r/securityhub_finding_aggregator.html.markdown,r/securityhub_configuration_policy_association.markdown,r/securityhub_configuration_policy.html.markdown,r/securityhub_automation_rule.html.markdown,r/securityhub_action_target.html.markdown,r/securityhub_account.html.markdown,r/security_group_rule.html.markdown,r/security_group.html.markdown,r/secretsmanager_secret_version.html.markdown,r/secretsmanager_secret_rotation.html.markdown,r/secretsmanager_secret_policy.html.markdown,r/secretsmanager_secret.html.markdown,r/schemas_schema.html.markdown,r/schemas_registry_policy.html.markdown,r/schemas_registry.html.markdown,r/schemas_discoverer.html.markdown,r/scheduler_schedule_group.html.markdown,r/scheduler_schedule.html.markdown,r/sagemaker_workteam.html.markdown,r/sagemaker_workforce.html.markdown,r/sagemaker_user_profile.html.markdown,r/sagemaker_studio_lifecycle_config.html.markdown,r/sagemaker_space.html.markdown,r/sagemaker_servicecatalog_portfolio_status.html.markdown,r/sagemaker_project.html.markdown,r/sagemaker_pipeline.html.markdown,r/sagemaker_notebook_instance_lifecycle_configuration.html.markdown,r/sagemaker_notebook_instance.html.markdown,r/sagemaker_monitoring_schedule.html.markdown,r/sagemaker_model_package_group_policy.html.markdown,r/sagemaker_model_package_group.html.markdown,r/sagemaker_model.html.markdown,r/sagemaker_mlflow_tracking_server.html.markdown,r/sagemaker_image_version.html.markdown,r/sagemaker_image.html.markdown,r/sagemaker_human_task_ui.html.markdown,r/sagemaker_hub.html.markdown,r/sagemaker_flow_definition.html.markdown,r/sagemaker_feature_group.html.markdown,r/sagemaker_endpoint_configuration.html.markdown,r/sagemaker_endpoint.html.markdown,r/sagemaker_domain.html.markdown,r/sagemaker_device_fleet.html.markdown,r/sagemaker_device.html.markdown,r/sagemaker_data_quality_job_definition.html.markdown,r/sagemaker_code_repository.html.markdown,r/sagemaker_app_image_config.html.markdown,r/sagemaker_app.html.markdown,r/s3tables_table_policy.html.markdown,r/s3tables_table_bucket_policy.html.markdown,r/s3tables_table_bucket.html.markdown,r/s3tables_table.html.markdown,r/s3tables_namespace.html.markdown,r/s3outposts_endpoint.html.markdown,r/s3control_storage_lens_configuration.html.markdown,r/s3control_object_lambda_access_point_policy.html.markdown,r/s3control_object_lambda_access_point.html.markdown,r/s3control_multi_region_access_point_policy.html.markdown,r/s3control_multi_region_access_point.html.markdown,r/s3control_directory_bucket_access_point_scope.html.markdown,r/s3control_bucket_policy.html.markdown,r/s3control_bucket_lifecycle_configuration.html.markdown,r/s3control_bucket.html.markdown,r/s3control_access_point_policy.html.markdown,r/s3control_access_grants_location.html.markdown,r/s3control_access_grants_instance_resource_policy.html.markdown,r/s3control_access_grants_instance.html.markdown,r/s3control_access_grant.html.markdown,r/s3_object_copy.html.markdown,r/s3_object.html.markdown,r/s3_directory_bucket.html.markdown,r/s3_bucket_website_configuration.html.markdown,r/s3_bucket_versioning.html.markdown,r/s3_bucket_server_side_encryption_configuration.html.markdown,r/s3_bucket_request_payment_configuration.html.markdown,r/s3_bucket_replication_configuration.html.markdown,r/s3_bucket_public_access_block.html.markdown,r/s3_bucket_policy.html.markdown,r/s3_bucket_ownership_controls.html.markdown,r/s3_bucket_object_lock_configuration.html.markdown,r/s3_bucket_object.html.markdown,r/s3_bucket_notification.html.markdown,r/s3_bucket_metric.html.markdown,r/s3_bucket_metadata_configuration.html.markdown,r/s3_bucket_logging.html.markdown,r/s3_bucket_lifecycle_configuration.html.markdown,r/s3_bucket_inventory.html.markdown,r/s3_bucket_intelligent_tiering_configuration.html.markdown,r/s3_bucket_cors_configuration.html.markdown,r/s3_bucket_analytics_configuration.html.markdown,r/s3_bucket_acl.html.markdown,r/s3_bucket_accelerate_configuration.html.markdown,r/s3_bucket.html.markdown,r/s3_account_public_access_block.html.markdown,r/s3_access_point.html.markdown,r/rum_metrics_destination.html.markdown,r/rum_app_monitor.html.markdown,r/route_table_association.html.markdown,r/route_table.html.markdown,r/route53recoveryreadiness_resource_set.html.markdown,r/route53recoveryreadiness_recovery_group.html.markdown,r/route53recoveryreadiness_readiness_check.html.markdown,r/route53recoveryreadiness_cell.html.markdown,r/route53recoverycontrolconfig_safety_rule.html.markdown,r/route53recoverycontrolconfig_routing_control.html.markdown,r/route53recoverycontrolconfig_control_panel.html.markdown,r/route53recoverycontrolconfig_cluster.html.markdown,r/route53profiles_resource_association.html.markdown,r/route53profiles_profile.html.markdown,r/route53profiles_association.html.markdown,r/route53domains_registered_domain.html.markdown,r/route53domains_domain.html.markdown,r/route53domains_delegation_signer_record.html.markdown,r/route53_zone_association.html.markdown,r/route53_zone.html.markdown,r/route53_vpc_association_authorization.html.markdown,r/route53_traffic_policy_instance.html.markdown,r/route53_traffic_policy.html.markdown,r/route53_resolver_rule_association.html.markdown,r/route53_resolver_rule.html.markdown,r/route53_resolver_query_log_config_association.html.markdown,r/route53_resolver_query_log_config.html.markdown,r/route53_resolver_firewall_rule_group_association.html.markdown,r/route53_resolver_firewall_rule_group.html.markdown,r/route53_resolver_firewall_rule.html.markdown,r/route53_resolver_firewall_domain_list.html.markdown,r/route53_resolver_firewall_config.html.markdown,r/route53_resolver_endpoint.html.markdown,r/route53_resolver_dnssec_config.html.markdown,r/route53_resolver_config.html.markdown,r/route53_records_exclusive.html.markdown,r/route53_record.html.markdown,r/route53_query_log.html.markdown,r/route53_key_signing_key.html.markdown,r/route53_hosted_zone_dnssec.html.markdown,r/route53_health_check.html.markdown,r/route53_delegation_set.html.markdown,r/route53_cidr_location.html.markdown,r/route53_cidr_collection.html.markdown,r/route.html.markdown,r/rolesanywhere_trust_anchor.html.markdown,r/rolesanywhere_profile.html.markdown,r/resourcegroups_resource.html.markdown,r/resourcegroups_group.html.markdown,r/resourceexplorer2_view.html.markdown,r/resourceexplorer2_index.html.markdown,r/resiliencehub_resiliency_policy.html.markdown,r/rekognition_stream_processor.html.markdown,r/rekognition_project.html.markdown,r/rekognition_collection.html.markdown,r/redshiftserverless_workgroup.html.markdown,r/redshiftserverless_usage_limit.html.markdown,r/redshiftserverless_snapshot.html.markdown,r/redshiftserverless_resource_policy.html.markdown,r/redshiftserverless_namespace.html.markdown,r/redshiftserverless_endpoint_access.html.markdown,r/redshiftserverless_custom_domain_association.html.markdown,r/redshiftdata_statement.html.markdown,r/redshift_usage_limit.html.markdown,r/redshift_subnet_group.html.markdown,r/redshift_snapshot_schedule_association.html.markdown,r/redshift_snapshot_schedule.html.markdown,r/redshift_snapshot_copy_grant.html.markdown,r/redshift_snapshot_copy.html.markdown,r/redshift_scheduled_action.html.markdown,r/redshift_resource_policy.html.markdown,r/redshift_partner.html.markdown,r/redshift_parameter_group.html.markdown,r/redshift_logging.html.markdown,r/redshift_integration.html.markdown,r/redshift_hsm_configuration.html.markdown,r/redshift_hsm_client_certificate.html.markdown,r/redshift_event_subscription.html.markdown,r/redshift_endpoint_authorization.html.markdown,r/redshift_endpoint_access.html.markdown,r/redshift_data_share_consumer_association.html.markdown,r/redshift_data_share_authorization.html.markdown,r/redshift_cluster_snapshot.html.markdown,r/redshift_cluster_iam_roles.html.markdown,r/redshift_cluster.html.markdown,r/redshift_authentication_profile.html.markdown,r/rds_shard_group.html.markdown,r/rds_reserved_instance.html.markdown,r/rds_integration.html.markdown,r/rds_instance_state.html.markdown,r/rds_global_cluster.html.markdown,r/rds_export_task.html.markdown,r/rds_custom_db_engine_version.markdown,r/rds_cluster_snapshot_copy.html.markdown,r/rds_cluster_role_association.html.markdown,r/rds_cluster_parameter_group.html.markdown,r/rds_cluster_instance.html.markdown,r/rds_cluster_endpoint.html.markdown,r/rds_cluster_activity_stream.html.markdown,r/rds_cluster.html.markdown,r/rds_certificate.html.markdown,r/rbin_rule.html.markdown,r/ram_sharing_with_organization.html.markdown,r/ram_resource_share_accepter.html.markdown,r/ram_resource_share.html.markdown,r/ram_resource_association.html.markdown,r/ram_principal_association.html.markdown,r/quicksight_vpc_connection.html.markdown,r/quicksight_user_custom_permission.html.markdown,r/quicksight_user.html.markdown,r/quicksight_theme.html.markdown,r/quicksight_template_alias.html.markdown,r/quicksight_template.html.markdown,r/quicksight_role_membership.html.markdown,r/quicksight_role_custom_permission.html.markdown,r/quicksight_refresh_schedule.html.markdown,r/quicksight_namespace.html.markdown,r/quicksight_key_registration.html.markdown,r/quicksight_ip_restriction.html.markdown,r/quicksight_ingestion.html.markdown,r/quicksight_iam_policy_assignment.html.markdown,r/quicksight_group_membership.html.markdown,r/quicksight_group.html.markdown,r/quicksight_folder_membership.html.markdown,r/quicksight_folder.html.markdown,r/quicksight_data_source.html.markdown,r/quicksight_data_set.html.markdown,r/quicksight_dashboard.html.markdown,r/quicksight_custom_permissions.html.markdown,r/quicksight_analysis.html.markdown,r/quicksight_account_subscription.html.markdown,r/quicksight_account_settings.html.markdown,r/qldb_stream.html.markdown,r/qldb_ledger.html.markdown,r/qbusiness_application.html.markdown,r/proxy_protocol_policy.html.markdown,r/prometheus_workspace_configuration.html.markdown,r/prometheus_workspace.html.markdown,r/prometheus_scraper.html.markdown,r/prometheus_rule_group_namespace.html.markdown,r/prometheus_query_logging_configuration.html.markdown,r/prometheus_alert_manager_definition.html.markdown,r/placement_group.html.markdown,r/pipes_pipe.html.markdown,r/pinpointsmsvoicev2_phone_number.html.markdown,r/pinpointsmsvoicev2_opt_out_list.html.markdown,r/pinpointsmsvoicev2_configuration_set.html.markdown,r/pinpoint_sms_channel.html.markdown,r/pinpoint_gcm_channel.html.markdown,r/pinpoint_event_stream.html.markdown,r/pinpoint_email_template.markdown,r/pinpoint_email_channel.html.markdown,r/pinpoint_baidu_channel.html.markdown,r/pinpoint_app.html.markdown,r/pinpoint_apns_voip_sandbox_channel.html.markdown,r/pinpoint_apns_voip_channel.html.markdown,r/pinpoint_apns_sandbox_channel.html.markdown,r/pinpoint_apns_channel.html.markdown,r/pinpoint_adm_channel.html.markdown,r/paymentcryptography_key_alias.html.markdown,r/paymentcryptography_key.html.markdown,r/osis_pipeline.html.markdown,r/organizations_resource_policy.html.markdown,r/organizations_policy_attachment.html.markdown,r/organizations_policy.html.markdown,r/organizations_organizational_unit.html.markdown,r/organizations_organization.html.markdown,r/organizations_delegated_administrator.html.markdown,r/organizations_account.html.markdown,r/opensearchserverless_vpc_endpoint.html.markdown,r/opensearchserverless_security_policy.html.markdown,r/opensearchserverless_security_config.html.markdown,r/opensearchserverless_lifecycle_policy.html.markdown,r/opensearchserverless_collection.html.markdown,r/opensearchserverless_access_policy.html.markdown,r/opensearch_vpc_endpoint.html.markdown,r/opensearch_package_association.html.markdown,r/opensearch_package.html.markdown,r/opensearch_outbound_connection.html.markdown,r/opensearch_inbound_connection_accepter.html.markdown,r/opensearch_domain_saml_options.html.markdown,r/opensearch_domain_policy.html.markdown,r/opensearch_domain.html.markdown,r/opensearch_authorize_vpc_endpoint_access.html.markdown,r/oam_sink_policy.html.markdown,r/oam_sink.html.markdown,r/oam_link.html.markdown,r/notificationscontacts_email_contact.html.markdown,r/notifications_notification_hub.html.markdown,r/notifications_notification_configuration.html.markdown,r/notifications_event_rule.html.markdown,r/notifications_channel_association.html.markdown,r/networkmonitor_probe.html.markdown,r/networkmonitor_monitor.html.markdown,r/networkmanager_vpc_attachment.html.markdown,r/networkmanager_transit_gateway_route_table_attachment.html.markdown,r/networkmanager_transit_gateway_registration.html.markdown,r/networkmanager_transit_gateway_peering.html.markdown,r/networkmanager_transit_gateway_connect_peer_association.html.markdown,r/networkmanager_site_to_site_vpn_attachment.html.markdown,r/networkmanager_site.html.markdown,r/networkmanager_link_association.html.markdown,r/networkmanager_link.html.markdown,r/networkmanager_global_network.html.markdown,r/networkmanager_dx_gateway_attachment.html.markdown,r/networkmanager_device.html.markdown,r/networkmanager_customer_gateway_association.html.markdown,r/networkmanager_core_network_policy_attachment.html.markdown,r/networkmanager_core_network.html.markdown,r/networkmanager_connection.html.markdown,r/networkmanager_connect_peer.html.markdown,r/networkmanager_connect_attachment.html.markdown,r/networkmanager_attachment_accepter.html.markdown,r/networkfirewall_vpc_endpoint_association.html.markdown,r/networkfirewall_tls_inspection_configuration.html.markdown,r/networkfirewall_rule_group.html.markdown,r/networkfirewall_resource_policy.html.markdown,r/networkfirewall_logging_configuration.html.markdown,r/networkfirewall_firewall_transit_gateway_attachment_accepter.html.markdown,r/networkfirewall_firewall_policy.html.markdown,r/networkfirewall_firewall.html.markdown,r/network_interface_sg_attachment.html.markdown,r/network_interface_permission.html.markdown,r/network_interface_attachment.html.markdown,r/network_interface.html.markdown,r/network_acl_rule.html.markdown,r/network_acl_association.html.markdown,r/network_acl.html.markdown,r/neptunegraph_graph.html.markdown,r/neptune_subnet_group.html.markdown,r/neptune_parameter_group.html.markdown,r/neptune_global_cluster.html.markdown,r/neptune_event_subscription.html.markdown,r/neptune_cluster_snapshot.html.markdown,r/neptune_cluster_parameter_group.html.markdown,r/neptune_cluster_instance.html.markdown,r/neptune_cluster_endpoint.html.markdown,r/neptune_cluster.html.markdown,r/nat_gateway_eip_association.html.markdown,r/nat_gateway.html.markdown,r/mwaa_environment.html.markdown,r/mskconnect_worker_configuration.html.markdown,r/mskconnect_custom_plugin.html.markdown,r/mskconnect_connector.html.markdown,r/msk_vpc_connection.html.markdown,r/msk_single_scram_secret_association.html.markdown,r/msk_serverless_cluster.html.markdown,r/msk_scram_secret_association.html.markdown,r/msk_replicator.html.markdown,r/msk_configuration.html.markdown,r/msk_cluster_policy.html.markdown,r/msk_cluster.html.markdown,r/mq_configuration.html.markdown,r/mq_broker.html.markdown,r/memorydb_user.html.markdown,r/memorydb_subnet_group.html.markdown,r/memorydb_snapshot.html.markdown,r/memorydb_parameter_group.html.markdown,r/memorydb_multi_region_cluster.html.markdown,r/memorydb_cluster.html.markdown,r/memorydb_acl.html.markdown,r/medialive_multiplex_program.html.markdown,r/medialive_multiplex.html.markdown,r/medialive_input_security_group.html.markdown,r/medialive_input.html.markdown,r/medialive_channel.html.markdown,r/media_store_container_policy.html.markdown,r/media_store_container.html.markdown,r/media_packagev2_channel_group.html.markdown,r/media_package_channel.html.markdown,r/media_convert_queue.html.markdown,r/main_route_table_association.html.markdown,r/macie2_organization_configuration.html.markdown,r/macie2_organization_admin_account.html.markdown,r/macie2_member.html.markdown,r/macie2_invitation_accepter.html.markdown,r/macie2_findings_filter.html.markdown,r/macie2_custom_data_identifier.html.markdown,r/macie2_classification_job.html.markdown,r/macie2_classification_export_configuration.html.markdown,r/macie2_account.html.markdown,r/m2_environment.html.markdown,r/m2_deployment.html.markdown,r/m2_application.html.markdown,r/location_tracker_association.html.markdown,r/location_tracker.html.markdown,r/location_route_calculator.html.markdown,r/location_place_index.html.markdown,r/location_map.html.markdown,r/location_geofence_collection.html.markdown,r/load_balancer_policy.html.markdown,r/load_balancer_listener_policy.html.markdown,r/load_balancer_backend_server_policy.html.markdown,r/lightsail_static_ip_attachment.html.markdown,r/lightsail_static_ip.html.markdown,r/lightsail_lb_stickiness_policy.html.markdown,r/lightsail_lb_https_redirection_policy.html.markdown,r/lightsail_lb_certificate_attachment.html.markdown,r/lightsail_lb_certificate.html.markdown,r/lightsail_lb_attachment.html.markdown,r/lightsail_lb.html.markdown,r/lightsail_key_pair.html.markdown,r/lightsail_instance_public_ports.html.markdown,r/lightsail_instance.html.markdown,r/lightsail_domain_entry.html.markdown,r/lightsail_domain.html.markdown,r/lightsail_distribution.html.markdown,r/lightsail_disk_attachment.html.markdown,r/lightsail_disk.html.markdown,r/lightsail_database.html.markdown,r/lightsail_container_service_deployment_version.html.markdown,r/lightsail_container_service.html.markdown,r/lightsail_certificate.html.markdown,r/lightsail_bucket_resource_access.html.markdown,r/lightsail_bucket_access_key.html.markdown,r/lightsail_bucket.html.markdown,r/licensemanager_license_configuration.html.markdown,r/licensemanager_grant_accepter.html.markdown,r/licensemanager_grant.html.markdown,r/licensemanager_association.html.markdown,r/lexv2models_slot_type.html.markdown,r/lexv2models_slot.html.markdown,r/lexv2models_intent.html.markdown,r/lexv2models_bot_version.html.markdown,r/lexv2models_bot_locale.html.markdown,r/lexv2models_bot.html.markdown,r/lex_slot_type.html.markdown,r/lex_intent.html.markdown,r/lex_bot_alias.html.markdown,r/lex_bot.html.markdown,r/lb_trust_store_revocation.html.markdown,r/lb_trust_store.html.markdown,r/lb_target_group_attachment.html.markdown,r/lb_target_group.html.markdown,r/lb_ssl_negotiation_policy.html.markdown,r/lb_listener_rule.html.markdown,r/lb_listener_certificate.html.markdown,r/lb_listener.html.markdown,r/lb_cookie_stickiness_policy.html.markdown,r/lb.html.markdown,r/launch_template.html.markdown,r/launch_configuration.html.markdown,r/lambda_runtime_management_config.html.markdown,r/lambda_provisioned_concurrency_config.html.markdown,r/lambda_permission.html.markdown,r/lambda_layer_version_permission.html.markdown,r/lambda_layer_version.html.markdown,r/lambda_invocation.html.markdown,r/lambda_function_url.html.markdown,r/lambda_function_recursion_config.html.markdown,r/lambda_function_event_invoke_config.html.markdown,r/lambda_function.html.markdown,r/lambda_event_source_mapping.html.markdown,r/lambda_code_signing_config.html.markdown,r/lambda_alias.html.markdown,r/lakeformation_resource_lf_tags.html.markdown,r/lakeformation_resource_lf_tag.html.markdown,r/lakeformation_resource.html.markdown,r/lakeformation_permissions.html.markdown,r/lakeformation_opt_in.html.markdown,r/lakeformation_lf_tag.html.markdown,r/lakeformation_data_lake_settings.html.markdown,r/lakeformation_data_cells_filter.html.markdown,r/kms_replica_key.html.markdown,r/kms_replica_external_key.html.markdown,r/kms_key_policy.html.markdown,r/kms_key.html.markdown,r/kms_grant.html.markdown,r/kms_external_key.html.markdown,r/kms_custom_key_store.html.markdown,r/kms_ciphertext.html.markdown,r/kms_alias.html.markdown,r/kinesisanalyticsv2_application_snapshot.html.markdown,r/kinesisanalyticsv2_application.html.markdown,r/kinesis_video_stream.html.markdown,r/kinesis_stream_consumer.html.markdown,r/kinesis_stream.html.markdown,r/kinesis_resource_policy.html.markdown,r/kinesis_firehose_delivery_stream.html.markdown,r/kinesis_analytics_application.html.markdown,r/keyspaces_table.html.markdown,r/keyspaces_keyspace.html.markdown,r/key_pair.html.markdown,r/kendra_thesaurus.html.markdown,r/kendra_query_suggestions_block_list.html.markdown,r/kendra_index.html.markdown,r/kendra_faq.html.markdown,r/kendra_experience.html.markdown,r/kendra_data_source.html.markdown,r/ivschat_room.html.markdown,r/ivschat_logging_configuration.html.markdown,r/ivs_recording_configuration.html.markdown,r/ivs_playback_key_pair.html.markdown,r/ivs_channel.html.markdown,r/iot_topic_rule_destination.html.markdown,r/iot_topic_rule.html.markdown,r/iot_thing_type.html.markdown,r/iot_thing_principal_attachment.html.markdown,r/iot_thing_group_membership.html.markdown,r/iot_thing_group.html.markdown,r/iot_thing.html.markdown,r/iot_role_alias.html.markdown,r/iot_provisioning_template.html.markdown,r/iot_policy_attachment.html.markdown,r/iot_policy.html.markdown,r/iot_logging_options.html.markdown,r/iot_indexing_configuration.html.markdown,r/iot_event_configurations.html.markdown,r/iot_domain_configuration.html.markdown,r/iot_certificate.html.markdown,r/iot_ca_certificate.html.markdown,r/iot_billing_group.html.markdown,r/iot_authorizer.html.markdown,r/internetmonitor_monitor.html.markdown,r/internet_gateway_attachment.html.markdown,r/internet_gateway.html.markdown,r/instance.html.markdown,r/inspector_resource_group.html.markdown,r/inspector_assessment_template.html.markdown,r/inspector_assessment_target.html.markdown,r/inspector2_organization_configuration.html.markdown,r/inspector2_member_association.html.markdown,r/inspector2_filter.html.markdown,r/inspector2_enabler.html.markdown,r/inspector2_delegated_admin_account.html.markdown,r/imagebuilder_workflow.html.markdown,r/imagebuilder_lifecycle_policy.html.markdown,r/imagebuilder_infrastructure_configuration.html.markdown,r/imagebuilder_image_recipe.html.markdown,r/imagebuilder_image_pipeline.html.markdown,r/imagebuilder_image.html.markdown,r/imagebuilder_distribution_configuration.html.markdown,r/imagebuilder_container_recipe.html.markdown,r/imagebuilder_component.html.markdown,r/identitystore_user.html.markdown,r/identitystore_group_membership.html.markdown,r/identitystore_group.html.markdown,r/iam_virtual_mfa_device.html.markdown,r/iam_user_ssh_key.html.markdown,r/iam_user_policy_attachments_exclusive.html.markdown,r/iam_user_policy_attachment.html.markdown,r/iam_user_policy.html.markdown,r/iam_user_policies_exclusive.html.markdown,r/iam_user_login_profile.html.markdown,r/iam_user_group_membership.html.markdown,r/iam_user.html.markdown,r/iam_signing_certificate.html.markdown,r/iam_service_specific_credential.html.markdown,r/iam_service_linked_role.html.markdown,r/iam_server_certificate.html.markdown,r/iam_security_token_service_preferences.html.markdown,r/iam_saml_provider.html.markdown,r/iam_role_policy_attachments_exclusive.html.markdown,r/iam_role_policy_attachment.html.markdown,r/iam_role_policy.html.markdown,r/iam_role_policies_exclusive.html.markdown,r/iam_role.html.markdown,r/iam_policy_attachment.html.markdown,r/iam_policy.html.markdown,r/iam_organizations_features.html.markdown,r/iam_openid_connect_provider.html.markdown,r/iam_instance_profile.html.markdown,r/iam_group_policy_attachments_exclusive.html.markdown,r/iam_group_policy_attachment.html.markdown,r/iam_group_policy.html.markdown,r/iam_group_policies_exclusive.html.markdown,r/iam_group_membership.html.markdown,r/iam_group.html.markdown,r/iam_account_password_policy.html.markdown,r/iam_account_alias.html.markdown,r/iam_access_key.html.markdown,r/guardduty_threatintelset.html.markdown,r/guardduty_publishing_destination.html.markdown,r/guardduty_organization_configuration_feature.html.markdown,r/guardduty_organization_configuration.html.markdown,r/guardduty_organization_admin_account.html.markdown,r/guardduty_member_detector_feature.html.markdown,r/guardduty_member.html.markdown,r/guardduty_malware_protection_plan.html.markdown,r/guardduty_ipset.html.markdown,r/guardduty_invite_accepter.html.markdown,r/guardduty_filter.html.markdown,r/guardduty_detector_feature.html.markdown,r/guardduty_detector.html.markdown,r/grafana_workspace_service_account_token.html.markdown,r/grafana_workspace_service_account.html.markdown,r/grafana_workspace_saml_configuration.html.markdown,r/grafana_workspace_api_key.html.markdown,r/grafana_workspace.html.markdown,r/grafana_role_association.html.markdown,r/grafana_license_association.html.markdown,r/glue_workflow.html.markdown,r/glue_user_defined_function.html.markdown,r/glue_trigger.html.markdown,r/glue_security_configuration.html.markdown,r/glue_schema.html.markdown,r/glue_resource_policy.html.markdown,r/glue_registry.html.markdown,r/glue_partition_index.html.markdown,r/glue_partition.html.markdown,r/glue_ml_transform.html.markdown,r/glue_job.html.markdown,r/glue_dev_endpoint.html.markdown,r/glue_data_quality_ruleset.html.markdown,r/glue_data_catalog_encryption_settings.html.markdown,r/glue_crawler.html.markdown,r/glue_connection.html.markdown,r/glue_classifier.html.markdown,r/glue_catalog_table_optimizer.html.markdown,r/glue_catalog_table.html.markdown,r/glue_catalog_database.html.markdown,r/globalaccelerator_listener.html.markdown,r/globalaccelerator_endpoint_group.html.markdown,r/globalaccelerator_custom_routing_listener.html.markdown,r/globalaccelerator_custom_routing_endpoint_group.html.markdown,r/globalaccelerator_custom_routing_accelerator.html.markdown,r/globalaccelerator_cross_account_attachment.html.markdown,r/globalaccelerator_accelerator.html.markdown,r/glacier_vault_lock.html.markdown,r/glacier_vault.html.markdown,r/gamelift_script.html.markdown,r/gamelift_game_session_queue.html.markdown,r/gamelift_game_server_group.html.markdown,r/gamelift_fleet.html.markdown,r/gamelift_build.html.markdown,r/gamelift_alias.html.markdown,r/fsx_windows_file_system.html.markdown,r/fsx_s3_access_point_attachment.html.markdown,r/fsx_openzfs_volume.html.markdown,r/fsx_openzfs_snapshot.html.markdown,r/fsx_openzfs_file_system.html.markdown,r/fsx_ontap_volume.html.markdown,r/fsx_ontap_storage_virtual_machine.html.markdown,r/fsx_ontap_file_system.html.markdown,r/fsx_lustre_file_system.html.markdown,r/fsx_file_cache.html.markdown,r/fsx_data_repository_association.html.markdown,r/fsx_backup.html.markdown,r/fms_resource_set.html.markdown,r/fms_policy.html.markdown,r/fms_admin_account.html.markdown,r/flow_log.html.markdown,r/fis_experiment_template.html.markdown,r/finspace_kx_volume.html.markdown,r/finspace_kx_user.html.markdown,r/finspace_kx_scaling_group.html.markdown,r/finspace_kx_environment.html.markdown,r/finspace_kx_dataview.html.markdown,r/finspace_kx_database.html.markdown,r/finspace_kx_cluster.html.markdown,r/evidently_segment.html.markdown,r/evidently_project.html.markdown,r/evidently_launch.html.markdown,r/evidently_feature.html.markdown,r/emrserverless_application.html.markdown,r/emrcontainers_virtual_cluster.html.markdown,r/emrcontainers_job_template.html.markdown,r/emr_studio_session_mapping.html.markdown,r/emr_studio.html.markdown,r/emr_security_configuration.html.markdown,r/emr_managed_scaling_policy.html.markdown,r/emr_instance_group.html.markdown,r/emr_instance_fleet.html.markdown,r/emr_cluster.html.markdown,r/emr_block_public_access_configuration.html.markdown,r/elb_attachment.html.markdown,r/elb.html.markdown,r/elastictranscoder_preset.html.markdown,r/elastictranscoder_pipeline.html.markdown,r/elasticsearch_vpc_endpoint.html.markdown,r/elasticsearch_domain_saml_options.html.markdown,r/elasticsearch_domain_policy.html.markdown,r/elasticsearch_domain.html.markdown,r/elasticache_user_group_association.html.markdown,r/elasticache_user_group.html.markdown,r/elasticache_user.html.markdown,r/elasticache_subnet_group.html.markdown,r/elasticache_serverless_cache.html.markdown,r/elasticache_reserved_cache_node.html.markdown,r/elasticache_replication_group.html.markdown,r/elasticache_parameter_group.html.markdown,r/elasticache_global_replication_group.html.markdown,r/elasticache_cluster.html.markdown,r/elastic_beanstalk_environment.html.markdown,r/elastic_beanstalk_configuration_template.html.markdown,r/elastic_beanstalk_application_version.html.markdown,r/elastic_beanstalk_application.html.markdown,r/eks_pod_identity_association.html.markdown,r/eks_node_group.html.markdown,r/eks_identity_provider_config.html.markdown,r/eks_fargate_profile.html.markdown,r/eks_cluster.html.markdown,r/eks_addon.html.markdown,r/eks_access_policy_association.html.markdown,r/eks_access_entry.html.markdown,r/eip_domain_name.html.markdown,r/eip_association.html.markdown,r/eip.html.markdown,r/egress_only_internet_gateway.html.markdown,r/efs_replication_configuration.html.markdown,r/efs_mount_target.html.markdown,r/efs_file_system_policy.html.markdown,r/efs_file_system.html.markdown,r/efs_backup_policy.html.markdown,r/efs_access_point.html.markdown,r/ecs_task_set.html.markdown,r/ecs_task_definition.html.markdown,r/ecs_tag.html.markdown,r/ecs_service.html.markdown,r/ecs_cluster_capacity_providers.html.markdown,r/ecs_cluster.html.markdown,r/ecs_capacity_provider.html.markdown,r/ecs_account_setting_default.html.markdown,r/ecrpublic_repository_policy.html.markdown,r/ecrpublic_repository.html.markdown,r/ecr_repository_policy.html.markdown,r/ecr_repository_creation_template.html.markdown,r/ecr_repository.html.markdown,r/ecr_replication_configuration.html.markdown,r/ecr_registry_scanning_configuration.html.markdown,r/ecr_registry_policy.html.markdown,r/ecr_pull_through_cache_rule.html.markdown,r/ecr_lifecycle_policy.html.markdown,r/ecr_account_setting.html.markdown,r/ec2_transit_gateway_vpc_attachment_accepter.html.markdown,r/ec2_transit_gateway_vpc_attachment.html.markdown,r/ec2_transit_gateway_route_table_propagation.html.markdown,r/ec2_transit_gateway_route_table_association.html.markdown,r/ec2_transit_gateway_route_table.html.markdown,r/ec2_transit_gateway_route.html.markdown,r/ec2_transit_gateway_prefix_list_reference.html.markdown,r/ec2_transit_gateway_policy_table_association.html.markdown,r/ec2_transit_gateway_policy_table.html.markdown,r/ec2_transit_gateway_peering_attachment_accepter.html.markdown,r/ec2_transit_gateway_peering_attachment.html.markdown,r/ec2_transit_gateway_multicast_group_source.html.markdown,r/ec2_transit_gateway_multicast_group_member.html.markdown,r/ec2_transit_gateway_multicast_domain_association.html.markdown,r/ec2_transit_gateway_multicast_domain.html.markdown,r/ec2_transit_gateway_default_route_table_propagation.html.markdown,r/ec2_transit_gateway_default_route_table_association.html.markdown,r/ec2_transit_gateway_connect_peer.html.markdown,r/ec2_transit_gateway_connect.html.markdown,r/ec2_transit_gateway.html.markdown,r/ec2_traffic_mirror_target.html.markdown,r/ec2_traffic_mirror_session.html.markdown,r/ec2_traffic_mirror_filter_rule.html.markdown,r/ec2_traffic_mirror_filter.html.markdown,r/ec2_tag.html.markdown,r/ec2_subnet_cidr_reservation.html.markdown,r/ec2_serial_console_access.html.markdown,r/ec2_network_insights_path.html.markdown,r/ec2_network_insights_analysis.html.markdown,r/ec2_managed_prefix_list_entry.html.markdown,r/ec2_managed_prefix_list.html.markdown,r/ec2_local_gateway_route_table_vpc_association.html.markdown,r/ec2_local_gateway_route.html.markdown,r/ec2_instance_state.html.markdown,r/ec2_instance_metadata_defaults.html.markdown,r/ec2_instance_connect_endpoint.html.markdown,r/ec2_image_block_public_access.markdown,r/ec2_host.html.markdown,r/ec2_fleet.html.markdown,r/ec2_default_credit_specification.html.markdown,r/ec2_client_vpn_route.html.markdown,r/ec2_client_vpn_network_association.html.markdown,r/ec2_client_vpn_endpoint.html.markdown,r/ec2_client_vpn_authorization_rule.html.markdown,r/ec2_carrier_gateway.html.markdown,r/ec2_capacity_reservation.html.markdown,r/ec2_capacity_block_reservation.html.markdown,r/ec2_availability_zone_group.html.markdown,r/ebs_volume.html.markdown,r/ebs_snapshot_import.html.markdown,r/ebs_snapshot_copy.html.markdown,r/ebs_snapshot_block_public_access.html.markdown,r/ebs_snapshot.html.markdown,r/ebs_fast_snapshot_restore.html.markdown,r/ebs_encryption_by_default.html.markdown,r/ebs_default_kms_key.html.markdown,r/dynamodb_tag.html.markdown,r/dynamodb_table_replica.html.markdown,r/dynamodb_table_item.html.markdown,r/dynamodb_table_export.html.markdown,r/dynamodb_table.html.markdown,r/dynamodb_resource_policy.html.markdown,r/dynamodb_kinesis_streaming_destination.html.markdown,r/dynamodb_global_table.html.markdown,r/dynamodb_contributor_insights.html.markdown,r/dx_transit_virtual_interface.html.markdown,r/dx_public_virtual_interface.html.markdown,r/dx_private_virtual_interface.html.markdown,r/dx_macsec_key_association.html.markdown,r/dx_lag.html.markdown,r/dx_hosted_transit_virtual_interface_accepter.html.markdown,r/dx_hosted_transit_virtual_interface.html.markdown,r/dx_hosted_public_virtual_interface_accepter.html.markdown,r/dx_hosted_public_virtual_interface.html.markdown,r/dx_hosted_private_virtual_interface_accepter.html.markdown,r/dx_hosted_private_virtual_interface.html.markdown,r/dx_hosted_connection.html.markdown,r/dx_gateway_association_proposal.html.markdown,r/dx_gateway_association.html.markdown,r/dx_gateway.html.markdown,r/dx_connection_confirmation.html.markdown,r/dx_connection_association.html.markdown,r/dx_connection.html.markdown,r/dx_bgp_peer.html.markdown,r/dsql_cluster_peering.html.markdown,r/dsql_cluster.html.markdown,r/drs_replication_configuration_template.html.markdown,r/docdbelastic_cluster.html.markdown,r/docdb_subnet_group.html.markdown,r/docdb_global_cluster.html.markdown,r/docdb_event_subscription.html.markdown,r/docdb_cluster_snapshot.html.markdown,r/docdb_cluster_parameter_group.html.markdown,r/docdb_cluster_instance.html.markdown,r/docdb_cluster.html.markdown,r/dms_s3_endpoint.html.markdown,r/dms_replication_task.html.markdown,r/dms_replication_subnet_group.html.markdown,r/dms_replication_instance.html.markdown,r/dms_replication_config.html.markdown,r/dms_event_subscription.html.markdown,r/dms_endpoint.html.markdown,r/dms_certificate.html.markdown,r/dlm_lifecycle_policy.html.markdown,r/directory_service_trust.html.markdown,r/directory_service_shared_directory_accepter.html.markdown,r/directory_service_shared_directory.html.markdown,r/directory_service_region.html.markdown,r/directory_service_radius_settings.html.markdown,r/directory_service_log_subscription.html.markdown,r/directory_service_directory.html.markdown,r/directory_service_conditional_forwarder.html.markdown,r/devopsguru_service_integration.html.markdown,r/devopsguru_resource_collection.html.markdown,r/devopsguru_notification_channel.html.markdown,r/devopsguru_event_sources_config.html.markdown,r/devicefarm_upload.html.markdown,r/devicefarm_test_grid_project.html.markdown,r/devicefarm_project.html.markdown,r/devicefarm_network_profile.html.markdown,r/devicefarm_instance_profile.html.markdown,r/devicefarm_device_pool.html.markdown,r/detective_organization_configuration.html.markdown,r/detective_organization_admin_account.html.markdown,r/detective_member.html.markdown,r/detective_invitation_accepter.html.markdown,r/detective_graph.html.markdown,r/default_vpc_dhcp_options.html.markdown,r/default_vpc.html.markdown,r/default_subnet.html.markdown,r/default_security_group.html.markdown,r/default_route_table.html.markdown,r/default_network_acl.html.markdown,r/db_subnet_group.html.markdown,r/db_snapshot_copy.html.markdown,r/db_snapshot.html.markdown,r/db_proxy_target.html.markdown,r/db_proxy_endpoint.html.markdown,r/db_proxy_default_target_group.html.markdown,r/db_proxy.html.markdown,r/db_parameter_group.html.markdown,r/db_option_group.html.markdown,r/db_instance_role_association.html.markdown,r/db_instance_automated_backups_replication.html.markdown,r/db_instance.html.markdown,r/db_event_subscription.html.markdown,r/db_cluster_snapshot.html.markdown,r/dax_subnet_group.html.markdown,r/dax_parameter_group.html.markdown,r/dax_cluster.html.markdown,r/datazone_user_profile.html.markdown,r/datazone_project.html.markdown,r/datazone_glossary_term.html.markdown,r/datazone_glossary.html.markdown,r/datazone_form_type.html.markdown,r/datazone_environment_profile.html.markdown,r/datazone_environment_blueprint_configuration.html.markdown,r/datazone_environment.html.markdown,r/datazone_domain.html.markdown,r/datazone_asset_type.html.markdown,r/datasync_task.html.markdown,r/datasync_location_smb.html.markdown,r/datasync_location_s3.html.markdown,r/datasync_location_object_storage.html.markdown,r/datasync_location_nfs.html.markdown,r/datasync_location_hdfs.html.markdown,r/datasync_location_fsx_windows_file_system.html.markdown,r/datasync_location_fsx_openzfs_file_system.html.markdown,r/datasync_location_fsx_ontap_file_system.html.markdown,r/datasync_location_fsx_lustre_file_system.html.markdown,r/datasync_location_efs.html.markdown,r/datasync_location_azure_blob.html.markdown,r/datasync_agent.html.markdown,r/datapipeline_pipeline_definition.html.markdown,r/datapipeline_pipeline.html.markdown,r/dataexchange_revision_assets.html.markdown,r/dataexchange_revision.html.markdown,r/dataexchange_event_action.html.markdown,r/dataexchange_data_set.html.markdown,r/customerprofiles_profile.html.markdown,r/customerprofiles_domain.html.markdown,r/customer_gateway.html.markdown,r/cur_report_definition.html.markdown,r/costoptimizationhub_preferences.html.markdown,r/costoptimizationhub_enrollment_status.html.markdown,r/controltower_landing_zone.html.markdown,r/controltower_control.html.markdown,r/connect_vocabulary.html.markdown,r/connect_user_hierarchy_structure.html.markdown,r/connect_user_hierarchy_group.html.markdown,r/connect_user.html.markdown,r/connect_security_profile.html.markdown,r/connect_routing_profile.html.markdown,r/connect_quick_connect.html.markdown,r/connect_queue.html.markdown,r/connect_phone_number_contact_flow_association.html.markdown,r/connect_phone_number.html.markdown,r/connect_lambda_function_association.html.markdown,r/connect_instance_storage_config.html.markdown,r/connect_instance.html.markdown,r/connect_hours_of_operation.html.markdown,r/connect_contact_flow_module.html.markdown,r/connect_contact_flow.html.markdown,r/connect_bot_association.html.markdown,r/config_retention_configuration.html.markdown,r/config_remediation_configuration.html.markdown,r/config_organization_managed_rule.html.markdown,r/config_organization_custom_rule.html.markdown,r/config_organization_custom_policy_rule.html.markdown,r/config_organization_conformance_pack.html.markdown,r/config_delivery_channel.html.markdown,r/config_conformance_pack.html.markdown,r/config_configuration_recorder_status.html.markdown,r/config_configuration_recorder.html.markdown,r/config_configuration_aggregator.html.markdown,r/config_config_rule.html.markdown,r/config_aggregate_authorization.html.markdown,r/computeoptimizer_recommendation_preferences.html.markdown,r/computeoptimizer_enrollment_status.html.markdown,r/comprehend_entity_recognizer.html.markdown,r/comprehend_document_classifier.html.markdown,r/cognito_user_pool_ui_customization.html.markdown,r/cognito_user_pool_domain.html.markdown,r/cognito_user_pool_client.html.markdown,r/cognito_user_pool.html.markdown,r/cognito_user_in_group.html.markdown,r/cognito_user_group.html.markdown,r/cognito_user.html.markdown,r/cognito_risk_configuration.html.markdown,r/cognito_resource_server.html.markdown,r/cognito_managed_user_pool_client.html.markdown,r/cognito_log_delivery_configuration.html.markdown,r/cognito_identity_provider.html.markdown,r/cognito_identity_pool_roles_attachment.html.markdown,r/cognito_identity_pool_provider_principal_tag.html.markdown,r/cognito_identity_pool.html.markdown,r/codestarnotifications_notification_rule.html.markdown,r/codestarconnections_host.html.markdown,r/codestarconnections_connection.html.markdown,r/codepipeline_webhook.html.markdown,r/codepipeline_custom_action_type.html.markdown,r/codepipeline.html.markdown,r/codegurureviewer_repository_association.html.markdown,r/codeguruprofiler_profiling_group.html.markdown,r/codedeploy_deployment_group.html.markdown,r/codedeploy_deployment_config.html.markdown,r/codedeploy_app.html.markdown,r/codeconnections_host.html.markdown,r/codeconnections_connection.html.markdown,r/codecommit_trigger.html.markdown,r/codecommit_repository.html.markdown,r/codecommit_approval_rule_template_association.html.markdown,r/codecommit_approval_rule_template.html.markdown,r/codecatalyst_source_repository.html.markdown,r/codecatalyst_project.html.markdown,r/codecatalyst_dev_environment.html.markdown,r/codebuild_webhook.html.markdown,r/codebuild_source_credential.html.markdown,r/codebuild_resource_policy.html.markdown,r/codebuild_report_group.html.markdown,r/codebuild_project.html.markdown,r/codebuild_fleet.html.markdown,r/codeartifact_repository_permissions_policy.html.markdown,r/codeartifact_repository.html.markdown,r/codeartifact_domain_permissions_policy.html.markdown,r/codeartifact_domain.html.markdown,r/cloudwatch_query_definition.html.markdown,r/cloudwatch_metric_stream.html.markdown,r/cloudwatch_metric_alarm.html.markdown,r/cloudwatch_log_subscription_filter.html.markdown,r/cloudwatch_log_stream.html.markdown,r/cloudwatch_log_resource_policy.html.markdown,r/cloudwatch_log_metric_filter.html.markdown,r/cloudwatch_log_index_policy.html.markdown,r/cloudwatch_log_group.html.markdown,r/cloudwatch_log_destination_policy.html.markdown,r/cloudwatch_log_destination.html.markdown,r/cloudwatch_log_delivery_source.html.markdown,r/cloudwatch_log_delivery_destination_policy.html.markdown,r/cloudwatch_log_delivery_destination.html.markdown,r/cloudwatch_log_delivery.html.markdown,r/cloudwatch_log_data_protection_policy.html.markdown,r/cloudwatch_log_anomaly_detector.html.markdown,r/cloudwatch_log_account_policy.html.markdown,r/cloudwatch_event_target.html.markdown,r/cloudwatch_event_rule.html.markdown,r/cloudwatch_event_permission.html.markdown,r/cloudwatch_event_endpoint.html.markdown,r/cloudwatch_event_connection.html.markdown,r/cloudwatch_event_bus_policy.html.markdown,r/cloudwatch_event_bus.html.markdown,r/cloudwatch_event_archive.html.markdown,r/cloudwatch_event_api_destination.html.markdown,r/cloudwatch_dashboard.html.markdown,r/cloudwatch_contributor_managed_insight_rule.html.markdown,r/cloudwatch_contributor_insight_rule.html.markdown,r/cloudwatch_composite_alarm.html.markdown,r/cloudtrail_organization_delegated_admin_account.html.markdown,r/cloudtrail_event_data_store.html.markdown,r/cloudtrail.html.markdown,r/cloudsearch_domain_service_access_policy.html.markdown,r/cloudsearch_domain.html.markdown,r/cloudhsm_v2_hsm.html.markdown,r/cloudhsm_v2_cluster.html.markdown,r/cloudfrontkeyvaluestore_keys_exclusive.html.markdown,r/cloudfrontkeyvaluestore_key.html.markdown,r/cloudfront_vpc_origin.html.markdown,r/cloudfront_response_headers_policy.html.markdown,r/cloudfront_realtime_log_config.html.markdown,r/cloudfront_public_key.html.markdown,r/cloudfront_origin_request_policy.html.markdown,r/cloudfront_origin_access_identity.html.markdown,r/cloudfront_origin_access_control.html.markdown,r/cloudfront_monitoring_subscription.html.markdown,r/cloudfront_key_value_store.html.markdown,r/cloudfront_key_group.html.markdown,r/cloudfront_function.html.markdown,r/cloudfront_field_level_encryption_profile.html.markdown,r/cloudfront_field_level_encryption_config.html.markdown,r/cloudfront_distribution.html.markdown,r/cloudfront_continuous_deployment_policy.html.markdown,r/cloudfront_cache_policy.html.markdown,r/cloudformation_type.html.markdown,r/cloudformation_stack_set_instance.html.markdown,r/cloudformation_stack_set.html.markdown,r/cloudformation_stack_instances.html.markdown,r/cloudformation_stack.html.markdown,r/cloudcontrolapi_resource.html.markdown,r/cloud9_environment_membership.html.markdown,r/cloud9_environment_ec2.html.markdown,r/cleanrooms_membership.html.markdown,r/cleanrooms_configured_table.html.markdown,r/cleanrooms_collaboration.html.markdown,r/chimesdkvoice_voice_profile_domain.html.markdown,r/chimesdkvoice_sip_rule.html.markdown,r/chimesdkvoice_sip_media_application.html.markdown,r/chimesdkvoice_global_settings.html.markdown,r/chimesdkmediapipelines_media_insights_pipeline_configuration.html.markdown,r/chime_voice_connector_termination_credentials.html.markdown,r/chime_voice_connector_termination.html.markdown,r/chime_voice_connector_streaming.html.markdown,r/chime_voice_connector_origination.html.markdown,r/chime_voice_connector_logging.html.markdown,r/chime_voice_connector_group.html.markdown,r/chime_voice_connector.html.markdown,r/chatbot_teams_channel_configuration.html.markdown,r/chatbot_slack_channel_configuration.html.markdown,r/ce_cost_category.html.markdown,r/ce_cost_allocation_tag.html.markdown,r/ce_anomaly_subscription.html.markdown,r/ce_anomaly_monitor.html.markdown,r/budgets_budget_action.html.markdown,r/budgets_budget.html.markdown,r/bedrockagent_prompt.html.markdown,r/bedrockagent_knowledge_base.html.markdown,r/bedrockagent_flow.html.markdown,r/bedrockagent_data_source.html.markdown,r/bedrockagent_agent_knowledge_base_association.html.markdown,r/bedrockagent_agent_collaborator.html.markdown,r/bedrockagent_agent_alias.html.markdown,r/bedrockagent_agent_action_group.html.markdown,r/bedrockagent_agent.html.markdown,r/bedrock_provisioned_model_throughput.html.markdown,r/bedrock_model_invocation_logging_configuration.html.markdown,r/bedrock_inference_profile.html.markdown,r/bedrock_guardrail_version.html.markdown,r/bedrock_guardrail.html.markdown,r/bedrock_custom_model.html.markdown,r/bcmdataexports_export.html.markdown,r/batch_scheduling_policy.html.markdown,r/batch_job_queue.html.markdown,r/batch_job_definition.html.markdown,r/batch_compute_environment.html.markdown,r/backup_vault_policy.html.markdown,r/backup_vault_notifications.html.markdown,r/backup_vault_lock_configuration.html.markdown,r/backup_vault.html.markdown,r/backup_selection.html.markdown,r/backup_restore_testing_selection.html.markdown,r/backup_restore_testing_plan.html.markdown,r/backup_report_plan.html.markdown,r/backup_region_settings.html.markdown,r/backup_plan.html.markdown,r/backup_logically_air_gapped_vault.html.markdown,r/backup_global_settings.html.markdown,r/backup_framework.html.markdown,r/autoscalingplans_scaling_plan.html.markdown,r/autoscaling_traffic_source_attachment.html.markdown,r/autoscaling_schedule.html.markdown,r/autoscaling_policy.html.markdown,r/autoscaling_notification.html.markdown,r/autoscaling_lifecycle_hook.html.markdown,r/autoscaling_group_tag.html.markdown,r/autoscaling_group.html.markdown,r/autoscaling_attachment.html.markdown,r/auditmanager_organization_admin_account_registration.html.markdown,r/auditmanager_framework_share.html.markdown,r/auditmanager_framework.html.markdown,r/auditmanager_control.html.markdown,r/auditmanager_assessment_report.html.markdown,r/auditmanager_assessment_delegation.html.markdown,r/auditmanager_assessment.html.markdown,r/auditmanager_account_registration.html.markdown,r/athena_workgroup.html.markdown,r/athena_prepared_statement.html.markdown,r/athena_named_query.html.markdown,r/athena_database.html.markdown,r/athena_data_catalog.html.markdown,r/athena_capacity_reservation.html.markdown,r/appsync_type.html.markdown,r/appsync_source_api_association.html.markdown,r/appsync_resolver.html.markdown,r/appsync_graphql_api.html.markdown,r/appsync_function.html.markdown,r/appsync_domain_name_api_association.html.markdown,r/appsync_domain_name.html.markdown,r/appsync_datasource.html.markdown,r/appsync_api_key.html.markdown,r/appsync_api_cache.html.markdown,r/appstream_user_stack_association.html.markdown,r/appstream_user.html.markdown,r/appstream_stack.html.markdown,r/appstream_image_builder.html.markdown,r/appstream_fleet_stack_association.html.markdown,r/appstream_fleet.html.markdown,r/appstream_directory_config.html.markdown,r/apprunner_vpc_ingress_connection.html.markdown,r/apprunner_vpc_connector.html.markdown,r/apprunner_service.html.markdown,r/apprunner_observability_configuration.html.markdown,r/apprunner_deployment.html.markdown,r/apprunner_default_auto_scaling_configuration_version.html.markdown,r/apprunner_custom_domain_association.html.markdown,r/apprunner_connection.html.markdown,r/apprunner_auto_scaling_configuration_version.html.markdown,r/appmesh_virtual_service.html.markdown,r/appmesh_virtual_router.html.markdown,r/appmesh_virtual_node.html.markdown,r/appmesh_virtual_gateway.html.markdown,r/appmesh_route.html.markdown,r/appmesh_mesh.html.markdown,r/appmesh_gateway_route.html.markdown,r/applicationinsights_application.html.markdown,r/appintegrations_event_integration.html.markdown,r/appintegrations_data_integration.html.markdown,r/appflow_flow.html.markdown,r/appflow_connector_profile.html.markdown,r/appfabric_ingestion_destination.html.markdown,r/appfabric_ingestion.html.markdown,r/appfabric_app_bundle.html.markdown,r/appfabric_app_authorization_connection.html.markdown,r/appfabric_app_authorization.html.markdown,r/appconfig_hosted_configuration_version.html.markdown,r/appconfig_extension_association.html.markdown,r/appconfig_extension.html.markdown,r/appconfig_environment.html.markdown,r/appconfig_deployment_strategy.html.markdown,r/appconfig_deployment.html.markdown,r/appconfig_configuration_profile.html.markdown,r/appconfig_application.html.markdown,r/appautoscaling_target.html.markdown,r/appautoscaling_scheduled_action.html.markdown,r/appautoscaling_policy.html.markdown,r/app_cookie_stickiness_policy.html.markdown,r/apigatewayv2_vpc_link.html.markdown,r/apigatewayv2_stage.html.markdown,r/apigatewayv2_route_response.html.markdown,r/apigatewayv2_route.html.markdown,r/apigatewayv2_model.html.markdown,r/apigatewayv2_integration_response.html.markdown,r/apigatewayv2_integration.html.markdown,r/apigatewayv2_domain_name.html.markdown,r/apigatewayv2_deployment.html.markdown,r/apigatewayv2_authorizer.html.markdown,r/apigatewayv2_api_mapping.html.markdown,r/apigatewayv2_api.html.markdown,r/api_gateway_vpc_link.html.markdown,r/api_gateway_usage_plan_key.html.markdown,r/api_gateway_usage_plan.html.markdown,r/api_gateway_stage.html.markdown,r/api_gateway_rest_api_put.markdown,r/api_gateway_rest_api_policy.html.markdown,r/api_gateway_rest_api.html.markdown,r/api_gateway_resource.html.markdown,r/api_gateway_request_validator.html.markdown,r/api_gateway_model.html.markdown,r/api_gateway_method_settings.html.markdown,r/api_gateway_method_response.html.markdown,r/api_gateway_method.html.markdown,r/api_gateway_integration_response.html.markdown,r/api_gateway_integration.html.markdown,r/api_gateway_gateway_response.html.markdown,r/api_gateway_domain_name_access_association.html.markdown,r/api_gateway_domain_name.html.markdown,r/api_gateway_documentation_version.html.markdown,r/api_gateway_documentation_part.html.markdown,r/api_gateway_deployment.html.markdown,r/api_gateway_client_certificate.html.markdown,r/api_gateway_base_path_mapping.html.markdown,r/api_gateway_authorizer.html.markdown,r/api_gateway_api_key.html.markdown,r/api_gateway_account.html.markdown,r/amplify_webhook.html.markdown,r/amplify_domain_association.html.markdown,r/amplify_branch.html.markdown,r/amplify_backend_environment.html.markdown,r/amplify_app.html.markdown,r/ami_launch_permission.html.markdown,r/ami_from_instance.html.markdown,r/ami_copy.html.markdown,r/ami.html.markdown,r/acmpca_policy.html.markdown,r/acmpca_permission.html.markdown,r/acmpca_certificate_authority_certificate.html.markdown,r/acmpca_certificate_authority.html.markdown,r/acmpca_certificate.html.markdown,r/acm_certificate_validation.html.markdown,r/acm_certificate.html.markdown,r/account_region.markdown,r/account_primary_contact.html.markdown,r/account_alternate_contact.html.markdown,r/accessanalyzer_archive_rule.html.markdown,r/accessanalyzer_analyzer.html.markdown,guides/version-6-upgrade.html.markdown,guides/version-5-upgrade.html.markdown,guides/version-4-upgrade.html.markdown,guides/version-3-upgrade.html.markdown,guides/version-2-upgrade.html.markdown,guides/using-aws-with-awscc-provider.html.markdown,guides/resource-tagging.html.markdown,guides/enhanced-region-support.html.markdown,guides/custom-service-endpoints.html.markdown,guides/continuous-validation-examples.html.markdown,functions/trim_iam_role_path.html.markdown,functions/arn_parse.html.markdown,functions/arn_build.html.markdown,ephemeral-resources/ssm_parameter.html.markdown,ephemeral-resources/secretsmanager_secret_version.html.markdown,ephemeral-resources/secretsmanager_random_password.html.markdown,ephemeral-resources/lambda_invocation.html.markdown,ephemeral-resources/kms_secrets.html.markdown,ephemeral-resources/eks_cluster_auth.html.markdown,ephemeral-resources/cognito_identity_openid_token_for_developer_identity.markdown,d/workspaces_workspace.html.markdown,d/workspaces_image.html.markdown,d/workspaces_directory.html.markdown,d/workspaces_bundle.html.markdown,d/wafv2_web_acl.html.markdown,d/wafv2_rule_group.html.markdown,d/wafv2_regex_pattern_set.html.markdown,d/wafv2_ip_set.html.markdown,d/wafregional_web_acl.html.markdown,d/wafregional_subscribed_rule_group.html.markdown,d/wafregional_rule.html.markdown,d/wafregional_rate_based_rule.html.markdown,d/wafregional_ipset.html.markdown,d/waf_web_acl.html.markdown,d/waf_subscribed_rule_group.html.markdown,d/waf_rule.html.markdown,d/waf_rate_based_rule.html.markdown,d/waf_ipset.html.markdown,d/vpn_gateway.html.markdown,d/vpcs.html.markdown,d/vpclattice_service_network.html.markdown,d/vpclattice_service.html.markdown,d/vpclattice_resource_policy.html.markdown,d/vpclattice_listener.html.markdown,d/vpclattice_auth_policy.html.markdown,d/vpc_security_group_rules.html.markdown,d/vpc_security_group_rule.html.markdown,d/vpc_peering_connections.html.markdown,d/vpc_peering_connection.html.markdown,d/vpc_ipams.html.markdown,d/vpc_ipam_preview_next_cidr.html.markdown,d/vpc_ipam_pools.html.markdown,d/vpc_ipam_pool_cidrs.html.markdown,d/vpc_ipam_pool.html.markdown,d/vpc_ipam.html.markdown,d/vpc_endpoint_service.html.markdown,d/vpc_endpoint_associations.html.markdown,d/vpc_endpoint.html.markdown,d/vpc_dhcp_options.html.markdown,d/vpc.html.markdown,d/verifiedpermissions_policy_store.html.markdown,d/transfer_server.html.markdown,d/transfer_connector.html.markdown,d/timestreamwrite_table.html.markdown,d/timestreamwrite_database.html.markdown,d/synthetics_runtime_versions.html.markdown,d/synthetics_runtime_version.html.markdown,d/subnets.html.markdown,d/subnet.html.markdown,d/storagegateway_local_disk.html.markdown,d/ssoadmin_principal_application_assignments.html.markdown,d/ssoadmin_permission_sets.html.markdown,d/ssoadmin_permission_set.html.markdown,d/ssoadmin_instances.html.markdown,d/ssoadmin_application_providers.html.markdown,d/ssoadmin_application_assignments.html.markdown,d/ssoadmin_application.html.markdown,d/ssmincidents_response_plan.html.markdown,d/ssmincidents_replication_set.html.markdown,d/ssmcontacts_rotation.html.markdown,d/ssmcontacts_plan.html.markdown,d/ssmcontacts_contact_channel.html.markdown,d/ssmcontacts_contact.html.markdown,d/ssm_patch_baselines.html.markdown,d/ssm_patch_baseline.html.markdown,d/ssm_parameters_by_path.html.markdown,d/ssm_parameter.html.markdown,d/ssm_maintenance_windows.html.markdown,d/ssm_instances.html.markdown,d/ssm_document.html.markdown,d/sqs_queues.html.markdown,d/sqs_queue.html.markdown,d/spot_datafeed_subscription.html.markdown,d/sns_topic.html.markdown,d/signer_signing_profile.html.markdown,d/signer_signing_job.html.markdown,d/shield_protection.html.markdown,d/sfn_state_machine_versions.html.markdown,d/sfn_state_machine.html.markdown,d/sfn_alias.html.markdown,d/sfn_activity.html.markdown,d/sesv2_email_identity_mail_from_attributes.html.markdown,d/sesv2_email_identity.html.markdown,d/sesv2_dedicated_ip_pool.html.markdown,d/sesv2_configuration_set.html.markdown,d/ses_email_identity.html.markdown,d/ses_domain_identity.html.markdown,d/ses_active_receipt_rule_set.html.markdown,d/servicequotas_templates.html.markdown,d/servicequotas_service_quota.html.markdown,d/servicequotas_service.html.markdown,d/servicecatalogappregistry_attribute_group_associations.html.markdown,d/servicecatalogappregistry_attribute_group.html.markdown,d/servicecatalogappregistry_application.html.markdown,d/servicecatalog_provisioning_artifacts.html.markdown,d/servicecatalog_product.html.markdown,d/servicecatalog_portfolio_constraints.html.markdown,d/servicecatalog_portfolio.html.markdown,d/servicecatalog_launch_paths.html.markdown,d/servicecatalog_constraint.html.markdown,d/service_principal.html.markdown,d/service_discovery_service.html.markdown,d/service_discovery_http_namespace.html.markdown,d/service_discovery_dns_namespace.html.markdown,d/service.html.markdown,d/serverlessapplicationrepository_application.html.markdown,d/securityhub_standards_control_associations.html.markdown,d/security_groups.html.markdown,d/security_group.html.markdown,d/secretsmanager_secrets.html.markdown,d/secretsmanager_secret_versions.html.markdown,d/secretsmanager_secret_version.html.markdown,d/secretsmanager_secret_rotation.html.markdown,d/secretsmanager_secret.html.markdown,d/secretsmanager_random_password.html.markdown,d/sagemaker_prebuilt_ecr_image.html.markdown,d/s3control_multi_region_access_point.html.markdown,d/s3_objects.html.markdown,d/s3_object.html.markdown,d/s3_directory_buckets.html.markdown,d/s3_bucket_policy.html.markdown,d/s3_bucket_objects.html.markdown,d/s3_bucket_object.html.markdown,d/s3_bucket.html.markdown,d/s3_account_public_access_block.html.markdown,d/s3_access_point.html.markdown,d/route_tables.html.markdown,d/route_table.html.markdown,d/route53profiles_profiles.html.markdown,d/route53_zones.html.markdown,d/route53_zone.html.markdown,d/route53_traffic_policy_document.html.markdown,d/route53_resolver_rules.html.markdown,d/route53_resolver_rule.html.markdown,d/route53_resolver_query_log_config.html.markdown,d/route53_resolver_firewall_rules.html.markdown,d/route53_resolver_firewall_rule_group_association.html.markdown,d/route53_resolver_firewall_rule_group.html.markdown,d/route53_resolver_firewall_domain_list.html.markdown,d/route53_resolver_firewall_config.html.markdown,d/route53_resolver_endpoint.html.markdown,d/route53_records.html.markdown,d/route53_delegation_set.html.markdown,d/route.html.markdown,d/resourcegroupstaggingapi_resources.html.markdown,d/resourceexplorer2_search.html.markdown,d/regions.html.markdown,d/region.html.markdown,d/redshiftserverless_workgroup.html.markdown,d/redshiftserverless_namespace.html.markdown,d/redshiftserverless_credentials.html.markdown,d/redshift_subnet_group.html.markdown,d/redshift_producer_data_shares.html.markdown,d/redshift_orderable_cluster.html.markdown,d/redshift_data_shares.html.markdown,d/redshift_cluster_credentials.html.markdown,d/redshift_cluster.html.markdown,d/rds_reserved_instance_offering.html.markdown,d/rds_orderable_db_instance.html.markdown,d/rds_engine_version.html.markdown,d/rds_clusters.html.markdown,d/rds_cluster_parameter_group.html.markdown,d/rds_cluster.html.markdown,d/rds_certificate.html.markdown,d/ram_resource_share.html.markdown,d/quicksight_user.html.markdown,d/quicksight_theme.html.markdown,d/quicksight_group.html.markdown,d/quicksight_data_set.html.markdown,d/quicksight_analysis.html.markdown,d/qldb_ledger.html.markdown,d/prometheus_workspaces.html.markdown,d/prometheus_workspace.html.markdown,d/prometheus_default_scraper_configuration.html.markdown,d/pricing_product.html.markdown,d/prefix_list.html.markdown,d/polly_voices.html.markdown,d/partition.html.markdown,d/outposts_sites.html.markdown,d/outposts_site.html.markdown,d/outposts_outposts.html.markdown,d/outposts_outpost_instance_types.html.markdown,d/outposts_outpost_instance_type.html.markdown,d/outposts_outpost.html.markdown,d/outposts_assets.html.markdown,d/outposts_asset.html.markdown,d/organizations_resource_tags.html.markdown,d/organizations_policy.html.markdown,d/organizations_policies_for_target.html.markdown,d/organizations_policies.html.markdown,d/organizations_organizational_units.html.markdown,d/organizations_organizational_unit_descendant_organizational_units.html.markdown,d/organizations_organizational_unit_descendant_accounts.html.markdown,d/organizations_organizational_unit_child_accounts.html.markdown,d/organizations_organizational_unit.html.markdown,d/organizations_organization.html.markdown,d/organizations_delegated_services.html.markdown,d/organizations_delegated_administrators.html.markdown,d/opensearchserverless_vpc_endpoint.html.markdown,d/opensearchserverless_security_policy.html.markdown,d/opensearchserverless_security_config.html.markdown,d/opensearchserverless_lifecycle_policy.html.markdown,d/opensearchserverless_collection.html.markdown,d/opensearchserverless_access_policy.html.markdown,d/opensearch_domain.html.markdown,d/oam_sinks.html.markdown,d/oam_sink.html.markdown,d/oam_links.html.markdown,d/oam_link.html.markdown,d/networkmanager_sites.html.markdown,d/networkmanager_site.html.markdown,d/networkmanager_links.html.markdown,d/networkmanager_link.html.markdown,d/networkmanager_global_networks.html.markdown,d/networkmanager_global_network.html.markdown,d/networkmanager_devices.html.markdown,d/networkmanager_device.html.markdown,d/networkmanager_core_network_policy_document.html.markdown,d/networkmanager_connections.html.markdown,d/networkmanager_connection.html.markdown,d/networkfirewall_resource_policy.html.markdown,d/networkfirewall_firewall_policy.html.markdown,d/networkfirewall_firewall.html.markdown,d/network_interfaces.html.markdown,d/network_interface.html.markdown,d/network_acls.html.markdown,d/neptune_orderable_db_instance.html.markdown,d/neptune_engine_version.html.markdown,d/nat_gateways.html.markdown,d/nat_gateway.html.markdown,d/mskconnect_worker_configuration.html.markdown,d/mskconnect_custom_plugin.html.markdown,d/mskconnect_connector.html.markdown,d/msk_vpc_connection.html.markdown,d/msk_kafka_version.html.markdown,d/msk_configuration.html.markdown,d/msk_cluster.html.markdown,d/msk_broker_nodes.html.markdown,d/msk_bootstrap_brokers.html.markdown,d/mq_broker_instance_type_offerings.html.markdown,d/mq_broker_engine_types.html.markdown,d/mq_broker.html.markdown,d/memorydb_user.html.markdown,d/memorydb_subnet_group.html.markdown,d/memorydb_snapshot.html.markdown,d/memorydb_parameter_group.html.markdown,d/memorydb_cluster.html.markdown,d/memorydb_acl.html.markdown,d/medialive_input.html.markdown,d/media_convert_queue.html.markdown,d/location_tracker_associations.html.markdown,d/location_tracker_association.html.markdown,d/location_tracker.html.markdown,d/location_route_calculator.html.markdown,d/location_place_index.html.markdown,d/location_map.html.markdown,d/location_geofence_collection.html.markdown,d/licensemanager_received_licenses.html.markdown,d/licensemanager_received_license.html.markdown,d/licensemanager_grants.html.markdown,d/lex_slot_type.html.markdown,d/lex_intent.html.markdown,d/lex_bot_alias.html.markdown,d/lex_bot.html.markdown,d/lbs.html.markdown,d/lb_trust_store.html.markdown,d/lb_target_group.html.markdown,d/lb_listener_rule.html.markdown,d/lb_listener.html.markdown,d/lb_hosted_zone_id.html.markdown,d/lb.html.markdown,d/launch_template.html.markdown,d/launch_configuration.html.markdown,d/lambda_layer_version.html.markdown,d/lambda_invocation.html.markdown,d/lambda_functions.html.markdown,d/lambda_function_url.html.markdown,d/lambda_function.html.markdown,d/lambda_code_signing_config.html.markdown,d/lambda_alias.html.markdown,d/lakeformation_resource.html.markdown,d/lakeformation_permissions.html.markdown,d/lakeformation_data_lake_settings.html.markdown,d/kms_secrets.html.markdown,d/kms_secret.html.markdown,d/kms_public_key.html.markdown,d/kms_key.html.markdown,d/kms_custom_key_store.html.markdown,d/kms_ciphertext.html.markdown,d/kms_alias.html.markdown,d/kinesis_stream_consumer.html.markdown,d/kinesis_stream.html.markdown,d/kinesis_firehose_delivery_stream.html.markdown,d/key_pair.html.markdown,d/kendra_thesaurus.html.markdown,d/kendra_query_suggestions_block_list.html.markdown,d/kendra_index.html.markdown,d/kendra_faq.html.markdown,d/kendra_experience.html.markdown,d/ivs_stream_key.html.markdown,d/ip_ranges.html.markdown,d/iot_registration_code.html.markdown,d/iot_endpoint.html.markdown,d/internet_gateway.html.markdown,d/instances.html.markdown,d/instance.html.markdown,d/inspector_rules_packages.html.markdown,d/imagebuilder_infrastructure_configurations.html.markdown,d/imagebuilder_infrastructure_configuration.html.markdown,d/imagebuilder_image_recipes.html.markdown,d/imagebuilder_image_recipe.html.markdown,d/imagebuilder_image_pipelines.html.markdown,d/imagebuilder_image_pipeline.html.markdown,d/imagebuilder_image.html.markdown,d/imagebuilder_distribution_configurations.html.markdown,d/imagebuilder_distribution_configuration.html.markdown,d/imagebuilder_container_recipes.html.markdown,d/imagebuilder_container_recipe.html.markdown,d/imagebuilder_components.html.markdown,d/imagebuilder_component.html.markdown,d/identitystore_users.html.markdown,d/identitystore_user.html.markdown,d/identitystore_groups.html.markdown,d/identitystore_group_memberships.html.markdown,d/identitystore_group.html.markdown,d/iam_users.html.markdown,d/iam_user_ssh_key.html.markdown,d/iam_user.html.markdown,d/iam_session_context.html.markdown,d/iam_server_certificate.html.markdown,d/iam_saml_provider.html.markdown,d/iam_roles.html.markdown,d/iam_role.html.markdown,d/iam_principal_policy_simulation.html.markdown,d/iam_policy_document.html.markdown,d/iam_policy.html.markdown,d/iam_openid_connect_provider.html.markdown,d/iam_instance_profiles.html.markdown,d/iam_instance_profile.html.markdown,d/iam_group.html.markdown,d/iam_account_alias.html.markdown,d/iam_access_keys.html.markdown,d/guardduty_finding_ids.html.markdown,d/guardduty_detector.html.markdown,d/grafana_workspace.html.markdown,d/glue_script.html.markdown,d/glue_registry.html.markdown,d/glue_data_catalog_encryption_settings.html.markdown,d/glue_connection.html.markdown,d/glue_catalog_table.html.markdown,d/globalaccelerator_custom_routing_accelerator.html.markdown,d/globalaccelerator_accelerator.html.markdown,d/fsx_windows_file_system.html.markdown,d/fsx_openzfs_snapshot.html.markdown,d/fsx_ontap_storage_virtual_machines.html.markdown,d/fsx_ontap_storage_virtual_machine.html.markdown,d/fsx_ontap_file_system.html.markdown,d/fis_experiment_templates.html.markdown,d/emrcontainers_virtual_cluster.html.markdown,d/emr_supported_instance_types.html.markdown,d/emr_release_labels.html.markdown,d/elb_service_account.html.markdown,d/elb_hosted_zone_id.html.markdown,d/elb.html.markdown,d/elasticsearch_domain.html.markdown,d/elasticache_user.html.markdown,d/elasticache_subnet_group.html.markdown,d/elasticache_serverless_cache.html.markdown,d/elasticache_reserved_cache_node_offering.html.markdown,d/elasticache_replication_group.html.markdown,d/elasticache_cluster.html.markdown,d/elastic_beanstalk_solution_stack.html.markdown,d/elastic_beanstalk_hosted_zone.html.markdown,d/elastic_beanstalk_application.html.markdown,d/eks_node_groups.html.markdown,d/eks_node_group.html.markdown,d/eks_clusters.html.markdown,d/eks_cluster_versions.html.markdown,d/eks_cluster_auth.html.markdown,d/eks_cluster.html.markdown,d/eks_addon_version.html.markdown,d/eks_addon.html.markdown,d/eks_access_entry.html.markdown,d/eips.html.markdown,d/eip.html.markdown,d/efs_mount_target.html.markdown,d/efs_file_system.html.markdown,d/efs_access_points.html.markdown,d/efs_access_point.html.markdown,d/ecs_task_execution.html.markdown,d/ecs_task_definition.html.markdown,d/ecs_service.html.markdown,d/ecs_container_definition.html.markdown,d/ecs_clusters.html.markdown,d/ecs_cluster.html.markdown,d/ecrpublic_authorization_token.html.markdown,d/ecr_repository_creation_template.html.markdown,d/ecr_repository.html.markdown,d/ecr_repositories.html.markdown,d/ecr_pull_through_cache_rule.html.markdown,d/ecr_lifecycle_policy_document.html.markdown,d/ecr_images.html.markdown,d/ecr_image.html.markdown,d/ecr_authorization_token.html.markdown,d/ec2_transit_gateway_vpn_attachment.html.markdown,d/ec2_transit_gateway_vpc_attachments.html.markdown,d/ec2_transit_gateway_vpc_attachment.html.markdown,d/ec2_transit_gateway_route_tables.html.markdown,d/ec2_transit_gateway_route_table_routes.html.markdown,d/ec2_transit_gateway_route_table_propagations.html.markdown,d/ec2_transit_gateway_route_table_associations.html.markdown,d/ec2_transit_gateway_route_table.html.markdown,d/ec2_transit_gateway_peering_attachments.html.markdown,d/ec2_transit_gateway_peering_attachment.html.markdown,d/ec2_transit_gateway_multicast_domain.html.markdown,d/ec2_transit_gateway_dx_gateway_attachment.html.markdown,d/ec2_transit_gateway_connect_peer.html.markdown,d/ec2_transit_gateway_connect.html.markdown,d/ec2_transit_gateway_attachments.html.markdown,d/ec2_transit_gateway_attachment.html.markdown,d/ec2_transit_gateway.html.markdown,d/ec2_spot_price.html.markdown,d/ec2_serial_console_access.html.markdown,d/ec2_public_ipv4_pools.html.markdown,d/ec2_public_ipv4_pool.html.markdown,d/ec2_network_insights_path.html.markdown,d/ec2_network_insights_analysis.html.markdown,d/ec2_managed_prefix_lists.html.markdown,d/ec2_managed_prefix_list.html.markdown,d/ec2_local_gateways.html.markdown,d/ec2_local_gateway_virtual_interface_groups.html.markdown,d/ec2_local_gateway_virtual_interface_group.html.markdown,d/ec2_local_gateway_virtual_interface.html.markdown,d/ec2_local_gateway_route_tables.html.markdown,d/ec2_local_gateway_route_table.html.markdown,d/ec2_local_gateway.html.markdown,d/ec2_instance_types.html.markdown,d/ec2_instance_type_offerings.html.markdown,d/ec2_instance_type_offering.html.markdown,d/ec2_instance_type.html.markdown,d/ec2_host.html.markdown,d/ec2_coip_pools.html.markdown,d/ec2_coip_pool.html.markdown,d/ec2_client_vpn_endpoint.html.markdown,d/ec2_capacity_block_offering.html.markdown,d/ebs_volumes.html.markdown,d/ebs_volume.html.markdown,d/ebs_snapshot_ids.html.markdown,d/ebs_snapshot.html.markdown,d/ebs_encryption_by_default.html.markdown,d/ebs_default_kms_key.html.markdown,d/dynamodb_tables.html.markdown,d/dynamodb_table_item.html.markdown,d/dynamodb_table.html.markdown,d/dx_router_configuration.html.markdown,d/dx_locations.html.markdown,d/dx_location.html.markdown,d/dx_gateway.html.markdown,d/dx_connection.html.markdown,d/docdb_orderable_db_instance.html.markdown,d/docdb_engine_version.html.markdown,d/dms_replication_task.html.markdown,d/dms_replication_subnet_group.html.markdown,d/dms_replication_instance.html.markdown,d/dms_endpoint.html.markdown,d/dms_certificate.html.markdown,d/directory_service_directory.html.markdown,d/devopsguru_resource_collection.html.markdown,d/devopsguru_notification_channel.html.markdown,d/default_tags.html.markdown,d/db_subnet_group.html.markdown,d/db_snapshot.html.markdown,d/db_proxy.html.markdown,d/db_parameter_group.html.markdown,d/db_instances.html.markdown,d/db_instance.html.markdown,d/db_event_categories.html.markdown,d/db_cluster_snapshot.html.markdown,d/datazone_environment_blueprint.html.markdown,d/datazone_domain.html.markdown,d/datapipeline_pipeline_definition.html.markdown,d/datapipeline_pipeline.html.markdown,d/customer_gateway.html.markdown,d/cur_report_definition.html.markdown,d/controltower_controls.html.markdown,d/connect_vocabulary.html.markdown,d/connect_user_hierarchy_structure.html.markdown,d/connect_user_hierarchy_group.html.markdown,d/connect_user.html.markdown,d/connect_security_profile.html.markdown,d/connect_routing_profile.html.markdown,d/connect_quick_connect.html.markdown,d/connect_queue.html.markdown,d/connect_prompt.html.markdown,d/connect_lambda_function_association.html.markdown,d/connect_instance_storage_config.html.markdown,d/connect_instance.html.markdown,d/connect_hours_of_operation.html.markdown,d/connect_contact_flow_module.html.markdown,d/connect_contact_flow.html.markdown,d/connect_bot_association.html.markdown,d/cognito_user_pools.html.markdown,d/cognito_user_pool_signing_certificate.html.markdown,d/cognito_user_pool_clients.html.markdown,d/cognito_user_pool_client.html.markdown,d/cognito_user_pool.html.markdown,d/cognito_user_groups.html.markdown,d/cognito_user_group.html.markdown,d/cognito_identity_pool.html.markdown,d/codestarconnections_connection.html.markdown,d/codeguruprofiler_profiling_group.html.markdown,d/codecommit_repository.html.markdown,d/codecommit_approval_rule_template.html.markdown,d/codecatalyst_dev_environment.html.markdown,d/codebuild_fleet.html.markdown,d/codeartifact_repository_endpoint.html.markdown,d/codeartifact_authorization_token.html.markdown,d/cloudwatch_log_groups.html.markdown,d/cloudwatch_log_group.html.markdown,d/cloudwatch_log_data_protection_policy_document.html.markdown,d/cloudwatch_event_source.html.markdown,d/cloudwatch_event_connection.html.markdown,d/cloudwatch_event_buses.html.markdown,d/cloudwatch_event_bus.html.markdown,d/cloudwatch_contributor_managed_insight_rules.html.markdown,d/cloudtrail_service_account.html.markdown,d/cloudhsm_v2_cluster.html.markdown,d/cloudfront_response_headers_policy.html.markdown,d/cloudfront_realtime_log_config.html.markdown,d/cloudfront_origin_request_policy.html.markdown,d/cloudfront_origin_access_identity.html.markdown,d/cloudfront_origin_access_identities.html.markdown,d/cloudfront_origin_access_control.html.markdown,d/cloudfront_log_delivery_canonical_user_id.html.markdown,d/cloudfront_function.html.markdown,d/cloudfront_distribution.html.markdown,d/cloudfront_cache_policy.html.markdown,d/cloudformation_type.html.markdown,d/cloudformation_stack.html.markdown,d/cloudformation_export.html.markdown,d/cloudcontrolapi_resource.html.markdown,d/chatbot_slack_workspace.html.markdown,d/ce_tags.html.markdown,d/ce_cost_category.html.markdown,d/canonical_user_id.html.markdown,d/caller_identity.html.markdown,d/budgets_budget.html.markdown,d/billing_service_account.html.markdown,d/bedrockagent_agent_versions.html.markdown,d/bedrock_inference_profiles.html.markdown,d/bedrock_inference_profile.html.markdown,d/bedrock_foundation_models.html.markdown,d/bedrock_foundation_model.html.markdown,d/bedrock_custom_models.html.markdown,d/bedrock_custom_model.html.markdown,d/batch_scheduling_policy.html.markdown,d/batch_job_queue.html.markdown,d/batch_job_definition.html.markdown,d/batch_compute_environment.html.markdown,d/backup_vault.html.markdown,d/backup_selection.html.markdown,d/backup_report_plan.html.markdown,d/backup_plan.html.markdown,d/backup_framework.html.markdown,d/availability_zones.html.markdown,d/availability_zone.html.markdown,d/autoscaling_groups.html.markdown,d/autoscaling_group.html.markdown,d/auditmanager_framework.html.markdown,d/auditmanager_control.html.markdown,d/athena_named_query.html.markdown,d/arn.html.markdown,d/appstream_image.html.markdown,d/apprunner_hosted_zone_id.html.markdown,d/appmesh_virtual_service.html.markdown,d/appmesh_virtual_router.html.markdown,d/appmesh_virtual_node.html.markdown,d/appmesh_virtual_gateway.html.markdown,d/appmesh_route.html.markdown,d/appmesh_mesh.html.markdown,d/appmesh_gateway_route.html.markdown,d/appintegrations_event_integration.html.markdown,d/appconfig_environments.html.markdown,d/appconfig_environment.html.markdown,d/appconfig_configuration_profiles.html.markdown,d/appconfig_configuration_profile.html.markdown,d/apigatewayv2_vpc_link.html.markdown,d/apigatewayv2_export.html.markdown,d/apigatewayv2_apis.html.markdown,d/apigatewayv2_api.html.markdown,d/api_gateway_vpc_link.html.markdown,d/api_gateway_sdk.html.markdown,d/api_gateway_rest_api.html.markdown,d/api_gateway_resource.html.markdown,d/api_gateway_export.html.markdown,d/api_gateway_domain_name.html.markdown,d/api_gateway_authorizers.html.markdown,d/api_gateway_authorizer.html.markdown,d/api_gateway_api_keys.html.markdown,d/api_gateway_api_key.html.markdown,d/ami_ids.html.markdown,d/ami.html.markdown,d/acmpca_certificate_authority.html.markdown,d/acmpca_certificate.html.markdown,d/acm_certificate.html.markdown,d/account_primary_contact.html.markdown --- .../d/cloudwatch_event_bus.html.markdown | 5 +- .../python/d/codebuild_fleet.html.markdown | 3 +- .../cdktf/python/d/ebs_volume.html.markdown | 3 +- .../cdktf/python/d/ecs_service.html.markdown | 22 +- .../d/eks_cluster_versions.html.markdown | 37 +- .../d/quicksight_analysis.html.markdown | 6 +- .../d/quicksight_data_set.html.markdown | 6 +- .../python/d/quicksight_group.html.markdown | 6 +- .../python/d/quicksight_theme.html.markdown | 4 +- .../python/d/quicksight_user.html.markdown | 7 +- .../python/d/s3_access_point.html.markdown | 3 +- .../python/d/ssm_patch_baseline.html.markdown | 3 +- ...fiedpermissions_policy_store.html.markdown | 3 +- .../python/d/wafv2_web_acl.html.markdown | 31 +- .../custom-service-endpoints.html.markdown | 5 +- website/docs/cdktf/python/index.html.markdown | 4 +- ...psync_source_api_association.html.markdown | 16 +- .../python/r/athena_database.html.markdown | 3 +- .../python/r/athena_workgroup.html.markdown | 14 +- .../python/r/bedrock_guardrail.html.markdown | 22 +- .../r/bedrock_inference_profile.html.markdown | 6 +- .../r/cleanrooms_collaboration.html.markdown | 25 +- .../r/cloudfront_function.html.markdown | 4 +- .../cloudfrontkeyvaluestore_key.html.markdown | 6 +- .../r/cloudwatch_event_bus.html.markdown | 230 +++++- ...udwatch_log_anomaly_detector.html.markdown | 4 +- .../python/r/codebuild_fleet.html.markdown | 11 +- ...r_recommendation_preferences.html.markdown | 4 +- .../python/r/datazone_glossary.html.markdown | 4 +- .../r/dlm_lifecycle_policy.html.markdown | 4 +- .../python/r/docdb_cluster.html.markdown | 11 +- .../r/dynamodb_resource_policy.html.markdown | 6 +- .../python/r/dynamodb_table.html.markdown | 5 +- .../r/ebs_fast_snapshot_restore.html.markdown | 6 +- .../cdktf/python/r/ebs_volume.html.markdown | 3 +- .../python/r/ecr_repository.html.markdown | 38 +- .../cdktf/python/r/emr_cluster.html.markdown | 5 +- ...tor_cross_account_attachment.html.markdown | 6 +- .../r/imagebuilder_workflow.html.markdown | 6 +- .../python/r/inspector2_enabler.html.markdown | 27 +- .../python/r/inspector2_filter.html.markdown | 4 +- .../cdktf/python/r/instance.html.markdown | 3 +- ...eformation_data_cells_filter.html.markdown | 6 +- ...all_vpc_endpoint_association.html.markdown | 112 +++ ...ager_transit_gateway_peering.html.markdown | 4 +- ...uthorize_vpc_endpoint_access.html.markdown | 6 +- .../r/opensearch_domain_policy.html.markdown | 27 +- .../quicksight_account_settings.html.markdown | 11 +- ...cksight_account_subscription.html.markdown | 6 +- .../r/quicksight_analysis.html.markdown | 6 +- ...uicksight_custom_permissions.html.markdown | 97 +++ .../r/quicksight_dashboard.html.markdown | 6 +- .../r/quicksight_data_set.html.markdown | 6 +- .../r/quicksight_data_source.html.markdown | 6 +- .../python/r/quicksight_folder.html.markdown | 6 +- ...quicksight_folder_membership.html.markdown | 4 +- .../python/r/quicksight_group.html.markdown | 8 +- .../quicksight_group_membership.html.markdown | 8 +- ...ksight_iam_policy_assignment.html.markdown | 6 +- .../r/quicksight_ingestion.html.markdown | 4 +- .../r/quicksight_ip_restriction.html.markdown | 82 +++ .../quicksight_key_registration.html.markdown | 84 +++ .../r/quicksight_namespace.html.markdown | 6 +- .../quicksight_refresh_schedule.html.markdown | 4 +- ...sight_role_custom_permission.html.markdown | 77 ++ .../quicksight_role_membership.html.markdown | 6 +- .../r/quicksight_template.html.markdown | 6 +- .../r/quicksight_template_alias.html.markdown | 4 +- .../python/r/quicksight_theme.html.markdown | 10 +- .../python/r/quicksight_user.html.markdown | 10 +- ...sight_user_custom_permission.html.markdown | 77 ++ .../r/quicksight_vpc_connection.html.markdown | 6 +- .../python/r/rds_instance_state.html.markdown | 10 +- .../r/rekognition_collection.html.markdown | 6 +- .../r/rekognition_project.html.markdown | 4 +- .../route53profiles_association.html.markdown | 4 +- .../r/route53profiles_profile.html.markdown | 6 +- ...rofiles_resource_association.html.markdown | 4 +- .../python/r/s3_access_point.html.markdown | 6 +- ...tyhub_standards_subscription.html.markdown | 6 +- .../sesv2_email_identity_policy.html.markdown | 6 +- .../python/r/ssm_patch_baseline.html.markdown | 3 +- .../r/ssm_service_setting.html.markdown | 4 +- .../r/transcribe_vocabulary.html.markdown | 3 +- ...fiedpermissions_policy_store.html.markdown | 3 +- .../r/wafv2_regex_pattern_set.html.markdown | 4 +- .../python/r/wafv2_web_acl.html.markdown | 4 +- ...b_acl_rule_group_association.html.markdown | 598 ++++++++++++++++ .../d/cloudwatch_event_bus.html.markdown | 5 +- .../d/codebuild_fleet.html.markdown | 3 +- .../typescript/d/ebs_volume.html.markdown | 3 +- .../typescript/d/ecs_service.html.markdown | 22 +- .../d/eks_cluster_versions.html.markdown | 43 +- .../d/quicksight_analysis.html.markdown | 6 +- .../d/quicksight_data_set.html.markdown | 6 +- .../d/quicksight_group.html.markdown | 6 +- .../d/quicksight_theme.html.markdown | 4 +- .../d/quicksight_user.html.markdown | 7 +- .../d/s3_access_point.html.markdown | 3 +- .../d/ssm_patch_baseline.html.markdown | 3 +- ...fiedpermissions_policy_store.html.markdown | 3 +- .../typescript/d/wafv2_web_acl.html.markdown | 35 +- .../custom-service-endpoints.html.markdown | 5 +- .../docs/cdktf/typescript/index.html.markdown | 4 +- ...psync_source_api_association.html.markdown | 16 +- .../r/athena_database.html.markdown | 3 +- .../r/athena_workgroup.html.markdown | 14 +- .../r/bedrock_guardrail.html.markdown | 36 +- .../r/bedrock_inference_profile.html.markdown | 6 +- .../r/cleanrooms_collaboration.html.markdown | 25 +- .../r/cloudfront_function.html.markdown | 4 +- .../cloudfrontkeyvaluestore_key.html.markdown | 6 +- .../r/cloudwatch_event_bus.html.markdown | 280 +++++++- ...udwatch_log_anomaly_detector.html.markdown | 4 +- .../r/codebuild_fleet.html.markdown | 11 +- ...r_recommendation_preferences.html.markdown | 4 +- .../r/datazone_glossary.html.markdown | 4 +- .../r/dlm_lifecycle_policy.html.markdown | 4 +- .../typescript/r/docdb_cluster.html.markdown | 11 +- .../r/dynamodb_resource_policy.html.markdown | 6 +- .../typescript/r/dynamodb_table.html.markdown | 3 +- .../r/ebs_fast_snapshot_restore.html.markdown | 6 +- .../typescript/r/ebs_volume.html.markdown | 3 +- .../typescript/r/ecr_repository.html.markdown | 43 +- .../typescript/r/emr_cluster.html.markdown | 5 +- ...tor_cross_account_attachment.html.markdown | 6 +- .../r/imagebuilder_workflow.html.markdown | 6 +- .../r/inspector2_enabler.html.markdown | 34 +- .../r/inspector2_filter.html.markdown | 4 +- .../cdktf/typescript/r/instance.html.markdown | 3 +- ...eformation_data_cells_filter.html.markdown | 6 +- ...all_vpc_endpoint_association.html.markdown | 124 ++++ ...ager_transit_gateway_peering.html.markdown | 6 +- ...uthorize_vpc_endpoint_access.html.markdown | 6 +- .../r/opensearch_domain_policy.html.markdown | 34 +- .../quicksight_account_settings.html.markdown | 15 +- ...cksight_account_subscription.html.markdown | 6 +- .../r/quicksight_analysis.html.markdown | 6 +- ...uicksight_custom_permissions.html.markdown | 104 +++ .../r/quicksight_dashboard.html.markdown | 6 +- .../r/quicksight_data_set.html.markdown | 6 +- .../r/quicksight_data_source.html.markdown | 6 +- .../r/quicksight_folder.html.markdown | 6 +- ...quicksight_folder_membership.html.markdown | 4 +- .../r/quicksight_group.html.markdown | 8 +- .../quicksight_group_membership.html.markdown | 8 +- ...ksight_iam_policy_assignment.html.markdown | 6 +- .../r/quicksight_ingestion.html.markdown | 4 +- .../r/quicksight_ip_restriction.html.markdown | 92 +++ .../quicksight_key_registration.html.markdown | 96 +++ .../r/quicksight_namespace.html.markdown | 6 +- .../quicksight_refresh_schedule.html.markdown | 4 +- ...sight_role_custom_permission.html.markdown | 89 +++ .../quicksight_role_membership.html.markdown | 6 +- .../r/quicksight_template.html.markdown | 6 +- .../r/quicksight_template_alias.html.markdown | 4 +- .../r/quicksight_theme.html.markdown | 10 +- .../r/quicksight_user.html.markdown | 10 +- ...sight_user_custom_permission.html.markdown | 89 +++ .../r/quicksight_vpc_connection.html.markdown | 6 +- .../r/rds_instance_state.html.markdown | 10 +- .../r/rekognition_collection.html.markdown | 6 +- .../r/rekognition_project.html.markdown | 4 +- .../route53profiles_association.html.markdown | 4 +- .../r/route53profiles_profile.html.markdown | 6 +- ...rofiles_resource_association.html.markdown | 4 +- .../r/s3_access_point.html.markdown | 6 +- ...tyhub_standards_subscription.html.markdown | 6 +- .../sesv2_email_identity_policy.html.markdown | 6 +- .../r/ssm_patch_baseline.html.markdown | 3 +- .../r/ssm_service_setting.html.markdown | 4 +- .../r/transcribe_vocabulary.html.markdown | 3 +- ...fiedpermissions_policy_store.html.markdown | 3 +- .../r/wafv2_regex_pattern_set.html.markdown | 4 +- .../typescript/r/wafv2_web_acl.html.markdown | 4 +- ...b_acl_rule_group_association.html.markdown | 663 ++++++++++++++++++ 176 files changed, 3756 insertions(+), 457 deletions(-) create mode 100644 website/docs/cdktf/python/r/networkfirewall_vpc_endpoint_association.html.markdown create mode 100644 website/docs/cdktf/python/r/quicksight_custom_permissions.html.markdown create mode 100644 website/docs/cdktf/python/r/quicksight_ip_restriction.html.markdown create mode 100644 website/docs/cdktf/python/r/quicksight_key_registration.html.markdown create mode 100644 website/docs/cdktf/python/r/quicksight_role_custom_permission.html.markdown create mode 100644 website/docs/cdktf/python/r/quicksight_user_custom_permission.html.markdown create mode 100644 website/docs/cdktf/python/r/wafv2_web_acl_rule_group_association.html.markdown create mode 100644 website/docs/cdktf/typescript/r/networkfirewall_vpc_endpoint_association.html.markdown create mode 100644 website/docs/cdktf/typescript/r/quicksight_custom_permissions.html.markdown create mode 100644 website/docs/cdktf/typescript/r/quicksight_ip_restriction.html.markdown create mode 100644 website/docs/cdktf/typescript/r/quicksight_key_registration.html.markdown create mode 100644 website/docs/cdktf/typescript/r/quicksight_role_custom_permission.html.markdown create mode 100644 website/docs/cdktf/typescript/r/quicksight_user_custom_permission.html.markdown create mode 100644 website/docs/cdktf/typescript/r/wafv2_web_acl_rule_group_association.html.markdown diff --git a/website/docs/cdktf/python/d/cloudwatch_event_bus.html.markdown b/website/docs/cdktf/python/d/cloudwatch_event_bus.html.markdown index bc008641112b..5306eb852123 100644 --- a/website/docs/cdktf/python/d/cloudwatch_event_bus.html.markdown +++ b/website/docs/cdktf/python/d/cloudwatch_event_bus.html.markdown @@ -50,5 +50,8 @@ This data source exports the following attributes in addition to the arguments a * `description` - Event bus description. * `id` - Name of the event bus. * `kms_key_identifier` - Identifier of the AWS KMS customer managed key for EventBridge to use to encrypt events on this event bus, if one has been specified. +* `log_config` - Block for logging configuration settings for the event bus. + * `include_detail` - Whether EventBridge include detailed event information in the records it generates. + * `level` - Level of logging detail to include. - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/codebuild_fleet.html.markdown b/website/docs/cdktf/python/d/codebuild_fleet.html.markdown index 402ee96b1556..0705a2fbc26f 100644 --- a/website/docs/cdktf/python/d/codebuild_fleet.html.markdown +++ b/website/docs/cdktf/python/d/codebuild_fleet.html.markdown @@ -84,6 +84,7 @@ This data source exports the following attributes in addition to the arguments a * `base_capacity` - Number of machines allocated to the fleet. * `compute_configuration` - Compute configuration of the compute fleet. * `disk` - Amount of disk space of the instance type included in the fleet. + * `instance_type` - EC2 instance type in the fleet. * `machine_type` - Machine type of the instance type included in the fleet. * `memory` - Amount of memory of the instance type included in the fleet. * `vcpu` - Number of vCPUs of the instance type included in the fleet. @@ -112,4 +113,4 @@ This data source exports the following attributes in addition to the arguments a * `subnets` - A list of one or more subnet IDs in your Amazon VPC. * `vpc_id` - The ID of the Amazon VPC. - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ebs_volume.html.markdown b/website/docs/cdktf/python/d/ebs_volume.html.markdown index 4e490d7078b1..0016f04830ea 100644 --- a/website/docs/cdktf/python/d/ebs_volume.html.markdown +++ b/website/docs/cdktf/python/d/ebs_volume.html.markdown @@ -70,6 +70,7 @@ This data source exports the following attributes in addition to the arguments a * `throughput` - Throughput that the volume supports, in MiB/s. * `volume_id` - Volume ID (e.g., vol-59fcb34e). * `volume_type` - Type of EBS volume. +* `volume_initialization_rate` - EBS provisioned rate for volume initialization, in MiB/s, at which to download the snapshot blocks from Amazon S3 to the volume. ## Timeouts @@ -79,4 +80,4 @@ This data source exports the following attributes in addition to the arguments a [1]: http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-volumes.html - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ecs_service.html.markdown b/website/docs/cdktf/python/d/ecs_service.html.markdown index 100f1d6488ab..02dd2c656a42 100644 --- a/website/docs/cdktf/python/d/ecs_service.html.markdown +++ b/website/docs/cdktf/python/d/ecs_service.html.markdown @@ -48,8 +48,28 @@ This data source exports the following attributes in addition to the arguments a * `arn` - ARN of the ECS Service * `desired_count` - Number of tasks for the ECS Service * `launch_type` - Launch type for the ECS Service +* `load_balancer` - Load balancers for the ECS Service. See [`load_balancer` Block](#load_balancer-block) for details. * `scheduling_strategy` - Scheduling strategy for the ECS Service * `task_definition` - Family for the latest ACTIVE revision or full ARN of the task definition. * `tags` - Resource tags. - \ No newline at end of file +### `load_balancer` Block + +The `load_balancer` block exports the following attributes: + +* `advanced_configuration` - Settings for Blue/Green deployment. See [`advanced_configuration` Block](#advanced_configuration-block) for details. +* `container_name` - Name of the container to associate with the load balancer. +* `container_port` - Port on the container to associate with the load balancer. +* `elb_name` - Name of the load balancer. +* `target_group_arn` - ARN of the target group to associate with the load balancer. + +### `advanced_configuration` Block + +The `advanced_configuration` block exports the following attributes: + +* `alternate_target_group_arn` - ARN of the alternate target group to use for Blue/Green deployments. +* `production_listener_rule` - ARN of the listener rule that routes production traffic. +* `role_arn` - ARN of the IAM role that allows ECS to manage the target groups. +* `test_listener_rule` - ARN of the listener rule that routes test traffic. + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/eks_cluster_versions.html.markdown b/website/docs/cdktf/python/d/eks_cluster_versions.html.markdown index c652c6d2a3ea..4e34ce4c7a40 100644 --- a/website/docs/cdktf/python/d/eks_cluster_versions.html.markdown +++ b/website/docs/cdktf/python/d/eks_cluster_versions.html.markdown @@ -19,7 +19,7 @@ Terraform data source for managing AWS EKS (Elastic Kubernetes) Cluster Versions ```python # DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug from constructs import Construct -from cdktf import TerraformStack +from cdktf import TerraformOutput, TerraformStack # # Provider bindings are generated by running `cdktf get`. # See https://cdk.tf/provider-generation for more details. @@ -28,7 +28,16 @@ from imports.aws.data_aws_eks_cluster_versions import DataAwsEksClusterVersions class MyConvertedCode(TerraformStack): def __init__(self, scope, name): super().__init__(scope, name) - DataAwsEksClusterVersions(self, "example") + example = DataAwsEksClusterVersions(self, "example") + TerraformOutput(self, "eks_cluster_version_filtered", + value="${[ for version in ${" + example.cluster_versions + "} : version if version.cluster_version == \"1.33\"]}" + ) + TerraformOutput(self, "eks_cluster_version_list", + value="${[ for version in ${" + example.cluster_versions + "} : version.cluster_version]}" + ) + TerraformOutput(self, "eks_cluster_versions", + value=example.cluster_versions + ) ``` ### Filter by Cluster Type @@ -76,7 +85,6 @@ The following arguments are optional: * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `cluster_type` - (Optional) Type of clusters to filter by. Currently, the only valid value is `eks`. -* `cluster_versions` - (Optional) A list of Kubernetes versions that you can use to check if EKS supports it. * `default_only` - (Optional) Whether to show only the default versions of Kubernetes supported by EKS. * `include_all` - (Optional) Whether to include all kubernetes versions in the response. * `version_status` - (Optional) Status of the EKS cluster versions to list. @@ -86,14 +94,15 @@ Valid values are `STANDARD_SUPPORT` or `UNSUPPORTED` or `EXTENDED_SUPPORT`. This data source exports the following attributes in addition to the arguments above: -* `cluster_type` - Type of cluster that the version belongs to. -* `cluster_version` - Kubernetes version supported by EKS. -* `default_platform_version` - Default eks platform version for the cluster version. -* `default_version` - Default Kubernetes version for the cluster version. -* `end_of_extended_support_date` - End of extended support date for the cluster version. -* `end_of_standard_support_date` - End of standard support date for the cluster version. -* `kubernetes_patch_version` - Kubernetes patch version for the cluster version. -* `release_date` - Release date of the cluster version. -* `version_status` - Status of the EKS cluster version. - - \ No newline at end of file +* `cluster_versions` - A list of Kubernetes version information. + * `cluster_type` - Type of cluster that the version belongs to. + * `cluster_version` - Kubernetes version supported by EKS. + * `default_platform_version` - Default eks platform version for the cluster version. + * `default_version` - Default Kubernetes version for the cluster version. + * `end_of_extended_support_date` - End of extended support date for the cluster version. + * `end_of_standard_support_date` - End of standard support date for the cluster version. + * `kubernetes_patch_version` - Kubernetes patch version for the cluster version. + * `release_date` - Release date of the cluster version. + * `version_status` - Status of the EKS cluster version. + + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/quicksight_analysis.html.markdown b/website/docs/cdktf/python/d/quicksight_analysis.html.markdown index 9346916c5fa5..d1e9d1c6fbad 100644 --- a/website/docs/cdktf/python/d/quicksight_analysis.html.markdown +++ b/website/docs/cdktf/python/d/quicksight_analysis.html.markdown @@ -37,9 +37,9 @@ class MyConvertedCode(TerraformStack): This data source supports the following arguments: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `analysis_id` - (Required) Identifier for the analysis. -* `aws_account_id` - (Optional) AWS account ID. +* `aws_account_id` - (Optional) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). ## Attribute Reference @@ -48,4 +48,4 @@ This data source exports the following attributes in addition to the arguments a See the [Analysis Resource](/docs/providers/aws/r/quicksight_analysis.html) for details on the returned attributes - they are identical. - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/quicksight_data_set.html.markdown b/website/docs/cdktf/python/d/quicksight_data_set.html.markdown index d785ebdbc583..e876f35376df 100644 --- a/website/docs/cdktf/python/d/quicksight_data_set.html.markdown +++ b/website/docs/cdktf/python/d/quicksight_data_set.html.markdown @@ -37,9 +37,9 @@ class MyConvertedCode(TerraformStack): This data source supports the following arguments: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). +* `aws_account_id` - (Optional) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `data_set_id` - (Required) Identifier for the data set. -* `aws_account_id` - (Optional) AWS account ID. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). ## Attribute Reference @@ -48,4 +48,4 @@ This data source exports the following attributes in addition to the arguments a See the [Data Set Resource](/docs/providers/aws/r/quicksight_data_set.html) for details on the returned attributes - they are identical. - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/quicksight_group.html.markdown b/website/docs/cdktf/python/d/quicksight_group.html.markdown index fb4ce7c655dd..d963834e80d8 100644 --- a/website/docs/cdktf/python/d/quicksight_group.html.markdown +++ b/website/docs/cdktf/python/d/quicksight_group.html.markdown @@ -43,9 +43,9 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `aws_account_id` - (Optional) AWS account ID. +* `aws_account_id` - (Optional) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `namespace` - (Optional) QuickSight namespace. Defaults to `default`. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). ## Attribute Reference @@ -55,4 +55,4 @@ This data source exports the following attributes in addition to the arguments a * `description` - The group description. * `principal_id` - The principal ID of the group. - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/quicksight_theme.html.markdown b/website/docs/cdktf/python/d/quicksight_theme.html.markdown index bfa79839d92e..595ad5b8d278 100644 --- a/website/docs/cdktf/python/d/quicksight_theme.html.markdown +++ b/website/docs/cdktf/python/d/quicksight_theme.html.markdown @@ -41,8 +41,8 @@ The following arguments are required: The following arguments are optional: +* `aws_account_id` - AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `aws_account_id` - AWS account ID. ## Attribute Reference @@ -132,4 +132,4 @@ This data source exports the following attributes in addition to the arguments a * `warning` - Color (hexadecimal) that applies to warning and informational messages. * `warning_foreground` - Color (hexadecimal) that applies to any text or other elements that appear over the warning color. - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/quicksight_user.html.markdown b/website/docs/cdktf/python/d/quicksight_user.html.markdown index 243bf60388e9..3100d77c6635 100644 --- a/website/docs/cdktf/python/d/quicksight_user.html.markdown +++ b/website/docs/cdktf/python/d/quicksight_user.html.markdown @@ -43,9 +43,9 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `aws_account_id` - (Optional) AWS account ID. +* `aws_account_id` - (Optional) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `namespace` - (Optional) QuickSight namespace. Defaults to `default`. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). ## Attribute Reference @@ -53,6 +53,7 @@ This data source exports the following attributes in addition to the arguments a * `active` - The active status of user. When you create an Amazon QuickSight user that’s not an IAM user or an Active Directory user, that user is inactive until they sign in and provide a password. * `arn` - The Amazon Resource Name (ARN) for the user. +* `custom_permissions_name` - The custom permissions profile associated with this user. * `email` - The user's email address. * `identity_type` - The type of identity authentication used by the user. * `principal_id` - The principal ID of the user. @@ -61,4 +62,4 @@ This data source exports the following attributes in addition to the arguments a - `AUTHOR`: A user who can create data sources, datasets, analyzes, and dashboards. - `ADMIN`: A user who is an author, who can also manage Amazon QuickSight settings. - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/s3_access_point.html.markdown b/website/docs/cdktf/python/d/s3_access_point.html.markdown index bb3b70d104af..d20f8b51fb85 100644 --- a/website/docs/cdktf/python/d/s3_access_point.html.markdown +++ b/website/docs/cdktf/python/d/s3_access_point.html.markdown @@ -56,7 +56,8 @@ This data source exports the following attributes in addition to the arguments a * `block_public_policy` - Whether Amazon S3 blocks public bucket policies for buckets in this account. * `ignore_public_acls` - Whether Amazon S3 ignores public ACLs for buckets in this account. * `restrict_public_buckets` - Whether Amazon S3 restricts public bucket policies for buckets in this account. +* `tags` - Tags assigned to the access point. * `vpc_configuration` - VPC configuration for the access point. * `vpc_id` - Access point will only allow connections from this VPC. - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/ssm_patch_baseline.html.markdown b/website/docs/cdktf/python/d/ssm_patch_baseline.html.markdown index 0312b5995332..39a9a8626a4d 100644 --- a/website/docs/cdktf/python/d/ssm_patch_baseline.html.markdown +++ b/website/docs/cdktf/python/d/ssm_patch_baseline.html.markdown @@ -85,6 +85,7 @@ This data source exports the following attributes in addition to the arguments a * `patch_filter` - Patch filter group that defines the criteria for the rule. * `key` - Key for the filter. * `values` - Value for the filter. +* `available_security_updates_compliance_status` - Indicates the compliance status of managed nodes for which security-related patches are available but were not approved. Supported for Windows Server managed nodes only. * `global_filter` - Set of global filters used to exclude patches from the baseline. * `key` - Key for the filter. * `values` - Value for the filter. @@ -99,4 +100,4 @@ This data source exports the following attributes in addition to the arguments a * `name` - Name specified to identify the patch source. * `products` - Specific operating system versions a patch repository applies to. - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/verifiedpermissions_policy_store.html.markdown b/website/docs/cdktf/python/d/verifiedpermissions_policy_store.html.markdown index ba19b654b6f6..32fb1b61a972 100644 --- a/website/docs/cdktf/python/d/verifiedpermissions_policy_store.html.markdown +++ b/website/docs/cdktf/python/d/verifiedpermissions_policy_store.html.markdown @@ -46,8 +46,9 @@ This data source exports the following attributes in addition to the arguments a * `arn` - The ARN of the Policy Store. * `created_date` - The date the Policy Store was created. +* `deletion_protection` - Whether the policy store can be deleted. * `last_updated_date` - The date the Policy Store was last updated. * `tags` - Map of key-value pairs associated with the policy store. * `validation_settings` - Validation settings for the policy store. - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/d/wafv2_web_acl.html.markdown b/website/docs/cdktf/python/d/wafv2_web_acl.html.markdown index cd1f5ad322af..fc054c899e3c 100644 --- a/website/docs/cdktf/python/d/wafv2_web_acl.html.markdown +++ b/website/docs/cdktf/python/d/wafv2_web_acl.html.markdown @@ -14,6 +14,8 @@ Retrieves the summary of a WAFv2 Web ACL. ## Example Usage +### Lookup by name + ```python # DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug from constructs import Construct @@ -32,12 +34,37 @@ class MyConvertedCode(TerraformStack): ) ``` +### Lookup by associated resource + +```python +# DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +from constructs import Construct +from cdktf import TerraformStack +# +# Provider bindings are generated by running `cdktf get`. +# See https://cdk.tf/provider-generation for more details. +# +from imports.aws.data_aws_wafv2_web_acl import DataAwsWafv2WebAcl +class MyConvertedCode(TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + DataAwsWafv2WebAcl(self, "alb_example", + resource_arn="arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/my-alb/xxxxx", + scope="REGIONAL" + ) + DataAwsWafv2WebAcl(self, "cloudfront_example", + resource_arn="arn:aws:cloudfront::123456789012:distribution/XXX", + scope="CLOUDFRONT" + ) +``` + ## Argument Reference This data source supports the following arguments: +* `name` - (Optional) Name of the WAFv2 Web ACL. Exactly one of `name` or `resource_arn` must be specified. * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `name` - (Required) Name of the WAFv2 Web ACL. +* `resource_arn` - (Optional) ARN of the AWS resource associated with the Web ACL. This can be an ARN of an Application Load Balancer, Amazon API Gateway REST API, AWS AppSync GraphQL API, Amazon Cognito user pool, AWS App Runner service, AWS Verified Access instance, or AWS Amplify application. Exactly one of `name` or `resource_arn` must be specified. * `scope` - (Required) Specifies whether this is for an AWS CloudFront distribution or for a regional application. Valid values are `CLOUDFRONT` or `REGIONAL`. To work with CloudFront, you must also specify the region `us-east-1` (N. Virginia) on the AWS provider. ## Attribute Reference @@ -48,4 +75,4 @@ This data source exports the following attributes in addition to the arguments a * `description` - Description of the WebACL that helps with identification. * `id` - Unique identifier of the WebACL. - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/guides/custom-service-endpoints.html.markdown b/website/docs/cdktf/python/guides/custom-service-endpoints.html.markdown index 57807f87cf16..21e16d2a0380 100644 --- a/website/docs/cdktf/python/guides/custom-service-endpoints.html.markdown +++ b/website/docs/cdktf/python/guides/custom-service-endpoints.html.markdown @@ -135,6 +135,7 @@ class MyConvertedCode(TerraformStack): |BCM Data Exports|`bcmdataexports`|`AWS_ENDPOINT_URL_BCM_DATA_EXPORTS`|`bcm_data_exports`| |Bedrock|`bedrock`|`AWS_ENDPOINT_URL_BEDROCK`|`bedrock`| |Bedrock Agents|`bedrockagent`|`AWS_ENDPOINT_URL_BEDROCK_AGENT`|`bedrock_agent`| +|Bedrock AgentCore|`bedrockagentcore`|`AWS_ENDPOINT_URL_BEDROCK_AGENTCORE_CONTROL`|`bedrock_agentcore_control`| |Billing|`billing`|`AWS_ENDPOINT_URL_BILLING`|`billing`| |Web Services Budgets|`budgets`|`AWS_ENDPOINT_URL_BUDGETS`|`budgets`| |CE (Cost Explorer)|`ce`(or `costexplorer`)|`AWS_ENDPOINT_URL_COST_EXPLORER`|`cost_explorer`| @@ -274,6 +275,7 @@ class MyConvertedCode(TerraformStack): |User Notifications|`notifications`|`AWS_ENDPOINT_URL_NOTIFICATIONS`|`notifications`| |User Notifications Contacts|`notificationscontacts`|`AWS_ENDPOINT_URL_NOTIFICATIONSCONTACTS`|`notificationscontacts`| |CloudWatch Observability Access Manager|`oam`(or `cloudwatchobservabilityaccessmanager`)|`AWS_ENDPOINT_URL_OAM`|`oam`| +|Oracle Database@AWS|`odb`|`AWS_ENDPOINT_URL_ODB`|`odb`| |OpenSearch|`opensearch`(or `opensearchservice`)|`AWS_ENDPOINT_URL_OPENSEARCH`|`opensearch`| |OpenSearch Serverless|`opensearchserverless`|`AWS_ENDPOINT_URL_OPENSEARCHSERVERLESS`|`opensearchserverless`| |Organizations|`organizations`|`AWS_ENDPOINT_URL_ORGANIZATIONS`|`organizations`| @@ -313,6 +315,7 @@ class MyConvertedCode(TerraformStack): |S3 Control|`s3control`|`AWS_ENDPOINT_URL_S3_CONTROL`|`s3_control`| |S3 on Outposts|`s3outposts`|`AWS_ENDPOINT_URL_S3OUTPOSTS`|`s3outposts`| |S3 Tables|`s3tables`|`AWS_ENDPOINT_URL_S3TABLES`|`s3tables`| +|S3 Vectors|`s3vectors`|`AWS_ENDPOINT_URL_S3VECTORS`|`s3vectors`| |SageMaker AI|`sagemaker`|`AWS_ENDPOINT_URL_SAGEMAKER`|`sagemaker`| |EventBridge Scheduler|`scheduler`|`AWS_ENDPOINT_URL_SCHEDULER`|`scheduler`| |EventBridge Schemas|`schemas`|`AWS_ENDPOINT_URL_SCHEMAS`|`schemas`| @@ -456,4 +459,4 @@ class MyConvertedCode(TerraformStack): ) ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/index.html.markdown b/website/docs/cdktf/python/index.html.markdown index cb8a24d5cfc8..1ec4ed0f1fd8 100644 --- a/website/docs/cdktf/python/index.html.markdown +++ b/website/docs/cdktf/python/index.html.markdown @@ -13,7 +13,7 @@ Use the Amazon Web Services (AWS) provider to interact with the many resources supported by AWS. You must configure the provider with the proper credentials before you can use it. -Use the navigation to the left to read about the available resources. There are currently 1509 resources and 608 data sources available in the provider. +Use the navigation to the left to read about the available resources. There are currently 1516 resources and 609 data sources available in the provider. To learn the basics of Terraform using this provider, follow the hands-on [get started tutorials](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/infrastructure-as-code?in=terraform/aws-get-started&utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS). Interact with AWS services, @@ -902,4 +902,4 @@ Approaches differ per authentication providers: There used to be no better way to get account ID out of the API when using the federated account until `sts:GetCallerIdentity` was introduced. - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/appsync_source_api_association.html.markdown b/website/docs/cdktf/python/r/appsync_source_api_association.html.markdown index d25761b33196..64b3e3e92f0d 100644 --- a/website/docs/cdktf/python/r/appsync_source_api_association.html.markdown +++ b/website/docs/cdktf/python/r/appsync_source_api_association.html.markdown @@ -3,13 +3,13 @@ subcategory: "AppSync" layout: "aws" page_title: "AWS: aws_appsync_source_api_association" description: |- - Terraform resource for managing an AWS AppSync Source Api Association. + Terraform resource for managing an AWS AppSync Source API Association. --- # Resource: aws_appsync_source_api_association -Terraform resource for managing an AWS AppSync Source Api Association. +Terraform resource for managing an AWS AppSync Source API Association. ## Example Usage @@ -55,9 +55,9 @@ The `source_api_association_config` configuration block supports the following a This resource exports the following attributes in addition to the arguments above: -* `arn` - ARN of the Source Api Association. -* `association_id` - ID of the Source Api Association. -* `id` - Combined ID of the Source Api Association and Merge Api. +* `arn` - ARN of the Source API Association. +* `association_id` - ID of the Source API Association. +* `id` - Combined ID of the Source API Association and Merge API. ## Timeouts @@ -69,7 +69,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import AppSync Source Api Association using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import AppSync Source API Association using the `association_id` and `merged_api_id` separated by `,`. For example: ```python # DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -86,10 +86,10 @@ class MyConvertedCode(TerraformStack): AppsyncSourceApiAssociation.generate_config_for_import(self, "example", "gzos6bteufdunffzzifiowisoe,243685a0-9347-4a1a-89c1-9b57dea01e31") ``` -Using `terraform import`, import AppSync Source Api Association using the `gzos6bteufdunffzzifiowisoe,243685a0-9347-4a1a-89c1-9b57dea01e31`. For example: +Using `terraform import`, import AppSync Source API Association using the `association_id` and `merged_api_id` separated by `,`. For example: ```console % terraform import aws_appsync_source_api_association.example gzos6bteufdunffzzifiowisoe,243685a0-9347-4a1a-89c1-9b57dea01e31 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/athena_database.html.markdown b/website/docs/cdktf/python/r/athena_database.html.markdown index 6c7ee8e6aa39..ba8302c0c379 100644 --- a/website/docs/cdktf/python/r/athena_database.html.markdown +++ b/website/docs/cdktf/python/r/athena_database.html.markdown @@ -51,6 +51,7 @@ This resource supports the following arguments: * `expected_bucket_owner` - (Optional) AWS account ID that you expect to be the owner of the Amazon S3 bucket. * `force_destroy` - (Optional, Default: false) Boolean that indicates all tables should be deleted from the database so that the database can be destroyed without error. The tables are *not* recoverable. * `properties` - (Optional) Key-value map of custom metadata properties for the database definition. +* `workgroup` - (Optional) Name of the workgroup. ### ACL Configuration @@ -118,4 +119,4 @@ class MyConvertedCode(TerraformStack): ) ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/athena_workgroup.html.markdown b/website/docs/cdktf/python/r/athena_workgroup.html.markdown index b61ec331d0c1..9395a708f015 100644 --- a/website/docs/cdktf/python/r/athena_workgroup.html.markdown +++ b/website/docs/cdktf/python/r/athena_workgroup.html.markdown @@ -59,19 +59,25 @@ This resource supports the following arguments: * `bytes_scanned_cutoff_per_query` - (Optional) Integer for the upper data usage limit (cutoff) for the amount of bytes a single query in a workgroup is allowed to scan. Must be at least `10485760`. * `enforce_workgroup_configuration` - (Optional) Boolean whether the settings for the workgroup override client-side settings. For more information, see [Workgroup Settings Override Client-Side Settings](https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html). Defaults to `true`. * `engine_version` - (Optional) Configuration block for the Athena Engine Versioning. For more information, see [Athena Engine Versioning](https://docs.aws.amazon.com/athena/latest/ug/engine-versions.html). See [Engine Version](#engine-version) below. -* `execution_role` - (Optional) Role used in a notebook session for accessing the user's resources. +* `execution_role` - (Optional) Role used to access user resources in notebook sessions and IAM Identity Center enabled workgroups. The property is required for IAM Identity Center enabled workgroups. +* `identity_center_configuration` - (Optional) Configuration block to set up an IAM Identity Center enabled workgroup. See [Identity Center Configuration](#identity-center-configuration) below. * `publish_cloudwatch_metrics_enabled` - (Optional) Boolean whether Amazon CloudWatch metrics are enabled for the workgroup. Defaults to `true`. -* `result_configuration` - (Optional) Configuration block with result settings. See [Result Configuration](#result-configuration) below. * `requester_pays_enabled` - (Optional) If set to true , allows members assigned to a workgroup to reference Amazon S3 Requester Pays buckets in queries. If set to false , workgroup members cannot query data from Requester Pays buckets, and queries that retrieve data from Requester Pays buckets cause an error. The default is false . For more information about Requester Pays buckets, see [Requester Pays Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html) in the Amazon Simple Storage Service Developer Guide. +* `result_configuration` - (Optional) Configuration block with result settings. See [Result Configuration](#result-configuration) below. #### Engine Version * `selected_engine_version` - (Optional) Requested engine version. Defaults to `AUTO`. +#### Identity Center Configuration + +* `enable_identity_center` - (Optional) Specifies whether the workgroup is IAM Identity Center supported. +* `identity_center_instance_arn` - (Optional) The IAM Identity Center instance ARN that the workgroup associates to. + #### Result Configuration -* `encryption_configuration` - (Optional) Configuration block with encryption settings. See [Encryption Configuration](#encryption-configuration) below. * `acl_configuration` - (Optional) That an Amazon S3 canned ACL should be set to control ownership of stored query results. See [ACL Configuration](#acl-configuration) below. +* `encryption_configuration` - (Optional) Configuration block with encryption settings. See [Encryption Configuration](#encryption-configuration) below. * `expected_bucket_owner` - (Optional) AWS account ID that you expect to be the owner of the Amazon S3 bucket. * `output_location` - (Optional) Location in Amazon S3 where your query results are stored, such as `s3://path/to/query/bucket/`. For more information, see [Queries and Query Result Files](https://docs.aws.amazon.com/athena/latest/ug/querying.html). @@ -120,4 +126,4 @@ Using `terraform import`, import Athena Workgroups using their name. For example % terraform import aws_athena_workgroup.example example ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/bedrock_guardrail.html.markdown b/website/docs/cdktf/python/r/bedrock_guardrail.html.markdown index 54572754d755..e7b04b5940da 100644 --- a/website/docs/cdktf/python/r/bedrock_guardrail.html.markdown +++ b/website/docs/cdktf/python/r/bedrock_guardrail.html.markdown @@ -36,15 +36,23 @@ resource "aws_bedrock_guardrail" "example" { sensitive_information_policy_config { pii_entities_config { - action = "BLOCK" - type = "NAME" + action = "BLOCK" + input_action = "BLOCK" + output_action = "ANONYMIZE" + input_enabled = true + output_enabled = true + type = "NAME" } regexes_config { - action = "BLOCK" - description = "example regex" - name = "regex_example" - pattern = "^\\d{3}-\\d{2}-\\d{4}$" + action = "BLOCK" + input_action = "BLOCK" + output_action = "BLOCK" + input_enabled = true + output_enabled = false + description = "example regex" + name = "regex_example" + pattern = "^\\d{3}-\\d{2}-\\d{4}$" } } @@ -231,4 +239,4 @@ Using `terraform import`, import Amazon Bedrock Guardrail using using a comma-de % terraform import aws_bedrock_guardrail.example guardrail-id-12345678,DRAFT ``` - + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/bedrock_inference_profile.html.markdown b/website/docs/cdktf/python/r/bedrock_inference_profile.html.markdown index 31a77ee4c3f4..f699f826b912 100644 --- a/website/docs/cdktf/python/r/bedrock_inference_profile.html.markdown +++ b/website/docs/cdktf/python/r/bedrock_inference_profile.html.markdown @@ -88,7 +88,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Bedrock Inference Profile using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Bedrock Inference Profile using the `name`. For example: ```python # DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -105,10 +105,10 @@ class MyConvertedCode(TerraformStack): BedrockInferenceProfile.generate_config_for_import(self, "example", "inference_profile-id-12345678") ``` -Using `terraform import`, import Bedrock Inference Profile using the `example_id_arg`. For example: +Using `terraform import`, import Bedrock Inference Profile using the `name`. For example: ```console % terraform import aws_bedrock_inference_profile.example inference_profile-id-12345678 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/cleanrooms_collaboration.html.markdown b/website/docs/cdktf/python/r/cleanrooms_collaboration.html.markdown index 49d94e0ccc63..1042dc98bfa5 100644 --- a/website/docs/cdktf/python/r/cleanrooms_collaboration.html.markdown +++ b/website/docs/cdktf/python/r/cleanrooms_collaboration.html.markdown @@ -10,13 +10,11 @@ description: |- # Resource: aws_cleanrooms_collaboration -Provides a AWS Clean Rooms collaboration. All members included in the definition will be invited to -join the collaboration and can create memberships. +Provides a AWS Clean Rooms collaboration. +All members included in the definition will be invited to join the collaboration and can create memberships. ## Example Usage -### Collaboration with tags - ```python # DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug from constructs import Construct @@ -30,6 +28,7 @@ class MyConvertedCode(TerraformStack): def __init__(self, scope, name, *, memberAbilities): super().__init__(scope, name) CleanroomsCollaboration(self, "test_collaboration", + analytics_engine="SPARK", creator_display_name="Creator ", creator_member_abilities=["CAN_QUERY", "CAN_RECEIVE_RESULTS"], data_encryption_metadata=CleanroomsCollaborationDataEncryptionMetadata( @@ -55,15 +54,18 @@ class MyConvertedCode(TerraformStack): ## Argument Reference -This resource supports the following arguments: +The following arguments are required: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `name` - (Required) - The name of the collaboration. Collaboration names do not need to be unique. * `description` - (Required) - A description for a collaboration. * `creator_member_abilities` - (Required - Forces new resource) - The list of member abilities for the creator of the collaboration. Valid values [may be found here](https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateCollaboration.html#API-CreateCollaboration-request-creatorMemberAbilities). * `creator_display_name` - (Required - Forces new resource) - The name for the member record for the collaboration creator. * `query_log_status` - (Required - Forces new resource) - Determines if members of the collaboration can enable query logs within their own. emberships. Valid values [may be found here](https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateCollaboration.html#API-CreateCollaboration-request-queryLogStatus). + +The following arguments are optional: + +* `analytics_engine` - (Optional) Analytics engine used by the collaboration. Valid values are `CLEAN_ROOMS_SQL` (deprecated) and `SPARK`. * `data_encryption_metadata` - (Required - Forces new resource) - a collection of settings which determine how the [c3r client](https://docs.aws.amazon.com/clean-rooms/latest/userguide/crypto-computing.html) will encrypt data for use within this collaboration. * `data_encryption_metadata.allow_clear_text` - (Required - Forces new resource) - Indicates whether encrypted tables can contain cleartext data. This is a boolea field. @@ -77,17 +79,18 @@ or cryptographically processed (false). * `member.account_id` - (Required - Forces new resource) - The account id for the invited member. * `member.display_name` - (Required - Forces new resource) - The display name for the invited member. * `member.member_abilities` - (Required - Forces new resource) - The list of abilities for the invited member. Valid values [may be found here](https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateCollaboration.html#API-CreateCollaboration-request-creatorMemberAbilities). +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `tags` - (Optional) - Key value pairs which tag the collaboration. ## Attribute Reference This resource exports the following attributes in addition to the arguments above: -* `arn` - The arn of the collaboration. -* `id` - The id of the collaboration. -* `create_time` - The date and time the collaboration was created. +* `arn` - ARN of the collaboration. +* `id` - ID of the collaboration. +* `create_time` - Date and time the collaboration was created. * `member status` - For each member included in the collaboration an additional computed attribute of status is added. These values [may be found here](https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_MemberSummary.html#API-Type-MemberSummary-status). -* `updated_time` - The date and time the collaboration was last updated. +* `updated_time` - Date and time the collaboration was last updated. ## Timeouts @@ -122,4 +125,4 @@ Using `terraform import`, import `aws_cleanrooms_collaboration` using the `id`. % terraform import aws_cleanrooms_collaboration.collaboration 1234abcd-12ab-34cd-56ef-1234567890ab ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/cloudfront_function.html.markdown b/website/docs/cdktf/python/r/cloudfront_function.html.markdown index 9d5a3d127da1..7f66cfe10d2a 100644 --- a/website/docs/cdktf/python/r/cloudfront_function.html.markdown +++ b/website/docs/cdktf/python/r/cloudfront_function.html.markdown @@ -53,7 +53,7 @@ The following arguments are optional: * `comment` - (Optional) Comment. * `publish` - (Optional) Whether to publish creation/change as Live CloudFront Function Version. Defaults to `true`. -* `key_value_store_associations` - (Optional) List of `aws_cloudfront_key_value_store` ARNs to be associated to the function. AWS limits associations to on key value store per function. +* `key_value_store_associations` - (Optional) List of `aws_cloudfront_key_value_store` ARNs to be associated to the function. AWS limits associations to one key value store per function. ## Attribute Reference @@ -89,4 +89,4 @@ Using `terraform import`, import CloudFront Functions using the `name`. For exam % terraform import aws_cloudfront_function.test my_test_function ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/cloudfrontkeyvaluestore_key.html.markdown b/website/docs/cdktf/python/r/cloudfrontkeyvaluestore_key.html.markdown index 57ef50dfd362..58337a4b5b99 100644 --- a/website/docs/cdktf/python/r/cloudfrontkeyvaluestore_key.html.markdown +++ b/website/docs/cdktf/python/r/cloudfrontkeyvaluestore_key.html.markdown @@ -61,7 +61,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import CloudFront KeyValueStore Key using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import CloudFront KeyValueStore Key using the `key_value_store_arn` and 'key' separated by `,`. For example: ```python # DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -78,10 +78,10 @@ class MyConvertedCode(TerraformStack): CloudfrontkeyvaluestoreKey.generate_config_for_import(self, "example", "arn:aws:cloudfront::111111111111:key-value-store/8562g61f-caba-2845-9d99-b97diwae5d3c,someKey") ``` -Using `terraform import`, import CloudFront KeyValueStore Key using the `id`. For example: +Using `terraform import`, import CloudFront KeyValueStore Key using the `key_value_store_arn` and 'key' separated by `,`. For example: ```console % terraform import aws_cloudfrontkeyvaluestore_key.example arn:aws:cloudfront::111111111111:key-value-store/8562g61f-caba-2845-9d99-b97diwae5d3c,someKey ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/cloudwatch_event_bus.html.markdown b/website/docs/cdktf/python/r/cloudwatch_event_bus.html.markdown index f13792db62aa..dd6d288a8f13 100644 --- a/website/docs/cdktf/python/r/cloudwatch_event_bus.html.markdown +++ b/website/docs/cdktf/python/r/cloudwatch_event_bus.html.markdown @@ -16,6 +16,8 @@ Provides an EventBridge event bus resource. ## Example Usage +### Basic Usages + ```python # DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug from constructs import Construct @@ -58,6 +60,229 @@ class MyConvertedCode(TerraformStack): aws_cloudwatch_event_bus_examplepartner.override_logical_id("examplepartner") ``` +### Logging to CloudWatch Logs, S3, and Data Firehose + +See [Configuring logs for Amazon EventBridge event buses](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus-logs.html) for more details. + +#### Required Resources + +* EventBridge Event Bus with `log_config` configured +* Log destinations: + + * CloudWatch Logs log group + * S3 bucket + * Data Firehose delivery stream + +* Resource-based policy or tagging for the service-linked role: + + * CloudWatch Logs log group - `aws_cloudwatch_log_resource_policy` to allow `delivery.logs.amazonaws.com` to put logs into the log group + * S3 bucket - `aws_s3_bucket_policy` to allow `delivery.logs.amazonaws.com` to put logs into the bucket + * Data Firehose delivery stream - tagging the delivery stream with `LogDeliveryEnabled = "true"` to allow the service-linked role `AWSServiceRoleForLogDelivery` to deliver logs + +* CloudWatch Logs Delivery: + + * `aws_cloudwatch_log_delivery_source` for each log type (INFO, ERROR, TRACE) + * `aws_cloudwatch_log_delivery_destination` for the log destination (S3 bucket, CloudWatch Logs log group, or Data Firehose delivery stream) + * `aws_cloudwatch_log_delivery` to link each log type’s delivery source to the delivery destination + +#### Example Usage + +The following example demonstrates how to set up logging for an EventBridge event bus to all three destinations: CloudWatch Logs, S3, and Data Firehose. + +```python +# DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +from constructs import Construct +from cdktf import Token, TerraformStack +# +# Provider bindings are generated by running `cdktf get`. +# See https://cdk.tf/provider-generation for more details. +# +from imports.aws.cloudwatch_event_bus import CloudwatchEventBus +from imports.aws.cloudwatch_log_delivery import CloudwatchLogDelivery +from imports.aws.cloudwatch_log_delivery_destination import CloudwatchLogDeliveryDestination +from imports.aws.cloudwatch_log_delivery_source import CloudwatchLogDeliverySource +from imports.aws.cloudwatch_log_group import CloudwatchLogGroup +from imports.aws.cloudwatch_log_resource_policy import CloudwatchLogResourcePolicy +from imports.aws.data_aws_caller_identity import DataAwsCallerIdentity +from imports.aws.data_aws_iam_policy_document import DataAwsIamPolicyDocument +from imports.aws.kinesis_firehose_delivery_stream import KinesisFirehoseDeliveryStream +from imports.aws.s3_bucket import S3Bucket +from imports.aws.s3_bucket_policy import S3BucketPolicy +class MyConvertedCode(TerraformStack): + def __init__(self, scope, name, *, destination, name): + super().__init__(scope, name) + example = CloudwatchEventBus(self, "example", + log_config=CloudwatchEventBusLogConfig( + include_detail="FULL", + level="TRACE" + ), + name="example-event-bus" + ) + error_logs = CloudwatchLogDeliverySource(self, "error_logs", + log_type="ERROR_LOGS", + name="EventBusSource-${" + example.name + "}-ERROR_LOGS", + resource_arn=example.arn + ) + info_logs = CloudwatchLogDeliverySource(self, "info_logs", + log_type="INFO_LOGS", + name="EventBusSource-${" + example.name + "}-INFO_LOGS", + resource_arn=example.arn + ) + trace_logs = CloudwatchLogDeliverySource(self, "trace_logs", + log_type="TRACE_LOGS", + name="EventBusSource-${" + example.name + "}-TRACE_LOGS", + resource_arn=example.arn + ) + event_bus_logs = CloudwatchLogGroup(self, "event_bus_logs", + name="/aws/vendedlogs/events/event-bus/${" + example.name + "}" + ) + cloudfront_logs = KinesisFirehoseDeliveryStream(self, "cloudfront_logs", + tags={ + "LogDeliveryEnabled": "true" + }, + destination=destination, + name=name + ) + aws_s3_bucket_example = S3Bucket(self, "example_6", + bucket="example-event-bus-logs" + ) + # This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match. + aws_s3_bucket_example.override_logical_id("example") + current = DataAwsCallerIdentity(self, "current") + bucket = DataAwsIamPolicyDocument(self, "bucket", + statement=[DataAwsIamPolicyDocumentStatement( + actions=["s3:PutObject"], + condition=[DataAwsIamPolicyDocumentStatementCondition( + test="StringEquals", + values=["bucket-owner-full-control"], + variable="s3:x-amz-acl" + ), DataAwsIamPolicyDocumentStatementCondition( + test="StringEquals", + values=[Token.as_string(current.account_id)], + variable="aws:SourceAccount" + ), DataAwsIamPolicyDocumentStatementCondition( + test="ArnLike", + values=[info_logs.arn, error_logs.arn, trace_logs.arn], + variable="aws:SourceArn" + ) + ], + effect="Allow", + principals=[DataAwsIamPolicyDocumentStatementPrincipals( + identifiers=["delivery.logs.amazonaws.com"], + type="Service" + ) + ], + resources=["${" + aws_s3_bucket_example.arn + "}/AWSLogs/${" + current.account_id + "}/EventBusLogs/*" + ] + ) + ] + ) + cwlogs = DataAwsIamPolicyDocument(self, "cwlogs", + statement=[DataAwsIamPolicyDocumentStatement( + actions=["logs:CreateLogStream", "logs:PutLogEvents"], + condition=[DataAwsIamPolicyDocumentStatementCondition( + test="StringEquals", + values=[Token.as_string(current.account_id)], + variable="aws:SourceAccount" + ), DataAwsIamPolicyDocumentStatementCondition( + test="ArnLike", + values=[info_logs.arn, error_logs.arn, trace_logs.arn], + variable="aws:SourceArn" + ) + ], + effect="Allow", + principals=[DataAwsIamPolicyDocumentStatementPrincipals( + identifiers=["delivery.logs.amazonaws.com"], + type="Service" + ) + ], + resources=["${" + event_bus_logs.arn + "}:log-stream:*"] + ) + ] + ) + aws_cloudwatch_log_delivery_destination_cwlogs = + CloudwatchLogDeliveryDestination(self, "cwlogs_10", + delivery_destination_configuration=[CloudwatchLogDeliveryDestinationDeliveryDestinationConfiguration( + destination_resource_arn=event_bus_logs.arn + ) + ], + name="EventsDeliveryDestination-${" + example.name + "}-CWLogs" + ) + # This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match. + aws_cloudwatch_log_delivery_destination_cwlogs.override_logical_id("cwlogs") + firehose = CloudwatchLogDeliveryDestination(self, "firehose", + delivery_destination_configuration=[CloudwatchLogDeliveryDestinationDeliveryDestinationConfiguration( + destination_resource_arn=cloudfront_logs.arn + ) + ], + name="EventsDeliveryDestination-${" + example.name + "}-Firehose" + ) + s3 = CloudwatchLogDeliveryDestination(self, "s3", + delivery_destination_configuration=[CloudwatchLogDeliveryDestinationDeliveryDestinationConfiguration( + destination_resource_arn=Token.as_string(aws_s3_bucket_example.arn) + ) + ], + name="EventsDeliveryDestination-${" + example.name + "}-S3" + ) + aws_cloudwatch_log_resource_policy_example = + CloudwatchLogResourcePolicy(self, "example_13", + policy_document=Token.as_string(cwlogs.json), + policy_name="AWSLogDeliveryWrite-${" + example.name + "}" + ) + # This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match. + aws_cloudwatch_log_resource_policy_example.override_logical_id("example") + aws_s3_bucket_policy_example = S3BucketPolicy(self, "example_14", + bucket=Token.as_string(aws_s3_bucket_example.bucket), + policy=Token.as_string(bucket.json) + ) + # This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match. + aws_s3_bucket_policy_example.override_logical_id("example") + s3_info_logs = CloudwatchLogDelivery(self, "s3_info_logs", + delivery_destination_arn=s3.arn, + delivery_source_name=info_logs.name + ) + cwlogs_info_logs = CloudwatchLogDelivery(self, "cwlogs_info_logs", + delivery_destination_arn=Token.as_string(aws_cloudwatch_log_delivery_destination_cwlogs.arn), + delivery_source_name=info_logs.name, + depends_on=[s3_info_logs] + ) + firehose_info_logs = CloudwatchLogDelivery(self, "firehose_info_logs", + delivery_destination_arn=firehose.arn, + delivery_source_name=info_logs.name, + depends_on=[cwlogs_info_logs] + ) + s3_error_logs = CloudwatchLogDelivery(self, "s3_error_logs", + delivery_destination_arn=s3.arn, + delivery_source_name=error_logs.name, + depends_on=[s3_info_logs] + ) + s3_trace_logs = CloudwatchLogDelivery(self, "s3_trace_logs", + delivery_destination_arn=s3.arn, + delivery_source_name=trace_logs.name, + depends_on=[s3_error_logs] + ) + cwlogs_error_logs = CloudwatchLogDelivery(self, "cwlogs_error_logs", + delivery_destination_arn=Token.as_string(aws_cloudwatch_log_delivery_destination_cwlogs.arn), + delivery_source_name=error_logs.name, + depends_on=[s3_error_logs, cwlogs_info_logs] + ) + cwlogs_trace_logs = CloudwatchLogDelivery(self, "cwlogs_trace_logs", + delivery_destination_arn=Token.as_string(aws_cloudwatch_log_delivery_destination_cwlogs.arn), + delivery_source_name=trace_logs.name, + depends_on=[s3_trace_logs, cwlogs_error_logs] + ) + firehose_error_logs = CloudwatchLogDelivery(self, "firehose_error_logs", + delivery_destination_arn=firehose.arn, + delivery_source_name=error_logs.name, + depends_on=[cwlogs_error_logs, firehose_info_logs] + ) + CloudwatchLogDelivery(self, "firehose_trace_logs", + delivery_destination_arn=firehose.arn, + delivery_source_name=trace_logs.name, + depends_on=[cwlogs_trace_logs, firehose_error_logs] + ) +``` + ## Argument Reference This resource supports the following arguments: @@ -75,6 +300,9 @@ The following arguments are optional: * `description` - (Optional) Event bus description. * `event_source_name` - (Optional) Partner event source that the new event bus will be matched with. Must match `name`. * `kms_key_identifier` - (Optional) Identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. +* `log_config` - (Optional) Block for logging configuration settings for the event bus. + * `include_detail` - (Optional) Whether EventBridge include detailed event information in the records it generates. Valid values are `NONE` and `FULL`. + * `level` - (Optional) Level of logging detail to include. Valid values are `OFF`, `ERROR`, `INFO`, and `TRACE`. * `tags` - (Optional) Map of tags assigned to the resource. If configured with a provider [`default_tags` configuration block](/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. ## Attribute Reference @@ -110,4 +338,4 @@ Using `terraform import`, import EventBridge event buses using the name of the e % terraform import aws_cloudwatch_event_bus.messenger chat-messages ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/cloudwatch_log_anomaly_detector.html.markdown b/website/docs/cdktf/python/r/cloudwatch_log_anomaly_detector.html.markdown index 125f6116a336..5443285927b1 100644 --- a/website/docs/cdktf/python/r/cloudwatch_log_anomaly_detector.html.markdown +++ b/website/docs/cdktf/python/r/cloudwatch_log_anomaly_detector.html.markdown @@ -95,10 +95,10 @@ class MyConvertedCode(TerraformStack): CloudwatchLogAnomalyDetector.generate_config_for_import(self, "example", "log_anomaly_detector-arn-12345678") ``` -Using `terraform import`, import CloudWatch Log Anomaly Detector using the `example_id_arg`. For example: +Using `terraform import`, import CloudWatch Log Anomaly Detector using the `arn`. For example: ```console % terraform import aws_cloudwatch_log_anomaly_detector.example log_anomaly_detector-arn-12345678 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/codebuild_fleet.html.markdown b/website/docs/cdktf/python/r/codebuild_fleet.html.markdown index 072a9e1df2b3..ada755c829ab 100644 --- a/website/docs/cdktf/python/r/codebuild_fleet.html.markdown +++ b/website/docs/cdktf/python/r/codebuild_fleet.html.markdown @@ -78,7 +78,7 @@ The following arguments are required: The following arguments are optional: * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `compute_configuration` - (Optional) The compute configuration of the compute fleet. This is only required if `compute_type` is set to `ATTRIBUTE_BASED_COMPUTE`. See [`compute_configuration`](#compute_configuration) below. +* `compute_configuration` - (Optional) The compute configuration of the compute fleet. This is only required if `compute_type` is set to `ATTRIBUTE_BASED_COMPUTE` or `CUSTOM_INSTANCE_TYPE`. See [`compute_configuration`](#compute_configuration) below. * `fleet_service_role` - (Optional) The service role associated with the compute fleet. * `image_id` - (Optional) The Amazon Machine Image (AMI) of the compute fleet. * `overflow_behavior` - (Optional) Overflow behavior for compute fleet. Valid values: `ON_DEMAND`, `QUEUE`. @@ -89,9 +89,10 @@ The following arguments are optional: ### compute_configuration * `disk` - (Optional) Amount of disk space of the instance type included in the fleet. -* `machine_type` - (Optional) Machine type of the instance type included in the fleet. Valid values: `GENERAL`, `NVME`. -* `memory` - (Optional) Amount of memory of the instance type included in the fleet. -* `vcpu` - (Optional) Number of vCPUs of the instance type included in the fleet. +* `instance_type` - (Optional) EC2 instance type to be launched in the fleet. Specify only if `compute_type` is set to `CUSTOM_INSTANCE_TYPE`. See [Supported instance families](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment-reserved-capacity.instance-types). +* `machine_type` - (Optional) Machine type of the instance type included in the fleet. Valid values: `GENERAL`, `NVME`. Specify only if `compute_type` is set to `ATTRIBUTE_BASED_COMPUTE`. +* `memory` - (Optional) Amount of memory of the instance type included in the fleet. Specify only if `compute_type` is set to `ATTRIBUTE_BASED_COMPUTE`. +* `vcpu` - (Optional) Number of vCPUs of the instance type included in the fleet. Specify only if `compute_type` is set to `ATTRIBUTE_BASED_COMPUTE`. ### scaling_configuration @@ -148,4 +149,4 @@ Using `terraform import`, import CodeBuild Fleet using the `name`. For example: % terraform import aws_codebuild_fleet.name fleet-name ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/computeoptimizer_recommendation_preferences.html.markdown b/website/docs/cdktf/python/r/computeoptimizer_recommendation_preferences.html.markdown index 9164a204ff8d..8463bb65c5f5 100644 --- a/website/docs/cdktf/python/r/computeoptimizer_recommendation_preferences.html.markdown +++ b/website/docs/cdktf/python/r/computeoptimizer_recommendation_preferences.html.markdown @@ -83,7 +83,7 @@ This resource supports the following arguments: * `inferred_workload_types` - (Optional) The status of the inferred workload types recommendation preference. Valid values: `Active`, `Inactive`. * `look_back_period` - (Optional) The preference to control the number of days the utilization metrics of the AWS resource are analyzed. Valid values: `DAYS_14`, `DAYS_32`, `DAYS_93`. * `preferred_resource` - (Optional) The preference to control which resource type values are considered when generating rightsizing recommendations. See [Preferred Resources](#preferred-resources) below. -* `resource_type` - (Required) The target resource type of the recommendation preferences. Valid values: `Ec2Instance`, `AutoScalingGroup`, `RdsDBInstance`. +* `resource_type` - (Required) The target resource type of the recommendation preferences. Valid values: `Ec2Instance`, `AutoScalingGroup`, `RdsDBInstance`, `AuroraDBClusterStorage`. * `savings_estimation_mode` - (Optional) The status of the savings estimation mode preference. Valid values: `AfterDiscounts`, `BeforeDiscounts`. * `scope` - (Required) The scope of the recommendation preferences. See [Scope](#scope) below. * `utilization_preference` - (Optional) The preference to control the resource’s CPU utilization threshold, CPU utilization headroom, and memory utilization headroom. See [Utilization Preferences](#utilization-preferences) below. @@ -142,4 +142,4 @@ Using `terraform import`, import recommendation preferences using the resource t % terraform import aws_computeoptimizer_recommendation_preferences.example Ec2Instance,AccountId,123456789012 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/datazone_glossary.html.markdown b/website/docs/cdktf/python/r/datazone_glossary.html.markdown index fabbeb78a9a2..29c0ac25dc95 100644 --- a/website/docs/cdktf/python/r/datazone_glossary.html.markdown +++ b/website/docs/cdktf/python/r/datazone_glossary.html.markdown @@ -137,7 +137,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import DataZone Glossary using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import DataZone Glossary using a comma-delimited string combining the domain id, glossary id, and the id of the project it's under. For example: ```python # DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -160,4 +160,4 @@ Using `terraform import`, import DataZone Glossary using the import Datazone Glo % terraform import aws_datazone_glossary.example domain-id,glossary-id,owning-project-identifier ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/dlm_lifecycle_policy.html.markdown b/website/docs/cdktf/python/r/dlm_lifecycle_policy.html.markdown index b2d75a954331..30c603dfc9ea 100644 --- a/website/docs/cdktf/python/r/dlm_lifecycle_policy.html.markdown +++ b/website/docs/cdktf/python/r/dlm_lifecycle_policy.html.markdown @@ -247,7 +247,7 @@ This resource supports the following arguments: * `action` - (Optional) The actions to be performed when the event-based policy is triggered. You can specify only one action per policy. This parameter is required for event-based policies only. If you are creating a snapshot or AMI policy, omit this parameter. See the [`action` configuration](#action-arguments) block. * `event_source` - (Optional) The event that triggers the event-based policy. This parameter is required for event-based policies only. If you are creating a snapshot or AMI policy, omit this parameter. See the [`event_source` configuration](#event-source-arguments) block. * `resource_types` - (Optional) A list of resource types that should be targeted by the lifecycle policy. Valid values are `VOLUME` and `INSTANCE`. -* `resource_locations` - (Optional) The location of the resources to backup. If the source resources are located in an AWS Region, specify `CLOUD`. If the source resources are located on an Outpost in your account, specify `OUTPOST`. If you specify `OUTPOST`, Amazon Data Lifecycle Manager backs up all resources of the specified type with matching target tags across all of the Outposts in your account. Valid values are `CLOUD` and `OUTPOST`. +* `resource_locations` - (Optional) The location of the resources to backup. If the source resources are located in an AWS Region, specify `CLOUD`. If the source resources are located on an Outpost in your account, specify `OUTPOST`. If the source resources are located in a Local Zone, specify `LOCAL_ZONE`. Valid values are `CLOUD`, `LOCAL_ZONE`, and `OUTPOST`. * `policy_type` - (Optional) The valid target resource types and actions a policy can manage. Specify `EBS_SNAPSHOT_MANAGEMENT` to create a lifecycle policy that manages the lifecycle of Amazon EBS snapshots. Specify `IMAGE_MANAGEMENT` to create a lifecycle policy that manages the lifecycle of EBS-backed AMIs. Specify `EVENT_BASED_POLICY` to create an event-based policy that performs specific actions when a defined event occurs in your AWS account. Default value is `EBS_SNAPSHOT_MANAGEMENT`. * `parameters` - (Optional) A set of optional parameters for snapshot and AMI lifecycle policies. See the [`parameters` configuration](#parameters-arguments) block. * `schedule` - (Optional) See the [`schedule` configuration](#schedule-arguments) block. @@ -385,4 +385,4 @@ Using `terraform import`, import DLM lifecycle policies using their policy ID. F % terraform import aws_dlm_lifecycle_policy.example policy-abcdef12345678901 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/docdb_cluster.html.markdown b/website/docs/cdktf/python/r/docdb_cluster.html.markdown index 889292355d7e..d70d1a0a25b2 100644 --- a/website/docs/cdktf/python/r/docdb_cluster.html.markdown +++ b/website/docs/cdktf/python/r/docdb_cluster.html.markdown @@ -88,6 +88,7 @@ This resource supports the following arguments: Default: A 30-minute window selected at random from an 8-hour block of time per regionE.g., 04:00-09:00 * `preferred_maintenance_window` - (Optional) The weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30 * `restore_to_point_in_time` - (Optional, Forces new resource) A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See [Restore To Point In Time](#restore-to-point-in-time) below for details. +* `serverless_v2_scaling_configuration` - (Optional) Scaling configuration of an Amazon DocumentDB Serverless cluster. See [Serverless V2 Scaling Configuration](#serverless-v2-scaling-configuration) below for details. * `skip_final_snapshot` - (Optional) Determines whether a final DB snapshot is created before the DB cluster is deleted. If true is specified, no DB snapshot is created. If false is specified, a DB snapshot is created before the DB cluster is deleted, using the value from `final_snapshot_identifier`. Default is `false`. * `snapshot_identifier` - (Optional) Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot. Automated snapshots **should not** be used for this attribute, unless from a different cluster. Automated snapshots are deleted as part of cluster destruction when the resource is replaced. * `storage_encrypted` - (Optional) Specifies whether the DB cluster is encrypted. The default is `false`. @@ -108,6 +109,14 @@ The `restore_to_point_in_time` block supports the following arguments: * `source_cluster_identifier` - (Required) The identifier of the source DB cluster from which to restore. Must match the identifier of an existing DB cluster. * `use_latest_restorable_time` - (Optional) A boolean value that indicates whether the DB cluster is restored from the latest backup time. Defaults to `false`. Cannot be specified with `restore_to_time`. +### Serverless V2 Scaling Configuration + +The `serverless_v2_scaling_configuration` block supports the following arguments. +Adding this block (i.e. switching to serverless) or removing it (i.e. switching from serverless) will trigger cluster replacement. + +* `max_capacity` - (Required) Maximum number of Amazon DocumentDB capacity units (DCUs) for an instance in an Amazon DocumentDB Serverless cluster. Valid values are multiples of 0.5 between 1 and 256. +* `min_capacity` - (Required) Minimum number of Amazon DocumentDB capacity units (DCUs) for an instance in an Amazon DocumentDB Serverless cluster. Valid values are multiples of 0.5 between 0.5 and 256. + ## Attribute Reference This resource exports the following attributes in addition to the arguments above: @@ -155,4 +164,4 @@ Using `terraform import`, import DocumentDB Clusters using the `cluster_identifi % terraform import aws_docdb_cluster.docdb_cluster docdb-prod-cluster ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/dynamodb_resource_policy.html.markdown b/website/docs/cdktf/python/r/dynamodb_resource_policy.html.markdown index 66ea98c13c1c..4aa7b6a69da4 100644 --- a/website/docs/cdktf/python/r/dynamodb_resource_policy.html.markdown +++ b/website/docs/cdktf/python/r/dynamodb_resource_policy.html.markdown @@ -55,7 +55,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import DynamoDB Resource Policy using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import DynamoDB Resource Policy using the `resource_arn`. For example: ```python # DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -72,10 +72,10 @@ class MyConvertedCode(TerraformStack): DynamodbResourcePolicy.generate_config_for_import(self, "example", "arn:aws:dynamodb:us-east-1:1234567890:table/my-table") ``` -Using `terraform import`, import DynamoDB Resource Policy using the `example_id_arg`. For example: +Using `terraform import`, import DynamoDB Resource Policy using the `resource_arn`. For example: ```console % terraform import aws_dynamodb_resource_policy.example arn:aws:dynamodb:us-east-1:1234567890:table/my-table ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/dynamodb_table.html.markdown b/website/docs/cdktf/python/r/dynamodb_table.html.markdown index 35fbdd4ccb32..75913eb8153b 100644 --- a/website/docs/cdktf/python/r/dynamodb_table.html.markdown +++ b/website/docs/cdktf/python/r/dynamodb_table.html.markdown @@ -16,8 +16,6 @@ Provides a DynamoDB table resource. ~> **Note:** When using [aws_dynamodb_table_replica](/docs/providers/aws/r/dynamodb_table_replica.html) with this resource, use `lifecycle` [`ignore_changes`](https://www.terraform.io/docs/configuration/meta-arguments/lifecycle.html#ignore_changes) for `replica`, _e.g._, `lifecycle { ignore_changes = [replica] }`. -~> **Note:** If the replica configuration block is used you **must** set `stream_enabled = true` as AWS will require this for global tables. - ## DynamoDB Table attributes Only define attributes on the table object that are going to be used as: @@ -337,6 +335,7 @@ The following arguments are optional: **Note:** This attribute will _not_ be populated with the ARN of _default_ keys. **Note:** Changing this value will recreate the replica. * `point_in_time_recovery` - (Optional) Whether to enable Point In Time Recovery for the replica. Default is `false`. +* `deletion_protection_enabled` - (Optional) Whether deletion protection is enabled (true) or disabled (false) on the replica. Default is `false`. * `propagate_tags` - (Optional) Whether to propagate the global table's tags to a replica. Default is `false`. Changes to tags only move in one direction: from global (source) to replica. @@ -406,4 +405,4 @@ Using `terraform import`, import DynamoDB tables using the `name`. For example: % terraform import aws_dynamodb_table.basic-dynamodb-table GameScores ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ebs_fast_snapshot_restore.html.markdown b/website/docs/cdktf/python/r/ebs_fast_snapshot_restore.html.markdown index 69c075bf4d31..4505918828cd 100644 --- a/website/docs/cdktf/python/r/ebs_fast_snapshot_restore.html.markdown +++ b/website/docs/cdktf/python/r/ebs_fast_snapshot_restore.html.markdown @@ -58,7 +58,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import EC2 (Elastic Compute Cloud) EBS Fast Snapshot Restore using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import EC2 (Elastic Compute Cloud) EBS Fast Snapshot Restore using the `availability_zone` and `snapshot_id` separated by `,`. For example: ```python # DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -75,10 +75,10 @@ class MyConvertedCode(TerraformStack): EbsFastSnapshotRestore.generate_config_for_import(self, "example", "us-west-2a,snap-abcdef123456") ``` -Using `terraform import`, import EC2 (Elastic Compute Cloud) EBS Fast Snapshot Restore using the `id`. For example: +Using `terraform import`, import EC2 (Elastic Compute Cloud) EBS Fast Snapshot Restore using the `availability_zone` and `snapshot_id` separated by `,`. For example: ```console % terraform import aws_ebs_fast_snapshot_restore.example us-west-2a,snap-abcdef123456 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ebs_volume.html.markdown b/website/docs/cdktf/python/r/ebs_volume.html.markdown index 77950628b02f..3f667d6b3f93 100644 --- a/website/docs/cdktf/python/r/ebs_volume.html.markdown +++ b/website/docs/cdktf/python/r/ebs_volume.html.markdown @@ -52,6 +52,7 @@ This resource supports the following arguments: * `tags` - (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. * `throughput` - (Optional) Throughput that the volume supports, in MiB/s. Only valid for `type` of `gp3`. * `type` - (Optional) Type of EBS volume. Can be `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1` or `st1` (Default: `gp2`). +* `volume_initialization_rate` - (Optional) EBS provisioned rate for volume initialization, in MiB/s, at which to download the snapshot blocks from Amazon S3 to the volume. This argument can only be set if `snapshot_id` is specified. ~> **NOTE:** At least one of `size` or `snapshot_id` is required. @@ -99,4 +100,4 @@ Using `terraform import`, import EBS Volumes using the `id`. For example: % terraform import aws_ebs_volume.id vol-049df61146c4d7901 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ecr_repository.html.markdown b/website/docs/cdktf/python/r/ecr_repository.html.markdown index 9691f5e6ee1f..1cd1d60fbe4a 100644 --- a/website/docs/cdktf/python/r/ecr_repository.html.markdown +++ b/website/docs/cdktf/python/r/ecr_repository.html.markdown @@ -35,6 +35,34 @@ class MyConvertedCode(TerraformStack): ) ``` +### With Image Tag Mutability Exclusion + +```python +# DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +from constructs import Construct +from cdktf import TerraformStack +# +# Provider bindings are generated by running `cdktf get`. +# See https://cdk.tf/provider-generation for more details. +# +from imports.aws.ecr_repository import EcrRepository +class MyConvertedCode(TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + EcrRepository(self, "example", + image_tag_mutability="IMMUTABLE_WITH_EXCLUSION", + image_tag_mutability_exclusion_filter=[EcrRepositoryImageTagMutabilityExclusionFilter( + filter="latest*", + filter_type="WILDCARD" + ), EcrRepositoryImageTagMutabilityExclusionFilter( + filter="dev-*", + filter_type="WILDCARD" + ) + ], + name="example-repo" + ) +``` + ## Argument Reference This resource supports the following arguments: @@ -44,7 +72,8 @@ This resource supports the following arguments: * `encryption_configuration` - (Optional) Encryption configuration for the repository. See [below for schema](#encryption_configuration). * `force_delete` - (Optional) If `true`, will delete the repository even if it contains images. Defaults to `false`. -* `image_tag_mutability` - (Optional) The tag mutability setting for the repository. Must be one of: `MUTABLE` or `IMMUTABLE`. Defaults to `MUTABLE`. +* `image_tag_mutability` - (Optional) The tag mutability setting for the repository. Must be one of: `MUTABLE`, `IMMUTABLE`, `IMMUTABLE_WITH_EXCLUSION`, or `MUTABLE_WITH_EXCLUSION`. Defaults to `MUTABLE`. +* `image_tag_mutability_exclusion_filter` - (Optional) Configuration block that defines filters to specify which image tags can override the default tag mutability setting. Only applicable when `image_tag_mutability` is set to `IMMUTABLE_WITH_EXCLUSION` or `MUTABLE_WITH_EXCLUSION`. See [below for schema](#image_tag_mutability_exclusion_filter). * `image_scanning_configuration` - (Optional) Configuration block that defines image scanning configuration for the repository. By default, image scanning must be manually triggered. See the [ECR User Guide](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning.html) for more information about image scanning. * `scan_on_push` - (Required) Indicates whether images are scanned after being pushed to the repository (true) or not scanned (false). * `tags` - (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. @@ -54,6 +83,11 @@ This resource supports the following arguments: * `encryption_type` - (Optional) The encryption type to use for the repository. Valid values are `AES256` or `KMS`. Defaults to `AES256`. * `kms_key` - (Optional) The ARN of the KMS key to use when `encryption_type` is `KMS`. If not specified, uses the default AWS managed key for ECR. +### image_tag_mutability_exclusion_filter + +* `filter` - (Required) The filter pattern to use for excluding image tags from the mutability setting. Must contain only letters, numbers, and special characters (._*-). Each filter can be up to 128 characters long and can contain a maximum of 2 wildcards (*). +* `filter_type` - (Required) The type of filter to use. Must be `WILDCARD`. + ## Attribute Reference This resource exports the following attributes in addition to the arguments above: @@ -94,4 +128,4 @@ Using `terraform import`, import ECR Repositories using the `name`. For example: % terraform import aws_ecr_repository.service test-service ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/emr_cluster.html.markdown b/website/docs/cdktf/python/r/emr_cluster.html.markdown index 8f28f2535717..d469614d7ce5 100644 --- a/website/docs/cdktf/python/r/emr_cluster.html.markdown +++ b/website/docs/cdktf/python/r/emr_cluster.html.markdown @@ -517,6 +517,8 @@ class MyConvertedCode(TerraformStack): * `unhealthy_node_replacement` - (Optional) Whether whether Amazon EMR should gracefully replace core nodes that have degraded within the cluster. Default value is `false`. * `visible_to_all_users` - (Optional) Whether the job flow is visible to all IAM users of the AWS account associated with the job flow. Default value is `true`. + **NOTE:** As per the [Amazon EMR API Reference](https://docs.aws.amazon.com/emr/latest/APIReference/API_RunJobFlow.html#EMR-RunJobFlow-request-VisibleToAllUsers), this argument is no longer supported. Do not set this argument, particularly to `false`, as it would lead to perpetual differences. + ### bootstrap_action * `args` - (Optional) List of command line arguments to pass to the bootstrap action script. @@ -683,7 +685,6 @@ This resource exports the following attributes in addition to the arguments abov * `release_label` - Release label for the Amazon EMR release. * `service_role` - IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf. * `tags_all` - Map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). -* `visible_to_all_users` - Indicates whether the job flow is visible to all IAM users of the AWS account associated with the job flow. ## Import @@ -735,4 +736,4 @@ class MyConvertedCode(TerraformStack): ) ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/globalaccelerator_cross_account_attachment.html.markdown b/website/docs/cdktf/python/r/globalaccelerator_cross_account_attachment.html.markdown index 18222a027531..c7e5d32ec89a 100644 --- a/website/docs/cdktf/python/r/globalaccelerator_cross_account_attachment.html.markdown +++ b/website/docs/cdktf/python/r/globalaccelerator_cross_account_attachment.html.markdown @@ -93,7 +93,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Global Accelerator Cross Account Attachment using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Global Accelerator Cross Account Attachment using the `arn`. For example: ```python # DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -110,10 +110,10 @@ class MyConvertedCode(TerraformStack): GlobalacceleratorCrossAccountAttachment.generate_config_for_import(self, "example", "arn:aws:globalaccelerator::012345678910:attachment/01234567-abcd-8910-efgh-123456789012") ``` -Using `terraform import`, import Global Accelerator Cross Account Attachment using the `example_id_arg`. For example: +Using `terraform import`, import Global Accelerator Cross Account Attachment using the `arn`. For example: ```console % terraform import aws_globalaccelerator_cross_account_attachment.example arn:aws:globalaccelerator::012345678910:attachment/01234567-abcd-8910-efgh-123456789012 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/imagebuilder_workflow.html.markdown b/website/docs/cdktf/python/r/imagebuilder_workflow.html.markdown index d0042227063b..f43b2399d2f1 100644 --- a/website/docs/cdktf/python/r/imagebuilder_workflow.html.markdown +++ b/website/docs/cdktf/python/r/imagebuilder_workflow.html.markdown @@ -65,7 +65,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import EC2 Image Builder Workflow using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import EC2 Image Builder Workflow using the `arn`. For example: ```python # DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -82,7 +82,7 @@ class MyConvertedCode(TerraformStack): ImagebuilderWorkflow.generate_config_for_import(self, "example", "workflow-id-12345678") ``` -Using `terraform import`, import EC2 Image Builder Workflow using the `example_id_arg`. For example: +Using `terraform import`, import EC2 Image Builder Workflow using the `arn`. For example: ```console % terraform import aws_imagebuilder_workflow.example arn:aws:imagebuilder:us-east-1:aws:workflow/test/example/1.0.1/1 @@ -90,4 +90,4 @@ Using `terraform import`, import EC2 Image Builder Workflow using the `example_i Certain resource arguments, such as `uri`, cannot be read via the API and imported into Terraform. Terraform will display a difference for these arguments the first run after import if declared in the Terraform configuration for an imported resource. - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/inspector2_enabler.html.markdown b/website/docs/cdktf/python/r/inspector2_enabler.html.markdown index c3dd978ec900..5b686d092abd 100644 --- a/website/docs/cdktf/python/r/inspector2_enabler.html.markdown +++ b/website/docs/cdktf/python/r/inspector2_enabler.html.markdown @@ -81,4 +81,29 @@ This resource exports no additional attributes. * `update` - (Default `5m`) * `delete` - (Default `5m`) - \ No newline at end of file +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Inspector Enabler using `account_ids` and `region_types` formatted as `[account_id1]:[account_id2]:...-[resource_type1]:[resource_type2]:...`, where `account_ids` are sorted in ascending order and `resource_types` are sorted in alphabetical order. For example: + +```python +# DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +from constructs import Construct +from cdktf import TerraformStack +# +# Provider bindings are generated by running `cdktf get`. +# See https://cdk.tf/provider-generation for more details. +# +from imports.aws.inspector2_enabler import Inspector2Enabler +class MyConvertedCode(TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + Inspector2Enabler.generate_config_for_import(self, "example", "123456789012:234567890123-EC2:ECR") +``` + +Using `terraform import`, import Inspector Enabler using using `account_ids` and `region_types` formatted as `[account_id1]:[account_id2]:...-[resource_type1]:[resource_type2]:...`, where `account_ids` are sorted in ascending order and `resource_types` are sorted in alphabetical order. For example: + +```console +% terraform import aws_inspector2_enabler.example 123456789012:234567890123-EC2:ECR +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/inspector2_filter.html.markdown b/website/docs/cdktf/python/r/inspector2_filter.html.markdown index f7b6bdd6be54..dbd52acdddc4 100644 --- a/website/docs/cdktf/python/r/inspector2_filter.html.markdown +++ b/website/docs/cdktf/python/r/inspector2_filter.html.markdown @@ -179,10 +179,10 @@ class MyConvertedCode(TerraformStack): Inspector2Filter.generate_config_for_import(self, "example", "arn:aws:inspector2:us-east-1:111222333444:owner/111222333444/filter/abcdefgh12345678") ``` -Using `terraform import`, import Inspector Filter using the `example_id_arg`. For example: +Using `terraform import`, import Inspector Filter using the `arn`. For example: ```console % terraform import aws_inspector2_filter.example "arn:aws:inspector2:us-east-1:111222333444:owner/111222333444/filter/abcdefgh12345678" ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/instance.html.markdown b/website/docs/cdktf/python/r/instance.html.markdown index dbaf6c37ef61..58e5160d703a 100644 --- a/website/docs/cdktf/python/r/instance.html.markdown +++ b/website/docs/cdktf/python/r/instance.html.markdown @@ -287,6 +287,7 @@ This resource supports the following arguments: * `enable_primary_ipv6` - (Optional) Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enable_primary_ipv6` after it has been enabled forces recreation of the instance. * `enclave_options` - (Optional) Enable Nitro Enclaves on launched instances. See [Enclave Options](#enclave-options) below for more details. * `ephemeral_block_device` - (Optional) One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See [Block Devices](#ebs-ephemeral-and-root-block-devices) below for details. When accessing this as an attribute reference, it is a set of objects. +* `force_destroy` - (Optional) Destroys instance even if `disable_api_termination` or `disable_api_stop` is set to `true`. Defaults to `false`. Once this parameter is set to `true`, a successful `terraform apply` run before a destroy is required to update this value in the resource state. Without a successful `terraform apply` after this parameter is set, this flag will have no effect. If setting this field in the same operation that would require replacing the instance or destroying the instance, this flag will not work. Additionally when importing an instance, a successful `terraform apply` is required to set this value in state before it will take effect on a destroy operation. * `get_password_data` - (Optional) If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the `password_data` attribute. See [GetPasswordData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetPasswordData.html) for more information. * `hibernation` - (Optional) If true, the launched EC2 instance will support hibernation. * `host_id` - (Optional) ID of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host. @@ -558,4 +559,4 @@ Using `terraform import`, import instances using the `id`. For example: % terraform import aws_instance.web i-12345678 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/lakeformation_data_cells_filter.html.markdown b/website/docs/cdktf/python/r/lakeformation_data_cells_filter.html.markdown index 29eba5ead3f9..ef9fc9253af4 100644 --- a/website/docs/cdktf/python/r/lakeformation_data_cells_filter.html.markdown +++ b/website/docs/cdktf/python/r/lakeformation_data_cells_filter.html.markdown @@ -84,7 +84,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Lake Formation Data Cells Filter using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Lake Formation Data Cells Filter using the `database_name`, `name`, `table_catalog_id`, and `table_name` separated by `,`. For example: ```python # DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -101,10 +101,10 @@ class MyConvertedCode(TerraformStack): LakeformationDataCellsFilter.generate_config_for_import(self, "example", "database_name,name,table_catalog_id,table_name") ``` -Using `terraform import`, import Lake Formation Data Cells Filter using the `id`. For example: +Using `terraform import`, import Lake Formation Data Cells Filter using the `database_name`, `name`, `table_catalog_id`, and `table_name` separated by `,`. For example: ```console % terraform import aws_lakeformation_data_cells_filter.example database_name,name,table_catalog_id,table_name ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/networkfirewall_vpc_endpoint_association.html.markdown b/website/docs/cdktf/python/r/networkfirewall_vpc_endpoint_association.html.markdown new file mode 100644 index 000000000000..e8b928fe5482 --- /dev/null +++ b/website/docs/cdktf/python/r/networkfirewall_vpc_endpoint_association.html.markdown @@ -0,0 +1,112 @@ +--- +subcategory: "Network Firewall" +layout: "aws" +page_title: "AWS: aws_networkfirewall_vpc_endpoint_association" +description: |- + Manages a firewall endpoint for an AWS Network Firewall firewall. +--- + + + +# Resource: aws_networkfirewall_vpc_endpoint_association + +Manages a firewall endpoint for an AWS Network Firewall firewall. + +Use `aws_networkfirewall_vpc_endpoint_association` to establish new firewall endpoints in any Availability Zone where the firewall is already being used. The first use of a firewall in an Availability Zone must be defined by `aws_networkfirewall_firewall` resource and `subnet_mapping` argument. + +## Example Usage + +### Basic Usage + +```python +# DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +from constructs import Construct +from cdktf import Token, TerraformStack +# +# Provider bindings are generated by running `cdktf get`. +# See https://cdk.tf/provider-generation for more details. +# +from imports.aws.networkfirewall_vpc_endpoint_association import NetworkfirewallVpcEndpointAssociation +class MyConvertedCode(TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + NetworkfirewallVpcEndpointAssociation(self, "example", + firewall_arn=Token.as_string(aws_networkfirewall_firewall_example.arn), + subnet_mapping=[NetworkfirewallVpcEndpointAssociationSubnetMapping( + subnet_id=Token.as_string(aws_subnet_example.id) + ), NetworkfirewallVpcEndpointAssociationSubnetMapping( + subnet_id=example_two.id + ) + ], + tags={ + "Name": "example endpoint" + }, + vpc_id=Token.as_string(aws_vpc_example.id) + ) +``` + +## Argument Reference + +This resource supports the following arguments: + +* `description` (Optional) - A description of the VPC endpoint association. +* `firewall_arn` (Required) - The Amazon Resource Name (ARN) that identifies the firewall. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). +* `subnet_mapping` (Required) - The ID for a subnet that's used in an association with a firewall. See [Subnet Mapping](#subnet-mapping) below for details. +* `tags` - (Optional) Map of resource tags to associate with the resource. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. +* `vpc_id` (Required) - The unique identifier of the VPC for the endpoint association. + +### Subnet Mapping + +The `subnet_mapping` block supports the following arguments: + +* `ip_address_type` - (Optional) The subnet's IP address type. Valid values: `"DUALSTACK"`, `"IPV4"`. +* `subnet_id` - (Required) The unique identifier for the subnet. + +## Attribute Reference + +This resource exports the following attributes in addition to the arguments above: + +* `tags_all` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). +* `vpc_endpoint_association_arn` - ARN of the VPC Endpoint Association. +* `vpc_endpoint_association_id` - The unique identifier of the VPC endpoint association. +* `vpc_endpoint_association_status` - Nested list of information about the current status of the VPC Endpoint Association. + * `association_sync_states` - Set of subnets configured for use by the VPC Endpoint Association. + * `attachment` - Nested list describing the attachment status of the firewall's VPC Endpoint Association with a single VPC subnet. + * `endpoint_id` - The identifier of the VPC endpoint that AWS Network Firewall has instantiated in the subnet. You use this to identify the firewall endpoint in the VPC route tables, when you redirect the VPC traffic through the endpoint. + * `subnet_id` - The unique identifier of the subnet that you've specified to be used for a VPC Endpoint Association endpoint. + * `availability_zone` - The Availability Zone where the subnet is configured. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +* `create` - (Default `30m`) +* `delete` - (Default `30m`) + +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Network Firewall VPC Endpoint Association using the `vpc_endpoint_association_arn`. For example: + +```python +# DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +from constructs import Construct +from cdktf import TerraformStack +# +# Provider bindings are generated by running `cdktf get`. +# See https://cdk.tf/provider-generation for more details. +# +from imports.aws.networkfirewall_vpc_endpoint_association import NetworkfirewallVpcEndpointAssociation +class MyConvertedCode(TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + NetworkfirewallVpcEndpointAssociation.generate_config_for_import(self, "example", "arn:aws:network-firewall:us-west-1:123456789012:vpc-endpoint-association/example") +``` + +Using `terraform import`, import Network Firewall VPC Endpoint Association using the `vpc_endpoint_association_arn`. For example: + +```console +% terraform import aws_networkfirewall_vpc_endpoint_association.example arn:aws:network-firewall:us-west-1:123456789012:vpc-endpoint-association/example +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/networkmanager_transit_gateway_peering.html.markdown b/website/docs/cdktf/python/r/networkmanager_transit_gateway_peering.html.markdown index 6b6e06843bbc..3c00cef2c8f6 100644 --- a/website/docs/cdktf/python/r/networkmanager_transit_gateway_peering.html.markdown +++ b/website/docs/cdktf/python/r/networkmanager_transit_gateway_peering.html.markdown @@ -28,6 +28,8 @@ class MyConvertedCode(TerraformStack): super().__init__(scope, name) NetworkmanagerTransitGatewayPeering(self, "example", core_network_id=Token.as_string(awscc_networkmanager_core_network_example.id), + depends_on=[aws_ec2_transit_gateway_policy_table_example, aws_networkmanager_core_network_policy_attachment_example + ], transit_gateway_arn=Token.as_string(aws_ec2_transit_gateway_example.arn) ) ``` @@ -89,4 +91,4 @@ Using `terraform import`, import `aws_networkmanager_transit_gateway_peering` us % terraform import aws_networkmanager_transit_gateway_peering.example peering-444555aaabbb11223 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/opensearch_authorize_vpc_endpoint_access.html.markdown b/website/docs/cdktf/python/r/opensearch_authorize_vpc_endpoint_access.html.markdown index 1edb23969633..b8cdb5fcd97e 100644 --- a/website/docs/cdktf/python/r/opensearch_authorize_vpc_endpoint_access.html.markdown +++ b/website/docs/cdktf/python/r/opensearch_authorize_vpc_endpoint_access.html.markdown @@ -57,7 +57,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import OpenSearch Authorize Vpc Endpoint Access using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import OpenSearch Authorize Vpc Endpoint Access using the `domain_name`. For example: ```python # DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -74,10 +74,10 @@ class MyConvertedCode(TerraformStack): OpensearchAuthorizeVpcEndpointAccess.generate_config_for_import(self, "example", "authorize_vpc_endpoint_access-id-12345678") ``` -Using `terraform import`, import OpenSearch Authorize Vpc Endpoint Access using the `example_id_arg`. For example: +Using `terraform import`, import OpenSearch Authorize Vpc Endpoint Access using the `domain_name`. For example: ```console % terraform import aws_opensearch_authorize_vpc_endpoint_access.example authorize_vpc_endpoint_access-id-12345678 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/opensearch_domain_policy.html.markdown b/website/docs/cdktf/python/r/opensearch_domain_policy.html.markdown index 67a137d5d4f3..3c1a585ae676 100644 --- a/website/docs/cdktf/python/r/opensearch_domain_policy.html.markdown +++ b/website/docs/cdktf/python/r/opensearch_domain_policy.html.markdown @@ -78,4 +78,29 @@ This resource exports no additional attributes. * `update` - (Default `180m`) * `delete` - (Default `90m`) - \ No newline at end of file +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import OpenSearch Domain Policy using `domain_name` prefixed with `esd-policy-`. For example: + +```python +# DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +from constructs import Construct +from cdktf import TerraformStack +# +# Provider bindings are generated by running `cdktf get`. +# See https://cdk.tf/provider-generation for more details. +# +from imports.aws.opensearch_domain_policy import OpensearchDomainPolicy +class MyConvertedCode(TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + OpensearchDomainPolicy.generate_config_for_import(self, "example", "esd-policy-tf-test") +``` + +Using `terraform import`, import OpenSearch Domain Policy using `domain_name` prefixed with `esd-policy-`. For example: + +```console +% terraform import aws_opensearch_domain_policy.example esd-policy-tf-test +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/quicksight_account_settings.html.markdown b/website/docs/cdktf/python/r/quicksight_account_settings.html.markdown index e55a31958322..96b64ff74f5c 100644 --- a/website/docs/cdktf/python/r/quicksight_account_settings.html.markdown +++ b/website/docs/cdktf/python/r/quicksight_account_settings.html.markdown @@ -24,7 +24,7 @@ from cdktf import TerraformStack # Provider bindings are generated by running `cdktf get`. # See https://cdk.tf/provider-generation for more details. # -from imports.aws. import QuicksightAccountSettings +from imports.aws.quicksight_account_settings import QuicksightAccountSettings from imports.aws.quicksight_account_subscription import QuicksightAccountSubscription class MyConvertedCode(TerraformStack): def __init__(self, scope, name): @@ -45,14 +45,13 @@ class MyConvertedCode(TerraformStack): This resource supports the following arguments: +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `default_namespace` - (Optional) The default namespace for this Amazon Web Services account. Currently, the default is `default`. * `termination_protection_enabled` - (Optional) A boolean value that determines whether or not an Amazon QuickSight account can be deleted. If `true`, it does not allow the account to be deleted and results in an error message if a user tries to make a DeleteAccountSubscription request. If `false`, it will allow the account to be deleted. ## Attribute Reference -This resource exports the following attributes in addition to the arguments above: - -* `aws_account_id` - The ID for the AWS account that contains the settings. +This resource exports no additional attributes. ## Import @@ -66,7 +65,7 @@ from cdktf import TerraformStack # Provider bindings are generated by running `cdktf get`. # See https://cdk.tf/provider-generation for more details. # -from imports.aws. import QuicksightAccountSettings +from imports.aws.quicksight_account_settings import QuicksightAccountSettings class MyConvertedCode(TerraformStack): def __init__(self, scope, name): super().__init__(scope, name) @@ -79,4 +78,4 @@ Using `terraform import`, import QuickSight Account Settings using the AWS accou % terraform import aws_quicksight_account_settings.example "012345678901" ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/quicksight_account_subscription.html.markdown b/website/docs/cdktf/python/r/quicksight_account_subscription.html.markdown index 9d39fcf62e23..313be8da5316 100644 --- a/website/docs/cdktf/python/r/quicksight_account_subscription.html.markdown +++ b/website/docs/cdktf/python/r/quicksight_account_subscription.html.markdown @@ -47,11 +47,10 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `active_directory_name` - (Optional) Name of your Active Directory. This field is required if `ACTIVE_DIRECTORY` is the selected authentication method of the new Amazon QuickSight account. * `admin_group` - (Optional) Admin group associated with your Active Directory or IAM Identity Center account. This field is required if `ACTIVE_DIRECTORY` or `IAM_IDENTITY_CENTER` is the selected authentication method of the new Amazon QuickSight account. * `author_group` - (Optional) Author group associated with your Active Directory or IAM Identity Center account. -* `aws_account_id` - (Optional) AWS account ID hosting the QuickSight account. Default to provider account. +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `contact_number` - (Optional) A 10-digit phone number for the author of the Amazon QuickSight account to use for future communications. This field is required if `ENTERPPRISE_AND_Q` is the selected edition of the new Amazon QuickSight account. * `directory_id` - (Optional) Active Directory ID that is associated with your Amazon QuickSight account. * `email_address` - (Optional) Email address of the author of the Amazon QuickSight account to use for future communications. This field is required if `ENTERPPRISE_AND_Q` is the selected edition of the new Amazon QuickSight account. @@ -60,6 +59,7 @@ The following arguments are optional: * `last_name` - (Optional) Last name of the author of the Amazon QuickSight account to use for future communications. This field is required if `ENTERPPRISE_AND_Q` is the selected edition of the new Amazon QuickSight account. * `reader_group` - (Optional) Reader group associated with your Active Directory or IAM Identity Center account. * `realm` - (Optional) Realm of the Active Directory that is associated with your Amazon QuickSight account. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). ## Attribute Reference @@ -99,4 +99,4 @@ Using `terraform import`, import a QuickSight Account Subscription using `aws_ac % terraform import aws_quicksight_account_subscription.example "012345678901" ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/quicksight_analysis.html.markdown b/website/docs/cdktf/python/r/quicksight_analysis.html.markdown index a830695b4338..0e88108c0247 100644 --- a/website/docs/cdktf/python/r/quicksight_analysis.html.markdown +++ b/website/docs/cdktf/python/r/quicksight_analysis.html.markdown @@ -123,12 +123,12 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `aws_account_id` - (Optional, Forces new resource) AWS account ID. +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `definition` - (Optional) A detailed analysis definition. Only one of `definition` or `source_entity` should be configured. See [definition](#definition). * `parameters` - (Optional) The parameters for the creation of the analysis, which you want to use to override the default settings. An analysis can have any type of parameters, and some parameters might accept multiple values. See [parameters](#parameters). * `permissions` - (Optional) A set of resource permissions on the analysis. Maximum of 64 items. See [permissions](#permissions). * `recovery_window_in_days` - (Optional) A value that specifies the number of days that Amazon QuickSight waits before it deletes the analysis. Use `0` to force deletion without recovery. Minimum value of `7`. Maximum value of `30`. Default to `30`. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `source_entity` - (Optional) The entity that you are using as a source when you create the analysis (template). Only one of `definition` or `source_entity` should be configured. See [source_entity](#source_entity). * `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configuration block](/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. * `theme_arn` - (Optional) The Amazon Resource Name (ARN) of the theme that is being used for this analysis. The theme ARN must exist in the same AWS account where you create the analysis. @@ -213,4 +213,4 @@ Using `terraform import`, import a QuickSight Analysis using the AWS account ID % terraform import aws_quicksight_analysis.example 123456789012,example-id ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/quicksight_custom_permissions.html.markdown b/website/docs/cdktf/python/r/quicksight_custom_permissions.html.markdown new file mode 100644 index 000000000000..9ed22be4c9f8 --- /dev/null +++ b/website/docs/cdktf/python/r/quicksight_custom_permissions.html.markdown @@ -0,0 +1,97 @@ +--- +subcategory: "QuickSight" +layout: "aws" +page_title: "AWS: aws_quicksight_custom_permissions" +description: |- + Manages a QuickSight custom permissions profile. +--- + + + +# Resource: aws_quicksight_custom_permissions + +Manages a QuickSight custom permissions profile. + +## Example Usage + +resource "aws_quicksight_custom_permissions" "example" { + custom_permissions_name = "example-permissions" + + capabilities { + print_reports = "DENY" + share_dashboards = "DENY" + } +} + +## Argument Reference + +The following arguments are required: + +* `capabilities` - (Required) Actions to include in the custom permissions profile. See [capabilities](#capabilities). +* `custom_permissions_name` - (Required, Forces new resource) Custom permissions profile name. + +The following arguments are optional: + +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). +* `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configuration block](/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +### capabilities + +* `add_or_run_anomaly_detection_for_analyses` - (Optional) The ability to add or run anomaly detection. Valid values: `DENY`. +* `create_and_update_dashboard_email_reports` - (Optional) The ability to create and update email reports. Valid values: `DENY`. +* `create_and_update_datasets` - (Optional) The ability to create and update datasets. Valid values: `DENY`. +* `create_and_update_data_sources` - (Optional) The ability to create and update data sources. Valid values: `DENY`. +* `create_and_update_themes` - (Optional) The ability to export to create and update themes. Valid values: `DENY`. +* `create_and_update_threshold_alerts` - (Optional) The ability to create and update threshold alerts. Valid values: `DENY`. +* `create_shared_folders` - (Optional) The ability to create shared folders. Valid values: `DENY`. +* `create_spice_dataset` - (Optional) The ability to create a SPICE dataset. Valid values: `DENY`. +* `export_to_csv` - (Optional) The ability to export to CSV files from the UI. Valid values: `DENY`. +* `export_to_csv_in_scheduled_reports` - (Optional) The ability to export to CSV files in scheduled email reports. Valid values: `DENY`. +* `export_to_excel` - (Optional) The ability to export to Excel files from the UI. Valid values: `DENY`. +* `export_to_excel_in_scheduled_reports` - (Optional) The ability to export to Excel files in scheduled email reports. Valid values: `DENY`. +* `export_to_pdf` - (Optional) The ability to export to PDF files from the UI. Valid values: `DENY`. +* `export_to_pdf_in_scheduled_reports` - (Optional) The ability to export to PDF files in scheduled email reports. Valid values: `DENY`. +* `include_content_in_scheduled_reports_email` - (Optional) The ability to include content in scheduled email reports. Valid values: `DENY`. +* `print_reports` - (Optional) The ability to print reports. Valid values: `DENY`. +* `rename_shared_folders` - (Optional) The ability to rename shared folders. Valid values: `DENY`. +* `share_analyses` - (Optional) The ability to share analyses. Valid values: `DENY`. +* `share_dashboards` - (Optional) The ability to share dashboards. Valid values: `DENY`. +* `share_datasets` - (Optional) The ability to share datasets. Valid values: `DENY`. +* `share_data_sources` - (Optional) The ability to share data sources. Valid values: `DENY`. +* `subscribe_dashboard_email_reports` - (Optional) The ability to subscribe to email reports. Valid values: `DENY`. +* `view_account_spice_capacity` - (Optional) The ability to view account SPICE capacity. Valid values: `DENY`. + +## Attribute Reference + +This resource exports the following attributes in addition to the arguments above: + +* `arn` - ARN of the custom permissions profile. +* `tags_all` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](/docs/providers/aws/index.html#default_tags-configuration-block). + +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import a QuickSight custom permissions profile using the AWS account ID and custom permissions profile name separated by a comma (`,`). For example: + +```python +# DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +from constructs import Construct +from cdktf import TerraformStack +# +# Provider bindings are generated by running `cdktf get`. +# See https://cdk.tf/provider-generation for more details. +# +from imports.aws.quicksight_custom_permissions import QuicksightCustomPermissions +class MyConvertedCode(TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + QuicksightCustomPermissions.generate_config_for_import(self, "example", "123456789012,example-permissions") +``` + +Using `terraform import`, import a QuickSight custom permissions profile using the AWS account ID and custom permissions profile name separated by a comma (`,`). For example: + +```console +% terraform import aws_quicksight_custom_permissions.example 123456789012,example-permissions +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/quicksight_dashboard.html.markdown b/website/docs/cdktf/python/r/quicksight_dashboard.html.markdown index de32393ec853..0ea64949e47a 100644 --- a/website/docs/cdktf/python/r/quicksight_dashboard.html.markdown +++ b/website/docs/cdktf/python/r/quicksight_dashboard.html.markdown @@ -126,12 +126,12 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `aws_account_id` - (Optional, Forces new resource) AWS account ID. +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `dashboard_publish_options` - (Optional) Options for publishing the dashboard. See [dashboard_publish_options](#dashboard_publish_options). * `definition` - (Optional) A detailed dashboard definition. Only one of `definition` or `source_entity` should be configured. See [definition](#definition). * `parameters` - (Optional) The parameters for the creation of the dashboard, which you want to use to override the default settings. A dashboard can have any type of parameters, and some parameters might accept multiple values. See [parameters](#parameters). * `permissions` - (Optional) A set of resource permissions on the dashboard. Maximum of 64 items. See [permissions](#permissions). +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `source_entity` - (Optional) The entity that you are using as a source when you create the dashboard (template). Only one of `definition` or `source_entity` should be configured. See [source_entity](#source_entity). * `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configuration block](/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. * `theme_arn` - (Optional) The Amazon Resource Name (ARN) of the theme that is being used for this dashboard. The theme ARN must exist in the same AWS account where you create the dashboard. @@ -271,4 +271,4 @@ Using `terraform import`, import a QuickSight Dashboard using the AWS account ID % terraform import aws_quicksight_dashboard.example 123456789012,example-id ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/quicksight_data_set.html.markdown b/website/docs/cdktf/python/r/quicksight_data_set.html.markdown index d81d8230c36f..4e7b255e6772 100644 --- a/website/docs/cdktf/python/r/quicksight_data_set.html.markdown +++ b/website/docs/cdktf/python/r/quicksight_data_set.html.markdown @@ -231,8 +231,7 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `aws_account_id` - (Optional, Forces new resource) AWS account ID. +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `column_groups` - (Optional) Groupings of columns that work together in certain Amazon QuickSight features. Currently, only geospatial hierarchy is supported. See [column_groups](#column_groups). * `column_level_permission_rules` - (Optional) A set of 1 or more definitions of a [ColumnLevelPermissionRule](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ColumnLevelPermissionRule.html). See [column_level_permission_rules](#column_level_permission_rules). * `data_set_usage_configuration` - (Optional) The usage configuration to apply to child datasets that reference this dataset as a source. See [data_set_usage_configuration](#data_set_usage_configuration). @@ -240,6 +239,7 @@ The following arguments are optional: * `logical_table_map` - (Optional) Configures the combination and transformation of the data from the physical tables. Maximum of 1 entry. See [logical_table_map](#logical_table_map). * `permissions` - (Optional) A set of resource permissions on the data source. Maximum of 64 items. See [permissions](#permissions). * `physical_table_map` - (Optional) Declares the physical tables that are available in the underlying data sources. See [physical_table_map](#physical_table_map). +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `row_level_permission_data_set` - (Optional) The row-level security configuration for the data that you want to create. See [row_level_permission_data_set](#row_level_permission_data_set). * `row_level_permission_tag_configuration` - (Optional) The configuration of tags on a dataset to set row-level security. Row-level security tags are currently supported for anonymous embedding only. See [row_level_permission_tag_configuration](#row_level_permission_tag_configuration). * `refresh_properties` - (Optional) The refresh properties for the data set. **NOTE**: Only valid when `import_mode` is set to `SPICE`. See [refresh_properties](#refresh_properties). @@ -483,4 +483,4 @@ Using `terraform import`, import a QuickSight Data Set using the AWS account ID % terraform import aws_quicksight_data_set.example 123456789012,example-id ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/quicksight_data_source.html.markdown b/website/docs/cdktf/python/r/quicksight_data_source.html.markdown index 265b58a29f8a..1e26c37ce24a 100644 --- a/website/docs/cdktf/python/r/quicksight_data_source.html.markdown +++ b/website/docs/cdktf/python/r/quicksight_data_source.html.markdown @@ -170,10 +170,10 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `aws_account_id` - (Optional, Forces new resource) The ID for the AWS account that the data source is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account. +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `credentials` - (Optional) The credentials Amazon QuickSight uses to connect to your underlying source. See [Credentials](#credentials-argument-reference) below for more details. * `permission` - (Optional) A set of resource permissions on the data source. Maximum of 64 items. See [Permission](#permission-argument-reference) below for more details. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `ssl_properties` - (Optional) Secure Socket Layer (SSL) properties that apply when Amazon QuickSight connects to your underlying source. See [SSL Properties](#ssl_properties-argument-reference) below for more details. * `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. * `vpc_connection_properties`- (Optional) Use this parameter only when you want Amazon QuickSight to use a VPC connection when connecting to your underlying source. See [VPC Connection Properties](#vpc_connection_properties-argument-reference) below for more details. @@ -379,4 +379,4 @@ Using `terraform import`, import a QuickSight data source using the AWS account % terraform import aws_quicksight_data_source.example 123456789123/my-data-source-id ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/quicksight_folder.html.markdown b/website/docs/cdktf/python/r/quicksight_folder.html.markdown index 6e866cb24408..9c8ce641b7a3 100644 --- a/website/docs/cdktf/python/r/quicksight_folder.html.markdown +++ b/website/docs/cdktf/python/r/quicksight_folder.html.markdown @@ -94,11 +94,11 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `aws_account_id` - (Optional, Forces new resource) AWS account ID. +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `folder_type` - (Optional) The type of folder. By default, it is `SHARED`. Valid values are: `SHARED`. * `parent_folder_arn` - (Optional) The Amazon Resource Name (ARN) for the parent folder. If not set, creates a root-level folder. * `permissions` - (Optional) A set of resource permissions on the folder. Maximum of 64 items. See [permissions](#permissions). +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configuration block](/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. ### permissions @@ -151,4 +151,4 @@ Using `terraform import`, import a QuickSight folder using the AWS account ID an % terraform import aws_quicksight_folder.example 123456789012,example-id ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/quicksight_folder_membership.html.markdown b/website/docs/cdktf/python/r/quicksight_folder_membership.html.markdown index 937a769ad4ec..dabf195d29b2 100644 --- a/website/docs/cdktf/python/r/quicksight_folder_membership.html.markdown +++ b/website/docs/cdktf/python/r/quicksight_folder_membership.html.markdown @@ -45,8 +45,8 @@ The following arguments are required: The following arguments are optional: +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `aws_account_id` - (Optional, Forces new resource) AWS account ID. ## Attribute Reference @@ -79,4 +79,4 @@ Using `terraform import`, import QuickSight Folder Membership using the AWS acco % terraform import aws_quicksight_folder_membership.example 123456789012,example-folder,DATASET,example-dataset ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/quicksight_group.html.markdown b/website/docs/cdktf/python/r/quicksight_group.html.markdown index 71dd92a75f6b..7944a054e65f 100644 --- a/website/docs/cdktf/python/r/quicksight_group.html.markdown +++ b/website/docs/cdktf/python/r/quicksight_group.html.markdown @@ -35,11 +35,11 @@ class MyConvertedCode(TerraformStack): This resource supports the following arguments: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `group_name` - (Required) A name for the group. -* `aws_account_id` - (Optional) The ID for the AWS account that the group is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account. +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `description` - (Optional) A description for the group. +* `group_name` - (Required) A name for the group. * `namespace` - (Optional) The namespace. Currently, you should set this to `default`. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). ## Attribute Reference @@ -72,4 +72,4 @@ Using `terraform import`, import QuickSight Group using the aws account id, name % terraform import aws_quicksight_group.example 123456789123/default/tf-example ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/quicksight_group_membership.html.markdown b/website/docs/cdktf/python/r/quicksight_group_membership.html.markdown index ce89457cc235..9eca7dc749e5 100644 --- a/website/docs/cdktf/python/r/quicksight_group_membership.html.markdown +++ b/website/docs/cdktf/python/r/quicksight_group_membership.html.markdown @@ -36,11 +36,11 @@ class MyConvertedCode(TerraformStack): This resource supports the following arguments: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `group_name` - (Required) The name of the group in which the member will be added. * `member_name` - (Required) The name of the member to add to the group. -* `aws_account_id` - (Optional) The ID for the AWS account that the group is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account. -* `namespace` - (Required) The namespace that you want the user to be a part of. Defaults to `default`. +* `namespace` - (Optional) The namespace that you want the user to be a part of. Defaults to `default`. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). ## Attribute Reference @@ -71,4 +71,4 @@ Using `terraform import`, import QuickSight Group membership using the AWS accou % terraform import aws_quicksight_group_membership.example 123456789123/default/all-access-users/john_smith ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/quicksight_iam_policy_assignment.html.markdown b/website/docs/cdktf/python/r/quicksight_iam_policy_assignment.html.markdown index f1068d089e92..14d1177aa30f 100644 --- a/website/docs/cdktf/python/r/quicksight_iam_policy_assignment.html.markdown +++ b/website/docs/cdktf/python/r/quicksight_iam_policy_assignment.html.markdown @@ -48,11 +48,11 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `aws_account_id` - (Optional) AWS account ID. +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `identities` - (Optional) Amazon QuickSight users, groups, or both to assign the policy to. See [`identities` block](#identities-block). * `namespace` - (Optional) Namespace that contains the assignment. Defaults to `default`. * `policy_arn` - (Optional) ARN of the IAM policy to apply to the Amazon QuickSight users and groups specified in this assignment. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). ### `identities` block @@ -91,4 +91,4 @@ Using `terraform import`, import QuickSight IAM Policy Assignment using the AWS % terraform import aws_quicksight_iam_policy_assignment.example 123456789012,default,example ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/quicksight_ingestion.html.markdown b/website/docs/cdktf/python/r/quicksight_ingestion.html.markdown index cf271f540263..659a03a9d5ca 100644 --- a/website/docs/cdktf/python/r/quicksight_ingestion.html.markdown +++ b/website/docs/cdktf/python/r/quicksight_ingestion.html.markdown @@ -45,8 +45,8 @@ The following arguments are required: The following arguments are optional: +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `aws_account_id` - (Optional) AWS account ID. ## Attribute Reference @@ -81,4 +81,4 @@ Using `terraform import`, import QuickSight Ingestion using the AWS account ID, % terraform import aws_quicksight_ingestion.example 123456789012,example-dataset-id,example-ingestion-id ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/quicksight_ip_restriction.html.markdown b/website/docs/cdktf/python/r/quicksight_ip_restriction.html.markdown new file mode 100644 index 000000000000..07a3b9f82972 --- /dev/null +++ b/website/docs/cdktf/python/r/quicksight_ip_restriction.html.markdown @@ -0,0 +1,82 @@ +--- +subcategory: "QuickSight" +layout: "aws" +page_title: "AWS: aws_quicksight_ip_restriction" +description: |- + Manages the content and status of IP rules. +--- + + + +# Resource: aws_quicksight_ip_restriction + +Manages the content and status of IP rules. + +~> Deletion of this resource clears all IP restrictions from a QuickSight account. + +## Example Usage + +```python +# DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +from constructs import Construct +from cdktf import TerraformStack +# +# Provider bindings are generated by running `cdktf get`. +# See https://cdk.tf/provider-generation for more details. +# +from imports.aws.quicksight_ip_restriction import QuicksightIpRestriction +class MyConvertedCode(TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + QuicksightIpRestriction(self, "example", + enabled=True, + ip_restriction_rule_map={ + "108.56.166.202/32": "Allow self" + }, + vpc_id_restriction_rule_map={ + "${(aws_vpc.example.id)}": "Main VPC" + } + ) +``` + +## Argument Reference + +This resource supports the following arguments: + +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. +* `enabled` - (Required) Whether IP rules are turned on. +* `ip_restriction_rule_map` - (Optional) Map of allowed IPv4 CIDR ranges and descriptions. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). +* `vpc_endpoint_id_restriction_rule_map` - (Optional) Map of allowed VPC endpoint IDs and descriptions. +* `vpc_id_restriction_rule_map` - (Optional) Map of VPC IDs and descriptions. Traffic from all VPC endpoints that are present in the specified VPC is allowed. + +## Attribute Reference + +This resource exports no additional attributes. + +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import QuickSight IP restriction using the AWS account ID. For example: + +```python +# DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +from constructs import Construct +from cdktf import TerraformStack +# +# Provider bindings are generated by running `cdktf get`. +# See https://cdk.tf/provider-generation for more details. +# +from imports.aws.quicksight_ip_restriction import QuicksightIpRestriction +class MyConvertedCode(TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + QuicksightIpRestriction.generate_config_for_import(self, "example", "012345678901") +``` + +Using `terraform import`, import QuickSight IP restriction using the AWS account ID. For example: + +```console +% terraform import aws_quicksight_ip_restriction.example "012345678901" +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/quicksight_key_registration.html.markdown b/website/docs/cdktf/python/r/quicksight_key_registration.html.markdown new file mode 100644 index 000000000000..5b5adb8a0fb0 --- /dev/null +++ b/website/docs/cdktf/python/r/quicksight_key_registration.html.markdown @@ -0,0 +1,84 @@ +--- +subcategory: "QuickSight" +layout: "aws" +page_title: "AWS: aws_quicksight_key_registration" +description: |- + Registers customer managed keys in a Amazon QuickSight account. +--- + + + +# Resource: aws_quicksight_key_registration + +Registers customer managed keys in a Amazon QuickSight account. + +~> Deletion of this resource clears all CMK registrations from a QuickSight account. QuickSight then uses AWS owned keys to encrypt your resources. + +## Example Usage + +```python +# DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +from constructs import Construct +from cdktf import TerraformStack +# +# Provider bindings are generated by running `cdktf get`. +# See https://cdk.tf/provider-generation for more details. +# +from imports.aws.quicksight_key_registration import QuicksightKeyRegistration +class MyConvertedCode(TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + QuicksightKeyRegistration(self, "example", + key_registration=[QuicksightKeyRegistrationKeyRegistration( + key_arn=example1.arn + ), QuicksightKeyRegistrationKeyRegistration( + default_key=True, + key_arn=example2.arn + ) + ] + ) +``` + +## Argument Reference + +This resource supports the following arguments: + +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. +* `key_registration` - (Required) Registered keys. See [key_registration](#key_registration). +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). + +### key_registration + +* `default_key` - (Optional) Whether the key is set as the default key for encryption and decryption use. +* `key_arn` - (Required) ARN of the AWS KMS key that is registered for encryption and decryption use. + +## Attribute Reference + +This resource exports no additional attributes. + +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import QuickSight key registration using the AWS account ID. For example: + +```python +# DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +from constructs import Construct +from cdktf import TerraformStack +# +# Provider bindings are generated by running `cdktf get`. +# See https://cdk.tf/provider-generation for more details. +# +from imports.aws.quicksight_key_registration import QuicksightKeyRegistration +class MyConvertedCode(TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + QuicksightKeyRegistration.generate_config_for_import(self, "example", "012345678901") +``` + +Using `terraform import`, import QuickSight key registration using the AWS account ID. For example: + +```console +% terraform import aws_quicksight_key_registration.example "012345678901" +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/quicksight_namespace.html.markdown b/website/docs/cdktf/python/r/quicksight_namespace.html.markdown index 7e8c516ba519..df951990c582 100644 --- a/website/docs/cdktf/python/r/quicksight_namespace.html.markdown +++ b/website/docs/cdktf/python/r/quicksight_namespace.html.markdown @@ -41,9 +41,9 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `aws_account_id` - (Optional) AWS account ID. +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `identity_store` - (Optional) User identity directory type. Defaults to `QUICKSIGHT`, the only current valid value. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. ## Attribute Reference @@ -88,4 +88,4 @@ Using `terraform import`, import QuickSight Namespace using the AWS account ID a % terraform import aws_quicksight_namespace.example 123456789012,example ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/quicksight_refresh_schedule.html.markdown b/website/docs/cdktf/python/r/quicksight_refresh_schedule.html.markdown index bfd473d1d92e..6f15aca1a8ae 100644 --- a/website/docs/cdktf/python/r/quicksight_refresh_schedule.html.markdown +++ b/website/docs/cdktf/python/r/quicksight_refresh_schedule.html.markdown @@ -120,8 +120,8 @@ The following arguments are required: The following arguments are optional: +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `aws_account_id` - (Optional, Forces new resource) AWS account ID. ### schedule @@ -173,4 +173,4 @@ Using `terraform import`, import a QuickSight Refresh Schedule using the AWS acc % terraform import aws_quicksight_refresh_schedule.example 123456789012,dataset-id,schedule-id ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/quicksight_role_custom_permission.html.markdown b/website/docs/cdktf/python/r/quicksight_role_custom_permission.html.markdown new file mode 100644 index 000000000000..d390fd77d247 --- /dev/null +++ b/website/docs/cdktf/python/r/quicksight_role_custom_permission.html.markdown @@ -0,0 +1,77 @@ +--- +subcategory: "QuickSight" +layout: "aws" +page_title: "AWS: aws_quicksight_role_custom_permission" +description: |- + Manages the custom permissions that are associated with a role. +--- + + + +# Resource: aws_quicksight_role_custom_permission + +Manages the custom permissions that are associated with a role. + +## Example Usage + +```python +# DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +from constructs import Construct +from cdktf import Token, TerraformStack +# +# Provider bindings are generated by running `cdktf get`. +# See https://cdk.tf/provider-generation for more details. +# +from imports.aws.quicksight_role_custom_permission import QuicksightRoleCustomPermission +class MyConvertedCode(TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + QuicksightRoleCustomPermission(self, "example", + custom_permissions_name=Token.as_string(aws_quicksight_custom_permissions_example.custom_permissions_name), + role="READER" + ) +``` + +## Argument Reference + +The following arguments are required: + +* `custom_permissions_name` - (Required, Forces new resource) Custom permissions profile name. +* `role` - (Required, Forces new resource) Role. Valid values are `ADMIN`, `AUTHOR`, `READER`, `ADMIN_PRO`, `AUTHOR_PRO`, and `READER_PRO`. + +The following arguments are optional: + +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. +* `namespace` - (Optional, Forces new resource) Namespace containing the role. Defaults to `default`. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). + +## Attribute Reference + +This resource exports no additional attributes. + +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import QuickSight role custom permissions using a comma-delimited string combining the `aws_account_id`, `namespace` and `role`. For example: + +```python +# DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +from constructs import Construct +from cdktf import TerraformStack +# +# Provider bindings are generated by running `cdktf get`. +# See https://cdk.tf/provider-generation for more details. +# +from imports.aws.quicksight_role_custom_permission import QuicksightRoleCustomPermission +class MyConvertedCode(TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + QuicksightRoleCustomPermission.generate_config_for_import(self, "example", "012345678901,default,READER") +``` + +Using `terraform import`, import QuickSight role custom permissions using a comma-delimited string combining the `aws_account_id`, `namespace`, and `role`. For example: + +```console +% terraform import aws_quicksight_role_custom_permission.example 012345678901,default,READER +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/quicksight_role_membership.html.markdown b/website/docs/cdktf/python/r/quicksight_role_membership.html.markdown index 6da86ccca5a5..5b65d264d0f7 100644 --- a/website/docs/cdktf/python/r/quicksight_role_membership.html.markdown +++ b/website/docs/cdktf/python/r/quicksight_role_membership.html.markdown @@ -44,9 +44,9 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `aws_account_id` - (Optional) AWS account ID. Defaults to the account of the caller identity if not configured. +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `namespace` - (Optional) Name of the namespace. Defaults to `default`. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). ## Attribute Reference @@ -77,4 +77,4 @@ Using `terraform import`, import QuickSight Role Membership using a comma-delimi % terraform import aws_quicksight_role_membership.example 012345678901,default,READER,example-group ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/quicksight_template.html.markdown b/website/docs/cdktf/python/r/quicksight_template.html.markdown index d90fdf9b2cea..cc07d9577ae9 100644 --- a/website/docs/cdktf/python/r/quicksight_template.html.markdown +++ b/website/docs/cdktf/python/r/quicksight_template.html.markdown @@ -127,10 +127,10 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `aws_account_id` - (Optional, Forces new resource) AWS account ID. +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `definition` - (Optional) A detailed template definition. Only one of `definition` or `source_entity` should be configured. See [definition](#definition). * `permissions` - (Optional) A set of resource permissions on the template. Maximum of 64 items. See [permissions](#permissions). +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `source_entity` - (Optional) The entity that you are using as a source when you create the template (analysis or template). Only one of `definition` or `source_entity` should be configured. See [source_entity](#source_entity). * `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configuration block](/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. @@ -214,4 +214,4 @@ Using `terraform import`, import a QuickSight Template using the AWS account ID % terraform import aws_quicksight_template.example 123456789012,example-id ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/quicksight_template_alias.html.markdown b/website/docs/cdktf/python/r/quicksight_template_alias.html.markdown index 85c56c93b0ef..6da15ab2cb54 100644 --- a/website/docs/cdktf/python/r/quicksight_template_alias.html.markdown +++ b/website/docs/cdktf/python/r/quicksight_template_alias.html.markdown @@ -45,8 +45,8 @@ The following arguments are required: The following arguments are optional: +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `aws_account_id` - (Optional, Forces new resource) AWS account ID. ## Attribute Reference @@ -80,4 +80,4 @@ Using `terraform import`, import QuickSight Template Alias using the AWS account % terraform import aws_quicksight_template_alias.example 123456789012,example-id,example-alias ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/quicksight_theme.html.markdown b/website/docs/cdktf/python/r/quicksight_theme.html.markdown index 77bbefec20b4..8e7b214825a4 100644 --- a/website/docs/cdktf/python/r/quicksight_theme.html.markdown +++ b/website/docs/cdktf/python/r/quicksight_theme.html.markdown @@ -47,16 +47,16 @@ class MyConvertedCode(TerraformStack): The following arguments are required: -* `theme_id` - (Required, Forces new resource) Identifier of the theme. * `base_theme_id` - (Required) The ID of the theme that a custom theme will inherit from. All themes inherit from one of the starting themes defined by Amazon QuickSight. For a list of the starting themes, use ListThemes or choose Themes from within an analysis. -* `name` - (Required) Display name of the theme. * `configuration` - (Required) The theme configuration, which contains the theme display properties. See [configuration](#configuration). +* `name` - (Required) Display name of the theme. +* `theme_id` - (Required, Forces new resource) Identifier of the theme. The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `aws_account_id` - (Optional, Forces new resource) AWS account ID. +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `permissions` - (Optional) A set of resource permissions on the theme. Maximum of 64 items. See [permissions](#permissions). +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configuration block](/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. * `version_description` - (Optional) A description of the current theme version being created/updated. @@ -176,4 +176,4 @@ Using `terraform import`, import a QuickSight Theme using the AWS account ID and % terraform import aws_quicksight_theme.example 123456789012,example-id ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/quicksight_user.html.markdown b/website/docs/cdktf/python/r/quicksight_user.html.markdown index 5e2edea69722..26d3f61a1eb7 100644 --- a/website/docs/cdktf/python/r/quicksight_user.html.markdown +++ b/website/docs/cdktf/python/r/quicksight_user.html.markdown @@ -87,15 +87,15 @@ class MyConvertedCode(TerraformStack): The following arguments are required: * `email` - (Required) Email address of the user that you want to register. -* `identity_type` - (Required) Identity type that your Amazon QuickSight account uses to manage the identity of users. Valid values: `IAM`, `QUICKSIGHT`. -* `user_role` - (Required) Amazon QuickSight role for the user. Value values: `READER`, `AUTHOR`, `ADMIN`, `READER_PRO`, `AUTHOR_PRO`, `ADMIN_PRO`. +* `identity_type` - (Required) Identity type that your Amazon QuickSight account uses to manage the identity of users. Valid values: `IAM`, `QUICKSIGHT`, `IAM_IDENTITY_CENTER`. +* `user_role` - (Required) Amazon QuickSight role for the user. Valid values: `READER`, `AUTHOR`, `ADMIN`, `READER_PRO`, `AUTHOR_PRO`, `ADMIN_PRO`, `RESTRICTED_AUTHOR`, `RESTRICTED_READER`. The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `aws_account_id` - (Optional) ID for the AWS account that the user is in. Use the ID for the AWS account that contains your Amazon QuickSight account. +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `iam_arn` - (Optional) ARN of the IAM user or role that you are registering with Amazon QuickSight. Required only for users with an identity type of `IAM`. * `namespace` - (Optional) The Amazon Quicksight namespace to create the user in. Defaults to `default`. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `session_name` - (Optional) Name of the IAM session to use when assuming roles that can embed QuickSight dashboards. Only valid for registering users using an assumed IAM role. Additionally, if registering multiple users using the same IAM role, each user needs to have a unique session name. * `user_name` - (Optional) Amazon QuickSight user name that you want to create for the user you are registering. Required only for users with an identity type of `QUICKSIGHT`. @@ -111,4 +111,4 @@ This resource exports the following attributes in addition to the arguments abov You cannot import this resource. - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/quicksight_user_custom_permission.html.markdown b/website/docs/cdktf/python/r/quicksight_user_custom_permission.html.markdown new file mode 100644 index 000000000000..06d134ee8c3e --- /dev/null +++ b/website/docs/cdktf/python/r/quicksight_user_custom_permission.html.markdown @@ -0,0 +1,77 @@ +--- +subcategory: "QuickSight" +layout: "aws" +page_title: "AWS: aws_quicksight_user_custom_permission" +description: |- + Manages the custom permissions profile for a user. +--- + + + +# Resource: aws_quicksight_user_custom_permission + +Manages the custom permissions profile for a user. + +## Example Usage + +```python +# DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +from constructs import Construct +from cdktf import Token, TerraformStack +# +# Provider bindings are generated by running `cdktf get`. +# See https://cdk.tf/provider-generation for more details. +# +from imports.aws.quicksight_user_custom_permission import QuicksightUserCustomPermission +class MyConvertedCode(TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + QuicksightUserCustomPermission(self, "example", + custom_permissions_name=Token.as_string(aws_quicksight_custom_permissions_example.custom_permissions_name), + user_name=Token.as_string(aws_quicksight_user_example.user_name) + ) +``` + +## Argument Reference + +The following arguments are required: + +* `custom_permissions_name` - (Required, Forces new resource) Custom permissions profile name. +* `user_name` - (Required, Forces new resource) Username of the user. + +The following arguments are optional: + +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. +* `namespace` - (Optional, Forces new resource) Namespace that the user belongs to. Defaults to `default`. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). + +## Attribute Reference + +This resource exports no additional attributes. + +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import QuickSight user custom permissions using a comma-delimited string combining the `aws_account_id`, `namespace` and `user_name`. For example: + +```python +# DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +from constructs import Construct +from cdktf import TerraformStack +# +# Provider bindings are generated by running `cdktf get`. +# See https://cdk.tf/provider-generation for more details. +# +from imports.aws.quicksight_user_custom_permission import QuicksightUserCustomPermission +class MyConvertedCode(TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + QuicksightUserCustomPermission.generate_config_for_import(self, "example", "012345678901,default,user1") +``` + +Using `terraform import`, import QuickSight user custom permissions using a comma-delimited string combining the `aws_account_id`, `namespace`, and `user_name`. For example: + +```console +% terraform import aws_quicksight_user_custom_permission.example 012345678901,default,user1 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/quicksight_vpc_connection.html.markdown b/website/docs/cdktf/python/r/quicksight_vpc_connection.html.markdown index 768e69d94e1b..735ecb4c90bb 100644 --- a/website/docs/cdktf/python/r/quicksight_vpc_connection.html.markdown +++ b/website/docs/cdktf/python/r/quicksight_vpc_connection.html.markdown @@ -79,9 +79,9 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `aws_account_id` - (Optional) AWS account ID. +* `aws_account_id` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `dns_resolvers` - (Optional) A list of IP addresses of DNS resolver endpoints for the VPC connection. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. ## Attribute Reference @@ -126,4 +126,4 @@ Using `terraform import`, import QuickSight VPC connection using the AWS account % terraform import aws_quicksight_vpc_connection.example 123456789012,example ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/rds_instance_state.html.markdown b/website/docs/cdktf/python/r/rds_instance_state.html.markdown index e32a54a52dc0..d43e47dfeace 100644 --- a/website/docs/cdktf/python/r/rds_instance_state.html.markdown +++ b/website/docs/cdktf/python/r/rds_instance_state.html.markdown @@ -46,9 +46,7 @@ This resource supports the following arguments: ## Attribute Reference -This resource exports the following attributes in addition to the arguments above: - -* `identifier` - DB Instance Identifier +This resource exports no additional attributes. ## Timeouts @@ -59,7 +57,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import RDS (Relational Database) RDS Instance State using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import RDS (Relational Database) RDS Instance State using the `identifier`. For example: ```python # DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -76,10 +74,10 @@ class MyConvertedCode(TerraformStack): RdsInstanceState.generate_config_for_import(self, "example", "db-L72FUFBZX2RRXT3HOJSIUQVOKE") ``` -Using `terraform import`, import RDS (Relational Database) RDS Instance State using the `example_id_arg`. For example: +Using `terraform import`, import RDS (Relational Database) RDS Instance State using the `identifier`. For example: ```console % terraform import aws_rds_instance_state.example rds_instance_state-id-12345678 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/rekognition_collection.html.markdown b/website/docs/cdktf/python/r/rekognition_collection.html.markdown index ae51dc5b2ed8..4f69883b9775 100644 --- a/website/docs/cdktf/python/r/rekognition_collection.html.markdown +++ b/website/docs/cdktf/python/r/rekognition_collection.html.markdown @@ -61,7 +61,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Rekognition Collection using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Rekognition Collection using the `collection_id`. For example: ```python # DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -78,10 +78,10 @@ class MyConvertedCode(TerraformStack): RekognitionCollection.generate_config_for_import(self, "example", "collection-id-12345678") ``` -Using `terraform import`, import Rekognition Collection using the `example_id_arg`. For example: +Using `terraform import`, import Rekognition Collection using the `collection_id`. For example: ```console % terraform import aws_rekognition_collection.example collection-id-12345678 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/rekognition_project.html.markdown b/website/docs/cdktf/python/r/rekognition_project.html.markdown index 4f2f09b960c6..2b65556f292f 100644 --- a/website/docs/cdktf/python/r/rekognition_project.html.markdown +++ b/website/docs/cdktf/python/r/rekognition_project.html.markdown @@ -84,7 +84,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Rekognition Project using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Rekognition Project using the `name`. For example: ```python # DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -107,4 +107,4 @@ Using `terraform import`, import Rekognition Project using the `name`. For examp % terraform import aws_rekognition_project.example project-id-12345678 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/route53profiles_association.html.markdown b/website/docs/cdktf/python/r/route53profiles_association.html.markdown index 74fbb1479cd8..21c96be48f07 100644 --- a/website/docs/cdktf/python/r/route53profiles_association.html.markdown +++ b/website/docs/cdktf/python/r/route53profiles_association.html.markdown @@ -96,10 +96,10 @@ class MyConvertedCode(TerraformStack): Route53ProfilesAssociation.generate_config_for_import(self, "example", "rpa-id-12345678") ``` -Using `terraform import`, import Route 53 Profiles Association using the `example_id_arg`. For example: +Using `terraform import`, import Route 53 Profiles Association using the `id`. For example: ```console % terraform import aws_route53profiles_association.example rpa-id-12345678 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/route53profiles_profile.html.markdown b/website/docs/cdktf/python/r/route53profiles_profile.html.markdown index 25949ce6b94b..b4b594e80304 100644 --- a/website/docs/cdktf/python/r/route53profiles_profile.html.markdown +++ b/website/docs/cdktf/python/r/route53profiles_profile.html.markdown @@ -67,7 +67,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Route 53 Profiles Profile using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Route 53 Profiles Profile using the `id`. For example: ```python # DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -84,10 +84,10 @@ class MyConvertedCode(TerraformStack): Route53ProfilesProfile.generate_config_for_import(self, "example", "rp-12345678") ``` -Using `terraform import`, import Route 53 Profiles Profile using the `example`. For example: +Using `terraform import`, import Route 53 Profiles Profile using the `id`. For example: ```console % terraform import aws_route53profiles_profile.example rp-12345678 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/route53profiles_resource_association.html.markdown b/website/docs/cdktf/python/r/route53profiles_resource_association.html.markdown index a09a8a3eeb1f..c48027791bad 100644 --- a/website/docs/cdktf/python/r/route53profiles_resource_association.html.markdown +++ b/website/docs/cdktf/python/r/route53profiles_resource_association.html.markdown @@ -105,10 +105,10 @@ class MyConvertedCode(TerraformStack): Route53ProfilesResourceAssociation.generate_config_for_import(self, "example", "rpa-id-12345678") ``` -Using `terraform import`, import Route 53 Profiles Resource Association using the `example_id_arg`. For example: +Using `terraform import`, import Route 53 Profiles Resource Association using the `id`. For example: ```console % terraform import aws_route53profiles_resource_association.example rpa-id-12345678 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/s3_access_point.html.markdown b/website/docs/cdktf/python/r/s3_access_point.html.markdown index 189bae6e9cec..bb02d3c099f8 100644 --- a/website/docs/cdktf/python/r/s3_access_point.html.markdown +++ b/website/docs/cdktf/python/r/s3_access_point.html.markdown @@ -125,11 +125,12 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `account_id` - (Optional) AWS account ID for the owner of the bucket for which you want to create an access point. Defaults to automatically determined account ID of the Terraform AWS provider. * `bucket_account_id` - (Optional) AWS account ID associated with the S3 bucket associated with this access point. * `policy` - (Optional) Valid JSON document that specifies the policy that you want to apply to this access point. Removing `policy` from your configuration or setting `policy` to null or an empty string (i.e., `policy = ""`) _will not_ delete the policy since it could have been set by `aws_s3control_access_point_policy`. To remove the `policy`, set it to `"{}"` (an empty JSON document). * `public_access_block_configuration` - (Optional) Configuration block to manage the `PublicAccessBlock` configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. Detailed below. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). +* `tags` - (Optional) Map of tags to assign to the bucket. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. * `vpc_configuration` - (Optional) Configuration block to restrict access to this access point to requests from the specified Virtual Private Cloud (VPC). Required for S3 on Outposts. Detailed below. ### public_access_block_configuration Configuration Block @@ -165,6 +166,7 @@ Note: S3 access points only support secure access by HTTPS. HTTP isn't supported * `has_public_access_policy` - Indicates whether this access point currently has a policy that allows public access. * `id` - For Access Point of an AWS Partition S3 Bucket, the AWS account ID and access point name separated by a colon (`:`). For S3 on Outposts Bucket, the ARN of the Access Point. * `network_origin` - Indicates whether this access point allows access from the public Internet. Values are `VPC` (the access point doesn't allow access from the public Internet) and `Internet` (the access point allows access from the public Internet, subject to the access point and bucket access policies). +* `tags_all` - Map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). ## Import @@ -218,4 +220,4 @@ Import using the ARN for Access Points associated with an S3 on Outposts Bucket: % terraform import aws_s3_access_point.example arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-1234567890123456/accesspoint/example ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/securityhub_standards_subscription.html.markdown b/website/docs/cdktf/python/r/securityhub_standards_subscription.html.markdown index 2daec28ad335..0ed47a76ee2b 100644 --- a/website/docs/cdktf/python/r/securityhub_standards_subscription.html.markdown +++ b/website/docs/cdktf/python/r/securityhub_standards_subscription.html.markdown @@ -57,7 +57,9 @@ Currently available standards (remember to replace `${var.partition}` and `${var | CIS AWS Foundations Benchmark v1.4.0 | `arn:${var.partition}:securityhub:${var.region}::standards/cis-aws-foundations-benchmark/v/1.4.0` | | CIS AWS Foundations Benchmark v3.0.0 | `arn:${var.partition}:securityhub:${var.region}::standards/cis-aws-foundations-benchmark/v/3.0.0` | | NIST SP 800-53 Rev. 5 | `arn:${var.partition}:securityhub:${var.region}::standards/nist-800-53/v/5.0.0` | -| PCI DSS | `arn:${var.partition}:securityhub:${var.region}::standards/pci-dss/v/3.2.1` | +| NIST SP 800-171 Rev. 2 | `arn:${var.partition}:securityhub:${var.region}::standards/nist-800-171/v/2.0.0` | +| PCI DSS v3.2.1 | `arn:${var.partition}:securityhub:${var.region}::standards/pci-dss/v/3.2.1` | +| PCI DSS v4.0.1 | `arn:${var.partition}:securityhub:${var.region}::standards/pci-dss/v/4.0.1` | ## Attribute Reference @@ -135,4 +137,4 @@ Using `terraform import`, import Security Hub standards subscriptions using the % terraform import aws_securityhub_standards_subscription.nist_800_53_rev_5 arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/sesv2_email_identity_policy.html.markdown b/website/docs/cdktf/python/r/sesv2_email_identity_policy.html.markdown index 8238f2bb3a2e..f5efc0286042 100644 --- a/website/docs/cdktf/python/r/sesv2_email_identity_policy.html.markdown +++ b/website/docs/cdktf/python/r/sesv2_email_identity_policy.html.markdown @@ -55,7 +55,7 @@ This resource exports no additional attributes. ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import SESv2 (Simple Email V2) Email Identity Policy using the `id` (`email_identity|policy_name`). For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import SESv2 (Simple Email V2) Email Identity Policy using the `email_identity` and `policy_name` separated by `|`. For example: ```python # DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -72,10 +72,10 @@ class MyConvertedCode(TerraformStack): Sesv2EmailIdentityPolicy.generate_config_for_import(self, "example", "example_email_identity|example_policy_name") ``` -Using `terraform import`, import SESv2 (Simple Email V2) Email Identity Policy using the `example_id_arg`. For example: +Using `terraform import`, import SESv2 (Simple Email V2) Email Identity Policy using the `email_identity` and `policy_name` separated by `|`. For example: ```console % terraform import aws_sesv2_email_identity_policy.example example_email_identity|example_policy_name ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ssm_patch_baseline.html.markdown b/website/docs/cdktf/python/r/ssm_patch_baseline.html.markdown index 3066310edbd5..7d237443c7fa 100644 --- a/website/docs/cdktf/python/r/ssm_patch_baseline.html.markdown +++ b/website/docs/cdktf/python/r/ssm_patch_baseline.html.markdown @@ -183,6 +183,7 @@ The following arguments are optional: * `approved_patches_compliance_level` - (Optional) Compliance level for approved patches. This means that if an approved patch is reported as missing, this is the severity of the compliance violation. Valid values are `CRITICAL`, `HIGH`, `MEDIUM`, `LOW`, `INFORMATIONAL`, `UNSPECIFIED`. The default value is `UNSPECIFIED`. * `approved_patches_enable_non_security` - (Optional) Whether the list of approved patches includes non-security updates that should be applied to the instances. Applies to Linux instances only. * `approved_patches` - (Optional) List of explicitly approved patches for the baseline. Cannot be specified with `approval_rule`. +* `available_security_updates_compliance_status` - (Optional) Indicates the compliance status of managed nodes for which security-related patches are available but were not approved. Supported for Windows Server managed nodes only. Valid values are `COMPLIANT`, `NON_COMPLIANT`. * `description` - (Optional) Description of the patch baseline. * `global_filter` - (Optional) Set of global filters used to exclude patches from the baseline. Up to 4 global filters can be specified using Key/Value pairs. Valid Keys are `PRODUCT`, `CLASSIFICATION`, `MSRC_SEVERITY`, and `PATCH_ID`. * `operating_system` - (Optional) Operating system the patch baseline applies to. Valid values are `ALMA_LINUX`, `AMAZON_LINUX`, `AMAZON_LINUX_2`, `AMAZON_LINUX_2022`, `AMAZON_LINUX_2023`, `CENTOS`, `DEBIAN`, `MACOS`, `ORACLE_LINUX`, `RASPBIAN`, `REDHAT_ENTERPRISE_LINUX`, `ROCKY_LINUX`, `SUSE`, `UBUNTU`, and `WINDOWS`. The default value is `WINDOWS`. @@ -243,4 +244,4 @@ Using `terraform import`, import SSM Patch Baselines using their baseline ID. Fo % terraform import aws_ssm_patch_baseline.example pb-12345678 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/ssm_service_setting.html.markdown b/website/docs/cdktf/python/r/ssm_service_setting.html.markdown index 37f62b0cb5cd..bc41a89934f7 100644 --- a/website/docs/cdktf/python/r/ssm_service_setting.html.markdown +++ b/website/docs/cdktf/python/r/ssm_service_setting.html.markdown @@ -37,7 +37,7 @@ class MyConvertedCode(TerraformStack): This resource supports the following arguments: * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `setting_id` - (Required) ID of the service setting. +* `setting_id` - (Required) ID of the service setting. Valid values are shown in the [AWS documentation](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetServiceSetting.html#API_GetServiceSetting_RequestSyntax). * `setting_value` - (Required) Value of the service setting. ## Attribute Reference @@ -72,4 +72,4 @@ Using `terraform import`, import AWS SSM Service Setting using the `setting_id`. % terraform import aws_ssm_service_setting.example arn:aws:ssm:us-east-1:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/transcribe_vocabulary.html.markdown b/website/docs/cdktf/python/r/transcribe_vocabulary.html.markdown index 2082e8126417..a94284b3a491 100644 --- a/website/docs/cdktf/python/r/transcribe_vocabulary.html.markdown +++ b/website/docs/cdktf/python/r/transcribe_vocabulary.html.markdown @@ -58,7 +58,6 @@ class MyConvertedCode(TerraformStack): The following arguments are required: * `language_code` - (Required) The language code you selected for your vocabulary. -* `vocabulary_file_uri` - (Required) The Amazon S3 location (URI) of the text file that contains your custom vocabulary. * `vocabulary_name` - (Required) The name of the Vocabulary. The following arguments are optional: @@ -109,4 +108,4 @@ Using `terraform import`, import Transcribe Vocabulary using the `vocabulary_nam % terraform import aws_transcribe_vocabulary.example example-name ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/verifiedpermissions_policy_store.html.markdown b/website/docs/cdktf/python/r/verifiedpermissions_policy_store.html.markdown index d6798817772d..a0796fe741fb 100644 --- a/website/docs/cdktf/python/r/verifiedpermissions_policy_store.html.markdown +++ b/website/docs/cdktf/python/r/verifiedpermissions_policy_store.html.markdown @@ -46,6 +46,7 @@ The following arguments are required: The following arguments are optional: * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). +* `deletion_protection` - (Optional) Specifies whether the policy store can be deleted. If enabled, the policy store can't be deleted. Valid Values: `ENABLED`, `DISABLED`. Default value: `DISABLED`. * `description` - (Optional) A description of the Policy Store. * `tags` - (Optional) Key-value mapping of resource tags. If configured with a provider [`default_tags` configuration block](/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. @@ -82,4 +83,4 @@ Using `terraform import`, import Verified Permissions Policy Store using the `po % terraform import aws_verifiedpermissions_policy_store.example DxQg2j8xvXJQ1tQCYNWj9T ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/wafv2_regex_pattern_set.html.markdown b/website/docs/cdktf/python/r/wafv2_regex_pattern_set.html.markdown index a11445a25b7c..87757331a268 100644 --- a/website/docs/cdktf/python/r/wafv2_regex_pattern_set.html.markdown +++ b/website/docs/cdktf/python/r/wafv2_regex_pattern_set.html.markdown @@ -52,7 +52,7 @@ This resource supports the following arguments: * `name_prefix` - (Optional) Creates a unique name beginning with the specified prefix. Conflicts with `name`. * `description` - (Optional) A friendly description of the regular expression pattern set. * `scope` - (Required) Specifies whether this is for an AWS CloudFront distribution or for a regional application. Valid values are `CLOUDFRONT` or `REGIONAL`. To work with CloudFront, you must also specify the region `us-east-1` (N. Virginia) on the AWS provider. -* `regular_expression` - (Optional) One or more blocks of regular expression patterns that you want AWS WAF to search for, such as `B[a@]dB[o0]t`. See [Regular Expression](#regular-expression) below for details. A maximum of 10 `regular_expression` blocks may be specified. +* `regular_expression` - (Optional) One or more blocks of regular expression patterns that you want AWS WAF to search for, such as `B[a@]dB[o0]t`. See [Regular Expression](#regular-expression) below for details. * `tags` - (Optional) An array of key:value pairs to associate with the resource. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. ### Regular Expression @@ -92,4 +92,4 @@ Using `terraform import`, import WAFv2 Regex Pattern Sets using `ID/name/scope`. % terraform import aws_wafv2_regex_pattern_set.example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc/example/REGIONAL ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/wafv2_web_acl.html.markdown b/website/docs/cdktf/python/r/wafv2_web_acl.html.markdown index ac13e80cc171..9ed6dcda4dcb 100644 --- a/website/docs/cdktf/python/r/wafv2_web_acl.html.markdown +++ b/website/docs/cdktf/python/r/wafv2_web_acl.html.markdown @@ -14,6 +14,8 @@ Creates a WAFv2 Web ACL resource. ~> **Note** In `field_to_match` blocks, _e.g._, in `byte_match_statement`, the `body` block includes an optional argument `oversize_handling`. AWS indicates this argument will be required starting February 2023. To avoid configurations breaking when that change happens, treat the `oversize_handling` argument as **required** as soon as possible. +!> **Warning:** If you use the `aws_wafv2_web_acl_rule_group_association` resource to associate rule groups with this Web ACL, you must add `lifecycle { ignore_changes = [rule] }` to this resource to prevent configuration drift. The association resource modifies the Web ACL's rules outside of this resource's direct management. + ## Example Usage This resource is based on `aws_wafv2_rule_group`, check the documentation of the `aws_wafv2_rule_group` resource to see examples of the various available statements. @@ -1263,4 +1265,4 @@ Using `terraform import`, import WAFv2 Web ACLs using `ID/Name/Scope`. For examp % terraform import aws_wafv2_web_acl.example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc/example/REGIONAL ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/python/r/wafv2_web_acl_rule_group_association.html.markdown b/website/docs/cdktf/python/r/wafv2_web_acl_rule_group_association.html.markdown new file mode 100644 index 000000000000..676c41ab3e94 --- /dev/null +++ b/website/docs/cdktf/python/r/wafv2_web_acl_rule_group_association.html.markdown @@ -0,0 +1,598 @@ +--- +subcategory: "WAF" +layout: "aws" +page_title: "AWS: aws_wafv2_web_acl_rule_group_association" +description: |- + Associates a WAFv2 Rule Group with a Web ACL by adding a rule that references the Rule Group. +--- + + + +# Resource: aws_wafv2_web_acl_rule_group_association + +Associates a WAFv2 Rule Group (custom or managed) with a Web ACL by adding a rule that references the Rule Group. Use this resource to apply the rules defined in a Rule Group to a Web ACL without duplicating rule definitions. + +This resource supports both: + +- **Custom Rule Groups**: User-created rule groups that you manage within your AWS account +- **Managed Rule Groups**: Pre-configured rule groups provided by AWS or third-party vendors + +!> **Warning:** Verify the rule names in your `rule_action_override`s carefully. With managed rule groups, WAF silently ignores any override that uses an invalid rule name. With customer-owned rule groups, invalid rule names in your overrides will cause web ACL updates to fail. An invalid rule name is any name that doesn't exactly match the case-sensitive name of an existing rule in the rule group. + +!> **Warning:** Using this resource will cause the associated Web ACL resource to show configuration drift in the `rule` argument unless you add `lifecycle { ignore_changes = [rule] }` to the Web ACL resource configuration. This is because this resource modifies the Web ACL's rules outside of the Web ACL resource's direct management. + +~> **Note:** This resource creates a rule within the Web ACL that references the entire Rule Group. The rule group's individual rules are evaluated as a unit when requests are processed by the Web ACL. + +## Example Usage + +### Custom Rule Group - Basic Usage + +```python +# DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +from cdktf import TerraformResourceLifecycle +from constructs import Construct +from cdktf import Token, TerraformStack +# +# Provider bindings are generated by running `cdktf get`. +# See https://cdk.tf/provider-generation for more details. +# +from imports.aws.wafv2_rule_group import Wafv2RuleGroup +from imports.aws.wafv2_web_acl import Wafv2WebAcl +from imports.aws.wafv2_web_acl_rule_group_association import Wafv2WebAclRuleGroupAssociation +class MyConvertedCode(TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + example = Wafv2RuleGroup(self, "example", + capacity=10, + name="example-rule-group", + rule=[Wafv2RuleGroupRule( + action=Wafv2RuleGroupRuleAction( + block=Wafv2RuleGroupRuleActionBlock() + ), + name="block-suspicious-requests", + priority=1, + statement={ + "geo_match_statement": { + "country_codes": ["CN", "RU"] + } + }, + visibility_config=Wafv2RuleGroupRuleVisibilityConfig( + cloudwatch_metrics_enabled=True, + metric_name="block-suspicious-requests", + sampled_requests_enabled=True + ) + ) + ], + scope="REGIONAL", + visibility_config=Wafv2RuleGroupVisibilityConfig( + cloudwatch_metrics_enabled=True, + metric_name="example-rule-group", + sampled_requests_enabled=True + ) + ) + aws_wafv2_web_acl_example = Wafv2WebAcl(self, "example_1", + default_action=Wafv2WebAclDefaultAction( + allow=Wafv2WebAclDefaultActionAllow() + ), + lifecycle=TerraformResourceLifecycle( + ignore_changes=[rule] + ), + name="example-web-acl", + scope="REGIONAL", + visibility_config=Wafv2WebAclVisibilityConfig( + cloudwatch_metrics_enabled=True, + metric_name="example-web-acl", + sampled_requests_enabled=True + ) + ) + # This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match. + aws_wafv2_web_acl_example.override_logical_id("example") + aws_wafv2_web_acl_rule_group_association_example = + Wafv2WebAclRuleGroupAssociation(self, "example_2", + priority=100, + rule_group_reference=[Wafv2WebAclRuleGroupAssociationRuleGroupReference( + arn=example.arn + ) + ], + rule_name="example-rule-group-rule", + web_acl_arn=Token.as_string(aws_wafv2_web_acl_example.arn) + ) + # This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match. + aws_wafv2_web_acl_rule_group_association_example.override_logical_id("example") +``` + +### Managed Rule Group - Basic Usage + +```python +# DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +from cdktf import TerraformResourceLifecycle +from constructs import Construct +from cdktf import TerraformStack +# +# Provider bindings are generated by running `cdktf get`. +# See https://cdk.tf/provider-generation for more details. +# +from imports.aws.wafv2_web_acl import Wafv2WebAcl +from imports.aws.wafv2_web_acl_rule_group_association import Wafv2WebAclRuleGroupAssociation +class MyConvertedCode(TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + example = Wafv2WebAcl(self, "example", + default_action=Wafv2WebAclDefaultAction( + allow=Wafv2WebAclDefaultActionAllow() + ), + lifecycle=TerraformResourceLifecycle( + ignore_changes=[rule] + ), + name="example-web-acl", + scope="REGIONAL", + visibility_config=Wafv2WebAclVisibilityConfig( + cloudwatch_metrics_enabled=True, + metric_name="example-web-acl", + sampled_requests_enabled=True + ) + ) + Wafv2WebAclRuleGroupAssociation(self, "managed_example", + managed_rule_group=[Wafv2WebAclRuleGroupAssociationManagedRuleGroup( + name="AWSManagedRulesCommonRuleSet", + vendor_name="AWS" + ) + ], + priority=50, + rule_name="aws-common-rule-set", + web_acl_arn=example.arn + ) +``` + +### Managed Rule Group - With Version + +```python +# DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +from constructs import Construct +from cdktf import TerraformStack +# +# Provider bindings are generated by running `cdktf get`. +# See https://cdk.tf/provider-generation for more details. +# +from imports.aws.wafv2_web_acl_rule_group_association import Wafv2WebAclRuleGroupAssociation +class MyConvertedCode(TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + Wafv2WebAclRuleGroupAssociation(self, "managed_versioned", + managed_rule_group=[Wafv2WebAclRuleGroupAssociationManagedRuleGroup( + name="AWSManagedRulesCommonRuleSet", + vendor_name="AWS", + version="Version_1.0" + ) + ], + priority=60, + rule_name="aws-common-rule-set-versioned", + web_acl_arn=example.arn + ) +``` + +### Managed Rule Group - With Rule Action Overrides + +```python +# DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +from constructs import Construct +from cdktf import TerraformStack +# +# Provider bindings are generated by running `cdktf get`. +# See https://cdk.tf/provider-generation for more details. +# +from imports.aws.wafv2_web_acl_rule_group_association import Wafv2WebAclRuleGroupAssociation +class MyConvertedCode(TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + Wafv2WebAclRuleGroupAssociation(self, "managed_with_overrides", + managed_rule_group=[Wafv2WebAclRuleGroupAssociationManagedRuleGroup( + name="AWSManagedRulesCommonRuleSet", + rule_action_override=[Wafv2WebAclRuleGroupAssociationManagedRuleGroupRuleActionOverride( + action_to_use=[Wafv2WebAclRuleGroupAssociationManagedRuleGroupRuleActionOverrideActionToUse( + count=[Wafv2WebAclRuleGroupAssociationManagedRuleGroupRuleActionOverrideActionToUseCount( + custom_request_handling=[Wafv2WebAclRuleGroupAssociationManagedRuleGroupRuleActionOverrideActionToUseCountCustomRequestHandling( + insert_header=[Wafv2WebAclRuleGroupAssociationManagedRuleGroupRuleActionOverrideActionToUseCountCustomRequestHandlingInsertHeader( + name="X-RFI-Override", + value="counted" + ) + ] + ) + ] + ) + ] + ) + ], + name="GenericRFI_BODY" + ), Wafv2WebAclRuleGroupAssociationManagedRuleGroupRuleActionOverride( + action_to_use=[Wafv2WebAclRuleGroupAssociationManagedRuleGroupRuleActionOverrideActionToUse( + captcha=[Wafv2WebAclRuleGroupAssociationManagedRuleGroupRuleActionOverrideActionToUseCaptcha()] + ) + ], + name="SizeRestrictions_BODY" + ) + ], + vendor_name="AWS" + ) + ], + priority=70, + rule_name="aws-common-rule-set-with-overrides", + web_acl_arn=example.arn + ) +``` + +### Custom Rule Group - With Override Action + +```python +# DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +from constructs import Construct +from cdktf import Token, TerraformStack +# +# Provider bindings are generated by running `cdktf get`. +# See https://cdk.tf/provider-generation for more details. +# +from imports.aws.wafv2_web_acl_rule_group_association import Wafv2WebAclRuleGroupAssociation +class MyConvertedCode(TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + Wafv2WebAclRuleGroupAssociation(self, "example", + override_action="count", + priority=100, + rule_group_reference=[Wafv2WebAclRuleGroupAssociationRuleGroupReference( + arn=Token.as_string(aws_wafv2_rule_group_example.arn) + ) + ], + rule_name="example-rule-group-rule", + web_acl_arn=Token.as_string(aws_wafv2_web_acl_example.arn) + ) +``` + +### Custom Rule Group - With Rule Action Overrides + +```python +# DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +from cdktf import TerraformResourceLifecycle +from constructs import Construct +from cdktf import Token, TerraformStack +# +# Provider bindings are generated by running `cdktf get`. +# See https://cdk.tf/provider-generation for more details. +# +from imports.aws.wafv2_rule_group import Wafv2RuleGroup +from imports.aws.wafv2_web_acl import Wafv2WebAcl +from imports.aws.wafv2_web_acl_rule_group_association import Wafv2WebAclRuleGroupAssociation +class MyConvertedCode(TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + example = Wafv2RuleGroup(self, "example", + capacity=10, + name="example-rule-group", + rule=[Wafv2RuleGroupRule( + action=Wafv2RuleGroupRuleAction( + block=Wafv2RuleGroupRuleActionBlock() + ), + name="geo-block-rule", + priority=1, + statement={ + "geo_match_statement": { + "country_codes": ["CN", "RU"] + } + }, + visibility_config=Wafv2RuleGroupRuleVisibilityConfig( + cloudwatch_metrics_enabled=True, + metric_name="geo-block-rule", + sampled_requests_enabled=True + ) + ), Wafv2RuleGroupRule( + action=Wafv2RuleGroupRuleAction( + block=Wafv2RuleGroupRuleActionBlock() + ), + name="rate-limit-rule", + priority=2, + statement={ + "rate_based_statement": { + "aggregate_key_type": "IP", + "limit": 1000 + } + }, + visibility_config=Wafv2RuleGroupRuleVisibilityConfig( + cloudwatch_metrics_enabled=True, + metric_name="rate-limit-rule", + sampled_requests_enabled=True + ) + ) + ], + scope="REGIONAL", + visibility_config=Wafv2RuleGroupVisibilityConfig( + cloudwatch_metrics_enabled=True, + metric_name="example-rule-group", + sampled_requests_enabled=True + ) + ) + aws_wafv2_web_acl_example = Wafv2WebAcl(self, "example_1", + default_action=Wafv2WebAclDefaultAction( + allow=Wafv2WebAclDefaultActionAllow() + ), + lifecycle=TerraformResourceLifecycle( + ignore_changes=[rule] + ), + name="example-web-acl", + scope="REGIONAL", + visibility_config=Wafv2WebAclVisibilityConfig( + cloudwatch_metrics_enabled=True, + metric_name="example-web-acl", + sampled_requests_enabled=True + ) + ) + # This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match. + aws_wafv2_web_acl_example.override_logical_id("example") + aws_wafv2_web_acl_rule_group_association_example = + Wafv2WebAclRuleGroupAssociation(self, "example_2", + priority=100, + rule_group_reference=[Wafv2WebAclRuleGroupAssociationRuleGroupReference( + arn=example.arn, + rule_action_override=[Wafv2WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverride( + action_to_use=[Wafv2WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUse( + count=[Wafv2WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseCount( + custom_request_handling=[Wafv2WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseCountCustomRequestHandling( + insert_header=[Wafv2WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseCountCustomRequestHandlingInsertHeader( + name="X-Geo-Block-Override", + value="counted" + ) + ] + ) + ] + ) + ] + ) + ], + name="geo-block-rule" + ), Wafv2WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverride( + action_to_use=[Wafv2WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUse( + captcha=[Wafv2WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseCaptcha( + custom_request_handling=[Wafv2WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseCaptchaCustomRequestHandling( + insert_header=[Wafv2WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseCaptchaCustomRequestHandlingInsertHeader( + name="X-Rate-Limit-Override", + value="captcha-required" + ) + ] + ) + ] + ) + ] + ) + ], + name="rate-limit-rule" + ) + ] + ) + ], + rule_name="example-rule-group-rule", + web_acl_arn=Token.as_string(aws_wafv2_web_acl_example.arn) + ) + # This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match. + aws_wafv2_web_acl_rule_group_association_example.override_logical_id("example") +``` + +### Custom Rule Group - CloudFront Web ACL + +```python +# DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +from cdktf import TerraformResourceLifecycle +from constructs import Construct +from cdktf import Token, TerraformStack +# +# Provider bindings are generated by running `cdktf get`. +# See https://cdk.tf/provider-generation for more details. +# +from imports.aws.wafv2_rule_group import Wafv2RuleGroup +from imports.aws.wafv2_web_acl import Wafv2WebAcl +from imports.aws.wafv2_web_acl_rule_group_association import Wafv2WebAclRuleGroupAssociation +class MyConvertedCode(TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + cloudfront_example = Wafv2RuleGroup(self, "cloudfront_example", + capacity=10, + name="cloudfront-rule-group", + rule=[Wafv2RuleGroupRule( + action=Wafv2RuleGroupRuleAction( + block=Wafv2RuleGroupRuleActionBlock() + ), + name="rate-limit", + priority=1, + statement={ + "rate_based_statement": { + "aggregate_key_type": "IP", + "limit": 2000 + } + }, + visibility_config=Wafv2RuleGroupRuleVisibilityConfig( + cloudwatch_metrics_enabled=True, + metric_name="rate-limit", + sampled_requests_enabled=True + ) + ) + ], + scope="CLOUDFRONT", + visibility_config=Wafv2RuleGroupVisibilityConfig( + cloudwatch_metrics_enabled=True, + metric_name="cloudfront-rule-group", + sampled_requests_enabled=True + ) + ) + aws_wafv2_web_acl_cloudfront_example = Wafv2WebAcl(self, "cloudfront_example_1", + default_action=Wafv2WebAclDefaultAction( + allow=Wafv2WebAclDefaultActionAllow() + ), + lifecycle=TerraformResourceLifecycle( + ignore_changes=[rule] + ), + name="cloudfront-web-acl", + scope="CLOUDFRONT", + visibility_config=Wafv2WebAclVisibilityConfig( + cloudwatch_metrics_enabled=True, + metric_name="cloudfront-web-acl", + sampled_requests_enabled=True + ) + ) + # This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match. + aws_wafv2_web_acl_cloudfront_example.override_logical_id("cloudfront_example") + aws_wafv2_web_acl_rule_group_association_cloudfront_example = + Wafv2WebAclRuleGroupAssociation(self, "cloudfront_example_2", + priority=50, + rule_group_reference=[Wafv2WebAclRuleGroupAssociationRuleGroupReference( + arn=cloudfront_example.arn + ) + ], + rule_name="cloudfront-rule-group-rule", + web_acl_arn=Token.as_string(aws_wafv2_web_acl_cloudfront_example.arn) + ) + # This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match. + aws_wafv2_web_acl_rule_group_association_cloudfront_example.override_logical_id("cloudfront_example") +``` + +## Argument Reference + +The following arguments are required: + +* `rule_name` - (Required) Name of the rule to create in the Web ACL that references the rule group. Must be between 1 and 128 characters. +* `priority` - (Required) Priority of the rule within the Web ACL. Rules are evaluated in order of priority, with lower numbers evaluated first. +* `web_acl_arn` - (Required) ARN of the Web ACL to associate the Rule Group with. + +The following arguments are optional: + +* `managed_rule_group` - (Optional) Managed Rule Group configuration. One of `rule_group_reference` or `managed_rule_group` is required. Conflicts with `rule_group_reference`. [See below](#managed_rule_group). +* `override_action` - (Optional) Override action for the rule group. Valid values are `none` and `count`. Defaults to `none`. When set to `count`, the actions defined in the rule group rules are overridden to count matches instead of blocking or allowing requests. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). +* `rule_group_reference` - (Optional) Custom Rule Group reference configuration. One of `rule_group_reference` or `managed_rule_group` is required. Conflicts with `managed_rule_group`. [See below](#rule_group_reference). + +### rule_group_reference + +* `arn` - (Required) ARN of the Rule Group to associate with the Web ACL. +* `rule_action_override` - (Optional) Override actions for specific rules within the rule group. [See below](#rule_action_override). + +### managed_rule_group + +* `name` - (Required) Name of the managed rule group. +* `vendor_name` - (Required) Name of the managed rule group vendor. For AWS managed rule groups, this is `AWS`. +* `version` - (Optional) Version of the managed rule group. If not specified, the default version is used. +* `rule_action_override` - (Optional) Override actions for specific rules within the rule group. [See below](#rule_action_override). + +### rule_action_override + +* `name` - (Required) Name of the rule to override within the rule group. Verify the name carefully. With managed rule groups, WAF silently ignores any override that uses an invalid rule name. With customer-owned rule groups, invalid rule names in your overrides will cause web ACL updates to fail. An invalid rule name is any name that doesn't exactly match the case-sensitive name of an existing rule in the rule group. +* `action_to_use` - (Required) Action to use instead of the rule's original action. [See below](#action_to_use). + +### action_to_use + +Exactly one of the following action blocks must be specified: + +* `allow` - (Optional) Allow the request. [See below](#allow). +* `block` - (Optional) Block the request. [See below](#block). +* `captcha` - (Optional) Require CAPTCHA verification. [See below](#captcha). +* `challenge` - (Optional) Require challenge verification. [See below](#challenge). +* `count` - (Optional) Count the request without taking action. [See below](#count). + +### allow + +* `custom_request_handling` - (Optional) Custom handling for allowed requests. [See below](#custom_request_handling). + +### block + +* `custom_response` - (Optional) Custom response for blocked requests. [See below](#custom_response). + +### captcha + +* `custom_request_handling` - (Optional) Custom handling for CAPTCHA requests. [See below](#custom_request_handling). + +### challenge + +* `custom_request_handling` - (Optional) Custom handling for challenge requests. [See below](#custom_request_handling). + +### count + +* `custom_request_handling` - (Optional) Custom handling for counted requests. [See below](#custom_request_handling). + +### custom_request_handling + +* `insert_header` - (Required) Headers to insert into the request. [See below](#insert_header). + +### custom_response + +* `custom_response_body_key` - (Optional) Key of a custom response body to use. +* `response_code` - (Required) HTTP response code to return (200-599). +* `response_header` - (Optional) Headers to include in the response. [See below](#response_header). + +### insert_header + +* `name` - (Required) Name of the header to insert. +* `value` - (Required) Value of the header to insert. + +### response_header + +* `name` - (Required) Name of the response header. +* `value` - (Required) Value of the response header. + +## Attribute Reference + +This resource exports the following attributes in addition to the arguments above: + +None. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +* `create` - (Default `30m`) +* `update` - (Default `30m`) +* `delete` - (Default `30m`) + +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import WAFv2 web ACL custom rule group associations using `WebACLARN,RuleGroupARN,RuleName`. For example: + +```python +# DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +from constructs import Construct +from cdktf import TerraformStack +# +# Provider bindings are generated by running `cdktf get`. +# See https://cdk.tf/provider-generation for more details. +# +from imports.aws.wafv2_web_acl_rule_group_association import Wafv2WebAclRuleGroupAssociation +class MyConvertedCode(TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + Wafv2WebAclRuleGroupAssociation.generate_config_for_import(self, "example", "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,arn:aws:wafv2:us-east-1:123456789012:regional/rulegroup/example-rule-group/87654321-4321-4321-4321-210987654321,example-rule-group-rule") +``` + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import WAFv2 web ACL managed rule group associations using `WebACLARN,VendorName:RuleGroupName[:Version],RuleName`. For example: + +```python +# DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +from constructs import Construct +from cdktf import TerraformStack +# +# Provider bindings are generated by running `cdktf get`. +# See https://cdk.tf/provider-generation for more details. +# +from imports.aws.wafv2_web_acl_rule_group_association import Wafv2WebAclRuleGroupAssociation +class MyConvertedCode(TerraformStack): + def __init__(self, scope, name): + super().__init__(scope, name) + Wafv2WebAclRuleGroupAssociation.generate_config_for_import(self, "managedExample", "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,AWS:AWSManagedRulesCommonRuleSet,aws-common-rule-set") +``` + +Using `terraform import`, import WAFv2 web ACL custom rule group associations using `WebACLARN,RuleGroupARN,RuleName`. For example: + +```console +% terraform import aws_wafv2_web_acl_rule_group_association.example "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,arn:aws:wafv2:us-east-1:123456789012:regional/rulegroup/example-rule-group/87654321-4321-4321-4321-210987654321,example-rule-group-rule" +``` + +Using `terraform import`, import WAFv2 web ACL managed rule group associations using `WebACLARN,VendorName:RuleGroupName[:Version],RuleName`. For example: + +```console +% terraform import aws_wafv2_web_acl_rule_group_association.managed_example "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,AWS:AWSManagedRulesCommonRuleSet,aws-common-rule-set" +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/cloudwatch_event_bus.html.markdown b/website/docs/cdktf/typescript/d/cloudwatch_event_bus.html.markdown index 3a34a6957da4..8d57edbf8ac0 100644 --- a/website/docs/cdktf/typescript/d/cloudwatch_event_bus.html.markdown +++ b/website/docs/cdktf/typescript/d/cloudwatch_event_bus.html.markdown @@ -53,5 +53,8 @@ This data source exports the following attributes in addition to the arguments a * `description` - Event bus description. * `id` - Name of the event bus. * `kmsKeyIdentifier` - Identifier of the AWS KMS customer managed key for EventBridge to use to encrypt events on this event bus, if one has been specified. +* `logConfig` - Block for logging configuration settings for the event bus. + * `includeDetail` - Whether EventBridge include detailed event information in the records it generates. + * `level` - Level of logging detail to include. - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/codebuild_fleet.html.markdown b/website/docs/cdktf/typescript/d/codebuild_fleet.html.markdown index 4dcf8ae8c5da..349fc8d82fcc 100644 --- a/website/docs/cdktf/typescript/d/codebuild_fleet.html.markdown +++ b/website/docs/cdktf/typescript/d/codebuild_fleet.html.markdown @@ -95,6 +95,7 @@ This data source exports the following attributes in addition to the arguments a * `baseCapacity` - Number of machines allocated to the fleet. * `computeConfiguration` - Compute configuration of the compute fleet. * `disk` - Amount of disk space of the instance type included in the fleet. + * `instanceType` - EC2 instance type in the fleet. * `machineType` - Machine type of the instance type included in the fleet. * `memory` - Amount of memory of the instance type included in the fleet. * `vcpu` - Number of vCPUs of the instance type included in the fleet. @@ -123,4 +124,4 @@ This data source exports the following attributes in addition to the arguments a * `subnets` - A list of one or more subnet IDs in your Amazon VPC. * `vpcId` - The ID of the Amazon VPC. - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ebs_volume.html.markdown b/website/docs/cdktf/typescript/d/ebs_volume.html.markdown index 13d0aec51359..1af981dd7185 100644 --- a/website/docs/cdktf/typescript/d/ebs_volume.html.markdown +++ b/website/docs/cdktf/typescript/d/ebs_volume.html.markdown @@ -75,6 +75,7 @@ This data source exports the following attributes in addition to the arguments a * `throughput` - Throughput that the volume supports, in MiB/s. * `volumeId` - Volume ID (e.g., vol-59fcb34e). * `volumeType` - Type of EBS volume. +* `volumeInitializationRate` - EBS provisioned rate for volume initialization, in MiB/s, at which to download the snapshot blocks from Amazon S3 to the volume. ## Timeouts @@ -84,4 +85,4 @@ This data source exports the following attributes in addition to the arguments a [1]: http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-volumes.html - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ecs_service.html.markdown b/website/docs/cdktf/typescript/d/ecs_service.html.markdown index 0afc45b48ef1..9634f745331f 100644 --- a/website/docs/cdktf/typescript/d/ecs_service.html.markdown +++ b/website/docs/cdktf/typescript/d/ecs_service.html.markdown @@ -51,8 +51,28 @@ This data source exports the following attributes in addition to the arguments a * `arn` - ARN of the ECS Service * `desiredCount` - Number of tasks for the ECS Service * `launchType` - Launch type for the ECS Service +* `loadBalancer` - Load balancers for the ECS Service. See [`loadBalancer` Block](#load_balancer-block) for details. * `schedulingStrategy` - Scheduling strategy for the ECS Service * `taskDefinition` - Family for the latest ACTIVE revision or full ARN of the task definition. * `tags` - Resource tags. - \ No newline at end of file +### `loadBalancer` Block + +The `loadBalancer` block exports the following attributes: + +* `advancedConfiguration` - Settings for Blue/Green deployment. See [`advancedConfiguration` Block](#advanced_configuration-block) for details. +* `containerName` - Name of the container to associate with the load balancer. +* `containerPort` - Port on the container to associate with the load balancer. +* `elbName` - Name of the load balancer. +* `targetGroupArn` - ARN of the target group to associate with the load balancer. + +### `advancedConfiguration` Block + +The `advancedConfiguration` block exports the following attributes: + +* `alternateTargetGroupArn` - ARN of the alternate target group to use for Blue/Green deployments. +* `productionListenerRule` - ARN of the listener rule that routes production traffic. +* `roleArn` - ARN of the IAM role that allows ECS to manage the target groups. +* `testListenerRule` - ARN of the listener rule that routes test traffic. + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/eks_cluster_versions.html.markdown b/website/docs/cdktf/typescript/d/eks_cluster_versions.html.markdown index d9d371bc03f0..c6e8f043daa4 100644 --- a/website/docs/cdktf/typescript/d/eks_cluster_versions.html.markdown +++ b/website/docs/cdktf/typescript/d/eks_cluster_versions.html.markdown @@ -19,7 +19,7 @@ Terraform data source for managing AWS EKS (Elastic Kubernetes) Cluster Versions ```typescript // DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug import { Construct } from "constructs"; -import { TerraformStack } from "cdktf"; +import { TerraformOutput, TerraformStack } from "cdktf"; /* * Provider bindings are generated by running `cdktf get`. * See https://cdk.tf/provider-generation for more details. @@ -28,7 +28,22 @@ import { DataAwsEksClusterVersions } from "./.gen/providers/aws/data-aws-eks-clu class MyConvertedCode extends TerraformStack { constructor(scope: Construct, name: string) { super(scope, name); - new DataAwsEksClusterVersions(this, "example", {}); + const example = new DataAwsEksClusterVersions(this, "example", {}); + new TerraformOutput(this, "eks_cluster_version_filtered", { + value: + "${[ for version in ${" + + example.clusterVersions + + '} : version if version.cluster_version == "1.33"]}', + }); + new TerraformOutput(this, "eks_cluster_version_list", { + value: + "${[ for version in ${" + + example.clusterVersions + + "} : version.cluster_version]}", + }); + new TerraformOutput(this, "eks_cluster_versions", { + value: example.clusterVersions, + }); } } @@ -85,7 +100,6 @@ The following arguments are optional: * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `clusterType` - (Optional) Type of clusters to filter by. Currently, the only valid value is `eks`. -* `clusterVersions` - (Optional) A list of Kubernetes versions that you can use to check if EKS supports it. * `defaultOnly` - (Optional) Whether to show only the default versions of Kubernetes supported by EKS. * `includeAll` - (Optional) Whether to include all kubernetes versions in the response. * `versionStatus` - (Optional) Status of the EKS cluster versions to list. @@ -95,14 +109,15 @@ Valid values are `STANDARD_SUPPORT` or `UNSUPPORTED` or `EXTENDED_SUPPORT`. This data source exports the following attributes in addition to the arguments above: -* `clusterType` - Type of cluster that the version belongs to. -* `clusterVersion` - Kubernetes version supported by EKS. -* `default_platform_version` - Default eks platform version for the cluster version. -* `defaultVersion` - Default Kubernetes version for the cluster version. -* `end_of_extended_support_date` - End of extended support date for the cluster version. -* `end_of_standard_support_date` - End of standard support date for the cluster version. -* `kubernetes_patch_version` - Kubernetes patch version for the cluster version. -* `releaseDate` - Release date of the cluster version. -* `versionStatus` - Status of the EKS cluster version. - - \ No newline at end of file +* `clusterVersions` - A list of Kubernetes version information. + * `clusterType` - Type of cluster that the version belongs to. + * `clusterVersion` - Kubernetes version supported by EKS. + * `default_platform_version` - Default eks platform version for the cluster version. + * `defaultVersion` - Default Kubernetes version for the cluster version. + * `end_of_extended_support_date` - End of extended support date for the cluster version. + * `end_of_standard_support_date` - End of standard support date for the cluster version. + * `kubernetes_patch_version` - Kubernetes patch version for the cluster version. + * `releaseDate` - Release date of the cluster version. + * `versionStatus` - Status of the EKS cluster version. + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/quicksight_analysis.html.markdown b/website/docs/cdktf/typescript/d/quicksight_analysis.html.markdown index 379e3353e902..9ad535a35a9b 100644 --- a/website/docs/cdktf/typescript/d/quicksight_analysis.html.markdown +++ b/website/docs/cdktf/typescript/d/quicksight_analysis.html.markdown @@ -40,9 +40,9 @@ class MyConvertedCode extends TerraformStack { This data source supports the following arguments: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `analysisId` - (Required) Identifier for the analysis. -* `awsAccountId` - (Optional) AWS account ID. +* `awsAccountId` - (Optional) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). ## Attribute Reference @@ -51,4 +51,4 @@ This data source exports the following attributes in addition to the arguments a See the [Analysis Resource](/docs/providers/aws/r/quicksight_analysis.html) for details on the returned attributes - they are identical. - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/quicksight_data_set.html.markdown b/website/docs/cdktf/typescript/d/quicksight_data_set.html.markdown index 87bae5a813c1..9d747dfff658 100644 --- a/website/docs/cdktf/typescript/d/quicksight_data_set.html.markdown +++ b/website/docs/cdktf/typescript/d/quicksight_data_set.html.markdown @@ -40,9 +40,9 @@ class MyConvertedCode extends TerraformStack { This data source supports the following arguments: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). +* `awsAccountId` - (Optional) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `dataSetId` - (Required) Identifier for the data set. -* `awsAccountId` - (Optional) AWS account ID. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). ## Attribute Reference @@ -51,4 +51,4 @@ This data source exports the following attributes in addition to the arguments a See the [Data Set Resource](/docs/providers/aws/r/quicksight_data_set.html) for details on the returned attributes - they are identical. - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/quicksight_group.html.markdown b/website/docs/cdktf/typescript/d/quicksight_group.html.markdown index d4eb9e1b44ab..0b1ec60aa7d6 100644 --- a/website/docs/cdktf/typescript/d/quicksight_group.html.markdown +++ b/website/docs/cdktf/typescript/d/quicksight_group.html.markdown @@ -46,9 +46,9 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `awsAccountId` - (Optional) AWS account ID. +* `awsAccountId` - (Optional) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `namespace` - (Optional) QuickSight namespace. Defaults to `default`. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). ## Attribute Reference @@ -58,4 +58,4 @@ This data source exports the following attributes in addition to the arguments a * `description` - The group description. * `principalId` - The principal ID of the group. - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/quicksight_theme.html.markdown b/website/docs/cdktf/typescript/d/quicksight_theme.html.markdown index 1d725338b2d3..ddb1d4f36688 100644 --- a/website/docs/cdktf/typescript/d/quicksight_theme.html.markdown +++ b/website/docs/cdktf/typescript/d/quicksight_theme.html.markdown @@ -44,8 +44,8 @@ The following arguments are required: The following arguments are optional: +* `awsAccountId` - AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `awsAccountId` - AWS account ID. ## Attribute Reference @@ -135,4 +135,4 @@ This data source exports the following attributes in addition to the arguments a * `warning` - Color (hexadecimal) that applies to warning and informational messages. * `warningForeground` - Color (hexadecimal) that applies to any text or other elements that appear over the warning color. - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/quicksight_user.html.markdown b/website/docs/cdktf/typescript/d/quicksight_user.html.markdown index 8a697d6e5590..e1339f352f15 100644 --- a/website/docs/cdktf/typescript/d/quicksight_user.html.markdown +++ b/website/docs/cdktf/typescript/d/quicksight_user.html.markdown @@ -46,9 +46,9 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `awsAccountId` - (Optional) AWS account ID. +* `awsAccountId` - (Optional) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `namespace` - (Optional) QuickSight namespace. Defaults to `default`. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). ## Attribute Reference @@ -56,6 +56,7 @@ This data source exports the following attributes in addition to the arguments a * `active` - The active status of user. When you create an Amazon QuickSight user that’s not an IAM user or an Active Directory user, that user is inactive until they sign in and provide a password. * `arn` - The Amazon Resource Name (ARN) for the user. +* `customPermissionsName` - The custom permissions profile associated with this user. * `email` - The user's email address. * `identityType` - The type of identity authentication used by the user. * `principalId` - The principal ID of the user. @@ -64,4 +65,4 @@ This data source exports the following attributes in addition to the arguments a - `AUTHOR`: A user who can create data sources, datasets, analyzes, and dashboards. - `ADMIN`: A user who is an author, who can also manage Amazon QuickSight settings. - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/s3_access_point.html.markdown b/website/docs/cdktf/typescript/d/s3_access_point.html.markdown index 9750202bbd02..73e4220023f1 100644 --- a/website/docs/cdktf/typescript/d/s3_access_point.html.markdown +++ b/website/docs/cdktf/typescript/d/s3_access_point.html.markdown @@ -59,7 +59,8 @@ This data source exports the following attributes in addition to the arguments a * `blockPublicPolicy` - Whether Amazon S3 blocks public bucket policies for buckets in this account. * `ignorePublicAcls` - Whether Amazon S3 ignores public ACLs for buckets in this account. * `restrictPublicBuckets` - Whether Amazon S3 restricts public bucket policies for buckets in this account. +* `tags` - Tags assigned to the access point. * `vpcConfiguration` - VPC configuration for the access point. * `vpcId` - Access point will only allow connections from this VPC. - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/ssm_patch_baseline.html.markdown b/website/docs/cdktf/typescript/d/ssm_patch_baseline.html.markdown index 9d9cb62c05b9..3e8fb7c70127 100644 --- a/website/docs/cdktf/typescript/d/ssm_patch_baseline.html.markdown +++ b/website/docs/cdktf/typescript/d/ssm_patch_baseline.html.markdown @@ -91,6 +91,7 @@ This data source exports the following attributes in addition to the arguments a * `patchFilter` - Patch filter group that defines the criteria for the rule. * `key` - Key for the filter. * `values` - Value for the filter. +* `availableSecurityUpdatesComplianceStatus` - Indicates the compliance status of managed nodes for which security-related patches are available but were not approved. Supported for Windows Server managed nodes only. * `globalFilter` - Set of global filters used to exclude patches from the baseline. * `key` - Key for the filter. * `values` - Value for the filter. @@ -105,4 +106,4 @@ This data source exports the following attributes in addition to the arguments a * `name` - Name specified to identify the patch source. * `products` - Specific operating system versions a patch repository applies to. - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/verifiedpermissions_policy_store.html.markdown b/website/docs/cdktf/typescript/d/verifiedpermissions_policy_store.html.markdown index 3615a7fd1e77..e4af2bb74c23 100644 --- a/website/docs/cdktf/typescript/d/verifiedpermissions_policy_store.html.markdown +++ b/website/docs/cdktf/typescript/d/verifiedpermissions_policy_store.html.markdown @@ -49,8 +49,9 @@ This data source exports the following attributes in addition to the arguments a * `arn` - The ARN of the Policy Store. * `createdDate` - The date the Policy Store was created. +* `deletionProtection` - Whether the policy store can be deleted. * `lastUpdatedDate` - The date the Policy Store was last updated. * `tags` - Map of key-value pairs associated with the policy store. * `validationSettings` - Validation settings for the policy store. - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/d/wafv2_web_acl.html.markdown b/website/docs/cdktf/typescript/d/wafv2_web_acl.html.markdown index 5be94cd42446..703146782b4d 100644 --- a/website/docs/cdktf/typescript/d/wafv2_web_acl.html.markdown +++ b/website/docs/cdktf/typescript/d/wafv2_web_acl.html.markdown @@ -14,6 +14,8 @@ Retrieves the summary of a WAFv2 Web ACL. ## Example Usage +### Lookup by name + ```typescript // DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug import { Construct } from "constructs"; @@ -35,12 +37,41 @@ class MyConvertedCode extends TerraformStack { ``` +### Lookup by associated resource + +```typescript +// DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +import { Construct } from "constructs"; +import { TerraformStack } from "cdktf"; +/* + * Provider bindings are generated by running `cdktf get`. + * See https://cdk.tf/provider-generation for more details. + */ +import { DataAwsWafv2WebAcl } from "./.gen/providers/aws/data-aws-wafv2-web-acl"; +class MyConvertedCode extends TerraformStack { + constructor(scope: Construct, name: string) { + super(scope, name); + new DataAwsWafv2WebAcl(this, "alb_example", { + resourceArn: + "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/my-alb/xxxxx", + scope: "REGIONAL", + }); + new DataAwsWafv2WebAcl(this, "cloudfront_example", { + resourceArn: "arn:aws:cloudfront::123456789012:distribution/XXX", + scope: "CLOUDFRONT", + }); + } +} + +``` + ## Argument Reference This data source supports the following arguments: +* `name` - (Optional) Name of the WAFv2 Web ACL. Exactly one of `name` or `resourceArn` must be specified. * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `name` - (Required) Name of the WAFv2 Web ACL. +* `resourceArn` - (Optional) ARN of the AWS resource associated with the Web ACL. This can be an ARN of an Application Load Balancer, Amazon API Gateway REST API, AWS AppSync GraphQL API, Amazon Cognito user pool, AWS App Runner service, AWS Verified Access instance, or AWS Amplify application. Exactly one of `name` or `resourceArn` must be specified. * `scope` - (Required) Specifies whether this is for an AWS CloudFront distribution or for a regional application. Valid values are `CLOUDFRONT` or `REGIONAL`. To work with CloudFront, you must also specify the region `us-east-1` (N. Virginia) on the AWS provider. ## Attribute Reference @@ -51,4 +82,4 @@ This data source exports the following attributes in addition to the arguments a * `description` - Description of the WebACL that helps with identification. * `id` - Unique identifier of the WebACL. - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/guides/custom-service-endpoints.html.markdown b/website/docs/cdktf/typescript/guides/custom-service-endpoints.html.markdown index 588b4f41e8f0..b479b433300d 100644 --- a/website/docs/cdktf/typescript/guides/custom-service-endpoints.html.markdown +++ b/website/docs/cdktf/typescript/guides/custom-service-endpoints.html.markdown @@ -143,6 +143,7 @@ class MyConvertedCode extends TerraformStack { |BCM Data Exports|`bcmdataexports`|`AWS_ENDPOINT_URL_BCM_DATA_EXPORTS`|`bcm_data_exports`| |Bedrock|`bedrock`|`AWS_ENDPOINT_URL_BEDROCK`|`bedrock`| |Bedrock Agents|`bedrockagent`|`AWS_ENDPOINT_URL_BEDROCK_AGENT`|`bedrock_agent`| +|Bedrock AgentCore|`bedrockagentcore`|`AWS_ENDPOINT_URL_BEDROCK_AGENTCORE_CONTROL`|`bedrock_agentcore_control`| |Billing|`billing`|`AWS_ENDPOINT_URL_BILLING`|`billing`| |Web Services Budgets|`budgets`|`AWS_ENDPOINT_URL_BUDGETS`|`budgets`| |CE (Cost Explorer)|`ce`(or `costexplorer`)|`AWS_ENDPOINT_URL_COST_EXPLORER`|`cost_explorer`| @@ -282,6 +283,7 @@ class MyConvertedCode extends TerraformStack { |User Notifications|`notifications`|`AWS_ENDPOINT_URL_NOTIFICATIONS`|`notifications`| |User Notifications Contacts|`notificationscontacts`|`AWS_ENDPOINT_URL_NOTIFICATIONSCONTACTS`|`notificationscontacts`| |CloudWatch Observability Access Manager|`oam`(or `cloudwatchobservabilityaccessmanager`)|`AWS_ENDPOINT_URL_OAM`|`oam`| +|Oracle Database@AWS|`odb`|`AWS_ENDPOINT_URL_ODB`|`odb`| |OpenSearch|`opensearch`(or `opensearchservice`)|`AWS_ENDPOINT_URL_OPENSEARCH`|`opensearch`| |OpenSearch Serverless|`opensearchserverless`|`AWS_ENDPOINT_URL_OPENSEARCHSERVERLESS`|`opensearchserverless`| |Organizations|`organizations`|`AWS_ENDPOINT_URL_ORGANIZATIONS`|`organizations`| @@ -321,6 +323,7 @@ class MyConvertedCode extends TerraformStack { |S3 Control|`s3Control`|`AWS_ENDPOINT_URL_S3_CONTROL`|`s3_control`| |S3 on Outposts|`s3Outposts`|`AWS_ENDPOINT_URL_S3OUTPOSTS`|`s3Outposts`| |S3 Tables|`s3Tables`|`AWS_ENDPOINT_URL_S3TABLES`|`s3Tables`| +|S3 Vectors|`s3Vectors`|`AWS_ENDPOINT_URL_S3VECTORS`|`s3Vectors`| |SageMaker AI|`sagemaker`|`AWS_ENDPOINT_URL_SAGEMAKER`|`sagemaker`| |EventBridge Scheduler|`scheduler`|`AWS_ENDPOINT_URL_SCHEDULER`|`scheduler`| |EventBridge Schemas|`schemas`|`AWS_ENDPOINT_URL_SCHEMAS`|`schemas`| @@ -472,4 +475,4 @@ class MyConvertedCode extends TerraformStack { ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/index.html.markdown b/website/docs/cdktf/typescript/index.html.markdown index 4e115c717ea9..14a08ac429cc 100644 --- a/website/docs/cdktf/typescript/index.html.markdown +++ b/website/docs/cdktf/typescript/index.html.markdown @@ -13,7 +13,7 @@ Use the Amazon Web Services (AWS) provider to interact with the many resources supported by AWS. You must configure the provider with the proper credentials before you can use it. -Use the navigation to the left to read about the available resources. There are currently 1509 resources and 608 data sources available in the provider. +Use the navigation to the left to read about the available resources. There are currently 1516 resources and 609 data sources available in the provider. To learn the basics of Terraform using this provider, follow the hands-on [get started tutorials](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/infrastructure-as-code?in=terraform/aws-get-started&utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS). Interact with AWS services, @@ -953,4 +953,4 @@ Approaches differ per authentication providers: There used to be no better way to get account ID out of the API when using the federated account until `sts:GetCallerIdentity` was introduced. - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/appsync_source_api_association.html.markdown b/website/docs/cdktf/typescript/r/appsync_source_api_association.html.markdown index 8c6cbaed73e4..7f93065888c8 100644 --- a/website/docs/cdktf/typescript/r/appsync_source_api_association.html.markdown +++ b/website/docs/cdktf/typescript/r/appsync_source_api_association.html.markdown @@ -3,13 +3,13 @@ subcategory: "AppSync" layout: "aws" page_title: "AWS: aws_appsync_source_api_association" description: |- - Terraform resource for managing an AWS AppSync Source Api Association. + Terraform resource for managing an AWS AppSync Source API Association. --- # Resource: aws_appsync_source_api_association -Terraform resource for managing an AWS AppSync Source Api Association. +Terraform resource for managing an AWS AppSync Source API Association. ## Example Usage @@ -58,9 +58,9 @@ The `sourceApiAssociationConfig` configuration block supports the following argu This resource exports the following attributes in addition to the arguments above: -* `arn` - ARN of the Source Api Association. -* `associationId` - ID of the Source Api Association. -* `id` - Combined ID of the Source Api Association and Merge Api. +* `arn` - ARN of the Source API Association. +* `associationId` - ID of the Source API Association. +* `id` - Combined ID of the Source API Association and Merge API. ## Timeouts @@ -72,7 +72,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import AppSync Source Api Association using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import AppSync Source API Association using the `associationId` and `mergedApiId` separated by `,`. For example: ```typescript // DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -96,10 +96,10 @@ class MyConvertedCode extends TerraformStack { ``` -Using `terraform import`, import AppSync Source Api Association using the `gzos6bteufdunffzzifiowisoe,243685a0-9347-4a1a-89c1-9b57dea01e31`. For example: +Using `terraform import`, import AppSync Source API Association using the `associationId` and `mergedApiId` separated by `,`. For example: ```console % terraform import aws_appsync_source_api_association.example gzos6bteufdunffzzifiowisoe,243685a0-9347-4a1a-89c1-9b57dea01e31 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/athena_database.html.markdown b/website/docs/cdktf/typescript/r/athena_database.html.markdown index 188845f2875c..f6fca9701af7 100644 --- a/website/docs/cdktf/typescript/r/athena_database.html.markdown +++ b/website/docs/cdktf/typescript/r/athena_database.html.markdown @@ -54,6 +54,7 @@ This resource supports the following arguments: * `expectedBucketOwner` - (Optional) AWS account ID that you expect to be the owner of the Amazon S3 bucket. * `forceDestroy` - (Optional, Default: false) Boolean that indicates all tables should be deleted from the database so that the database can be destroyed without error. The tables are *not* recoverable. * `properties` - (Optional) Key-value map of custom metadata properties for the database definition. +* `workgroup` - (Optional) Name of the workgroup. ### ACL Configuration @@ -126,4 +127,4 @@ class MyConvertedCode extends TerraformStack { ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/athena_workgroup.html.markdown b/website/docs/cdktf/typescript/r/athena_workgroup.html.markdown index c91f0edce939..ff18399bab0e 100644 --- a/website/docs/cdktf/typescript/r/athena_workgroup.html.markdown +++ b/website/docs/cdktf/typescript/r/athena_workgroup.html.markdown @@ -62,19 +62,25 @@ This resource supports the following arguments: * `bytesScannedCutoffPerQuery` - (Optional) Integer for the upper data usage limit (cutoff) for the amount of bytes a single query in a workgroup is allowed to scan. Must be at least `10485760`. * `enforceWorkgroupConfiguration` - (Optional) Boolean whether the settings for the workgroup override client-side settings. For more information, see [Workgroup Settings Override Client-Side Settings](https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html). Defaults to `true`. * `engineVersion` - (Optional) Configuration block for the Athena Engine Versioning. For more information, see [Athena Engine Versioning](https://docs.aws.amazon.com/athena/latest/ug/engine-versions.html). See [Engine Version](#engine-version) below. -* `executionRole` - (Optional) Role used in a notebook session for accessing the user's resources. +* `executionRole` - (Optional) Role used to access user resources in notebook sessions and IAM Identity Center enabled workgroups. The property is required for IAM Identity Center enabled workgroups. +* `identityCenterConfiguration` - (Optional) Configuration block to set up an IAM Identity Center enabled workgroup. See [Identity Center Configuration](#identity-center-configuration) below. * `publishCloudwatchMetricsEnabled` - (Optional) Boolean whether Amazon CloudWatch metrics are enabled for the workgroup. Defaults to `true`. -* `resultConfiguration` - (Optional) Configuration block with result settings. See [Result Configuration](#result-configuration) below. * `requesterPaysEnabled` - (Optional) If set to true , allows members assigned to a workgroup to reference Amazon S3 Requester Pays buckets in queries. If set to false , workgroup members cannot query data from Requester Pays buckets, and queries that retrieve data from Requester Pays buckets cause an error. The default is false . For more information about Requester Pays buckets, see [Requester Pays Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html) in the Amazon Simple Storage Service Developer Guide. +* `resultConfiguration` - (Optional) Configuration block with result settings. See [Result Configuration](#result-configuration) below. #### Engine Version * `selectedEngineVersion` - (Optional) Requested engine version. Defaults to `AUTO`. +#### Identity Center Configuration + +* `enableIdentityCenter` - (Optional) Specifies whether the workgroup is IAM Identity Center supported. +* `identityCenterInstanceArn` - (Optional) The IAM Identity Center instance ARN that the workgroup associates to. + #### Result Configuration -* `encryptionConfiguration` - (Optional) Configuration block with encryption settings. See [Encryption Configuration](#encryption-configuration) below. * `aclConfiguration` - (Optional) That an Amazon S3 canned ACL should be set to control ownership of stored query results. See [ACL Configuration](#acl-configuration) below. +* `encryptionConfiguration` - (Optional) Configuration block with encryption settings. See [Encryption Configuration](#encryption-configuration) below. * `expectedBucketOwner` - (Optional) AWS account ID that you expect to be the owner of the Amazon S3 bucket. * `outputLocation` - (Optional) Location in Amazon S3 where your query results are stored, such as `s3://path/to/query/bucket/`. For more information, see [Queries and Query Result Files](https://docs.aws.amazon.com/athena/latest/ug/querying.html). @@ -126,4 +132,4 @@ Using `terraform import`, import Athena Workgroups using their name. For example % terraform import aws_athena_workgroup.example example ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/bedrock_guardrail.html.markdown b/website/docs/cdktf/typescript/r/bedrock_guardrail.html.markdown index 9209e2835a3a..38b17396d62d 100644 --- a/website/docs/cdktf/typescript/r/bedrock_guardrail.html.markdown +++ b/website/docs/cdktf/typescript/r/bedrock_guardrail.html.markdown @@ -36,15 +36,23 @@ resource "aws_bedrock_guardrail" "example" { sensitive_information_policy_config { pii_entities_config { - action = "BLOCK" - type = "NAME" + action = "BLOCK" + input_action = "BLOCK" + output_action = "ANONYMIZE" + input_enabled = true + output_enabled = true + type = "NAME" } regexes_config { - action = "BLOCK" - description = "example regex" - name = "regex_example" - pattern = "^\\d{3}-\\d{2}-\\d{4}$" + action = "BLOCK" + input_action = "BLOCK" + output_action = "BLOCK" + input_enabled = true + output_enabled = false + description = "example regex" + name = "regex_example" + pattern = "^\\d{3}-\\d{2}-\\d{4}$" } } @@ -97,7 +105,7 @@ The `contentPolicyConfig` configuration block supports the following arguments: * `filtersConfig` - (Optional) Set of content filter configs in content policy. See [Filters Config](#content-filters-config) for more information. -* `tier_config` - (Optional) Configuration block for the content policy tier. See [Tier Config](#content-tier-config) for more information. +* `tierConfig` - (Optional) Configuration block for the content policy tier. See [Tier Config](#content-tier-config) for more information. #### Content Filters Config @@ -109,7 +117,7 @@ The `filtersConfig` configuration block supports the following arguments: #### Content Tier Config -The `tier_config` configuration block supports the following arguments: +The `tierConfig` configuration block supports the following arguments: * `tier_name` - (Required) The name of the content policy tier. Valid values include STANDARD or CLASSIC. @@ -126,15 +134,15 @@ The `filtersConfig` configuration block supports the following arguments: ### Cross Region Inference -* `cross_region_config` (Optional) Configuration block to enable cross-region routing for bedrock guardrails. See [Cross Region Config](#cross-region-config for more information. Note see [available regions](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-cross-region.html) here. +* `crossRegionConfig` (Optional) Configuration block to enable cross-region routing for bedrock guardrails. See [Cross Region Config](#cross-region-config for more information. Note see [available regions](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-cross-region.html) here. #### Cross Region Config -* `guardrail_profile_identifier` (Required) Guardrail profile ARN. +* `guardrailProfileIdentifier` (Required) Guardrail profile ARN. ### Topic Policy Config -* `tier_config` - (Optional) Configuration block for the topic policy tier. See [Tier Config](#topics-tier-config) for more information. +* `tierConfig` - (Optional) Configuration block for the topic policy tier. See [Tier Config](#topics-tier-config) for more information. * `topicsConfig` (Required) List of topic configs in topic policy. See [Topics Config](#topics-config) for more information. #### Topics Config @@ -146,7 +154,7 @@ The `filtersConfig` configuration block supports the following arguments: #### Topics Tier Config -The `tier_config` configuration block supports the following arguments: +The `tierConfig` configuration block supports the following arguments: * `tier_name` - (Required) The name of the content policy tier. Valid values include STANDARD or CLASSIC. @@ -167,9 +175,9 @@ The `tier_config` configuration block supports the following arguments: #### Regexes Config * `action` (Required) Options for sensitive information action. Valid values: `BLOCK`, `ANONYMIZE`, `NONE`. -* `name` (Required) The regex name. * `inputAction` (Optional) Action to take when harmful content is detected in the input. Valid values: `BLOCK`, `ANONYMIZE`, `NONE`. * `inputEnabled` (Optional) Whether to enable guardrail evaluation on the input. When disabled, you aren't charged for the evaluation. +* `name` (Required) The regex name. * `outputAction` (Optional) Action to take when harmful content is detected in the output. Valid values: `BLOCK`, `ANONYMIZE`, `NONE`. * `outputEnabled` (Optional) Whether to enable guardrail evaluation on the output. When disabled, you aren't charged for the evaluation. * `pattern` (Required) The regex pattern. @@ -238,4 +246,4 @@ Using `terraform import`, import Amazon Bedrock Guardrail using using a comma-de % terraform import aws_bedrock_guardrail.example guardrail-id-12345678,DRAFT ``` - + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/bedrock_inference_profile.html.markdown b/website/docs/cdktf/typescript/r/bedrock_inference_profile.html.markdown index 9090bdef51fa..6afdc4b4b5dc 100644 --- a/website/docs/cdktf/typescript/r/bedrock_inference_profile.html.markdown +++ b/website/docs/cdktf/typescript/r/bedrock_inference_profile.html.markdown @@ -93,7 +93,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Bedrock Inference Profile using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Bedrock Inference Profile using the `name`. For example: ```typescript // DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -117,10 +117,10 @@ class MyConvertedCode extends TerraformStack { ``` -Using `terraform import`, import Bedrock Inference Profile using the `example_id_arg`. For example: +Using `terraform import`, import Bedrock Inference Profile using the `name`. For example: ```console % terraform import aws_bedrock_inference_profile.example inference_profile-id-12345678 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/cleanrooms_collaboration.html.markdown b/website/docs/cdktf/typescript/r/cleanrooms_collaboration.html.markdown index 97ce7dbed6f1..e2e0a5eca833 100644 --- a/website/docs/cdktf/typescript/r/cleanrooms_collaboration.html.markdown +++ b/website/docs/cdktf/typescript/r/cleanrooms_collaboration.html.markdown @@ -10,13 +10,11 @@ description: |- # Resource: aws_cleanrooms_collaboration -Provides a AWS Clean Rooms collaboration. All members included in the definition will be invited to -join the collaboration and can create memberships. +Provides a AWS Clean Rooms collaboration. +All members included in the definition will be invited to join the collaboration and can create memberships. ## Example Usage -### Collaboration with tags - ```typescript // DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug import { Construct } from "constructs"; @@ -33,6 +31,7 @@ class MyConvertedCode extends TerraformStack { constructor(scope: Construct, name: string, config: MyConfig) { super(scope, name); new CleanroomsCollaboration(this, "test_collaboration", { + analyticsEngine: "SPARK", creatorDisplayName: "Creator ", creatorMemberAbilities: ["CAN_QUERY", "CAN_RECEIVE_RESULTS"], dataEncryptionMetadata: { @@ -62,15 +61,18 @@ class MyConvertedCode extends TerraformStack { ## Argument Reference -This resource supports the following arguments: +The following arguments are required: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `name` - (Required) - The name of the collaboration. Collaboration names do not need to be unique. * `description` - (Required) - A description for a collaboration. * `creatorMemberAbilities` - (Required - Forces new resource) - The list of member abilities for the creator of the collaboration. Valid values [may be found here](https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateCollaboration.html#API-CreateCollaboration-request-creatorMemberAbilities). * `creatorDisplayName` - (Required - Forces new resource) - The name for the member record for the collaboration creator. * `queryLogStatus` - (Required - Forces new resource) - Determines if members of the collaboration can enable query logs within their own. emberships. Valid values [may be found here](https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateCollaboration.html#API-CreateCollaboration-request-queryLogStatus). + +The following arguments are optional: + +* `analyticsEngine` - (Optional) Analytics engine used by the collaboration. Valid values are `CLEAN_ROOMS_SQL` (deprecated) and `SPARK`. * `dataEncryptionMetadata` - (Required - Forces new resource) - a collection of settings which determine how the [c3r client](https://docs.aws.amazon.com/clean-rooms/latest/userguide/crypto-computing.html) will encrypt data for use within this collaboration. * `data_encryption_metadata.allow_clear_text` - (Required - Forces new resource) - Indicates whether encrypted tables can contain cleartext data. This is a boolea field. @@ -84,17 +86,18 @@ or cryptographically processed (false). * `member.account_id` - (Required - Forces new resource) - The account id for the invited member. * `member.display_name` - (Required - Forces new resource) - The display name for the invited member. * `member.member_abilities` - (Required - Forces new resource) - The list of abilities for the invited member. Valid values [may be found here](https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateCollaboration.html#API-CreateCollaboration-request-creatorMemberAbilities). +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `tags` - (Optional) - Key value pairs which tag the collaboration. ## Attribute Reference This resource exports the following attributes in addition to the arguments above: -* `arn` - The arn of the collaboration. -* `id` - The id of the collaboration. -* `createTime` - The date and time the collaboration was created. +* `arn` - ARN of the collaboration. +* `id` - ID of the collaboration. +* `createTime` - Date and time the collaboration was created. * `member status` - For each member included in the collaboration an additional computed attribute of status is added. These values [may be found here](https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_MemberSummary.html#API-Type-MemberSummary-status). -* `updatedTime` - The date and time the collaboration was last updated. +* `updatedTime` - Date and time the collaboration was last updated. ## Timeouts @@ -136,4 +139,4 @@ Using `terraform import`, import `aws_cleanrooms_collaboration` using the `id`. % terraform import aws_cleanrooms_collaboration.collaboration 1234abcd-12ab-34cd-56ef-1234567890ab ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/cloudfront_function.html.markdown b/website/docs/cdktf/typescript/r/cloudfront_function.html.markdown index 979e1a52db00..e96ce8a680bb 100644 --- a/website/docs/cdktf/typescript/r/cloudfront_function.html.markdown +++ b/website/docs/cdktf/typescript/r/cloudfront_function.html.markdown @@ -56,7 +56,7 @@ The following arguments are optional: * `comment` - (Optional) Comment. * `publish` - (Optional) Whether to publish creation/change as Live CloudFront Function Version. Defaults to `true`. -* `keyValueStoreAssociations` - (Optional) List of `aws_cloudfront_key_value_store` ARNs to be associated to the function. AWS limits associations to on key value store per function. +* `keyValueStoreAssociations` - (Optional) List of `aws_cloudfront_key_value_store` ARNs to be associated to the function. AWS limits associations to one key value store per function. ## Attribute Reference @@ -99,4 +99,4 @@ Using `terraform import`, import CloudFront Functions using the `name`. For exam % terraform import aws_cloudfront_function.test my_test_function ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/cloudfrontkeyvaluestore_key.html.markdown b/website/docs/cdktf/typescript/r/cloudfrontkeyvaluestore_key.html.markdown index eb30a9dc2bbb..138ba52e9a08 100644 --- a/website/docs/cdktf/typescript/r/cloudfrontkeyvaluestore_key.html.markdown +++ b/website/docs/cdktf/typescript/r/cloudfrontkeyvaluestore_key.html.markdown @@ -68,7 +68,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import CloudFront KeyValueStore Key using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import CloudFront KeyValueStore Key using the `keyValueStoreArn` and 'key' separated by `,`. For example: ```typescript // DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -92,10 +92,10 @@ class MyConvertedCode extends TerraformStack { ``` -Using `terraform import`, import CloudFront KeyValueStore Key using the `id`. For example: +Using `terraform import`, import CloudFront KeyValueStore Key using the `keyValueStoreArn` and 'key' separated by `,`. For example: ```console % terraform import aws_cloudfrontkeyvaluestore_key.example arn:aws:cloudfront::111111111111:key-value-store/8562g61f-caba-2845-9d99-b97diwae5d3c,someKey ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/cloudwatch_event_bus.html.markdown b/website/docs/cdktf/typescript/r/cloudwatch_event_bus.html.markdown index cefe65741b03..a6bdb5f9b11b 100644 --- a/website/docs/cdktf/typescript/r/cloudwatch_event_bus.html.markdown +++ b/website/docs/cdktf/typescript/r/cloudwatch_event_bus.html.markdown @@ -16,6 +16,8 @@ Provides an EventBridge event bus resource. ## Example Usage +### Basic Usages + ```typescript // DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug import { Construct } from "constructs"; @@ -72,6 +74,279 @@ class MyConvertedCode extends TerraformStack { ``` +### Logging to CloudWatch Logs, S3, and Data Firehose + +See [Configuring logs for Amazon EventBridge event buses](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus-logs.html) for more details. + +#### Required Resources + +* EventBridge Event Bus with `logConfig` configured +* Log destinations: + + * CloudWatch Logs log group + * S3 bucket + * Data Firehose delivery stream + +* Resource-based policy or tagging for the service-linked role: + + * CloudWatch Logs log group - `aws_cloudwatch_log_resource_policy` to allow `delivery.logs.amazonaws.com` to put logs into the log group + * S3 bucket - `aws_s3_bucket_policy` to allow `delivery.logs.amazonaws.com` to put logs into the bucket + * Data Firehose delivery stream - tagging the delivery stream with `LogDeliveryEnabled = "true"` to allow the service-linked role `AWSServiceRoleForLogDelivery` to deliver logs + +* CloudWatch Logs Delivery: + + * `aws_cloudwatch_log_delivery_source` for each log type (INFO, ERROR, TRACE) + * `aws_cloudwatch_log_delivery_destination` for the log destination (S3 bucket, CloudWatch Logs log group, or Data Firehose delivery stream) + * `aws_cloudwatch_log_delivery` to link each log type’s delivery source to the delivery destination + +#### Example Usage + +The following example demonstrates how to set up logging for an EventBridge event bus to all three destinations: CloudWatch Logs, S3, and Data Firehose. + +```typescript +// DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +import { Construct } from "constructs"; +import { Token, TerraformStack } from "cdktf"; +/* + * Provider bindings are generated by running `cdktf get`. + * See https://cdk.tf/provider-generation for more details. + */ +import { CloudwatchEventBus } from "./.gen/providers/aws/cloudwatch-event-bus"; +import { CloudwatchLogDelivery } from "./.gen/providers/aws/cloudwatch-log-delivery"; +import { CloudwatchLogDeliveryDestination } from "./.gen/providers/aws/cloudwatch-log-delivery-destination"; +import { CloudwatchLogDeliverySource } from "./.gen/providers/aws/cloudwatch-log-delivery-source"; +import { CloudwatchLogGroup } from "./.gen/providers/aws/cloudwatch-log-group"; +import { CloudwatchLogResourcePolicy } from "./.gen/providers/aws/cloudwatch-log-resource-policy"; +import { DataAwsCallerIdentity } from "./.gen/providers/aws/data-aws-caller-identity"; +import { DataAwsIamPolicyDocument } from "./.gen/providers/aws/data-aws-iam-policy-document"; +import { KinesisFirehoseDeliveryStream } from "./.gen/providers/aws/kinesis-firehose-delivery-stream"; +import { S3Bucket } from "./.gen/providers/aws/s3-bucket"; +import { S3BucketPolicy } from "./.gen/providers/aws/s3-bucket-policy"; +interface MyConfig { + destination: any; + name: any; +} +class MyConvertedCode extends TerraformStack { + constructor(scope: Construct, name: string, config: MyConfig) { + super(scope, name); + const example = new CloudwatchEventBus(this, "example", { + logConfig: { + includeDetail: "FULL", + level: "TRACE", + }, + name: "example-event-bus", + }); + const errorLogs = new CloudwatchLogDeliverySource(this, "error_logs", { + logType: "ERROR_LOGS", + name: "EventBusSource-${" + example.name + "}-ERROR_LOGS", + resourceArn: example.arn, + }); + const infoLogs = new CloudwatchLogDeliverySource(this, "info_logs", { + logType: "INFO_LOGS", + name: "EventBusSource-${" + example.name + "}-INFO_LOGS", + resourceArn: example.arn, + }); + const traceLogs = new CloudwatchLogDeliverySource(this, "trace_logs", { + logType: "TRACE_LOGS", + name: "EventBusSource-${" + example.name + "}-TRACE_LOGS", + resourceArn: example.arn, + }); + const eventBusLogs = new CloudwatchLogGroup(this, "event_bus_logs", { + name: "/aws/vendedlogs/events/event-bus/${" + example.name + "}", + }); + const cloudfrontLogs = new KinesisFirehoseDeliveryStream( + this, + "cloudfront_logs", + { + tags: { + LogDeliveryEnabled: "true", + }, + destination: config.destination, + name: config.name, + } + ); + const awsS3BucketExample = new S3Bucket(this, "example_6", { + bucket: "example-event-bus-logs", + }); + /*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/ + awsS3BucketExample.overrideLogicalId("example"); + const current = new DataAwsCallerIdentity(this, "current", {}); + const bucket = new DataAwsIamPolicyDocument(this, "bucket", { + statement: [ + { + actions: ["s3:PutObject"], + condition: [ + { + test: "StringEquals", + values: ["bucket-owner-full-control"], + variable: "s3:x-amz-acl", + }, + { + test: "StringEquals", + values: [Token.asString(current.accountId)], + variable: "aws:SourceAccount", + }, + { + test: "ArnLike", + values: [infoLogs.arn, errorLogs.arn, traceLogs.arn], + variable: "aws:SourceArn", + }, + ], + effect: "Allow", + principals: [ + { + identifiers: ["delivery.logs.amazonaws.com"], + type: "Service", + }, + ], + resources: [ + "${" + + awsS3BucketExample.arn + + "}/AWSLogs/${" + + current.accountId + + "}/EventBusLogs/*", + ], + }, + ], + }); + const cwlogs = new DataAwsIamPolicyDocument(this, "cwlogs", { + statement: [ + { + actions: ["logs:CreateLogStream", "logs:PutLogEvents"], + condition: [ + { + test: "StringEquals", + values: [Token.asString(current.accountId)], + variable: "aws:SourceAccount", + }, + { + test: "ArnLike", + values: [infoLogs.arn, errorLogs.arn, traceLogs.arn], + variable: "aws:SourceArn", + }, + ], + effect: "Allow", + principals: [ + { + identifiers: ["delivery.logs.amazonaws.com"], + type: "Service", + }, + ], + resources: ["${" + eventBusLogs.arn + "}:log-stream:*"], + }, + ], + }); + const awsCloudwatchLogDeliveryDestinationCwlogs = + new CloudwatchLogDeliveryDestination(this, "cwlogs_10", { + deliveryDestinationConfiguration: [ + { + destinationResourceArn: eventBusLogs.arn, + }, + ], + name: "EventsDeliveryDestination-${" + example.name + "}-CWLogs", + }); + /*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/ + awsCloudwatchLogDeliveryDestinationCwlogs.overrideLogicalId("cwlogs"); + const firehose = new CloudwatchLogDeliveryDestination(this, "firehose", { + deliveryDestinationConfiguration: [ + { + destinationResourceArn: cloudfrontLogs.arn, + }, + ], + name: "EventsDeliveryDestination-${" + example.name + "}-Firehose", + }); + const s3 = new CloudwatchLogDeliveryDestination(this, "s3", { + deliveryDestinationConfiguration: [ + { + destinationResourceArn: Token.asString(awsS3BucketExample.arn), + }, + ], + name: "EventsDeliveryDestination-${" + example.name + "}-S3", + }); + const awsCloudwatchLogResourcePolicyExample = + new CloudwatchLogResourcePolicy(this, "example_13", { + policyDocument: Token.asString(cwlogs.json), + policyName: "AWSLogDeliveryWrite-${" + example.name + "}", + }); + /*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/ + awsCloudwatchLogResourcePolicyExample.overrideLogicalId("example"); + const awsS3BucketPolicyExample = new S3BucketPolicy(this, "example_14", { + bucket: Token.asString(awsS3BucketExample.bucket), + policy: Token.asString(bucket.json), + }); + /*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/ + awsS3BucketPolicyExample.overrideLogicalId("example"); + const s3InfoLogs = new CloudwatchLogDelivery(this, "s3_info_logs", { + deliveryDestinationArn: s3.arn, + deliverySourceName: infoLogs.name, + }); + const cwlogsInfoLogs = new CloudwatchLogDelivery(this, "cwlogs_info_logs", { + deliveryDestinationArn: Token.asString( + awsCloudwatchLogDeliveryDestinationCwlogs.arn + ), + deliverySourceName: infoLogs.name, + dependsOn: [s3InfoLogs], + }); + const firehoseInfoLogs = new CloudwatchLogDelivery( + this, + "firehose_info_logs", + { + deliveryDestinationArn: firehose.arn, + deliverySourceName: infoLogs.name, + dependsOn: [cwlogsInfoLogs], + } + ); + const s3ErrorLogs = new CloudwatchLogDelivery(this, "s3_error_logs", { + deliveryDestinationArn: s3.arn, + deliverySourceName: errorLogs.name, + dependsOn: [s3InfoLogs], + }); + const s3TraceLogs = new CloudwatchLogDelivery(this, "s3_trace_logs", { + deliveryDestinationArn: s3.arn, + deliverySourceName: traceLogs.name, + dependsOn: [s3ErrorLogs], + }); + const cwlogsErrorLogs = new CloudwatchLogDelivery( + this, + "cwlogs_error_logs", + { + deliveryDestinationArn: Token.asString( + awsCloudwatchLogDeliveryDestinationCwlogs.arn + ), + deliverySourceName: errorLogs.name, + dependsOn: [s3ErrorLogs, cwlogsInfoLogs], + } + ); + const cwlogsTraceLogs = new CloudwatchLogDelivery( + this, + "cwlogs_trace_logs", + { + deliveryDestinationArn: Token.asString( + awsCloudwatchLogDeliveryDestinationCwlogs.arn + ), + deliverySourceName: traceLogs.name, + dependsOn: [s3TraceLogs, cwlogsErrorLogs], + } + ); + const firehoseErrorLogs = new CloudwatchLogDelivery( + this, + "firehose_error_logs", + { + deliveryDestinationArn: firehose.arn, + deliverySourceName: errorLogs.name, + dependsOn: [cwlogsErrorLogs, firehoseInfoLogs], + } + ); + new CloudwatchLogDelivery(this, "firehose_trace_logs", { + deliveryDestinationArn: firehose.arn, + deliverySourceName: traceLogs.name, + dependsOn: [cwlogsTraceLogs, firehoseErrorLogs], + }); + } +} + +``` + ## Argument Reference This resource supports the following arguments: @@ -89,6 +364,9 @@ The following arguments are optional: * `description` - (Optional) Event bus description. * `eventSourceName` - (Optional) Partner event source that the new event bus will be matched with. Must match `name`. * `kmsKeyIdentifier` - (Optional) Identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt events on this event bus. The identifier can be the key Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN. +* `logConfig` - (Optional) Block for logging configuration settings for the event bus. + * `includeDetail` - (Optional) Whether EventBridge include detailed event information in the records it generates. Valid values are `NONE` and `FULL`. + * `level` - (Optional) Level of logging detail to include. Valid values are `OFF`, `ERROR`, `INFO`, and `TRACE`. * `tags` - (Optional) Map of tags assigned to the resource. If configured with a provider [`defaultTags` configuration block](/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. ## Attribute Reference @@ -131,4 +409,4 @@ Using `terraform import`, import EventBridge event buses using the name of the e % terraform import aws_cloudwatch_event_bus.messenger chat-messages ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/cloudwatch_log_anomaly_detector.html.markdown b/website/docs/cdktf/typescript/r/cloudwatch_log_anomaly_detector.html.markdown index 8c018be45802..89f3466589b9 100644 --- a/website/docs/cdktf/typescript/r/cloudwatch_log_anomaly_detector.html.markdown +++ b/website/docs/cdktf/typescript/r/cloudwatch_log_anomaly_detector.html.markdown @@ -105,10 +105,10 @@ class MyConvertedCode extends TerraformStack { ``` -Using `terraform import`, import CloudWatch Log Anomaly Detector using the `example_id_arg`. For example: +Using `terraform import`, import CloudWatch Log Anomaly Detector using the `arn`. For example: ```console % terraform import aws_cloudwatch_log_anomaly_detector.example log_anomaly_detector-arn-12345678 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/codebuild_fleet.html.markdown b/website/docs/cdktf/typescript/r/codebuild_fleet.html.markdown index 0dcac1f7e0a1..ac12e9a69968 100644 --- a/website/docs/cdktf/typescript/r/codebuild_fleet.html.markdown +++ b/website/docs/cdktf/typescript/r/codebuild_fleet.html.markdown @@ -90,7 +90,7 @@ The following arguments are required: The following arguments are optional: * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `computeConfiguration` - (Optional) The compute configuration of the compute fleet. This is only required if `computeType` is set to `ATTRIBUTE_BASED_COMPUTE`. See [`computeConfiguration`](#compute_configuration) below. +* `computeConfiguration` - (Optional) The compute configuration of the compute fleet. This is only required if `computeType` is set to `ATTRIBUTE_BASED_COMPUTE` or `CUSTOM_INSTANCE_TYPE`. See [`computeConfiguration`](#compute_configuration) below. * `fleetServiceRole` - (Optional) The service role associated with the compute fleet. * `imageId` - (Optional) The Amazon Machine Image (AMI) of the compute fleet. * `overflowBehavior` - (Optional) Overflow behavior for compute fleet. Valid values: `ON_DEMAND`, `QUEUE`. @@ -101,9 +101,10 @@ The following arguments are optional: ### compute_configuration * `disk` - (Optional) Amount of disk space of the instance type included in the fleet. -* `machineType` - (Optional) Machine type of the instance type included in the fleet. Valid values: `GENERAL`, `NVME`. -* `memory` - (Optional) Amount of memory of the instance type included in the fleet. -* `vcpu` - (Optional) Number of vCPUs of the instance type included in the fleet. +* `instanceType` - (Optional) EC2 instance type to be launched in the fleet. Specify only if `computeType` is set to `CUSTOM_INSTANCE_TYPE`. See [Supported instance families](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment-reserved-capacity.instance-types). +* `machineType` - (Optional) Machine type of the instance type included in the fleet. Valid values: `GENERAL`, `NVME`. Specify only if `computeType` is set to `ATTRIBUTE_BASED_COMPUTE`. +* `memory` - (Optional) Amount of memory of the instance type included in the fleet. Specify only if `computeType` is set to `ATTRIBUTE_BASED_COMPUTE`. +* `vcpu` - (Optional) Number of vCPUs of the instance type included in the fleet. Specify only if `computeType` is set to `ATTRIBUTE_BASED_COMPUTE`. ### scaling_configuration @@ -163,4 +164,4 @@ Using `terraform import`, import CodeBuild Fleet using the `name`. For example: % terraform import aws_codebuild_fleet.name fleet-name ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/computeoptimizer_recommendation_preferences.html.markdown b/website/docs/cdktf/typescript/r/computeoptimizer_recommendation_preferences.html.markdown index 78e92c21272a..51300541a3f7 100644 --- a/website/docs/cdktf/typescript/r/computeoptimizer_recommendation_preferences.html.markdown +++ b/website/docs/cdktf/typescript/r/computeoptimizer_recommendation_preferences.html.markdown @@ -93,7 +93,7 @@ This resource supports the following arguments: * `inferredWorkloadTypes` - (Optional) The status of the inferred workload types recommendation preference. Valid values: `Active`, `Inactive`. * `lookBackPeriod` - (Optional) The preference to control the number of days the utilization metrics of the AWS resource are analyzed. Valid values: `DAYS_14`, `DAYS_32`, `DAYS_93`. * `preferredResource` - (Optional) The preference to control which resource type values are considered when generating rightsizing recommendations. See [Preferred Resources](#preferred-resources) below. -* `resourceType` - (Required) The target resource type of the recommendation preferences. Valid values: `Ec2Instance`, `AutoScalingGroup`, `RdsDBInstance`. +* `resourceType` - (Required) The target resource type of the recommendation preferences. Valid values: `Ec2Instance`, `AutoScalingGroup`, `RdsDBInstance`, `AuroraDBClusterStorage`. * `savingsEstimationMode` - (Optional) The status of the savings estimation mode preference. Valid values: `AfterDiscounts`, `BeforeDiscounts`. * `scope` - (Required) The scope of the recommendation preferences. See [Scope](#scope) below. * `utilizationPreference` - (Optional) The preference to control the resource’s CPU utilization threshold, CPU utilization headroom, and memory utilization headroom. See [Utilization Preferences](#utilization-preferences) below. @@ -159,4 +159,4 @@ Using `terraform import`, import recommendation preferences using the resource t % terraform import aws_computeoptimizer_recommendation_preferences.example Ec2Instance,AccountId,123456789012 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/datazone_glossary.html.markdown b/website/docs/cdktf/typescript/r/datazone_glossary.html.markdown index e5009a966b44..bedf5850cc69 100644 --- a/website/docs/cdktf/typescript/r/datazone_glossary.html.markdown +++ b/website/docs/cdktf/typescript/r/datazone_glossary.html.markdown @@ -149,7 +149,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import DataZone Glossary using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import DataZone Glossary using a comma-delimited string combining the domain id, glossary id, and the id of the project it's under. For example: ```typescript // DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -179,4 +179,4 @@ Using `terraform import`, import DataZone Glossary using the import Datazone Glo % terraform import aws_datazone_glossary.example domain-id,glossary-id,owning-project-identifier ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/dlm_lifecycle_policy.html.markdown b/website/docs/cdktf/typescript/r/dlm_lifecycle_policy.html.markdown index 425139f910d0..6f068c316e12 100644 --- a/website/docs/cdktf/typescript/r/dlm_lifecycle_policy.html.markdown +++ b/website/docs/cdktf/typescript/r/dlm_lifecycle_policy.html.markdown @@ -289,7 +289,7 @@ This resource supports the following arguments: * `action` - (Optional) The actions to be performed when the event-based policy is triggered. You can specify only one action per policy. This parameter is required for event-based policies only. If you are creating a snapshot or AMI policy, omit this parameter. See the [`action` configuration](#action-arguments) block. * `eventSource` - (Optional) The event that triggers the event-based policy. This parameter is required for event-based policies only. If you are creating a snapshot or AMI policy, omit this parameter. See the [`eventSource` configuration](#event-source-arguments) block. * `resourceTypes` - (Optional) A list of resource types that should be targeted by the lifecycle policy. Valid values are `VOLUME` and `INSTANCE`. -* `resourceLocations` - (Optional) The location of the resources to backup. If the source resources are located in an AWS Region, specify `CLOUD`. If the source resources are located on an Outpost in your account, specify `OUTPOST`. If you specify `OUTPOST`, Amazon Data Lifecycle Manager backs up all resources of the specified type with matching target tags across all of the Outposts in your account. Valid values are `CLOUD` and `OUTPOST`. +* `resourceLocations` - (Optional) The location of the resources to backup. If the source resources are located in an AWS Region, specify `CLOUD`. If the source resources are located on an Outpost in your account, specify `OUTPOST`. If the source resources are located in a Local Zone, specify `LOCAL_ZONE`. Valid values are `CLOUD`, `LOCAL_ZONE`, and `OUTPOST`. * `policyType` - (Optional) The valid target resource types and actions a policy can manage. Specify `EBS_SNAPSHOT_MANAGEMENT` to create a lifecycle policy that manages the lifecycle of Amazon EBS snapshots. Specify `IMAGE_MANAGEMENT` to create a lifecycle policy that manages the lifecycle of EBS-backed AMIs. Specify `EVENT_BASED_POLICY` to create an event-based policy that performs specific actions when a defined event occurs in your AWS account. Default value is `EBS_SNAPSHOT_MANAGEMENT`. * `parameters` - (Optional) A set of optional parameters for snapshot and AMI lifecycle policies. See the [`parameters` configuration](#parameters-arguments) block. * `schedule` - (Optional) See the [`schedule` configuration](#schedule-arguments) block. @@ -434,4 +434,4 @@ Using `terraform import`, import DLM lifecycle policies using their policy ID. F % terraform import aws_dlm_lifecycle_policy.example policy-abcdef12345678901 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/docdb_cluster.html.markdown b/website/docs/cdktf/typescript/r/docdb_cluster.html.markdown index 82be10fd453e..08c1131f1d47 100644 --- a/website/docs/cdktf/typescript/r/docdb_cluster.html.markdown +++ b/website/docs/cdktf/typescript/r/docdb_cluster.html.markdown @@ -91,6 +91,7 @@ This resource supports the following arguments: Default: A 30-minute window selected at random from an 8-hour block of time per regionE.g., 04:00-09:00 * `preferredMaintenanceWindow` - (Optional) The weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30 * `restoreToPointInTime` - (Optional, Forces new resource) A configuration block for restoring a DB instance to an arbitrary point in time. Requires the `identifier` argument to be set with the name of the new DB instance to be created. See [Restore To Point In Time](#restore-to-point-in-time) below for details. +* `serverlessV2ScalingConfiguration` - (Optional) Scaling configuration of an Amazon DocumentDB Serverless cluster. See [Serverless V2 Scaling Configuration](#serverless-v2-scaling-configuration) below for details. * `skipFinalSnapshot` - (Optional) Determines whether a final DB snapshot is created before the DB cluster is deleted. If true is specified, no DB snapshot is created. If false is specified, a DB snapshot is created before the DB cluster is deleted, using the value from `finalSnapshotIdentifier`. Default is `false`. * `snapshotIdentifier` - (Optional) Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot. Automated snapshots **should not** be used for this attribute, unless from a different cluster. Automated snapshots are deleted as part of cluster destruction when the resource is replaced. * `storageEncrypted` - (Optional) Specifies whether the DB cluster is encrypted. The default is `false`. @@ -111,6 +112,14 @@ The `restoreToPointInTime` block supports the following arguments: * `sourceClusterIdentifier` - (Required) The identifier of the source DB cluster from which to restore. Must match the identifier of an existing DB cluster. * `useLatestRestorableTime` - (Optional) A boolean value that indicates whether the DB cluster is restored from the latest backup time. Defaults to `false`. Cannot be specified with `restoreToTime`. +### Serverless V2 Scaling Configuration + +The `serverlessV2ScalingConfiguration` block supports the following arguments. +Adding this block (i.e. switching to serverless) or removing it (i.e. switching from serverless) will trigger cluster replacement. + +* `maxCapacity` - (Required) Maximum number of Amazon DocumentDB capacity units (DCUs) for an instance in an Amazon DocumentDB Serverless cluster. Valid values are multiples of 0.5 between 1 and 256. +* `minCapacity` - (Required) Minimum number of Amazon DocumentDB capacity units (DCUs) for an instance in an Amazon DocumentDB Serverless cluster. Valid values are multiples of 0.5 between 0.5 and 256. + ## Attribute Reference This resource exports the following attributes in addition to the arguments above: @@ -165,4 +174,4 @@ Using `terraform import`, import DocumentDB Clusters using the `clusterIdentifie % terraform import aws_docdb_cluster.docdb_cluster docdb-prod-cluster ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/dynamodb_resource_policy.html.markdown b/website/docs/cdktf/typescript/r/dynamodb_resource_policy.html.markdown index ba42a8ced8df..f27949bf952b 100644 --- a/website/docs/cdktf/typescript/r/dynamodb_resource_policy.html.markdown +++ b/website/docs/cdktf/typescript/r/dynamodb_resource_policy.html.markdown @@ -58,7 +58,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import DynamoDB Resource Policy using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import DynamoDB Resource Policy using the `resourceArn`. For example: ```typescript // DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -82,10 +82,10 @@ class MyConvertedCode extends TerraformStack { ``` -Using `terraform import`, import DynamoDB Resource Policy using the `example_id_arg`. For example: +Using `terraform import`, import DynamoDB Resource Policy using the `resourceArn`. For example: ```console % terraform import aws_dynamodb_resource_policy.example arn:aws:dynamodb:us-east-1:1234567890:table/my-table ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/dynamodb_table.html.markdown b/website/docs/cdktf/typescript/r/dynamodb_table.html.markdown index 4b2edcfe92b7..cf3df1807859 100644 --- a/website/docs/cdktf/typescript/r/dynamodb_table.html.markdown +++ b/website/docs/cdktf/typescript/r/dynamodb_table.html.markdown @@ -363,6 +363,7 @@ The following arguments are optional: **Note:** This attribute will _not_ be populated with the ARN of _default_ keys. **Note:** Changing this value will recreate the replica. * `pointInTimeRecovery` - (Optional) Whether to enable Point In Time Recovery for the replica. Default is `false`. +* `deletionProtectionEnabled` - (Optional) Whether deletion protection is enabled (true) or disabled (false) on the replica. Default is `false`. * `propagateTags` - (Optional) Whether to propagate the global table's tags to a replica. Default is `false`. Changes to tags only move in one direction: from global (source) to replica. @@ -439,4 +440,4 @@ Using `terraform import`, import DynamoDB tables using the `name`. For example: % terraform import aws_dynamodb_table.basic-dynamodb-table GameScores ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ebs_fast_snapshot_restore.html.markdown b/website/docs/cdktf/typescript/r/ebs_fast_snapshot_restore.html.markdown index 5ec26d13c819..e01fa6b5d6b1 100644 --- a/website/docs/cdktf/typescript/r/ebs_fast_snapshot_restore.html.markdown +++ b/website/docs/cdktf/typescript/r/ebs_fast_snapshot_restore.html.markdown @@ -61,7 +61,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import EC2 (Elastic Compute Cloud) EBS Fast Snapshot Restore using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import EC2 (Elastic Compute Cloud) EBS Fast Snapshot Restore using the `availabilityZone` and `snapshotId` separated by `,`. For example: ```typescript // DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -85,10 +85,10 @@ class MyConvertedCode extends TerraformStack { ``` -Using `terraform import`, import EC2 (Elastic Compute Cloud) EBS Fast Snapshot Restore using the `id`. For example: +Using `terraform import`, import EC2 (Elastic Compute Cloud) EBS Fast Snapshot Restore using the `availabilityZone` and `snapshotId` separated by `,`. For example: ```console % terraform import aws_ebs_fast_snapshot_restore.example us-west-2a,snap-abcdef123456 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ebs_volume.html.markdown b/website/docs/cdktf/typescript/r/ebs_volume.html.markdown index d341ad470cac..344111e51c60 100644 --- a/website/docs/cdktf/typescript/r/ebs_volume.html.markdown +++ b/website/docs/cdktf/typescript/r/ebs_volume.html.markdown @@ -55,6 +55,7 @@ This resource supports the following arguments: * `tags` - (Optional) A map of tags to assign to the resource. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. * `throughput` - (Optional) Throughput that the volume supports, in MiB/s. Only valid for `type` of `gp3`. * `type` - (Optional) Type of EBS volume. Can be `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1` or `st1` (Default: `gp2`). +* `volumeInitializationRate` - (Optional) EBS provisioned rate for volume initialization, in MiB/s, at which to download the snapshot blocks from Amazon S3 to the volume. This argument can only be set if `snapshotId` is specified. ~> **NOTE:** At least one of `size` or `snapshotId` is required. @@ -105,4 +106,4 @@ Using `terraform import`, import EBS Volumes using the `id`. For example: % terraform import aws_ebs_volume.id vol-049df61146c4d7901 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ecr_repository.html.markdown b/website/docs/cdktf/typescript/r/ecr_repository.html.markdown index 5ee2ff05e51b..e3d2e147fdca 100644 --- a/website/docs/cdktf/typescript/r/ecr_repository.html.markdown +++ b/website/docs/cdktf/typescript/r/ecr_repository.html.markdown @@ -38,6 +38,39 @@ class MyConvertedCode extends TerraformStack { ``` +### With Image Tag Mutability Exclusion + +```typescript +// DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +import { Construct } from "constructs"; +import { TerraformStack } from "cdktf"; +/* + * Provider bindings are generated by running `cdktf get`. + * See https://cdk.tf/provider-generation for more details. + */ +import { EcrRepository } from "./.gen/providers/aws/ecr-repository"; +class MyConvertedCode extends TerraformStack { + constructor(scope: Construct, name: string) { + super(scope, name); + new EcrRepository(this, "example", { + imageTagMutability: "IMMUTABLE_WITH_EXCLUSION", + imageTagMutabilityExclusionFilter: [ + { + filter: "latest*", + filterType: "WILDCARD", + }, + { + filter: "dev-*", + filterType: "WILDCARD", + }, + ], + name: "example-repo", + }); + } +} + +``` + ## Argument Reference This resource supports the following arguments: @@ -47,7 +80,8 @@ This resource supports the following arguments: * `encryptionConfiguration` - (Optional) Encryption configuration for the repository. See [below for schema](#encryption_configuration). * `forceDelete` - (Optional) If `true`, will delete the repository even if it contains images. Defaults to `false`. -* `imageTagMutability` - (Optional) The tag mutability setting for the repository. Must be one of: `MUTABLE` or `IMMUTABLE`. Defaults to `MUTABLE`. +* `imageTagMutability` - (Optional) The tag mutability setting for the repository. Must be one of: `MUTABLE`, `IMMUTABLE`, `IMMUTABLE_WITH_EXCLUSION`, or `MUTABLE_WITH_EXCLUSION`. Defaults to `MUTABLE`. +* `imageTagMutabilityExclusionFilter` - (Optional) Configuration block that defines filters to specify which image tags can override the default tag mutability setting. Only applicable when `imageTagMutability` is set to `IMMUTABLE_WITH_EXCLUSION` or `MUTABLE_WITH_EXCLUSION`. See [below for schema](#image_tag_mutability_exclusion_filter). * `imageScanningConfiguration` - (Optional) Configuration block that defines image scanning configuration for the repository. By default, image scanning must be manually triggered. See the [ECR User Guide](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning.html) for more information about image scanning. * `scanOnPush` - (Required) Indicates whether images are scanned after being pushed to the repository (true) or not scanned (false). * `tags` - (Optional) A map of tags to assign to the resource. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. @@ -57,6 +91,11 @@ This resource supports the following arguments: * `encryptionType` - (Optional) The encryption type to use for the repository. Valid values are `AES256` or `KMS`. Defaults to `AES256`. * `kmsKey` - (Optional) The ARN of the KMS key to use when `encryptionType` is `KMS`. If not specified, uses the default AWS managed key for ECR. +### image_tag_mutability_exclusion_filter + +* `filter` - (Required) The filter pattern to use for excluding image tags from the mutability setting. Must contain only letters, numbers, and special characters (._*-). Each filter can be up to 128 characters long and can contain a maximum of 2 wildcards (*). +* `filterType` - (Required) The type of filter to use. Must be `WILDCARD`. + ## Attribute Reference This resource exports the following attributes in addition to the arguments above: @@ -100,4 +139,4 @@ Using `terraform import`, import ECR Repositories using the `name`. For example: % terraform import aws_ecr_repository.service test-service ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/emr_cluster.html.markdown b/website/docs/cdktf/typescript/r/emr_cluster.html.markdown index d3a4a20cc748..8d2f6b575035 100644 --- a/website/docs/cdktf/typescript/r/emr_cluster.html.markdown +++ b/website/docs/cdktf/typescript/r/emr_cluster.html.markdown @@ -691,6 +691,8 @@ class MyConvertedCode extends TerraformStack { * `unhealthyNodeReplacement` - (Optional) Whether whether Amazon EMR should gracefully replace core nodes that have degraded within the cluster. Default value is `false`. * `visibleToAllUsers` - (Optional) Whether the job flow is visible to all IAM users of the AWS account associated with the job flow. Default value is `true`. + **NOTE:** As per the [Amazon EMR API Reference](https://docs.aws.amazon.com/emr/latest/APIReference/API_RunJobFlow.html#EMR-RunJobFlow-request-VisibleToAllUsers), this argument is no longer supported. Do not set this argument, particularly to `false`, as it would lead to perpetual differences. + ### bootstrap_action * `args` - (Optional) List of command line arguments to pass to the bootstrap action script. @@ -857,7 +859,6 @@ This resource exports the following attributes in addition to the arguments abov * `releaseLabel` - Release label for the Amazon EMR release. * `serviceRole` - IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf. * `tagsAll` - Map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). -* `visibleToAllUsers` - Indicates whether the job flow is visible to all IAM users of the AWS account associated with the job flow. ## Import @@ -919,4 +920,4 @@ class MyConvertedCode extends TerraformStack { ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/globalaccelerator_cross_account_attachment.html.markdown b/website/docs/cdktf/typescript/r/globalaccelerator_cross_account_attachment.html.markdown index ebadc0919943..364c05cf0186 100644 --- a/website/docs/cdktf/typescript/r/globalaccelerator_cross_account_attachment.html.markdown +++ b/website/docs/cdktf/typescript/r/globalaccelerator_cross_account_attachment.html.markdown @@ -101,7 +101,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Global Accelerator Cross Account Attachment using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Global Accelerator Cross Account Attachment using the `arn`. For example: ```typescript // DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -125,10 +125,10 @@ class MyConvertedCode extends TerraformStack { ``` -Using `terraform import`, import Global Accelerator Cross Account Attachment using the `example_id_arg`. For example: +Using `terraform import`, import Global Accelerator Cross Account Attachment using the `arn`. For example: ```console % terraform import aws_globalaccelerator_cross_account_attachment.example arn:aws:globalaccelerator::012345678910:attachment/01234567-abcd-8910-efgh-123456789012 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/imagebuilder_workflow.html.markdown b/website/docs/cdktf/typescript/r/imagebuilder_workflow.html.markdown index fd24d4197ffd..1b988d299b2a 100644 --- a/website/docs/cdktf/typescript/r/imagebuilder_workflow.html.markdown +++ b/website/docs/cdktf/typescript/r/imagebuilder_workflow.html.markdown @@ -68,7 +68,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import EC2 Image Builder Workflow using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import EC2 Image Builder Workflow using the `arn`. For example: ```typescript // DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -92,7 +92,7 @@ class MyConvertedCode extends TerraformStack { ``` -Using `terraform import`, import EC2 Image Builder Workflow using the `example_id_arg`. For example: +Using `terraform import`, import EC2 Image Builder Workflow using the `arn`. For example: ```console % terraform import aws_imagebuilder_workflow.example arn:aws:imagebuilder:us-east-1:aws:workflow/test/example/1.0.1/1 @@ -100,4 +100,4 @@ Using `terraform import`, import EC2 Image Builder Workflow using the `example_i Certain resource arguments, such as `uri`, cannot be read via the API and imported into Terraform. Terraform will display a difference for these arguments the first run after import if declared in the Terraform configuration for an imported resource. - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/inspector2_enabler.html.markdown b/website/docs/cdktf/typescript/r/inspector2_enabler.html.markdown index 055fe09097a3..878f5f489e87 100644 --- a/website/docs/cdktf/typescript/r/inspector2_enabler.html.markdown +++ b/website/docs/cdktf/typescript/r/inspector2_enabler.html.markdown @@ -87,4 +87,36 @@ This resource exports no additional attributes. * `update` - (Default `5m`) * `delete` - (Default `5m`) - \ No newline at end of file +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Inspector Enabler using `accountIds` and `region_types` formatted as `[account_id1]:[account_id2]:...-[resource_type1]:[resource_type2]:...`, where `accountIds` are sorted in ascending order and `resourceTypes` are sorted in alphabetical order. For example: + +```typescript +// DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +import { Construct } from "constructs"; +import { TerraformStack } from "cdktf"; +/* + * Provider bindings are generated by running `cdktf get`. + * See https://cdk.tf/provider-generation for more details. + */ +import { Inspector2Enabler } from "./.gen/providers/aws/inspector2-enabler"; +class MyConvertedCode extends TerraformStack { + constructor(scope: Construct, name: string) { + super(scope, name); + Inspector2Enabler.generateConfigForImport( + this, + "example", + "123456789012:234567890123-EC2:ECR" + ); + } +} + +``` + +Using `terraform import`, import Inspector Enabler using using `accountIds` and `region_types` formatted as `[account_id1]:[account_id2]:...-[resource_type1]:[resource_type2]:...`, where `accountIds` are sorted in ascending order and `resourceTypes` are sorted in alphabetical order. For example: + +```console +% terraform import aws_inspector2_enabler.example 123456789012:234567890123-EC2:ECR +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/inspector2_filter.html.markdown b/website/docs/cdktf/typescript/r/inspector2_filter.html.markdown index adb28e4c13fb..423c9c9d7374 100644 --- a/website/docs/cdktf/typescript/r/inspector2_filter.html.markdown +++ b/website/docs/cdktf/typescript/r/inspector2_filter.html.markdown @@ -191,10 +191,10 @@ class MyConvertedCode extends TerraformStack { ``` -Using `terraform import`, import Inspector Filter using the `example_id_arg`. For example: +Using `terraform import`, import Inspector Filter using the `arn`. For example: ```console % terraform import aws_inspector2_filter.example "arn:aws:inspector2:us-east-1:111222333444:owner/111222333444/filter/abcdefgh12345678" ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/instance.html.markdown b/website/docs/cdktf/typescript/r/instance.html.markdown index 502d78d836d8..21e786c61e5a 100644 --- a/website/docs/cdktf/typescript/r/instance.html.markdown +++ b/website/docs/cdktf/typescript/r/instance.html.markdown @@ -312,6 +312,7 @@ This resource supports the following arguments: * `enablePrimaryIpv6` - (Optional) Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling `enablePrimaryIpv6` after it has been enabled forces recreation of the instance. * `enclaveOptions` - (Optional) Enable Nitro Enclaves on launched instances. See [Enclave Options](#enclave-options) below for more details. * `ephemeralBlockDevice` - (Optional) One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See [Block Devices](#ebs-ephemeral-and-root-block-devices) below for details. When accessing this as an attribute reference, it is a set of objects. +* `forceDestroy` - (Optional) Destroys instance even if `disableApiTermination` or `disableApiStop` is set to `true`. Defaults to `false`. Once this parameter is set to `true`, a successful `terraform apply` run before a destroy is required to update this value in the resource state. Without a successful `terraform apply` after this parameter is set, this flag will have no effect. If setting this field in the same operation that would require replacing the instance or destroying the instance, this flag will not work. Additionally when importing an instance, a successful `terraform apply` is required to set this value in state before it will take effect on a destroy operation. * `getPasswordData` - (Optional) If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the `passwordData` attribute. See [GetPasswordData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetPasswordData.html) for more information. * `hibernation` - (Optional) If true, the launched EC2 instance will support hibernation. * `hostId` - (Optional) ID of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host. @@ -586,4 +587,4 @@ Using `terraform import`, import instances using the `id`. For example: % terraform import aws_instance.web i-12345678 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/lakeformation_data_cells_filter.html.markdown b/website/docs/cdktf/typescript/r/lakeformation_data_cells_filter.html.markdown index 83ce3392d788..b810a6c61b5e 100644 --- a/website/docs/cdktf/typescript/r/lakeformation_data_cells_filter.html.markdown +++ b/website/docs/cdktf/typescript/r/lakeformation_data_cells_filter.html.markdown @@ -89,7 +89,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Lake Formation Data Cells Filter using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Lake Formation Data Cells Filter using the `databaseName`, `name`, `tableCatalogId`, and `tableName` separated by `,`. For example: ```typescript // DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -113,10 +113,10 @@ class MyConvertedCode extends TerraformStack { ``` -Using `terraform import`, import Lake Formation Data Cells Filter using the `id`. For example: +Using `terraform import`, import Lake Formation Data Cells Filter using the `databaseName`, `name`, `tableCatalogId`, and `tableName` separated by `,`. For example: ```console % terraform import aws_lakeformation_data_cells_filter.example database_name,name,table_catalog_id,table_name ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/networkfirewall_vpc_endpoint_association.html.markdown b/website/docs/cdktf/typescript/r/networkfirewall_vpc_endpoint_association.html.markdown new file mode 100644 index 000000000000..1daf95a944a7 --- /dev/null +++ b/website/docs/cdktf/typescript/r/networkfirewall_vpc_endpoint_association.html.markdown @@ -0,0 +1,124 @@ +--- +subcategory: "Network Firewall" +layout: "aws" +page_title: "AWS: aws_networkfirewall_vpc_endpoint_association" +description: |- + Manages a firewall endpoint for an AWS Network Firewall firewall. +--- + + + +# Resource: aws_networkfirewall_vpc_endpoint_association + +Manages a firewall endpoint for an AWS Network Firewall firewall. + +Use `aws_networkfirewall_vpc_endpoint_association` to establish new firewall endpoints in any Availability Zone where the firewall is already being used. The first use of a firewall in an Availability Zone must be defined by `aws_networkfirewall_firewall` resource and `subnetMapping` argument. + +## Example Usage + +### Basic Usage + +```typescript +// DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +import { Construct } from "constructs"; +import { Token, TerraformStack } from "cdktf"; +/* + * Provider bindings are generated by running `cdktf get`. + * See https://cdk.tf/provider-generation for more details. + */ +import { NetworkfirewallVpcEndpointAssociation } from "./.gen/providers/aws/networkfirewall-vpc-endpoint-association"; +class MyConvertedCode extends TerraformStack { + constructor(scope: Construct, name: string) { + super(scope, name); + new NetworkfirewallVpcEndpointAssociation(this, "example", { + firewallArn: Token.asString(awsNetworkfirewallFirewallExample.arn), + subnetMapping: [ + { + subnetId: Token.asString(awsSubnetExample.id), + }, + { + subnetId: exampleTwo.id, + }, + ], + tags: { + Name: "example endpoint", + }, + vpcId: Token.asString(awsVpcExample.id), + }); + } +} + +``` + +## Argument Reference + +This resource supports the following arguments: + +* `description` (Optional) - A description of the VPC endpoint association. +* `firewallArn` (Required) - The Amazon Resource Name (ARN) that identifies the firewall. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). +* `subnetMapping` (Required) - The ID for a subnet that's used in an association with a firewall. See [Subnet Mapping](#subnet-mapping) below for details. +* `tags` - (Optional) Map of resource tags to associate with the resource. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. +* `vpcId` (Required) - The unique identifier of the VPC for the endpoint association. + +### Subnet Mapping + +The `subnetMapping` block supports the following arguments: + +* `ipAddressType` - (Optional) The subnet's IP address type. Valid values: `"DUALSTACK"`, `"IPV4"`. +* `subnetId` - (Required) The unique identifier for the subnet. + +## Attribute Reference + +This resource exports the following attributes in addition to the arguments above: + +* `tagsAll` - A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). +* `vpcEndpointAssociationArn` - ARN of the VPC Endpoint Association. +* `vpcEndpointAssociationId` - The unique identifier of the VPC endpoint association. +* `vpcEndpointAssociationStatus` - Nested list of information about the current status of the VPC Endpoint Association. + * `association_sync_states` - Set of subnets configured for use by the VPC Endpoint Association. + * `attachment` - Nested list describing the attachment status of the firewall's VPC Endpoint Association with a single VPC subnet. + * `endpointId` - The identifier of the VPC endpoint that AWS Network Firewall has instantiated in the subnet. You use this to identify the firewall endpoint in the VPC route tables, when you redirect the VPC traffic through the endpoint. + * `subnetId` - The unique identifier of the subnet that you've specified to be used for a VPC Endpoint Association endpoint. + * `availabilityZone` - The Availability Zone where the subnet is configured. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +* `create` - (Default `30m`) +* `delete` - (Default `30m`) + +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Network Firewall VPC Endpoint Association using the `vpcEndpointAssociationArn`. For example: + +```typescript +// DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +import { Construct } from "constructs"; +import { TerraformStack } from "cdktf"; +/* + * Provider bindings are generated by running `cdktf get`. + * See https://cdk.tf/provider-generation for more details. + */ +import { NetworkfirewallVpcEndpointAssociation } from "./.gen/providers/aws/networkfirewall-vpc-endpoint-association"; +class MyConvertedCode extends TerraformStack { + constructor(scope: Construct, name: string) { + super(scope, name); + NetworkfirewallVpcEndpointAssociation.generateConfigForImport( + this, + "example", + "arn:aws:network-firewall:us-west-1:123456789012:vpc-endpoint-association/example" + ); + } +} + +``` + +Using `terraform import`, import Network Firewall VPC Endpoint Association using the `vpcEndpointAssociationArn`. For example: + +```console +% terraform import aws_networkfirewall_vpc_endpoint_association.example arn:aws:network-firewall:us-west-1:123456789012:vpc-endpoint-association/example +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/networkmanager_transit_gateway_peering.html.markdown b/website/docs/cdktf/typescript/r/networkmanager_transit_gateway_peering.html.markdown index 9b1d216c0bc1..b59e967f898f 100644 --- a/website/docs/cdktf/typescript/r/networkmanager_transit_gateway_peering.html.markdown +++ b/website/docs/cdktf/typescript/r/networkmanager_transit_gateway_peering.html.markdown @@ -28,6 +28,10 @@ class MyConvertedCode extends TerraformStack { super(scope, name); new NetworkmanagerTransitGatewayPeering(this, "example", { coreNetworkId: Token.asString(awsccNetworkmanagerCoreNetworkExample.id), + dependsOn: [ + awsEc2TransitGatewayPolicyTableExample, + awsNetworkmanagerCoreNetworkPolicyAttachmentExample, + ], transitGatewayArn: Token.asString(awsEc2TransitGatewayExample.arn), }); } @@ -99,4 +103,4 @@ Using `terraform import`, import `aws_networkmanager_transit_gateway_peering` us % terraform import aws_networkmanager_transit_gateway_peering.example peering-444555aaabbb11223 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/opensearch_authorize_vpc_endpoint_access.html.markdown b/website/docs/cdktf/typescript/r/opensearch_authorize_vpc_endpoint_access.html.markdown index 9676f4493829..8820d6c36761 100644 --- a/website/docs/cdktf/typescript/r/opensearch_authorize_vpc_endpoint_access.html.markdown +++ b/website/docs/cdktf/typescript/r/opensearch_authorize_vpc_endpoint_access.html.markdown @@ -60,7 +60,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import OpenSearch Authorize Vpc Endpoint Access using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import OpenSearch Authorize Vpc Endpoint Access using the `domainName`. For example: ```typescript // DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -84,10 +84,10 @@ class MyConvertedCode extends TerraformStack { ``` -Using `terraform import`, import OpenSearch Authorize Vpc Endpoint Access using the `example_id_arg`. For example: +Using `terraform import`, import OpenSearch Authorize Vpc Endpoint Access using the `domainName`. For example: ```console % terraform import aws_opensearch_authorize_vpc_endpoint_access.example authorize_vpc_endpoint_access-id-12345678 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/opensearch_domain_policy.html.markdown b/website/docs/cdktf/typescript/r/opensearch_domain_policy.html.markdown index cf2bde0837b7..ee4addad1e42 100644 --- a/website/docs/cdktf/typescript/r/opensearch_domain_policy.html.markdown +++ b/website/docs/cdktf/typescript/r/opensearch_domain_policy.html.markdown @@ -88,4 +88,36 @@ This resource exports no additional attributes. * `update` - (Default `180m`) * `delete` - (Default `90m`) - \ No newline at end of file +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import OpenSearch Domain Policy using `domainName` prefixed with `esd-policy-`. For example: + +```typescript +// DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +import { Construct } from "constructs"; +import { TerraformStack } from "cdktf"; +/* + * Provider bindings are generated by running `cdktf get`. + * See https://cdk.tf/provider-generation for more details. + */ +import { OpensearchDomainPolicy } from "./.gen/providers/aws/opensearch-domain-policy"; +class MyConvertedCode extends TerraformStack { + constructor(scope: Construct, name: string) { + super(scope, name); + OpensearchDomainPolicy.generateConfigForImport( + this, + "example", + "esd-policy-tf-test" + ); + } +} + +``` + +Using `terraform import`, import OpenSearch Domain Policy using `domainName` prefixed with `esd-policy-`. For example: + +```console +% terraform import aws_opensearch_domain_policy.example esd-policy-tf-test +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/quicksight_account_settings.html.markdown b/website/docs/cdktf/typescript/r/quicksight_account_settings.html.markdown index 9625e1ebd5c7..d4ea70bd8518 100644 --- a/website/docs/cdktf/typescript/r/quicksight_account_settings.html.markdown +++ b/website/docs/cdktf/typescript/r/quicksight_account_settings.html.markdown @@ -24,7 +24,7 @@ import { TerraformStack } from "cdktf"; * Provider bindings are generated by running `cdktf get`. * See https://cdk.tf/provider-generation for more details. */ -import { QuicksightAccountSettings } from "./.gen/providers/aws/"; +import { QuicksightAccountSettings } from "./.gen/providers/aws/quicksight-account-settings"; import { QuicksightAccountSubscription } from "./.gen/providers/aws/quicksight-account-subscription"; class MyConvertedCode extends TerraformStack { constructor(scope: Construct, name: string) { @@ -41,7 +41,7 @@ class MyConvertedCode extends TerraformStack { ); new QuicksightAccountSettings(this, "example", { dependsOn: [subscription], - termination_protection_enabled: false, + terminationProtectionEnabled: false, }); } } @@ -52,14 +52,13 @@ class MyConvertedCode extends TerraformStack { This resource supports the following arguments: -* `default_namespace` - (Optional) The default namespace for this Amazon Web Services account. Currently, the default is `default`. +* `awsAccountId` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. +* `defaultNamespace` - (Optional) The default namespace for this Amazon Web Services account. Currently, the default is `default`. * `terminationProtectionEnabled` - (Optional) A boolean value that determines whether or not an Amazon QuickSight account can be deleted. If `true`, it does not allow the account to be deleted and results in an error message if a user tries to make a DeleteAccountSubscription request. If `false`, it will allow the account to be deleted. ## Attribute Reference -This resource exports the following attributes in addition to the arguments above: - -* `awsAccountId` - The ID for the AWS account that contains the settings. +This resource exports no additional attributes. ## Import @@ -73,7 +72,7 @@ import { TerraformStack } from "cdktf"; * Provider bindings are generated by running `cdktf get`. * See https://cdk.tf/provider-generation for more details. */ -import { QuicksightAccountSettings } from "./.gen/providers/aws/"; +import { QuicksightAccountSettings } from "./.gen/providers/aws/quicksight-account-settings"; class MyConvertedCode extends TerraformStack { constructor(scope: Construct, name: string) { super(scope, name); @@ -93,4 +92,4 @@ Using `terraform import`, import QuickSight Account Settings using the AWS accou % terraform import aws_quicksight_account_settings.example "012345678901" ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/quicksight_account_subscription.html.markdown b/website/docs/cdktf/typescript/r/quicksight_account_subscription.html.markdown index 9ffb34005743..352ca8d2935c 100644 --- a/website/docs/cdktf/typescript/r/quicksight_account_subscription.html.markdown +++ b/website/docs/cdktf/typescript/r/quicksight_account_subscription.html.markdown @@ -50,11 +50,10 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `activeDirectoryName` - (Optional) Name of your Active Directory. This field is required if `ACTIVE_DIRECTORY` is the selected authentication method of the new Amazon QuickSight account. * `adminGroup` - (Optional) Admin group associated with your Active Directory or IAM Identity Center account. This field is required if `ACTIVE_DIRECTORY` or `IAM_IDENTITY_CENTER` is the selected authentication method of the new Amazon QuickSight account. * `authorGroup` - (Optional) Author group associated with your Active Directory or IAM Identity Center account. -* `awsAccountId` - (Optional) AWS account ID hosting the QuickSight account. Default to provider account. +* `awsAccountId` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `contactNumber` - (Optional) A 10-digit phone number for the author of the Amazon QuickSight account to use for future communications. This field is required if `ENTERPPRISE_AND_Q` is the selected edition of the new Amazon QuickSight account. * `directoryId` - (Optional) Active Directory ID that is associated with your Amazon QuickSight account. * `emailAddress` - (Optional) Email address of the author of the Amazon QuickSight account to use for future communications. This field is required if `ENTERPPRISE_AND_Q` is the selected edition of the new Amazon QuickSight account. @@ -63,6 +62,7 @@ The following arguments are optional: * `lastName` - (Optional) Last name of the author of the Amazon QuickSight account to use for future communications. This field is required if `ENTERPPRISE_AND_Q` is the selected edition of the new Amazon QuickSight account. * `readerGroup` - (Optional) Reader group associated with your Active Directory or IAM Identity Center account. * `realm` - (Optional) Realm of the Active Directory that is associated with your Amazon QuickSight account. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). ## Attribute Reference @@ -109,4 +109,4 @@ Using `terraform import`, import a QuickSight Account Subscription using `awsAcc % terraform import aws_quicksight_account_subscription.example "012345678901" ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/quicksight_analysis.html.markdown b/website/docs/cdktf/typescript/r/quicksight_analysis.html.markdown index 7690587b119b..e078145c6ee2 100644 --- a/website/docs/cdktf/typescript/r/quicksight_analysis.html.markdown +++ b/website/docs/cdktf/typescript/r/quicksight_analysis.html.markdown @@ -135,12 +135,12 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `awsAccountId` - (Optional, Forces new resource) AWS account ID. +* `awsAccountId` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `definition` - (Optional) A detailed analysis definition. Only one of `definition` or `sourceEntity` should be configured. See [definition](#definition). * `parameters` - (Optional) The parameters for the creation of the analysis, which you want to use to override the default settings. An analysis can have any type of parameters, and some parameters might accept multiple values. See [parameters](#parameters). * `permissions` - (Optional) A set of resource permissions on the analysis. Maximum of 64 items. See [permissions](#permissions). * `recoveryWindowInDays` - (Optional) A value that specifies the number of days that Amazon QuickSight waits before it deletes the analysis. Use `0` to force deletion without recovery. Minimum value of `7`. Maximum value of `30`. Default to `30`. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `sourceEntity` - (Optional) The entity that you are using as a source when you create the analysis (template). Only one of `definition` or `sourceEntity` should be configured. See [source_entity](#source_entity). * `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`defaultTags` configuration block](/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. * `themeArn` - (Optional) The Amazon Resource Name (ARN) of the theme that is being used for this analysis. The theme ARN must exist in the same AWS account where you create the analysis. @@ -232,4 +232,4 @@ Using `terraform import`, import a QuickSight Analysis using the AWS account ID % terraform import aws_quicksight_analysis.example 123456789012,example-id ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/quicksight_custom_permissions.html.markdown b/website/docs/cdktf/typescript/r/quicksight_custom_permissions.html.markdown new file mode 100644 index 000000000000..e69a0bcfd91e --- /dev/null +++ b/website/docs/cdktf/typescript/r/quicksight_custom_permissions.html.markdown @@ -0,0 +1,104 @@ +--- +subcategory: "QuickSight" +layout: "aws" +page_title: "AWS: aws_quicksight_custom_permissions" +description: |- + Manages a QuickSight custom permissions profile. +--- + + + +# Resource: aws_quicksight_custom_permissions + +Manages a QuickSight custom permissions profile. + +## Example Usage + +resource "aws_quicksight_custom_permissions" "example" { + custom_permissions_name = "example-permissions" + + capabilities { + print_reports = "DENY" + share_dashboards = "DENY" + } +} + +## Argument Reference + +The following arguments are required: + +* `capabilities` - (Required) Actions to include in the custom permissions profile. See [capabilities](#capabilities). +* `customPermissionsName` - (Required, Forces new resource) Custom permissions profile name. + +The following arguments are optional: + +* `awsAccountId` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). +* `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`defaultTags` configuration block](/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +### capabilities + +* `addOrRunAnomalyDetectionForAnalyses` - (Optional) The ability to add or run anomaly detection. Valid values: `DENY`. +* `createAndUpdateDashboardEmailReports` - (Optional) The ability to create and update email reports. Valid values: `DENY`. +* `createAndUpdateDatasets` - (Optional) The ability to create and update datasets. Valid values: `DENY`. +* `createAndUpdateDataSources` - (Optional) The ability to create and update data sources. Valid values: `DENY`. +* `createAndUpdateThemes` - (Optional) The ability to export to create and update themes. Valid values: `DENY`. +* `createAndUpdateThresholdAlerts` - (Optional) The ability to create and update threshold alerts. Valid values: `DENY`. +* `createSharedFolders` - (Optional) The ability to create shared folders. Valid values: `DENY`. +* `createSpiceDataset` - (Optional) The ability to create a SPICE dataset. Valid values: `DENY`. +* `exportToCsv` - (Optional) The ability to export to CSV files from the UI. Valid values: `DENY`. +* `exportToCsvInScheduledReports` - (Optional) The ability to export to CSV files in scheduled email reports. Valid values: `DENY`. +* `exportToExcel` - (Optional) The ability to export to Excel files from the UI. Valid values: `DENY`. +* `exportToExcelInScheduledReports` - (Optional) The ability to export to Excel files in scheduled email reports. Valid values: `DENY`. +* `exportToPdf` - (Optional) The ability to export to PDF files from the UI. Valid values: `DENY`. +* `exportToPdfInScheduledReports` - (Optional) The ability to export to PDF files in scheduled email reports. Valid values: `DENY`. +* `includeContentInScheduledReportsEmail` - (Optional) The ability to include content in scheduled email reports. Valid values: `DENY`. +* `printReports` - (Optional) The ability to print reports. Valid values: `DENY`. +* `renameSharedFolders` - (Optional) The ability to rename shared folders. Valid values: `DENY`. +* `shareAnalyses` - (Optional) The ability to share analyses. Valid values: `DENY`. +* `shareDashboards` - (Optional) The ability to share dashboards. Valid values: `DENY`. +* `shareDatasets` - (Optional) The ability to share datasets. Valid values: `DENY`. +* `shareDataSources` - (Optional) The ability to share data sources. Valid values: `DENY`. +* `subscribeDashboardEmailReports` - (Optional) The ability to subscribe to email reports. Valid values: `DENY`. +* `viewAccountSpiceCapacity` - (Optional) The ability to view account SPICE capacity. Valid values: `DENY`. + +## Attribute Reference + +This resource exports the following attributes in addition to the arguments above: + +* `arn` - ARN of the custom permissions profile. +* `tagsAll` - A map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](/docs/providers/aws/index.html#default_tags-configuration-block). + +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import a QuickSight custom permissions profile using the AWS account ID and custom permissions profile name separated by a comma (`,`). For example: + +```typescript +// DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +import { Construct } from "constructs"; +import { TerraformStack } from "cdktf"; +/* + * Provider bindings are generated by running `cdktf get`. + * See https://cdk.tf/provider-generation for more details. + */ +import { QuicksightCustomPermissions } from "./.gen/providers/aws/quicksight-custom-permissions"; +class MyConvertedCode extends TerraformStack { + constructor(scope: Construct, name: string) { + super(scope, name); + QuicksightCustomPermissions.generateConfigForImport( + this, + "example", + "123456789012,example-permissions" + ); + } +} + +``` + +Using `terraform import`, import a QuickSight custom permissions profile using the AWS account ID and custom permissions profile name separated by a comma (`,`). For example: + +```console +% terraform import aws_quicksight_custom_permissions.example 123456789012,example-permissions +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/quicksight_dashboard.html.markdown b/website/docs/cdktf/typescript/r/quicksight_dashboard.html.markdown index 44d689abfe00..6acb55a676c2 100644 --- a/website/docs/cdktf/typescript/r/quicksight_dashboard.html.markdown +++ b/website/docs/cdktf/typescript/r/quicksight_dashboard.html.markdown @@ -138,12 +138,12 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `awsAccountId` - (Optional, Forces new resource) AWS account ID. +* `awsAccountId` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `dashboardPublishOptions` - (Optional) Options for publishing the dashboard. See [dashboard_publish_options](#dashboard_publish_options). * `definition` - (Optional) A detailed dashboard definition. Only one of `definition` or `sourceEntity` should be configured. See [definition](#definition). * `parameters` - (Optional) The parameters for the creation of the dashboard, which you want to use to override the default settings. A dashboard can have any type of parameters, and some parameters might accept multiple values. See [parameters](#parameters). * `permissions` - (Optional) A set of resource permissions on the dashboard. Maximum of 64 items. See [permissions](#permissions). +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `sourceEntity` - (Optional) The entity that you are using as a source when you create the dashboard (template). Only one of `definition` or `sourceEntity` should be configured. See [source_entity](#source_entity). * `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`defaultTags` configuration block](/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. * `themeArn` - (Optional) The Amazon Resource Name (ARN) of the theme that is being used for this dashboard. The theme ARN must exist in the same AWS account where you create the dashboard. @@ -290,4 +290,4 @@ Using `terraform import`, import a QuickSight Dashboard using the AWS account ID % terraform import aws_quicksight_dashboard.example 123456789012,example-id ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/quicksight_data_set.html.markdown b/website/docs/cdktf/typescript/r/quicksight_data_set.html.markdown index e1a673efce09..84f201d13cec 100644 --- a/website/docs/cdktf/typescript/r/quicksight_data_set.html.markdown +++ b/website/docs/cdktf/typescript/r/quicksight_data_set.html.markdown @@ -265,8 +265,7 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `awsAccountId` - (Optional, Forces new resource) AWS account ID. +* `awsAccountId` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `columnGroups` - (Optional) Groupings of columns that work together in certain Amazon QuickSight features. Currently, only geospatial hierarchy is supported. See [column_groups](#column_groups). * `columnLevelPermissionRules` - (Optional) A set of 1 or more definitions of a [ColumnLevelPermissionRule](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ColumnLevelPermissionRule.html). See [column_level_permission_rules](#column_level_permission_rules). * `dataSetUsageConfiguration` - (Optional) The usage configuration to apply to child datasets that reference this dataset as a source. See [data_set_usage_configuration](#data_set_usage_configuration). @@ -274,6 +273,7 @@ The following arguments are optional: * `logicalTableMap` - (Optional) Configures the combination and transformation of the data from the physical tables. Maximum of 1 entry. See [logical_table_map](#logical_table_map). * `permissions` - (Optional) A set of resource permissions on the data source. Maximum of 64 items. See [permissions](#permissions). * `physicalTableMap` - (Optional) Declares the physical tables that are available in the underlying data sources. See [physical_table_map](#physical_table_map). +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `rowLevelPermissionDataSet` - (Optional) The row-level security configuration for the data that you want to create. See [row_level_permission_data_set](#row_level_permission_data_set). * `rowLevelPermissionTagConfiguration` - (Optional) The configuration of tags on a dataset to set row-level security. Row-level security tags are currently supported for anonymous embedding only. See [row_level_permission_tag_configuration](#row_level_permission_tag_configuration). * `refreshProperties` - (Optional) The refresh properties for the data set. **NOTE**: Only valid when `importMode` is set to `SPICE`. See [refresh_properties](#refresh_properties). @@ -524,4 +524,4 @@ Using `terraform import`, import a QuickSight Data Set using the AWS account ID % terraform import aws_quicksight_data_set.example 123456789012,example-id ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/quicksight_data_source.html.markdown b/website/docs/cdktf/typescript/r/quicksight_data_source.html.markdown index 8882ed699bd1..0382e2c84f84 100644 --- a/website/docs/cdktf/typescript/r/quicksight_data_source.html.markdown +++ b/website/docs/cdktf/typescript/r/quicksight_data_source.html.markdown @@ -199,10 +199,10 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `awsAccountId` - (Optional, Forces new resource) The ID for the AWS account that the data source is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account. +* `awsAccountId` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `credentials` - (Optional) The credentials Amazon QuickSight uses to connect to your underlying source. See [Credentials](#credentials-argument-reference) below for more details. * `permission` - (Optional) A set of resource permissions on the data source. Maximum of 64 items. See [Permission](#permission-argument-reference) below for more details. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `sslProperties` - (Optional) Secure Socket Layer (SSL) properties that apply when Amazon QuickSight connects to your underlying source. See [SSL Properties](#ssl_properties-argument-reference) below for more details. * `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. * `vpcConnectionProperties`- (Optional) Use this parameter only when you want Amazon QuickSight to use a VPC connection when connecting to your underlying source. See [VPC Connection Properties](#vpc_connection_properties-argument-reference) below for more details. @@ -415,4 +415,4 @@ Using `terraform import`, import a QuickSight data source using the AWS account % terraform import aws_quicksight_data_source.example 123456789123/my-data-source-id ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/quicksight_folder.html.markdown b/website/docs/cdktf/typescript/r/quicksight_folder.html.markdown index ff9d03dc1f11..c815d9044e9c 100644 --- a/website/docs/cdktf/typescript/r/quicksight_folder.html.markdown +++ b/website/docs/cdktf/typescript/r/quicksight_folder.html.markdown @@ -112,11 +112,11 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `awsAccountId` - (Optional, Forces new resource) AWS account ID. +* `awsAccountId` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `folderType` - (Optional) The type of folder. By default, it is `SHARED`. Valid values are: `SHARED`. * `parentFolderArn` - (Optional) The Amazon Resource Name (ARN) for the parent folder. If not set, creates a root-level folder. * `permissions` - (Optional) A set of resource permissions on the folder. Maximum of 64 items. See [permissions](#permissions). +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`defaultTags` configuration block](/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. ### permissions @@ -176,4 +176,4 @@ Using `terraform import`, import a QuickSight folder using the AWS account ID an % terraform import aws_quicksight_folder.example 123456789012,example-id ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/quicksight_folder_membership.html.markdown b/website/docs/cdktf/typescript/r/quicksight_folder_membership.html.markdown index 39856775f044..611d7891138a 100644 --- a/website/docs/cdktf/typescript/r/quicksight_folder_membership.html.markdown +++ b/website/docs/cdktf/typescript/r/quicksight_folder_membership.html.markdown @@ -48,8 +48,8 @@ The following arguments are required: The following arguments are optional: +* `awsAccountId` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `awsAccountId` - (Optional, Forces new resource) AWS account ID. ## Attribute Reference @@ -89,4 +89,4 @@ Using `terraform import`, import QuickSight Folder Membership using the AWS acco % terraform import aws_quicksight_folder_membership.example 123456789012,example-folder,DATASET,example-dataset ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/quicksight_group.html.markdown b/website/docs/cdktf/typescript/r/quicksight_group.html.markdown index c075e8c6c0c1..b45cdf4d9dc0 100644 --- a/website/docs/cdktf/typescript/r/quicksight_group.html.markdown +++ b/website/docs/cdktf/typescript/r/quicksight_group.html.markdown @@ -38,11 +38,11 @@ class MyConvertedCode extends TerraformStack { This resource supports the following arguments: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `groupName` - (Required) A name for the group. -* `awsAccountId` - (Optional) The ID for the AWS account that the group is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account. +* `awsAccountId` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `description` - (Optional) A description for the group. +* `groupName` - (Required) A name for the group. * `namespace` - (Optional) The namespace. Currently, you should set this to `default`. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). ## Attribute Reference @@ -82,4 +82,4 @@ Using `terraform import`, import QuickSight Group using the aws account id, name % terraform import aws_quicksight_group.example 123456789123/default/tf-example ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/quicksight_group_membership.html.markdown b/website/docs/cdktf/typescript/r/quicksight_group_membership.html.markdown index 7e9b98099f9d..d1345e38d438 100644 --- a/website/docs/cdktf/typescript/r/quicksight_group_membership.html.markdown +++ b/website/docs/cdktf/typescript/r/quicksight_group_membership.html.markdown @@ -39,11 +39,11 @@ class MyConvertedCode extends TerraformStack { This resource supports the following arguments: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). +* `awsAccountId` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `groupName` - (Required) The name of the group in which the member will be added. * `memberName` - (Required) The name of the member to add to the group. -* `awsAccountId` - (Optional) The ID for the AWS account that the group is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account. -* `namespace` - (Required) The namespace that you want the user to be a part of. Defaults to `default`. +* `namespace` - (Optional) The namespace that you want the user to be a part of. Defaults to `default`. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). ## Attribute Reference @@ -81,4 +81,4 @@ Using `terraform import`, import QuickSight Group membership using the AWS accou % terraform import aws_quicksight_group_membership.example 123456789123/default/all-access-users/john_smith ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/quicksight_iam_policy_assignment.html.markdown b/website/docs/cdktf/typescript/r/quicksight_iam_policy_assignment.html.markdown index 75004213df0b..79c76a1551a6 100644 --- a/website/docs/cdktf/typescript/r/quicksight_iam_policy_assignment.html.markdown +++ b/website/docs/cdktf/typescript/r/quicksight_iam_policy_assignment.html.markdown @@ -52,11 +52,11 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `awsAccountId` - (Optional) AWS account ID. +* `awsAccountId` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `identities` - (Optional) Amazon QuickSight users, groups, or both to assign the policy to. See [`identities` block](#identities-block). * `namespace` - (Optional) Namespace that contains the assignment. Defaults to `default`. * `policyArn` - (Optional) ARN of the IAM policy to apply to the Amazon QuickSight users and groups specified in this assignment. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). ### `identities` block @@ -102,4 +102,4 @@ Using `terraform import`, import QuickSight IAM Policy Assignment using the AWS % terraform import aws_quicksight_iam_policy_assignment.example 123456789012,default,example ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/quicksight_ingestion.html.markdown b/website/docs/cdktf/typescript/r/quicksight_ingestion.html.markdown index 2823fc201be9..f652375979f4 100644 --- a/website/docs/cdktf/typescript/r/quicksight_ingestion.html.markdown +++ b/website/docs/cdktf/typescript/r/quicksight_ingestion.html.markdown @@ -48,8 +48,8 @@ The following arguments are required: The following arguments are optional: +* `awsAccountId` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `awsAccountId` - (Optional) AWS account ID. ## Attribute Reference @@ -91,4 +91,4 @@ Using `terraform import`, import QuickSight Ingestion using the AWS account ID, % terraform import aws_quicksight_ingestion.example 123456789012,example-dataset-id,example-ingestion-id ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/quicksight_ip_restriction.html.markdown b/website/docs/cdktf/typescript/r/quicksight_ip_restriction.html.markdown new file mode 100644 index 000000000000..01016f088299 --- /dev/null +++ b/website/docs/cdktf/typescript/r/quicksight_ip_restriction.html.markdown @@ -0,0 +1,92 @@ +--- +subcategory: "QuickSight" +layout: "aws" +page_title: "AWS: aws_quicksight_ip_restriction" +description: |- + Manages the content and status of IP rules. +--- + + + +# Resource: aws_quicksight_ip_restriction + +Manages the content and status of IP rules. + +~> Deletion of this resource clears all IP restrictions from a QuickSight account. + +## Example Usage + +```typescript +// DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +import { Construct } from "constructs"; +import { TerraformStack } from "cdktf"; +/* + * Provider bindings are generated by running `cdktf get`. + * See https://cdk.tf/provider-generation for more details. + */ +import { QuicksightIpRestriction } from "./.gen/providers/aws/quicksight-ip-restriction"; +class MyConvertedCode extends TerraformStack { + constructor(scope: Construct, name: string) { + super(scope, name); + new QuicksightIpRestriction(this, "example", { + enabled: true, + ipRestrictionRuleMap: { + "108.56.166.202/32": "Allow self", + }, + vpcIdRestrictionRuleMap: { + "${(aws_vpc.example.id)}": "Main VPC", + }, + }); + } +} + +``` + +## Argument Reference + +This resource supports the following arguments: + +* `awsAccountId` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. +* `enabled` - (Required) Whether IP rules are turned on. +* `ipRestrictionRuleMap` - (Optional) Map of allowed IPv4 CIDR ranges and descriptions. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). +* `vpcEndpointIdRestrictionRuleMap` - (Optional) Map of allowed VPC endpoint IDs and descriptions. +* `vpcIdRestrictionRuleMap` - (Optional) Map of VPC IDs and descriptions. Traffic from all VPC endpoints that are present in the specified VPC is allowed. + +## Attribute Reference + +This resource exports no additional attributes. + +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import QuickSight IP restriction using the AWS account ID. For example: + +```typescript +// DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +import { Construct } from "constructs"; +import { TerraformStack } from "cdktf"; +/* + * Provider bindings are generated by running `cdktf get`. + * See https://cdk.tf/provider-generation for more details. + */ +import { QuicksightIpRestriction } from "./.gen/providers/aws/quicksight-ip-restriction"; +class MyConvertedCode extends TerraformStack { + constructor(scope: Construct, name: string) { + super(scope, name); + QuicksightIpRestriction.generateConfigForImport( + this, + "example", + "012345678901" + ); + } +} + +``` + +Using `terraform import`, import QuickSight IP restriction using the AWS account ID. For example: + +```console +% terraform import aws_quicksight_ip_restriction.example "012345678901" +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/quicksight_key_registration.html.markdown b/website/docs/cdktf/typescript/r/quicksight_key_registration.html.markdown new file mode 100644 index 000000000000..592b4aa3ec0d --- /dev/null +++ b/website/docs/cdktf/typescript/r/quicksight_key_registration.html.markdown @@ -0,0 +1,96 @@ +--- +subcategory: "QuickSight" +layout: "aws" +page_title: "AWS: aws_quicksight_key_registration" +description: |- + Registers customer managed keys in a Amazon QuickSight account. +--- + + + +# Resource: aws_quicksight_key_registration + +Registers customer managed keys in a Amazon QuickSight account. + +~> Deletion of this resource clears all CMK registrations from a QuickSight account. QuickSight then uses AWS owned keys to encrypt your resources. + +## Example Usage + +```typescript +// DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +import { Construct } from "constructs"; +import { TerraformStack } from "cdktf"; +/* + * Provider bindings are generated by running `cdktf get`. + * See https://cdk.tf/provider-generation for more details. + */ +import { QuicksightKeyRegistration } from "./.gen/providers/aws/quicksight-key-registration"; +class MyConvertedCode extends TerraformStack { + constructor(scope: Construct, name: string) { + super(scope, name); + new QuicksightKeyRegistration(this, "example", { + keyRegistration: [ + { + keyArn: example1.arn, + }, + { + defaultKey: true, + keyArn: example2.arn, + }, + ], + }); + } +} + +``` + +## Argument Reference + +This resource supports the following arguments: + +* `awsAccountId` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. +* `keyRegistration` - (Required) Registered keys. See [key_registration](#key_registration). +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). + +### key_registration + +* `defaultKey` - (Optional) Whether the key is set as the default key for encryption and decryption use. +* `keyArn` - (Required) ARN of the AWS KMS key that is registered for encryption and decryption use. + +## Attribute Reference + +This resource exports no additional attributes. + +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import QuickSight key registration using the AWS account ID. For example: + +```typescript +// DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +import { Construct } from "constructs"; +import { TerraformStack } from "cdktf"; +/* + * Provider bindings are generated by running `cdktf get`. + * See https://cdk.tf/provider-generation for more details. + */ +import { QuicksightKeyRegistration } from "./.gen/providers/aws/quicksight-key-registration"; +class MyConvertedCode extends TerraformStack { + constructor(scope: Construct, name: string) { + super(scope, name); + QuicksightKeyRegistration.generateConfigForImport( + this, + "example", + "012345678901" + ); + } +} + +``` + +Using `terraform import`, import QuickSight key registration using the AWS account ID. For example: + +```console +% terraform import aws_quicksight_key_registration.example "012345678901" +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/quicksight_namespace.html.markdown b/website/docs/cdktf/typescript/r/quicksight_namespace.html.markdown index 99f2169d2053..c46712570be9 100644 --- a/website/docs/cdktf/typescript/r/quicksight_namespace.html.markdown +++ b/website/docs/cdktf/typescript/r/quicksight_namespace.html.markdown @@ -44,9 +44,9 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `awsAccountId` - (Optional) AWS account ID. +* `awsAccountId` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `identityStore` - (Optional) User identity directory type. Defaults to `QUICKSIGHT`, the only current valid value. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. ## Attribute Reference @@ -98,4 +98,4 @@ Using `terraform import`, import QuickSight Namespace using the AWS account ID a % terraform import aws_quicksight_namespace.example 123456789012,example ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/quicksight_refresh_schedule.html.markdown b/website/docs/cdktf/typescript/r/quicksight_refresh_schedule.html.markdown index 22db7e48bbc1..101f64f2b465 100644 --- a/website/docs/cdktf/typescript/r/quicksight_refresh_schedule.html.markdown +++ b/website/docs/cdktf/typescript/r/quicksight_refresh_schedule.html.markdown @@ -137,8 +137,8 @@ The following arguments are required: The following arguments are optional: +* `awsAccountId` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `awsAccountId` - (Optional, Forces new resource) AWS account ID. ### schedule @@ -197,4 +197,4 @@ Using `terraform import`, import a QuickSight Refresh Schedule using the AWS acc % terraform import aws_quicksight_refresh_schedule.example 123456789012,dataset-id,schedule-id ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/quicksight_role_custom_permission.html.markdown b/website/docs/cdktf/typescript/r/quicksight_role_custom_permission.html.markdown new file mode 100644 index 000000000000..d729bdd4aef2 --- /dev/null +++ b/website/docs/cdktf/typescript/r/quicksight_role_custom_permission.html.markdown @@ -0,0 +1,89 @@ +--- +subcategory: "QuickSight" +layout: "aws" +page_title: "AWS: aws_quicksight_role_custom_permission" +description: |- + Manages the custom permissions that are associated with a role. +--- + + + +# Resource: aws_quicksight_role_custom_permission + +Manages the custom permissions that are associated with a role. + +## Example Usage + +```typescript +// DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +import { Construct } from "constructs"; +import { Token, TerraformStack } from "cdktf"; +/* + * Provider bindings are generated by running `cdktf get`. + * See https://cdk.tf/provider-generation for more details. + */ +import { QuicksightRoleCustomPermission } from "./.gen/providers/aws/quicksight-role-custom-permission"; +class MyConvertedCode extends TerraformStack { + constructor(scope: Construct, name: string) { + super(scope, name); + new QuicksightRoleCustomPermission(this, "example", { + customPermissionsName: Token.asString( + awsQuicksightCustomPermissionsExample.customPermissionsName + ), + role: "READER", + }); + } +} + +``` + +## Argument Reference + +The following arguments are required: + +* `customPermissionsName` - (Required, Forces new resource) Custom permissions profile name. +* `role` - (Required, Forces new resource) Role. Valid values are `ADMIN`, `AUTHOR`, `READER`, `ADMIN_PRO`, `AUTHOR_PRO`, and `READER_PRO`. + +The following arguments are optional: + +* `awsAccountId` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. +* `namespace` - (Optional, Forces new resource) Namespace containing the role. Defaults to `default`. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). + +## Attribute Reference + +This resource exports no additional attributes. + +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import QuickSight role custom permissions using a comma-delimited string combining the `awsAccountId`, `namespace` and `role`. For example: + +```typescript +// DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +import { Construct } from "constructs"; +import { TerraformStack } from "cdktf"; +/* + * Provider bindings are generated by running `cdktf get`. + * See https://cdk.tf/provider-generation for more details. + */ +import { QuicksightRoleCustomPermission } from "./.gen/providers/aws/quicksight-role-custom-permission"; +class MyConvertedCode extends TerraformStack { + constructor(scope: Construct, name: string) { + super(scope, name); + QuicksightRoleCustomPermission.generateConfigForImport( + this, + "example", + "012345678901,default,READER" + ); + } +} + +``` + +Using `terraform import`, import QuickSight role custom permissions using a comma-delimited string combining the `awsAccountId`, `namespace`, and `role`. For example: + +```console +% terraform import aws_quicksight_role_custom_permission.example 012345678901,default,READER +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/quicksight_role_membership.html.markdown b/website/docs/cdktf/typescript/r/quicksight_role_membership.html.markdown index a5a3194485b4..b64639de339e 100644 --- a/website/docs/cdktf/typescript/r/quicksight_role_membership.html.markdown +++ b/website/docs/cdktf/typescript/r/quicksight_role_membership.html.markdown @@ -47,9 +47,9 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `awsAccountId` - (Optional) AWS account ID. Defaults to the account of the caller identity if not configured. +* `awsAccountId` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `namespace` - (Optional) Name of the namespace. Defaults to `default`. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). ## Attribute Reference @@ -87,4 +87,4 @@ Using `terraform import`, import QuickSight Role Membership using a comma-delimi % terraform import aws_quicksight_role_membership.example 012345678901,default,READER,example-group ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/quicksight_template.html.markdown b/website/docs/cdktf/typescript/r/quicksight_template.html.markdown index cad7ddb88e02..844b887971b6 100644 --- a/website/docs/cdktf/typescript/r/quicksight_template.html.markdown +++ b/website/docs/cdktf/typescript/r/quicksight_template.html.markdown @@ -140,10 +140,10 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `awsAccountId` - (Optional, Forces new resource) AWS account ID. +* `awsAccountId` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `definition` - (Optional) A detailed template definition. Only one of `definition` or `sourceEntity` should be configured. See [definition](#definition). * `permissions` - (Optional) A set of resource permissions on the template. Maximum of 64 items. See [permissions](#permissions). +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `sourceEntity` - (Optional) The entity that you are using as a source when you create the template (analysis or template). Only one of `definition` or `sourceEntity` should be configured. See [source_entity](#source_entity). * `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`defaultTags` configuration block](/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. @@ -234,4 +234,4 @@ Using `terraform import`, import a QuickSight Template using the AWS account ID % terraform import aws_quicksight_template.example 123456789012,example-id ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/quicksight_template_alias.html.markdown b/website/docs/cdktf/typescript/r/quicksight_template_alias.html.markdown index 2ec8e5d86318..93f9c98525b7 100644 --- a/website/docs/cdktf/typescript/r/quicksight_template_alias.html.markdown +++ b/website/docs/cdktf/typescript/r/quicksight_template_alias.html.markdown @@ -48,8 +48,8 @@ The following arguments are required: The following arguments are optional: +* `awsAccountId` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `awsAccountId` - (Optional, Forces new resource) AWS account ID. ## Attribute Reference @@ -90,4 +90,4 @@ Using `terraform import`, import QuickSight Template Alias using the AWS account % terraform import aws_quicksight_template_alias.example 123456789012,example-id,example-alias ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/quicksight_theme.html.markdown b/website/docs/cdktf/typescript/r/quicksight_theme.html.markdown index 6fd05b7753aa..4cf6cb64315b 100644 --- a/website/docs/cdktf/typescript/r/quicksight_theme.html.markdown +++ b/website/docs/cdktf/typescript/r/quicksight_theme.html.markdown @@ -60,16 +60,16 @@ class MyConvertedCode extends TerraformStack { The following arguments are required: -* `themeId` - (Required, Forces new resource) Identifier of the theme. * `baseThemeId` - (Required) The ID of the theme that a custom theme will inherit from. All themes inherit from one of the starting themes defined by Amazon QuickSight. For a list of the starting themes, use ListThemes or choose Themes from within an analysis. -* `name` - (Required) Display name of the theme. * `configuration` - (Required) The theme configuration, which contains the theme display properties. See [configuration](#configuration). +* `name` - (Required) Display name of the theme. +* `themeId` - (Required, Forces new resource) Identifier of the theme. The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `awsAccountId` - (Optional, Forces new resource) AWS account ID. +* `awsAccountId` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `permissions` - (Optional) A set of resource permissions on the theme. Maximum of 64 items. See [permissions](#permissions). +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`defaultTags` configuration block](/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. * `versionDescription` - (Optional) A description of the current theme version being created/updated. @@ -196,4 +196,4 @@ Using `terraform import`, import a QuickSight Theme using the AWS account ID and % terraform import aws_quicksight_theme.example 123456789012,example-id ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/quicksight_user.html.markdown b/website/docs/cdktf/typescript/r/quicksight_user.html.markdown index 7cb7af8581a7..347e44e774e3 100644 --- a/website/docs/cdktf/typescript/r/quicksight_user.html.markdown +++ b/website/docs/cdktf/typescript/r/quicksight_user.html.markdown @@ -96,15 +96,15 @@ class MyConvertedCode extends TerraformStack { The following arguments are required: * `email` - (Required) Email address of the user that you want to register. -* `identityType` - (Required) Identity type that your Amazon QuickSight account uses to manage the identity of users. Valid values: `IAM`, `QUICKSIGHT`. -* `userRole` - (Required) Amazon QuickSight role for the user. Value values: `READER`, `AUTHOR`, `ADMIN`, `READER_PRO`, `AUTHOR_PRO`, `ADMIN_PRO`. +* `identityType` - (Required) Identity type that your Amazon QuickSight account uses to manage the identity of users. Valid values: `IAM`, `QUICKSIGHT`, `IAM_IDENTITY_CENTER`. +* `userRole` - (Required) Amazon QuickSight role for the user. Valid values: `READER`, `AUTHOR`, `ADMIN`, `READER_PRO`, `AUTHOR_PRO`, `ADMIN_PRO`, `RESTRICTED_AUTHOR`, `RESTRICTED_READER`. The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `awsAccountId` - (Optional) ID for the AWS account that the user is in. Use the ID for the AWS account that contains your Amazon QuickSight account. +* `awsAccountId` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `iamArn` - (Optional) ARN of the IAM user or role that you are registering with Amazon QuickSight. Required only for users with an identity type of `IAM`. * `namespace` - (Optional) The Amazon Quicksight namespace to create the user in. Defaults to `default`. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `sessionName` - (Optional) Name of the IAM session to use when assuming roles that can embed QuickSight dashboards. Only valid for registering users using an assumed IAM role. Additionally, if registering multiple users using the same IAM role, each user needs to have a unique session name. * `userName` - (Optional) Amazon QuickSight user name that you want to create for the user you are registering. Required only for users with an identity type of `QUICKSIGHT`. @@ -120,4 +120,4 @@ This resource exports the following attributes in addition to the arguments abov You cannot import this resource. - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/quicksight_user_custom_permission.html.markdown b/website/docs/cdktf/typescript/r/quicksight_user_custom_permission.html.markdown new file mode 100644 index 000000000000..938f502a9957 --- /dev/null +++ b/website/docs/cdktf/typescript/r/quicksight_user_custom_permission.html.markdown @@ -0,0 +1,89 @@ +--- +subcategory: "QuickSight" +layout: "aws" +page_title: "AWS: aws_quicksight_user_custom_permission" +description: |- + Manages the custom permissions profile for a user. +--- + + + +# Resource: aws_quicksight_user_custom_permission + +Manages the custom permissions profile for a user. + +## Example Usage + +```typescript +// DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +import { Construct } from "constructs"; +import { Token, TerraformStack } from "cdktf"; +/* + * Provider bindings are generated by running `cdktf get`. + * See https://cdk.tf/provider-generation for more details. + */ +import { QuicksightUserCustomPermission } from "./.gen/providers/aws/quicksight-user-custom-permission"; +class MyConvertedCode extends TerraformStack { + constructor(scope: Construct, name: string) { + super(scope, name); + new QuicksightUserCustomPermission(this, "example", { + customPermissionsName: Token.asString( + awsQuicksightCustomPermissionsExample.customPermissionsName + ), + userName: Token.asString(awsQuicksightUserExample.userName), + }); + } +} + +``` + +## Argument Reference + +The following arguments are required: + +* `customPermissionsName` - (Required, Forces new resource) Custom permissions profile name. +* `userName` - (Required, Forces new resource) Username of the user. + +The following arguments are optional: + +* `awsAccountId` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. +* `namespace` - (Optional, Forces new resource) Namespace that the user belongs to. Defaults to `default`. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). + +## Attribute Reference + +This resource exports no additional attributes. + +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import QuickSight user custom permissions using a comma-delimited string combining the `awsAccountId`, `namespace` and `userName`. For example: + +```typescript +// DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +import { Construct } from "constructs"; +import { TerraformStack } from "cdktf"; +/* + * Provider bindings are generated by running `cdktf get`. + * See https://cdk.tf/provider-generation for more details. + */ +import { QuicksightUserCustomPermission } from "./.gen/providers/aws/quicksight-user-custom-permission"; +class MyConvertedCode extends TerraformStack { + constructor(scope: Construct, name: string) { + super(scope, name); + QuicksightUserCustomPermission.generateConfigForImport( + this, + "example", + "012345678901,default,user1" + ); + } +} + +``` + +Using `terraform import`, import QuickSight user custom permissions using a comma-delimited string combining the `awsAccountId`, `namespace`, and `userName`. For example: + +```console +% terraform import aws_quicksight_user_custom_permission.example 012345678901,default,user1 +``` + + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/quicksight_vpc_connection.html.markdown b/website/docs/cdktf/typescript/r/quicksight_vpc_connection.html.markdown index 4a0ca9fcef10..7b97708ab26a 100644 --- a/website/docs/cdktf/typescript/r/quicksight_vpc_connection.html.markdown +++ b/website/docs/cdktf/typescript/r/quicksight_vpc_connection.html.markdown @@ -92,9 +92,9 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `awsAccountId` - (Optional) AWS account ID. +* `awsAccountId` - (Optional, Forces new resource) AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider. * `dnsResolvers` - (Optional) A list of IP addresses of DNS resolver endpoints for the VPC connection. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. ## Attribute Reference @@ -146,4 +146,4 @@ Using `terraform import`, import QuickSight VPC connection using the AWS account % terraform import aws_quicksight_vpc_connection.example 123456789012,example ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/rds_instance_state.html.markdown b/website/docs/cdktf/typescript/r/rds_instance_state.html.markdown index 229b6f7c0565..2bd7f59cc907 100644 --- a/website/docs/cdktf/typescript/r/rds_instance_state.html.markdown +++ b/website/docs/cdktf/typescript/r/rds_instance_state.html.markdown @@ -49,9 +49,7 @@ This resource supports the following arguments: ## Attribute Reference -This resource exports the following attributes in addition to the arguments above: - -* `identifier` - DB Instance Identifier +This resource exports no additional attributes. ## Timeouts @@ -62,7 +60,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import RDS (Relational Database) RDS Instance State using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import RDS (Relational Database) RDS Instance State using the `identifier`. For example: ```typescript // DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -86,10 +84,10 @@ class MyConvertedCode extends TerraformStack { ``` -Using `terraform import`, import RDS (Relational Database) RDS Instance State using the `example_id_arg`. For example: +Using `terraform import`, import RDS (Relational Database) RDS Instance State using the `identifier`. For example: ```console % terraform import aws_rds_instance_state.example rds_instance_state-id-12345678 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/rekognition_collection.html.markdown b/website/docs/cdktf/typescript/r/rekognition_collection.html.markdown index bc3973f4ca50..88d7c8b4883a 100644 --- a/website/docs/cdktf/typescript/r/rekognition_collection.html.markdown +++ b/website/docs/cdktf/typescript/r/rekognition_collection.html.markdown @@ -64,7 +64,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Rekognition Collection using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Rekognition Collection using the `collectionId`. For example: ```typescript // DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -88,10 +88,10 @@ class MyConvertedCode extends TerraformStack { ``` -Using `terraform import`, import Rekognition Collection using the `example_id_arg`. For example: +Using `terraform import`, import Rekognition Collection using the `collectionId`. For example: ```console % terraform import aws_rekognition_collection.example collection-id-12345678 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/rekognition_project.html.markdown b/website/docs/cdktf/typescript/r/rekognition_project.html.markdown index 169f908dec73..701b068462d5 100644 --- a/website/docs/cdktf/typescript/r/rekognition_project.html.markdown +++ b/website/docs/cdktf/typescript/r/rekognition_project.html.markdown @@ -90,7 +90,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Rekognition Project using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Rekognition Project using the `name`. For example: ```typescript // DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -120,4 +120,4 @@ Using `terraform import`, import Rekognition Project using the `name`. For examp % terraform import aws_rekognition_project.example project-id-12345678 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/route53profiles_association.html.markdown b/website/docs/cdktf/typescript/r/route53profiles_association.html.markdown index 67a57754534b..c18dd50d261e 100644 --- a/website/docs/cdktf/typescript/r/route53profiles_association.html.markdown +++ b/website/docs/cdktf/typescript/r/route53profiles_association.html.markdown @@ -110,10 +110,10 @@ class MyConvertedCode extends TerraformStack { ``` -Using `terraform import`, import Route 53 Profiles Association using the `example_id_arg`. For example: +Using `terraform import`, import Route 53 Profiles Association using the `id`. For example: ```console % terraform import aws_route53profiles_association.example rpa-id-12345678 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/route53profiles_profile.html.markdown b/website/docs/cdktf/typescript/r/route53profiles_profile.html.markdown index b696adfe8063..49fe3fcd54a1 100644 --- a/website/docs/cdktf/typescript/r/route53profiles_profile.html.markdown +++ b/website/docs/cdktf/typescript/r/route53profiles_profile.html.markdown @@ -70,7 +70,7 @@ This resource exports the following attributes in addition to the arguments abov ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Route 53 Profiles Profile using the `example_id_arg`. For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Route 53 Profiles Profile using the `id`. For example: ```typescript // DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -94,10 +94,10 @@ class MyConvertedCode extends TerraformStack { ``` -Using `terraform import`, import Route 53 Profiles Profile using the `example`. For example: +Using `terraform import`, import Route 53 Profiles Profile using the `id`. For example: ```console % terraform import aws_route53profiles_profile.example rp-12345678 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/route53profiles_resource_association.html.markdown b/website/docs/cdktf/typescript/r/route53profiles_resource_association.html.markdown index 22db8fab2902..c84bd2282851 100644 --- a/website/docs/cdktf/typescript/r/route53profiles_resource_association.html.markdown +++ b/website/docs/cdktf/typescript/r/route53profiles_resource_association.html.markdown @@ -116,10 +116,10 @@ class MyConvertedCode extends TerraformStack { ``` -Using `terraform import`, import Route 53 Profiles Resource Association using the `example_id_arg`. For example: +Using `terraform import`, import Route 53 Profiles Resource Association using the `id`. For example: ```console % terraform import aws_route53profiles_resource_association.example rpa-id-12345678 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/s3_access_point.html.markdown b/website/docs/cdktf/typescript/r/s3_access_point.html.markdown index 5be85f90244f..69dedafdebf9 100644 --- a/website/docs/cdktf/typescript/r/s3_access_point.html.markdown +++ b/website/docs/cdktf/typescript/r/s3_access_point.html.markdown @@ -142,11 +142,12 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `accountId` - (Optional) AWS account ID for the owner of the bucket for which you want to create an access point. Defaults to automatically determined account ID of the Terraform AWS provider. * `bucketAccountId` - (Optional) AWS account ID associated with the S3 bucket associated with this access point. * `policy` - (Optional) Valid JSON document that specifies the policy that you want to apply to this access point. Removing `policy` from your configuration or setting `policy` to null or an empty string (i.e., `policy = ""`) _will not_ delete the policy since it could have been set by `aws_s3control_access_point_policy`. To remove the `policy`, set it to `"{}"` (an empty JSON document). * `publicAccessBlockConfiguration` - (Optional) Configuration block to manage the `PublicAccessBlock` configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. Detailed below. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). +* `tags` - (Optional) Map of tags to assign to the bucket. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. * `vpcConfiguration` - (Optional) Configuration block to restrict access to this access point to requests from the specified Virtual Private Cloud (VPC). Required for S3 on Outposts. Detailed below. ### public_access_block_configuration Configuration Block @@ -182,6 +183,7 @@ Note: S3 access points only support secure access by HTTPS. HTTP isn't supported * `hasPublicAccessPolicy` - Indicates whether this access point currently has a policy that allows public access. * `id` - For Access Point of an AWS Partition S3 Bucket, the AWS account ID and access point name separated by a colon (`:`). For S3 on Outposts Bucket, the ARN of the Access Point. * `networkOrigin` - Indicates whether this access point allows access from the public Internet. Values are `VPC` (the access point doesn't allow access from the public Internet) and `Internet` (the access point allows access from the public Internet, subject to the access point and bucket access policies). +* `tagsAll` - Map of tags assigned to the resource, including those inherited from the provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). ## Import @@ -249,4 +251,4 @@ Import using the ARN for Access Points associated with an S3 on Outposts Bucket: % terraform import aws_s3_access_point.example arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-1234567890123456/accesspoint/example ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/securityhub_standards_subscription.html.markdown b/website/docs/cdktf/typescript/r/securityhub_standards_subscription.html.markdown index dd21d03aa064..3ec8f533dcfe 100644 --- a/website/docs/cdktf/typescript/r/securityhub_standards_subscription.html.markdown +++ b/website/docs/cdktf/typescript/r/securityhub_standards_subscription.html.markdown @@ -64,7 +64,9 @@ Currently available standards (remember to replace `${var.partition}` and `${var | CIS AWS Foundations Benchmark v1.4.0 | `arn:${var.partition}:securityhub:${var.region}::standards/cis-aws-foundations-benchmark/v/1.4.0` | | CIS AWS Foundations Benchmark v3.0.0 | `arn:${var.partition}:securityhub:${var.region}::standards/cis-aws-foundations-benchmark/v/3.0.0` | | NIST SP 800-53 Rev. 5 | `arn:${var.partition}:securityhub:${var.region}::standards/nist-800-53/v/5.0.0` | -| PCI DSS | `arn:${var.partition}:securityhub:${var.region}::standards/pci-dss/v/3.2.1` | +| NIST SP 800-171 Rev. 2 | `arn:${var.partition}:securityhub:${var.region}::standards/nist-800-171/v/2.0.0` | +| PCI DSS v3.2.1 | `arn:${var.partition}:securityhub:${var.region}::standards/pci-dss/v/3.2.1` | +| PCI DSS v4.0.1 | `arn:${var.partition}:securityhub:${var.region}::standards/pci-dss/v/4.0.1` | ## Attribute Reference @@ -163,4 +165,4 @@ Using `terraform import`, import Security Hub standards subscriptions using the % terraform import aws_securityhub_standards_subscription.nist_800_53_rev_5 arn:aws:securityhub:eu-west-1:123456789012:subscription/nist-800-53/v/5.0.0 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/sesv2_email_identity_policy.html.markdown b/website/docs/cdktf/typescript/r/sesv2_email_identity_policy.html.markdown index 6c4522889976..85a90970c88a 100644 --- a/website/docs/cdktf/typescript/r/sesv2_email_identity_policy.html.markdown +++ b/website/docs/cdktf/typescript/r/sesv2_email_identity_policy.html.markdown @@ -65,7 +65,7 @@ This resource exports no additional attributes. ## Import -In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import SESv2 (Simple Email V2) Email Identity Policy using the `id` (`email_identity|policy_name`). For example: +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import SESv2 (Simple Email V2) Email Identity Policy using the `emailIdentity` and `policyName` separated by `|`. For example: ```typescript // DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug @@ -89,10 +89,10 @@ class MyConvertedCode extends TerraformStack { ``` -Using `terraform import`, import SESv2 (Simple Email V2) Email Identity Policy using the `example_id_arg`. For example: +Using `terraform import`, import SESv2 (Simple Email V2) Email Identity Policy using the `emailIdentity` and `policyName` separated by `|`. For example: ```console % terraform import aws_sesv2_email_identity_policy.example example_email_identity|example_policy_name ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ssm_patch_baseline.html.markdown b/website/docs/cdktf/typescript/r/ssm_patch_baseline.html.markdown index 469e38de5fde..7346512c9a8f 100644 --- a/website/docs/cdktf/typescript/r/ssm_patch_baseline.html.markdown +++ b/website/docs/cdktf/typescript/r/ssm_patch_baseline.html.markdown @@ -216,6 +216,7 @@ The following arguments are optional: * `approvedPatchesComplianceLevel` - (Optional) Compliance level for approved patches. This means that if an approved patch is reported as missing, this is the severity of the compliance violation. Valid values are `CRITICAL`, `HIGH`, `MEDIUM`, `LOW`, `INFORMATIONAL`, `UNSPECIFIED`. The default value is `UNSPECIFIED`. * `approvedPatchesEnableNonSecurity` - (Optional) Whether the list of approved patches includes non-security updates that should be applied to the instances. Applies to Linux instances only. * `approvedPatches` - (Optional) List of explicitly approved patches for the baseline. Cannot be specified with `approvalRule`. +* `availableSecurityUpdatesComplianceStatus` - (Optional) Indicates the compliance status of managed nodes for which security-related patches are available but were not approved. Supported for Windows Server managed nodes only. Valid values are `COMPLIANT`, `NON_COMPLIANT`. * `description` - (Optional) Description of the patch baseline. * `globalFilter` - (Optional) Set of global filters used to exclude patches from the baseline. Up to 4 global filters can be specified using Key/Value pairs. Valid Keys are `PRODUCT`, `CLASSIFICATION`, `MSRC_SEVERITY`, and `PATCH_ID`. * `operatingSystem` - (Optional) Operating system the patch baseline applies to. Valid values are `ALMA_LINUX`, `AMAZON_LINUX`, `AMAZON_LINUX_2`, `AMAZON_LINUX_2022`, `AMAZON_LINUX_2023`, `CENTOS`, `DEBIAN`, `MACOS`, `ORACLE_LINUX`, `RASPBIAN`, `REDHAT_ENTERPRISE_LINUX`, `ROCKY_LINUX`, `SUSE`, `UBUNTU`, and `WINDOWS`. The default value is `WINDOWS`. @@ -279,4 +280,4 @@ Using `terraform import`, import SSM Patch Baselines using their baseline ID. Fo % terraform import aws_ssm_patch_baseline.example pb-12345678 ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/ssm_service_setting.html.markdown b/website/docs/cdktf/typescript/r/ssm_service_setting.html.markdown index 9a60bce44d65..ba56bbb07c02 100644 --- a/website/docs/cdktf/typescript/r/ssm_service_setting.html.markdown +++ b/website/docs/cdktf/typescript/r/ssm_service_setting.html.markdown @@ -41,7 +41,7 @@ class MyConvertedCode extends TerraformStack { This resource supports the following arguments: * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `settingId` - (Required) ID of the service setting. +* `settingId` - (Required) ID of the service setting. Valid values are shown in the [AWS documentation](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetServiceSetting.html#API_GetServiceSetting_RequestSyntax). * `settingValue` - (Required) Value of the service setting. ## Attribute Reference @@ -83,4 +83,4 @@ Using `terraform import`, import AWS SSM Service Setting using the `settingId`. % terraform import aws_ssm_service_setting.example arn:aws:ssm:us-east-1:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/transcribe_vocabulary.html.markdown b/website/docs/cdktf/typescript/r/transcribe_vocabulary.html.markdown index 9132213556ae..03dd0e6a2f1e 100644 --- a/website/docs/cdktf/typescript/r/transcribe_vocabulary.html.markdown +++ b/website/docs/cdktf/typescript/r/transcribe_vocabulary.html.markdown @@ -65,7 +65,6 @@ class MyConvertedCode extends TerraformStack { The following arguments are required: * `languageCode` - (Required) The language code you selected for your vocabulary. -* `vocabularyFileUri` - (Required) The Amazon S3 location (URI) of the text file that contains your custom vocabulary. * `vocabularyName` - (Required) The name of the Vocabulary. The following arguments are optional: @@ -123,4 +122,4 @@ Using `terraform import`, import Transcribe Vocabulary using the `vocabularyName % terraform import aws_transcribe_vocabulary.example example-name ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/verifiedpermissions_policy_store.html.markdown b/website/docs/cdktf/typescript/r/verifiedpermissions_policy_store.html.markdown index 9d25c3dee0d9..33bb4b927697 100644 --- a/website/docs/cdktf/typescript/r/verifiedpermissions_policy_store.html.markdown +++ b/website/docs/cdktf/typescript/r/verifiedpermissions_policy_store.html.markdown @@ -50,6 +50,7 @@ The following arguments are required: The following arguments are optional: * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). +* `deletionProtection` - (Optional) Specifies whether the policy store can be deleted. If enabled, the policy store can't be deleted. Valid Values: `ENABLED`, `DISABLED`. Default value: `DISABLED`. * `description` - (Optional) A description of the Policy Store. * `tags` - (Optional) Key-value mapping of resource tags. If configured with a provider [`defaultTags` configuration block](/docs/providers/aws/index.html#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. @@ -93,4 +94,4 @@ Using `terraform import`, import Verified Permissions Policy Store using the `po % terraform import aws_verifiedpermissions_policy_store.example DxQg2j8xvXJQ1tQCYNWj9T ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/wafv2_regex_pattern_set.html.markdown b/website/docs/cdktf/typescript/r/wafv2_regex_pattern_set.html.markdown index 364ca0a7a66f..4656a8043d08 100644 --- a/website/docs/cdktf/typescript/r/wafv2_regex_pattern_set.html.markdown +++ b/website/docs/cdktf/typescript/r/wafv2_regex_pattern_set.html.markdown @@ -57,7 +57,7 @@ This resource supports the following arguments: * `namePrefix` - (Optional) Creates a unique name beginning with the specified prefix. Conflicts with `name`. * `description` - (Optional) A friendly description of the regular expression pattern set. * `scope` - (Required) Specifies whether this is for an AWS CloudFront distribution or for a regional application. Valid values are `CLOUDFRONT` or `REGIONAL`. To work with CloudFront, you must also specify the region `us-east-1` (N. Virginia) on the AWS provider. -* `regularExpression` - (Optional) One or more blocks of regular expression patterns that you want AWS WAF to search for, such as `B[a@]dB[o0]t`. See [Regular Expression](#regular-expression) below for details. A maximum of 10 `regularExpression` blocks may be specified. +* `regularExpression` - (Optional) One or more blocks of regular expression patterns that you want AWS WAF to search for, such as `B[a@]dB[o0]t`. See [Regular Expression](#regular-expression) below for details. * `tags` - (Optional) An array of key:value pairs to associate with the resource. If configured with a provider [`defaultTags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. ### Regular Expression @@ -104,4 +104,4 @@ Using `terraform import`, import WAFv2 Regex Pattern Sets using `ID/name/scope`. % terraform import aws_wafv2_regex_pattern_set.example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc/example/REGIONAL ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/wafv2_web_acl.html.markdown b/website/docs/cdktf/typescript/r/wafv2_web_acl.html.markdown index 042fc12d63ec..371ec32882ba 100644 --- a/website/docs/cdktf/typescript/r/wafv2_web_acl.html.markdown +++ b/website/docs/cdktf/typescript/r/wafv2_web_acl.html.markdown @@ -14,6 +14,8 @@ Creates a WAFv2 Web ACL resource. ~> **Note** In `fieldToMatch` blocks, _e.g._, in `byteMatchStatement`, the `body` block includes an optional argument `oversizeHandling`. AWS indicates this argument will be required starting February 2023. To avoid configurations breaking when that change happens, treat the `oversizeHandling` argument as **required** as soon as possible. +!> **Warning:** If you use the `aws_wafv2_web_acl_rule_group_association` resource to associate rule groups with this Web ACL, you must add `lifecycle { ignore_changes = [rule] }` to this resource to prevent configuration drift. The association resource modifies the Web ACL's rules outside of this resource's direct management. + ## Example Usage This resource is based on `aws_wafv2_rule_group`, check the documentation of the `aws_wafv2_rule_group` resource to see examples of the various available statements. @@ -1303,4 +1305,4 @@ Using `terraform import`, import WAFv2 Web ACLs using `ID/Name/Scope`. For examp % terraform import aws_wafv2_web_acl.example a1b2c3d4-d5f6-7777-8888-9999aaaabbbbcccc/example/REGIONAL ``` - \ No newline at end of file + \ No newline at end of file diff --git a/website/docs/cdktf/typescript/r/wafv2_web_acl_rule_group_association.html.markdown b/website/docs/cdktf/typescript/r/wafv2_web_acl_rule_group_association.html.markdown new file mode 100644 index 000000000000..7598cc13ce33 --- /dev/null +++ b/website/docs/cdktf/typescript/r/wafv2_web_acl_rule_group_association.html.markdown @@ -0,0 +1,663 @@ +--- +subcategory: "WAF" +layout: "aws" +page_title: "AWS: aws_wafv2_web_acl_rule_group_association" +description: |- + Associates a WAFv2 Rule Group with a Web ACL by adding a rule that references the Rule Group. +--- + + + +# Resource: aws_wafv2_web_acl_rule_group_association + +Associates a WAFv2 Rule Group (custom or managed) with a Web ACL by adding a rule that references the Rule Group. Use this resource to apply the rules defined in a Rule Group to a Web ACL without duplicating rule definitions. + +This resource supports both: + +- **Custom Rule Groups**: User-created rule groups that you manage within your AWS account +- **Managed Rule Groups**: Pre-configured rule groups provided by AWS or third-party vendors + +!> **Warning:** Verify the rule names in your `ruleActionOverride`s carefully. With managed rule groups, WAF silently ignores any override that uses an invalid rule name. With customer-owned rule groups, invalid rule names in your overrides will cause web ACL updates to fail. An invalid rule name is any name that doesn't exactly match the case-sensitive name of an existing rule in the rule group. + +!> **Warning:** Using this resource will cause the associated Web ACL resource to show configuration drift in the `rule` argument unless you add `lifecycle { ignore_changes = [rule] }` to the Web ACL resource configuration. This is because this resource modifies the Web ACL's rules outside of the Web ACL resource's direct management. + +~> **Note:** This resource creates a rule within the Web ACL that references the entire Rule Group. The rule group's individual rules are evaluated as a unit when requests are processed by the Web ACL. + +## Example Usage + +### Custom Rule Group - Basic Usage + +```typescript +// DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +import { Construct } from "constructs"; +import { Token, TerraformStack } from "cdktf"; +/* + * Provider bindings are generated by running `cdktf get`. + * See https://cdk.tf/provider-generation for more details. + */ +import { Wafv2RuleGroup } from "./.gen/providers/aws/wafv2-rule-group"; +import { Wafv2WebAcl } from "./.gen/providers/aws/wafv2-web-acl"; +import { Wafv2WebAclRuleGroupAssociation } from "./.gen/providers/aws/wafv2-web-acl-rule-group-association"; +class MyConvertedCode extends TerraformStack { + constructor(scope: Construct, name: string) { + super(scope, name); + const example = new Wafv2RuleGroup(this, "example", { + capacity: 10, + name: "example-rule-group", + rule: [ + { + action: { + block: {}, + }, + name: "block-suspicious-requests", + priority: 1, + statement: { + geoMatchStatement: { + countryCodes: ["CN", "RU"], + }, + }, + visibilityConfig: { + cloudwatchMetricsEnabled: true, + metricName: "block-suspicious-requests", + sampledRequestsEnabled: true, + }, + }, + ], + scope: "REGIONAL", + visibilityConfig: { + cloudwatchMetricsEnabled: true, + metricName: "example-rule-group", + sampledRequestsEnabled: true, + }, + }); + const awsWafv2WebAclExample = new Wafv2WebAcl(this, "example_1", { + defaultAction: { + allow: {}, + }, + lifecycle: { + ignoreChanges: [rule], + }, + name: "example-web-acl", + scope: "REGIONAL", + visibilityConfig: { + cloudwatchMetricsEnabled: true, + metricName: "example-web-acl", + sampledRequestsEnabled: true, + }, + }); + /*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/ + awsWafv2WebAclExample.overrideLogicalId("example"); + const awsWafv2WebAclRuleGroupAssociationExample = + new Wafv2WebAclRuleGroupAssociation(this, "example_2", { + priority: 100, + ruleGroupReference: [ + { + arn: example.arn, + }, + ], + ruleName: "example-rule-group-rule", + webAclArn: Token.asString(awsWafv2WebAclExample.arn), + }); + /*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/ + awsWafv2WebAclRuleGroupAssociationExample.overrideLogicalId("example"); + } +} + +``` + +### Managed Rule Group - Basic Usage + +```typescript +// DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +import { Construct } from "constructs"; +import { TerraformStack } from "cdktf"; +/* + * Provider bindings are generated by running `cdktf get`. + * See https://cdk.tf/provider-generation for more details. + */ +import { Wafv2WebAcl } from "./.gen/providers/aws/wafv2-web-acl"; +import { Wafv2WebAclRuleGroupAssociation } from "./.gen/providers/aws/wafv2-web-acl-rule-group-association"; +class MyConvertedCode extends TerraformStack { + constructor(scope: Construct, name: string) { + super(scope, name); + const example = new Wafv2WebAcl(this, "example", { + defaultAction: { + allow: {}, + }, + lifecycle: { + ignoreChanges: [rule], + }, + name: "example-web-acl", + scope: "REGIONAL", + visibilityConfig: { + cloudwatchMetricsEnabled: true, + metricName: "example-web-acl", + sampledRequestsEnabled: true, + }, + }); + new Wafv2WebAclRuleGroupAssociation(this, "managed_example", { + managedRuleGroup: [ + { + name: "AWSManagedRulesCommonRuleSet", + vendorName: "AWS", + }, + ], + priority: 50, + ruleName: "aws-common-rule-set", + webAclArn: example.arn, + }); + } +} + +``` + +### Managed Rule Group - With Version + +```typescript +// DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +import { Construct } from "constructs"; +import { TerraformStack } from "cdktf"; +/* + * Provider bindings are generated by running `cdktf get`. + * See https://cdk.tf/provider-generation for more details. + */ +import { Wafv2WebAclRuleGroupAssociation } from "./.gen/providers/aws/wafv2-web-acl-rule-group-association"; +class MyConvertedCode extends TerraformStack { + constructor(scope: Construct, name: string) { + super(scope, name); + new Wafv2WebAclRuleGroupAssociation(this, "managed_versioned", { + managedRuleGroup: [ + { + name: "AWSManagedRulesCommonRuleSet", + vendorName: "AWS", + version: "Version_1.0", + }, + ], + priority: 60, + ruleName: "aws-common-rule-set-versioned", + webAclArn: example.arn, + }); + } +} + +``` + +### Managed Rule Group - With Rule Action Overrides + +```typescript +// DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +import { Construct } from "constructs"; +import { TerraformStack } from "cdktf"; +/* + * Provider bindings are generated by running `cdktf get`. + * See https://cdk.tf/provider-generation for more details. + */ +import { Wafv2WebAclRuleGroupAssociation } from "./.gen/providers/aws/wafv2-web-acl-rule-group-association"; +class MyConvertedCode extends TerraformStack { + constructor(scope: Construct, name: string) { + super(scope, name); + new Wafv2WebAclRuleGroupAssociation(this, "managed_with_overrides", { + managedRuleGroup: [ + { + name: "AWSManagedRulesCommonRuleSet", + ruleActionOverride: [ + { + actionToUse: [ + { + count: [ + { + customRequestHandling: [ + { + insertHeader: [ + { + name: "X-RFI-Override", + value: "counted", + }, + ], + }, + ], + }, + ], + }, + ], + name: "GenericRFI_BODY", + }, + { + actionToUse: [ + { + captcha: [{}], + }, + ], + name: "SizeRestrictions_BODY", + }, + ], + vendorName: "AWS", + }, + ], + priority: 70, + ruleName: "aws-common-rule-set-with-overrides", + webAclArn: example.arn, + }); + } +} + +``` + +### Custom Rule Group - With Override Action + +```typescript +// DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +import { Construct } from "constructs"; +import { Token, TerraformStack } from "cdktf"; +/* + * Provider bindings are generated by running `cdktf get`. + * See https://cdk.tf/provider-generation for more details. + */ +import { Wafv2WebAclRuleGroupAssociation } from "./.gen/providers/aws/wafv2-web-acl-rule-group-association"; +class MyConvertedCode extends TerraformStack { + constructor(scope: Construct, name: string) { + super(scope, name); + new Wafv2WebAclRuleGroupAssociation(this, "example", { + overrideAction: "count", + priority: 100, + ruleGroupReference: [ + { + arn: Token.asString(awsWafv2RuleGroupExample.arn), + }, + ], + ruleName: "example-rule-group-rule", + webAclArn: Token.asString(awsWafv2WebAclExample.arn), + }); + } +} + +``` + +### Custom Rule Group - With Rule Action Overrides + +```typescript +// DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +import { Construct } from "constructs"; +import { Token, TerraformStack } from "cdktf"; +/* + * Provider bindings are generated by running `cdktf get`. + * See https://cdk.tf/provider-generation for more details. + */ +import { Wafv2RuleGroup } from "./.gen/providers/aws/wafv2-rule-group"; +import { Wafv2WebAcl } from "./.gen/providers/aws/wafv2-web-acl"; +import { Wafv2WebAclRuleGroupAssociation } from "./.gen/providers/aws/wafv2-web-acl-rule-group-association"; +class MyConvertedCode extends TerraformStack { + constructor(scope: Construct, name: string) { + super(scope, name); + const example = new Wafv2RuleGroup(this, "example", { + capacity: 10, + name: "example-rule-group", + rule: [ + { + action: { + block: {}, + }, + name: "geo-block-rule", + priority: 1, + statement: { + geoMatchStatement: { + countryCodes: ["CN", "RU"], + }, + }, + visibilityConfig: { + cloudwatchMetricsEnabled: true, + metricName: "geo-block-rule", + sampledRequestsEnabled: true, + }, + }, + { + action: { + block: {}, + }, + name: "rate-limit-rule", + priority: 2, + statement: { + rateBasedStatement: { + aggregateKeyType: "IP", + limit: 1000, + }, + }, + visibilityConfig: { + cloudwatchMetricsEnabled: true, + metricName: "rate-limit-rule", + sampledRequestsEnabled: true, + }, + }, + ], + scope: "REGIONAL", + visibilityConfig: { + cloudwatchMetricsEnabled: true, + metricName: "example-rule-group", + sampledRequestsEnabled: true, + }, + }); + const awsWafv2WebAclExample = new Wafv2WebAcl(this, "example_1", { + defaultAction: { + allow: {}, + }, + lifecycle: { + ignoreChanges: [rule], + }, + name: "example-web-acl", + scope: "REGIONAL", + visibilityConfig: { + cloudwatchMetricsEnabled: true, + metricName: "example-web-acl", + sampledRequestsEnabled: true, + }, + }); + /*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/ + awsWafv2WebAclExample.overrideLogicalId("example"); + const awsWafv2WebAclRuleGroupAssociationExample = + new Wafv2WebAclRuleGroupAssociation(this, "example_2", { + priority: 100, + ruleGroupReference: [ + { + arn: example.arn, + ruleActionOverride: [ + { + actionToUse: [ + { + count: [ + { + customRequestHandling: [ + { + insertHeader: [ + { + name: "X-Geo-Block-Override", + value: "counted", + }, + ], + }, + ], + }, + ], + }, + ], + name: "geo-block-rule", + }, + { + actionToUse: [ + { + captcha: [ + { + customRequestHandling: [ + { + insertHeader: [ + { + name: "X-Rate-Limit-Override", + value: "captcha-required", + }, + ], + }, + ], + }, + ], + }, + ], + name: "rate-limit-rule", + }, + ], + }, + ], + ruleName: "example-rule-group-rule", + webAclArn: Token.asString(awsWafv2WebAclExample.arn), + }); + /*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/ + awsWafv2WebAclRuleGroupAssociationExample.overrideLogicalId("example"); + } +} + +``` + +### Custom Rule Group - CloudFront Web ACL + +```typescript +// DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +import { Construct } from "constructs"; +import { Token, TerraformStack } from "cdktf"; +/* + * Provider bindings are generated by running `cdktf get`. + * See https://cdk.tf/provider-generation for more details. + */ +import { Wafv2RuleGroup } from "./.gen/providers/aws/wafv2-rule-group"; +import { Wafv2WebAcl } from "./.gen/providers/aws/wafv2-web-acl"; +import { Wafv2WebAclRuleGroupAssociation } from "./.gen/providers/aws/wafv2-web-acl-rule-group-association"; +class MyConvertedCode extends TerraformStack { + constructor(scope: Construct, name: string) { + super(scope, name); + const cloudfrontExample = new Wafv2RuleGroup(this, "cloudfront_example", { + capacity: 10, + name: "cloudfront-rule-group", + rule: [ + { + action: { + block: {}, + }, + name: "rate-limit", + priority: 1, + statement: { + rateBasedStatement: { + aggregateKeyType: "IP", + limit: 2000, + }, + }, + visibilityConfig: { + cloudwatchMetricsEnabled: true, + metricName: "rate-limit", + sampledRequestsEnabled: true, + }, + }, + ], + scope: "CLOUDFRONT", + visibilityConfig: { + cloudwatchMetricsEnabled: true, + metricName: "cloudfront-rule-group", + sampledRequestsEnabled: true, + }, + }); + const awsWafv2WebAclCloudfrontExample = new Wafv2WebAcl( + this, + "cloudfront_example_1", + { + defaultAction: { + allow: {}, + }, + lifecycle: { + ignoreChanges: [rule], + }, + name: "cloudfront-web-acl", + scope: "CLOUDFRONT", + visibilityConfig: { + cloudwatchMetricsEnabled: true, + metricName: "cloudfront-web-acl", + sampledRequestsEnabled: true, + }, + } + ); + /*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/ + awsWafv2WebAclCloudfrontExample.overrideLogicalId("cloudfront_example"); + const awsWafv2WebAclRuleGroupAssociationCloudfrontExample = + new Wafv2WebAclRuleGroupAssociation(this, "cloudfront_example_2", { + priority: 50, + ruleGroupReference: [ + { + arn: cloudfrontExample.arn, + }, + ], + ruleName: "cloudfront-rule-group-rule", + webAclArn: Token.asString(awsWafv2WebAclCloudfrontExample.arn), + }); + /*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/ + awsWafv2WebAclRuleGroupAssociationCloudfrontExample.overrideLogicalId( + "cloudfront_example" + ); + } +} + +``` + +## Argument Reference + +The following arguments are required: + +* `ruleName` - (Required) Name of the rule to create in the Web ACL that references the rule group. Must be between 1 and 128 characters. +* `priority` - (Required) Priority of the rule within the Web ACL. Rules are evaluated in order of priority, with lower numbers evaluated first. +* `webAclArn` - (Required) ARN of the Web ACL to associate the Rule Group with. + +The following arguments are optional: + +* `managedRuleGroup` - (Optional) Managed Rule Group configuration. One of `ruleGroupReference` or `managedRuleGroup` is required. Conflicts with `ruleGroupReference`. [See below](#managed_rule_group). +* `overrideAction` - (Optional) Override action for the rule group. Valid values are `none` and `count`. Defaults to `none`. When set to `count`, the actions defined in the rule group rules are overridden to count matches instead of blocking or allowing requests. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). +* `ruleGroupReference` - (Optional) Custom Rule Group reference configuration. One of `ruleGroupReference` or `managedRuleGroup` is required. Conflicts with `managedRuleGroup`. [See below](#rule_group_reference). + +### rule_group_reference + +* `arn` - (Required) ARN of the Rule Group to associate with the Web ACL. +* `ruleActionOverride` - (Optional) Override actions for specific rules within the rule group. [See below](#rule_action_override). + +### managed_rule_group + +* `name` - (Required) Name of the managed rule group. +* `vendorName` - (Required) Name of the managed rule group vendor. For AWS managed rule groups, this is `AWS`. +* `version` - (Optional) Version of the managed rule group. If not specified, the default version is used. +* `ruleActionOverride` - (Optional) Override actions for specific rules within the rule group. [See below](#rule_action_override). + +### rule_action_override + +* `name` - (Required) Name of the rule to override within the rule group. Verify the name carefully. With managed rule groups, WAF silently ignores any override that uses an invalid rule name. With customer-owned rule groups, invalid rule names in your overrides will cause web ACL updates to fail. An invalid rule name is any name that doesn't exactly match the case-sensitive name of an existing rule in the rule group. +* `actionToUse` - (Required) Action to use instead of the rule's original action. [See below](#action_to_use). + +### action_to_use + +Exactly one of the following action blocks must be specified: + +* `allow` - (Optional) Allow the request. [See below](#allow). +* `block` - (Optional) Block the request. [See below](#block). +* `captcha` - (Optional) Require CAPTCHA verification. [See below](#captcha). +* `challenge` - (Optional) Require challenge verification. [See below](#challenge). +* `count` - (Optional) Count the request without taking action. [See below](#count). + +### allow + +* `customRequestHandling` - (Optional) Custom handling for allowed requests. [See below](#custom_request_handling). + +### block + +* `customResponse` - (Optional) Custom response for blocked requests. [See below](#custom_response). + +### captcha + +* `customRequestHandling` - (Optional) Custom handling for CAPTCHA requests. [See below](#custom_request_handling). + +### challenge + +* `customRequestHandling` - (Optional) Custom handling for challenge requests. [See below](#custom_request_handling). + +### count + +* `customRequestHandling` - (Optional) Custom handling for counted requests. [See below](#custom_request_handling). + +### custom_request_handling + +* `insertHeader` - (Required) Headers to insert into the request. [See below](#insert_header). + +### custom_response + +* `customResponseBodyKey` - (Optional) Key of a custom response body to use. +* `responseCode` - (Required) HTTP response code to return (200-599). +* `responseHeader` - (Optional) Headers to include in the response. [See below](#response_header). + +### insert_header + +* `name` - (Required) Name of the header to insert. +* `value` - (Required) Value of the header to insert. + +### response_header + +* `name` - (Required) Name of the response header. +* `value` - (Required) Value of the response header. + +## Attribute Reference + +This resource exports the following attributes in addition to the arguments above: + +None. + +## Timeouts + +[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): + +* `create` - (Default `30m`) +* `update` - (Default `30m`) +* `delete` - (Default `30m`) + +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import WAFv2 web ACL custom rule group associations using `WebACLARN,RuleGroupARN,RuleName`. For example: + +```typescript +// DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +import { Construct } from "constructs"; +import { TerraformStack } from "cdktf"; +/* + * Provider bindings are generated by running `cdktf get`. + * See https://cdk.tf/provider-generation for more details. + */ +import { Wafv2WebAclRuleGroupAssociation } from "./.gen/providers/aws/wafv2-web-acl-rule-group-association"; +class MyConvertedCode extends TerraformStack { + constructor(scope: Construct, name: string) { + super(scope, name); + Wafv2WebAclRuleGroupAssociation.generateConfigForImport( + this, + "example", + "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,arn:aws:wafv2:us-east-1:123456789012:regional/rulegroup/example-rule-group/87654321-4321-4321-4321-210987654321,example-rule-group-rule" + ); + } +} + +``` + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import WAFv2 web ACL managed rule group associations using `WebACLARN,VendorName:RuleGroupName[:Version],RuleName`. For example: + +```typescript +// DO NOT EDIT. Code generated by 'cdktf convert' - Please report bugs at https://cdk.tf/bug +import { Construct } from "constructs"; +import { TerraformStack } from "cdktf"; +/* + * Provider bindings are generated by running `cdktf get`. + * See https://cdk.tf/provider-generation for more details. + */ +import { Wafv2WebAclRuleGroupAssociation } from "./.gen/providers/aws/wafv2-web-acl-rule-group-association"; +class MyConvertedCode extends TerraformStack { + constructor(scope: Construct, name: string) { + super(scope, name); + Wafv2WebAclRuleGroupAssociation.generateConfigForImport( + this, + "managedExample", + "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,AWS:AWSManagedRulesCommonRuleSet,aws-common-rule-set" + ); + } +} + +``` + +Using `terraform import`, import WAFv2 web ACL custom rule group associations using `WebACLARN,RuleGroupARN,RuleName`. For example: + +```console +% terraform import aws_wafv2_web_acl_rule_group_association.example "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,arn:aws:wafv2:us-east-1:123456789012:regional/rulegroup/example-rule-group/87654321-4321-4321-4321-210987654321,example-rule-group-rule" +``` + +Using `terraform import`, import WAFv2 web ACL managed rule group associations using `WebACLARN,VendorName:RuleGroupName[:Version],RuleName`. For example: + +```console +% terraform import aws_wafv2_web_acl_rule_group_association.managed_example "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,AWS:AWSManagedRulesCommonRuleSet,aws-common-rule-set" +``` + + \ No newline at end of file From 2abe843e0115d8333eff948538031bcdcf05a637 Mon Sep 17 00:00:00 2001 From: Anthony Wat Date: Sun, 10 Aug 2025 22:54:58 -0400 Subject: [PATCH 0778/1301] chore: Remove aws.StringSlice usage from r/aws_imagebuilder_image_pipeline --- internal/service/imagebuilder/image_pipeline.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/imagebuilder/image_pipeline.go b/internal/service/imagebuilder/image_pipeline.go index c33ee3dd4da6..cdf9379af185 100644 --- a/internal/service/imagebuilder/image_pipeline.go +++ b/internal/service/imagebuilder/image_pipeline.go @@ -590,7 +590,7 @@ func flattenECRConfiguration(apiObject *awstypes.EcrConfiguration) map[string]an } if v := apiObject.ContainerTags; v != nil { - tfMap["container_tags"] = aws.StringSlice(v) + tfMap["container_tags"] = v } return tfMap From 95e10fc9868f4a62ea28009d7d03ce28bda83ab1 Mon Sep 17 00:00:00 2001 From: Anthony Wat Date: Mon, 11 Aug 2025 00:04:46 -0400 Subject: [PATCH 0779/1301] chore: Remove aws.StringSlice usages from r/aws_imagebuilder_distribution_configuration --- .../imagebuilder/distribution_configuration.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/internal/service/imagebuilder/distribution_configuration.go b/internal/service/imagebuilder/distribution_configuration.go index a5b012742c75..8008d986113f 100644 --- a/internal/service/imagebuilder/distribution_configuration.go +++ b/internal/service/imagebuilder/distribution_configuration.go @@ -896,7 +896,7 @@ func flattenAMIDistributionConfiguration(apiObject *awstypes.AmiDistributionConf } if v := apiObject.TargetAccountIds; v != nil { - tfMap["target_account_ids"] = aws.StringSlice(v) + tfMap["target_account_ids"] = v } return tfMap @@ -910,7 +910,7 @@ func flattenContainerDistributionConfiguration(apiObject *awstypes.ContainerDist tfMap := map[string]any{} if v := apiObject.ContainerTags; v != nil { - tfMap["container_tags"] = aws.StringSlice(v) + tfMap["container_tags"] = v } if v := apiObject.Description; v != nil { @@ -958,7 +958,7 @@ func flattenDistribution(apiObject awstypes.Distribution) map[string]any { } if v := apiObject.LicenseConfigurationArns; v != nil { - tfMap["license_configuration_arns"] = aws.StringSlice(v) + tfMap["license_configuration_arns"] = v } if v := apiObject.Region; v != nil { @@ -998,19 +998,19 @@ func flattenLaunchPermissionConfiguration(apiObject *awstypes.LaunchPermissionCo tfMap := map[string]any{} if v := apiObject.OrganizationArns; v != nil { - tfMap["organization_arns"] = aws.StringSlice(v) + tfMap["organization_arns"] = v } if v := apiObject.OrganizationalUnitArns; v != nil { - tfMap["organizational_unit_arns"] = aws.StringSlice(v) + tfMap["organizational_unit_arns"] = v } if v := apiObject.UserGroups; v != nil { - tfMap["user_groups"] = aws.StringSlice(v) + tfMap["user_groups"] = v } if v := apiObject.UserIds; v != nil { - tfMap["user_ids"] = aws.StringSlice(v) + tfMap["user_ids"] = v } return tfMap From a0d458ce2aa164e078effe336dfdcdb788950b8e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Aug 2025 10:36:28 +0000 Subject: [PATCH 0780/1301] Bump actions/create-github-app-token from 2.0.6 to 2.1.0 Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 2.0.6 to 2.1.0. - [Release notes](https://github.com/actions/create-github-app-token/releases) - [Commits](https://github.com/actions/create-github-app-token/compare/df432ceedc7162793a195dd1713ff69aefc7379e...0f859bf9e69e887678d5bbfbee594437cb440ffe) --- updated-dependencies: - dependency-name: actions/create-github-app-token dependency-version: 2.1.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/generate_changelog.yml | 2 +- .github/workflows/maintainer_helpers.yml | 4 ++-- .github/workflows/triage.yml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/generate_changelog.yml b/.github/workflows/generate_changelog.yml index 6a86f0677488..341bd5f047a5 100644 --- a/.github/workflows/generate_changelog.yml +++ b/.github/workflows/generate_changelog.yml @@ -8,7 +8,7 @@ jobs: if: github.event.pull_request.merged || github.event_name == 'workflow_dispatch' runs-on: ubuntu-latest steps: - - uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6 + - uses: actions/create-github-app-token@0f859bf9e69e887678d5bbfbee594437cb440ffe # v2.1.0 id: app-token with: app-id: ${{ secrets.APP_ID }} diff --git a/.github/workflows/maintainer_helpers.yml b/.github/workflows/maintainer_helpers.yml index c25feeb626ac..5a50fc7a27f4 100644 --- a/.github/workflows/maintainer_helpers.yml +++ b/.github/workflows/maintainer_helpers.yml @@ -39,7 +39,7 @@ jobs: CURRENT_LABELS: ${{ github.event_name == 'issues' && toJSON(github.event.issue.labels.*.name) || toJSON(github.event.pull_request.labels.*.name) }} GH_CLI_SUBCOMMAND: ${{ github.event_name == 'pull_request_target' && 'pr' || 'issue' }} steps: - - uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6 + - uses: actions/create-github-app-token@0f859bf9e69e887678d5bbfbee594437cb440ffe # v2.1.0 id: token with: app-id: ${{ secrets.APP_ID }} @@ -220,7 +220,7 @@ jobs: ] } - - uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6 + - uses: actions/create-github-app-token@0f859bf9e69e887678d5bbfbee594437cb440ffe # v2.1.0 if: github.event_name == 'schedule' id: token with: diff --git a/.github/workflows/triage.yml b/.github/workflows/triage.yml index 22fb16ebc328..a607dd30e593 100644 --- a/.github/workflows/triage.yml +++ b/.github/workflows/triage.yml @@ -80,7 +80,7 @@ jobs: enable-versioned-regex: 0 include-title: 1 - - uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6 + - uses: actions/create-github-app-token@0f859bf9e69e887678d5bbfbee594437cb440ffe # v2.1.0 id: token if: github.event_name == 'issues' with: From 2fa85be774140bb7c8cdb15b45f78f7525835229 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Aug 2025 11:56:27 +0000 Subject: [PATCH 0781/1301] Bump the aws-sdk-go-v2 group across 1 directory with 18 updates Bumps the aws-sdk-go-v2 group with 18 updates in the / directory: | Package | From | To | | --- | --- | --- | | [github.com/aws/aws-sdk-go-v2/service/applicationsignals](https://github.com/aws/aws-sdk-go-v2) | `1.13.0` | `1.14.0` | | [github.com/aws/aws-sdk-go-v2/service/batch](https://github.com/aws/aws-sdk-go-v2) | `1.56.0` | `1.56.1` | | [github.com/aws/aws-sdk-go-v2/service/bedrock](https://github.com/aws/aws-sdk-go-v2) | `1.42.0` | `1.43.0` | | [github.com/aws/aws-sdk-go-v2/service/billing](https://github.com/aws/aws-sdk-go-v2) | `1.4.0` | `1.5.0` | | [github.com/aws/aws-sdk-go-v2/service/cloudfront](https://github.com/aws/aws-sdk-go-v2) | `1.50.0` | `1.51.0` | | [github.com/aws/aws-sdk-go-v2/service/codebuild](https://github.com/aws/aws-sdk-go-v2) | `1.63.0` | `1.64.0` | | [github.com/aws/aws-sdk-go-v2/service/connect](https://github.com/aws/aws-sdk-go-v2) | `1.133.0` | `1.134.0` | | [github.com/aws/aws-sdk-go-v2/service/dsql](https://github.com/aws/aws-sdk-go-v2) | `1.7.0` | `1.8.0` | | [github.com/aws/aws-sdk-go-v2/service/emrserverless](https://github.com/aws/aws-sdk-go-v2) | `1.34.0` | `1.34.1` | | [github.com/aws/aws-sdk-go-v2/service/glue](https://github.com/aws/aws-sdk-go-v2) | `1.122.0` | `1.123.0` | | [github.com/aws/aws-sdk-go-v2/service/guardduty](https://github.com/aws/aws-sdk-go-v2) | `1.59.0` | `1.60.0` | | [github.com/aws/aws-sdk-go-v2/service/inspector2](https://github.com/aws/aws-sdk-go-v2) | `1.41.0` | `1.42.0` | | [github.com/aws/aws-sdk-go-v2/service/invoicing](https://github.com/aws/aws-sdk-go-v2) | `1.4.0` | `1.5.0` | | [github.com/aws/aws-sdk-go-v2/service/notifications](https://github.com/aws/aws-sdk-go-v2) | `1.4.0` | `1.5.0` | | [github.com/aws/aws-sdk-go-v2/service/notificationscontacts](https://github.com/aws/aws-sdk-go-v2) | `1.3.0` | `1.4.0` | | [github.com/aws/aws-sdk-go-v2/service/s3vectors](https://github.com/aws/aws-sdk-go-v2) | `1.2.0` | `1.3.0` | | [github.com/aws/aws-sdk-go-v2/service/sagemaker](https://github.com/aws/aws-sdk-go-v2) | `1.205.0` | `1.206.0` | | [github.com/aws/aws-sdk-go-v2/service/transcribe](https://github.com/aws/aws-sdk-go-v2) | `1.49.0` | `1.49.1` | Updates `github.com/aws/aws-sdk-go-v2/service/applicationsignals` from 1.13.0 to 1.14.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/v1.14.0/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.13.0...v1.14.0) Updates `github.com/aws/aws-sdk-go-v2/service/batch` from 1.56.0 to 1.56.1 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.56.0...service/s3/v1.56.1) Updates `github.com/aws/aws-sdk-go-v2/service/bedrock` from 1.42.0 to 1.43.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.42.0...service/s3/v1.43.0) Updates `github.com/aws/aws-sdk-go-v2/service/billing` from 1.4.0 to 1.5.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/v1.5.0/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.4.0...v1.5.0) Updates `github.com/aws/aws-sdk-go-v2/service/cloudfront` from 1.50.0 to 1.51.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.50.0...service/s3/v1.51.0) Updates `github.com/aws/aws-sdk-go-v2/service/codebuild` from 1.63.0 to 1.64.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.63.0...service/s3/v1.64.0) Updates `github.com/aws/aws-sdk-go-v2/service/connect` from 1.133.0 to 1.134.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/ec2/v1.133.0...service/ec2/v1.134.0) Updates `github.com/aws/aws-sdk-go-v2/service/dsql` from 1.7.0 to 1.8.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/v1.8.0/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.7.0...v1.8.0) Updates `github.com/aws/aws-sdk-go-v2/service/emrserverless` from 1.34.0 to 1.34.1 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/service/s3/v1.34.1/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.34.0...service/s3/v1.34.1) Updates `github.com/aws/aws-sdk-go-v2/service/glue` from 1.122.0 to 1.123.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/ec2/v1.122.0...service/ec2/v1.123.0) Updates `github.com/aws/aws-sdk-go-v2/service/guardduty` from 1.59.0 to 1.60.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.59.0...service/s3/v1.60.0) Updates `github.com/aws/aws-sdk-go-v2/service/inspector2` from 1.41.0 to 1.42.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.41.0...service/s3/v1.42.0) Updates `github.com/aws/aws-sdk-go-v2/service/invoicing` from 1.4.0 to 1.5.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/v1.5.0/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.4.0...v1.5.0) Updates `github.com/aws/aws-sdk-go-v2/service/notifications` from 1.4.0 to 1.5.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/v1.5.0/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.4.0...v1.5.0) Updates `github.com/aws/aws-sdk-go-v2/service/notificationscontacts` from 1.3.0 to 1.4.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/v1.4.0/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.3.0...v1.4.0) Updates `github.com/aws/aws-sdk-go-v2/service/s3vectors` from 1.2.0 to 1.3.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/v1.3.0/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.2.0...v1.3.0) Updates `github.com/aws/aws-sdk-go-v2/service/sagemaker` from 1.205.0 to 1.206.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/ec2/v1.205.0...service/ec2/v1.206.0) Updates `github.com/aws/aws-sdk-go-v2/service/transcribe` from 1.49.0 to 1.49.1 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.49.0...service/ssm/v1.49.1) --- updated-dependencies: - dependency-name: github.com/aws/aws-sdk-go-v2/service/applicationsignals dependency-version: 1.14.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/batch dependency-version: 1.56.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/bedrock dependency-version: 1.43.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/billing dependency-version: 1.5.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/cloudfront dependency-version: 1.51.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/codebuild dependency-version: 1.64.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/connect dependency-version: 1.134.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/dsql dependency-version: 1.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/emrserverless dependency-version: 1.34.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/glue dependency-version: 1.123.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/guardduty dependency-version: 1.60.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/inspector2 dependency-version: 1.42.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/invoicing dependency-version: 1.5.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/notifications dependency-version: 1.5.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/notificationscontacts dependency-version: 1.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/s3vectors dependency-version: 1.3.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/sagemaker dependency-version: 1.206.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/transcribe dependency-version: 1.49.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: aws-sdk-go-v2 ... Signed-off-by: dependabot[bot] --- go.mod | 36 ++++++++++++++--------------- go.sum | 72 +++++++++++++++++++++++++++++----------------------------- 2 files changed, 54 insertions(+), 54 deletions(-) diff --git a/go.mod b/go.mod index c1e2d3257ece..7e2aae79b85b 100644 --- a/go.mod +++ b/go.mod @@ -30,7 +30,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/appintegrations v1.34.0 github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.38.0 github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.32.0 - github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.13.0 + github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.14.0 github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0 github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0 github.com/aws/aws-sdk-go-v2/service/appstream v1.47.1 @@ -40,12 +40,12 @@ require ( github.com/aws/aws-sdk-go-v2/service/autoscaling v1.56.0 github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.27.0 github.com/aws/aws-sdk-go-v2/service/backup v1.45.0 - github.com/aws/aws-sdk-go-v2/service/batch v1.56.0 + github.com/aws/aws-sdk-go-v2/service/batch v1.56.1 github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0 - github.com/aws/aws-sdk-go-v2/service/bedrock v1.42.0 + github.com/aws/aws-sdk-go-v2/service/bedrock v1.43.0 github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0 github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0 - github.com/aws/aws-sdk-go-v2/service/billing v1.4.0 + github.com/aws/aws-sdk-go-v2/service/billing v1.5.0 github.com/aws/aws-sdk-go-v2/service/budgets v1.35.0 github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0 github.com/aws/aws-sdk-go-v2/service/chime v1.38.0 @@ -55,7 +55,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloud9 v1.31.0 github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.26.0 github.com/aws/aws-sdk-go-v2/service/cloudformation v1.63.0 - github.com/aws/aws-sdk-go-v2/service/cloudfront v1.50.0 + github.com/aws/aws-sdk-go-v2/service/cloudfront v1.51.0 github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.11.0 github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.32.0 github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.29.0 @@ -63,7 +63,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.47.0 github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.55.0 github.com/aws/aws-sdk-go-v2/service/codeartifact v1.36.0 - github.com/aws/aws-sdk-go-v2/service/codebuild v1.63.0 + github.com/aws/aws-sdk-go-v2/service/codebuild v1.64.0 github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.19.0 github.com/aws/aws-sdk-go-v2/service/codecommit v1.30.0 github.com/aws/aws-sdk-go-v2/service/codeconnections v1.8.0 @@ -78,7 +78,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/comprehend v1.38.0 github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.45.0 github.com/aws/aws-sdk-go-v2/service/configservice v1.55.0 - github.com/aws/aws-sdk-go-v2/service/connect v1.133.0 + github.com/aws/aws-sdk-go-v2/service/connect v1.134.0 github.com/aws/aws-sdk-go-v2/service/connectcases v1.28.0 github.com/aws/aws-sdk-go-v2/service/controltower v1.24.0 github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.31.0 @@ -101,7 +101,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/docdb v1.44.0 github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.17.0 github.com/aws/aws-sdk-go-v2/service/drs v1.33.0 - github.com/aws/aws-sdk-go-v2/service/dsql v1.7.0 + github.com/aws/aws-sdk-go-v2/service/dsql v1.8.0 github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0 github.com/aws/aws-sdk-go-v2/service/ec2 v1.241.0 github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0 @@ -117,7 +117,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.30.0 github.com/aws/aws-sdk-go-v2/service/emr v1.52.0 github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.37.0 - github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.0 + github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.1 github.com/aws/aws-sdk-go-v2/service/eventbridge v1.43.0 github.com/aws/aws-sdk-go-v2/service/evidently v1.26.0 github.com/aws/aws-sdk-go-v2/service/evs v1.2.0 @@ -129,19 +129,19 @@ require ( github.com/aws/aws-sdk-go-v2/service/gamelift v1.44.0 github.com/aws/aws-sdk-go-v2/service/glacier v1.29.0 github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.32.0 - github.com/aws/aws-sdk-go-v2/service/glue v1.122.0 + github.com/aws/aws-sdk-go-v2/service/glue v1.123.0 github.com/aws/aws-sdk-go-v2/service/grafana v1.29.0 github.com/aws/aws-sdk-go-v2/service/greengrass v1.30.0 github.com/aws/aws-sdk-go-v2/service/groundstation v1.35.0 - github.com/aws/aws-sdk-go-v2/service/guardduty v1.59.0 + github.com/aws/aws-sdk-go-v2/service/guardduty v1.60.0 github.com/aws/aws-sdk-go-v2/service/healthlake v1.32.0 github.com/aws/aws-sdk-go-v2/service/iam v1.45.0 github.com/aws/aws-sdk-go-v2/service/identitystore v1.30.0 github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.44.0 github.com/aws/aws-sdk-go-v2/service/inspector v1.28.0 - github.com/aws/aws-sdk-go-v2/service/inspector2 v1.41.0 + github.com/aws/aws-sdk-go-v2/service/inspector2 v1.42.0 github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.23.0 - github.com/aws/aws-sdk-go-v2/service/invoicing v1.4.0 + github.com/aws/aws-sdk-go-v2/service/invoicing v1.5.0 github.com/aws/aws-sdk-go-v2/service/iot v1.67.0 github.com/aws/aws-sdk-go-v2/service/ivs v1.45.0 github.com/aws/aws-sdk-go-v2/service/ivschat v1.19.0 @@ -181,8 +181,8 @@ require ( github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0 github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.1 github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0 - github.com/aws/aws-sdk-go-v2/service/notifications v1.4.0 - github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.3.0 + github.com/aws/aws-sdk-go-v2/service/notifications v1.5.0 + github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.4.0 github.com/aws/aws-sdk-go-v2/service/oam v1.20.0 github.com/aws/aws-sdk-go-v2/service/odb v1.2.0 github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0 @@ -224,8 +224,8 @@ require ( github.com/aws/aws-sdk-go-v2/service/s3control v1.63.0 github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0 github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0 - github.com/aws/aws-sdk-go-v2/service/s3vectors v1.2.0 - github.com/aws/aws-sdk-go-v2/service/sagemaker v1.205.0 + github.com/aws/aws-sdk-go-v2/service/s3vectors v1.3.0 + github.com/aws/aws-sdk-go-v2/service/sagemaker v1.206.0 github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0 github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0 github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.37.0 @@ -258,7 +258,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.13.0 github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.33.0 github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.33.0 - github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.0 + github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.1 github.com/aws/aws-sdk-go-v2/service/transfer v1.63.0 github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.26.0 github.com/aws/aws-sdk-go-v2/service/vpclattice v1.16.0 diff --git a/go.sum b/go.sum index 154d9bcad3af..07f43f44e73d 100644 --- a/go.sum +++ b/go.sum @@ -71,8 +71,8 @@ github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.38.0 h1:gt+ZqLtho github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.38.0/go.mod h1:6t2ZF+2KvF8UI2XO5CmtuDO3mSqQ5iXAUbNZ/6cxCBc= github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.32.0 h1:DU6QP0nzEAXKYHGNUjsp7eLJR6SR/XxVZ7bWQDukK8w= github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.32.0/go.mod h1:2MuTGd75ViK4GpS4AHFOu7mkLUIRQzDqc1vpLduWsVk= -github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.13.0 h1:J9gIKlvB2N0hAv+Qa6OXitHBCuB5shSlQcYeZEhnhC8= -github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.13.0/go.mod h1:k1nvlCbN8YF5tZn3vQ/nhLWsWgtjpt2V6DyTU32RBO8= +github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.14.0 h1:Fl133Zna8tKn47qe/DcqYCgmjeud5Z8OUevo+BQKNj8= +github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.14.0/go.mod h1:k1nvlCbN8YF5tZn3vQ/nhLWsWgtjpt2V6DyTU32RBO8= github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0 h1:O9PZ3rZ3kO78qUS0+b89tozNOCC5HNe2BDmduzVU/gk= github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0/go.mod h1:oAWy74yo48WYE/39Tvr1/MqaLTpZ1nyr4r6/cPuTS1g= github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0 h1:PGgY/BIQ82RFrR9rmJYejYk4jb4HmrR4+bxMe0Jj3t8= @@ -91,18 +91,18 @@ github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.27.0 h1:IE8KDjm+M64FnD6 github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.27.0/go.mod h1:HN2DjMKUSk1fQSIeKYT2xz9CLeupOwl4yowG8OE+56c= github.com/aws/aws-sdk-go-v2/service/backup v1.45.0 h1:vujSEbS2qKGnQktbNcmFk7N3rmdKmS5x7uQCNjbpIsI= github.com/aws/aws-sdk-go-v2/service/backup v1.45.0/go.mod h1:hG/r8+r8CH++grUXo3DJpfAP06UhM0QC7QGFM0FbIfY= -github.com/aws/aws-sdk-go-v2/service/batch v1.56.0 h1:XTIHEJ95YH5IehTJx5p6Y8XtjZwLXV5r/RBzCWOpADA= -github.com/aws/aws-sdk-go-v2/service/batch v1.56.0/go.mod h1:uAslawt50dv4iZfpjAh9YVEbAU3jyPIt3ycDSs5VrEg= +github.com/aws/aws-sdk-go-v2/service/batch v1.56.1 h1:fpEtrrzKcFRJolA7FVvNFxlkL7vBqUT10YVU0LVplwM= +github.com/aws/aws-sdk-go-v2/service/batch v1.56.1/go.mod h1:uAslawt50dv4iZfpjAh9YVEbAU3jyPIt3ycDSs5VrEg= github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0 h1:Wq3UeoqqQFm+HwQbmpB5vN3v3t8X5YsDLn/0yRG3ALY= github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0/go.mod h1:yWUWnhYtaiRSARc/Y3vU6dZAV9/thOTFMLST2Oxvj78= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.42.0 h1:6habQhaDSesSG3kx50Unp2ssMonECgdFnrMMgrcUCec= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.42.0/go.mod h1:yGZu+RiNnteeM+ZdeuOHlI4whLyGjENoGn1MLqd1o2s= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.43.0 h1:vgME1FH3CkKnYqqKIvwY2BfecHIpNxMZ+beNLUuFkkg= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.43.0/go.mod h1:yGZu+RiNnteeM+ZdeuOHlI4whLyGjENoGn1MLqd1o2s= github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0 h1:lhY8kqSq+ph2avN5EgZfWx1Gc6HWYyjbuy73LPGLadU= github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0/go.mod h1:VE33Y1A7q8XkY0I0DWF04eQlg1z5dsKw1EEQzfhkCoc= github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0 h1:GJdyUvYs/81imU2h6wqSa4T9guevI7eBr9YhXUmOwIA= github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0/go.mod h1:QmHnuYuWyavbwugFNSSJRvzMGaFngJD52D2Q3Rm9Mz0= -github.com/aws/aws-sdk-go-v2/service/billing v1.4.0 h1:9cAmZFgJC5ymi2OD5OOlsDgatSVGHuwaxvO0/bkfyBI= -github.com/aws/aws-sdk-go-v2/service/billing v1.4.0/go.mod h1:jV6JqgNCURYxs3c4fp3dMQUdoTC5NnwtqKT8y8tF71s= +github.com/aws/aws-sdk-go-v2/service/billing v1.5.0 h1:224BHvHnevOSoKE/LgEv12ot2jPlYDcrgsNDgHOQpCY= +github.com/aws/aws-sdk-go-v2/service/billing v1.5.0/go.mod h1:jV6JqgNCURYxs3c4fp3dMQUdoTC5NnwtqKT8y8tF71s= github.com/aws/aws-sdk-go-v2/service/budgets v1.35.0 h1:JdY+rRsL1Eqi9SRqSobdHBtcV4SRLKZUb2gIUye+1jw= github.com/aws/aws-sdk-go-v2/service/budgets v1.35.0/go.mod h1:Q0u6QOkKcwMNEvPgZAZlFo+zs3aP1wgMJANH0XKJEPU= github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0 h1:uMXPZGOAfgo6jmvuaEyLSKt0Y3OrwQb+c/ZWv8apz+M= @@ -121,8 +121,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.26.0 h1:fbq4r7n94nSyyJbEsDs github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.26.0/go.mod h1:La5Cr0mDPCAuBwu+VVnbOoXd5HVow52Pt/UnPAdZyn8= github.com/aws/aws-sdk-go-v2/service/cloudformation v1.63.0 h1:GHnZM6p3b2Do9wBwwuAzPuGy+HY597jv5LKiKxu0PAs= github.com/aws/aws-sdk-go-v2/service/cloudformation v1.63.0/go.mod h1:B3WrgqTVkLUTpX5C/ctNig6S78CqebFxLkwrxAYtjIg= -github.com/aws/aws-sdk-go-v2/service/cloudfront v1.50.0 h1:PN9qG49RrQ5b9in9ZfHqY3LxVEKoURo0Ia0LMjzFkw8= -github.com/aws/aws-sdk-go-v2/service/cloudfront v1.50.0/go.mod h1:HLzQI9ENSq0pNCO+ASh5KbwL7AoYBqPkTLv1Y40+pl4= +github.com/aws/aws-sdk-go-v2/service/cloudfront v1.51.0 h1:0wH5YQLcYnRTXCGeXeMogJqKJSP9UhwbTwuZkLexcOA= +github.com/aws/aws-sdk-go-v2/service/cloudfront v1.51.0/go.mod h1:HLzQI9ENSq0pNCO+ASh5KbwL7AoYBqPkTLv1Y40+pl4= github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.11.0 h1:iaCqgJY6oh3i+lfw6EM9XF7QzgFTX8FEFYrbrdNTCtw= github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.11.0/go.mod h1:vYTN8GiXfF6PAeyueEsqS0C9t0X3c4ELvX6a8XdDWSc= github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.32.0 h1:6OKTiz2vZO39/1WIbD1qp1+fWdXkkSNRWaV6yslKjyY= @@ -137,8 +137,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.55.0 h1:1gVT2+4KGrv47pHjZ github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.55.0/go.mod h1:HzB9FL1Jq/q+Pjkw1A7eeLzyj3NV87qthLnhzoXArvU= github.com/aws/aws-sdk-go-v2/service/codeartifact v1.36.0 h1:fdtKm+B01B8gyakcbWAVRTp/dF6RZ8bSAwJ0SAUo+sU= github.com/aws/aws-sdk-go-v2/service/codeartifact v1.36.0/go.mod h1:u3m1BxQTHIh9rSpYNSVXbkwf+e/SQCbCnkbiUOihF9c= -github.com/aws/aws-sdk-go-v2/service/codebuild v1.63.0 h1:OWCZwl6LdRnxnuW83NuEXHt+mkQPkKDsYEyvlDyQAxE= -github.com/aws/aws-sdk-go-v2/service/codebuild v1.63.0/go.mod h1:0k+YT2xx+g/GuLX2uLqm5A3Kno7zEtTYdI1FWGjliPM= +github.com/aws/aws-sdk-go-v2/service/codebuild v1.64.0 h1:H8ydjxHJToFBnEhrC6A6nLnViQgV9g7wK7dzMfBOJL8= +github.com/aws/aws-sdk-go-v2/service/codebuild v1.64.0/go.mod h1:0k+YT2xx+g/GuLX2uLqm5A3Kno7zEtTYdI1FWGjliPM= github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.19.0 h1:7fMl5RowdxZ54KTTZUdSeeSfFwbRCoI1foY/gokc2zI= github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.19.0/go.mod h1:GRd3mFvPtUuXg4j7mTtw4SV3tMwseEoerrdRkGV9sH4= github.com/aws/aws-sdk-go-v2/service/codecommit v1.30.0 h1:kA7yaCs2MQE81SJXOQ6wg9alTogzkUUQElJFLTNMNa0= @@ -167,8 +167,8 @@ github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.45.0 h1:6L0Q42EJrrPVL48 github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.45.0/go.mod h1:moeEA/s0wSAhXmQcy2mTjAtm5Q+rhZDI8gJxZxVRIGk= github.com/aws/aws-sdk-go-v2/service/configservice v1.55.0 h1:Xl8gWAZJVlVfXJ8BKQP+pmy4wp+ne/dAUtS5g68KnOc= github.com/aws/aws-sdk-go-v2/service/configservice v1.55.0/go.mod h1:HJ5pf1PwMaGldNUKWpczuf3HscpY0zXRKwyBA44IaFY= -github.com/aws/aws-sdk-go-v2/service/connect v1.133.0 h1:hmIt4+AaalBGIfPUd4BLe3oh8Or0nJIsAOllG4Q4Zc4= -github.com/aws/aws-sdk-go-v2/service/connect v1.133.0/go.mod h1:SG9D1SyE7QBNPmrzOU3SMb1uHl/vOiu52HZdetka4b4= +github.com/aws/aws-sdk-go-v2/service/connect v1.134.0 h1:/B+9jXQitY0sHwZIO89ryMmnAP0X3ypWejYnajjaTzE= +github.com/aws/aws-sdk-go-v2/service/connect v1.134.0/go.mod h1:SG9D1SyE7QBNPmrzOU3SMb1uHl/vOiu52HZdetka4b4= github.com/aws/aws-sdk-go-v2/service/connectcases v1.28.0 h1:Il7H8Syx1lhWVQ7dyAhnmX5s6SoTVmbhpgfQcMc+Ijk= github.com/aws/aws-sdk-go-v2/service/connectcases v1.28.0/go.mod h1:yyZCnX4vIiFOhcHzP1vCOOXTybYt+sJjsesvFHIKZ+c= github.com/aws/aws-sdk-go-v2/service/controltower v1.24.0 h1:GqMI2xbsngIXKK9u0n7Uq9tlmOeuxqkXfF4JS7EiuWo= @@ -213,8 +213,8 @@ github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.17.0 h1:vU40uE7CLo63AusHL0h github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.17.0/go.mod h1:aa5vQ9iApmgcG4hkt0f7fDPIHGgV5Hsc+JxeRDclOjw= github.com/aws/aws-sdk-go-v2/service/drs v1.33.0 h1:Iijr+LEma1xNOPifbN7Eb7aL73v/UkD7FFcxyknDfOI= github.com/aws/aws-sdk-go-v2/service/drs v1.33.0/go.mod h1:cPdn2XdBmgHtq+Ei10EeCPy+j6l1I6g4FLjlPnh7g64= -github.com/aws/aws-sdk-go-v2/service/dsql v1.7.0 h1:90eZGtuddgUIcOTCrA8FhgaGb4eFxIEFAsWKnc1GzXE= -github.com/aws/aws-sdk-go-v2/service/dsql v1.7.0/go.mod h1:FRIS/nQBGwjD+CfPct4I2Sly16EJXFl8iq9sd/n2t4c= +github.com/aws/aws-sdk-go-v2/service/dsql v1.8.0 h1:GIldUQZdcBtLmUJYeOhNoemf7vWHPSUblJ4OLuv8kmo= +github.com/aws/aws-sdk-go-v2/service/dsql v1.8.0/go.mod h1:FRIS/nQBGwjD+CfPct4I2Sly16EJXFl8iq9sd/n2t4c= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0 h1:b7F96mjkzsqymMSGhuCqBQTZFx3mhTMa6IoG6SoVvC8= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0/go.mod h1:F8Rqs4FVGBTUzx3wbFm7HB/mgIA4Tc6/x0yQmjoB+/w= github.com/aws/aws-sdk-go-v2/service/ec2 v1.241.0 h1:twGX//bv1QH/9pyJaqynNSo0eXGkDEdDTFy8GNPsz5M= @@ -245,8 +245,8 @@ github.com/aws/aws-sdk-go-v2/service/emr v1.52.0 h1:1LcyFr3wJWIWA7TH1GQl3d2cBkg0 github.com/aws/aws-sdk-go-v2/service/emr v1.52.0/go.mod h1:9h1RQVgB3yZ45laVfX257QRx1/jrl3LR6VnaxAQ7HSo= github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.37.0 h1:g36yievH3ecx+76/79+LIal5FqIXT+2J3Ztynayj9d4= github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.37.0/go.mod h1:7J9Pidm1n/FvnKMcCUzi8eWNDzzqR6w3sbjhXrMXaxk= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.0 h1:L+J6Yudf1p8Mwgril3zP/Q3VN3zWFPagSVAjluk5KTM= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.0/go.mod h1:PHHbsCqpXEU5cGq2PogfV8qTlfobfSmLWeaPjJawwuc= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.1 h1:/lA8mJujvKaA1S3foLIr0uHBdzRcUgbnkWH2BsAVeAc= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.1/go.mod h1:PHHbsCqpXEU5cGq2PogfV8qTlfobfSmLWeaPjJawwuc= github.com/aws/aws-sdk-go-v2/service/eventbridge v1.43.0 h1:ZzdGUjZhtS6eDU+zyzjg5RwBc9UUk3dvRnwlKt1u5No= github.com/aws/aws-sdk-go-v2/service/eventbridge v1.43.0/go.mod h1:oLGWKN3c58kslfI1Slifgjq0jGFgzFeDquv9WRlWTwo= github.com/aws/aws-sdk-go-v2/service/evidently v1.26.0 h1:qfbkXGBL5NDZmQZpSW1fNATABgFdwj3mg5Qlcm9nYsE= @@ -269,16 +269,16 @@ github.com/aws/aws-sdk-go-v2/service/glacier v1.29.0 h1:Fbm8Od3/crUN82KmW7GyX7yt github.com/aws/aws-sdk-go-v2/service/glacier v1.29.0/go.mod h1:YtF4euf0dO4hPHj0qOM5ae8irG/qkCBJLlrf8cIh6X4= github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.32.0 h1:5i6DYz0BE1x2o+2Ig++dmjohzlNjlA7nNA/cNTCU60U= github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.32.0/go.mod h1:FCpLBbV4XEcc768mvlBb2Ovz66V+DwOjemPlBIWk6/E= -github.com/aws/aws-sdk-go-v2/service/glue v1.122.0 h1:KgFpvwctTUZM8+hpk0iK7Zg+rB1spjOXk063dRHSrNk= -github.com/aws/aws-sdk-go-v2/service/glue v1.122.0/go.mod h1:UnMg9irwCEC9F0qiaOGFwcXatZH+QNxj1hcXe0PPU0U= +github.com/aws/aws-sdk-go-v2/service/glue v1.123.0 h1:oI5uX+NPxqkIP1Qy8XTlTiG3blhDDI0h1OtrOs14KZw= +github.com/aws/aws-sdk-go-v2/service/glue v1.123.0/go.mod h1:UnMg9irwCEC9F0qiaOGFwcXatZH+QNxj1hcXe0PPU0U= github.com/aws/aws-sdk-go-v2/service/grafana v1.29.0 h1:RHaROqWEZduMgamzYhxQMJV+yU4c00DNpuFNNrLH4Tw= github.com/aws/aws-sdk-go-v2/service/grafana v1.29.0/go.mod h1:rQ5s18ZiGCKhfSmAcEloiN7pvVRR1uPxFJv/gXBWMrA= github.com/aws/aws-sdk-go-v2/service/greengrass v1.30.0 h1:ogCs+AbzCNSCUMcWq94Bi3mHde21qPpR1znwTO1bGeU= github.com/aws/aws-sdk-go-v2/service/greengrass v1.30.0/go.mod h1:VWGNxq54dTkPMl1WMYI6t1l6fePKtzT5kOJ6KTtULjs= github.com/aws/aws-sdk-go-v2/service/groundstation v1.35.0 h1:t7EmpuEsT1KryHEC+ZJhN9Hvg3jy8+wuUIOeauoSEyo= github.com/aws/aws-sdk-go-v2/service/groundstation v1.35.0/go.mod h1:CJDWshApYf/go1kkHtplQ/dxM4tgceOyI/bcbQj5CGA= -github.com/aws/aws-sdk-go-v2/service/guardduty v1.59.0 h1:6TJGUGB44DYl0eLa42cH6rao0MAbxIP2GQBWnTqlB4Y= -github.com/aws/aws-sdk-go-v2/service/guardduty v1.59.0/go.mod h1:/0f7xSNgp1HvUOzvaUFsoVo24P6D/VPW2q4cBudw090= +github.com/aws/aws-sdk-go-v2/service/guardduty v1.60.0 h1:xWaBB5lU7dqKsfkMYC6E0yC53zz+8XjIRfd3sQ1xKSg= +github.com/aws/aws-sdk-go-v2/service/guardduty v1.60.0/go.mod h1:/0f7xSNgp1HvUOzvaUFsoVo24P6D/VPW2q4cBudw090= github.com/aws/aws-sdk-go-v2/service/healthlake v1.32.0 h1:g9VEqxrBxNlrdt73yLrOJhe+AWQgu/ECRLO0FB9p4B8= github.com/aws/aws-sdk-go-v2/service/healthlake v1.32.0/go.mod h1:/Zlk6NkxmzWRJfz86zgMK5SOGOX7HxfhfUmm5rcUvRI= github.com/aws/aws-sdk-go-v2/service/iam v1.45.0 h1:H4iGrdJQREYDugHeFeknCZSIQKi2j9xqCFuK0VG1ldI= @@ -289,8 +289,8 @@ github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.44.0 h1:muZl56NGdKq46mKqOBQ github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.44.0/go.mod h1:Q9XC36P6xNG1612gw7M8vx4MglZuxt/EuFBnKkdKbgQ= github.com/aws/aws-sdk-go-v2/service/inspector v1.28.0 h1:dwa4S72d+eotYy1MIncpvQZjQpb4aQsIdJkw6UNStDk= github.com/aws/aws-sdk-go-v2/service/inspector v1.28.0/go.mod h1:C1sKaCeju2VcZ6NFiu0K6mXnAgROjnaqDhuLON2jmO0= -github.com/aws/aws-sdk-go-v2/service/inspector2 v1.41.0 h1:09DXpa+CSYABpTNkqH/PdMRODOE0NNBojp4p5Wu93zU= -github.com/aws/aws-sdk-go-v2/service/inspector2 v1.41.0/go.mod h1:ClLIVjq4ypDXNZ/n8edCQyd2f/lVn2xZpsHgWGjtCUA= +github.com/aws/aws-sdk-go-v2/service/inspector2 v1.42.0 h1:hCqhvKyJ3GZU7k5ivzrzLR4nXBiwNIyq6bA8FDdX/oE= +github.com/aws/aws-sdk-go-v2/service/inspector2 v1.42.0/go.mod h1:ClLIVjq4ypDXNZ/n8edCQyd2f/lVn2xZpsHgWGjtCUA= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 h1:6+lZi2JeGKtCraAj1rpoZfKqnQ9SptseRZioejfUOLM= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0/go.mod h1:eb3gfbVIxIoGgJsi9pGne19dhCBpK6opTYpQqAmdy44= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.2 h1:blV3dY6WbxIVOFggfYIo2E1Q2lZoy5imS7nKgu5m6Tc= @@ -303,8 +303,8 @@ github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.2 h1:0hBNFAPwecERLz github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.2/go.mod h1:Vcnh4KyR4imrrjGN7A2kP2v9y6EPudqoPKXtnmBliPU= github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.23.0 h1:/44qK3M/wwUHIh6fw8Z/pm362EqpfD+fZAGYfhWi0sM= github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.23.0/go.mod h1:p3ntR2Ri7KsPgyP3KwxAULDZS2uvcyflGlCG7P12GPM= -github.com/aws/aws-sdk-go-v2/service/invoicing v1.4.0 h1:UqKNZKv1RZoZgtUEqitmGQ0dne6YlX7tGjh+te3V6p0= -github.com/aws/aws-sdk-go-v2/service/invoicing v1.4.0/go.mod h1:ETBlZYI8+Z9TZrkgUaNwsPlszeWXKAKsMx3rf+o0uS8= +github.com/aws/aws-sdk-go-v2/service/invoicing v1.5.0 h1:EkI/erJ76tuIC3jWDlbewNKTPNY6xfgUA7XNWv6N+js= +github.com/aws/aws-sdk-go-v2/service/invoicing v1.5.0/go.mod h1:ETBlZYI8+Z9TZrkgUaNwsPlszeWXKAKsMx3rf+o0uS8= github.com/aws/aws-sdk-go-v2/service/iot v1.67.0 h1:0L3aLkPF/jPeNj72Ngq3IEUajjG/4NHImu3Cgp2ZxhI= github.com/aws/aws-sdk-go-v2/service/iot v1.67.0/go.mod h1:BZC1OnoCZY2CrgV+eaIEA+4M9i7DSugWwEFiUavIZMI= github.com/aws/aws-sdk-go-v2/service/ivs v1.45.0 h1:tbr4jDMvdK5cyF++EOKsBWzsHfNOOhWdRje/pt8yEck= @@ -383,10 +383,10 @@ github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.1 h1:/hWh9bCgGoSu/9gCb github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.1/go.mod h1:DRGdwN5NLYVlzoGdtiL5MdMqU0BdFjdWoWhNzwKVm7Y= github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0 h1:dM23haMPsRX6r06zzY7rKskzOnmcAf4u3gQe4/vKM5c= github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0/go.mod h1:Lh8S1WeO7D8Ns0h1idoyviPIKqgAQcFzZo3VvQ+AgI8= -github.com/aws/aws-sdk-go-v2/service/notifications v1.4.0 h1:ZBcFqe31Uf8k8UeeJdHnH3lKpoFx5uWnu2tg01CTmos= -github.com/aws/aws-sdk-go-v2/service/notifications v1.4.0/go.mod h1:W2ABt0ansVFxchQAfWPN15TpYJ8j57V2l85IWCVLwYc= -github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.3.0 h1:UQxLazViGi1qelen17Bu1NtoGS+S2/fj+FhpJMj02gg= -github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.3.0/go.mod h1:Z6RSoe6VNgsneyA8k2BHoCtPo4Hg6XUyQtxsSFCd7pc= +github.com/aws/aws-sdk-go-v2/service/notifications v1.5.0 h1:YifmABeygW8RKZ5NRJlbRXsxWjYrAg7Nxm11htFZqks= +github.com/aws/aws-sdk-go-v2/service/notifications v1.5.0/go.mod h1:W2ABt0ansVFxchQAfWPN15TpYJ8j57V2l85IWCVLwYc= +github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.4.0 h1:5b6bDRKAl7lbowvywEqqxdeON4RzWOP3e93l9V5nTy0= +github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.4.0/go.mod h1:Z6RSoe6VNgsneyA8k2BHoCtPo4Hg6XUyQtxsSFCd7pc= github.com/aws/aws-sdk-go-v2/service/oam v1.20.0 h1:AGZUcqcsU1QR4xi4A4foyeHY5XtmjQQd5+bIDoP3keQ= github.com/aws/aws-sdk-go-v2/service/oam v1.20.0/go.mod h1:3D54bBPVQYqvjyX9mC5kGoPyW2vUvpmJoNzlTriumJQ= github.com/aws/aws-sdk-go-v2/service/odb v1.2.0 h1:8EO3R+giEm/zs9KfQ4eBqa4W17bcpGvG7LEBjMjpdVQ= @@ -469,10 +469,10 @@ github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0 h1:M5nUP3UBHZEjw0QS1JfqQ github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0/go.mod h1:jdBR10G+Lp9mVcEZkbFPVJdSAEq+HJVnQLOIkRylRt8= github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0 h1:lLiy94CE3tRVKCFM6nsa0ERMBhDBC9EDC6Bx1shhack= github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0/go.mod h1:4W2CAy/TSu6SJ8DlBv5LSz7x58DPN8aiRdlhjvg8WEA= -github.com/aws/aws-sdk-go-v2/service/s3vectors v1.2.0 h1:7xf0bQV6aVtFUV1Z59hT9AmWHY+LBww82jN2gywAgkM= -github.com/aws/aws-sdk-go-v2/service/s3vectors v1.2.0/go.mod h1:ionbPTnYOWe9G7OQi/yGz0fDefoTUiAWs2tFAxCQiss= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.205.0 h1:1aWqLosrIuGX8pOdtwBrpMORYRFMpRnv+qnutCCxQbg= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.205.0/go.mod h1:QAk+j4WZ3VtD9yJDKqF/sVq0fQCcjjQ5gZLVvoVGmWA= +github.com/aws/aws-sdk-go-v2/service/s3vectors v1.3.0 h1:Edx+W8Px8zDrFnoyxwdOjFUzHPzuxy0IXxIV+T/Z3bI= +github.com/aws/aws-sdk-go-v2/service/s3vectors v1.3.0/go.mod h1:ionbPTnYOWe9G7OQi/yGz0fDefoTUiAWs2tFAxCQiss= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.206.0 h1:TW3sZpiVEqvSksoVXoniO+4hmJ97E+40pazr3m5EMv8= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.206.0/go.mod h1:QAk+j4WZ3VtD9yJDKqF/sVq0fQCcjjQ5gZLVvoVGmWA= github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0 h1:peHVUtoH7i9QzmkCMyky/a+b2ysCMJ/M+KOtCVmkg7M= github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0/go.mod h1:cQvpps9Xy75b4TIzRYRMnSYaUneTlECRD6p0Vn9hLew= github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0 h1:gpBCY2ekUMIFVyczrg5RZlhfCSfPvq33oo+vAKuz5TI= @@ -539,8 +539,8 @@ github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.33.0 h1:FpXclEjSpDkYeCvL github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.33.0/go.mod h1:AOmT9Dn8c674nUD56pQAb9rCkhhrlK1K6ULaz3T6/EM= github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.33.0 h1:Ien1hQnz4TwH27FV3BUZxOnp+OYoamqNG3DrHX7clJ0= github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.33.0/go.mod h1:WquhdpcwQ2IToqTKc9GJSoA4Unm69MhLMXEO6qbhjKU= -github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.0 h1:6M0y4QaxEOVKWytk0Dp+PqJyvuoiEZDuwqJSitZPTUM= -github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.0/go.mod h1:C4HQjEMMSrwJQKQsFslNNOeP3dICpXktxWJ6MjRCyq8= +github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.1 h1:/ToMjU95u9zM7d5DgePvhgGMfkDJFe9Y+WFbRl7Copw= +github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.1/go.mod h1:C4HQjEMMSrwJQKQsFslNNOeP3dICpXktxWJ6MjRCyq8= github.com/aws/aws-sdk-go-v2/service/transfer v1.63.0 h1:ccfREMOY7VoLlSuSEH/wvXr1Ex+AbmKSKf1iTYvsyYI= github.com/aws/aws-sdk-go-v2/service/transfer v1.63.0/go.mod h1:zZCkAJeuF8Pfs9vOShUWoL7cXqANEbYaycWjiPeHzJo= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.26.0 h1:PpHbbpQ2q02tM40tzUGwRpuTDHc36TtujWkKgcUZhJs= From 9f1e2bd287acec995db6fd86d54bff04eee6bf4a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Mon, 11 Aug 2025 08:04:26 -0400 Subject: [PATCH 0782/1301] No need for a CHANGELOG entry. --- .changelog/43793.txt | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 .changelog/43793.txt diff --git a/.changelog/43793.txt b/.changelog/43793.txt deleted file mode 100644 index b81f342de983..000000000000 --- a/.changelog/43793.txt +++ /dev/null @@ -1,3 +0,0 @@ -```release-note:bug -resource/aws_verifiedpermissions_policy: Upgrade `cedar-go` to v1.6.2 and replace previously experimental API usages with that of the current API -``` \ No newline at end of file From 8be8560b1e92a24b963809453ff5b6d9dac08de3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Aug 2025 12:05:35 +0000 Subject: [PATCH 0783/1301] Bump golang.org/x/tools from 0.35.0 to 0.36.0 Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.35.0 to 0.36.0. - [Release notes](https://github.com/golang/tools/releases) - [Commits](https://github.com/golang/tools/compare/v0.35.0...v0.36.0) --- updated-dependencies: - dependency-name: golang.org/x/tools dependency-version: 0.36.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 10 +++++----- go.sum | 24 ++++++++++++------------ 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/go.mod b/go.mod index db6ccd3c5da4..b2e5e344f5f7 100644 --- a/go.mod +++ b/go.mod @@ -307,9 +307,9 @@ require ( github.com/mitchellh/mapstructure v1.5.0 github.com/pquerna/otp v1.5.0 github.com/shopspring/decimal v1.4.0 - golang.org/x/crypto v0.40.0 + golang.org/x/crypto v0.41.0 golang.org/x/text v0.28.0 - golang.org/x/tools v0.35.0 + golang.org/x/tools v0.36.0 gopkg.in/dnaeon/go-vcr.v4 v4.0.4 gopkg.in/yaml.v3 v3.0.1 ) @@ -372,10 +372,10 @@ require ( go.opentelemetry.io/otel v1.36.0 // indirect go.opentelemetry.io/otel/metric v1.36.0 // indirect go.opentelemetry.io/otel/trace v1.36.0 // indirect - golang.org/x/mod v0.26.0 // indirect - golang.org/x/net v0.42.0 // indirect + golang.org/x/mod v0.27.0 // indirect + golang.org/x/net v0.43.0 // indirect golang.org/x/sync v0.16.0 // indirect - golang.org/x/sys v0.34.0 // indirect + golang.org/x/sys v0.35.0 // indirect google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250505200425-f936aa4a68b2 // indirect google.golang.org/grpc v1.72.1 // indirect diff --git a/go.sum b/go.sum index a13aacef8c3d..8eacd8739b5c 100644 --- a/go.sum +++ b/go.sum @@ -803,18 +803,18 @@ go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= -golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM= -golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY= +golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4= +golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.26.0 h1:EGMPT//Ezu+ylkCijjPc+f4Aih7sZvaAr+O3EHBxvZg= -golang.org/x/mod v0.26.0/go.mod h1:/j6NAhSk8iQ723BGAUyoAcn7SlD7s15Dp9Nd/SfeaFQ= +golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ= +golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= -golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs= -golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8= +golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= +golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -832,13 +832,13 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA= -golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= +golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= -golang.org/x/term v0.33.0 h1:NuFncQrRcaRvVmgRkvM3j/F00gWIAlcmlB8ACEKmGIg= -golang.org/x/term v0.33.0/go.mod h1:s18+ql9tYWp1IfpV9DmCtQDDSRBUjKaw9M1eAv5UeF0= +golang.org/x/term v0.34.0 h1:O/2T7POpk0ZZ7MAzMeWFSg6S5IpWd/RXDlM9hgM3DR4= +golang.org/x/term v0.34.0/go.mod h1:5jC53AEywhIVebHgPVeg0mj8OD3VO9OzclacVrqpaAw= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= @@ -849,8 +849,8 @@ golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.35.0 h1:mBffYraMEf7aa0sB+NuKnuCy8qI/9Bughn8dC2Gu5r0= -golang.org/x/tools v0.35.0/go.mod h1:NKdj5HkL/73byiZSJjqJgKn3ep7KjFkBOkR/Hps3VPw= +golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg= +golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= From 27c445bf46200d331817bab6b0dbd78dc4b7e1ed Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Aug 2025 12:05:42 +0000 Subject: [PATCH 0784/1301] Bump golang.org/x/crypto from 0.40.0 to 0.41.0 Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.40.0 to 0.41.0. - [Commits](https://github.com/golang/crypto/compare/v0.40.0...v0.41.0) --- updated-dependencies: - dependency-name: golang.org/x/crypto dependency-version: 0.41.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 4 ++-- go.sum | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/go.mod b/go.mod index db6ccd3c5da4..b97a04cf858b 100644 --- a/go.mod +++ b/go.mod @@ -307,7 +307,7 @@ require ( github.com/mitchellh/mapstructure v1.5.0 github.com/pquerna/otp v1.5.0 github.com/shopspring/decimal v1.4.0 - golang.org/x/crypto v0.40.0 + golang.org/x/crypto v0.41.0 golang.org/x/text v0.28.0 golang.org/x/tools v0.35.0 gopkg.in/dnaeon/go-vcr.v4 v4.0.4 @@ -375,7 +375,7 @@ require ( golang.org/x/mod v0.26.0 // indirect golang.org/x/net v0.42.0 // indirect golang.org/x/sync v0.16.0 // indirect - golang.org/x/sys v0.34.0 // indirect + golang.org/x/sys v0.35.0 // indirect google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250505200425-f936aa4a68b2 // indirect google.golang.org/grpc v1.72.1 // indirect diff --git a/go.sum b/go.sum index a13aacef8c3d..0850b1e32cb2 100644 --- a/go.sum +++ b/go.sum @@ -803,8 +803,8 @@ go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= -golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM= -golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY= +golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4= +golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.26.0 h1:EGMPT//Ezu+ylkCijjPc+f4Aih7sZvaAr+O3EHBxvZg= golang.org/x/mod v0.26.0/go.mod h1:/j6NAhSk8iQ723BGAUyoAcn7SlD7s15Dp9Nd/SfeaFQ= @@ -832,13 +832,13 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA= -golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= +golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= -golang.org/x/term v0.33.0 h1:NuFncQrRcaRvVmgRkvM3j/F00gWIAlcmlB8ACEKmGIg= -golang.org/x/term v0.33.0/go.mod h1:s18+ql9tYWp1IfpV9DmCtQDDSRBUjKaw9M1eAv5UeF0= +golang.org/x/term v0.34.0 h1:O/2T7POpk0ZZ7MAzMeWFSg6S5IpWd/RXDlM9hgM3DR4= +golang.org/x/term v0.34.0/go.mod h1:5jC53AEywhIVebHgPVeg0mj8OD3VO9OzclacVrqpaAw= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= From 7fe9afd3fcf6543ba24863492340136e052f785c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Mon, 11 Aug 2025 08:24:28 -0400 Subject: [PATCH 0785/1301] Add CHANGELOG entry. --- .changelog/43787.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/43787.txt diff --git a/.changelog/43787.txt b/.changelog/43787.txt new file mode 100644 index 000000000000..b14d0598fc6e --- /dev/null +++ b/.changelog/43787.txt @@ -0,0 +1,3 @@ +```release-note:new-resource +aws_appsync_api +``` \ No newline at end of file From f224746379078b0954a95abbf0c0e0015a60ca79 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Mon, 11 Aug 2025 08:37:15 -0400 Subject: [PATCH 0786/1301] chore: changelog --- .changelog/43759.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/43759.txt diff --git a/.changelog/43759.txt b/.changelog/43759.txt new file mode 100644 index 000000000000..74decbdf3aa0 --- /dev/null +++ b/.changelog/43759.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/aws_cloudwatch_metric_alarm: Add resource identity support +``` From e5d1b1af41d6f8315959a11b3bc91c59b4e9dd29 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Mon, 11 Aug 2025 10:01:11 -0400 Subject: [PATCH 0787/1301] Add 'TestAccStorageGatewayGateway_offline'. --- .../service/storagegateway/gateway_test.go | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/internal/service/storagegateway/gateway_test.go b/internal/service/storagegateway/gateway_test.go index d099f8afc05a..00725bad0568 100644 --- a/internal/service/storagegateway/gateway_test.go +++ b/internal/service/storagegateway/gateway_test.go @@ -871,6 +871,35 @@ func TestAccStorageGatewayGateway_maintenanceStartTime(t *testing.T) { }) } +// https://github.com/hashicorp/terraform-provider-aws/issues/27523. +func TestAccStorageGatewayGateway_offline(t *testing.T) { + ctx := acctest.Context(t) + var gateway storagegateway.DescribeGatewayInformationOutput + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_storagegateway_gateway.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.StorageGatewayServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckGatewayDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccGatewayConfig_typeCached(rName), + Check: resource.ComposeTestCheckFunc( + testAccCheckGatewayExists(ctx, resourceName, &gateway), + ), + }, + { + Config: testAccGatewayConfig_offline(rName), + Check: resource.ComposeTestCheckFunc( + testAccCheckGatewayExists(ctx, resourceName, &gateway), + ), + }, + }, + }) +} + func testAccCheckGatewayDestroy(ctx context.Context) resource.TestCheckFunc { return func(s *terraform.State) error { conn := acctest.Provider.Meta().(*conns.AWSClient).StorageGatewayClient(ctx) @@ -1494,3 +1523,13 @@ resource "aws_storagegateway_gateway" "test" { } `, rName, hourOfDay, minuteOfHour, dayOfWeek, dayOfMonth)) } + +func testAccGatewayConfig_offline(rName string) string { + return acctest.ConfigCompose(testAccGatewayConfig_typeCached(rName), ` +resource "aws_ec2_instance_state" "test" { + instance_id = aws_instance.test.id + state = "stopped" + force = true +} +`) +} From 4c5c2a0bb24059ba9d75ec4c527e37e9d206a70b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Mon, 11 Aug 2025 10:01:20 -0400 Subject: [PATCH 0788/1301] Acceptance test output: % make testacc TESTARGS='-run=TestAccStorageGatewayGateway_offline' PKG=storagegateway make: Verifying source code with gofmt... ==> Checking that code complies with gofmt requirements... TF_ACC=1 go1.24.5 test ./internal/service/storagegateway/... -v -count 1 -parallel 20 -run=TestAccStorageGatewayGateway_offline -timeout 360m -vet=off 2025/08/11 09:55:44 Creating Terraform AWS Provider (SDKv2-style)... 2025/08/11 09:55:44 Initializing Terraform AWS Provider (SDKv2-style)... === RUN TestAccStorageGatewayGateway_offline === PAUSE TestAccStorageGatewayGateway_offline === CONT TestAccStorageGatewayGateway_offline gateway_test.go:881: Step 2/2 error: Check failed: Check 1/1 error: operation error Storage Gateway: DescribeGatewayInformation, https response error StatusCode: 400, RequestID: 75c069a6-cde5-440d-a589-9653c9133b04, InvalidGatewayRequestException: The specified gateway is not connected. --- FAIL: TestAccStorageGatewayGateway_offline (262.45s) FAIL FAIL github.com/hashicorp/terraform-provider-aws/internal/service/storagegateway 268.441s FAIL make: *** [testacc] Error 1 From 597c7ee9f0a83ceb39edc1f00b25bb2bc09545bf Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Mon, 11 Aug 2025 11:04:50 -0400 Subject: [PATCH 0789/1301] r/aws_cloudwatch_event_rule: add resource identity (#43758) === RUN TestAccEventsRule_Identity_Basic --- PASS: TestAccEventsRule_Identity_Basic (78.32s) === RUN TestAccEventsRule_Identity_RegionOverride --- PASS: TestAccEventsRule_Identity_RegionOverride (78.86s) === RUN TestAccEventsRule_Identity_ExistingResource --- PASS: TestAccEventsRule_Identity_ExistingResource (92.99s) === RUN TestAccEventsRule_basic --- PASS: TestAccEventsRule_basic (97.99s) === RUN TestAccEventsRule_eventBusName --- PASS: TestAccEventsRule_eventBusName (95.56s) === RUN TestAccEventsRule_role --- PASS: TestAccEventsRule_role (60.85s) === RUN TestAccEventsRule_description --- PASS: TestAccEventsRule_description (81.50s) === RUN TestAccEventsRule_pattern --- PASS: TestAccEventsRule_pattern (80.69s) === RUN TestAccEventsRule_patternJSONEncoder --- PASS: TestAccEventsRule_patternJSONEncoder (41.90s) === RUN TestAccEventsRule_scheduleAndPattern --- PASS: TestAccEventsRule_scheduleAndPattern (56.32s) === RUN TestAccEventsRule_namePrefix --- PASS: TestAccEventsRule_namePrefix (56.38s) === RUN TestAccEventsRule_Name_generated --- PASS: TestAccEventsRule_Name_generated (55.90s) === RUN TestAccEventsRule_tags --- PASS: TestAccEventsRule_tags (94.64s) === RUN TestAccEventsRule_isEnabled --- PASS: TestAccEventsRule_isEnabled (98.21s) === RUN TestAccEventsRule_state --- PASS: TestAccEventsRule_state (84.71s) === RUN TestAccEventsRule_eventBusARN --- PASS: TestAccEventsRule_eventBusARN (59.06s) === RUN TestAccEventsRule_migrateV0 --- PASS: TestAccEventsRule_migrateV0 (0.00s) === RUN TestAccEventsRule_migrateV0_Equivalent --- PASS: TestAccEventsRule_migrateV0_Equivalent (0.00s) PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/events 105.031s --- .changelog/43758.txt | 3 + internal/service/events/generate.go | 1 + internal/service/events/rule.go | 7 +- .../service/events/rule_identity_gen_test.go | 251 ++++++++++++++++++ .../service/events/service_package_gen.go | 6 +- .../events/testdata/Rule/basic/main_gen.tf | 13 + .../testdata/Rule/basic_v6.7.0/main_gen.tf | 23 ++ .../testdata/Rule/region_override/main_gen.tf | 21 ++ .../events/testdata/tmpl/rule_tags.gtpl | 6 + 9 files changed, 326 insertions(+), 5 deletions(-) create mode 100644 .changelog/43758.txt create mode 100644 internal/service/events/rule_identity_gen_test.go create mode 100644 internal/service/events/testdata/Rule/basic/main_gen.tf create mode 100644 internal/service/events/testdata/Rule/basic_v6.7.0/main_gen.tf create mode 100644 internal/service/events/testdata/Rule/region_override/main_gen.tf create mode 100644 internal/service/events/testdata/tmpl/rule_tags.gtpl diff --git a/.changelog/43758.txt b/.changelog/43758.txt new file mode 100644 index 000000000000..1c84fc9372a6 --- /dev/null +++ b/.changelog/43758.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/aws_cloudwatch_event_rule: Add resource identity support +``` diff --git a/internal/service/events/generate.go b/internal/service/events/generate.go index 859b9818afde..61fecb3cb47b 100644 --- a/internal/service/events/generate.go +++ b/internal/service/events/generate.go @@ -4,6 +4,7 @@ //go:generate go run ../../generate/listpages/main.go -ListOps=ListApiDestinations,ListArchives,ListConnections,ListEventBuses,ListEventSources,ListRules,ListTargetsByRule //go:generate go run ../../generate/tags/main.go -ListTags -ListTagsInIDElem=ResourceARN -ServiceTagsSlice -TagInIDElem=ResourceARN -UpdateTags -CreateTags //go:generate go run ../../generate/servicepackage/main.go +//go:generate go run ../../generate/identitytests/main.go // ONLY generate directives and package declaration! Do not add anything else to this file. package events diff --git a/internal/service/events/rule.go b/internal/service/events/rule.go index ab027507797f..ad6d3668c8b1 100644 --- a/internal/service/events/rule.go +++ b/internal/service/events/rule.go @@ -33,6 +33,9 @@ import ( // @SDKResource("aws_cloudwatch_event_rule", name="Rule") // @Tags(identifierAttribute="arn") +// @IdentityAttribute("name") +// @Testing(preIdentityVersion="v6.7.0") +// @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/eventbridge;eventbridge.DescribeRuleOutput") func resourceRule() *schema.Resource { return &schema.Resource{ CreateWithoutTimeout: resourceRuleCreate, @@ -40,10 +43,6 @@ func resourceRule() *schema.Resource { UpdateWithoutTimeout: resourceRuleUpdate, DeleteWithoutTimeout: resourceRuleDelete, - Importer: &schema.ResourceImporter{ - StateContext: schema.ImportStatePassthroughContext, - }, - SchemaVersion: 1, StateUpgraders: []schema.StateUpgrader{ { diff --git a/internal/service/events/rule_identity_gen_test.go b/internal/service/events/rule_identity_gen_test.go new file mode 100644 index 000000000000..804026fdcaac --- /dev/null +++ b/internal/service/events/rule_identity_gen_test.go @@ -0,0 +1,251 @@ +// Code generated by internal/generate/identitytests/main.go; DO NOT EDIT. + +package events_test + +import ( + "testing" + + "github.com/aws/aws-sdk-go-v2/service/eventbridge" + "github.com/hashicorp/terraform-plugin-testing/config" + sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-plugin-testing/tfversion" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfknownvalue "github.com/hashicorp/terraform-provider-aws/internal/acctest/knownvalue" + tfstatecheck "github.com/hashicorp/terraform-provider-aws/internal/acctest/statecheck" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccEventsRule_Identity_Basic(t *testing.T) { + ctx := acctest.Context(t) + + var v eventbridge.DescribeRuleOutput + resourceName := "aws_cloudwatch_event_rule.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.EventsServiceID), + CheckDestroy: testAccCheckRuleDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/Rule/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckRuleExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.Region()), + names.AttrName: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrName)), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/Rule/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/Rule/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrName), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/Rule/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrName), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + }, + }) +} + +func TestAccEventsRule_Identity_RegionOverride(t *testing.T) { + ctx := acctest.Context(t) + + resourceName := "aws_cloudwatch_event_rule.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.EventsServiceID), + CheckDestroy: acctest.CheckDestroyNoop, + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/Rule/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrName: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrName)), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/Rule/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/Rule/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrName), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/Rule/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrName), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + }, + }) +} + +// Resource Identity was added after v6.7.0 +func TestAccEventsRule_Identity_ExistingResource(t *testing.T) { + ctx := acctest.Context(t) + + var v eventbridge.DescribeRuleOutput + resourceName := "aws_cloudwatch_event_rule.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.EventsServiceID), + CheckDestroy: testAccCheckRuleDestroy(ctx), + Steps: []resource.TestStep{ + // Step 1: Create pre-Identity + { + ConfigDirectory: config.StaticDirectory("testdata/Rule/basic_v6.7.0/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckRuleExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + tfstatecheck.ExpectNoIdentity(resourceName), + }, + }, + + // Step 2: Current version + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/Rule/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.Region()), + names.AttrName: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrName)), + }, + }, + }, + }) +} diff --git a/internal/service/events/service_package_gen.go b/internal/service/events/service_package_gen.go index 507963e9a56d..ada7dc3fa050 100644 --- a/internal/service/events/service_package_gen.go +++ b/internal/service/events/service_package_gen.go @@ -110,7 +110,11 @@ func (p *servicePackage) SDKResources(ctx context.Context) []*inttypes.ServicePa Tags: unique.Make(inttypes.ServicePackageResourceTags{ IdentifierAttribute: names.AttrARN, }), - Region: unique.Make(inttypes.ResourceRegionDefault()), + Region: unique.Make(inttypes.ResourceRegionDefault()), + Identity: inttypes.RegionalSingleParameterIdentity(names.AttrName), + Import: inttypes.SDKv2Import{ + WrappedImport: true, + }, }, { Factory: resourceTarget, diff --git a/internal/service/events/testdata/Rule/basic/main_gen.tf b/internal/service/events/testdata/Rule/basic/main_gen.tf new file mode 100644 index 000000000000..eb4efbf1045e --- /dev/null +++ b/internal/service/events/testdata/Rule/basic/main_gen.tf @@ -0,0 +1,13 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_cloudwatch_event_rule" "test" { + name = var.rName + schedule_expression = "rate(1 hour)" +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} diff --git a/internal/service/events/testdata/Rule/basic_v6.7.0/main_gen.tf b/internal/service/events/testdata/Rule/basic_v6.7.0/main_gen.tf new file mode 100644 index 000000000000..acdd22dc8c42 --- /dev/null +++ b/internal/service/events/testdata/Rule/basic_v6.7.0/main_gen.tf @@ -0,0 +1,23 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_cloudwatch_event_rule" "test" { + name = var.rName + schedule_expression = "rate(1 hour)" +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "6.7.0" + } + } +} + +provider "aws" {} diff --git a/internal/service/events/testdata/Rule/region_override/main_gen.tf b/internal/service/events/testdata/Rule/region_override/main_gen.tf new file mode 100644 index 000000000000..bd34d4d86196 --- /dev/null +++ b/internal/service/events/testdata/Rule/region_override/main_gen.tf @@ -0,0 +1,21 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_cloudwatch_event_rule" "test" { + region = var.region + + name = var.rName + schedule_expression = "rate(1 hour)" +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "region" { + description = "Region to deploy resource in" + type = string + nullable = false +} diff --git a/internal/service/events/testdata/tmpl/rule_tags.gtpl b/internal/service/events/testdata/tmpl/rule_tags.gtpl new file mode 100644 index 000000000000..de7064c5419f --- /dev/null +++ b/internal/service/events/testdata/tmpl/rule_tags.gtpl @@ -0,0 +1,6 @@ +resource "aws_cloudwatch_event_rule" "test" { +{{- template "region" }} + name = var.rName + schedule_expression = "rate(1 hour)" +{{- template "tags" }} +} From f3b2bb1c589f23b9208fb46cc1e04693f30a1869 Mon Sep 17 00:00:00 2001 From: changelogbot Date: Mon, 11 Aug 2025 15:10:47 +0000 Subject: [PATCH 0790/1301] Update CHANGELOG.md for #43759 --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e4c8aa78130..01eaf79fdb55 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ENHANCEMENTS: +* resource/aws_cloudwatch_event_rule: Add resource identity support ([#43758](https://github.com/hashicorp/terraform-provider-aws/issues/43758)) +* resource/aws_cloudwatch_metric_alarm: Add resource identity support ([#43759](https://github.com/hashicorp/terraform-provider-aws/issues/43759)) * resource/aws_dynamodb_table: Add `replica.deletion_protection_enabled` argument ([#43240](https://github.com/hashicorp/terraform-provider-aws/issues/43240)) BUG FIXES: From 2dc892ec0a9c1f760dd021433911690ffd768b57 Mon Sep 17 00:00:00 2001 From: Gregory Kman <12501773+gregops312@users.noreply.github.com> Date: Mon, 11 Aug 2025 12:13:15 -0500 Subject: [PATCH 0791/1301] Merge pull request #43807 from gregops312/b-aws_sagemaker_user_profile-regex Fix SageMaker user profile regex --- .changelog/43807.txt | 3 +++ internal/service/sagemaker/user_profile.go | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 .changelog/43807.txt diff --git a/.changelog/43807.txt b/.changelog/43807.txt new file mode 100644 index 000000000000..a802df2e0e7b --- /dev/null +++ b/.changelog/43807.txt @@ -0,0 +1,3 @@ +```release-note:bug +resource/aws_sagemaker_user_profile: Fix incomplete regex for `user_profile_name` +``` \ No newline at end of file diff --git a/internal/service/sagemaker/user_profile.go b/internal/service/sagemaker/user_profile.go index 49975cc4b7b3..66e94cf659a6 100644 --- a/internal/service/sagemaker/user_profile.go +++ b/internal/service/sagemaker/user_profile.go @@ -78,7 +78,7 @@ func resourceUserProfile() *schema.Resource { ForceNew: true, ValidateFunc: validation.All( validation.StringLenBetween(1, 63), - validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z](-*[0-9A-Za-z]){0,62}`), "Valid characters are a-z, A-Z, 0-9, and - (hyphen)."), + validation.StringMatch(regexache.MustCompile(`^[0-9A-Za-z](-*[0-9A-Za-z]){0,62}$`), "Valid characters are a-z, A-Z, 0-9, and - (hyphen)."), ), }, "user_settings": { From 92b26778c992c0246cb88e756e21aec68c2b68b7 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Mon, 11 Aug 2025 13:59:22 -0400 Subject: [PATCH 0792/1301] [docs] Update intro blurb for provider --- .github/workflows/resource-counts.yml | 4 ++-- website/docs/index.html.markdown | 13 ++++--------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/.github/workflows/resource-counts.yml b/.github/workflows/resource-counts.yml index ad5f0fb71592..89eb1912b884 100644 --- a/.github/workflows/resource-counts.yml +++ b/.github/workflows/resource-counts.yml @@ -37,8 +37,8 @@ jobs: - run: terraform init - run: | datasources=$(terraform providers schema -json | jq '.provider_schemas[] .data_source_schemas | length') - resources=$(terraform providers schema -json | jq '.provider_schemas[] .resource_schemas | length') - sed -r -i "s/There are currently ([0-9]+) resources and ([0-9]+)(.*)/There are currently $resources resources and $datasources\3/" website/docs/index.html.markdown + resources=$(terraform providers schema -json | jq '.provider_schemas[] .resource_schemas | length' | sed ':a;s/\B[0-9]\{3\}\>/,&/;ta') + sed -r -i "s/With ([0-9,]+) resources and ([0-9]+) data sources,/With $resources resources and $datasources data sources,/" website/docs/index.html.markdown - run: | rm main.tf rm .terraform.lock.hcl diff --git a/website/docs/index.html.markdown b/website/docs/index.html.markdown index a5601e62635d..67ae3cec65b6 100644 --- a/website/docs/index.html.markdown +++ b/website/docs/index.html.markdown @@ -7,18 +7,13 @@ description: |- # AWS Provider -Use the Amazon Web Services (AWS) provider to interact with the -many resources supported by AWS. You must configure the provider -with the proper credentials before you can use it. +The Amazon Web Services (AWS) provider is Terraform’s most widely-used provider and the industry-standard way to manage AWS infrastructure as code. Trusted by organizations such as Netflix, Lyft, Stripe, Shopify, Slack, and the U.S. Department of Defense, it provisions and orchestrates billions of dollars of AWS infrastructure across thousands of organizations every day. -Use the navigation to the left to read about the available resources. There are currently 1516 resources and 609 data sources available in the provider. +With 1,514 resources and 609 data sources, the AWS provider supports the full breadth of AWS services—from foundational compute, storage, and networking to advanced capabilities like Lambda, RDS, and IAM. Whether you are automating a single S3 bucket or operating a multi-region, enterprise-scale architecture, the provider delivers consistent, reliable workflows that scale with your needs. -To learn the basics of Terraform using this provider, follow the -hands-on [get started tutorials](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/infrastructure-as-code?in=terraform/aws-get-started&utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS). Interact with AWS services, -including Lambda, RDS, and IAM by following the [AWS services -tutorials](https://developer.hashicorp.com/terraform/tutorials/aws?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS). +Configure the provider with your AWS credentials, and you can immediately begin creating and managing infrastructure in a safe, repeatable way. Use the navigation on the left to explore the available resources, or start with our [Get Started tutorials](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/infrastructure-as-code?in=terraform/aws-get-started&utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) to learn the fundamentals. For deeper guidance on specific AWS services, visit the [AWS services tutorials](https://developer.hashicorp.com/terraform/tutorials/aws?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS). -Some AWS services do not support IPv6. As a result, the provider may not be able to interact with AWS APIs using IPv6 addresses. +Note: Some AWS services do not yet support IPv6. In those cases, the provider may not be able to connect to AWS APIs over IPv6 addresses. ## Example Usage From eba9b7d5fef8f3152882335cd31a7adbff641a03 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Mon, 11 Aug 2025 14:08:16 -0400 Subject: [PATCH 0793/1301] Keep data sources consistent --- .github/workflows/resource-counts.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/resource-counts.yml b/.github/workflows/resource-counts.yml index 89eb1912b884..331baa6af823 100644 --- a/.github/workflows/resource-counts.yml +++ b/.github/workflows/resource-counts.yml @@ -36,9 +36,9 @@ jobs: EOF - run: terraform init - run: | - datasources=$(terraform providers schema -json | jq '.provider_schemas[] .data_source_schemas | length') + datasources=$(terraform providers schema -json | jq '.provider_schemas[] .data_source_schemas | length' | sed ':a;s/\B[0-9]\{3\}\>/,&/;ta') resources=$(terraform providers schema -json | jq '.provider_schemas[] .resource_schemas | length' | sed ':a;s/\B[0-9]\{3\}\>/,&/;ta') - sed -r -i "s/With ([0-9,]+) resources and ([0-9]+) data sources,/With $resources resources and $datasources data sources,/" website/docs/index.html.markdown + sed -r -i "s/With ([0-9,]+) resources and ([0-9,]+) data sources,/With $resources resources and $datasources data sources,/" website/docs/index.html.markdown - run: | rm main.tf rm .terraform.lock.hcl From 0d88ddd7fc90fbfcddc4a429baf97c300b0216d8 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Mon, 11 Aug 2025 14:09:11 -0400 Subject: [PATCH 0794/1301] r/aws_storagegateway_gateway: Handle `InvalidGatewayRequestException: The specified gateway is not connected` errors during Read by using the [`ListGateways` API](https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_ListGateways.html) to return minimal information about a disconnected gateway. --- .changelog/#####.txt | 3 + internal/service/storagegateway/errors.go | 20 +- .../service/storagegateway/exports_test.go | 1 + internal/service/storagegateway/gateway.go | 190 ++++++++++++++---- .../service/storagegateway/gateway_test.go | 53 ++--- 5 files changed, 197 insertions(+), 70 deletions(-) create mode 100644 .changelog/#####.txt diff --git a/.changelog/#####.txt b/.changelog/#####.txt new file mode 100644 index 000000000000..3f4b36d858b4 --- /dev/null +++ b/.changelog/#####.txt @@ -0,0 +1,3 @@ +```release-note:bug +resource/aws_storagegateway_gateway: Handle `InvalidGatewayRequestException: The specified gateway is not connected` errors during Read by using the [`ListGateways` API](https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_ListGateways.html) to return minimal information about a disconnected gateway. This functionality requires the `storagegateway:ListGateways` IAM permission +``` \ No newline at end of file diff --git a/internal/service/storagegateway/errors.go b/internal/service/storagegateway/errors.go index 99f064a8cf40..0a911feefdc7 100644 --- a/internal/service/storagegateway/errors.go +++ b/internal/service/storagegateway/errors.go @@ -14,7 +14,6 @@ import ( const ( operationErrCodeFileShareNotFound awstypes.ErrorCode = "FileShareNotFound" operationErrCodeFileSystemAssociationNotFound awstypes.ErrorCode = "FileSystemAssociationNotFound" - operationErrCodeGatewayNotFound awstypes.ErrorCode = "GatewayNotFound" ) // operationErrorCode returns the operation error code from the specified error: @@ -34,9 +33,26 @@ func operationErrorCode(err error) awstypes.ErrorCode { return "" } +// The API returns multiple responses for a disconnected gateway. +func isGatewayNotConnectedErr(err error) bool { + if operationErrorCode(err) == awstypes.ErrorCodeGatewayNotConnected { + return true + } + + if tfawserr.ErrCodeEquals(err, string(awstypes.ErrorCodeGatewayNotConnected)) { + return true + } + + if errs.IsAErrorMessageContains[*awstypes.InvalidGatewayRequestException](err, "The specified gateway is not connected") { + return true + } + + return false +} + // The API returns multiple responses for a missing gateway. func isGatewayNotFoundErr(err error) bool { - if operationErrorCode(err) == operationErrCodeGatewayNotFound { + if operationErrorCode(err) == awstypes.ErrorCodeGatewayNotFound { return true } diff --git a/internal/service/storagegateway/exports_test.go b/internal/service/storagegateway/exports_test.go index 83ae1d93f243..dea67e85b820 100644 --- a/internal/service/storagegateway/exports_test.go +++ b/internal/service/storagegateway/exports_test.go @@ -19,6 +19,7 @@ var ( FindCachediSCSIVolumeByARN = findCachediSCSIVolumeByARN FindFileSystemAssociationByARN = findFileSystemAssociationByARN FindGatewayByARN = findGatewayByARN + FindGatewayInfoByARN = findGatewayInfoByARN FindNFSFileShareByARN = findNFSFileShareByARN FindSMBFileShareByARN = findSMBFileShareByARN FindStorediSCSIVolumeByARN = findStorediSCSIVolumeByARN diff --git a/internal/service/storagegateway/gateway.go b/internal/service/storagegateway/gateway.go index d5de019b38a7..ab9fd1a34983 100644 --- a/internal/service/storagegateway/gateway.go +++ b/internal/service/storagegateway/gateway.go @@ -27,6 +27,7 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag" "github.com/hashicorp/terraform-provider-aws/internal/flex" "github.com/hashicorp/terraform-provider-aws/internal/sdkv2/types/nullable" + tfslices "github.com/hashicorp/terraform-provider-aws/internal/slices" 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" @@ -351,7 +352,7 @@ func resourceGatewayCreate(ctx context.Context, d *schema.ResourceData, meta any } name := d.Get("gateway_name").(string) - input := &storagegateway.ActivateGatewayInput{ + input := storagegateway.ActivateGatewayInput{ ActivationKey: aws.String(activationKey), GatewayRegion: aws.String(region), GatewayName: aws.String(name), @@ -368,7 +369,7 @@ func resourceGatewayCreate(ctx context.Context, d *schema.ResourceData, meta any input.TapeDriveType = aws.String(v.(string)) } - output, err := conn.ActivateGateway(ctx, input) + output, err := conn.ActivateGateway(ctx, &input) if err != nil { return sdkdiag.AppendErrorf(diags, "activating Storage Gateway Gateway (%s): %s", name, err) @@ -376,17 +377,17 @@ func resourceGatewayCreate(ctx context.Context, d *schema.ResourceData, meta any d.SetId(aws.ToString(output.GatewayARN)) - if _, err = waitGatewayConnected(ctx, conn, d.Id(), d.Timeout(schema.TimeoutCreate)); err != nil { + if _, err := waitGatewayConnected(ctx, conn, d.Id(), d.Timeout(schema.TimeoutCreate)); err != nil { return sdkdiag.AppendErrorf(diags, "waiting for Storage Gateway Gateway (%s) connect: %s", d.Id(), err) } if v, ok := d.GetOk(names.AttrCloudWatchLogGroupARN); ok && v.(string) != "" { - input := &storagegateway.UpdateGatewayInformationInput{ + input := storagegateway.UpdateGatewayInformationInput{ CloudWatchLogGroupARN: aws.String(v.(string)), GatewayARN: aws.String(d.Id()), } - _, err := conn.UpdateGatewayInformation(ctx, input) + _, err := conn.UpdateGatewayInformation(ctx, &input) if err != nil { return sdkdiag.AppendErrorf(diags, "updating Storage Gateway Gateway (%s) CloudWatch log group: %s", d.Id(), err) @@ -419,12 +420,12 @@ func resourceGatewayCreate(ctx context.Context, d *schema.ResourceData, meta any } if v, ok := d.GetOk("smb_guest_password"); ok && v.(string) != "" { - input := &storagegateway.SetSMBGuestPasswordInput{ + input := storagegateway.SetSMBGuestPasswordInput{ GatewayARN: aws.String(d.Id()), Password: aws.String(v.(string)), } - _, err := conn.SetSMBGuestPassword(ctx, input) + _, err := conn.SetSMBGuestPassword(ctx, &input) if err != nil { return sdkdiag.AppendErrorf(diags, "setting Storage Gateway Gateway (%s) SMB guest password: %s", d.Id(), err) @@ -432,12 +433,12 @@ func resourceGatewayCreate(ctx context.Context, d *schema.ResourceData, meta any } if v, ok := d.GetOk("smb_security_strategy"); ok { - input := &storagegateway.UpdateSMBSecurityStrategyInput{ + input := storagegateway.UpdateSMBSecurityStrategyInput{ GatewayARN: aws.String(d.Id()), SMBSecurityStrategy: awstypes.SMBSecurityStrategy(v.(string)), } - _, err := conn.UpdateSMBSecurityStrategy(ctx, input) + _, err := conn.UpdateSMBSecurityStrategy(ctx, &input) if err != nil { return sdkdiag.AppendErrorf(diags, "setting Storage Gateway Gateway (%s) SMB security strategy: %s", d.Id(), err) @@ -445,12 +446,12 @@ func resourceGatewayCreate(ctx context.Context, d *schema.ResourceData, meta any } if v, ok := d.GetOk("smb_file_share_visibility"); ok { - input := &storagegateway.UpdateSMBFileShareVisibilityInput{ + input := storagegateway.UpdateSMBFileShareVisibilityInput{ FileSharesVisible: aws.Bool(v.(bool)), GatewayARN: aws.String(d.Id()), } - _, err := conn.UpdateSMBFileShareVisibility(ctx, input) + _, err := conn.UpdateSMBFileShareVisibility(ctx, &input) if err != nil { return sdkdiag.AppendErrorf(diags, "updating Storage Gateway Gateway (%s) SMB file share visibility: %s", d.Id(), err) @@ -459,7 +460,7 @@ func resourceGatewayCreate(ctx context.Context, d *schema.ResourceData, meta any switch d.Get("gateway_type").(string) { case gatewayTypeCached, gatewayTypeStored, gatewayTypeVTL, gatewayTypeVTLSnow: - input := &storagegateway.UpdateBandwidthRateLimitInput{ + input := storagegateway.UpdateBandwidthRateLimitInput{ GatewayARN: aws.String(d.Id()), } @@ -472,7 +473,7 @@ func resourceGatewayCreate(ctx context.Context, d *schema.ResourceData, meta any } if input.AverageDownloadRateLimitInBitsPerSec != nil || input.AverageUploadRateLimitInBitsPerSec != nil { - _, err := conn.UpdateBandwidthRateLimit(ctx, input) + _, err := conn.UpdateBandwidthRateLimit(ctx, &input) if err != nil { return sdkdiag.AppendErrorf(diags, "updating Storage Gateway Gateway (%s) bandwidth rate limits: %s", d.Id(), err) @@ -495,6 +496,21 @@ func resourceGatewayRead(ctx context.Context, d *schema.ResourceData, meta any) return diags } + if isGatewayNotConnectedErr(err) { + var gatewayInfo *awstypes.GatewayInfo + gatewayInfo, err = findGatewayInfoByARN(ctx, conn, d.Id()) + + if err == nil { + d.Set(names.AttrARN, gatewayInfo.GatewayARN) + d.Set("ec2_instance_id", gatewayInfo.Ec2InstanceId) + d.Set("gateway_name", gatewayInfo.GatewayName) + d.Set("gateway_type", gatewayInfo.GatewayType) + d.Set("host_environment", gatewayInfo.HostEnvironment) + + return diags + } + } + if err != nil { return sdkdiag.AppendErrorf(diags, "reading Storage Gateway Gateway (%s): %s", d.Id(), err) } @@ -570,11 +586,7 @@ func resourceGatewayRead(ctx context.Context, d *schema.ResourceData, meta any) switch aws.ToString(outputDGI.GatewayType) { case gatewayTypeCached, gatewayTypeStored, gatewayTypeVTL, gatewayTypeVTLSnow: - input := &storagegateway.DescribeBandwidthRateLimitInput{ - GatewayARN: aws.String(d.Id()), - } - - outputDBRL, err := conn.DescribeBandwidthRateLimit(ctx, input) + outputDBRL, err := findBandwidthRateLimitByARN(ctx, conn, d.Id()) switch { case errs.IsAErrorMessageContains[*awstypes.InvalidGatewayRequestException](err, "not supported"): @@ -587,11 +599,7 @@ func resourceGatewayRead(ctx context.Context, d *schema.ResourceData, meta any) } } - input := &storagegateway.DescribeMaintenanceStartTimeInput{ - GatewayARN: aws.String(d.Id()), - } - - outputDMST, err := conn.DescribeMaintenanceStartTime(ctx, input) + outputDMST, err := findMaintenanceStartTimeByARN(ctx, conn, d.Id()) switch { case errs.IsAErrorMessageContains[*awstypes.InvalidGatewayRequestException](err, "The specified operation is not supported"): @@ -614,14 +622,14 @@ func resourceGatewayUpdate(ctx context.Context, d *schema.ResourceData, meta any conn := meta.(*conns.AWSClient).StorageGatewayClient(ctx) if d.HasChanges(names.AttrCloudWatchLogGroupARN, "gateway_name", "gateway_timezone") { - input := &storagegateway.UpdateGatewayInformationInput{ + input := storagegateway.UpdateGatewayInformationInput{ CloudWatchLogGroupARN: aws.String(d.Get(names.AttrCloudWatchLogGroupARN).(string)), GatewayARN: aws.String(d.Id()), GatewayName: aws.String(d.Get("gateway_name").(string)), GatewayTimezone: aws.String(d.Get("gateway_timezone").(string)), } - _, err := conn.UpdateGatewayInformation(ctx, input) + _, err := conn.UpdateGatewayInformation(ctx, &input) if err != nil { return sdkdiag.AppendErrorf(diags, "updating Storage Gateway Gateway (%s): %s", d.Id(), err) @@ -656,12 +664,12 @@ func resourceGatewayUpdate(ctx context.Context, d *schema.ResourceData, meta any } if d.HasChange("smb_guest_password") { - input := &storagegateway.SetSMBGuestPasswordInput{ + input := storagegateway.SetSMBGuestPasswordInput{ GatewayARN: aws.String(d.Id()), Password: aws.String(d.Get("smb_guest_password").(string)), } - _, err := conn.SetSMBGuestPassword(ctx, input) + _, err := conn.SetSMBGuestPassword(ctx, &input) if err != nil { return sdkdiag.AppendErrorf(diags, "setting Storage Gateway Gateway (%s) SMB guest password: %s", d.Id(), err) @@ -669,12 +677,12 @@ func resourceGatewayUpdate(ctx context.Context, d *schema.ResourceData, meta any } if d.HasChange("smb_security_strategy") { - input := &storagegateway.UpdateSMBSecurityStrategyInput{ + input := storagegateway.UpdateSMBSecurityStrategyInput{ GatewayARN: aws.String(d.Id()), SMBSecurityStrategy: awstypes.SMBSecurityStrategy(d.Get("smb_security_strategy").(string)), } - _, err := conn.UpdateSMBSecurityStrategy(ctx, input) + _, err := conn.UpdateSMBSecurityStrategy(ctx, &input) if err != nil { return sdkdiag.AppendErrorf(diags, "updating Storage Gateway Gateway (%s) SMB security strategy: %s", d.Id(), err) @@ -682,12 +690,12 @@ func resourceGatewayUpdate(ctx context.Context, d *schema.ResourceData, meta any } if d.HasChange("smb_file_share_visibility") { - input := &storagegateway.UpdateSMBFileShareVisibilityInput{ + input := storagegateway.UpdateSMBFileShareVisibilityInput{ FileSharesVisible: aws.Bool(d.Get("smb_file_share_visibility").(bool)), GatewayARN: aws.String(d.Id()), } - _, err := conn.UpdateSMBFileShareVisibility(ctx, input) + _, err := conn.UpdateSMBFileShareVisibility(ctx, &input) if err != nil { return sdkdiag.AppendErrorf(diags, "updating Storage Gateway Gateway (%s) SMB file share visibility: %s", d.Id(), err) @@ -695,11 +703,11 @@ func resourceGatewayUpdate(ctx context.Context, d *schema.ResourceData, meta any } if d.HasChanges("average_download_rate_limit_in_bits_per_sec", "average_upload_rate_limit_in_bits_per_sec") { - inputD := &storagegateway.DeleteBandwidthRateLimitInput{ + inputD := storagegateway.DeleteBandwidthRateLimitInput{ GatewayARN: aws.String(d.Id()), } needsDelete := false - inputU := &storagegateway.UpdateBandwidthRateLimitInput{ + inputU := storagegateway.UpdateBandwidthRateLimitInput{ GatewayARN: aws.String(d.Id()), } needsUpdate := false @@ -725,7 +733,7 @@ func resourceGatewayUpdate(ctx context.Context, d *schema.ResourceData, meta any } if needsUpdate { - _, err := conn.UpdateBandwidthRateLimit(ctx, inputU) + _, err := conn.UpdateBandwidthRateLimit(ctx, &inputU) if err != nil { return sdkdiag.AppendErrorf(diags, "updating Storage Gateway Gateway (%s) bandwidth rate limits: %s", d.Id(), err) @@ -733,7 +741,7 @@ func resourceGatewayUpdate(ctx context.Context, d *schema.ResourceData, meta any } if needsDelete { - _, err := conn.DeleteBandwidthRateLimit(ctx, inputD) + _, err := conn.DeleteBandwidthRateLimit(ctx, &inputD) if err != nil { return sdkdiag.AppendErrorf(diags, "deleting Storage Gateway Gateway (%s) bandwidth rate limits: %s", d.Id(), err) @@ -749,9 +757,10 @@ func resourceGatewayDelete(ctx context.Context, d *schema.ResourceData, meta any conn := meta.(*conns.AWSClient).StorageGatewayClient(ctx) log.Printf("[DEBUG] Deleting Storage Gateway Gateway: %s", d.Id()) - _, err := conn.DeleteGateway(ctx, &storagegateway.DeleteGatewayInput{ + input := storagegateway.DeleteGatewayInput{ GatewayARN: aws.String(d.Id()), - }) + } + _, err := conn.DeleteGateway(ctx, &input) if isGatewayNotFoundErr(err) { return diags @@ -765,11 +774,11 @@ func resourceGatewayDelete(ctx context.Context, d *schema.ResourceData, meta any } func findGatewayByARN(ctx context.Context, conn *storagegateway.Client, arn string) (*storagegateway.DescribeGatewayInformationOutput, error) { - input := &storagegateway.DescribeGatewayInformationInput{ + input := storagegateway.DescribeGatewayInformationInput{ GatewayARN: aws.String(arn), } - return findGateway(ctx, conn, input) + return findGateway(ctx, conn, &input) } func findGateway(ctx context.Context, conn *storagegateway.Client, input *storagegateway.DescribeGatewayInformationInput) (*storagegateway.DescribeGatewayInformationOutput, error) { @@ -793,12 +802,51 @@ func findGateway(ctx context.Context, conn *storagegateway.Client, input *storag return output, nil } +func findGatewayInfoByARN(ctx context.Context, conn *storagegateway.Client, arn string) (*awstypes.GatewayInfo, error) { + var input storagegateway.ListGatewaysInput + + return findGatewayInfo(ctx, conn, &input, func(v *awstypes.GatewayInfo) bool { + return aws.ToString(v.GatewayARN) == arn + }) +} + +func findGatewayInfo(ctx context.Context, conn *storagegateway.Client, input *storagegateway.ListGatewaysInput, filter tfslices.Predicate[*awstypes.GatewayInfo]) (*awstypes.GatewayInfo, error) { + output, err := findGateways(ctx, conn, input, filter) + + if err != nil { + return nil, err + } + + return tfresource.AssertSingleValueResult(output) +} + +func findGateways(ctx context.Context, conn *storagegateway.Client, input *storagegateway.ListGatewaysInput, filter tfslices.Predicate[*awstypes.GatewayInfo]) ([]awstypes.GatewayInfo, error) { + var output []awstypes.GatewayInfo + + pages := storagegateway.NewListGatewaysPaginator(conn, input) + for pages.HasMorePages() { + page, err := pages.NextPage(ctx) + + if err != nil { + return nil, err + } + + for _, v := range page.Gateways { + if filter(&v) { + output = append(output, v) + } + } + } + + return output, nil +} + func findSMBSettingsByARN(ctx context.Context, conn *storagegateway.Client, arn string) (*storagegateway.DescribeSMBSettingsOutput, error) { - input := &storagegateway.DescribeSMBSettingsInput{ + input := storagegateway.DescribeSMBSettingsInput{ GatewayARN: aws.String(arn), } - return findSMBSettings(ctx, conn, input) + return findSMBSettings(ctx, conn, &input) } func findSMBSettings(ctx context.Context, conn *storagegateway.Client, input *storagegateway.DescribeSMBSettingsInput) (*storagegateway.DescribeSMBSettingsOutput, error) { @@ -822,6 +870,64 @@ func findSMBSettings(ctx context.Context, conn *storagegateway.Client, input *st return output, nil } +func findBandwidthRateLimitByARN(ctx context.Context, conn *storagegateway.Client, arn string) (*storagegateway.DescribeBandwidthRateLimitOutput, error) { + input := storagegateway.DescribeBandwidthRateLimitInput{ + GatewayARN: aws.String(arn), + } + + return findBandwidthRateLimit(ctx, conn, &input) +} + +func findBandwidthRateLimit(ctx context.Context, conn *storagegateway.Client, input *storagegateway.DescribeBandwidthRateLimitInput) (*storagegateway.DescribeBandwidthRateLimitOutput, error) { + output, err := conn.DescribeBandwidthRateLimit(ctx, input) + + if isGatewayNotFoundErr(err) { + return nil, &retry.NotFoundError{ + LastError: err, + LastRequest: input, + } + } + + if err != nil { + return nil, err + } + + if output == nil { + return nil, tfresource.NewEmptyResultError(input) + } + + return output, nil +} + +func findMaintenanceStartTimeByARN(ctx context.Context, conn *storagegateway.Client, arn string) (*storagegateway.DescribeMaintenanceStartTimeOutput, error) { + input := storagegateway.DescribeMaintenanceStartTimeInput{ + GatewayARN: aws.String(arn), + } + + return findMaintenanceStartTime(ctx, conn, &input) +} + +func findMaintenanceStartTime(ctx context.Context, conn *storagegateway.Client, input *storagegateway.DescribeMaintenanceStartTimeInput) (*storagegateway.DescribeMaintenanceStartTimeOutput, error) { + output, err := conn.DescribeMaintenanceStartTime(ctx, input) + + if isGatewayNotFoundErr(err) { + return nil, &retry.NotFoundError{ + LastError: err, + LastRequest: input, + } + } + + if err != nil { + return nil, err + } + + if output == nil { + return nil, tfresource.NewEmptyResultError(input) + } + + return output, nil +} + const ( gatewayStatusConnected = "GatewayConnected" gatewayStatusNotConnected = "GatewayNotConnected" @@ -835,7 +941,7 @@ func statusGatewayConnected(ctx context.Context, conn *storagegateway.Client, ga return nil, "", nil } - if errs.IsAErrorMessageContains[*awstypes.InvalidGatewayRequestException](err, "The specified gateway is not connected") { + if isGatewayNotConnectedErr(err) { return output, gatewayStatusNotConnected, nil } diff --git a/internal/service/storagegateway/gateway_test.go b/internal/service/storagegateway/gateway_test.go index 00725bad0568..8feebbb66744 100644 --- a/internal/service/storagegateway/gateway_test.go +++ b/internal/service/storagegateway/gateway_test.go @@ -10,7 +10,7 @@ import ( "testing" "github.com/YakDriver/regexache" - "github.com/aws/aws-sdk-go-v2/service/storagegateway" + awstypes "github.com/aws/aws-sdk-go-v2/service/storagegateway/types" sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" "github.com/hashicorp/terraform-plugin-testing/terraform" @@ -23,7 +23,7 @@ import ( func TestAccStorageGatewayGateway_GatewayType_cached(t *testing.T) { ctx := acctest.Context(t) - var gateway storagegateway.DescribeGatewayInformationOutput + var gateway awstypes.GatewayInfo rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_storagegateway_gateway.test" @@ -66,7 +66,7 @@ func TestAccStorageGatewayGateway_GatewayType_cached(t *testing.T) { func TestAccStorageGatewayGateway_GatewayType_fileFSxSMB(t *testing.T) { ctx := acctest.Context(t) - var gateway storagegateway.DescribeGatewayInformationOutput + var gateway awstypes.GatewayInfo rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_storagegateway_gateway.test" @@ -109,7 +109,7 @@ func TestAccStorageGatewayGateway_GatewayType_fileFSxSMB(t *testing.T) { func TestAccStorageGatewayGateway_GatewayType_fileS3(t *testing.T) { ctx := acctest.Context(t) - var gateway storagegateway.DescribeGatewayInformationOutput + var gateway awstypes.GatewayInfo rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_storagegateway_gateway.test" @@ -152,7 +152,7 @@ func TestAccStorageGatewayGateway_GatewayType_fileS3(t *testing.T) { func TestAccStorageGatewayGateway_GatewayType_stored(t *testing.T) { ctx := acctest.Context(t) - var gateway storagegateway.DescribeGatewayInformationOutput + var gateway awstypes.GatewayInfo rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_storagegateway_gateway.test" @@ -195,7 +195,7 @@ func TestAccStorageGatewayGateway_GatewayType_stored(t *testing.T) { func TestAccStorageGatewayGateway_GatewayType_vtl(t *testing.T) { ctx := acctest.Context(t) - var gateway storagegateway.DescribeGatewayInformationOutput + var gateway awstypes.GatewayInfo rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_storagegateway_gateway.test" @@ -236,7 +236,7 @@ func TestAccStorageGatewayGateway_GatewayType_vtl(t *testing.T) { func TestAccStorageGatewayGateway_tags(t *testing.T) { ctx := acctest.Context(t) - var gateway storagegateway.DescribeGatewayInformationOutput + var gateway awstypes.GatewayInfo rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_storagegateway_gateway.test" @@ -284,7 +284,7 @@ func TestAccStorageGatewayGateway_tags(t *testing.T) { func TestAccStorageGatewayGateway_gatewayName(t *testing.T) { ctx := acctest.Context(t) - var gateway storagegateway.DescribeGatewayInformationOutput + var gateway awstypes.GatewayInfo rName1 := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) rName2 := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_storagegateway_gateway.test" @@ -321,7 +321,7 @@ func TestAccStorageGatewayGateway_gatewayName(t *testing.T) { func TestAccStorageGatewayGateway_cloudWatchLogs(t *testing.T) { ctx := acctest.Context(t) - var gateway storagegateway.DescribeGatewayInformationOutput + var gateway awstypes.GatewayInfo rName1 := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_storagegateway_gateway.test" resourceName2 := "aws_cloudwatch_log_group.test" @@ -351,7 +351,7 @@ func TestAccStorageGatewayGateway_cloudWatchLogs(t *testing.T) { func TestAccStorageGatewayGateway_gatewayTimezone(t *testing.T) { ctx := acctest.Context(t) - var gateway storagegateway.DescribeGatewayInformationOutput + var gateway awstypes.GatewayInfo rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_storagegateway_gateway.test" @@ -387,7 +387,7 @@ func TestAccStorageGatewayGateway_gatewayTimezone(t *testing.T) { func TestAccStorageGatewayGateway_gatewayVPCEndpoint(t *testing.T) { ctx := acctest.Context(t) - var gateway storagegateway.DescribeGatewayInformationOutput + var gateway awstypes.GatewayInfo rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_storagegateway_gateway.test" vpcEndpointResourceName := "aws_vpc_endpoint.test" @@ -417,7 +417,7 @@ func TestAccStorageGatewayGateway_gatewayVPCEndpoint(t *testing.T) { func TestAccStorageGatewayGateway_smbActiveDirectorySettings(t *testing.T) { ctx := acctest.Context(t) - var gateway storagegateway.DescribeGatewayInformationOutput + var gateway awstypes.GatewayInfo rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_storagegateway_gateway.test" domainName := acctest.RandomDomainName() @@ -450,7 +450,7 @@ func TestAccStorageGatewayGateway_smbActiveDirectorySettings(t *testing.T) { func TestAccStorageGatewayGateway_SMBActiveDirectorySettings_timeout(t *testing.T) { ctx := acctest.Context(t) - var gateway storagegateway.DescribeGatewayInformationOutput + var gateway awstypes.GatewayInfo rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_storagegateway_gateway.test" domainName := acctest.RandomDomainName() @@ -482,7 +482,7 @@ func TestAccStorageGatewayGateway_SMBActiveDirectorySettings_timeout(t *testing. func TestAccStorageGatewayGateway_smbMicrosoftActiveDirectorySettings(t *testing.T) { ctx := acctest.Context(t) - var gateway storagegateway.DescribeGatewayInformationOutput + var gateway awstypes.GatewayInfo rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_storagegateway_gateway.test" domainName := acctest.RandomDomainName() @@ -516,7 +516,7 @@ func TestAccStorageGatewayGateway_smbMicrosoftActiveDirectorySettings(t *testing func TestAccStorageGatewayGateway_SMBMicrosoftActiveDirectorySettings_timeout(t *testing.T) { ctx := acctest.Context(t) - var gateway storagegateway.DescribeGatewayInformationOutput + var gateway awstypes.GatewayInfo rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_storagegateway_gateway.test" domainName := acctest.RandomDomainName() @@ -548,7 +548,7 @@ func TestAccStorageGatewayGateway_SMBMicrosoftActiveDirectorySettings_timeout(t func TestAccStorageGatewayGateway_smbGuestPassword(t *testing.T) { ctx := acctest.Context(t) - var gateway storagegateway.DescribeGatewayInformationOutput + var gateway awstypes.GatewayInfo rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_storagegateway_gateway.test" @@ -584,7 +584,7 @@ func TestAccStorageGatewayGateway_smbGuestPassword(t *testing.T) { func TestAccStorageGatewayGateway_smbSecurityStrategy(t *testing.T) { ctx := acctest.Context(t) - var gateway storagegateway.DescribeGatewayInformationOutput + var gateway awstypes.GatewayInfo rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_storagegateway_gateway.test" @@ -621,7 +621,7 @@ func TestAccStorageGatewayGateway_smbSecurityStrategy(t *testing.T) { func TestAccStorageGatewayGateway_smbVisibility(t *testing.T) { ctx := acctest.Context(t) - var gateway storagegateway.DescribeGatewayInformationOutput + var gateway awstypes.GatewayInfo rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_storagegateway_gateway.test" @@ -664,7 +664,7 @@ func TestAccStorageGatewayGateway_smbVisibility(t *testing.T) { func TestAccStorageGatewayGateway_disappears(t *testing.T) { ctx := acctest.Context(t) - var gateway storagegateway.DescribeGatewayInformationOutput + var gateway awstypes.GatewayInfo rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_storagegateway_gateway.test" @@ -688,7 +688,7 @@ func TestAccStorageGatewayGateway_disappears(t *testing.T) { func TestAccStorageGatewayGateway_bandwidthUpload(t *testing.T) { ctx := acctest.Context(t) - var gateway storagegateway.DescribeGatewayInformationOutput + var gateway awstypes.GatewayInfo rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_storagegateway_gateway.test" @@ -731,7 +731,7 @@ func TestAccStorageGatewayGateway_bandwidthUpload(t *testing.T) { func TestAccStorageGatewayGateway_bandwidthDownload(t *testing.T) { ctx := acctest.Context(t) - var gateway storagegateway.DescribeGatewayInformationOutput + var gateway awstypes.GatewayInfo rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_storagegateway_gateway.test" @@ -774,7 +774,7 @@ func TestAccStorageGatewayGateway_bandwidthDownload(t *testing.T) { func TestAccStorageGatewayGateway_bandwidthAll(t *testing.T) { ctx := acctest.Context(t) - var gateway storagegateway.DescribeGatewayInformationOutput + var gateway awstypes.GatewayInfo rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_storagegateway_gateway.test" @@ -820,7 +820,7 @@ func TestAccStorageGatewayGateway_bandwidthAll(t *testing.T) { func TestAccStorageGatewayGateway_maintenanceStartTime(t *testing.T) { ctx := acctest.Context(t) - var gateway storagegateway.DescribeGatewayInformationOutput + var gateway awstypes.GatewayInfo rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_storagegateway_gateway.test" @@ -874,7 +874,7 @@ func TestAccStorageGatewayGateway_maintenanceStartTime(t *testing.T) { // https://github.com/hashicorp/terraform-provider-aws/issues/27523. func TestAccStorageGatewayGateway_offline(t *testing.T) { ctx := acctest.Context(t) - var gateway storagegateway.DescribeGatewayInformationOutput + var gateway awstypes.GatewayInfo rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_storagegateway_gateway.test" @@ -895,6 +895,7 @@ func TestAccStorageGatewayGateway_offline(t *testing.T) { Check: resource.ComposeTestCheckFunc( testAccCheckGatewayExists(ctx, resourceName, &gateway), ), + ExpectNonEmptyPlan: true, }, }, }) @@ -926,7 +927,7 @@ func testAccCheckGatewayDestroy(ctx context.Context) resource.TestCheckFunc { } } -func testAccCheckGatewayExists(ctx context.Context, n string, v *storagegateway.DescribeGatewayInformationOutput) resource.TestCheckFunc { +func testAccCheckGatewayExists(ctx context.Context, n string, v *awstypes.GatewayInfo) resource.TestCheckFunc { return func(s *terraform.State) error { rs, ok := s.RootModule().Resources[n] if !ok { @@ -935,7 +936,7 @@ func testAccCheckGatewayExists(ctx context.Context, n string, v *storagegateway. conn := acctest.Provider.Meta().(*conns.AWSClient).StorageGatewayClient(ctx) - output, err := tfstoragegateway.FindGatewayByARN(ctx, conn, rs.Primary.ID) + output, err := tfstoragegateway.FindGatewayInfoByARN(ctx, conn, rs.Primary.ID) if err != nil { return err From a1e2cc129d27f4539ecf7f3265055df290f6486d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Mon, 11 Aug 2025 14:12:43 -0400 Subject: [PATCH 0795/1301] Correct CHANGELOG entry file name. --- .changelog/{#####.txt => 43819.txt} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .changelog/{#####.txt => 43819.txt} (100%) diff --git a/.changelog/#####.txt b/.changelog/43819.txt similarity index 100% rename from .changelog/#####.txt rename to .changelog/43819.txt From 70fc074181397f7ab8bbd599edff79956267a3be Mon Sep 17 00:00:00 2001 From: HarrisonTCodes Date: Mon, 11 Aug 2025 19:21:37 +0100 Subject: [PATCH 0796/1301] Update autoscaling_lifecycle_hook notification_target_arn docs to mention Lambda functions --- website/docs/r/autoscaling_lifecycle_hook.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/r/autoscaling_lifecycle_hook.html.markdown b/website/docs/r/autoscaling_lifecycle_hook.html.markdown index 3d950744e831..361b67466c53 100644 --- a/website/docs/r/autoscaling_lifecycle_hook.html.markdown +++ b/website/docs/r/autoscaling_lifecycle_hook.html.markdown @@ -65,7 +65,7 @@ This resource supports the following arguments: * `heartbeat_timeout` - (Optional) Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. When the lifecycle hook times out, Auto Scaling performs the action defined in the DefaultResult parameter * `lifecycle_transition` - (Required) Instance state to which you want to attach the lifecycle hook. For a list of lifecycle hook types, see [describe-lifecycle-hook-types](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/describe-lifecycle-hook-types.html#examples) * `notification_metadata` - (Optional) Contains additional information that you want to include any time Auto Scaling sends a message to the notification target. -* `notification_target_arn` - (Optional) ARN of the notification target that Auto Scaling will use to notify you when an instance is in the transition state for the lifecycle hook. This ARN target can be either an SQS queue or an SNS topic. +* `notification_target_arn` - (Optional) ARN of the notification target that Auto Scaling will use to notify you when an instance is in the transition state for the lifecycle hook. This ARN target can be either an SQS queue, an SNS topic, or a Lambda function. * `role_arn` - (Optional) ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target. ## Attribute Reference From b0747c13a985415dc3c6a43e594cf078417595f5 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Mon, 11 Aug 2025 14:58:00 -0400 Subject: [PATCH 0797/1301] r/aws_appsync_api: Tidy up. --- internal/service/appsync/api.go | 356 +++++++----------- .../service/appsync/api_identity_gen_test.go | 192 ---------- internal/service/appsync/api_tags_gen_test.go | 248 +++++++----- internal/service/appsync/api_test.go | 117 +++--- internal/service/appsync/exports_test.go | 4 +- .../service/appsync/service_package_gen.go | 8 +- .../appsync/testdata/API/tags/main_gen.tf | 8 +- .../testdata/API/tagsComputed1/main_gen.tf | 8 +- .../testdata/API/tagsComputed2/main_gen.tf | 8 +- .../testdata/API/tags_defaults/main_gen.tf | 8 +- .../testdata/API/tags_ignore/main_gen.tf | 8 +- .../appsync/testdata/tmpl/api_tags.gtpl | 8 +- website/docs/r/appsync_api.html.markdown | 38 +- 13 files changed, 397 insertions(+), 614 deletions(-) delete mode 100644 internal/service/appsync/api_identity_gen_test.go diff --git a/internal/service/appsync/api.go b/internal/service/appsync/api.go index 1833f763382f..8c642d255cbe 100644 --- a/internal/service/appsync/api.go +++ b/internal/service/appsync/api.go @@ -5,16 +5,15 @@ package appsync import ( "context" - "errors" - "time" + "github.com/YakDriver/regexache" "github.com/YakDriver/smarterr" "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/service/appsync" awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" - "github.com/hashicorp/terraform-plugin-framework-timeouts/resource/timeouts" - "github.com/hashicorp/terraform-plugin-framework-timetypes/timetypes" "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" + "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator" + "github.com/hashicorp/terraform-plugin-framework/path" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/resource/schema" "github.com/hashicorp/terraform-plugin-framework/resource/schema/boolplanmodifier" @@ -28,8 +27,9 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/errs" "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" "github.com/hashicorp/terraform-provider-aws/internal/framework" - "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" + fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" + fwvalidators "github.com/hashicorp/terraform-provider-aws/internal/framework/validators" "github.com/hashicorp/terraform-provider-aws/internal/smerr" tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" @@ -37,48 +37,26 @@ import ( ) // @FrameworkResource("aws_appsync_api", name="API") -// @Tags(identifierAttribute="arn") -// @IdentityAttribute("id") -// @#Testing(importStateIdAttribute="id") +// @Tags(identifierAttribute="api_arn") +// @Testing(importStateIdAttribute="api_id") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/appsync/types;awstypes;awstypes.Api") // @Testing(hasNoPreExistingResource=true) func newAPIResource(_ context.Context) (resource.ResourceWithConfigure, error) { - r := &resourceAPI{} - - r.SetDefaultCreateTimeout(30 * time.Minute) - r.SetDefaultUpdateTimeout(30 * time.Minute) - r.SetDefaultDeleteTimeout(30 * time.Minute) + r := &apiResource{} return r, nil } -const ( - ResNameAPI = "API" -) - -type resourceAPI struct { - framework.ResourceWithModel[resourceAPIModel] - framework.WithImportByIdentity +type apiResource struct { + framework.ResourceWithModel[apiResourceModel] framework.WithTimeouts } -func (r *resourceAPI) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { - resp.Schema = schema.Schema{ +func (r *apiResource) Schema(ctx context.Context, request resource.SchemaRequest, response *resource.SchemaResponse) { + response.Schema = schema.Schema{ Attributes: map[string]schema.Attribute{ - names.AttrARN: framework.ARNAttributeComputedOnly(), - "id": schema.StringAttribute{ - Computed: true, - PlanModifiers: []planmodifier.String{ - stringplanmodifier.UseStateForUnknown(), - }, - }, - "created": schema.StringAttribute{ - CustomType: timetypes.RFC3339Type{}, - Computed: true, - PlanModifiers: []planmodifier.String{ - stringplanmodifier.UseStateForUnknown(), - }, - }, + "api_arn": framework.ARNAttributeComputedOnly(), + "api_id": framework.IDAttribute(), "dns": schema.MapAttribute{ CustomType: fwtypes.MapOfStringType, Computed: true, @@ -88,6 +66,10 @@ func (r *resourceAPI) Schema(ctx context.Context, req resource.SchemaRequest, re }, names.AttrName: schema.StringAttribute{ Required: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 50), + stringvalidator.RegexMatches(regexache.MustCompile(`^[A-Za-z0-9_\-\ ]+$`), ""), + }, }, "owner_contact": schema.StringAttribute{ Optional: true, @@ -115,8 +97,12 @@ func (r *resourceAPI) Schema(ctx context.Context, req resource.SchemaRequest, re }, NestedObject: schema.NestedBlockObject{ Blocks: map[string]schema.Block{ - "auth_providers": schema.ListNestedBlock{ + "auth_provider": schema.ListNestedBlock{ CustomType: fwtypes.NewListNestedObjectTypeOf[authProviderModel](ctx), + Validators: []validator.List{ + listvalidator.IsRequired(), + listvalidator.SizeAtLeast(1), + }, NestedObject: schema.NestedBlockObject{ Attributes: map[string]schema.Attribute{ "auth_type": schema.StringAttribute{ @@ -132,15 +118,18 @@ func (r *resourceAPI) Schema(ctx context.Context, req resource.SchemaRequest, re }, NestedObject: schema.NestedBlockObject{ Attributes: map[string]schema.Attribute{ + "app_id_client_regex": schema.StringAttribute{ + Optional: true, + }, "aws_region": schema.StringAttribute{ Required: true, + Validators: []validator.String{ + fwvalidators.AWSRegion(), + }, }, "user_pool_id": schema.StringAttribute{ Required: true, }, - "app_id_client_regex": schema.StringAttribute{ - Optional: true, - }, }, }, }, @@ -200,8 +189,12 @@ func (r *resourceAPI) Schema(ctx context.Context, req resource.SchemaRequest, re }, }, }, - "connection_auth_modes": schema.ListNestedBlock{ + "connection_auth_mode": schema.ListNestedBlock{ CustomType: fwtypes.NewListNestedObjectTypeOf[authModeModel](ctx), + Validators: []validator.List{ + listvalidator.IsRequired(), + listvalidator.SizeAtLeast(1), + }, NestedObject: schema.NestedBlockObject{ Attributes: map[string]schema.Attribute{ "auth_type": schema.StringAttribute{ @@ -211,8 +204,12 @@ func (r *resourceAPI) Schema(ctx context.Context, req resource.SchemaRequest, re }, }, }, - "default_publish_auth_modes": schema.ListNestedBlock{ + "default_publish_auth_mode": schema.ListNestedBlock{ CustomType: fwtypes.NewListNestedObjectTypeOf[authModeModel](ctx), + Validators: []validator.List{ + listvalidator.IsRequired(), + listvalidator.SizeAtLeast(1), + }, NestedObject: schema.NestedBlockObject{ Attributes: map[string]schema.Attribute{ "auth_type": schema.StringAttribute{ @@ -222,8 +219,12 @@ func (r *resourceAPI) Schema(ctx context.Context, req resource.SchemaRequest, re }, }, }, - "default_subscribe_auth_modes": schema.ListNestedBlock{ + "default_subscribe_auth_mode": schema.ListNestedBlock{ CustomType: fwtypes.NewListNestedObjectTypeOf[authModeModel](ctx), + Validators: []validator.List{ + listvalidator.IsRequired(), + listvalidator.SizeAtLeast(1), + }, NestedObject: schema.NestedBlockObject{ Attributes: map[string]schema.Attribute{ "auth_type": schema.StringAttribute{ @@ -241,7 +242,8 @@ func (r *resourceAPI) Schema(ctx context.Context, req resource.SchemaRequest, re NestedObject: schema.NestedBlockObject{ Attributes: map[string]schema.Attribute{ "cloudwatch_logs_role_arn": schema.StringAttribute{ - Required: true, + CustomType: fwtypes.ARNType, + Required: true, }, "log_level": schema.StringAttribute{ Required: true, @@ -253,261 +255,193 @@ func (r *resourceAPI) Schema(ctx context.Context, req resource.SchemaRequest, re }, }, }, - names.AttrTimeouts: timeouts.Block(ctx, timeouts.Opts{ - Create: true, - Update: true, - Delete: true, - }), }, } } -func (r *resourceAPI) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { - conn := r.Meta().AppSyncClient(ctx) - - var plan resourceAPIModel - smerr.EnrichAppend(ctx, &resp.Diagnostics, req.Plan.Get(ctx, &plan)) - if resp.Diagnostics.HasError() { +func (r *apiResource) Create(ctx context.Context, request resource.CreateRequest, response *resource.CreateResponse) { + var data apiResourceModel + smerr.EnrichAppend(ctx, &response.Diagnostics, request.Plan.Get(ctx, &data)) + if response.Diagnostics.HasError() { return } + conn := r.Meta().AppSyncClient(ctx) + + name := fwflex.StringValueFromFramework(ctx, data.Name) var input appsync.CreateApiInput - smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Expand(ctx, plan, &input)) - if resp.Diagnostics.HasError() { + smerr.EnrichAppend(ctx, &response.Diagnostics, fwflex.Expand(ctx, data, &input)) + if response.Diagnostics.HasError() { return } + // Additional fields. input.Tags = getTagsIn(ctx) - out, err := conn.CreateApi(ctx, &input) + output, err := conn.CreateApi(ctx, &input) + if err != nil { - smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, plan.Name.String()) - return - } - if out == nil || out.Api == nil { - smerr.AddError(ctx, &resp.Diagnostics, errors.New("empty output"), smerr.ID, plan.Name.String()) + smerr.AddError(ctx, &response.Diagnostics, err, smerr.ID, name) return } - smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Flatten(ctx, out.Api, &plan), smerr.ID, plan.Name.String()) - if resp.Diagnostics.HasError() { + // Set values for unknowns. + api := output.Api + apiID := aws.ToString(api.ApiId) + smerr.EnrichAppend(ctx, &response.Diagnostics, fwflex.Flatten(ctx, api, &data), smerr.ID, name) + if response.Diagnostics.HasError() { return } - createTimeout := r.CreateTimeout(ctx, plan.Timeouts) - _, err = waitAPICreated(ctx, conn, plan.ApiId.ValueString(), createTimeout) - if err != nil { - smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, plan.Name.String()) - return - } - - smerr.EnrichAppend(ctx, &resp.Diagnostics, resp.State.Set(ctx, plan), smerr.ID, plan.ApiId.String()) + smerr.EnrichAppend(ctx, &response.Diagnostics, response.State.Set(ctx, data), smerr.ID, apiID) } -func (r *resourceAPI) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { - conn := r.Meta().AppSyncClient(ctx) - - var state resourceAPIModel - smerr.EnrichAppend(ctx, &resp.Diagnostics, req.State.Get(ctx, &state)) - if resp.Diagnostics.HasError() { +func (r *apiResource) Read(ctx context.Context, request resource.ReadRequest, response *resource.ReadResponse) { + var data apiResourceModel + smerr.EnrichAppend(ctx, &response.Diagnostics, request.State.Get(ctx, &data)) + if response.Diagnostics.HasError() { return } - apiId := state.ApiId.ValueString() + conn := r.Meta().AppSyncClient(ctx) + + apiID := fwflex.StringValueFromFramework(ctx, data.ApiID) + output, err := findAPIByID(ctx, conn, apiID) - out, err := findAPIByID(ctx, conn, apiId) if tfresource.NotFound(err) { - resp.Diagnostics.Append(fwdiag.NewResourceNotFoundWarningDiagnostic(err)) - resp.State.RemoveResource(ctx) + response.Diagnostics.Append(fwdiag.NewResourceNotFoundWarningDiagnostic(err)) + response.State.RemoveResource(ctx) return } + if err != nil { - smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, state.ApiId.String()) + smerr.AddError(ctx, &response.Diagnostics, err, smerr.ID, apiID) return } - smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Flatten(ctx, out, &state), smerr.ID, state.ApiId.String()) - if resp.Diagnostics.HasError() { + // Set attributes for import. + smerr.EnrichAppend(ctx, &response.Diagnostics, fwflex.Flatten(ctx, output, &data), smerr.ID, apiID) + if response.Diagnostics.HasError() { return } - smerr.EnrichAppend(ctx, &resp.Diagnostics, resp.State.Set(ctx, &state), smerr.ID, state.ApiId.String()) + smerr.EnrichAppend(ctx, &response.Diagnostics, response.State.Set(ctx, &data), smerr.ID, apiID) } -func (r *resourceAPI) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { - conn := r.Meta().AppSyncClient(ctx) - - var plan, state resourceAPIModel - smerr.EnrichAppend(ctx, &resp.Diagnostics, req.Plan.Get(ctx, &plan)) - smerr.EnrichAppend(ctx, &resp.Diagnostics, req.State.Get(ctx, &state)) - if resp.Diagnostics.HasError() { +func (r *apiResource) Update(ctx context.Context, request resource.UpdateRequest, response *resource.UpdateResponse) { + var new, old apiResourceModel + smerr.EnrichAppend(ctx, &response.Diagnostics, request.Plan.Get(ctx, &new)) + if response.Diagnostics.HasError() { return } + smerr.EnrichAppend(ctx, &response.Diagnostics, request.State.Get(ctx, &old)) + if response.Diagnostics.HasError() { + return + } + + conn := r.Meta().AppSyncClient(ctx) - diff, d := flex.Diff(ctx, plan, state) - smerr.EnrichAppend(ctx, &resp.Diagnostics, d, smerr.ID, plan.ApiId.String()) - if resp.Diagnostics.HasError() { + apiID := fwflex.StringValueFromFramework(ctx, new.ApiID) + diff, d := fwflex.Diff(ctx, new, old) + smerr.EnrichAppend(ctx, &response.Diagnostics, d, smerr.ID, apiID) + if response.Diagnostics.HasError() { return } if diff.HasChanges() { var input appsync.UpdateApiInput - smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Expand(ctx, plan, &input), smerr.ID, plan.ApiId.String()) - if resp.Diagnostics.HasError() { + smerr.EnrichAppend(ctx, &response.Diagnostics, fwflex.Expand(ctx, new, &input), smerr.ID, apiID) + if response.Diagnostics.HasError() { return } - input.ApiId = plan.ApiId.ValueStringPointer() + _, err := conn.UpdateApi(ctx, &input) - out, err := conn.UpdateApi(ctx, &input) if err != nil { - smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, plan.ApiId.String()) - return - } - if out == nil || out.Api == nil { - smerr.AddError(ctx, &resp.Diagnostics, errors.New("empty output"), smerr.ID, plan.ApiId.String()) - return - } - - smerr.EnrichAppend(ctx, &resp.Diagnostics, flex.Flatten(ctx, out.Api, &plan), smerr.ID, plan.ApiId.String()) - if resp.Diagnostics.HasError() { + smerr.AddError(ctx, &response.Diagnostics, err, smerr.ID, apiID) return } } - smerr.EnrichAppend(ctx, &resp.Diagnostics, resp.State.Set(ctx, &plan), smerr.ID, plan.ApiId.String()) -} -func (r *resourceAPI) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { - conn := r.Meta().AppSyncClient(ctx) + smerr.EnrichAppend(ctx, &response.Diagnostics, response.State.Set(ctx, &new), smerr.ID, apiID) +} - var state resourceAPIModel - smerr.EnrichAppend(ctx, &resp.Diagnostics, req.State.Get(ctx, &state)) - if resp.Diagnostics.HasError() { +func (r *apiResource) Delete(ctx context.Context, request resource.DeleteRequest, response *resource.DeleteResponse) { + var data apiResourceModel + smerr.EnrichAppend(ctx, &response.Diagnostics, request.State.Get(ctx, &data)) + if response.Diagnostics.HasError() { return } + conn := r.Meta().AppSyncClient(ctx) + + apiID := fwflex.StringValueFromFramework(ctx, data.ApiID) input := appsync.DeleteApiInput{ - ApiId: state.ApiId.ValueStringPointer(), + ApiId: aws.String(apiID), } - _, err := conn.DeleteApi(ctx, &input) - if err != nil { - if errs.IsA[*awstypes.NotFoundException](err) { - return - } - smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, state.ApiId.String()) + if errs.IsA[*awstypes.NotFoundException](err) { return } - deleteTimeout := r.DeleteTimeout(ctx, state.Timeouts) - _, err = waitAPIDeleted(ctx, conn, state.ApiId.ValueString(), deleteTimeout) if err != nil { - smerr.AddError(ctx, &resp.Diagnostics, err, smerr.ID, state.ApiId.String()) + smerr.AddError(ctx, &response.Diagnostics, err, smerr.ID, apiID) return } } -const ( - statusDeleting = "Deleting" - statusNormal = "Normal" -) - -func waitAPICreated(ctx context.Context, conn *appsync.Client, id string, timeout time.Duration) (*awstypes.Api, error) { - stateConf := &retry.StateChangeConf{ - Pending: []string{}, - Target: []string{statusNormal}, - Refresh: statusAPI(ctx, conn, id), - Timeout: timeout, - NotFoundChecks: 20, - ContinuousTargetOccurence: 2, - } - - outputRaw, err := stateConf.WaitForStateContext(ctx) - - if out, ok := outputRaw.(*awstypes.Api); ok { - return out, smarterr.NewError(err) - } - - return nil, smarterr.NewError(err) +func (r *apiResource) ImportState(ctx context.Context, request resource.ImportStateRequest, response *resource.ImportStateResponse) { + resource.ImportStatePassthroughID(ctx, path.Root("api_id"), request, response) } -func waitAPIDeleted(ctx context.Context, conn *appsync.Client, id string, timeout time.Duration) (*awstypes.Api, error) { - stateConf := &retry.StateChangeConf{ - Pending: []string{statusDeleting, statusNormal}, - Target: []string{}, - Refresh: statusAPI(ctx, conn, id), - Timeout: timeout, - } - - outputRaw, err := stateConf.WaitForStateContext(ctx) - - if out, ok := outputRaw.(*awstypes.Api); ok { - return out, smarterr.NewError(err) +func findAPIByID(ctx context.Context, conn *appsync.Client, id string) (*awstypes.Api, error) { + input := appsync.GetApiInput{ + ApiId: aws.String(id), } - return nil, smarterr.NewError(err) + return findAPI(ctx, conn, &input) } -func statusAPI(ctx context.Context, conn *appsync.Client, id string) retry.StateRefreshFunc { - return func() (any, string, error) { - out, err := findAPIByID(ctx, conn, id) - if tfresource.NotFound(err) { - return nil, "", nil - } - - if err != nil { - return nil, "", smarterr.NewError(err) - } +func findAPI(ctx context.Context, conn *appsync.Client, input *appsync.GetApiInput) (*awstypes.Api, error) { + output, err := conn.GetApi(ctx, input) - return out, statusNormal, nil + if errs.IsA[*awstypes.NotFoundException](err) { + return nil, smarterr.NewError(&retry.NotFoundError{ + LastError: err, + }) } -} -func findAPIByID(ctx context.Context, conn *appsync.Client, id string) (*awstypes.Api, error) { - input := appsync.GetApiInput{ - ApiId: aws.String(id), - } - - out, err := conn.GetApi(ctx, &input) if err != nil { - if errs.IsA[*awstypes.NotFoundException](err) { - return nil, smarterr.NewError(&retry.NotFoundError{ - LastError: err, - LastRequest: &input, - }) - } return nil, smarterr.NewError(err) } - if out == nil || out.Api == nil { - return nil, smarterr.NewError(tfresource.NewEmptyResultError(&input)) + if output == nil || output.Api == nil { + return nil, smarterr.NewError(tfresource.NewEmptyResultError(input)) } - return out.Api, nil + return output.Api, nil } -type resourceAPIModel struct { +type apiResourceModel struct { framework.WithRegionModel - ApiArn types.String `tfsdk:"arn"` - ApiId types.String `tfsdk:"id"` - Created timetypes.RFC3339 `tfsdk:"created"` - Dns fwtypes.MapOfString `tfsdk:"dns"` + ApiARN types.String `tfsdk:"api_arn"` + ApiID types.String `tfsdk:"api_id"` + DNS fwtypes.MapOfString `tfsdk:"dns"` EventConfig fwtypes.ListNestedObjectValueOf[eventConfigModel] `tfsdk:"event_config"` Name types.String `tfsdk:"name"` OwnerContact types.String `tfsdk:"owner_contact"` Tags tftags.Map `tfsdk:"tags"` TagsAll tftags.Map `tfsdk:"tags_all"` - Timeouts timeouts.Value `tfsdk:"timeouts"` - WafWebAclArn types.String `tfsdk:"waf_web_acl_arn"` - XrayEnabled types.Bool `tfsdk:"xray_enabled"` + WAFWebAclARN types.String `tfsdk:"waf_web_acl_arn"` + XRayEnabled types.Bool `tfsdk:"xray_enabled"` } type eventConfigModel struct { - AuthProviders fwtypes.ListNestedObjectValueOf[authProviderModel] `tfsdk:"auth_providers"` - ConnectionAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"connection_auth_modes"` - DefaultPublishAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"default_publish_auth_modes"` - DefaultSubscribeAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"default_subscribe_auth_modes"` + AuthProviders fwtypes.ListNestedObjectValueOf[authProviderModel] `tfsdk:"auth_provider"` + ConnectionAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"connection_auth_mode"` + DefaultPublishAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"default_publish_auth_mode"` + DefaultSubscribeAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"default_subscribe_auth_mode"` LogConfig fwtypes.ListNestedObjectValueOf[eventLogConfigModel] `tfsdk:"log_config"` } @@ -523,25 +457,25 @@ type authModeModel struct { } type cognitoConfigModel struct { - AwsRegion types.String `tfsdk:"aws_region"` - UserPoolId types.String `tfsdk:"user_pool_id"` - AppIdClientRegex types.String `tfsdk:"app_id_client_regex"` + AppIDClientRegex types.String `tfsdk:"app_id_client_regex"` + AWSRegion types.String `tfsdk:"aws_region"` + UserPoolID types.String `tfsdk:"user_pool_id"` } type lambdaAuthorizerConfigModel struct { - AuthorizerResultTtlInSeconds types.Int64 `tfsdk:"authorizer_result_ttl_in_seconds"` - AuthorizerUri types.String `tfsdk:"authorizer_uri"` + AuthorizerResultTTLInSeconds types.Int64 `tfsdk:"authorizer_result_ttl_in_seconds"` + AuthorizerURI types.String `tfsdk:"authorizer_uri"` IdentityValidationExpression types.String `tfsdk:"identity_validation_expression"` } type openIDConnectConfigModel struct { - AuthTtl types.Int64 `tfsdk:"auth_ttl"` - ClientId types.String `tfsdk:"client_id"` - IatTtl types.Int64 `tfsdk:"iat_ttl"` + AuthTTL types.Int64 `tfsdk:"auth_ttl"` + ClientID types.String `tfsdk:"client_id"` + IatTTL types.Int64 `tfsdk:"iat_ttl"` Issuer types.String `tfsdk:"issuer"` } type eventLogConfigModel struct { - CloudWatchLogsRoleArn types.String `tfsdk:"cloudwatch_logs_role_arn"` + CloudWatchLogsRoleArn fwtypes.ARN `tfsdk:"cloudwatch_logs_role_arn"` LogLevel fwtypes.StringEnum[awstypes.EventLogLevel] `tfsdk:"log_level"` } diff --git a/internal/service/appsync/api_identity_gen_test.go b/internal/service/appsync/api_identity_gen_test.go deleted file mode 100644 index 2aab65c7d801..000000000000 --- a/internal/service/appsync/api_identity_gen_test.go +++ /dev/null @@ -1,192 +0,0 @@ -// Code generated by internal/generate/identitytests/main.go; DO NOT EDIT. - -package appsync_test - -import ( - "testing" - - awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" - "github.com/hashicorp/terraform-plugin-testing/config" - sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" - "github.com/hashicorp/terraform-plugin-testing/helper/resource" - "github.com/hashicorp/terraform-plugin-testing/knownvalue" - "github.com/hashicorp/terraform-plugin-testing/plancheck" - "github.com/hashicorp/terraform-plugin-testing/statecheck" - "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" - "github.com/hashicorp/terraform-plugin-testing/tfversion" - "github.com/hashicorp/terraform-provider-aws/internal/acctest" - tfknownvalue "github.com/hashicorp/terraform-provider-aws/internal/acctest/knownvalue" - "github.com/hashicorp/terraform-provider-aws/names" -) - -func TestAccAppSyncAPI_Identity_Basic(t *testing.T) { - ctx := acctest.Context(t) - - var v awstypes.Api - resourceName := "aws_appsync_api.test" - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - - acctest.ParallelTest(ctx, t, resource.TestCase{ - TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(tfversion.Version1_12_0), - }, - PreCheck: func() { acctest.PreCheck(ctx, t) }, - ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), - CheckDestroy: testAccCheckAPIDestroy(ctx), - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - Steps: []resource.TestStep{ - // Step 1: Setup - { - ConfigDirectory: config.StaticDirectory("testdata/API/basic/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - }, - Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckAPIExists(ctx, resourceName, &v), - ), - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), - statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ - names.AttrAccountID: tfknownvalue.AccountID(), - names.AttrRegion: knownvalue.StringExact(acctest.Region()), - names.AttrID: knownvalue.NotNull(), - }), - statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), - }, - }, - - // Step 2: Import command - { - ConfigDirectory: config.StaticDirectory("testdata/API/basic/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - }, - ImportStateKind: resource.ImportCommandWithID, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - }, - - // Step 3: Import block with Import ID - { - ConfigDirectory: config.StaticDirectory("testdata/API/basic/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - }, - ResourceName: resourceName, - ImportState: true, - ImportStateKind: resource.ImportBlockWithID, - ImportPlanChecks: resource.ImportPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), - plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), - }, - }, - }, - - // Step 4: Import block with Resource Identity - { - ConfigDirectory: config.StaticDirectory("testdata/API/basic/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - }, - ResourceName: resourceName, - ImportState: true, - ImportStateKind: resource.ImportBlockWithResourceIdentity, - ImportPlanChecks: resource.ImportPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), - plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), - }, - }, - }, - }, - }) -} - -func TestAccAppSyncAPI_Identity_RegionOverride(t *testing.T) { - ctx := acctest.Context(t) - - resourceName := "aws_appsync_api.test" - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - - acctest.ParallelTest(ctx, t, resource.TestCase{ - TerraformVersionChecks: []tfversion.TerraformVersionCheck{ - tfversion.SkipBelow(tfversion.Version1_12_0), - }, - PreCheck: func() { acctest.PreCheck(ctx, t) }, - ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), - CheckDestroy: acctest.CheckDestroyNoop, - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - Steps: []resource.TestStep{ - // Step 1: Setup - { - ConfigDirectory: config.StaticDirectory("testdata/API/region_override/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - "region": config.StringVariable(acctest.AlternateRegion()), - }, - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), - statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ - names.AttrAccountID: tfknownvalue.AccountID(), - names.AttrRegion: knownvalue.StringExact(acctest.AlternateRegion()), - names.AttrID: knownvalue.NotNull(), - }), - statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), - }, - }, - - // Step 2: Import command - { - ConfigDirectory: config.StaticDirectory("testdata/API/region_override/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - "region": config.StringVariable(acctest.AlternateRegion()), - }, - ImportStateKind: resource.ImportCommandWithID, - ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, - }, - - // Step 3: Import block with Import ID - { - ConfigDirectory: config.StaticDirectory("testdata/API/region_override/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - "region": config.StringVariable(acctest.AlternateRegion()), - }, - ResourceName: resourceName, - ImportState: true, - ImportStateKind: resource.ImportBlockWithID, - ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), - ImportPlanChecks: resource.ImportPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), - plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), - }, - }, - }, - - // Step 4: Import block with Resource Identity - { - ConfigDirectory: config.StaticDirectory("testdata/API/region_override/"), - ConfigVariables: config.Variables{ - acctest.CtRName: config.StringVariable(rName), - "region": config.StringVariable(acctest.AlternateRegion()), - }, - ResourceName: resourceName, - ImportState: true, - ImportStateKind: resource.ImportBlockWithResourceIdentity, - ImportPlanChecks: resource.ImportPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), - plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), - }, - }, - }, - }, - }) -} diff --git a/internal/service/appsync/api_tags_gen_test.go b/internal/service/appsync/api_tags_gen_test.go index e762bcc9c5c6..b2ee91fa2fde 100644 --- a/internal/service/appsync/api_tags_gen_test.go +++ b/internal/service/appsync/api_tags_gen_test.go @@ -68,9 +68,11 @@ func TestAccAppSyncAPI_tags(t *testing.T) { acctest.CtKey1: config.StringVariable(acctest.CtValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", }, { ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), @@ -117,9 +119,11 @@ func TestAccAppSyncAPI_tags(t *testing.T) { acctest.CtKey2: config.StringVariable(acctest.CtValue2), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", }, { ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), @@ -160,9 +164,11 @@ func TestAccAppSyncAPI_tags(t *testing.T) { acctest.CtKey2: config.StringVariable(acctest.CtValue2), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", }, { ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), @@ -191,9 +197,11 @@ func TestAccAppSyncAPI_tags(t *testing.T) { acctest.CtRName: config.StringVariable(rName), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", }, }, }) @@ -251,9 +259,11 @@ func TestAccAppSyncAPI_tags_null(t *testing.T) { acctest.CtKey1: nil, }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", ImportStateVerifyIgnore: []string{ acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" }, @@ -302,9 +312,11 @@ func TestAccAppSyncAPI_tags_EmptyMap(t *testing.T) { acctest.CtRName: config.StringVariable(rName), acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{}), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", ImportStateVerifyIgnore: []string{ acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" }, @@ -386,9 +398,11 @@ func TestAccAppSyncAPI_tags_AddOnUpdate(t *testing.T) { acctest.CtKey1: config.StringVariable(acctest.CtValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", }, }, }) @@ -446,9 +460,11 @@ func TestAccAppSyncAPI_tags_EmptyTag_OnCreate(t *testing.T) { acctest.CtKey1: config.StringVariable(""), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", }, { ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), @@ -477,9 +493,11 @@ func TestAccAppSyncAPI_tags_EmptyTag_OnCreate(t *testing.T) { acctest.CtRName: config.StringVariable(rName), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", }, }, }) @@ -574,9 +592,11 @@ func TestAccAppSyncAPI_tags_EmptyTag_OnUpdate_Add(t *testing.T) { acctest.CtKey2: config.StringVariable(""), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", }, { ConfigDirectory: config.StaticDirectory("testdata/API/tags/"), @@ -617,9 +637,11 @@ func TestAccAppSyncAPI_tags_EmptyTag_OnUpdate_Add(t *testing.T) { acctest.CtKey1: config.StringVariable(acctest.CtValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", }, }, }) @@ -708,9 +730,11 @@ func TestAccAppSyncAPI_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { acctest.CtKey1: config.StringVariable(""), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", }, }, }) @@ -767,9 +791,11 @@ func TestAccAppSyncAPI_tags_DefaultTags_providerOnly(t *testing.T) { }), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -814,9 +840,11 @@ func TestAccAppSyncAPI_tags_DefaultTags_providerOnly(t *testing.T) { }), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -857,9 +885,11 @@ func TestAccAppSyncAPI_tags_DefaultTags_providerOnly(t *testing.T) { }), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -890,9 +920,11 @@ func TestAccAppSyncAPI_tags_DefaultTags_providerOnly(t *testing.T) { acctest.CtRName: config.StringVariable(rName), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", }, }, }) @@ -959,9 +991,11 @@ func TestAccAppSyncAPI_tags_DefaultTags_nonOverlapping(t *testing.T) { acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -1018,9 +1052,11 @@ func TestAccAppSyncAPI_tags_DefaultTags_nonOverlapping(t *testing.T) { acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -1051,9 +1087,11 @@ func TestAccAppSyncAPI_tags_DefaultTags_nonOverlapping(t *testing.T) { acctest.CtRName: config.StringVariable(rName), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", }, }, }) @@ -1118,9 +1156,11 @@ func TestAccAppSyncAPI_tags_DefaultTags_overlapping(t *testing.T) { acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -1177,9 +1217,11 @@ func TestAccAppSyncAPI_tags_DefaultTags_overlapping(t *testing.T) { acctest.CtOverlapKey2: config.StringVariable(acctest.CtResourceValue2), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", }, { ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, @@ -1228,9 +1270,11 @@ func TestAccAppSyncAPI_tags_DefaultTags_overlapping(t *testing.T) { acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue2), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", }, }, }) @@ -1319,9 +1363,11 @@ func TestAccAppSyncAPI_tags_DefaultTags_updateToProviderOnly(t *testing.T) { }), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", }, }, }) @@ -1409,9 +1455,11 @@ func TestAccAppSyncAPI_tags_DefaultTags_updateToResourceOnly(t *testing.T) { acctest.CtKey1: config.StringVariable(acctest.CtValue1), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", }, }, }) @@ -1476,9 +1524,11 @@ func TestAccAppSyncAPI_tags_DefaultTags_emptyResourceTag(t *testing.T) { acctest.CtKey1: config.StringVariable(""), }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", }, }, }) @@ -1535,9 +1585,11 @@ func TestAccAppSyncAPI_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { }), acctest.CtResourceTags: nil, }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", }, }, }) @@ -1602,9 +1654,11 @@ func TestAccAppSyncAPI_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) acctest.CtKey1: nil, }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", ImportStateVerifyIgnore: []string{ acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" }, @@ -1674,9 +1728,11 @@ func TestAccAppSyncAPI_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing acctest.CtResourceKey1: nil, }), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", ImportStateVerifyIgnore: []string{ "tags.resourcekey1", // The canonical value returned by the AWS API is "" }, @@ -1733,9 +1789,11 @@ func TestAccAppSyncAPI_tags_ComputedTag_OnCreate(t *testing.T) { acctest.CtRName: config.StringVariable(rName), "unknownTagKey": config.StringVariable("computedkey1"), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", }, }, }) @@ -1831,9 +1889,11 @@ func TestAccAppSyncAPI_tags_ComputedTag_OnUpdate_Add(t *testing.T) { "knownTagKey": config.StringVariable(acctest.CtKey1), "knownTagValue": config.StringVariable(acctest.CtValue1), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", }, }, }) @@ -1919,9 +1979,11 @@ func TestAccAppSyncAPI_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { acctest.CtRName: config.StringVariable(rName), "unknownTagKey": config.StringVariable(acctest.CtKey1), }, - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", }, }, }) diff --git a/internal/service/appsync/api_test.go b/internal/service/appsync/api_test.go index 51443452624e..df0bce62435b 100644 --- a/internal/service/appsync/api_test.go +++ b/internal/service/appsync/api_test.go @@ -5,7 +5,6 @@ package appsync_test import ( "context" - "errors" "fmt" "testing" @@ -15,7 +14,6 @@ import ( "github.com/hashicorp/terraform-plugin-testing/terraform" "github.com/hashicorp/terraform-provider-aws/internal/acctest" "github.com/hashicorp/terraform-provider-aws/internal/conns" - "github.com/hashicorp/terraform-provider-aws/internal/create" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" @@ -49,29 +47,29 @@ func TestAccAppSyncAPI_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "3"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_provider.#", "3"), // Cognito auth provider - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.0.auth_type", "AMAZON_COGNITO_USER_POOLS"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.0.cognito_config.#", "1"), - resource.TestCheckResourceAttrSet(resourceName, "event_config.0.auth_providers.0.cognito_config.0.user_pool_id"), - resource.TestCheckResourceAttrSet(resourceName, "event_config.0.auth_providers.0.cognito_config.0.aws_region"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_provider.0.auth_type", "AMAZON_COGNITO_USER_POOLS"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_provider.0.cognito_config.#", "1"), + resource.TestCheckResourceAttrSet(resourceName, "event_config.0.auth_provider.0.cognito_config.0.user_pool_id"), + resource.TestCheckResourceAttrSet(resourceName, "event_config.0.auth_provider.0.cognito_config.0.aws_region"), // Lambda auth provider - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.1.auth_type", "AWS_LAMBDA"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.1.lambda_authorizer_config.#", "1"), - resource.TestCheckResourceAttrSet(resourceName, "event_config.0.auth_providers.1.lambda_authorizer_config.0.authorizer_uri"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.1.lambda_authorizer_config.0.authorizer_result_ttl_in_seconds", "300"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_provider.1.auth_type", "AWS_LAMBDA"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_provider.1.lambda_authorizer_config.#", "1"), + resource.TestCheckResourceAttrSet(resourceName, "event_config.0.auth_provider.1.lambda_authorizer_config.0.authorizer_uri"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_provider.1.lambda_authorizer_config.0.authorizer_result_ttl_in_seconds", "300"), // OpenID Connect auth provider - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.2.auth_type", "OPENID_CONNECT"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.2.openid_connect_config.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.2.openid_connect_config.0.issuer", "https://example.com"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.2.openid_connect_config.0.client_id", "test-client-id"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_provider.2.auth_type", "OPENID_CONNECT"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_provider.2.openid_connect_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_provider.2.openid_connect_config.0.issuer", "https://example.com"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_provider.2.openid_connect_config.0.client_id", "test-client-id"), // Auth modes - resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.0.auth_type", "AWS_LAMBDA"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.0.auth_type", "AWS_LAMBDA"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.0.auth_type", "AWS_LAMBDA"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_mode.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_mode.0.auth_type", "AWS_LAMBDA"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_mode.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_mode.0.auth_type", "AWS_LAMBDA"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_mode.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_mode.0.auth_type", "AWS_LAMBDA"), // Log config resource.TestCheckResourceAttr(resourceName, "event_config.0.log_config.#", "1"), resource.TestCheckResourceAttrSet(resourceName, "event_config.0.log_config.0.cloudwatch_logs_role_arn"), @@ -86,9 +84,11 @@ func TestAccAppSyncAPI_basic(t *testing.T) { ), }, { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), }, }, }) @@ -122,7 +122,7 @@ func TestAccAppSyncAPI_update(t *testing.T) { resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "3"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_provider.#", "3"), ), }, { @@ -132,13 +132,15 @@ func TestAccAppSyncAPI_update(t *testing.T) { resource.TestCheckResourceAttr(resourceName, names.AttrName, rNameUpdated), resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "3"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_provider.#", "3"), ), }, { - ResourceName: resourceName, - ImportState: true, - ImportStateVerify: true, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), }, }, }) @@ -167,16 +169,6 @@ func TestAccAppSyncAPI_disappears(t *testing.T) { Config: testAccAPIConfig_basic(rName), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckAPIExists(ctx, resourceName, &api), - resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), - resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_providers.0.auth_type", "API_KEY"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_modes.0.auth_type", "API_KEY"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_modes.0.auth_type", "API_KEY"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.#", "1"), - resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_modes.0.auth_type", "API_KEY"), acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfappsync.ResourceAPI, resourceName), ), ExpectNonEmptyPlan: true, @@ -193,40 +185,39 @@ func testAccCheckAPIDestroy(ctx context.Context) resource.TestCheckFunc { continue } - _, err := tfappsync.FindAPIByID(ctx, conn, rs.Primary.ID) + _, err := tfappsync.FindAPIByID(ctx, conn, rs.Primary.Attributes["api_id"]) + if tfresource.NotFound(err) { - return nil + continue } + if err != nil { - return create.Error(names.AppSync, create.ErrActionCheckingDestroyed, tfappsync.ResNameAPI, rs.Primary.ID, err) + return err } - return create.Error(names.AppSync, create.ErrActionCheckingDestroyed, tfappsync.ResNameAPI, rs.Primary.ID, errors.New("not destroyed")) + return fmt.Errorf("AppSync API %s still exists", rs.Primary.Attributes["api_id"]) } return nil } } -func testAccCheckAPIExists(ctx context.Context, name string, api *awstypes.Api) resource.TestCheckFunc { +func testAccCheckAPIExists(ctx context.Context, n string, v *awstypes.Api) resource.TestCheckFunc { return func(s *terraform.State) error { - rs, ok := s.RootModule().Resources[name] + rs, ok := s.RootModule().Resources[n] if !ok { - return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameAPI, name, errors.New("not found")) - } - - if rs.Primary.ID == "" { - return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameAPI, name, errors.New("not set")) + return fmt.Errorf("Not found: %s", n) } conn := acctest.Provider.Meta().(*conns.AWSClient).AppSyncClient(ctx) - resp, err := tfappsync.FindAPIByID(ctx, conn, rs.Primary.ID) + output, err := tfappsync.FindAPIByID(ctx, conn, rs.Primary.Attributes["api_id"]) + if err != nil { - return create.Error(names.AppSync, create.ErrActionCheckingExistence, tfappsync.ResNameAPI, rs.Primary.ID, err) + return err } - *api = *resp + *v = *output return nil } @@ -238,19 +229,19 @@ resource "aws_appsync_api" "test" { name = %[1]q event_config { - auth_providers { + auth_provider { auth_type = "API_KEY" } - connection_auth_modes { + connection_auth_mode { auth_type = "API_KEY" } - default_publish_auth_modes { + default_publish_auth_mode { auth_type = "API_KEY" } - default_subscribe_auth_modes { + default_subscribe_auth_mode { auth_type = "API_KEY" } } @@ -357,7 +348,7 @@ resource "aws_appsync_api" "test" { owner_contact = "test@example.com" event_config { - auth_providers { + auth_provider { auth_type = "AMAZON_COGNITO_USER_POOLS" cognito_config { user_pool_id = aws_cognito_user_pool.test.id @@ -365,7 +356,7 @@ resource "aws_appsync_api" "test" { } } - auth_providers { + auth_provider { auth_type = "AWS_LAMBDA" lambda_authorizer_config { authorizer_uri = aws_lambda_function.test.arn @@ -373,7 +364,7 @@ resource "aws_appsync_api" "test" { } } - auth_providers { + auth_provider { auth_type = "OPENID_CONNECT" openid_connect_config { issuer = "https://example.com" @@ -381,15 +372,15 @@ resource "aws_appsync_api" "test" { } } - connection_auth_modes { + connection_auth_mode { auth_type = "AWS_LAMBDA" } - default_publish_auth_modes { + default_publish_auth_mode { auth_type = "AWS_LAMBDA" } - default_subscribe_auth_modes { + default_subscribe_auth_mode { auth_type = "AWS_LAMBDA" } diff --git a/internal/service/appsync/exports_test.go b/internal/service/appsync/exports_test.go index d423f1d538d7..13b05fc648df 100644 --- a/internal/service/appsync/exports_test.go +++ b/internal/service/appsync/exports_test.go @@ -5,12 +5,12 @@ package appsync // Exports for use in tests only. var ( + ResourceAPI = newAPIResource ResourceAPICache = resourceAPICache ResourceAPIKey = resourceAPIKey ResourceDataSource = resourceDataSource ResourceDomainName = resourceDomainName ResourceDomainNameAPIAssociation = resourceDomainNameAPIAssociation - ResourceAPI = newAPIResource ResourceFunction = resourceFunction ResourceGraphQLAPI = resourceGraphQLAPI ResourceResolver = resourceResolver @@ -18,12 +18,12 @@ var ( ResourceSourceAPIAssociation = newSourceAPIAssociationResource DefaultAuthorizerResultTTLInSeconds = defaultAuthorizerResultTTLInSeconds + FindAPIByID = findAPIByID FindAPICacheByID = findAPICacheByID FindAPIKeyByTwoPartKey = findAPIKeyByTwoPartKey FindDataSourceByTwoPartKey = findDataSourceByTwoPartKey FindDomainNameAPIAssociationByID = findDomainNameAPIAssociationByID FindDomainNameByID = findDomainNameByID - FindAPIByID = findAPIByID FindFunctionByTwoPartKey = findFunctionByTwoPartKey FindGraphQLAPIByID = findGraphQLAPIByID FindResolverByThreePartKey = findResolverByThreePartKey diff --git a/internal/service/appsync/service_package_gen.go b/internal/service/appsync/service_package_gen.go index 90ea90695144..1593e169e4cc 100644 --- a/internal/service/appsync/service_package_gen.go +++ b/internal/service/appsync/service_package_gen.go @@ -29,13 +29,9 @@ func (p *servicePackage) FrameworkResources(ctx context.Context) []*inttypes.Ser TypeName: "aws_appsync_api", Name: "API", Tags: unique.Make(inttypes.ServicePackageResourceTags{ - IdentifierAttribute: names.AttrARN, + IdentifierAttribute: "api_arn", }), - Region: unique.Make(inttypes.ResourceRegionDefault()), - Identity: inttypes.RegionalSingleParameterIdentity(names.AttrID), - Import: inttypes.FrameworkImport{ - WrappedImport: true, - }, + Region: unique.Make(inttypes.ResourceRegionDefault()), }, { Factory: newSourceAPIAssociationResource, diff --git a/internal/service/appsync/testdata/API/tags/main_gen.tf b/internal/service/appsync/testdata/API/tags/main_gen.tf index 856cf507e796..bc7ca626952e 100644 --- a/internal/service/appsync/testdata/API/tags/main_gen.tf +++ b/internal/service/appsync/testdata/API/tags/main_gen.tf @@ -5,19 +5,19 @@ resource "aws_appsync_api" "test" { name = var.rName event_config { - auth_providers { + auth_provider { auth_type = "API_KEY" } - connection_auth_modes { + connection_auth_mode { auth_type = "API_KEY" } - default_publish_auth_modes { + default_publish_auth_mode { auth_type = "API_KEY" } - default_subscribe_auth_modes { + default_subscribe_auth_mode { auth_type = "API_KEY" } } diff --git a/internal/service/appsync/testdata/API/tagsComputed1/main_gen.tf b/internal/service/appsync/testdata/API/tagsComputed1/main_gen.tf index 43f59be80535..ab982227d50f 100644 --- a/internal/service/appsync/testdata/API/tagsComputed1/main_gen.tf +++ b/internal/service/appsync/testdata/API/tagsComputed1/main_gen.tf @@ -7,19 +7,19 @@ resource "aws_appsync_api" "test" { name = var.rName event_config { - auth_providers { + auth_provider { auth_type = "API_KEY" } - connection_auth_modes { + connection_auth_mode { auth_type = "API_KEY" } - default_publish_auth_modes { + default_publish_auth_mode { auth_type = "API_KEY" } - default_subscribe_auth_modes { + default_subscribe_auth_mode { auth_type = "API_KEY" } } diff --git a/internal/service/appsync/testdata/API/tagsComputed2/main_gen.tf b/internal/service/appsync/testdata/API/tagsComputed2/main_gen.tf index 40fbd1e57600..56e81132414a 100644 --- a/internal/service/appsync/testdata/API/tagsComputed2/main_gen.tf +++ b/internal/service/appsync/testdata/API/tagsComputed2/main_gen.tf @@ -7,19 +7,19 @@ resource "aws_appsync_api" "test" { name = var.rName event_config { - auth_providers { + auth_provider { auth_type = "API_KEY" } - connection_auth_modes { + connection_auth_mode { auth_type = "API_KEY" } - default_publish_auth_modes { + default_publish_auth_mode { auth_type = "API_KEY" } - default_subscribe_auth_modes { + default_subscribe_auth_mode { auth_type = "API_KEY" } } diff --git a/internal/service/appsync/testdata/API/tags_defaults/main_gen.tf b/internal/service/appsync/testdata/API/tags_defaults/main_gen.tf index b2ab1d518182..1a98fe1d91b3 100644 --- a/internal/service/appsync/testdata/API/tags_defaults/main_gen.tf +++ b/internal/service/appsync/testdata/API/tags_defaults/main_gen.tf @@ -11,19 +11,19 @@ resource "aws_appsync_api" "test" { name = var.rName event_config { - auth_providers { + auth_provider { auth_type = "API_KEY" } - connection_auth_modes { + connection_auth_mode { auth_type = "API_KEY" } - default_publish_auth_modes { + default_publish_auth_mode { auth_type = "API_KEY" } - default_subscribe_auth_modes { + default_subscribe_auth_mode { auth_type = "API_KEY" } } diff --git a/internal/service/appsync/testdata/API/tags_ignore/main_gen.tf b/internal/service/appsync/testdata/API/tags_ignore/main_gen.tf index 14110e0b6dee..4f672b232ee3 100644 --- a/internal/service/appsync/testdata/API/tags_ignore/main_gen.tf +++ b/internal/service/appsync/testdata/API/tags_ignore/main_gen.tf @@ -14,19 +14,19 @@ resource "aws_appsync_api" "test" { name = var.rName event_config { - auth_providers { + auth_provider { auth_type = "API_KEY" } - connection_auth_modes { + connection_auth_mode { auth_type = "API_KEY" } - default_publish_auth_modes { + default_publish_auth_mode { auth_type = "API_KEY" } - default_subscribe_auth_modes { + default_subscribe_auth_mode { auth_type = "API_KEY" } } diff --git a/internal/service/appsync/testdata/tmpl/api_tags.gtpl b/internal/service/appsync/testdata/tmpl/api_tags.gtpl index 95ac30831330..3a020211a26b 100644 --- a/internal/service/appsync/testdata/tmpl/api_tags.gtpl +++ b/internal/service/appsync/testdata/tmpl/api_tags.gtpl @@ -3,19 +3,19 @@ resource "aws_appsync_api" "test" { name = var.rName event_config { - auth_providers { + auth_provider { auth_type = "API_KEY" } - connection_auth_modes { + connection_auth_mode { auth_type = "API_KEY" } - default_publish_auth_modes { + default_publish_auth_mode { auth_type = "API_KEY" } - default_subscribe_auth_modes { + default_subscribe_auth_mode { auth_type = "API_KEY" } } diff --git a/website/docs/r/appsync_api.html.markdown b/website/docs/r/appsync_api.html.markdown index 12ee70691ff0..67673e9c82cf 100644 --- a/website/docs/r/appsync_api.html.markdown +++ b/website/docs/r/appsync_api.html.markdown @@ -40,7 +40,7 @@ resource "aws_appsync_event_api" "example" { name = "example-event-api" event_config { - auth_providers { + auth_provider { auth_type = "AMAZON_COGNITO_USER_POOLS" cognito_config { user_pool_id = aws_cognito_user_pool.example.id @@ -85,7 +85,7 @@ resource "aws_appsync_event_api" "example" { name = "example-event-api" event_config { - auth_providers { + auth_provider { auth_type = "AWS_LAMBDA" lambda_authorizer_config { authorizer_uri = aws_lambda_function.example.invoke_arn @@ -103,7 +103,7 @@ resource "aws_appsync_event_api" "example" { name = "example-event-api" event_config { - auth_providers { + auth_provider { auth_type = "OPENID_CONNECT" openid_connect_config { issuer = "https://example.com" @@ -121,13 +121,13 @@ resource "aws_appsync_event_api" "example" { name = "example-event-api" event_config { - connection_auth_modes { + connection_auth_mode { auth_type = "API_KEY" } - default_publish_auth_modes { + default_publish_auth_mode { auth_type = "API_KEY" } - default_subscribe_auth_modes { + default_subscribe_auth_mode { auth_type = "API_KEY" } } @@ -179,23 +179,24 @@ The following arguments are required: The following arguments are optional: -* `owner_contact` - (Optional) Contact information for the owner of the Event API. * `event_config` - (Optional) Configuration for the Event API. See [Event Config](#event-config) below. +* `owner_contact` - (Optional) Contact information for the owner of the Event API. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `tags` - (Optional) Map of tags to assign to the resource. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. ### Event Config The `event_config` block supports the following: -* `auth_providers` - (Optional) List of authentication providers. See [Auth Providers](#auth-providers) below. -* `connection_auth_modes` - (Optional) List of authentication modes for connections. See [Auth Modes](#auth-modes) below. -* `default_publish_auth_modes` - (Optional) List of default authentication modes for publishing. See [Auth Modes](#auth-modes) below. -* `default_subscribe_auth_modes` - (Optional) List of default authentication modes for subscribing. See [Auth Modes](#auth-modes) below. +* `auth_provider` - (Optional) List of authentication providers. See [Auth Providers](#auth-providers) below. +* `connection_auth_mode` - (Optional) List of authentication modes for connections. See [Auth Modes](#auth-modes) below. +* `default_publish_auth_mode` - (Optional) List of default authentication modes for publishing. See [Auth Modes](#auth-modes) below. +* `default_subscribe_auth_mode` - (Optional) List of default authentication modes for subscribing. See [Auth Modes](#auth-modes) below. * `log_config` - (Optional) Logging configuration. See [Log Config](#log-config) below. ### Auth Providers -The `auth_providers` block supports the following: +The `auth_provider` block supports the following: * `auth_type` - (Required) Type of authentication provider. Valid values: `AMAZON_COGNITO_USER_POOLS`, `AWS_LAMBDA`, `OPENID_CONNECT`, `API_KEY`. * `cognito_config` - (Optional) Configuration for Cognito user pool authentication. Required when `auth_type` is `AMAZON_COGNITO_USER_POOLS`. See [Cognito Config](#cognito-config) below. @@ -229,7 +230,7 @@ The `openid_connect_config` block supports the following: ### Auth Modes -The `connection_auth_modes`, `default_publish_auth_modes`, and `default_subscribe_auth_modes` blocks support the following: +The `connection_auth_mode`, `default_publish_auth_mode`, and `default_subscribe_auth_mode` blocks support the following: * `auth_type` - (Required) Type of authentication. Valid values: `API_KEY`, `AWS_IAM`, `AMAZON_COGNITO_USER_POOLS`, `OPENID_CONNECT`, `AWS_LAMBDA`. @@ -245,20 +246,11 @@ The `log_config` block supports the following: This resource exports the following attributes in addition to the arguments above: * `api_id` - ID of the Event API. -* `arn` - ARN of the Event API. -* `created` - Date and time when the Event API was created. +* `api_arn` - ARN of the Event API. * `dns` - DNS configuration for the Event API. * `tags_all` - Map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). * `waf_web_acl_arn` - ARN of the associated WAF web ACL. -## Timeouts - -[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts): - -* `create` - (Default `30m`) -* `update` - (Default `30m`) -* `delete` - (Default `30m`) - ## Import In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import AppSync Event API using the `api_id`. For example: From 521a3c7f9b3851ac8ab3eb3deeb8e25405640a49 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Mon, 11 Aug 2025 15:15:24 -0400 Subject: [PATCH 0798/1301] Acceptance test output: % make testacc TESTARGS='-run=TestAccAppSyncAPI_basic' PKG=appsync make: Verifying source code with gofmt... ==> Checking that code complies with gofmt requirements... TF_ACC=1 go1.24.5 test ./internal/service/appsync/... -v -count 1 -parallel 20 -run=TestAccAppSyncAPI_basic -timeout 360m -vet=off 2025/08/11 15:14:26 Creating Terraform AWS Provider (SDKv2-style)... 2025/08/11 15:14:26 Initializing Terraform AWS Provider (SDKv2-style)... === RUN TestAccAppSyncAPI_basic === PAUSE TestAccAppSyncAPI_basic === CONT TestAccAppSyncAPI_basic --- PASS: TestAccAppSyncAPI_basic (33.25s) PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/appsync 38.677s From ee7b119153f57ab99cb59d5bf3c49b569a5575f9 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Mon, 11 Aug 2025 15:17:19 -0400 Subject: [PATCH 0799/1301] Run 'make fix-constants PKG=appsync'. --- internal/service/appsync/api.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/appsync/api.go b/internal/service/appsync/api.go index 8c642d255cbe..c6c1b8d2f229 100644 --- a/internal/service/appsync/api.go +++ b/internal/service/appsync/api.go @@ -127,7 +127,7 @@ func (r *apiResource) Schema(ctx context.Context, request resource.SchemaRequest fwvalidators.AWSRegion(), }, }, - "user_pool_id": schema.StringAttribute{ + names.AttrUserPoolID: schema.StringAttribute{ Required: true, }, }, From 8aa0370ca56eb8ed2921583fdb22e37cfb56a942 Mon Sep 17 00:00:00 2001 From: tabito Date: Tue, 12 Aug 2025 02:58:13 +0900 Subject: [PATCH 0800/1301] add d.Set() for ARN in Read function --- internal/service/ecs/service.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/service/ecs/service.go b/internal/service/ecs/service.go index ed3c97dae318..9e34fa411cb5 100644 --- a/internal/service/ecs/service.go +++ b/internal/service/ecs/service.go @@ -1471,6 +1471,7 @@ func resourceServiceRead(ctx context.Context, d *schema.ResourceData, meta any) return sdkdiag.AppendErrorf(diags, "reading ECS Service (%s): %s", d.Id(), err) } + d.Set(names.AttrARN, service.ServiceArn) d.Set("availability_zone_rebalancing", service.AvailabilityZoneRebalancing) if err := d.Set(names.AttrCapacityProviderStrategy, flattenCapacityProviderStrategyItems(service.CapacityProviderStrategy)); err != nil { return sdkdiag.AppendErrorf(diags, "setting capacity_provider_strategy: %s", err) From 75ed97c0b146c42f1ab60e52f72eb66cd3cb803f Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Mon, 11 Aug 2025 15:21:45 -0400 Subject: [PATCH 0801/1301] Fix golangci-lint 'unused'. --- internal/service/appsync/api_test.go | 25 ------------------------- 1 file changed, 25 deletions(-) diff --git a/internal/service/appsync/api_test.go b/internal/service/appsync/api_test.go index df0bce62435b..1c87fb4d16c7 100644 --- a/internal/service/appsync/api_test.go +++ b/internal/service/appsync/api_test.go @@ -404,28 +404,3 @@ resource "aws_appsync_api" "test" { data "aws_region" "current" {} `, rName) } - -func testAccAPIConfig_tags1(rName, tagKey1, tagValue1 string) string { - return fmt.Sprintf(` -resource "aws_appsync_api" "test" { - name = %[1]q - - tags = { - %[2]q = %[3]q - } -} -`, rName, tagKey1, tagValue1) -} - -func testAccAPIConfig_tags2(rName, tagKey1, tagValue1, tagKey2, tagValue2 string) string { - return fmt.Sprintf(` -resource "aws_appsync_api" "test" { - name = %[1]q - - tags = { - %[2]q = %[3]q - %[4]q = %[5]q - } -} -`, rName, tagKey1, tagValue1, tagKey2, tagValue2) -} From 72dc523028c1ca253681f72b24a094f2959fcfce Mon Sep 17 00:00:00 2001 From: tabito Date: Mon, 11 Aug 2025 23:49:43 +0900 Subject: [PATCH 0802/1301] Add an acctest to check upgrading from v5.100.0 --- internal/service/ecs/service_test.go | 58 ++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/internal/service/ecs/service_test.go b/internal/service/ecs/service_test.go index 4105c8d7c3a8..b847e3fc3ebf 100644 --- a/internal/service/ecs/service_test.go +++ b/internal/service/ecs/service_test.go @@ -2334,6 +2334,64 @@ func TestAccECSService_Tags_managed(t *testing.T) { }) } +func TestAccECSService_Tags_UpgradeFromV5_100_0(t *testing.T) { + ctx := acctest.Context(t) + var service awstypes.Service + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_ecs_service.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.ECSServiceID), + CheckDestroy: testAccCheckServiceDestroy(ctx), + Steps: []resource.TestStep{ + { + ExternalProviders: map[string]resource.ExternalProvider{ + "aws": { + Source: "hashicorp/aws", + VersionConstraint: "5.100.0", + }, + }, + Config: testAccServiceConfig_tags1(rName, acctest.CtKey1, acctest.CtValue1), + Check: resource.ComposeTestCheckFunc( + testAccCheckServiceExists(ctx, resourceName, &service), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "1"), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsKey1, acctest.CtValue1), + ), + }, + { + // Just only upgrading to the latest provider version + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Config: testAccServiceConfig_tags1(rName, acctest.CtKey1, acctest.CtValue1), + Check: resource.ComposeTestCheckFunc( + testAccCheckServiceExists(ctx, resourceName, &service), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "1"), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsKey1, acctest.CtValue1), + ), + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Config: testAccServiceConfig_tags2(rName, acctest.CtKey1, acctest.CtValue1Updated, acctest.CtKey2, acctest.CtValue2), + Check: resource.ComposeTestCheckFunc( + testAccCheckServiceExists(ctx, resourceName, &service), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "2"), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsKey1, acctest.CtValue1Updated), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsKey2, acctest.CtValue2), + ), + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Config: testAccServiceConfig_tags1(rName, acctest.CtKey2, acctest.CtValue2), + Check: resource.ComposeTestCheckFunc( + testAccCheckServiceExists(ctx, resourceName, &service), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "1"), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsKey2, acctest.CtValue2), + ), + }, + }, + }) +} + func TestAccECSService_Tags_propagate(t *testing.T) { ctx := acctest.Context(t) var first, second, third awstypes.Service From 3125b435fd2c8b15a6891d956709007af17b9a6b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Mon, 11 Aug 2025 15:24:15 -0400 Subject: [PATCH 0803/1301] Fix semgrep 'ci.email-address'. --- internal/service/appsync/api_test.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/service/appsync/api_test.go b/internal/service/appsync/api_test.go index 1c87fb4d16c7..cc44d6fa061c 100644 --- a/internal/service/appsync/api_test.go +++ b/internal/service/appsync/api_test.go @@ -45,7 +45,7 @@ func TestAccAppSyncAPI_basic(t *testing.T) { Check: resource.ComposeAggregateTestCheckFunc( testAccCheckAPIExists(ctx, resourceName, &api), resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), - resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), + resource.TestCheckResourceAttr(resourceName, "owner_contact", acctest.DefaultEmailAddress), resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_provider.#", "3"), // Cognito auth provider @@ -120,7 +120,7 @@ func TestAccAppSyncAPI_update(t *testing.T) { Check: resource.ComposeAggregateTestCheckFunc( testAccCheckAPIExists(ctx, resourceName, &api), resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), - resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), + resource.TestCheckResourceAttr(resourceName, "owner_contact", acctest.DefaultEmailAddress), resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_provider.#", "3"), ), @@ -130,7 +130,7 @@ func TestAccAppSyncAPI_update(t *testing.T) { Check: resource.ComposeAggregateTestCheckFunc( testAccCheckAPIExists(ctx, resourceName, &api), resource.TestCheckResourceAttr(resourceName, names.AttrName, rNameUpdated), - resource.TestCheckResourceAttr(resourceName, "owner_contact", "test@example.com"), + resource.TestCheckResourceAttr(resourceName, "owner_contact", acctest.DefaultEmailAddress), resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_provider.#", "3"), ), @@ -345,7 +345,7 @@ resource "aws_iam_role_policy" "cloudwatch" { resource "aws_appsync_api" "test" { name = %[1]q - owner_contact = "test@example.com" + owner_contact = %[2]q event_config { auth_provider { @@ -402,5 +402,5 @@ resource "aws_appsync_api" "test" { } data "aws_region" "current" {} -`, rName) +`, rName, acctest.DefaultEmailAddress) } From ed74f3cb61a7782a5245cb9ab4b0813aca4f1577 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Mon, 11 Aug 2025 15:31:44 -0400 Subject: [PATCH 0804/1301] Clean up blurb --- website/docs/index.html.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/index.html.markdown b/website/docs/index.html.markdown index 67ae3cec65b6..10371e006f17 100644 --- a/website/docs/index.html.markdown +++ b/website/docs/index.html.markdown @@ -7,9 +7,9 @@ description: |- # AWS Provider -The Amazon Web Services (AWS) provider is Terraform’s most widely-used provider and the industry-standard way to manage AWS infrastructure as code. Trusted by organizations such as Netflix, Lyft, Stripe, Shopify, Slack, and the U.S. Department of Defense, it provisions and orchestrates billions of dollars of AWS infrastructure across thousands of organizations every day. +The Amazon Web Services (AWS) provider is Terraform’s most widely-used provider and the industry-standard way to manage AWS infrastructure as code. It is an indispensable part of how leading technology companies, global banks, government agencies, and some of the largest enterprises in the world build and operate in the cloud. Every day, it provisions and orchestrates billions of dollars of AWS infrastructure across thousands of organizations. -With 1,514 resources and 609 data sources, the AWS provider supports the full breadth of AWS services—from foundational compute, storage, and networking to advanced capabilities like Lambda, RDS, and IAM. Whether you are automating a single S3 bucket or operating a multi-region, enterprise-scale architecture, the provider delivers consistent, reliable workflows that scale with your needs. +With 1,514 resources and 609 data sources, the AWS provider spans the full breadth of AWS services—from foundational capabilities like compute, storage, networking, and identity management to advanced services for AI, analytics, and event-driven architectures, including Lambda, RDS, SageMaker, and Bedrock. Whether automating a single S3 bucket or orchestrating a multi-region, enterprise-scale environment, the provider delivers consistent, reliable workflows that scale with your needs. Configure the provider with your AWS credentials, and you can immediately begin creating and managing infrastructure in a safe, repeatable way. Use the navigation on the left to explore the available resources, or start with our [Get Started tutorials](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/infrastructure-as-code?in=terraform/aws-get-started&utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS) to learn the fundamentals. For deeper guidance on specific AWS services, visit the [AWS services tutorials](https://developer.hashicorp.com/terraform/tutorials/aws?utm_source=WEBSITE&utm_medium=WEB_IO&utm_offer=ARTICLE_PAGE&utm_content=DOCS). From 8cf36fe3d87c35286933fa419d52c65a5b7a27e2 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Mon, 11 Aug 2025 15:34:31 -0400 Subject: [PATCH 0805/1301] Fix terrafmt errors. --- internal/service/appsync/api_test.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/service/appsync/api_test.go b/internal/service/appsync/api_test.go index cc44d6fa061c..a2eecb9409ac 100644 --- a/internal/service/appsync/api_test.go +++ b/internal/service/appsync/api_test.go @@ -293,9 +293,9 @@ resource "aws_iam_role_policy" "lambda_basic" { resource "aws_lambda_function" "test" { filename = "test-fixtures/lambdatest.zip" function_name = %[1]q - role = aws_iam_role.lambda.arn - handler = "index.handler" - runtime = "nodejs18.x" + role = aws_iam_role.lambda.arn + handler = "index.handler" + runtime = "nodejs18.x" source_code_hash = filebase64sha256("test-fixtures/lambdatest.zip") depends_on = [aws_iam_role_policy.lambda_basic] @@ -359,7 +359,7 @@ resource "aws_appsync_api" "test" { auth_provider { auth_type = "AWS_LAMBDA" lambda_authorizer_config { - authorizer_uri = aws_lambda_function.test.arn + authorizer_uri = aws_lambda_function.test.arn authorizer_result_ttl_in_seconds = 300 } } From 9c3962e686fb822d43d469edcbd9297819bfd08d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Mon, 11 Aug 2025 15:35:51 -0400 Subject: [PATCH 0806/1301] Fix markdown-lint 'MD031/blanks-around-fences Fenced code blocks should be surrounded by blank lines'. --- website/docs/r/appsync_api.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/r/appsync_api.html.markdown b/website/docs/r/appsync_api.html.markdown index 67673e9c82cf..c8850f8ee881 100644 --- a/website/docs/r/appsync_api.html.markdown +++ b/website/docs/r/appsync_api.html.markdown @@ -28,7 +28,7 @@ resource "aws_appsync_event_api" "example" { owner_contact = "admin@example.com" } ``` -a + ### With Cognito Authentication ```terraform From 0975e0ba916abe84d8923ba31276389f5e5e5e09 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Mon, 11 Aug 2025 15:36:39 -0400 Subject: [PATCH 0807/1301] Fix impi errors. --- internal/service/appsync/api_test.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/internal/service/appsync/api_test.go b/internal/service/appsync/api_test.go index a2eecb9409ac..66ff209e5ba8 100644 --- a/internal/service/appsync/api_test.go +++ b/internal/service/appsync/api_test.go @@ -14,10 +14,9 @@ import ( "github.com/hashicorp/terraform-plugin-testing/terraform" "github.com/hashicorp/terraform-provider-aws/internal/acctest" "github.com/hashicorp/terraform-provider-aws/internal/conns" + tfappsync "github.com/hashicorp/terraform-provider-aws/internal/service/appsync" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" - - tfappsync "github.com/hashicorp/terraform-provider-aws/internal/service/appsync" ) func TestAccAppSyncAPI_basic(t *testing.T) { From 462db0bd629bb9fa7b5af712f6bac99cafedfe89 Mon Sep 17 00:00:00 2001 From: tabito Date: Tue, 12 Aug 2025 04:38:37 +0900 Subject: [PATCH 0808/1301] add an acctest updated from v5.100.0 through 6.8.0 --- internal/service/ecs/service_test.go | 72 ++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/internal/service/ecs/service_test.go b/internal/service/ecs/service_test.go index b847e3fc3ebf..7bc76413225a 100644 --- a/internal/service/ecs/service_test.go +++ b/internal/service/ecs/service_test.go @@ -2392,6 +2392,78 @@ func TestAccECSService_Tags_UpgradeFromV5_100_0(t *testing.T) { }) } +func TestAccECSService_Tags_UpgradeFromV5_100_0ThroughV6_08_0(t *testing.T) { + ctx := acctest.Context(t) + var service awstypes.Service + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_ecs_service.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.ECSServiceID), + CheckDestroy: testAccCheckServiceDestroy(ctx), + Steps: []resource.TestStep{ + { + ExternalProviders: map[string]resource.ExternalProvider{ + "aws": { + Source: "hashicorp/aws", + VersionConstraint: "5.100.0", + }, + }, + Config: testAccServiceConfig_tags1(rName, acctest.CtKey1, acctest.CtValue1), + Check: resource.ComposeTestCheckFunc( + testAccCheckServiceExists(ctx, resourceName, &service), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "1"), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsKey1, acctest.CtValue1), + ), + }, + { + ExternalProviders: map[string]resource.ExternalProvider{ + "aws": { + Source: "hashicorp/aws", + VersionConstraint: "6.8.0", + }, + }, + Config: testAccServiceConfig_tags1(rName, acctest.CtKey1, acctest.CtValue1), + Check: resource.ComposeTestCheckFunc( + testAccCheckServiceExists(ctx, resourceName, &service), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "1"), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsKey1, acctest.CtValue1), + ), + }, + { + // Just only upgrading to the latest provider version + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Config: testAccServiceConfig_tags1(rName, acctest.CtKey1, acctest.CtValue1), + Check: resource.ComposeTestCheckFunc( + testAccCheckServiceExists(ctx, resourceName, &service), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "1"), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsKey1, acctest.CtValue1), + ), + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Config: testAccServiceConfig_tags2(rName, acctest.CtKey1, acctest.CtValue1Updated, acctest.CtKey2, acctest.CtValue2), + Check: resource.ComposeTestCheckFunc( + testAccCheckServiceExists(ctx, resourceName, &service), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "2"), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsKey1, acctest.CtValue1Updated), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsKey2, acctest.CtValue2), + ), + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Config: testAccServiceConfig_tags1(rName, acctest.CtKey2, acctest.CtValue2), + Check: resource.ComposeTestCheckFunc( + testAccCheckServiceExists(ctx, resourceName, &service), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "1"), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsKey2, acctest.CtValue2), + ), + }, + }, + }) +} + func TestAccECSService_Tags_propagate(t *testing.T) { ctx := acctest.Context(t) var first, second, third awstypes.Service From 71327049cdab852015f4458b676aa929765414e6 Mon Sep 17 00:00:00 2001 From: tabito Date: Tue, 12 Aug 2025 00:44:10 +0900 Subject: [PATCH 0809/1301] add changelog --- .changelog/43816.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/43816.txt diff --git a/.changelog/43816.txt b/.changelog/43816.txt new file mode 100644 index 000000000000..16e4a0cb338e --- /dev/null +++ b/.changelog/43816.txt @@ -0,0 +1,3 @@ +```release-note:bug +resource/aws_ecs_service: Fix tagging failure after upgrading to v6 provider +``` From 29eebc8b0746ced4ee82698e1ba71142c972b9e1 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Mon, 11 Aug 2025 15:42:58 -0400 Subject: [PATCH 0810/1301] TestAccAppSyncAPI_basic: Really basic. --- internal/service/appsync/api_test.go | 53 ++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/internal/service/appsync/api_test.go b/internal/service/appsync/api_test.go index 66ff209e5ba8..5362ec36f3e2 100644 --- a/internal/service/appsync/api_test.go +++ b/internal/service/appsync/api_test.go @@ -29,6 +29,59 @@ func TestAccAppSyncAPI_basic(t *testing.T) { rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_appsync_api.test" + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) + testAccPreCheck(ctx, t) + }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckAPIDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccAPIConfig_basic(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAPIExists(ctx, resourceName, &api), + resource.TestCheckResourceAttr(resourceName, names.AttrName, rName), + resource.TestCheckResourceAttr(resourceName, "event_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_provider.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_provider.0.auth_type", "API_KEY"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_provider.0.cognito_config.#", "0"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_provider.0.lambda_authorizer_config.#", "0"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.auth_provider.0.openid_connect_config.#", "0"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_mode.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.connection_auth_mode.0.auth_type", "API_KEY"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_mode.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_publish_auth_mode.0.auth_type", "API_KEY"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_mode.#", "1"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.default_subscribe_auth_mode.0.auth_type", "API_KEY"), + resource.TestCheckResourceAttr(resourceName, "event_config.0.log_config.#", "0"), + resource.TestCheckNoResourceAttr(resourceName, "owner_contact"), + resource.TestCheckResourceAttr(resourceName, acctest.CtTagsPercent, "0"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: "api_id", + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, "api_id"), + }, + }, + }) +} + +func TestAccAppSyncAPI_comprehensive(t *testing.T) { + ctx := acctest.Context(t) + if testing.Short() { + t.Skip("skipping long-running test in short mode") + } + + var api awstypes.Api + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_appsync_api.test" + resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { acctest.PreCheck(ctx, t) From 941879863fb9083e1005940593bd288143ae4bc2 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Mon, 11 Aug 2025 16:36:55 -0400 Subject: [PATCH 0811/1301] Fix 'TestAccStorageGatewayGateway_GatewayType_fileFSxSMB' and 'TestAccStorageGatewayGateway_gatewayName'. --- internal/service/storagegateway/cache_test.go | 2 +- .../service/storagegateway/gateway_test.go | 62 ++++++++++++++----- .../local_disk_data_source_test.go | 2 +- .../storagegateway/nfs_file_share_test.go | 2 +- 4 files changed, 48 insertions(+), 20 deletions(-) diff --git a/internal/service/storagegateway/cache_test.go b/internal/service/storagegateway/cache_test.go index a53ceed120c4..0474a448e1cd 100644 --- a/internal/service/storagegateway/cache_test.go +++ b/internal/service/storagegateway/cache_test.go @@ -153,7 +153,7 @@ func testAccCheckCacheExists(ctx context.Context, n string) resource.TestCheckFu } func testAccCacheConfig_fileGateway(rName string) string { - return acctest.ConfigCompose(testAccGatewayConfig_typeFileS3(rName), fmt.Sprintf(` + return acctest.ConfigCompose(testAccGatewayConfig_typeFileS3(rName, rName), fmt.Sprintf(` resource "aws_ebs_volume" "test" { availability_zone = aws_instance.test.availability_zone size = "10" diff --git a/internal/service/storagegateway/gateway_test.go b/internal/service/storagegateway/gateway_test.go index 8feebbb66744..8afdb7dcf284 100644 --- a/internal/service/storagegateway/gateway_test.go +++ b/internal/service/storagegateway/gateway_test.go @@ -120,7 +120,7 @@ func TestAccStorageGatewayGateway_GatewayType_fileS3(t *testing.T) { CheckDestroy: testAccCheckGatewayDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccGatewayConfig_typeFileS3(rName), + Config: testAccGatewayConfig_typeFileS3(rName, rName), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckGatewayExists(ctx, resourceName, &gateway), acctest.MatchResourceAttrRegionalARN(ctx, resourceName, names.AttrARN, "storagegateway", regexache.MustCompile(`gateway/sgw-.+`)), @@ -285,8 +285,9 @@ func TestAccStorageGatewayGateway_tags(t *testing.T) { func TestAccStorageGatewayGateway_gatewayName(t *testing.T) { ctx := acctest.Context(t) var gateway awstypes.GatewayInfo - rName1 := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - rName2 := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + rNameGateway1 := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + rNameGateway2 := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_storagegateway_gateway.test" resource.ParallelTest(t, resource.TestCase{ @@ -296,17 +297,17 @@ func TestAccStorageGatewayGateway_gatewayName(t *testing.T) { CheckDestroy: testAccCheckGatewayDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccGatewayConfig_typeFileS3(rName1), + Config: testAccGatewayConfig_typeFileS3(rName, rNameGateway1), Check: resource.ComposeTestCheckFunc( testAccCheckGatewayExists(ctx, resourceName, &gateway), - resource.TestCheckResourceAttr(resourceName, "gateway_name", rName1), + resource.TestCheckResourceAttr(resourceName, "gateway_name", rNameGateway1), ), }, { - Config: testAccGatewayConfig_typeFileS3(rName2), + Config: testAccGatewayConfig_typeFileS3(rName, rNameGateway2), Check: resource.ComposeTestCheckFunc( testAccCheckGatewayExists(ctx, resourceName, &gateway), - resource.TestCheckResourceAttr(resourceName, "gateway_name", rName2), + resource.TestCheckResourceAttr(resourceName, "gateway_name", rNameGateway2), ), }, { @@ -1009,7 +1010,7 @@ resource "aws_security_group" "test" { `, rName)) } -func testAccGatewayConfig_baseFile(rName string) string { +func testAccGatewayConfig_baseFileS3(rName string) string { return acctest.ConfigCompose( testAccGatewayConfig_baseVPC(rName), // Reference: https://docs.aws.amazon.com/storagegateway/latest/userguide/Requirements.html @@ -1036,6 +1037,33 @@ resource "aws_instance" "test" { `, rName)) } +func testAccGatewayConfig_baseFileFSx(rName string) string { + return acctest.ConfigCompose( + testAccGatewayConfig_baseVPC(rName), + // Reference: https://docs.aws.amazon.com/storagegateway/latest/userguide/Requirements.html + acctest.AvailableEC2InstanceTypeForAvailabilityZone("aws_subnet.test.availability_zone", "m5.xlarge", "m4.xlarge"), + fmt.Sprintf(` +# Reference: https://docs.aws.amazon.com/storagegateway/latest/userguide/ec2-gateway-file.html +data "aws_ssm_parameter" "aws_service_storagegateway_ami_FILE_FSX_SMB_latest" { + name = "/aws/service/storagegateway/ami/FILE_FSX_SMB/latest" +} + +resource "aws_instance" "test" { + depends_on = [aws_route.test] + + ami = data.aws_ssm_parameter.aws_service_storagegateway_ami_FILE_FSX_SMB_latest.value + associate_public_ip_address = true + instance_type = data.aws_ec2_instance_type_offering.available.instance_type + vpc_security_group_ids = [aws_security_group.test.id] + subnet_id = aws_subnet.test.id + + tags = { + Name = %[1]q + } +} +`, rName)) +} + func testAccGatewayConfig_baseTapeAndVolume(rName string) string { return acctest.ConfigCompose( testAccGatewayConfig_baseVPC(rName), @@ -1076,7 +1104,7 @@ resource "aws_storagegateway_gateway" "test" { } func testAccGatewayConfig_typeFileFSxSMB(rName string) string { - return acctest.ConfigCompose(testAccGatewayConfig_baseFile(rName), fmt.Sprintf(` + return acctest.ConfigCompose(testAccGatewayConfig_baseFileFSx(rName), fmt.Sprintf(` resource "aws_storagegateway_gateway" "test" { gateway_ip_address = aws_instance.test.public_ip gateway_name = %[1]q @@ -1086,19 +1114,19 @@ resource "aws_storagegateway_gateway" "test" { `, rName)) } -func testAccGatewayConfig_typeFileS3(rName string) string { - return acctest.ConfigCompose(testAccGatewayConfig_baseFile(rName), fmt.Sprintf(` +func testAccGatewayConfig_typeFileS3(rName, gatewayName string) string { + return acctest.ConfigCompose(testAccGatewayConfig_baseFileS3(rName), fmt.Sprintf(` resource "aws_storagegateway_gateway" "test" { gateway_ip_address = aws_instance.test.public_ip gateway_name = %[1]q gateway_timezone = "GMT" gateway_type = "FILE_S3" } -`, rName)) +`, gatewayName)) } func testAccGatewayConfig_logGroup(rName string) string { - return acctest.ConfigCompose(testAccGatewayConfig_baseFile(rName), fmt.Sprintf(` + return acctest.ConfigCompose(testAccGatewayConfig_baseFileS3(rName), fmt.Sprintf(` resource "aws_cloudwatch_log_group" "test" { name = %[1]q } @@ -1136,7 +1164,7 @@ resource "aws_storagegateway_gateway" "test" { } func testAccGatewayConfig_timezone(rName, gatewayTimezone string) string { - return acctest.ConfigCompose(testAccGatewayConfig_baseFile(rName), fmt.Sprintf(` + return acctest.ConfigCompose(testAccGatewayConfig_baseFileS3(rName), fmt.Sprintf(` resource "aws_storagegateway_gateway" "test" { gateway_ip_address = aws_instance.test.public_ip gateway_name = %[1]q @@ -1397,7 +1425,7 @@ resource "aws_storagegateway_gateway" "test" { } func testAccGatewayConfig_smbGuestPassword(rName, smbGuestPassword string) string { - return acctest.ConfigCompose(testAccGatewayConfig_baseFile(rName), fmt.Sprintf(` + return acctest.ConfigCompose(testAccGatewayConfig_baseFileS3(rName), fmt.Sprintf(` resource "aws_storagegateway_gateway" "test" { gateway_ip_address = aws_instance.test.public_ip gateway_name = %[1]q @@ -1409,7 +1437,7 @@ resource "aws_storagegateway_gateway" "test" { } func testAccGatewayConfig_smbSecurityStrategy(rName, strategy string) string { - return acctest.ConfigCompose(testAccGatewayConfig_baseFile(rName), fmt.Sprintf(` + return acctest.ConfigCompose(testAccGatewayConfig_baseFileS3(rName), fmt.Sprintf(` resource "aws_storagegateway_gateway" "test" { gateway_ip_address = aws_instance.test.public_ip gateway_name = %[1]q @@ -1421,7 +1449,7 @@ resource "aws_storagegateway_gateway" "test" { } func testAccGatewayConfig_smbVisibility(rName string, visible bool) string { - return acctest.ConfigCompose(testAccGatewayConfig_baseFile(rName), fmt.Sprintf(` + return acctest.ConfigCompose(testAccGatewayConfig_baseFileS3(rName), fmt.Sprintf(` resource "aws_storagegateway_gateway" "test" { gateway_ip_address = aws_instance.test.public_ip gateway_name = %[1]q diff --git a/internal/service/storagegateway/local_disk_data_source_test.go b/internal/service/storagegateway/local_disk_data_source_test.go index a97cd02e8bf3..ddf59915132a 100644 --- a/internal/service/storagegateway/local_disk_data_source_test.go +++ b/internal/service/storagegateway/local_disk_data_source_test.go @@ -68,7 +68,7 @@ func TestAccStorageGatewayLocalDiskDataSource_diskPath(t *testing.T) { func testAccLocalDiskDataSourceConfig_base(rName string) string { return acctest.ConfigCompose( - testAccGatewayConfig_typeFileS3(rName), + testAccGatewayConfig_typeFileS3(rName, rName), fmt.Sprintf(` resource "aws_ebs_volume" "test" { availability_zone = aws_instance.test.availability_zone diff --git a/internal/service/storagegateway/nfs_file_share_test.go b/internal/service/storagegateway/nfs_file_share_test.go index 8db2c66f0dbb..b40d91befb5a 100644 --- a/internal/service/storagegateway/nfs_file_share_test.go +++ b/internal/service/storagegateway/nfs_file_share_test.go @@ -731,7 +731,7 @@ func testAccCheckNFSFileShareExists(ctx context.Context, n string, v *awstypes.N } func testAccNFSFileShareConfig_baseS3(rName string) string { - return acctest.ConfigCompose(testAccGatewayConfig_baseFile(rName), fmt.Sprintf(` + return acctest.ConfigCompose(testAccGatewayConfig_baseFileS3(rName), fmt.Sprintf(` resource "aws_iam_role" "test" { name = %[1]q From fee3763cf2d0efb503a67ad30722dba73003aeb0 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Mon, 11 Aug 2025 16:43:53 -0400 Subject: [PATCH 0812/1301] Fix provider-lint 'AWSAT005: avoid hardcoded ARN AWS partitions, use aws_partition data source'. --- internal/service/appsync/api_test.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/internal/service/appsync/api_test.go b/internal/service/appsync/api_test.go index 5362ec36f3e2..be5079c56713 100644 --- a/internal/service/appsync/api_test.go +++ b/internal/service/appsync/api_test.go @@ -228,6 +228,7 @@ func TestAccAppSyncAPI_disappears(t *testing.T) { }, }) } + func testAccCheckAPIDestroy(ctx context.Context) resource.TestCheckFunc { return func(s *terraform.State) error { conn := acctest.Provider.Meta().(*conns.AWSClient).AppSyncClient(ctx) @@ -303,6 +304,8 @@ resource "aws_appsync_api" "test" { func testAccAPIConfig_eventConfigComprehensive(rName string) string { return fmt.Sprintf(` +data "aws_partition" "current" {} + resource "aws_cognito_user_pool" "test" { name = %[1]q } @@ -332,7 +335,7 @@ data "aws_iam_policy_document" "lambda_basic" { "logs:CreateLogStream", "logs:PutLogEvents" ] - resources = ["arn:aws:logs:*:*:*"] + resources = ["arn:${data.aws_partition.current.partition}:logs:*:*:*"] } } @@ -385,7 +388,7 @@ data "aws_iam_policy_document" "cloudwatch_logs" { "logs:CreateLogStream", "logs:PutLogEvents" ] - resources = ["arn:aws:logs:*:*:*"] + resources = ["arn:${data.aws_partition.current.partition}:logs:*:*:*"] } } From 5062e19a8a4b39baa9a94b506b821717964e9b67 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Mon, 11 Aug 2025 16:45:12 -0400 Subject: [PATCH 0813/1301] r/aws_storagegateway_gateway: Fix semgrep 'ci.semgrep.errors.isnewresource-notfound-without-err-checks'. --- .ci/semgrep/errors/error-checks.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.ci/semgrep/errors/error-checks.yml b/.ci/semgrep/errors/error-checks.yml index 784970a08317..7ac00c741592 100644 --- a/.ci/semgrep/errors/error-checks.yml +++ b/.ci/semgrep/errors/error-checks.yml @@ -95,4 +95,11 @@ rules: if !d.IsNewResource() && tfresource.NotFound($ERR) { ... } return ... } + # e.g. internal/service/storagegateway/gateway.go + - pattern-not-inside: | + if !d.IsNewResource() && tfresource.NotFound($ERR) { ... } + if isGatewayNotConnectedErr(err) { + ... + } + if $ERR != nil { ... } severity: ERROR From bb462599d55f06edbbdb131c07ecbe41d88b388f Mon Sep 17 00:00:00 2001 From: changelogbot Date: Mon, 11 Aug 2025 20:49:46 +0000 Subject: [PATCH 0814/1301] Update CHANGELOG.md for #43818 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 01eaf79fdb55..bbc885f00cf6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ BUG FIXES: * data-source/aws_lambda_function: Fix missing value for `reserved_concurrent_executions` attribute when a published version exists. This functionality requires the `lambda:GetFunctionConcurrency` IAM permission ([#43753](https://github.com/hashicorp/terraform-provider-aws/issues/43753)) * resource/aws_cognito_risk_configuration: Make `account_takeover_risk_configuration.notify_configuration` optional ([#33624](https://github.com/hashicorp/terraform-provider-aws/issues/33624)) * resource/aws_lambda_function: Fix missing value for `reserved_concurrent_executions` attribute when a published version exists. This functionality requires the `lambda:GetFunctionConcurrency` IAM permission ([#43753](https://github.com/hashicorp/terraform-provider-aws/issues/43753)) +* resource/aws_sagemaker_user_profile: Fix incomplete regex for `user_profile_name` ([#43807](https://github.com/hashicorp/terraform-provider-aws/issues/43807)) * resource/aws_servicequotas_service_quota: Add validation, during `create`, to check if new value is less than current value of quota ([#43545](https://github.com/hashicorp/terraform-provider-aws/issues/43545)) ## 6.8.0 (August 7, 2025) From ab679a032fdef18a3317b7138978e118a6d32481 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Mon, 11 Aug 2025 15:23:28 -0400 Subject: [PATCH 0815/1301] r/aws_sns_topic_data_protection_policy: add resource identity --- .../topic_data_protection_policy_tags.gtpl | 36 +++++++++++++++++++ .../sns/topic_data_protection_policy.go | 6 ++-- 2 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 internal/service/sns/testdata/tmpl/topic_data_protection_policy_tags.gtpl diff --git a/internal/service/sns/testdata/tmpl/topic_data_protection_policy_tags.gtpl b/internal/service/sns/testdata/tmpl/topic_data_protection_policy_tags.gtpl new file mode 100644 index 000000000000..c3f14bb7269b --- /dev/null +++ b/internal/service/sns/testdata/tmpl/topic_data_protection_policy_tags.gtpl @@ -0,0 +1,36 @@ +data "aws_partition" "current" { +{{- template "region" }} +} + +resource "aws_sns_topic" "test" { +{{- template "region" }} + name = var.rName +} + +resource "aws_sns_topic_data_protection_policy" "test" { +{{- template "region" }} + arn = aws_sns_topic.test.arn + policy = jsonencode( + { + "Description" = "Default data protection policy" + "Name" = "__default_data_protection_policy" + "Statement" = [ + { + "DataDirection" = "Inbound" + "DataIdentifier" = [ + "arn:${data.aws_partition.current.partition}:dataprotection::aws:data-identifier/EmailAddress", + ] + "Operation" = { + "Deny" = {} + } + "Principal" = [ + "*", + ] + "Sid" = var.rName + }, + ] + "Version" = "2021-06-01" + } + ) +{{- template "tags" }} +} diff --git a/internal/service/sns/topic_data_protection_policy.go b/internal/service/sns/topic_data_protection_policy.go index 981f0a51aa79..61c04f917a1e 100644 --- a/internal/service/sns/topic_data_protection_policy.go +++ b/internal/service/sns/topic_data_protection_policy.go @@ -24,6 +24,8 @@ import ( ) // @SDKResource("aws_sns_topic_data_protection_policy", name="Topic Data Protection Policy") +// @ArnIdentity +// @Testing(preIdentityVersion="v6.8.0") func resourceTopicDataProtectionPolicy() *schema.Resource { return &schema.Resource{ CreateWithoutTimeout: resourceTopicDataProtectionPolicyUpsert, @@ -31,10 +33,6 @@ func resourceTopicDataProtectionPolicy() *schema.Resource { UpdateWithoutTimeout: resourceTopicDataProtectionPolicyUpsert, DeleteWithoutTimeout: resourceTopicDataProtectionPolicyDelete, - Importer: &schema.ResourceImporter{ - StateContext: schema.ImportStatePassthroughContext, - }, - Schema: map[string]*schema.Schema{ names.AttrARN: { Type: schema.TypeString, From 429a67ea5077031df6bbe5613a6452f5fd50a10a Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Mon, 11 Aug 2025 15:23:55 -0400 Subject: [PATCH 0816/1301] r/aws_sns_topic_policy: add resource identity --- .../sns/testdata/tmpl/topic_policy_tags.gtpl | 32 +++++++++++++++++++ internal/service/sns/topic_policy.go | 6 ++-- 2 files changed, 34 insertions(+), 4 deletions(-) create mode 100644 internal/service/sns/testdata/tmpl/topic_policy_tags.gtpl diff --git a/internal/service/sns/testdata/tmpl/topic_policy_tags.gtpl b/internal/service/sns/testdata/tmpl/topic_policy_tags.gtpl new file mode 100644 index 000000000000..90a5cbe49e17 --- /dev/null +++ b/internal/service/sns/testdata/tmpl/topic_policy_tags.gtpl @@ -0,0 +1,32 @@ +resource "aws_sns_topic" "test" { +{{- template "region" }} + name = var.rName +} + +resource "aws_sns_topic_policy" "test" { +{{- template "region" }} + arn = aws_sns_topic.test.arn + policy = < Date: Mon, 11 Aug 2025 15:24:52 -0400 Subject: [PATCH 0817/1301] r/aws_sns_topic_subscription: add resource identity --- .../tmpl/topic_subscription_tags.gtpl | 19 +++++++++++++++++++ internal/service/sns/topic_subscription.go | 7 +++---- 2 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 internal/service/sns/testdata/tmpl/topic_subscription_tags.gtpl diff --git a/internal/service/sns/testdata/tmpl/topic_subscription_tags.gtpl b/internal/service/sns/testdata/tmpl/topic_subscription_tags.gtpl new file mode 100644 index 000000000000..1f362e2ea5c2 --- /dev/null +++ b/internal/service/sns/testdata/tmpl/topic_subscription_tags.gtpl @@ -0,0 +1,19 @@ +resource "aws_sns_topic" "test" { +{{- template "region" }} + name = var.rName +} + +resource "aws_sqs_queue" "test" { +{{- template "region" }} + name = var.rName + + sqs_managed_sse_enabled = true +} + +resource "aws_sns_topic_subscription" "test" { +{{- template "region" }} + topic_arn = aws_sns_topic.test.arn + protocol = "sqs" + endpoint = aws_sqs_queue.test.arn +{{- template "tags" }} +} diff --git a/internal/service/sns/topic_subscription.go b/internal/service/sns/topic_subscription.go index 6734506c5a0c..2a337a976f50 100644 --- a/internal/service/sns/topic_subscription.go +++ b/internal/service/sns/topic_subscription.go @@ -157,6 +157,9 @@ var ( ) // @SDKResource("aws_sns_topic_subscription", name="Topic Subscription") +// @ArnIdentity +// @Testing(existsType="map[string]string") +// @Testing(preIdentityVersion="v6.8.0") func resourceTopicSubscription() *schema.Resource { return &schema.Resource{ CreateWithoutTimeout: resourceTopicSubscriptionCreate, @@ -164,10 +167,6 @@ func resourceTopicSubscription() *schema.Resource { UpdateWithoutTimeout: resourceTopicSubscriptionUpdate, DeleteWithoutTimeout: resourceTopicSubscriptionDelete, - Importer: &schema.ResourceImporter{ - StateContext: schema.ImportStatePassthroughContext, - }, - CustomizeDiff: resourceTopicSubscriptionCustomizeDiff, Schema: subscriptionSchema, From 1df5d8e4919b951eda1469fe3a4463fc0e6b31d4 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Mon, 11 Aug 2025 15:38:29 -0400 Subject: [PATCH 0818/1301] Add CheckExists functions and fix template for data protection policy --- .../topic_data_protection_policy_tags.gtpl | 4 +-- .../sns/topic_data_protection_policy_test.go | 21 ++++++++++++++ internal/service/sns/topic_policy_test.go | 28 +++++++++++++++++++ 3 files changed, 50 insertions(+), 3 deletions(-) diff --git a/internal/service/sns/testdata/tmpl/topic_data_protection_policy_tags.gtpl b/internal/service/sns/testdata/tmpl/topic_data_protection_policy_tags.gtpl index c3f14bb7269b..8e1c00a1932b 100644 --- a/internal/service/sns/testdata/tmpl/topic_data_protection_policy_tags.gtpl +++ b/internal/service/sns/testdata/tmpl/topic_data_protection_policy_tags.gtpl @@ -1,6 +1,4 @@ -data "aws_partition" "current" { -{{- template "region" }} -} +data "aws_partition" "current" {} resource "aws_sns_topic" "test" { {{- template "region" }} diff --git a/internal/service/sns/topic_data_protection_policy_test.go b/internal/service/sns/topic_data_protection_policy_test.go index a34ae9492cc2..5a31898bf8ec 100644 --- a/internal/service/sns/topic_data_protection_policy_test.go +++ b/internal/service/sns/topic_data_protection_policy_test.go @@ -9,6 +9,8 @@ import ( "testing" "github.com/YakDriver/regexache" + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/service/sns" sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" "github.com/hashicorp/terraform-plugin-testing/terraform" @@ -133,3 +135,22 @@ resource "aws_sns_topic_data_protection_policy" "test" { } `, rName) } + +func testAccCheckTopicDataProtectionPolicyExists(ctx context.Context, n string) resource.TestCheckFunc { + return func(s *terraform.State) error { + rs, ok := s.RootModule().Resources[n] + if !ok { + return fmt.Errorf("Not found: %s", n) + } + + conn := acctest.Provider.Meta().(*conns.AWSClient).SNSClient(ctx) + + input := &sns.GetDataProtectionPolicyInput{ + ResourceArn: aws.String(rs.Primary.ID), + } + + _, err := conn.GetDataProtectionPolicy(ctx, input) + + return err + } +} diff --git a/internal/service/sns/topic_policy_test.go b/internal/service/sns/topic_policy_test.go index de3a743c18cd..50e03689da2f 100644 --- a/internal/service/sns/topic_policy_test.go +++ b/internal/service/sns/topic_policy_test.go @@ -9,6 +9,8 @@ import ( "testing" "github.com/YakDriver/regexache" + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/service/sns" sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" "github.com/hashicorp/terraform-plugin-testing/plancheck" @@ -331,3 +333,29 @@ resource "aws_sns_topic_policy" "test" { } `, rName) } + +func testAccCheckTopicPolicyExists(ctx context.Context, n string) resource.TestCheckFunc { + return func(s *terraform.State) error { + rs, ok := s.RootModule().Resources[n] + if !ok { + return fmt.Errorf("Not found: %s", n) + } + + conn := acctest.Provider.Meta().(*conns.AWSClient).SNSClient(ctx) + + input := &sns.GetTopicAttributesInput{ + TopicArn: aws.String(rs.Primary.ID), + } + + output, err := conn.GetTopicAttributes(ctx, input) + if err != nil { + return err + } + + if output.Attributes["Policy"] == "" { + return fmt.Errorf("Topic policy not found") + } + + return nil + } +} From 969ac4cd485c1df03dfd8a7db7b4642c29e479b6 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Mon, 11 Aug 2025 16:40:15 -0400 Subject: [PATCH 0819/1301] r/aws_sns_topic_data_protection_policy: tidy check exists --- internal/service/sns/exports_test.go | 1 + .../service/sns/topic_data_protection_policy_test.go | 9 +-------- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/internal/service/sns/exports_test.go b/internal/service/sns/exports_test.go index 4587d5702bb1..2f56ce2a2010 100644 --- a/internal/service/sns/exports_test.go +++ b/internal/service/sns/exports_test.go @@ -11,6 +11,7 @@ var ( ResourceTopicPolicy = resourceTopicPolicy ResourceTopicSubscription = resourceTopicSubscription + FindDataProtectionPolicyByARN = findDataProtectionPolicyByARN FindPlatformApplicationAttributesByARN = findPlatformApplicationAttributesByARN FindSubscriptionAttributesByARN = findSubscriptionAttributesByARN FindTopicAttributesByARN = findTopicAttributesByARN diff --git a/internal/service/sns/topic_data_protection_policy_test.go b/internal/service/sns/topic_data_protection_policy_test.go index 5a31898bf8ec..b54038d9ad46 100644 --- a/internal/service/sns/topic_data_protection_policy_test.go +++ b/internal/service/sns/topic_data_protection_policy_test.go @@ -9,8 +9,6 @@ import ( "testing" "github.com/YakDriver/regexache" - "github.com/aws/aws-sdk-go-v2/aws" - "github.com/aws/aws-sdk-go-v2/service/sns" sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" "github.com/hashicorp/terraform-plugin-testing/terraform" @@ -144,12 +142,7 @@ func testAccCheckTopicDataProtectionPolicyExists(ctx context.Context, n string) } conn := acctest.Provider.Meta().(*conns.AWSClient).SNSClient(ctx) - - input := &sns.GetDataProtectionPolicyInput{ - ResourceArn: aws.String(rs.Primary.ID), - } - - _, err := conn.GetDataProtectionPolicy(ctx, input) + _, err := tfsns.FindDataProtectionPolicyByARN(ctx, conn, rs.Primary.ID) return err } From e145e9d9958547a1741e5af1d07b32ee37304a5f Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Mon, 11 Aug 2025 16:40:40 -0400 Subject: [PATCH 0820/1301] r/aws_sns_topic_policy: tidy check exists --- internal/service/sns/topic_policy_test.go | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/internal/service/sns/topic_policy_test.go b/internal/service/sns/topic_policy_test.go index 50e03689da2f..b42edfdebdac 100644 --- a/internal/service/sns/topic_policy_test.go +++ b/internal/service/sns/topic_policy_test.go @@ -9,8 +9,6 @@ import ( "testing" "github.com/YakDriver/regexache" - "github.com/aws/aws-sdk-go-v2/aws" - "github.com/aws/aws-sdk-go-v2/service/sns" sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" "github.com/hashicorp/terraform-plugin-testing/plancheck" @@ -341,18 +339,17 @@ func testAccCheckTopicPolicyExists(ctx context.Context, n string) resource.TestC return fmt.Errorf("Not found: %s", n) } - conn := acctest.Provider.Meta().(*conns.AWSClient).SNSClient(ctx) - - input := &sns.GetTopicAttributesInput{ - TopicArn: aws.String(rs.Primary.ID), + if rs.Primary.ID == "" { + return fmt.Errorf("No SNS Topic ID is set") } - output, err := conn.GetTopicAttributes(ctx, input) + conn := acctest.Provider.Meta().(*conns.AWSClient).SNSClient(ctx) + output, err := tfsns.FindTopicAttributesByARN(ctx, conn, rs.Primary.ID) if err != nil { return err } - if output.Attributes["Policy"] == "" { + if output[tfsns.TopicAttributeNamePolicy] == "" { return fmt.Errorf("Topic policy not found") } From 3c11ec7202e7bc341e5b35e737edf67a4131fd17 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Mon, 11 Aug 2025 16:45:53 -0400 Subject: [PATCH 0821/1301] r/aws_sns_topic_subscription: add importIgnore testing annotation --- internal/service/sns/topic_subscription.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/service/sns/topic_subscription.go b/internal/service/sns/topic_subscription.go index 2a337a976f50..62f5f485388b 100644 --- a/internal/service/sns/topic_subscription.go +++ b/internal/service/sns/topic_subscription.go @@ -160,6 +160,7 @@ var ( // @ArnIdentity // @Testing(existsType="map[string]string") // @Testing(preIdentityVersion="v6.8.0") +// @Testing(importIgnore="confirmation_timeout_in_minutes;endpoint_auto_confirms") func resourceTopicSubscription() *schema.Resource { return &schema.Resource{ CreateWithoutTimeout: resourceTopicSubscriptionCreate, From 91725da8950e85261fc5442d33deadcd16cb8ab0 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Mon, 11 Aug 2025 16:48:08 -0400 Subject: [PATCH 0822/1301] r/aws_sns: add generated testdata, identity tests --- internal/service/sns/service_package_gen.go | 24 ++ .../basic/main_gen.tf | 40 +++ .../basic_v6.8.0/main_gen.tf | 50 +++ .../region_override/main_gen.tf | 50 +++ .../testdata/TopicPolicy/basic/main_gen.tf | 38 +++ .../TopicPolicy/basic_v6.8.0/main_gen.tf | 48 +++ .../TopicPolicy/region_override/main_gen.tf | 48 +++ .../TopicSubscription/basic/main_gen.tf | 24 ++ .../basic_v6.8.0/main_gen.tf | 34 ++ .../region_override/main_gen.tf | 36 +++ ...ata_protection_policy_identity_gen_test.go | 280 ++++++++++++++++ .../sns/topic_policy_identity_gen_test.go | 280 ++++++++++++++++ .../topic_subscription_identity_gen_test.go | 301 ++++++++++++++++++ 13 files changed, 1253 insertions(+) create mode 100644 internal/service/sns/testdata/TopicDataProtectionPolicy/basic/main_gen.tf create mode 100644 internal/service/sns/testdata/TopicDataProtectionPolicy/basic_v6.8.0/main_gen.tf create mode 100644 internal/service/sns/testdata/TopicDataProtectionPolicy/region_override/main_gen.tf create mode 100644 internal/service/sns/testdata/TopicPolicy/basic/main_gen.tf create mode 100644 internal/service/sns/testdata/TopicPolicy/basic_v6.8.0/main_gen.tf create mode 100644 internal/service/sns/testdata/TopicPolicy/region_override/main_gen.tf create mode 100644 internal/service/sns/testdata/TopicSubscription/basic/main_gen.tf create mode 100644 internal/service/sns/testdata/TopicSubscription/basic_v6.8.0/main_gen.tf create mode 100644 internal/service/sns/testdata/TopicSubscription/region_override/main_gen.tf create mode 100644 internal/service/sns/topic_data_protection_policy_identity_gen_test.go create mode 100644 internal/service/sns/topic_policy_identity_gen_test.go create mode 100644 internal/service/sns/topic_subscription_identity_gen_test.go diff --git a/internal/service/sns/service_package_gen.go b/internal/service/sns/service_package_gen.go index 1e8ddebbd64a..90ff1e27bc3b 100644 --- a/internal/service/sns/service_package_gen.go +++ b/internal/service/sns/service_package_gen.go @@ -47,6 +47,12 @@ func (p *servicePackage) SDKResources(ctx context.Context) []*inttypes.ServicePa TypeName: "aws_sns_platform_application", Name: "Platform Application", Region: unique.Make(inttypes.ResourceRegionDefault()), + Identity: inttypes.RegionalARNIdentity( + inttypes.WithIdentityDuplicateAttrs(names.AttrID), + ), + Import: inttypes.SDKv2Import{ + WrappedImport: true, + }, }, { Factory: resourceSMSPreferences, @@ -74,18 +80,36 @@ func (p *servicePackage) SDKResources(ctx context.Context) []*inttypes.ServicePa TypeName: "aws_sns_topic_data_protection_policy", Name: "Topic Data Protection Policy", Region: unique.Make(inttypes.ResourceRegionDefault()), + Identity: inttypes.RegionalARNIdentity( + inttypes.WithIdentityDuplicateAttrs(names.AttrID), + ), + Import: inttypes.SDKv2Import{ + WrappedImport: true, + }, }, { Factory: resourceTopicPolicy, TypeName: "aws_sns_topic_policy", Name: "Topic Policy", Region: unique.Make(inttypes.ResourceRegionDefault()), + Identity: inttypes.RegionalARNIdentity( + inttypes.WithIdentityDuplicateAttrs(names.AttrID), + ), + Import: inttypes.SDKv2Import{ + WrappedImport: true, + }, }, { Factory: resourceTopicSubscription, TypeName: "aws_sns_topic_subscription", Name: "Topic Subscription", Region: unique.Make(inttypes.ResourceRegionDefault()), + Identity: inttypes.RegionalARNIdentity( + inttypes.WithIdentityDuplicateAttrs(names.AttrID), + ), + Import: inttypes.SDKv2Import{ + WrappedImport: true, + }, }, } } diff --git a/internal/service/sns/testdata/TopicDataProtectionPolicy/basic/main_gen.tf b/internal/service/sns/testdata/TopicDataProtectionPolicy/basic/main_gen.tf new file mode 100644 index 000000000000..31f3580b7193 --- /dev/null +++ b/internal/service/sns/testdata/TopicDataProtectionPolicy/basic/main_gen.tf @@ -0,0 +1,40 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +data "aws_partition" "current" {} + +resource "aws_sns_topic" "test" { + name = var.rName +} + +resource "aws_sns_topic_data_protection_policy" "test" { + arn = aws_sns_topic.test.arn + policy = jsonencode( + { + "Description" = "Default data protection policy" + "Name" = "__default_data_protection_policy" + "Statement" = [ + { + "DataDirection" = "Inbound" + "DataIdentifier" = [ + "arn:${data.aws_partition.current.partition}:dataprotection::aws:data-identifier/EmailAddress", + ] + "Operation" = { + "Deny" = {} + } + "Principal" = [ + "*", + ] + "Sid" = var.rName + }, + ] + "Version" = "2021-06-01" + } + ) +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} diff --git a/internal/service/sns/testdata/TopicDataProtectionPolicy/basic_v6.8.0/main_gen.tf b/internal/service/sns/testdata/TopicDataProtectionPolicy/basic_v6.8.0/main_gen.tf new file mode 100644 index 000000000000..08425fc4a7ae --- /dev/null +++ b/internal/service/sns/testdata/TopicDataProtectionPolicy/basic_v6.8.0/main_gen.tf @@ -0,0 +1,50 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +data "aws_partition" "current" {} + +resource "aws_sns_topic" "test" { + name = var.rName +} + +resource "aws_sns_topic_data_protection_policy" "test" { + arn = aws_sns_topic.test.arn + policy = jsonencode( + { + "Description" = "Default data protection policy" + "Name" = "__default_data_protection_policy" + "Statement" = [ + { + "DataDirection" = "Inbound" + "DataIdentifier" = [ + "arn:${data.aws_partition.current.partition}:dataprotection::aws:data-identifier/EmailAddress", + ] + "Operation" = { + "Deny" = {} + } + "Principal" = [ + "*", + ] + "Sid" = var.rName + }, + ] + "Version" = "2021-06-01" + } + ) +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "6.8.0" + } + } +} + +provider "aws" {} diff --git a/internal/service/sns/testdata/TopicDataProtectionPolicy/region_override/main_gen.tf b/internal/service/sns/testdata/TopicDataProtectionPolicy/region_override/main_gen.tf new file mode 100644 index 000000000000..fc36c2fa89ce --- /dev/null +++ b/internal/service/sns/testdata/TopicDataProtectionPolicy/region_override/main_gen.tf @@ -0,0 +1,50 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +data "aws_partition" "current" {} + +resource "aws_sns_topic" "test" { + region = var.region + + name = var.rName +} + +resource "aws_sns_topic_data_protection_policy" "test" { + region = var.region + + arn = aws_sns_topic.test.arn + policy = jsonencode( + { + "Description" = "Default data protection policy" + "Name" = "__default_data_protection_policy" + "Statement" = [ + { + "DataDirection" = "Inbound" + "DataIdentifier" = [ + "arn:${data.aws_partition.current.partition}:dataprotection::aws:data-identifier/EmailAddress", + ] + "Operation" = { + "Deny" = {} + } + "Principal" = [ + "*", + ] + "Sid" = var.rName + }, + ] + "Version" = "2021-06-01" + } + ) +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "region" { + description = "Region to deploy resource in" + type = string + nullable = false +} diff --git a/internal/service/sns/testdata/TopicPolicy/basic/main_gen.tf b/internal/service/sns/testdata/TopicPolicy/basic/main_gen.tf new file mode 100644 index 000000000000..b120913d4cc7 --- /dev/null +++ b/internal/service/sns/testdata/TopicPolicy/basic/main_gen.tf @@ -0,0 +1,38 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_sns_topic" "test" { + name = var.rName +} + +resource "aws_sns_topic_policy" "test" { + arn = aws_sns_topic.test.arn + policy = <" + { + ConfigDirectory: config.StaticDirectory("testdata/TopicDataProtectionPolicy/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + + // Step 3: Import command without appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/TopicDataProtectionPolicy/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + + // Step 4: Import block with Import ID and appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/TopicDataProtectionPolicy/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + + // Step 5: Import block with Import ID and no appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/TopicDataProtectionPolicy/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + + // Step 6: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/TopicDataProtectionPolicy/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + }, + }) +} + +// Resource Identity was added after v6.8.0 +func TestAccSNSTopicDataProtectionPolicy_Identity_ExistingResource(t *testing.T) { + ctx := acctest.Context(t) + + resourceName := "aws_sns_topic_data_protection_policy.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.SNSServiceID), + CheckDestroy: testAccCheckTopicDataProtectionPolicyDestroy(ctx), + Steps: []resource.TestStep{ + // Step 1: Create pre-Identity + { + ConfigDirectory: config.StaticDirectory("testdata/TopicDataProtectionPolicy/basic_v6.8.0/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckTopicDataProtectionPolicyExists(ctx, resourceName), + ), + ConfigStateChecks: []statecheck.StateCheck{ + tfstatecheck.ExpectNoIdentity(resourceName), + }, + }, + + // Step 2: Current version + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/TopicDataProtectionPolicy/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrARN: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrARN)), + }, + }, + }, + }) +} diff --git a/internal/service/sns/topic_policy_identity_gen_test.go b/internal/service/sns/topic_policy_identity_gen_test.go new file mode 100644 index 000000000000..7b9d559e764c --- /dev/null +++ b/internal/service/sns/topic_policy_identity_gen_test.go @@ -0,0 +1,280 @@ +// Code generated by internal/generate/identitytests/main.go; DO NOT EDIT. + +package sns_test + +import ( + "testing" + + "github.com/hashicorp/terraform-plugin-testing/compare" + "github.com/hashicorp/terraform-plugin-testing/config" + sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-plugin-testing/tfversion" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfstatecheck "github.com/hashicorp/terraform-provider-aws/internal/acctest/statecheck" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccSNSTopicPolicy_Identity_Basic(t *testing.T) { + ctx := acctest.Context(t) + + resourceName := "aws_sns_topic_policy.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.SNSServiceID), + CheckDestroy: testAccCheckTopicPolicyDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/TopicPolicy/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckTopicPolicyExists(ctx, resourceName), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.CompareValuePairs(resourceName, tfjsonpath.New(names.AttrID), resourceName, tfjsonpath.New(names.AttrARN), compare.ValuesSame()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrARN: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrARN)), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/TopicPolicy/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/TopicPolicy/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/TopicPolicy/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + }, + }) +} + +func TestAccSNSTopicPolicy_Identity_RegionOverride(t *testing.T) { + ctx := acctest.Context(t) + + resourceName := "aws_sns_topic_policy.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.SNSServiceID), + CheckDestroy: acctest.CheckDestroyNoop, + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/TopicPolicy/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.CompareValuePairs(resourceName, tfjsonpath.New(names.AttrID), resourceName, tfjsonpath.New(names.AttrARN), compare.ValuesSame()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrARN: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrARN)), + }, + }, + + // Step 2: Import command with appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/TopicPolicy/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + + // Step 3: Import command without appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/TopicPolicy/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + + // Step 4: Import block with Import ID and appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/TopicPolicy/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + + // Step 5: Import block with Import ID and no appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/TopicPolicy/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + + // Step 6: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/TopicPolicy/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + }, + }) +} + +// Resource Identity was added after v6.8.0 +func TestAccSNSTopicPolicy_Identity_ExistingResource(t *testing.T) { + ctx := acctest.Context(t) + + resourceName := "aws_sns_topic_policy.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.SNSServiceID), + CheckDestroy: testAccCheckTopicPolicyDestroy(ctx), + Steps: []resource.TestStep{ + // Step 1: Create pre-Identity + { + ConfigDirectory: config.StaticDirectory("testdata/TopicPolicy/basic_v6.8.0/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckTopicPolicyExists(ctx, resourceName), + ), + ConfigStateChecks: []statecheck.StateCheck{ + tfstatecheck.ExpectNoIdentity(resourceName), + }, + }, + + // Step 2: Current version + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/TopicPolicy/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrARN: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrARN)), + }, + }, + }, + }) +} diff --git a/internal/service/sns/topic_subscription_identity_gen_test.go b/internal/service/sns/topic_subscription_identity_gen_test.go new file mode 100644 index 000000000000..bccc9a14b3f4 --- /dev/null +++ b/internal/service/sns/topic_subscription_identity_gen_test.go @@ -0,0 +1,301 @@ +// Code generated by internal/generate/identitytests/main.go; DO NOT EDIT. + +package sns_test + +import ( + "testing" + + "github.com/hashicorp/terraform-plugin-testing/compare" + "github.com/hashicorp/terraform-plugin-testing/config" + sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-plugin-testing/tfversion" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfstatecheck "github.com/hashicorp/terraform-provider-aws/internal/acctest/statecheck" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccSNSTopicSubscription_Identity_Basic(t *testing.T) { + ctx := acctest.Context(t) + + var v map[string]string + resourceName := "aws_sns_topic_subscription.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.SNSServiceID), + CheckDestroy: testAccCheckTopicSubscriptionDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/TopicSubscription/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckTopicSubscriptionExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.CompareValuePairs(resourceName, tfjsonpath.New(names.AttrID), resourceName, tfjsonpath.New(names.AttrARN), compare.ValuesSame()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrARN: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrARN)), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/TopicSubscription/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "confirmation_timeout_in_minutes", "endpoint_auto_confirms", + }, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/TopicSubscription/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + ExpectNonEmptyPlan: true, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/TopicSubscription/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + ExpectNonEmptyPlan: true, + }, + }, + }) +} + +func TestAccSNSTopicSubscription_Identity_RegionOverride(t *testing.T) { + ctx := acctest.Context(t) + + resourceName := "aws_sns_topic_subscription.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.SNSServiceID), + CheckDestroy: acctest.CheckDestroyNoop, + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/TopicSubscription/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.CompareValuePairs(resourceName, tfjsonpath.New(names.AttrID), resourceName, tfjsonpath.New(names.AttrARN), compare.ValuesSame()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrARN: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrARN)), + }, + }, + + // Step 2: Import command with appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/TopicSubscription/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "confirmation_timeout_in_minutes", "endpoint_auto_confirms", + }, + }, + + // Step 3: Import command without appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/TopicSubscription/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "confirmation_timeout_in_minutes", "endpoint_auto_confirms", + }, + }, + + // Step 4: Import block with Import ID and appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/TopicSubscription/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + ExpectNonEmptyPlan: true, + }, + + // Step 5: Import block with Import ID and no appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/TopicSubscription/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + ExpectNonEmptyPlan: true, + }, + + // Step 6: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/TopicSubscription/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + ExpectNonEmptyPlan: true, + }, + }, + }) +} + +// Resource Identity was added after v6.8.0 +func TestAccSNSTopicSubscription_Identity_ExistingResource(t *testing.T) { + ctx := acctest.Context(t) + + var v map[string]string + resourceName := "aws_sns_topic_subscription.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.SNSServiceID), + CheckDestroy: testAccCheckTopicSubscriptionDestroy(ctx), + Steps: []resource.TestStep{ + // Step 1: Create pre-Identity + { + ConfigDirectory: config.StaticDirectory("testdata/TopicSubscription/basic_v6.8.0/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckTopicSubscriptionExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + tfstatecheck.ExpectNoIdentity(resourceName), + }, + }, + + // Step 2: Current version + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/TopicSubscription/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrARN: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrARN)), + }, + }, + }, + }) +} From 04d2610ede59327305e1184990a3c570a43741db Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Mon, 11 Aug 2025 16:51:12 -0400 Subject: [PATCH 0823/1301] docs: add `importIgnore` troubleshooting tip --- docs/ai-agent-guides/parameterized-resource-identity.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/ai-agent-guides/parameterized-resource-identity.md b/docs/ai-agent-guides/parameterized-resource-identity.md index ed8907ab925b..b4e4a391ed68 100644 --- a/docs/ai-agent-guides/parameterized-resource-identity.md +++ b/docs/ai-agent-guides/parameterized-resource-identity.md @@ -124,6 +124,7 @@ Relates #42988 ### Import Test Failures - If identity tests are failing because they expect an update during import but get a no-op, add an `// @Testing(plannableImportAction="NoOp")` annotation and re-generate the test files. +- If identity tests are failing import verification due to missing attribute values, check the `_basic` test implementation for the presence of an `ImportStateVerifyIgnore` field in the import test step. If present, add an `// @Testing(importIgnore="arg1")` annotation where `arg1` is replaced with the argument name(s) from the verify ignore slice. If mutiple fields are ignored, separate field names with a `;`, e.g. `arg1;arg2`. - If a region override test is failing and a custom import fuction is configured, ensure the appropriate helper function from the `importer` package is used. - `RegionalSingleParameterized` - regional resources whose identity is made up of a single parameter. - `GlobalSingleParameterized` - global resources whose identity is made up of a single parameter. From 8a68a028c36f691121517d00b69a7faeef37cab2 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:12 -0400 Subject: [PATCH 0824/1301] go get github.com/aws/aws-sdk-go-v2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 59f3be49d9c8..c810572c038b 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/YakDriver/go-version v0.1.0 github.com/YakDriver/regexache v0.24.0 github.com/YakDriver/smarterr v0.6.0 - github.com/aws/aws-sdk-go-v2 v1.37.2 + github.com/aws/aws-sdk-go-v2 v1.38.0 github.com/aws/aws-sdk-go-v2/config v1.30.3 github.com/aws/aws-sdk-go-v2/credentials v1.18.3 github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.2 diff --git a/go.sum b/go.sum index a8e3fdb72818..3aa1991d1e40 100644 --- a/go.sum +++ b/go.sum @@ -23,8 +23,8 @@ github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/aws/aws-sdk-go-v2 v1.37.2 h1:xkW1iMYawzcmYFYEV0UCMxc8gSsjCGEhBXQkdQywVbo= -github.com/aws/aws-sdk-go-v2 v1.37.2/go.mod h1:9Q0OoGQoboYIAJyslFyF1f5K1Ryddop8gqMhWx/n4Wg= +github.com/aws/aws-sdk-go-v2 v1.38.0 h1:UCRQ5mlqcFk9HJDIqENSLR3wiG1VTWlyUfLDEvY7RxU= +github.com/aws/aws-sdk-go-v2 v1.38.0/go.mod h1:9Q0OoGQoboYIAJyslFyF1f5K1Ryddop8gqMhWx/n4Wg= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.0 h1:6GMWV6CNpA/6fbFHnoAjrv4+LGfyTqZz2LtCHnspgDg= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.0/go.mod h1:/mXlTIVG9jbxkqDnr5UQNQxW1HRYxeGklkM9vAFeabg= github.com/aws/aws-sdk-go-v2/config v1.30.3 h1:utupeVnE3bmB221W08P0Moz1lDI3OwYa2fBtUhl7TCc= From 650f555c0b4d9c9edfac54678db49bbe9495c41a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:13 -0400 Subject: [PATCH 0825/1301] go get github.com/aws/aws-sdk-go-v2/config. --- go.mod | 18 +++++++++--------- go.sum | 36 ++++++++++++++++++------------------ 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/go.mod b/go.mod index c810572c038b..f67e73eda2a2 100644 --- a/go.mod +++ b/go.mod @@ -12,9 +12,9 @@ require ( github.com/YakDriver/regexache v0.24.0 github.com/YakDriver/smarterr v0.6.0 github.com/aws/aws-sdk-go-v2 v1.38.0 - github.com/aws/aws-sdk-go-v2/config v1.30.3 - github.com/aws/aws-sdk-go-v2/credentials v1.18.3 - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.2 + github.com/aws/aws-sdk-go-v2/config v1.31.0 + github.com/aws/aws-sdk-go-v2/credentials v1.18.4 + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.3 github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.3 github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.42.0 github.com/aws/aws-sdk-go-v2/service/account v1.26.0 @@ -248,10 +248,10 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.37.0 github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.6.0 github.com/aws/aws-sdk-go-v2/service/ssmsap v1.22.0 - github.com/aws/aws-sdk-go-v2/service/sso v1.27.0 + github.com/aws/aws-sdk-go-v2/service/sso v1.28.0 github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.33.0 github.com/aws/aws-sdk-go-v2/service/storagegateway v1.40.0 - github.com/aws/aws-sdk-go-v2/service/sts v1.36.0 + github.com/aws/aws-sdk-go-v2/service/sts v1.37.0 github.com/aws/aws-sdk-go-v2/service/swf v1.30.0 github.com/aws/aws-sdk-go-v2/service/synthetics v1.38.0 github.com/aws/aws-sdk-go-v2/service/taxsettings v1.14.0 @@ -322,16 +322,16 @@ require ( github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect github.com/armon/go-radix v1.0.0 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.0 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.2 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.2 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.3 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.3 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 // indirect github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.2 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 // indirect github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.2 // indirect github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.2 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.3 // indirect github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.2 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.33.0 // indirect github.com/bgentry/speakeasy v0.1.0 // indirect github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc // indirect github.com/cloudflare/circl v1.6.1 // indirect diff --git a/go.sum b/go.sum index 3aa1991d1e40..c6a48a2f5f64 100644 --- a/go.sum +++ b/go.sum @@ -27,18 +27,18 @@ github.com/aws/aws-sdk-go-v2 v1.38.0 h1:UCRQ5mlqcFk9HJDIqENSLR3wiG1VTWlyUfLDEvY7 github.com/aws/aws-sdk-go-v2 v1.38.0/go.mod h1:9Q0OoGQoboYIAJyslFyF1f5K1Ryddop8gqMhWx/n4Wg= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.0 h1:6GMWV6CNpA/6fbFHnoAjrv4+LGfyTqZz2LtCHnspgDg= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.0/go.mod h1:/mXlTIVG9jbxkqDnr5UQNQxW1HRYxeGklkM9vAFeabg= -github.com/aws/aws-sdk-go-v2/config v1.30.3 h1:utupeVnE3bmB221W08P0Moz1lDI3OwYa2fBtUhl7TCc= -github.com/aws/aws-sdk-go-v2/config v1.30.3/go.mod h1:NDGwOEBdpyZwLPlQkpKIO7frf18BW8PaCmAM9iUxQmI= -github.com/aws/aws-sdk-go-v2/credentials v1.18.3 h1:ptfyXmv+ooxzFwyuBth0yqABcjVIkjDL0iTYZBSbum8= -github.com/aws/aws-sdk-go-v2/credentials v1.18.3/go.mod h1:Q43Nci++Wohb0qUh4m54sNln0dbxJw8PvQWkrwOkGOI= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.2 h1:nRniHAvjFJGUCl04F3WaAj7qp/rcz5Gi1OVoj5ErBkc= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.2/go.mod h1:eJDFKAMHHUvv4a0Zfa7bQb//wFNUXGrbFpYRCHe2kD0= +github.com/aws/aws-sdk-go-v2/config v1.31.0 h1:9yH0xiY5fUnVNLRWO0AtayqwU1ndriZdN78LlhruJR4= +github.com/aws/aws-sdk-go-v2/config v1.31.0/go.mod h1:VeV3K72nXnhbe4EuxxhzsDc/ByrCSlZwUnWH52Nde/I= +github.com/aws/aws-sdk-go-v2/credentials v1.18.4 h1:IPd0Algf1b+Qy9BcDp0sCUcIWdCQPSzDoMK3a8pcbUM= +github.com/aws/aws-sdk-go-v2/credentials v1.18.4/go.mod h1:nwg78FjH2qvsRM1EVZlX9WuGUJOL5od+0qvm0adEzHk= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.3 h1:GicIdnekoJsjq9wqnvyi2elW6CGMSYKhdozE7/Svh78= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.3/go.mod h1:R7BIi6WNC5mc1kfRM7XM/VHC3uRWkjc396sfabq4iOo= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.3 h1:Nb2pUE30lySKPGdkiIJ1SZgHsjiebOiRNI7R9NA1WtM= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.3/go.mod h1:BO5EKulvhBF1NXwui8lfnuDPBQQU5807yvWASZ/5n6k= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.2 h1:sPiRHLVUIIQcoVZTNwqQcdtjkqkPopyYmIX0M5ElRf4= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.2/go.mod h1:ik86P3sgV+Bk7c1tBFCwI3VxMoSEwl4YkRB9xn1s340= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.2 h1:ZdzDAg075H6stMZtbD2o+PyB933M/f20e9WmCBC17wA= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.2/go.mod h1:eE1IIzXG9sdZCB0pNNpMpsYTLl4YdOQD3njiVN1e/E4= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.3 h1:o9RnO+YZ4X+kt5Z7Nvcishlz0nksIt2PIzDglLMP0vA= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.3/go.mod h1:+6aLJzOG1fvMOyzIySYjOFjcguGvVRL68R+uoRencN4= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.3 h1:joyyUFhiTQQmVK6ImzNU9TQSNRNeD9kOklqTzyk5v6s= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.3/go.mod h1:+vNIyZQP3b3B1tSLI0lxvrU9cfM7gpdRXMFfm67ZcPc= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 h1:bIqFDwgGXXN1Kpp99pDOdKMTTb5d2KyU5X/BZxjOkRo= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3/go.mod h1:H5O/EsxDWyU+LP/V8i5sm8cxoZgc2fdNR9bxlOFrQTo= github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.2 h1:sBpc8Ph6CpfZsEdkz/8bfg8WhKlWMCms5iWj6W/AW2U= @@ -297,8 +297,8 @@ github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.2 h1:blV3dY6WbxIVOFg github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.2/go.mod h1:cBWNeLBjHJRSmXAxdS7mwiMUEgx6zup4wQ9J+/PcsRQ= github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.2 h1:pOnBcmmHWBDbxawnpomSKFbDe8yn+t0OznR+Vo9Tj/Q= github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.2/go.mod h1:iseakOEtbeRjQkEtKZQ149M/fLJIaMlF0lS0X3/gXdg= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2 h1:oxmDEO14NBZJbK/M8y3brhMFEIGN4j8a6Aq8eY0sqlo= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2/go.mod h1:4hH+8QCrk1uRWDPsVfsNDUup3taAjO8Dnx63au7smAU= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.3 h1:ieRzyHXypu5ByllM7Sp4hC5f/1Fy5wqxqY0yB85hC7s= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.3/go.mod h1:O5ROz8jHiOAKAwx179v+7sHMhfobFVi6nZt8DEyiYoM= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.2 h1:0hBNFAPwecERLzkhhBY+lQKUMpXSKVv4Sxovikrioms= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.2/go.mod h1:Vcnh4KyR4imrrjGN7A2kP2v9y6EPudqoPKXtnmBliPU= github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.23.0 h1:/44qK3M/wwUHIh6fw8Z/pm362EqpfD+fZAGYfhWi0sM= @@ -517,16 +517,16 @@ github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.6.0 h1:ivkaBapgjmE9Put5MJ3 github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.6.0/go.mod h1:HAdCTJPmPNeZD6mAmPDcU9eK1yVP88JVu0kwp6HmJR0= github.com/aws/aws-sdk-go-v2/service/ssmsap v1.22.0 h1:5+fIKFIbA80sYjNf2vccPvmrdp4nb1EbkQdsO9HZA9g= github.com/aws/aws-sdk-go-v2/service/ssmsap v1.22.0/go.mod h1:mlTUZlO4rjFmS6ZZ7hJD6Oko4Geto1EMzta8T3R61r4= -github.com/aws/aws-sdk-go-v2/service/sso v1.27.0 h1:j7/jTOjWeJDolPwZ/J4yZ7dUsxsWZEsxNwH5O7F8eEA= -github.com/aws/aws-sdk-go-v2/service/sso v1.27.0/go.mod h1:M0xdEPQtgpNT7kdAX4/vOAPkFj60hSQRb7TvW9B0iug= +github.com/aws/aws-sdk-go-v2/service/sso v1.28.0 h1:Mc/MKBf2m4VynyJkABoVEN+QzkfLqGj0aiJuEe7cMeM= +github.com/aws/aws-sdk-go-v2/service/sso v1.28.0/go.mod h1:iS5OmxEcN4QIPXARGhavH7S8kETNL11kym6jhoS7IUQ= github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.33.0 h1:61baAQJeQS9SdTXJ9MVUiT5hkMf65SUfjVV9j2/W45M= github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.33.0/go.mod h1:nnlw3wIldhDvFLfpv/yH9j31xoz0EdczpuYu95M/Mm0= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.32.0 h1:ywQF2N4VjqX+Psw+jLjMmUL2g1RDHlvri3NxHA08MGI= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.32.0/go.mod h1:Z+qv5Q6b7sWiclvbJyPSOT1BRVU9wfSUPaqQzZ1Xg3E= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.33.0 h1:6csaS/aJmqZQbKhi1EyEMM7yBW653Wy/B9hnBofW+sw= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.33.0/go.mod h1:59qHWaY5B+Rs7HGTuVGaC32m0rdpQ68N8QCN3khYiqs= github.com/aws/aws-sdk-go-v2/service/storagegateway v1.40.0 h1:eywzm3eHsI6lkM7HpsLuoLUKuW87wINDWM/kpEahPbQ= github.com/aws/aws-sdk-go-v2/service/storagegateway v1.40.0/go.mod h1:dpO8VuQCysRhgr+cTRKLjF27aJZ84dDR5mpC3YKSzvI= -github.com/aws/aws-sdk-go-v2/service/sts v1.36.0 h1:bRP/a9llXSSgDPk7Rqn5GD/DQCGo6uk95plBFKoXt2M= -github.com/aws/aws-sdk-go-v2/service/sts v1.36.0/go.mod h1:tgBsFzxwl65BWkuJ/x2EUs59bD4SfYKgikvFDJi1S58= +github.com/aws/aws-sdk-go-v2/service/sts v1.37.0 h1:MG9VFW43M4A8BYeAfaJJZWrroinxeTi2r3+SnmLQfSA= +github.com/aws/aws-sdk-go-v2/service/sts v1.37.0/go.mod h1:JdeBDPgpJfuS6rU/hNglmOigKhyEZtBmbraLE4GK1J8= github.com/aws/aws-sdk-go-v2/service/swf v1.30.0 h1:isVHS2KcvvQF+K4xm1d8gwn7oblSNrvLGnkgnrklU98= github.com/aws/aws-sdk-go-v2/service/swf v1.30.0/go.mod h1:ew3I70Cp5/fov/t/5KR5gnUJKh/oUFaRSXiLhGdNEBQ= github.com/aws/aws-sdk-go-v2/service/synthetics v1.38.0 h1:bO03M5vd7lbwA2u+AJ5p5lNXDrX95irMpQGnTriIZCs= From 02e251ec27946bd537a19a3e2fd359fd08cdece3 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:15 -0400 Subject: [PATCH 0826/1301] go get github.com/aws/aws-sdk-go-v2/feature/s3/manager. --- go.mod | 10 +++++----- go.sum | 20 ++++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/go.mod b/go.mod index f67e73eda2a2..7837dd2e2a5a 100644 --- a/go.mod +++ b/go.mod @@ -15,7 +15,7 @@ require ( github.com/aws/aws-sdk-go-v2/config v1.31.0 github.com/aws/aws-sdk-go-v2/credentials v1.18.4 github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.3 - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.3 + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.4 github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.42.0 github.com/aws/aws-sdk-go-v2/service/account v1.26.0 github.com/aws/aws-sdk-go-v2/service/acm v1.35.0 @@ -220,7 +220,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.24.0 github.com/aws/aws-sdk-go-v2/service/route53resolver v1.38.0 github.com/aws/aws-sdk-go-v2/service/rum v1.26.0 - github.com/aws/aws-sdk-go-v2/service/s3 v1.86.0 + github.com/aws/aws-sdk-go-v2/service/s3 v1.87.0 github.com/aws/aws-sdk-go-v2/service/s3control v1.63.0 github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0 github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0 @@ -325,12 +325,12 @@ require ( github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.3 // indirect github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.3 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.2 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.3 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.2 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.3 // indirect github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.2 // indirect github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.3 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.2 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.3 // indirect github.com/aws/aws-sdk-go-v2/service/ssooidc v1.33.0 // indirect github.com/bgentry/speakeasy v0.1.0 // indirect github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc // indirect diff --git a/go.sum b/go.sum index c6a48a2f5f64..2fc815bece63 100644 --- a/go.sum +++ b/go.sum @@ -33,16 +33,16 @@ github.com/aws/aws-sdk-go-v2/credentials v1.18.4 h1:IPd0Algf1b+Qy9BcDp0sCUcIWdCQ github.com/aws/aws-sdk-go-v2/credentials v1.18.4/go.mod h1:nwg78FjH2qvsRM1EVZlX9WuGUJOL5od+0qvm0adEzHk= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.3 h1:GicIdnekoJsjq9wqnvyi2elW6CGMSYKhdozE7/Svh78= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.3/go.mod h1:R7BIi6WNC5mc1kfRM7XM/VHC3uRWkjc396sfabq4iOo= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.3 h1:Nb2pUE30lySKPGdkiIJ1SZgHsjiebOiRNI7R9NA1WtM= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.3/go.mod h1:BO5EKulvhBF1NXwui8lfnuDPBQQU5807yvWASZ/5n6k= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.4 h1:0SzCLoPRSK3qSydsaFQWugP+lOBCTPwfcBOm6222+UA= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.4/go.mod h1:JAet9FsBHjfdI+TnMBX4ModNNaQHAd3dc/Bk+cNsxeM= github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.3 h1:o9RnO+YZ4X+kt5Z7Nvcishlz0nksIt2PIzDglLMP0vA= github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.3/go.mod h1:+6aLJzOG1fvMOyzIySYjOFjcguGvVRL68R+uoRencN4= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.3 h1:joyyUFhiTQQmVK6ImzNU9TQSNRNeD9kOklqTzyk5v6s= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.3/go.mod h1:+vNIyZQP3b3B1tSLI0lxvrU9cfM7gpdRXMFfm67ZcPc= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 h1:bIqFDwgGXXN1Kpp99pDOdKMTTb5d2KyU5X/BZxjOkRo= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3/go.mod h1:H5O/EsxDWyU+LP/V8i5sm8cxoZgc2fdNR9bxlOFrQTo= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.2 h1:sBpc8Ph6CpfZsEdkz/8bfg8WhKlWMCms5iWj6W/AW2U= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.2/go.mod h1:Z2lDojZB+92Wo6EKiZZmJid9pPrDJW2NNIXSlaEfVlU= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.3 h1:ZV2XK2L3HBq9sCKQiQ/MdhZJppH/rH0vddEAamsHUIs= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.3/go.mod h1:b9F9tk2HdHpbf3xbN7rUZcfmJI26N6NcJu/8OsBFI/0= github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.42.0 h1:vt+gYvW60oCHXXC8r956qdFRCF+/fQtryCDn5y0HsGs= github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.42.0/go.mod h1:TwIVACwD7QWQf7pgwDH0vdrqK9TNLmvKfaIAFVMG+n8= github.com/aws/aws-sdk-go-v2/service/account v1.26.0 h1:y/f+sL3VLjkjxNcGcUm6Bmhlok4utFT6Qq2AEuEG7G8= @@ -293,14 +293,14 @@ github.com/aws/aws-sdk-go-v2/service/inspector2 v1.42.0 h1:hCqhvKyJ3GZU7k5ivzrzL github.com/aws/aws-sdk-go-v2/service/inspector2 v1.42.0/go.mod h1:ClLIVjq4ypDXNZ/n8edCQyd2f/lVn2xZpsHgWGjtCUA= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 h1:6+lZi2JeGKtCraAj1rpoZfKqnQ9SptseRZioejfUOLM= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0/go.mod h1:eb3gfbVIxIoGgJsi9pGne19dhCBpK6opTYpQqAmdy44= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.2 h1:blV3dY6WbxIVOFggfYIo2E1Q2lZoy5imS7nKgu5m6Tc= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.2/go.mod h1:cBWNeLBjHJRSmXAxdS7mwiMUEgx6zup4wQ9J+/PcsRQ= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.3 h1:3ZKmesYBaFX33czDl6mbrcHb6jeheg6LqjJhQdefhsY= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.3/go.mod h1:7ryVb78GLCnjq7cw45N6oUb9REl7/vNUwjvIqC5UgdY= github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.2 h1:pOnBcmmHWBDbxawnpomSKFbDe8yn+t0OznR+Vo9Tj/Q= github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.2/go.mod h1:iseakOEtbeRjQkEtKZQ149M/fLJIaMlF0lS0X3/gXdg= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.3 h1:ieRzyHXypu5ByllM7Sp4hC5f/1Fy5wqxqY0yB85hC7s= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.3/go.mod h1:O5ROz8jHiOAKAwx179v+7sHMhfobFVi6nZt8DEyiYoM= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.2 h1:0hBNFAPwecERLzkhhBY+lQKUMpXSKVv4Sxovikrioms= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.2/go.mod h1:Vcnh4KyR4imrrjGN7A2kP2v9y6EPudqoPKXtnmBliPU= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.3 h1:SE/e52dq9a05RuxzLcjT+S5ZpQobj3ie3UTaSf2NnZc= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.3/go.mod h1:zkpvBTsR020VVr8TOrwK2TrUW9pOir28sH5ECHpnAfo= github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.23.0 h1:/44qK3M/wwUHIh6fw8Z/pm362EqpfD+fZAGYfhWi0sM= github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.23.0/go.mod h1:p3ntR2Ri7KsPgyP3KwxAULDZS2uvcyflGlCG7P12GPM= github.com/aws/aws-sdk-go-v2/service/invoicing v1.5.0 h1:EkI/erJ76tuIC3jWDlbewNKTPNY6xfgUA7XNWv6N+js= @@ -461,8 +461,8 @@ github.com/aws/aws-sdk-go-v2/service/route53resolver v1.38.0 h1:HRDZKs73kNRsb+5M github.com/aws/aws-sdk-go-v2/service/route53resolver v1.38.0/go.mod h1:b9+yk2umEzWK2xzbsBZDrAeG63ia8B1ess7IyZG+mX4= github.com/aws/aws-sdk-go-v2/service/rum v1.26.0 h1:ZqNEWtitFjwaKGPqtPSK8cq0LaTUGKOBbvT/2+n7Zg4= github.com/aws/aws-sdk-go-v2/service/rum v1.26.0/go.mod h1:PLpZddWg0SWhlNl442cRfa5zeWV7NCECrE/naqMhzl8= -github.com/aws/aws-sdk-go-v2/service/s3 v1.86.0 h1:utPhv4ECQzJIUbtx7vMN4A8uZxlQ5tSt1H1toPI41h8= -github.com/aws/aws-sdk-go-v2/service/s3 v1.86.0/go.mod h1:1/eZYtTWazDgVl96LmGdGktHFi7prAcGCrJ9JGvBITU= +github.com/aws/aws-sdk-go-v2/service/s3 v1.87.0 h1:egoDf+Geuuntmw79Mz6mk9gGmELCPzg5PFEABOHB+6Y= +github.com/aws/aws-sdk-go-v2/service/s3 v1.87.0/go.mod h1:t9MDi29H+HDbkolTSQtbI0HP9DemAWQzUjmWC7LGMnE= github.com/aws/aws-sdk-go-v2/service/s3control v1.63.0 h1:Ke1mqUlAVTdAsd8MUOotJiYkmOIYPHsgsEvGw6GUUkE= github.com/aws/aws-sdk-go-v2/service/s3control v1.63.0/go.mod h1:UjBvYLSsE98Zow7RHk2mfbw9QVlX5WNIqDPo1hxrjdY= github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0 h1:M5nUP3UBHZEjw0QS1JfqQupAvUgjDyoHBzk+y0cFIJs= From 046dc4b1619d17bd5b43b92534649ce4e94fa3e3 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:17 -0400 Subject: [PATCH 0827/1301] go get github.com/aws/aws-sdk-go-v2/service/accessanalyzer. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7837dd2e2a5a..1fafd8ae7e1a 100644 --- a/go.mod +++ b/go.mod @@ -16,7 +16,7 @@ require ( github.com/aws/aws-sdk-go-v2/credentials v1.18.4 github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.3 github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.4 - github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.42.0 + github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.43.0 github.com/aws/aws-sdk-go-v2/service/account v1.26.0 github.com/aws/aws-sdk-go-v2/service/acm v1.35.0 github.com/aws/aws-sdk-go-v2/service/acmpca v1.42.0 diff --git a/go.sum b/go.sum index 2fc815bece63..309b92d682a5 100644 --- a/go.sum +++ b/go.sum @@ -43,8 +43,8 @@ github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 h1:bIqFDwgGXXN1Kpp99pDOdKMTTb5d github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3/go.mod h1:H5O/EsxDWyU+LP/V8i5sm8cxoZgc2fdNR9bxlOFrQTo= github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.3 h1:ZV2XK2L3HBq9sCKQiQ/MdhZJppH/rH0vddEAamsHUIs= github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.3/go.mod h1:b9F9tk2HdHpbf3xbN7rUZcfmJI26N6NcJu/8OsBFI/0= -github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.42.0 h1:vt+gYvW60oCHXXC8r956qdFRCF+/fQtryCDn5y0HsGs= -github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.42.0/go.mod h1:TwIVACwD7QWQf7pgwDH0vdrqK9TNLmvKfaIAFVMG+n8= +github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.43.0 h1:GJpQPHoqFQadXt9zgU5y+8Jz242QOkjIZIw+FVsHSUA= +github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.43.0/go.mod h1:ubuqhQ5cwPPRnuqkDwW0BkA7s4CTsLdRhT/F0Jh5aPY= github.com/aws/aws-sdk-go-v2/service/account v1.26.0 h1:y/f+sL3VLjkjxNcGcUm6Bmhlok4utFT6Qq2AEuEG7G8= github.com/aws/aws-sdk-go-v2/service/account v1.26.0/go.mod h1:XcdxcMpieE+6jFZOm4oACLClafqEaY4E3Q0gIDYAq+w= github.com/aws/aws-sdk-go-v2/service/acm v1.35.0 h1:gVIYcaezeE2zZIUI1yrV+n/KAOMouNYmsFi8MFHmrQ0= From 7a88d41adece51435d0b75a88aae72160b713bd5 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:18 -0400 Subject: [PATCH 0828/1301] go get github.com/aws/aws-sdk-go-v2/service/account. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 1fafd8ae7e1a..2aa218b01690 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.3 github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.4 github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.43.0 - github.com/aws/aws-sdk-go-v2/service/account v1.26.0 + github.com/aws/aws-sdk-go-v2/service/account v1.27.0 github.com/aws/aws-sdk-go-v2/service/acm v1.35.0 github.com/aws/aws-sdk-go-v2/service/acmpca v1.42.0 github.com/aws/aws-sdk-go-v2/service/amp v1.36.0 diff --git a/go.sum b/go.sum index 309b92d682a5..e5e877c60d2c 100644 --- a/go.sum +++ b/go.sum @@ -45,8 +45,8 @@ github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.3 h1:ZV2XK2L3HBq9sCKQiQ/MdhZJppH/ github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.3/go.mod h1:b9F9tk2HdHpbf3xbN7rUZcfmJI26N6NcJu/8OsBFI/0= github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.43.0 h1:GJpQPHoqFQadXt9zgU5y+8Jz242QOkjIZIw+FVsHSUA= github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.43.0/go.mod h1:ubuqhQ5cwPPRnuqkDwW0BkA7s4CTsLdRhT/F0Jh5aPY= -github.com/aws/aws-sdk-go-v2/service/account v1.26.0 h1:y/f+sL3VLjkjxNcGcUm6Bmhlok4utFT6Qq2AEuEG7G8= -github.com/aws/aws-sdk-go-v2/service/account v1.26.0/go.mod h1:XcdxcMpieE+6jFZOm4oACLClafqEaY4E3Q0gIDYAq+w= +github.com/aws/aws-sdk-go-v2/service/account v1.27.0 h1:AXdMJ3BikU0OcISX9Sn+d+G6Z5bWCMGBTi8CzRJc5/w= +github.com/aws/aws-sdk-go-v2/service/account v1.27.0/go.mod h1:yFx5lCxY8Inoi6DAnHA4zV99t9XK3Xm4jVTGJK834yg= github.com/aws/aws-sdk-go-v2/service/acm v1.35.0 h1:gVIYcaezeE2zZIUI1yrV+n/KAOMouNYmsFi8MFHmrQ0= github.com/aws/aws-sdk-go-v2/service/acm v1.35.0/go.mod h1:ec9XD6wr6wjTjlWDj1nfjoJHYSG8X0qVNklU8zztBE4= github.com/aws/aws-sdk-go-v2/service/acmpca v1.42.0 h1:29UrIJP7RqSv60o0Ijn4Osshw2CLIpXs3ydWwL1ncRU= From 4d8e1068b454cd66149a6242ad6923458cb249ef Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:18 -0400 Subject: [PATCH 0829/1301] go get github.com/aws/aws-sdk-go-v2/service/acm. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 2aa218b01690..02e9a46256f6 100644 --- a/go.mod +++ b/go.mod @@ -18,7 +18,7 @@ require ( github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.4 github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.43.0 github.com/aws/aws-sdk-go-v2/service/account v1.27.0 - github.com/aws/aws-sdk-go-v2/service/acm v1.35.0 + github.com/aws/aws-sdk-go-v2/service/acm v1.36.0 github.com/aws/aws-sdk-go-v2/service/acmpca v1.42.0 github.com/aws/aws-sdk-go-v2/service/amp v1.36.0 github.com/aws/aws-sdk-go-v2/service/amplify v1.35.0 diff --git a/go.sum b/go.sum index e5e877c60d2c..8ffc5d0cc8da 100644 --- a/go.sum +++ b/go.sum @@ -47,8 +47,8 @@ github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.43.0 h1:GJpQPHoqFQadXt9zg github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.43.0/go.mod h1:ubuqhQ5cwPPRnuqkDwW0BkA7s4CTsLdRhT/F0Jh5aPY= github.com/aws/aws-sdk-go-v2/service/account v1.27.0 h1:AXdMJ3BikU0OcISX9Sn+d+G6Z5bWCMGBTi8CzRJc5/w= github.com/aws/aws-sdk-go-v2/service/account v1.27.0/go.mod h1:yFx5lCxY8Inoi6DAnHA4zV99t9XK3Xm4jVTGJK834yg= -github.com/aws/aws-sdk-go-v2/service/acm v1.35.0 h1:gVIYcaezeE2zZIUI1yrV+n/KAOMouNYmsFi8MFHmrQ0= -github.com/aws/aws-sdk-go-v2/service/acm v1.35.0/go.mod h1:ec9XD6wr6wjTjlWDj1nfjoJHYSG8X0qVNklU8zztBE4= +github.com/aws/aws-sdk-go-v2/service/acm v1.36.0 h1:U16SZFwZpyQGXUyrrmOqWqU9jMYhokCSpc+fYajYLy0= +github.com/aws/aws-sdk-go-v2/service/acm v1.36.0/go.mod h1:fdYDfiFuQij96Ryxl5uJK5xGAjyLhHGiBwquH7mpuAc= github.com/aws/aws-sdk-go-v2/service/acmpca v1.42.0 h1:29UrIJP7RqSv60o0Ijn4Osshw2CLIpXs3ydWwL1ncRU= github.com/aws/aws-sdk-go-v2/service/acmpca v1.42.0/go.mod h1:MEHD++O08p58bU+t9xbTRH4A4lQIjFkOffNUzjXGwjU= github.com/aws/aws-sdk-go-v2/service/amp v1.36.0 h1:bkMWckc+0CtmzdUls0WxNMgJW+FfVFBWXbI8gaD8xts= From c12e1ba4fb61454619ef2a59858a7bc9188dc27b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:19 -0400 Subject: [PATCH 0830/1301] go get github.com/aws/aws-sdk-go-v2/service/acmpca. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 02e9a46256f6..18d0b35c192e 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.43.0 github.com/aws/aws-sdk-go-v2/service/account v1.27.0 github.com/aws/aws-sdk-go-v2/service/acm v1.36.0 - github.com/aws/aws-sdk-go-v2/service/acmpca v1.42.0 + github.com/aws/aws-sdk-go-v2/service/acmpca v1.43.0 github.com/aws/aws-sdk-go-v2/service/amp v1.36.0 github.com/aws/aws-sdk-go-v2/service/amplify v1.35.0 github.com/aws/aws-sdk-go-v2/service/apigateway v1.33.0 diff --git a/go.sum b/go.sum index 8ffc5d0cc8da..3184a5ea8596 100644 --- a/go.sum +++ b/go.sum @@ -49,8 +49,8 @@ github.com/aws/aws-sdk-go-v2/service/account v1.27.0 h1:AXdMJ3BikU0OcISX9Sn+d+G6 github.com/aws/aws-sdk-go-v2/service/account v1.27.0/go.mod h1:yFx5lCxY8Inoi6DAnHA4zV99t9XK3Xm4jVTGJK834yg= github.com/aws/aws-sdk-go-v2/service/acm v1.36.0 h1:U16SZFwZpyQGXUyrrmOqWqU9jMYhokCSpc+fYajYLy0= github.com/aws/aws-sdk-go-v2/service/acm v1.36.0/go.mod h1:fdYDfiFuQij96Ryxl5uJK5xGAjyLhHGiBwquH7mpuAc= -github.com/aws/aws-sdk-go-v2/service/acmpca v1.42.0 h1:29UrIJP7RqSv60o0Ijn4Osshw2CLIpXs3ydWwL1ncRU= -github.com/aws/aws-sdk-go-v2/service/acmpca v1.42.0/go.mod h1:MEHD++O08p58bU+t9xbTRH4A4lQIjFkOffNUzjXGwjU= +github.com/aws/aws-sdk-go-v2/service/acmpca v1.43.0 h1:WukXneuq4cMqMAif9O6k9DJ8MYGChF3ADJu9Jp8gcOU= +github.com/aws/aws-sdk-go-v2/service/acmpca v1.43.0/go.mod h1:z6+6Jmnp4CXxXzJwydQhFVtPwYu9+6oTeEzx3oRcIL8= github.com/aws/aws-sdk-go-v2/service/amp v1.36.0 h1:bkMWckc+0CtmzdUls0WxNMgJW+FfVFBWXbI8gaD8xts= github.com/aws/aws-sdk-go-v2/service/amp v1.36.0/go.mod h1:LJjtJRt+mqjs4D8JRKGEYjW4w4XNd7s5oXjivdbPXfc= github.com/aws/aws-sdk-go-v2/service/amplify v1.35.0 h1:gT1MIIVClB3AeJ3Re/cPcipnIVWRFqz72DmXRR36RaM= From d61b92d21e2dbf5d5fad7c88ee54b56c2980613d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:20 -0400 Subject: [PATCH 0831/1301] go get github.com/aws/aws-sdk-go-v2/service/amp. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 18d0b35c192e..e1a621457399 100644 --- a/go.mod +++ b/go.mod @@ -20,7 +20,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/account v1.27.0 github.com/aws/aws-sdk-go-v2/service/acm v1.36.0 github.com/aws/aws-sdk-go-v2/service/acmpca v1.43.0 - github.com/aws/aws-sdk-go-v2/service/amp v1.36.0 + github.com/aws/aws-sdk-go-v2/service/amp v1.37.0 github.com/aws/aws-sdk-go-v2/service/amplify v1.35.0 github.com/aws/aws-sdk-go-v2/service/apigateway v1.33.0 github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.30.0 diff --git a/go.sum b/go.sum index 3184a5ea8596..a8f9507bf6ac 100644 --- a/go.sum +++ b/go.sum @@ -51,8 +51,8 @@ github.com/aws/aws-sdk-go-v2/service/acm v1.36.0 h1:U16SZFwZpyQGXUyrrmOqWqU9jMYh github.com/aws/aws-sdk-go-v2/service/acm v1.36.0/go.mod h1:fdYDfiFuQij96Ryxl5uJK5xGAjyLhHGiBwquH7mpuAc= github.com/aws/aws-sdk-go-v2/service/acmpca v1.43.0 h1:WukXneuq4cMqMAif9O6k9DJ8MYGChF3ADJu9Jp8gcOU= github.com/aws/aws-sdk-go-v2/service/acmpca v1.43.0/go.mod h1:z6+6Jmnp4CXxXzJwydQhFVtPwYu9+6oTeEzx3oRcIL8= -github.com/aws/aws-sdk-go-v2/service/amp v1.36.0 h1:bkMWckc+0CtmzdUls0WxNMgJW+FfVFBWXbI8gaD8xts= -github.com/aws/aws-sdk-go-v2/service/amp v1.36.0/go.mod h1:LJjtJRt+mqjs4D8JRKGEYjW4w4XNd7s5oXjivdbPXfc= +github.com/aws/aws-sdk-go-v2/service/amp v1.37.0 h1:ENqKS9m7AL5HiNNTV4dwUQ5E2xARxbMPr2OeK97FHCc= +github.com/aws/aws-sdk-go-v2/service/amp v1.37.0/go.mod h1:LouVPFytdICLhyHVjIlFAO4nE5OJi3KXO+VmOhKwGWI= github.com/aws/aws-sdk-go-v2/service/amplify v1.35.0 h1:gT1MIIVClB3AeJ3Re/cPcipnIVWRFqz72DmXRR36RaM= github.com/aws/aws-sdk-go-v2/service/amplify v1.35.0/go.mod h1:nNI4E6Z2lhFF0lYz6AlHemTIZLnvclsu2Rlr5cuEBPk= github.com/aws/aws-sdk-go-v2/service/apigateway v1.33.0 h1:KiF6zCaH5RWJ5JvIQg3K8UHDDKavsm7AjKrqIMOkWBY= From 0691bed8555ac6a55d4d3bedb97be30c04161a72 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:22 -0400 Subject: [PATCH 0832/1301] go get github.com/aws/aws-sdk-go-v2/service/amplify. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e1a621457399..dd4d77d451ac 100644 --- a/go.mod +++ b/go.mod @@ -21,7 +21,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/acm v1.36.0 github.com/aws/aws-sdk-go-v2/service/acmpca v1.43.0 github.com/aws/aws-sdk-go-v2/service/amp v1.37.0 - github.com/aws/aws-sdk-go-v2/service/amplify v1.35.0 + github.com/aws/aws-sdk-go-v2/service/amplify v1.36.0 github.com/aws/aws-sdk-go-v2/service/apigateway v1.33.0 github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.30.0 github.com/aws/aws-sdk-go-v2/service/appconfig v1.40.0 diff --git a/go.sum b/go.sum index a8f9507bf6ac..cb6ff5f3105d 100644 --- a/go.sum +++ b/go.sum @@ -53,8 +53,8 @@ github.com/aws/aws-sdk-go-v2/service/acmpca v1.43.0 h1:WukXneuq4cMqMAif9O6k9DJ8M github.com/aws/aws-sdk-go-v2/service/acmpca v1.43.0/go.mod h1:z6+6Jmnp4CXxXzJwydQhFVtPwYu9+6oTeEzx3oRcIL8= github.com/aws/aws-sdk-go-v2/service/amp v1.37.0 h1:ENqKS9m7AL5HiNNTV4dwUQ5E2xARxbMPr2OeK97FHCc= github.com/aws/aws-sdk-go-v2/service/amp v1.37.0/go.mod h1:LouVPFytdICLhyHVjIlFAO4nE5OJi3KXO+VmOhKwGWI= -github.com/aws/aws-sdk-go-v2/service/amplify v1.35.0 h1:gT1MIIVClB3AeJ3Re/cPcipnIVWRFqz72DmXRR36RaM= -github.com/aws/aws-sdk-go-v2/service/amplify v1.35.0/go.mod h1:nNI4E6Z2lhFF0lYz6AlHemTIZLnvclsu2Rlr5cuEBPk= +github.com/aws/aws-sdk-go-v2/service/amplify v1.36.0 h1:hgh1hVUywvKGKE1SBOas15qK4tGf8tuOIdjMuMDZ5Yk= +github.com/aws/aws-sdk-go-v2/service/amplify v1.36.0/go.mod h1:UfCqtNa9PMpuD2KSJ8DELqJpgmG78U5CoUW2Vf2ZWKQ= github.com/aws/aws-sdk-go-v2/service/apigateway v1.33.0 h1:KiF6zCaH5RWJ5JvIQg3K8UHDDKavsm7AjKrqIMOkWBY= github.com/aws/aws-sdk-go-v2/service/apigateway v1.33.0/go.mod h1:EyTXepZ4wjZZzQRZakRLJt0CPzSvp0DEIZEvGFfY4vo= github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.30.0 h1:TKcprXn0kE8tO52+U0r4qV6ZS5MzhsFPf/Oll86VTBM= From 516ce90990dc0532080a99f833cf786dfa117ea5 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:23 -0400 Subject: [PATCH 0833/1301] go get github.com/aws/aws-sdk-go-v2/service/apigateway. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index dd4d77d451ac..6f2d376e583f 100644 --- a/go.mod +++ b/go.mod @@ -22,7 +22,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/acmpca v1.43.0 github.com/aws/aws-sdk-go-v2/service/amp v1.37.0 github.com/aws/aws-sdk-go-v2/service/amplify v1.36.0 - github.com/aws/aws-sdk-go-v2/service/apigateway v1.33.0 + github.com/aws/aws-sdk-go-v2/service/apigateway v1.34.0 github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.30.0 github.com/aws/aws-sdk-go-v2/service/appconfig v1.40.0 github.com/aws/aws-sdk-go-v2/service/appfabric v1.14.0 diff --git a/go.sum b/go.sum index cb6ff5f3105d..57acad03fa80 100644 --- a/go.sum +++ b/go.sum @@ -55,8 +55,8 @@ github.com/aws/aws-sdk-go-v2/service/amp v1.37.0 h1:ENqKS9m7AL5HiNNTV4dwUQ5E2xAR github.com/aws/aws-sdk-go-v2/service/amp v1.37.0/go.mod h1:LouVPFytdICLhyHVjIlFAO4nE5OJi3KXO+VmOhKwGWI= github.com/aws/aws-sdk-go-v2/service/amplify v1.36.0 h1:hgh1hVUywvKGKE1SBOas15qK4tGf8tuOIdjMuMDZ5Yk= github.com/aws/aws-sdk-go-v2/service/amplify v1.36.0/go.mod h1:UfCqtNa9PMpuD2KSJ8DELqJpgmG78U5CoUW2Vf2ZWKQ= -github.com/aws/aws-sdk-go-v2/service/apigateway v1.33.0 h1:KiF6zCaH5RWJ5JvIQg3K8UHDDKavsm7AjKrqIMOkWBY= -github.com/aws/aws-sdk-go-v2/service/apigateway v1.33.0/go.mod h1:EyTXepZ4wjZZzQRZakRLJt0CPzSvp0DEIZEvGFfY4vo= +github.com/aws/aws-sdk-go-v2/service/apigateway v1.34.0 h1:IZAET61abhm3dZEMPwU6VLiXKVL2Qwvg0q7Bukpz/kA= +github.com/aws/aws-sdk-go-v2/service/apigateway v1.34.0/go.mod h1:WuGmD7SWYen7UZcDGptMvzl6bN5OZ1x+Io1eI5XN7kU= github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.30.0 h1:TKcprXn0kE8tO52+U0r4qV6ZS5MzhsFPf/Oll86VTBM= github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.30.0/go.mod h1:8omZuwkmT/FCrrspTnSV7zfBkXUU0kCx4GhF45kILZA= github.com/aws/aws-sdk-go-v2/service/appconfig v1.40.0 h1:6Pj5dEAlzJvWDfVjFpbc7ZnHA5Dvjdh1XemDMpboFvc= From 2f1f6a3f12d9d6176aeaf870b4052ff4b1ffb1dd Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:24 -0400 Subject: [PATCH 0834/1301] go get github.com/aws/aws-sdk-go-v2/service/apigatewayv2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 6f2d376e583f..b9988ca22473 100644 --- a/go.mod +++ b/go.mod @@ -23,7 +23,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/amp v1.37.0 github.com/aws/aws-sdk-go-v2/service/amplify v1.36.0 github.com/aws/aws-sdk-go-v2/service/apigateway v1.34.0 - github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.30.0 + github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.31.0 github.com/aws/aws-sdk-go-v2/service/appconfig v1.40.0 github.com/aws/aws-sdk-go-v2/service/appfabric v1.14.0 github.com/aws/aws-sdk-go-v2/service/appflow v1.48.0 diff --git a/go.sum b/go.sum index 57acad03fa80..b6647f7eb786 100644 --- a/go.sum +++ b/go.sum @@ -57,8 +57,8 @@ github.com/aws/aws-sdk-go-v2/service/amplify v1.36.0 h1:hgh1hVUywvKGKE1SBOas15qK github.com/aws/aws-sdk-go-v2/service/amplify v1.36.0/go.mod h1:UfCqtNa9PMpuD2KSJ8DELqJpgmG78U5CoUW2Vf2ZWKQ= github.com/aws/aws-sdk-go-v2/service/apigateway v1.34.0 h1:IZAET61abhm3dZEMPwU6VLiXKVL2Qwvg0q7Bukpz/kA= github.com/aws/aws-sdk-go-v2/service/apigateway v1.34.0/go.mod h1:WuGmD7SWYen7UZcDGptMvzl6bN5OZ1x+Io1eI5XN7kU= -github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.30.0 h1:TKcprXn0kE8tO52+U0r4qV6ZS5MzhsFPf/Oll86VTBM= -github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.30.0/go.mod h1:8omZuwkmT/FCrrspTnSV7zfBkXUU0kCx4GhF45kILZA= +github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.31.0 h1:bbHfZmF4H/PG5EEo0hXDyM/45XZDMbkscXolqardpB0= +github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.31.0/go.mod h1:qlUNYJtHoTWiJQMJkgi93jwRNRt9uIOUSMZrwMODh7Y= github.com/aws/aws-sdk-go-v2/service/appconfig v1.40.0 h1:6Pj5dEAlzJvWDfVjFpbc7ZnHA5Dvjdh1XemDMpboFvc= github.com/aws/aws-sdk-go-v2/service/appconfig v1.40.0/go.mod h1:BsSGAj9mD3U2GbJ+rNTZR3h+fb4+I2LObTU8cwOWj9w= github.com/aws/aws-sdk-go-v2/service/appfabric v1.14.0 h1:Omx/A2miHighL12A8GXXPir98p9mSLKbZduAoh/vhiI= From 3621952a74d87d279bafbb1e86d7309ca96cdf63 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:25 -0400 Subject: [PATCH 0835/1301] go get github.com/aws/aws-sdk-go-v2/service/appconfig. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b9988ca22473..6baa4997222e 100644 --- a/go.mod +++ b/go.mod @@ -24,7 +24,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/amplify v1.36.0 github.com/aws/aws-sdk-go-v2/service/apigateway v1.34.0 github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.31.0 - github.com/aws/aws-sdk-go-v2/service/appconfig v1.40.0 + github.com/aws/aws-sdk-go-v2/service/appconfig v1.41.0 github.com/aws/aws-sdk-go-v2/service/appfabric v1.14.0 github.com/aws/aws-sdk-go-v2/service/appflow v1.48.0 github.com/aws/aws-sdk-go-v2/service/appintegrations v1.34.0 diff --git a/go.sum b/go.sum index b6647f7eb786..f10f3d1000d7 100644 --- a/go.sum +++ b/go.sum @@ -59,8 +59,8 @@ github.com/aws/aws-sdk-go-v2/service/apigateway v1.34.0 h1:IZAET61abhm3dZEMPwU6V github.com/aws/aws-sdk-go-v2/service/apigateway v1.34.0/go.mod h1:WuGmD7SWYen7UZcDGptMvzl6bN5OZ1x+Io1eI5XN7kU= github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.31.0 h1:bbHfZmF4H/PG5EEo0hXDyM/45XZDMbkscXolqardpB0= github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.31.0/go.mod h1:qlUNYJtHoTWiJQMJkgi93jwRNRt9uIOUSMZrwMODh7Y= -github.com/aws/aws-sdk-go-v2/service/appconfig v1.40.0 h1:6Pj5dEAlzJvWDfVjFpbc7ZnHA5Dvjdh1XemDMpboFvc= -github.com/aws/aws-sdk-go-v2/service/appconfig v1.40.0/go.mod h1:BsSGAj9mD3U2GbJ+rNTZR3h+fb4+I2LObTU8cwOWj9w= +github.com/aws/aws-sdk-go-v2/service/appconfig v1.41.0 h1:1EQYqGI4Gwlk/dGj/F3IxdZEZPw5Nv26d1QGsSsVPUk= +github.com/aws/aws-sdk-go-v2/service/appconfig v1.41.0/go.mod h1:iC0QI9BkqzOa3bqZ3SI1GGobEOML7mV+tBTnh8hOoYI= github.com/aws/aws-sdk-go-v2/service/appfabric v1.14.0 h1:Omx/A2miHighL12A8GXXPir98p9mSLKbZduAoh/vhiI= github.com/aws/aws-sdk-go-v2/service/appfabric v1.14.0/go.mod h1:riUMB17QXzuHibU+FpEqYSJ1v5hnKHpbZ6SY9HMrwAQ= github.com/aws/aws-sdk-go-v2/service/appflow v1.48.0 h1:+oYSboLPBZygfCNUhpEYtuQSqoN/LpRMuPimTGKK3eo= From 21e294111db3d4b4fcc3a6079d2e3eb5deddea2d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:26 -0400 Subject: [PATCH 0836/1301] go get github.com/aws/aws-sdk-go-v2/service/appfabric. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 6baa4997222e..1a517fabbee3 100644 --- a/go.mod +++ b/go.mod @@ -25,7 +25,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/apigateway v1.34.0 github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.31.0 github.com/aws/aws-sdk-go-v2/service/appconfig v1.41.0 - github.com/aws/aws-sdk-go-v2/service/appfabric v1.14.0 + github.com/aws/aws-sdk-go-v2/service/appfabric v1.15.0 github.com/aws/aws-sdk-go-v2/service/appflow v1.48.0 github.com/aws/aws-sdk-go-v2/service/appintegrations v1.34.0 github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.38.0 diff --git a/go.sum b/go.sum index f10f3d1000d7..2c0f481a275e 100644 --- a/go.sum +++ b/go.sum @@ -61,8 +61,8 @@ github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.31.0 h1:bbHfZmF4H/PG5EEo0hX github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.31.0/go.mod h1:qlUNYJtHoTWiJQMJkgi93jwRNRt9uIOUSMZrwMODh7Y= github.com/aws/aws-sdk-go-v2/service/appconfig v1.41.0 h1:1EQYqGI4Gwlk/dGj/F3IxdZEZPw5Nv26d1QGsSsVPUk= github.com/aws/aws-sdk-go-v2/service/appconfig v1.41.0/go.mod h1:iC0QI9BkqzOa3bqZ3SI1GGobEOML7mV+tBTnh8hOoYI= -github.com/aws/aws-sdk-go-v2/service/appfabric v1.14.0 h1:Omx/A2miHighL12A8GXXPir98p9mSLKbZduAoh/vhiI= -github.com/aws/aws-sdk-go-v2/service/appfabric v1.14.0/go.mod h1:riUMB17QXzuHibU+FpEqYSJ1v5hnKHpbZ6SY9HMrwAQ= +github.com/aws/aws-sdk-go-v2/service/appfabric v1.15.0 h1:lymNTWawpNNwwiJY7BCqBIJzLQ8p8O0kHE9/iQ5UIXc= +github.com/aws/aws-sdk-go-v2/service/appfabric v1.15.0/go.mod h1:qKKz05wkdIZ+tkR3rnV66+sxYKIsppwx2hJiT3fuFdk= github.com/aws/aws-sdk-go-v2/service/appflow v1.48.0 h1:+oYSboLPBZygfCNUhpEYtuQSqoN/LpRMuPimTGKK3eo= github.com/aws/aws-sdk-go-v2/service/appflow v1.48.0/go.mod h1:S3KIf4WL9w8ZYLI+IYNm0JGVpR7V6qFVhNoEZTHtpgE= github.com/aws/aws-sdk-go-v2/service/appintegrations v1.34.0 h1:DPlrEqTxtDqWfvdPfz2hHB/02FutaUvpCH8E+tgkQDo= From 05e2658e62c654a794ccdd6e9f1f48bf0af0bfbb Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:28 -0400 Subject: [PATCH 0837/1301] go get github.com/aws/aws-sdk-go-v2/service/appflow. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 1a517fabbee3..c3de92cc5a64 100644 --- a/go.mod +++ b/go.mod @@ -26,7 +26,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.31.0 github.com/aws/aws-sdk-go-v2/service/appconfig v1.41.0 github.com/aws/aws-sdk-go-v2/service/appfabric v1.15.0 - github.com/aws/aws-sdk-go-v2/service/appflow v1.48.0 + github.com/aws/aws-sdk-go-v2/service/appflow v1.49.0 github.com/aws/aws-sdk-go-v2/service/appintegrations v1.34.0 github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.38.0 github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.32.0 diff --git a/go.sum b/go.sum index 2c0f481a275e..5a38808b8275 100644 --- a/go.sum +++ b/go.sum @@ -63,8 +63,8 @@ github.com/aws/aws-sdk-go-v2/service/appconfig v1.41.0 h1:1EQYqGI4Gwlk/dGj/F3Ixd github.com/aws/aws-sdk-go-v2/service/appconfig v1.41.0/go.mod h1:iC0QI9BkqzOa3bqZ3SI1GGobEOML7mV+tBTnh8hOoYI= github.com/aws/aws-sdk-go-v2/service/appfabric v1.15.0 h1:lymNTWawpNNwwiJY7BCqBIJzLQ8p8O0kHE9/iQ5UIXc= github.com/aws/aws-sdk-go-v2/service/appfabric v1.15.0/go.mod h1:qKKz05wkdIZ+tkR3rnV66+sxYKIsppwx2hJiT3fuFdk= -github.com/aws/aws-sdk-go-v2/service/appflow v1.48.0 h1:+oYSboLPBZygfCNUhpEYtuQSqoN/LpRMuPimTGKK3eo= -github.com/aws/aws-sdk-go-v2/service/appflow v1.48.0/go.mod h1:S3KIf4WL9w8ZYLI+IYNm0JGVpR7V6qFVhNoEZTHtpgE= +github.com/aws/aws-sdk-go-v2/service/appflow v1.49.0 h1:Na5N1Pb88dfNt9LbDj4VIWa9KGPAPqm6HjXWaan75p0= +github.com/aws/aws-sdk-go-v2/service/appflow v1.49.0/go.mod h1:1vwP4HwCMVBINGTry8iEgeWJG8T7BCMUbwGq6jv2fyU= github.com/aws/aws-sdk-go-v2/service/appintegrations v1.34.0 h1:DPlrEqTxtDqWfvdPfz2hHB/02FutaUvpCH8E+tgkQDo= github.com/aws/aws-sdk-go-v2/service/appintegrations v1.34.0/go.mod h1:Ky7v+zg7tT84MMw+pQYTpfNmXictBFk+Q82C0akJfHs= github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.38.0 h1:gt+ZqLthoEKRCB0Mkw4R/ABdCmW6Y53Dfn67LczfcDw= From b9320347e8789486e922de7b5080f7a121d3c038 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:29 -0400 Subject: [PATCH 0838/1301] go get github.com/aws/aws-sdk-go-v2/service/appintegrations. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c3de92cc5a64..1f1d7bc5c8f6 100644 --- a/go.mod +++ b/go.mod @@ -27,7 +27,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/appconfig v1.41.0 github.com/aws/aws-sdk-go-v2/service/appfabric v1.15.0 github.com/aws/aws-sdk-go-v2/service/appflow v1.49.0 - github.com/aws/aws-sdk-go-v2/service/appintegrations v1.34.0 + github.com/aws/aws-sdk-go-v2/service/appintegrations v1.35.0 github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.38.0 github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.32.0 github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.14.0 diff --git a/go.sum b/go.sum index 5a38808b8275..3ee0d53100fb 100644 --- a/go.sum +++ b/go.sum @@ -65,8 +65,8 @@ github.com/aws/aws-sdk-go-v2/service/appfabric v1.15.0 h1:lymNTWawpNNwwiJY7BCqBI github.com/aws/aws-sdk-go-v2/service/appfabric v1.15.0/go.mod h1:qKKz05wkdIZ+tkR3rnV66+sxYKIsppwx2hJiT3fuFdk= github.com/aws/aws-sdk-go-v2/service/appflow v1.49.0 h1:Na5N1Pb88dfNt9LbDj4VIWa9KGPAPqm6HjXWaan75p0= github.com/aws/aws-sdk-go-v2/service/appflow v1.49.0/go.mod h1:1vwP4HwCMVBINGTry8iEgeWJG8T7BCMUbwGq6jv2fyU= -github.com/aws/aws-sdk-go-v2/service/appintegrations v1.34.0 h1:DPlrEqTxtDqWfvdPfz2hHB/02FutaUvpCH8E+tgkQDo= -github.com/aws/aws-sdk-go-v2/service/appintegrations v1.34.0/go.mod h1:Ky7v+zg7tT84MMw+pQYTpfNmXictBFk+Q82C0akJfHs= +github.com/aws/aws-sdk-go-v2/service/appintegrations v1.35.0 h1:4mIoI/hf2GdN0gMQGRcle62J11D4gGJRMcAeYLJeEzk= +github.com/aws/aws-sdk-go-v2/service/appintegrations v1.35.0/go.mod h1:BE6N7P4vcnkAK/ThYR7d65SMt+zjxpo3JMI+ccryyvg= github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.38.0 h1:gt+ZqLthoEKRCB0Mkw4R/ABdCmW6Y53Dfn67LczfcDw= github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.38.0/go.mod h1:6t2ZF+2KvF8UI2XO5CmtuDO3mSqQ5iXAUbNZ/6cxCBc= github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.32.0 h1:DU6QP0nzEAXKYHGNUjsp7eLJR6SR/XxVZ7bWQDukK8w= From fc47c347f6839a1dad21ade0c7924e71a045705e Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:30 -0400 Subject: [PATCH 0839/1301] go get github.com/aws/aws-sdk-go-v2/service/applicationautoscaling. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 1f1d7bc5c8f6..069db335b777 100644 --- a/go.mod +++ b/go.mod @@ -28,7 +28,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/appfabric v1.15.0 github.com/aws/aws-sdk-go-v2/service/appflow v1.49.0 github.com/aws/aws-sdk-go-v2/service/appintegrations v1.35.0 - github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.38.0 + github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.39.0 github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.32.0 github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.14.0 github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0 diff --git a/go.sum b/go.sum index 3ee0d53100fb..b99e513ca75e 100644 --- a/go.sum +++ b/go.sum @@ -67,8 +67,8 @@ github.com/aws/aws-sdk-go-v2/service/appflow v1.49.0 h1:Na5N1Pb88dfNt9LbDj4VIWa9 github.com/aws/aws-sdk-go-v2/service/appflow v1.49.0/go.mod h1:1vwP4HwCMVBINGTry8iEgeWJG8T7BCMUbwGq6jv2fyU= github.com/aws/aws-sdk-go-v2/service/appintegrations v1.35.0 h1:4mIoI/hf2GdN0gMQGRcle62J11D4gGJRMcAeYLJeEzk= github.com/aws/aws-sdk-go-v2/service/appintegrations v1.35.0/go.mod h1:BE6N7P4vcnkAK/ThYR7d65SMt+zjxpo3JMI+ccryyvg= -github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.38.0 h1:gt+ZqLthoEKRCB0Mkw4R/ABdCmW6Y53Dfn67LczfcDw= -github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.38.0/go.mod h1:6t2ZF+2KvF8UI2XO5CmtuDO3mSqQ5iXAUbNZ/6cxCBc= +github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.39.0 h1:WknzwSXavLeI6hBZSDIpytKGGGXA+6rNQFf/jA9NtJI= +github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.39.0/go.mod h1:5KVddKIBcX5dqvw5NOxIW7/c5m2eP5OpdgOOtOmZV+k= github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.32.0 h1:DU6QP0nzEAXKYHGNUjsp7eLJR6SR/XxVZ7bWQDukK8w= github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.32.0/go.mod h1:2MuTGd75ViK4GpS4AHFOu7mkLUIRQzDqc1vpLduWsVk= github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.14.0 h1:Fl133Zna8tKn47qe/DcqYCgmjeud5Z8OUevo+BQKNj8= From c01f6a2b9b56206ef7ab9985b6a7d1a9debdc81e Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:31 -0400 Subject: [PATCH 0840/1301] go get github.com/aws/aws-sdk-go-v2/service/applicationinsights. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 069db335b777..86236a8828af 100644 --- a/go.mod +++ b/go.mod @@ -29,7 +29,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/appflow v1.49.0 github.com/aws/aws-sdk-go-v2/service/appintegrations v1.35.0 github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.39.0 - github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.32.0 + github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.33.0 github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.14.0 github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0 github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0 diff --git a/go.sum b/go.sum index b99e513ca75e..4b269d50da1c 100644 --- a/go.sum +++ b/go.sum @@ -69,8 +69,8 @@ github.com/aws/aws-sdk-go-v2/service/appintegrations v1.35.0 h1:4mIoI/hf2GdN0gMQ github.com/aws/aws-sdk-go-v2/service/appintegrations v1.35.0/go.mod h1:BE6N7P4vcnkAK/ThYR7d65SMt+zjxpo3JMI+ccryyvg= github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.39.0 h1:WknzwSXavLeI6hBZSDIpytKGGGXA+6rNQFf/jA9NtJI= github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.39.0/go.mod h1:5KVddKIBcX5dqvw5NOxIW7/c5m2eP5OpdgOOtOmZV+k= -github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.32.0 h1:DU6QP0nzEAXKYHGNUjsp7eLJR6SR/XxVZ7bWQDukK8w= -github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.32.0/go.mod h1:2MuTGd75ViK4GpS4AHFOu7mkLUIRQzDqc1vpLduWsVk= +github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.33.0 h1:B4rFraSi6NFtwWg/QYr6Mug4ucibKlaDESd07gHTj40= +github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.33.0/go.mod h1:g4GYCgL5sPZYHuq+20i4MbtbyzQVtdq46RNBsXtl8OA= github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.14.0 h1:Fl133Zna8tKn47qe/DcqYCgmjeud5Z8OUevo+BQKNj8= github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.14.0/go.mod h1:k1nvlCbN8YF5tZn3vQ/nhLWsWgtjpt2V6DyTU32RBO8= github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0 h1:O9PZ3rZ3kO78qUS0+b89tozNOCC5HNe2BDmduzVU/gk= From cf39e7f0b09d1e33bf18566d7fe7ba52ecf973a2 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:33 -0400 Subject: [PATCH 0841/1301] go get github.com/aws/aws-sdk-go-v2/service/applicationsignals. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 86236a8828af..fb7eb370aad9 100644 --- a/go.mod +++ b/go.mod @@ -30,7 +30,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/appintegrations v1.35.0 github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.39.0 github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.33.0 - github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.14.0 + github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.15.0 github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0 github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0 github.com/aws/aws-sdk-go-v2/service/appstream v1.47.1 diff --git a/go.sum b/go.sum index 4b269d50da1c..1f717a493bf6 100644 --- a/go.sum +++ b/go.sum @@ -71,8 +71,8 @@ github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.39.0 h1:WknzwSXav github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.39.0/go.mod h1:5KVddKIBcX5dqvw5NOxIW7/c5m2eP5OpdgOOtOmZV+k= github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.33.0 h1:B4rFraSi6NFtwWg/QYr6Mug4ucibKlaDESd07gHTj40= github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.33.0/go.mod h1:g4GYCgL5sPZYHuq+20i4MbtbyzQVtdq46RNBsXtl8OA= -github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.14.0 h1:Fl133Zna8tKn47qe/DcqYCgmjeud5Z8OUevo+BQKNj8= -github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.14.0/go.mod h1:k1nvlCbN8YF5tZn3vQ/nhLWsWgtjpt2V6DyTU32RBO8= +github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.15.0 h1:SqxybdZ6g/5bl0YaZXwzwO8nBZZVWYQEMTmrtIin2A4= +github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.15.0/go.mod h1:uisXhUwAotYm2Fq/wZ/o2n41DjZJ6wOqOPKg3wg71vA= github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0 h1:O9PZ3rZ3kO78qUS0+b89tozNOCC5HNe2BDmduzVU/gk= github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0/go.mod h1:oAWy74yo48WYE/39Tvr1/MqaLTpZ1nyr4r6/cPuTS1g= github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0 h1:PGgY/BIQ82RFrR9rmJYejYk4jb4HmrR4+bxMe0Jj3t8= From a6a589ba1a315131f9bf145cdfb95b5af8e071d1 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:34 -0400 Subject: [PATCH 0842/1301] go get github.com/aws/aws-sdk-go-v2/service/appmesh. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index fb7eb370aad9..57328fe4095c 100644 --- a/go.mod +++ b/go.mod @@ -31,7 +31,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.39.0 github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.33.0 github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.15.0 - github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0 + github.com/aws/aws-sdk-go-v2/service/appmesh v1.33.0 github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0 github.com/aws/aws-sdk-go-v2/service/appstream v1.47.1 github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0 diff --git a/go.sum b/go.sum index 1f717a493bf6..bcbe2c51d7d1 100644 --- a/go.sum +++ b/go.sum @@ -73,8 +73,8 @@ github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.33.0 h1:B4rFraSi6NFt github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.33.0/go.mod h1:g4GYCgL5sPZYHuq+20i4MbtbyzQVtdq46RNBsXtl8OA= github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.15.0 h1:SqxybdZ6g/5bl0YaZXwzwO8nBZZVWYQEMTmrtIin2A4= github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.15.0/go.mod h1:uisXhUwAotYm2Fq/wZ/o2n41DjZJ6wOqOPKg3wg71vA= -github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0 h1:O9PZ3rZ3kO78qUS0+b89tozNOCC5HNe2BDmduzVU/gk= -github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0/go.mod h1:oAWy74yo48WYE/39Tvr1/MqaLTpZ1nyr4r6/cPuTS1g= +github.com/aws/aws-sdk-go-v2/service/appmesh v1.33.0 h1:JBQbf6oX9kNpMj8ehtekQSd33S6BZWv577ddGUbFhQA= +github.com/aws/aws-sdk-go-v2/service/appmesh v1.33.0/go.mod h1:5d1YrmN3Md75Nu30REsNbXZuiFPZr/jFgB66VAP62v8= github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0 h1:PGgY/BIQ82RFrR9rmJYejYk4jb4HmrR4+bxMe0Jj3t8= github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0/go.mod h1:BjYI0ZEPp4hIXG+3ZoVBr1qA0alLeY98/spY5vsvw7A= github.com/aws/aws-sdk-go-v2/service/appstream v1.47.1 h1:R2/JQhkhOO4QEK2tjxTgfsrD9fIvh2yoMS3aRN8wAzU= From bf8fd7718a268ece0b0846d8accc543e1ac437b7 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:36 -0400 Subject: [PATCH 0843/1301] go get github.com/aws/aws-sdk-go-v2/service/apprunner. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 57328fe4095c..b44aa1c8b027 100644 --- a/go.mod +++ b/go.mod @@ -32,7 +32,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.33.0 github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.15.0 github.com/aws/aws-sdk-go-v2/service/appmesh v1.33.0 - github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0 + github.com/aws/aws-sdk-go-v2/service/apprunner v1.37.0 github.com/aws/aws-sdk-go-v2/service/appstream v1.47.1 github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0 github.com/aws/aws-sdk-go-v2/service/athena v1.53.0 diff --git a/go.sum b/go.sum index bcbe2c51d7d1..e708c839fe5b 100644 --- a/go.sum +++ b/go.sum @@ -75,8 +75,8 @@ github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.15.0 h1:SqxybdZ6g/5bl github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.15.0/go.mod h1:uisXhUwAotYm2Fq/wZ/o2n41DjZJ6wOqOPKg3wg71vA= github.com/aws/aws-sdk-go-v2/service/appmesh v1.33.0 h1:JBQbf6oX9kNpMj8ehtekQSd33S6BZWv577ddGUbFhQA= github.com/aws/aws-sdk-go-v2/service/appmesh v1.33.0/go.mod h1:5d1YrmN3Md75Nu30REsNbXZuiFPZr/jFgB66VAP62v8= -github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0 h1:PGgY/BIQ82RFrR9rmJYejYk4jb4HmrR4+bxMe0Jj3t8= -github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0/go.mod h1:BjYI0ZEPp4hIXG+3ZoVBr1qA0alLeY98/spY5vsvw7A= +github.com/aws/aws-sdk-go-v2/service/apprunner v1.37.0 h1:FD6ANh+B4eaJ5hxxHqgUXvyRLiuFGF+xnJR9vqsBVyA= +github.com/aws/aws-sdk-go-v2/service/apprunner v1.37.0/go.mod h1:V4jZDgQOKB2SQReBF+3/0isB/C2UnBV4A//4GhXZw+U= github.com/aws/aws-sdk-go-v2/service/appstream v1.47.1 h1:R2/JQhkhOO4QEK2tjxTgfsrD9fIvh2yoMS3aRN8wAzU= github.com/aws/aws-sdk-go-v2/service/appstream v1.47.1/go.mod h1:VAnAk0EgMx9TVmWtZWnLH6JCnhfcSWVmzxNdIAHVxSs= github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0 h1:h1DrjjLvycToReHS4nlv5CpH4wpqVUEZKzQ+gaomC+M= From 92dabb73a0ea510f27404c14e34a6a07ad67995a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:37 -0400 Subject: [PATCH 0844/1301] go get github.com/aws/aws-sdk-go-v2/service/appstream. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b44aa1c8b027..7d9a05811c26 100644 --- a/go.mod +++ b/go.mod @@ -33,7 +33,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.15.0 github.com/aws/aws-sdk-go-v2/service/appmesh v1.33.0 github.com/aws/aws-sdk-go-v2/service/apprunner v1.37.0 - github.com/aws/aws-sdk-go-v2/service/appstream v1.47.1 + github.com/aws/aws-sdk-go-v2/service/appstream v1.48.0 github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0 github.com/aws/aws-sdk-go-v2/service/athena v1.53.0 github.com/aws/aws-sdk-go-v2/service/auditmanager v1.43.0 diff --git a/go.sum b/go.sum index e708c839fe5b..7d4d98545c5b 100644 --- a/go.sum +++ b/go.sum @@ -77,8 +77,8 @@ github.com/aws/aws-sdk-go-v2/service/appmesh v1.33.0 h1:JBQbf6oX9kNpMj8ehtekQSd3 github.com/aws/aws-sdk-go-v2/service/appmesh v1.33.0/go.mod h1:5d1YrmN3Md75Nu30REsNbXZuiFPZr/jFgB66VAP62v8= github.com/aws/aws-sdk-go-v2/service/apprunner v1.37.0 h1:FD6ANh+B4eaJ5hxxHqgUXvyRLiuFGF+xnJR9vqsBVyA= github.com/aws/aws-sdk-go-v2/service/apprunner v1.37.0/go.mod h1:V4jZDgQOKB2SQReBF+3/0isB/C2UnBV4A//4GhXZw+U= -github.com/aws/aws-sdk-go-v2/service/appstream v1.47.1 h1:R2/JQhkhOO4QEK2tjxTgfsrD9fIvh2yoMS3aRN8wAzU= -github.com/aws/aws-sdk-go-v2/service/appstream v1.47.1/go.mod h1:VAnAk0EgMx9TVmWtZWnLH6JCnhfcSWVmzxNdIAHVxSs= +github.com/aws/aws-sdk-go-v2/service/appstream v1.48.0 h1:vHXkPxz6DR28ISql1XUZX5yNee9IMyei3ybAUD4Hjqw= +github.com/aws/aws-sdk-go-v2/service/appstream v1.48.0/go.mod h1:i0zZFMnPUEbkFUjy5cgpbLONEpFQ/M1X+K1VxYG76l8= github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0 h1:h1DrjjLvycToReHS4nlv5CpH4wpqVUEZKzQ+gaomC+M= github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0/go.mod h1:SHB4PzNsxsI+4dcTpSll9FTlbkE6t3zxDoBYERPIVnQ= github.com/aws/aws-sdk-go-v2/service/athena v1.53.0 h1:TL5fazHlqxo8Ri3Do0s4EJXhd3Oc7BVZ9uN1NPUKFpE= From ece0f3f4e37bd9d9cd10bbb39a958fd0d60774e4 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:38 -0400 Subject: [PATCH 0845/1301] go get github.com/aws/aws-sdk-go-v2/service/appsync. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7d9a05811c26..ae9c5038f488 100644 --- a/go.mod +++ b/go.mod @@ -34,7 +34,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/appmesh v1.33.0 github.com/aws/aws-sdk-go-v2/service/apprunner v1.37.0 github.com/aws/aws-sdk-go-v2/service/appstream v1.48.0 - github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0 + github.com/aws/aws-sdk-go-v2/service/appsync v1.50.0 github.com/aws/aws-sdk-go-v2/service/athena v1.53.0 github.com/aws/aws-sdk-go-v2/service/auditmanager v1.43.0 github.com/aws/aws-sdk-go-v2/service/autoscaling v1.56.0 diff --git a/go.sum b/go.sum index 7d4d98545c5b..da13dfb5f82d 100644 --- a/go.sum +++ b/go.sum @@ -79,8 +79,8 @@ github.com/aws/aws-sdk-go-v2/service/apprunner v1.37.0 h1:FD6ANh+B4eaJ5hxxHqgUXv github.com/aws/aws-sdk-go-v2/service/apprunner v1.37.0/go.mod h1:V4jZDgQOKB2SQReBF+3/0isB/C2UnBV4A//4GhXZw+U= github.com/aws/aws-sdk-go-v2/service/appstream v1.48.0 h1:vHXkPxz6DR28ISql1XUZX5yNee9IMyei3ybAUD4Hjqw= github.com/aws/aws-sdk-go-v2/service/appstream v1.48.0/go.mod h1:i0zZFMnPUEbkFUjy5cgpbLONEpFQ/M1X+K1VxYG76l8= -github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0 h1:h1DrjjLvycToReHS4nlv5CpH4wpqVUEZKzQ+gaomC+M= -github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0/go.mod h1:SHB4PzNsxsI+4dcTpSll9FTlbkE6t3zxDoBYERPIVnQ= +github.com/aws/aws-sdk-go-v2/service/appsync v1.50.0 h1:V/aQVXHEgacW8l2lOnX9qgQh6SCkcKT3GDoMBdXHG4w= +github.com/aws/aws-sdk-go-v2/service/appsync v1.50.0/go.mod h1:wktq06C/DKgzBnfiAG91irzV6V/YZq3rjPfZn+Yxfp8= github.com/aws/aws-sdk-go-v2/service/athena v1.53.0 h1:TL5fazHlqxo8Ri3Do0s4EJXhd3Oc7BVZ9uN1NPUKFpE= github.com/aws/aws-sdk-go-v2/service/athena v1.53.0/go.mod h1:nIHAy7lnmNN7QJKWnV7+sbevrF4ij41ysIfNnh0PKfA= github.com/aws/aws-sdk-go-v2/service/auditmanager v1.43.0 h1:nkPjY6Hw/VJ930pA0fZmbCJ6B/7xKrPcLeCJBTKucyw= From dc9b59608d9543c380ad78ebdddb7c129b01e04b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:39 -0400 Subject: [PATCH 0846/1301] go get github.com/aws/aws-sdk-go-v2/service/athena. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ae9c5038f488..a0f53feaf538 100644 --- a/go.mod +++ b/go.mod @@ -35,7 +35,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/apprunner v1.37.0 github.com/aws/aws-sdk-go-v2/service/appstream v1.48.0 github.com/aws/aws-sdk-go-v2/service/appsync v1.50.0 - github.com/aws/aws-sdk-go-v2/service/athena v1.53.0 + github.com/aws/aws-sdk-go-v2/service/athena v1.54.0 github.com/aws/aws-sdk-go-v2/service/auditmanager v1.43.0 github.com/aws/aws-sdk-go-v2/service/autoscaling v1.56.0 github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.27.0 diff --git a/go.sum b/go.sum index da13dfb5f82d..531cfb9befc6 100644 --- a/go.sum +++ b/go.sum @@ -81,8 +81,8 @@ github.com/aws/aws-sdk-go-v2/service/appstream v1.48.0 h1:vHXkPxz6DR28ISql1XUZX5 github.com/aws/aws-sdk-go-v2/service/appstream v1.48.0/go.mod h1:i0zZFMnPUEbkFUjy5cgpbLONEpFQ/M1X+K1VxYG76l8= github.com/aws/aws-sdk-go-v2/service/appsync v1.50.0 h1:V/aQVXHEgacW8l2lOnX9qgQh6SCkcKT3GDoMBdXHG4w= github.com/aws/aws-sdk-go-v2/service/appsync v1.50.0/go.mod h1:wktq06C/DKgzBnfiAG91irzV6V/YZq3rjPfZn+Yxfp8= -github.com/aws/aws-sdk-go-v2/service/athena v1.53.0 h1:TL5fazHlqxo8Ri3Do0s4EJXhd3Oc7BVZ9uN1NPUKFpE= -github.com/aws/aws-sdk-go-v2/service/athena v1.53.0/go.mod h1:nIHAy7lnmNN7QJKWnV7+sbevrF4ij41ysIfNnh0PKfA= +github.com/aws/aws-sdk-go-v2/service/athena v1.54.0 h1:8QK47rrFawD8jtTmDKMKZr0lujNh23p1bJAZNyQJLYY= +github.com/aws/aws-sdk-go-v2/service/athena v1.54.0/go.mod h1:jph/XCzsyc69PoY1QOXFoGm/bk5VC5snc4uFYy6mrGU= github.com/aws/aws-sdk-go-v2/service/auditmanager v1.43.0 h1:nkPjY6Hw/VJ930pA0fZmbCJ6B/7xKrPcLeCJBTKucyw= github.com/aws/aws-sdk-go-v2/service/auditmanager v1.43.0/go.mod h1:EMNIZLHE8IshUfYavm/63BKudlZ2wTGm6sKSnQxCcPo= github.com/aws/aws-sdk-go-v2/service/autoscaling v1.56.0 h1:YO7rat493hVtpBExbcDPKdGzk9eYTtaUrwaFJSWAqLo= From 16b47c4fdb1a892c35be35f6ef8a990ef6f66b02 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:40 -0400 Subject: [PATCH 0847/1301] go get github.com/aws/aws-sdk-go-v2/service/auditmanager. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a0f53feaf538..9a5d0ba2acac 100644 --- a/go.mod +++ b/go.mod @@ -36,7 +36,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/appstream v1.48.0 github.com/aws/aws-sdk-go-v2/service/appsync v1.50.0 github.com/aws/aws-sdk-go-v2/service/athena v1.54.0 - github.com/aws/aws-sdk-go-v2/service/auditmanager v1.43.0 + github.com/aws/aws-sdk-go-v2/service/auditmanager v1.44.0 github.com/aws/aws-sdk-go-v2/service/autoscaling v1.56.0 github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.27.0 github.com/aws/aws-sdk-go-v2/service/backup v1.45.0 diff --git a/go.sum b/go.sum index 531cfb9befc6..a5048b8a6472 100644 --- a/go.sum +++ b/go.sum @@ -83,8 +83,8 @@ github.com/aws/aws-sdk-go-v2/service/appsync v1.50.0 h1:V/aQVXHEgacW8l2lOnX9qgQh github.com/aws/aws-sdk-go-v2/service/appsync v1.50.0/go.mod h1:wktq06C/DKgzBnfiAG91irzV6V/YZq3rjPfZn+Yxfp8= github.com/aws/aws-sdk-go-v2/service/athena v1.54.0 h1:8QK47rrFawD8jtTmDKMKZr0lujNh23p1bJAZNyQJLYY= github.com/aws/aws-sdk-go-v2/service/athena v1.54.0/go.mod h1:jph/XCzsyc69PoY1QOXFoGm/bk5VC5snc4uFYy6mrGU= -github.com/aws/aws-sdk-go-v2/service/auditmanager v1.43.0 h1:nkPjY6Hw/VJ930pA0fZmbCJ6B/7xKrPcLeCJBTKucyw= -github.com/aws/aws-sdk-go-v2/service/auditmanager v1.43.0/go.mod h1:EMNIZLHE8IshUfYavm/63BKudlZ2wTGm6sKSnQxCcPo= +github.com/aws/aws-sdk-go-v2/service/auditmanager v1.44.0 h1:Sem8rU6yn64VNGn7OFB6XnMKUXTBprarXFeIhXHoZQc= +github.com/aws/aws-sdk-go-v2/service/auditmanager v1.44.0/go.mod h1:Q3FAo0fs6pq3Mgs0OU4kG73jfFFe8Q+n47ocWKdDUNc= github.com/aws/aws-sdk-go-v2/service/autoscaling v1.56.0 h1:YO7rat493hVtpBExbcDPKdGzk9eYTtaUrwaFJSWAqLo= github.com/aws/aws-sdk-go-v2/service/autoscaling v1.56.0/go.mod h1:6vrMqNnS2fpOfZ9tZmIGDWYGTio7+SJ18fql3IwoSBg= github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.27.0 h1:IE8KDjm+M64FnD6zUCE4Kkbharyl8nFlt+NKBRsBJ6A= From 69889fd29940aafed7669d5643cfc73135b14b54 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:41 -0400 Subject: [PATCH 0848/1301] go get github.com/aws/aws-sdk-go-v2/service/autoscaling. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 9a5d0ba2acac..628b340bdaa6 100644 --- a/go.mod +++ b/go.mod @@ -37,7 +37,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/appsync v1.50.0 github.com/aws/aws-sdk-go-v2/service/athena v1.54.0 github.com/aws/aws-sdk-go-v2/service/auditmanager v1.44.0 - github.com/aws/aws-sdk-go-v2/service/autoscaling v1.56.0 + github.com/aws/aws-sdk-go-v2/service/autoscaling v1.57.0 github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.27.0 github.com/aws/aws-sdk-go-v2/service/backup v1.45.0 github.com/aws/aws-sdk-go-v2/service/batch v1.56.1 diff --git a/go.sum b/go.sum index a5048b8a6472..7597744ce35d 100644 --- a/go.sum +++ b/go.sum @@ -85,8 +85,8 @@ github.com/aws/aws-sdk-go-v2/service/athena v1.54.0 h1:8QK47rrFawD8jtTmDKMKZr0lu github.com/aws/aws-sdk-go-v2/service/athena v1.54.0/go.mod h1:jph/XCzsyc69PoY1QOXFoGm/bk5VC5snc4uFYy6mrGU= github.com/aws/aws-sdk-go-v2/service/auditmanager v1.44.0 h1:Sem8rU6yn64VNGn7OFB6XnMKUXTBprarXFeIhXHoZQc= github.com/aws/aws-sdk-go-v2/service/auditmanager v1.44.0/go.mod h1:Q3FAo0fs6pq3Mgs0OU4kG73jfFFe8Q+n47ocWKdDUNc= -github.com/aws/aws-sdk-go-v2/service/autoscaling v1.56.0 h1:YO7rat493hVtpBExbcDPKdGzk9eYTtaUrwaFJSWAqLo= -github.com/aws/aws-sdk-go-v2/service/autoscaling v1.56.0/go.mod h1:6vrMqNnS2fpOfZ9tZmIGDWYGTio7+SJ18fql3IwoSBg= +github.com/aws/aws-sdk-go-v2/service/autoscaling v1.57.0 h1:PwAha4djh1MsmRgtKQ6exCqX7pTTC7awEN+1zD+Lv0A= +github.com/aws/aws-sdk-go-v2/service/autoscaling v1.57.0/go.mod h1:MSY6dUZpI3obWYZlH77CXNR0gOsAX7bKVFv4fOIKODI= github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.27.0 h1:IE8KDjm+M64FnD6zUCE4Kkbharyl8nFlt+NKBRsBJ6A= github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.27.0/go.mod h1:HN2DjMKUSk1fQSIeKYT2xz9CLeupOwl4yowG8OE+56c= github.com/aws/aws-sdk-go-v2/service/backup v1.45.0 h1:vujSEbS2qKGnQktbNcmFk7N3rmdKmS5x7uQCNjbpIsI= From efbd6fedb85146b6a1e333d1e05a84821c5bd122 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:42 -0400 Subject: [PATCH 0849/1301] go get github.com/aws/aws-sdk-go-v2/service/autoscalingplans. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 628b340bdaa6..07e9e8eb1fe9 100644 --- a/go.mod +++ b/go.mod @@ -38,7 +38,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/athena v1.54.0 github.com/aws/aws-sdk-go-v2/service/auditmanager v1.44.0 github.com/aws/aws-sdk-go-v2/service/autoscaling v1.57.0 - github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.27.0 + github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.28.0 github.com/aws/aws-sdk-go-v2/service/backup v1.45.0 github.com/aws/aws-sdk-go-v2/service/batch v1.56.1 github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0 diff --git a/go.sum b/go.sum index 7597744ce35d..7f9071b6ed75 100644 --- a/go.sum +++ b/go.sum @@ -87,8 +87,8 @@ github.com/aws/aws-sdk-go-v2/service/auditmanager v1.44.0 h1:Sem8rU6yn64VNGn7OFB github.com/aws/aws-sdk-go-v2/service/auditmanager v1.44.0/go.mod h1:Q3FAo0fs6pq3Mgs0OU4kG73jfFFe8Q+n47ocWKdDUNc= github.com/aws/aws-sdk-go-v2/service/autoscaling v1.57.0 h1:PwAha4djh1MsmRgtKQ6exCqX7pTTC7awEN+1zD+Lv0A= github.com/aws/aws-sdk-go-v2/service/autoscaling v1.57.0/go.mod h1:MSY6dUZpI3obWYZlH77CXNR0gOsAX7bKVFv4fOIKODI= -github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.27.0 h1:IE8KDjm+M64FnD6zUCE4Kkbharyl8nFlt+NKBRsBJ6A= -github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.27.0/go.mod h1:HN2DjMKUSk1fQSIeKYT2xz9CLeupOwl4yowG8OE+56c= +github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.28.0 h1:K5VhfJPPyrToRq3JN0o2JKzIBKoZbBwHgVEecRpTNqI= +github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.28.0/go.mod h1:Oph1NMrQKGeygUJXWkxSub/ZaBHoXCGL0ikBWKqmwQ0= github.com/aws/aws-sdk-go-v2/service/backup v1.45.0 h1:vujSEbS2qKGnQktbNcmFk7N3rmdKmS5x7uQCNjbpIsI= github.com/aws/aws-sdk-go-v2/service/backup v1.45.0/go.mod h1:hG/r8+r8CH++grUXo3DJpfAP06UhM0QC7QGFM0FbIfY= github.com/aws/aws-sdk-go-v2/service/batch v1.56.1 h1:fpEtrrzKcFRJolA7FVvNFxlkL7vBqUT10YVU0LVplwM= From 9ce52dd775f1bbe644535d51f4d814d570c9d42e Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:43 -0400 Subject: [PATCH 0850/1301] go get github.com/aws/aws-sdk-go-v2/service/backup. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 07e9e8eb1fe9..ddc0dc88f7e4 100644 --- a/go.mod +++ b/go.mod @@ -39,7 +39,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/auditmanager v1.44.0 github.com/aws/aws-sdk-go-v2/service/autoscaling v1.57.0 github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.28.0 - github.com/aws/aws-sdk-go-v2/service/backup v1.45.0 + github.com/aws/aws-sdk-go-v2/service/backup v1.46.0 github.com/aws/aws-sdk-go-v2/service/batch v1.56.1 github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0 github.com/aws/aws-sdk-go-v2/service/bedrock v1.43.0 diff --git a/go.sum b/go.sum index 7f9071b6ed75..bfa354e6fce9 100644 --- a/go.sum +++ b/go.sum @@ -89,8 +89,8 @@ github.com/aws/aws-sdk-go-v2/service/autoscaling v1.57.0 h1:PwAha4djh1MsmRgtKQ6e github.com/aws/aws-sdk-go-v2/service/autoscaling v1.57.0/go.mod h1:MSY6dUZpI3obWYZlH77CXNR0gOsAX7bKVFv4fOIKODI= github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.28.0 h1:K5VhfJPPyrToRq3JN0o2JKzIBKoZbBwHgVEecRpTNqI= github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.28.0/go.mod h1:Oph1NMrQKGeygUJXWkxSub/ZaBHoXCGL0ikBWKqmwQ0= -github.com/aws/aws-sdk-go-v2/service/backup v1.45.0 h1:vujSEbS2qKGnQktbNcmFk7N3rmdKmS5x7uQCNjbpIsI= -github.com/aws/aws-sdk-go-v2/service/backup v1.45.0/go.mod h1:hG/r8+r8CH++grUXo3DJpfAP06UhM0QC7QGFM0FbIfY= +github.com/aws/aws-sdk-go-v2/service/backup v1.46.0 h1:92R0oLf9R1kyC0LmH3rpH6R/TsmIXk5u8a7u0BqBC98= +github.com/aws/aws-sdk-go-v2/service/backup v1.46.0/go.mod h1:oZRnbfpP4suZxn9T13hpOy0JW1UAj+dY0cHuvQEzhl8= github.com/aws/aws-sdk-go-v2/service/batch v1.56.1 h1:fpEtrrzKcFRJolA7FVvNFxlkL7vBqUT10YVU0LVplwM= github.com/aws/aws-sdk-go-v2/service/batch v1.56.1/go.mod h1:uAslawt50dv4iZfpjAh9YVEbAU3jyPIt3ycDSs5VrEg= github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0 h1:Wq3UeoqqQFm+HwQbmpB5vN3v3t8X5YsDLn/0yRG3ALY= From 33b9a98e13c728314f4ea0a8ff5c56087de0ec77 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:44 -0400 Subject: [PATCH 0851/1301] go get github.com/aws/aws-sdk-go-v2/service/batch. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ddc0dc88f7e4..264a7617e8c4 100644 --- a/go.mod +++ b/go.mod @@ -40,7 +40,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/autoscaling v1.57.0 github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.28.0 github.com/aws/aws-sdk-go-v2/service/backup v1.46.0 - github.com/aws/aws-sdk-go-v2/service/batch v1.56.1 + github.com/aws/aws-sdk-go-v2/service/batch v1.57.0 github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0 github.com/aws/aws-sdk-go-v2/service/bedrock v1.43.0 github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0 diff --git a/go.sum b/go.sum index bfa354e6fce9..5552391234cb 100644 --- a/go.sum +++ b/go.sum @@ -91,8 +91,8 @@ github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.28.0 h1:K5VhfJPPyrToRq3 github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.28.0/go.mod h1:Oph1NMrQKGeygUJXWkxSub/ZaBHoXCGL0ikBWKqmwQ0= github.com/aws/aws-sdk-go-v2/service/backup v1.46.0 h1:92R0oLf9R1kyC0LmH3rpH6R/TsmIXk5u8a7u0BqBC98= github.com/aws/aws-sdk-go-v2/service/backup v1.46.0/go.mod h1:oZRnbfpP4suZxn9T13hpOy0JW1UAj+dY0cHuvQEzhl8= -github.com/aws/aws-sdk-go-v2/service/batch v1.56.1 h1:fpEtrrzKcFRJolA7FVvNFxlkL7vBqUT10YVU0LVplwM= -github.com/aws/aws-sdk-go-v2/service/batch v1.56.1/go.mod h1:uAslawt50dv4iZfpjAh9YVEbAU3jyPIt3ycDSs5VrEg= +github.com/aws/aws-sdk-go-v2/service/batch v1.57.0 h1:saon+alGICDcv5yIHE/O7eHNUCT6LgUMIAMHoY4kpg4= +github.com/aws/aws-sdk-go-v2/service/batch v1.57.0/go.mod h1:j1X5R4qrXpQlWH8JpQyTGHQ48KVTMyl4+W+bETY2x6k= github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0 h1:Wq3UeoqqQFm+HwQbmpB5vN3v3t8X5YsDLn/0yRG3ALY= github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0/go.mod h1:yWUWnhYtaiRSARc/Y3vU6dZAV9/thOTFMLST2Oxvj78= github.com/aws/aws-sdk-go-v2/service/bedrock v1.43.0 h1:vgME1FH3CkKnYqqKIvwY2BfecHIpNxMZ+beNLUuFkkg= From 960bafb8f261bc31673afcc99bc9c8fb45be41d2 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:45 -0400 Subject: [PATCH 0852/1301] go get github.com/aws/aws-sdk-go-v2/service/bcmdataexports. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 264a7617e8c4..60fc00325162 100644 --- a/go.mod +++ b/go.mod @@ -41,7 +41,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.28.0 github.com/aws/aws-sdk-go-v2/service/backup v1.46.0 github.com/aws/aws-sdk-go-v2/service/batch v1.57.0 - github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0 + github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.11.0 github.com/aws/aws-sdk-go-v2/service/bedrock v1.43.0 github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0 github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0 diff --git a/go.sum b/go.sum index 5552391234cb..7d32d56096b2 100644 --- a/go.sum +++ b/go.sum @@ -93,8 +93,8 @@ github.com/aws/aws-sdk-go-v2/service/backup v1.46.0 h1:92R0oLf9R1kyC0LmH3rpH6R/T github.com/aws/aws-sdk-go-v2/service/backup v1.46.0/go.mod h1:oZRnbfpP4suZxn9T13hpOy0JW1UAj+dY0cHuvQEzhl8= github.com/aws/aws-sdk-go-v2/service/batch v1.57.0 h1:saon+alGICDcv5yIHE/O7eHNUCT6LgUMIAMHoY4kpg4= github.com/aws/aws-sdk-go-v2/service/batch v1.57.0/go.mod h1:j1X5R4qrXpQlWH8JpQyTGHQ48KVTMyl4+W+bETY2x6k= -github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0 h1:Wq3UeoqqQFm+HwQbmpB5vN3v3t8X5YsDLn/0yRG3ALY= -github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0/go.mod h1:yWUWnhYtaiRSARc/Y3vU6dZAV9/thOTFMLST2Oxvj78= +github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.11.0 h1:rqBqfB/V7SG7LNiUD2y5XzrJDlFFvParoT9HRGyx/1s= +github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.11.0/go.mod h1:u3oQZCGzxgN7coRlIY7WoU3xRDm9M6hXL1S+vDMwNHo= github.com/aws/aws-sdk-go-v2/service/bedrock v1.43.0 h1:vgME1FH3CkKnYqqKIvwY2BfecHIpNxMZ+beNLUuFkkg= github.com/aws/aws-sdk-go-v2/service/bedrock v1.43.0/go.mod h1:yGZu+RiNnteeM+ZdeuOHlI4whLyGjENoGn1MLqd1o2s= github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0 h1:lhY8kqSq+ph2avN5EgZfWx1Gc6HWYyjbuy73LPGLadU= From a72b99c6445681173d3b51fd10b569bcaf42779e Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:47 -0400 Subject: [PATCH 0853/1301] go get github.com/aws/aws-sdk-go-v2/service/bedrock. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 60fc00325162..64f941d968ba 100644 --- a/go.mod +++ b/go.mod @@ -42,7 +42,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/backup v1.46.0 github.com/aws/aws-sdk-go-v2/service/batch v1.57.0 github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.11.0 - github.com/aws/aws-sdk-go-v2/service/bedrock v1.43.0 + github.com/aws/aws-sdk-go-v2/service/bedrock v1.44.0 github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0 github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0 github.com/aws/aws-sdk-go-v2/service/billing v1.5.0 diff --git a/go.sum b/go.sum index 7d32d56096b2..f86defbb3dff 100644 --- a/go.sum +++ b/go.sum @@ -95,8 +95,8 @@ github.com/aws/aws-sdk-go-v2/service/batch v1.57.0 h1:saon+alGICDcv5yIHE/O7eHNUC github.com/aws/aws-sdk-go-v2/service/batch v1.57.0/go.mod h1:j1X5R4qrXpQlWH8JpQyTGHQ48KVTMyl4+W+bETY2x6k= github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.11.0 h1:rqBqfB/V7SG7LNiUD2y5XzrJDlFFvParoT9HRGyx/1s= github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.11.0/go.mod h1:u3oQZCGzxgN7coRlIY7WoU3xRDm9M6hXL1S+vDMwNHo= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.43.0 h1:vgME1FH3CkKnYqqKIvwY2BfecHIpNxMZ+beNLUuFkkg= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.43.0/go.mod h1:yGZu+RiNnteeM+ZdeuOHlI4whLyGjENoGn1MLqd1o2s= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.44.0 h1:cDCNcaDxbB7B6ABhUsi/IxK8cOwucqfKD/s3d5B8lj8= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.44.0/go.mod h1:jogJ8f7UaV3PgmblRtn1AJ+Xe8k+A6hjhHLUZlNI74s= github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0 h1:lhY8kqSq+ph2avN5EgZfWx1Gc6HWYyjbuy73LPGLadU= github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0/go.mod h1:VE33Y1A7q8XkY0I0DWF04eQlg1z5dsKw1EEQzfhkCoc= github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0 h1:GJdyUvYs/81imU2h6wqSa4T9guevI7eBr9YhXUmOwIA= From 8665754e451763746fb1d4dffccf6db05a185d8f Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:48 -0400 Subject: [PATCH 0854/1301] go get github.com/aws/aws-sdk-go-v2/service/bedrockagent. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 64f941d968ba..aeab0b7f25f7 100644 --- a/go.mod +++ b/go.mod @@ -43,7 +43,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/batch v1.57.0 github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.11.0 github.com/aws/aws-sdk-go-v2/service/bedrock v1.44.0 - github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0 + github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.48.0 github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0 github.com/aws/aws-sdk-go-v2/service/billing v1.5.0 github.com/aws/aws-sdk-go-v2/service/budgets v1.35.0 diff --git a/go.sum b/go.sum index f86defbb3dff..568a5a24fbb4 100644 --- a/go.sum +++ b/go.sum @@ -97,8 +97,8 @@ github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.11.0 h1:rqBqfB/V7SG7LNiUD github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.11.0/go.mod h1:u3oQZCGzxgN7coRlIY7WoU3xRDm9M6hXL1S+vDMwNHo= github.com/aws/aws-sdk-go-v2/service/bedrock v1.44.0 h1:cDCNcaDxbB7B6ABhUsi/IxK8cOwucqfKD/s3d5B8lj8= github.com/aws/aws-sdk-go-v2/service/bedrock v1.44.0/go.mod h1:jogJ8f7UaV3PgmblRtn1AJ+Xe8k+A6hjhHLUZlNI74s= -github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0 h1:lhY8kqSq+ph2avN5EgZfWx1Gc6HWYyjbuy73LPGLadU= -github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0/go.mod h1:VE33Y1A7q8XkY0I0DWF04eQlg1z5dsKw1EEQzfhkCoc= +github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.48.0 h1:p7AHuhT9Xo23oS0B4Dlo3QTuR75wNxLdfXXvoXRRAMM= +github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.48.0/go.mod h1:Ff+BaL5h7/pTZxEVZfIFvqxD28GSDr05gjOErxsEvss= github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0 h1:GJdyUvYs/81imU2h6wqSa4T9guevI7eBr9YhXUmOwIA= github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0/go.mod h1:QmHnuYuWyavbwugFNSSJRvzMGaFngJD52D2Q3Rm9Mz0= github.com/aws/aws-sdk-go-v2/service/billing v1.5.0 h1:224BHvHnevOSoKE/LgEv12ot2jPlYDcrgsNDgHOQpCY= From d78f38eb98531843fa0a03d362efb93f2f57d077 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:49 -0400 Subject: [PATCH 0855/1301] go get github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index aeab0b7f25f7..c941d14d68e2 100644 --- a/go.mod +++ b/go.mod @@ -44,7 +44,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.11.0 github.com/aws/aws-sdk-go-v2/service/bedrock v1.44.0 github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.48.0 - github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0 + github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.3.0 github.com/aws/aws-sdk-go-v2/service/billing v1.5.0 github.com/aws/aws-sdk-go-v2/service/budgets v1.35.0 github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0 diff --git a/go.sum b/go.sum index 568a5a24fbb4..e6d1526db5d5 100644 --- a/go.sum +++ b/go.sum @@ -99,8 +99,8 @@ github.com/aws/aws-sdk-go-v2/service/bedrock v1.44.0 h1:cDCNcaDxbB7B6ABhUsi/IxK8 github.com/aws/aws-sdk-go-v2/service/bedrock v1.44.0/go.mod h1:jogJ8f7UaV3PgmblRtn1AJ+Xe8k+A6hjhHLUZlNI74s= github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.48.0 h1:p7AHuhT9Xo23oS0B4Dlo3QTuR75wNxLdfXXvoXRRAMM= github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.48.0/go.mod h1:Ff+BaL5h7/pTZxEVZfIFvqxD28GSDr05gjOErxsEvss= -github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0 h1:GJdyUvYs/81imU2h6wqSa4T9guevI7eBr9YhXUmOwIA= -github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0/go.mod h1:QmHnuYuWyavbwugFNSSJRvzMGaFngJD52D2Q3Rm9Mz0= +github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.3.0 h1:8vdMsSGKMJ0KKm9xRG3lWupvlxAfoT1H2mNL48Fcmss= +github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.3.0/go.mod h1:y63i77wmkgOiBLuDo+BhQIkOogCi4YGEfWw8FLziSyA= github.com/aws/aws-sdk-go-v2/service/billing v1.5.0 h1:224BHvHnevOSoKE/LgEv12ot2jPlYDcrgsNDgHOQpCY= github.com/aws/aws-sdk-go-v2/service/billing v1.5.0/go.mod h1:jV6JqgNCURYxs3c4fp3dMQUdoTC5NnwtqKT8y8tF71s= github.com/aws/aws-sdk-go-v2/service/budgets v1.35.0 h1:JdY+rRsL1Eqi9SRqSobdHBtcV4SRLKZUb2gIUye+1jw= From eecbddaf3a22048c5be9f43a17fab4011f67b24b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:51 -0400 Subject: [PATCH 0856/1301] go get github.com/aws/aws-sdk-go-v2/service/billing. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c941d14d68e2..1d0c93c02cda 100644 --- a/go.mod +++ b/go.mod @@ -45,7 +45,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/bedrock v1.44.0 github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.48.0 github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.3.0 - github.com/aws/aws-sdk-go-v2/service/billing v1.5.0 + github.com/aws/aws-sdk-go-v2/service/billing v1.6.0 github.com/aws/aws-sdk-go-v2/service/budgets v1.35.0 github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0 github.com/aws/aws-sdk-go-v2/service/chime v1.38.0 diff --git a/go.sum b/go.sum index e6d1526db5d5..fedb2b65ed61 100644 --- a/go.sum +++ b/go.sum @@ -101,8 +101,8 @@ github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.48.0 h1:p7AHuhT9Xo23oS0B4Dl github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.48.0/go.mod h1:Ff+BaL5h7/pTZxEVZfIFvqxD28GSDr05gjOErxsEvss= github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.3.0 h1:8vdMsSGKMJ0KKm9xRG3lWupvlxAfoT1H2mNL48Fcmss= github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.3.0/go.mod h1:y63i77wmkgOiBLuDo+BhQIkOogCi4YGEfWw8FLziSyA= -github.com/aws/aws-sdk-go-v2/service/billing v1.5.0 h1:224BHvHnevOSoKE/LgEv12ot2jPlYDcrgsNDgHOQpCY= -github.com/aws/aws-sdk-go-v2/service/billing v1.5.0/go.mod h1:jV6JqgNCURYxs3c4fp3dMQUdoTC5NnwtqKT8y8tF71s= +github.com/aws/aws-sdk-go-v2/service/billing v1.6.0 h1:Qjw1OzZ/xWlhAE/05KO8WPAt43g+KM34jyatIVSihy8= +github.com/aws/aws-sdk-go-v2/service/billing v1.6.0/go.mod h1:NGrGJEAUifD+yk6yDu18vcwB0/onrE/2duTXyWtpQpA= github.com/aws/aws-sdk-go-v2/service/budgets v1.35.0 h1:JdY+rRsL1Eqi9SRqSobdHBtcV4SRLKZUb2gIUye+1jw= github.com/aws/aws-sdk-go-v2/service/budgets v1.35.0/go.mod h1:Q0u6QOkKcwMNEvPgZAZlFo+zs3aP1wgMJANH0XKJEPU= github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0 h1:uMXPZGOAfgo6jmvuaEyLSKt0Y3OrwQb+c/ZWv8apz+M= From 69694aa88a1ff454ed70562d2b21479b44503ba6 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:52 -0400 Subject: [PATCH 0857/1301] go get github.com/aws/aws-sdk-go-v2/service/budgets. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 1d0c93c02cda..4e9ae941d2c9 100644 --- a/go.mod +++ b/go.mod @@ -46,7 +46,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.48.0 github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.3.0 github.com/aws/aws-sdk-go-v2/service/billing v1.6.0 - github.com/aws/aws-sdk-go-v2/service/budgets v1.35.0 + github.com/aws/aws-sdk-go-v2/service/budgets v1.36.0 github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0 github.com/aws/aws-sdk-go-v2/service/chime v1.38.0 github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.24.0 diff --git a/go.sum b/go.sum index fedb2b65ed61..07c2095b5c2d 100644 --- a/go.sum +++ b/go.sum @@ -103,8 +103,8 @@ github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.3.0 h1:8vdMsSGKM github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.3.0/go.mod h1:y63i77wmkgOiBLuDo+BhQIkOogCi4YGEfWw8FLziSyA= github.com/aws/aws-sdk-go-v2/service/billing v1.6.0 h1:Qjw1OzZ/xWlhAE/05KO8WPAt43g+KM34jyatIVSihy8= github.com/aws/aws-sdk-go-v2/service/billing v1.6.0/go.mod h1:NGrGJEAUifD+yk6yDu18vcwB0/onrE/2duTXyWtpQpA= -github.com/aws/aws-sdk-go-v2/service/budgets v1.35.0 h1:JdY+rRsL1Eqi9SRqSobdHBtcV4SRLKZUb2gIUye+1jw= -github.com/aws/aws-sdk-go-v2/service/budgets v1.35.0/go.mod h1:Q0u6QOkKcwMNEvPgZAZlFo+zs3aP1wgMJANH0XKJEPU= +github.com/aws/aws-sdk-go-v2/service/budgets v1.36.0 h1:l9NAh1G4Dx6ygvXtI+q1LjJhIOjFfuglgzCgK4oz4To= +github.com/aws/aws-sdk-go-v2/service/budgets v1.36.0/go.mod h1:hN7Azd0je7dP3pNZX2zwUqQUe1FnwT/lBqXFZcyeF4M= github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0 h1:uMXPZGOAfgo6jmvuaEyLSKt0Y3OrwQb+c/ZWv8apz+M= github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0/go.mod h1:e7Yi+X2nUGErWGG98k3U6QTocR3HFVRelFYyZrM/6kI= github.com/aws/aws-sdk-go-v2/service/chime v1.38.0 h1:iJ+spCNIok1pcSB8Ep+icpsEZE3zJBmsy2utIwtVfog= From 2c2163e40e2cb9272da3e45fa2d7f9b0b75e2fa4 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:53 -0400 Subject: [PATCH 0858/1301] go get github.com/aws/aws-sdk-go-v2/service/chatbot. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 4e9ae941d2c9..4068d87db3f2 100644 --- a/go.mod +++ b/go.mod @@ -47,7 +47,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.3.0 github.com/aws/aws-sdk-go-v2/service/billing v1.6.0 github.com/aws/aws-sdk-go-v2/service/budgets v1.36.0 - github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0 + github.com/aws/aws-sdk-go-v2/service/chatbot v1.13.0 github.com/aws/aws-sdk-go-v2/service/chime v1.38.0 github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.24.0 github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.24.0 diff --git a/go.sum b/go.sum index 07c2095b5c2d..1291cddeea9b 100644 --- a/go.sum +++ b/go.sum @@ -105,8 +105,8 @@ github.com/aws/aws-sdk-go-v2/service/billing v1.6.0 h1:Qjw1OzZ/xWlhAE/05KO8WPAt4 github.com/aws/aws-sdk-go-v2/service/billing v1.6.0/go.mod h1:NGrGJEAUifD+yk6yDu18vcwB0/onrE/2duTXyWtpQpA= github.com/aws/aws-sdk-go-v2/service/budgets v1.36.0 h1:l9NAh1G4Dx6ygvXtI+q1LjJhIOjFfuglgzCgK4oz4To= github.com/aws/aws-sdk-go-v2/service/budgets v1.36.0/go.mod h1:hN7Azd0je7dP3pNZX2zwUqQUe1FnwT/lBqXFZcyeF4M= -github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0 h1:uMXPZGOAfgo6jmvuaEyLSKt0Y3OrwQb+c/ZWv8apz+M= -github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0/go.mod h1:e7Yi+X2nUGErWGG98k3U6QTocR3HFVRelFYyZrM/6kI= +github.com/aws/aws-sdk-go-v2/service/chatbot v1.13.0 h1:YSr29la/2ZjvLzpPSTNZ+4UKUMVIB/By9RHbwsozZAU= +github.com/aws/aws-sdk-go-v2/service/chatbot v1.13.0/go.mod h1:Hy1FNUMiWlbH1j54n2JHARTWa2s9SuC1EDV8/5rWneo= github.com/aws/aws-sdk-go-v2/service/chime v1.38.0 h1:iJ+spCNIok1pcSB8Ep+icpsEZE3zJBmsy2utIwtVfog= github.com/aws/aws-sdk-go-v2/service/chime v1.38.0/go.mod h1:F/VVaff6oOMj33p0J+/aKHCPnDLY5CPOqZOy818/sQA= github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.24.0 h1:hqtaNtiTl0ecaXe+u8c2T/5guiwvDqeNzGYJV+UIcU0= From f2311ad00e4928713437f2c250c64191d827b51c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:54 -0400 Subject: [PATCH 0859/1301] go get github.com/aws/aws-sdk-go-v2/service/chime. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 4068d87db3f2..8b00cf574ee6 100644 --- a/go.mod +++ b/go.mod @@ -48,7 +48,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/billing v1.6.0 github.com/aws/aws-sdk-go-v2/service/budgets v1.36.0 github.com/aws/aws-sdk-go-v2/service/chatbot v1.13.0 - github.com/aws/aws-sdk-go-v2/service/chime v1.38.0 + github.com/aws/aws-sdk-go-v2/service/chime v1.39.0 github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.24.0 github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.24.0 github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.28.0 diff --git a/go.sum b/go.sum index 1291cddeea9b..e2b8e1571c70 100644 --- a/go.sum +++ b/go.sum @@ -107,8 +107,8 @@ github.com/aws/aws-sdk-go-v2/service/budgets v1.36.0 h1:l9NAh1G4Dx6ygvXtI+q1LjJh github.com/aws/aws-sdk-go-v2/service/budgets v1.36.0/go.mod h1:hN7Azd0je7dP3pNZX2zwUqQUe1FnwT/lBqXFZcyeF4M= github.com/aws/aws-sdk-go-v2/service/chatbot v1.13.0 h1:YSr29la/2ZjvLzpPSTNZ+4UKUMVIB/By9RHbwsozZAU= github.com/aws/aws-sdk-go-v2/service/chatbot v1.13.0/go.mod h1:Hy1FNUMiWlbH1j54n2JHARTWa2s9SuC1EDV8/5rWneo= -github.com/aws/aws-sdk-go-v2/service/chime v1.38.0 h1:iJ+spCNIok1pcSB8Ep+icpsEZE3zJBmsy2utIwtVfog= -github.com/aws/aws-sdk-go-v2/service/chime v1.38.0/go.mod h1:F/VVaff6oOMj33p0J+/aKHCPnDLY5CPOqZOy818/sQA= +github.com/aws/aws-sdk-go-v2/service/chime v1.39.0 h1:OrR18jIg9a5RBxgMPbWksJT9tmTa/KOf6LmJOTiL/nM= +github.com/aws/aws-sdk-go-v2/service/chime v1.39.0/go.mod h1:gAVdkdTSn/Kp/2aj5bQWX6RAjBtk0mhtx9kulUz6IdY= github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.24.0 h1:hqtaNtiTl0ecaXe+u8c2T/5guiwvDqeNzGYJV+UIcU0= github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.24.0/go.mod h1:sVQ3ND/Erl/qSzVLwb9x7tO3KCXit4UxaFlrE4uEY30= github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.24.0 h1:2W77vBqwQKr+Jf1X7bb5Kwmlpg/PcF0ccW5iNbk9F4A= From 56876bbdea0ec0b9c1daefc386ee684a88b57711 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:56 -0400 Subject: [PATCH 0860/1301] go get github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8b00cf574ee6..3c0e5aed85a9 100644 --- a/go.mod +++ b/go.mod @@ -49,7 +49,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/budgets v1.36.0 github.com/aws/aws-sdk-go-v2/service/chatbot v1.13.0 github.com/aws/aws-sdk-go-v2/service/chime v1.39.0 - github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.24.0 + github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.25.0 github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.24.0 github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.28.0 github.com/aws/aws-sdk-go-v2/service/cloud9 v1.31.0 diff --git a/go.sum b/go.sum index e2b8e1571c70..9f4eb2566701 100644 --- a/go.sum +++ b/go.sum @@ -109,8 +109,8 @@ github.com/aws/aws-sdk-go-v2/service/chatbot v1.13.0 h1:YSr29la/2ZjvLzpPSTNZ+4UK github.com/aws/aws-sdk-go-v2/service/chatbot v1.13.0/go.mod h1:Hy1FNUMiWlbH1j54n2JHARTWa2s9SuC1EDV8/5rWneo= github.com/aws/aws-sdk-go-v2/service/chime v1.39.0 h1:OrR18jIg9a5RBxgMPbWksJT9tmTa/KOf6LmJOTiL/nM= github.com/aws/aws-sdk-go-v2/service/chime v1.39.0/go.mod h1:gAVdkdTSn/Kp/2aj5bQWX6RAjBtk0mhtx9kulUz6IdY= -github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.24.0 h1:hqtaNtiTl0ecaXe+u8c2T/5guiwvDqeNzGYJV+UIcU0= -github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.24.0/go.mod h1:sVQ3ND/Erl/qSzVLwb9x7tO3KCXit4UxaFlrE4uEY30= +github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.25.0 h1:/a4GRYzQy/9T48CqAGlythaPj6Y5PWCRnMFCbqXp1iY= +github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.25.0/go.mod h1:hX5xwl8FzmIQMxfkaNxMbGVnTzDyCaNCe0qGApFDSHc= github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.24.0 h1:2W77vBqwQKr+Jf1X7bb5Kwmlpg/PcF0ccW5iNbk9F4A= github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.24.0/go.mod h1:K5kdhfL23lGFx1yqnWek8LIiF5OpJw09rEnUCcalUmc= github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.28.0 h1:YN21H1gfpZnJ6+u0R50FCxadXnVoF+sp8Z+nfmNxaQM= From d1136c499cebe1370edc8f52e7a916d8d84bcc61 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:57 -0400 Subject: [PATCH 0861/1301] go get github.com/aws/aws-sdk-go-v2/service/chimesdkvoice. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 3c0e5aed85a9..5b5991e78f8e 100644 --- a/go.mod +++ b/go.mod @@ -50,7 +50,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/chatbot v1.13.0 github.com/aws/aws-sdk-go-v2/service/chime v1.39.0 github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.25.0 - github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.24.0 + github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.25.0 github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.28.0 github.com/aws/aws-sdk-go-v2/service/cloud9 v1.31.0 github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.26.0 diff --git a/go.sum b/go.sum index 9f4eb2566701..b4b3938147f8 100644 --- a/go.sum +++ b/go.sum @@ -111,8 +111,8 @@ github.com/aws/aws-sdk-go-v2/service/chime v1.39.0 h1:OrR18jIg9a5RBxgMPbWksJT9tm github.com/aws/aws-sdk-go-v2/service/chime v1.39.0/go.mod h1:gAVdkdTSn/Kp/2aj5bQWX6RAjBtk0mhtx9kulUz6IdY= github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.25.0 h1:/a4GRYzQy/9T48CqAGlythaPj6Y5PWCRnMFCbqXp1iY= github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.25.0/go.mod h1:hX5xwl8FzmIQMxfkaNxMbGVnTzDyCaNCe0qGApFDSHc= -github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.24.0 h1:2W77vBqwQKr+Jf1X7bb5Kwmlpg/PcF0ccW5iNbk9F4A= -github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.24.0/go.mod h1:K5kdhfL23lGFx1yqnWek8LIiF5OpJw09rEnUCcalUmc= +github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.25.0 h1:BtwQUwyufH3WhisHCct+10JB3tbqYgnlcZkWQ8TrKrc= +github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.25.0/go.mod h1:TzNwrF98kIjcl1NOYUqZ9P0OsUsD1GN8fSJrt+gOUMU= github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.28.0 h1:YN21H1gfpZnJ6+u0R50FCxadXnVoF+sp8Z+nfmNxaQM= github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.28.0/go.mod h1:zP86jfwHZOeA5qSJkhYhsrXxcxl+2ruie+Twtn8q5mw= github.com/aws/aws-sdk-go-v2/service/cloud9 v1.31.0 h1:86u99iNYazCQU8jq2uoKy5dFwn/mko+8Il0jnPY+sDI= From 52784019297170069e2100233e929e4c3669c1b7 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:57:59 -0400 Subject: [PATCH 0862/1301] go get github.com/aws/aws-sdk-go-v2/service/cleanrooms. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5b5991e78f8e..49217faf29f8 100644 --- a/go.mod +++ b/go.mod @@ -51,7 +51,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/chime v1.39.0 github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.25.0 github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.25.0 - github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.28.0 + github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.29.0 github.com/aws/aws-sdk-go-v2/service/cloud9 v1.31.0 github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.26.0 github.com/aws/aws-sdk-go-v2/service/cloudformation v1.63.0 diff --git a/go.sum b/go.sum index b4b3938147f8..204d1de23220 100644 --- a/go.sum +++ b/go.sum @@ -113,8 +113,8 @@ github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.25.0 h1:/a4GRYzQy github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.25.0/go.mod h1:hX5xwl8FzmIQMxfkaNxMbGVnTzDyCaNCe0qGApFDSHc= github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.25.0 h1:BtwQUwyufH3WhisHCct+10JB3tbqYgnlcZkWQ8TrKrc= github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.25.0/go.mod h1:TzNwrF98kIjcl1NOYUqZ9P0OsUsD1GN8fSJrt+gOUMU= -github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.28.0 h1:YN21H1gfpZnJ6+u0R50FCxadXnVoF+sp8Z+nfmNxaQM= -github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.28.0/go.mod h1:zP86jfwHZOeA5qSJkhYhsrXxcxl+2ruie+Twtn8q5mw= +github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.29.0 h1:wpkgV+tKLNoHsRlaIWv5gswz4hZY1TbwIIuQX/atPmw= +github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.29.0/go.mod h1:s1Uq5wrZPR4SHPux9chAZ0woE7zzpTBaeFDOxNWEfOw= github.com/aws/aws-sdk-go-v2/service/cloud9 v1.31.0 h1:86u99iNYazCQU8jq2uoKy5dFwn/mko+8Il0jnPY+sDI= github.com/aws/aws-sdk-go-v2/service/cloud9 v1.31.0/go.mod h1:mJzLUSOFx5+Q/ceeC+resgBf9gElJcYFtxOH/ZBxWT8= github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.26.0 h1:fbq4r7n94nSyyJbEsDsVvjlMPMPJXSke8gawk/EGaC0= From 7269bfdb7b7d935414edcd949d1d104b9cd11abc Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:00 -0400 Subject: [PATCH 0863/1301] go get github.com/aws/aws-sdk-go-v2/service/cloud9. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 49217faf29f8..9f7b960a8e36 100644 --- a/go.mod +++ b/go.mod @@ -52,7 +52,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.25.0 github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.25.0 github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.29.0 - github.com/aws/aws-sdk-go-v2/service/cloud9 v1.31.0 + github.com/aws/aws-sdk-go-v2/service/cloud9 v1.32.0 github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.26.0 github.com/aws/aws-sdk-go-v2/service/cloudformation v1.63.0 github.com/aws/aws-sdk-go-v2/service/cloudfront v1.51.0 diff --git a/go.sum b/go.sum index 204d1de23220..3d396e61862c 100644 --- a/go.sum +++ b/go.sum @@ -115,8 +115,8 @@ github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.25.0 h1:BtwQUwyufH3WhisHCc github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.25.0/go.mod h1:TzNwrF98kIjcl1NOYUqZ9P0OsUsD1GN8fSJrt+gOUMU= github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.29.0 h1:wpkgV+tKLNoHsRlaIWv5gswz4hZY1TbwIIuQX/atPmw= github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.29.0/go.mod h1:s1Uq5wrZPR4SHPux9chAZ0woE7zzpTBaeFDOxNWEfOw= -github.com/aws/aws-sdk-go-v2/service/cloud9 v1.31.0 h1:86u99iNYazCQU8jq2uoKy5dFwn/mko+8Il0jnPY+sDI= -github.com/aws/aws-sdk-go-v2/service/cloud9 v1.31.0/go.mod h1:mJzLUSOFx5+Q/ceeC+resgBf9gElJcYFtxOH/ZBxWT8= +github.com/aws/aws-sdk-go-v2/service/cloud9 v1.32.0 h1:GL80iUAU3t3NG8hqI1YM/VTehaHcYzBBu8lv0I0YrR0= +github.com/aws/aws-sdk-go-v2/service/cloud9 v1.32.0/go.mod h1:ZuzNLZis3yt5/NyM5jn7SWQ3uhtq9I5c3JQLcQZcOEI= github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.26.0 h1:fbq4r7n94nSyyJbEsDsVvjlMPMPJXSke8gawk/EGaC0= github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.26.0/go.mod h1:La5Cr0mDPCAuBwu+VVnbOoXd5HVow52Pt/UnPAdZyn8= github.com/aws/aws-sdk-go-v2/service/cloudformation v1.63.0 h1:GHnZM6p3b2Do9wBwwuAzPuGy+HY597jv5LKiKxu0PAs= From 7e8f74b74eb384d3095d0457cdb5968feed8ca26 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:01 -0400 Subject: [PATCH 0864/1301] go get github.com/aws/aws-sdk-go-v2/service/cloudcontrol. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 9f7b960a8e36..d07cc2252857 100644 --- a/go.mod +++ b/go.mod @@ -53,7 +53,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.25.0 github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.29.0 github.com/aws/aws-sdk-go-v2/service/cloud9 v1.32.0 - github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.26.0 + github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.27.0 github.com/aws/aws-sdk-go-v2/service/cloudformation v1.63.0 github.com/aws/aws-sdk-go-v2/service/cloudfront v1.51.0 github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.11.0 diff --git a/go.sum b/go.sum index 3d396e61862c..c3deae05aa58 100644 --- a/go.sum +++ b/go.sum @@ -117,8 +117,8 @@ github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.29.0 h1:wpkgV+tKLNoHsRlaIWv5g github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.29.0/go.mod h1:s1Uq5wrZPR4SHPux9chAZ0woE7zzpTBaeFDOxNWEfOw= github.com/aws/aws-sdk-go-v2/service/cloud9 v1.32.0 h1:GL80iUAU3t3NG8hqI1YM/VTehaHcYzBBu8lv0I0YrR0= github.com/aws/aws-sdk-go-v2/service/cloud9 v1.32.0/go.mod h1:ZuzNLZis3yt5/NyM5jn7SWQ3uhtq9I5c3JQLcQZcOEI= -github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.26.0 h1:fbq4r7n94nSyyJbEsDsVvjlMPMPJXSke8gawk/EGaC0= -github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.26.0/go.mod h1:La5Cr0mDPCAuBwu+VVnbOoXd5HVow52Pt/UnPAdZyn8= +github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.27.0 h1:iYhGDJl3qGz7ZwBxnO8KWP3HBXBEHQwQuCTLtnvl+/c= +github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.27.0/go.mod h1:3i2UYK7+Me+/0j/X5PWt8lXpbxeIEHFqt9Y0yuP3lBU= github.com/aws/aws-sdk-go-v2/service/cloudformation v1.63.0 h1:GHnZM6p3b2Do9wBwwuAzPuGy+HY597jv5LKiKxu0PAs= github.com/aws/aws-sdk-go-v2/service/cloudformation v1.63.0/go.mod h1:B3WrgqTVkLUTpX5C/ctNig6S78CqebFxLkwrxAYtjIg= github.com/aws/aws-sdk-go-v2/service/cloudfront v1.51.0 h1:0wH5YQLcYnRTXCGeXeMogJqKJSP9UhwbTwuZkLexcOA= From 793e4d1049b06b0f9eb91985209fc7e2e8d17eb6 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:02 -0400 Subject: [PATCH 0865/1301] go get github.com/aws/aws-sdk-go-v2/service/cloudformation. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d07cc2252857..47626affb240 100644 --- a/go.mod +++ b/go.mod @@ -54,7 +54,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.29.0 github.com/aws/aws-sdk-go-v2/service/cloud9 v1.32.0 github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.27.0 - github.com/aws/aws-sdk-go-v2/service/cloudformation v1.63.0 + github.com/aws/aws-sdk-go-v2/service/cloudformation v1.64.0 github.com/aws/aws-sdk-go-v2/service/cloudfront v1.51.0 github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.11.0 github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.32.0 diff --git a/go.sum b/go.sum index c3deae05aa58..1e830f4c7631 100644 --- a/go.sum +++ b/go.sum @@ -119,8 +119,8 @@ github.com/aws/aws-sdk-go-v2/service/cloud9 v1.32.0 h1:GL80iUAU3t3NG8hqI1YM/VTeh github.com/aws/aws-sdk-go-v2/service/cloud9 v1.32.0/go.mod h1:ZuzNLZis3yt5/NyM5jn7SWQ3uhtq9I5c3JQLcQZcOEI= github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.27.0 h1:iYhGDJl3qGz7ZwBxnO8KWP3HBXBEHQwQuCTLtnvl+/c= github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.27.0/go.mod h1:3i2UYK7+Me+/0j/X5PWt8lXpbxeIEHFqt9Y0yuP3lBU= -github.com/aws/aws-sdk-go-v2/service/cloudformation v1.63.0 h1:GHnZM6p3b2Do9wBwwuAzPuGy+HY597jv5LKiKxu0PAs= -github.com/aws/aws-sdk-go-v2/service/cloudformation v1.63.0/go.mod h1:B3WrgqTVkLUTpX5C/ctNig6S78CqebFxLkwrxAYtjIg= +github.com/aws/aws-sdk-go-v2/service/cloudformation v1.64.0 h1:zkywcvvuwJcdNUErYJ3JaujgTYy8iOqTZnMJtbt5GQo= +github.com/aws/aws-sdk-go-v2/service/cloudformation v1.64.0/go.mod h1:CSZ4pTMdDdwePgGxMo5KOfOw+I0r0cOwLsyULTjFuUc= github.com/aws/aws-sdk-go-v2/service/cloudfront v1.51.0 h1:0wH5YQLcYnRTXCGeXeMogJqKJSP9UhwbTwuZkLexcOA= github.com/aws/aws-sdk-go-v2/service/cloudfront v1.51.0/go.mod h1:HLzQI9ENSq0pNCO+ASh5KbwL7AoYBqPkTLv1Y40+pl4= github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.11.0 h1:iaCqgJY6oh3i+lfw6EM9XF7QzgFTX8FEFYrbrdNTCtw= From 6d8555957fa0503ed88e3d9d106555d6d018f372 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:03 -0400 Subject: [PATCH 0866/1301] go get github.com/aws/aws-sdk-go-v2/service/cloudfront. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 47626affb240..ffd682880c4d 100644 --- a/go.mod +++ b/go.mod @@ -55,7 +55,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloud9 v1.32.0 github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.27.0 github.com/aws/aws-sdk-go-v2/service/cloudformation v1.64.0 - github.com/aws/aws-sdk-go-v2/service/cloudfront v1.51.0 + github.com/aws/aws-sdk-go-v2/service/cloudfront v1.52.0 github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.11.0 github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.32.0 github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.29.0 diff --git a/go.sum b/go.sum index 1e830f4c7631..23848fb9ffeb 100644 --- a/go.sum +++ b/go.sum @@ -121,8 +121,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.27.0 h1:iYhGDJl3qGz7ZwBxnO8 github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.27.0/go.mod h1:3i2UYK7+Me+/0j/X5PWt8lXpbxeIEHFqt9Y0yuP3lBU= github.com/aws/aws-sdk-go-v2/service/cloudformation v1.64.0 h1:zkywcvvuwJcdNUErYJ3JaujgTYy8iOqTZnMJtbt5GQo= github.com/aws/aws-sdk-go-v2/service/cloudformation v1.64.0/go.mod h1:CSZ4pTMdDdwePgGxMo5KOfOw+I0r0cOwLsyULTjFuUc= -github.com/aws/aws-sdk-go-v2/service/cloudfront v1.51.0 h1:0wH5YQLcYnRTXCGeXeMogJqKJSP9UhwbTwuZkLexcOA= -github.com/aws/aws-sdk-go-v2/service/cloudfront v1.51.0/go.mod h1:HLzQI9ENSq0pNCO+ASh5KbwL7AoYBqPkTLv1Y40+pl4= +github.com/aws/aws-sdk-go-v2/service/cloudfront v1.52.0 h1:rJcbtmScByQ6NBIXV97m6e8Rasd0zgvt1z84pdddU/4= +github.com/aws/aws-sdk-go-v2/service/cloudfront v1.52.0/go.mod h1:qTc2+9g3YGM5d/u+c4tmHun6vmEKwBjJ7rEM6N3qGVI= github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.11.0 h1:iaCqgJY6oh3i+lfw6EM9XF7QzgFTX8FEFYrbrdNTCtw= github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.11.0/go.mod h1:vYTN8GiXfF6PAeyueEsqS0C9t0X3c4ELvX6a8XdDWSc= github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.32.0 h1:6OKTiz2vZO39/1WIbD1qp1+fWdXkkSNRWaV6yslKjyY= From 65d52c573fa88ef53cd3bd709043872495d5a9c3 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:05 -0400 Subject: [PATCH 0867/1301] go get github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ffd682880c4d..006fe7a6c1c8 100644 --- a/go.mod +++ b/go.mod @@ -56,7 +56,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.27.0 github.com/aws/aws-sdk-go-v2/service/cloudformation v1.64.0 github.com/aws/aws-sdk-go-v2/service/cloudfront v1.52.0 - github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.11.0 + github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.12.0 github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.32.0 github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.29.0 github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.51.0 diff --git a/go.sum b/go.sum index 23848fb9ffeb..16479700d3d7 100644 --- a/go.sum +++ b/go.sum @@ -123,8 +123,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudformation v1.64.0 h1:zkywcvvuwJcdNUErY github.com/aws/aws-sdk-go-v2/service/cloudformation v1.64.0/go.mod h1:CSZ4pTMdDdwePgGxMo5KOfOw+I0r0cOwLsyULTjFuUc= github.com/aws/aws-sdk-go-v2/service/cloudfront v1.52.0 h1:rJcbtmScByQ6NBIXV97m6e8Rasd0zgvt1z84pdddU/4= github.com/aws/aws-sdk-go-v2/service/cloudfront v1.52.0/go.mod h1:qTc2+9g3YGM5d/u+c4tmHun6vmEKwBjJ7rEM6N3qGVI= -github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.11.0 h1:iaCqgJY6oh3i+lfw6EM9XF7QzgFTX8FEFYrbrdNTCtw= -github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.11.0/go.mod h1:vYTN8GiXfF6PAeyueEsqS0C9t0X3c4ELvX6a8XdDWSc= +github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.12.0 h1:3H2613Pj9FkIkgPOd5Vi8oj7iLyV2qYMkhd8Qv6Q7qI= +github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.12.0/go.mod h1:9FB5f838TtTLjmTrEkeZL1d75cbVNrTgQodokjUtwNU= github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.32.0 h1:6OKTiz2vZO39/1WIbD1qp1+fWdXkkSNRWaV6yslKjyY= github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.32.0/go.mod h1:VMuT9tI291dMpyjO8fo6YybLejDn7yZwPF5LcgEolVA= github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.29.0 h1:gXu97OvveSwWxTSKF81O/FeGh773qrXI3lhS1YSv7X4= From d2b90d44e2b8e7fa49bd5c45cd01f910eae102d9 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:06 -0400 Subject: [PATCH 0868/1301] go get github.com/aws/aws-sdk-go-v2/service/cloudhsmv2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 006fe7a6c1c8..6ddd5cb29ed4 100644 --- a/go.mod +++ b/go.mod @@ -57,7 +57,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloudformation v1.64.0 github.com/aws/aws-sdk-go-v2/service/cloudfront v1.52.0 github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.12.0 - github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.32.0 + github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.33.0 github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.29.0 github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.51.0 github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.47.0 diff --git a/go.sum b/go.sum index 16479700d3d7..de52183bb9b1 100644 --- a/go.sum +++ b/go.sum @@ -125,8 +125,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudfront v1.52.0 h1:rJcbtmScByQ6NBIXV97m6 github.com/aws/aws-sdk-go-v2/service/cloudfront v1.52.0/go.mod h1:qTc2+9g3YGM5d/u+c4tmHun6vmEKwBjJ7rEM6N3qGVI= github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.12.0 h1:3H2613Pj9FkIkgPOd5Vi8oj7iLyV2qYMkhd8Qv6Q7qI= github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.12.0/go.mod h1:9FB5f838TtTLjmTrEkeZL1d75cbVNrTgQodokjUtwNU= -github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.32.0 h1:6OKTiz2vZO39/1WIbD1qp1+fWdXkkSNRWaV6yslKjyY= -github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.32.0/go.mod h1:VMuT9tI291dMpyjO8fo6YybLejDn7yZwPF5LcgEolVA= +github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.33.0 h1:3JSAmJhQ2MgO8YFKv0CMab6NY3XUgK5SHemxqyCRdPY= +github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.33.0/go.mod h1:KcpoisoNJWn7kQf+b6fzdBDBtxzLfwc2UL+0stF8pVk= github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.29.0 h1:gXu97OvveSwWxTSKF81O/FeGh773qrXI3lhS1YSv7X4= github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.29.0/go.mod h1:DytnWBTZOnhwCWKehIXDqmo+Ixppa3wAurbgDE7isg4= github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.51.0 h1:mEDXhybFN7q39EBrN3SiZt0sebBU18ZNUuvOPftYI84= From 964ccab8200ac32e08ca23ebaceff5bd1ffc053e Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:07 -0400 Subject: [PATCH 0869/1301] go get github.com/aws/aws-sdk-go-v2/service/cloudsearch. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 6ddd5cb29ed4..6cc68708ba1f 100644 --- a/go.mod +++ b/go.mod @@ -58,7 +58,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloudfront v1.52.0 github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.12.0 github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.33.0 - github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.29.0 + github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.30.0 github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.51.0 github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.47.0 github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.55.0 diff --git a/go.sum b/go.sum index de52183bb9b1..45336dce5ee1 100644 --- a/go.sum +++ b/go.sum @@ -127,8 +127,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.12.0 h1:3H2613Pj github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.12.0/go.mod h1:9FB5f838TtTLjmTrEkeZL1d75cbVNrTgQodokjUtwNU= github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.33.0 h1:3JSAmJhQ2MgO8YFKv0CMab6NY3XUgK5SHemxqyCRdPY= github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.33.0/go.mod h1:KcpoisoNJWn7kQf+b6fzdBDBtxzLfwc2UL+0stF8pVk= -github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.29.0 h1:gXu97OvveSwWxTSKF81O/FeGh773qrXI3lhS1YSv7X4= -github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.29.0/go.mod h1:DytnWBTZOnhwCWKehIXDqmo+Ixppa3wAurbgDE7isg4= +github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.30.0 h1:32QN58w//10tYWkS+O+61EPBCKEM5FlLbM7n45wl0kM= +github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.30.0/go.mod h1:Dw/juJ9555u2hj4dnUA8fP68B5IHzS0wnxaPdNJPWNs= github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.51.0 h1:mEDXhybFN7q39EBrN3SiZt0sebBU18ZNUuvOPftYI84= github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.51.0/go.mod h1:bAz9Mfw6YqILCw087zDfCyDuZNs4wK4S+G+JSHBSyW0= github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.47.0 h1:Lpr8QXTUoSqu+E6YTxQlmPnvCE4gouG+vHpzhSYAU/Y= From ba3eabea645e31f1a68f231ac2cc505497858c36 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:08 -0400 Subject: [PATCH 0870/1301] go get github.com/aws/aws-sdk-go-v2/service/cloudtrail. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 6cc68708ba1f..c022b8088130 100644 --- a/go.mod +++ b/go.mod @@ -59,7 +59,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.12.0 github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.33.0 github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.30.0 - github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.51.0 + github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.52.0 github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.47.0 github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.55.0 github.com/aws/aws-sdk-go-v2/service/codeartifact v1.36.0 diff --git a/go.sum b/go.sum index 45336dce5ee1..12fdd225c513 100644 --- a/go.sum +++ b/go.sum @@ -129,8 +129,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.33.0 h1:3JSAmJhQ2MgO8YFKv0CMa github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.33.0/go.mod h1:KcpoisoNJWn7kQf+b6fzdBDBtxzLfwc2UL+0stF8pVk= github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.30.0 h1:32QN58w//10tYWkS+O+61EPBCKEM5FlLbM7n45wl0kM= github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.30.0/go.mod h1:Dw/juJ9555u2hj4dnUA8fP68B5IHzS0wnxaPdNJPWNs= -github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.51.0 h1:mEDXhybFN7q39EBrN3SiZt0sebBU18ZNUuvOPftYI84= -github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.51.0/go.mod h1:bAz9Mfw6YqILCw087zDfCyDuZNs4wK4S+G+JSHBSyW0= +github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.52.0 h1:Wgjh6Igu7HS57d8AjRIG0bHjybt015dBTc+zh2L/P3E= +github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.52.0/go.mod h1:TSIIBxkIwUawJ9JyiymBksYZYsvIv8GIF2DkrlcTc5o= github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.47.0 h1:Lpr8QXTUoSqu+E6YTxQlmPnvCE4gouG+vHpzhSYAU/Y= github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.47.0/go.mod h1:Izz13TvjH3bi2LxgMybJYhrY1UJ9N4c4l/th1iLvRDI= github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.55.0 h1:1gVT2+4KGrv47pHjZ83ijtozDcGqmmNevrzRcanrNbU= From b624c51dff5ea9c9d34cbbaa53fed462b4b11871 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:10 -0400 Subject: [PATCH 0871/1301] go get github.com/aws/aws-sdk-go-v2/service/cloudwatch. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c022b8088130..f8e78869d9d9 100644 --- a/go.mod +++ b/go.mod @@ -60,7 +60,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.33.0 github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.30.0 github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.52.0 - github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.47.0 + github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.48.0 github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.55.0 github.com/aws/aws-sdk-go-v2/service/codeartifact v1.36.0 github.com/aws/aws-sdk-go-v2/service/codebuild v1.64.0 diff --git a/go.sum b/go.sum index 12fdd225c513..be0e12263a67 100644 --- a/go.sum +++ b/go.sum @@ -131,8 +131,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.30.0 h1:32QN58w//10tYWkS+O+6 github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.30.0/go.mod h1:Dw/juJ9555u2hj4dnUA8fP68B5IHzS0wnxaPdNJPWNs= github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.52.0 h1:Wgjh6Igu7HS57d8AjRIG0bHjybt015dBTc+zh2L/P3E= github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.52.0/go.mod h1:TSIIBxkIwUawJ9JyiymBksYZYsvIv8GIF2DkrlcTc5o= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.47.0 h1:Lpr8QXTUoSqu+E6YTxQlmPnvCE4gouG+vHpzhSYAU/Y= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.47.0/go.mod h1:Izz13TvjH3bi2LxgMybJYhrY1UJ9N4c4l/th1iLvRDI= +github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.48.0 h1:NmaelAJldom/+eWDlbYdurKrPL+TSvwKeHH/TnEYih8= +github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.48.0/go.mod h1:s+juX6Mf6RF+y14IK9Ed02U/q86Tqc3PKHIDtuzBMa4= github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.55.0 h1:1gVT2+4KGrv47pHjZ83ijtozDcGqmmNevrzRcanrNbU= github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.55.0/go.mod h1:HzB9FL1Jq/q+Pjkw1A7eeLzyj3NV87qthLnhzoXArvU= github.com/aws/aws-sdk-go-v2/service/codeartifact v1.36.0 h1:fdtKm+B01B8gyakcbWAVRTp/dF6RZ8bSAwJ0SAUo+sU= From 10cc46e12d5604de0a80561ad4f07ab327f5a659 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:11 -0400 Subject: [PATCH 0872/1301] go get github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index f8e78869d9d9..2d96b53bf733 100644 --- a/go.mod +++ b/go.mod @@ -61,7 +61,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.30.0 github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.52.0 github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.48.0 - github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.55.0 + github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.56.0 github.com/aws/aws-sdk-go-v2/service/codeartifact v1.36.0 github.com/aws/aws-sdk-go-v2/service/codebuild v1.64.0 github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.19.0 diff --git a/go.sum b/go.sum index be0e12263a67..9d8d89556797 100644 --- a/go.sum +++ b/go.sum @@ -133,8 +133,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.52.0 h1:Wgjh6Igu7HS57d8AjRIG0 github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.52.0/go.mod h1:TSIIBxkIwUawJ9JyiymBksYZYsvIv8GIF2DkrlcTc5o= github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.48.0 h1:NmaelAJldom/+eWDlbYdurKrPL+TSvwKeHH/TnEYih8= github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.48.0/go.mod h1:s+juX6Mf6RF+y14IK9Ed02U/q86Tqc3PKHIDtuzBMa4= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.55.0 h1:1gVT2+4KGrv47pHjZ83ijtozDcGqmmNevrzRcanrNbU= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.55.0/go.mod h1:HzB9FL1Jq/q+Pjkw1A7eeLzyj3NV87qthLnhzoXArvU= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.56.0 h1:GiSL2mJ/gSJR4p2HHRrydkM/LVtP82gssI3CKeGCFAk= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.56.0/go.mod h1:0jzhov8WzD4VylEv83E+RkqA8W6k7DX37XyrwMavyvQ= github.com/aws/aws-sdk-go-v2/service/codeartifact v1.36.0 h1:fdtKm+B01B8gyakcbWAVRTp/dF6RZ8bSAwJ0SAUo+sU= github.com/aws/aws-sdk-go-v2/service/codeartifact v1.36.0/go.mod h1:u3m1BxQTHIh9rSpYNSVXbkwf+e/SQCbCnkbiUOihF9c= github.com/aws/aws-sdk-go-v2/service/codebuild v1.64.0 h1:H8ydjxHJToFBnEhrC6A6nLnViQgV9g7wK7dzMfBOJL8= From ada80590704933d412d5239db1969b6872323588 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:12 -0400 Subject: [PATCH 0873/1301] go get github.com/aws/aws-sdk-go-v2/service/codeartifact. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 2d96b53bf733..fbc9acfb445b 100644 --- a/go.mod +++ b/go.mod @@ -62,7 +62,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.52.0 github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.48.0 github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.56.0 - github.com/aws/aws-sdk-go-v2/service/codeartifact v1.36.0 + github.com/aws/aws-sdk-go-v2/service/codeartifact v1.37.0 github.com/aws/aws-sdk-go-v2/service/codebuild v1.64.0 github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.19.0 github.com/aws/aws-sdk-go-v2/service/codecommit v1.30.0 diff --git a/go.sum b/go.sum index 9d8d89556797..e5f8382ac458 100644 --- a/go.sum +++ b/go.sum @@ -135,8 +135,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.48.0 h1:NmaelAJldom/+eWDlbYdu github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.48.0/go.mod h1:s+juX6Mf6RF+y14IK9Ed02U/q86Tqc3PKHIDtuzBMa4= github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.56.0 h1:GiSL2mJ/gSJR4p2HHRrydkM/LVtP82gssI3CKeGCFAk= github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.56.0/go.mod h1:0jzhov8WzD4VylEv83E+RkqA8W6k7DX37XyrwMavyvQ= -github.com/aws/aws-sdk-go-v2/service/codeartifact v1.36.0 h1:fdtKm+B01B8gyakcbWAVRTp/dF6RZ8bSAwJ0SAUo+sU= -github.com/aws/aws-sdk-go-v2/service/codeartifact v1.36.0/go.mod h1:u3m1BxQTHIh9rSpYNSVXbkwf+e/SQCbCnkbiUOihF9c= +github.com/aws/aws-sdk-go-v2/service/codeartifact v1.37.0 h1:LVhbfPyUufKIjKVengJswggsFAbdRJe3LGNf6xVjgDg= +github.com/aws/aws-sdk-go-v2/service/codeartifact v1.37.0/go.mod h1:tNVsC5SHowfci8r2wS95tND/l5np9AyHs7P8+MHcqfU= github.com/aws/aws-sdk-go-v2/service/codebuild v1.64.0 h1:H8ydjxHJToFBnEhrC6A6nLnViQgV9g7wK7dzMfBOJL8= github.com/aws/aws-sdk-go-v2/service/codebuild v1.64.0/go.mod h1:0k+YT2xx+g/GuLX2uLqm5A3Kno7zEtTYdI1FWGjliPM= github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.19.0 h1:7fMl5RowdxZ54KTTZUdSeeSfFwbRCoI1foY/gokc2zI= From df5137b15d7b1cea0ec0b8b2c8a331d388ea23b5 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:13 -0400 Subject: [PATCH 0874/1301] go get github.com/aws/aws-sdk-go-v2/service/codebuild. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index fbc9acfb445b..727bba22d420 100644 --- a/go.mod +++ b/go.mod @@ -63,7 +63,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.48.0 github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.56.0 github.com/aws/aws-sdk-go-v2/service/codeartifact v1.37.0 - github.com/aws/aws-sdk-go-v2/service/codebuild v1.64.0 + github.com/aws/aws-sdk-go-v2/service/codebuild v1.65.0 github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.19.0 github.com/aws/aws-sdk-go-v2/service/codecommit v1.30.0 github.com/aws/aws-sdk-go-v2/service/codeconnections v1.8.0 diff --git a/go.sum b/go.sum index e5f8382ac458..76396759ab05 100644 --- a/go.sum +++ b/go.sum @@ -137,8 +137,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.56.0 h1:GiSL2mJ/gSJR4p2HH github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.56.0/go.mod h1:0jzhov8WzD4VylEv83E+RkqA8W6k7DX37XyrwMavyvQ= github.com/aws/aws-sdk-go-v2/service/codeartifact v1.37.0 h1:LVhbfPyUufKIjKVengJswggsFAbdRJe3LGNf6xVjgDg= github.com/aws/aws-sdk-go-v2/service/codeartifact v1.37.0/go.mod h1:tNVsC5SHowfci8r2wS95tND/l5np9AyHs7P8+MHcqfU= -github.com/aws/aws-sdk-go-v2/service/codebuild v1.64.0 h1:H8ydjxHJToFBnEhrC6A6nLnViQgV9g7wK7dzMfBOJL8= -github.com/aws/aws-sdk-go-v2/service/codebuild v1.64.0/go.mod h1:0k+YT2xx+g/GuLX2uLqm5A3Kno7zEtTYdI1FWGjliPM= +github.com/aws/aws-sdk-go-v2/service/codebuild v1.65.0 h1:nk002AVU7WXmiV9c2HFZWixS0JcHL8lW0WocnR6TKqY= +github.com/aws/aws-sdk-go-v2/service/codebuild v1.65.0/go.mod h1:HiaBb3/RkkKBXLfkHch1Wy8tdMkyxhAR75PDf2BZyd0= github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.19.0 h1:7fMl5RowdxZ54KTTZUdSeeSfFwbRCoI1foY/gokc2zI= github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.19.0/go.mod h1:GRd3mFvPtUuXg4j7mTtw4SV3tMwseEoerrdRkGV9sH4= github.com/aws/aws-sdk-go-v2/service/codecommit v1.30.0 h1:kA7yaCs2MQE81SJXOQ6wg9alTogzkUUQElJFLTNMNa0= From 8878b7fe320d45902dd58a7f323688ab1fc41003 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:15 -0400 Subject: [PATCH 0875/1301] go get github.com/aws/aws-sdk-go-v2/service/codecatalyst. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 727bba22d420..1da6142d3402 100644 --- a/go.mod +++ b/go.mod @@ -64,7 +64,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.56.0 github.com/aws/aws-sdk-go-v2/service/codeartifact v1.37.0 github.com/aws/aws-sdk-go-v2/service/codebuild v1.65.0 - github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.19.0 + github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.20.0 github.com/aws/aws-sdk-go-v2/service/codecommit v1.30.0 github.com/aws/aws-sdk-go-v2/service/codeconnections v1.8.0 github.com/aws/aws-sdk-go-v2/service/codedeploy v1.32.0 diff --git a/go.sum b/go.sum index 76396759ab05..ab1d081a7c20 100644 --- a/go.sum +++ b/go.sum @@ -139,8 +139,8 @@ github.com/aws/aws-sdk-go-v2/service/codeartifact v1.37.0 h1:LVhbfPyUufKIjKVengJ github.com/aws/aws-sdk-go-v2/service/codeartifact v1.37.0/go.mod h1:tNVsC5SHowfci8r2wS95tND/l5np9AyHs7P8+MHcqfU= github.com/aws/aws-sdk-go-v2/service/codebuild v1.65.0 h1:nk002AVU7WXmiV9c2HFZWixS0JcHL8lW0WocnR6TKqY= github.com/aws/aws-sdk-go-v2/service/codebuild v1.65.0/go.mod h1:HiaBb3/RkkKBXLfkHch1Wy8tdMkyxhAR75PDf2BZyd0= -github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.19.0 h1:7fMl5RowdxZ54KTTZUdSeeSfFwbRCoI1foY/gokc2zI= -github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.19.0/go.mod h1:GRd3mFvPtUuXg4j7mTtw4SV3tMwseEoerrdRkGV9sH4= +github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.20.0 h1:1yOLOPPI/SP+z1z7v50r4i0yJEBe667Tg513qv34Mok= +github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.20.0/go.mod h1:/YU2KmYK0mw3Nwo/Odx3vFsqfR9GYeirr2trSazXGFc= github.com/aws/aws-sdk-go-v2/service/codecommit v1.30.0 h1:kA7yaCs2MQE81SJXOQ6wg9alTogzkUUQElJFLTNMNa0= github.com/aws/aws-sdk-go-v2/service/codecommit v1.30.0/go.mod h1:N76szOQF2OkKQyuKDnvlj900Jpvmvs2JseKzbZpmjZk= github.com/aws/aws-sdk-go-v2/service/codeconnections v1.8.0 h1:9ggs7LTq0oFTTRquvQlsPrGQqdQyXE/gFXhrIJVwOB0= From c85fcd69dc53569c110c837a79825d1184ca7ce3 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:16 -0400 Subject: [PATCH 0876/1301] go get github.com/aws/aws-sdk-go-v2/service/codecommit. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 1da6142d3402..8abb6cfcaf5f 100644 --- a/go.mod +++ b/go.mod @@ -65,7 +65,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/codeartifact v1.37.0 github.com/aws/aws-sdk-go-v2/service/codebuild v1.65.0 github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.20.0 - github.com/aws/aws-sdk-go-v2/service/codecommit v1.30.0 + github.com/aws/aws-sdk-go-v2/service/codecommit v1.31.0 github.com/aws/aws-sdk-go-v2/service/codeconnections v1.8.0 github.com/aws/aws-sdk-go-v2/service/codedeploy v1.32.0 github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.27.0 diff --git a/go.sum b/go.sum index ab1d081a7c20..88ff5223d0a1 100644 --- a/go.sum +++ b/go.sum @@ -141,8 +141,8 @@ github.com/aws/aws-sdk-go-v2/service/codebuild v1.65.0 h1:nk002AVU7WXmiV9c2HFZWi github.com/aws/aws-sdk-go-v2/service/codebuild v1.65.0/go.mod h1:HiaBb3/RkkKBXLfkHch1Wy8tdMkyxhAR75PDf2BZyd0= github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.20.0 h1:1yOLOPPI/SP+z1z7v50r4i0yJEBe667Tg513qv34Mok= github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.20.0/go.mod h1:/YU2KmYK0mw3Nwo/Odx3vFsqfR9GYeirr2trSazXGFc= -github.com/aws/aws-sdk-go-v2/service/codecommit v1.30.0 h1:kA7yaCs2MQE81SJXOQ6wg9alTogzkUUQElJFLTNMNa0= -github.com/aws/aws-sdk-go-v2/service/codecommit v1.30.0/go.mod h1:N76szOQF2OkKQyuKDnvlj900Jpvmvs2JseKzbZpmjZk= +github.com/aws/aws-sdk-go-v2/service/codecommit v1.31.0 h1:Zen0PfPRG8lStgXUeuNxvdAJ3TlFYJfkJStGmG0RPMg= +github.com/aws/aws-sdk-go-v2/service/codecommit v1.31.0/go.mod h1:OsWM+ToUGgq2s3odxVhJazzPUvmC5PTc/dnaV3Lotow= github.com/aws/aws-sdk-go-v2/service/codeconnections v1.8.0 h1:9ggs7LTq0oFTTRquvQlsPrGQqdQyXE/gFXhrIJVwOB0= github.com/aws/aws-sdk-go-v2/service/codeconnections v1.8.0/go.mod h1:ZK7JgKbTqG8Bco84nIqbhjJfvxFOtttVWRbAI18jGkU= github.com/aws/aws-sdk-go-v2/service/codedeploy v1.32.0 h1:PHX06bkOdv1UJHtI2M9ELpPIYrfRUvEXDVby24+kyig= From f9f732a63a162790d9ac1e9934ffdaef8d45ce04 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:17 -0400 Subject: [PATCH 0877/1301] go get github.com/aws/aws-sdk-go-v2/service/codeconnections. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8abb6cfcaf5f..583854a310d0 100644 --- a/go.mod +++ b/go.mod @@ -66,7 +66,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/codebuild v1.65.0 github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.20.0 github.com/aws/aws-sdk-go-v2/service/codecommit v1.31.0 - github.com/aws/aws-sdk-go-v2/service/codeconnections v1.8.0 + github.com/aws/aws-sdk-go-v2/service/codeconnections v1.9.0 github.com/aws/aws-sdk-go-v2/service/codedeploy v1.32.0 github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.27.0 github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.32.0 diff --git a/go.sum b/go.sum index 88ff5223d0a1..01a3b22573d6 100644 --- a/go.sum +++ b/go.sum @@ -143,8 +143,8 @@ github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.20.0 h1:1yOLOPPI/SP+z1z7v50 github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.20.0/go.mod h1:/YU2KmYK0mw3Nwo/Odx3vFsqfR9GYeirr2trSazXGFc= github.com/aws/aws-sdk-go-v2/service/codecommit v1.31.0 h1:Zen0PfPRG8lStgXUeuNxvdAJ3TlFYJfkJStGmG0RPMg= github.com/aws/aws-sdk-go-v2/service/codecommit v1.31.0/go.mod h1:OsWM+ToUGgq2s3odxVhJazzPUvmC5PTc/dnaV3Lotow= -github.com/aws/aws-sdk-go-v2/service/codeconnections v1.8.0 h1:9ggs7LTq0oFTTRquvQlsPrGQqdQyXE/gFXhrIJVwOB0= -github.com/aws/aws-sdk-go-v2/service/codeconnections v1.8.0/go.mod h1:ZK7JgKbTqG8Bco84nIqbhjJfvxFOtttVWRbAI18jGkU= +github.com/aws/aws-sdk-go-v2/service/codeconnections v1.9.0 h1:B0MOHup8sByXTFmHBa0Gtx31IUPypG1IIN/Fb/c3p7Y= +github.com/aws/aws-sdk-go-v2/service/codeconnections v1.9.0/go.mod h1:/LWsV6gbnhvGjoh8VYYoCPLvmJARA8YrZ6c4YBQnPK0= github.com/aws/aws-sdk-go-v2/service/codedeploy v1.32.0 h1:PHX06bkOdv1UJHtI2M9ELpPIYrfRUvEXDVby24+kyig= github.com/aws/aws-sdk-go-v2/service/codedeploy v1.32.0/go.mod h1:Kl0CnLEkSe4LQqoioPDwcvU2E++vkunyW3wVrKessPc= github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.27.0 h1:VSNGyDlucRnMWFu1xV9LMcfqbmWz8+0gcrYKmM0ENxQ= From d9f4f1ec5a7efdea7e24ea93807b8d7ea5c900d9 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:19 -0400 Subject: [PATCH 0878/1301] go get github.com/aws/aws-sdk-go-v2/service/codedeploy. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 583854a310d0..32c5afb83d07 100644 --- a/go.mod +++ b/go.mod @@ -67,7 +67,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.20.0 github.com/aws/aws-sdk-go-v2/service/codecommit v1.31.0 github.com/aws/aws-sdk-go-v2/service/codeconnections v1.9.0 - github.com/aws/aws-sdk-go-v2/service/codedeploy v1.32.0 + github.com/aws/aws-sdk-go-v2/service/codedeploy v1.33.0 github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.27.0 github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.32.0 github.com/aws/aws-sdk-go-v2/service/codepipeline v1.44.0 diff --git a/go.sum b/go.sum index 01a3b22573d6..7fb1777337aa 100644 --- a/go.sum +++ b/go.sum @@ -145,8 +145,8 @@ github.com/aws/aws-sdk-go-v2/service/codecommit v1.31.0 h1:Zen0PfPRG8lStgXUeuNxv github.com/aws/aws-sdk-go-v2/service/codecommit v1.31.0/go.mod h1:OsWM+ToUGgq2s3odxVhJazzPUvmC5PTc/dnaV3Lotow= github.com/aws/aws-sdk-go-v2/service/codeconnections v1.9.0 h1:B0MOHup8sByXTFmHBa0Gtx31IUPypG1IIN/Fb/c3p7Y= github.com/aws/aws-sdk-go-v2/service/codeconnections v1.9.0/go.mod h1:/LWsV6gbnhvGjoh8VYYoCPLvmJARA8YrZ6c4YBQnPK0= -github.com/aws/aws-sdk-go-v2/service/codedeploy v1.32.0 h1:PHX06bkOdv1UJHtI2M9ELpPIYrfRUvEXDVby24+kyig= -github.com/aws/aws-sdk-go-v2/service/codedeploy v1.32.0/go.mod h1:Kl0CnLEkSe4LQqoioPDwcvU2E++vkunyW3wVrKessPc= +github.com/aws/aws-sdk-go-v2/service/codedeploy v1.33.0 h1:3YI4ckLMF0x8IgZJaNz81aaUCnPSEvn9DqDZKkBBi2Q= +github.com/aws/aws-sdk-go-v2/service/codedeploy v1.33.0/go.mod h1:OGx3gxawc0hbWRDXdCjBvNge9lca3jVugD3B+4FzdFw= github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.27.0 h1:VSNGyDlucRnMWFu1xV9LMcfqbmWz8+0gcrYKmM0ENxQ= github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.27.0/go.mod h1:trcwSnDAuhnWVGSkvIzi8B2Rq09lkUWw2xLV381k9F0= github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.32.0 h1:RFXWXJSZeHGwB0s8MmnKDEYzIoe65GlZoVjfkPJmgpU= From b5fedc3c25c67a506aba3ab40ea5ea08030dbeeb Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:20 -0400 Subject: [PATCH 0879/1301] go get github.com/aws/aws-sdk-go-v2/service/codeguruprofiler. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 32c5afb83d07..99eed2c4f8b9 100644 --- a/go.mod +++ b/go.mod @@ -68,7 +68,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/codecommit v1.31.0 github.com/aws/aws-sdk-go-v2/service/codeconnections v1.9.0 github.com/aws/aws-sdk-go-v2/service/codedeploy v1.33.0 - github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.27.0 + github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.28.0 github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.32.0 github.com/aws/aws-sdk-go-v2/service/codepipeline v1.44.0 github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.32.0 diff --git a/go.sum b/go.sum index 7fb1777337aa..1dacac3b1414 100644 --- a/go.sum +++ b/go.sum @@ -147,8 +147,8 @@ github.com/aws/aws-sdk-go-v2/service/codeconnections v1.9.0 h1:B0MOHup8sByXTFmHB github.com/aws/aws-sdk-go-v2/service/codeconnections v1.9.0/go.mod h1:/LWsV6gbnhvGjoh8VYYoCPLvmJARA8YrZ6c4YBQnPK0= github.com/aws/aws-sdk-go-v2/service/codedeploy v1.33.0 h1:3YI4ckLMF0x8IgZJaNz81aaUCnPSEvn9DqDZKkBBi2Q= github.com/aws/aws-sdk-go-v2/service/codedeploy v1.33.0/go.mod h1:OGx3gxawc0hbWRDXdCjBvNge9lca3jVugD3B+4FzdFw= -github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.27.0 h1:VSNGyDlucRnMWFu1xV9LMcfqbmWz8+0gcrYKmM0ENxQ= -github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.27.0/go.mod h1:trcwSnDAuhnWVGSkvIzi8B2Rq09lkUWw2xLV381k9F0= +github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.28.0 h1:ZY7lzj4WCPPMSU0PU3FV6Lnx0VzWe9mjlu60YBMkGGE= +github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.28.0/go.mod h1:uiGz8IkroknF/60Jb4ORQmcMw8EXyDKzgOt4BWn6hJg= github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.32.0 h1:RFXWXJSZeHGwB0s8MmnKDEYzIoe65GlZoVjfkPJmgpU= github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.32.0/go.mod h1:uJ/ig0xo6LTLoXv1UZKiCAMhMCGofitZBeu1hU8r3+I= github.com/aws/aws-sdk-go-v2/service/codepipeline v1.44.0 h1:uDyvWWCg52jNkZK3XxZ/KDKUHR6i5frkm95OgIrNvhc= From 7ff147f82701d0ffff2a2021584db8e8ab8a4dd5 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:21 -0400 Subject: [PATCH 0880/1301] go get github.com/aws/aws-sdk-go-v2/service/codegurureviewer. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 99eed2c4f8b9..512681655364 100644 --- a/go.mod +++ b/go.mod @@ -69,7 +69,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/codeconnections v1.9.0 github.com/aws/aws-sdk-go-v2/service/codedeploy v1.33.0 github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.28.0 - github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.32.0 + github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.33.0 github.com/aws/aws-sdk-go-v2/service/codepipeline v1.44.0 github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.32.0 github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.29.0 diff --git a/go.sum b/go.sum index 1dacac3b1414..5802d813c0bf 100644 --- a/go.sum +++ b/go.sum @@ -149,8 +149,8 @@ github.com/aws/aws-sdk-go-v2/service/codedeploy v1.33.0 h1:3YI4ckLMF0x8IgZJaNz81 github.com/aws/aws-sdk-go-v2/service/codedeploy v1.33.0/go.mod h1:OGx3gxawc0hbWRDXdCjBvNge9lca3jVugD3B+4FzdFw= github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.28.0 h1:ZY7lzj4WCPPMSU0PU3FV6Lnx0VzWe9mjlu60YBMkGGE= github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.28.0/go.mod h1:uiGz8IkroknF/60Jb4ORQmcMw8EXyDKzgOt4BWn6hJg= -github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.32.0 h1:RFXWXJSZeHGwB0s8MmnKDEYzIoe65GlZoVjfkPJmgpU= -github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.32.0/go.mod h1:uJ/ig0xo6LTLoXv1UZKiCAMhMCGofitZBeu1hU8r3+I= +github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.33.0 h1:GN7I0M4vUQcc7BdwKqv2ly17OBeSPGfqm39BB1qFNkY= +github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.33.0/go.mod h1:LN5B61rqDh0EmmqAjIq7n0DUILP21RsFy2FWs5W39VY= github.com/aws/aws-sdk-go-v2/service/codepipeline v1.44.0 h1:uDyvWWCg52jNkZK3XxZ/KDKUHR6i5frkm95OgIrNvhc= github.com/aws/aws-sdk-go-v2/service/codepipeline v1.44.0/go.mod h1:dCgth/lQudLt1s1AcZVYv6JElD1S6SYm4IF2Vx26bI8= github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.32.0 h1:SVqD1PIAnx6/nWmwW4oCaW4axUgH+B6UpSY0NDCCrRE= From 1fe5b8f36a82a7928b18a25e0d07f48672f5bfe5 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:22 -0400 Subject: [PATCH 0881/1301] go get github.com/aws/aws-sdk-go-v2/service/codepipeline. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 512681655364..b102c147c54e 100644 --- a/go.mod +++ b/go.mod @@ -70,7 +70,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/codedeploy v1.33.0 github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.28.0 github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.33.0 - github.com/aws/aws-sdk-go-v2/service/codepipeline v1.44.0 + github.com/aws/aws-sdk-go-v2/service/codepipeline v1.45.0 github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.32.0 github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.29.0 github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.31.0 diff --git a/go.sum b/go.sum index 5802d813c0bf..c10eac3f813b 100644 --- a/go.sum +++ b/go.sum @@ -151,8 +151,8 @@ github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.28.0 h1:ZY7lzj4WCPPMSU0 github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.28.0/go.mod h1:uiGz8IkroknF/60Jb4ORQmcMw8EXyDKzgOt4BWn6hJg= github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.33.0 h1:GN7I0M4vUQcc7BdwKqv2ly17OBeSPGfqm39BB1qFNkY= github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.33.0/go.mod h1:LN5B61rqDh0EmmqAjIq7n0DUILP21RsFy2FWs5W39VY= -github.com/aws/aws-sdk-go-v2/service/codepipeline v1.44.0 h1:uDyvWWCg52jNkZK3XxZ/KDKUHR6i5frkm95OgIrNvhc= -github.com/aws/aws-sdk-go-v2/service/codepipeline v1.44.0/go.mod h1:dCgth/lQudLt1s1AcZVYv6JElD1S6SYm4IF2Vx26bI8= +github.com/aws/aws-sdk-go-v2/service/codepipeline v1.45.0 h1:UsHh9s5J3gW0WdAQ6bXekyEGZl2kCAMDPSsm7lzC6O4= +github.com/aws/aws-sdk-go-v2/service/codepipeline v1.45.0/go.mod h1:yQNvzfwnOPhssQgu5vPAI7HPOF4A13sdL8Q6fzu6Jss= github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.32.0 h1:SVqD1PIAnx6/nWmwW4oCaW4axUgH+B6UpSY0NDCCrRE= github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.32.0/go.mod h1:Jmw0a/S9yQUNCVV+un8ZE5LkmelsqF4vMIP7JjWHFtc= github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.29.0 h1:K+e6W3hgnYL5caTmtlKB2D0nsqHYi9Rye03Zz0VyuuI= From 9f5608593daf435984d79ecbb9bbb6bb4cc5458a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:24 -0400 Subject: [PATCH 0882/1301] go get github.com/aws/aws-sdk-go-v2/service/codestarconnections. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b102c147c54e..d2c326cbc63b 100644 --- a/go.mod +++ b/go.mod @@ -71,7 +71,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.28.0 github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.33.0 github.com/aws/aws-sdk-go-v2/service/codepipeline v1.45.0 - github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.32.0 + github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.33.0 github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.29.0 github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.31.0 github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.55.0 diff --git a/go.sum b/go.sum index c10eac3f813b..4dcabcdb4d3b 100644 --- a/go.sum +++ b/go.sum @@ -153,8 +153,8 @@ github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.33.0 h1:GN7I0M4vUQcc7Bd github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.33.0/go.mod h1:LN5B61rqDh0EmmqAjIq7n0DUILP21RsFy2FWs5W39VY= github.com/aws/aws-sdk-go-v2/service/codepipeline v1.45.0 h1:UsHh9s5J3gW0WdAQ6bXekyEGZl2kCAMDPSsm7lzC6O4= github.com/aws/aws-sdk-go-v2/service/codepipeline v1.45.0/go.mod h1:yQNvzfwnOPhssQgu5vPAI7HPOF4A13sdL8Q6fzu6Jss= -github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.32.0 h1:SVqD1PIAnx6/nWmwW4oCaW4axUgH+B6UpSY0NDCCrRE= -github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.32.0/go.mod h1:Jmw0a/S9yQUNCVV+un8ZE5LkmelsqF4vMIP7JjWHFtc= +github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.33.0 h1:yT67LHPTvlQ4pWq21DQSd8Fv8ERRDmsZCB2HQ1UjOvY= +github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.33.0/go.mod h1:cAIrqVfSEiixle0xrVTIFhI9PdJCmHPNGbhX2ZH+5Ho= github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.29.0 h1:K+e6W3hgnYL5caTmtlKB2D0nsqHYi9Rye03Zz0VyuuI= github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.29.0/go.mod h1:M5+qaBchhL2wQjhkkiZtPB1vARELZvrudYOHhhRzfQg= github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.31.0 h1:zdCXwCQo/M62euQql/gQDJgN3x4IUH2zPhPySrx1chk= From 884fabd1ebbb97bc1fb4f25fd88c969bd8dbf5ed Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:25 -0400 Subject: [PATCH 0883/1301] go get github.com/aws/aws-sdk-go-v2/service/codestarnotifications. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d2c326cbc63b..554d1067a079 100644 --- a/go.mod +++ b/go.mod @@ -72,7 +72,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.33.0 github.com/aws/aws-sdk-go-v2/service/codepipeline v1.45.0 github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.33.0 - github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.29.0 + github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.30.0 github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.31.0 github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.55.0 github.com/aws/aws-sdk-go-v2/service/comprehend v1.38.0 diff --git a/go.sum b/go.sum index 4dcabcdb4d3b..97a50730294d 100644 --- a/go.sum +++ b/go.sum @@ -155,8 +155,8 @@ github.com/aws/aws-sdk-go-v2/service/codepipeline v1.45.0 h1:UsHh9s5J3gW0WdAQ6bX github.com/aws/aws-sdk-go-v2/service/codepipeline v1.45.0/go.mod h1:yQNvzfwnOPhssQgu5vPAI7HPOF4A13sdL8Q6fzu6Jss= github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.33.0 h1:yT67LHPTvlQ4pWq21DQSd8Fv8ERRDmsZCB2HQ1UjOvY= github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.33.0/go.mod h1:cAIrqVfSEiixle0xrVTIFhI9PdJCmHPNGbhX2ZH+5Ho= -github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.29.0 h1:K+e6W3hgnYL5caTmtlKB2D0nsqHYi9Rye03Zz0VyuuI= -github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.29.0/go.mod h1:M5+qaBchhL2wQjhkkiZtPB1vARELZvrudYOHhhRzfQg= +github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.30.0 h1:L35FZUTiamMITQUbVY2Y593ZE/z5NXu0Qf7AEhBOQng= +github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.30.0/go.mod h1:fqp3NJHc6O/LQMtoocsMxGGeAO9LKiLEv9cDXG2uHxw= github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.31.0 h1:zdCXwCQo/M62euQql/gQDJgN3x4IUH2zPhPySrx1chk= github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.31.0/go.mod h1:VNqYrKczE/NTZ4l7EQhC9l1qyXETcgEY09FN584Llkw= github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.55.0 h1:0WmwdwAbMJw1XWhjE65Xv+3mtCH0likwg3d1DaCAqvw= From 2d88fd8cebb5a981f568edce6e86adf70fd553af Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:26 -0400 Subject: [PATCH 0884/1301] go get github.com/aws/aws-sdk-go-v2/service/cognitoidentity. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 554d1067a079..42d8a2041f38 100644 --- a/go.mod +++ b/go.mod @@ -73,7 +73,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/codepipeline v1.45.0 github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.33.0 github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.30.0 - github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.31.0 + github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.32.0 github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.55.0 github.com/aws/aws-sdk-go-v2/service/comprehend v1.38.0 github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.45.0 diff --git a/go.sum b/go.sum index 97a50730294d..c97877622e40 100644 --- a/go.sum +++ b/go.sum @@ -157,8 +157,8 @@ github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.33.0 h1:yT67LHPTvlQ4 github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.33.0/go.mod h1:cAIrqVfSEiixle0xrVTIFhI9PdJCmHPNGbhX2ZH+5Ho= github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.30.0 h1:L35FZUTiamMITQUbVY2Y593ZE/z5NXu0Qf7AEhBOQng= github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.30.0/go.mod h1:fqp3NJHc6O/LQMtoocsMxGGeAO9LKiLEv9cDXG2uHxw= -github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.31.0 h1:zdCXwCQo/M62euQql/gQDJgN3x4IUH2zPhPySrx1chk= -github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.31.0/go.mod h1:VNqYrKczE/NTZ4l7EQhC9l1qyXETcgEY09FN584Llkw= +github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.32.0 h1:MybdZxWB1n6eljU2GuRXvrWXGW8YfFO3Iavml4qxnD4= +github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.32.0/go.mod h1:6Xk2rhL0WJmxuJUzMNeFafKcQVF5iQWsSouJDHJo7YE= github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.55.0 h1:0WmwdwAbMJw1XWhjE65Xv+3mtCH0likwg3d1DaCAqvw= github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.55.0/go.mod h1:XG40nxqr+s9i1ceNxNnwEKpvhV7XJDSuoJHjL+6yRZA= github.com/aws/aws-sdk-go-v2/service/comprehend v1.38.0 h1:BfH3iZdWIRFtWZ32bgL1+L1hvzvRZQUbtpHmutWk0UQ= From cb9df861295ddda2e371dc890a760cf0bcf94769 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:27 -0400 Subject: [PATCH 0885/1301] go get github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 42d8a2041f38..7f4aa2d2d2cd 100644 --- a/go.mod +++ b/go.mod @@ -74,7 +74,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.33.0 github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.30.0 github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.32.0 - github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.55.0 + github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.56.0 github.com/aws/aws-sdk-go-v2/service/comprehend v1.38.0 github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.45.0 github.com/aws/aws-sdk-go-v2/service/configservice v1.55.0 diff --git a/go.sum b/go.sum index c97877622e40..e1bb8c2443d4 100644 --- a/go.sum +++ b/go.sum @@ -159,8 +159,8 @@ github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.30.0 h1:L35FZUTiam github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.30.0/go.mod h1:fqp3NJHc6O/LQMtoocsMxGGeAO9LKiLEv9cDXG2uHxw= github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.32.0 h1:MybdZxWB1n6eljU2GuRXvrWXGW8YfFO3Iavml4qxnD4= github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.32.0/go.mod h1:6Xk2rhL0WJmxuJUzMNeFafKcQVF5iQWsSouJDHJo7YE= -github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.55.0 h1:0WmwdwAbMJw1XWhjE65Xv+3mtCH0likwg3d1DaCAqvw= -github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.55.0/go.mod h1:XG40nxqr+s9i1ceNxNnwEKpvhV7XJDSuoJHjL+6yRZA= +github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.56.0 h1:0WVvuvoDZnwF/KAVGQc/utCamQUNa+vctMH9iZqfg/0= +github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.56.0/go.mod h1:DuMkTI7zRRP+kWbSt0+SnE2qXdQp9YUCZckt+rDDH7Q= github.com/aws/aws-sdk-go-v2/service/comprehend v1.38.0 h1:BfH3iZdWIRFtWZ32bgL1+L1hvzvRZQUbtpHmutWk0UQ= github.com/aws/aws-sdk-go-v2/service/comprehend v1.38.0/go.mod h1:ssJ/Mv2wWVTh5hG09fGCCnQOfOeOVG3/7zVcxMGatvo= github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.45.0 h1:6L0Q42EJrrPVL48g9nOuNgNE2r/5nHU0pVCzc79P19c= From a9281b3957171f6287387c2a227a3d81a1bcfab9 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:28 -0400 Subject: [PATCH 0886/1301] go get github.com/aws/aws-sdk-go-v2/service/comprehend. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7f4aa2d2d2cd..66c471406364 100644 --- a/go.mod +++ b/go.mod @@ -75,7 +75,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.30.0 github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.32.0 github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.56.0 - github.com/aws/aws-sdk-go-v2/service/comprehend v1.38.0 + github.com/aws/aws-sdk-go-v2/service/comprehend v1.39.0 github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.45.0 github.com/aws/aws-sdk-go-v2/service/configservice v1.55.0 github.com/aws/aws-sdk-go-v2/service/connect v1.134.0 diff --git a/go.sum b/go.sum index e1bb8c2443d4..42c01c8f2f4f 100644 --- a/go.sum +++ b/go.sum @@ -161,8 +161,8 @@ github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.32.0 h1:MybdZxWB1n6eljU2 github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.32.0/go.mod h1:6Xk2rhL0WJmxuJUzMNeFafKcQVF5iQWsSouJDHJo7YE= github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.56.0 h1:0WVvuvoDZnwF/KAVGQc/utCamQUNa+vctMH9iZqfg/0= github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.56.0/go.mod h1:DuMkTI7zRRP+kWbSt0+SnE2qXdQp9YUCZckt+rDDH7Q= -github.com/aws/aws-sdk-go-v2/service/comprehend v1.38.0 h1:BfH3iZdWIRFtWZ32bgL1+L1hvzvRZQUbtpHmutWk0UQ= -github.com/aws/aws-sdk-go-v2/service/comprehend v1.38.0/go.mod h1:ssJ/Mv2wWVTh5hG09fGCCnQOfOeOVG3/7zVcxMGatvo= +github.com/aws/aws-sdk-go-v2/service/comprehend v1.39.0 h1:1T63UDiImeXzq1itj5CAv0S2i89BnVqKyz9pVbQtC4c= +github.com/aws/aws-sdk-go-v2/service/comprehend v1.39.0/go.mod h1:GjEauPr57vlcBPWW1DyiqkNySZRnMZBf/SmRPwqIXOs= github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.45.0 h1:6L0Q42EJrrPVL48g9nOuNgNE2r/5nHU0pVCzc79P19c= github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.45.0/go.mod h1:moeEA/s0wSAhXmQcy2mTjAtm5Q+rhZDI8gJxZxVRIGk= github.com/aws/aws-sdk-go-v2/service/configservice v1.55.0 h1:Xl8gWAZJVlVfXJ8BKQP+pmy4wp+ne/dAUtS5g68KnOc= From deacc7654634098c584b795387b574fc3812a507 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:30 -0400 Subject: [PATCH 0887/1301] go get github.com/aws/aws-sdk-go-v2/service/computeoptimizer. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 66c471406364..3185df1bae90 100644 --- a/go.mod +++ b/go.mod @@ -76,7 +76,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.32.0 github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.56.0 github.com/aws/aws-sdk-go-v2/service/comprehend v1.39.0 - github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.45.0 + github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.46.0 github.com/aws/aws-sdk-go-v2/service/configservice v1.55.0 github.com/aws/aws-sdk-go-v2/service/connect v1.134.0 github.com/aws/aws-sdk-go-v2/service/connectcases v1.28.0 diff --git a/go.sum b/go.sum index 42c01c8f2f4f..2dba3f6c0383 100644 --- a/go.sum +++ b/go.sum @@ -163,8 +163,8 @@ github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.56.0 h1:0WVvuvoD github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.56.0/go.mod h1:DuMkTI7zRRP+kWbSt0+SnE2qXdQp9YUCZckt+rDDH7Q= github.com/aws/aws-sdk-go-v2/service/comprehend v1.39.0 h1:1T63UDiImeXzq1itj5CAv0S2i89BnVqKyz9pVbQtC4c= github.com/aws/aws-sdk-go-v2/service/comprehend v1.39.0/go.mod h1:GjEauPr57vlcBPWW1DyiqkNySZRnMZBf/SmRPwqIXOs= -github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.45.0 h1:6L0Q42EJrrPVL48g9nOuNgNE2r/5nHU0pVCzc79P19c= -github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.45.0/go.mod h1:moeEA/s0wSAhXmQcy2mTjAtm5Q+rhZDI8gJxZxVRIGk= +github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.46.0 h1:Z5DPlFHw3vVGN8p0jKqVChgffqMXQkMe3vm4agmgvII= +github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.46.0/go.mod h1:eYtOdX3+8Uj0HjOytehszSvtuTpSCsCzlKEriU8xifk= github.com/aws/aws-sdk-go-v2/service/configservice v1.55.0 h1:Xl8gWAZJVlVfXJ8BKQP+pmy4wp+ne/dAUtS5g68KnOc= github.com/aws/aws-sdk-go-v2/service/configservice v1.55.0/go.mod h1:HJ5pf1PwMaGldNUKWpczuf3HscpY0zXRKwyBA44IaFY= github.com/aws/aws-sdk-go-v2/service/connect v1.134.0 h1:/B+9jXQitY0sHwZIO89ryMmnAP0X3ypWejYnajjaTzE= From 61b4527b90a6979fcc70c67b7f76471d56526678 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:31 -0400 Subject: [PATCH 0888/1301] go get github.com/aws/aws-sdk-go-v2/service/configservice. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 3185df1bae90..07536277ab01 100644 --- a/go.mod +++ b/go.mod @@ -77,7 +77,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.56.0 github.com/aws/aws-sdk-go-v2/service/comprehend v1.39.0 github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.46.0 - github.com/aws/aws-sdk-go-v2/service/configservice v1.55.0 + github.com/aws/aws-sdk-go-v2/service/configservice v1.56.0 github.com/aws/aws-sdk-go-v2/service/connect v1.134.0 github.com/aws/aws-sdk-go-v2/service/connectcases v1.28.0 github.com/aws/aws-sdk-go-v2/service/controltower v1.24.0 diff --git a/go.sum b/go.sum index 2dba3f6c0383..c504ca95e942 100644 --- a/go.sum +++ b/go.sum @@ -165,8 +165,8 @@ github.com/aws/aws-sdk-go-v2/service/comprehend v1.39.0 h1:1T63UDiImeXzq1itj5CAv github.com/aws/aws-sdk-go-v2/service/comprehend v1.39.0/go.mod h1:GjEauPr57vlcBPWW1DyiqkNySZRnMZBf/SmRPwqIXOs= github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.46.0 h1:Z5DPlFHw3vVGN8p0jKqVChgffqMXQkMe3vm4agmgvII= github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.46.0/go.mod h1:eYtOdX3+8Uj0HjOytehszSvtuTpSCsCzlKEriU8xifk= -github.com/aws/aws-sdk-go-v2/service/configservice v1.55.0 h1:Xl8gWAZJVlVfXJ8BKQP+pmy4wp+ne/dAUtS5g68KnOc= -github.com/aws/aws-sdk-go-v2/service/configservice v1.55.0/go.mod h1:HJ5pf1PwMaGldNUKWpczuf3HscpY0zXRKwyBA44IaFY= +github.com/aws/aws-sdk-go-v2/service/configservice v1.56.0 h1:BFDPvTQk/+BM9T8I6uHhtmur8uaroCXoJ0AI2kpNO1U= +github.com/aws/aws-sdk-go-v2/service/configservice v1.56.0/go.mod h1:46dDCtKXik+9IWU9oEOKBWzfQnyqn7EsmPnFUT7zqQw= github.com/aws/aws-sdk-go-v2/service/connect v1.134.0 h1:/B+9jXQitY0sHwZIO89ryMmnAP0X3ypWejYnajjaTzE= github.com/aws/aws-sdk-go-v2/service/connect v1.134.0/go.mod h1:SG9D1SyE7QBNPmrzOU3SMb1uHl/vOiu52HZdetka4b4= github.com/aws/aws-sdk-go-v2/service/connectcases v1.28.0 h1:Il7H8Syx1lhWVQ7dyAhnmX5s6SoTVmbhpgfQcMc+Ijk= From 1740010c0ac1b7663153b8ca329e9458f526604b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:32 -0400 Subject: [PATCH 0889/1301] go get github.com/aws/aws-sdk-go-v2/service/connect. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 07536277ab01..cca42bc6a834 100644 --- a/go.mod +++ b/go.mod @@ -78,7 +78,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/comprehend v1.39.0 github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.46.0 github.com/aws/aws-sdk-go-v2/service/configservice v1.56.0 - github.com/aws/aws-sdk-go-v2/service/connect v1.134.0 + github.com/aws/aws-sdk-go-v2/service/connect v1.135.0 github.com/aws/aws-sdk-go-v2/service/connectcases v1.28.0 github.com/aws/aws-sdk-go-v2/service/controltower v1.24.0 github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.31.0 diff --git a/go.sum b/go.sum index c504ca95e942..8b165ded311a 100644 --- a/go.sum +++ b/go.sum @@ -167,8 +167,8 @@ github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.46.0 h1:Z5DPlFHw3vVGN8p github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.46.0/go.mod h1:eYtOdX3+8Uj0HjOytehszSvtuTpSCsCzlKEriU8xifk= github.com/aws/aws-sdk-go-v2/service/configservice v1.56.0 h1:BFDPvTQk/+BM9T8I6uHhtmur8uaroCXoJ0AI2kpNO1U= github.com/aws/aws-sdk-go-v2/service/configservice v1.56.0/go.mod h1:46dDCtKXik+9IWU9oEOKBWzfQnyqn7EsmPnFUT7zqQw= -github.com/aws/aws-sdk-go-v2/service/connect v1.134.0 h1:/B+9jXQitY0sHwZIO89ryMmnAP0X3ypWejYnajjaTzE= -github.com/aws/aws-sdk-go-v2/service/connect v1.134.0/go.mod h1:SG9D1SyE7QBNPmrzOU3SMb1uHl/vOiu52HZdetka4b4= +github.com/aws/aws-sdk-go-v2/service/connect v1.135.0 h1:pbB8nhUG+FyR29DSfnodqTTD8iiihSP4+PffWceQTQI= +github.com/aws/aws-sdk-go-v2/service/connect v1.135.0/go.mod h1:UNYwIAeewfxeNd8AraZR/l1oj8sVfsz71JmSm0c+yhA= github.com/aws/aws-sdk-go-v2/service/connectcases v1.28.0 h1:Il7H8Syx1lhWVQ7dyAhnmX5s6SoTVmbhpgfQcMc+Ijk= github.com/aws/aws-sdk-go-v2/service/connectcases v1.28.0/go.mod h1:yyZCnX4vIiFOhcHzP1vCOOXTybYt+sJjsesvFHIKZ+c= github.com/aws/aws-sdk-go-v2/service/controltower v1.24.0 h1:GqMI2xbsngIXKK9u0n7Uq9tlmOeuxqkXfF4JS7EiuWo= From 9b6c213b994b6724992d6182bdbbe64297a8864a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:33 -0400 Subject: [PATCH 0890/1301] go get github.com/aws/aws-sdk-go-v2/service/connectcases. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index cca42bc6a834..43170cd1a200 100644 --- a/go.mod +++ b/go.mod @@ -79,7 +79,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.46.0 github.com/aws/aws-sdk-go-v2/service/configservice v1.56.0 github.com/aws/aws-sdk-go-v2/service/connect v1.135.0 - github.com/aws/aws-sdk-go-v2/service/connectcases v1.28.0 + github.com/aws/aws-sdk-go-v2/service/connectcases v1.29.0 github.com/aws/aws-sdk-go-v2/service/controltower v1.24.0 github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.31.0 github.com/aws/aws-sdk-go-v2/service/costexplorer v1.53.0 diff --git a/go.sum b/go.sum index 8b165ded311a..49e0128bd69e 100644 --- a/go.sum +++ b/go.sum @@ -169,8 +169,8 @@ github.com/aws/aws-sdk-go-v2/service/configservice v1.56.0 h1:BFDPvTQk/+BM9T8I6u github.com/aws/aws-sdk-go-v2/service/configservice v1.56.0/go.mod h1:46dDCtKXik+9IWU9oEOKBWzfQnyqn7EsmPnFUT7zqQw= github.com/aws/aws-sdk-go-v2/service/connect v1.135.0 h1:pbB8nhUG+FyR29DSfnodqTTD8iiihSP4+PffWceQTQI= github.com/aws/aws-sdk-go-v2/service/connect v1.135.0/go.mod h1:UNYwIAeewfxeNd8AraZR/l1oj8sVfsz71JmSm0c+yhA= -github.com/aws/aws-sdk-go-v2/service/connectcases v1.28.0 h1:Il7H8Syx1lhWVQ7dyAhnmX5s6SoTVmbhpgfQcMc+Ijk= -github.com/aws/aws-sdk-go-v2/service/connectcases v1.28.0/go.mod h1:yyZCnX4vIiFOhcHzP1vCOOXTybYt+sJjsesvFHIKZ+c= +github.com/aws/aws-sdk-go-v2/service/connectcases v1.29.0 h1:F0hhZPgGQ/JNbd1fgaoooW9Wpi/uMwipeKYjJpeeRfQ= +github.com/aws/aws-sdk-go-v2/service/connectcases v1.29.0/go.mod h1:jYSsyjaru199f/yo0FRn5Z9/BnQEq/XLAl89ksJBe9c= github.com/aws/aws-sdk-go-v2/service/controltower v1.24.0 h1:GqMI2xbsngIXKK9u0n7Uq9tlmOeuxqkXfF4JS7EiuWo= github.com/aws/aws-sdk-go-v2/service/controltower v1.24.0/go.mod h1:Wd1uRXhy8eruccPAIexw7rroEP3pNmywpaIYJPOaxeU= github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.31.0 h1:5OmrdE3scZzl0O9ZbHUZMQMSMN1YCCnf6+vVbD511UI= From 579b1b135d340221b12a2ce739a787bb9a0a1107 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:34 -0400 Subject: [PATCH 0891/1301] go get github.com/aws/aws-sdk-go-v2/service/controltower. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 43170cd1a200..7e357704f90c 100644 --- a/go.mod +++ b/go.mod @@ -80,7 +80,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/configservice v1.56.0 github.com/aws/aws-sdk-go-v2/service/connect v1.135.0 github.com/aws/aws-sdk-go-v2/service/connectcases v1.29.0 - github.com/aws/aws-sdk-go-v2/service/controltower v1.24.0 + github.com/aws/aws-sdk-go-v2/service/controltower v1.25.0 github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.31.0 github.com/aws/aws-sdk-go-v2/service/costexplorer v1.53.0 github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.18.0 diff --git a/go.sum b/go.sum index 49e0128bd69e..85b9f84943d6 100644 --- a/go.sum +++ b/go.sum @@ -171,8 +171,8 @@ github.com/aws/aws-sdk-go-v2/service/connect v1.135.0 h1:pbB8nhUG+FyR29DSfnodqTT github.com/aws/aws-sdk-go-v2/service/connect v1.135.0/go.mod h1:UNYwIAeewfxeNd8AraZR/l1oj8sVfsz71JmSm0c+yhA= github.com/aws/aws-sdk-go-v2/service/connectcases v1.29.0 h1:F0hhZPgGQ/JNbd1fgaoooW9Wpi/uMwipeKYjJpeeRfQ= github.com/aws/aws-sdk-go-v2/service/connectcases v1.29.0/go.mod h1:jYSsyjaru199f/yo0FRn5Z9/BnQEq/XLAl89ksJBe9c= -github.com/aws/aws-sdk-go-v2/service/controltower v1.24.0 h1:GqMI2xbsngIXKK9u0n7Uq9tlmOeuxqkXfF4JS7EiuWo= -github.com/aws/aws-sdk-go-v2/service/controltower v1.24.0/go.mod h1:Wd1uRXhy8eruccPAIexw7rroEP3pNmywpaIYJPOaxeU= +github.com/aws/aws-sdk-go-v2/service/controltower v1.25.0 h1:oWlHOpu0G3VxhnBirGF/0Tn+euvARocShoTs2Wo2wgY= +github.com/aws/aws-sdk-go-v2/service/controltower v1.25.0/go.mod h1:lGLCOsEUl7bFyjKgcp4ka3GHia6C1hTasvWGGFlaQ6Y= github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.31.0 h1:5OmrdE3scZzl0O9ZbHUZMQMSMN1YCCnf6+vVbD511UI= github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.31.0/go.mod h1:WAXGRf4GydDydvvh9DBVXsqq+0FPnPGlc8hVvF0G+ek= github.com/aws/aws-sdk-go-v2/service/costexplorer v1.53.0 h1:VcccLOrD/qXf+7OPJz2tWn5SnshpIbjlU8+jORroTAc= From 3001b91ed937e182c87ee96427c279c7fa1b258d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:35 -0400 Subject: [PATCH 0892/1301] go get github.com/aws/aws-sdk-go-v2/service/costandusagereportservice. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7e357704f90c..af5ad91d51d8 100644 --- a/go.mod +++ b/go.mod @@ -81,7 +81,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/connect v1.135.0 github.com/aws/aws-sdk-go-v2/service/connectcases v1.29.0 github.com/aws/aws-sdk-go-v2/service/controltower v1.25.0 - github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.31.0 + github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.32.0 github.com/aws/aws-sdk-go-v2/service/costexplorer v1.53.0 github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.18.0 github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.50.0 diff --git a/go.sum b/go.sum index 85b9f84943d6..b7bbc0cf3e64 100644 --- a/go.sum +++ b/go.sum @@ -173,8 +173,8 @@ github.com/aws/aws-sdk-go-v2/service/connectcases v1.29.0 h1:F0hhZPgGQ/JNbd1fgao github.com/aws/aws-sdk-go-v2/service/connectcases v1.29.0/go.mod h1:jYSsyjaru199f/yo0FRn5Z9/BnQEq/XLAl89ksJBe9c= github.com/aws/aws-sdk-go-v2/service/controltower v1.25.0 h1:oWlHOpu0G3VxhnBirGF/0Tn+euvARocShoTs2Wo2wgY= github.com/aws/aws-sdk-go-v2/service/controltower v1.25.0/go.mod h1:lGLCOsEUl7bFyjKgcp4ka3GHia6C1hTasvWGGFlaQ6Y= -github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.31.0 h1:5OmrdE3scZzl0O9ZbHUZMQMSMN1YCCnf6+vVbD511UI= -github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.31.0/go.mod h1:WAXGRf4GydDydvvh9DBVXsqq+0FPnPGlc8hVvF0G+ek= +github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.32.0 h1:LiLWwq5mYglYoksyMXV/L0ZLw+dtnIGXvpoAMri2zEs= +github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.32.0/go.mod h1:es7bS0XlU7PJHV3VFHuwPgFXvHtFzkC+9i5omJt+5Ug= github.com/aws/aws-sdk-go-v2/service/costexplorer v1.53.0 h1:VcccLOrD/qXf+7OPJz2tWn5SnshpIbjlU8+jORroTAc= github.com/aws/aws-sdk-go-v2/service/costexplorer v1.53.0/go.mod h1:cwD17qE4SFbx3dF5K5pJCljAP5s42ClDPr7sQYehngY= github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.18.0 h1:Qw2xhORM48yggaIIxx0JHZkqY05GMBkKbTZ4/Nlk6K0= From 301d3ad0e48e4120b59fc318964f48e33f30c738 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:36 -0400 Subject: [PATCH 0893/1301] go get github.com/aws/aws-sdk-go-v2/service/costexplorer. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index af5ad91d51d8..2853e4c092e6 100644 --- a/go.mod +++ b/go.mod @@ -82,7 +82,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/connectcases v1.29.0 github.com/aws/aws-sdk-go-v2/service/controltower v1.25.0 github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.32.0 - github.com/aws/aws-sdk-go-v2/service/costexplorer v1.53.0 + github.com/aws/aws-sdk-go-v2/service/costexplorer v1.54.0 github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.18.0 github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.50.0 github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.55.0 diff --git a/go.sum b/go.sum index b7bbc0cf3e64..9d73aca5829d 100644 --- a/go.sum +++ b/go.sum @@ -175,8 +175,8 @@ github.com/aws/aws-sdk-go-v2/service/controltower v1.25.0 h1:oWlHOpu0G3VxhnBirGF github.com/aws/aws-sdk-go-v2/service/controltower v1.25.0/go.mod h1:lGLCOsEUl7bFyjKgcp4ka3GHia6C1hTasvWGGFlaQ6Y= github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.32.0 h1:LiLWwq5mYglYoksyMXV/L0ZLw+dtnIGXvpoAMri2zEs= github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.32.0/go.mod h1:es7bS0XlU7PJHV3VFHuwPgFXvHtFzkC+9i5omJt+5Ug= -github.com/aws/aws-sdk-go-v2/service/costexplorer v1.53.0 h1:VcccLOrD/qXf+7OPJz2tWn5SnshpIbjlU8+jORroTAc= -github.com/aws/aws-sdk-go-v2/service/costexplorer v1.53.0/go.mod h1:cwD17qE4SFbx3dF5K5pJCljAP5s42ClDPr7sQYehngY= +github.com/aws/aws-sdk-go-v2/service/costexplorer v1.54.0 h1:5e/C1PaQywGtklpMotdHKon/8MfsDyzJ9WFh0ge8G38= +github.com/aws/aws-sdk-go-v2/service/costexplorer v1.54.0/go.mod h1:tR04F/rUvoQ/5YFp3XS+SDB6pWc/Ls0f19WKA8PauDI= github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.18.0 h1:Qw2xhORM48yggaIIxx0JHZkqY05GMBkKbTZ4/Nlk6K0= github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.18.0/go.mod h1:UWmTogJwOTa4t/Uxee94BP5io+8Ax7sQvb49JfDycJs= github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.50.0 h1:jrKo1cDREuXUUJcGa80oNJmS60oUT8ZZuZf47Eop/1k= From 7dc4f16a2772c8a17c9ec560b7307d3aa55aed1c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:37 -0400 Subject: [PATCH 0894/1301] go get github.com/aws/aws-sdk-go-v2/service/costoptimizationhub. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 2853e4c092e6..31aca502d432 100644 --- a/go.mod +++ b/go.mod @@ -83,7 +83,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/controltower v1.25.0 github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.32.0 github.com/aws/aws-sdk-go-v2/service/costexplorer v1.54.0 - github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.18.0 + github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.19.0 github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.50.0 github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.55.0 github.com/aws/aws-sdk-go-v2/service/databrew v1.36.0 diff --git a/go.sum b/go.sum index 9d73aca5829d..39772ffb80dc 100644 --- a/go.sum +++ b/go.sum @@ -177,8 +177,8 @@ github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.32.0 h1:LiLWwq github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.32.0/go.mod h1:es7bS0XlU7PJHV3VFHuwPgFXvHtFzkC+9i5omJt+5Ug= github.com/aws/aws-sdk-go-v2/service/costexplorer v1.54.0 h1:5e/C1PaQywGtklpMotdHKon/8MfsDyzJ9WFh0ge8G38= github.com/aws/aws-sdk-go-v2/service/costexplorer v1.54.0/go.mod h1:tR04F/rUvoQ/5YFp3XS+SDB6pWc/Ls0f19WKA8PauDI= -github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.18.0 h1:Qw2xhORM48yggaIIxx0JHZkqY05GMBkKbTZ4/Nlk6K0= -github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.18.0/go.mod h1:UWmTogJwOTa4t/Uxee94BP5io+8Ax7sQvb49JfDycJs= +github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.19.0 h1:nRXBomiIJKLbn8tYbYp2hOmP6mejmzksC8SaekKBVD0= +github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.19.0/go.mod h1:6Zn4eLosXezMNnIpHy2YeOz7lPtoR5Bc69C5RCpeEd4= github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.50.0 h1:jrKo1cDREuXUUJcGa80oNJmS60oUT8ZZuZf47Eop/1k= github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.50.0/go.mod h1:NCs06jvgjsSE66kg2fHCRb39XpJAwIYFXeuYpriEvZI= github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.55.0 h1:LpAao9HUxs14aBKcaWZGvjNhn10CHQlWvQYdtK4Mhkg= From 9693e0d20a4355e7bbede5328a86f3de6028d6d6 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:38 -0400 Subject: [PATCH 0895/1301] go get github.com/aws/aws-sdk-go-v2/service/customerprofiles. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 31aca502d432..032becdeb584 100644 --- a/go.mod +++ b/go.mod @@ -84,7 +84,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.32.0 github.com/aws/aws-sdk-go-v2/service/costexplorer v1.54.0 github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.19.0 - github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.50.0 + github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.51.0 github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.55.0 github.com/aws/aws-sdk-go-v2/service/databrew v1.36.0 github.com/aws/aws-sdk-go-v2/service/dataexchange v1.37.0 diff --git a/go.sum b/go.sum index 39772ffb80dc..7aa7c0a1ba14 100644 --- a/go.sum +++ b/go.sum @@ -179,8 +179,8 @@ github.com/aws/aws-sdk-go-v2/service/costexplorer v1.54.0 h1:5e/C1PaQywGtklpMotd github.com/aws/aws-sdk-go-v2/service/costexplorer v1.54.0/go.mod h1:tR04F/rUvoQ/5YFp3XS+SDB6pWc/Ls0f19WKA8PauDI= github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.19.0 h1:nRXBomiIJKLbn8tYbYp2hOmP6mejmzksC8SaekKBVD0= github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.19.0/go.mod h1:6Zn4eLosXezMNnIpHy2YeOz7lPtoR5Bc69C5RCpeEd4= -github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.50.0 h1:jrKo1cDREuXUUJcGa80oNJmS60oUT8ZZuZf47Eop/1k= -github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.50.0/go.mod h1:NCs06jvgjsSE66kg2fHCRb39XpJAwIYFXeuYpriEvZI= +github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.51.0 h1:04V9n8NhsYlUFkn7IXKUeR6MpDq0XJ3eTXEJCJtYkdY= +github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.51.0/go.mod h1:35+xMcyogL7u49YQ3TJjJadjJWg8+LuDBdDgxyepZic= github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.55.0 h1:LpAao9HUxs14aBKcaWZGvjNhn10CHQlWvQYdtK4Mhkg= github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.55.0/go.mod h1:/fHYyXjfj53THx+bN9TLIADHqjVzsYOyJrvnRMp/df8= github.com/aws/aws-sdk-go-v2/service/databrew v1.36.0 h1:eL80XBaRTr4CIwgJSl3VJG4TlCLnP4Abg8utuDN1tRw= From 6d7a428495b01952535c0c20d71dfc002d78e47f Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:39 -0400 Subject: [PATCH 0896/1301] go get github.com/aws/aws-sdk-go-v2/service/databasemigrationservice. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 032becdeb584..94cddc9a57a3 100644 --- a/go.mod +++ b/go.mod @@ -85,7 +85,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/costexplorer v1.54.0 github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.19.0 github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.51.0 - github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.55.0 + github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.56.0 github.com/aws/aws-sdk-go-v2/service/databrew v1.36.0 github.com/aws/aws-sdk-go-v2/service/dataexchange v1.37.0 github.com/aws/aws-sdk-go-v2/service/datapipeline v1.28.0 diff --git a/go.sum b/go.sum index 7aa7c0a1ba14..81b64a20efd6 100644 --- a/go.sum +++ b/go.sum @@ -181,8 +181,8 @@ github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.19.0 h1:nRXBomiIJKLb github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.19.0/go.mod h1:6Zn4eLosXezMNnIpHy2YeOz7lPtoR5Bc69C5RCpeEd4= github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.51.0 h1:04V9n8NhsYlUFkn7IXKUeR6MpDq0XJ3eTXEJCJtYkdY= github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.51.0/go.mod h1:35+xMcyogL7u49YQ3TJjJadjJWg8+LuDBdDgxyepZic= -github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.55.0 h1:LpAao9HUxs14aBKcaWZGvjNhn10CHQlWvQYdtK4Mhkg= -github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.55.0/go.mod h1:/fHYyXjfj53THx+bN9TLIADHqjVzsYOyJrvnRMp/df8= +github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.56.0 h1:Ne8EdY5+nD81tsUgYwijc5Lbc1Dnn1ijCG8npw/yGhA= +github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.56.0/go.mod h1:9M7lHwBQ/U86clroDhC9PKzHjXicJHn1kOcrMNjzfXo= github.com/aws/aws-sdk-go-v2/service/databrew v1.36.0 h1:eL80XBaRTr4CIwgJSl3VJG4TlCLnP4Abg8utuDN1tRw= github.com/aws/aws-sdk-go-v2/service/databrew v1.36.0/go.mod h1:u3ErK72jmKHdoZt5Ds9bgHJ1XCSuyuIB1nvKvkkYYFk= github.com/aws/aws-sdk-go-v2/service/dataexchange v1.37.0 h1:8QbCaACtsGDYv+1MgDm7isYQEqGTc0osuLuxiW2CRDQ= From 351a6ae8af355cf9d14a650b70dfa63a6c4c234a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:41 -0400 Subject: [PATCH 0897/1301] go get github.com/aws/aws-sdk-go-v2/service/databrew. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 94cddc9a57a3..4b255226468d 100644 --- a/go.mod +++ b/go.mod @@ -86,7 +86,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.19.0 github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.51.0 github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.56.0 - github.com/aws/aws-sdk-go-v2/service/databrew v1.36.0 + github.com/aws/aws-sdk-go-v2/service/databrew v1.37.0 github.com/aws/aws-sdk-go-v2/service/dataexchange v1.37.0 github.com/aws/aws-sdk-go-v2/service/datapipeline v1.28.0 github.com/aws/aws-sdk-go-v2/service/datasync v1.52.0 diff --git a/go.sum b/go.sum index 81b64a20efd6..23732962f3d7 100644 --- a/go.sum +++ b/go.sum @@ -183,8 +183,8 @@ github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.51.0 h1:04V9n8NhsYlUFkn github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.51.0/go.mod h1:35+xMcyogL7u49YQ3TJjJadjJWg8+LuDBdDgxyepZic= github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.56.0 h1:Ne8EdY5+nD81tsUgYwijc5Lbc1Dnn1ijCG8npw/yGhA= github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.56.0/go.mod h1:9M7lHwBQ/U86clroDhC9PKzHjXicJHn1kOcrMNjzfXo= -github.com/aws/aws-sdk-go-v2/service/databrew v1.36.0 h1:eL80XBaRTr4CIwgJSl3VJG4TlCLnP4Abg8utuDN1tRw= -github.com/aws/aws-sdk-go-v2/service/databrew v1.36.0/go.mod h1:u3ErK72jmKHdoZt5Ds9bgHJ1XCSuyuIB1nvKvkkYYFk= +github.com/aws/aws-sdk-go-v2/service/databrew v1.37.0 h1:7vB0On4jaXFKzo71y89tWgv7LyrgXh4z5obihxV0IYg= +github.com/aws/aws-sdk-go-v2/service/databrew v1.37.0/go.mod h1:ukMQiiI+wmYPs3kMxbnUa/OqgDeJx+/euWAkoScrUtM= github.com/aws/aws-sdk-go-v2/service/dataexchange v1.37.0 h1:8QbCaACtsGDYv+1MgDm7isYQEqGTc0osuLuxiW2CRDQ= github.com/aws/aws-sdk-go-v2/service/dataexchange v1.37.0/go.mod h1:dCb9rZ739QDJZRTy2v2P3qYz4vc+RFx4T0Kd6e1Y3QY= github.com/aws/aws-sdk-go-v2/service/datapipeline v1.28.0 h1:ONEu7270NT+T2OLxKpdt2hl0lf2dfiqYyRNRDXGN2UM= From 6d2b7c1204f2f8fc73302a53f2d1d8e0b9632718 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:42 -0400 Subject: [PATCH 0898/1301] go get github.com/aws/aws-sdk-go-v2/service/dataexchange. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 4b255226468d..680ee97c8e02 100644 --- a/go.mod +++ b/go.mod @@ -87,7 +87,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.51.0 github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.56.0 github.com/aws/aws-sdk-go-v2/service/databrew v1.37.0 - github.com/aws/aws-sdk-go-v2/service/dataexchange v1.37.0 + github.com/aws/aws-sdk-go-v2/service/dataexchange v1.38.0 github.com/aws/aws-sdk-go-v2/service/datapipeline v1.28.0 github.com/aws/aws-sdk-go-v2/service/datasync v1.52.0 github.com/aws/aws-sdk-go-v2/service/datazone v1.35.0 diff --git a/go.sum b/go.sum index 23732962f3d7..6f05d60b72c9 100644 --- a/go.sum +++ b/go.sum @@ -185,8 +185,8 @@ github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.56.0 h1:Ne8EdY5 github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.56.0/go.mod h1:9M7lHwBQ/U86clroDhC9PKzHjXicJHn1kOcrMNjzfXo= github.com/aws/aws-sdk-go-v2/service/databrew v1.37.0 h1:7vB0On4jaXFKzo71y89tWgv7LyrgXh4z5obihxV0IYg= github.com/aws/aws-sdk-go-v2/service/databrew v1.37.0/go.mod h1:ukMQiiI+wmYPs3kMxbnUa/OqgDeJx+/euWAkoScrUtM= -github.com/aws/aws-sdk-go-v2/service/dataexchange v1.37.0 h1:8QbCaACtsGDYv+1MgDm7isYQEqGTc0osuLuxiW2CRDQ= -github.com/aws/aws-sdk-go-v2/service/dataexchange v1.37.0/go.mod h1:dCb9rZ739QDJZRTy2v2P3qYz4vc+RFx4T0Kd6e1Y3QY= +github.com/aws/aws-sdk-go-v2/service/dataexchange v1.38.0 h1:cSSIBQiQhVVjDOTCKPqp0jsJvfY/zHjKc7VJkIeAQas= +github.com/aws/aws-sdk-go-v2/service/dataexchange v1.38.0/go.mod h1:z9BGYSQJFFReD7cHnDrScpSYsCDa/1T2enrQ9sKA7yM= github.com/aws/aws-sdk-go-v2/service/datapipeline v1.28.0 h1:ONEu7270NT+T2OLxKpdt2hl0lf2dfiqYyRNRDXGN2UM= github.com/aws/aws-sdk-go-v2/service/datapipeline v1.28.0/go.mod h1:5MfUdmmH5Qpt8XIMET4CkFYf26XoQp9UUo9B2zR02qc= github.com/aws/aws-sdk-go-v2/service/datasync v1.52.0 h1:VEy9B26hfFF5Vn4tXBZ2NCcr81juq3wGcx+MUmKdkv0= From eba36fac207d8ac1892f81d2734ffcc747b72d98 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:43 -0400 Subject: [PATCH 0899/1301] go get github.com/aws/aws-sdk-go-v2/service/datapipeline. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 680ee97c8e02..244e3274641b 100644 --- a/go.mod +++ b/go.mod @@ -88,7 +88,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.56.0 github.com/aws/aws-sdk-go-v2/service/databrew v1.37.0 github.com/aws/aws-sdk-go-v2/service/dataexchange v1.38.0 - github.com/aws/aws-sdk-go-v2/service/datapipeline v1.28.0 + github.com/aws/aws-sdk-go-v2/service/datapipeline v1.29.0 github.com/aws/aws-sdk-go-v2/service/datasync v1.52.0 github.com/aws/aws-sdk-go-v2/service/datazone v1.35.0 github.com/aws/aws-sdk-go-v2/service/dax v1.26.0 diff --git a/go.sum b/go.sum index 6f05d60b72c9..7530d23ae423 100644 --- a/go.sum +++ b/go.sum @@ -187,8 +187,8 @@ github.com/aws/aws-sdk-go-v2/service/databrew v1.37.0 h1:7vB0On4jaXFKzo71y89tWgv github.com/aws/aws-sdk-go-v2/service/databrew v1.37.0/go.mod h1:ukMQiiI+wmYPs3kMxbnUa/OqgDeJx+/euWAkoScrUtM= github.com/aws/aws-sdk-go-v2/service/dataexchange v1.38.0 h1:cSSIBQiQhVVjDOTCKPqp0jsJvfY/zHjKc7VJkIeAQas= github.com/aws/aws-sdk-go-v2/service/dataexchange v1.38.0/go.mod h1:z9BGYSQJFFReD7cHnDrScpSYsCDa/1T2enrQ9sKA7yM= -github.com/aws/aws-sdk-go-v2/service/datapipeline v1.28.0 h1:ONEu7270NT+T2OLxKpdt2hl0lf2dfiqYyRNRDXGN2UM= -github.com/aws/aws-sdk-go-v2/service/datapipeline v1.28.0/go.mod h1:5MfUdmmH5Qpt8XIMET4CkFYf26XoQp9UUo9B2zR02qc= +github.com/aws/aws-sdk-go-v2/service/datapipeline v1.29.0 h1:5a76AMaI1x9YHhL6qclsXWbV/vZEQN1r/cZK9T045pE= +github.com/aws/aws-sdk-go-v2/service/datapipeline v1.29.0/go.mod h1:iXVvFT/t6B96iXExuxVp4QMKfU2XUIGazYkptjmF+AQ= github.com/aws/aws-sdk-go-v2/service/datasync v1.52.0 h1:VEy9B26hfFF5Vn4tXBZ2NCcr81juq3wGcx+MUmKdkv0= github.com/aws/aws-sdk-go-v2/service/datasync v1.52.0/go.mod h1:dbXY0ll66czxvMM2NXqp9ohthxKyyRhz98AKFA1ih9A= github.com/aws/aws-sdk-go-v2/service/datazone v1.35.0 h1:gx2Z59PUE6tYjoZjWtSZ5fFFKphRg5mhS4mXGdKixYU= From 3e198f48547a57e1ca5c5fad20e9dea7ef6b00d4 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:44 -0400 Subject: [PATCH 0900/1301] go get github.com/aws/aws-sdk-go-v2/service/datasync. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 244e3274641b..35885ffd8223 100644 --- a/go.mod +++ b/go.mod @@ -89,7 +89,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/databrew v1.37.0 github.com/aws/aws-sdk-go-v2/service/dataexchange v1.38.0 github.com/aws/aws-sdk-go-v2/service/datapipeline v1.29.0 - github.com/aws/aws-sdk-go-v2/service/datasync v1.52.0 + github.com/aws/aws-sdk-go-v2/service/datasync v1.53.0 github.com/aws/aws-sdk-go-v2/service/datazone v1.35.0 github.com/aws/aws-sdk-go-v2/service/dax v1.26.0 github.com/aws/aws-sdk-go-v2/service/detective v1.35.0 diff --git a/go.sum b/go.sum index 7530d23ae423..d4043dd6de62 100644 --- a/go.sum +++ b/go.sum @@ -189,8 +189,8 @@ github.com/aws/aws-sdk-go-v2/service/dataexchange v1.38.0 h1:cSSIBQiQhVVjDOTCKPq github.com/aws/aws-sdk-go-v2/service/dataexchange v1.38.0/go.mod h1:z9BGYSQJFFReD7cHnDrScpSYsCDa/1T2enrQ9sKA7yM= github.com/aws/aws-sdk-go-v2/service/datapipeline v1.29.0 h1:5a76AMaI1x9YHhL6qclsXWbV/vZEQN1r/cZK9T045pE= github.com/aws/aws-sdk-go-v2/service/datapipeline v1.29.0/go.mod h1:iXVvFT/t6B96iXExuxVp4QMKfU2XUIGazYkptjmF+AQ= -github.com/aws/aws-sdk-go-v2/service/datasync v1.52.0 h1:VEy9B26hfFF5Vn4tXBZ2NCcr81juq3wGcx+MUmKdkv0= -github.com/aws/aws-sdk-go-v2/service/datasync v1.52.0/go.mod h1:dbXY0ll66czxvMM2NXqp9ohthxKyyRhz98AKFA1ih9A= +github.com/aws/aws-sdk-go-v2/service/datasync v1.53.0 h1:6e3BS+A00UPLzkgtWj5Sakvom0G5qAn/dEk8U7QG/n4= +github.com/aws/aws-sdk-go-v2/service/datasync v1.53.0/go.mod h1:4gU+dv/Prdb8CB3TaRbrSFLO2tSqPNRnDqIX9IPuQHQ= github.com/aws/aws-sdk-go-v2/service/datazone v1.35.0 h1:gx2Z59PUE6tYjoZjWtSZ5fFFKphRg5mhS4mXGdKixYU= github.com/aws/aws-sdk-go-v2/service/datazone v1.35.0/go.mod h1:w8NSiTlR6hMHKrmhJZo1QGeNp5Gb+y89mscKzPXmZWc= github.com/aws/aws-sdk-go-v2/service/dax v1.26.0 h1:l8l+s6FOEf5GEOqT0qYlR88Xc6xDW7lSvrmnkx3V6RI= From cb9f8d8c509a5444890bc9cab2c04094f5900c9a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:45 -0400 Subject: [PATCH 0901/1301] go get github.com/aws/aws-sdk-go-v2/service/datazone. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 35885ffd8223..72dd3114a778 100644 --- a/go.mod +++ b/go.mod @@ -90,7 +90,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/dataexchange v1.38.0 github.com/aws/aws-sdk-go-v2/service/datapipeline v1.29.0 github.com/aws/aws-sdk-go-v2/service/datasync v1.53.0 - github.com/aws/aws-sdk-go-v2/service/datazone v1.35.0 + github.com/aws/aws-sdk-go-v2/service/datazone v1.36.0 github.com/aws/aws-sdk-go-v2/service/dax v1.26.0 github.com/aws/aws-sdk-go-v2/service/detective v1.35.0 github.com/aws/aws-sdk-go-v2/service/devicefarm v1.33.0 diff --git a/go.sum b/go.sum index d4043dd6de62..cd1fb8360c7e 100644 --- a/go.sum +++ b/go.sum @@ -191,8 +191,8 @@ github.com/aws/aws-sdk-go-v2/service/datapipeline v1.29.0 h1:5a76AMaI1x9YHhL6qcl github.com/aws/aws-sdk-go-v2/service/datapipeline v1.29.0/go.mod h1:iXVvFT/t6B96iXExuxVp4QMKfU2XUIGazYkptjmF+AQ= github.com/aws/aws-sdk-go-v2/service/datasync v1.53.0 h1:6e3BS+A00UPLzkgtWj5Sakvom0G5qAn/dEk8U7QG/n4= github.com/aws/aws-sdk-go-v2/service/datasync v1.53.0/go.mod h1:4gU+dv/Prdb8CB3TaRbrSFLO2tSqPNRnDqIX9IPuQHQ= -github.com/aws/aws-sdk-go-v2/service/datazone v1.35.0 h1:gx2Z59PUE6tYjoZjWtSZ5fFFKphRg5mhS4mXGdKixYU= -github.com/aws/aws-sdk-go-v2/service/datazone v1.35.0/go.mod h1:w8NSiTlR6hMHKrmhJZo1QGeNp5Gb+y89mscKzPXmZWc= +github.com/aws/aws-sdk-go-v2/service/datazone v1.36.0 h1:YEZFj4KUY0do1SEFytmxyrRXbB92blueDxRecGqqdTc= +github.com/aws/aws-sdk-go-v2/service/datazone v1.36.0/go.mod h1:TG25xNgljNX2+CjQ0gkXiOjJG6BTyM7gRJdfC6jGIBw= github.com/aws/aws-sdk-go-v2/service/dax v1.26.0 h1:l8l+s6FOEf5GEOqT0qYlR88Xc6xDW7lSvrmnkx3V6RI= github.com/aws/aws-sdk-go-v2/service/dax v1.26.0/go.mod h1:rnmY/yPKUef7WyczLw08Yknm4c8R2xFCOK8/tMytvSI= github.com/aws/aws-sdk-go-v2/service/detective v1.35.0 h1:033fW/G7tQ5DST0dsqGxBytsFigH6fCfGkbCAnk/Oog= From f5edfb2d0853b928fa043d507671bc1efd3fb5bd Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:46 -0400 Subject: [PATCH 0902/1301] go get github.com/aws/aws-sdk-go-v2/service/dax. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 72dd3114a778..dff4ce96c66d 100644 --- a/go.mod +++ b/go.mod @@ -91,7 +91,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/datapipeline v1.29.0 github.com/aws/aws-sdk-go-v2/service/datasync v1.53.0 github.com/aws/aws-sdk-go-v2/service/datazone v1.36.0 - github.com/aws/aws-sdk-go-v2/service/dax v1.26.0 + github.com/aws/aws-sdk-go-v2/service/dax v1.27.0 github.com/aws/aws-sdk-go-v2/service/detective v1.35.0 github.com/aws/aws-sdk-go-v2/service/devicefarm v1.33.0 github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0 diff --git a/go.sum b/go.sum index cd1fb8360c7e..3a149211b8a4 100644 --- a/go.sum +++ b/go.sum @@ -193,8 +193,8 @@ github.com/aws/aws-sdk-go-v2/service/datasync v1.53.0 h1:6e3BS+A00UPLzkgtWj5Sakv github.com/aws/aws-sdk-go-v2/service/datasync v1.53.0/go.mod h1:4gU+dv/Prdb8CB3TaRbrSFLO2tSqPNRnDqIX9IPuQHQ= github.com/aws/aws-sdk-go-v2/service/datazone v1.36.0 h1:YEZFj4KUY0do1SEFytmxyrRXbB92blueDxRecGqqdTc= github.com/aws/aws-sdk-go-v2/service/datazone v1.36.0/go.mod h1:TG25xNgljNX2+CjQ0gkXiOjJG6BTyM7gRJdfC6jGIBw= -github.com/aws/aws-sdk-go-v2/service/dax v1.26.0 h1:l8l+s6FOEf5GEOqT0qYlR88Xc6xDW7lSvrmnkx3V6RI= -github.com/aws/aws-sdk-go-v2/service/dax v1.26.0/go.mod h1:rnmY/yPKUef7WyczLw08Yknm4c8R2xFCOK8/tMytvSI= +github.com/aws/aws-sdk-go-v2/service/dax v1.27.0 h1:wDyL0EZw99zVGuzf4E/AZMiHVp/V6j9+Z8VkP2Xr55M= +github.com/aws/aws-sdk-go-v2/service/dax v1.27.0/go.mod h1:SG2yNQjCwUNkjUxW7YCsUiIKQgoWUZpblEHpmf6Az3E= github.com/aws/aws-sdk-go-v2/service/detective v1.35.0 h1:033fW/G7tQ5DST0dsqGxBytsFigH6fCfGkbCAnk/Oog= github.com/aws/aws-sdk-go-v2/service/detective v1.35.0/go.mod h1:dOP8aoGmNgpLzNvQjtRy5Jd2GAtKWova01M2Zq3YLqY= github.com/aws/aws-sdk-go-v2/service/devicefarm v1.33.0 h1:K7uueN+UmS2GHVw2+vwqOV/O3Ga4JyZfOg+cwbaiBJg= From 291c3e0aa8a3da52cb306028c73e8eb12784552a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:47 -0400 Subject: [PATCH 0903/1301] go get github.com/aws/aws-sdk-go-v2/service/detective. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index dff4ce96c66d..10129ac438ef 100644 --- a/go.mod +++ b/go.mod @@ -92,7 +92,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/datasync v1.53.0 github.com/aws/aws-sdk-go-v2/service/datazone v1.36.0 github.com/aws/aws-sdk-go-v2/service/dax v1.27.0 - github.com/aws/aws-sdk-go-v2/service/detective v1.35.0 + github.com/aws/aws-sdk-go-v2/service/detective v1.36.0 github.com/aws/aws-sdk-go-v2/service/devicefarm v1.33.0 github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0 github.com/aws/aws-sdk-go-v2/service/directconnect v1.34.0 diff --git a/go.sum b/go.sum index 3a149211b8a4..6fe4253471b5 100644 --- a/go.sum +++ b/go.sum @@ -195,8 +195,8 @@ github.com/aws/aws-sdk-go-v2/service/datazone v1.36.0 h1:YEZFj4KUY0do1SEFytmxyrR github.com/aws/aws-sdk-go-v2/service/datazone v1.36.0/go.mod h1:TG25xNgljNX2+CjQ0gkXiOjJG6BTyM7gRJdfC6jGIBw= github.com/aws/aws-sdk-go-v2/service/dax v1.27.0 h1:wDyL0EZw99zVGuzf4E/AZMiHVp/V6j9+Z8VkP2Xr55M= github.com/aws/aws-sdk-go-v2/service/dax v1.27.0/go.mod h1:SG2yNQjCwUNkjUxW7YCsUiIKQgoWUZpblEHpmf6Az3E= -github.com/aws/aws-sdk-go-v2/service/detective v1.35.0 h1:033fW/G7tQ5DST0dsqGxBytsFigH6fCfGkbCAnk/Oog= -github.com/aws/aws-sdk-go-v2/service/detective v1.35.0/go.mod h1:dOP8aoGmNgpLzNvQjtRy5Jd2GAtKWova01M2Zq3YLqY= +github.com/aws/aws-sdk-go-v2/service/detective v1.36.0 h1:0av6yvy0lYUtlgDnZoinqIsYbjM8D4JkEnXzh0WKWwM= +github.com/aws/aws-sdk-go-v2/service/detective v1.36.0/go.mod h1:mS/k1sKOFKsE7Jr34gvsnX52nLSjAWfnjvvoUJwhkTU= github.com/aws/aws-sdk-go-v2/service/devicefarm v1.33.0 h1:K7uueN+UmS2GHVw2+vwqOV/O3Ga4JyZfOg+cwbaiBJg= github.com/aws/aws-sdk-go-v2/service/devicefarm v1.33.0/go.mod h1:IMYHh62tZCSyUHeyGrOtLSmTkex8ctsG9ODnZmj5jsY= github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0 h1:SUJxgNXb9Gl+gm9p5Q0M5M9G3E8AjV6ELnmgMwt2MTM= From 5eb0c0f976af48efd9cbae80e55aba6129857648 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:48 -0400 Subject: [PATCH 0904/1301] go get github.com/aws/aws-sdk-go-v2/service/devicefarm. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 10129ac438ef..7cf44bcb908b 100644 --- a/go.mod +++ b/go.mod @@ -93,7 +93,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/datazone v1.36.0 github.com/aws/aws-sdk-go-v2/service/dax v1.27.0 github.com/aws/aws-sdk-go-v2/service/detective v1.36.0 - github.com/aws/aws-sdk-go-v2/service/devicefarm v1.33.0 + github.com/aws/aws-sdk-go-v2/service/devicefarm v1.34.0 github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0 github.com/aws/aws-sdk-go-v2/service/directconnect v1.34.0 github.com/aws/aws-sdk-go-v2/service/directoryservice v1.34.0 diff --git a/go.sum b/go.sum index 6fe4253471b5..10f9c7c608fc 100644 --- a/go.sum +++ b/go.sum @@ -197,8 +197,8 @@ github.com/aws/aws-sdk-go-v2/service/dax v1.27.0 h1:wDyL0EZw99zVGuzf4E/AZMiHVp/V github.com/aws/aws-sdk-go-v2/service/dax v1.27.0/go.mod h1:SG2yNQjCwUNkjUxW7YCsUiIKQgoWUZpblEHpmf6Az3E= github.com/aws/aws-sdk-go-v2/service/detective v1.36.0 h1:0av6yvy0lYUtlgDnZoinqIsYbjM8D4JkEnXzh0WKWwM= github.com/aws/aws-sdk-go-v2/service/detective v1.36.0/go.mod h1:mS/k1sKOFKsE7Jr34gvsnX52nLSjAWfnjvvoUJwhkTU= -github.com/aws/aws-sdk-go-v2/service/devicefarm v1.33.0 h1:K7uueN+UmS2GHVw2+vwqOV/O3Ga4JyZfOg+cwbaiBJg= -github.com/aws/aws-sdk-go-v2/service/devicefarm v1.33.0/go.mod h1:IMYHh62tZCSyUHeyGrOtLSmTkex8ctsG9ODnZmj5jsY= +github.com/aws/aws-sdk-go-v2/service/devicefarm v1.34.0 h1:zvhsIkUZOol3DwpcvFl/y14uSSs1JNcGsbu7cMdSxqU= +github.com/aws/aws-sdk-go-v2/service/devicefarm v1.34.0/go.mod h1:3QfEUV+KuDYX+oOpu86CUe1/m9yVBO8Z+72OLmPGsWA= github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0 h1:SUJxgNXb9Gl+gm9p5Q0M5M9G3E8AjV6ELnmgMwt2MTM= github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0/go.mod h1:Uttl2g1mxh8OO3Nn6L/O5RyMW96Q9NCQ9v95NH7AAIs= github.com/aws/aws-sdk-go-v2/service/directconnect v1.34.0 h1:dRzDaZMpehpHs4adhwkDmXayIIptqQ4O8U1HTCiwhPE= From 6fa3021a08ec8139899c808254aa72f4f4d12b7d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:50 -0400 Subject: [PATCH 0905/1301] go get github.com/aws/aws-sdk-go-v2/service/directconnect. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7cf44bcb908b..7a6931f6e1f2 100644 --- a/go.mod +++ b/go.mod @@ -95,7 +95,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/detective v1.36.0 github.com/aws/aws-sdk-go-v2/service/devicefarm v1.34.0 github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0 - github.com/aws/aws-sdk-go-v2/service/directconnect v1.34.0 + github.com/aws/aws-sdk-go-v2/service/directconnect v1.35.0 github.com/aws/aws-sdk-go-v2/service/directoryservice v1.34.0 github.com/aws/aws-sdk-go-v2/service/dlm v1.32.0 github.com/aws/aws-sdk-go-v2/service/docdb v1.44.0 diff --git a/go.sum b/go.sum index 10f9c7c608fc..3b2fcd0ca5a2 100644 --- a/go.sum +++ b/go.sum @@ -201,8 +201,8 @@ github.com/aws/aws-sdk-go-v2/service/devicefarm v1.34.0 h1:zvhsIkUZOol3DwpcvFl/y github.com/aws/aws-sdk-go-v2/service/devicefarm v1.34.0/go.mod h1:3QfEUV+KuDYX+oOpu86CUe1/m9yVBO8Z+72OLmPGsWA= github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0 h1:SUJxgNXb9Gl+gm9p5Q0M5M9G3E8AjV6ELnmgMwt2MTM= github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0/go.mod h1:Uttl2g1mxh8OO3Nn6L/O5RyMW96Q9NCQ9v95NH7AAIs= -github.com/aws/aws-sdk-go-v2/service/directconnect v1.34.0 h1:dRzDaZMpehpHs4adhwkDmXayIIptqQ4O8U1HTCiwhPE= -github.com/aws/aws-sdk-go-v2/service/directconnect v1.34.0/go.mod h1:/E+jep1XiQdEOARijsuGgWpw7UxiX7cv3Dv8vTAj+6M= +github.com/aws/aws-sdk-go-v2/service/directconnect v1.35.0 h1:6FJwZjdnKtDCPb5oH0DY2NMIOiMlw/srC7H0P5TZWbE= +github.com/aws/aws-sdk-go-v2/service/directconnect v1.35.0/go.mod h1:nfTthF0vgdEKFt79wWB4mdX8YuLq2slQxG+mv3U+rmA= github.com/aws/aws-sdk-go-v2/service/directoryservice v1.34.0 h1:oXzjqV5vL3jj9gNTaktrBiGBnaFAgRWSmoyswhMs+80= github.com/aws/aws-sdk-go-v2/service/directoryservice v1.34.0/go.mod h1:OPGuMZ8mYvD1ezKVAlCGB22c4umHsWkKY4YAwFfn8Bg= github.com/aws/aws-sdk-go-v2/service/dlm v1.32.0 h1:u6V4K637EL6sPNHf6zZO0bZlDMbBqHzfXBYEPFucGjo= From 66244c9ee6b7488375dc91c9ae250b97c63da1fc Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:51 -0400 Subject: [PATCH 0906/1301] go get github.com/aws/aws-sdk-go-v2/service/directoryservice. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7a6931f6e1f2..c6f164dad561 100644 --- a/go.mod +++ b/go.mod @@ -96,7 +96,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/devicefarm v1.34.0 github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0 github.com/aws/aws-sdk-go-v2/service/directconnect v1.35.0 - github.com/aws/aws-sdk-go-v2/service/directoryservice v1.34.0 + github.com/aws/aws-sdk-go-v2/service/directoryservice v1.35.0 github.com/aws/aws-sdk-go-v2/service/dlm v1.32.0 github.com/aws/aws-sdk-go-v2/service/docdb v1.44.0 github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.17.0 diff --git a/go.sum b/go.sum index 3b2fcd0ca5a2..bad674ff58d3 100644 --- a/go.sum +++ b/go.sum @@ -203,8 +203,8 @@ github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0 h1:SUJxgNXb9Gl+gm9p5Q0M5 github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0/go.mod h1:Uttl2g1mxh8OO3Nn6L/O5RyMW96Q9NCQ9v95NH7AAIs= github.com/aws/aws-sdk-go-v2/service/directconnect v1.35.0 h1:6FJwZjdnKtDCPb5oH0DY2NMIOiMlw/srC7H0P5TZWbE= github.com/aws/aws-sdk-go-v2/service/directconnect v1.35.0/go.mod h1:nfTthF0vgdEKFt79wWB4mdX8YuLq2slQxG+mv3U+rmA= -github.com/aws/aws-sdk-go-v2/service/directoryservice v1.34.0 h1:oXzjqV5vL3jj9gNTaktrBiGBnaFAgRWSmoyswhMs+80= -github.com/aws/aws-sdk-go-v2/service/directoryservice v1.34.0/go.mod h1:OPGuMZ8mYvD1ezKVAlCGB22c4umHsWkKY4YAwFfn8Bg= +github.com/aws/aws-sdk-go-v2/service/directoryservice v1.35.0 h1:raC54NZ3nBlLL8AJgcH4jcI6tM0bPm2gxVk5svtN1hw= +github.com/aws/aws-sdk-go-v2/service/directoryservice v1.35.0/go.mod h1:8ibkf4LivDOjEESETtUUWPVNKBGALuKQ8ApPNNJvQBU= github.com/aws/aws-sdk-go-v2/service/dlm v1.32.0 h1:u6V4K637EL6sPNHf6zZO0bZlDMbBqHzfXBYEPFucGjo= github.com/aws/aws-sdk-go-v2/service/dlm v1.32.0/go.mod h1:ybd3+ET1/CpQP3qdj/CbTaEWUDhwYT+0bT4eXLcnQ5c= github.com/aws/aws-sdk-go-v2/service/docdb v1.44.0 h1:5bs2HTu2+khau4yBDAgsZsFO2Mrc89Zz9uEBLmmZp7E= From 2f23ec51d1d28a3d3c62030babf7410c712ecc1d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:53 -0400 Subject: [PATCH 0907/1301] go get github.com/aws/aws-sdk-go-v2/service/dlm. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c6f164dad561..f053be72b325 100644 --- a/go.mod +++ b/go.mod @@ -97,7 +97,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0 github.com/aws/aws-sdk-go-v2/service/directconnect v1.35.0 github.com/aws/aws-sdk-go-v2/service/directoryservice v1.35.0 - github.com/aws/aws-sdk-go-v2/service/dlm v1.32.0 + github.com/aws/aws-sdk-go-v2/service/dlm v1.33.0 github.com/aws/aws-sdk-go-v2/service/docdb v1.44.0 github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.17.0 github.com/aws/aws-sdk-go-v2/service/drs v1.33.0 diff --git a/go.sum b/go.sum index bad674ff58d3..bea48027e805 100644 --- a/go.sum +++ b/go.sum @@ -205,8 +205,8 @@ github.com/aws/aws-sdk-go-v2/service/directconnect v1.35.0 h1:6FJwZjdnKtDCPb5oH0 github.com/aws/aws-sdk-go-v2/service/directconnect v1.35.0/go.mod h1:nfTthF0vgdEKFt79wWB4mdX8YuLq2slQxG+mv3U+rmA= github.com/aws/aws-sdk-go-v2/service/directoryservice v1.35.0 h1:raC54NZ3nBlLL8AJgcH4jcI6tM0bPm2gxVk5svtN1hw= github.com/aws/aws-sdk-go-v2/service/directoryservice v1.35.0/go.mod h1:8ibkf4LivDOjEESETtUUWPVNKBGALuKQ8ApPNNJvQBU= -github.com/aws/aws-sdk-go-v2/service/dlm v1.32.0 h1:u6V4K637EL6sPNHf6zZO0bZlDMbBqHzfXBYEPFucGjo= -github.com/aws/aws-sdk-go-v2/service/dlm v1.32.0/go.mod h1:ybd3+ET1/CpQP3qdj/CbTaEWUDhwYT+0bT4eXLcnQ5c= +github.com/aws/aws-sdk-go-v2/service/dlm v1.33.0 h1:akYzmgxmrLRoKJ8USAoiCf8OANELsIkFAx66QFaq/gk= +github.com/aws/aws-sdk-go-v2/service/dlm v1.33.0/go.mod h1:9s516VTcyI6csh0GJxLpd0hGETtdHNVSVyq0R9cli04= github.com/aws/aws-sdk-go-v2/service/docdb v1.44.0 h1:5bs2HTu2+khau4yBDAgsZsFO2Mrc89Zz9uEBLmmZp7E= github.com/aws/aws-sdk-go-v2/service/docdb v1.44.0/go.mod h1:W7LM0wHrgjuZgh2ugJLc9SunYq8dUvtgu/lamy9UXBA= github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.17.0 h1:vU40uE7CLo63AusHL0hJl9g99qMd8s1lj2Atp3CF/H8= From f7a30de8866d9486f2e127a303e2e3d4a4e215e4 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:54 -0400 Subject: [PATCH 0908/1301] go get github.com/aws/aws-sdk-go-v2/service/docdb. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index f053be72b325..19ecfbb74694 100644 --- a/go.mod +++ b/go.mod @@ -98,7 +98,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/directconnect v1.35.0 github.com/aws/aws-sdk-go-v2/service/directoryservice v1.35.0 github.com/aws/aws-sdk-go-v2/service/dlm v1.33.0 - github.com/aws/aws-sdk-go-v2/service/docdb v1.44.0 + github.com/aws/aws-sdk-go-v2/service/docdb v1.45.0 github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.17.0 github.com/aws/aws-sdk-go-v2/service/drs v1.33.0 github.com/aws/aws-sdk-go-v2/service/dsql v1.8.0 diff --git a/go.sum b/go.sum index bea48027e805..f9cc5b3166ea 100644 --- a/go.sum +++ b/go.sum @@ -207,8 +207,8 @@ github.com/aws/aws-sdk-go-v2/service/directoryservice v1.35.0 h1:raC54NZ3nBlLL8A github.com/aws/aws-sdk-go-v2/service/directoryservice v1.35.0/go.mod h1:8ibkf4LivDOjEESETtUUWPVNKBGALuKQ8ApPNNJvQBU= github.com/aws/aws-sdk-go-v2/service/dlm v1.33.0 h1:akYzmgxmrLRoKJ8USAoiCf8OANELsIkFAx66QFaq/gk= github.com/aws/aws-sdk-go-v2/service/dlm v1.33.0/go.mod h1:9s516VTcyI6csh0GJxLpd0hGETtdHNVSVyq0R9cli04= -github.com/aws/aws-sdk-go-v2/service/docdb v1.44.0 h1:5bs2HTu2+khau4yBDAgsZsFO2Mrc89Zz9uEBLmmZp7E= -github.com/aws/aws-sdk-go-v2/service/docdb v1.44.0/go.mod h1:W7LM0wHrgjuZgh2ugJLc9SunYq8dUvtgu/lamy9UXBA= +github.com/aws/aws-sdk-go-v2/service/docdb v1.45.0 h1:sFzfpQ9wg2aHBKLP/pphRDFuV2QXFlcWMU+ZVwN1UF8= +github.com/aws/aws-sdk-go-v2/service/docdb v1.45.0/go.mod h1:KHmHW5rJJ7bf8J56Rn2voXfsNTbUXS/TKdGNDurx7EQ= github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.17.0 h1:vU40uE7CLo63AusHL0hJl9g99qMd8s1lj2Atp3CF/H8= github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.17.0/go.mod h1:aa5vQ9iApmgcG4hkt0f7fDPIHGgV5Hsc+JxeRDclOjw= github.com/aws/aws-sdk-go-v2/service/drs v1.33.0 h1:Iijr+LEma1xNOPifbN7Eb7aL73v/UkD7FFcxyknDfOI= From 9190fb37ee16f1356664ca214b4088cd820b7d5c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:55 -0400 Subject: [PATCH 0909/1301] go get github.com/aws/aws-sdk-go-v2/service/docdbelastic. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 19ecfbb74694..eb2b90df3048 100644 --- a/go.mod +++ b/go.mod @@ -99,7 +99,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/directoryservice v1.35.0 github.com/aws/aws-sdk-go-v2/service/dlm v1.33.0 github.com/aws/aws-sdk-go-v2/service/docdb v1.45.0 - github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.17.0 + github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.18.0 github.com/aws/aws-sdk-go-v2/service/drs v1.33.0 github.com/aws/aws-sdk-go-v2/service/dsql v1.8.0 github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0 diff --git a/go.sum b/go.sum index f9cc5b3166ea..1d2619d5667c 100644 --- a/go.sum +++ b/go.sum @@ -209,8 +209,8 @@ github.com/aws/aws-sdk-go-v2/service/dlm v1.33.0 h1:akYzmgxmrLRoKJ8USAoiCf8OANEL github.com/aws/aws-sdk-go-v2/service/dlm v1.33.0/go.mod h1:9s516VTcyI6csh0GJxLpd0hGETtdHNVSVyq0R9cli04= github.com/aws/aws-sdk-go-v2/service/docdb v1.45.0 h1:sFzfpQ9wg2aHBKLP/pphRDFuV2QXFlcWMU+ZVwN1UF8= github.com/aws/aws-sdk-go-v2/service/docdb v1.45.0/go.mod h1:KHmHW5rJJ7bf8J56Rn2voXfsNTbUXS/TKdGNDurx7EQ= -github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.17.0 h1:vU40uE7CLo63AusHL0hJl9g99qMd8s1lj2Atp3CF/H8= -github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.17.0/go.mod h1:aa5vQ9iApmgcG4hkt0f7fDPIHGgV5Hsc+JxeRDclOjw= +github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.18.0 h1:afUxq/oBOeeCGxYBAq99U4lhHUL39BNUWnyA10VYtA0= +github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.18.0/go.mod h1:gGqhhqgs7rxjEYwH1T1cKaq3HL0yH6Ap/UvmLVCr2MQ= github.com/aws/aws-sdk-go-v2/service/drs v1.33.0 h1:Iijr+LEma1xNOPifbN7Eb7aL73v/UkD7FFcxyknDfOI= github.com/aws/aws-sdk-go-v2/service/drs v1.33.0/go.mod h1:cPdn2XdBmgHtq+Ei10EeCPy+j6l1I6g4FLjlPnh7g64= github.com/aws/aws-sdk-go-v2/service/dsql v1.8.0 h1:GIldUQZdcBtLmUJYeOhNoemf7vWHPSUblJ4OLuv8kmo= From fa1e191764b09d757d52f7261976720108640650 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:56 -0400 Subject: [PATCH 0910/1301] go get github.com/aws/aws-sdk-go-v2/service/drs. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index eb2b90df3048..4c849457645d 100644 --- a/go.mod +++ b/go.mod @@ -100,7 +100,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/dlm v1.33.0 github.com/aws/aws-sdk-go-v2/service/docdb v1.45.0 github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.18.0 - github.com/aws/aws-sdk-go-v2/service/drs v1.33.0 + github.com/aws/aws-sdk-go-v2/service/drs v1.34.0 github.com/aws/aws-sdk-go-v2/service/dsql v1.8.0 github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0 github.com/aws/aws-sdk-go-v2/service/ec2 v1.241.0 diff --git a/go.sum b/go.sum index 1d2619d5667c..82f295bec0a7 100644 --- a/go.sum +++ b/go.sum @@ -211,8 +211,8 @@ github.com/aws/aws-sdk-go-v2/service/docdb v1.45.0 h1:sFzfpQ9wg2aHBKLP/pphRDFuV2 github.com/aws/aws-sdk-go-v2/service/docdb v1.45.0/go.mod h1:KHmHW5rJJ7bf8J56Rn2voXfsNTbUXS/TKdGNDurx7EQ= github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.18.0 h1:afUxq/oBOeeCGxYBAq99U4lhHUL39BNUWnyA10VYtA0= github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.18.0/go.mod h1:gGqhhqgs7rxjEYwH1T1cKaq3HL0yH6Ap/UvmLVCr2MQ= -github.com/aws/aws-sdk-go-v2/service/drs v1.33.0 h1:Iijr+LEma1xNOPifbN7Eb7aL73v/UkD7FFcxyknDfOI= -github.com/aws/aws-sdk-go-v2/service/drs v1.33.0/go.mod h1:cPdn2XdBmgHtq+Ei10EeCPy+j6l1I6g4FLjlPnh7g64= +github.com/aws/aws-sdk-go-v2/service/drs v1.34.0 h1:Vt2ZQQQEs+OS9bvrnHZiL9TnTXQr1bdZlagdltETc2s= +github.com/aws/aws-sdk-go-v2/service/drs v1.34.0/go.mod h1:E6H0jItb5XS0fk9Mb5OXU6tSoCoGnnWcXT3vaqTEB8o= github.com/aws/aws-sdk-go-v2/service/dsql v1.8.0 h1:GIldUQZdcBtLmUJYeOhNoemf7vWHPSUblJ4OLuv8kmo= github.com/aws/aws-sdk-go-v2/service/dsql v1.8.0/go.mod h1:FRIS/nQBGwjD+CfPct4I2Sly16EJXFl8iq9sd/n2t4c= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0 h1:b7F96mjkzsqymMSGhuCqBQTZFx3mhTMa6IoG6SoVvC8= From 233c55b5c6bb6bccc26a80c6e9e8480d869f421a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:57 -0400 Subject: [PATCH 0911/1301] go get github.com/aws/aws-sdk-go-v2/service/dsql. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 4c849457645d..dc1238f4a524 100644 --- a/go.mod +++ b/go.mod @@ -101,7 +101,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/docdb v1.45.0 github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.18.0 github.com/aws/aws-sdk-go-v2/service/drs v1.34.0 - github.com/aws/aws-sdk-go-v2/service/dsql v1.8.0 + github.com/aws/aws-sdk-go-v2/service/dsql v1.9.0 github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0 github.com/aws/aws-sdk-go-v2/service/ec2 v1.241.0 github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0 diff --git a/go.sum b/go.sum index 82f295bec0a7..3de75150f8e9 100644 --- a/go.sum +++ b/go.sum @@ -213,8 +213,8 @@ github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.18.0 h1:afUxq/oBOeeCGxYBAq9 github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.18.0/go.mod h1:gGqhhqgs7rxjEYwH1T1cKaq3HL0yH6Ap/UvmLVCr2MQ= github.com/aws/aws-sdk-go-v2/service/drs v1.34.0 h1:Vt2ZQQQEs+OS9bvrnHZiL9TnTXQr1bdZlagdltETc2s= github.com/aws/aws-sdk-go-v2/service/drs v1.34.0/go.mod h1:E6H0jItb5XS0fk9Mb5OXU6tSoCoGnnWcXT3vaqTEB8o= -github.com/aws/aws-sdk-go-v2/service/dsql v1.8.0 h1:GIldUQZdcBtLmUJYeOhNoemf7vWHPSUblJ4OLuv8kmo= -github.com/aws/aws-sdk-go-v2/service/dsql v1.8.0/go.mod h1:FRIS/nQBGwjD+CfPct4I2Sly16EJXFl8iq9sd/n2t4c= +github.com/aws/aws-sdk-go-v2/service/dsql v1.9.0 h1:AWC9tLObLqxSeyolw7aug3PxEnU7S9oNqatToa+8XkI= +github.com/aws/aws-sdk-go-v2/service/dsql v1.9.0/go.mod h1:v4koXz6cYLm9p9kT2iYCcLCxxDkX8JFg3UBElyXB80I= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0 h1:b7F96mjkzsqymMSGhuCqBQTZFx3mhTMa6IoG6SoVvC8= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0/go.mod h1:F8Rqs4FVGBTUzx3wbFm7HB/mgIA4Tc6/x0yQmjoB+/w= github.com/aws/aws-sdk-go-v2/service/ec2 v1.241.0 h1:twGX//bv1QH/9pyJaqynNSo0eXGkDEdDTFy8GNPsz5M= From c5f211d1ef367755eb85b96c78bff64f8466ebb3 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:58 -0400 Subject: [PATCH 0912/1301] go get github.com/aws/aws-sdk-go-v2/service/dynamodb. --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index dc1238f4a524..8f53e4f239db 100644 --- a/go.mod +++ b/go.mod @@ -102,7 +102,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.18.0 github.com/aws/aws-sdk-go-v2/service/drs v1.34.0 github.com/aws/aws-sdk-go-v2/service/dsql v1.9.0 - github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0 + github.com/aws/aws-sdk-go-v2/service/dynamodb v1.47.0 github.com/aws/aws-sdk-go-v2/service/ec2 v1.241.0 github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0 github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0 @@ -328,7 +328,7 @@ require ( github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.3 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 // indirect github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.3 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.2 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.3 // indirect github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.3 // indirect github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.3 // indirect github.com/aws/aws-sdk-go-v2/service/ssooidc v1.33.0 // indirect diff --git a/go.sum b/go.sum index 3de75150f8e9..1e3ac97f6ef6 100644 --- a/go.sum +++ b/go.sum @@ -215,8 +215,8 @@ github.com/aws/aws-sdk-go-v2/service/drs v1.34.0 h1:Vt2ZQQQEs+OS9bvrnHZiL9TnTXQr github.com/aws/aws-sdk-go-v2/service/drs v1.34.0/go.mod h1:E6H0jItb5XS0fk9Mb5OXU6tSoCoGnnWcXT3vaqTEB8o= github.com/aws/aws-sdk-go-v2/service/dsql v1.9.0 h1:AWC9tLObLqxSeyolw7aug3PxEnU7S9oNqatToa+8XkI= github.com/aws/aws-sdk-go-v2/service/dsql v1.9.0/go.mod h1:v4koXz6cYLm9p9kT2iYCcLCxxDkX8JFg3UBElyXB80I= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0 h1:b7F96mjkzsqymMSGhuCqBQTZFx3mhTMa6IoG6SoVvC8= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0/go.mod h1:F8Rqs4FVGBTUzx3wbFm7HB/mgIA4Tc6/x0yQmjoB+/w= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.47.0 h1:A5zeikrrAgz3YtNzhMat4K8hK/CFzOjFKLVk8pI7Cz8= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.47.0/go.mod h1:tMQ/Edfn5xLcBFSVd3JDreJPias8GqBq0dVbCbMz9vs= github.com/aws/aws-sdk-go-v2/service/ec2 v1.241.0 h1:twGX//bv1QH/9pyJaqynNSo0eXGkDEdDTFy8GNPsz5M= github.com/aws/aws-sdk-go-v2/service/ec2 v1.241.0/go.mod h1:HDxGArx3/bUnkoFsuvTNIxEj/cR3f+IgsVh1B7Pvay8= github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0 h1:2SOhwFVwG8PxJVT8DM6nhGsX+JZ8bl9CVgeiueeL4gs= @@ -295,8 +295,8 @@ github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 h1:6+lZi2J github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0/go.mod h1:eb3gfbVIxIoGgJsi9pGne19dhCBpK6opTYpQqAmdy44= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.3 h1:3ZKmesYBaFX33czDl6mbrcHb6jeheg6LqjJhQdefhsY= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.3/go.mod h1:7ryVb78GLCnjq7cw45N6oUb9REl7/vNUwjvIqC5UgdY= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.2 h1:pOnBcmmHWBDbxawnpomSKFbDe8yn+t0OznR+Vo9Tj/Q= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.2/go.mod h1:iseakOEtbeRjQkEtKZQ149M/fLJIaMlF0lS0X3/gXdg= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.3 h1:xMmJPUT0G1q9+I0mzH4B6oN9fB5PkDoD+jvpVIcom1I= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.3/go.mod h1:U0JFMTY/gPxV07XTXXz152nX0Hg1eBenzyslKF2j4j4= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.3 h1:ieRzyHXypu5ByllM7Sp4hC5f/1Fy5wqxqY0yB85hC7s= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.3/go.mod h1:O5ROz8jHiOAKAwx179v+7sHMhfobFVi6nZt8DEyiYoM= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.3 h1:SE/e52dq9a05RuxzLcjT+S5ZpQobj3ie3UTaSf2NnZc= From 9893525e304c54575c0dc49089cddf0c279db1dd Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:58:59 -0400 Subject: [PATCH 0913/1301] go get github.com/aws/aws-sdk-go-v2/service/ec2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8f53e4f239db..d7348aa0e3a0 100644 --- a/go.mod +++ b/go.mod @@ -103,7 +103,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/drs v1.34.0 github.com/aws/aws-sdk-go-v2/service/dsql v1.9.0 github.com/aws/aws-sdk-go-v2/service/dynamodb v1.47.0 - github.com/aws/aws-sdk-go-v2/service/ec2 v1.241.0 + github.com/aws/aws-sdk-go-v2/service/ec2 v1.242.0 github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0 github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0 github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0 diff --git a/go.sum b/go.sum index 1e3ac97f6ef6..9b843f8eea8c 100644 --- a/go.sum +++ b/go.sum @@ -217,8 +217,8 @@ github.com/aws/aws-sdk-go-v2/service/dsql v1.9.0 h1:AWC9tLObLqxSeyolw7aug3PxEnU7 github.com/aws/aws-sdk-go-v2/service/dsql v1.9.0/go.mod h1:v4koXz6cYLm9p9kT2iYCcLCxxDkX8JFg3UBElyXB80I= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.47.0 h1:A5zeikrrAgz3YtNzhMat4K8hK/CFzOjFKLVk8pI7Cz8= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.47.0/go.mod h1:tMQ/Edfn5xLcBFSVd3JDreJPias8GqBq0dVbCbMz9vs= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.241.0 h1:twGX//bv1QH/9pyJaqynNSo0eXGkDEdDTFy8GNPsz5M= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.241.0/go.mod h1:HDxGArx3/bUnkoFsuvTNIxEj/cR3f+IgsVh1B7Pvay8= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.242.0 h1:xgbWik/QFlVCvoUbumUPPZI7+0RXiScb8eHSV06CELU= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.242.0/go.mod h1:EeWmteKqZjaMj45MUmPET1SisFI+HkqWIRQoyjMivcc= github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0 h1:2SOhwFVwG8PxJVT8DM6nhGsX+JZ8bl9CVgeiueeL4gs= github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0/go.mod h1:j8i+iiBvaf+Em29qBiXuhw5r9tGWDbpFEvLDqLtnMh8= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0 h1:Jcgm/dOm/6M0882pZwLzlN3BZyKEl4Pxp1isTkHoems= From 83561756214ec5d2d50f1e0a4dbe9f28fee4b659 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:00 -0400 Subject: [PATCH 0914/1301] go get github.com/aws/aws-sdk-go-v2/service/ecr. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d7348aa0e3a0..0fd9e9b1b8ab 100644 --- a/go.mod +++ b/go.mod @@ -104,7 +104,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/dsql v1.9.0 github.com/aws/aws-sdk-go-v2/service/dynamodb v1.47.0 github.com/aws/aws-sdk-go-v2/service/ec2 v1.242.0 - github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0 + github.com/aws/aws-sdk-go-v2/service/ecr v1.49.0 github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0 github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0 github.com/aws/aws-sdk-go-v2/service/efs v1.38.0 diff --git a/go.sum b/go.sum index 9b843f8eea8c..55b7bf84bc8f 100644 --- a/go.sum +++ b/go.sum @@ -219,8 +219,8 @@ github.com/aws/aws-sdk-go-v2/service/dynamodb v1.47.0 h1:A5zeikrrAgz3YtNzhMat4K8 github.com/aws/aws-sdk-go-v2/service/dynamodb v1.47.0/go.mod h1:tMQ/Edfn5xLcBFSVd3JDreJPias8GqBq0dVbCbMz9vs= github.com/aws/aws-sdk-go-v2/service/ec2 v1.242.0 h1:xgbWik/QFlVCvoUbumUPPZI7+0RXiScb8eHSV06CELU= github.com/aws/aws-sdk-go-v2/service/ec2 v1.242.0/go.mod h1:EeWmteKqZjaMj45MUmPET1SisFI+HkqWIRQoyjMivcc= -github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0 h1:2SOhwFVwG8PxJVT8DM6nhGsX+JZ8bl9CVgeiueeL4gs= -github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0/go.mod h1:j8i+iiBvaf+Em29qBiXuhw5r9tGWDbpFEvLDqLtnMh8= +github.com/aws/aws-sdk-go-v2/service/ecr v1.49.0 h1:NgkSYzgM3UhdSrXUKkl49FhbIPpNguZE4EXEGRhDcEU= +github.com/aws/aws-sdk-go-v2/service/ecr v1.49.0/go.mod h1:bi1dAg6vk8KC8nyf6DjQ3dkNJbzTirMSmZHbcRNa2vE= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0 h1:Jcgm/dOm/6M0882pZwLzlN3BZyKEl4Pxp1isTkHoems= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0/go.mod h1:jpQxFtT7JO3idCuyrKsoEjPcCIrrJNpeGvZFl1986rA= github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0 h1:E5/BzpoN6fc/xWtKiFPUJBW6nW3KFINCz6so7v/fQ8E= From b435a6ba065363d9472615cd7421c33fc00fbf5a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:01 -0400 Subject: [PATCH 0915/1301] go get github.com/aws/aws-sdk-go-v2/service/ecrpublic. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 0fd9e9b1b8ab..ee337d57ea57 100644 --- a/go.mod +++ b/go.mod @@ -105,7 +105,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/dynamodb v1.47.0 github.com/aws/aws-sdk-go-v2/service/ec2 v1.242.0 github.com/aws/aws-sdk-go-v2/service/ecr v1.49.0 - github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0 + github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.36.0 github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0 github.com/aws/aws-sdk-go-v2/service/efs v1.38.0 github.com/aws/aws-sdk-go-v2/service/eks v1.69.0 diff --git a/go.sum b/go.sum index 55b7bf84bc8f..11077b234930 100644 --- a/go.sum +++ b/go.sum @@ -221,8 +221,8 @@ github.com/aws/aws-sdk-go-v2/service/ec2 v1.242.0 h1:xgbWik/QFlVCvoUbumUPPZI7+0R github.com/aws/aws-sdk-go-v2/service/ec2 v1.242.0/go.mod h1:EeWmteKqZjaMj45MUmPET1SisFI+HkqWIRQoyjMivcc= github.com/aws/aws-sdk-go-v2/service/ecr v1.49.0 h1:NgkSYzgM3UhdSrXUKkl49FhbIPpNguZE4EXEGRhDcEU= github.com/aws/aws-sdk-go-v2/service/ecr v1.49.0/go.mod h1:bi1dAg6vk8KC8nyf6DjQ3dkNJbzTirMSmZHbcRNa2vE= -github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0 h1:Jcgm/dOm/6M0882pZwLzlN3BZyKEl4Pxp1isTkHoems= -github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0/go.mod h1:jpQxFtT7JO3idCuyrKsoEjPcCIrrJNpeGvZFl1986rA= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.36.0 h1:8GcatvIKYx5WkwjwY4H+K7egBHOddC3wwS6fIbpOUlQ= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.36.0/go.mod h1:yz4NeCWotlbHoT41Vc9NofCbKEyiNlKYZFT4SiqVQCY= github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0 h1:E5/BzpoN6fc/xWtKiFPUJBW6nW3KFINCz6so7v/fQ8E= github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0/go.mod h1:UrdK8ip8HSwnESeuXhte4vlRVv0GIOpC92LR1+2m+zA= github.com/aws/aws-sdk-go-v2/service/efs v1.38.0 h1:W8v+PwOUTeh3JE53yBW8nAaRkDvMq7mMO+/bvmYHAlI= From 0b4b7d965daf9e54023f1f030a781ac15a490511 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:02 -0400 Subject: [PATCH 0916/1301] go get github.com/aws/aws-sdk-go-v2/service/ecs. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ee337d57ea57..824ac7e21c0b 100644 --- a/go.mod +++ b/go.mod @@ -106,7 +106,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ec2 v1.242.0 github.com/aws/aws-sdk-go-v2/service/ecr v1.49.0 github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.36.0 - github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0 + github.com/aws/aws-sdk-go-v2/service/ecs v1.63.0 github.com/aws/aws-sdk-go-v2/service/efs v1.38.0 github.com/aws/aws-sdk-go-v2/service/eks v1.69.0 github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0 diff --git a/go.sum b/go.sum index 11077b234930..00773fcacd60 100644 --- a/go.sum +++ b/go.sum @@ -223,8 +223,8 @@ github.com/aws/aws-sdk-go-v2/service/ecr v1.49.0 h1:NgkSYzgM3UhdSrXUKkl49FhbIPpN github.com/aws/aws-sdk-go-v2/service/ecr v1.49.0/go.mod h1:bi1dAg6vk8KC8nyf6DjQ3dkNJbzTirMSmZHbcRNa2vE= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.36.0 h1:8GcatvIKYx5WkwjwY4H+K7egBHOddC3wwS6fIbpOUlQ= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.36.0/go.mod h1:yz4NeCWotlbHoT41Vc9NofCbKEyiNlKYZFT4SiqVQCY= -github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0 h1:E5/BzpoN6fc/xWtKiFPUJBW6nW3KFINCz6so7v/fQ8E= -github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0/go.mod h1:UrdK8ip8HSwnESeuXhte4vlRVv0GIOpC92LR1+2m+zA= +github.com/aws/aws-sdk-go-v2/service/ecs v1.63.0 h1:ZeUDPcF93I5pE614AD8Le5a1e+383jjJ8lopM/WVfB8= +github.com/aws/aws-sdk-go-v2/service/ecs v1.63.0/go.mod h1:k5xD9wMxhUgcFU0Q1F1iB3YJkmBmW7+o4rrsBg8yhdc= github.com/aws/aws-sdk-go-v2/service/efs v1.38.0 h1:W8v+PwOUTeh3JE53yBW8nAaRkDvMq7mMO+/bvmYHAlI= github.com/aws/aws-sdk-go-v2/service/efs v1.38.0/go.mod h1:ijPHatoNwxKTySdgDNoGUZw3toYwvRJKWwS/1dr3M/c= github.com/aws/aws-sdk-go-v2/service/eks v1.69.0 h1:eiZOCsKGl0D7M3FSeSJwJbsikxowCMVz513WDFCe6HY= From 746f3df092573184b4c4db7697f94fafadbe156d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:03 -0400 Subject: [PATCH 0917/1301] go get github.com/aws/aws-sdk-go-v2/service/efs. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 824ac7e21c0b..60c75992a04c 100644 --- a/go.mod +++ b/go.mod @@ -107,7 +107,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ecr v1.49.0 github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.36.0 github.com/aws/aws-sdk-go-v2/service/ecs v1.63.0 - github.com/aws/aws-sdk-go-v2/service/efs v1.38.0 + github.com/aws/aws-sdk-go-v2/service/efs v1.39.0 github.com/aws/aws-sdk-go-v2/service/eks v1.69.0 github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0 github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0 diff --git a/go.sum b/go.sum index 00773fcacd60..e21dfc493d89 100644 --- a/go.sum +++ b/go.sum @@ -225,8 +225,8 @@ github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.36.0 h1:8GcatvIKYx5WkwjwY4H+K7 github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.36.0/go.mod h1:yz4NeCWotlbHoT41Vc9NofCbKEyiNlKYZFT4SiqVQCY= github.com/aws/aws-sdk-go-v2/service/ecs v1.63.0 h1:ZeUDPcF93I5pE614AD8Le5a1e+383jjJ8lopM/WVfB8= github.com/aws/aws-sdk-go-v2/service/ecs v1.63.0/go.mod h1:k5xD9wMxhUgcFU0Q1F1iB3YJkmBmW7+o4rrsBg8yhdc= -github.com/aws/aws-sdk-go-v2/service/efs v1.38.0 h1:W8v+PwOUTeh3JE53yBW8nAaRkDvMq7mMO+/bvmYHAlI= -github.com/aws/aws-sdk-go-v2/service/efs v1.38.0/go.mod h1:ijPHatoNwxKTySdgDNoGUZw3toYwvRJKWwS/1dr3M/c= +github.com/aws/aws-sdk-go-v2/service/efs v1.39.0 h1:nxn7P1nAd7ThB1B0WASAKvjddJQcvLzaOo9iN4tp3ZU= +github.com/aws/aws-sdk-go-v2/service/efs v1.39.0/go.mod h1:8Ij4/TIExqfWWjcyQy82/V/aec2kQruuyndljE+Vuo0= github.com/aws/aws-sdk-go-v2/service/eks v1.69.0 h1:eiZOCsKGl0D7M3FSeSJwJbsikxowCMVz513WDFCe6HY= github.com/aws/aws-sdk-go-v2/service/eks v1.69.0/go.mod h1:u3CDoNUAkSIGKNiA6LfQtApPmHPGRuAjikx3ObM5XBs= github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0 h1:88Xh6SCyuge4BwPrbeJEDjDIUr/bMBZ6G7NrB785xCk= From 0741d01d3cbccba22c074e0f806d316994ac8182 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:04 -0400 Subject: [PATCH 0918/1301] go get github.com/aws/aws-sdk-go-v2/service/eks. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 60c75992a04c..3edb2651f908 100644 --- a/go.mod +++ b/go.mod @@ -108,7 +108,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.36.0 github.com/aws/aws-sdk-go-v2/service/ecs v1.63.0 github.com/aws/aws-sdk-go-v2/service/efs v1.39.0 - github.com/aws/aws-sdk-go-v2/service/eks v1.69.0 + github.com/aws/aws-sdk-go-v2/service/eks v1.70.0 github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0 github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0 github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.31.0 diff --git a/go.sum b/go.sum index e21dfc493d89..5c6f60094e96 100644 --- a/go.sum +++ b/go.sum @@ -227,8 +227,8 @@ github.com/aws/aws-sdk-go-v2/service/ecs v1.63.0 h1:ZeUDPcF93I5pE614AD8Le5a1e+38 github.com/aws/aws-sdk-go-v2/service/ecs v1.63.0/go.mod h1:k5xD9wMxhUgcFU0Q1F1iB3YJkmBmW7+o4rrsBg8yhdc= github.com/aws/aws-sdk-go-v2/service/efs v1.39.0 h1:nxn7P1nAd7ThB1B0WASAKvjddJQcvLzaOo9iN4tp3ZU= github.com/aws/aws-sdk-go-v2/service/efs v1.39.0/go.mod h1:8Ij4/TIExqfWWjcyQy82/V/aec2kQruuyndljE+Vuo0= -github.com/aws/aws-sdk-go-v2/service/eks v1.69.0 h1:eiZOCsKGl0D7M3FSeSJwJbsikxowCMVz513WDFCe6HY= -github.com/aws/aws-sdk-go-v2/service/eks v1.69.0/go.mod h1:u3CDoNUAkSIGKNiA6LfQtApPmHPGRuAjikx3ObM5XBs= +github.com/aws/aws-sdk-go-v2/service/eks v1.70.0 h1:05FWDmYfXhHbsHxeFQIY73GagpjkcTgVe8VotlO62Fc= +github.com/aws/aws-sdk-go-v2/service/eks v1.70.0/go.mod h1:HKX0JNwYDW543nJozPRB0PS1bo8qAdR74Gava69dNg4= github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0 h1:88Xh6SCyuge4BwPrbeJEDjDIUr/bMBZ6G7NrB785xCk= github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0/go.mod h1:X6aJWShG65SH3DVd4LEyPzMmtJyCSIZvKfcGnYhOF7U= github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0 h1:31GWaDmLEVzUW7UEnF7vbuESL8pAbeVsX3nOQbXxZQg= From 5c71e6acac704a127ca47461bc6dec6305c12388 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:05 -0400 Subject: [PATCH 0919/1301] go get github.com/aws/aws-sdk-go-v2/service/elasticache. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 3edb2651f908..108f5d161f54 100644 --- a/go.mod +++ b/go.mod @@ -109,7 +109,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ecs v1.63.0 github.com/aws/aws-sdk-go-v2/service/efs v1.39.0 github.com/aws/aws-sdk-go-v2/service/eks v1.70.0 - github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0 + github.com/aws/aws-sdk-go-v2/service/elasticache v1.49.0 github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0 github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.31.0 github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.48.0 diff --git a/go.sum b/go.sum index 5c6f60094e96..7d10bf0c2d23 100644 --- a/go.sum +++ b/go.sum @@ -229,8 +229,8 @@ github.com/aws/aws-sdk-go-v2/service/efs v1.39.0 h1:nxn7P1nAd7ThB1B0WASAKvjddJQc github.com/aws/aws-sdk-go-v2/service/efs v1.39.0/go.mod h1:8Ij4/TIExqfWWjcyQy82/V/aec2kQruuyndljE+Vuo0= github.com/aws/aws-sdk-go-v2/service/eks v1.70.0 h1:05FWDmYfXhHbsHxeFQIY73GagpjkcTgVe8VotlO62Fc= github.com/aws/aws-sdk-go-v2/service/eks v1.70.0/go.mod h1:HKX0JNwYDW543nJozPRB0PS1bo8qAdR74Gava69dNg4= -github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0 h1:88Xh6SCyuge4BwPrbeJEDjDIUr/bMBZ6G7NrB785xCk= -github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0/go.mod h1:X6aJWShG65SH3DVd4LEyPzMmtJyCSIZvKfcGnYhOF7U= +github.com/aws/aws-sdk-go-v2/service/elasticache v1.49.0 h1:zJY3lR0AdRuigAub2GQkIMz/TP50Ia6R6VruPgWBIxk= +github.com/aws/aws-sdk-go-v2/service/elasticache v1.49.0/go.mod h1:CeEl4WwCPhtncasl9kdhSp1rigeO3HdVJ3hiPu6ZdZI= github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0 h1:31GWaDmLEVzUW7UEnF7vbuESL8pAbeVsX3nOQbXxZQg= github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0/go.mod h1:oS1D1rubFhxS1keERM8hva16MsJ0RUa4llwwEGrtEow= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.31.0 h1:zyAlg5a3STXdaVI5ddiBSXKyQj/CSV4+FYAnUA6it0s= From 3e139d72243ff259b0375a322086545aab67a587 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:06 -0400 Subject: [PATCH 0920/1301] go get github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 108f5d161f54..8e9a8416ae55 100644 --- a/go.mod +++ b/go.mod @@ -110,7 +110,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/efs v1.39.0 github.com/aws/aws-sdk-go-v2/service/eks v1.70.0 github.com/aws/aws-sdk-go-v2/service/elasticache v1.49.0 - github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0 + github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.32.0 github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.31.0 github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.48.0 github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.35.0 diff --git a/go.sum b/go.sum index 7d10bf0c2d23..e2adbeff1c62 100644 --- a/go.sum +++ b/go.sum @@ -231,8 +231,8 @@ github.com/aws/aws-sdk-go-v2/service/eks v1.70.0 h1:05FWDmYfXhHbsHxeFQIY73Gagpjk github.com/aws/aws-sdk-go-v2/service/eks v1.70.0/go.mod h1:HKX0JNwYDW543nJozPRB0PS1bo8qAdR74Gava69dNg4= github.com/aws/aws-sdk-go-v2/service/elasticache v1.49.0 h1:zJY3lR0AdRuigAub2GQkIMz/TP50Ia6R6VruPgWBIxk= github.com/aws/aws-sdk-go-v2/service/elasticache v1.49.0/go.mod h1:CeEl4WwCPhtncasl9kdhSp1rigeO3HdVJ3hiPu6ZdZI= -github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0 h1:31GWaDmLEVzUW7UEnF7vbuESL8pAbeVsX3nOQbXxZQg= -github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0/go.mod h1:oS1D1rubFhxS1keERM8hva16MsJ0RUa4llwwEGrtEow= +github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.32.0 h1:x5N6Wy/2mP1fhS+xWzm+netHTbwMJy8zMFO786yVrHY= +github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.32.0/go.mod h1:L72prIIk4I4TMwyVXRtoOVkwA4PGaOzWHE8dkGSTgPE= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.31.0 h1:zyAlg5a3STXdaVI5ddiBSXKyQj/CSV4+FYAnUA6it0s= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.31.0/go.mod h1:k++MddMr1Lo5BlQf/uvXK7O+FbY8XKKHClnsfVxrzRo= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.48.0 h1:p1fXiEYfAVo7eF8MfPEMYIxNJHgZUhD9weB8s2y8d2o= From c62338541464553bb3dc6148cfc8b57ee8238104 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:07 -0400 Subject: [PATCH 0921/1301] go get github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8e9a8416ae55..6b7c4a554c87 100644 --- a/go.mod +++ b/go.mod @@ -111,7 +111,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/eks v1.70.0 github.com/aws/aws-sdk-go-v2/service/elasticache v1.49.0 github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.32.0 - github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.31.0 + github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.32.0 github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.48.0 github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.35.0 github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.30.0 diff --git a/go.sum b/go.sum index e2adbeff1c62..5fdcd4ecfaa4 100644 --- a/go.sum +++ b/go.sum @@ -233,8 +233,8 @@ github.com/aws/aws-sdk-go-v2/service/elasticache v1.49.0 h1:zJY3lR0AdRuigAub2GQk github.com/aws/aws-sdk-go-v2/service/elasticache v1.49.0/go.mod h1:CeEl4WwCPhtncasl9kdhSp1rigeO3HdVJ3hiPu6ZdZI= github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.32.0 h1:x5N6Wy/2mP1fhS+xWzm+netHTbwMJy8zMFO786yVrHY= github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.32.0/go.mod h1:L72prIIk4I4TMwyVXRtoOVkwA4PGaOzWHE8dkGSTgPE= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.31.0 h1:zyAlg5a3STXdaVI5ddiBSXKyQj/CSV4+FYAnUA6it0s= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.31.0/go.mod h1:k++MddMr1Lo5BlQf/uvXK7O+FbY8XKKHClnsfVxrzRo= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.32.0 h1:FO6LzHczDXByBf8+WJ5cswxaGy1EOjDVXA3NQa97Bh8= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.32.0/go.mod h1:q2K5uszrJv1SBxKYp5M9KUf7XR/Xnu38vSCiQ/wwhfI= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.48.0 h1:p1fXiEYfAVo7eF8MfPEMYIxNJHgZUhD9weB8s2y8d2o= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.48.0/go.mod h1:20UGYMqfkTlXKS1zCzZxNZa5nTNOwRbmUC4/z3AGRt8= github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.35.0 h1:SNH+YetxZwCGYXYnt9bUdLo/uqk0VCKTNnLBpdBv+NE= From 3e2ad0047e53800b3939c7fd0b44d952cfd68f6d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:08 -0400 Subject: [PATCH 0922/1301] go get github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 6b7c4a554c87..981396863f6c 100644 --- a/go.mod +++ b/go.mod @@ -112,7 +112,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/elasticache v1.49.0 github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.32.0 github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.32.0 - github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.48.0 + github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.49.0 github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.35.0 github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.30.0 github.com/aws/aws-sdk-go-v2/service/emr v1.52.0 diff --git a/go.sum b/go.sum index 5fdcd4ecfaa4..0131af99eda8 100644 --- a/go.sum +++ b/go.sum @@ -235,8 +235,8 @@ github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.32.0 h1:x5N6Wy/2mP1fhS+ github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.32.0/go.mod h1:L72prIIk4I4TMwyVXRtoOVkwA4PGaOzWHE8dkGSTgPE= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.32.0 h1:FO6LzHczDXByBf8+WJ5cswxaGy1EOjDVXA3NQa97Bh8= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.32.0/go.mod h1:q2K5uszrJv1SBxKYp5M9KUf7XR/Xnu38vSCiQ/wwhfI= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.48.0 h1:p1fXiEYfAVo7eF8MfPEMYIxNJHgZUhD9weB8s2y8d2o= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.48.0/go.mod h1:20UGYMqfkTlXKS1zCzZxNZa5nTNOwRbmUC4/z3AGRt8= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.49.0 h1:2VJj7fSoDawAjQ91u/DtrrUDOGsuMaWxcbe9Ok/O27w= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.49.0/go.mod h1:vJgvNz01VmSuXKzoUwQxQCzYklI/f09wXCWoj6TBGJE= github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.35.0 h1:SNH+YetxZwCGYXYnt9bUdLo/uqk0VCKTNnLBpdBv+NE= github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.35.0/go.mod h1:f4FCx6Swsy0d/uLcNwZj9U/LS6PZoTI4hu9Ukj/pwpE= github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.30.0 h1:FPl40b9dfpGtG2hruC6eGhQAI8Ydma++eQcHL5qSd3U= From f1219d92b26d8b7a0c35644ff60c20cd3f03638d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:09 -0400 Subject: [PATCH 0923/1301] go get github.com/aws/aws-sdk-go-v2/service/elasticsearchservice. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 981396863f6c..48c7cb5b8820 100644 --- a/go.mod +++ b/go.mod @@ -113,7 +113,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.32.0 github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.32.0 github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.49.0 - github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.35.0 + github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.36.0 github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.30.0 github.com/aws/aws-sdk-go-v2/service/emr v1.52.0 github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.37.0 diff --git a/go.sum b/go.sum index 0131af99eda8..b9712adf559c 100644 --- a/go.sum +++ b/go.sum @@ -237,8 +237,8 @@ github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.32.0 h1:FO6LzHczDXB github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.32.0/go.mod h1:q2K5uszrJv1SBxKYp5M9KUf7XR/Xnu38vSCiQ/wwhfI= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.49.0 h1:2VJj7fSoDawAjQ91u/DtrrUDOGsuMaWxcbe9Ok/O27w= github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.49.0/go.mod h1:vJgvNz01VmSuXKzoUwQxQCzYklI/f09wXCWoj6TBGJE= -github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.35.0 h1:SNH+YetxZwCGYXYnt9bUdLo/uqk0VCKTNnLBpdBv+NE= -github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.35.0/go.mod h1:f4FCx6Swsy0d/uLcNwZj9U/LS6PZoTI4hu9Ukj/pwpE= +github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.36.0 h1:1F8KThHdWVMySPUAzlFbr4dHZCPxnUh0xWhzroseuIM= +github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.36.0/go.mod h1:tUWbqh4G+5bPwtn3noFemaiOphmiW2ZHs9+ETgAP2yw= github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.30.0 h1:FPl40b9dfpGtG2hruC6eGhQAI8Ydma++eQcHL5qSd3U= github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.30.0/go.mod h1:v10Bb6tl5+8Gw6G4HfdtNbMc6TilkLihp1bikKVwzjo= github.com/aws/aws-sdk-go-v2/service/emr v1.52.0 h1:1LcyFr3wJWIWA7TH1GQl3d2cBkg0ZeMAowkLsMMkphU= From 22a80d70d749bc7285af266c6bd78342edd0679b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:10 -0400 Subject: [PATCH 0924/1301] go get github.com/aws/aws-sdk-go-v2/service/elastictranscoder. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 48c7cb5b8820..a16eef337a04 100644 --- a/go.mod +++ b/go.mod @@ -114,7 +114,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.32.0 github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.49.0 github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.36.0 - github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.30.0 + github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.31.0 github.com/aws/aws-sdk-go-v2/service/emr v1.52.0 github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.37.0 github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.1 diff --git a/go.sum b/go.sum index b9712adf559c..1432a0dca600 100644 --- a/go.sum +++ b/go.sum @@ -239,8 +239,8 @@ github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.49.0 h1:2VJj7fSoD github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.49.0/go.mod h1:vJgvNz01VmSuXKzoUwQxQCzYklI/f09wXCWoj6TBGJE= github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.36.0 h1:1F8KThHdWVMySPUAzlFbr4dHZCPxnUh0xWhzroseuIM= github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.36.0/go.mod h1:tUWbqh4G+5bPwtn3noFemaiOphmiW2ZHs9+ETgAP2yw= -github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.30.0 h1:FPl40b9dfpGtG2hruC6eGhQAI8Ydma++eQcHL5qSd3U= -github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.30.0/go.mod h1:v10Bb6tl5+8Gw6G4HfdtNbMc6TilkLihp1bikKVwzjo= +github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.31.0 h1:WUWDUubAtepFBqD/wWvejfep4pkFJeAMWqWHtEzKqFs= +github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.31.0/go.mod h1:tu9W2f8Uc606uWFnnJ31chJhFYzuBhnlAiwlhODst9c= github.com/aws/aws-sdk-go-v2/service/emr v1.52.0 h1:1LcyFr3wJWIWA7TH1GQl3d2cBkg0ZeMAowkLsMMkphU= github.com/aws/aws-sdk-go-v2/service/emr v1.52.0/go.mod h1:9h1RQVgB3yZ45laVfX257QRx1/jrl3LR6VnaxAQ7HSo= github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.37.0 h1:g36yievH3ecx+76/79+LIal5FqIXT+2J3Ztynayj9d4= From c1c66e5867a40b1a90a59c24eea322bbcc875658 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:12 -0400 Subject: [PATCH 0925/1301] go get github.com/aws/aws-sdk-go-v2/service/emr. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a16eef337a04..564e20449d51 100644 --- a/go.mod +++ b/go.mod @@ -115,7 +115,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.49.0 github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.36.0 github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.31.0 - github.com/aws/aws-sdk-go-v2/service/emr v1.52.0 + github.com/aws/aws-sdk-go-v2/service/emr v1.53.0 github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.37.0 github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.1 github.com/aws/aws-sdk-go-v2/service/eventbridge v1.43.0 diff --git a/go.sum b/go.sum index 1432a0dca600..e83078908bb7 100644 --- a/go.sum +++ b/go.sum @@ -241,8 +241,8 @@ github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.36.0 h1:1F8KThHdWVM github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.36.0/go.mod h1:tUWbqh4G+5bPwtn3noFemaiOphmiW2ZHs9+ETgAP2yw= github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.31.0 h1:WUWDUubAtepFBqD/wWvejfep4pkFJeAMWqWHtEzKqFs= github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.31.0/go.mod h1:tu9W2f8Uc606uWFnnJ31chJhFYzuBhnlAiwlhODst9c= -github.com/aws/aws-sdk-go-v2/service/emr v1.52.0 h1:1LcyFr3wJWIWA7TH1GQl3d2cBkg0ZeMAowkLsMMkphU= -github.com/aws/aws-sdk-go-v2/service/emr v1.52.0/go.mod h1:9h1RQVgB3yZ45laVfX257QRx1/jrl3LR6VnaxAQ7HSo= +github.com/aws/aws-sdk-go-v2/service/emr v1.53.0 h1:rgBAS4KMAN6wNHtAuW2bOTyx6FyyXUu56ZajFC5LG6c= +github.com/aws/aws-sdk-go-v2/service/emr v1.53.0/go.mod h1:NEXNTLFLUFSXQ5VVZeVTthpxBR3l7VbjBrlnOAb/WvE= github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.37.0 h1:g36yievH3ecx+76/79+LIal5FqIXT+2J3Ztynayj9d4= github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.37.0/go.mod h1:7J9Pidm1n/FvnKMcCUzi8eWNDzzqR6w3sbjhXrMXaxk= github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.1 h1:/lA8mJujvKaA1S3foLIr0uHBdzRcUgbnkWH2BsAVeAc= From b431b4f76bc37a6b28dff71d5ad3ddebd337fd06 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:13 -0400 Subject: [PATCH 0926/1301] go get github.com/aws/aws-sdk-go-v2/service/emrcontainers. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 564e20449d51..da00b4c41cea 100644 --- a/go.mod +++ b/go.mod @@ -116,7 +116,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.36.0 github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.31.0 github.com/aws/aws-sdk-go-v2/service/emr v1.53.0 - github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.37.0 + github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.38.0 github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.1 github.com/aws/aws-sdk-go-v2/service/eventbridge v1.43.0 github.com/aws/aws-sdk-go-v2/service/evidently v1.26.0 diff --git a/go.sum b/go.sum index e83078908bb7..3e7d6b84e5c0 100644 --- a/go.sum +++ b/go.sum @@ -243,8 +243,8 @@ github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.31.0 h1:WUWDUubAtepFBq github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.31.0/go.mod h1:tu9W2f8Uc606uWFnnJ31chJhFYzuBhnlAiwlhODst9c= github.com/aws/aws-sdk-go-v2/service/emr v1.53.0 h1:rgBAS4KMAN6wNHtAuW2bOTyx6FyyXUu56ZajFC5LG6c= github.com/aws/aws-sdk-go-v2/service/emr v1.53.0/go.mod h1:NEXNTLFLUFSXQ5VVZeVTthpxBR3l7VbjBrlnOAb/WvE= -github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.37.0 h1:g36yievH3ecx+76/79+LIal5FqIXT+2J3Ztynayj9d4= -github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.37.0/go.mod h1:7J9Pidm1n/FvnKMcCUzi8eWNDzzqR6w3sbjhXrMXaxk= +github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.38.0 h1:N1i7XCvJKHgzndeebYdlNqc9LbOZs0LZIVgsxGuh7GE= +github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.38.0/go.mod h1:IcV4x6tPgVZZiIFaZnv7VwasNR4m53Tlxr4/CNUxD34= github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.1 h1:/lA8mJujvKaA1S3foLIr0uHBdzRcUgbnkWH2BsAVeAc= github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.1/go.mod h1:PHHbsCqpXEU5cGq2PogfV8qTlfobfSmLWeaPjJawwuc= github.com/aws/aws-sdk-go-v2/service/eventbridge v1.43.0 h1:ZzdGUjZhtS6eDU+zyzjg5RwBc9UUk3dvRnwlKt1u5No= From f5b09df476bc615554942c0b7ecb180256c737a1 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:14 -0400 Subject: [PATCH 0927/1301] go get github.com/aws/aws-sdk-go-v2/service/emrserverless. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index da00b4c41cea..fdba880958ae 100644 --- a/go.mod +++ b/go.mod @@ -117,7 +117,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.31.0 github.com/aws/aws-sdk-go-v2/service/emr v1.53.0 github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.38.0 - github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.1 + github.com/aws/aws-sdk-go-v2/service/emrserverless v1.35.0 github.com/aws/aws-sdk-go-v2/service/eventbridge v1.43.0 github.com/aws/aws-sdk-go-v2/service/evidently v1.26.0 github.com/aws/aws-sdk-go-v2/service/evs v1.2.0 diff --git a/go.sum b/go.sum index 3e7d6b84e5c0..5b9f953250d1 100644 --- a/go.sum +++ b/go.sum @@ -245,8 +245,8 @@ github.com/aws/aws-sdk-go-v2/service/emr v1.53.0 h1:rgBAS4KMAN6wNHtAuW2bOTyx6Fyy github.com/aws/aws-sdk-go-v2/service/emr v1.53.0/go.mod h1:NEXNTLFLUFSXQ5VVZeVTthpxBR3l7VbjBrlnOAb/WvE= github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.38.0 h1:N1i7XCvJKHgzndeebYdlNqc9LbOZs0LZIVgsxGuh7GE= github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.38.0/go.mod h1:IcV4x6tPgVZZiIFaZnv7VwasNR4m53Tlxr4/CNUxD34= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.1 h1:/lA8mJujvKaA1S3foLIr0uHBdzRcUgbnkWH2BsAVeAc= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.1/go.mod h1:PHHbsCqpXEU5cGq2PogfV8qTlfobfSmLWeaPjJawwuc= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.35.0 h1:q9n5fiDdkpwpxEO5BatJs3j5Z+6hhN1++34kGHXDXqg= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.35.0/go.mod h1:3gM+RYyfJVwLiVmUnsNVWcLgQXDmrH1joddL7SWMgg4= github.com/aws/aws-sdk-go-v2/service/eventbridge v1.43.0 h1:ZzdGUjZhtS6eDU+zyzjg5RwBc9UUk3dvRnwlKt1u5No= github.com/aws/aws-sdk-go-v2/service/eventbridge v1.43.0/go.mod h1:oLGWKN3c58kslfI1Slifgjq0jGFgzFeDquv9WRlWTwo= github.com/aws/aws-sdk-go-v2/service/evidently v1.26.0 h1:qfbkXGBL5NDZmQZpSW1fNATABgFdwj3mg5Qlcm9nYsE= From 9f61fac4f876861654a1176c2a5d91524049e598 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:15 -0400 Subject: [PATCH 0928/1301] go get github.com/aws/aws-sdk-go-v2/service/eventbridge. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index fdba880958ae..43e999d65712 100644 --- a/go.mod +++ b/go.mod @@ -118,7 +118,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/emr v1.53.0 github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.38.0 github.com/aws/aws-sdk-go-v2/service/emrserverless v1.35.0 - github.com/aws/aws-sdk-go-v2/service/eventbridge v1.43.0 + github.com/aws/aws-sdk-go-v2/service/eventbridge v1.44.0 github.com/aws/aws-sdk-go-v2/service/evidently v1.26.0 github.com/aws/aws-sdk-go-v2/service/evs v1.2.0 github.com/aws/aws-sdk-go-v2/service/finspace v1.31.0 diff --git a/go.sum b/go.sum index 5b9f953250d1..8e08dd31de43 100644 --- a/go.sum +++ b/go.sum @@ -247,8 +247,8 @@ github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.38.0 h1:N1i7XCvJKHgzndeebY github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.38.0/go.mod h1:IcV4x6tPgVZZiIFaZnv7VwasNR4m53Tlxr4/CNUxD34= github.com/aws/aws-sdk-go-v2/service/emrserverless v1.35.0 h1:q9n5fiDdkpwpxEO5BatJs3j5Z+6hhN1++34kGHXDXqg= github.com/aws/aws-sdk-go-v2/service/emrserverless v1.35.0/go.mod h1:3gM+RYyfJVwLiVmUnsNVWcLgQXDmrH1joddL7SWMgg4= -github.com/aws/aws-sdk-go-v2/service/eventbridge v1.43.0 h1:ZzdGUjZhtS6eDU+zyzjg5RwBc9UUk3dvRnwlKt1u5No= -github.com/aws/aws-sdk-go-v2/service/eventbridge v1.43.0/go.mod h1:oLGWKN3c58kslfI1Slifgjq0jGFgzFeDquv9WRlWTwo= +github.com/aws/aws-sdk-go-v2/service/eventbridge v1.44.0 h1:uV0/UBsNeT3NMmUwfQxxWZCglA1EDcAuXAuUti8u0Mk= +github.com/aws/aws-sdk-go-v2/service/eventbridge v1.44.0/go.mod h1:yX+96FURJgbIEv+9tAhlAayu551vVVZMD+yAro++VFA= github.com/aws/aws-sdk-go-v2/service/evidently v1.26.0 h1:qfbkXGBL5NDZmQZpSW1fNATABgFdwj3mg5Qlcm9nYsE= github.com/aws/aws-sdk-go-v2/service/evidently v1.26.0/go.mod h1:Mfeuqcqd81nUMjNpSA10fnsEbtxFipfwLYNA91w2xWI= github.com/aws/aws-sdk-go-v2/service/evs v1.2.0 h1:LKz5V6E7Sddts6SmR0alPq8c/YTtJfvfW7JPfaqkIA8= From 45c44011ff683b5edf626abf1d80848bb5332630 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:16 -0400 Subject: [PATCH 0929/1301] go get github.com/aws/aws-sdk-go-v2/service/evidently. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 43e999d65712..1c77828b6157 100644 --- a/go.mod +++ b/go.mod @@ -119,7 +119,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.38.0 github.com/aws/aws-sdk-go-v2/service/emrserverless v1.35.0 github.com/aws/aws-sdk-go-v2/service/eventbridge v1.44.0 - github.com/aws/aws-sdk-go-v2/service/evidently v1.26.0 + github.com/aws/aws-sdk-go-v2/service/evidently v1.27.0 github.com/aws/aws-sdk-go-v2/service/evs v1.2.0 github.com/aws/aws-sdk-go-v2/service/finspace v1.31.0 github.com/aws/aws-sdk-go-v2/service/firehose v1.39.0 diff --git a/go.sum b/go.sum index 8e08dd31de43..03ea0e8c71b4 100644 --- a/go.sum +++ b/go.sum @@ -249,8 +249,8 @@ github.com/aws/aws-sdk-go-v2/service/emrserverless v1.35.0 h1:q9n5fiDdkpwpxEO5Ba github.com/aws/aws-sdk-go-v2/service/emrserverless v1.35.0/go.mod h1:3gM+RYyfJVwLiVmUnsNVWcLgQXDmrH1joddL7SWMgg4= github.com/aws/aws-sdk-go-v2/service/eventbridge v1.44.0 h1:uV0/UBsNeT3NMmUwfQxxWZCglA1EDcAuXAuUti8u0Mk= github.com/aws/aws-sdk-go-v2/service/eventbridge v1.44.0/go.mod h1:yX+96FURJgbIEv+9tAhlAayu551vVVZMD+yAro++VFA= -github.com/aws/aws-sdk-go-v2/service/evidently v1.26.0 h1:qfbkXGBL5NDZmQZpSW1fNATABgFdwj3mg5Qlcm9nYsE= -github.com/aws/aws-sdk-go-v2/service/evidently v1.26.0/go.mod h1:Mfeuqcqd81nUMjNpSA10fnsEbtxFipfwLYNA91w2xWI= +github.com/aws/aws-sdk-go-v2/service/evidently v1.27.0 h1:XWxvVnRKkG/a5r0A6P5oJyfxMsYBOsCAk2RJt3ebSR0= +github.com/aws/aws-sdk-go-v2/service/evidently v1.27.0/go.mod h1:k1YfbZV8p8ab9fjRvlUTjCgWrrvonTEFKCg7P2Idxhw= github.com/aws/aws-sdk-go-v2/service/evs v1.2.0 h1:LKz5V6E7Sddts6SmR0alPq8c/YTtJfvfW7JPfaqkIA8= github.com/aws/aws-sdk-go-v2/service/evs v1.2.0/go.mod h1:vTp3tPWtAH4Q6wPQffJ3k8jQMUMGKOIJq/d1bKPtgTQ= github.com/aws/aws-sdk-go-v2/service/finspace v1.31.0 h1:9fNPlSSV2NlEGG6CQssB1/CBE1XRWGTZceyvSORxh+M= From b9e7bdeb68df0312d8ef0d3c8855439a34ba5cd7 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:17 -0400 Subject: [PATCH 0930/1301] go get github.com/aws/aws-sdk-go-v2/service/evs. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 1c77828b6157..53417fc25628 100644 --- a/go.mod +++ b/go.mod @@ -120,7 +120,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/emrserverless v1.35.0 github.com/aws/aws-sdk-go-v2/service/eventbridge v1.44.0 github.com/aws/aws-sdk-go-v2/service/evidently v1.27.0 - github.com/aws/aws-sdk-go-v2/service/evs v1.2.0 + github.com/aws/aws-sdk-go-v2/service/evs v1.3.0 github.com/aws/aws-sdk-go-v2/service/finspace v1.31.0 github.com/aws/aws-sdk-go-v2/service/firehose v1.39.0 github.com/aws/aws-sdk-go-v2/service/fis v1.35.0 diff --git a/go.sum b/go.sum index 03ea0e8c71b4..89a9e0ea463b 100644 --- a/go.sum +++ b/go.sum @@ -251,8 +251,8 @@ github.com/aws/aws-sdk-go-v2/service/eventbridge v1.44.0 h1:uV0/UBsNeT3NMmUwfQxx github.com/aws/aws-sdk-go-v2/service/eventbridge v1.44.0/go.mod h1:yX+96FURJgbIEv+9tAhlAayu551vVVZMD+yAro++VFA= github.com/aws/aws-sdk-go-v2/service/evidently v1.27.0 h1:XWxvVnRKkG/a5r0A6P5oJyfxMsYBOsCAk2RJt3ebSR0= github.com/aws/aws-sdk-go-v2/service/evidently v1.27.0/go.mod h1:k1YfbZV8p8ab9fjRvlUTjCgWrrvonTEFKCg7P2Idxhw= -github.com/aws/aws-sdk-go-v2/service/evs v1.2.0 h1:LKz5V6E7Sddts6SmR0alPq8c/YTtJfvfW7JPfaqkIA8= -github.com/aws/aws-sdk-go-v2/service/evs v1.2.0/go.mod h1:vTp3tPWtAH4Q6wPQffJ3k8jQMUMGKOIJq/d1bKPtgTQ= +github.com/aws/aws-sdk-go-v2/service/evs v1.3.0 h1:3ukR4hfyYEyuZkYQxXY9c7lTL/KEzRsbT6DHqryMTZc= +github.com/aws/aws-sdk-go-v2/service/evs v1.3.0/go.mod h1:7P6+h9cvKgq4qDOe58rsI//rxVXb0nb+bLwEkuLDxiE= github.com/aws/aws-sdk-go-v2/service/finspace v1.31.0 h1:9fNPlSSV2NlEGG6CQssB1/CBE1XRWGTZceyvSORxh+M= github.com/aws/aws-sdk-go-v2/service/finspace v1.31.0/go.mod h1:LlAKT9SZA/Xpy+4qkzYDZVLRbOtpOcc3xI750r34gxE= github.com/aws/aws-sdk-go-v2/service/firehose v1.39.0 h1:1VPPV8hqaxunlD94jcn08kqXXuzUKiCm2BH7hB+ulHU= From 12d49819dfb43c45bb09a6e1a37d2cd84a9a8272 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:18 -0400 Subject: [PATCH 0931/1301] go get github.com/aws/aws-sdk-go-v2/service/finspace. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 53417fc25628..d8ea25d56aef 100644 --- a/go.mod +++ b/go.mod @@ -121,7 +121,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/eventbridge v1.44.0 github.com/aws/aws-sdk-go-v2/service/evidently v1.27.0 github.com/aws/aws-sdk-go-v2/service/evs v1.3.0 - github.com/aws/aws-sdk-go-v2/service/finspace v1.31.0 + github.com/aws/aws-sdk-go-v2/service/finspace v1.32.0 github.com/aws/aws-sdk-go-v2/service/firehose v1.39.0 github.com/aws/aws-sdk-go-v2/service/fis v1.35.0 github.com/aws/aws-sdk-go-v2/service/fms v1.42.0 diff --git a/go.sum b/go.sum index 89a9e0ea463b..c6ca623d129c 100644 --- a/go.sum +++ b/go.sum @@ -253,8 +253,8 @@ github.com/aws/aws-sdk-go-v2/service/evidently v1.27.0 h1:XWxvVnRKkG/a5r0A6P5oJy github.com/aws/aws-sdk-go-v2/service/evidently v1.27.0/go.mod h1:k1YfbZV8p8ab9fjRvlUTjCgWrrvonTEFKCg7P2Idxhw= github.com/aws/aws-sdk-go-v2/service/evs v1.3.0 h1:3ukR4hfyYEyuZkYQxXY9c7lTL/KEzRsbT6DHqryMTZc= github.com/aws/aws-sdk-go-v2/service/evs v1.3.0/go.mod h1:7P6+h9cvKgq4qDOe58rsI//rxVXb0nb+bLwEkuLDxiE= -github.com/aws/aws-sdk-go-v2/service/finspace v1.31.0 h1:9fNPlSSV2NlEGG6CQssB1/CBE1XRWGTZceyvSORxh+M= -github.com/aws/aws-sdk-go-v2/service/finspace v1.31.0/go.mod h1:LlAKT9SZA/Xpy+4qkzYDZVLRbOtpOcc3xI750r34gxE= +github.com/aws/aws-sdk-go-v2/service/finspace v1.32.0 h1:qt27hk3l7kDo0rUvRk5HfrYiyPiT4t8ne9NDD2U3V9s= +github.com/aws/aws-sdk-go-v2/service/finspace v1.32.0/go.mod h1:EpxiRnvkTpQfwgOxPdFEFGUxOT3heC375s5MFWHDX9c= github.com/aws/aws-sdk-go-v2/service/firehose v1.39.0 h1:1VPPV8hqaxunlD94jcn08kqXXuzUKiCm2BH7hB+ulHU= github.com/aws/aws-sdk-go-v2/service/firehose v1.39.0/go.mod h1:VP1ztgkR7+8UA6n+uKY4wmuAegv0f+MRz+1TG/PEmZk= github.com/aws/aws-sdk-go-v2/service/fis v1.35.0 h1:YHC0ZKx9zbavtqH8tft/KoAxGhxzEHMRus9SLS+i+6s= From 90d7057160a08c40205def0baa423a94c18b11f4 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:19 -0400 Subject: [PATCH 0932/1301] go get github.com/aws/aws-sdk-go-v2/service/firehose. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d8ea25d56aef..ba176ddd7c05 100644 --- a/go.mod +++ b/go.mod @@ -122,7 +122,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/evidently v1.27.0 github.com/aws/aws-sdk-go-v2/service/evs v1.3.0 github.com/aws/aws-sdk-go-v2/service/finspace v1.32.0 - github.com/aws/aws-sdk-go-v2/service/firehose v1.39.0 + github.com/aws/aws-sdk-go-v2/service/firehose v1.40.0 github.com/aws/aws-sdk-go-v2/service/fis v1.35.0 github.com/aws/aws-sdk-go-v2/service/fms v1.42.0 github.com/aws/aws-sdk-go-v2/service/fsx v1.57.0 diff --git a/go.sum b/go.sum index c6ca623d129c..2658aeb6cca7 100644 --- a/go.sum +++ b/go.sum @@ -255,8 +255,8 @@ github.com/aws/aws-sdk-go-v2/service/evs v1.3.0 h1:3ukR4hfyYEyuZkYQxXY9c7lTL/KEz github.com/aws/aws-sdk-go-v2/service/evs v1.3.0/go.mod h1:7P6+h9cvKgq4qDOe58rsI//rxVXb0nb+bLwEkuLDxiE= github.com/aws/aws-sdk-go-v2/service/finspace v1.32.0 h1:qt27hk3l7kDo0rUvRk5HfrYiyPiT4t8ne9NDD2U3V9s= github.com/aws/aws-sdk-go-v2/service/finspace v1.32.0/go.mod h1:EpxiRnvkTpQfwgOxPdFEFGUxOT3heC375s5MFWHDX9c= -github.com/aws/aws-sdk-go-v2/service/firehose v1.39.0 h1:1VPPV8hqaxunlD94jcn08kqXXuzUKiCm2BH7hB+ulHU= -github.com/aws/aws-sdk-go-v2/service/firehose v1.39.0/go.mod h1:VP1ztgkR7+8UA6n+uKY4wmuAegv0f+MRz+1TG/PEmZk= +github.com/aws/aws-sdk-go-v2/service/firehose v1.40.0 h1:ojhEbQATCj/vrI5046jdKMktHDhTtzYF0Wp1VZelB40= +github.com/aws/aws-sdk-go-v2/service/firehose v1.40.0/go.mod h1:XklPdrzHJNpFs9Wpq6takjsBigK2VxxlpREcLSM8nnQ= github.com/aws/aws-sdk-go-v2/service/fis v1.35.0 h1:YHC0ZKx9zbavtqH8tft/KoAxGhxzEHMRus9SLS+i+6s= github.com/aws/aws-sdk-go-v2/service/fis v1.35.0/go.mod h1:54I827xI6fu7SpDWIODZ+hKBC5+64TeqvHb6eeZCK+g= github.com/aws/aws-sdk-go-v2/service/fms v1.42.0 h1:9BGiFztuYik0YMjSp8i2xcJOtg/FIR2tZi+qXdAhwi8= From 35a24ca2aa854ca2e20905d4c93343e6928ef85f Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:20 -0400 Subject: [PATCH 0933/1301] go get github.com/aws/aws-sdk-go-v2/service/fis. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ba176ddd7c05..517d336e8edb 100644 --- a/go.mod +++ b/go.mod @@ -123,7 +123,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/evs v1.3.0 github.com/aws/aws-sdk-go-v2/service/finspace v1.32.0 github.com/aws/aws-sdk-go-v2/service/firehose v1.40.0 - github.com/aws/aws-sdk-go-v2/service/fis v1.35.0 + github.com/aws/aws-sdk-go-v2/service/fis v1.36.0 github.com/aws/aws-sdk-go-v2/service/fms v1.42.0 github.com/aws/aws-sdk-go-v2/service/fsx v1.57.0 github.com/aws/aws-sdk-go-v2/service/gamelift v1.44.0 diff --git a/go.sum b/go.sum index 2658aeb6cca7..3cc96c7306f8 100644 --- a/go.sum +++ b/go.sum @@ -257,8 +257,8 @@ github.com/aws/aws-sdk-go-v2/service/finspace v1.32.0 h1:qt27hk3l7kDo0rUvRk5HfrY github.com/aws/aws-sdk-go-v2/service/finspace v1.32.0/go.mod h1:EpxiRnvkTpQfwgOxPdFEFGUxOT3heC375s5MFWHDX9c= github.com/aws/aws-sdk-go-v2/service/firehose v1.40.0 h1:ojhEbQATCj/vrI5046jdKMktHDhTtzYF0Wp1VZelB40= github.com/aws/aws-sdk-go-v2/service/firehose v1.40.0/go.mod h1:XklPdrzHJNpFs9Wpq6takjsBigK2VxxlpREcLSM8nnQ= -github.com/aws/aws-sdk-go-v2/service/fis v1.35.0 h1:YHC0ZKx9zbavtqH8tft/KoAxGhxzEHMRus9SLS+i+6s= -github.com/aws/aws-sdk-go-v2/service/fis v1.35.0/go.mod h1:54I827xI6fu7SpDWIODZ+hKBC5+64TeqvHb6eeZCK+g= +github.com/aws/aws-sdk-go-v2/service/fis v1.36.0 h1:zsDCgJ6lWocX4wArsCQre2A92JzBPKKW+2Mg6SOQVVE= +github.com/aws/aws-sdk-go-v2/service/fis v1.36.0/go.mod h1:OOOhb7pKoJhZKCVzheRRd+aPKv9Ep+zNUPQtfcoxP5M= github.com/aws/aws-sdk-go-v2/service/fms v1.42.0 h1:9BGiFztuYik0YMjSp8i2xcJOtg/FIR2tZi+qXdAhwi8= github.com/aws/aws-sdk-go-v2/service/fms v1.42.0/go.mod h1:Ism46YVzDJXjFuIcUoLZW4a2kA8DM85aslmG3HQrB0k= github.com/aws/aws-sdk-go-v2/service/fsx v1.57.0 h1:vkW/D8CfYTszVLqh6bfMerRVUMkDaTM/AJNb36nyfgs= From 3537d57c7fe58c2efa4bfe7190dea40878566090 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:21 -0400 Subject: [PATCH 0934/1301] go get github.com/aws/aws-sdk-go-v2/service/fms. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 517d336e8edb..e5cdde5282b2 100644 --- a/go.mod +++ b/go.mod @@ -124,7 +124,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/finspace v1.32.0 github.com/aws/aws-sdk-go-v2/service/firehose v1.40.0 github.com/aws/aws-sdk-go-v2/service/fis v1.36.0 - github.com/aws/aws-sdk-go-v2/service/fms v1.42.0 + github.com/aws/aws-sdk-go-v2/service/fms v1.43.0 github.com/aws/aws-sdk-go-v2/service/fsx v1.57.0 github.com/aws/aws-sdk-go-v2/service/gamelift v1.44.0 github.com/aws/aws-sdk-go-v2/service/glacier v1.29.0 diff --git a/go.sum b/go.sum index 3cc96c7306f8..d3e092c9eefd 100644 --- a/go.sum +++ b/go.sum @@ -259,8 +259,8 @@ github.com/aws/aws-sdk-go-v2/service/firehose v1.40.0 h1:ojhEbQATCj/vrI5046jdKMk github.com/aws/aws-sdk-go-v2/service/firehose v1.40.0/go.mod h1:XklPdrzHJNpFs9Wpq6takjsBigK2VxxlpREcLSM8nnQ= github.com/aws/aws-sdk-go-v2/service/fis v1.36.0 h1:zsDCgJ6lWocX4wArsCQre2A92JzBPKKW+2Mg6SOQVVE= github.com/aws/aws-sdk-go-v2/service/fis v1.36.0/go.mod h1:OOOhb7pKoJhZKCVzheRRd+aPKv9Ep+zNUPQtfcoxP5M= -github.com/aws/aws-sdk-go-v2/service/fms v1.42.0 h1:9BGiFztuYik0YMjSp8i2xcJOtg/FIR2tZi+qXdAhwi8= -github.com/aws/aws-sdk-go-v2/service/fms v1.42.0/go.mod h1:Ism46YVzDJXjFuIcUoLZW4a2kA8DM85aslmG3HQrB0k= +github.com/aws/aws-sdk-go-v2/service/fms v1.43.0 h1:tTeH6402fy5Z8JHuUO6aL2yn5WFzWSKF6epxYvIPAMs= +github.com/aws/aws-sdk-go-v2/service/fms v1.43.0/go.mod h1:YtgJpTqlpa7n71B9snaa05vHND7UbQyOHjU4zouPpUM= github.com/aws/aws-sdk-go-v2/service/fsx v1.57.0 h1:vkW/D8CfYTszVLqh6bfMerRVUMkDaTM/AJNb36nyfgs= github.com/aws/aws-sdk-go-v2/service/fsx v1.57.0/go.mod h1:u1aeKi+yVpcQRVOq1VDqUhdvOaqQm9FJFf1MgJoXfn0= github.com/aws/aws-sdk-go-v2/service/gamelift v1.44.0 h1:j6xThxTofUac0LEr6idGSmXGqZiDIVtQEBdCbqGmqSs= From 4e795f073670a10833f7a85516ced54b25a29a53 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:23 -0400 Subject: [PATCH 0935/1301] go get github.com/aws/aws-sdk-go-v2/service/fsx. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e5cdde5282b2..ddb527a2d913 100644 --- a/go.mod +++ b/go.mod @@ -125,7 +125,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/firehose v1.40.0 github.com/aws/aws-sdk-go-v2/service/fis v1.36.0 github.com/aws/aws-sdk-go-v2/service/fms v1.43.0 - github.com/aws/aws-sdk-go-v2/service/fsx v1.57.0 + github.com/aws/aws-sdk-go-v2/service/fsx v1.58.0 github.com/aws/aws-sdk-go-v2/service/gamelift v1.44.0 github.com/aws/aws-sdk-go-v2/service/glacier v1.29.0 github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.32.0 diff --git a/go.sum b/go.sum index d3e092c9eefd..9ea2306efacd 100644 --- a/go.sum +++ b/go.sum @@ -261,8 +261,8 @@ github.com/aws/aws-sdk-go-v2/service/fis v1.36.0 h1:zsDCgJ6lWocX4wArsCQre2A92JzB github.com/aws/aws-sdk-go-v2/service/fis v1.36.0/go.mod h1:OOOhb7pKoJhZKCVzheRRd+aPKv9Ep+zNUPQtfcoxP5M= github.com/aws/aws-sdk-go-v2/service/fms v1.43.0 h1:tTeH6402fy5Z8JHuUO6aL2yn5WFzWSKF6epxYvIPAMs= github.com/aws/aws-sdk-go-v2/service/fms v1.43.0/go.mod h1:YtgJpTqlpa7n71B9snaa05vHND7UbQyOHjU4zouPpUM= -github.com/aws/aws-sdk-go-v2/service/fsx v1.57.0 h1:vkW/D8CfYTszVLqh6bfMerRVUMkDaTM/AJNb36nyfgs= -github.com/aws/aws-sdk-go-v2/service/fsx v1.57.0/go.mod h1:u1aeKi+yVpcQRVOq1VDqUhdvOaqQm9FJFf1MgJoXfn0= +github.com/aws/aws-sdk-go-v2/service/fsx v1.58.0 h1:PsSyOQi3cGH9SVAOIKKQzRN30eNP3ZwkMJal4SZBofk= +github.com/aws/aws-sdk-go-v2/service/fsx v1.58.0/go.mod h1:tUva+sOgmPwfMu02pXdg+zKO02Zcu812xG8doKd7ogA= github.com/aws/aws-sdk-go-v2/service/gamelift v1.44.0 h1:j6xThxTofUac0LEr6idGSmXGqZiDIVtQEBdCbqGmqSs= github.com/aws/aws-sdk-go-v2/service/gamelift v1.44.0/go.mod h1:kHDlGPM/x/CmKP7konxLR99jMhfYCC3bdKUCrpSIUCs= github.com/aws/aws-sdk-go-v2/service/glacier v1.29.0 h1:Fbm8Od3/crUN82KmW7GyX7yt06PYJCfL80CrXUtO6qc= From 76d9cc6bec476539b3daadbb272a10d86468ab6e Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:24 -0400 Subject: [PATCH 0936/1301] go get github.com/aws/aws-sdk-go-v2/service/gamelift. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ddb527a2d913..fdd856c02022 100644 --- a/go.mod +++ b/go.mod @@ -126,7 +126,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/fis v1.36.0 github.com/aws/aws-sdk-go-v2/service/fms v1.43.0 github.com/aws/aws-sdk-go-v2/service/fsx v1.58.0 - github.com/aws/aws-sdk-go-v2/service/gamelift v1.44.0 + github.com/aws/aws-sdk-go-v2/service/gamelift v1.45.0 github.com/aws/aws-sdk-go-v2/service/glacier v1.29.0 github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.32.0 github.com/aws/aws-sdk-go-v2/service/glue v1.123.0 diff --git a/go.sum b/go.sum index 9ea2306efacd..a370cf9b5f9f 100644 --- a/go.sum +++ b/go.sum @@ -263,8 +263,8 @@ github.com/aws/aws-sdk-go-v2/service/fms v1.43.0 h1:tTeH6402fy5Z8JHuUO6aL2yn5WFz github.com/aws/aws-sdk-go-v2/service/fms v1.43.0/go.mod h1:YtgJpTqlpa7n71B9snaa05vHND7UbQyOHjU4zouPpUM= github.com/aws/aws-sdk-go-v2/service/fsx v1.58.0 h1:PsSyOQi3cGH9SVAOIKKQzRN30eNP3ZwkMJal4SZBofk= github.com/aws/aws-sdk-go-v2/service/fsx v1.58.0/go.mod h1:tUva+sOgmPwfMu02pXdg+zKO02Zcu812xG8doKd7ogA= -github.com/aws/aws-sdk-go-v2/service/gamelift v1.44.0 h1:j6xThxTofUac0LEr6idGSmXGqZiDIVtQEBdCbqGmqSs= -github.com/aws/aws-sdk-go-v2/service/gamelift v1.44.0/go.mod h1:kHDlGPM/x/CmKP7konxLR99jMhfYCC3bdKUCrpSIUCs= +github.com/aws/aws-sdk-go-v2/service/gamelift v1.45.0 h1:JdlVzc51kIkdne4ilxnHAfKfXyhzkJ3eYrfZwk38j/k= +github.com/aws/aws-sdk-go-v2/service/gamelift v1.45.0/go.mod h1:j6XU2uooS9YUEfpviJM3f/TFtGlBh/yYHUMhO82XT3o= github.com/aws/aws-sdk-go-v2/service/glacier v1.29.0 h1:Fbm8Od3/crUN82KmW7GyX7yt06PYJCfL80CrXUtO6qc= github.com/aws/aws-sdk-go-v2/service/glacier v1.29.0/go.mod h1:YtF4euf0dO4hPHj0qOM5ae8irG/qkCBJLlrf8cIh6X4= github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.32.0 h1:5i6DYz0BE1x2o+2Ig++dmjohzlNjlA7nNA/cNTCU60U= From b9370999cfcd095619bd63c02a52d703dae3be5b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:26 -0400 Subject: [PATCH 0937/1301] go get github.com/aws/aws-sdk-go-v2/service/glacier. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index fdd856c02022..d82db7729890 100644 --- a/go.mod +++ b/go.mod @@ -127,7 +127,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/fms v1.43.0 github.com/aws/aws-sdk-go-v2/service/fsx v1.58.0 github.com/aws/aws-sdk-go-v2/service/gamelift v1.45.0 - github.com/aws/aws-sdk-go-v2/service/glacier v1.29.0 + github.com/aws/aws-sdk-go-v2/service/glacier v1.30.0 github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.32.0 github.com/aws/aws-sdk-go-v2/service/glue v1.123.0 github.com/aws/aws-sdk-go-v2/service/grafana v1.29.0 diff --git a/go.sum b/go.sum index a370cf9b5f9f..62ab08690b32 100644 --- a/go.sum +++ b/go.sum @@ -265,8 +265,8 @@ github.com/aws/aws-sdk-go-v2/service/fsx v1.58.0 h1:PsSyOQi3cGH9SVAOIKKQzRN30eNP github.com/aws/aws-sdk-go-v2/service/fsx v1.58.0/go.mod h1:tUva+sOgmPwfMu02pXdg+zKO02Zcu812xG8doKd7ogA= github.com/aws/aws-sdk-go-v2/service/gamelift v1.45.0 h1:JdlVzc51kIkdne4ilxnHAfKfXyhzkJ3eYrfZwk38j/k= github.com/aws/aws-sdk-go-v2/service/gamelift v1.45.0/go.mod h1:j6XU2uooS9YUEfpviJM3f/TFtGlBh/yYHUMhO82XT3o= -github.com/aws/aws-sdk-go-v2/service/glacier v1.29.0 h1:Fbm8Od3/crUN82KmW7GyX7yt06PYJCfL80CrXUtO6qc= -github.com/aws/aws-sdk-go-v2/service/glacier v1.29.0/go.mod h1:YtF4euf0dO4hPHj0qOM5ae8irG/qkCBJLlrf8cIh6X4= +github.com/aws/aws-sdk-go-v2/service/glacier v1.30.0 h1:GILchKM1cgGoIjYEYh3oV2o4Xy4v745NtPCo5WIhLFk= +github.com/aws/aws-sdk-go-v2/service/glacier v1.30.0/go.mod h1:yqs+luUVTNkd9iVIstDEnJ7j0XReWABgJmTDVIhxBGc= github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.32.0 h1:5i6DYz0BE1x2o+2Ig++dmjohzlNjlA7nNA/cNTCU60U= github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.32.0/go.mod h1:FCpLBbV4XEcc768mvlBb2Ovz66V+DwOjemPlBIWk6/E= github.com/aws/aws-sdk-go-v2/service/glue v1.123.0 h1:oI5uX+NPxqkIP1Qy8XTlTiG3blhDDI0h1OtrOs14KZw= From d206c290285f6a848b19b8e50b26e107128e077a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:27 -0400 Subject: [PATCH 0938/1301] go get github.com/aws/aws-sdk-go-v2/service/globalaccelerator. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d82db7729890..d395bb134bab 100644 --- a/go.mod +++ b/go.mod @@ -128,7 +128,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/fsx v1.58.0 github.com/aws/aws-sdk-go-v2/service/gamelift v1.45.0 github.com/aws/aws-sdk-go-v2/service/glacier v1.30.0 - github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.32.0 + github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.33.0 github.com/aws/aws-sdk-go-v2/service/glue v1.123.0 github.com/aws/aws-sdk-go-v2/service/grafana v1.29.0 github.com/aws/aws-sdk-go-v2/service/greengrass v1.30.0 diff --git a/go.sum b/go.sum index 62ab08690b32..634fd71bb053 100644 --- a/go.sum +++ b/go.sum @@ -267,8 +267,8 @@ github.com/aws/aws-sdk-go-v2/service/gamelift v1.45.0 h1:JdlVzc51kIkdne4ilxnHAfK github.com/aws/aws-sdk-go-v2/service/gamelift v1.45.0/go.mod h1:j6XU2uooS9YUEfpviJM3f/TFtGlBh/yYHUMhO82XT3o= github.com/aws/aws-sdk-go-v2/service/glacier v1.30.0 h1:GILchKM1cgGoIjYEYh3oV2o4Xy4v745NtPCo5WIhLFk= github.com/aws/aws-sdk-go-v2/service/glacier v1.30.0/go.mod h1:yqs+luUVTNkd9iVIstDEnJ7j0XReWABgJmTDVIhxBGc= -github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.32.0 h1:5i6DYz0BE1x2o+2Ig++dmjohzlNjlA7nNA/cNTCU60U= -github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.32.0/go.mod h1:FCpLBbV4XEcc768mvlBb2Ovz66V+DwOjemPlBIWk6/E= +github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.33.0 h1:iyNvCA8OSZDuSZktR0kPL2wZbuCM4X1g5R0TyMMmVLI= +github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.33.0/go.mod h1:u4X7GrZWh5nMBiGkJPJoNaDZQvjikjCoPTf7rg0vKpc= github.com/aws/aws-sdk-go-v2/service/glue v1.123.0 h1:oI5uX+NPxqkIP1Qy8XTlTiG3blhDDI0h1OtrOs14KZw= github.com/aws/aws-sdk-go-v2/service/glue v1.123.0/go.mod h1:UnMg9irwCEC9F0qiaOGFwcXatZH+QNxj1hcXe0PPU0U= github.com/aws/aws-sdk-go-v2/service/grafana v1.29.0 h1:RHaROqWEZduMgamzYhxQMJV+yU4c00DNpuFNNrLH4Tw= From 505e412bd2c7860a6d5b6bb1856f4e3d4466b7fd Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:28 -0400 Subject: [PATCH 0939/1301] go get github.com/aws/aws-sdk-go-v2/service/glue. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d395bb134bab..8c30f9f19d52 100644 --- a/go.mod +++ b/go.mod @@ -129,7 +129,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/gamelift v1.45.0 github.com/aws/aws-sdk-go-v2/service/glacier v1.30.0 github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.33.0 - github.com/aws/aws-sdk-go-v2/service/glue v1.123.0 + github.com/aws/aws-sdk-go-v2/service/glue v1.124.0 github.com/aws/aws-sdk-go-v2/service/grafana v1.29.0 github.com/aws/aws-sdk-go-v2/service/greengrass v1.30.0 github.com/aws/aws-sdk-go-v2/service/groundstation v1.35.0 diff --git a/go.sum b/go.sum index 634fd71bb053..b13376d45d49 100644 --- a/go.sum +++ b/go.sum @@ -269,8 +269,8 @@ github.com/aws/aws-sdk-go-v2/service/glacier v1.30.0 h1:GILchKM1cgGoIjYEYh3oV2o4 github.com/aws/aws-sdk-go-v2/service/glacier v1.30.0/go.mod h1:yqs+luUVTNkd9iVIstDEnJ7j0XReWABgJmTDVIhxBGc= github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.33.0 h1:iyNvCA8OSZDuSZktR0kPL2wZbuCM4X1g5R0TyMMmVLI= github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.33.0/go.mod h1:u4X7GrZWh5nMBiGkJPJoNaDZQvjikjCoPTf7rg0vKpc= -github.com/aws/aws-sdk-go-v2/service/glue v1.123.0 h1:oI5uX+NPxqkIP1Qy8XTlTiG3blhDDI0h1OtrOs14KZw= -github.com/aws/aws-sdk-go-v2/service/glue v1.123.0/go.mod h1:UnMg9irwCEC9F0qiaOGFwcXatZH+QNxj1hcXe0PPU0U= +github.com/aws/aws-sdk-go-v2/service/glue v1.124.0 h1:g879RjQHSsIDMeAZNLM/x7Iw4BfCShOmU/OPUc0JaPU= +github.com/aws/aws-sdk-go-v2/service/glue v1.124.0/go.mod h1:xDM3DkasatX1hkG/dHQjh5F/vAYL7fsvuas0SgofNc4= github.com/aws/aws-sdk-go-v2/service/grafana v1.29.0 h1:RHaROqWEZduMgamzYhxQMJV+yU4c00DNpuFNNrLH4Tw= github.com/aws/aws-sdk-go-v2/service/grafana v1.29.0/go.mod h1:rQ5s18ZiGCKhfSmAcEloiN7pvVRR1uPxFJv/gXBWMrA= github.com/aws/aws-sdk-go-v2/service/greengrass v1.30.0 h1:ogCs+AbzCNSCUMcWq94Bi3mHde21qPpR1znwTO1bGeU= From 46fb1071f0493759a90e2f4be8694ebcd285a9fc Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:29 -0400 Subject: [PATCH 0940/1301] go get github.com/aws/aws-sdk-go-v2/service/grafana. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8c30f9f19d52..340e888e2805 100644 --- a/go.mod +++ b/go.mod @@ -130,7 +130,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/glacier v1.30.0 github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.33.0 github.com/aws/aws-sdk-go-v2/service/glue v1.124.0 - github.com/aws/aws-sdk-go-v2/service/grafana v1.29.0 + github.com/aws/aws-sdk-go-v2/service/grafana v1.30.0 github.com/aws/aws-sdk-go-v2/service/greengrass v1.30.0 github.com/aws/aws-sdk-go-v2/service/groundstation v1.35.0 github.com/aws/aws-sdk-go-v2/service/guardduty v1.60.0 diff --git a/go.sum b/go.sum index b13376d45d49..1cd51d7d7f1f 100644 --- a/go.sum +++ b/go.sum @@ -271,8 +271,8 @@ github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.33.0 h1:iyNvCA8OSZDuSZ github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.33.0/go.mod h1:u4X7GrZWh5nMBiGkJPJoNaDZQvjikjCoPTf7rg0vKpc= github.com/aws/aws-sdk-go-v2/service/glue v1.124.0 h1:g879RjQHSsIDMeAZNLM/x7Iw4BfCShOmU/OPUc0JaPU= github.com/aws/aws-sdk-go-v2/service/glue v1.124.0/go.mod h1:xDM3DkasatX1hkG/dHQjh5F/vAYL7fsvuas0SgofNc4= -github.com/aws/aws-sdk-go-v2/service/grafana v1.29.0 h1:RHaROqWEZduMgamzYhxQMJV+yU4c00DNpuFNNrLH4Tw= -github.com/aws/aws-sdk-go-v2/service/grafana v1.29.0/go.mod h1:rQ5s18ZiGCKhfSmAcEloiN7pvVRR1uPxFJv/gXBWMrA= +github.com/aws/aws-sdk-go-v2/service/grafana v1.30.0 h1:q8igUjHYqbjskJxA5CT4uxCMEYD9i4uV2MMSd4PMR7I= +github.com/aws/aws-sdk-go-v2/service/grafana v1.30.0/go.mod h1:LYAjxQeHmDeDHajiAQofIQLFzUfioTLXNl79+9olIkU= github.com/aws/aws-sdk-go-v2/service/greengrass v1.30.0 h1:ogCs+AbzCNSCUMcWq94Bi3mHde21qPpR1znwTO1bGeU= github.com/aws/aws-sdk-go-v2/service/greengrass v1.30.0/go.mod h1:VWGNxq54dTkPMl1WMYI6t1l6fePKtzT5kOJ6KTtULjs= github.com/aws/aws-sdk-go-v2/service/groundstation v1.35.0 h1:t7EmpuEsT1KryHEC+ZJhN9Hvg3jy8+wuUIOeauoSEyo= From cc8366c62756f0971342fb800dc31e7c60f97b04 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:30 -0400 Subject: [PATCH 0941/1301] go get github.com/aws/aws-sdk-go-v2/service/greengrass. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 340e888e2805..8787d0c21045 100644 --- a/go.mod +++ b/go.mod @@ -131,7 +131,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.33.0 github.com/aws/aws-sdk-go-v2/service/glue v1.124.0 github.com/aws/aws-sdk-go-v2/service/grafana v1.30.0 - github.com/aws/aws-sdk-go-v2/service/greengrass v1.30.0 + github.com/aws/aws-sdk-go-v2/service/greengrass v1.31.0 github.com/aws/aws-sdk-go-v2/service/groundstation v1.35.0 github.com/aws/aws-sdk-go-v2/service/guardduty v1.60.0 github.com/aws/aws-sdk-go-v2/service/healthlake v1.32.0 diff --git a/go.sum b/go.sum index 1cd51d7d7f1f..02dfa42d4ab5 100644 --- a/go.sum +++ b/go.sum @@ -273,8 +273,8 @@ github.com/aws/aws-sdk-go-v2/service/glue v1.124.0 h1:g879RjQHSsIDMeAZNLM/x7Iw4B github.com/aws/aws-sdk-go-v2/service/glue v1.124.0/go.mod h1:xDM3DkasatX1hkG/dHQjh5F/vAYL7fsvuas0SgofNc4= github.com/aws/aws-sdk-go-v2/service/grafana v1.30.0 h1:q8igUjHYqbjskJxA5CT4uxCMEYD9i4uV2MMSd4PMR7I= github.com/aws/aws-sdk-go-v2/service/grafana v1.30.0/go.mod h1:LYAjxQeHmDeDHajiAQofIQLFzUfioTLXNl79+9olIkU= -github.com/aws/aws-sdk-go-v2/service/greengrass v1.30.0 h1:ogCs+AbzCNSCUMcWq94Bi3mHde21qPpR1znwTO1bGeU= -github.com/aws/aws-sdk-go-v2/service/greengrass v1.30.0/go.mod h1:VWGNxq54dTkPMl1WMYI6t1l6fePKtzT5kOJ6KTtULjs= +github.com/aws/aws-sdk-go-v2/service/greengrass v1.31.0 h1:3cELzkqYTy1EEn5kbr5jXfzVaW3ha+5HTuNe7053VFE= +github.com/aws/aws-sdk-go-v2/service/greengrass v1.31.0/go.mod h1:yHdROXdauuEdWsTTuOZ2MCkw1MC352BJvHbzhvHjOJY= github.com/aws/aws-sdk-go-v2/service/groundstation v1.35.0 h1:t7EmpuEsT1KryHEC+ZJhN9Hvg3jy8+wuUIOeauoSEyo= github.com/aws/aws-sdk-go-v2/service/groundstation v1.35.0/go.mod h1:CJDWshApYf/go1kkHtplQ/dxM4tgceOyI/bcbQj5CGA= github.com/aws/aws-sdk-go-v2/service/guardduty v1.60.0 h1:xWaBB5lU7dqKsfkMYC6E0yC53zz+8XjIRfd3sQ1xKSg= From 26021a9316d089486728e323e13f4bac203924c5 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:31 -0400 Subject: [PATCH 0942/1301] go get github.com/aws/aws-sdk-go-v2/service/groundstation. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8787d0c21045..5297c20e32b5 100644 --- a/go.mod +++ b/go.mod @@ -132,7 +132,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/glue v1.124.0 github.com/aws/aws-sdk-go-v2/service/grafana v1.30.0 github.com/aws/aws-sdk-go-v2/service/greengrass v1.31.0 - github.com/aws/aws-sdk-go-v2/service/groundstation v1.35.0 + github.com/aws/aws-sdk-go-v2/service/groundstation v1.36.0 github.com/aws/aws-sdk-go-v2/service/guardduty v1.60.0 github.com/aws/aws-sdk-go-v2/service/healthlake v1.32.0 github.com/aws/aws-sdk-go-v2/service/iam v1.45.0 diff --git a/go.sum b/go.sum index 02dfa42d4ab5..6660ace273a7 100644 --- a/go.sum +++ b/go.sum @@ -275,8 +275,8 @@ github.com/aws/aws-sdk-go-v2/service/grafana v1.30.0 h1:q8igUjHYqbjskJxA5CT4uxCM github.com/aws/aws-sdk-go-v2/service/grafana v1.30.0/go.mod h1:LYAjxQeHmDeDHajiAQofIQLFzUfioTLXNl79+9olIkU= github.com/aws/aws-sdk-go-v2/service/greengrass v1.31.0 h1:3cELzkqYTy1EEn5kbr5jXfzVaW3ha+5HTuNe7053VFE= github.com/aws/aws-sdk-go-v2/service/greengrass v1.31.0/go.mod h1:yHdROXdauuEdWsTTuOZ2MCkw1MC352BJvHbzhvHjOJY= -github.com/aws/aws-sdk-go-v2/service/groundstation v1.35.0 h1:t7EmpuEsT1KryHEC+ZJhN9Hvg3jy8+wuUIOeauoSEyo= -github.com/aws/aws-sdk-go-v2/service/groundstation v1.35.0/go.mod h1:CJDWshApYf/go1kkHtplQ/dxM4tgceOyI/bcbQj5CGA= +github.com/aws/aws-sdk-go-v2/service/groundstation v1.36.0 h1:aTtuwsQIMHjO9/FFeRvj5SQ7vbBlmFxHXhySY8TNavY= +github.com/aws/aws-sdk-go-v2/service/groundstation v1.36.0/go.mod h1:4t0gY0t3e/xdxDoCxIUEXZkhg+Mp503K64+cs/JE65A= github.com/aws/aws-sdk-go-v2/service/guardduty v1.60.0 h1:xWaBB5lU7dqKsfkMYC6E0yC53zz+8XjIRfd3sQ1xKSg= github.com/aws/aws-sdk-go-v2/service/guardduty v1.60.0/go.mod h1:/0f7xSNgp1HvUOzvaUFsoVo24P6D/VPW2q4cBudw090= github.com/aws/aws-sdk-go-v2/service/healthlake v1.32.0 h1:g9VEqxrBxNlrdt73yLrOJhe+AWQgu/ECRLO0FB9p4B8= From 2234798649151def035f5f6225a58e1fc78fc510 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:32 -0400 Subject: [PATCH 0943/1301] go get github.com/aws/aws-sdk-go-v2/service/guardduty. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5297c20e32b5..45e3ccdba349 100644 --- a/go.mod +++ b/go.mod @@ -133,7 +133,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/grafana v1.30.0 github.com/aws/aws-sdk-go-v2/service/greengrass v1.31.0 github.com/aws/aws-sdk-go-v2/service/groundstation v1.36.0 - github.com/aws/aws-sdk-go-v2/service/guardduty v1.60.0 + github.com/aws/aws-sdk-go-v2/service/guardduty v1.61.0 github.com/aws/aws-sdk-go-v2/service/healthlake v1.32.0 github.com/aws/aws-sdk-go-v2/service/iam v1.45.0 github.com/aws/aws-sdk-go-v2/service/identitystore v1.30.0 diff --git a/go.sum b/go.sum index 6660ace273a7..b1025d684614 100644 --- a/go.sum +++ b/go.sum @@ -277,8 +277,8 @@ github.com/aws/aws-sdk-go-v2/service/greengrass v1.31.0 h1:3cELzkqYTy1EEn5kbr5jX github.com/aws/aws-sdk-go-v2/service/greengrass v1.31.0/go.mod h1:yHdROXdauuEdWsTTuOZ2MCkw1MC352BJvHbzhvHjOJY= github.com/aws/aws-sdk-go-v2/service/groundstation v1.36.0 h1:aTtuwsQIMHjO9/FFeRvj5SQ7vbBlmFxHXhySY8TNavY= github.com/aws/aws-sdk-go-v2/service/groundstation v1.36.0/go.mod h1:4t0gY0t3e/xdxDoCxIUEXZkhg+Mp503K64+cs/JE65A= -github.com/aws/aws-sdk-go-v2/service/guardduty v1.60.0 h1:xWaBB5lU7dqKsfkMYC6E0yC53zz+8XjIRfd3sQ1xKSg= -github.com/aws/aws-sdk-go-v2/service/guardduty v1.60.0/go.mod h1:/0f7xSNgp1HvUOzvaUFsoVo24P6D/VPW2q4cBudw090= +github.com/aws/aws-sdk-go-v2/service/guardduty v1.61.0 h1:cueeIOu1h4Htsw8PPdL/7lez7YG072TeBS2kdtvv4L4= +github.com/aws/aws-sdk-go-v2/service/guardduty v1.61.0/go.mod h1:0RpdeWC47aAKjRQhmFkWB7AU7acRQ7t3C3sox93F69Y= github.com/aws/aws-sdk-go-v2/service/healthlake v1.32.0 h1:g9VEqxrBxNlrdt73yLrOJhe+AWQgu/ECRLO0FB9p4B8= github.com/aws/aws-sdk-go-v2/service/healthlake v1.32.0/go.mod h1:/Zlk6NkxmzWRJfz86zgMK5SOGOX7HxfhfUmm5rcUvRI= github.com/aws/aws-sdk-go-v2/service/iam v1.45.0 h1:H4iGrdJQREYDugHeFeknCZSIQKi2j9xqCFuK0VG1ldI= From 474ea255ed704779dd9b9319c7b707b2795ad8fe Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:34 -0400 Subject: [PATCH 0944/1301] go get github.com/aws/aws-sdk-go-v2/service/healthlake. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 45e3ccdba349..b1b575f14e65 100644 --- a/go.mod +++ b/go.mod @@ -134,7 +134,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/greengrass v1.31.0 github.com/aws/aws-sdk-go-v2/service/groundstation v1.36.0 github.com/aws/aws-sdk-go-v2/service/guardduty v1.61.0 - github.com/aws/aws-sdk-go-v2/service/healthlake v1.32.0 + github.com/aws/aws-sdk-go-v2/service/healthlake v1.33.0 github.com/aws/aws-sdk-go-v2/service/iam v1.45.0 github.com/aws/aws-sdk-go-v2/service/identitystore v1.30.0 github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.44.0 diff --git a/go.sum b/go.sum index b1025d684614..c4cd367cfc3c 100644 --- a/go.sum +++ b/go.sum @@ -279,8 +279,8 @@ github.com/aws/aws-sdk-go-v2/service/groundstation v1.36.0 h1:aTtuwsQIMHjO9/FFeR github.com/aws/aws-sdk-go-v2/service/groundstation v1.36.0/go.mod h1:4t0gY0t3e/xdxDoCxIUEXZkhg+Mp503K64+cs/JE65A= github.com/aws/aws-sdk-go-v2/service/guardduty v1.61.0 h1:cueeIOu1h4Htsw8PPdL/7lez7YG072TeBS2kdtvv4L4= github.com/aws/aws-sdk-go-v2/service/guardduty v1.61.0/go.mod h1:0RpdeWC47aAKjRQhmFkWB7AU7acRQ7t3C3sox93F69Y= -github.com/aws/aws-sdk-go-v2/service/healthlake v1.32.0 h1:g9VEqxrBxNlrdt73yLrOJhe+AWQgu/ECRLO0FB9p4B8= -github.com/aws/aws-sdk-go-v2/service/healthlake v1.32.0/go.mod h1:/Zlk6NkxmzWRJfz86zgMK5SOGOX7HxfhfUmm5rcUvRI= +github.com/aws/aws-sdk-go-v2/service/healthlake v1.33.0 h1:oVJU7GYNUPjlJN8kv8E1BI0MrI0Zif57BZvXUAOIWMw= +github.com/aws/aws-sdk-go-v2/service/healthlake v1.33.0/go.mod h1:nRqPmywyo+J7YWO/z4oq+qxn10C6IncV40ALIiQcMxY= github.com/aws/aws-sdk-go-v2/service/iam v1.45.0 h1:H4iGrdJQREYDugHeFeknCZSIQKi2j9xqCFuK0VG1ldI= github.com/aws/aws-sdk-go-v2/service/iam v1.45.0/go.mod h1:RLNjsuRZyUKWwC1Tj51dEpEKi3IgrxIvEbYdvD14WjU= github.com/aws/aws-sdk-go-v2/service/identitystore v1.30.0 h1:/hjYtl0PyFG3X4AU4npfYHQa7JKHz1X5y4Qg7Br+a4I= From 6c684064b0b18b2586cac9733c1fc4540e5c25b7 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:35 -0400 Subject: [PATCH 0945/1301] go get github.com/aws/aws-sdk-go-v2/service/iam. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b1b575f14e65..228944fccf9f 100644 --- a/go.mod +++ b/go.mod @@ -135,7 +135,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/groundstation v1.36.0 github.com/aws/aws-sdk-go-v2/service/guardduty v1.61.0 github.com/aws/aws-sdk-go-v2/service/healthlake v1.33.0 - github.com/aws/aws-sdk-go-v2/service/iam v1.45.0 + github.com/aws/aws-sdk-go-v2/service/iam v1.46.0 github.com/aws/aws-sdk-go-v2/service/identitystore v1.30.0 github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.44.0 github.com/aws/aws-sdk-go-v2/service/inspector v1.28.0 diff --git a/go.sum b/go.sum index c4cd367cfc3c..4ac844ab7e58 100644 --- a/go.sum +++ b/go.sum @@ -281,8 +281,8 @@ github.com/aws/aws-sdk-go-v2/service/guardduty v1.61.0 h1:cueeIOu1h4Htsw8PPdL/7l github.com/aws/aws-sdk-go-v2/service/guardduty v1.61.0/go.mod h1:0RpdeWC47aAKjRQhmFkWB7AU7acRQ7t3C3sox93F69Y= github.com/aws/aws-sdk-go-v2/service/healthlake v1.33.0 h1:oVJU7GYNUPjlJN8kv8E1BI0MrI0Zif57BZvXUAOIWMw= github.com/aws/aws-sdk-go-v2/service/healthlake v1.33.0/go.mod h1:nRqPmywyo+J7YWO/z4oq+qxn10C6IncV40ALIiQcMxY= -github.com/aws/aws-sdk-go-v2/service/iam v1.45.0 h1:H4iGrdJQREYDugHeFeknCZSIQKi2j9xqCFuK0VG1ldI= -github.com/aws/aws-sdk-go-v2/service/iam v1.45.0/go.mod h1:RLNjsuRZyUKWwC1Tj51dEpEKi3IgrxIvEbYdvD14WjU= +github.com/aws/aws-sdk-go-v2/service/iam v1.46.0 h1:bJgrqPT2vy+OrJpSeVfZ4e4zaD/EVdcq+5yxDtUOql0= +github.com/aws/aws-sdk-go-v2/service/iam v1.46.0/go.mod h1:WsQuuejKHNC3UWs+n4usF+nNy1DFGYgWRugqFf+gGD4= github.com/aws/aws-sdk-go-v2/service/identitystore v1.30.0 h1:/hjYtl0PyFG3X4AU4npfYHQa7JKHz1X5y4Qg7Br+a4I= github.com/aws/aws-sdk-go-v2/service/identitystore v1.30.0/go.mod h1:qL3gyU/WyGQo1DscmhMiL8/oThY+PqEhKusqyONF5jU= github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.44.0 h1:muZl56NGdKq46mKqOBQ8S4+tgBS8YvU9UQgbhw+4LVk= From bd8634330f631ac936f9d3d7b80d414da5b43580 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:36 -0400 Subject: [PATCH 0946/1301] go get github.com/aws/aws-sdk-go-v2/service/identitystore. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 228944fccf9f..748dd2a7e32a 100644 --- a/go.mod +++ b/go.mod @@ -136,7 +136,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/guardduty v1.61.0 github.com/aws/aws-sdk-go-v2/service/healthlake v1.33.0 github.com/aws/aws-sdk-go-v2/service/iam v1.46.0 - github.com/aws/aws-sdk-go-v2/service/identitystore v1.30.0 + github.com/aws/aws-sdk-go-v2/service/identitystore v1.31.0 github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.44.0 github.com/aws/aws-sdk-go-v2/service/inspector v1.28.0 github.com/aws/aws-sdk-go-v2/service/inspector2 v1.42.0 diff --git a/go.sum b/go.sum index 4ac844ab7e58..227034dcc3b7 100644 --- a/go.sum +++ b/go.sum @@ -283,8 +283,8 @@ github.com/aws/aws-sdk-go-v2/service/healthlake v1.33.0 h1:oVJU7GYNUPjlJN8kv8E1B github.com/aws/aws-sdk-go-v2/service/healthlake v1.33.0/go.mod h1:nRqPmywyo+J7YWO/z4oq+qxn10C6IncV40ALIiQcMxY= github.com/aws/aws-sdk-go-v2/service/iam v1.46.0 h1:bJgrqPT2vy+OrJpSeVfZ4e4zaD/EVdcq+5yxDtUOql0= github.com/aws/aws-sdk-go-v2/service/iam v1.46.0/go.mod h1:WsQuuejKHNC3UWs+n4usF+nNy1DFGYgWRugqFf+gGD4= -github.com/aws/aws-sdk-go-v2/service/identitystore v1.30.0 h1:/hjYtl0PyFG3X4AU4npfYHQa7JKHz1X5y4Qg7Br+a4I= -github.com/aws/aws-sdk-go-v2/service/identitystore v1.30.0/go.mod h1:qL3gyU/WyGQo1DscmhMiL8/oThY+PqEhKusqyONF5jU= +github.com/aws/aws-sdk-go-v2/service/identitystore v1.31.0 h1:Ho/jmeFRCaRZM0hoTzaOFYbV74nWBefREYVPn75AqRA= +github.com/aws/aws-sdk-go-v2/service/identitystore v1.31.0/go.mod h1:K1K6uXkdxb7GDvUTVfvEkE75fDI2eY5ISyr77St091Y= github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.44.0 h1:muZl56NGdKq46mKqOBQ8S4+tgBS8YvU9UQgbhw+4LVk= github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.44.0/go.mod h1:Q9XC36P6xNG1612gw7M8vx4MglZuxt/EuFBnKkdKbgQ= github.com/aws/aws-sdk-go-v2/service/inspector v1.28.0 h1:dwa4S72d+eotYy1MIncpvQZjQpb4aQsIdJkw6UNStDk= From 52b24e3f7dd47a96644ecb481fc5c0e1e100554e Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:37 -0400 Subject: [PATCH 0947/1301] go get github.com/aws/aws-sdk-go-v2/service/imagebuilder. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 748dd2a7e32a..9457d1cde711 100644 --- a/go.mod +++ b/go.mod @@ -137,7 +137,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/healthlake v1.33.0 github.com/aws/aws-sdk-go-v2/service/iam v1.46.0 github.com/aws/aws-sdk-go-v2/service/identitystore v1.31.0 - github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.44.0 + github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.45.0 github.com/aws/aws-sdk-go-v2/service/inspector v1.28.0 github.com/aws/aws-sdk-go-v2/service/inspector2 v1.42.0 github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.23.0 diff --git a/go.sum b/go.sum index 227034dcc3b7..a4c8d1905cf0 100644 --- a/go.sum +++ b/go.sum @@ -285,8 +285,8 @@ github.com/aws/aws-sdk-go-v2/service/iam v1.46.0 h1:bJgrqPT2vy+OrJpSeVfZ4e4zaD/E github.com/aws/aws-sdk-go-v2/service/iam v1.46.0/go.mod h1:WsQuuejKHNC3UWs+n4usF+nNy1DFGYgWRugqFf+gGD4= github.com/aws/aws-sdk-go-v2/service/identitystore v1.31.0 h1:Ho/jmeFRCaRZM0hoTzaOFYbV74nWBefREYVPn75AqRA= github.com/aws/aws-sdk-go-v2/service/identitystore v1.31.0/go.mod h1:K1K6uXkdxb7GDvUTVfvEkE75fDI2eY5ISyr77St091Y= -github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.44.0 h1:muZl56NGdKq46mKqOBQ8S4+tgBS8YvU9UQgbhw+4LVk= -github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.44.0/go.mod h1:Q9XC36P6xNG1612gw7M8vx4MglZuxt/EuFBnKkdKbgQ= +github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.45.0 h1:h1DzFDVG7/vPWsQVf8oQdgmWMleJU5gWt4OPZVnxxIU= +github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.45.0/go.mod h1:hHqxHKHoCnne1DZS/GKsjYU8JoQUuWOCEIfFcuDzDLY= github.com/aws/aws-sdk-go-v2/service/inspector v1.28.0 h1:dwa4S72d+eotYy1MIncpvQZjQpb4aQsIdJkw6UNStDk= github.com/aws/aws-sdk-go-v2/service/inspector v1.28.0/go.mod h1:C1sKaCeju2VcZ6NFiu0K6mXnAgROjnaqDhuLON2jmO0= github.com/aws/aws-sdk-go-v2/service/inspector2 v1.42.0 h1:hCqhvKyJ3GZU7k5ivzrzLR4nXBiwNIyq6bA8FDdX/oE= From 66b1359eb03e9bf31c990422ed588af1caeb1fea Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:38 -0400 Subject: [PATCH 0948/1301] go get github.com/aws/aws-sdk-go-v2/service/inspector. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 9457d1cde711..223d8d9d0d24 100644 --- a/go.mod +++ b/go.mod @@ -138,7 +138,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/iam v1.46.0 github.com/aws/aws-sdk-go-v2/service/identitystore v1.31.0 github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.45.0 - github.com/aws/aws-sdk-go-v2/service/inspector v1.28.0 + github.com/aws/aws-sdk-go-v2/service/inspector v1.29.0 github.com/aws/aws-sdk-go-v2/service/inspector2 v1.42.0 github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.23.0 github.com/aws/aws-sdk-go-v2/service/invoicing v1.5.0 diff --git a/go.sum b/go.sum index a4c8d1905cf0..80d2607c6bb1 100644 --- a/go.sum +++ b/go.sum @@ -287,8 +287,8 @@ github.com/aws/aws-sdk-go-v2/service/identitystore v1.31.0 h1:Ho/jmeFRCaRZM0hoTz github.com/aws/aws-sdk-go-v2/service/identitystore v1.31.0/go.mod h1:K1K6uXkdxb7GDvUTVfvEkE75fDI2eY5ISyr77St091Y= github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.45.0 h1:h1DzFDVG7/vPWsQVf8oQdgmWMleJU5gWt4OPZVnxxIU= github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.45.0/go.mod h1:hHqxHKHoCnne1DZS/GKsjYU8JoQUuWOCEIfFcuDzDLY= -github.com/aws/aws-sdk-go-v2/service/inspector v1.28.0 h1:dwa4S72d+eotYy1MIncpvQZjQpb4aQsIdJkw6UNStDk= -github.com/aws/aws-sdk-go-v2/service/inspector v1.28.0/go.mod h1:C1sKaCeju2VcZ6NFiu0K6mXnAgROjnaqDhuLON2jmO0= +github.com/aws/aws-sdk-go-v2/service/inspector v1.29.0 h1:rqaDVBRPXDmWIVu6RClCQiF2eoBCEjqCjf9YgRiFYH4= +github.com/aws/aws-sdk-go-v2/service/inspector v1.29.0/go.mod h1:9bew1fUtgB9LK1O+JGpkNxUcRO7Sj3O2GxlRd7G+UUU= github.com/aws/aws-sdk-go-v2/service/inspector2 v1.42.0 h1:hCqhvKyJ3GZU7k5ivzrzLR4nXBiwNIyq6bA8FDdX/oE= github.com/aws/aws-sdk-go-v2/service/inspector2 v1.42.0/go.mod h1:ClLIVjq4ypDXNZ/n8edCQyd2f/lVn2xZpsHgWGjtCUA= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 h1:6+lZi2JeGKtCraAj1rpoZfKqnQ9SptseRZioejfUOLM= From a4cfbe660e427881ec22a6380c5541c451cfd664 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:39 -0400 Subject: [PATCH 0949/1301] go get github.com/aws/aws-sdk-go-v2/service/inspector2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 223d8d9d0d24..2ac6e5944a9a 100644 --- a/go.mod +++ b/go.mod @@ -139,7 +139,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/identitystore v1.31.0 github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.45.0 github.com/aws/aws-sdk-go-v2/service/inspector v1.29.0 - github.com/aws/aws-sdk-go-v2/service/inspector2 v1.42.0 + github.com/aws/aws-sdk-go-v2/service/inspector2 v1.43.0 github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.23.0 github.com/aws/aws-sdk-go-v2/service/invoicing v1.5.0 github.com/aws/aws-sdk-go-v2/service/iot v1.67.0 diff --git a/go.sum b/go.sum index 80d2607c6bb1..0bf2d01eba94 100644 --- a/go.sum +++ b/go.sum @@ -289,8 +289,8 @@ github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.45.0 h1:h1DzFDVG7/vPWsQVf8o github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.45.0/go.mod h1:hHqxHKHoCnne1DZS/GKsjYU8JoQUuWOCEIfFcuDzDLY= github.com/aws/aws-sdk-go-v2/service/inspector v1.29.0 h1:rqaDVBRPXDmWIVu6RClCQiF2eoBCEjqCjf9YgRiFYH4= github.com/aws/aws-sdk-go-v2/service/inspector v1.29.0/go.mod h1:9bew1fUtgB9LK1O+JGpkNxUcRO7Sj3O2GxlRd7G+UUU= -github.com/aws/aws-sdk-go-v2/service/inspector2 v1.42.0 h1:hCqhvKyJ3GZU7k5ivzrzLR4nXBiwNIyq6bA8FDdX/oE= -github.com/aws/aws-sdk-go-v2/service/inspector2 v1.42.0/go.mod h1:ClLIVjq4ypDXNZ/n8edCQyd2f/lVn2xZpsHgWGjtCUA= +github.com/aws/aws-sdk-go-v2/service/inspector2 v1.43.0 h1:pwIs1giy/xJWUCT0dfAK7EHvAdOFohFHJDyOLvOiMfk= +github.com/aws/aws-sdk-go-v2/service/inspector2 v1.43.0/go.mod h1:yHwqyTje7gDZtLivPaXrk8fLAvT6LaM/XR1Fxxaf/hg= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 h1:6+lZi2JeGKtCraAj1rpoZfKqnQ9SptseRZioejfUOLM= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0/go.mod h1:eb3gfbVIxIoGgJsi9pGne19dhCBpK6opTYpQqAmdy44= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.3 h1:3ZKmesYBaFX33czDl6mbrcHb6jeheg6LqjJhQdefhsY= From 224ce9148337eb7fd8a6a9fd6976a07a2f957276 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:40 -0400 Subject: [PATCH 0950/1301] go get github.com/aws/aws-sdk-go-v2/service/internetmonitor. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 2ac6e5944a9a..ff69dfe9c6eb 100644 --- a/go.mod +++ b/go.mod @@ -140,7 +140,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.45.0 github.com/aws/aws-sdk-go-v2/service/inspector v1.29.0 github.com/aws/aws-sdk-go-v2/service/inspector2 v1.43.0 - github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.23.0 + github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.24.0 github.com/aws/aws-sdk-go-v2/service/invoicing v1.5.0 github.com/aws/aws-sdk-go-v2/service/iot v1.67.0 github.com/aws/aws-sdk-go-v2/service/ivs v1.45.0 diff --git a/go.sum b/go.sum index 0bf2d01eba94..e306c1564f07 100644 --- a/go.sum +++ b/go.sum @@ -301,8 +301,8 @@ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.3 h1:ieRzyHXyp github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.3/go.mod h1:O5ROz8jHiOAKAwx179v+7sHMhfobFVi6nZt8DEyiYoM= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.3 h1:SE/e52dq9a05RuxzLcjT+S5ZpQobj3ie3UTaSf2NnZc= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.3/go.mod h1:zkpvBTsR020VVr8TOrwK2TrUW9pOir28sH5ECHpnAfo= -github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.23.0 h1:/44qK3M/wwUHIh6fw8Z/pm362EqpfD+fZAGYfhWi0sM= -github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.23.0/go.mod h1:p3ntR2Ri7KsPgyP3KwxAULDZS2uvcyflGlCG7P12GPM= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.24.0 h1:Pw+Ibvg2vG1gulfBO2FPjr5Y+SDyxzVA1EXw5nTCZiM= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.24.0/go.mod h1:q+A4de5nxY2w1IxXmxSz2ybaW71gjNr634rj8AaBeOs= github.com/aws/aws-sdk-go-v2/service/invoicing v1.5.0 h1:EkI/erJ76tuIC3jWDlbewNKTPNY6xfgUA7XNWv6N+js= github.com/aws/aws-sdk-go-v2/service/invoicing v1.5.0/go.mod h1:ETBlZYI8+Z9TZrkgUaNwsPlszeWXKAKsMx3rf+o0uS8= github.com/aws/aws-sdk-go-v2/service/iot v1.67.0 h1:0L3aLkPF/jPeNj72Ngq3IEUajjG/4NHImu3Cgp2ZxhI= From da1d4cb76b8285f74bbacef245c1b14c48d71f33 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:41 -0400 Subject: [PATCH 0951/1301] go get github.com/aws/aws-sdk-go-v2/service/invoicing. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ff69dfe9c6eb..0e7c8f4e12d7 100644 --- a/go.mod +++ b/go.mod @@ -141,7 +141,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/inspector v1.29.0 github.com/aws/aws-sdk-go-v2/service/inspector2 v1.43.0 github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.24.0 - github.com/aws/aws-sdk-go-v2/service/invoicing v1.5.0 + github.com/aws/aws-sdk-go-v2/service/invoicing v1.6.0 github.com/aws/aws-sdk-go-v2/service/iot v1.67.0 github.com/aws/aws-sdk-go-v2/service/ivs v1.45.0 github.com/aws/aws-sdk-go-v2/service/ivschat v1.19.0 diff --git a/go.sum b/go.sum index e306c1564f07..3e4c5776b2ce 100644 --- a/go.sum +++ b/go.sum @@ -303,8 +303,8 @@ github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.3 h1:SE/e52dq9a05Ru github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.3/go.mod h1:zkpvBTsR020VVr8TOrwK2TrUW9pOir28sH5ECHpnAfo= github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.24.0 h1:Pw+Ibvg2vG1gulfBO2FPjr5Y+SDyxzVA1EXw5nTCZiM= github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.24.0/go.mod h1:q+A4de5nxY2w1IxXmxSz2ybaW71gjNr634rj8AaBeOs= -github.com/aws/aws-sdk-go-v2/service/invoicing v1.5.0 h1:EkI/erJ76tuIC3jWDlbewNKTPNY6xfgUA7XNWv6N+js= -github.com/aws/aws-sdk-go-v2/service/invoicing v1.5.0/go.mod h1:ETBlZYI8+Z9TZrkgUaNwsPlszeWXKAKsMx3rf+o0uS8= +github.com/aws/aws-sdk-go-v2/service/invoicing v1.6.0 h1:DWBnflfGGvIj45VsuhUyg3K/0xYodsjHS7FQ73TZOGo= +github.com/aws/aws-sdk-go-v2/service/invoicing v1.6.0/go.mod h1:Unu+LGlKbxjDYhpgap35rN7vwxSalaiXzIlQIUH2n0I= github.com/aws/aws-sdk-go-v2/service/iot v1.67.0 h1:0L3aLkPF/jPeNj72Ngq3IEUajjG/4NHImu3Cgp2ZxhI= github.com/aws/aws-sdk-go-v2/service/iot v1.67.0/go.mod h1:BZC1OnoCZY2CrgV+eaIEA+4M9i7DSugWwEFiUavIZMI= github.com/aws/aws-sdk-go-v2/service/ivs v1.45.0 h1:tbr4jDMvdK5cyF++EOKsBWzsHfNOOhWdRje/pt8yEck= From 46fc885eec0a5fdec2eecdc0605ff2504688f794 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:43 -0400 Subject: [PATCH 0952/1301] go get github.com/aws/aws-sdk-go-v2/service/iot. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 0e7c8f4e12d7..436c444f06f2 100644 --- a/go.mod +++ b/go.mod @@ -142,7 +142,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/inspector2 v1.43.0 github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.24.0 github.com/aws/aws-sdk-go-v2/service/invoicing v1.6.0 - github.com/aws/aws-sdk-go-v2/service/iot v1.67.0 + github.com/aws/aws-sdk-go-v2/service/iot v1.68.0 github.com/aws/aws-sdk-go-v2/service/ivs v1.45.0 github.com/aws/aws-sdk-go-v2/service/ivschat v1.19.0 github.com/aws/aws-sdk-go-v2/service/kafka v1.41.0 diff --git a/go.sum b/go.sum index 3e4c5776b2ce..2f0807090b65 100644 --- a/go.sum +++ b/go.sum @@ -305,8 +305,8 @@ github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.24.0 h1:Pw+Ibvg2vG1gulfB github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.24.0/go.mod h1:q+A4de5nxY2w1IxXmxSz2ybaW71gjNr634rj8AaBeOs= github.com/aws/aws-sdk-go-v2/service/invoicing v1.6.0 h1:DWBnflfGGvIj45VsuhUyg3K/0xYodsjHS7FQ73TZOGo= github.com/aws/aws-sdk-go-v2/service/invoicing v1.6.0/go.mod h1:Unu+LGlKbxjDYhpgap35rN7vwxSalaiXzIlQIUH2n0I= -github.com/aws/aws-sdk-go-v2/service/iot v1.67.0 h1:0L3aLkPF/jPeNj72Ngq3IEUajjG/4NHImu3Cgp2ZxhI= -github.com/aws/aws-sdk-go-v2/service/iot v1.67.0/go.mod h1:BZC1OnoCZY2CrgV+eaIEA+4M9i7DSugWwEFiUavIZMI= +github.com/aws/aws-sdk-go-v2/service/iot v1.68.0 h1:eA05nWoMN0EF0rttyORxmB4mMLMhdS6PLpL/0GyTEm4= +github.com/aws/aws-sdk-go-v2/service/iot v1.68.0/go.mod h1:bJop9Eo7sy4kUxLfjXsgBUVzXMiEeVdnycU3AvyCG9Y= github.com/aws/aws-sdk-go-v2/service/ivs v1.45.0 h1:tbr4jDMvdK5cyF++EOKsBWzsHfNOOhWdRje/pt8yEck= github.com/aws/aws-sdk-go-v2/service/ivs v1.45.0/go.mod h1:gVMCa/YIGkrmmXyQKFNMlJkhW+PKv7+divKAAgORJcg= github.com/aws/aws-sdk-go-v2/service/ivschat v1.19.0 h1:SMsudfw7qNlaCzbU1j7K62MVLYkGHiRob0lSDEw5H8U= From c31ef3342c400dba12566a44a174cb61222a06e4 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:44 -0400 Subject: [PATCH 0953/1301] go get github.com/aws/aws-sdk-go-v2/service/ivs. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 436c444f06f2..16381729b00a 100644 --- a/go.mod +++ b/go.mod @@ -143,7 +143,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.24.0 github.com/aws/aws-sdk-go-v2/service/invoicing v1.6.0 github.com/aws/aws-sdk-go-v2/service/iot v1.68.0 - github.com/aws/aws-sdk-go-v2/service/ivs v1.45.0 + github.com/aws/aws-sdk-go-v2/service/ivs v1.46.0 github.com/aws/aws-sdk-go-v2/service/ivschat v1.19.0 github.com/aws/aws-sdk-go-v2/service/kafka v1.41.0 github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.25.0 diff --git a/go.sum b/go.sum index 2f0807090b65..345d856718fc 100644 --- a/go.sum +++ b/go.sum @@ -307,8 +307,8 @@ github.com/aws/aws-sdk-go-v2/service/invoicing v1.6.0 h1:DWBnflfGGvIj45VsuhUyg3K github.com/aws/aws-sdk-go-v2/service/invoicing v1.6.0/go.mod h1:Unu+LGlKbxjDYhpgap35rN7vwxSalaiXzIlQIUH2n0I= github.com/aws/aws-sdk-go-v2/service/iot v1.68.0 h1:eA05nWoMN0EF0rttyORxmB4mMLMhdS6PLpL/0GyTEm4= github.com/aws/aws-sdk-go-v2/service/iot v1.68.0/go.mod h1:bJop9Eo7sy4kUxLfjXsgBUVzXMiEeVdnycU3AvyCG9Y= -github.com/aws/aws-sdk-go-v2/service/ivs v1.45.0 h1:tbr4jDMvdK5cyF++EOKsBWzsHfNOOhWdRje/pt8yEck= -github.com/aws/aws-sdk-go-v2/service/ivs v1.45.0/go.mod h1:gVMCa/YIGkrmmXyQKFNMlJkhW+PKv7+divKAAgORJcg= +github.com/aws/aws-sdk-go-v2/service/ivs v1.46.0 h1:7e91TZxrdMEe3HvHmFf+VS+VlLf/O9/HtQc6lMEP4Vs= +github.com/aws/aws-sdk-go-v2/service/ivs v1.46.0/go.mod h1:oZEFz9f6yBBPA1+CIKd5qDKX3+P0avnvsv4ZRbWefuE= github.com/aws/aws-sdk-go-v2/service/ivschat v1.19.0 h1:SMsudfw7qNlaCzbU1j7K62MVLYkGHiRob0lSDEw5H8U= github.com/aws/aws-sdk-go-v2/service/ivschat v1.19.0/go.mod h1:LwHzV162D41DHQuctLDHDl5+yME86LaxCyOt/e7dLUc= github.com/aws/aws-sdk-go-v2/service/kafka v1.41.0 h1:Qvi3PzV7Rs8rZ98XghcC+UcrwOU4wiqOlyrtUdRzO8M= From 0c9f87bbff8ea1a6c541b2adf9dba650f84680bd Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:45 -0400 Subject: [PATCH 0954/1301] go get github.com/aws/aws-sdk-go-v2/service/ivschat. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 16381729b00a..46a27353ad0b 100644 --- a/go.mod +++ b/go.mod @@ -144,7 +144,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/invoicing v1.6.0 github.com/aws/aws-sdk-go-v2/service/iot v1.68.0 github.com/aws/aws-sdk-go-v2/service/ivs v1.46.0 - github.com/aws/aws-sdk-go-v2/service/ivschat v1.19.0 + github.com/aws/aws-sdk-go-v2/service/ivschat v1.20.0 github.com/aws/aws-sdk-go-v2/service/kafka v1.41.0 github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.25.0 github.com/aws/aws-sdk-go-v2/service/kendra v1.58.0 diff --git a/go.sum b/go.sum index 345d856718fc..32ce8a7b209d 100644 --- a/go.sum +++ b/go.sum @@ -309,8 +309,8 @@ github.com/aws/aws-sdk-go-v2/service/iot v1.68.0 h1:eA05nWoMN0EF0rttyORxmB4mMLMh github.com/aws/aws-sdk-go-v2/service/iot v1.68.0/go.mod h1:bJop9Eo7sy4kUxLfjXsgBUVzXMiEeVdnycU3AvyCG9Y= github.com/aws/aws-sdk-go-v2/service/ivs v1.46.0 h1:7e91TZxrdMEe3HvHmFf+VS+VlLf/O9/HtQc6lMEP4Vs= github.com/aws/aws-sdk-go-v2/service/ivs v1.46.0/go.mod h1:oZEFz9f6yBBPA1+CIKd5qDKX3+P0avnvsv4ZRbWefuE= -github.com/aws/aws-sdk-go-v2/service/ivschat v1.19.0 h1:SMsudfw7qNlaCzbU1j7K62MVLYkGHiRob0lSDEw5H8U= -github.com/aws/aws-sdk-go-v2/service/ivschat v1.19.0/go.mod h1:LwHzV162D41DHQuctLDHDl5+yME86LaxCyOt/e7dLUc= +github.com/aws/aws-sdk-go-v2/service/ivschat v1.20.0 h1:FNFXj1Ydfrf12zcGNgqVuTNV/UfPMVWZ/iH7hkups/A= +github.com/aws/aws-sdk-go-v2/service/ivschat v1.20.0/go.mod h1:MsE+ZmmlW+UOhKhq8Ahp2CumqeVfwbpFxk0tFIZUtRQ= github.com/aws/aws-sdk-go-v2/service/kafka v1.41.0 h1:Qvi3PzV7Rs8rZ98XghcC+UcrwOU4wiqOlyrtUdRzO8M= github.com/aws/aws-sdk-go-v2/service/kafka v1.41.0/go.mod h1:8lU0PKySh1exBCLxYH7jj9vhsKdekf8OEgDh8WfoX2o= github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.25.0 h1:8r0YE7x3VNiq1Jp0iywp/NhhsLEZOK/BKmPaOe0wOgQ= From d5c2093eaf8fb29fd50772267cf837376df1624c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:46 -0400 Subject: [PATCH 0955/1301] go get github.com/aws/aws-sdk-go-v2/service/kafka. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 46a27353ad0b..c98cb4bbd596 100644 --- a/go.mod +++ b/go.mod @@ -145,7 +145,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/iot v1.68.0 github.com/aws/aws-sdk-go-v2/service/ivs v1.46.0 github.com/aws/aws-sdk-go-v2/service/ivschat v1.20.0 - github.com/aws/aws-sdk-go-v2/service/kafka v1.41.0 + github.com/aws/aws-sdk-go-v2/service/kafka v1.42.0 github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.25.0 github.com/aws/aws-sdk-go-v2/service/kendra v1.58.0 github.com/aws/aws-sdk-go-v2/service/keyspaces v1.21.0 diff --git a/go.sum b/go.sum index 32ce8a7b209d..377c4a0bc31b 100644 --- a/go.sum +++ b/go.sum @@ -311,8 +311,8 @@ github.com/aws/aws-sdk-go-v2/service/ivs v1.46.0 h1:7e91TZxrdMEe3HvHmFf+VS+VlLf/ github.com/aws/aws-sdk-go-v2/service/ivs v1.46.0/go.mod h1:oZEFz9f6yBBPA1+CIKd5qDKX3+P0avnvsv4ZRbWefuE= github.com/aws/aws-sdk-go-v2/service/ivschat v1.20.0 h1:FNFXj1Ydfrf12zcGNgqVuTNV/UfPMVWZ/iH7hkups/A= github.com/aws/aws-sdk-go-v2/service/ivschat v1.20.0/go.mod h1:MsE+ZmmlW+UOhKhq8Ahp2CumqeVfwbpFxk0tFIZUtRQ= -github.com/aws/aws-sdk-go-v2/service/kafka v1.41.0 h1:Qvi3PzV7Rs8rZ98XghcC+UcrwOU4wiqOlyrtUdRzO8M= -github.com/aws/aws-sdk-go-v2/service/kafka v1.41.0/go.mod h1:8lU0PKySh1exBCLxYH7jj9vhsKdekf8OEgDh8WfoX2o= +github.com/aws/aws-sdk-go-v2/service/kafka v1.42.0 h1:/EB9p30Te0eClIIptu3g3meO38O87YVVdE/UVbyTvWA= +github.com/aws/aws-sdk-go-v2/service/kafka v1.42.0/go.mod h1:uvEnl4e5ie3zB+2qlQCqcv0CgOyI8ajOegLEKERjqfs= github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.25.0 h1:8r0YE7x3VNiq1Jp0iywp/NhhsLEZOK/BKmPaOe0wOgQ= github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.25.0/go.mod h1:HymqyW16ZuSQ+QeJwj//SMXR6stp/nebPEK3B+gMDHg= github.com/aws/aws-sdk-go-v2/service/kendra v1.58.0 h1:LODkytjlgmORWiXBgIa10NhaCYDqnN42a8Jx++E4RCs= From 8da09db23c04c878fbef36d8ea6d322924c8f354 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:47 -0400 Subject: [PATCH 0956/1301] go get github.com/aws/aws-sdk-go-v2/service/kafkaconnect. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c98cb4bbd596..7a28bcc7e426 100644 --- a/go.mod +++ b/go.mod @@ -146,7 +146,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ivs v1.46.0 github.com/aws/aws-sdk-go-v2/service/ivschat v1.20.0 github.com/aws/aws-sdk-go-v2/service/kafka v1.42.0 - github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.25.0 + github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.26.0 github.com/aws/aws-sdk-go-v2/service/kendra v1.58.0 github.com/aws/aws-sdk-go-v2/service/keyspaces v1.21.0 github.com/aws/aws-sdk-go-v2/service/kinesis v1.37.0 diff --git a/go.sum b/go.sum index 377c4a0bc31b..da68bc2a7c76 100644 --- a/go.sum +++ b/go.sum @@ -313,8 +313,8 @@ github.com/aws/aws-sdk-go-v2/service/ivschat v1.20.0 h1:FNFXj1Ydfrf12zcGNgqVuTNV github.com/aws/aws-sdk-go-v2/service/ivschat v1.20.0/go.mod h1:MsE+ZmmlW+UOhKhq8Ahp2CumqeVfwbpFxk0tFIZUtRQ= github.com/aws/aws-sdk-go-v2/service/kafka v1.42.0 h1:/EB9p30Te0eClIIptu3g3meO38O87YVVdE/UVbyTvWA= github.com/aws/aws-sdk-go-v2/service/kafka v1.42.0/go.mod h1:uvEnl4e5ie3zB+2qlQCqcv0CgOyI8ajOegLEKERjqfs= -github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.25.0 h1:8r0YE7x3VNiq1Jp0iywp/NhhsLEZOK/BKmPaOe0wOgQ= -github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.25.0/go.mod h1:HymqyW16ZuSQ+QeJwj//SMXR6stp/nebPEK3B+gMDHg= +github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.26.0 h1:PG2c7HZCVIBFhdIwqO5jg8xo1fHgalDdUwNsn8T1Esw= +github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.26.0/go.mod h1:p50f5u0jxoFWTV6l54BxrE+7zJ1/Iucap85GrSnpptY= github.com/aws/aws-sdk-go-v2/service/kendra v1.58.0 h1:LODkytjlgmORWiXBgIa10NhaCYDqnN42a8Jx++E4RCs= github.com/aws/aws-sdk-go-v2/service/kendra v1.58.0/go.mod h1:paLQu0/ibDpSNSVWXCXOVE9MsqVfjd7fQwU1q9aiPVk= github.com/aws/aws-sdk-go-v2/service/keyspaces v1.21.0 h1:PTWPRc0gTpz0394LRIANHEQMnQzzX18jVTOWUDSyP0Q= From d7bc03a21fc1bf7cb9609ae9f23fb3a3f87642e8 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:48 -0400 Subject: [PATCH 0957/1301] go get github.com/aws/aws-sdk-go-v2/service/kendra. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7a28bcc7e426..be4360c1ceb0 100644 --- a/go.mod +++ b/go.mod @@ -147,7 +147,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ivschat v1.20.0 github.com/aws/aws-sdk-go-v2/service/kafka v1.42.0 github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.26.0 - github.com/aws/aws-sdk-go-v2/service/kendra v1.58.0 + github.com/aws/aws-sdk-go-v2/service/kendra v1.59.0 github.com/aws/aws-sdk-go-v2/service/keyspaces v1.21.0 github.com/aws/aws-sdk-go-v2/service/kinesis v1.37.0 github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.28.0 diff --git a/go.sum b/go.sum index da68bc2a7c76..d026b93cec0e 100644 --- a/go.sum +++ b/go.sum @@ -315,8 +315,8 @@ github.com/aws/aws-sdk-go-v2/service/kafka v1.42.0 h1:/EB9p30Te0eClIIptu3g3meO38 github.com/aws/aws-sdk-go-v2/service/kafka v1.42.0/go.mod h1:uvEnl4e5ie3zB+2qlQCqcv0CgOyI8ajOegLEKERjqfs= github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.26.0 h1:PG2c7HZCVIBFhdIwqO5jg8xo1fHgalDdUwNsn8T1Esw= github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.26.0/go.mod h1:p50f5u0jxoFWTV6l54BxrE+7zJ1/Iucap85GrSnpptY= -github.com/aws/aws-sdk-go-v2/service/kendra v1.58.0 h1:LODkytjlgmORWiXBgIa10NhaCYDqnN42a8Jx++E4RCs= -github.com/aws/aws-sdk-go-v2/service/kendra v1.58.0/go.mod h1:paLQu0/ibDpSNSVWXCXOVE9MsqVfjd7fQwU1q9aiPVk= +github.com/aws/aws-sdk-go-v2/service/kendra v1.59.0 h1:Np3pECOLZw4JZgx7d588fTuU2RtxkRRYlTqlCrLh/nk= +github.com/aws/aws-sdk-go-v2/service/kendra v1.59.0/go.mod h1:edFwG9l6+RJ9BjapAgxfnHY13/FsufZekEjw/T1Xp8I= github.com/aws/aws-sdk-go-v2/service/keyspaces v1.21.0 h1:PTWPRc0gTpz0394LRIANHEQMnQzzX18jVTOWUDSyP0Q= github.com/aws/aws-sdk-go-v2/service/keyspaces v1.21.0/go.mod h1:byOVm/xWXux+M1sFM4UlnGiAe3ExDdNmQ+NbbBGYe3c= github.com/aws/aws-sdk-go-v2/service/kinesis v1.37.0 h1:EcSM2x6s3zTIgauRgrgf5f7Q9/+LP/fdepNlBTUv1UA= From 46a0d3785e88b1d0a459349b57a18d814428aa5c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:49 -0400 Subject: [PATCH 0958/1301] go get github.com/aws/aws-sdk-go-v2/service/keyspaces. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index be4360c1ceb0..eb75605fb1f7 100644 --- a/go.mod +++ b/go.mod @@ -148,7 +148,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/kafka v1.42.0 github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.26.0 github.com/aws/aws-sdk-go-v2/service/kendra v1.59.0 - github.com/aws/aws-sdk-go-v2/service/keyspaces v1.21.0 + github.com/aws/aws-sdk-go-v2/service/keyspaces v1.22.0 github.com/aws/aws-sdk-go-v2/service/kinesis v1.37.0 github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.28.0 github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.34.0 diff --git a/go.sum b/go.sum index d026b93cec0e..ca4801759a12 100644 --- a/go.sum +++ b/go.sum @@ -317,8 +317,8 @@ github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.26.0 h1:PG2c7HZCVIBFhdIwqO5 github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.26.0/go.mod h1:p50f5u0jxoFWTV6l54BxrE+7zJ1/Iucap85GrSnpptY= github.com/aws/aws-sdk-go-v2/service/kendra v1.59.0 h1:Np3pECOLZw4JZgx7d588fTuU2RtxkRRYlTqlCrLh/nk= github.com/aws/aws-sdk-go-v2/service/kendra v1.59.0/go.mod h1:edFwG9l6+RJ9BjapAgxfnHY13/FsufZekEjw/T1Xp8I= -github.com/aws/aws-sdk-go-v2/service/keyspaces v1.21.0 h1:PTWPRc0gTpz0394LRIANHEQMnQzzX18jVTOWUDSyP0Q= -github.com/aws/aws-sdk-go-v2/service/keyspaces v1.21.0/go.mod h1:byOVm/xWXux+M1sFM4UlnGiAe3ExDdNmQ+NbbBGYe3c= +github.com/aws/aws-sdk-go-v2/service/keyspaces v1.22.0 h1:gFAqI4i3uvMo3Bk3ePdPwDEYgssnVCFF+p3p3KkRyQ4= +github.com/aws/aws-sdk-go-v2/service/keyspaces v1.22.0/go.mod h1:V6Iy+0hEq/ebivBZ7wBENH0cohMrhk77z1UW7Icp70E= github.com/aws/aws-sdk-go-v2/service/kinesis v1.37.0 h1:EcSM2x6s3zTIgauRgrgf5f7Q9/+LP/fdepNlBTUv1UA= github.com/aws/aws-sdk-go-v2/service/kinesis v1.37.0/go.mod h1:ESOdPjy8Bu1IG/ipcWcGbvEkEH0DlP8Mp4MldKQ8JPI= github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.28.0 h1:lVTz3x7HJBenVv4K+HlMzPFL9IZLa7bMH9qlqryiUXE= From 662a18dbea2f340a1fba65c5ea33290a7b9c54d9 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:50 -0400 Subject: [PATCH 0959/1301] go get github.com/aws/aws-sdk-go-v2/service/kinesis. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index eb75605fb1f7..c202af1807bf 100644 --- a/go.mod +++ b/go.mod @@ -149,7 +149,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.26.0 github.com/aws/aws-sdk-go-v2/service/kendra v1.59.0 github.com/aws/aws-sdk-go-v2/service/keyspaces v1.22.0 - github.com/aws/aws-sdk-go-v2/service/kinesis v1.37.0 + github.com/aws/aws-sdk-go-v2/service/kinesis v1.38.0 github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.28.0 github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.34.0 github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0 diff --git a/go.sum b/go.sum index ca4801759a12..dca457cf93cc 100644 --- a/go.sum +++ b/go.sum @@ -319,8 +319,8 @@ github.com/aws/aws-sdk-go-v2/service/kendra v1.59.0 h1:Np3pECOLZw4JZgx7d588fTuU2 github.com/aws/aws-sdk-go-v2/service/kendra v1.59.0/go.mod h1:edFwG9l6+RJ9BjapAgxfnHY13/FsufZekEjw/T1Xp8I= github.com/aws/aws-sdk-go-v2/service/keyspaces v1.22.0 h1:gFAqI4i3uvMo3Bk3ePdPwDEYgssnVCFF+p3p3KkRyQ4= github.com/aws/aws-sdk-go-v2/service/keyspaces v1.22.0/go.mod h1:V6Iy+0hEq/ebivBZ7wBENH0cohMrhk77z1UW7Icp70E= -github.com/aws/aws-sdk-go-v2/service/kinesis v1.37.0 h1:EcSM2x6s3zTIgauRgrgf5f7Q9/+LP/fdepNlBTUv1UA= -github.com/aws/aws-sdk-go-v2/service/kinesis v1.37.0/go.mod h1:ESOdPjy8Bu1IG/ipcWcGbvEkEH0DlP8Mp4MldKQ8JPI= +github.com/aws/aws-sdk-go-v2/service/kinesis v1.38.0 h1:8acX21qNMUs/QTHB3iNpixJViYsu7sSWSmZVzdriRcw= +github.com/aws/aws-sdk-go-v2/service/kinesis v1.38.0/go.mod h1:No5RhgJ+mKYZKCSrJQOdDtyz+8dAfNaeYwMnTJBJV/Q= github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.28.0 h1:lVTz3x7HJBenVv4K+HlMzPFL9IZLa7bMH9qlqryiUXE= github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.28.0/go.mod h1:KR9sZNn5H2ql1SSrLjouaqoOz1vPq2c6aX//TCcSriI= github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.34.0 h1:BtQ7j7Y//2/recBi925s0LFAKlWpl5BG4C3uaZ322cI= From f28ae9306894231a45fb9412e4c2fcd86f787310 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:51 -0400 Subject: [PATCH 0960/1301] go get github.com/aws/aws-sdk-go-v2/service/kinesisanalytics. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c202af1807bf..ea662a4982f9 100644 --- a/go.mod +++ b/go.mod @@ -150,7 +150,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/kendra v1.59.0 github.com/aws/aws-sdk-go-v2/service/keyspaces v1.22.0 github.com/aws/aws-sdk-go-v2/service/kinesis v1.38.0 - github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.28.0 + github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.29.0 github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.34.0 github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0 github.com/aws/aws-sdk-go-v2/service/kms v1.43.0 diff --git a/go.sum b/go.sum index dca457cf93cc..c92a9377ec27 100644 --- a/go.sum +++ b/go.sum @@ -321,8 +321,8 @@ github.com/aws/aws-sdk-go-v2/service/keyspaces v1.22.0 h1:gFAqI4i3uvMo3Bk3ePdPwD github.com/aws/aws-sdk-go-v2/service/keyspaces v1.22.0/go.mod h1:V6Iy+0hEq/ebivBZ7wBENH0cohMrhk77z1UW7Icp70E= github.com/aws/aws-sdk-go-v2/service/kinesis v1.38.0 h1:8acX21qNMUs/QTHB3iNpixJViYsu7sSWSmZVzdriRcw= github.com/aws/aws-sdk-go-v2/service/kinesis v1.38.0/go.mod h1:No5RhgJ+mKYZKCSrJQOdDtyz+8dAfNaeYwMnTJBJV/Q= -github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.28.0 h1:lVTz3x7HJBenVv4K+HlMzPFL9IZLa7bMH9qlqryiUXE= -github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.28.0/go.mod h1:KR9sZNn5H2ql1SSrLjouaqoOz1vPq2c6aX//TCcSriI= +github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.29.0 h1:IJkGKIgX2ZCga4Ao4A8RcL1rty+s1Cc+N/JCtnmtm+c= +github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.29.0/go.mod h1:jYH0HRqYnukQt14eBIgAfnIRjihLy5osnU0BN0G+Do8= github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.34.0 h1:BtQ7j7Y//2/recBi925s0LFAKlWpl5BG4C3uaZ322cI= github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.34.0/go.mod h1:0AaL8NjpCLrYqdUr/kCI8u3rRMKQEshCIlM6SUrOYOE= github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0 h1:tv3RAtA6Sy920l3QRvhjnve0hrBG3tDrpOyjVD6fz9s= From 5c05255d2fef2cc3c84cdd6b1f83f61a51bb55ce Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:52 -0400 Subject: [PATCH 0961/1301] go get github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ea662a4982f9..7df2141416ee 100644 --- a/go.mod +++ b/go.mod @@ -151,7 +151,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/keyspaces v1.22.0 github.com/aws/aws-sdk-go-v2/service/kinesis v1.38.0 github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.29.0 - github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.34.0 + github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.35.0 github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0 github.com/aws/aws-sdk-go-v2/service/kms v1.43.0 github.com/aws/aws-sdk-go-v2/service/lakeformation v1.43.0 diff --git a/go.sum b/go.sum index c92a9377ec27..d0cf5ea03097 100644 --- a/go.sum +++ b/go.sum @@ -323,8 +323,8 @@ github.com/aws/aws-sdk-go-v2/service/kinesis v1.38.0 h1:8acX21qNMUs/QTHB3iNpixJV github.com/aws/aws-sdk-go-v2/service/kinesis v1.38.0/go.mod h1:No5RhgJ+mKYZKCSrJQOdDtyz+8dAfNaeYwMnTJBJV/Q= github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.29.0 h1:IJkGKIgX2ZCga4Ao4A8RcL1rty+s1Cc+N/JCtnmtm+c= github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.29.0/go.mod h1:jYH0HRqYnukQt14eBIgAfnIRjihLy5osnU0BN0G+Do8= -github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.34.0 h1:BtQ7j7Y//2/recBi925s0LFAKlWpl5BG4C3uaZ322cI= -github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.34.0/go.mod h1:0AaL8NjpCLrYqdUr/kCI8u3rRMKQEshCIlM6SUrOYOE= +github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.35.0 h1:eoa+/AK+SVR5cTa/yPiDeupC0EZ8jA496jwjNMhrL+U= +github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.35.0/go.mod h1:E4piy+DkyYY+2sIOdlI91iLrygWzEfIuldAwgyQmWQs= github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0 h1:tv3RAtA6Sy920l3QRvhjnve0hrBG3tDrpOyjVD6fz9s= github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0/go.mod h1:RogDtUwHccKseh8E8wGF7THiQFb+IIS170v/d4zBfJ8= github.com/aws/aws-sdk-go-v2/service/kms v1.43.0 h1:mdbWU38ipmDapPcsD6F7ObjjxMLrWUK0jI2NcC7zAcI= From c647db1241fb0094460105745f1f60fc4f689eed Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:53 -0400 Subject: [PATCH 0962/1301] go get github.com/aws/aws-sdk-go-v2/service/kms. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7df2141416ee..1b102bef42e2 100644 --- a/go.mod +++ b/go.mod @@ -153,7 +153,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.29.0 github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.35.0 github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0 - github.com/aws/aws-sdk-go-v2/service/kms v1.43.0 + github.com/aws/aws-sdk-go-v2/service/kms v1.44.0 github.com/aws/aws-sdk-go-v2/service/lakeformation v1.43.0 github.com/aws/aws-sdk-go-v2/service/lambda v1.75.0 github.com/aws/aws-sdk-go-v2/service/launchwizard v1.11.0 diff --git a/go.sum b/go.sum index d0cf5ea03097..e32c40aaa428 100644 --- a/go.sum +++ b/go.sum @@ -327,8 +327,8 @@ github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.35.0 h1:eoa+/AK+SVR5c github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.35.0/go.mod h1:E4piy+DkyYY+2sIOdlI91iLrygWzEfIuldAwgyQmWQs= github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0 h1:tv3RAtA6Sy920l3QRvhjnve0hrBG3tDrpOyjVD6fz9s= github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0/go.mod h1:RogDtUwHccKseh8E8wGF7THiQFb+IIS170v/d4zBfJ8= -github.com/aws/aws-sdk-go-v2/service/kms v1.43.0 h1:mdbWU38ipmDapPcsD6F7ObjjxMLrWUK0jI2NcC7zAcI= -github.com/aws/aws-sdk-go-v2/service/kms v1.43.0/go.mod h1:6FWXdzVbnG8ExnBQLHGIo/ilb1K7Ek1u6dcllumBe1s= +github.com/aws/aws-sdk-go-v2/service/kms v1.44.0 h1:Z95XCqqSnwXr0AY7PgsiOUBhUG2GoDM5getw6RfD1Lg= +github.com/aws/aws-sdk-go-v2/service/kms v1.44.0/go.mod h1:DqcSngL7jJeU1fOzh5Ll5rSvX/MlMV6OZlE4mVdFAQc= github.com/aws/aws-sdk-go-v2/service/lakeformation v1.43.0 h1:4ZTxobrzObRa8hMvD5UNYlJ+kbUSdgYTLX4qshn48jI= github.com/aws/aws-sdk-go-v2/service/lakeformation v1.43.0/go.mod h1:9ecAY8txZxHPO7IhrQCI0rpj4Dw+vbLOv1Rinr46OgU= github.com/aws/aws-sdk-go-v2/service/lambda v1.75.0 h1:8hoKtn/EgZ0bA2dQ/meHFNsalY5fuA7M3QDqnrVxPLA= From 5080ef06d8c9a640cbd3af7530a77101ac944855 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:54 -0400 Subject: [PATCH 0963/1301] go get github.com/aws/aws-sdk-go-v2/service/lakeformation. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 1b102bef42e2..28c10daba85e 100644 --- a/go.mod +++ b/go.mod @@ -154,7 +154,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.35.0 github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0 github.com/aws/aws-sdk-go-v2/service/kms v1.44.0 - github.com/aws/aws-sdk-go-v2/service/lakeformation v1.43.0 + github.com/aws/aws-sdk-go-v2/service/lakeformation v1.44.0 github.com/aws/aws-sdk-go-v2/service/lambda v1.75.0 github.com/aws/aws-sdk-go-v2/service/launchwizard v1.11.0 github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0 diff --git a/go.sum b/go.sum index e32c40aaa428..9e98f87fd65a 100644 --- a/go.sum +++ b/go.sum @@ -329,8 +329,8 @@ github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0 h1:tv3RAtA6Sy920l3QRvh github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0/go.mod h1:RogDtUwHccKseh8E8wGF7THiQFb+IIS170v/d4zBfJ8= github.com/aws/aws-sdk-go-v2/service/kms v1.44.0 h1:Z95XCqqSnwXr0AY7PgsiOUBhUG2GoDM5getw6RfD1Lg= github.com/aws/aws-sdk-go-v2/service/kms v1.44.0/go.mod h1:DqcSngL7jJeU1fOzh5Ll5rSvX/MlMV6OZlE4mVdFAQc= -github.com/aws/aws-sdk-go-v2/service/lakeformation v1.43.0 h1:4ZTxobrzObRa8hMvD5UNYlJ+kbUSdgYTLX4qshn48jI= -github.com/aws/aws-sdk-go-v2/service/lakeformation v1.43.0/go.mod h1:9ecAY8txZxHPO7IhrQCI0rpj4Dw+vbLOv1Rinr46OgU= +github.com/aws/aws-sdk-go-v2/service/lakeformation v1.44.0 h1:L48j3iwTIZPNp1FEnZ3d1L1Fx+9ac3N0Oyca42yY3sQ= +github.com/aws/aws-sdk-go-v2/service/lakeformation v1.44.0/go.mod h1:pp21VYtkJxgEINbEvBNkovKr3C1GOzKNYxxUiMM3tsY= github.com/aws/aws-sdk-go-v2/service/lambda v1.75.0 h1:8hoKtn/EgZ0bA2dQ/meHFNsalY5fuA7M3QDqnrVxPLA= github.com/aws/aws-sdk-go-v2/service/lambda v1.75.0/go.mod h1:YDWB9+Y6hLDGdI+S1TQIs8Fq3pu5ZF+7l2ZwF7dzhjg= github.com/aws/aws-sdk-go-v2/service/launchwizard v1.11.0 h1:c2kqypd7Juq0l6Q9ozqTiffCxJRVZILGFmJvx1AM6us= From 78e150ff38669eac1031e2918b108b45d6ec2139 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:55 -0400 Subject: [PATCH 0964/1301] go get github.com/aws/aws-sdk-go-v2/service/lambda. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 28c10daba85e..d8720d8dd8dc 100644 --- a/go.mod +++ b/go.mod @@ -155,7 +155,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0 github.com/aws/aws-sdk-go-v2/service/kms v1.44.0 github.com/aws/aws-sdk-go-v2/service/lakeformation v1.44.0 - github.com/aws/aws-sdk-go-v2/service/lambda v1.75.0 + github.com/aws/aws-sdk-go-v2/service/lambda v1.76.0 github.com/aws/aws-sdk-go-v2/service/launchwizard v1.11.0 github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0 github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0 diff --git a/go.sum b/go.sum index 9e98f87fd65a..175d681e9595 100644 --- a/go.sum +++ b/go.sum @@ -331,8 +331,8 @@ github.com/aws/aws-sdk-go-v2/service/kms v1.44.0 h1:Z95XCqqSnwXr0AY7PgsiOUBhUG2G github.com/aws/aws-sdk-go-v2/service/kms v1.44.0/go.mod h1:DqcSngL7jJeU1fOzh5Ll5rSvX/MlMV6OZlE4mVdFAQc= github.com/aws/aws-sdk-go-v2/service/lakeformation v1.44.0 h1:L48j3iwTIZPNp1FEnZ3d1L1Fx+9ac3N0Oyca42yY3sQ= github.com/aws/aws-sdk-go-v2/service/lakeformation v1.44.0/go.mod h1:pp21VYtkJxgEINbEvBNkovKr3C1GOzKNYxxUiMM3tsY= -github.com/aws/aws-sdk-go-v2/service/lambda v1.75.0 h1:8hoKtn/EgZ0bA2dQ/meHFNsalY5fuA7M3QDqnrVxPLA= -github.com/aws/aws-sdk-go-v2/service/lambda v1.75.0/go.mod h1:YDWB9+Y6hLDGdI+S1TQIs8Fq3pu5ZF+7l2ZwF7dzhjg= +github.com/aws/aws-sdk-go-v2/service/lambda v1.76.0 h1:BbZi6/1W69NHTyM8CeusL35y1L3YQDky7vW2wzUAtio= +github.com/aws/aws-sdk-go-v2/service/lambda v1.76.0/go.mod h1:Uy6Tm+/QiIz3zvTOySvpMHTTQShZ/jZ0rVLtG/a+BE8= github.com/aws/aws-sdk-go-v2/service/launchwizard v1.11.0 h1:c2kqypd7Juq0l6Q9ozqTiffCxJRVZILGFmJvx1AM6us= github.com/aws/aws-sdk-go-v2/service/launchwizard v1.11.0/go.mod h1:DcOHLG85sWbjxgWPosBUFjyZlXU1/UmZoqwx6U3ve1Y= github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0 h1:DryMhIIU/p/fxOHl0TonOAeAEEn2loHAeWjpgkYwsx4= From fcebadb1ab6337ec1f748c34f0e2a0248594faa0 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:56 -0400 Subject: [PATCH 0965/1301] go get github.com/aws/aws-sdk-go-v2/service/launchwizard. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d8720d8dd8dc..e65b15a45900 100644 --- a/go.mod +++ b/go.mod @@ -156,7 +156,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/kms v1.44.0 github.com/aws/aws-sdk-go-v2/service/lakeformation v1.44.0 github.com/aws/aws-sdk-go-v2/service/lambda v1.76.0 - github.com/aws/aws-sdk-go-v2/service/launchwizard v1.11.0 + github.com/aws/aws-sdk-go-v2/service/launchwizard v1.12.0 github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0 github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0 github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.1 diff --git a/go.sum b/go.sum index 175d681e9595..24649911d851 100644 --- a/go.sum +++ b/go.sum @@ -333,8 +333,8 @@ github.com/aws/aws-sdk-go-v2/service/lakeformation v1.44.0 h1:L48j3iwTIZPNp1FEnZ github.com/aws/aws-sdk-go-v2/service/lakeformation v1.44.0/go.mod h1:pp21VYtkJxgEINbEvBNkovKr3C1GOzKNYxxUiMM3tsY= github.com/aws/aws-sdk-go-v2/service/lambda v1.76.0 h1:BbZi6/1W69NHTyM8CeusL35y1L3YQDky7vW2wzUAtio= github.com/aws/aws-sdk-go-v2/service/lambda v1.76.0/go.mod h1:Uy6Tm+/QiIz3zvTOySvpMHTTQShZ/jZ0rVLtG/a+BE8= -github.com/aws/aws-sdk-go-v2/service/launchwizard v1.11.0 h1:c2kqypd7Juq0l6Q9ozqTiffCxJRVZILGFmJvx1AM6us= -github.com/aws/aws-sdk-go-v2/service/launchwizard v1.11.0/go.mod h1:DcOHLG85sWbjxgWPosBUFjyZlXU1/UmZoqwx6U3ve1Y= +github.com/aws/aws-sdk-go-v2/service/launchwizard v1.12.0 h1:Ep6t5xK/IYMotfsNJ0cDEh9g5GrxwIlBYXyGucmm/nM= +github.com/aws/aws-sdk-go-v2/service/launchwizard v1.12.0/go.mod h1:o3afUpWusM84fxzwOswLeKjAutBrLH5WZxC5Bg2+Kag= github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0 h1:DryMhIIU/p/fxOHl0TonOAeAEEn2loHAeWjpgkYwsx4= github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0/go.mod h1:/rstK38nPVP5Nl1QHVVZukDHfHGhU312byZZhRrpbO8= github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0 h1:KuBBxr7w0WOh6/hhYcqnKQx7A/J7a/tuvH11VGkVTv0= From ab8318d14862d26e703d03c0bcb459e39123ec5e Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:57 -0400 Subject: [PATCH 0966/1301] go get github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e65b15a45900..96d357bbb6af 100644 --- a/go.mod +++ b/go.mod @@ -157,7 +157,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/lakeformation v1.44.0 github.com/aws/aws-sdk-go-v2/service/lambda v1.76.0 github.com/aws/aws-sdk-go-v2/service/launchwizard v1.12.0 - github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0 + github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.32.0 github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0 github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.1 github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0 diff --git a/go.sum b/go.sum index 24649911d851..92cd64696e27 100644 --- a/go.sum +++ b/go.sum @@ -335,8 +335,8 @@ github.com/aws/aws-sdk-go-v2/service/lambda v1.76.0 h1:BbZi6/1W69NHTyM8CeusL35y1 github.com/aws/aws-sdk-go-v2/service/lambda v1.76.0/go.mod h1:Uy6Tm+/QiIz3zvTOySvpMHTTQShZ/jZ0rVLtG/a+BE8= github.com/aws/aws-sdk-go-v2/service/launchwizard v1.12.0 h1:Ep6t5xK/IYMotfsNJ0cDEh9g5GrxwIlBYXyGucmm/nM= github.com/aws/aws-sdk-go-v2/service/launchwizard v1.12.0/go.mod h1:o3afUpWusM84fxzwOswLeKjAutBrLH5WZxC5Bg2+Kag= -github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0 h1:DryMhIIU/p/fxOHl0TonOAeAEEn2loHAeWjpgkYwsx4= -github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0/go.mod h1:/rstK38nPVP5Nl1QHVVZukDHfHGhU312byZZhRrpbO8= +github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.32.0 h1:vCV2K/9Wb5ubkqLF6bkaHG1yET2NXFf7TXgsWwv6Y3U= +github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.32.0/go.mod h1:EaraoM/hBrcTVf5ykRkMepUaJH7O5JJ+/D0uEz1k4Zk= github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0 h1:KuBBxr7w0WOh6/hhYcqnKQx7A/J7a/tuvH11VGkVTv0= github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0/go.mod h1:vAb5Jggb9ASoapJtOJU9CHd+11OBZWa7OHQPfgTwTFE= github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.1 h1:lsYEh1q//eTBv9VUWbLlhEZrQ79+TYWRI+8Eyl04imE= From 79370675e82046e73e6a1f8b88bb51aaa212ccce Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:58 -0400 Subject: [PATCH 0967/1301] go get github.com/aws/aws-sdk-go-v2/service/lexmodelsv2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 96d357bbb6af..cd06464527bd 100644 --- a/go.mod +++ b/go.mod @@ -158,7 +158,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/lambda v1.76.0 github.com/aws/aws-sdk-go-v2/service/launchwizard v1.12.0 github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.32.0 - github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0 + github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.55.0 github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.1 github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0 github.com/aws/aws-sdk-go-v2/service/location v1.47.0 diff --git a/go.sum b/go.sum index 92cd64696e27..b0e5ef019718 100644 --- a/go.sum +++ b/go.sum @@ -337,8 +337,8 @@ github.com/aws/aws-sdk-go-v2/service/launchwizard v1.12.0 h1:Ep6t5xK/IYMotfsNJ0c github.com/aws/aws-sdk-go-v2/service/launchwizard v1.12.0/go.mod h1:o3afUpWusM84fxzwOswLeKjAutBrLH5WZxC5Bg2+Kag= github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.32.0 h1:vCV2K/9Wb5ubkqLF6bkaHG1yET2NXFf7TXgsWwv6Y3U= github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.32.0/go.mod h1:EaraoM/hBrcTVf5ykRkMepUaJH7O5JJ+/D0uEz1k4Zk= -github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0 h1:KuBBxr7w0WOh6/hhYcqnKQx7A/J7a/tuvH11VGkVTv0= -github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0/go.mod h1:vAb5Jggb9ASoapJtOJU9CHd+11OBZWa7OHQPfgTwTFE= +github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.55.0 h1:Pyf7XMt3ya+mV/0Zo5wRU0blp1kTZfvUBB/eP8SgvRM= +github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.55.0/go.mod h1:2E047X7x62z38tMw0lJ7smqSv1YeSiQTQFK+8/ONiok= github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.1 h1:lsYEh1q//eTBv9VUWbLlhEZrQ79+TYWRI+8Eyl04imE= github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.1/go.mod h1:5rXpi6YHnL1oERjl0cFvH0ijwGfZqbKQBdpHc9Kdq6g= github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0 h1:nQX2q3dUdqwyxNPEjAw5WgH0F0HuHlVS8iq7TW3xHi8= From caab954098e7e7537ddde4ee6669be33f81e1f47 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 08:59:59 -0400 Subject: [PATCH 0968/1301] go get github.com/aws/aws-sdk-go-v2/service/licensemanager. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index cd06464527bd..4da4620d1de5 100644 --- a/go.mod +++ b/go.mod @@ -159,7 +159,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/launchwizard v1.12.0 github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.32.0 github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.55.0 - github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.1 + github.com/aws/aws-sdk-go-v2/service/licensemanager v1.35.0 github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0 github.com/aws/aws-sdk-go-v2/service/location v1.47.0 github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.34.0 diff --git a/go.sum b/go.sum index b0e5ef019718..c1eb0cca600c 100644 --- a/go.sum +++ b/go.sum @@ -339,8 +339,8 @@ github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.32.0 h1:vCV2K/9W github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.32.0/go.mod h1:EaraoM/hBrcTVf5ykRkMepUaJH7O5JJ+/D0uEz1k4Zk= github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.55.0 h1:Pyf7XMt3ya+mV/0Zo5wRU0blp1kTZfvUBB/eP8SgvRM= github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.55.0/go.mod h1:2E047X7x62z38tMw0lJ7smqSv1YeSiQTQFK+8/ONiok= -github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.1 h1:lsYEh1q//eTBv9VUWbLlhEZrQ79+TYWRI+8Eyl04imE= -github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.1/go.mod h1:5rXpi6YHnL1oERjl0cFvH0ijwGfZqbKQBdpHc9Kdq6g= +github.com/aws/aws-sdk-go-v2/service/licensemanager v1.35.0 h1:gdfSY6AmWavRp8Vl8jaBMbD5M0rmbiJZ2GjgyoBQw2I= +github.com/aws/aws-sdk-go-v2/service/licensemanager v1.35.0/go.mod h1:TBm4Zxk3cVPC/qu7CBBtxeDBRm+NxPumhD39np/9HZM= github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0 h1:nQX2q3dUdqwyxNPEjAw5WgH0F0HuHlVS8iq7TW3xHi8= github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0/go.mod h1:c0o7fqQS36cwXMizMSqpG4job2HsU1b8Wb2QoYSWyu0= github.com/aws/aws-sdk-go-v2/service/location v1.47.0 h1:oo7GB7Mtr+OkyA9E2CvdwLW98QEMbM0CVAay0NceOUc= From bf1923b37822886349f28d5916525249398afece Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:00 -0400 Subject: [PATCH 0969/1301] go get github.com/aws/aws-sdk-go-v2/service/lightsail. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 4da4620d1de5..0020c3f611ab 100644 --- a/go.mod +++ b/go.mod @@ -160,7 +160,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.32.0 github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.55.0 github.com/aws/aws-sdk-go-v2/service/licensemanager v1.35.0 - github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0 + github.com/aws/aws-sdk-go-v2/service/lightsail v1.47.0 github.com/aws/aws-sdk-go-v2/service/location v1.47.0 github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.34.0 github.com/aws/aws-sdk-go-v2/service/m2 v1.23.0 diff --git a/go.sum b/go.sum index c1eb0cca600c..b8bf9cc2964d 100644 --- a/go.sum +++ b/go.sum @@ -341,8 +341,8 @@ github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.55.0 h1:Pyf7XMt3ya+mV/0Zo5wR github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.55.0/go.mod h1:2E047X7x62z38tMw0lJ7smqSv1YeSiQTQFK+8/ONiok= github.com/aws/aws-sdk-go-v2/service/licensemanager v1.35.0 h1:gdfSY6AmWavRp8Vl8jaBMbD5M0rmbiJZ2GjgyoBQw2I= github.com/aws/aws-sdk-go-v2/service/licensemanager v1.35.0/go.mod h1:TBm4Zxk3cVPC/qu7CBBtxeDBRm+NxPumhD39np/9HZM= -github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0 h1:nQX2q3dUdqwyxNPEjAw5WgH0F0HuHlVS8iq7TW3xHi8= -github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0/go.mod h1:c0o7fqQS36cwXMizMSqpG4job2HsU1b8Wb2QoYSWyu0= +github.com/aws/aws-sdk-go-v2/service/lightsail v1.47.0 h1:PGWe+dWCl7Iu+d6nnVS9mmeEWYtoHDu2D4GqyIgg7vo= +github.com/aws/aws-sdk-go-v2/service/lightsail v1.47.0/go.mod h1:k+O6WzXkLorOOArYPtOPtpVXtCJBAeUsV/7gQRR0wt4= github.com/aws/aws-sdk-go-v2/service/location v1.47.0 h1:oo7GB7Mtr+OkyA9E2CvdwLW98QEMbM0CVAay0NceOUc= github.com/aws/aws-sdk-go-v2/service/location v1.47.0/go.mod h1:hRYGyCf4DRFqL1cuNV2+QLi6FNsUIbuYFh673ajAaSA= github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.34.0 h1:AeDQIQ96Ojw+Q5RYjRV0wUDut2GPfFrRZx3LSUkK/9k= From 607fe27b29b7928b5789466764bface7446246ec Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:02 -0400 Subject: [PATCH 0970/1301] go get github.com/aws/aws-sdk-go-v2/service/location. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 0020c3f611ab..cc3f3f7aa9bf 100644 --- a/go.mod +++ b/go.mod @@ -161,7 +161,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.55.0 github.com/aws/aws-sdk-go-v2/service/licensemanager v1.35.0 github.com/aws/aws-sdk-go-v2/service/lightsail v1.47.0 - github.com/aws/aws-sdk-go-v2/service/location v1.47.0 + github.com/aws/aws-sdk-go-v2/service/location v1.48.0 github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.34.0 github.com/aws/aws-sdk-go-v2/service/m2 v1.23.0 github.com/aws/aws-sdk-go-v2/service/macie2 v1.47.0 diff --git a/go.sum b/go.sum index b8bf9cc2964d..d6a5ad4f004f 100644 --- a/go.sum +++ b/go.sum @@ -343,8 +343,8 @@ github.com/aws/aws-sdk-go-v2/service/licensemanager v1.35.0 h1:gdfSY6AmWavRp8Vl8 github.com/aws/aws-sdk-go-v2/service/licensemanager v1.35.0/go.mod h1:TBm4Zxk3cVPC/qu7CBBtxeDBRm+NxPumhD39np/9HZM= github.com/aws/aws-sdk-go-v2/service/lightsail v1.47.0 h1:PGWe+dWCl7Iu+d6nnVS9mmeEWYtoHDu2D4GqyIgg7vo= github.com/aws/aws-sdk-go-v2/service/lightsail v1.47.0/go.mod h1:k+O6WzXkLorOOArYPtOPtpVXtCJBAeUsV/7gQRR0wt4= -github.com/aws/aws-sdk-go-v2/service/location v1.47.0 h1:oo7GB7Mtr+OkyA9E2CvdwLW98QEMbM0CVAay0NceOUc= -github.com/aws/aws-sdk-go-v2/service/location v1.47.0/go.mod h1:hRYGyCf4DRFqL1cuNV2+QLi6FNsUIbuYFh673ajAaSA= +github.com/aws/aws-sdk-go-v2/service/location v1.48.0 h1:jOCYFO1GgCkG3bSeMsKzK/cqvBq65ocisfEkpduVGxo= +github.com/aws/aws-sdk-go-v2/service/location v1.48.0/go.mod h1:VL8j8BiySNuq5pDthDsyd4uqBXxtqjJlBb5WWbFbZmY= github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.34.0 h1:AeDQIQ96Ojw+Q5RYjRV0wUDut2GPfFrRZx3LSUkK/9k= github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.34.0/go.mod h1:38He4+8qkSA4lPgtYstoMRMtBXQooHszWnrwZZIgB9E= github.com/aws/aws-sdk-go-v2/service/m2 v1.23.0 h1:I5DRi/03gmvdTLlwoAILcZCWcoqaDljk75q7Fs+6F68= From b30bb5282ee093bccf35e3f1d91803f91838d861 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:03 -0400 Subject: [PATCH 0971/1301] go get github.com/aws/aws-sdk-go-v2/service/lookoutmetrics. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index cc3f3f7aa9bf..187b8307c519 100644 --- a/go.mod +++ b/go.mod @@ -162,7 +162,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/licensemanager v1.35.0 github.com/aws/aws-sdk-go-v2/service/lightsail v1.47.0 github.com/aws/aws-sdk-go-v2/service/location v1.48.0 - github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.34.0 + github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.35.0 github.com/aws/aws-sdk-go-v2/service/m2 v1.23.0 github.com/aws/aws-sdk-go-v2/service/macie2 v1.47.0 github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.42.0 diff --git a/go.sum b/go.sum index d6a5ad4f004f..8588afeaf97d 100644 --- a/go.sum +++ b/go.sum @@ -345,8 +345,8 @@ github.com/aws/aws-sdk-go-v2/service/lightsail v1.47.0 h1:PGWe+dWCl7Iu+d6nnVS9mm github.com/aws/aws-sdk-go-v2/service/lightsail v1.47.0/go.mod h1:k+O6WzXkLorOOArYPtOPtpVXtCJBAeUsV/7gQRR0wt4= github.com/aws/aws-sdk-go-v2/service/location v1.48.0 h1:jOCYFO1GgCkG3bSeMsKzK/cqvBq65ocisfEkpduVGxo= github.com/aws/aws-sdk-go-v2/service/location v1.48.0/go.mod h1:VL8j8BiySNuq5pDthDsyd4uqBXxtqjJlBb5WWbFbZmY= -github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.34.0 h1:AeDQIQ96Ojw+Q5RYjRV0wUDut2GPfFrRZx3LSUkK/9k= -github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.34.0/go.mod h1:38He4+8qkSA4lPgtYstoMRMtBXQooHszWnrwZZIgB9E= +github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.35.0 h1:33rj0RNRRxNHPGCCJ0lC9dOsrLWJXVsJteZQS6BHXdk= +github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.35.0/go.mod h1:lfJ6B6p/KQY1W7a2qVwYtXgQvbYPIZi+BQPHMfs7pWA= github.com/aws/aws-sdk-go-v2/service/m2 v1.23.0 h1:I5DRi/03gmvdTLlwoAILcZCWcoqaDljk75q7Fs+6F68= github.com/aws/aws-sdk-go-v2/service/m2 v1.23.0/go.mod h1:HlXF381spH689iWpO3aUPsneI4ogQ9vEpc+7MW9qmTw= github.com/aws/aws-sdk-go-v2/service/macie2 v1.47.0 h1:463pft8QLCiwYmOrKNO8xNnB5AH5yhQXfOOT6jqOy64= From e964ac5715267d10e847c451b22f48d46d69a61e Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:04 -0400 Subject: [PATCH 0972/1301] go get github.com/aws/aws-sdk-go-v2/service/m2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 187b8307c519..41706f3c8421 100644 --- a/go.mod +++ b/go.mod @@ -163,7 +163,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/lightsail v1.47.0 github.com/aws/aws-sdk-go-v2/service/location v1.48.0 github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.35.0 - github.com/aws/aws-sdk-go-v2/service/m2 v1.23.0 + github.com/aws/aws-sdk-go-v2/service/m2 v1.24.0 github.com/aws/aws-sdk-go-v2/service/macie2 v1.47.0 github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.42.0 github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.79.0 diff --git a/go.sum b/go.sum index 8588afeaf97d..6fd05d48304e 100644 --- a/go.sum +++ b/go.sum @@ -347,8 +347,8 @@ github.com/aws/aws-sdk-go-v2/service/location v1.48.0 h1:jOCYFO1GgCkG3bSeMsKzK/c github.com/aws/aws-sdk-go-v2/service/location v1.48.0/go.mod h1:VL8j8BiySNuq5pDthDsyd4uqBXxtqjJlBb5WWbFbZmY= github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.35.0 h1:33rj0RNRRxNHPGCCJ0lC9dOsrLWJXVsJteZQS6BHXdk= github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.35.0/go.mod h1:lfJ6B6p/KQY1W7a2qVwYtXgQvbYPIZi+BQPHMfs7pWA= -github.com/aws/aws-sdk-go-v2/service/m2 v1.23.0 h1:I5DRi/03gmvdTLlwoAILcZCWcoqaDljk75q7Fs+6F68= -github.com/aws/aws-sdk-go-v2/service/m2 v1.23.0/go.mod h1:HlXF381spH689iWpO3aUPsneI4ogQ9vEpc+7MW9qmTw= +github.com/aws/aws-sdk-go-v2/service/m2 v1.24.0 h1:9Lo/MEr45V5AJ8mf3gb0g8lxPlbXNXbQ8MlHWPgsWh0= +github.com/aws/aws-sdk-go-v2/service/m2 v1.24.0/go.mod h1:AFrHabRFBc00+A3Jh65w2KrPPUbj11tXqBb2dW0+7UA= github.com/aws/aws-sdk-go-v2/service/macie2 v1.47.0 h1:463pft8QLCiwYmOrKNO8xNnB5AH5yhQXfOOT6jqOy64= github.com/aws/aws-sdk-go-v2/service/macie2 v1.47.0/go.mod h1:VNSXUIl8dkUtHG2XwMAK5DoxFgDK7+yo49qtmVYKC+k= github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.42.0 h1:myMe1lFa6K1NgC1E60kB68mTZmSwFc3w5ofz1DzDBtI= From 5b5fedf0fecf54e13aec16ac97f6b0eea5cc0199 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:05 -0400 Subject: [PATCH 0973/1301] go get github.com/aws/aws-sdk-go-v2/service/macie2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 41706f3c8421..542066a6e198 100644 --- a/go.mod +++ b/go.mod @@ -164,7 +164,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/location v1.48.0 github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.35.0 github.com/aws/aws-sdk-go-v2/service/m2 v1.24.0 - github.com/aws/aws-sdk-go-v2/service/macie2 v1.47.0 + github.com/aws/aws-sdk-go-v2/service/macie2 v1.48.0 github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.42.0 github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.79.0 github.com/aws/aws-sdk-go-v2/service/medialive v1.78.0 diff --git a/go.sum b/go.sum index 6fd05d48304e..8f2965301101 100644 --- a/go.sum +++ b/go.sum @@ -349,8 +349,8 @@ github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.35.0 h1:33rj0RNRRxNHPGCCJ github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.35.0/go.mod h1:lfJ6B6p/KQY1W7a2qVwYtXgQvbYPIZi+BQPHMfs7pWA= github.com/aws/aws-sdk-go-v2/service/m2 v1.24.0 h1:9Lo/MEr45V5AJ8mf3gb0g8lxPlbXNXbQ8MlHWPgsWh0= github.com/aws/aws-sdk-go-v2/service/m2 v1.24.0/go.mod h1:AFrHabRFBc00+A3Jh65w2KrPPUbj11tXqBb2dW0+7UA= -github.com/aws/aws-sdk-go-v2/service/macie2 v1.47.0 h1:463pft8QLCiwYmOrKNO8xNnB5AH5yhQXfOOT6jqOy64= -github.com/aws/aws-sdk-go-v2/service/macie2 v1.47.0/go.mod h1:VNSXUIl8dkUtHG2XwMAK5DoxFgDK7+yo49qtmVYKC+k= +github.com/aws/aws-sdk-go-v2/service/macie2 v1.48.0 h1:7Ic+DGhlNQb5UoUGB/1gV+ULY/sLCB6Oe6F9MvowUZc= +github.com/aws/aws-sdk-go-v2/service/macie2 v1.48.0/go.mod h1:TWKvkEe8yeOKDNCMW47xAQJiqln+pa4RWDXUE6PGHjA= github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.42.0 h1:myMe1lFa6K1NgC1E60kB68mTZmSwFc3w5ofz1DzDBtI= github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.42.0/go.mod h1:7dKRBvWiHdQmUZ66ZgiJuCVF9zyU/+9q9oC2j2zPunw= github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.79.0 h1:YQEf1gKL1qAJFos4jrByaoe2KiAJs/6TiZIccOlKlyI= From 4871f81b0f4e8958ec8a34aa15205008f3bafc20 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:06 -0400 Subject: [PATCH 0974/1301] go get github.com/aws/aws-sdk-go-v2/service/mediaconnect. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 542066a6e198..78d258e0c1a5 100644 --- a/go.mod +++ b/go.mod @@ -165,7 +165,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.35.0 github.com/aws/aws-sdk-go-v2/service/m2 v1.24.0 github.com/aws/aws-sdk-go-v2/service/macie2 v1.48.0 - github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.42.0 + github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.43.0 github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.79.0 github.com/aws/aws-sdk-go-v2/service/medialive v1.78.0 github.com/aws/aws-sdk-go-v2/service/mediapackage v1.37.0 diff --git a/go.sum b/go.sum index 8f2965301101..2b26eed90dd9 100644 --- a/go.sum +++ b/go.sum @@ -351,8 +351,8 @@ github.com/aws/aws-sdk-go-v2/service/m2 v1.24.0 h1:9Lo/MEr45V5AJ8mf3gb0g8lxPlbXN github.com/aws/aws-sdk-go-v2/service/m2 v1.24.0/go.mod h1:AFrHabRFBc00+A3Jh65w2KrPPUbj11tXqBb2dW0+7UA= github.com/aws/aws-sdk-go-v2/service/macie2 v1.48.0 h1:7Ic+DGhlNQb5UoUGB/1gV+ULY/sLCB6Oe6F9MvowUZc= github.com/aws/aws-sdk-go-v2/service/macie2 v1.48.0/go.mod h1:TWKvkEe8yeOKDNCMW47xAQJiqln+pa4RWDXUE6PGHjA= -github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.42.0 h1:myMe1lFa6K1NgC1E60kB68mTZmSwFc3w5ofz1DzDBtI= -github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.42.0/go.mod h1:7dKRBvWiHdQmUZ66ZgiJuCVF9zyU/+9q9oC2j2zPunw= +github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.43.0 h1:ek+HR+h5mzH8ZW9yBOarF4Xu4Asj9SceDyrUle8y1yw= +github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.43.0/go.mod h1:+h6ngXuktUq919fdzDtWspFrg4Y+C15VlIra9CGVw1w= github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.79.0 h1:YQEf1gKL1qAJFos4jrByaoe2KiAJs/6TiZIccOlKlyI= github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.79.0/go.mod h1:WvDW+pJT3sadqMWbBF2eCJExryZPCAQE0M18kazuwCI= github.com/aws/aws-sdk-go-v2/service/medialive v1.78.0 h1:oHnfXdnD+X8MTihLSzNPJ+wiVXYWUS+1+UnZVHsCUJ4= From 7c87fa2ba85e0f5bb15a4af84f6e85b7fff7ab1f Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:07 -0400 Subject: [PATCH 0975/1301] go get github.com/aws/aws-sdk-go-v2/service/mediaconvert. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 78d258e0c1a5..14372a9d245c 100644 --- a/go.mod +++ b/go.mod @@ -166,7 +166,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/m2 v1.24.0 github.com/aws/aws-sdk-go-v2/service/macie2 v1.48.0 github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.43.0 - github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.79.0 + github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.80.0 github.com/aws/aws-sdk-go-v2/service/medialive v1.78.0 github.com/aws/aws-sdk-go-v2/service/mediapackage v1.37.0 github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.28.0 diff --git a/go.sum b/go.sum index 2b26eed90dd9..71720d111376 100644 --- a/go.sum +++ b/go.sum @@ -353,8 +353,8 @@ github.com/aws/aws-sdk-go-v2/service/macie2 v1.48.0 h1:7Ic+DGhlNQb5UoUGB/1gV+ULY github.com/aws/aws-sdk-go-v2/service/macie2 v1.48.0/go.mod h1:TWKvkEe8yeOKDNCMW47xAQJiqln+pa4RWDXUE6PGHjA= github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.43.0 h1:ek+HR+h5mzH8ZW9yBOarF4Xu4Asj9SceDyrUle8y1yw= github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.43.0/go.mod h1:+h6ngXuktUq919fdzDtWspFrg4Y+C15VlIra9CGVw1w= -github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.79.0 h1:YQEf1gKL1qAJFos4jrByaoe2KiAJs/6TiZIccOlKlyI= -github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.79.0/go.mod h1:WvDW+pJT3sadqMWbBF2eCJExryZPCAQE0M18kazuwCI= +github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.80.0 h1:sZ1KON5k/tyf3xbZKDW/gl4nHEm/84zDpXGsA0/7LcI= +github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.80.0/go.mod h1:QOmlr6sjqSPtQXGhi7hhj+ihkU47qs3ZTIh3vTbqX7o= github.com/aws/aws-sdk-go-v2/service/medialive v1.78.0 h1:oHnfXdnD+X8MTihLSzNPJ+wiVXYWUS+1+UnZVHsCUJ4= github.com/aws/aws-sdk-go-v2/service/medialive v1.78.0/go.mod h1:GDIXX4xAoByJpI6ms6csOCCMjuZQxGbvMdbIkrpvty4= github.com/aws/aws-sdk-go-v2/service/mediapackage v1.37.0 h1:hRHvIJ6LsYOOlO8VbrdG3BkotOXKAXFfApbuCQ+WbtE= From 64c785346436b9274149c9bf71a49b697e735e4d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:08 -0400 Subject: [PATCH 0976/1301] go get github.com/aws/aws-sdk-go-v2/service/medialive. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 14372a9d245c..e090e7dd52c5 100644 --- a/go.mod +++ b/go.mod @@ -167,7 +167,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/macie2 v1.48.0 github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.43.0 github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.80.0 - github.com/aws/aws-sdk-go-v2/service/medialive v1.78.0 + github.com/aws/aws-sdk-go-v2/service/medialive v1.79.0 github.com/aws/aws-sdk-go-v2/service/mediapackage v1.37.0 github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.28.0 github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.37.0 diff --git a/go.sum b/go.sum index 71720d111376..23f86957c661 100644 --- a/go.sum +++ b/go.sum @@ -355,8 +355,8 @@ github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.43.0 h1:ek+HR+h5mzH8ZW9yBOa github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.43.0/go.mod h1:+h6ngXuktUq919fdzDtWspFrg4Y+C15VlIra9CGVw1w= github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.80.0 h1:sZ1KON5k/tyf3xbZKDW/gl4nHEm/84zDpXGsA0/7LcI= github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.80.0/go.mod h1:QOmlr6sjqSPtQXGhi7hhj+ihkU47qs3ZTIh3vTbqX7o= -github.com/aws/aws-sdk-go-v2/service/medialive v1.78.0 h1:oHnfXdnD+X8MTihLSzNPJ+wiVXYWUS+1+UnZVHsCUJ4= -github.com/aws/aws-sdk-go-v2/service/medialive v1.78.0/go.mod h1:GDIXX4xAoByJpI6ms6csOCCMjuZQxGbvMdbIkrpvty4= +github.com/aws/aws-sdk-go-v2/service/medialive v1.79.0 h1:9EmuTJkV2qQnD9/2qRsYTL9lh5pe8egpLf5JLd6GIFc= +github.com/aws/aws-sdk-go-v2/service/medialive v1.79.0/go.mod h1:ztAXVYzpWC8UtMzvZ5VPBmytv9exEv6BsAq7Z2oSJK8= github.com/aws/aws-sdk-go-v2/service/mediapackage v1.37.0 h1:hRHvIJ6LsYOOlO8VbrdG3BkotOXKAXFfApbuCQ+WbtE= github.com/aws/aws-sdk-go-v2/service/mediapackage v1.37.0/go.mod h1:mdts8QkX+u23oMp0ZjlMzG4lP6u16B3BPb8SpX/oIP8= github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.28.0 h1:advvzK2BMNQSWweRS88MHftRRTbAP1XhjoP0lp/P4BE= From 3fb051fda2bce90fc8b4379b80f4af2ca950b554 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:09 -0400 Subject: [PATCH 0977/1301] go get github.com/aws/aws-sdk-go-v2/service/mediapackage. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e090e7dd52c5..15f146a0aa65 100644 --- a/go.mod +++ b/go.mod @@ -168,7 +168,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.43.0 github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.80.0 github.com/aws/aws-sdk-go-v2/service/medialive v1.79.0 - github.com/aws/aws-sdk-go-v2/service/mediapackage v1.37.0 + github.com/aws/aws-sdk-go-v2/service/mediapackage v1.38.0 github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.28.0 github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.37.0 github.com/aws/aws-sdk-go-v2/service/mediastore v1.27.0 diff --git a/go.sum b/go.sum index 23f86957c661..1094079924b5 100644 --- a/go.sum +++ b/go.sum @@ -357,8 +357,8 @@ github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.80.0 h1:sZ1KON5k/tyf3xbZKDW github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.80.0/go.mod h1:QOmlr6sjqSPtQXGhi7hhj+ihkU47qs3ZTIh3vTbqX7o= github.com/aws/aws-sdk-go-v2/service/medialive v1.79.0 h1:9EmuTJkV2qQnD9/2qRsYTL9lh5pe8egpLf5JLd6GIFc= github.com/aws/aws-sdk-go-v2/service/medialive v1.79.0/go.mod h1:ztAXVYzpWC8UtMzvZ5VPBmytv9exEv6BsAq7Z2oSJK8= -github.com/aws/aws-sdk-go-v2/service/mediapackage v1.37.0 h1:hRHvIJ6LsYOOlO8VbrdG3BkotOXKAXFfApbuCQ+WbtE= -github.com/aws/aws-sdk-go-v2/service/mediapackage v1.37.0/go.mod h1:mdts8QkX+u23oMp0ZjlMzG4lP6u16B3BPb8SpX/oIP8= +github.com/aws/aws-sdk-go-v2/service/mediapackage v1.38.0 h1:te/oZcPDK1WkmGy8tE0zoxTE5aEaEqZ/79jdTDxjyb4= +github.com/aws/aws-sdk-go-v2/service/mediapackage v1.38.0/go.mod h1:LizOnQyvCXr58pqNFq6Fijjzg6o38w5bnxxhnfBAQsI= github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.28.0 h1:advvzK2BMNQSWweRS88MHftRRTbAP1XhjoP0lp/P4BE= github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.28.0/go.mod h1:51YIgiiLBi2XdQkO/iIOoNQhW5GBVKcefQ7K6N3EKHU= github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.37.0 h1:7PKUjYcop2QCd/2u+209jx0x559L+LP2jd2ZErvobuw= From 32ac19466741a1cb0035ee74c9fc1baeb28a7ce5 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:10 -0400 Subject: [PATCH 0978/1301] go get github.com/aws/aws-sdk-go-v2/service/mediapackagev2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 15f146a0aa65..f59efa2d2388 100644 --- a/go.mod +++ b/go.mod @@ -169,7 +169,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.80.0 github.com/aws/aws-sdk-go-v2/service/medialive v1.79.0 github.com/aws/aws-sdk-go-v2/service/mediapackage v1.38.0 - github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.28.0 + github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.29.0 github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.37.0 github.com/aws/aws-sdk-go-v2/service/mediastore v1.27.0 github.com/aws/aws-sdk-go-v2/service/memorydb v1.29.0 diff --git a/go.sum b/go.sum index 1094079924b5..f4603cce46b0 100644 --- a/go.sum +++ b/go.sum @@ -359,8 +359,8 @@ github.com/aws/aws-sdk-go-v2/service/medialive v1.79.0 h1:9EmuTJkV2qQnD9/2qRsYTL github.com/aws/aws-sdk-go-v2/service/medialive v1.79.0/go.mod h1:ztAXVYzpWC8UtMzvZ5VPBmytv9exEv6BsAq7Z2oSJK8= github.com/aws/aws-sdk-go-v2/service/mediapackage v1.38.0 h1:te/oZcPDK1WkmGy8tE0zoxTE5aEaEqZ/79jdTDxjyb4= github.com/aws/aws-sdk-go-v2/service/mediapackage v1.38.0/go.mod h1:LizOnQyvCXr58pqNFq6Fijjzg6o38w5bnxxhnfBAQsI= -github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.28.0 h1:advvzK2BMNQSWweRS88MHftRRTbAP1XhjoP0lp/P4BE= -github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.28.0/go.mod h1:51YIgiiLBi2XdQkO/iIOoNQhW5GBVKcefQ7K6N3EKHU= +github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.29.0 h1:wBaXl/5Gxvc3dgiPFNFWw1QEL4ktn3bD+Tb/lU5zGIw= +github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.29.0/go.mod h1:JGsiQ3sKXi5OwUAJZfCppe4Cks0kN32eH6+oD2bq63Q= github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.37.0 h1:7PKUjYcop2QCd/2u+209jx0x559L+LP2jd2ZErvobuw= github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.37.0/go.mod h1:8qat4Jx8YtTiys0U6ByUnbP+FaXJuDab1xNNCb4Crp0= github.com/aws/aws-sdk-go-v2/service/mediastore v1.27.0 h1:7K52IQd61BqDtuOS20/BgJSnjstuVRFmmEpjYmq1pAs= From 17b2282dd6ddece34123773a08adf5140cb5ed5b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:11 -0400 Subject: [PATCH 0979/1301] go get github.com/aws/aws-sdk-go-v2/service/mediapackagevod. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index f59efa2d2388..aa80038dd70f 100644 --- a/go.mod +++ b/go.mod @@ -170,7 +170,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/medialive v1.79.0 github.com/aws/aws-sdk-go-v2/service/mediapackage v1.38.0 github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.29.0 - github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.37.0 + github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.38.0 github.com/aws/aws-sdk-go-v2/service/mediastore v1.27.0 github.com/aws/aws-sdk-go-v2/service/memorydb v1.29.0 github.com/aws/aws-sdk-go-v2/service/mgn v1.35.0 diff --git a/go.sum b/go.sum index f4603cce46b0..bc6d8b4bd558 100644 --- a/go.sum +++ b/go.sum @@ -361,8 +361,8 @@ github.com/aws/aws-sdk-go-v2/service/mediapackage v1.38.0 h1:te/oZcPDK1WkmGy8tE0 github.com/aws/aws-sdk-go-v2/service/mediapackage v1.38.0/go.mod h1:LizOnQyvCXr58pqNFq6Fijjzg6o38w5bnxxhnfBAQsI= github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.29.0 h1:wBaXl/5Gxvc3dgiPFNFWw1QEL4ktn3bD+Tb/lU5zGIw= github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.29.0/go.mod h1:JGsiQ3sKXi5OwUAJZfCppe4Cks0kN32eH6+oD2bq63Q= -github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.37.0 h1:7PKUjYcop2QCd/2u+209jx0x559L+LP2jd2ZErvobuw= -github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.37.0/go.mod h1:8qat4Jx8YtTiys0U6ByUnbP+FaXJuDab1xNNCb4Crp0= +github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.38.0 h1:zutK4lUa0WzbzA18TjqAcSCLFWYdtxh2adC9s9Jz2Lo= +github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.38.0/go.mod h1:EZC3Zxx4zA/VL5dHqUMBQZQh1GdN7ye1SgPSIpcB/Gg= github.com/aws/aws-sdk-go-v2/service/mediastore v1.27.0 h1:7K52IQd61BqDtuOS20/BgJSnjstuVRFmmEpjYmq1pAs= github.com/aws/aws-sdk-go-v2/service/mediastore v1.27.0/go.mod h1:J9u5c8XP0bjouR1/nx9SDO6Dw0p2n5lUvumttLXaWpw= github.com/aws/aws-sdk-go-v2/service/memorydb v1.29.0 h1:/nFectiONsdEdi5uRGqV2GvaekykxE/SXXKDysyb1HY= From 1b5fae7efe3f5f9595b6fca6db2d2c736156ebea Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:12 -0400 Subject: [PATCH 0980/1301] go get github.com/aws/aws-sdk-go-v2/service/mediastore. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index aa80038dd70f..6d91f9f199fa 100644 --- a/go.mod +++ b/go.mod @@ -171,7 +171,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/mediapackage v1.38.0 github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.29.0 github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.38.0 - github.com/aws/aws-sdk-go-v2/service/mediastore v1.27.0 + github.com/aws/aws-sdk-go-v2/service/mediastore v1.28.0 github.com/aws/aws-sdk-go-v2/service/memorydb v1.29.0 github.com/aws/aws-sdk-go-v2/service/mgn v1.35.0 github.com/aws/aws-sdk-go-v2/service/mq v1.31.0 diff --git a/go.sum b/go.sum index bc6d8b4bd558..6cf638467076 100644 --- a/go.sum +++ b/go.sum @@ -363,8 +363,8 @@ github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.29.0 h1:wBaXl/5Gxvc3dgiPF github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.29.0/go.mod h1:JGsiQ3sKXi5OwUAJZfCppe4Cks0kN32eH6+oD2bq63Q= github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.38.0 h1:zutK4lUa0WzbzA18TjqAcSCLFWYdtxh2adC9s9Jz2Lo= github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.38.0/go.mod h1:EZC3Zxx4zA/VL5dHqUMBQZQh1GdN7ye1SgPSIpcB/Gg= -github.com/aws/aws-sdk-go-v2/service/mediastore v1.27.0 h1:7K52IQd61BqDtuOS20/BgJSnjstuVRFmmEpjYmq1pAs= -github.com/aws/aws-sdk-go-v2/service/mediastore v1.27.0/go.mod h1:J9u5c8XP0bjouR1/nx9SDO6Dw0p2n5lUvumttLXaWpw= +github.com/aws/aws-sdk-go-v2/service/mediastore v1.28.0 h1:dr8QYzAgIt7JTEN65ujaa3qB1HDKL1Gg34rVvWBzxn0= +github.com/aws/aws-sdk-go-v2/service/mediastore v1.28.0/go.mod h1:J9usg9CZaYqNdF9h0ggRA3oYbjp3YWwCaKNKD+VVVns= github.com/aws/aws-sdk-go-v2/service/memorydb v1.29.0 h1:/nFectiONsdEdi5uRGqV2GvaekykxE/SXXKDysyb1HY= github.com/aws/aws-sdk-go-v2/service/memorydb v1.29.0/go.mod h1:6w41UB9aJQhcsYOSQB3L1+ISGNZMrzX5Dvs9Dva/Mq8= github.com/aws/aws-sdk-go-v2/service/mgn v1.35.0 h1:y7CunlI986quanuSNZYVqt5Ig2xL8ImFoe/RZBdeNUE= From a231f9f2e24e3098247a30bd34f94d3e160b435e Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:13 -0400 Subject: [PATCH 0981/1301] go get github.com/aws/aws-sdk-go-v2/service/memorydb. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 6d91f9f199fa..518bdfeb6251 100644 --- a/go.mod +++ b/go.mod @@ -172,7 +172,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.29.0 github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.38.0 github.com/aws/aws-sdk-go-v2/service/mediastore v1.28.0 - github.com/aws/aws-sdk-go-v2/service/memorydb v1.29.0 + github.com/aws/aws-sdk-go-v2/service/memorydb v1.30.0 github.com/aws/aws-sdk-go-v2/service/mgn v1.35.0 github.com/aws/aws-sdk-go-v2/service/mq v1.31.0 github.com/aws/aws-sdk-go-v2/service/mwaa v1.37.0 diff --git a/go.sum b/go.sum index 6cf638467076..11b095cbb008 100644 --- a/go.sum +++ b/go.sum @@ -365,8 +365,8 @@ github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.38.0 h1:zutK4lUa0WzbzA18 github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.38.0/go.mod h1:EZC3Zxx4zA/VL5dHqUMBQZQh1GdN7ye1SgPSIpcB/Gg= github.com/aws/aws-sdk-go-v2/service/mediastore v1.28.0 h1:dr8QYzAgIt7JTEN65ujaa3qB1HDKL1Gg34rVvWBzxn0= github.com/aws/aws-sdk-go-v2/service/mediastore v1.28.0/go.mod h1:J9usg9CZaYqNdF9h0ggRA3oYbjp3YWwCaKNKD+VVVns= -github.com/aws/aws-sdk-go-v2/service/memorydb v1.29.0 h1:/nFectiONsdEdi5uRGqV2GvaekykxE/SXXKDysyb1HY= -github.com/aws/aws-sdk-go-v2/service/memorydb v1.29.0/go.mod h1:6w41UB9aJQhcsYOSQB3L1+ISGNZMrzX5Dvs9Dva/Mq8= +github.com/aws/aws-sdk-go-v2/service/memorydb v1.30.0 h1:jmAOPEdLWcLdZjkmiDWb3rcKqPNbXKI0l7VgukYWZDw= +github.com/aws/aws-sdk-go-v2/service/memorydb v1.30.0/go.mod h1:NNlta0IS4G5ti97P4p0eDNYGBnv2uRLzSgVWpSARNdg= github.com/aws/aws-sdk-go-v2/service/mgn v1.35.0 h1:y7CunlI986quanuSNZYVqt5Ig2xL8ImFoe/RZBdeNUE= github.com/aws/aws-sdk-go-v2/service/mgn v1.35.0/go.mod h1:E82DkPWlL9jQG839fM8JUw0mz8OAh/pJF2WrlQg5qg8= github.com/aws/aws-sdk-go-v2/service/mq v1.31.0 h1:6Y9BsayI3em0Dcrac8VOODM66gDf6sqhMJReYNXWrGw= From 5c50f12d0187f225d5602fdce797803a6f7007e6 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:14 -0400 Subject: [PATCH 0982/1301] go get github.com/aws/aws-sdk-go-v2/service/mgn. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 518bdfeb6251..71392ea69c6f 100644 --- a/go.mod +++ b/go.mod @@ -173,7 +173,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.38.0 github.com/aws/aws-sdk-go-v2/service/mediastore v1.28.0 github.com/aws/aws-sdk-go-v2/service/memorydb v1.30.0 - github.com/aws/aws-sdk-go-v2/service/mgn v1.35.0 + github.com/aws/aws-sdk-go-v2/service/mgn v1.36.0 github.com/aws/aws-sdk-go-v2/service/mq v1.31.0 github.com/aws/aws-sdk-go-v2/service/mwaa v1.37.0 github.com/aws/aws-sdk-go-v2/service/neptune v1.39.0 diff --git a/go.sum b/go.sum index 11b095cbb008..945d027d54f9 100644 --- a/go.sum +++ b/go.sum @@ -367,8 +367,8 @@ github.com/aws/aws-sdk-go-v2/service/mediastore v1.28.0 h1:dr8QYzAgIt7JTEN65ujaa github.com/aws/aws-sdk-go-v2/service/mediastore v1.28.0/go.mod h1:J9usg9CZaYqNdF9h0ggRA3oYbjp3YWwCaKNKD+VVVns= github.com/aws/aws-sdk-go-v2/service/memorydb v1.30.0 h1:jmAOPEdLWcLdZjkmiDWb3rcKqPNbXKI0l7VgukYWZDw= github.com/aws/aws-sdk-go-v2/service/memorydb v1.30.0/go.mod h1:NNlta0IS4G5ti97P4p0eDNYGBnv2uRLzSgVWpSARNdg= -github.com/aws/aws-sdk-go-v2/service/mgn v1.35.0 h1:y7CunlI986quanuSNZYVqt5Ig2xL8ImFoe/RZBdeNUE= -github.com/aws/aws-sdk-go-v2/service/mgn v1.35.0/go.mod h1:E82DkPWlL9jQG839fM8JUw0mz8OAh/pJF2WrlQg5qg8= +github.com/aws/aws-sdk-go-v2/service/mgn v1.36.0 h1:hqeHoI8gefTz2qXgxG7B5PsVuJuyVnPfp7EveQtOeHg= +github.com/aws/aws-sdk-go-v2/service/mgn v1.36.0/go.mod h1:tDCA72Dhugy3hO10vTlROD3ahbJGuqnRvRrjvX4a/iE= github.com/aws/aws-sdk-go-v2/service/mq v1.31.0 h1:6Y9BsayI3em0Dcrac8VOODM66gDf6sqhMJReYNXWrGw= github.com/aws/aws-sdk-go-v2/service/mq v1.31.0/go.mod h1:H19HQQ5aulO4iFeBQcE14Zo9EC0w3oToCdKMQLeYC3k= github.com/aws/aws-sdk-go-v2/service/mwaa v1.37.0 h1:bGdw3+sTFFqd/VhHeb20i5ko7vfEoDiISobiLNc+MHY= From f681edec90c8707bdf64513bf520f574da2f65d3 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:16 -0400 Subject: [PATCH 0983/1301] go get github.com/aws/aws-sdk-go-v2/service/mq. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 71392ea69c6f..102623238596 100644 --- a/go.mod +++ b/go.mod @@ -174,7 +174,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/mediastore v1.28.0 github.com/aws/aws-sdk-go-v2/service/memorydb v1.30.0 github.com/aws/aws-sdk-go-v2/service/mgn v1.36.0 - github.com/aws/aws-sdk-go-v2/service/mq v1.31.0 + github.com/aws/aws-sdk-go-v2/service/mq v1.32.0 github.com/aws/aws-sdk-go-v2/service/mwaa v1.37.0 github.com/aws/aws-sdk-go-v2/service/neptune v1.39.0 github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0 diff --git a/go.sum b/go.sum index 945d027d54f9..7abed52d2658 100644 --- a/go.sum +++ b/go.sum @@ -369,8 +369,8 @@ github.com/aws/aws-sdk-go-v2/service/memorydb v1.30.0 h1:jmAOPEdLWcLdZjkmiDWb3rc github.com/aws/aws-sdk-go-v2/service/memorydb v1.30.0/go.mod h1:NNlta0IS4G5ti97P4p0eDNYGBnv2uRLzSgVWpSARNdg= github.com/aws/aws-sdk-go-v2/service/mgn v1.36.0 h1:hqeHoI8gefTz2qXgxG7B5PsVuJuyVnPfp7EveQtOeHg= github.com/aws/aws-sdk-go-v2/service/mgn v1.36.0/go.mod h1:tDCA72Dhugy3hO10vTlROD3ahbJGuqnRvRrjvX4a/iE= -github.com/aws/aws-sdk-go-v2/service/mq v1.31.0 h1:6Y9BsayI3em0Dcrac8VOODM66gDf6sqhMJReYNXWrGw= -github.com/aws/aws-sdk-go-v2/service/mq v1.31.0/go.mod h1:H19HQQ5aulO4iFeBQcE14Zo9EC0w3oToCdKMQLeYC3k= +github.com/aws/aws-sdk-go-v2/service/mq v1.32.0 h1:h04Kq2u2B6bDeAmNoxlf9bqtKH3GUlkW3p/+e/mE7+o= +github.com/aws/aws-sdk-go-v2/service/mq v1.32.0/go.mod h1:tVSPpsQhalaf+DchZKFeDoohUeNE8dVSFGNRjZrDSQE= github.com/aws/aws-sdk-go-v2/service/mwaa v1.37.0 h1:bGdw3+sTFFqd/VhHeb20i5ko7vfEoDiISobiLNc+MHY= github.com/aws/aws-sdk-go-v2/service/mwaa v1.37.0/go.mod h1:GCKSqs00/Uhtx3JKsDhPWfQzstY73K0/O8AiQV8yZo4= github.com/aws/aws-sdk-go-v2/service/neptune v1.39.0 h1:0iRrarRL6MheR0/VctAAubu2GPUPKHCFxtuNmS4Nf8o= From 64e758f90661ecfc1166f19ec0f454f69f0dfff7 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:17 -0400 Subject: [PATCH 0984/1301] go get github.com/aws/aws-sdk-go-v2/service/mwaa. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 102623238596..de466aa2844e 100644 --- a/go.mod +++ b/go.mod @@ -175,7 +175,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/memorydb v1.30.0 github.com/aws/aws-sdk-go-v2/service/mgn v1.36.0 github.com/aws/aws-sdk-go-v2/service/mq v1.32.0 - github.com/aws/aws-sdk-go-v2/service/mwaa v1.37.0 + github.com/aws/aws-sdk-go-v2/service/mwaa v1.38.0 github.com/aws/aws-sdk-go-v2/service/neptune v1.39.0 github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0 github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0 diff --git a/go.sum b/go.sum index 7abed52d2658..c8afa9dc9a05 100644 --- a/go.sum +++ b/go.sum @@ -371,8 +371,8 @@ github.com/aws/aws-sdk-go-v2/service/mgn v1.36.0 h1:hqeHoI8gefTz2qXgxG7B5PsVuJuy github.com/aws/aws-sdk-go-v2/service/mgn v1.36.0/go.mod h1:tDCA72Dhugy3hO10vTlROD3ahbJGuqnRvRrjvX4a/iE= github.com/aws/aws-sdk-go-v2/service/mq v1.32.0 h1:h04Kq2u2B6bDeAmNoxlf9bqtKH3GUlkW3p/+e/mE7+o= github.com/aws/aws-sdk-go-v2/service/mq v1.32.0/go.mod h1:tVSPpsQhalaf+DchZKFeDoohUeNE8dVSFGNRjZrDSQE= -github.com/aws/aws-sdk-go-v2/service/mwaa v1.37.0 h1:bGdw3+sTFFqd/VhHeb20i5ko7vfEoDiISobiLNc+MHY= -github.com/aws/aws-sdk-go-v2/service/mwaa v1.37.0/go.mod h1:GCKSqs00/Uhtx3JKsDhPWfQzstY73K0/O8AiQV8yZo4= +github.com/aws/aws-sdk-go-v2/service/mwaa v1.38.0 h1:8ScMT/bvwaGzWE+5zVDxVPgSWaBrSaFZhEIhX7kCOhg= +github.com/aws/aws-sdk-go-v2/service/mwaa v1.38.0/go.mod h1:Mi/tghAzRmlNlqFwV/5D0NMLfhrkqSabMxA1wY6dCTw= github.com/aws/aws-sdk-go-v2/service/neptune v1.39.0 h1:0iRrarRL6MheR0/VctAAubu2GPUPKHCFxtuNmS4Nf8o= github.com/aws/aws-sdk-go-v2/service/neptune v1.39.0/go.mod h1:XT+KZcW1UpUpT1Tp+11BsMh7ypQONYJ9SXg1REJlxjw= github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0 h1:3G+4uyOmh4qWkMVZoRt0ELDtlfpObFk13SrsD35cAsk= From 305e55a207371862918f4a36e59db8e11e1f1eb7 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:18 -0400 Subject: [PATCH 0985/1301] go get github.com/aws/aws-sdk-go-v2/service/neptune. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index de466aa2844e..2cfb4d33f2db 100644 --- a/go.mod +++ b/go.mod @@ -176,7 +176,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/mgn v1.36.0 github.com/aws/aws-sdk-go-v2/service/mq v1.32.0 github.com/aws/aws-sdk-go-v2/service/mwaa v1.38.0 - github.com/aws/aws-sdk-go-v2/service/neptune v1.39.0 + github.com/aws/aws-sdk-go-v2/service/neptune v1.40.0 github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0 github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0 github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.1 diff --git a/go.sum b/go.sum index c8afa9dc9a05..0bfce0f182d6 100644 --- a/go.sum +++ b/go.sum @@ -373,8 +373,8 @@ github.com/aws/aws-sdk-go-v2/service/mq v1.32.0 h1:h04Kq2u2B6bDeAmNoxlf9bqtKH3GU github.com/aws/aws-sdk-go-v2/service/mq v1.32.0/go.mod h1:tVSPpsQhalaf+DchZKFeDoohUeNE8dVSFGNRjZrDSQE= github.com/aws/aws-sdk-go-v2/service/mwaa v1.38.0 h1:8ScMT/bvwaGzWE+5zVDxVPgSWaBrSaFZhEIhX7kCOhg= github.com/aws/aws-sdk-go-v2/service/mwaa v1.38.0/go.mod h1:Mi/tghAzRmlNlqFwV/5D0NMLfhrkqSabMxA1wY6dCTw= -github.com/aws/aws-sdk-go-v2/service/neptune v1.39.0 h1:0iRrarRL6MheR0/VctAAubu2GPUPKHCFxtuNmS4Nf8o= -github.com/aws/aws-sdk-go-v2/service/neptune v1.39.0/go.mod h1:XT+KZcW1UpUpT1Tp+11BsMh7ypQONYJ9SXg1REJlxjw= +github.com/aws/aws-sdk-go-v2/service/neptune v1.40.0 h1:G8EHt/6UbzCG4ZvQZP/HHDHApq+zArzKEXMhpYlPhug= +github.com/aws/aws-sdk-go-v2/service/neptune v1.40.0/go.mod h1:lvD4yDK2ULNV+u6h3uVBlGNtcGj157l0e8rcRijqxhQ= github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0 h1:3G+4uyOmh4qWkMVZoRt0ELDtlfpObFk13SrsD35cAsk= github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0/go.mod h1:kkG79+f09Fmee5bohISd+JaieXQRXlfixZLcOikkxXg= github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0 h1:FHl1QPk+MTUjcbGtnNfcVnq5bPkP71Tbzt++qQ/dCnY= From 3a3555aa98a065324b89e3da3298bb6e2330d445 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:20 -0400 Subject: [PATCH 0986/1301] go get github.com/aws/aws-sdk-go-v2/service/neptunegraph. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 2cfb4d33f2db..5da0430dd604 100644 --- a/go.mod +++ b/go.mod @@ -177,7 +177,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/mq v1.32.0 github.com/aws/aws-sdk-go-v2/service/mwaa v1.38.0 github.com/aws/aws-sdk-go-v2/service/neptune v1.40.0 - github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0 + github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.20.0 github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0 github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.1 github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0 diff --git a/go.sum b/go.sum index 0bfce0f182d6..b52dedcaa2a9 100644 --- a/go.sum +++ b/go.sum @@ -375,8 +375,8 @@ github.com/aws/aws-sdk-go-v2/service/mwaa v1.38.0 h1:8ScMT/bvwaGzWE+5zVDxVPgSWaB github.com/aws/aws-sdk-go-v2/service/mwaa v1.38.0/go.mod h1:Mi/tghAzRmlNlqFwV/5D0NMLfhrkqSabMxA1wY6dCTw= github.com/aws/aws-sdk-go-v2/service/neptune v1.40.0 h1:G8EHt/6UbzCG4ZvQZP/HHDHApq+zArzKEXMhpYlPhug= github.com/aws/aws-sdk-go-v2/service/neptune v1.40.0/go.mod h1:lvD4yDK2ULNV+u6h3uVBlGNtcGj157l0e8rcRijqxhQ= -github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0 h1:3G+4uyOmh4qWkMVZoRt0ELDtlfpObFk13SrsD35cAsk= -github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0/go.mod h1:kkG79+f09Fmee5bohISd+JaieXQRXlfixZLcOikkxXg= +github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.20.0 h1:+zQYbnkNrMslzC+4RKJjoENheRA0oyRZWrr1GoaD6hc= +github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.20.0/go.mod h1:uIZJKA3sBDgaXKxORwej5uNIXInMaTtjROVFbhCoGQ4= github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0 h1:FHl1QPk+MTUjcbGtnNfcVnq5bPkP71Tbzt++qQ/dCnY= github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0/go.mod h1:EiHBjTVCeOUX045RTpHUuqrtexp4OtSbMLj+nXiaaHw= github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.1 h1:/hWh9bCgGoSu/9gCbmFGmt/0NJteLCA2fiLFdzWbE1g= From fd53f501ca833ae1466ed067853c403a4cc9e4a3 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:20 -0400 Subject: [PATCH 0987/1301] go get github.com/aws/aws-sdk-go-v2/service/networkfirewall. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5da0430dd604..844178944c3c 100644 --- a/go.mod +++ b/go.mod @@ -178,7 +178,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/mwaa v1.38.0 github.com/aws/aws-sdk-go-v2/service/neptune v1.40.0 github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.20.0 - github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0 + github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.54.0 github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.1 github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0 github.com/aws/aws-sdk-go-v2/service/notifications v1.5.0 diff --git a/go.sum b/go.sum index b52dedcaa2a9..a08a03e03f8f 100644 --- a/go.sum +++ b/go.sum @@ -377,8 +377,8 @@ github.com/aws/aws-sdk-go-v2/service/neptune v1.40.0 h1:G8EHt/6UbzCG4ZvQZP/HHDHA github.com/aws/aws-sdk-go-v2/service/neptune v1.40.0/go.mod h1:lvD4yDK2ULNV+u6h3uVBlGNtcGj157l0e8rcRijqxhQ= github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.20.0 h1:+zQYbnkNrMslzC+4RKJjoENheRA0oyRZWrr1GoaD6hc= github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.20.0/go.mod h1:uIZJKA3sBDgaXKxORwej5uNIXInMaTtjROVFbhCoGQ4= -github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0 h1:FHl1QPk+MTUjcbGtnNfcVnq5bPkP71Tbzt++qQ/dCnY= -github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0/go.mod h1:EiHBjTVCeOUX045RTpHUuqrtexp4OtSbMLj+nXiaaHw= +github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.54.0 h1:5v9hJYt08sME6Pzt7zEn3q7prnBKjjuv6dUzpStvm3I= +github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.54.0/go.mod h1:HKJfDUSWabuQ8Evx8mqmk/nNuL5JmZl5IRNlJ/iR6j4= github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.1 h1:/hWh9bCgGoSu/9gCbmFGmt/0NJteLCA2fiLFdzWbE1g= github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.1/go.mod h1:DRGdwN5NLYVlzoGdtiL5MdMqU0BdFjdWoWhNzwKVm7Y= github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0 h1:dM23haMPsRX6r06zzY7rKskzOnmcAf4u3gQe4/vKM5c= From f0a8422f35a47cae92854876e6e7f30e8da22e5a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:22 -0400 Subject: [PATCH 0988/1301] go get github.com/aws/aws-sdk-go-v2/service/networkmanager. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 844178944c3c..63de8457485a 100644 --- a/go.mod +++ b/go.mod @@ -179,7 +179,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/neptune v1.40.0 github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.20.0 github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.54.0 - github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.1 + github.com/aws/aws-sdk-go-v2/service/networkmanager v1.38.0 github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0 github.com/aws/aws-sdk-go-v2/service/notifications v1.5.0 github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.4.0 diff --git a/go.sum b/go.sum index a08a03e03f8f..4fcf6f4a6c8c 100644 --- a/go.sum +++ b/go.sum @@ -379,8 +379,8 @@ github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.20.0 h1:+zQYbnkNrMslzC+4RKJ github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.20.0/go.mod h1:uIZJKA3sBDgaXKxORwej5uNIXInMaTtjROVFbhCoGQ4= github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.54.0 h1:5v9hJYt08sME6Pzt7zEn3q7prnBKjjuv6dUzpStvm3I= github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.54.0/go.mod h1:HKJfDUSWabuQ8Evx8mqmk/nNuL5JmZl5IRNlJ/iR6j4= -github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.1 h1:/hWh9bCgGoSu/9gCbmFGmt/0NJteLCA2fiLFdzWbE1g= -github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.1/go.mod h1:DRGdwN5NLYVlzoGdtiL5MdMqU0BdFjdWoWhNzwKVm7Y= +github.com/aws/aws-sdk-go-v2/service/networkmanager v1.38.0 h1:Rdh8HWrjiIn7lLugBf3uR9NQoUE0XvOyM8c3I7okBXk= +github.com/aws/aws-sdk-go-v2/service/networkmanager v1.38.0/go.mod h1:bXguklweVIXFjJ05yXJ1Jr5EoOofLT77UOrjYhmW/Qk= github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0 h1:dM23haMPsRX6r06zzY7rKskzOnmcAf4u3gQe4/vKM5c= github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0/go.mod h1:Lh8S1WeO7D8Ns0h1idoyviPIKqgAQcFzZo3VvQ+AgI8= github.com/aws/aws-sdk-go-v2/service/notifications v1.5.0 h1:YifmABeygW8RKZ5NRJlbRXsxWjYrAg7Nxm11htFZqks= From 8979dbcd4a254e012abde79f4cb9ab7e5bd2eb69 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:23 -0400 Subject: [PATCH 0989/1301] go get github.com/aws/aws-sdk-go-v2/service/networkmonitor. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 63de8457485a..bc055c3e03da 100644 --- a/go.mod +++ b/go.mod @@ -180,7 +180,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.20.0 github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.54.0 github.com/aws/aws-sdk-go-v2/service/networkmanager v1.38.0 - github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0 + github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.11.0 github.com/aws/aws-sdk-go-v2/service/notifications v1.5.0 github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.4.0 github.com/aws/aws-sdk-go-v2/service/oam v1.20.0 diff --git a/go.sum b/go.sum index 4fcf6f4a6c8c..ae746278def4 100644 --- a/go.sum +++ b/go.sum @@ -381,8 +381,8 @@ github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.54.0 h1:5v9hJYt08sME6Pzt github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.54.0/go.mod h1:HKJfDUSWabuQ8Evx8mqmk/nNuL5JmZl5IRNlJ/iR6j4= github.com/aws/aws-sdk-go-v2/service/networkmanager v1.38.0 h1:Rdh8HWrjiIn7lLugBf3uR9NQoUE0XvOyM8c3I7okBXk= github.com/aws/aws-sdk-go-v2/service/networkmanager v1.38.0/go.mod h1:bXguklweVIXFjJ05yXJ1Jr5EoOofLT77UOrjYhmW/Qk= -github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0 h1:dM23haMPsRX6r06zzY7rKskzOnmcAf4u3gQe4/vKM5c= -github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0/go.mod h1:Lh8S1WeO7D8Ns0h1idoyviPIKqgAQcFzZo3VvQ+AgI8= +github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.11.0 h1:4RstlGjxjPNGswiVCIPcwck+IH/HulpbaNY+1PA2Sg4= +github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.11.0/go.mod h1:Z3pgjAIFoLaTC2GIBeE4wY31OeTAW7Yu59G+oJHUy+E= github.com/aws/aws-sdk-go-v2/service/notifications v1.5.0 h1:YifmABeygW8RKZ5NRJlbRXsxWjYrAg7Nxm11htFZqks= github.com/aws/aws-sdk-go-v2/service/notifications v1.5.0/go.mod h1:W2ABt0ansVFxchQAfWPN15TpYJ8j57V2l85IWCVLwYc= github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.4.0 h1:5b6bDRKAl7lbowvywEqqxdeON4RzWOP3e93l9V5nTy0= From b48c1e6785c61d53f79292c41bcbf9add11050a8 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:24 -0400 Subject: [PATCH 0990/1301] go get github.com/aws/aws-sdk-go-v2/service/notifications. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index bc055c3e03da..cc16d48d590f 100644 --- a/go.mod +++ b/go.mod @@ -181,7 +181,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.54.0 github.com/aws/aws-sdk-go-v2/service/networkmanager v1.38.0 github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.11.0 - github.com/aws/aws-sdk-go-v2/service/notifications v1.5.0 + github.com/aws/aws-sdk-go-v2/service/notifications v1.6.0 github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.4.0 github.com/aws/aws-sdk-go-v2/service/oam v1.20.0 github.com/aws/aws-sdk-go-v2/service/odb v1.2.0 diff --git a/go.sum b/go.sum index ae746278def4..85b47d80ad88 100644 --- a/go.sum +++ b/go.sum @@ -383,8 +383,8 @@ github.com/aws/aws-sdk-go-v2/service/networkmanager v1.38.0 h1:Rdh8HWrjiIn7lLugB github.com/aws/aws-sdk-go-v2/service/networkmanager v1.38.0/go.mod h1:bXguklweVIXFjJ05yXJ1Jr5EoOofLT77UOrjYhmW/Qk= github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.11.0 h1:4RstlGjxjPNGswiVCIPcwck+IH/HulpbaNY+1PA2Sg4= github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.11.0/go.mod h1:Z3pgjAIFoLaTC2GIBeE4wY31OeTAW7Yu59G+oJHUy+E= -github.com/aws/aws-sdk-go-v2/service/notifications v1.5.0 h1:YifmABeygW8RKZ5NRJlbRXsxWjYrAg7Nxm11htFZqks= -github.com/aws/aws-sdk-go-v2/service/notifications v1.5.0/go.mod h1:W2ABt0ansVFxchQAfWPN15TpYJ8j57V2l85IWCVLwYc= +github.com/aws/aws-sdk-go-v2/service/notifications v1.6.0 h1:oy/Wi6NFXYRg/1wtNNRn2gyEIJGmIon1osvj0E7s1tU= +github.com/aws/aws-sdk-go-v2/service/notifications v1.6.0/go.mod h1:2lcjRCU4jc7gouZFBGJw62bZDtDFy3DRCm9rho+BIVs= github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.4.0 h1:5b6bDRKAl7lbowvywEqqxdeON4RzWOP3e93l9V5nTy0= github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.4.0/go.mod h1:Z6RSoe6VNgsneyA8k2BHoCtPo4Hg6XUyQtxsSFCd7pc= github.com/aws/aws-sdk-go-v2/service/oam v1.20.0 h1:AGZUcqcsU1QR4xi4A4foyeHY5XtmjQQd5+bIDoP3keQ= From b6c25df1d13bb883e5529c0338169eca53c1f9ec Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:25 -0400 Subject: [PATCH 0991/1301] go get github.com/aws/aws-sdk-go-v2/service/notificationscontacts. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index cc16d48d590f..45cf0e19e2c1 100644 --- a/go.mod +++ b/go.mod @@ -182,7 +182,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/networkmanager v1.38.0 github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.11.0 github.com/aws/aws-sdk-go-v2/service/notifications v1.6.0 - github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.4.0 + github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.5.0 github.com/aws/aws-sdk-go-v2/service/oam v1.20.0 github.com/aws/aws-sdk-go-v2/service/odb v1.2.0 github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0 diff --git a/go.sum b/go.sum index 85b47d80ad88..c76e331e3f3e 100644 --- a/go.sum +++ b/go.sum @@ -385,8 +385,8 @@ github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.11.0 h1:4RstlGjxjPNGswiVC github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.11.0/go.mod h1:Z3pgjAIFoLaTC2GIBeE4wY31OeTAW7Yu59G+oJHUy+E= github.com/aws/aws-sdk-go-v2/service/notifications v1.6.0 h1:oy/Wi6NFXYRg/1wtNNRn2gyEIJGmIon1osvj0E7s1tU= github.com/aws/aws-sdk-go-v2/service/notifications v1.6.0/go.mod h1:2lcjRCU4jc7gouZFBGJw62bZDtDFy3DRCm9rho+BIVs= -github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.4.0 h1:5b6bDRKAl7lbowvywEqqxdeON4RzWOP3e93l9V5nTy0= -github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.4.0/go.mod h1:Z6RSoe6VNgsneyA8k2BHoCtPo4Hg6XUyQtxsSFCd7pc= +github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.5.0 h1:cU81jdax5eqhZiEGRxRN5nfKj9Rp6jgHKnIDoRArU3A= +github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.5.0/go.mod h1:ZWRIBbneNn04ltFXrYN6r4j2GvC8KtilEWMRswSB8wQ= github.com/aws/aws-sdk-go-v2/service/oam v1.20.0 h1:AGZUcqcsU1QR4xi4A4foyeHY5XtmjQQd5+bIDoP3keQ= github.com/aws/aws-sdk-go-v2/service/oam v1.20.0/go.mod h1:3D54bBPVQYqvjyX9mC5kGoPyW2vUvpmJoNzlTriumJQ= github.com/aws/aws-sdk-go-v2/service/odb v1.2.0 h1:8EO3R+giEm/zs9KfQ4eBqa4W17bcpGvG7LEBjMjpdVQ= From 3987f8254df4393603125c390b1f428345f2297a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:26 -0400 Subject: [PATCH 0992/1301] go get github.com/aws/aws-sdk-go-v2/service/oam. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 45cf0e19e2c1..cfe27ec852ad 100644 --- a/go.mod +++ b/go.mod @@ -183,7 +183,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.11.0 github.com/aws/aws-sdk-go-v2/service/notifications v1.6.0 github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.5.0 - github.com/aws/aws-sdk-go-v2/service/oam v1.20.0 + github.com/aws/aws-sdk-go-v2/service/oam v1.21.0 github.com/aws/aws-sdk-go-v2/service/odb v1.2.0 github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0 github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.23.0 diff --git a/go.sum b/go.sum index c76e331e3f3e..aeec70122653 100644 --- a/go.sum +++ b/go.sum @@ -387,8 +387,8 @@ github.com/aws/aws-sdk-go-v2/service/notifications v1.6.0 h1:oy/Wi6NFXYRg/1wtNNR github.com/aws/aws-sdk-go-v2/service/notifications v1.6.0/go.mod h1:2lcjRCU4jc7gouZFBGJw62bZDtDFy3DRCm9rho+BIVs= github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.5.0 h1:cU81jdax5eqhZiEGRxRN5nfKj9Rp6jgHKnIDoRArU3A= github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.5.0/go.mod h1:ZWRIBbneNn04ltFXrYN6r4j2GvC8KtilEWMRswSB8wQ= -github.com/aws/aws-sdk-go-v2/service/oam v1.20.0 h1:AGZUcqcsU1QR4xi4A4foyeHY5XtmjQQd5+bIDoP3keQ= -github.com/aws/aws-sdk-go-v2/service/oam v1.20.0/go.mod h1:3D54bBPVQYqvjyX9mC5kGoPyW2vUvpmJoNzlTriumJQ= +github.com/aws/aws-sdk-go-v2/service/oam v1.21.0 h1:S0IoLaOU5NCanjuxRLmf+qjkz8cUnNvaAOOC/zb8c4Y= +github.com/aws/aws-sdk-go-v2/service/oam v1.21.0/go.mod h1:I9L7HVx7wBiIpnt8oV77si3ZqTA8BBCEB7RU3jk8F34= github.com/aws/aws-sdk-go-v2/service/odb v1.2.0 h1:8EO3R+giEm/zs9KfQ4eBqa4W17bcpGvG7LEBjMjpdVQ= github.com/aws/aws-sdk-go-v2/service/odb v1.2.0/go.mod h1:hBGfe5c+UNIxT5X1e7DG9ychYOeYoeGEsyEhHXybRjw= github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0 h1:vWVR6vfZxY0i3IeTP0RSCDuXo+7wDoLpmyAAHMcgnFI= From 270a0a0e3d2f8819d02cdc5c8f574cfbfaccf63d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:27 -0400 Subject: [PATCH 0993/1301] go get github.com/aws/aws-sdk-go-v2/service/odb. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index cfe27ec852ad..61bfbde2c1a4 100644 --- a/go.mod +++ b/go.mod @@ -184,7 +184,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/notifications v1.6.0 github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.5.0 github.com/aws/aws-sdk-go-v2/service/oam v1.21.0 - github.com/aws/aws-sdk-go-v2/service/odb v1.2.0 + github.com/aws/aws-sdk-go-v2/service/odb v1.3.0 github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0 github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.23.0 github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0 diff --git a/go.sum b/go.sum index aeec70122653..d2c576cdf3fd 100644 --- a/go.sum +++ b/go.sum @@ -389,8 +389,8 @@ github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.5.0 h1:cU81jdax5eq github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.5.0/go.mod h1:ZWRIBbneNn04ltFXrYN6r4j2GvC8KtilEWMRswSB8wQ= github.com/aws/aws-sdk-go-v2/service/oam v1.21.0 h1:S0IoLaOU5NCanjuxRLmf+qjkz8cUnNvaAOOC/zb8c4Y= github.com/aws/aws-sdk-go-v2/service/oam v1.21.0/go.mod h1:I9L7HVx7wBiIpnt8oV77si3ZqTA8BBCEB7RU3jk8F34= -github.com/aws/aws-sdk-go-v2/service/odb v1.2.0 h1:8EO3R+giEm/zs9KfQ4eBqa4W17bcpGvG7LEBjMjpdVQ= -github.com/aws/aws-sdk-go-v2/service/odb v1.2.0/go.mod h1:hBGfe5c+UNIxT5X1e7DG9ychYOeYoeGEsyEhHXybRjw= +github.com/aws/aws-sdk-go-v2/service/odb v1.3.0 h1:EDHfy8QUacuK48e3rA99EfrD7z4zSVYz99es2YicD2k= +github.com/aws/aws-sdk-go-v2/service/odb v1.3.0/go.mod h1:MLlHYMY+BRF9keX86rRA1zv4J7O2jIVeooJ3OpHTk/M= github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0 h1:vWVR6vfZxY0i3IeTP0RSCDuXo+7wDoLpmyAAHMcgnFI= github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0/go.mod h1:WO1sqmUu2AMSgpI07AqrL/9kdFTpVl+6BUy69gdQdWE= github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.23.0 h1:6y1oe0p2NPluatYzSWFZ+ZZtlDic75Y71xWPyk99LAk= From 3d671e7f6507b46042127348f9cf77adaf05e5e3 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:28 -0400 Subject: [PATCH 0994/1301] go get github.com/aws/aws-sdk-go-v2/service/opensearch. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 61bfbde2c1a4..f847d036e923 100644 --- a/go.mod +++ b/go.mod @@ -185,7 +185,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.5.0 github.com/aws/aws-sdk-go-v2/service/oam v1.21.0 github.com/aws/aws-sdk-go-v2/service/odb v1.3.0 - github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0 + github.com/aws/aws-sdk-go-v2/service/opensearch v1.51.0 github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.23.0 github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0 github.com/aws/aws-sdk-go-v2/service/osis v1.17.0 diff --git a/go.sum b/go.sum index d2c576cdf3fd..6f9d23e1ceee 100644 --- a/go.sum +++ b/go.sum @@ -391,8 +391,8 @@ github.com/aws/aws-sdk-go-v2/service/oam v1.21.0 h1:S0IoLaOU5NCanjuxRLmf+qjkz8cU github.com/aws/aws-sdk-go-v2/service/oam v1.21.0/go.mod h1:I9L7HVx7wBiIpnt8oV77si3ZqTA8BBCEB7RU3jk8F34= github.com/aws/aws-sdk-go-v2/service/odb v1.3.0 h1:EDHfy8QUacuK48e3rA99EfrD7z4zSVYz99es2YicD2k= github.com/aws/aws-sdk-go-v2/service/odb v1.3.0/go.mod h1:MLlHYMY+BRF9keX86rRA1zv4J7O2jIVeooJ3OpHTk/M= -github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0 h1:vWVR6vfZxY0i3IeTP0RSCDuXo+7wDoLpmyAAHMcgnFI= -github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0/go.mod h1:WO1sqmUu2AMSgpI07AqrL/9kdFTpVl+6BUy69gdQdWE= +github.com/aws/aws-sdk-go-v2/service/opensearch v1.51.0 h1:dxYQ9hDRI/yXFzO3sYT+x3Ss2d8JDf2eX5hyUPHG6fA= +github.com/aws/aws-sdk-go-v2/service/opensearch v1.51.0/go.mod h1:NQvq4ckAgpR9/QqqI5+eWnP6rNlpOVta9udBG9GVHcw= github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.23.0 h1:6y1oe0p2NPluatYzSWFZ+ZZtlDic75Y71xWPyk99LAk= github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.23.0/go.mod h1:HVCHnRUafo3sI/BIycRiTB1QMO/IfsbiMmE2STsW7kM= github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0 h1:lsi8q6BbwvvmTZ2Oz839olZoSbBaupAJEppyOnsBTYQ= From 476dae2f3a983b71e3ad0b4aecd1f7d2609f9f02 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:29 -0400 Subject: [PATCH 0995/1301] go get github.com/aws/aws-sdk-go-v2/service/opensearchserverless. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index f847d036e923..abd7c472e7ee 100644 --- a/go.mod +++ b/go.mod @@ -186,7 +186,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/oam v1.21.0 github.com/aws/aws-sdk-go-v2/service/odb v1.3.0 github.com/aws/aws-sdk-go-v2/service/opensearch v1.51.0 - github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.23.0 + github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.24.0 github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0 github.com/aws/aws-sdk-go-v2/service/osis v1.17.0 github.com/aws/aws-sdk-go-v2/service/outposts v1.54.0 diff --git a/go.sum b/go.sum index 6f9d23e1ceee..98647e8a2b03 100644 --- a/go.sum +++ b/go.sum @@ -393,8 +393,8 @@ github.com/aws/aws-sdk-go-v2/service/odb v1.3.0 h1:EDHfy8QUacuK48e3rA99EfrD7z4zS github.com/aws/aws-sdk-go-v2/service/odb v1.3.0/go.mod h1:MLlHYMY+BRF9keX86rRA1zv4J7O2jIVeooJ3OpHTk/M= github.com/aws/aws-sdk-go-v2/service/opensearch v1.51.0 h1:dxYQ9hDRI/yXFzO3sYT+x3Ss2d8JDf2eX5hyUPHG6fA= github.com/aws/aws-sdk-go-v2/service/opensearch v1.51.0/go.mod h1:NQvq4ckAgpR9/QqqI5+eWnP6rNlpOVta9udBG9GVHcw= -github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.23.0 h1:6y1oe0p2NPluatYzSWFZ+ZZtlDic75Y71xWPyk99LAk= -github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.23.0/go.mod h1:HVCHnRUafo3sI/BIycRiTB1QMO/IfsbiMmE2STsW7kM= +github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.24.0 h1:usR9TyfGyoGq2SK2ksEc3qwpYeBe03rccTj63hUFWKk= +github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.24.0/go.mod h1:anGtuIsRziAehQRV6pPE6LbaGBQ2q1Gg20D3Ixtm4LU= github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0 h1:lsi8q6BbwvvmTZ2Oz839olZoSbBaupAJEppyOnsBTYQ= github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0/go.mod h1:FG8JIT+tCSCQGK04ac7mXLnP0FZUr3tLqoiiRIKRbiQ= github.com/aws/aws-sdk-go-v2/service/osis v1.17.0 h1:nVl7YEWp58Yvr+xIhmB0Uv6gG819eYFIVrW7sSEXXag= From 27c2914481a557955839888f9795c1063cec7e01 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:29 -0400 Subject: [PATCH 0996/1301] go get github.com/aws/aws-sdk-go-v2/service/organizations. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index abd7c472e7ee..75ef61c7b280 100644 --- a/go.mod +++ b/go.mod @@ -187,7 +187,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/odb v1.3.0 github.com/aws/aws-sdk-go-v2/service/opensearch v1.51.0 github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.24.0 - github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0 + github.com/aws/aws-sdk-go-v2/service/organizations v1.42.0 github.com/aws/aws-sdk-go-v2/service/osis v1.17.0 github.com/aws/aws-sdk-go-v2/service/outposts v1.54.0 github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.21.0 diff --git a/go.sum b/go.sum index 98647e8a2b03..c653e2eae51f 100644 --- a/go.sum +++ b/go.sum @@ -395,8 +395,8 @@ github.com/aws/aws-sdk-go-v2/service/opensearch v1.51.0 h1:dxYQ9hDRI/yXFzO3sYT+x github.com/aws/aws-sdk-go-v2/service/opensearch v1.51.0/go.mod h1:NQvq4ckAgpR9/QqqI5+eWnP6rNlpOVta9udBG9GVHcw= github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.24.0 h1:usR9TyfGyoGq2SK2ksEc3qwpYeBe03rccTj63hUFWKk= github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.24.0/go.mod h1:anGtuIsRziAehQRV6pPE6LbaGBQ2q1Gg20D3Ixtm4LU= -github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0 h1:lsi8q6BbwvvmTZ2Oz839olZoSbBaupAJEppyOnsBTYQ= -github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0/go.mod h1:FG8JIT+tCSCQGK04ac7mXLnP0FZUr3tLqoiiRIKRbiQ= +github.com/aws/aws-sdk-go-v2/service/organizations v1.42.0 h1:n2mB6r/G1HNg1XIX1db2YVTve2IkGNJc7FjTFsvEXfU= +github.com/aws/aws-sdk-go-v2/service/organizations v1.42.0/go.mod h1:DbK1D8dgPVhcX1eNASHk5Q9C+N58RFw5PvN+2osa+Ws= github.com/aws/aws-sdk-go-v2/service/osis v1.17.0 h1:nVl7YEWp58Yvr+xIhmB0Uv6gG819eYFIVrW7sSEXXag= github.com/aws/aws-sdk-go-v2/service/osis v1.17.0/go.mod h1:XC+s07X9mHnIkFCbyUetdnnsXq5JAk3euhAkPQLP8No= github.com/aws/aws-sdk-go-v2/service/outposts v1.54.0 h1:8ZaAYen5L9x5f39dUL0VTZqZxhPvSSgqVeAiJBxIhyI= From f181af3056042670a03bf140694d4c1fee764a40 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:30 -0400 Subject: [PATCH 0997/1301] go get github.com/aws/aws-sdk-go-v2/service/osis. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 75ef61c7b280..0f0af9e616e5 100644 --- a/go.mod +++ b/go.mod @@ -188,7 +188,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/opensearch v1.51.0 github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.24.0 github.com/aws/aws-sdk-go-v2/service/organizations v1.42.0 - github.com/aws/aws-sdk-go-v2/service/osis v1.17.0 + github.com/aws/aws-sdk-go-v2/service/osis v1.18.0 github.com/aws/aws-sdk-go-v2/service/outposts v1.54.0 github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.21.0 github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.13.0 diff --git a/go.sum b/go.sum index c653e2eae51f..c03ca059b10f 100644 --- a/go.sum +++ b/go.sum @@ -397,8 +397,8 @@ github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.24.0 h1:usR9TyfGyoG github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.24.0/go.mod h1:anGtuIsRziAehQRV6pPE6LbaGBQ2q1Gg20D3Ixtm4LU= github.com/aws/aws-sdk-go-v2/service/organizations v1.42.0 h1:n2mB6r/G1HNg1XIX1db2YVTve2IkGNJc7FjTFsvEXfU= github.com/aws/aws-sdk-go-v2/service/organizations v1.42.0/go.mod h1:DbK1D8dgPVhcX1eNASHk5Q9C+N58RFw5PvN+2osa+Ws= -github.com/aws/aws-sdk-go-v2/service/osis v1.17.0 h1:nVl7YEWp58Yvr+xIhmB0Uv6gG819eYFIVrW7sSEXXag= -github.com/aws/aws-sdk-go-v2/service/osis v1.17.0/go.mod h1:XC+s07X9mHnIkFCbyUetdnnsXq5JAk3euhAkPQLP8No= +github.com/aws/aws-sdk-go-v2/service/osis v1.18.0 h1:71GQ3yQ1sGjXsAOBso7nVLCLJrCoDQP1IhYbQciMpFk= +github.com/aws/aws-sdk-go-v2/service/osis v1.18.0/go.mod h1:O3bVtO289aQvaGA56/SPbLeoEBvkbr1BerS/A94Xeik= github.com/aws/aws-sdk-go-v2/service/outposts v1.54.0 h1:8ZaAYen5L9x5f39dUL0VTZqZxhPvSSgqVeAiJBxIhyI= github.com/aws/aws-sdk-go-v2/service/outposts v1.54.0/go.mod h1:vY1UGGY5/OVqeJarn/SdEBpt1iG5bZwDSd9ZyKHpdkA= github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.21.0 h1:SXwcY2aJHH94ml1IDB3nI5OEP354jRrE7l291J31Ysk= From 012a0d7f39e0659fb348553205b9d48f652db144 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:31 -0400 Subject: [PATCH 0998/1301] go get github.com/aws/aws-sdk-go-v2/service/outposts. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 0f0af9e616e5..47c46dd17b8d 100644 --- a/go.mod +++ b/go.mod @@ -189,7 +189,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.24.0 github.com/aws/aws-sdk-go-v2/service/organizations v1.42.0 github.com/aws/aws-sdk-go-v2/service/osis v1.18.0 - github.com/aws/aws-sdk-go-v2/service/outposts v1.54.0 + github.com/aws/aws-sdk-go-v2/service/outposts v1.55.0 github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.21.0 github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.13.0 github.com/aws/aws-sdk-go-v2/service/pcs v1.9.0 diff --git a/go.sum b/go.sum index c03ca059b10f..2bb3fc6485f2 100644 --- a/go.sum +++ b/go.sum @@ -399,8 +399,8 @@ github.com/aws/aws-sdk-go-v2/service/organizations v1.42.0 h1:n2mB6r/G1HNg1XIX1d github.com/aws/aws-sdk-go-v2/service/organizations v1.42.0/go.mod h1:DbK1D8dgPVhcX1eNASHk5Q9C+N58RFw5PvN+2osa+Ws= github.com/aws/aws-sdk-go-v2/service/osis v1.18.0 h1:71GQ3yQ1sGjXsAOBso7nVLCLJrCoDQP1IhYbQciMpFk= github.com/aws/aws-sdk-go-v2/service/osis v1.18.0/go.mod h1:O3bVtO289aQvaGA56/SPbLeoEBvkbr1BerS/A94Xeik= -github.com/aws/aws-sdk-go-v2/service/outposts v1.54.0 h1:8ZaAYen5L9x5f39dUL0VTZqZxhPvSSgqVeAiJBxIhyI= -github.com/aws/aws-sdk-go-v2/service/outposts v1.54.0/go.mod h1:vY1UGGY5/OVqeJarn/SdEBpt1iG5bZwDSd9ZyKHpdkA= +github.com/aws/aws-sdk-go-v2/service/outposts v1.55.0 h1:PlpUSiYutFa6aEeRrQYUo8zomTuAx5oXxjwrZ/XZH+8= +github.com/aws/aws-sdk-go-v2/service/outposts v1.55.0/go.mod h1:3pSTlomz+DwHpKcE9mN+kOdPCMZyj1O2C/0tvPbSzKM= github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.21.0 h1:SXwcY2aJHH94ml1IDB3nI5OEP354jRrE7l291J31Ysk= github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.21.0/go.mod h1:t9pbgPWLNsys/dSf1FX/0dOFRzYZIM3kBpUpHhXPc3M= github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.13.0 h1:Q1t6E3yautudrcIpwakAoKv26PAJyW6Ig/cIUQDDHNw= From 454adb87e9288045427907afd1824aa038c68139 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:33 -0400 Subject: [PATCH 0999/1301] go get github.com/aws/aws-sdk-go-v2/service/paymentcryptography. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 47c46dd17b8d..3c513544f5eb 100644 --- a/go.mod +++ b/go.mod @@ -190,7 +190,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/organizations v1.42.0 github.com/aws/aws-sdk-go-v2/service/osis v1.18.0 github.com/aws/aws-sdk-go-v2/service/outposts v1.55.0 - github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.21.0 + github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.22.0 github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.13.0 github.com/aws/aws-sdk-go-v2/service/pcs v1.9.0 github.com/aws/aws-sdk-go-v2/service/pinpoint v1.37.0 diff --git a/go.sum b/go.sum index 2bb3fc6485f2..23f7550762c6 100644 --- a/go.sum +++ b/go.sum @@ -401,8 +401,8 @@ github.com/aws/aws-sdk-go-v2/service/osis v1.18.0 h1:71GQ3yQ1sGjXsAOBso7nVLCLJrC github.com/aws/aws-sdk-go-v2/service/osis v1.18.0/go.mod h1:O3bVtO289aQvaGA56/SPbLeoEBvkbr1BerS/A94Xeik= github.com/aws/aws-sdk-go-v2/service/outposts v1.55.0 h1:PlpUSiYutFa6aEeRrQYUo8zomTuAx5oXxjwrZ/XZH+8= github.com/aws/aws-sdk-go-v2/service/outposts v1.55.0/go.mod h1:3pSTlomz+DwHpKcE9mN+kOdPCMZyj1O2C/0tvPbSzKM= -github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.21.0 h1:SXwcY2aJHH94ml1IDB3nI5OEP354jRrE7l291J31Ysk= -github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.21.0/go.mod h1:t9pbgPWLNsys/dSf1FX/0dOFRzYZIM3kBpUpHhXPc3M= +github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.22.0 h1:VOGIH/MtfO0aIDRuCllgzlakSqzA66W5Yc2FHatgfuE= +github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.22.0/go.mod h1:sAThYxAnlQ/hkntlxj/KcD/8T0rShXIx0xA42eMiJe0= github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.13.0 h1:Q1t6E3yautudrcIpwakAoKv26PAJyW6Ig/cIUQDDHNw= github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.13.0/go.mod h1:SsEJc0U74aARkZh0N6LWwCMQ09fKS5an4zCA5vnWMAY= github.com/aws/aws-sdk-go-v2/service/pcs v1.9.0 h1:p4b4SNco5g62xo/5MvMpDOflVRPW71QvNs2sr/fCNlM= From 8fe7b1dfb166fcef918837cc9f93b723c9caf9dd Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:34 -0400 Subject: [PATCH 1000/1301] go get github.com/aws/aws-sdk-go-v2/service/pcaconnectorad. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 3c513544f5eb..4533a0278120 100644 --- a/go.mod +++ b/go.mod @@ -191,7 +191,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/osis v1.18.0 github.com/aws/aws-sdk-go-v2/service/outposts v1.55.0 github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.22.0 - github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.13.0 + github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.14.0 github.com/aws/aws-sdk-go-v2/service/pcs v1.9.0 github.com/aws/aws-sdk-go-v2/service/pinpoint v1.37.0 github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.22.0 diff --git a/go.sum b/go.sum index 23f7550762c6..68e149abd093 100644 --- a/go.sum +++ b/go.sum @@ -403,8 +403,8 @@ github.com/aws/aws-sdk-go-v2/service/outposts v1.55.0 h1:PlpUSiYutFa6aEeRrQYUo8z github.com/aws/aws-sdk-go-v2/service/outposts v1.55.0/go.mod h1:3pSTlomz+DwHpKcE9mN+kOdPCMZyj1O2C/0tvPbSzKM= github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.22.0 h1:VOGIH/MtfO0aIDRuCllgzlakSqzA66W5Yc2FHatgfuE= github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.22.0/go.mod h1:sAThYxAnlQ/hkntlxj/KcD/8T0rShXIx0xA42eMiJe0= -github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.13.0 h1:Q1t6E3yautudrcIpwakAoKv26PAJyW6Ig/cIUQDDHNw= -github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.13.0/go.mod h1:SsEJc0U74aARkZh0N6LWwCMQ09fKS5an4zCA5vnWMAY= +github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.14.0 h1:IlYnE1ZfFKisSY2tOp6jgKBXZoNIfhHPYzBDPfwmY/0= +github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.14.0/go.mod h1:eVYoJ/sxF8Zc3DEo+O3CNpCuEYutm16FB0vAtFLaGgk= github.com/aws/aws-sdk-go-v2/service/pcs v1.9.0 h1:p4b4SNco5g62xo/5MvMpDOflVRPW71QvNs2sr/fCNlM= github.com/aws/aws-sdk-go-v2/service/pcs v1.9.0/go.mod h1:JDqZ9JPioPhoEHMzvqs7N6/YPP+lj3HfS5r3obaMP+Q= github.com/aws/aws-sdk-go-v2/service/pinpoint v1.37.0 h1:iblCKYZgkaT8MOFkXE45PP2vpkt/owgF/NKDuFW5QSk= From cbf8fd5795f99458c818d0aa5bd564ce619be487 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:35 -0400 Subject: [PATCH 1001/1301] go get github.com/aws/aws-sdk-go-v2/service/pcs. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 4533a0278120..54c7c7120cc1 100644 --- a/go.mod +++ b/go.mod @@ -192,7 +192,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/outposts v1.55.0 github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.22.0 github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.14.0 - github.com/aws/aws-sdk-go-v2/service/pcs v1.9.0 + github.com/aws/aws-sdk-go-v2/service/pcs v1.10.0 github.com/aws/aws-sdk-go-v2/service/pinpoint v1.37.0 github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.22.0 github.com/aws/aws-sdk-go-v2/service/pipes v1.21.0 diff --git a/go.sum b/go.sum index 68e149abd093..94284e9f078b 100644 --- a/go.sum +++ b/go.sum @@ -405,8 +405,8 @@ github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.22.0 h1:VOGIH/MtfO0a github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.22.0/go.mod h1:sAThYxAnlQ/hkntlxj/KcD/8T0rShXIx0xA42eMiJe0= github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.14.0 h1:IlYnE1ZfFKisSY2tOp6jgKBXZoNIfhHPYzBDPfwmY/0= github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.14.0/go.mod h1:eVYoJ/sxF8Zc3DEo+O3CNpCuEYutm16FB0vAtFLaGgk= -github.com/aws/aws-sdk-go-v2/service/pcs v1.9.0 h1:p4b4SNco5g62xo/5MvMpDOflVRPW71QvNs2sr/fCNlM= -github.com/aws/aws-sdk-go-v2/service/pcs v1.9.0/go.mod h1:JDqZ9JPioPhoEHMzvqs7N6/YPP+lj3HfS5r3obaMP+Q= +github.com/aws/aws-sdk-go-v2/service/pcs v1.10.0 h1:SbogIySzcA7/kKxW1jyKq9w3xOlwIvPuNZArUqaDpbM= +github.com/aws/aws-sdk-go-v2/service/pcs v1.10.0/go.mod h1:B7H2wug0rXya8R4w8u2gw+NvbPjd/3W/28dCkpYUmaE= github.com/aws/aws-sdk-go-v2/service/pinpoint v1.37.0 h1:iblCKYZgkaT8MOFkXE45PP2vpkt/owgF/NKDuFW5QSk= github.com/aws/aws-sdk-go-v2/service/pinpoint v1.37.0/go.mod h1:vvYqVkfExLWmdIuCBSVVnyRpOtoNArWFeLAtdACABJU= github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.22.0 h1:yzCebSsGUtm2b0ydoCV/P4pPgyPnGrZbREr4SqbMYI4= From 7a0f4776f3795e11fd26248acc71f28d99f65c9c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:36 -0400 Subject: [PATCH 1002/1301] go get github.com/aws/aws-sdk-go-v2/service/pinpoint. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 54c7c7120cc1..dc39e428dedc 100644 --- a/go.mod +++ b/go.mod @@ -193,7 +193,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.22.0 github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.14.0 github.com/aws/aws-sdk-go-v2/service/pcs v1.10.0 - github.com/aws/aws-sdk-go-v2/service/pinpoint v1.37.0 + github.com/aws/aws-sdk-go-v2/service/pinpoint v1.38.0 github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.22.0 github.com/aws/aws-sdk-go-v2/service/pipes v1.21.0 github.com/aws/aws-sdk-go-v2/service/polly v1.50.0 diff --git a/go.sum b/go.sum index 94284e9f078b..d1ad1008652b 100644 --- a/go.sum +++ b/go.sum @@ -407,8 +407,8 @@ github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.14.0 h1:IlYnE1ZfFKisSY2tO github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.14.0/go.mod h1:eVYoJ/sxF8Zc3DEo+O3CNpCuEYutm16FB0vAtFLaGgk= github.com/aws/aws-sdk-go-v2/service/pcs v1.10.0 h1:SbogIySzcA7/kKxW1jyKq9w3xOlwIvPuNZArUqaDpbM= github.com/aws/aws-sdk-go-v2/service/pcs v1.10.0/go.mod h1:B7H2wug0rXya8R4w8u2gw+NvbPjd/3W/28dCkpYUmaE= -github.com/aws/aws-sdk-go-v2/service/pinpoint v1.37.0 h1:iblCKYZgkaT8MOFkXE45PP2vpkt/owgF/NKDuFW5QSk= -github.com/aws/aws-sdk-go-v2/service/pinpoint v1.37.0/go.mod h1:vvYqVkfExLWmdIuCBSVVnyRpOtoNArWFeLAtdACABJU= +github.com/aws/aws-sdk-go-v2/service/pinpoint v1.38.0 h1:2N2oZEWjjUWpqqOSNEgpd63ETgtp8UHFhMACk7ByM2I= +github.com/aws/aws-sdk-go-v2/service/pinpoint v1.38.0/go.mod h1:i3U6njVpG1uB9l9ueSttsU4+0NdH8V0U8QKjNdMvdUM= github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.22.0 h1:yzCebSsGUtm2b0ydoCV/P4pPgyPnGrZbREr4SqbMYI4= github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.22.0/go.mod h1:kun/un0OGKu3X40RldUHcOVAZ1esJh+UQ2Ygfscvxfs= github.com/aws/aws-sdk-go-v2/service/pipes v1.21.0 h1:5G5fh9qKLjEo28aBdSm8kXdHhILG8n4XmZINTJoz2UM= From 1334a5ccb5792bac72fcebffe260654e53918b79 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:37 -0400 Subject: [PATCH 1003/1301] go get github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index dc39e428dedc..b4ded26d2b12 100644 --- a/go.mod +++ b/go.mod @@ -194,7 +194,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.14.0 github.com/aws/aws-sdk-go-v2/service/pcs v1.10.0 github.com/aws/aws-sdk-go-v2/service/pinpoint v1.38.0 - github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.22.0 + github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.23.0 github.com/aws/aws-sdk-go-v2/service/pipes v1.21.0 github.com/aws/aws-sdk-go-v2/service/polly v1.50.0 github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0 diff --git a/go.sum b/go.sum index d1ad1008652b..1bdceb7a6024 100644 --- a/go.sum +++ b/go.sum @@ -409,8 +409,8 @@ github.com/aws/aws-sdk-go-v2/service/pcs v1.10.0 h1:SbogIySzcA7/kKxW1jyKq9w3xOlw github.com/aws/aws-sdk-go-v2/service/pcs v1.10.0/go.mod h1:B7H2wug0rXya8R4w8u2gw+NvbPjd/3W/28dCkpYUmaE= github.com/aws/aws-sdk-go-v2/service/pinpoint v1.38.0 h1:2N2oZEWjjUWpqqOSNEgpd63ETgtp8UHFhMACk7ByM2I= github.com/aws/aws-sdk-go-v2/service/pinpoint v1.38.0/go.mod h1:i3U6njVpG1uB9l9ueSttsU4+0NdH8V0U8QKjNdMvdUM= -github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.22.0 h1:yzCebSsGUtm2b0ydoCV/P4pPgyPnGrZbREr4SqbMYI4= -github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.22.0/go.mod h1:kun/un0OGKu3X40RldUHcOVAZ1esJh+UQ2Ygfscvxfs= +github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.23.0 h1:BtpUqF+QdW6NYowWLd9LYYKO+cwxMpb1XpSYX6a8dMg= +github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.23.0/go.mod h1:SMXXR2N0zJmYAjJazRlfNSKCV4ei228xhFO+ZoqXH7w= github.com/aws/aws-sdk-go-v2/service/pipes v1.21.0 h1:5G5fh9qKLjEo28aBdSm8kXdHhILG8n4XmZINTJoz2UM= github.com/aws/aws-sdk-go-v2/service/pipes v1.21.0/go.mod h1:x9qPwjCG2xU8z6NPhOof1lKCtftMLRI33kW+F4V41eA= github.com/aws/aws-sdk-go-v2/service/polly v1.50.0 h1:/Ko6i/+k+0uCk4r+QWxNos2Ud5rdYfhhOa7H91YGP9c= From 08c90f892a6cfd20f54297874a47170e5e2e6809 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:38 -0400 Subject: [PATCH 1004/1301] go get github.com/aws/aws-sdk-go-v2/service/pipes. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b4ded26d2b12..b3d9198aa482 100644 --- a/go.mod +++ b/go.mod @@ -195,7 +195,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/pcs v1.10.0 github.com/aws/aws-sdk-go-v2/service/pinpoint v1.38.0 github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.23.0 - github.com/aws/aws-sdk-go-v2/service/pipes v1.21.0 + github.com/aws/aws-sdk-go-v2/service/pipes v1.22.0 github.com/aws/aws-sdk-go-v2/service/polly v1.50.0 github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0 github.com/aws/aws-sdk-go-v2/service/qbusiness v1.31.0 diff --git a/go.sum b/go.sum index 1bdceb7a6024..b91d7438dacc 100644 --- a/go.sum +++ b/go.sum @@ -411,8 +411,8 @@ github.com/aws/aws-sdk-go-v2/service/pinpoint v1.38.0 h1:2N2oZEWjjUWpqqOSNEgpd63 github.com/aws/aws-sdk-go-v2/service/pinpoint v1.38.0/go.mod h1:i3U6njVpG1uB9l9ueSttsU4+0NdH8V0U8QKjNdMvdUM= github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.23.0 h1:BtpUqF+QdW6NYowWLd9LYYKO+cwxMpb1XpSYX6a8dMg= github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.23.0/go.mod h1:SMXXR2N0zJmYAjJazRlfNSKCV4ei228xhFO+ZoqXH7w= -github.com/aws/aws-sdk-go-v2/service/pipes v1.21.0 h1:5G5fh9qKLjEo28aBdSm8kXdHhILG8n4XmZINTJoz2UM= -github.com/aws/aws-sdk-go-v2/service/pipes v1.21.0/go.mod h1:x9qPwjCG2xU8z6NPhOof1lKCtftMLRI33kW+F4V41eA= +github.com/aws/aws-sdk-go-v2/service/pipes v1.22.0 h1:kjP4uojcr0zt3Xon5cuEWf95wDNZ2a3D9EWP1l2mYE4= +github.com/aws/aws-sdk-go-v2/service/pipes v1.22.0/go.mod h1:1AhqeD/xOF18b3v19C3p0gJigmQ52Kxe/Fifijwqtlo= github.com/aws/aws-sdk-go-v2/service/polly v1.50.0 h1:/Ko6i/+k+0uCk4r+QWxNos2Ud5rdYfhhOa7H91YGP9c= github.com/aws/aws-sdk-go-v2/service/polly v1.50.0/go.mod h1:M1YMwzU5ZvAvHSGYP0tehS+ZyugVNN/iOVs8qtkBDZc= github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0 h1:zpM/q6rXnv8qt4DCnMmGY9sDQgzi8TDsIK6Px2pEYss= From 05a819ad54668112ab61d35a3bc1e2aa8230d93a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:39 -0400 Subject: [PATCH 1005/1301] go get github.com/aws/aws-sdk-go-v2/service/polly. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b3d9198aa482..421ccc688e2b 100644 --- a/go.mod +++ b/go.mod @@ -196,7 +196,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/pinpoint v1.38.0 github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.23.0 github.com/aws/aws-sdk-go-v2/service/pipes v1.22.0 - github.com/aws/aws-sdk-go-v2/service/polly v1.50.0 + github.com/aws/aws-sdk-go-v2/service/polly v1.51.0 github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0 github.com/aws/aws-sdk-go-v2/service/qbusiness v1.31.0 github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0 diff --git a/go.sum b/go.sum index b91d7438dacc..fdebec381241 100644 --- a/go.sum +++ b/go.sum @@ -413,8 +413,8 @@ github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.23.0 h1:BtpUqF+QdW6NY github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.23.0/go.mod h1:SMXXR2N0zJmYAjJazRlfNSKCV4ei228xhFO+ZoqXH7w= github.com/aws/aws-sdk-go-v2/service/pipes v1.22.0 h1:kjP4uojcr0zt3Xon5cuEWf95wDNZ2a3D9EWP1l2mYE4= github.com/aws/aws-sdk-go-v2/service/pipes v1.22.0/go.mod h1:1AhqeD/xOF18b3v19C3p0gJigmQ52Kxe/Fifijwqtlo= -github.com/aws/aws-sdk-go-v2/service/polly v1.50.0 h1:/Ko6i/+k+0uCk4r+QWxNos2Ud5rdYfhhOa7H91YGP9c= -github.com/aws/aws-sdk-go-v2/service/polly v1.50.0/go.mod h1:M1YMwzU5ZvAvHSGYP0tehS+ZyugVNN/iOVs8qtkBDZc= +github.com/aws/aws-sdk-go-v2/service/polly v1.51.0 h1:/ArRJKD83NVXj+9OAfZEahwvHkSSqPfTYx0ThC/XsAI= +github.com/aws/aws-sdk-go-v2/service/polly v1.51.0/go.mod h1:S4iYoRxJQK+7h0jBi6fiUW9JyW8adhtoXW5mEc0qzhU= github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0 h1:zpM/q6rXnv8qt4DCnMmGY9sDQgzi8TDsIK6Px2pEYss= github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0/go.mod h1:i1FZ0Fod5/f8GgwlEJYKrniHDzKY+CTpKGZbkNNUv8s= github.com/aws/aws-sdk-go-v2/service/qbusiness v1.31.0 h1:Htjnv26PAKw1GZ5DV3hMzKwtIjibF+zkguuO8318YI8= From 2bc91d3ce52e7f198a0223f610fe4d4a35153340 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:39 -0400 Subject: [PATCH 1006/1301] go get github.com/aws/aws-sdk-go-v2/service/pricing. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 421ccc688e2b..21a058f5a17c 100644 --- a/go.mod +++ b/go.mod @@ -197,7 +197,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.23.0 github.com/aws/aws-sdk-go-v2/service/pipes v1.22.0 github.com/aws/aws-sdk-go-v2/service/polly v1.51.0 - github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0 + github.com/aws/aws-sdk-go-v2/service/pricing v1.38.0 github.com/aws/aws-sdk-go-v2/service/qbusiness v1.31.0 github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0 github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0 diff --git a/go.sum b/go.sum index fdebec381241..ea5edfcce3c1 100644 --- a/go.sum +++ b/go.sum @@ -415,8 +415,8 @@ github.com/aws/aws-sdk-go-v2/service/pipes v1.22.0 h1:kjP4uojcr0zt3Xon5cuEWf95wD github.com/aws/aws-sdk-go-v2/service/pipes v1.22.0/go.mod h1:1AhqeD/xOF18b3v19C3p0gJigmQ52Kxe/Fifijwqtlo= github.com/aws/aws-sdk-go-v2/service/polly v1.51.0 h1:/ArRJKD83NVXj+9OAfZEahwvHkSSqPfTYx0ThC/XsAI= github.com/aws/aws-sdk-go-v2/service/polly v1.51.0/go.mod h1:S4iYoRxJQK+7h0jBi6fiUW9JyW8adhtoXW5mEc0qzhU= -github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0 h1:zpM/q6rXnv8qt4DCnMmGY9sDQgzi8TDsIK6Px2pEYss= -github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0/go.mod h1:i1FZ0Fod5/f8GgwlEJYKrniHDzKY+CTpKGZbkNNUv8s= +github.com/aws/aws-sdk-go-v2/service/pricing v1.38.0 h1:WjynubA3yutEkbjZtzgNXAMhndGWraS2g5W9TXdtBhY= +github.com/aws/aws-sdk-go-v2/service/pricing v1.38.0/go.mod h1:6XKuQQSJAmFkNQ+6JxygxJw1rjbS4AMJ998ZvQAMGhI= github.com/aws/aws-sdk-go-v2/service/qbusiness v1.31.0 h1:Htjnv26PAKw1GZ5DV3hMzKwtIjibF+zkguuO8318YI8= github.com/aws/aws-sdk-go-v2/service/qbusiness v1.31.0/go.mod h1:QE7cNn5zN0YDL/6KkqzX19kbBRQhK02OwfFZeCL55n4= github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0 h1:dDMYSGq/6QkySf70y+o7uFTI2jXrfGUVBJpip1n27XI= From d18a967970415d295cb3bf9d4cb95b9f3533212b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:41 -0400 Subject: [PATCH 1007/1301] go get github.com/aws/aws-sdk-go-v2/service/qbusiness. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 21a058f5a17c..d4c92507bc8c 100644 --- a/go.mod +++ b/go.mod @@ -198,7 +198,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/pipes v1.22.0 github.com/aws/aws-sdk-go-v2/service/polly v1.51.0 github.com/aws/aws-sdk-go-v2/service/pricing v1.38.0 - github.com/aws/aws-sdk-go-v2/service/qbusiness v1.31.0 + github.com/aws/aws-sdk-go-v2/service/qbusiness v1.32.0 github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0 github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0 github.com/aws/aws-sdk-go-v2/service/ram v1.32.0 diff --git a/go.sum b/go.sum index ea5edfcce3c1..db31c4098126 100644 --- a/go.sum +++ b/go.sum @@ -417,8 +417,8 @@ github.com/aws/aws-sdk-go-v2/service/polly v1.51.0 h1:/ArRJKD83NVXj+9OAfZEahwvHk github.com/aws/aws-sdk-go-v2/service/polly v1.51.0/go.mod h1:S4iYoRxJQK+7h0jBi6fiUW9JyW8adhtoXW5mEc0qzhU= github.com/aws/aws-sdk-go-v2/service/pricing v1.38.0 h1:WjynubA3yutEkbjZtzgNXAMhndGWraS2g5W9TXdtBhY= github.com/aws/aws-sdk-go-v2/service/pricing v1.38.0/go.mod h1:6XKuQQSJAmFkNQ+6JxygxJw1rjbS4AMJ998ZvQAMGhI= -github.com/aws/aws-sdk-go-v2/service/qbusiness v1.31.0 h1:Htjnv26PAKw1GZ5DV3hMzKwtIjibF+zkguuO8318YI8= -github.com/aws/aws-sdk-go-v2/service/qbusiness v1.31.0/go.mod h1:QE7cNn5zN0YDL/6KkqzX19kbBRQhK02OwfFZeCL55n4= +github.com/aws/aws-sdk-go-v2/service/qbusiness v1.32.0 h1:j2UihqELKZYVxUXtEJ/ANG+L4zyejh4B9K6Hc7ZzW/8= +github.com/aws/aws-sdk-go-v2/service/qbusiness v1.32.0/go.mod h1:Sjk/KzOJtKspO7hmHvT/oHZw5AtX1tsmbI0WAbrNu6E= github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0 h1:dDMYSGq/6QkySf70y+o7uFTI2jXrfGUVBJpip1n27XI= github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0/go.mod h1:cMl4sBdwqdM8xQal4Sm1IiA9gIgFO9ZhvxL0qd6TH24= github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0 h1:UmX69w9sT2swoojDQY9VlUObHjUh27PyFUCK98b8RcY= From 9614dea1a1b08c704fd8cccd75ef089decd1ab33 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:42 -0400 Subject: [PATCH 1008/1301] go get github.com/aws/aws-sdk-go-v2/service/qldb. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d4c92507bc8c..22787ad2e361 100644 --- a/go.mod +++ b/go.mod @@ -199,7 +199,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/polly v1.51.0 github.com/aws/aws-sdk-go-v2/service/pricing v1.38.0 github.com/aws/aws-sdk-go-v2/service/qbusiness v1.32.0 - github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0 + github.com/aws/aws-sdk-go-v2/service/qldb v1.29.0 github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0 github.com/aws/aws-sdk-go-v2/service/ram v1.32.0 github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0 diff --git a/go.sum b/go.sum index db31c4098126..13059230afa0 100644 --- a/go.sum +++ b/go.sum @@ -419,8 +419,8 @@ github.com/aws/aws-sdk-go-v2/service/pricing v1.38.0 h1:WjynubA3yutEkbjZtzgNXAMh github.com/aws/aws-sdk-go-v2/service/pricing v1.38.0/go.mod h1:6XKuQQSJAmFkNQ+6JxygxJw1rjbS4AMJ998ZvQAMGhI= github.com/aws/aws-sdk-go-v2/service/qbusiness v1.32.0 h1:j2UihqELKZYVxUXtEJ/ANG+L4zyejh4B9K6Hc7ZzW/8= github.com/aws/aws-sdk-go-v2/service/qbusiness v1.32.0/go.mod h1:Sjk/KzOJtKspO7hmHvT/oHZw5AtX1tsmbI0WAbrNu6E= -github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0 h1:dDMYSGq/6QkySf70y+o7uFTI2jXrfGUVBJpip1n27XI= -github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0/go.mod h1:cMl4sBdwqdM8xQal4Sm1IiA9gIgFO9ZhvxL0qd6TH24= +github.com/aws/aws-sdk-go-v2/service/qldb v1.29.0 h1:z8hxRH/lXSN0oWjvYyuxeAHIEOX2mP4m3QqbJgNZw2g= +github.com/aws/aws-sdk-go-v2/service/qldb v1.29.0/go.mod h1:eBVhzKjNK//VOPAetMab3jT/njEna4DKLvlK+dcJfLA= github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0 h1:UmX69w9sT2swoojDQY9VlUObHjUh27PyFUCK98b8RcY= github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0/go.mod h1:giBYbL9xfVEcGSMmvnynNB8Em78y8UKpnrgUZ1ulV/U= github.com/aws/aws-sdk-go-v2/service/ram v1.32.0 h1:G+68C4zK76iUFgJhkipUKRWh2HLLtRnDTZapiOfJdhA= From e47e1c8d28a1d2b4f5c8a832a110b96eba0f73c1 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:43 -0400 Subject: [PATCH 1009/1301] go get github.com/aws/aws-sdk-go-v2/service/quicksight. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 22787ad2e361..8b6490307454 100644 --- a/go.mod +++ b/go.mod @@ -200,7 +200,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/pricing v1.38.0 github.com/aws/aws-sdk-go-v2/service/qbusiness v1.32.0 github.com/aws/aws-sdk-go-v2/service/qldb v1.29.0 - github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0 + github.com/aws/aws-sdk-go-v2/service/quicksight v1.92.0 github.com/aws/aws-sdk-go-v2/service/ram v1.32.0 github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0 github.com/aws/aws-sdk-go-v2/service/rds v1.102.0 diff --git a/go.sum b/go.sum index 13059230afa0..0d5da27d8cd4 100644 --- a/go.sum +++ b/go.sum @@ -421,8 +421,8 @@ github.com/aws/aws-sdk-go-v2/service/qbusiness v1.32.0 h1:j2UihqELKZYVxUXtEJ/ANG github.com/aws/aws-sdk-go-v2/service/qbusiness v1.32.0/go.mod h1:Sjk/KzOJtKspO7hmHvT/oHZw5AtX1tsmbI0WAbrNu6E= github.com/aws/aws-sdk-go-v2/service/qldb v1.29.0 h1:z8hxRH/lXSN0oWjvYyuxeAHIEOX2mP4m3QqbJgNZw2g= github.com/aws/aws-sdk-go-v2/service/qldb v1.29.0/go.mod h1:eBVhzKjNK//VOPAetMab3jT/njEna4DKLvlK+dcJfLA= -github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0 h1:UmX69w9sT2swoojDQY9VlUObHjUh27PyFUCK98b8RcY= -github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0/go.mod h1:giBYbL9xfVEcGSMmvnynNB8Em78y8UKpnrgUZ1ulV/U= +github.com/aws/aws-sdk-go-v2/service/quicksight v1.92.0 h1:GzBorIQ93nyNDbC59odoBTRRSAx0Im9Z7xwJ5UbI81w= +github.com/aws/aws-sdk-go-v2/service/quicksight v1.92.0/go.mod h1:MKyuqaCqFV/T4cD00DDWbrBZbxDp6WLyHbSOBNxWHZI= github.com/aws/aws-sdk-go-v2/service/ram v1.32.0 h1:G+68C4zK76iUFgJhkipUKRWh2HLLtRnDTZapiOfJdhA= github.com/aws/aws-sdk-go-v2/service/ram v1.32.0/go.mod h1:nw5Xtgpjw7qpk2pLnnUFfM1OJR4mbgGyM/mW5Tq3uvM= github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0 h1:lCSjmiJBPQ+YQpVv7HDuSQxzdMaOF6VHIpEAo6JuCgE= From 63a5466602bb4dad1f14701cfaf83cfcb2bca444 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:44 -0400 Subject: [PATCH 1010/1301] go get github.com/aws/aws-sdk-go-v2/service/ram. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8b6490307454..70c4785750cf 100644 --- a/go.mod +++ b/go.mod @@ -201,7 +201,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/qbusiness v1.32.0 github.com/aws/aws-sdk-go-v2/service/qldb v1.29.0 github.com/aws/aws-sdk-go-v2/service/quicksight v1.92.0 - github.com/aws/aws-sdk-go-v2/service/ram v1.32.0 + github.com/aws/aws-sdk-go-v2/service/ram v1.33.0 github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0 github.com/aws/aws-sdk-go-v2/service/rds v1.102.0 github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0 diff --git a/go.sum b/go.sum index 0d5da27d8cd4..a0469917665d 100644 --- a/go.sum +++ b/go.sum @@ -423,8 +423,8 @@ github.com/aws/aws-sdk-go-v2/service/qldb v1.29.0 h1:z8hxRH/lXSN0oWjvYyuxeAHIEOX github.com/aws/aws-sdk-go-v2/service/qldb v1.29.0/go.mod h1:eBVhzKjNK//VOPAetMab3jT/njEna4DKLvlK+dcJfLA= github.com/aws/aws-sdk-go-v2/service/quicksight v1.92.0 h1:GzBorIQ93nyNDbC59odoBTRRSAx0Im9Z7xwJ5UbI81w= github.com/aws/aws-sdk-go-v2/service/quicksight v1.92.0/go.mod h1:MKyuqaCqFV/T4cD00DDWbrBZbxDp6WLyHbSOBNxWHZI= -github.com/aws/aws-sdk-go-v2/service/ram v1.32.0 h1:G+68C4zK76iUFgJhkipUKRWh2HLLtRnDTZapiOfJdhA= -github.com/aws/aws-sdk-go-v2/service/ram v1.32.0/go.mod h1:nw5Xtgpjw7qpk2pLnnUFfM1OJR4mbgGyM/mW5Tq3uvM= +github.com/aws/aws-sdk-go-v2/service/ram v1.33.0 h1:S1OWl3a+IRR/GSqzjea0jflabLsHyDJXknxJk7pkYI0= +github.com/aws/aws-sdk-go-v2/service/ram v1.33.0/go.mod h1:ugO++LtUnJAM+y+SkHc/MnZdgIevyA2Eotn3J0UNluQ= github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0 h1:lCSjmiJBPQ+YQpVv7HDuSQxzdMaOF6VHIpEAo6JuCgE= github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0/go.mod h1:qvr0xsDkBeaCaYZb0sWWItYyapmRxaJkOJ3H9c0nRu4= github.com/aws/aws-sdk-go-v2/service/rds v1.102.0 h1:+gr+tHHyjEcDh6ow7FO8wSnyHIX6HjoMUS0FYmk1U3g= From 8d194cb61eddeadc6d0e2b101e9b8864c96cf516 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:44 -0400 Subject: [PATCH 1011/1301] go get github.com/aws/aws-sdk-go-v2/service/rbin. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 70c4785750cf..bbc08d8dacd8 100644 --- a/go.mod +++ b/go.mod @@ -202,7 +202,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/qldb v1.29.0 github.com/aws/aws-sdk-go-v2/service/quicksight v1.92.0 github.com/aws/aws-sdk-go-v2/service/ram v1.33.0 - github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0 + github.com/aws/aws-sdk-go-v2/service/rbin v1.25.0 github.com/aws/aws-sdk-go-v2/service/rds v1.102.0 github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0 github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0 diff --git a/go.sum b/go.sum index a0469917665d..cc121659b4c6 100644 --- a/go.sum +++ b/go.sum @@ -425,8 +425,8 @@ github.com/aws/aws-sdk-go-v2/service/quicksight v1.92.0 h1:GzBorIQ93nyNDbC59odoB github.com/aws/aws-sdk-go-v2/service/quicksight v1.92.0/go.mod h1:MKyuqaCqFV/T4cD00DDWbrBZbxDp6WLyHbSOBNxWHZI= github.com/aws/aws-sdk-go-v2/service/ram v1.33.0 h1:S1OWl3a+IRR/GSqzjea0jflabLsHyDJXknxJk7pkYI0= github.com/aws/aws-sdk-go-v2/service/ram v1.33.0/go.mod h1:ugO++LtUnJAM+y+SkHc/MnZdgIevyA2Eotn3J0UNluQ= -github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0 h1:lCSjmiJBPQ+YQpVv7HDuSQxzdMaOF6VHIpEAo6JuCgE= -github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0/go.mod h1:qvr0xsDkBeaCaYZb0sWWItYyapmRxaJkOJ3H9c0nRu4= +github.com/aws/aws-sdk-go-v2/service/rbin v1.25.0 h1:uxZwx9vobWg4IS1dyMoC/5Bqrkt9URYtUvj08SZPDRY= +github.com/aws/aws-sdk-go-v2/service/rbin v1.25.0/go.mod h1:V9wi+fIOqZV2lNpSeWGEs4FJBNF2ROkPWLhbweCl7NM= github.com/aws/aws-sdk-go-v2/service/rds v1.102.0 h1:+gr+tHHyjEcDh6ow7FO8wSnyHIX6HjoMUS0FYmk1U3g= github.com/aws/aws-sdk-go-v2/service/rds v1.102.0/go.mod h1:BSg3GYV7zYSk/vUsT77SlTZcYz7JmBprKslzqSuC9Nw= github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0 h1:UzGm4pOaR1MQE8kQ0HzuzrIKZvjxfYWmHAhjmkFWrKY= From 838673168edb2b475661ba930aa4de6a5add92ed Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:45 -0400 Subject: [PATCH 1012/1301] go get github.com/aws/aws-sdk-go-v2/service/rds. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index bbc08d8dacd8..e6e95dc1fcba 100644 --- a/go.mod +++ b/go.mod @@ -203,7 +203,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/quicksight v1.92.0 github.com/aws/aws-sdk-go-v2/service/ram v1.33.0 github.com/aws/aws-sdk-go-v2/service/rbin v1.25.0 - github.com/aws/aws-sdk-go-v2/service/rds v1.102.0 + github.com/aws/aws-sdk-go-v2/service/rds v1.103.0 github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0 github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0 github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.29.0 diff --git a/go.sum b/go.sum index cc121659b4c6..edcc7c6e03b9 100644 --- a/go.sum +++ b/go.sum @@ -427,8 +427,8 @@ github.com/aws/aws-sdk-go-v2/service/ram v1.33.0 h1:S1OWl3a+IRR/GSqzjea0jflabLsH github.com/aws/aws-sdk-go-v2/service/ram v1.33.0/go.mod h1:ugO++LtUnJAM+y+SkHc/MnZdgIevyA2Eotn3J0UNluQ= github.com/aws/aws-sdk-go-v2/service/rbin v1.25.0 h1:uxZwx9vobWg4IS1dyMoC/5Bqrkt9URYtUvj08SZPDRY= github.com/aws/aws-sdk-go-v2/service/rbin v1.25.0/go.mod h1:V9wi+fIOqZV2lNpSeWGEs4FJBNF2ROkPWLhbweCl7NM= -github.com/aws/aws-sdk-go-v2/service/rds v1.102.0 h1:+gr+tHHyjEcDh6ow7FO8wSnyHIX6HjoMUS0FYmk1U3g= -github.com/aws/aws-sdk-go-v2/service/rds v1.102.0/go.mod h1:BSg3GYV7zYSk/vUsT77SlTZcYz7JmBprKslzqSuC9Nw= +github.com/aws/aws-sdk-go-v2/service/rds v1.103.0 h1:OWsmICx9jHtBVrgYwYb+2q0iVSPLIfDZOiKhoQA+gjc= +github.com/aws/aws-sdk-go-v2/service/rds v1.103.0/go.mod h1:tUKTkGAlJo0Gs4t0Z46vaSGD6H1Z6RvtuF03mZY+tPk= github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0 h1:UzGm4pOaR1MQE8kQ0HzuzrIKZvjxfYWmHAhjmkFWrKY= github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0/go.mod h1:gPTBFJ7XZEk2thUl1+MS6/kEd0jLuJBIzLz5xuveRvY= github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0 h1:2uGuWyvd7uCOEcEMN+SWkJsXlXOPrzfBtElITMnVAp4= From 5775be5a478ff081bfc90ec3e95adf01d0779e93 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:47 -0400 Subject: [PATCH 1013/1301] go get github.com/aws/aws-sdk-go-v2/service/redshift. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e6e95dc1fcba..d43eeb722fc8 100644 --- a/go.mod +++ b/go.mod @@ -204,7 +204,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ram v1.33.0 github.com/aws/aws-sdk-go-v2/service/rbin v1.25.0 github.com/aws/aws-sdk-go-v2/service/rds v1.103.0 - github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0 + github.com/aws/aws-sdk-go-v2/service/redshift v1.57.0 github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0 github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.29.0 github.com/aws/aws-sdk-go-v2/service/rekognition v1.49.0 diff --git a/go.sum b/go.sum index edcc7c6e03b9..fa223b07cde3 100644 --- a/go.sum +++ b/go.sum @@ -429,8 +429,8 @@ github.com/aws/aws-sdk-go-v2/service/rbin v1.25.0 h1:uxZwx9vobWg4IS1dyMoC/5Bqrkt github.com/aws/aws-sdk-go-v2/service/rbin v1.25.0/go.mod h1:V9wi+fIOqZV2lNpSeWGEs4FJBNF2ROkPWLhbweCl7NM= github.com/aws/aws-sdk-go-v2/service/rds v1.103.0 h1:OWsmICx9jHtBVrgYwYb+2q0iVSPLIfDZOiKhoQA+gjc= github.com/aws/aws-sdk-go-v2/service/rds v1.103.0/go.mod h1:tUKTkGAlJo0Gs4t0Z46vaSGD6H1Z6RvtuF03mZY+tPk= -github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0 h1:UzGm4pOaR1MQE8kQ0HzuzrIKZvjxfYWmHAhjmkFWrKY= -github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0/go.mod h1:gPTBFJ7XZEk2thUl1+MS6/kEd0jLuJBIzLz5xuveRvY= +github.com/aws/aws-sdk-go-v2/service/redshift v1.57.0 h1:gFNE53MstNSex5n2AeuqDeO9y6YrAEq5r9ohIo0Q1S4= +github.com/aws/aws-sdk-go-v2/service/redshift v1.57.0/go.mod h1:royODzFrVBRoek5vd76xF7WnwhMGjDj9ZdYcg7Hj8Es= github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0 h1:2uGuWyvd7uCOEcEMN+SWkJsXlXOPrzfBtElITMnVAp4= github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0/go.mod h1:6Xy8SN1liN5+zoTMZ1C2UpeUdJURWSqr9u8wkOtSpdE= github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.29.0 h1:U6WGIeSwoC0xrSi710RscXbEzLjEXpVWzVV4SsrZyRA= From f78805605cdd05039bcae701108442df2d5af6d9 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:48 -0400 Subject: [PATCH 1014/1301] go get github.com/aws/aws-sdk-go-v2/service/redshiftdata. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index d43eeb722fc8..1e291fe8a7fd 100644 --- a/go.mod +++ b/go.mod @@ -205,7 +205,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/rbin v1.25.0 github.com/aws/aws-sdk-go-v2/service/rds v1.103.0 github.com/aws/aws-sdk-go-v2/service/redshift v1.57.0 - github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0 + github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.36.0 github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.29.0 github.com/aws/aws-sdk-go-v2/service/rekognition v1.49.0 github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.32.0 diff --git a/go.sum b/go.sum index fa223b07cde3..e814e362ade9 100644 --- a/go.sum +++ b/go.sum @@ -431,8 +431,8 @@ github.com/aws/aws-sdk-go-v2/service/rds v1.103.0 h1:OWsmICx9jHtBVrgYwYb+2q0iVSP github.com/aws/aws-sdk-go-v2/service/rds v1.103.0/go.mod h1:tUKTkGAlJo0Gs4t0Z46vaSGD6H1Z6RvtuF03mZY+tPk= github.com/aws/aws-sdk-go-v2/service/redshift v1.57.0 h1:gFNE53MstNSex5n2AeuqDeO9y6YrAEq5r9ohIo0Q1S4= github.com/aws/aws-sdk-go-v2/service/redshift v1.57.0/go.mod h1:royODzFrVBRoek5vd76xF7WnwhMGjDj9ZdYcg7Hj8Es= -github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0 h1:2uGuWyvd7uCOEcEMN+SWkJsXlXOPrzfBtElITMnVAp4= -github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0/go.mod h1:6Xy8SN1liN5+zoTMZ1C2UpeUdJURWSqr9u8wkOtSpdE= +github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.36.0 h1:m900Kua81M38+2mViQR0WyXuVJHXfHhBMZE2KEOKCxg= +github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.36.0/go.mod h1:fKbyyPpRvNxxd3FC8IllvIVic0l4C/IGKIcU7lb5tfI= github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.29.0 h1:U6WGIeSwoC0xrSi710RscXbEzLjEXpVWzVV4SsrZyRA= github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.29.0/go.mod h1:HcZb7L9GmTq1C7RKGBb14VRSTPjnnP9aFJ0xL3KQPco= github.com/aws/aws-sdk-go-v2/service/rekognition v1.49.0 h1:yJ4TZzihb5umIh54Zryxeh/LGAtNu3zs/V4J90sQR0o= From a3fbc01164cdf567580394a03b65ca59e02d5590 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:49 -0400 Subject: [PATCH 1015/1301] go get github.com/aws/aws-sdk-go-v2/service/redshiftserverless. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 1e291fe8a7fd..0005400269ba 100644 --- a/go.mod +++ b/go.mod @@ -206,7 +206,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/rds v1.103.0 github.com/aws/aws-sdk-go-v2/service/redshift v1.57.0 github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.36.0 - github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.29.0 + github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.30.0 github.com/aws/aws-sdk-go-v2/service/rekognition v1.49.0 github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.32.0 github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.19.0 diff --git a/go.sum b/go.sum index e814e362ade9..0d60dd277362 100644 --- a/go.sum +++ b/go.sum @@ -433,8 +433,8 @@ github.com/aws/aws-sdk-go-v2/service/redshift v1.57.0 h1:gFNE53MstNSex5n2AeuqDeO github.com/aws/aws-sdk-go-v2/service/redshift v1.57.0/go.mod h1:royODzFrVBRoek5vd76xF7WnwhMGjDj9ZdYcg7Hj8Es= github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.36.0 h1:m900Kua81M38+2mViQR0WyXuVJHXfHhBMZE2KEOKCxg= github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.36.0/go.mod h1:fKbyyPpRvNxxd3FC8IllvIVic0l4C/IGKIcU7lb5tfI= -github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.29.0 h1:U6WGIeSwoC0xrSi710RscXbEzLjEXpVWzVV4SsrZyRA= -github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.29.0/go.mod h1:HcZb7L9GmTq1C7RKGBb14VRSTPjnnP9aFJ0xL3KQPco= +github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.30.0 h1:jB/wGP9pe9pbXCFqZELx9MxLmkZetN0yK0kc7jFDlIY= +github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.30.0/go.mod h1:qPNYvgSCnM6m27k766S1vd+QquZYz5efWKbMGjB2cU8= github.com/aws/aws-sdk-go-v2/service/rekognition v1.49.0 h1:yJ4TZzihb5umIh54Zryxeh/LGAtNu3zs/V4J90sQR0o= github.com/aws/aws-sdk-go-v2/service/rekognition v1.49.0/go.mod h1:2KdIwOeztIPoWhKxA3Jnn1PYzDB45NOYUWkSKfFsHIo= github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.32.0 h1:W5cFv1nnrXWQIIcP9g0znL9GYrOs2OVxNvWIE+pJjqw= From e35d9b167d4604deb6d8e8f46cdb83f423588d27 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:50 -0400 Subject: [PATCH 1016/1301] go get github.com/aws/aws-sdk-go-v2/service/rekognition. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 0005400269ba..655fb2cbfe15 100644 --- a/go.mod +++ b/go.mod @@ -207,7 +207,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/redshift v1.57.0 github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.36.0 github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.30.0 - github.com/aws/aws-sdk-go-v2/service/rekognition v1.49.0 + github.com/aws/aws-sdk-go-v2/service/rekognition v1.50.0 github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.32.0 github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.19.0 github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.31.0 diff --git a/go.sum b/go.sum index 0d60dd277362..609541ea3bf8 100644 --- a/go.sum +++ b/go.sum @@ -435,8 +435,8 @@ github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.36.0 h1:m900Kua81M38+2mViQR github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.36.0/go.mod h1:fKbyyPpRvNxxd3FC8IllvIVic0l4C/IGKIcU7lb5tfI= github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.30.0 h1:jB/wGP9pe9pbXCFqZELx9MxLmkZetN0yK0kc7jFDlIY= github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.30.0/go.mod h1:qPNYvgSCnM6m27k766S1vd+QquZYz5efWKbMGjB2cU8= -github.com/aws/aws-sdk-go-v2/service/rekognition v1.49.0 h1:yJ4TZzihb5umIh54Zryxeh/LGAtNu3zs/V4J90sQR0o= -github.com/aws/aws-sdk-go-v2/service/rekognition v1.49.0/go.mod h1:2KdIwOeztIPoWhKxA3Jnn1PYzDB45NOYUWkSKfFsHIo= +github.com/aws/aws-sdk-go-v2/service/rekognition v1.50.0 h1:bn5Y52YaLv5p7sa6TIH3Fr/V+gLpoQkcctNAvYT1YP8= +github.com/aws/aws-sdk-go-v2/service/rekognition v1.50.0/go.mod h1:5vEhAy+7ycQg3WVq7kp1YWTi43DxOqbUPkDLP8vB1Yk= github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.32.0 h1:W5cFv1nnrXWQIIcP9g0znL9GYrOs2OVxNvWIE+pJjqw= github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.32.0/go.mod h1:Ya5/VbHcg63rRJ10MXtqA5i42LeOuP6edwuhISe6RNM= github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.19.0 h1:3VIjZDJSYXEnVuWIRq0oXHISbO+tpya0qIHPPzpp2+A= From 7fb008a26e90798bae8cefeabed91d86b6a1d5d2 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:51 -0400 Subject: [PATCH 1017/1301] go get github.com/aws/aws-sdk-go-v2/service/resiliencehub. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 655fb2cbfe15..5fd3efeef3f7 100644 --- a/go.mod +++ b/go.mod @@ -208,7 +208,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.36.0 github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.30.0 github.com/aws/aws-sdk-go-v2/service/rekognition v1.50.0 - github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.32.0 + github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.33.0 github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.19.0 github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.31.0 github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0 diff --git a/go.sum b/go.sum index 609541ea3bf8..c4cebf4676f4 100644 --- a/go.sum +++ b/go.sum @@ -437,8 +437,8 @@ github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.30.0 h1:jB/wGP9pe9pbX github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.30.0/go.mod h1:qPNYvgSCnM6m27k766S1vd+QquZYz5efWKbMGjB2cU8= github.com/aws/aws-sdk-go-v2/service/rekognition v1.50.0 h1:bn5Y52YaLv5p7sa6TIH3Fr/V+gLpoQkcctNAvYT1YP8= github.com/aws/aws-sdk-go-v2/service/rekognition v1.50.0/go.mod h1:5vEhAy+7ycQg3WVq7kp1YWTi43DxOqbUPkDLP8vB1Yk= -github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.32.0 h1:W5cFv1nnrXWQIIcP9g0znL9GYrOs2OVxNvWIE+pJjqw= -github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.32.0/go.mod h1:Ya5/VbHcg63rRJ10MXtqA5i42LeOuP6edwuhISe6RNM= +github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.33.0 h1:DUJziWLjN4tzfLFz+h2DRDItRtrD3NdGWs0xztSZlFU= +github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.33.0/go.mod h1:SLrdEDIWvazT0GTFQ6ph3QW2EAYYeizvd7g9CMpoMs0= github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.19.0 h1:3VIjZDJSYXEnVuWIRq0oXHISbO+tpya0qIHPPzpp2+A= github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.19.0/go.mod h1:bf6/IS5mQoUM4XVKcEaNCF3ghEuOyan7agPlzSheMk4= github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.31.0 h1:L9r0qWc6316M37Pb4ce2qAtxAXb2ZJHUIRfqS0yP9eY= From 082a174abff30a7f773c9a65a111dbdc1944ee96 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:52 -0400 Subject: [PATCH 1018/1301] go get github.com/aws/aws-sdk-go-v2/service/resourceexplorer2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5fd3efeef3f7..3debf7502fcb 100644 --- a/go.mod +++ b/go.mod @@ -209,7 +209,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.30.0 github.com/aws/aws-sdk-go-v2/service/rekognition v1.50.0 github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.33.0 - github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.19.0 + github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.20.0 github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.31.0 github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0 github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.19.0 diff --git a/go.sum b/go.sum index c4cebf4676f4..179fd7be4fee 100644 --- a/go.sum +++ b/go.sum @@ -439,8 +439,8 @@ github.com/aws/aws-sdk-go-v2/service/rekognition v1.50.0 h1:bn5Y52YaLv5p7sa6TIH3 github.com/aws/aws-sdk-go-v2/service/rekognition v1.50.0/go.mod h1:5vEhAy+7ycQg3WVq7kp1YWTi43DxOqbUPkDLP8vB1Yk= github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.33.0 h1:DUJziWLjN4tzfLFz+h2DRDItRtrD3NdGWs0xztSZlFU= github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.33.0/go.mod h1:SLrdEDIWvazT0GTFQ6ph3QW2EAYYeizvd7g9CMpoMs0= -github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.19.0 h1:3VIjZDJSYXEnVuWIRq0oXHISbO+tpya0qIHPPzpp2+A= -github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.19.0/go.mod h1:bf6/IS5mQoUM4XVKcEaNCF3ghEuOyan7agPlzSheMk4= +github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.20.0 h1:26bUDFcdGzHxBax1oY+HL/YRmUVfqyvcbgdKHr0FDfE= +github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.20.0/go.mod h1:eFxDYEcdKWIT77Mrq/fT+6KL9bu3ACn5sDFk7Be8FKg= github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.31.0 h1:L9r0qWc6316M37Pb4ce2qAtxAXb2ZJHUIRfqS0yP9eY= github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.31.0/go.mod h1:7xr8mm8k3g6gDnYYn3MtEtmSg84Ki/3+exNQe3aLx8Y= github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0 h1:UtG7I7N+hYu6X4Yjz8XC7tgRCss5PiEgCW3KXMxz2R4= From 5e94d247b96863a03926b7beb4c6129f8c4f9c5e Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:53 -0400 Subject: [PATCH 1019/1301] go get github.com/aws/aws-sdk-go-v2/service/resourcegroups. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 3debf7502fcb..8bbf7d6f7ec3 100644 --- a/go.mod +++ b/go.mod @@ -210,7 +210,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/rekognition v1.50.0 github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.33.0 github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.20.0 - github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.31.0 + github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.32.0 github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0 github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.19.0 github.com/aws/aws-sdk-go-v2/service/route53 v1.55.0 diff --git a/go.sum b/go.sum index 179fd7be4fee..1662dc71bbd5 100644 --- a/go.sum +++ b/go.sum @@ -441,8 +441,8 @@ github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.33.0 h1:DUJziWLjN4tzfLFz+h github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.33.0/go.mod h1:SLrdEDIWvazT0GTFQ6ph3QW2EAYYeizvd7g9CMpoMs0= github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.20.0 h1:26bUDFcdGzHxBax1oY+HL/YRmUVfqyvcbgdKHr0FDfE= github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.20.0/go.mod h1:eFxDYEcdKWIT77Mrq/fT+6KL9bu3ACn5sDFk7Be8FKg= -github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.31.0 h1:L9r0qWc6316M37Pb4ce2qAtxAXb2ZJHUIRfqS0yP9eY= -github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.31.0/go.mod h1:7xr8mm8k3g6gDnYYn3MtEtmSg84Ki/3+exNQe3aLx8Y= +github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.32.0 h1:ZzEJclXVP4woTKwsQChUKOZuekxc/DBjlHKmfFWpYrg= +github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.32.0/go.mod h1:uGcWLsjkPjZYRpw67cFbNND8jtLokfgLTvZSGpAT7cs= github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0 h1:UtG7I7N+hYu6X4Yjz8XC7tgRCss5PiEgCW3KXMxz2R4= github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0/go.mod h1:HEr473Fg94eiVW0HnobYqlkfz5dxw771ZseM6DWJAwg= github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.19.0 h1:gDWKqmGdCXpmgQivZtYRH3rBWrZdWytswr4eCQdKCF8= From 845e1aa118e69c2a611224b7a8c74c5292c8d586 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:55 -0400 Subject: [PATCH 1020/1301] go get github.com/aws/aws-sdk-go-v2/service/rolesanywhere. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8bbf7d6f7ec3..559b5ff5a587 100644 --- a/go.mod +++ b/go.mod @@ -212,7 +212,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.20.0 github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.32.0 github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0 - github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.19.0 + github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.20.0 github.com/aws/aws-sdk-go-v2/service/route53 v1.55.0 github.com/aws/aws-sdk-go-v2/service/route53domains v1.31.0 github.com/aws/aws-sdk-go-v2/service/route53profiles v1.7.0 diff --git a/go.sum b/go.sum index 1662dc71bbd5..5f3ec0452122 100644 --- a/go.sum +++ b/go.sum @@ -445,8 +445,8 @@ github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.32.0 h1:ZzEJclXVP4woTKwsQ github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.32.0/go.mod h1:uGcWLsjkPjZYRpw67cFbNND8jtLokfgLTvZSGpAT7cs= github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0 h1:UtG7I7N+hYu6X4Yjz8XC7tgRCss5PiEgCW3KXMxz2R4= github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0/go.mod h1:HEr473Fg94eiVW0HnobYqlkfz5dxw771ZseM6DWJAwg= -github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.19.0 h1:gDWKqmGdCXpmgQivZtYRH3rBWrZdWytswr4eCQdKCF8= -github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.19.0/go.mod h1:F6Tg7adKZCu0E2B8Ti4+x3M6HS+Qlgl0C57KbDCgtJw= +github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.20.0 h1:KBw/bfF87jfAgm0ZcQOCgqJSY7tMLg9x+1f+EdUHQt0= +github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.20.0/go.mod h1:mWcjTY8epINHRpQmgBLjOTYM5TYUeBOysugdyG128io= github.com/aws/aws-sdk-go-v2/service/route53 v1.55.0 h1:uWgREKbrY/+EYuU9u4llSkbsIKLSEPriOSHmLCK3GAY= github.com/aws/aws-sdk-go-v2/service/route53 v1.55.0/go.mod h1:6G0V3ndXAxeBFSDbUEZ3VTZgmL/9yoIuWM3s3AAV97E= github.com/aws/aws-sdk-go-v2/service/route53domains v1.31.0 h1:1FNauE0fGAumFzEpmH+nx3OfvgnfUapdpBq9eCk/7II= From 1e61607c31b7747501a95f4b680b341d23420fc2 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:56 -0400 Subject: [PATCH 1021/1301] go get github.com/aws/aws-sdk-go-v2/service/route53. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 559b5ff5a587..95e4a8529bf1 100644 --- a/go.mod +++ b/go.mod @@ -213,7 +213,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.32.0 github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0 github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.20.0 - github.com/aws/aws-sdk-go-v2/service/route53 v1.55.0 + github.com/aws/aws-sdk-go-v2/service/route53 v1.56.0 github.com/aws/aws-sdk-go-v2/service/route53domains v1.31.0 github.com/aws/aws-sdk-go-v2/service/route53profiles v1.7.0 github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.29.0 diff --git a/go.sum b/go.sum index 5f3ec0452122..b6ecfd6daabe 100644 --- a/go.sum +++ b/go.sum @@ -447,8 +447,8 @@ github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0 h1:UtG7I7N github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0/go.mod h1:HEr473Fg94eiVW0HnobYqlkfz5dxw771ZseM6DWJAwg= github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.20.0 h1:KBw/bfF87jfAgm0ZcQOCgqJSY7tMLg9x+1f+EdUHQt0= github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.20.0/go.mod h1:mWcjTY8epINHRpQmgBLjOTYM5TYUeBOysugdyG128io= -github.com/aws/aws-sdk-go-v2/service/route53 v1.55.0 h1:uWgREKbrY/+EYuU9u4llSkbsIKLSEPriOSHmLCK3GAY= -github.com/aws/aws-sdk-go-v2/service/route53 v1.55.0/go.mod h1:6G0V3ndXAxeBFSDbUEZ3VTZgmL/9yoIuWM3s3AAV97E= +github.com/aws/aws-sdk-go-v2/service/route53 v1.56.0 h1:+8/JB7/ZIk86sDBtcy+md9qqHOjc6rR75NySpsrujDY= +github.com/aws/aws-sdk-go-v2/service/route53 v1.56.0/go.mod h1:aSIshIhq15I4lMlrkvvIoH7E4eLTAEW+isWbga9guNg= github.com/aws/aws-sdk-go-v2/service/route53domains v1.31.0 h1:1FNauE0fGAumFzEpmH+nx3OfvgnfUapdpBq9eCk/7II= github.com/aws/aws-sdk-go-v2/service/route53domains v1.31.0/go.mod h1:s9AUhIpEw80em5ERrkUzrvQuDjSP9fKd9/+vi5jCr6w= github.com/aws/aws-sdk-go-v2/service/route53profiles v1.7.0 h1:JhCFwPOmFja1kndJHeF2wPxGdvft9hqk9rmI+3VYBGg= From 690f452d821c41e8dcf48c87965e05512857ddcc Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:57 -0400 Subject: [PATCH 1022/1301] go get github.com/aws/aws-sdk-go-v2/service/route53domains. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 95e4a8529bf1..f1e14f968b9e 100644 --- a/go.mod +++ b/go.mod @@ -214,7 +214,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0 github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.20.0 github.com/aws/aws-sdk-go-v2/service/route53 v1.56.0 - github.com/aws/aws-sdk-go-v2/service/route53domains v1.31.0 + github.com/aws/aws-sdk-go-v2/service/route53domains v1.32.0 github.com/aws/aws-sdk-go-v2/service/route53profiles v1.7.0 github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.29.0 github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.24.0 diff --git a/go.sum b/go.sum index b6ecfd6daabe..3ef66172b825 100644 --- a/go.sum +++ b/go.sum @@ -449,8 +449,8 @@ github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.20.0 h1:KBw/bfF87jfAgm0ZcQ github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.20.0/go.mod h1:mWcjTY8epINHRpQmgBLjOTYM5TYUeBOysugdyG128io= github.com/aws/aws-sdk-go-v2/service/route53 v1.56.0 h1:+8/JB7/ZIk86sDBtcy+md9qqHOjc6rR75NySpsrujDY= github.com/aws/aws-sdk-go-v2/service/route53 v1.56.0/go.mod h1:aSIshIhq15I4lMlrkvvIoH7E4eLTAEW+isWbga9guNg= -github.com/aws/aws-sdk-go-v2/service/route53domains v1.31.0 h1:1FNauE0fGAumFzEpmH+nx3OfvgnfUapdpBq9eCk/7II= -github.com/aws/aws-sdk-go-v2/service/route53domains v1.31.0/go.mod h1:s9AUhIpEw80em5ERrkUzrvQuDjSP9fKd9/+vi5jCr6w= +github.com/aws/aws-sdk-go-v2/service/route53domains v1.32.0 h1:ZjfNS/AmmzzGbM9Au1219mq3rh7L3HhzgCV04Z5k24M= +github.com/aws/aws-sdk-go-v2/service/route53domains v1.32.0/go.mod h1:v6BvxeZNn9Ys2Fv/6IGmGCcrf5a10guA3YvlpQId/1o= github.com/aws/aws-sdk-go-v2/service/route53profiles v1.7.0 h1:JhCFwPOmFja1kndJHeF2wPxGdvft9hqk9rmI+3VYBGg= github.com/aws/aws-sdk-go-v2/service/route53profiles v1.7.0/go.mod h1:ZfLB7g4WQPzBcK37APvwX7u0cIz1dKL01MnxRTTkfQo= github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.29.0 h1:BSC4rRnApDd4lH2U5dggYS81lyF9v5yG5atDYQlUG4o= From ce60e48c808a6d7c56be50540b8c0f6c73c3f810 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:58 -0400 Subject: [PATCH 1023/1301] go get github.com/aws/aws-sdk-go-v2/service/route53profiles. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index f1e14f968b9e..315f76c9b073 100644 --- a/go.mod +++ b/go.mod @@ -215,7 +215,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.20.0 github.com/aws/aws-sdk-go-v2/service/route53 v1.56.0 github.com/aws/aws-sdk-go-v2/service/route53domains v1.32.0 - github.com/aws/aws-sdk-go-v2/service/route53profiles v1.7.0 + github.com/aws/aws-sdk-go-v2/service/route53profiles v1.8.0 github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.29.0 github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.24.0 github.com/aws/aws-sdk-go-v2/service/route53resolver v1.38.0 diff --git a/go.sum b/go.sum index 3ef66172b825..6f4d15168172 100644 --- a/go.sum +++ b/go.sum @@ -451,8 +451,8 @@ github.com/aws/aws-sdk-go-v2/service/route53 v1.56.0 h1:+8/JB7/ZIk86sDBtcy+md9qq github.com/aws/aws-sdk-go-v2/service/route53 v1.56.0/go.mod h1:aSIshIhq15I4lMlrkvvIoH7E4eLTAEW+isWbga9guNg= github.com/aws/aws-sdk-go-v2/service/route53domains v1.32.0 h1:ZjfNS/AmmzzGbM9Au1219mq3rh7L3HhzgCV04Z5k24M= github.com/aws/aws-sdk-go-v2/service/route53domains v1.32.0/go.mod h1:v6BvxeZNn9Ys2Fv/6IGmGCcrf5a10guA3YvlpQId/1o= -github.com/aws/aws-sdk-go-v2/service/route53profiles v1.7.0 h1:JhCFwPOmFja1kndJHeF2wPxGdvft9hqk9rmI+3VYBGg= -github.com/aws/aws-sdk-go-v2/service/route53profiles v1.7.0/go.mod h1:ZfLB7g4WQPzBcK37APvwX7u0cIz1dKL01MnxRTTkfQo= +github.com/aws/aws-sdk-go-v2/service/route53profiles v1.8.0 h1:MuXKThC0Lv83LdIiFc5aMjmjYuG7hC49Da3H+dvt6xo= +github.com/aws/aws-sdk-go-v2/service/route53profiles v1.8.0/go.mod h1:3m2fCUiYfoCDxPMHZGP6u5w9oMOTJnmI8rEc0iKEba0= github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.29.0 h1:BSC4rRnApDd4lH2U5dggYS81lyF9v5yG5atDYQlUG4o= github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.29.0/go.mod h1:2rt7/1yfNqxIc1+IiwdM2xIA01+FeH+hkkIc6Ui6KYg= github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.24.0 h1:he+LHA/6HCUuFxdM0lUdr+OOTefeEq1G2w/e6yRraQs= From f009c15ce63506709e0964c39f311178c988ef01 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:00:59 -0400 Subject: [PATCH 1024/1301] go get github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 315f76c9b073..a581c49d94ca 100644 --- a/go.mod +++ b/go.mod @@ -216,7 +216,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/route53 v1.56.0 github.com/aws/aws-sdk-go-v2/service/route53domains v1.32.0 github.com/aws/aws-sdk-go-v2/service/route53profiles v1.8.0 - github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.29.0 + github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.30.0 github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.24.0 github.com/aws/aws-sdk-go-v2/service/route53resolver v1.38.0 github.com/aws/aws-sdk-go-v2/service/rum v1.26.0 diff --git a/go.sum b/go.sum index 6f4d15168172..46a358f0b4ce 100644 --- a/go.sum +++ b/go.sum @@ -453,8 +453,8 @@ github.com/aws/aws-sdk-go-v2/service/route53domains v1.32.0 h1:ZjfNS/AmmzzGbM9Au github.com/aws/aws-sdk-go-v2/service/route53domains v1.32.0/go.mod h1:v6BvxeZNn9Ys2Fv/6IGmGCcrf5a10guA3YvlpQId/1o= github.com/aws/aws-sdk-go-v2/service/route53profiles v1.8.0 h1:MuXKThC0Lv83LdIiFc5aMjmjYuG7hC49Da3H+dvt6xo= github.com/aws/aws-sdk-go-v2/service/route53profiles v1.8.0/go.mod h1:3m2fCUiYfoCDxPMHZGP6u5w9oMOTJnmI8rEc0iKEba0= -github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.29.0 h1:BSC4rRnApDd4lH2U5dggYS81lyF9v5yG5atDYQlUG4o= -github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.29.0/go.mod h1:2rt7/1yfNqxIc1+IiwdM2xIA01+FeH+hkkIc6Ui6KYg= +github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.30.0 h1:mYSV8Ih3PRx9/uKuMMYRGWnUSDjOKDJAlPLqw/fhxB4= +github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.30.0/go.mod h1:XTAEe+ed1/YhRZr7IwJOcd7LxwEhdHgXFyAbhW5/0GU= github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.24.0 h1:he+LHA/6HCUuFxdM0lUdr+OOTefeEq1G2w/e6yRraQs= github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.24.0/go.mod h1:LdJD7I50vTaWfAdn1FBydN6r8XpkF6humwUN25hAV+4= github.com/aws/aws-sdk-go-v2/service/route53resolver v1.38.0 h1:HRDZKs73kNRsb+5MhAz4+ONvPgiXVmgTfsj4/PoJIWs= From e2050320cfb4a3081183a69dc4cce894ed517351 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:00 -0400 Subject: [PATCH 1025/1301] go get github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a581c49d94ca..e796165479a2 100644 --- a/go.mod +++ b/go.mod @@ -217,7 +217,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/route53domains v1.32.0 github.com/aws/aws-sdk-go-v2/service/route53profiles v1.8.0 github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.30.0 - github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.24.0 + github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.25.0 github.com/aws/aws-sdk-go-v2/service/route53resolver v1.38.0 github.com/aws/aws-sdk-go-v2/service/rum v1.26.0 github.com/aws/aws-sdk-go-v2/service/s3 v1.87.0 diff --git a/go.sum b/go.sum index 46a358f0b4ce..1811d1e760d7 100644 --- a/go.sum +++ b/go.sum @@ -455,8 +455,8 @@ github.com/aws/aws-sdk-go-v2/service/route53profiles v1.8.0 h1:MuXKThC0Lv83LdIiF github.com/aws/aws-sdk-go-v2/service/route53profiles v1.8.0/go.mod h1:3m2fCUiYfoCDxPMHZGP6u5w9oMOTJnmI8rEc0iKEba0= github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.30.0 h1:mYSV8Ih3PRx9/uKuMMYRGWnUSDjOKDJAlPLqw/fhxB4= github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.30.0/go.mod h1:XTAEe+ed1/YhRZr7IwJOcd7LxwEhdHgXFyAbhW5/0GU= -github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.24.0 h1:he+LHA/6HCUuFxdM0lUdr+OOTefeEq1G2w/e6yRraQs= -github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.24.0/go.mod h1:LdJD7I50vTaWfAdn1FBydN6r8XpkF6humwUN25hAV+4= +github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.25.0 h1:M1lJ8nSB8pL5XPIq82UsizGi+t4ZXkmBkW2WpPWczpw= +github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.25.0/go.mod h1:P9I8vfH8zNEoQNAqKYgpuWRce0tdKZQaCHHs1oF7SV8= github.com/aws/aws-sdk-go-v2/service/route53resolver v1.38.0 h1:HRDZKs73kNRsb+5MhAz4+ONvPgiXVmgTfsj4/PoJIWs= github.com/aws/aws-sdk-go-v2/service/route53resolver v1.38.0/go.mod h1:b9+yk2umEzWK2xzbsBZDrAeG63ia8B1ess7IyZG+mX4= github.com/aws/aws-sdk-go-v2/service/rum v1.26.0 h1:ZqNEWtitFjwaKGPqtPSK8cq0LaTUGKOBbvT/2+n7Zg4= From 755272c4992107e562d993080b14ce3e0f9de2fb Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:01 -0400 Subject: [PATCH 1026/1301] go get github.com/aws/aws-sdk-go-v2/service/route53resolver. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e796165479a2..06bf8ac1764c 100644 --- a/go.mod +++ b/go.mod @@ -218,7 +218,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/route53profiles v1.8.0 github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.30.0 github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.25.0 - github.com/aws/aws-sdk-go-v2/service/route53resolver v1.38.0 + github.com/aws/aws-sdk-go-v2/service/route53resolver v1.39.0 github.com/aws/aws-sdk-go-v2/service/rum v1.26.0 github.com/aws/aws-sdk-go-v2/service/s3 v1.87.0 github.com/aws/aws-sdk-go-v2/service/s3control v1.63.0 diff --git a/go.sum b/go.sum index 1811d1e760d7..b7f9a53d20b9 100644 --- a/go.sum +++ b/go.sum @@ -457,8 +457,8 @@ github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.30.0 h1:mYS github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.30.0/go.mod h1:XTAEe+ed1/YhRZr7IwJOcd7LxwEhdHgXFyAbhW5/0GU= github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.25.0 h1:M1lJ8nSB8pL5XPIq82UsizGi+t4ZXkmBkW2WpPWczpw= github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.25.0/go.mod h1:P9I8vfH8zNEoQNAqKYgpuWRce0tdKZQaCHHs1oF7SV8= -github.com/aws/aws-sdk-go-v2/service/route53resolver v1.38.0 h1:HRDZKs73kNRsb+5MhAz4+ONvPgiXVmgTfsj4/PoJIWs= -github.com/aws/aws-sdk-go-v2/service/route53resolver v1.38.0/go.mod h1:b9+yk2umEzWK2xzbsBZDrAeG63ia8B1ess7IyZG+mX4= +github.com/aws/aws-sdk-go-v2/service/route53resolver v1.39.0 h1:JCUZSQ0pCqqihKLmicNKzvKt0JpXzwyWr4izSjyKxbg= +github.com/aws/aws-sdk-go-v2/service/route53resolver v1.39.0/go.mod h1:gF2Hv8YowjskA+/IKprIj9QroaE0HdD7H0Ay39K4y2s= github.com/aws/aws-sdk-go-v2/service/rum v1.26.0 h1:ZqNEWtitFjwaKGPqtPSK8cq0LaTUGKOBbvT/2+n7Zg4= github.com/aws/aws-sdk-go-v2/service/rum v1.26.0/go.mod h1:PLpZddWg0SWhlNl442cRfa5zeWV7NCECrE/naqMhzl8= github.com/aws/aws-sdk-go-v2/service/s3 v1.87.0 h1:egoDf+Geuuntmw79Mz6mk9gGmELCPzg5PFEABOHB+6Y= From 2d23a0185956282117aafc6495295d6d4b1645c5 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:02 -0400 Subject: [PATCH 1027/1301] go get github.com/aws/aws-sdk-go-v2/service/rum. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 06bf8ac1764c..83d5e9830131 100644 --- a/go.mod +++ b/go.mod @@ -219,7 +219,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.30.0 github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.25.0 github.com/aws/aws-sdk-go-v2/service/route53resolver v1.39.0 - github.com/aws/aws-sdk-go-v2/service/rum v1.26.0 + github.com/aws/aws-sdk-go-v2/service/rum v1.27.0 github.com/aws/aws-sdk-go-v2/service/s3 v1.87.0 github.com/aws/aws-sdk-go-v2/service/s3control v1.63.0 github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0 diff --git a/go.sum b/go.sum index b7f9a53d20b9..fbdc03437d2e 100644 --- a/go.sum +++ b/go.sum @@ -459,8 +459,8 @@ github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.25.0 h1:M1lJ8nS github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.25.0/go.mod h1:P9I8vfH8zNEoQNAqKYgpuWRce0tdKZQaCHHs1oF7SV8= github.com/aws/aws-sdk-go-v2/service/route53resolver v1.39.0 h1:JCUZSQ0pCqqihKLmicNKzvKt0JpXzwyWr4izSjyKxbg= github.com/aws/aws-sdk-go-v2/service/route53resolver v1.39.0/go.mod h1:gF2Hv8YowjskA+/IKprIj9QroaE0HdD7H0Ay39K4y2s= -github.com/aws/aws-sdk-go-v2/service/rum v1.26.0 h1:ZqNEWtitFjwaKGPqtPSK8cq0LaTUGKOBbvT/2+n7Zg4= -github.com/aws/aws-sdk-go-v2/service/rum v1.26.0/go.mod h1:PLpZddWg0SWhlNl442cRfa5zeWV7NCECrE/naqMhzl8= +github.com/aws/aws-sdk-go-v2/service/rum v1.27.0 h1:3r/u8MwfSuEu/PggD/JS+1/p2/g/a3mz+bjg1uTSyys= +github.com/aws/aws-sdk-go-v2/service/rum v1.27.0/go.mod h1:P7vki/W7C8Yufk6IMf8pZys8ZecwQ9AELEQf2KtRAXA= github.com/aws/aws-sdk-go-v2/service/s3 v1.87.0 h1:egoDf+Geuuntmw79Mz6mk9gGmELCPzg5PFEABOHB+6Y= github.com/aws/aws-sdk-go-v2/service/s3 v1.87.0/go.mod h1:t9MDi29H+HDbkolTSQtbI0HP9DemAWQzUjmWC7LGMnE= github.com/aws/aws-sdk-go-v2/service/s3control v1.63.0 h1:Ke1mqUlAVTdAsd8MUOotJiYkmOIYPHsgsEvGw6GUUkE= From 4ca487a112dae651577da7b7c207d2013c392a77 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:04 -0400 Subject: [PATCH 1028/1301] go get github.com/aws/aws-sdk-go-v2/service/s3control. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 83d5e9830131..377f137e7a06 100644 --- a/go.mod +++ b/go.mod @@ -221,7 +221,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/route53resolver v1.39.0 github.com/aws/aws-sdk-go-v2/service/rum v1.27.0 github.com/aws/aws-sdk-go-v2/service/s3 v1.87.0 - github.com/aws/aws-sdk-go-v2/service/s3control v1.63.0 + github.com/aws/aws-sdk-go-v2/service/s3control v1.64.0 github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0 github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0 github.com/aws/aws-sdk-go-v2/service/s3vectors v1.3.0 diff --git a/go.sum b/go.sum index fbdc03437d2e..91b081a9a93a 100644 --- a/go.sum +++ b/go.sum @@ -463,8 +463,8 @@ github.com/aws/aws-sdk-go-v2/service/rum v1.27.0 h1:3r/u8MwfSuEu/PggD/JS+1/p2/g/ github.com/aws/aws-sdk-go-v2/service/rum v1.27.0/go.mod h1:P7vki/W7C8Yufk6IMf8pZys8ZecwQ9AELEQf2KtRAXA= github.com/aws/aws-sdk-go-v2/service/s3 v1.87.0 h1:egoDf+Geuuntmw79Mz6mk9gGmELCPzg5PFEABOHB+6Y= github.com/aws/aws-sdk-go-v2/service/s3 v1.87.0/go.mod h1:t9MDi29H+HDbkolTSQtbI0HP9DemAWQzUjmWC7LGMnE= -github.com/aws/aws-sdk-go-v2/service/s3control v1.63.0 h1:Ke1mqUlAVTdAsd8MUOotJiYkmOIYPHsgsEvGw6GUUkE= -github.com/aws/aws-sdk-go-v2/service/s3control v1.63.0/go.mod h1:UjBvYLSsE98Zow7RHk2mfbw9QVlX5WNIqDPo1hxrjdY= +github.com/aws/aws-sdk-go-v2/service/s3control v1.64.0 h1:vq66S6Ulu9VLBGCuOtENpbxBEdpUdn6sBopaoP9/SKY= +github.com/aws/aws-sdk-go-v2/service/s3control v1.64.0/go.mod h1:W2e0S97cCup2ME32T3fECFSELYcU71486wsnjMG5GwQ= github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0 h1:M5nUP3UBHZEjw0QS1JfqQupAvUgjDyoHBzk+y0cFIJs= github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0/go.mod h1:jdBR10G+Lp9mVcEZkbFPVJdSAEq+HJVnQLOIkRylRt8= github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0 h1:lLiy94CE3tRVKCFM6nsa0ERMBhDBC9EDC6Bx1shhack= From 5fedb2632c08c77a899e79c77b4882e615681d7d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:05 -0400 Subject: [PATCH 1029/1301] go get github.com/aws/aws-sdk-go-v2/service/s3outposts. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 377f137e7a06..14f1323358ee 100644 --- a/go.mod +++ b/go.mod @@ -222,7 +222,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/rum v1.27.0 github.com/aws/aws-sdk-go-v2/service/s3 v1.87.0 github.com/aws/aws-sdk-go-v2/service/s3control v1.64.0 - github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0 + github.com/aws/aws-sdk-go-v2/service/s3outposts v1.32.0 github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0 github.com/aws/aws-sdk-go-v2/service/s3vectors v1.3.0 github.com/aws/aws-sdk-go-v2/service/sagemaker v1.206.0 diff --git a/go.sum b/go.sum index 91b081a9a93a..5729269b6a4b 100644 --- a/go.sum +++ b/go.sum @@ -465,8 +465,8 @@ github.com/aws/aws-sdk-go-v2/service/s3 v1.87.0 h1:egoDf+Geuuntmw79Mz6mk9gGmELCP github.com/aws/aws-sdk-go-v2/service/s3 v1.87.0/go.mod h1:t9MDi29H+HDbkolTSQtbI0HP9DemAWQzUjmWC7LGMnE= github.com/aws/aws-sdk-go-v2/service/s3control v1.64.0 h1:vq66S6Ulu9VLBGCuOtENpbxBEdpUdn6sBopaoP9/SKY= github.com/aws/aws-sdk-go-v2/service/s3control v1.64.0/go.mod h1:W2e0S97cCup2ME32T3fECFSELYcU71486wsnjMG5GwQ= -github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0 h1:M5nUP3UBHZEjw0QS1JfqQupAvUgjDyoHBzk+y0cFIJs= -github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0/go.mod h1:jdBR10G+Lp9mVcEZkbFPVJdSAEq+HJVnQLOIkRylRt8= +github.com/aws/aws-sdk-go-v2/service/s3outposts v1.32.0 h1:mT0D16ojwEPM0/XW1yVAeJYvX1F5B2yMhwf7CDpvIqw= +github.com/aws/aws-sdk-go-v2/service/s3outposts v1.32.0/go.mod h1:CiSms5HhJ3M2Q0sYi27TI7a11rVYW4J92nYKpwRm7qk= github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0 h1:lLiy94CE3tRVKCFM6nsa0ERMBhDBC9EDC6Bx1shhack= github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0/go.mod h1:4W2CAy/TSu6SJ8DlBv5LSz7x58DPN8aiRdlhjvg8WEA= github.com/aws/aws-sdk-go-v2/service/s3vectors v1.3.0 h1:Edx+W8Px8zDrFnoyxwdOjFUzHPzuxy0IXxIV+T/Z3bI= From 4b62a689ae73bb87b1734c45ab448149ffce1993 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:06 -0400 Subject: [PATCH 1030/1301] go get github.com/aws/aws-sdk-go-v2/service/s3tables. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 14f1323358ee..f90814893589 100644 --- a/go.mod +++ b/go.mod @@ -223,7 +223,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/s3 v1.87.0 github.com/aws/aws-sdk-go-v2/service/s3control v1.64.0 github.com/aws/aws-sdk-go-v2/service/s3outposts v1.32.0 - github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0 + github.com/aws/aws-sdk-go-v2/service/s3tables v1.9.0 github.com/aws/aws-sdk-go-v2/service/s3vectors v1.3.0 github.com/aws/aws-sdk-go-v2/service/sagemaker v1.206.0 github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0 diff --git a/go.sum b/go.sum index 5729269b6a4b..61f69f687e34 100644 --- a/go.sum +++ b/go.sum @@ -467,8 +467,8 @@ github.com/aws/aws-sdk-go-v2/service/s3control v1.64.0 h1:vq66S6Ulu9VLBGCuOtENpb github.com/aws/aws-sdk-go-v2/service/s3control v1.64.0/go.mod h1:W2e0S97cCup2ME32T3fECFSELYcU71486wsnjMG5GwQ= github.com/aws/aws-sdk-go-v2/service/s3outposts v1.32.0 h1:mT0D16ojwEPM0/XW1yVAeJYvX1F5B2yMhwf7CDpvIqw= github.com/aws/aws-sdk-go-v2/service/s3outposts v1.32.0/go.mod h1:CiSms5HhJ3M2Q0sYi27TI7a11rVYW4J92nYKpwRm7qk= -github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0 h1:lLiy94CE3tRVKCFM6nsa0ERMBhDBC9EDC6Bx1shhack= -github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0/go.mod h1:4W2CAy/TSu6SJ8DlBv5LSz7x58DPN8aiRdlhjvg8WEA= +github.com/aws/aws-sdk-go-v2/service/s3tables v1.9.0 h1:b+DS5OdH3yZCVMHLs/8aA9Nuw+g/WphnYqWj1lnrZbU= +github.com/aws/aws-sdk-go-v2/service/s3tables v1.9.0/go.mod h1:jVLVoLsG7vN8XEO7OQ7Bqw6qqHXMqWbSBMZ7tmY8R9Q= github.com/aws/aws-sdk-go-v2/service/s3vectors v1.3.0 h1:Edx+W8Px8zDrFnoyxwdOjFUzHPzuxy0IXxIV+T/Z3bI= github.com/aws/aws-sdk-go-v2/service/s3vectors v1.3.0/go.mod h1:ionbPTnYOWe9G7OQi/yGz0fDefoTUiAWs2tFAxCQiss= github.com/aws/aws-sdk-go-v2/service/sagemaker v1.206.0 h1:TW3sZpiVEqvSksoVXoniO+4hmJ97E+40pazr3m5EMv8= From 53468f2049deb8f54824c731fd054ab68bb7721f Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:07 -0400 Subject: [PATCH 1031/1301] go get github.com/aws/aws-sdk-go-v2/service/s3vectors. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index f90814893589..9b00a8a0cc1c 100644 --- a/go.mod +++ b/go.mod @@ -224,7 +224,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/s3control v1.64.0 github.com/aws/aws-sdk-go-v2/service/s3outposts v1.32.0 github.com/aws/aws-sdk-go-v2/service/s3tables v1.9.0 - github.com/aws/aws-sdk-go-v2/service/s3vectors v1.3.0 + github.com/aws/aws-sdk-go-v2/service/s3vectors v1.4.0 github.com/aws/aws-sdk-go-v2/service/sagemaker v1.206.0 github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0 github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0 diff --git a/go.sum b/go.sum index 61f69f687e34..e4f8169405fd 100644 --- a/go.sum +++ b/go.sum @@ -469,8 +469,8 @@ github.com/aws/aws-sdk-go-v2/service/s3outposts v1.32.0 h1:mT0D16ojwEPM0/XW1yVAe github.com/aws/aws-sdk-go-v2/service/s3outposts v1.32.0/go.mod h1:CiSms5HhJ3M2Q0sYi27TI7a11rVYW4J92nYKpwRm7qk= github.com/aws/aws-sdk-go-v2/service/s3tables v1.9.0 h1:b+DS5OdH3yZCVMHLs/8aA9Nuw+g/WphnYqWj1lnrZbU= github.com/aws/aws-sdk-go-v2/service/s3tables v1.9.0/go.mod h1:jVLVoLsG7vN8XEO7OQ7Bqw6qqHXMqWbSBMZ7tmY8R9Q= -github.com/aws/aws-sdk-go-v2/service/s3vectors v1.3.0 h1:Edx+W8Px8zDrFnoyxwdOjFUzHPzuxy0IXxIV+T/Z3bI= -github.com/aws/aws-sdk-go-v2/service/s3vectors v1.3.0/go.mod h1:ionbPTnYOWe9G7OQi/yGz0fDefoTUiAWs2tFAxCQiss= +github.com/aws/aws-sdk-go-v2/service/s3vectors v1.4.0 h1:9xIfi7XPNyqbrZBCVsAnxlajEsNLP4qZ/T+rw6NYtZ0= +github.com/aws/aws-sdk-go-v2/service/s3vectors v1.4.0/go.mod h1:1ByJ/xRNkPDVddSxcpou91CiBIose3JWIWwFw/QjzD8= github.com/aws/aws-sdk-go-v2/service/sagemaker v1.206.0 h1:TW3sZpiVEqvSksoVXoniO+4hmJ97E+40pazr3m5EMv8= github.com/aws/aws-sdk-go-v2/service/sagemaker v1.206.0/go.mod h1:QAk+j4WZ3VtD9yJDKqF/sVq0fQCcjjQ5gZLVvoVGmWA= github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0 h1:peHVUtoH7i9QzmkCMyky/a+b2ysCMJ/M+KOtCVmkg7M= From 353e7c7355b5caad69db126fd165f55f777f34d0 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:09 -0400 Subject: [PATCH 1032/1301] go get github.com/aws/aws-sdk-go-v2/service/sagemaker. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 9b00a8a0cc1c..80f3327f5c53 100644 --- a/go.mod +++ b/go.mod @@ -225,7 +225,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/s3outposts v1.32.0 github.com/aws/aws-sdk-go-v2/service/s3tables v1.9.0 github.com/aws/aws-sdk-go-v2/service/s3vectors v1.4.0 - github.com/aws/aws-sdk-go-v2/service/sagemaker v1.206.0 + github.com/aws/aws-sdk-go-v2/service/sagemaker v1.207.0 github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0 github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0 github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.37.0 diff --git a/go.sum b/go.sum index e4f8169405fd..5560775c7671 100644 --- a/go.sum +++ b/go.sum @@ -471,8 +471,8 @@ github.com/aws/aws-sdk-go-v2/service/s3tables v1.9.0 h1:b+DS5OdH3yZCVMHLs/8aA9Nu github.com/aws/aws-sdk-go-v2/service/s3tables v1.9.0/go.mod h1:jVLVoLsG7vN8XEO7OQ7Bqw6qqHXMqWbSBMZ7tmY8R9Q= github.com/aws/aws-sdk-go-v2/service/s3vectors v1.4.0 h1:9xIfi7XPNyqbrZBCVsAnxlajEsNLP4qZ/T+rw6NYtZ0= github.com/aws/aws-sdk-go-v2/service/s3vectors v1.4.0/go.mod h1:1ByJ/xRNkPDVddSxcpou91CiBIose3JWIWwFw/QjzD8= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.206.0 h1:TW3sZpiVEqvSksoVXoniO+4hmJ97E+40pazr3m5EMv8= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.206.0/go.mod h1:QAk+j4WZ3VtD9yJDKqF/sVq0fQCcjjQ5gZLVvoVGmWA= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.207.0 h1:TCgHvPhW47af5m6EgGczGFAcY2JTGrjxifok50J+Hek= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.207.0/go.mod h1:sawKpnbUfWJb/Q/i2P3rXiM+vXUosAqJ1KOsuKxPRxU= github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0 h1:peHVUtoH7i9QzmkCMyky/a+b2ysCMJ/M+KOtCVmkg7M= github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0/go.mod h1:cQvpps9Xy75b4TIzRYRMnSYaUneTlECRD6p0Vn9hLew= github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0 h1:gpBCY2ekUMIFVyczrg5RZlhfCSfPvq33oo+vAKuz5TI= From 55a9d590c48eae757e0c6a1681dd93aaa37dc327 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:10 -0400 Subject: [PATCH 1033/1301] go get github.com/aws/aws-sdk-go-v2/service/scheduler. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 80f3327f5c53..765db026ea67 100644 --- a/go.mod +++ b/go.mod @@ -226,7 +226,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/s3tables v1.9.0 github.com/aws/aws-sdk-go-v2/service/s3vectors v1.4.0 github.com/aws/aws-sdk-go-v2/service/sagemaker v1.207.0 - github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0 + github.com/aws/aws-sdk-go-v2/service/scheduler v1.16.0 github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0 github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.37.0 github.com/aws/aws-sdk-go-v2/service/securityhub v1.61.0 diff --git a/go.sum b/go.sum index 5560775c7671..e43d72471d6f 100644 --- a/go.sum +++ b/go.sum @@ -473,8 +473,8 @@ github.com/aws/aws-sdk-go-v2/service/s3vectors v1.4.0 h1:9xIfi7XPNyqbrZBCVsAnxla github.com/aws/aws-sdk-go-v2/service/s3vectors v1.4.0/go.mod h1:1ByJ/xRNkPDVddSxcpou91CiBIose3JWIWwFw/QjzD8= github.com/aws/aws-sdk-go-v2/service/sagemaker v1.207.0 h1:TCgHvPhW47af5m6EgGczGFAcY2JTGrjxifok50J+Hek= github.com/aws/aws-sdk-go-v2/service/sagemaker v1.207.0/go.mod h1:sawKpnbUfWJb/Q/i2P3rXiM+vXUosAqJ1KOsuKxPRxU= -github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0 h1:peHVUtoH7i9QzmkCMyky/a+b2ysCMJ/M+KOtCVmkg7M= -github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0/go.mod h1:cQvpps9Xy75b4TIzRYRMnSYaUneTlECRD6p0Vn9hLew= +github.com/aws/aws-sdk-go-v2/service/scheduler v1.16.0 h1:vlmeLcOZ1PtqEpgRIZOOw49DABG9EWYkHHmC96IBgBM= +github.com/aws/aws-sdk-go-v2/service/scheduler v1.16.0/go.mod h1:2XG5FGAj7Ao8KR3scdaU76/YEsdUG304Qt1dIUfHIGM= github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0 h1:gpBCY2ekUMIFVyczrg5RZlhfCSfPvq33oo+vAKuz5TI= github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0/go.mod h1:rkj4nPmey5KTmwApEwZ4zMBBCQMKam+ATjLvNLz3flQ= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.37.0 h1:fC0s79wxfsbz/4WCvosbHLk2mb9ICjPyB+lWs6a0TGM= From 17ac04d779d91d99d68cd8e6706ac1d43f40fc5e Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:11 -0400 Subject: [PATCH 1034/1301] go get github.com/aws/aws-sdk-go-v2/service/schemas. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 765db026ea67..bfeddbc06855 100644 --- a/go.mod +++ b/go.mod @@ -227,7 +227,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/s3vectors v1.4.0 github.com/aws/aws-sdk-go-v2/service/sagemaker v1.207.0 github.com/aws/aws-sdk-go-v2/service/scheduler v1.16.0 - github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0 + github.com/aws/aws-sdk-go-v2/service/schemas v1.32.0 github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.37.0 github.com/aws/aws-sdk-go-v2/service/securityhub v1.61.0 github.com/aws/aws-sdk-go-v2/service/securitylake v1.22.0 diff --git a/go.sum b/go.sum index e43d72471d6f..b9354cf3184a 100644 --- a/go.sum +++ b/go.sum @@ -475,8 +475,8 @@ github.com/aws/aws-sdk-go-v2/service/sagemaker v1.207.0 h1:TCgHvPhW47af5m6EgGczG github.com/aws/aws-sdk-go-v2/service/sagemaker v1.207.0/go.mod h1:sawKpnbUfWJb/Q/i2P3rXiM+vXUosAqJ1KOsuKxPRxU= github.com/aws/aws-sdk-go-v2/service/scheduler v1.16.0 h1:vlmeLcOZ1PtqEpgRIZOOw49DABG9EWYkHHmC96IBgBM= github.com/aws/aws-sdk-go-v2/service/scheduler v1.16.0/go.mod h1:2XG5FGAj7Ao8KR3scdaU76/YEsdUG304Qt1dIUfHIGM= -github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0 h1:gpBCY2ekUMIFVyczrg5RZlhfCSfPvq33oo+vAKuz5TI= -github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0/go.mod h1:rkj4nPmey5KTmwApEwZ4zMBBCQMKam+ATjLvNLz3flQ= +github.com/aws/aws-sdk-go-v2/service/schemas v1.32.0 h1:37TFUN36cFLnIj32FFanXqD+uuXwASxCEEckhdBjCnE= +github.com/aws/aws-sdk-go-v2/service/schemas v1.32.0/go.mod h1:kZyD0Nd+qn+NgT7Bc3wWwkgTs+J9ufgH46zvV/aC1x0= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.37.0 h1:fC0s79wxfsbz/4WCvosbHLk2mb9ICjPyB+lWs6a0TGM= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.37.0/go.mod h1:6HxvKCop1trgfFlQGQmlq+WbMM5yPazMN9ClWFWGtDM= github.com/aws/aws-sdk-go-v2/service/securityhub v1.61.0 h1:aCI2GYfTx4TzzPf2WEzsCqvXee1BRqtgzOcNFf2dFmk= From 334b6b0a24221cb9096d9c83cf7678a21de43276 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:12 -0400 Subject: [PATCH 1035/1301] go get github.com/aws/aws-sdk-go-v2/service/secretsmanager. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index bfeddbc06855..8045dbc7e63c 100644 --- a/go.mod +++ b/go.mod @@ -228,7 +228,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/sagemaker v1.207.0 github.com/aws/aws-sdk-go-v2/service/scheduler v1.16.0 github.com/aws/aws-sdk-go-v2/service/schemas v1.32.0 - github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.37.0 + github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.38.0 github.com/aws/aws-sdk-go-v2/service/securityhub v1.61.0 github.com/aws/aws-sdk-go-v2/service/securitylake v1.22.0 github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.27.0 diff --git a/go.sum b/go.sum index b9354cf3184a..b7fa241caf4d 100644 --- a/go.sum +++ b/go.sum @@ -477,8 +477,8 @@ github.com/aws/aws-sdk-go-v2/service/scheduler v1.16.0 h1:vlmeLcOZ1PtqEpgRIZOOw4 github.com/aws/aws-sdk-go-v2/service/scheduler v1.16.0/go.mod h1:2XG5FGAj7Ao8KR3scdaU76/YEsdUG304Qt1dIUfHIGM= github.com/aws/aws-sdk-go-v2/service/schemas v1.32.0 h1:37TFUN36cFLnIj32FFanXqD+uuXwASxCEEckhdBjCnE= github.com/aws/aws-sdk-go-v2/service/schemas v1.32.0/go.mod h1:kZyD0Nd+qn+NgT7Bc3wWwkgTs+J9ufgH46zvV/aC1x0= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.37.0 h1:fC0s79wxfsbz/4WCvosbHLk2mb9ICjPyB+lWs6a0TGM= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.37.0/go.mod h1:6HxvKCop1trgfFlQGQmlq+WbMM5yPazMN9ClWFWGtDM= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.38.0 h1:r5HePq6z0BEXHOZ5/k6bLZVYMSAplzNbvBxHlb2R31A= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.38.0/go.mod h1:Vjg2dOkHDyjU1GFkMtly8DF0r2hKzddAnotNHN6qovY= github.com/aws/aws-sdk-go-v2/service/securityhub v1.61.0 h1:aCI2GYfTx4TzzPf2WEzsCqvXee1BRqtgzOcNFf2dFmk= github.com/aws/aws-sdk-go-v2/service/securityhub v1.61.0/go.mod h1:32eH94E8iekHQ/YdEyJw50SNUiStOjMOZ7l8cEw4pLY= github.com/aws/aws-sdk-go-v2/service/securitylake v1.22.0 h1:gDD/r2shxWIUj+ewgBoKcESeME6uaTEZWrfp1eyq9Dg= From 69028daa870c6138f46ef6ad8b224fcacb6ed164 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:13 -0400 Subject: [PATCH 1036/1301] go get github.com/aws/aws-sdk-go-v2/service/securityhub. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8045dbc7e63c..704211c4e92f 100644 --- a/go.mod +++ b/go.mod @@ -229,7 +229,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/scheduler v1.16.0 github.com/aws/aws-sdk-go-v2/service/schemas v1.32.0 github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.38.0 - github.com/aws/aws-sdk-go-v2/service/securityhub v1.61.0 + github.com/aws/aws-sdk-go-v2/service/securityhub v1.62.0 github.com/aws/aws-sdk-go-v2/service/securitylake v1.22.0 github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.27.0 github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.36.0 diff --git a/go.sum b/go.sum index b7fa241caf4d..4087062e7451 100644 --- a/go.sum +++ b/go.sum @@ -479,8 +479,8 @@ github.com/aws/aws-sdk-go-v2/service/schemas v1.32.0 h1:37TFUN36cFLnIj32FFanXqD+ github.com/aws/aws-sdk-go-v2/service/schemas v1.32.0/go.mod h1:kZyD0Nd+qn+NgT7Bc3wWwkgTs+J9ufgH46zvV/aC1x0= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.38.0 h1:r5HePq6z0BEXHOZ5/k6bLZVYMSAplzNbvBxHlb2R31A= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.38.0/go.mod h1:Vjg2dOkHDyjU1GFkMtly8DF0r2hKzddAnotNHN6qovY= -github.com/aws/aws-sdk-go-v2/service/securityhub v1.61.0 h1:aCI2GYfTx4TzzPf2WEzsCqvXee1BRqtgzOcNFf2dFmk= -github.com/aws/aws-sdk-go-v2/service/securityhub v1.61.0/go.mod h1:32eH94E8iekHQ/YdEyJw50SNUiStOjMOZ7l8cEw4pLY= +github.com/aws/aws-sdk-go-v2/service/securityhub v1.62.0 h1:sKzvE3fkQNa4iXbS2zhPsWhoYZUuPGeyCx29zWaUAyg= +github.com/aws/aws-sdk-go-v2/service/securityhub v1.62.0/go.mod h1:O3x2LxaDhY0QmJKHLaw2MGgKeYhDMWvi7zsJ+rcnWQU= github.com/aws/aws-sdk-go-v2/service/securitylake v1.22.0 h1:gDD/r2shxWIUj+ewgBoKcESeME6uaTEZWrfp1eyq9Dg= github.com/aws/aws-sdk-go-v2/service/securitylake v1.22.0/go.mod h1:8jHxtowB6qC1v2gsi4B7aWVynHuDTGvDGQdzftRZ+zA= github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.27.0 h1:1r06l2UbLJGUOP1LeQ2ulXm2PtS18joFm9dasYo5NXY= From ce4ea09efe6e62fa88f830946cd72dd7757bb212 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:14 -0400 Subject: [PATCH 1037/1301] go get github.com/aws/aws-sdk-go-v2/service/securitylake. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 704211c4e92f..46c7400d8040 100644 --- a/go.mod +++ b/go.mod @@ -230,7 +230,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/schemas v1.32.0 github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.38.0 github.com/aws/aws-sdk-go-v2/service/securityhub v1.62.0 - github.com/aws/aws-sdk-go-v2/service/securitylake v1.22.0 + github.com/aws/aws-sdk-go-v2/service/securitylake v1.23.0 github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.27.0 github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.36.0 github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.33.0 diff --git a/go.sum b/go.sum index 4087062e7451..7375f427e675 100644 --- a/go.sum +++ b/go.sum @@ -481,8 +481,8 @@ github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.38.0 h1:r5HePq6z0BEXHOZ5/ github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.38.0/go.mod h1:Vjg2dOkHDyjU1GFkMtly8DF0r2hKzddAnotNHN6qovY= github.com/aws/aws-sdk-go-v2/service/securityhub v1.62.0 h1:sKzvE3fkQNa4iXbS2zhPsWhoYZUuPGeyCx29zWaUAyg= github.com/aws/aws-sdk-go-v2/service/securityhub v1.62.0/go.mod h1:O3x2LxaDhY0QmJKHLaw2MGgKeYhDMWvi7zsJ+rcnWQU= -github.com/aws/aws-sdk-go-v2/service/securitylake v1.22.0 h1:gDD/r2shxWIUj+ewgBoKcESeME6uaTEZWrfp1eyq9Dg= -github.com/aws/aws-sdk-go-v2/service/securitylake v1.22.0/go.mod h1:8jHxtowB6qC1v2gsi4B7aWVynHuDTGvDGQdzftRZ+zA= +github.com/aws/aws-sdk-go-v2/service/securitylake v1.23.0 h1:bhfdvrLXqdIbe+XixpCiW5plHoozqTO7afs+26ovHAk= +github.com/aws/aws-sdk-go-v2/service/securitylake v1.23.0/go.mod h1:QV9oXwcwhXmG0epKJcTFu0mfZEwkowRVpkhIteltA5M= github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.27.0 h1:1r06l2UbLJGUOP1LeQ2ulXm2PtS18joFm9dasYo5NXY= github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.27.0/go.mod h1:NUStYN0KZE1VG4UVvp7XjZZe1F57Wwyoecq1paMLoiQ= github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.36.0 h1:zlCZr/65ADvLfmONcKzrbXoVnayipGvR1HyLzAenutA= From ed7ff6c8bb16a053be1e2c865979e9546e2aa285 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:15 -0400 Subject: [PATCH 1038/1301] go get github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 46c7400d8040..f54e1d713df0 100644 --- a/go.mod +++ b/go.mod @@ -231,7 +231,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.38.0 github.com/aws/aws-sdk-go-v2/service/securityhub v1.62.0 github.com/aws/aws-sdk-go-v2/service/securitylake v1.23.0 - github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.27.0 + github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.28.0 github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.36.0 github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.33.0 github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.37.0 diff --git a/go.sum b/go.sum index 7375f427e675..15aba3045542 100644 --- a/go.sum +++ b/go.sum @@ -483,8 +483,8 @@ github.com/aws/aws-sdk-go-v2/service/securityhub v1.62.0 h1:sKzvE3fkQNa4iXbS2zhP github.com/aws/aws-sdk-go-v2/service/securityhub v1.62.0/go.mod h1:O3x2LxaDhY0QmJKHLaw2MGgKeYhDMWvi7zsJ+rcnWQU= github.com/aws/aws-sdk-go-v2/service/securitylake v1.23.0 h1:bhfdvrLXqdIbe+XixpCiW5plHoozqTO7afs+26ovHAk= github.com/aws/aws-sdk-go-v2/service/securitylake v1.23.0/go.mod h1:QV9oXwcwhXmG0epKJcTFu0mfZEwkowRVpkhIteltA5M= -github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.27.0 h1:1r06l2UbLJGUOP1LeQ2ulXm2PtS18joFm9dasYo5NXY= -github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.27.0/go.mod h1:NUStYN0KZE1VG4UVvp7XjZZe1F57Wwyoecq1paMLoiQ= +github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.28.0 h1:zJ4sLmAK4W6tk1czlTcu0pPMyCEFsZvv/v0NC1CymuE= +github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.28.0/go.mod h1:HYxuleUSaHgXo2zG8LX1x//z561i55ilDsrVdLbxt78= github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.36.0 h1:zlCZr/65ADvLfmONcKzrbXoVnayipGvR1HyLzAenutA= github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.36.0/go.mod h1:7KZX4tCstBrE2P1+VMJLpHOBm+QWOfEh40kcmuYmv4o= github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.33.0 h1:O4l2ptRmGbSau3W9r71yazynDiCyLcdoegwbKJNzS68= From 54a3b5b0073fc7cdf8eb268d73ccf64e91684f78 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:17 -0400 Subject: [PATCH 1039/1301] go get github.com/aws/aws-sdk-go-v2/service/servicecatalog. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index f54e1d713df0..7d5bf596e53c 100644 --- a/go.mod +++ b/go.mod @@ -232,7 +232,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/securityhub v1.62.0 github.com/aws/aws-sdk-go-v2/service/securitylake v1.23.0 github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.28.0 - github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.36.0 + github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.37.0 github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.33.0 github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.37.0 github.com/aws/aws-sdk-go-v2/service/servicequotas v1.30.0 diff --git a/go.sum b/go.sum index 15aba3045542..961959441175 100644 --- a/go.sum +++ b/go.sum @@ -485,8 +485,8 @@ github.com/aws/aws-sdk-go-v2/service/securitylake v1.23.0 h1:bhfdvrLXqdIbe+XixpC github.com/aws/aws-sdk-go-v2/service/securitylake v1.23.0/go.mod h1:QV9oXwcwhXmG0epKJcTFu0mfZEwkowRVpkhIteltA5M= github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.28.0 h1:zJ4sLmAK4W6tk1czlTcu0pPMyCEFsZvv/v0NC1CymuE= github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.28.0/go.mod h1:HYxuleUSaHgXo2zG8LX1x//z561i55ilDsrVdLbxt78= -github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.36.0 h1:zlCZr/65ADvLfmONcKzrbXoVnayipGvR1HyLzAenutA= -github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.36.0/go.mod h1:7KZX4tCstBrE2P1+VMJLpHOBm+QWOfEh40kcmuYmv4o= +github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.37.0 h1:c9obaYL+TZzWwZf59bU+F18J89YWxciIiGYf+Sr1NU4= +github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.37.0/go.mod h1:r7nLneDqXu0JsahY3BLtRYyQhsIBloK9O2KLYbSvHU8= github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.33.0 h1:O4l2ptRmGbSau3W9r71yazynDiCyLcdoegwbKJNzS68= github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.33.0/go.mod h1:Aet4t+BW0xV1hm0lLvWoS+LF++1ahOZn7qdZsNE8tjI= github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.37.0 h1:ANrVQ718sD62ltN18eVQq5bIwEzQuPKXmd/H4eMSfPk= From 6dc77df6f8bf6bf7f36648f1310a3adcd2a812ef Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:18 -0400 Subject: [PATCH 1040/1301] go get github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7d5bf596e53c..5699f7f39e4b 100644 --- a/go.mod +++ b/go.mod @@ -233,7 +233,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/securitylake v1.23.0 github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.28.0 github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.37.0 - github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.33.0 + github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.34.0 github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.37.0 github.com/aws/aws-sdk-go-v2/service/servicequotas v1.30.0 github.com/aws/aws-sdk-go-v2/service/ses v1.32.0 diff --git a/go.sum b/go.sum index 961959441175..d60d9bf86e06 100644 --- a/go.sum +++ b/go.sum @@ -487,8 +487,8 @@ github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.28.0 h1: github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.28.0/go.mod h1:HYxuleUSaHgXo2zG8LX1x//z561i55ilDsrVdLbxt78= github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.37.0 h1:c9obaYL+TZzWwZf59bU+F18J89YWxciIiGYf+Sr1NU4= github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.37.0/go.mod h1:r7nLneDqXu0JsahY3BLtRYyQhsIBloK9O2KLYbSvHU8= -github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.33.0 h1:O4l2ptRmGbSau3W9r71yazynDiCyLcdoegwbKJNzS68= -github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.33.0/go.mod h1:Aet4t+BW0xV1hm0lLvWoS+LF++1ahOZn7qdZsNE8tjI= +github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.34.0 h1:kSiJ+KBflpGStdvVB8osVwzglb9QOcCGeaNeveHUAuo= +github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.34.0/go.mod h1:6QMbXmJiAJ/+xLTDMZJUq36LdNsMXKj9cH5MeG69a5c= github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.37.0 h1:ANrVQ718sD62ltN18eVQq5bIwEzQuPKXmd/H4eMSfPk= github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.37.0/go.mod h1:0Y5X94ePWp4I/S4/BQ8fqdJni6Ymbnnh0Gyc4lpyY5U= github.com/aws/aws-sdk-go-v2/service/servicequotas v1.30.0 h1:DkMHQQ1yfoPT57erFe/SJXCZ5Weo5T0/AROuA6hg4VQ= From dc8484d85a309645790cea72b295f66b3ea6655d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:19 -0400 Subject: [PATCH 1041/1301] go get github.com/aws/aws-sdk-go-v2/service/servicediscovery. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5699f7f39e4b..fedc6f7b5fcc 100644 --- a/go.mod +++ b/go.mod @@ -234,7 +234,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.28.0 github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.37.0 github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.34.0 - github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.37.0 + github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.38.0 github.com/aws/aws-sdk-go-v2/service/servicequotas v1.30.0 github.com/aws/aws-sdk-go-v2/service/ses v1.32.0 github.com/aws/aws-sdk-go-v2/service/sesv2 v1.50.0 diff --git a/go.sum b/go.sum index d60d9bf86e06..95a236e5dcc4 100644 --- a/go.sum +++ b/go.sum @@ -489,8 +489,8 @@ github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.37.0 h1:c9obaYL+TZzWwZf59 github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.37.0/go.mod h1:r7nLneDqXu0JsahY3BLtRYyQhsIBloK9O2KLYbSvHU8= github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.34.0 h1:kSiJ+KBflpGStdvVB8osVwzglb9QOcCGeaNeveHUAuo= github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.34.0/go.mod h1:6QMbXmJiAJ/+xLTDMZJUq36LdNsMXKj9cH5MeG69a5c= -github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.37.0 h1:ANrVQ718sD62ltN18eVQq5bIwEzQuPKXmd/H4eMSfPk= -github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.37.0/go.mod h1:0Y5X94ePWp4I/S4/BQ8fqdJni6Ymbnnh0Gyc4lpyY5U= +github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.38.0 h1:zQ78zrO5o29Sx+pPK2AYaf6WY2tvmZ2DQcYnX9NfhNE= +github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.38.0/go.mod h1:nnG6Pe7Qu1Bv/mE3eL/3gCiQYrAWyXFXDOtOKcC7eh0= github.com/aws/aws-sdk-go-v2/service/servicequotas v1.30.0 h1:DkMHQQ1yfoPT57erFe/SJXCZ5Weo5T0/AROuA6hg4VQ= github.com/aws/aws-sdk-go-v2/service/servicequotas v1.30.0/go.mod h1:r9XW7P7bOhnjMycQWPVeIEPvmzmW8RqzW65vp4z+IjY= github.com/aws/aws-sdk-go-v2/service/ses v1.32.0 h1:hsvll+Vlk63Wh38r5pWcZTGmA8oYAULQISXguLFc0IA= From a4ef27c8a25f4ae7e7b4d8c2ce6ee6a82f43c5eb Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:20 -0400 Subject: [PATCH 1042/1301] go get github.com/aws/aws-sdk-go-v2/service/servicequotas. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index fedc6f7b5fcc..51aedb9d49fb 100644 --- a/go.mod +++ b/go.mod @@ -235,7 +235,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.37.0 github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.34.0 github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.38.0 - github.com/aws/aws-sdk-go-v2/service/servicequotas v1.30.0 + github.com/aws/aws-sdk-go-v2/service/servicequotas v1.31.0 github.com/aws/aws-sdk-go-v2/service/ses v1.32.0 github.com/aws/aws-sdk-go-v2/service/sesv2 v1.50.0 github.com/aws/aws-sdk-go-v2/service/sfn v1.37.0 diff --git a/go.sum b/go.sum index 95a236e5dcc4..dde474decf80 100644 --- a/go.sum +++ b/go.sum @@ -491,8 +491,8 @@ github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.34.0 h1:kSiJ+K github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.34.0/go.mod h1:6QMbXmJiAJ/+xLTDMZJUq36LdNsMXKj9cH5MeG69a5c= github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.38.0 h1:zQ78zrO5o29Sx+pPK2AYaf6WY2tvmZ2DQcYnX9NfhNE= github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.38.0/go.mod h1:nnG6Pe7Qu1Bv/mE3eL/3gCiQYrAWyXFXDOtOKcC7eh0= -github.com/aws/aws-sdk-go-v2/service/servicequotas v1.30.0 h1:DkMHQQ1yfoPT57erFe/SJXCZ5Weo5T0/AROuA6hg4VQ= -github.com/aws/aws-sdk-go-v2/service/servicequotas v1.30.0/go.mod h1:r9XW7P7bOhnjMycQWPVeIEPvmzmW8RqzW65vp4z+IjY= +github.com/aws/aws-sdk-go-v2/service/servicequotas v1.31.0 h1:IqZZ0dHv/NhExc+8HI6CdgTZLz7Yjn9OaExTmFX4UX8= +github.com/aws/aws-sdk-go-v2/service/servicequotas v1.31.0/go.mod h1:q+dUus04tyoWH3qZxKzu68bfL4MFs5ahSTSkyFIqmFQ= github.com/aws/aws-sdk-go-v2/service/ses v1.32.0 h1:hsvll+Vlk63Wh38r5pWcZTGmA8oYAULQISXguLFc0IA= github.com/aws/aws-sdk-go-v2/service/ses v1.32.0/go.mod h1:w6GEPvRXyzj34dGpgbo5MrRUEFTRoXEVNEvg56TpKhE= github.com/aws/aws-sdk-go-v2/service/sesv2 v1.50.0 h1:ahFtnukBJ2pZmZ2lAHXozc0bH/Xid7ceScQXYM4nU6w= From be125f18c66b10ee0fc72935b890bc48e3a38e10 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:21 -0400 Subject: [PATCH 1043/1301] go get github.com/aws/aws-sdk-go-v2/service/sesv2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 51aedb9d49fb..472d4367f43d 100644 --- a/go.mod +++ b/go.mod @@ -237,7 +237,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.38.0 github.com/aws/aws-sdk-go-v2/service/servicequotas v1.31.0 github.com/aws/aws-sdk-go-v2/service/ses v1.32.0 - github.com/aws/aws-sdk-go-v2/service/sesv2 v1.50.0 + github.com/aws/aws-sdk-go-v2/service/sesv2 v1.51.0 github.com/aws/aws-sdk-go-v2/service/sfn v1.37.0 github.com/aws/aws-sdk-go-v2/service/shield v1.32.0 github.com/aws/aws-sdk-go-v2/service/signer v1.29.0 diff --git a/go.sum b/go.sum index dde474decf80..fb930fd6129b 100644 --- a/go.sum +++ b/go.sum @@ -495,8 +495,8 @@ github.com/aws/aws-sdk-go-v2/service/servicequotas v1.31.0 h1:IqZZ0dHv/NhExc+8HI github.com/aws/aws-sdk-go-v2/service/servicequotas v1.31.0/go.mod h1:q+dUus04tyoWH3qZxKzu68bfL4MFs5ahSTSkyFIqmFQ= github.com/aws/aws-sdk-go-v2/service/ses v1.32.0 h1:hsvll+Vlk63Wh38r5pWcZTGmA8oYAULQISXguLFc0IA= github.com/aws/aws-sdk-go-v2/service/ses v1.32.0/go.mod h1:w6GEPvRXyzj34dGpgbo5MrRUEFTRoXEVNEvg56TpKhE= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.50.0 h1:ahFtnukBJ2pZmZ2lAHXozc0bH/Xid7ceScQXYM4nU6w= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.50.0/go.mod h1:BXVAeBjFCdDa+ah9DiaKj16DFXDPkFOYdUagssUsptI= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.51.0 h1:EGgXgQlHPLB4AQ2EitqhfkhRkyxHJ+Y1CTFbP6vfS60= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.51.0/go.mod h1:z/Ty4fCI3RR3vFh/z2kYmdv4KgXh6z/ydK5XN/hfCcY= github.com/aws/aws-sdk-go-v2/service/sfn v1.37.0 h1:nmo7k4bHzYxK/iH/hdnYAWJ/tfV+ySV3rk029jVgP+c= github.com/aws/aws-sdk-go-v2/service/sfn v1.37.0/go.mod h1:+yaDYK9QNsfC2Kp6UpboOqUVp3giQ7GTVBsWoNqtPHY= github.com/aws/aws-sdk-go-v2/service/shield v1.32.0 h1:uekAZy4/sGCQxX+BxWsjMxmKWfavsQyc04NYb6JlIPM= From 9ecea4161c3591acf0d3c43bd5f0a9ef0f576ac6 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:23 -0400 Subject: [PATCH 1044/1301] go get github.com/aws/aws-sdk-go-v2/service/sfn. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 472d4367f43d..90ed9442ba4f 100644 --- a/go.mod +++ b/go.mod @@ -238,7 +238,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/servicequotas v1.31.0 github.com/aws/aws-sdk-go-v2/service/ses v1.32.0 github.com/aws/aws-sdk-go-v2/service/sesv2 v1.51.0 - github.com/aws/aws-sdk-go-v2/service/sfn v1.37.0 + github.com/aws/aws-sdk-go-v2/service/sfn v1.38.0 github.com/aws/aws-sdk-go-v2/service/shield v1.32.0 github.com/aws/aws-sdk-go-v2/service/signer v1.29.0 github.com/aws/aws-sdk-go-v2/service/sns v1.36.0 diff --git a/go.sum b/go.sum index fb930fd6129b..1f27f344ee9b 100644 --- a/go.sum +++ b/go.sum @@ -497,8 +497,8 @@ github.com/aws/aws-sdk-go-v2/service/ses v1.32.0 h1:hsvll+Vlk63Wh38r5pWcZTGmA8oY github.com/aws/aws-sdk-go-v2/service/ses v1.32.0/go.mod h1:w6GEPvRXyzj34dGpgbo5MrRUEFTRoXEVNEvg56TpKhE= github.com/aws/aws-sdk-go-v2/service/sesv2 v1.51.0 h1:EGgXgQlHPLB4AQ2EitqhfkhRkyxHJ+Y1CTFbP6vfS60= github.com/aws/aws-sdk-go-v2/service/sesv2 v1.51.0/go.mod h1:z/Ty4fCI3RR3vFh/z2kYmdv4KgXh6z/ydK5XN/hfCcY= -github.com/aws/aws-sdk-go-v2/service/sfn v1.37.0 h1:nmo7k4bHzYxK/iH/hdnYAWJ/tfV+ySV3rk029jVgP+c= -github.com/aws/aws-sdk-go-v2/service/sfn v1.37.0/go.mod h1:+yaDYK9QNsfC2Kp6UpboOqUVp3giQ7GTVBsWoNqtPHY= +github.com/aws/aws-sdk-go-v2/service/sfn v1.38.0 h1:qDg+pW4hxuM1zlixvZy3EyRxGiy4FknvKwfYHsUGvYw= +github.com/aws/aws-sdk-go-v2/service/sfn v1.38.0/go.mod h1:UXg+xZNhGCuhG8tg8Qj9XBH3qRA5WgmJkelLEyOassI= github.com/aws/aws-sdk-go-v2/service/shield v1.32.0 h1:uekAZy4/sGCQxX+BxWsjMxmKWfavsQyc04NYb6JlIPM= github.com/aws/aws-sdk-go-v2/service/shield v1.32.0/go.mod h1:uFSdevNXa2hQFSbvHTrd0/+N4llyjbegPt7T4ij5nIs= github.com/aws/aws-sdk-go-v2/service/signer v1.29.0 h1:sF/j2NltXGKx6Tewc7RUwL7fQKxTgXib83qQI/rx5N0= From 9620478e0fd35aa8d8805c3d508f749a92f3cb61 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:24 -0400 Subject: [PATCH 1045/1301] go get github.com/aws/aws-sdk-go-v2/service/shield. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 90ed9442ba4f..7ec55caff5fb 100644 --- a/go.mod +++ b/go.mod @@ -239,7 +239,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ses v1.32.0 github.com/aws/aws-sdk-go-v2/service/sesv2 v1.51.0 github.com/aws/aws-sdk-go-v2/service/sfn v1.38.0 - github.com/aws/aws-sdk-go-v2/service/shield v1.32.0 + github.com/aws/aws-sdk-go-v2/service/shield v1.33.0 github.com/aws/aws-sdk-go-v2/service/signer v1.29.0 github.com/aws/aws-sdk-go-v2/service/sns v1.36.0 github.com/aws/aws-sdk-go-v2/service/sqs v1.40.0 diff --git a/go.sum b/go.sum index 1f27f344ee9b..653f2375e2c7 100644 --- a/go.sum +++ b/go.sum @@ -499,8 +499,8 @@ github.com/aws/aws-sdk-go-v2/service/sesv2 v1.51.0 h1:EGgXgQlHPLB4AQ2EitqhfkhRky github.com/aws/aws-sdk-go-v2/service/sesv2 v1.51.0/go.mod h1:z/Ty4fCI3RR3vFh/z2kYmdv4KgXh6z/ydK5XN/hfCcY= github.com/aws/aws-sdk-go-v2/service/sfn v1.38.0 h1:qDg+pW4hxuM1zlixvZy3EyRxGiy4FknvKwfYHsUGvYw= github.com/aws/aws-sdk-go-v2/service/sfn v1.38.0/go.mod h1:UXg+xZNhGCuhG8tg8Qj9XBH3qRA5WgmJkelLEyOassI= -github.com/aws/aws-sdk-go-v2/service/shield v1.32.0 h1:uekAZy4/sGCQxX+BxWsjMxmKWfavsQyc04NYb6JlIPM= -github.com/aws/aws-sdk-go-v2/service/shield v1.32.0/go.mod h1:uFSdevNXa2hQFSbvHTrd0/+N4llyjbegPt7T4ij5nIs= +github.com/aws/aws-sdk-go-v2/service/shield v1.33.0 h1:vIp1dRkvVu4oKSl41ds/Y/rBRfw9tyUAOMS1E0FRdG8= +github.com/aws/aws-sdk-go-v2/service/shield v1.33.0/go.mod h1:oT7arIE6sZstDjgtKfXZtLqpnsJuX261eFPfp7+0LR8= github.com/aws/aws-sdk-go-v2/service/signer v1.29.0 h1:sF/j2NltXGKx6Tewc7RUwL7fQKxTgXib83qQI/rx5N0= github.com/aws/aws-sdk-go-v2/service/signer v1.29.0/go.mod h1:kiL4+PJKl6UCNmJORt8IS/k/ydl31sI4WQJnqJQfQi8= github.com/aws/aws-sdk-go-v2/service/sns v1.36.0 h1:Jal42fPojaJRvXps8yN7ZGyIJRAbgE8jBqxMIv10hEg= From b8c1e9052dfbea49c0a57ffee5157df77393f7b8 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:25 -0400 Subject: [PATCH 1046/1301] go get github.com/aws/aws-sdk-go-v2/service/signer. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7ec55caff5fb..acc24663aba8 100644 --- a/go.mod +++ b/go.mod @@ -240,7 +240,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/sesv2 v1.51.0 github.com/aws/aws-sdk-go-v2/service/sfn v1.38.0 github.com/aws/aws-sdk-go-v2/service/shield v1.33.0 - github.com/aws/aws-sdk-go-v2/service/signer v1.29.0 + github.com/aws/aws-sdk-go-v2/service/signer v1.30.0 github.com/aws/aws-sdk-go-v2/service/sns v1.36.0 github.com/aws/aws-sdk-go-v2/service/sqs v1.40.0 github.com/aws/aws-sdk-go-v2/service/ssm v1.62.0 diff --git a/go.sum b/go.sum index 653f2375e2c7..86b51db5f329 100644 --- a/go.sum +++ b/go.sum @@ -501,8 +501,8 @@ github.com/aws/aws-sdk-go-v2/service/sfn v1.38.0 h1:qDg+pW4hxuM1zlixvZy3EyRxGiy4 github.com/aws/aws-sdk-go-v2/service/sfn v1.38.0/go.mod h1:UXg+xZNhGCuhG8tg8Qj9XBH3qRA5WgmJkelLEyOassI= github.com/aws/aws-sdk-go-v2/service/shield v1.33.0 h1:vIp1dRkvVu4oKSl41ds/Y/rBRfw9tyUAOMS1E0FRdG8= github.com/aws/aws-sdk-go-v2/service/shield v1.33.0/go.mod h1:oT7arIE6sZstDjgtKfXZtLqpnsJuX261eFPfp7+0LR8= -github.com/aws/aws-sdk-go-v2/service/signer v1.29.0 h1:sF/j2NltXGKx6Tewc7RUwL7fQKxTgXib83qQI/rx5N0= -github.com/aws/aws-sdk-go-v2/service/signer v1.29.0/go.mod h1:kiL4+PJKl6UCNmJORt8IS/k/ydl31sI4WQJnqJQfQi8= +github.com/aws/aws-sdk-go-v2/service/signer v1.30.0 h1:iuz8rTwAAVIKp4BL2yafOsZDvuW5tkkPsOmxRcytPhw= +github.com/aws/aws-sdk-go-v2/service/signer v1.30.0/go.mod h1:9zSvP8LjLc7+ZKNU7wiKFYdtT103jk43rZ8VLh+SxOI= github.com/aws/aws-sdk-go-v2/service/sns v1.36.0 h1:Jal42fPojaJRvXps8yN7ZGyIJRAbgE8jBqxMIv10hEg= github.com/aws/aws-sdk-go-v2/service/sns v1.36.0/go.mod h1:SyCtWzjWA5aLNfchfyuWTtwO0AXRg9rPwfCkOB7fUPA= github.com/aws/aws-sdk-go-v2/service/sqs v1.40.0 h1:sgc/AOL84B6Uc+GYAY8oab8cg0m97JegJ+uVil3yiys= From 7b8f575dbe497fd3b6a9aa03e0b24eea3c47fecb Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:26 -0400 Subject: [PATCH 1047/1301] go get github.com/aws/aws-sdk-go-v2/service/sns. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index acc24663aba8..a65f9aa02224 100644 --- a/go.mod +++ b/go.mod @@ -241,7 +241,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/sfn v1.38.0 github.com/aws/aws-sdk-go-v2/service/shield v1.33.0 github.com/aws/aws-sdk-go-v2/service/signer v1.30.0 - github.com/aws/aws-sdk-go-v2/service/sns v1.36.0 + github.com/aws/aws-sdk-go-v2/service/sns v1.37.0 github.com/aws/aws-sdk-go-v2/service/sqs v1.40.0 github.com/aws/aws-sdk-go-v2/service/ssm v1.62.0 github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.29.0 diff --git a/go.sum b/go.sum index 86b51db5f329..ccb37dc8c381 100644 --- a/go.sum +++ b/go.sum @@ -503,8 +503,8 @@ github.com/aws/aws-sdk-go-v2/service/shield v1.33.0 h1:vIp1dRkvVu4oKSl41ds/Y/rBR github.com/aws/aws-sdk-go-v2/service/shield v1.33.0/go.mod h1:oT7arIE6sZstDjgtKfXZtLqpnsJuX261eFPfp7+0LR8= github.com/aws/aws-sdk-go-v2/service/signer v1.30.0 h1:iuz8rTwAAVIKp4BL2yafOsZDvuW5tkkPsOmxRcytPhw= github.com/aws/aws-sdk-go-v2/service/signer v1.30.0/go.mod h1:9zSvP8LjLc7+ZKNU7wiKFYdtT103jk43rZ8VLh+SxOI= -github.com/aws/aws-sdk-go-v2/service/sns v1.36.0 h1:Jal42fPojaJRvXps8yN7ZGyIJRAbgE8jBqxMIv10hEg= -github.com/aws/aws-sdk-go-v2/service/sns v1.36.0/go.mod h1:SyCtWzjWA5aLNfchfyuWTtwO0AXRg9rPwfCkOB7fUPA= +github.com/aws/aws-sdk-go-v2/service/sns v1.37.0 h1:+GWmgZ6TeJ12tLw4l981+5nc9FDdzXtdZlnmp6KVHig= +github.com/aws/aws-sdk-go-v2/service/sns v1.37.0/go.mod h1:O4eFpSa/AodvDLJqarL+0vnRgDP9d/FEKHZmzLnA/1c= github.com/aws/aws-sdk-go-v2/service/sqs v1.40.0 h1:sgc/AOL84B6Uc+GYAY8oab8cg0m97JegJ+uVil3yiys= github.com/aws/aws-sdk-go-v2/service/sqs v1.40.0/go.mod h1:ll5FUISR9gMMKlo+vgSFVkLCqFBnzHZDJ8IwlRQy0kU= github.com/aws/aws-sdk-go-v2/service/ssm v1.62.0 h1:o/2RGV3LouWdbEFpODWRQTw1VSSNOJ8Bh2StX8BpcFs= From b2f9fe394b5b34fd3134fc26cbb10b92f1931368 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:28 -0400 Subject: [PATCH 1048/1301] go get github.com/aws/aws-sdk-go-v2/service/sqs. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a65f9aa02224..8ecb8e90ca53 100644 --- a/go.mod +++ b/go.mod @@ -242,7 +242,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/shield v1.33.0 github.com/aws/aws-sdk-go-v2/service/signer v1.30.0 github.com/aws/aws-sdk-go-v2/service/sns v1.37.0 - github.com/aws/aws-sdk-go-v2/service/sqs v1.40.0 + github.com/aws/aws-sdk-go-v2/service/sqs v1.41.0 github.com/aws/aws-sdk-go-v2/service/ssm v1.62.0 github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.29.0 github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.37.0 diff --git a/go.sum b/go.sum index ccb37dc8c381..0c36d98d402f 100644 --- a/go.sum +++ b/go.sum @@ -505,8 +505,8 @@ github.com/aws/aws-sdk-go-v2/service/signer v1.30.0 h1:iuz8rTwAAVIKp4BL2yafOsZDv github.com/aws/aws-sdk-go-v2/service/signer v1.30.0/go.mod h1:9zSvP8LjLc7+ZKNU7wiKFYdtT103jk43rZ8VLh+SxOI= github.com/aws/aws-sdk-go-v2/service/sns v1.37.0 h1:+GWmgZ6TeJ12tLw4l981+5nc9FDdzXtdZlnmp6KVHig= github.com/aws/aws-sdk-go-v2/service/sns v1.37.0/go.mod h1:O4eFpSa/AodvDLJqarL+0vnRgDP9d/FEKHZmzLnA/1c= -github.com/aws/aws-sdk-go-v2/service/sqs v1.40.0 h1:sgc/AOL84B6Uc+GYAY8oab8cg0m97JegJ+uVil3yiys= -github.com/aws/aws-sdk-go-v2/service/sqs v1.40.0/go.mod h1:ll5FUISR9gMMKlo+vgSFVkLCqFBnzHZDJ8IwlRQy0kU= +github.com/aws/aws-sdk-go-v2/service/sqs v1.41.0 h1:xobvQ4NxlXFUNgVwE6cnMI/ww7K7jtQMWKor2Gi61Xg= +github.com/aws/aws-sdk-go-v2/service/sqs v1.41.0/go.mod h1:RExz4LhRKY5iogQ1dz7KVa3JyBY0PBotXovrDj850Sc= github.com/aws/aws-sdk-go-v2/service/ssm v1.62.0 h1:o/2RGV3LouWdbEFpODWRQTw1VSSNOJ8Bh2StX8BpcFs= github.com/aws/aws-sdk-go-v2/service/ssm v1.62.0/go.mod h1:Q42zmnvaj33ibL1cPu7N2hvQx6D19Rf94ScnppcQIlU= github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.29.0 h1:Ognxd7DYQTLnq6HzzMBEPfZUbCLfPK/fijUxI0c7oqY= From 1593883001dfd433130f656bfc43d382c443ed03 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:29 -0400 Subject: [PATCH 1049/1301] go get github.com/aws/aws-sdk-go-v2/service/ssm. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8ecb8e90ca53..211e83546d46 100644 --- a/go.mod +++ b/go.mod @@ -243,7 +243,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/signer v1.30.0 github.com/aws/aws-sdk-go-v2/service/sns v1.37.0 github.com/aws/aws-sdk-go-v2/service/sqs v1.41.0 - github.com/aws/aws-sdk-go-v2/service/ssm v1.62.0 + github.com/aws/aws-sdk-go-v2/service/ssm v1.63.0 github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.29.0 github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.37.0 github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.6.0 diff --git a/go.sum b/go.sum index 0c36d98d402f..703c8f43c580 100644 --- a/go.sum +++ b/go.sum @@ -507,8 +507,8 @@ github.com/aws/aws-sdk-go-v2/service/sns v1.37.0 h1:+GWmgZ6TeJ12tLw4l981+5nc9FDd github.com/aws/aws-sdk-go-v2/service/sns v1.37.0/go.mod h1:O4eFpSa/AodvDLJqarL+0vnRgDP9d/FEKHZmzLnA/1c= github.com/aws/aws-sdk-go-v2/service/sqs v1.41.0 h1:xobvQ4NxlXFUNgVwE6cnMI/ww7K7jtQMWKor2Gi61Xg= github.com/aws/aws-sdk-go-v2/service/sqs v1.41.0/go.mod h1:RExz4LhRKY5iogQ1dz7KVa3JyBY0PBotXovrDj850Sc= -github.com/aws/aws-sdk-go-v2/service/ssm v1.62.0 h1:o/2RGV3LouWdbEFpODWRQTw1VSSNOJ8Bh2StX8BpcFs= -github.com/aws/aws-sdk-go-v2/service/ssm v1.62.0/go.mod h1:Q42zmnvaj33ibL1cPu7N2hvQx6D19Rf94ScnppcQIlU= +github.com/aws/aws-sdk-go-v2/service/ssm v1.63.0 h1:1T8wFNEtOP4lgLC7v8Fzgbb4kFrMmnscG7kOqkbA26c= +github.com/aws/aws-sdk-go-v2/service/ssm v1.63.0/go.mod h1:CDVmu8K5JKdgdJakdZ9gC3K6OJ/+izv/kUncFeGRIj4= github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.29.0 h1:Ognxd7DYQTLnq6HzzMBEPfZUbCLfPK/fijUxI0c7oqY= github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.29.0/go.mod h1:br4H1KoSMGLTG4PUzzhmp+7CnPqu4XFp1x+WhCsSsV4= github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.37.0 h1:2I7MLpAwSuZvMQZ7scGuHn0wRqeFYSxFQVn11g8CBUA= From 6a11ff9fc69828efcef99dbb75f22d8bc1e42f6d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:30 -0400 Subject: [PATCH 1050/1301] go get github.com/aws/aws-sdk-go-v2/service/ssmcontacts. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 211e83546d46..ea9d788f1264 100644 --- a/go.mod +++ b/go.mod @@ -244,7 +244,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/sns v1.37.0 github.com/aws/aws-sdk-go-v2/service/sqs v1.41.0 github.com/aws/aws-sdk-go-v2/service/ssm v1.63.0 - github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.29.0 + github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.30.0 github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.37.0 github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.6.0 github.com/aws/aws-sdk-go-v2/service/ssmsap v1.22.0 diff --git a/go.sum b/go.sum index 703c8f43c580..070dfd470894 100644 --- a/go.sum +++ b/go.sum @@ -509,8 +509,8 @@ github.com/aws/aws-sdk-go-v2/service/sqs v1.41.0 h1:xobvQ4NxlXFUNgVwE6cnMI/ww7K7 github.com/aws/aws-sdk-go-v2/service/sqs v1.41.0/go.mod h1:RExz4LhRKY5iogQ1dz7KVa3JyBY0PBotXovrDj850Sc= github.com/aws/aws-sdk-go-v2/service/ssm v1.63.0 h1:1T8wFNEtOP4lgLC7v8Fzgbb4kFrMmnscG7kOqkbA26c= github.com/aws/aws-sdk-go-v2/service/ssm v1.63.0/go.mod h1:CDVmu8K5JKdgdJakdZ9gC3K6OJ/+izv/kUncFeGRIj4= -github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.29.0 h1:Ognxd7DYQTLnq6HzzMBEPfZUbCLfPK/fijUxI0c7oqY= -github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.29.0/go.mod h1:br4H1KoSMGLTG4PUzzhmp+7CnPqu4XFp1x+WhCsSsV4= +github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.30.0 h1:kr0zUJ5+O+3XOO5k30ZFWw6BuW77y1wpYl8QbDxgyuo= +github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.30.0/go.mod h1:76T1ZqJLS3lBmShTO2230KTCoqjw7Lbxj6U7YwEQv+o= github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.37.0 h1:2I7MLpAwSuZvMQZ7scGuHn0wRqeFYSxFQVn11g8CBUA= github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.37.0/go.mod h1:ykpAISEQaGRKPKn9HS/VwH89LQh1zu0qjZY+AMgyQCA= github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.6.0 h1:ivkaBapgjmE9Put5MJ3Yg7zYw+Fud/ZyLMfmSBgCJTs= From dee0f277d6d352cc0be431de84ea1b40897d025a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:31 -0400 Subject: [PATCH 1051/1301] go get github.com/aws/aws-sdk-go-v2/service/ssmincidents. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ea9d788f1264..2ce472f7e4de 100644 --- a/go.mod +++ b/go.mod @@ -245,7 +245,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/sqs v1.41.0 github.com/aws/aws-sdk-go-v2/service/ssm v1.63.0 github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.30.0 - github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.37.0 + github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.38.0 github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.6.0 github.com/aws/aws-sdk-go-v2/service/ssmsap v1.22.0 github.com/aws/aws-sdk-go-v2/service/sso v1.28.0 diff --git a/go.sum b/go.sum index 070dfd470894..2d92f4c26ca1 100644 --- a/go.sum +++ b/go.sum @@ -511,8 +511,8 @@ github.com/aws/aws-sdk-go-v2/service/ssm v1.63.0 h1:1T8wFNEtOP4lgLC7v8Fzgbb4kFrM github.com/aws/aws-sdk-go-v2/service/ssm v1.63.0/go.mod h1:CDVmu8K5JKdgdJakdZ9gC3K6OJ/+izv/kUncFeGRIj4= github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.30.0 h1:kr0zUJ5+O+3XOO5k30ZFWw6BuW77y1wpYl8QbDxgyuo= github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.30.0/go.mod h1:76T1ZqJLS3lBmShTO2230KTCoqjw7Lbxj6U7YwEQv+o= -github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.37.0 h1:2I7MLpAwSuZvMQZ7scGuHn0wRqeFYSxFQVn11g8CBUA= -github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.37.0/go.mod h1:ykpAISEQaGRKPKn9HS/VwH89LQh1zu0qjZY+AMgyQCA= +github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.38.0 h1:6sjrNE9OXSuF3P2Y+++303mkGbQlmFweTLvZLUz4Ric= +github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.38.0/go.mod h1:vAUirHmPQmQF5LO19CMdt10p/9Nl4cqqdygIsdPjx4Y= github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.6.0 h1:ivkaBapgjmE9Put5MJ3Yg7zYw+Fud/ZyLMfmSBgCJTs= github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.6.0/go.mod h1:HAdCTJPmPNeZD6mAmPDcU9eK1yVP88JVu0kwp6HmJR0= github.com/aws/aws-sdk-go-v2/service/ssmsap v1.22.0 h1:5+fIKFIbA80sYjNf2vccPvmrdp4nb1EbkQdsO9HZA9g= From 5b90838a597b919c58d19e5a83e0aecac9d17521 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:32 -0400 Subject: [PATCH 1052/1301] go get github.com/aws/aws-sdk-go-v2/service/ssmquicksetup. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 2ce472f7e4de..e9956fb02ead 100644 --- a/go.mod +++ b/go.mod @@ -246,7 +246,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssm v1.63.0 github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.30.0 github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.38.0 - github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.6.0 + github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.7.0 github.com/aws/aws-sdk-go-v2/service/ssmsap v1.22.0 github.com/aws/aws-sdk-go-v2/service/sso v1.28.0 github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.33.0 diff --git a/go.sum b/go.sum index 2d92f4c26ca1..994eb677b576 100644 --- a/go.sum +++ b/go.sum @@ -513,8 +513,8 @@ github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.30.0 h1:kr0zUJ5+O+3XOO5k30ZF github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.30.0/go.mod h1:76T1ZqJLS3lBmShTO2230KTCoqjw7Lbxj6U7YwEQv+o= github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.38.0 h1:6sjrNE9OXSuF3P2Y+++303mkGbQlmFweTLvZLUz4Ric= github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.38.0/go.mod h1:vAUirHmPQmQF5LO19CMdt10p/9Nl4cqqdygIsdPjx4Y= -github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.6.0 h1:ivkaBapgjmE9Put5MJ3Yg7zYw+Fud/ZyLMfmSBgCJTs= -github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.6.0/go.mod h1:HAdCTJPmPNeZD6mAmPDcU9eK1yVP88JVu0kwp6HmJR0= +github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.7.0 h1:OHfg8SKR3X5AV6/LpinRDBPciw12F4qQjsvf6o0GiGE= +github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.7.0/go.mod h1:/B5AIPHVKVfZSsofTSfqrvl5QH5r/XK8/qcdHW3jjV4= github.com/aws/aws-sdk-go-v2/service/ssmsap v1.22.0 h1:5+fIKFIbA80sYjNf2vccPvmrdp4nb1EbkQdsO9HZA9g= github.com/aws/aws-sdk-go-v2/service/ssmsap v1.22.0/go.mod h1:mlTUZlO4rjFmS6ZZ7hJD6Oko4Geto1EMzta8T3R61r4= github.com/aws/aws-sdk-go-v2/service/sso v1.28.0 h1:Mc/MKBf2m4VynyJkABoVEN+QzkfLqGj0aiJuEe7cMeM= From 1a0b78773cfa65b0466c8421669fd57c350196b6 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:33 -0400 Subject: [PATCH 1053/1301] go get github.com/aws/aws-sdk-go-v2/service/ssmsap. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e9956fb02ead..ab2fd8af8a10 100644 --- a/go.mod +++ b/go.mod @@ -247,7 +247,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.30.0 github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.38.0 github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.7.0 - github.com/aws/aws-sdk-go-v2/service/ssmsap v1.22.0 + github.com/aws/aws-sdk-go-v2/service/ssmsap v1.23.0 github.com/aws/aws-sdk-go-v2/service/sso v1.28.0 github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.33.0 github.com/aws/aws-sdk-go-v2/service/storagegateway v1.40.0 diff --git a/go.sum b/go.sum index 994eb677b576..19c70269e0b3 100644 --- a/go.sum +++ b/go.sum @@ -515,8 +515,8 @@ github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.38.0 h1:6sjrNE9OXSuF3P2Y+++ github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.38.0/go.mod h1:vAUirHmPQmQF5LO19CMdt10p/9Nl4cqqdygIsdPjx4Y= github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.7.0 h1:OHfg8SKR3X5AV6/LpinRDBPciw12F4qQjsvf6o0GiGE= github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.7.0/go.mod h1:/B5AIPHVKVfZSsofTSfqrvl5QH5r/XK8/qcdHW3jjV4= -github.com/aws/aws-sdk-go-v2/service/ssmsap v1.22.0 h1:5+fIKFIbA80sYjNf2vccPvmrdp4nb1EbkQdsO9HZA9g= -github.com/aws/aws-sdk-go-v2/service/ssmsap v1.22.0/go.mod h1:mlTUZlO4rjFmS6ZZ7hJD6Oko4Geto1EMzta8T3R61r4= +github.com/aws/aws-sdk-go-v2/service/ssmsap v1.23.0 h1:21pRqoiIDamny/57BJYBrGumQKQEAcZ1+7X2xpMkOdc= +github.com/aws/aws-sdk-go-v2/service/ssmsap v1.23.0/go.mod h1:tLEEa+UsBhm/fZNrnA1O8Vf69/Y94pYuLFP/v1UpB3U= github.com/aws/aws-sdk-go-v2/service/sso v1.28.0 h1:Mc/MKBf2m4VynyJkABoVEN+QzkfLqGj0aiJuEe7cMeM= github.com/aws/aws-sdk-go-v2/service/sso v1.28.0/go.mod h1:iS5OmxEcN4QIPXARGhavH7S8kETNL11kym6jhoS7IUQ= github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.33.0 h1:61baAQJeQS9SdTXJ9MVUiT5hkMf65SUfjVV9j2/W45M= From 042fadfef6e4c210017add09aeb584089aec5a9e Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:35 -0400 Subject: [PATCH 1054/1301] go get github.com/aws/aws-sdk-go-v2/service/ssoadmin. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ab2fd8af8a10..39d82284c543 100644 --- a/go.mod +++ b/go.mod @@ -249,7 +249,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.7.0 github.com/aws/aws-sdk-go-v2/service/ssmsap v1.23.0 github.com/aws/aws-sdk-go-v2/service/sso v1.28.0 - github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.33.0 + github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.34.0 github.com/aws/aws-sdk-go-v2/service/storagegateway v1.40.0 github.com/aws/aws-sdk-go-v2/service/sts v1.37.0 github.com/aws/aws-sdk-go-v2/service/swf v1.30.0 diff --git a/go.sum b/go.sum index 19c70269e0b3..942ab0087b93 100644 --- a/go.sum +++ b/go.sum @@ -519,8 +519,8 @@ github.com/aws/aws-sdk-go-v2/service/ssmsap v1.23.0 h1:21pRqoiIDamny/57BJYBrGumQ github.com/aws/aws-sdk-go-v2/service/ssmsap v1.23.0/go.mod h1:tLEEa+UsBhm/fZNrnA1O8Vf69/Y94pYuLFP/v1UpB3U= github.com/aws/aws-sdk-go-v2/service/sso v1.28.0 h1:Mc/MKBf2m4VynyJkABoVEN+QzkfLqGj0aiJuEe7cMeM= github.com/aws/aws-sdk-go-v2/service/sso v1.28.0/go.mod h1:iS5OmxEcN4QIPXARGhavH7S8kETNL11kym6jhoS7IUQ= -github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.33.0 h1:61baAQJeQS9SdTXJ9MVUiT5hkMf65SUfjVV9j2/W45M= -github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.33.0/go.mod h1:nnlw3wIldhDvFLfpv/yH9j31xoz0EdczpuYu95M/Mm0= +github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.34.0 h1:aiGJnlWqp3e81gDzbSX/+67LqbnW9ppW/Md2CqLVCrQ= +github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.34.0/go.mod h1:0PiTFSuC4ripX730Y5aU/E6Nvge5JgVJUR36FAnCFCw= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.33.0 h1:6csaS/aJmqZQbKhi1EyEMM7yBW653Wy/B9hnBofW+sw= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.33.0/go.mod h1:59qHWaY5B+Rs7HGTuVGaC32m0rdpQ68N8QCN3khYiqs= github.com/aws/aws-sdk-go-v2/service/storagegateway v1.40.0 h1:eywzm3eHsI6lkM7HpsLuoLUKuW87wINDWM/kpEahPbQ= From 4ee33816f1aa945fb0397acad73875351793521c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:37 -0400 Subject: [PATCH 1055/1301] go get github.com/aws/aws-sdk-go-v2/service/storagegateway. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 39d82284c543..782773042682 100644 --- a/go.mod +++ b/go.mod @@ -250,7 +250,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssmsap v1.23.0 github.com/aws/aws-sdk-go-v2/service/sso v1.28.0 github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.34.0 - github.com/aws/aws-sdk-go-v2/service/storagegateway v1.40.0 + github.com/aws/aws-sdk-go-v2/service/storagegateway v1.41.0 github.com/aws/aws-sdk-go-v2/service/sts v1.37.0 github.com/aws/aws-sdk-go-v2/service/swf v1.30.0 github.com/aws/aws-sdk-go-v2/service/synthetics v1.38.0 diff --git a/go.sum b/go.sum index 942ab0087b93..f14f4439140c 100644 --- a/go.sum +++ b/go.sum @@ -523,8 +523,8 @@ github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.34.0 h1:aiGJnlWqp3e81gDzbSX/+67 github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.34.0/go.mod h1:0PiTFSuC4ripX730Y5aU/E6Nvge5JgVJUR36FAnCFCw= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.33.0 h1:6csaS/aJmqZQbKhi1EyEMM7yBW653Wy/B9hnBofW+sw= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.33.0/go.mod h1:59qHWaY5B+Rs7HGTuVGaC32m0rdpQ68N8QCN3khYiqs= -github.com/aws/aws-sdk-go-v2/service/storagegateway v1.40.0 h1:eywzm3eHsI6lkM7HpsLuoLUKuW87wINDWM/kpEahPbQ= -github.com/aws/aws-sdk-go-v2/service/storagegateway v1.40.0/go.mod h1:dpO8VuQCysRhgr+cTRKLjF27aJZ84dDR5mpC3YKSzvI= +github.com/aws/aws-sdk-go-v2/service/storagegateway v1.41.0 h1:IZmMc03E2ay2j+4It6+XKpWLwdH9RNfLYr31ZjTmlpk= +github.com/aws/aws-sdk-go-v2/service/storagegateway v1.41.0/go.mod h1:WcJG/CyL+W/E19D8G5fV16EBWP/V1mxsZChP1i6HflA= github.com/aws/aws-sdk-go-v2/service/sts v1.37.0 h1:MG9VFW43M4A8BYeAfaJJZWrroinxeTi2r3+SnmLQfSA= github.com/aws/aws-sdk-go-v2/service/sts v1.37.0/go.mod h1:JdeBDPgpJfuS6rU/hNglmOigKhyEZtBmbraLE4GK1J8= github.com/aws/aws-sdk-go-v2/service/swf v1.30.0 h1:isVHS2KcvvQF+K4xm1d8gwn7oblSNrvLGnkgnrklU98= From 14c8a4dcc7a7db5816ae5d692c18d225ca032e96 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:39 -0400 Subject: [PATCH 1056/1301] go get github.com/aws/aws-sdk-go-v2/service/swf. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 782773042682..bc44084ca21f 100644 --- a/go.mod +++ b/go.mod @@ -252,7 +252,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.34.0 github.com/aws/aws-sdk-go-v2/service/storagegateway v1.41.0 github.com/aws/aws-sdk-go-v2/service/sts v1.37.0 - github.com/aws/aws-sdk-go-v2/service/swf v1.30.0 + github.com/aws/aws-sdk-go-v2/service/swf v1.31.0 github.com/aws/aws-sdk-go-v2/service/synthetics v1.38.0 github.com/aws/aws-sdk-go-v2/service/taxsettings v1.14.0 github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.13.0 diff --git a/go.sum b/go.sum index f14f4439140c..5e159899dfaf 100644 --- a/go.sum +++ b/go.sum @@ -527,8 +527,8 @@ github.com/aws/aws-sdk-go-v2/service/storagegateway v1.41.0 h1:IZmMc03E2ay2j+4It github.com/aws/aws-sdk-go-v2/service/storagegateway v1.41.0/go.mod h1:WcJG/CyL+W/E19D8G5fV16EBWP/V1mxsZChP1i6HflA= github.com/aws/aws-sdk-go-v2/service/sts v1.37.0 h1:MG9VFW43M4A8BYeAfaJJZWrroinxeTi2r3+SnmLQfSA= github.com/aws/aws-sdk-go-v2/service/sts v1.37.0/go.mod h1:JdeBDPgpJfuS6rU/hNglmOigKhyEZtBmbraLE4GK1J8= -github.com/aws/aws-sdk-go-v2/service/swf v1.30.0 h1:isVHS2KcvvQF+K4xm1d8gwn7oblSNrvLGnkgnrklU98= -github.com/aws/aws-sdk-go-v2/service/swf v1.30.0/go.mod h1:ew3I70Cp5/fov/t/5KR5gnUJKh/oUFaRSXiLhGdNEBQ= +github.com/aws/aws-sdk-go-v2/service/swf v1.31.0 h1:rH21FB+YB32tQXRRqw5GOXLRlEY6sF0niNUnjIz2K4c= +github.com/aws/aws-sdk-go-v2/service/swf v1.31.0/go.mod h1:K53Z8VIehp17bkIdte5qQJGIg/TTAnSijG5M3SRVQvo= github.com/aws/aws-sdk-go-v2/service/synthetics v1.38.0 h1:bO03M5vd7lbwA2u+AJ5p5lNXDrX95irMpQGnTriIZCs= github.com/aws/aws-sdk-go-v2/service/synthetics v1.38.0/go.mod h1:pNBlT8k2dNNduzB6k73U7zZ7yyHV2Kr0YlLfi84+c64= github.com/aws/aws-sdk-go-v2/service/taxsettings v1.14.0 h1:1pAiXK1faOGJi8KL/bokC4sqxMBkJePnR56mneSbTN4= From 650bb5ba8507b1be01960cbd1dad9e807e92c443 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:40 -0400 Subject: [PATCH 1057/1301] go get github.com/aws/aws-sdk-go-v2/service/synthetics. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index bc44084ca21f..417ad844fa03 100644 --- a/go.mod +++ b/go.mod @@ -253,7 +253,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/storagegateway v1.41.0 github.com/aws/aws-sdk-go-v2/service/sts v1.37.0 github.com/aws/aws-sdk-go-v2/service/swf v1.31.0 - github.com/aws/aws-sdk-go-v2/service/synthetics v1.38.0 + github.com/aws/aws-sdk-go-v2/service/synthetics v1.39.0 github.com/aws/aws-sdk-go-v2/service/taxsettings v1.14.0 github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.13.0 github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.33.0 diff --git a/go.sum b/go.sum index 5e159899dfaf..60144ffe0ba9 100644 --- a/go.sum +++ b/go.sum @@ -529,8 +529,8 @@ github.com/aws/aws-sdk-go-v2/service/sts v1.37.0 h1:MG9VFW43M4A8BYeAfaJJZWrroinx github.com/aws/aws-sdk-go-v2/service/sts v1.37.0/go.mod h1:JdeBDPgpJfuS6rU/hNglmOigKhyEZtBmbraLE4GK1J8= github.com/aws/aws-sdk-go-v2/service/swf v1.31.0 h1:rH21FB+YB32tQXRRqw5GOXLRlEY6sF0niNUnjIz2K4c= github.com/aws/aws-sdk-go-v2/service/swf v1.31.0/go.mod h1:K53Z8VIehp17bkIdte5qQJGIg/TTAnSijG5M3SRVQvo= -github.com/aws/aws-sdk-go-v2/service/synthetics v1.38.0 h1:bO03M5vd7lbwA2u+AJ5p5lNXDrX95irMpQGnTriIZCs= -github.com/aws/aws-sdk-go-v2/service/synthetics v1.38.0/go.mod h1:pNBlT8k2dNNduzB6k73U7zZ7yyHV2Kr0YlLfi84+c64= +github.com/aws/aws-sdk-go-v2/service/synthetics v1.39.0 h1:M7W7qo3OsHzH+zrmoU8gR4Or+WB2aV32kJ6H5qSYgEs= +github.com/aws/aws-sdk-go-v2/service/synthetics v1.39.0/go.mod h1:W+FGMMTt/jHWUUM5es5OTFA22E2Ofia4wT9sqs8RmQM= github.com/aws/aws-sdk-go-v2/service/taxsettings v1.14.0 h1:1pAiXK1faOGJi8KL/bokC4sqxMBkJePnR56mneSbTN4= github.com/aws/aws-sdk-go-v2/service/taxsettings v1.14.0/go.mod h1:RdzWkdzuoaM98wctumapBmD2r3WImPXw6g7rICPLvyY= github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.13.0 h1:ik+FNIDBN16wpzb2kJExF1FJ7jmyyq77gJAiXmxjsyI= From 51ec716259c4fe33a87edeb88af3b6af8fb0ee23 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:41 -0400 Subject: [PATCH 1058/1301] go get github.com/aws/aws-sdk-go-v2/service/taxsettings. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 417ad844fa03..b44df21a29cf 100644 --- a/go.mod +++ b/go.mod @@ -254,7 +254,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/sts v1.37.0 github.com/aws/aws-sdk-go-v2/service/swf v1.31.0 github.com/aws/aws-sdk-go-v2/service/synthetics v1.39.0 - github.com/aws/aws-sdk-go-v2/service/taxsettings v1.14.0 + github.com/aws/aws-sdk-go-v2/service/taxsettings v1.15.0 github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.13.0 github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.33.0 github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.33.0 diff --git a/go.sum b/go.sum index 60144ffe0ba9..87f239aa289f 100644 --- a/go.sum +++ b/go.sum @@ -531,8 +531,8 @@ github.com/aws/aws-sdk-go-v2/service/swf v1.31.0 h1:rH21FB+YB32tQXRRqw5GOXLRlEY6 github.com/aws/aws-sdk-go-v2/service/swf v1.31.0/go.mod h1:K53Z8VIehp17bkIdte5qQJGIg/TTAnSijG5M3SRVQvo= github.com/aws/aws-sdk-go-v2/service/synthetics v1.39.0 h1:M7W7qo3OsHzH+zrmoU8gR4Or+WB2aV32kJ6H5qSYgEs= github.com/aws/aws-sdk-go-v2/service/synthetics v1.39.0/go.mod h1:W+FGMMTt/jHWUUM5es5OTFA22E2Ofia4wT9sqs8RmQM= -github.com/aws/aws-sdk-go-v2/service/taxsettings v1.14.0 h1:1pAiXK1faOGJi8KL/bokC4sqxMBkJePnR56mneSbTN4= -github.com/aws/aws-sdk-go-v2/service/taxsettings v1.14.0/go.mod h1:RdzWkdzuoaM98wctumapBmD2r3WImPXw6g7rICPLvyY= +github.com/aws/aws-sdk-go-v2/service/taxsettings v1.15.0 h1:+LdZx81sNrpT4v1+zr+5LJa8CBtKjWv9UFE+fLdzWRM= +github.com/aws/aws-sdk-go-v2/service/taxsettings v1.15.0/go.mod h1:VHRAf77eBVojkVkK/6Eh0YyqW474JYo2rkdo0ZSbT9U= github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.13.0 h1:ik+FNIDBN16wpzb2kJExF1FJ7jmyyq77gJAiXmxjsyI= github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.13.0/go.mod h1:OOSSPOW5gjnWQfNOtYOnvXqWotSk2TWXW6PqXiM8Dd4= github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.33.0 h1:FpXclEjSpDkYeCvLpR6nmURQAZfXD235JFvFI6xkbak= From 0b421bdbfb9c1bb044e0453f72bf8a1500f6a8f2 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:42 -0400 Subject: [PATCH 1059/1301] go get github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b44df21a29cf..56c7dc56dac2 100644 --- a/go.mod +++ b/go.mod @@ -255,7 +255,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/swf v1.31.0 github.com/aws/aws-sdk-go-v2/service/synthetics v1.39.0 github.com/aws/aws-sdk-go-v2/service/taxsettings v1.15.0 - github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.13.0 + github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.14.0 github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.33.0 github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.33.0 github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.1 diff --git a/go.sum b/go.sum index 87f239aa289f..1398c0db4d9f 100644 --- a/go.sum +++ b/go.sum @@ -533,8 +533,8 @@ github.com/aws/aws-sdk-go-v2/service/synthetics v1.39.0 h1:M7W7qo3OsHzH+zrmoU8gR github.com/aws/aws-sdk-go-v2/service/synthetics v1.39.0/go.mod h1:W+FGMMTt/jHWUUM5es5OTFA22E2Ofia4wT9sqs8RmQM= github.com/aws/aws-sdk-go-v2/service/taxsettings v1.15.0 h1:+LdZx81sNrpT4v1+zr+5LJa8CBtKjWv9UFE+fLdzWRM= github.com/aws/aws-sdk-go-v2/service/taxsettings v1.15.0/go.mod h1:VHRAf77eBVojkVkK/6Eh0YyqW474JYo2rkdo0ZSbT9U= -github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.13.0 h1:ik+FNIDBN16wpzb2kJExF1FJ7jmyyq77gJAiXmxjsyI= -github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.13.0/go.mod h1:OOSSPOW5gjnWQfNOtYOnvXqWotSk2TWXW6PqXiM8Dd4= +github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.14.0 h1:x/RJ5w+RJ7F6DXSqUdRd5oo/L2qq2ziciIep+5G+U7A= +github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.14.0/go.mod h1:k9gnnRDj9A3E71aGKvAT6cZTTDQCQ1hHT9mu6ayNjkg= github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.33.0 h1:FpXclEjSpDkYeCvLpR6nmURQAZfXD235JFvFI6xkbak= github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.33.0/go.mod h1:AOmT9Dn8c674nUD56pQAb9rCkhhrlK1K6ULaz3T6/EM= github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.33.0 h1:Ien1hQnz4TwH27FV3BUZxOnp+OYoamqNG3DrHX7clJ0= From 02fdce1c4d7f96649fb00867d6a6af4910987856 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:43 -0400 Subject: [PATCH 1060/1301] go get github.com/aws/aws-sdk-go-v2/service/timestreamquery. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 56c7dc56dac2..616c5ed5e69b 100644 --- a/go.mod +++ b/go.mod @@ -256,7 +256,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/synthetics v1.39.0 github.com/aws/aws-sdk-go-v2/service/taxsettings v1.15.0 github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.14.0 - github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.33.0 + github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.34.0 github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.33.0 github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.1 github.com/aws/aws-sdk-go-v2/service/transfer v1.63.0 diff --git a/go.sum b/go.sum index 1398c0db4d9f..1419ee3ddf4d 100644 --- a/go.sum +++ b/go.sum @@ -535,8 +535,8 @@ github.com/aws/aws-sdk-go-v2/service/taxsettings v1.15.0 h1:+LdZx81sNrpT4v1+zr+5 github.com/aws/aws-sdk-go-v2/service/taxsettings v1.15.0/go.mod h1:VHRAf77eBVojkVkK/6Eh0YyqW474JYo2rkdo0ZSbT9U= github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.14.0 h1:x/RJ5w+RJ7F6DXSqUdRd5oo/L2qq2ziciIep+5G+U7A= github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.14.0/go.mod h1:k9gnnRDj9A3E71aGKvAT6cZTTDQCQ1hHT9mu6ayNjkg= -github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.33.0 h1:FpXclEjSpDkYeCvLpR6nmURQAZfXD235JFvFI6xkbak= -github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.33.0/go.mod h1:AOmT9Dn8c674nUD56pQAb9rCkhhrlK1K6ULaz3T6/EM= +github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.34.0 h1:e2NwGYwvTV2yNa76PRkQ/gtjEmnvCw9h6kRTNCg/PUI= +github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.34.0/go.mod h1:DwajsOry3HW3LDuBdlkTA2YbZkOXl0lGqf/Tmh52RhU= github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.33.0 h1:Ien1hQnz4TwH27FV3BUZxOnp+OYoamqNG3DrHX7clJ0= github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.33.0/go.mod h1:WquhdpcwQ2IToqTKc9GJSoA4Unm69MhLMXEO6qbhjKU= github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.1 h1:/ToMjU95u9zM7d5DgePvhgGMfkDJFe9Y+WFbRl7Copw= From 392157522f62b23015636e4aab82228e8347f632 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:44 -0400 Subject: [PATCH 1061/1301] go get github.com/aws/aws-sdk-go-v2/service/timestreamwrite. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 616c5ed5e69b..c552ee85a898 100644 --- a/go.mod +++ b/go.mod @@ -257,7 +257,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/taxsettings v1.15.0 github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.14.0 github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.34.0 - github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.33.0 + github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.34.0 github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.1 github.com/aws/aws-sdk-go-v2/service/transfer v1.63.0 github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.26.0 diff --git a/go.sum b/go.sum index 1419ee3ddf4d..5efcd48ef0ad 100644 --- a/go.sum +++ b/go.sum @@ -537,8 +537,8 @@ github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.14.0 h1:x/RJ5w+RJ7F6D github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.14.0/go.mod h1:k9gnnRDj9A3E71aGKvAT6cZTTDQCQ1hHT9mu6ayNjkg= github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.34.0 h1:e2NwGYwvTV2yNa76PRkQ/gtjEmnvCw9h6kRTNCg/PUI= github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.34.0/go.mod h1:DwajsOry3HW3LDuBdlkTA2YbZkOXl0lGqf/Tmh52RhU= -github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.33.0 h1:Ien1hQnz4TwH27FV3BUZxOnp+OYoamqNG3DrHX7clJ0= -github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.33.0/go.mod h1:WquhdpcwQ2IToqTKc9GJSoA4Unm69MhLMXEO6qbhjKU= +github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.34.0 h1:/Ec93n7oXPhZvalYxFphWMSNjaAy/A2dWkKhqCAePEg= +github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.34.0/go.mod h1:zR+5dzF2qJz6WneebK+JkFEheDRa8CbRKYs//5XycJU= github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.1 h1:/ToMjU95u9zM7d5DgePvhgGMfkDJFe9Y+WFbRl7Copw= github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.1/go.mod h1:C4HQjEMMSrwJQKQsFslNNOeP3dICpXktxWJ6MjRCyq8= github.com/aws/aws-sdk-go-v2/service/transfer v1.63.0 h1:ccfREMOY7VoLlSuSEH/wvXr1Ex+AbmKSKf1iTYvsyYI= From 553cda21840b97a61f00b0b75f8ac926fa5313af Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:45 -0400 Subject: [PATCH 1062/1301] go get github.com/aws/aws-sdk-go-v2/service/transcribe. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c552ee85a898..7faf6c039e68 100644 --- a/go.mod +++ b/go.mod @@ -258,7 +258,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.14.0 github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.34.0 github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.34.0 - github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.1 + github.com/aws/aws-sdk-go-v2/service/transcribe v1.50.0 github.com/aws/aws-sdk-go-v2/service/transfer v1.63.0 github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.26.0 github.com/aws/aws-sdk-go-v2/service/vpclattice v1.16.0 diff --git a/go.sum b/go.sum index 5efcd48ef0ad..aef3d2b55389 100644 --- a/go.sum +++ b/go.sum @@ -539,8 +539,8 @@ github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.34.0 h1:e2NwGYwvTV2yNa76 github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.34.0/go.mod h1:DwajsOry3HW3LDuBdlkTA2YbZkOXl0lGqf/Tmh52RhU= github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.34.0 h1:/Ec93n7oXPhZvalYxFphWMSNjaAy/A2dWkKhqCAePEg= github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.34.0/go.mod h1:zR+5dzF2qJz6WneebK+JkFEheDRa8CbRKYs//5XycJU= -github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.1 h1:/ToMjU95u9zM7d5DgePvhgGMfkDJFe9Y+WFbRl7Copw= -github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.1/go.mod h1:C4HQjEMMSrwJQKQsFslNNOeP3dICpXktxWJ6MjRCyq8= +github.com/aws/aws-sdk-go-v2/service/transcribe v1.50.0 h1:otdXZIcJvXCaOpXvZnydfshPQJVtM3s6A5KozVtmkbc= +github.com/aws/aws-sdk-go-v2/service/transcribe v1.50.0/go.mod h1:zKZY1p5qYRYG/NMOMv8GVeUJLliaK+EpgD9Q2q4v7O4= github.com/aws/aws-sdk-go-v2/service/transfer v1.63.0 h1:ccfREMOY7VoLlSuSEH/wvXr1Ex+AbmKSKf1iTYvsyYI= github.com/aws/aws-sdk-go-v2/service/transfer v1.63.0/go.mod h1:zZCkAJeuF8Pfs9vOShUWoL7cXqANEbYaycWjiPeHzJo= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.26.0 h1:PpHbbpQ2q02tM40tzUGwRpuTDHc36TtujWkKgcUZhJs= From 8adc656813502a06cccb6b93ef3ce33f412a2a22 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:46 -0400 Subject: [PATCH 1063/1301] go get github.com/aws/aws-sdk-go-v2/service/transfer. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 7faf6c039e68..dc74a2494f5e 100644 --- a/go.mod +++ b/go.mod @@ -259,7 +259,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.34.0 github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.34.0 github.com/aws/aws-sdk-go-v2/service/transcribe v1.50.0 - github.com/aws/aws-sdk-go-v2/service/transfer v1.63.0 + github.com/aws/aws-sdk-go-v2/service/transfer v1.64.0 github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.26.0 github.com/aws/aws-sdk-go-v2/service/vpclattice v1.16.0 github.com/aws/aws-sdk-go-v2/service/waf v1.28.0 diff --git a/go.sum b/go.sum index aef3d2b55389..91ccc4ba8d91 100644 --- a/go.sum +++ b/go.sum @@ -541,8 +541,8 @@ github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.34.0 h1:/Ec93n7oXPhZvalY github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.34.0/go.mod h1:zR+5dzF2qJz6WneebK+JkFEheDRa8CbRKYs//5XycJU= github.com/aws/aws-sdk-go-v2/service/transcribe v1.50.0 h1:otdXZIcJvXCaOpXvZnydfshPQJVtM3s6A5KozVtmkbc= github.com/aws/aws-sdk-go-v2/service/transcribe v1.50.0/go.mod h1:zKZY1p5qYRYG/NMOMv8GVeUJLliaK+EpgD9Q2q4v7O4= -github.com/aws/aws-sdk-go-v2/service/transfer v1.63.0 h1:ccfREMOY7VoLlSuSEH/wvXr1Ex+AbmKSKf1iTYvsyYI= -github.com/aws/aws-sdk-go-v2/service/transfer v1.63.0/go.mod h1:zZCkAJeuF8Pfs9vOShUWoL7cXqANEbYaycWjiPeHzJo= +github.com/aws/aws-sdk-go-v2/service/transfer v1.64.0 h1:QsCjJRBHeDHhOc0J+GIPxhHesz5yTSYXR1jyMWzXcNQ= +github.com/aws/aws-sdk-go-v2/service/transfer v1.64.0/go.mod h1:LYJ3Lj45sKL6TmHqQQGGzOBTUWjPvo9rqjYmMzbpIlY= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.26.0 h1:PpHbbpQ2q02tM40tzUGwRpuTDHc36TtujWkKgcUZhJs= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.26.0/go.mod h1:hmDaQDyTtzWXZ9dImqrLz33w5W1zwq5Vl+ek1ocUEiU= github.com/aws/aws-sdk-go-v2/service/vpclattice v1.16.0 h1:yvmIhQivdW+lkqwWjROA6Ig40WRBlUt1jxzZ8qiiYlk= From 9678491b04f35319a4c12264c9d77569244dd2a3 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:47 -0400 Subject: [PATCH 1064/1301] go get github.com/aws/aws-sdk-go-v2/service/verifiedpermissions. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index dc74a2494f5e..cf69a94c8509 100644 --- a/go.mod +++ b/go.mod @@ -260,7 +260,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.34.0 github.com/aws/aws-sdk-go-v2/service/transcribe v1.50.0 github.com/aws/aws-sdk-go-v2/service/transfer v1.64.0 - github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.26.0 + github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.27.0 github.com/aws/aws-sdk-go-v2/service/vpclattice v1.16.0 github.com/aws/aws-sdk-go-v2/service/waf v1.28.0 github.com/aws/aws-sdk-go-v2/service/wafregional v1.28.0 diff --git a/go.sum b/go.sum index 91ccc4ba8d91..40fe5e141a46 100644 --- a/go.sum +++ b/go.sum @@ -543,8 +543,8 @@ github.com/aws/aws-sdk-go-v2/service/transcribe v1.50.0 h1:otdXZIcJvXCaOpXvZnydf github.com/aws/aws-sdk-go-v2/service/transcribe v1.50.0/go.mod h1:zKZY1p5qYRYG/NMOMv8GVeUJLliaK+EpgD9Q2q4v7O4= github.com/aws/aws-sdk-go-v2/service/transfer v1.64.0 h1:QsCjJRBHeDHhOc0J+GIPxhHesz5yTSYXR1jyMWzXcNQ= github.com/aws/aws-sdk-go-v2/service/transfer v1.64.0/go.mod h1:LYJ3Lj45sKL6TmHqQQGGzOBTUWjPvo9rqjYmMzbpIlY= -github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.26.0 h1:PpHbbpQ2q02tM40tzUGwRpuTDHc36TtujWkKgcUZhJs= -github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.26.0/go.mod h1:hmDaQDyTtzWXZ9dImqrLz33w5W1zwq5Vl+ek1ocUEiU= +github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.27.0 h1:eGVvpr1n1sMvSnvYAQVUKK+JUPNFjUTy2iSR8nutPMc= +github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.27.0/go.mod h1:XHTOqO6Iy5JS7BTOT5fg5HvmMTxUJRksaypat8yHexw= github.com/aws/aws-sdk-go-v2/service/vpclattice v1.16.0 h1:yvmIhQivdW+lkqwWjROA6Ig40WRBlUt1jxzZ8qiiYlk= github.com/aws/aws-sdk-go-v2/service/vpclattice v1.16.0/go.mod h1:R3HlHnPqocjz6KcFNEH5eIqzCc8bcI7DyWb2LZGFpxk= github.com/aws/aws-sdk-go-v2/service/waf v1.28.0 h1:OYxdAPcJF5HtA5QtvCBIxCyA5KTNB/CjT0Lw5SsKcUk= From b6c3063184d26c7f01421ef7875ac27698f07fb9 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:48 -0400 Subject: [PATCH 1065/1301] go get github.com/aws/aws-sdk-go-v2/service/vpclattice. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index cf69a94c8509..284268138a04 100644 --- a/go.mod +++ b/go.mod @@ -261,7 +261,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/transcribe v1.50.0 github.com/aws/aws-sdk-go-v2/service/transfer v1.64.0 github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.27.0 - github.com/aws/aws-sdk-go-v2/service/vpclattice v1.16.0 + github.com/aws/aws-sdk-go-v2/service/vpclattice v1.17.0 github.com/aws/aws-sdk-go-v2/service/waf v1.28.0 github.com/aws/aws-sdk-go-v2/service/wafregional v1.28.0 github.com/aws/aws-sdk-go-v2/service/wafv2 v1.65.0 diff --git a/go.sum b/go.sum index 40fe5e141a46..9f4fd04a83e2 100644 --- a/go.sum +++ b/go.sum @@ -545,8 +545,8 @@ github.com/aws/aws-sdk-go-v2/service/transfer v1.64.0 h1:QsCjJRBHeDHhOc0J+GIPxhH github.com/aws/aws-sdk-go-v2/service/transfer v1.64.0/go.mod h1:LYJ3Lj45sKL6TmHqQQGGzOBTUWjPvo9rqjYmMzbpIlY= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.27.0 h1:eGVvpr1n1sMvSnvYAQVUKK+JUPNFjUTy2iSR8nutPMc= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.27.0/go.mod h1:XHTOqO6Iy5JS7BTOT5fg5HvmMTxUJRksaypat8yHexw= -github.com/aws/aws-sdk-go-v2/service/vpclattice v1.16.0 h1:yvmIhQivdW+lkqwWjROA6Ig40WRBlUt1jxzZ8qiiYlk= -github.com/aws/aws-sdk-go-v2/service/vpclattice v1.16.0/go.mod h1:R3HlHnPqocjz6KcFNEH5eIqzCc8bcI7DyWb2LZGFpxk= +github.com/aws/aws-sdk-go-v2/service/vpclattice v1.17.0 h1:l/hNjnFe+0P+0YjVaYghBZDooc5OFJOx4c+hG/YyX5Y= +github.com/aws/aws-sdk-go-v2/service/vpclattice v1.17.0/go.mod h1:lVuOOAjNmWYyLy+pHYu0QzZ07u8b+0rfPXrQNJ48N9o= github.com/aws/aws-sdk-go-v2/service/waf v1.28.0 h1:OYxdAPcJF5HtA5QtvCBIxCyA5KTNB/CjT0Lw5SsKcUk= github.com/aws/aws-sdk-go-v2/service/waf v1.28.0/go.mod h1:sBkZNIMfKDvcVtaNmeNqaBlL+okCb/ZhsYMfpL8fKTI= github.com/aws/aws-sdk-go-v2/service/wafregional v1.28.0 h1:ZF2SFoVktg4N3dZZgTayqmJNoSfsvieI/S9bxFnrau8= From 98da112f537ffd6d49c925d4b970f928b4555aa2 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:49 -0400 Subject: [PATCH 1066/1301] go get github.com/aws/aws-sdk-go-v2/service/waf. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 284268138a04..a1fb995614c9 100644 --- a/go.mod +++ b/go.mod @@ -262,7 +262,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/transfer v1.64.0 github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.27.0 github.com/aws/aws-sdk-go-v2/service/vpclattice v1.17.0 - github.com/aws/aws-sdk-go-v2/service/waf v1.28.0 + github.com/aws/aws-sdk-go-v2/service/waf v1.29.0 github.com/aws/aws-sdk-go-v2/service/wafregional v1.28.0 github.com/aws/aws-sdk-go-v2/service/wafv2 v1.65.0 github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.37.0 diff --git a/go.sum b/go.sum index 9f4fd04a83e2..42fbeaf9224f 100644 --- a/go.sum +++ b/go.sum @@ -547,8 +547,8 @@ github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.27.0 h1:eGVvpr1n1sMv github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.27.0/go.mod h1:XHTOqO6Iy5JS7BTOT5fg5HvmMTxUJRksaypat8yHexw= github.com/aws/aws-sdk-go-v2/service/vpclattice v1.17.0 h1:l/hNjnFe+0P+0YjVaYghBZDooc5OFJOx4c+hG/YyX5Y= github.com/aws/aws-sdk-go-v2/service/vpclattice v1.17.0/go.mod h1:lVuOOAjNmWYyLy+pHYu0QzZ07u8b+0rfPXrQNJ48N9o= -github.com/aws/aws-sdk-go-v2/service/waf v1.28.0 h1:OYxdAPcJF5HtA5QtvCBIxCyA5KTNB/CjT0Lw5SsKcUk= -github.com/aws/aws-sdk-go-v2/service/waf v1.28.0/go.mod h1:sBkZNIMfKDvcVtaNmeNqaBlL+okCb/ZhsYMfpL8fKTI= +github.com/aws/aws-sdk-go-v2/service/waf v1.29.0 h1:KiJHde7jxo8ppD7jcYopFKZ73of3SSyTbXRPifyCSjc= +github.com/aws/aws-sdk-go-v2/service/waf v1.29.0/go.mod h1:DVC3u2m55AWSV5tUmODpmG4gojAwO94Osa7YDLw9BCg= github.com/aws/aws-sdk-go-v2/service/wafregional v1.28.0 h1:ZF2SFoVktg4N3dZZgTayqmJNoSfsvieI/S9bxFnrau8= github.com/aws/aws-sdk-go-v2/service/wafregional v1.28.0/go.mod h1:TWzB6PEp1fYN63oDeiYgl8UzON3M7ygUDPvQOZKnK4A= github.com/aws/aws-sdk-go-v2/service/wafv2 v1.65.0 h1:uY3OJEiMQuO+RDo0ibtWlU5GTPoMZJoiAiaRPEEZUjQ= From 0b50a1ca98300c0f145234159949108f8e9f90ac Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:50 -0400 Subject: [PATCH 1067/1301] go get github.com/aws/aws-sdk-go-v2/service/wafregional. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a1fb995614c9..8ecce623254a 100644 --- a/go.mod +++ b/go.mod @@ -263,7 +263,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.27.0 github.com/aws/aws-sdk-go-v2/service/vpclattice v1.17.0 github.com/aws/aws-sdk-go-v2/service/waf v1.29.0 - github.com/aws/aws-sdk-go-v2/service/wafregional v1.28.0 + github.com/aws/aws-sdk-go-v2/service/wafregional v1.29.0 github.com/aws/aws-sdk-go-v2/service/wafv2 v1.65.0 github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.37.0 github.com/aws/aws-sdk-go-v2/service/workspaces v1.60.0 diff --git a/go.sum b/go.sum index 42fbeaf9224f..674bb6115822 100644 --- a/go.sum +++ b/go.sum @@ -549,8 +549,8 @@ github.com/aws/aws-sdk-go-v2/service/vpclattice v1.17.0 h1:l/hNjnFe+0P+0YjVaYghB github.com/aws/aws-sdk-go-v2/service/vpclattice v1.17.0/go.mod h1:lVuOOAjNmWYyLy+pHYu0QzZ07u8b+0rfPXrQNJ48N9o= github.com/aws/aws-sdk-go-v2/service/waf v1.29.0 h1:KiJHde7jxo8ppD7jcYopFKZ73of3SSyTbXRPifyCSjc= github.com/aws/aws-sdk-go-v2/service/waf v1.29.0/go.mod h1:DVC3u2m55AWSV5tUmODpmG4gojAwO94Osa7YDLw9BCg= -github.com/aws/aws-sdk-go-v2/service/wafregional v1.28.0 h1:ZF2SFoVktg4N3dZZgTayqmJNoSfsvieI/S9bxFnrau8= -github.com/aws/aws-sdk-go-v2/service/wafregional v1.28.0/go.mod h1:TWzB6PEp1fYN63oDeiYgl8UzON3M7ygUDPvQOZKnK4A= +github.com/aws/aws-sdk-go-v2/service/wafregional v1.29.0 h1:gFCxExCqt4/HWMVKmzf+Mxt3i1gyovNNL8xlfVaN0a4= +github.com/aws/aws-sdk-go-v2/service/wafregional v1.29.0/go.mod h1:brjH7E2LWOtLNsAupQL1Lv803e2xm3v+3wzqlX4BAOk= github.com/aws/aws-sdk-go-v2/service/wafv2 v1.65.0 h1:uY3OJEiMQuO+RDo0ibtWlU5GTPoMZJoiAiaRPEEZUjQ= github.com/aws/aws-sdk-go-v2/service/wafv2 v1.65.0/go.mod h1:2y/+a6X3qVfn8T1s3ZT7+OAdyFNVfnG6GRa6EMf69u0= github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.37.0 h1:Ajd4pP2pftD3pnofQ1+7TEflSaNYevoII49UkI0xatA= From fab3b49196d53a33511dd45d5c9d7b9cddd50d95 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:51 -0400 Subject: [PATCH 1068/1301] go get github.com/aws/aws-sdk-go-v2/service/wafv2. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8ecce623254a..c350c8e14fd2 100644 --- a/go.mod +++ b/go.mod @@ -264,7 +264,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/vpclattice v1.17.0 github.com/aws/aws-sdk-go-v2/service/waf v1.29.0 github.com/aws/aws-sdk-go-v2/service/wafregional v1.29.0 - github.com/aws/aws-sdk-go-v2/service/wafv2 v1.65.0 + github.com/aws/aws-sdk-go-v2/service/wafv2 v1.66.0 github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.37.0 github.com/aws/aws-sdk-go-v2/service/workspaces v1.60.0 github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.30.0 diff --git a/go.sum b/go.sum index 674bb6115822..a694bd4f1725 100644 --- a/go.sum +++ b/go.sum @@ -551,8 +551,8 @@ github.com/aws/aws-sdk-go-v2/service/waf v1.29.0 h1:KiJHde7jxo8ppD7jcYopFKZ73of3 github.com/aws/aws-sdk-go-v2/service/waf v1.29.0/go.mod h1:DVC3u2m55AWSV5tUmODpmG4gojAwO94Osa7YDLw9BCg= github.com/aws/aws-sdk-go-v2/service/wafregional v1.29.0 h1:gFCxExCqt4/HWMVKmzf+Mxt3i1gyovNNL8xlfVaN0a4= github.com/aws/aws-sdk-go-v2/service/wafregional v1.29.0/go.mod h1:brjH7E2LWOtLNsAupQL1Lv803e2xm3v+3wzqlX4BAOk= -github.com/aws/aws-sdk-go-v2/service/wafv2 v1.65.0 h1:uY3OJEiMQuO+RDo0ibtWlU5GTPoMZJoiAiaRPEEZUjQ= -github.com/aws/aws-sdk-go-v2/service/wafv2 v1.65.0/go.mod h1:2y/+a6X3qVfn8T1s3ZT7+OAdyFNVfnG6GRa6EMf69u0= +github.com/aws/aws-sdk-go-v2/service/wafv2 v1.66.0 h1:zEbaP92GXITM2TrYiw4mNer/ViT4z/Zq8hmrIzSF3Y0= +github.com/aws/aws-sdk-go-v2/service/wafv2 v1.66.0/go.mod h1:EPNcb1lt/lfWkpjINo7eP5AwfvlG8ioVT9frx5w5k9s= github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.37.0 h1:Ajd4pP2pftD3pnofQ1+7TEflSaNYevoII49UkI0xatA= github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.37.0/go.mod h1:vhARHB5E9NBKpbcLcWo96asxlofoSEXItelnMf4L63Q= github.com/aws/aws-sdk-go-v2/service/workspaces v1.60.0 h1:l+YQbYWAiupSnKXZ/HOYNOI0XdRexhwnlGY6EYBwZ7g= From 404bb5bf50d0d4942776ca04b3b3836ed19755a6 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:52 -0400 Subject: [PATCH 1069/1301] go get github.com/aws/aws-sdk-go-v2/service/wellarchitected. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c350c8e14fd2..b6993b8cc5e4 100644 --- a/go.mod +++ b/go.mod @@ -265,7 +265,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/waf v1.29.0 github.com/aws/aws-sdk-go-v2/service/wafregional v1.29.0 github.com/aws/aws-sdk-go-v2/service/wafv2 v1.66.0 - github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.37.0 + github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.38.0 github.com/aws/aws-sdk-go-v2/service/workspaces v1.60.0 github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.30.0 github.com/aws/aws-sdk-go-v2/service/xray v1.33.0 diff --git a/go.sum b/go.sum index a694bd4f1725..685bfb82ba3e 100644 --- a/go.sum +++ b/go.sum @@ -553,8 +553,8 @@ github.com/aws/aws-sdk-go-v2/service/wafregional v1.29.0 h1:gFCxExCqt4/HWMVKmzf+ github.com/aws/aws-sdk-go-v2/service/wafregional v1.29.0/go.mod h1:brjH7E2LWOtLNsAupQL1Lv803e2xm3v+3wzqlX4BAOk= github.com/aws/aws-sdk-go-v2/service/wafv2 v1.66.0 h1:zEbaP92GXITM2TrYiw4mNer/ViT4z/Zq8hmrIzSF3Y0= github.com/aws/aws-sdk-go-v2/service/wafv2 v1.66.0/go.mod h1:EPNcb1lt/lfWkpjINo7eP5AwfvlG8ioVT9frx5w5k9s= -github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.37.0 h1:Ajd4pP2pftD3pnofQ1+7TEflSaNYevoII49UkI0xatA= -github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.37.0/go.mod h1:vhARHB5E9NBKpbcLcWo96asxlofoSEXItelnMf4L63Q= +github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.38.0 h1:5+II3BO8cotBo0VNs3Ix2EakRC+PP//loHRaEKDQUNE= +github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.38.0/go.mod h1:ObNr9KblAM/kLbDQAhRAqmi8sY5CPdEd9VqeyZxU79Y= github.com/aws/aws-sdk-go-v2/service/workspaces v1.60.0 h1:l+YQbYWAiupSnKXZ/HOYNOI0XdRexhwnlGY6EYBwZ7g= github.com/aws/aws-sdk-go-v2/service/workspaces v1.60.0/go.mod h1:wBy3knc+aXjHkaLrHApzc7N8saQha6AaeThgdopPLA8= github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.30.0 h1:Qw3jH5JOp1Yx63HNLd3m/4fuqOmwZoTskrpnoHD8GL0= From ccaa489241a1a779adf44e3710ae18b626a8bd11 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:53 -0400 Subject: [PATCH 1070/1301] go get github.com/aws/aws-sdk-go-v2/service/workspaces. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b6993b8cc5e4..9301be537073 100644 --- a/go.mod +++ b/go.mod @@ -266,7 +266,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/wafregional v1.29.0 github.com/aws/aws-sdk-go-v2/service/wafv2 v1.66.0 github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.38.0 - github.com/aws/aws-sdk-go-v2/service/workspaces v1.60.0 + github.com/aws/aws-sdk-go-v2/service/workspaces v1.61.0 github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.30.0 github.com/aws/aws-sdk-go-v2/service/xray v1.33.0 github.com/aws/smithy-go v1.22.5 diff --git a/go.sum b/go.sum index 685bfb82ba3e..249672fecea5 100644 --- a/go.sum +++ b/go.sum @@ -555,8 +555,8 @@ github.com/aws/aws-sdk-go-v2/service/wafv2 v1.66.0 h1:zEbaP92GXITM2TrYiw4mNer/Vi github.com/aws/aws-sdk-go-v2/service/wafv2 v1.66.0/go.mod h1:EPNcb1lt/lfWkpjINo7eP5AwfvlG8ioVT9frx5w5k9s= github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.38.0 h1:5+II3BO8cotBo0VNs3Ix2EakRC+PP//loHRaEKDQUNE= github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.38.0/go.mod h1:ObNr9KblAM/kLbDQAhRAqmi8sY5CPdEd9VqeyZxU79Y= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.60.0 h1:l+YQbYWAiupSnKXZ/HOYNOI0XdRexhwnlGY6EYBwZ7g= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.60.0/go.mod h1:wBy3knc+aXjHkaLrHApzc7N8saQha6AaeThgdopPLA8= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.61.0 h1:MzTVNx65GKhj9mLLbC7AIXCEBnucyiDB1jAnp4Vye2A= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.61.0/go.mod h1:AJ7eKGcsgQ07kXJ4YWAf7PTFOvkoHc0Voh7CkAj9Bqk= github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.30.0 h1:Qw3jH5JOp1Yx63HNLd3m/4fuqOmwZoTskrpnoHD8GL0= github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.30.0/go.mod h1:aOovVVoUFe9mVrtezfjeSHi/AKnZm2JKjI5uf1v6Lhw= github.com/aws/aws-sdk-go-v2/service/xray v1.33.0 h1:iHeSWpMxk/qGq5op8qwHw4DGEP+hx7DLEsQbhlF4mW8= From 025d11960bae53c16b472aae74f2516086fb444d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:54 -0400 Subject: [PATCH 1071/1301] go get github.com/aws/aws-sdk-go-v2/service/workspacesweb. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 9301be537073..532b4f4cc476 100644 --- a/go.mod +++ b/go.mod @@ -267,7 +267,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/wafv2 v1.66.0 github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.38.0 github.com/aws/aws-sdk-go-v2/service/workspaces v1.61.0 - github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.30.0 + github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.31.0 github.com/aws/aws-sdk-go-v2/service/xray v1.33.0 github.com/aws/smithy-go v1.22.5 github.com/beevik/etree v1.5.1 diff --git a/go.sum b/go.sum index 249672fecea5..d46e1414f999 100644 --- a/go.sum +++ b/go.sum @@ -557,8 +557,8 @@ github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.38.0 h1:5+II3BO8cotBo0VN github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.38.0/go.mod h1:ObNr9KblAM/kLbDQAhRAqmi8sY5CPdEd9VqeyZxU79Y= github.com/aws/aws-sdk-go-v2/service/workspaces v1.61.0 h1:MzTVNx65GKhj9mLLbC7AIXCEBnucyiDB1jAnp4Vye2A= github.com/aws/aws-sdk-go-v2/service/workspaces v1.61.0/go.mod h1:AJ7eKGcsgQ07kXJ4YWAf7PTFOvkoHc0Voh7CkAj9Bqk= -github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.30.0 h1:Qw3jH5JOp1Yx63HNLd3m/4fuqOmwZoTskrpnoHD8GL0= -github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.30.0/go.mod h1:aOovVVoUFe9mVrtezfjeSHi/AKnZm2JKjI5uf1v6Lhw= +github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.31.0 h1:n4HU/6mkGI9nTgt5Q80hvLMWv4HeXwfx51Ux5lVkRTY= +github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.31.0/go.mod h1:fCtcQlrmCiCA0BRxpkhrOCFPGDSi7YNw7IV+NS2bKyY= github.com/aws/aws-sdk-go-v2/service/xray v1.33.0 h1:iHeSWpMxk/qGq5op8qwHw4DGEP+hx7DLEsQbhlF4mW8= github.com/aws/aws-sdk-go-v2/service/xray v1.33.0/go.mod h1:S8Ij3/mKF/976T6WrnozZw2QQBSLs1l2KQTL3SOCwPQ= github.com/aws/smithy-go v1.22.5 h1:P9ATCXPMb2mPjYBgueqJNCA5S9UfktsW0tTxi+a7eqw= From 110e0d284b23787999016d85223be5344a4eb860 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:01:55 -0400 Subject: [PATCH 1072/1301] go get github.com/aws/aws-sdk-go-v2/service/xray. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 532b4f4cc476..0c39a3816d5a 100644 --- a/go.mod +++ b/go.mod @@ -268,7 +268,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.38.0 github.com/aws/aws-sdk-go-v2/service/workspaces v1.61.0 github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.31.0 - github.com/aws/aws-sdk-go-v2/service/xray v1.33.0 + github.com/aws/aws-sdk-go-v2/service/xray v1.34.0 github.com/aws/smithy-go v1.22.5 github.com/beevik/etree v1.5.1 github.com/cedar-policy/cedar-go v1.2.6 diff --git a/go.sum b/go.sum index d46e1414f999..6ba4c5d30795 100644 --- a/go.sum +++ b/go.sum @@ -559,8 +559,8 @@ github.com/aws/aws-sdk-go-v2/service/workspaces v1.61.0 h1:MzTVNx65GKhj9mLLbC7AI github.com/aws/aws-sdk-go-v2/service/workspaces v1.61.0/go.mod h1:AJ7eKGcsgQ07kXJ4YWAf7PTFOvkoHc0Voh7CkAj9Bqk= github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.31.0 h1:n4HU/6mkGI9nTgt5Q80hvLMWv4HeXwfx51Ux5lVkRTY= github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.31.0/go.mod h1:fCtcQlrmCiCA0BRxpkhrOCFPGDSi7YNw7IV+NS2bKyY= -github.com/aws/aws-sdk-go-v2/service/xray v1.33.0 h1:iHeSWpMxk/qGq5op8qwHw4DGEP+hx7DLEsQbhlF4mW8= -github.com/aws/aws-sdk-go-v2/service/xray v1.33.0/go.mod h1:S8Ij3/mKF/976T6WrnozZw2QQBSLs1l2KQTL3SOCwPQ= +github.com/aws/aws-sdk-go-v2/service/xray v1.34.0 h1:gFPqTmIg8UI0CcW0pk4LXT2BQK2osloIE6xf46p2144= +github.com/aws/aws-sdk-go-v2/service/xray v1.34.0/go.mod h1:zzWVXnnO820ouM6JAIv2dQa8p5rPTVOCRoEvkljwnnM= github.com/aws/smithy-go v1.22.5 h1:P9ATCXPMb2mPjYBgueqJNCA5S9UfktsW0tTxi+a7eqw= github.com/aws/smithy-go v1.22.5/go.mod h1:t1ufH5HMublsJYulve2RKmHDC15xu1f26kHCp/HgceI= github.com/beevik/etree v1.5.1 h1:TC3zyxYp+81wAmbsi8SWUpZCurbxa6S8RITYRSkNRwo= From c56a32d95dc9ab0e6b8dd1d608f1ab1853412c0c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:04:54 -0400 Subject: [PATCH 1073/1301] go get github.com/aws/aws-sdk-go-v2/service/devopsguru. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 0c39a3816d5a..3f9ddf1ce28f 100644 --- a/go.mod +++ b/go.mod @@ -94,7 +94,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/dax v1.27.0 github.com/aws/aws-sdk-go-v2/service/detective v1.36.0 github.com/aws/aws-sdk-go-v2/service/devicefarm v1.34.0 - github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0 + github.com/aws/aws-sdk-go-v2/service/devopsguru v1.38.0 github.com/aws/aws-sdk-go-v2/service/directconnect v1.35.0 github.com/aws/aws-sdk-go-v2/service/directoryservice v1.35.0 github.com/aws/aws-sdk-go-v2/service/dlm v1.33.0 diff --git a/go.sum b/go.sum index 6ba4c5d30795..62907b52f3e8 100644 --- a/go.sum +++ b/go.sum @@ -199,8 +199,8 @@ github.com/aws/aws-sdk-go-v2/service/detective v1.36.0 h1:0av6yvy0lYUtlgDnZoinqI github.com/aws/aws-sdk-go-v2/service/detective v1.36.0/go.mod h1:mS/k1sKOFKsE7Jr34gvsnX52nLSjAWfnjvvoUJwhkTU= github.com/aws/aws-sdk-go-v2/service/devicefarm v1.34.0 h1:zvhsIkUZOol3DwpcvFl/y14uSSs1JNcGsbu7cMdSxqU= github.com/aws/aws-sdk-go-v2/service/devicefarm v1.34.0/go.mod h1:3QfEUV+KuDYX+oOpu86CUe1/m9yVBO8Z+72OLmPGsWA= -github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0 h1:SUJxgNXb9Gl+gm9p5Q0M5M9G3E8AjV6ELnmgMwt2MTM= -github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0/go.mod h1:Uttl2g1mxh8OO3Nn6L/O5RyMW96Q9NCQ9v95NH7AAIs= +github.com/aws/aws-sdk-go-v2/service/devopsguru v1.38.0 h1:+yQPtAOwzsA/4eIT1oGcZu30dljvlCNec2pGOPUsw4A= +github.com/aws/aws-sdk-go-v2/service/devopsguru v1.38.0/go.mod h1:yfBgovuMZJiyeD7iv6LNn45JYSLLWoNjALM0OPPf23I= github.com/aws/aws-sdk-go-v2/service/directconnect v1.35.0 h1:6FJwZjdnKtDCPb5oH0DY2NMIOiMlw/srC7H0P5TZWbE= github.com/aws/aws-sdk-go-v2/service/directconnect v1.35.0/go.mod h1:nfTthF0vgdEKFt79wWB4mdX8YuLq2slQxG+mv3U+rmA= github.com/aws/aws-sdk-go-v2/service/directoryservice v1.35.0 h1:raC54NZ3nBlLL8AJgcH4jcI6tM0bPm2gxVk5svtN1hw= From 6458c9c641346da00a7c451c1caa011dc95ddaad Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:05:27 -0400 Subject: [PATCH 1074/1301] go get github.com/aws/aws-sdk-go-v2/service/kinesisvideo. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 3f9ddf1ce28f..ef70d610f262 100644 --- a/go.mod +++ b/go.mod @@ -152,7 +152,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/kinesis v1.38.0 github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.29.0 github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.35.0 - github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0 + github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.31.0 github.com/aws/aws-sdk-go-v2/service/kms v1.44.0 github.com/aws/aws-sdk-go-v2/service/lakeformation v1.44.0 github.com/aws/aws-sdk-go-v2/service/lambda v1.76.0 diff --git a/go.sum b/go.sum index 62907b52f3e8..47ae64fa0eb6 100644 --- a/go.sum +++ b/go.sum @@ -325,8 +325,8 @@ github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.29.0 h1:IJkGKIgX2ZCga4A github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.29.0/go.mod h1:jYH0HRqYnukQt14eBIgAfnIRjihLy5osnU0BN0G+Do8= github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.35.0 h1:eoa+/AK+SVR5cTa/yPiDeupC0EZ8jA496jwjNMhrL+U= github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.35.0/go.mod h1:E4piy+DkyYY+2sIOdlI91iLrygWzEfIuldAwgyQmWQs= -github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0 h1:tv3RAtA6Sy920l3QRvhjnve0hrBG3tDrpOyjVD6fz9s= -github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0/go.mod h1:RogDtUwHccKseh8E8wGF7THiQFb+IIS170v/d4zBfJ8= +github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.31.0 h1:wOcpGR9keDoaWcFQOUEQqA9EhRcl2yv2yOWS24sQnpM= +github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.31.0/go.mod h1:h095RtNvHu1cWmPHWxEitFuK7AcAjO6sKbovcmF+7mw= github.com/aws/aws-sdk-go-v2/service/kms v1.44.0 h1:Z95XCqqSnwXr0AY7PgsiOUBhUG2GoDM5getw6RfD1Lg= github.com/aws/aws-sdk-go-v2/service/kms v1.44.0/go.mod h1:DqcSngL7jJeU1fOzh5Ll5rSvX/MlMV6OZlE4mVdFAQc= github.com/aws/aws-sdk-go-v2/service/lakeformation v1.44.0 h1:L48j3iwTIZPNp1FEnZ3d1L1Fx+9ac3N0Oyca42yY3sQ= From eefff21a8b1197110d2c06df2c67b0c3e6d85fbe Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:05:59 -0400 Subject: [PATCH 1075/1301] go get github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ef70d610f262..fcd46d90f13f 100644 --- a/go.mod +++ b/go.mod @@ -211,7 +211,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.33.0 github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.20.0 github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.32.0 - github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0 + github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.29.0 github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.20.0 github.com/aws/aws-sdk-go-v2/service/route53 v1.56.0 github.com/aws/aws-sdk-go-v2/service/route53domains v1.32.0 diff --git a/go.sum b/go.sum index 47ae64fa0eb6..8cdb9412dbb5 100644 --- a/go.sum +++ b/go.sum @@ -443,8 +443,8 @@ github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.20.0 h1:26bUDFcdGzHxBa github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.20.0/go.mod h1:eFxDYEcdKWIT77Mrq/fT+6KL9bu3ACn5sDFk7Be8FKg= github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.32.0 h1:ZzEJclXVP4woTKwsQChUKOZuekxc/DBjlHKmfFWpYrg= github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.32.0/go.mod h1:uGcWLsjkPjZYRpw67cFbNND8jtLokfgLTvZSGpAT7cs= -github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0 h1:UtG7I7N+hYu6X4Yjz8XC7tgRCss5PiEgCW3KXMxz2R4= -github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0/go.mod h1:HEr473Fg94eiVW0HnobYqlkfz5dxw771ZseM6DWJAwg= +github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.29.0 h1:jevrLpVG9sOEPsuipO3eGcdDzJyo36Dmme9iSu/8GVE= +github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.29.0/go.mod h1:t/zZb99l0WrcNYbDIF3tgj0rJNklhiVa6B1x/Rz4rHc= github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.20.0 h1:KBw/bfF87jfAgm0ZcQOCgqJSY7tMLg9x+1f+EdUHQt0= github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.20.0/go.mod h1:mWcjTY8epINHRpQmgBLjOTYM5TYUeBOysugdyG128io= github.com/aws/aws-sdk-go-v2/service/route53 v1.56.0 h1:+8/JB7/ZIk86sDBtcy+md9qqHOjc6rR75NySpsrujDY= From bee6cddc0c96a10b84181c278519de6c7591db2d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:06:19 -0400 Subject: [PATCH 1076/1301] go get github.com/aws/aws-sdk-go-v2/service/ses. --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index fcd46d90f13f..85e66404ddbd 100644 --- a/go.mod +++ b/go.mod @@ -236,7 +236,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.34.0 github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.38.0 github.com/aws/aws-sdk-go-v2/service/servicequotas v1.31.0 - github.com/aws/aws-sdk-go-v2/service/ses v1.32.0 + github.com/aws/aws-sdk-go-v2/service/ses v1.33.0 github.com/aws/aws-sdk-go-v2/service/sesv2 v1.51.0 github.com/aws/aws-sdk-go-v2/service/sfn v1.38.0 github.com/aws/aws-sdk-go-v2/service/shield v1.33.0 diff --git a/go.sum b/go.sum index 8cdb9412dbb5..ff8809c8533c 100644 --- a/go.sum +++ b/go.sum @@ -493,8 +493,8 @@ github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.38.0 h1:zQ78zrO5o29Sx+p github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.38.0/go.mod h1:nnG6Pe7Qu1Bv/mE3eL/3gCiQYrAWyXFXDOtOKcC7eh0= github.com/aws/aws-sdk-go-v2/service/servicequotas v1.31.0 h1:IqZZ0dHv/NhExc+8HI6CdgTZLz7Yjn9OaExTmFX4UX8= github.com/aws/aws-sdk-go-v2/service/servicequotas v1.31.0/go.mod h1:q+dUus04tyoWH3qZxKzu68bfL4MFs5ahSTSkyFIqmFQ= -github.com/aws/aws-sdk-go-v2/service/ses v1.32.0 h1:hsvll+Vlk63Wh38r5pWcZTGmA8oYAULQISXguLFc0IA= -github.com/aws/aws-sdk-go-v2/service/ses v1.32.0/go.mod h1:w6GEPvRXyzj34dGpgbo5MrRUEFTRoXEVNEvg56TpKhE= +github.com/aws/aws-sdk-go-v2/service/ses v1.33.0 h1:3BEXxnGZpqGWVFL8lntsAtWjT19EtQp2uUmXS0+wWpA= +github.com/aws/aws-sdk-go-v2/service/ses v1.33.0/go.mod h1:WvsgG068tbYpznWb1e4z09bo7pdNfKyHK05muGk3JPA= github.com/aws/aws-sdk-go-v2/service/sesv2 v1.51.0 h1:EGgXgQlHPLB4AQ2EitqhfkhRkyxHJ+Y1CTFbP6vfS60= github.com/aws/aws-sdk-go-v2/service/sesv2 v1.51.0/go.mod h1:z/Ty4fCI3RR3vFh/z2kYmdv4KgXh6z/ydK5XN/hfCcY= github.com/aws/aws-sdk-go-v2/service/sfn v1.38.0 h1:qDg+pW4hxuM1zlixvZy3EyRxGiy4FknvKwfYHsUGvYw= From ffa3171317620ab3dfbe098d49c0fbb13a08ed6f Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:08:43 -0400 Subject: [PATCH 1077/1301] Run 'make clean-tidy'. --- tools/tfsdk2fw/go.mod | 532 ++++++++++----------- tools/tfsdk2fw/go.sum | 1064 ++++++++++++++++++++--------------------- 2 files changed, 798 insertions(+), 798 deletions(-) diff --git a/tools/tfsdk2fw/go.mod b/tools/tfsdk2fw/go.mod index 777181a7ca03..ef9423d928b7 100644 --- a/tools/tfsdk2fw/go.mod +++ b/tools/tfsdk2fw/go.mod @@ -18,275 +18,275 @@ require ( github.com/agext/levenshtein v1.2.3 // indirect github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect github.com/armon/go-radix v1.0.0 // indirect - github.com/aws/aws-sdk-go-v2 v1.37.2 // indirect + github.com/aws/aws-sdk-go-v2 v1.38.0 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.0 // indirect - github.com/aws/aws-sdk-go-v2/config v1.30.3 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.18.3 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.2 // indirect - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.3 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.2 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.2 // indirect + github.com/aws/aws-sdk-go-v2/config v1.31.0 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.18.4 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.3 // indirect + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.4 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.3 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.3 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.2 // indirect - github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.42.0 // indirect - github.com/aws/aws-sdk-go-v2/service/account v1.26.0 // indirect - github.com/aws/aws-sdk-go-v2/service/acm v1.35.0 // indirect - github.com/aws/aws-sdk-go-v2/service/acmpca v1.42.0 // indirect - github.com/aws/aws-sdk-go-v2/service/amp v1.36.0 // indirect - github.com/aws/aws-sdk-go-v2/service/amplify v1.35.0 // indirect - github.com/aws/aws-sdk-go-v2/service/apigateway v1.33.0 // indirect - github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.30.0 // indirect - github.com/aws/aws-sdk-go-v2/service/appconfig v1.40.0 // indirect - github.com/aws/aws-sdk-go-v2/service/appfabric v1.14.0 // indirect - github.com/aws/aws-sdk-go-v2/service/appflow v1.48.0 // indirect - github.com/aws/aws-sdk-go-v2/service/appintegrations v1.34.0 // indirect - github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.38.0 // indirect - github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.32.0 // indirect - github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.14.0 // indirect - github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0 // indirect - github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0 // indirect - github.com/aws/aws-sdk-go-v2/service/appstream v1.47.1 // indirect - github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0 // indirect - github.com/aws/aws-sdk-go-v2/service/athena v1.53.0 // indirect - github.com/aws/aws-sdk-go-v2/service/auditmanager v1.43.0 // indirect - github.com/aws/aws-sdk-go-v2/service/autoscaling v1.56.0 // indirect - github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.27.0 // indirect - github.com/aws/aws-sdk-go-v2/service/backup v1.45.0 // indirect - github.com/aws/aws-sdk-go-v2/service/batch v1.56.1 // indirect - github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0 // indirect - github.com/aws/aws-sdk-go-v2/service/bedrock v1.43.0 // indirect - github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0 // indirect - github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0 // indirect - github.com/aws/aws-sdk-go-v2/service/billing v1.5.0 // indirect - github.com/aws/aws-sdk-go-v2/service/budgets v1.35.0 // indirect - github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0 // indirect - github.com/aws/aws-sdk-go-v2/service/chime v1.38.0 // indirect - github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.24.0 // indirect - github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.24.0 // indirect - github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.28.0 // indirect - github.com/aws/aws-sdk-go-v2/service/cloud9 v1.31.0 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.26.0 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudformation v1.63.0 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudfront v1.51.0 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.11.0 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.32.0 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.29.0 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.51.0 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.47.0 // indirect - github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.55.0 // indirect - github.com/aws/aws-sdk-go-v2/service/codeartifact v1.36.0 // indirect - github.com/aws/aws-sdk-go-v2/service/codebuild v1.64.0 // indirect - github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.19.0 // indirect - github.com/aws/aws-sdk-go-v2/service/codecommit v1.30.0 // indirect - github.com/aws/aws-sdk-go-v2/service/codeconnections v1.8.0 // indirect - github.com/aws/aws-sdk-go-v2/service/codedeploy v1.32.0 // indirect - github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.27.0 // indirect - github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.32.0 // indirect - github.com/aws/aws-sdk-go-v2/service/codepipeline v1.44.0 // indirect - github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.32.0 // indirect - github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.29.0 // indirect - github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.31.0 // indirect - github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.55.0 // indirect - github.com/aws/aws-sdk-go-v2/service/comprehend v1.38.0 // indirect - github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.45.0 // indirect - github.com/aws/aws-sdk-go-v2/service/configservice v1.55.0 // indirect - github.com/aws/aws-sdk-go-v2/service/connect v1.134.0 // indirect - github.com/aws/aws-sdk-go-v2/service/connectcases v1.28.0 // indirect - github.com/aws/aws-sdk-go-v2/service/controltower v1.24.0 // indirect - github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.31.0 // indirect - github.com/aws/aws-sdk-go-v2/service/costexplorer v1.53.0 // indirect - github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.18.0 // indirect - github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.50.0 // indirect - github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.55.0 // indirect - github.com/aws/aws-sdk-go-v2/service/databrew v1.36.0 // indirect - github.com/aws/aws-sdk-go-v2/service/dataexchange v1.37.0 // indirect - github.com/aws/aws-sdk-go-v2/service/datapipeline v1.28.0 // indirect - github.com/aws/aws-sdk-go-v2/service/datasync v1.52.0 // indirect - github.com/aws/aws-sdk-go-v2/service/datazone v1.35.0 // indirect - github.com/aws/aws-sdk-go-v2/service/dax v1.26.0 // indirect - github.com/aws/aws-sdk-go-v2/service/detective v1.35.0 // indirect - github.com/aws/aws-sdk-go-v2/service/devicefarm v1.33.0 // indirect - github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0 // indirect - github.com/aws/aws-sdk-go-v2/service/directconnect v1.34.0 // indirect - github.com/aws/aws-sdk-go-v2/service/directoryservice v1.34.0 // indirect - github.com/aws/aws-sdk-go-v2/service/dlm v1.32.0 // indirect - github.com/aws/aws-sdk-go-v2/service/docdb v1.44.0 // indirect - github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.17.0 // indirect - github.com/aws/aws-sdk-go-v2/service/drs v1.33.0 // indirect - github.com/aws/aws-sdk-go-v2/service/dsql v1.8.0 // indirect - github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ec2 v1.241.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0 // indirect - github.com/aws/aws-sdk-go-v2/service/efs v1.38.0 // indirect - github.com/aws/aws-sdk-go-v2/service/eks v1.69.0 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.31.0 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.48.0 // indirect - github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.35.0 // indirect - github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.30.0 // indirect - github.com/aws/aws-sdk-go-v2/service/emr v1.52.0 // indirect - github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.37.0 // indirect - github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.1 // indirect - github.com/aws/aws-sdk-go-v2/service/eventbridge v1.43.0 // indirect - github.com/aws/aws-sdk-go-v2/service/evidently v1.26.0 // indirect - github.com/aws/aws-sdk-go-v2/service/evs v1.2.0 // indirect - github.com/aws/aws-sdk-go-v2/service/finspace v1.31.0 // indirect - github.com/aws/aws-sdk-go-v2/service/firehose v1.39.0 // indirect - github.com/aws/aws-sdk-go-v2/service/fis v1.35.0 // indirect - github.com/aws/aws-sdk-go-v2/service/fms v1.42.0 // indirect - github.com/aws/aws-sdk-go-v2/service/fsx v1.57.0 // indirect - github.com/aws/aws-sdk-go-v2/service/gamelift v1.44.0 // indirect - github.com/aws/aws-sdk-go-v2/service/glacier v1.29.0 // indirect - github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.32.0 // indirect - github.com/aws/aws-sdk-go-v2/service/glue v1.123.0 // indirect - github.com/aws/aws-sdk-go-v2/service/grafana v1.29.0 // indirect - github.com/aws/aws-sdk-go-v2/service/greengrass v1.30.0 // indirect - github.com/aws/aws-sdk-go-v2/service/groundstation v1.35.0 // indirect - github.com/aws/aws-sdk-go-v2/service/guardduty v1.60.0 // indirect - github.com/aws/aws-sdk-go-v2/service/healthlake v1.32.0 // indirect - github.com/aws/aws-sdk-go-v2/service/iam v1.45.0 // indirect - github.com/aws/aws-sdk-go-v2/service/identitystore v1.30.0 // indirect - github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.44.0 // indirect - github.com/aws/aws-sdk-go-v2/service/inspector v1.28.0 // indirect - github.com/aws/aws-sdk-go-v2/service/inspector2 v1.42.0 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.3 // indirect + github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.43.0 // indirect + github.com/aws/aws-sdk-go-v2/service/account v1.27.0 // indirect + github.com/aws/aws-sdk-go-v2/service/acm v1.36.0 // indirect + github.com/aws/aws-sdk-go-v2/service/acmpca v1.43.0 // indirect + github.com/aws/aws-sdk-go-v2/service/amp v1.37.0 // indirect + github.com/aws/aws-sdk-go-v2/service/amplify v1.36.0 // indirect + github.com/aws/aws-sdk-go-v2/service/apigateway v1.34.0 // indirect + github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.31.0 // indirect + github.com/aws/aws-sdk-go-v2/service/appconfig v1.41.0 // indirect + github.com/aws/aws-sdk-go-v2/service/appfabric v1.15.0 // indirect + github.com/aws/aws-sdk-go-v2/service/appflow v1.49.0 // indirect + github.com/aws/aws-sdk-go-v2/service/appintegrations v1.35.0 // indirect + github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.39.0 // indirect + github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.33.0 // indirect + github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.15.0 // indirect + github.com/aws/aws-sdk-go-v2/service/appmesh v1.33.0 // indirect + github.com/aws/aws-sdk-go-v2/service/apprunner v1.37.0 // indirect + github.com/aws/aws-sdk-go-v2/service/appstream v1.48.0 // indirect + github.com/aws/aws-sdk-go-v2/service/appsync v1.50.0 // indirect + github.com/aws/aws-sdk-go-v2/service/athena v1.54.0 // indirect + github.com/aws/aws-sdk-go-v2/service/auditmanager v1.44.0 // indirect + github.com/aws/aws-sdk-go-v2/service/autoscaling v1.57.0 // indirect + github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.28.0 // indirect + github.com/aws/aws-sdk-go-v2/service/backup v1.46.0 // indirect + github.com/aws/aws-sdk-go-v2/service/batch v1.57.0 // indirect + github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.11.0 // indirect + github.com/aws/aws-sdk-go-v2/service/bedrock v1.44.0 // indirect + github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.48.0 // indirect + github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.3.0 // indirect + github.com/aws/aws-sdk-go-v2/service/billing v1.6.0 // indirect + github.com/aws/aws-sdk-go-v2/service/budgets v1.36.0 // indirect + github.com/aws/aws-sdk-go-v2/service/chatbot v1.13.0 // indirect + github.com/aws/aws-sdk-go-v2/service/chime v1.39.0 // indirect + github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.25.0 // indirect + github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.25.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.29.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cloud9 v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.27.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudformation v1.64.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudfront v1.52.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.12.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.33.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.52.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.48.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.56.0 // indirect + github.com/aws/aws-sdk-go-v2/service/codeartifact v1.37.0 // indirect + github.com/aws/aws-sdk-go-v2/service/codebuild v1.65.0 // indirect + github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.20.0 // indirect + github.com/aws/aws-sdk-go-v2/service/codecommit v1.31.0 // indirect + github.com/aws/aws-sdk-go-v2/service/codeconnections v1.9.0 // indirect + github.com/aws/aws-sdk-go-v2/service/codedeploy v1.33.0 // indirect + github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.28.0 // indirect + github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.33.0 // indirect + github.com/aws/aws-sdk-go-v2/service/codepipeline v1.45.0 // indirect + github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.33.0 // indirect + github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.56.0 // indirect + github.com/aws/aws-sdk-go-v2/service/comprehend v1.39.0 // indirect + github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.46.0 // indirect + github.com/aws/aws-sdk-go-v2/service/configservice v1.56.0 // indirect + github.com/aws/aws-sdk-go-v2/service/connect v1.135.0 // indirect + github.com/aws/aws-sdk-go-v2/service/connectcases v1.29.0 // indirect + github.com/aws/aws-sdk-go-v2/service/controltower v1.25.0 // indirect + github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/costexplorer v1.54.0 // indirect + github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.19.0 // indirect + github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.51.0 // indirect + github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.56.0 // indirect + github.com/aws/aws-sdk-go-v2/service/databrew v1.37.0 // indirect + github.com/aws/aws-sdk-go-v2/service/dataexchange v1.38.0 // indirect + github.com/aws/aws-sdk-go-v2/service/datapipeline v1.29.0 // indirect + github.com/aws/aws-sdk-go-v2/service/datasync v1.53.0 // indirect + github.com/aws/aws-sdk-go-v2/service/datazone v1.36.0 // indirect + github.com/aws/aws-sdk-go-v2/service/dax v1.27.0 // indirect + github.com/aws/aws-sdk-go-v2/service/detective v1.36.0 // indirect + github.com/aws/aws-sdk-go-v2/service/devicefarm v1.34.0 // indirect + github.com/aws/aws-sdk-go-v2/service/devopsguru v1.38.0 // indirect + github.com/aws/aws-sdk-go-v2/service/directconnect v1.35.0 // indirect + github.com/aws/aws-sdk-go-v2/service/directoryservice v1.35.0 // indirect + github.com/aws/aws-sdk-go-v2/service/dlm v1.33.0 // indirect + github.com/aws/aws-sdk-go-v2/service/docdb v1.45.0 // indirect + github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.18.0 // indirect + github.com/aws/aws-sdk-go-v2/service/drs v1.34.0 // indirect + github.com/aws/aws-sdk-go-v2/service/dsql v1.9.0 // indirect + github.com/aws/aws-sdk-go-v2/service/dynamodb v1.47.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ec2 v1.242.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ecr v1.49.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.36.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ecs v1.63.0 // indirect + github.com/aws/aws-sdk-go-v2/service/efs v1.39.0 // indirect + github.com/aws/aws-sdk-go-v2/service/eks v1.70.0 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticache v1.49.0 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.49.0 // indirect + github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.36.0 // indirect + github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.31.0 // indirect + github.com/aws/aws-sdk-go-v2/service/emr v1.53.0 // indirect + github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.38.0 // indirect + github.com/aws/aws-sdk-go-v2/service/emrserverless v1.35.0 // indirect + github.com/aws/aws-sdk-go-v2/service/eventbridge v1.44.0 // indirect + github.com/aws/aws-sdk-go-v2/service/evidently v1.27.0 // indirect + github.com/aws/aws-sdk-go-v2/service/evs v1.3.0 // indirect + github.com/aws/aws-sdk-go-v2/service/finspace v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/firehose v1.40.0 // indirect + github.com/aws/aws-sdk-go-v2/service/fis v1.36.0 // indirect + github.com/aws/aws-sdk-go-v2/service/fms v1.43.0 // indirect + github.com/aws/aws-sdk-go-v2/service/fsx v1.58.0 // indirect + github.com/aws/aws-sdk-go-v2/service/gamelift v1.45.0 // indirect + github.com/aws/aws-sdk-go-v2/service/glacier v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.33.0 // indirect + github.com/aws/aws-sdk-go-v2/service/glue v1.124.0 // indirect + github.com/aws/aws-sdk-go-v2/service/grafana v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/greengrass v1.31.0 // indirect + github.com/aws/aws-sdk-go-v2/service/groundstation v1.36.0 // indirect + github.com/aws/aws-sdk-go-v2/service/guardduty v1.61.0 // indirect + github.com/aws/aws-sdk-go-v2/service/healthlake v1.33.0 // indirect + github.com/aws/aws-sdk-go-v2/service/iam v1.46.0 // indirect + github.com/aws/aws-sdk-go-v2/service/identitystore v1.31.0 // indirect + github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.45.0 // indirect + github.com/aws/aws-sdk-go-v2/service/inspector v1.29.0 // indirect + github.com/aws/aws-sdk-go-v2/service/inspector2 v1.43.0 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.2 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.2 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.2 // indirect - github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.23.0 // indirect - github.com/aws/aws-sdk-go-v2/service/invoicing v1.5.0 // indirect - github.com/aws/aws-sdk-go-v2/service/iot v1.67.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ivs v1.45.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ivschat v1.19.0 // indirect - github.com/aws/aws-sdk-go-v2/service/kafka v1.41.0 // indirect - github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.25.0 // indirect - github.com/aws/aws-sdk-go-v2/service/kendra v1.58.0 // indirect - github.com/aws/aws-sdk-go-v2/service/keyspaces v1.21.0 // indirect - github.com/aws/aws-sdk-go-v2/service/kinesis v1.37.0 // indirect - github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.28.0 // indirect - github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.34.0 // indirect - github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0 // indirect - github.com/aws/aws-sdk-go-v2/service/kms v1.43.0 // indirect - github.com/aws/aws-sdk-go-v2/service/lakeformation v1.43.0 // indirect - github.com/aws/aws-sdk-go-v2/service/lambda v1.75.0 // indirect - github.com/aws/aws-sdk-go-v2/service/launchwizard v1.11.0 // indirect - github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0 // indirect - github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0 // indirect - github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.1 // indirect - github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0 // indirect - github.com/aws/aws-sdk-go-v2/service/location v1.47.0 // indirect - github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.34.0 // indirect - github.com/aws/aws-sdk-go-v2/service/m2 v1.23.0 // indirect - github.com/aws/aws-sdk-go-v2/service/macie2 v1.47.0 // indirect - github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.42.0 // indirect - github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.79.0 // indirect - github.com/aws/aws-sdk-go-v2/service/medialive v1.78.0 // indirect - github.com/aws/aws-sdk-go-v2/service/mediapackage v1.37.0 // indirect - github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.28.0 // indirect - github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.37.0 // indirect - github.com/aws/aws-sdk-go-v2/service/mediastore v1.27.0 // indirect - github.com/aws/aws-sdk-go-v2/service/memorydb v1.29.0 // indirect - github.com/aws/aws-sdk-go-v2/service/mgn v1.35.0 // indirect - github.com/aws/aws-sdk-go-v2/service/mq v1.31.0 // indirect - github.com/aws/aws-sdk-go-v2/service/mwaa v1.37.0 // indirect - github.com/aws/aws-sdk-go-v2/service/neptune v1.39.0 // indirect - github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0 // indirect - github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0 // indirect - github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.1 // indirect - github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0 // indirect - github.com/aws/aws-sdk-go-v2/service/notifications v1.5.0 // indirect - github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.4.0 // indirect - github.com/aws/aws-sdk-go-v2/service/oam v1.20.0 // indirect - github.com/aws/aws-sdk-go-v2/service/odb v1.2.0 // indirect - github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0 // indirect - github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.23.0 // indirect - github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0 // indirect - github.com/aws/aws-sdk-go-v2/service/osis v1.17.0 // indirect - github.com/aws/aws-sdk-go-v2/service/outposts v1.54.0 // indirect - github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.21.0 // indirect - github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.13.0 // indirect - github.com/aws/aws-sdk-go-v2/service/pcs v1.9.0 // indirect - github.com/aws/aws-sdk-go-v2/service/pinpoint v1.37.0 // indirect - github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.22.0 // indirect - github.com/aws/aws-sdk-go-v2/service/pipes v1.21.0 // indirect - github.com/aws/aws-sdk-go-v2/service/polly v1.50.0 // indirect - github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0 // indirect - github.com/aws/aws-sdk-go-v2/service/qbusiness v1.31.0 // indirect - github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0 // indirect - github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ram v1.32.0 // indirect - github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0 // indirect - github.com/aws/aws-sdk-go-v2/service/rds v1.102.0 // indirect - github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0 // indirect - github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0 // indirect - github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.29.0 // indirect - github.com/aws/aws-sdk-go-v2/service/rekognition v1.49.0 // indirect - github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.32.0 // indirect - github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.19.0 // indirect - github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.31.0 // indirect - github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0 // indirect - github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.19.0 // indirect - github.com/aws/aws-sdk-go-v2/service/route53 v1.55.0 // indirect - github.com/aws/aws-sdk-go-v2/service/route53domains v1.31.0 // indirect - github.com/aws/aws-sdk-go-v2/service/route53profiles v1.7.0 // indirect - github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.29.0 // indirect - github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.24.0 // indirect - github.com/aws/aws-sdk-go-v2/service/route53resolver v1.38.0 // indirect - github.com/aws/aws-sdk-go-v2/service/rum v1.26.0 // indirect - github.com/aws/aws-sdk-go-v2/service/s3 v1.86.0 // indirect - github.com/aws/aws-sdk-go-v2/service/s3control v1.63.0 // indirect - github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0 // indirect - github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0 // indirect - github.com/aws/aws-sdk-go-v2/service/s3vectors v1.3.0 // indirect - github.com/aws/aws-sdk-go-v2/service/sagemaker v1.206.0 // indirect - github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0 // indirect - github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0 // indirect - github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.37.0 // indirect - github.com/aws/aws-sdk-go-v2/service/securityhub v1.61.0 // indirect - github.com/aws/aws-sdk-go-v2/service/securitylake v1.22.0 // indirect - github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.27.0 // indirect - github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.36.0 // indirect - github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.33.0 // indirect - github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.37.0 // indirect - github.com/aws/aws-sdk-go-v2/service/servicequotas v1.30.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ses v1.32.0 // indirect - github.com/aws/aws-sdk-go-v2/service/sesv2 v1.50.0 // indirect - github.com/aws/aws-sdk-go-v2/service/sfn v1.37.0 // indirect - github.com/aws/aws-sdk-go-v2/service/shield v1.32.0 // indirect - github.com/aws/aws-sdk-go-v2/service/signer v1.29.0 // indirect - github.com/aws/aws-sdk-go-v2/service/sns v1.36.0 // indirect - github.com/aws/aws-sdk-go-v2/service/sqs v1.40.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ssm v1.62.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.29.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.37.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.6.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmsap v1.22.0 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.27.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.33.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.32.0 // indirect - github.com/aws/aws-sdk-go-v2/service/storagegateway v1.40.0 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.36.0 // indirect - github.com/aws/aws-sdk-go-v2/service/swf v1.30.0 // indirect - github.com/aws/aws-sdk-go-v2/service/synthetics v1.38.0 // indirect - github.com/aws/aws-sdk-go-v2/service/taxsettings v1.14.0 // indirect - github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.13.0 // indirect - github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.33.0 // indirect - github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.33.0 // indirect - github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.1 // indirect - github.com/aws/aws-sdk-go-v2/service/transfer v1.63.0 // indirect - github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.26.0 // indirect - github.com/aws/aws-sdk-go-v2/service/vpclattice v1.16.0 // indirect - github.com/aws/aws-sdk-go-v2/service/waf v1.28.0 // indirect - github.com/aws/aws-sdk-go-v2/service/wafregional v1.28.0 // indirect - github.com/aws/aws-sdk-go-v2/service/wafv2 v1.65.0 // indirect - github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.37.0 // indirect - github.com/aws/aws-sdk-go-v2/service/workspaces v1.60.0 // indirect - github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.30.0 // indirect - github.com/aws/aws-sdk-go-v2/service/xray v1.33.0 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.3 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.3 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.3 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.3 // indirect + github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.24.0 // indirect + github.com/aws/aws-sdk-go-v2/service/invoicing v1.6.0 // indirect + github.com/aws/aws-sdk-go-v2/service/iot v1.68.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ivs v1.46.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ivschat v1.20.0 // indirect + github.com/aws/aws-sdk-go-v2/service/kafka v1.42.0 // indirect + github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.26.0 // indirect + github.com/aws/aws-sdk-go-v2/service/kendra v1.59.0 // indirect + github.com/aws/aws-sdk-go-v2/service/keyspaces v1.22.0 // indirect + github.com/aws/aws-sdk-go-v2/service/kinesis v1.38.0 // indirect + github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.29.0 // indirect + github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.35.0 // indirect + github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.31.0 // indirect + github.com/aws/aws-sdk-go-v2/service/kms v1.44.0 // indirect + github.com/aws/aws-sdk-go-v2/service/lakeformation v1.44.0 // indirect + github.com/aws/aws-sdk-go-v2/service/lambda v1.76.0 // indirect + github.com/aws/aws-sdk-go-v2/service/launchwizard v1.12.0 // indirect + github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.55.0 // indirect + github.com/aws/aws-sdk-go-v2/service/licensemanager v1.35.0 // indirect + github.com/aws/aws-sdk-go-v2/service/lightsail v1.47.0 // indirect + github.com/aws/aws-sdk-go-v2/service/location v1.48.0 // indirect + github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.35.0 // indirect + github.com/aws/aws-sdk-go-v2/service/m2 v1.24.0 // indirect + github.com/aws/aws-sdk-go-v2/service/macie2 v1.48.0 // indirect + github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.43.0 // indirect + github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.80.0 // indirect + github.com/aws/aws-sdk-go-v2/service/medialive v1.79.0 // indirect + github.com/aws/aws-sdk-go-v2/service/mediapackage v1.38.0 // indirect + github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.29.0 // indirect + github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.38.0 // indirect + github.com/aws/aws-sdk-go-v2/service/mediastore v1.28.0 // indirect + github.com/aws/aws-sdk-go-v2/service/memorydb v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/mgn v1.36.0 // indirect + github.com/aws/aws-sdk-go-v2/service/mq v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/mwaa v1.38.0 // indirect + github.com/aws/aws-sdk-go-v2/service/neptune v1.40.0 // indirect + github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.20.0 // indirect + github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.54.0 // indirect + github.com/aws/aws-sdk-go-v2/service/networkmanager v1.38.0 // indirect + github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.11.0 // indirect + github.com/aws/aws-sdk-go-v2/service/notifications v1.6.0 // indirect + github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.5.0 // indirect + github.com/aws/aws-sdk-go-v2/service/oam v1.21.0 // indirect + github.com/aws/aws-sdk-go-v2/service/odb v1.3.0 // indirect + github.com/aws/aws-sdk-go-v2/service/opensearch v1.51.0 // indirect + github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.24.0 // indirect + github.com/aws/aws-sdk-go-v2/service/organizations v1.42.0 // indirect + github.com/aws/aws-sdk-go-v2/service/osis v1.18.0 // indirect + github.com/aws/aws-sdk-go-v2/service/outposts v1.55.0 // indirect + github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.22.0 // indirect + github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.14.0 // indirect + github.com/aws/aws-sdk-go-v2/service/pcs v1.10.0 // indirect + github.com/aws/aws-sdk-go-v2/service/pinpoint v1.38.0 // indirect + github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.23.0 // indirect + github.com/aws/aws-sdk-go-v2/service/pipes v1.22.0 // indirect + github.com/aws/aws-sdk-go-v2/service/polly v1.51.0 // indirect + github.com/aws/aws-sdk-go-v2/service/pricing v1.38.0 // indirect + github.com/aws/aws-sdk-go-v2/service/qbusiness v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/qldb v1.29.0 // indirect + github.com/aws/aws-sdk-go-v2/service/quicksight v1.92.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ram v1.33.0 // indirect + github.com/aws/aws-sdk-go-v2/service/rbin v1.25.0 // indirect + github.com/aws/aws-sdk-go-v2/service/rds v1.103.0 // indirect + github.com/aws/aws-sdk-go-v2/service/redshift v1.57.0 // indirect + github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.36.0 // indirect + github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/rekognition v1.50.0 // indirect + github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.33.0 // indirect + github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.20.0 // indirect + github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.29.0 // indirect + github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.20.0 // indirect + github.com/aws/aws-sdk-go-v2/service/route53 v1.56.0 // indirect + github.com/aws/aws-sdk-go-v2/service/route53domains v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/route53profiles v1.8.0 // indirect + github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.25.0 // indirect + github.com/aws/aws-sdk-go-v2/service/route53resolver v1.39.0 // indirect + github.com/aws/aws-sdk-go-v2/service/rum v1.27.0 // indirect + github.com/aws/aws-sdk-go-v2/service/s3 v1.87.0 // indirect + github.com/aws/aws-sdk-go-v2/service/s3control v1.64.0 // indirect + github.com/aws/aws-sdk-go-v2/service/s3outposts v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/s3tables v1.9.0 // indirect + github.com/aws/aws-sdk-go-v2/service/s3vectors v1.4.0 // indirect + github.com/aws/aws-sdk-go-v2/service/sagemaker v1.207.0 // indirect + github.com/aws/aws-sdk-go-v2/service/scheduler v1.16.0 // indirect + github.com/aws/aws-sdk-go-v2/service/schemas v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.38.0 // indirect + github.com/aws/aws-sdk-go-v2/service/securityhub v1.62.0 // indirect + github.com/aws/aws-sdk-go-v2/service/securitylake v1.23.0 // indirect + github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.28.0 // indirect + github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.37.0 // indirect + github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.34.0 // indirect + github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.38.0 // indirect + github.com/aws/aws-sdk-go-v2/service/servicequotas v1.31.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ses v1.33.0 // indirect + github.com/aws/aws-sdk-go-v2/service/sesv2 v1.51.0 // indirect + github.com/aws/aws-sdk-go-v2/service/sfn v1.38.0 // indirect + github.com/aws/aws-sdk-go-v2/service/shield v1.33.0 // indirect + github.com/aws/aws-sdk-go-v2/service/signer v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/sns v1.37.0 // indirect + github.com/aws/aws-sdk-go-v2/service/sqs v1.41.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ssm v1.63.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.30.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.38.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.7.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmsap v1.23.0 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.28.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.34.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.33.0 // indirect + github.com/aws/aws-sdk-go-v2/service/storagegateway v1.41.0 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.37.0 // indirect + github.com/aws/aws-sdk-go-v2/service/swf v1.31.0 // indirect + github.com/aws/aws-sdk-go-v2/service/synthetics v1.39.0 // indirect + github.com/aws/aws-sdk-go-v2/service/taxsettings v1.15.0 // indirect + github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.14.0 // indirect + github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.34.0 // indirect + github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.34.0 // indirect + github.com/aws/aws-sdk-go-v2/service/transcribe v1.50.0 // indirect + github.com/aws/aws-sdk-go-v2/service/transfer v1.64.0 // indirect + github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.27.0 // indirect + github.com/aws/aws-sdk-go-v2/service/vpclattice v1.17.0 // indirect + github.com/aws/aws-sdk-go-v2/service/waf v1.29.0 // indirect + github.com/aws/aws-sdk-go-v2/service/wafregional v1.29.0 // indirect + github.com/aws/aws-sdk-go-v2/service/wafv2 v1.66.0 // indirect + github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.38.0 // indirect + github.com/aws/aws-sdk-go-v2/service/workspaces v1.61.0 // indirect + github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.31.0 // indirect + github.com/aws/aws-sdk-go-v2/service/xray v1.34.0 // indirect github.com/aws/smithy-go v1.22.5 // indirect github.com/beevik/etree v1.5.1 // indirect github.com/bgentry/speakeasy v0.1.0 // indirect diff --git a/tools/tfsdk2fw/go.sum b/tools/tfsdk2fw/go.sum index 4e49af38dfdf..b9397aa84dab 100644 --- a/tools/tfsdk2fw/go.sum +++ b/tools/tfsdk2fw/go.sum @@ -23,544 +23,544 @@ github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/aws/aws-sdk-go-v2 v1.37.2 h1:xkW1iMYawzcmYFYEV0UCMxc8gSsjCGEhBXQkdQywVbo= -github.com/aws/aws-sdk-go-v2 v1.37.2/go.mod h1:9Q0OoGQoboYIAJyslFyF1f5K1Ryddop8gqMhWx/n4Wg= +github.com/aws/aws-sdk-go-v2 v1.38.0 h1:UCRQ5mlqcFk9HJDIqENSLR3wiG1VTWlyUfLDEvY7RxU= +github.com/aws/aws-sdk-go-v2 v1.38.0/go.mod h1:9Q0OoGQoboYIAJyslFyF1f5K1Ryddop8gqMhWx/n4Wg= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.0 h1:6GMWV6CNpA/6fbFHnoAjrv4+LGfyTqZz2LtCHnspgDg= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.0/go.mod h1:/mXlTIVG9jbxkqDnr5UQNQxW1HRYxeGklkM9vAFeabg= -github.com/aws/aws-sdk-go-v2/config v1.30.3 h1:utupeVnE3bmB221W08P0Moz1lDI3OwYa2fBtUhl7TCc= -github.com/aws/aws-sdk-go-v2/config v1.30.3/go.mod h1:NDGwOEBdpyZwLPlQkpKIO7frf18BW8PaCmAM9iUxQmI= -github.com/aws/aws-sdk-go-v2/credentials v1.18.3 h1:ptfyXmv+ooxzFwyuBth0yqABcjVIkjDL0iTYZBSbum8= -github.com/aws/aws-sdk-go-v2/credentials v1.18.3/go.mod h1:Q43Nci++Wohb0qUh4m54sNln0dbxJw8PvQWkrwOkGOI= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.2 h1:nRniHAvjFJGUCl04F3WaAj7qp/rcz5Gi1OVoj5ErBkc= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.2/go.mod h1:eJDFKAMHHUvv4a0Zfa7bQb//wFNUXGrbFpYRCHe2kD0= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.3 h1:Nb2pUE30lySKPGdkiIJ1SZgHsjiebOiRNI7R9NA1WtM= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.3/go.mod h1:BO5EKulvhBF1NXwui8lfnuDPBQQU5807yvWASZ/5n6k= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.2 h1:sPiRHLVUIIQcoVZTNwqQcdtjkqkPopyYmIX0M5ElRf4= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.2/go.mod h1:ik86P3sgV+Bk7c1tBFCwI3VxMoSEwl4YkRB9xn1s340= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.2 h1:ZdzDAg075H6stMZtbD2o+PyB933M/f20e9WmCBC17wA= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.2/go.mod h1:eE1IIzXG9sdZCB0pNNpMpsYTLl4YdOQD3njiVN1e/E4= +github.com/aws/aws-sdk-go-v2/config v1.31.0 h1:9yH0xiY5fUnVNLRWO0AtayqwU1ndriZdN78LlhruJR4= +github.com/aws/aws-sdk-go-v2/config v1.31.0/go.mod h1:VeV3K72nXnhbe4EuxxhzsDc/ByrCSlZwUnWH52Nde/I= +github.com/aws/aws-sdk-go-v2/credentials v1.18.4 h1:IPd0Algf1b+Qy9BcDp0sCUcIWdCQPSzDoMK3a8pcbUM= +github.com/aws/aws-sdk-go-v2/credentials v1.18.4/go.mod h1:nwg78FjH2qvsRM1EVZlX9WuGUJOL5od+0qvm0adEzHk= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.3 h1:GicIdnekoJsjq9wqnvyi2elW6CGMSYKhdozE7/Svh78= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.3/go.mod h1:R7BIi6WNC5mc1kfRM7XM/VHC3uRWkjc396sfabq4iOo= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.4 h1:0SzCLoPRSK3qSydsaFQWugP+lOBCTPwfcBOm6222+UA= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.18.4/go.mod h1:JAet9FsBHjfdI+TnMBX4ModNNaQHAd3dc/Bk+cNsxeM= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.3 h1:o9RnO+YZ4X+kt5Z7Nvcishlz0nksIt2PIzDglLMP0vA= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.3/go.mod h1:+6aLJzOG1fvMOyzIySYjOFjcguGvVRL68R+uoRencN4= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.3 h1:joyyUFhiTQQmVK6ImzNU9TQSNRNeD9kOklqTzyk5v6s= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.3/go.mod h1:+vNIyZQP3b3B1tSLI0lxvrU9cfM7gpdRXMFfm67ZcPc= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 h1:bIqFDwgGXXN1Kpp99pDOdKMTTb5d2KyU5X/BZxjOkRo= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3/go.mod h1:H5O/EsxDWyU+LP/V8i5sm8cxoZgc2fdNR9bxlOFrQTo= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.2 h1:sBpc8Ph6CpfZsEdkz/8bfg8WhKlWMCms5iWj6W/AW2U= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.2/go.mod h1:Z2lDojZB+92Wo6EKiZZmJid9pPrDJW2NNIXSlaEfVlU= -github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.42.0 h1:vt+gYvW60oCHXXC8r956qdFRCF+/fQtryCDn5y0HsGs= -github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.42.0/go.mod h1:TwIVACwD7QWQf7pgwDH0vdrqK9TNLmvKfaIAFVMG+n8= -github.com/aws/aws-sdk-go-v2/service/account v1.26.0 h1:y/f+sL3VLjkjxNcGcUm6Bmhlok4utFT6Qq2AEuEG7G8= -github.com/aws/aws-sdk-go-v2/service/account v1.26.0/go.mod h1:XcdxcMpieE+6jFZOm4oACLClafqEaY4E3Q0gIDYAq+w= -github.com/aws/aws-sdk-go-v2/service/acm v1.35.0 h1:gVIYcaezeE2zZIUI1yrV+n/KAOMouNYmsFi8MFHmrQ0= -github.com/aws/aws-sdk-go-v2/service/acm v1.35.0/go.mod h1:ec9XD6wr6wjTjlWDj1nfjoJHYSG8X0qVNklU8zztBE4= -github.com/aws/aws-sdk-go-v2/service/acmpca v1.42.0 h1:29UrIJP7RqSv60o0Ijn4Osshw2CLIpXs3ydWwL1ncRU= -github.com/aws/aws-sdk-go-v2/service/acmpca v1.42.0/go.mod h1:MEHD++O08p58bU+t9xbTRH4A4lQIjFkOffNUzjXGwjU= -github.com/aws/aws-sdk-go-v2/service/amp v1.36.0 h1:bkMWckc+0CtmzdUls0WxNMgJW+FfVFBWXbI8gaD8xts= -github.com/aws/aws-sdk-go-v2/service/amp v1.36.0/go.mod h1:LJjtJRt+mqjs4D8JRKGEYjW4w4XNd7s5oXjivdbPXfc= -github.com/aws/aws-sdk-go-v2/service/amplify v1.35.0 h1:gT1MIIVClB3AeJ3Re/cPcipnIVWRFqz72DmXRR36RaM= -github.com/aws/aws-sdk-go-v2/service/amplify v1.35.0/go.mod h1:nNI4E6Z2lhFF0lYz6AlHemTIZLnvclsu2Rlr5cuEBPk= -github.com/aws/aws-sdk-go-v2/service/apigateway v1.33.0 h1:KiF6zCaH5RWJ5JvIQg3K8UHDDKavsm7AjKrqIMOkWBY= -github.com/aws/aws-sdk-go-v2/service/apigateway v1.33.0/go.mod h1:EyTXepZ4wjZZzQRZakRLJt0CPzSvp0DEIZEvGFfY4vo= -github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.30.0 h1:TKcprXn0kE8tO52+U0r4qV6ZS5MzhsFPf/Oll86VTBM= -github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.30.0/go.mod h1:8omZuwkmT/FCrrspTnSV7zfBkXUU0kCx4GhF45kILZA= -github.com/aws/aws-sdk-go-v2/service/appconfig v1.40.0 h1:6Pj5dEAlzJvWDfVjFpbc7ZnHA5Dvjdh1XemDMpboFvc= -github.com/aws/aws-sdk-go-v2/service/appconfig v1.40.0/go.mod h1:BsSGAj9mD3U2GbJ+rNTZR3h+fb4+I2LObTU8cwOWj9w= -github.com/aws/aws-sdk-go-v2/service/appfabric v1.14.0 h1:Omx/A2miHighL12A8GXXPir98p9mSLKbZduAoh/vhiI= -github.com/aws/aws-sdk-go-v2/service/appfabric v1.14.0/go.mod h1:riUMB17QXzuHibU+FpEqYSJ1v5hnKHpbZ6SY9HMrwAQ= -github.com/aws/aws-sdk-go-v2/service/appflow v1.48.0 h1:+oYSboLPBZygfCNUhpEYtuQSqoN/LpRMuPimTGKK3eo= -github.com/aws/aws-sdk-go-v2/service/appflow v1.48.0/go.mod h1:S3KIf4WL9w8ZYLI+IYNm0JGVpR7V6qFVhNoEZTHtpgE= -github.com/aws/aws-sdk-go-v2/service/appintegrations v1.34.0 h1:DPlrEqTxtDqWfvdPfz2hHB/02FutaUvpCH8E+tgkQDo= -github.com/aws/aws-sdk-go-v2/service/appintegrations v1.34.0/go.mod h1:Ky7v+zg7tT84MMw+pQYTpfNmXictBFk+Q82C0akJfHs= -github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.38.0 h1:gt+ZqLthoEKRCB0Mkw4R/ABdCmW6Y53Dfn67LczfcDw= -github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.38.0/go.mod h1:6t2ZF+2KvF8UI2XO5CmtuDO3mSqQ5iXAUbNZ/6cxCBc= -github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.32.0 h1:DU6QP0nzEAXKYHGNUjsp7eLJR6SR/XxVZ7bWQDukK8w= -github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.32.0/go.mod h1:2MuTGd75ViK4GpS4AHFOu7mkLUIRQzDqc1vpLduWsVk= -github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.14.0 h1:Fl133Zna8tKn47qe/DcqYCgmjeud5Z8OUevo+BQKNj8= -github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.14.0/go.mod h1:k1nvlCbN8YF5tZn3vQ/nhLWsWgtjpt2V6DyTU32RBO8= -github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0 h1:O9PZ3rZ3kO78qUS0+b89tozNOCC5HNe2BDmduzVU/gk= -github.com/aws/aws-sdk-go-v2/service/appmesh v1.32.0/go.mod h1:oAWy74yo48WYE/39Tvr1/MqaLTpZ1nyr4r6/cPuTS1g= -github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0 h1:PGgY/BIQ82RFrR9rmJYejYk4jb4HmrR4+bxMe0Jj3t8= -github.com/aws/aws-sdk-go-v2/service/apprunner v1.36.0/go.mod h1:BjYI0ZEPp4hIXG+3ZoVBr1qA0alLeY98/spY5vsvw7A= -github.com/aws/aws-sdk-go-v2/service/appstream v1.47.1 h1:R2/JQhkhOO4QEK2tjxTgfsrD9fIvh2yoMS3aRN8wAzU= -github.com/aws/aws-sdk-go-v2/service/appstream v1.47.1/go.mod h1:VAnAk0EgMx9TVmWtZWnLH6JCnhfcSWVmzxNdIAHVxSs= -github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0 h1:h1DrjjLvycToReHS4nlv5CpH4wpqVUEZKzQ+gaomC+M= -github.com/aws/aws-sdk-go-v2/service/appsync v1.49.0/go.mod h1:SHB4PzNsxsI+4dcTpSll9FTlbkE6t3zxDoBYERPIVnQ= -github.com/aws/aws-sdk-go-v2/service/athena v1.53.0 h1:TL5fazHlqxo8Ri3Do0s4EJXhd3Oc7BVZ9uN1NPUKFpE= -github.com/aws/aws-sdk-go-v2/service/athena v1.53.0/go.mod h1:nIHAy7lnmNN7QJKWnV7+sbevrF4ij41ysIfNnh0PKfA= -github.com/aws/aws-sdk-go-v2/service/auditmanager v1.43.0 h1:nkPjY6Hw/VJ930pA0fZmbCJ6B/7xKrPcLeCJBTKucyw= -github.com/aws/aws-sdk-go-v2/service/auditmanager v1.43.0/go.mod h1:EMNIZLHE8IshUfYavm/63BKudlZ2wTGm6sKSnQxCcPo= -github.com/aws/aws-sdk-go-v2/service/autoscaling v1.56.0 h1:YO7rat493hVtpBExbcDPKdGzk9eYTtaUrwaFJSWAqLo= -github.com/aws/aws-sdk-go-v2/service/autoscaling v1.56.0/go.mod h1:6vrMqNnS2fpOfZ9tZmIGDWYGTio7+SJ18fql3IwoSBg= -github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.27.0 h1:IE8KDjm+M64FnD6zUCE4Kkbharyl8nFlt+NKBRsBJ6A= -github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.27.0/go.mod h1:HN2DjMKUSk1fQSIeKYT2xz9CLeupOwl4yowG8OE+56c= -github.com/aws/aws-sdk-go-v2/service/backup v1.45.0 h1:vujSEbS2qKGnQktbNcmFk7N3rmdKmS5x7uQCNjbpIsI= -github.com/aws/aws-sdk-go-v2/service/backup v1.45.0/go.mod h1:hG/r8+r8CH++grUXo3DJpfAP06UhM0QC7QGFM0FbIfY= -github.com/aws/aws-sdk-go-v2/service/batch v1.56.1 h1:fpEtrrzKcFRJolA7FVvNFxlkL7vBqUT10YVU0LVplwM= -github.com/aws/aws-sdk-go-v2/service/batch v1.56.1/go.mod h1:uAslawt50dv4iZfpjAh9YVEbAU3jyPIt3ycDSs5VrEg= -github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0 h1:Wq3UeoqqQFm+HwQbmpB5vN3v3t8X5YsDLn/0yRG3ALY= -github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.10.0/go.mod h1:yWUWnhYtaiRSARc/Y3vU6dZAV9/thOTFMLST2Oxvj78= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.43.0 h1:vgME1FH3CkKnYqqKIvwY2BfecHIpNxMZ+beNLUuFkkg= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.43.0/go.mod h1:yGZu+RiNnteeM+ZdeuOHlI4whLyGjENoGn1MLqd1o2s= -github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0 h1:lhY8kqSq+ph2avN5EgZfWx1Gc6HWYyjbuy73LPGLadU= -github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.47.0/go.mod h1:VE33Y1A7q8XkY0I0DWF04eQlg1z5dsKw1EEQzfhkCoc= -github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0 h1:GJdyUvYs/81imU2h6wqSa4T9guevI7eBr9YhXUmOwIA= -github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.2.0/go.mod h1:QmHnuYuWyavbwugFNSSJRvzMGaFngJD52D2Q3Rm9Mz0= -github.com/aws/aws-sdk-go-v2/service/billing v1.5.0 h1:224BHvHnevOSoKE/LgEv12ot2jPlYDcrgsNDgHOQpCY= -github.com/aws/aws-sdk-go-v2/service/billing v1.5.0/go.mod h1:jV6JqgNCURYxs3c4fp3dMQUdoTC5NnwtqKT8y8tF71s= -github.com/aws/aws-sdk-go-v2/service/budgets v1.35.0 h1:JdY+rRsL1Eqi9SRqSobdHBtcV4SRLKZUb2gIUye+1jw= -github.com/aws/aws-sdk-go-v2/service/budgets v1.35.0/go.mod h1:Q0u6QOkKcwMNEvPgZAZlFo+zs3aP1wgMJANH0XKJEPU= -github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0 h1:uMXPZGOAfgo6jmvuaEyLSKt0Y3OrwQb+c/ZWv8apz+M= -github.com/aws/aws-sdk-go-v2/service/chatbot v1.12.0/go.mod h1:e7Yi+X2nUGErWGG98k3U6QTocR3HFVRelFYyZrM/6kI= -github.com/aws/aws-sdk-go-v2/service/chime v1.38.0 h1:iJ+spCNIok1pcSB8Ep+icpsEZE3zJBmsy2utIwtVfog= -github.com/aws/aws-sdk-go-v2/service/chime v1.38.0/go.mod h1:F/VVaff6oOMj33p0J+/aKHCPnDLY5CPOqZOy818/sQA= -github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.24.0 h1:hqtaNtiTl0ecaXe+u8c2T/5guiwvDqeNzGYJV+UIcU0= -github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.24.0/go.mod h1:sVQ3ND/Erl/qSzVLwb9x7tO3KCXit4UxaFlrE4uEY30= -github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.24.0 h1:2W77vBqwQKr+Jf1X7bb5Kwmlpg/PcF0ccW5iNbk9F4A= -github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.24.0/go.mod h1:K5kdhfL23lGFx1yqnWek8LIiF5OpJw09rEnUCcalUmc= -github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.28.0 h1:YN21H1gfpZnJ6+u0R50FCxadXnVoF+sp8Z+nfmNxaQM= -github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.28.0/go.mod h1:zP86jfwHZOeA5qSJkhYhsrXxcxl+2ruie+Twtn8q5mw= -github.com/aws/aws-sdk-go-v2/service/cloud9 v1.31.0 h1:86u99iNYazCQU8jq2uoKy5dFwn/mko+8Il0jnPY+sDI= -github.com/aws/aws-sdk-go-v2/service/cloud9 v1.31.0/go.mod h1:mJzLUSOFx5+Q/ceeC+resgBf9gElJcYFtxOH/ZBxWT8= -github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.26.0 h1:fbq4r7n94nSyyJbEsDsVvjlMPMPJXSke8gawk/EGaC0= -github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.26.0/go.mod h1:La5Cr0mDPCAuBwu+VVnbOoXd5HVow52Pt/UnPAdZyn8= -github.com/aws/aws-sdk-go-v2/service/cloudformation v1.63.0 h1:GHnZM6p3b2Do9wBwwuAzPuGy+HY597jv5LKiKxu0PAs= -github.com/aws/aws-sdk-go-v2/service/cloudformation v1.63.0/go.mod h1:B3WrgqTVkLUTpX5C/ctNig6S78CqebFxLkwrxAYtjIg= -github.com/aws/aws-sdk-go-v2/service/cloudfront v1.51.0 h1:0wH5YQLcYnRTXCGeXeMogJqKJSP9UhwbTwuZkLexcOA= -github.com/aws/aws-sdk-go-v2/service/cloudfront v1.51.0/go.mod h1:HLzQI9ENSq0pNCO+ASh5KbwL7AoYBqPkTLv1Y40+pl4= -github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.11.0 h1:iaCqgJY6oh3i+lfw6EM9XF7QzgFTX8FEFYrbrdNTCtw= -github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.11.0/go.mod h1:vYTN8GiXfF6PAeyueEsqS0C9t0X3c4ELvX6a8XdDWSc= -github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.32.0 h1:6OKTiz2vZO39/1WIbD1qp1+fWdXkkSNRWaV6yslKjyY= -github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.32.0/go.mod h1:VMuT9tI291dMpyjO8fo6YybLejDn7yZwPF5LcgEolVA= -github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.29.0 h1:gXu97OvveSwWxTSKF81O/FeGh773qrXI3lhS1YSv7X4= -github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.29.0/go.mod h1:DytnWBTZOnhwCWKehIXDqmo+Ixppa3wAurbgDE7isg4= -github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.51.0 h1:mEDXhybFN7q39EBrN3SiZt0sebBU18ZNUuvOPftYI84= -github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.51.0/go.mod h1:bAz9Mfw6YqILCw087zDfCyDuZNs4wK4S+G+JSHBSyW0= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.47.0 h1:Lpr8QXTUoSqu+E6YTxQlmPnvCE4gouG+vHpzhSYAU/Y= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.47.0/go.mod h1:Izz13TvjH3bi2LxgMybJYhrY1UJ9N4c4l/th1iLvRDI= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.55.0 h1:1gVT2+4KGrv47pHjZ83ijtozDcGqmmNevrzRcanrNbU= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.55.0/go.mod h1:HzB9FL1Jq/q+Pjkw1A7eeLzyj3NV87qthLnhzoXArvU= -github.com/aws/aws-sdk-go-v2/service/codeartifact v1.36.0 h1:fdtKm+B01B8gyakcbWAVRTp/dF6RZ8bSAwJ0SAUo+sU= -github.com/aws/aws-sdk-go-v2/service/codeartifact v1.36.0/go.mod h1:u3m1BxQTHIh9rSpYNSVXbkwf+e/SQCbCnkbiUOihF9c= -github.com/aws/aws-sdk-go-v2/service/codebuild v1.64.0 h1:H8ydjxHJToFBnEhrC6A6nLnViQgV9g7wK7dzMfBOJL8= -github.com/aws/aws-sdk-go-v2/service/codebuild v1.64.0/go.mod h1:0k+YT2xx+g/GuLX2uLqm5A3Kno7zEtTYdI1FWGjliPM= -github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.19.0 h1:7fMl5RowdxZ54KTTZUdSeeSfFwbRCoI1foY/gokc2zI= -github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.19.0/go.mod h1:GRd3mFvPtUuXg4j7mTtw4SV3tMwseEoerrdRkGV9sH4= -github.com/aws/aws-sdk-go-v2/service/codecommit v1.30.0 h1:kA7yaCs2MQE81SJXOQ6wg9alTogzkUUQElJFLTNMNa0= -github.com/aws/aws-sdk-go-v2/service/codecommit v1.30.0/go.mod h1:N76szOQF2OkKQyuKDnvlj900Jpvmvs2JseKzbZpmjZk= -github.com/aws/aws-sdk-go-v2/service/codeconnections v1.8.0 h1:9ggs7LTq0oFTTRquvQlsPrGQqdQyXE/gFXhrIJVwOB0= -github.com/aws/aws-sdk-go-v2/service/codeconnections v1.8.0/go.mod h1:ZK7JgKbTqG8Bco84nIqbhjJfvxFOtttVWRbAI18jGkU= -github.com/aws/aws-sdk-go-v2/service/codedeploy v1.32.0 h1:PHX06bkOdv1UJHtI2M9ELpPIYrfRUvEXDVby24+kyig= -github.com/aws/aws-sdk-go-v2/service/codedeploy v1.32.0/go.mod h1:Kl0CnLEkSe4LQqoioPDwcvU2E++vkunyW3wVrKessPc= -github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.27.0 h1:VSNGyDlucRnMWFu1xV9LMcfqbmWz8+0gcrYKmM0ENxQ= -github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.27.0/go.mod h1:trcwSnDAuhnWVGSkvIzi8B2Rq09lkUWw2xLV381k9F0= -github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.32.0 h1:RFXWXJSZeHGwB0s8MmnKDEYzIoe65GlZoVjfkPJmgpU= -github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.32.0/go.mod h1:uJ/ig0xo6LTLoXv1UZKiCAMhMCGofitZBeu1hU8r3+I= -github.com/aws/aws-sdk-go-v2/service/codepipeline v1.44.0 h1:uDyvWWCg52jNkZK3XxZ/KDKUHR6i5frkm95OgIrNvhc= -github.com/aws/aws-sdk-go-v2/service/codepipeline v1.44.0/go.mod h1:dCgth/lQudLt1s1AcZVYv6JElD1S6SYm4IF2Vx26bI8= -github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.32.0 h1:SVqD1PIAnx6/nWmwW4oCaW4axUgH+B6UpSY0NDCCrRE= -github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.32.0/go.mod h1:Jmw0a/S9yQUNCVV+un8ZE5LkmelsqF4vMIP7JjWHFtc= -github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.29.0 h1:K+e6W3hgnYL5caTmtlKB2D0nsqHYi9Rye03Zz0VyuuI= -github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.29.0/go.mod h1:M5+qaBchhL2wQjhkkiZtPB1vARELZvrudYOHhhRzfQg= -github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.31.0 h1:zdCXwCQo/M62euQql/gQDJgN3x4IUH2zPhPySrx1chk= -github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.31.0/go.mod h1:VNqYrKczE/NTZ4l7EQhC9l1qyXETcgEY09FN584Llkw= -github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.55.0 h1:0WmwdwAbMJw1XWhjE65Xv+3mtCH0likwg3d1DaCAqvw= -github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.55.0/go.mod h1:XG40nxqr+s9i1ceNxNnwEKpvhV7XJDSuoJHjL+6yRZA= -github.com/aws/aws-sdk-go-v2/service/comprehend v1.38.0 h1:BfH3iZdWIRFtWZ32bgL1+L1hvzvRZQUbtpHmutWk0UQ= -github.com/aws/aws-sdk-go-v2/service/comprehend v1.38.0/go.mod h1:ssJ/Mv2wWVTh5hG09fGCCnQOfOeOVG3/7zVcxMGatvo= -github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.45.0 h1:6L0Q42EJrrPVL48g9nOuNgNE2r/5nHU0pVCzc79P19c= -github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.45.0/go.mod h1:moeEA/s0wSAhXmQcy2mTjAtm5Q+rhZDI8gJxZxVRIGk= -github.com/aws/aws-sdk-go-v2/service/configservice v1.55.0 h1:Xl8gWAZJVlVfXJ8BKQP+pmy4wp+ne/dAUtS5g68KnOc= -github.com/aws/aws-sdk-go-v2/service/configservice v1.55.0/go.mod h1:HJ5pf1PwMaGldNUKWpczuf3HscpY0zXRKwyBA44IaFY= -github.com/aws/aws-sdk-go-v2/service/connect v1.134.0 h1:/B+9jXQitY0sHwZIO89ryMmnAP0X3ypWejYnajjaTzE= -github.com/aws/aws-sdk-go-v2/service/connect v1.134.0/go.mod h1:SG9D1SyE7QBNPmrzOU3SMb1uHl/vOiu52HZdetka4b4= -github.com/aws/aws-sdk-go-v2/service/connectcases v1.28.0 h1:Il7H8Syx1lhWVQ7dyAhnmX5s6SoTVmbhpgfQcMc+Ijk= -github.com/aws/aws-sdk-go-v2/service/connectcases v1.28.0/go.mod h1:yyZCnX4vIiFOhcHzP1vCOOXTybYt+sJjsesvFHIKZ+c= -github.com/aws/aws-sdk-go-v2/service/controltower v1.24.0 h1:GqMI2xbsngIXKK9u0n7Uq9tlmOeuxqkXfF4JS7EiuWo= -github.com/aws/aws-sdk-go-v2/service/controltower v1.24.0/go.mod h1:Wd1uRXhy8eruccPAIexw7rroEP3pNmywpaIYJPOaxeU= -github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.31.0 h1:5OmrdE3scZzl0O9ZbHUZMQMSMN1YCCnf6+vVbD511UI= -github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.31.0/go.mod h1:WAXGRf4GydDydvvh9DBVXsqq+0FPnPGlc8hVvF0G+ek= -github.com/aws/aws-sdk-go-v2/service/costexplorer v1.53.0 h1:VcccLOrD/qXf+7OPJz2tWn5SnshpIbjlU8+jORroTAc= -github.com/aws/aws-sdk-go-v2/service/costexplorer v1.53.0/go.mod h1:cwD17qE4SFbx3dF5K5pJCljAP5s42ClDPr7sQYehngY= -github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.18.0 h1:Qw2xhORM48yggaIIxx0JHZkqY05GMBkKbTZ4/Nlk6K0= -github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.18.0/go.mod h1:UWmTogJwOTa4t/Uxee94BP5io+8Ax7sQvb49JfDycJs= -github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.50.0 h1:jrKo1cDREuXUUJcGa80oNJmS60oUT8ZZuZf47Eop/1k= -github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.50.0/go.mod h1:NCs06jvgjsSE66kg2fHCRb39XpJAwIYFXeuYpriEvZI= -github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.55.0 h1:LpAao9HUxs14aBKcaWZGvjNhn10CHQlWvQYdtK4Mhkg= -github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.55.0/go.mod h1:/fHYyXjfj53THx+bN9TLIADHqjVzsYOyJrvnRMp/df8= -github.com/aws/aws-sdk-go-v2/service/databrew v1.36.0 h1:eL80XBaRTr4CIwgJSl3VJG4TlCLnP4Abg8utuDN1tRw= -github.com/aws/aws-sdk-go-v2/service/databrew v1.36.0/go.mod h1:u3ErK72jmKHdoZt5Ds9bgHJ1XCSuyuIB1nvKvkkYYFk= -github.com/aws/aws-sdk-go-v2/service/dataexchange v1.37.0 h1:8QbCaACtsGDYv+1MgDm7isYQEqGTc0osuLuxiW2CRDQ= -github.com/aws/aws-sdk-go-v2/service/dataexchange v1.37.0/go.mod h1:dCb9rZ739QDJZRTy2v2P3qYz4vc+RFx4T0Kd6e1Y3QY= -github.com/aws/aws-sdk-go-v2/service/datapipeline v1.28.0 h1:ONEu7270NT+T2OLxKpdt2hl0lf2dfiqYyRNRDXGN2UM= -github.com/aws/aws-sdk-go-v2/service/datapipeline v1.28.0/go.mod h1:5MfUdmmH5Qpt8XIMET4CkFYf26XoQp9UUo9B2zR02qc= -github.com/aws/aws-sdk-go-v2/service/datasync v1.52.0 h1:VEy9B26hfFF5Vn4tXBZ2NCcr81juq3wGcx+MUmKdkv0= -github.com/aws/aws-sdk-go-v2/service/datasync v1.52.0/go.mod h1:dbXY0ll66czxvMM2NXqp9ohthxKyyRhz98AKFA1ih9A= -github.com/aws/aws-sdk-go-v2/service/datazone v1.35.0 h1:gx2Z59PUE6tYjoZjWtSZ5fFFKphRg5mhS4mXGdKixYU= -github.com/aws/aws-sdk-go-v2/service/datazone v1.35.0/go.mod h1:w8NSiTlR6hMHKrmhJZo1QGeNp5Gb+y89mscKzPXmZWc= -github.com/aws/aws-sdk-go-v2/service/dax v1.26.0 h1:l8l+s6FOEf5GEOqT0qYlR88Xc6xDW7lSvrmnkx3V6RI= -github.com/aws/aws-sdk-go-v2/service/dax v1.26.0/go.mod h1:rnmY/yPKUef7WyczLw08Yknm4c8R2xFCOK8/tMytvSI= -github.com/aws/aws-sdk-go-v2/service/detective v1.35.0 h1:033fW/G7tQ5DST0dsqGxBytsFigH6fCfGkbCAnk/Oog= -github.com/aws/aws-sdk-go-v2/service/detective v1.35.0/go.mod h1:dOP8aoGmNgpLzNvQjtRy5Jd2GAtKWova01M2Zq3YLqY= -github.com/aws/aws-sdk-go-v2/service/devicefarm v1.33.0 h1:K7uueN+UmS2GHVw2+vwqOV/O3Ga4JyZfOg+cwbaiBJg= -github.com/aws/aws-sdk-go-v2/service/devicefarm v1.33.0/go.mod h1:IMYHh62tZCSyUHeyGrOtLSmTkex8ctsG9ODnZmj5jsY= -github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0 h1:SUJxgNXb9Gl+gm9p5Q0M5M9G3E8AjV6ELnmgMwt2MTM= -github.com/aws/aws-sdk-go-v2/service/devopsguru v1.37.0/go.mod h1:Uttl2g1mxh8OO3Nn6L/O5RyMW96Q9NCQ9v95NH7AAIs= -github.com/aws/aws-sdk-go-v2/service/directconnect v1.34.0 h1:dRzDaZMpehpHs4adhwkDmXayIIptqQ4O8U1HTCiwhPE= -github.com/aws/aws-sdk-go-v2/service/directconnect v1.34.0/go.mod h1:/E+jep1XiQdEOARijsuGgWpw7UxiX7cv3Dv8vTAj+6M= -github.com/aws/aws-sdk-go-v2/service/directoryservice v1.34.0 h1:oXzjqV5vL3jj9gNTaktrBiGBnaFAgRWSmoyswhMs+80= -github.com/aws/aws-sdk-go-v2/service/directoryservice v1.34.0/go.mod h1:OPGuMZ8mYvD1ezKVAlCGB22c4umHsWkKY4YAwFfn8Bg= -github.com/aws/aws-sdk-go-v2/service/dlm v1.32.0 h1:u6V4K637EL6sPNHf6zZO0bZlDMbBqHzfXBYEPFucGjo= -github.com/aws/aws-sdk-go-v2/service/dlm v1.32.0/go.mod h1:ybd3+ET1/CpQP3qdj/CbTaEWUDhwYT+0bT4eXLcnQ5c= -github.com/aws/aws-sdk-go-v2/service/docdb v1.44.0 h1:5bs2HTu2+khau4yBDAgsZsFO2Mrc89Zz9uEBLmmZp7E= -github.com/aws/aws-sdk-go-v2/service/docdb v1.44.0/go.mod h1:W7LM0wHrgjuZgh2ugJLc9SunYq8dUvtgu/lamy9UXBA= -github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.17.0 h1:vU40uE7CLo63AusHL0hJl9g99qMd8s1lj2Atp3CF/H8= -github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.17.0/go.mod h1:aa5vQ9iApmgcG4hkt0f7fDPIHGgV5Hsc+JxeRDclOjw= -github.com/aws/aws-sdk-go-v2/service/drs v1.33.0 h1:Iijr+LEma1xNOPifbN7Eb7aL73v/UkD7FFcxyknDfOI= -github.com/aws/aws-sdk-go-v2/service/drs v1.33.0/go.mod h1:cPdn2XdBmgHtq+Ei10EeCPy+j6l1I6g4FLjlPnh7g64= -github.com/aws/aws-sdk-go-v2/service/dsql v1.8.0 h1:GIldUQZdcBtLmUJYeOhNoemf7vWHPSUblJ4OLuv8kmo= -github.com/aws/aws-sdk-go-v2/service/dsql v1.8.0/go.mod h1:FRIS/nQBGwjD+CfPct4I2Sly16EJXFl8iq9sd/n2t4c= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0 h1:b7F96mjkzsqymMSGhuCqBQTZFx3mhTMa6IoG6SoVvC8= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0/go.mod h1:F8Rqs4FVGBTUzx3wbFm7HB/mgIA4Tc6/x0yQmjoB+/w= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.241.0 h1:twGX//bv1QH/9pyJaqynNSo0eXGkDEdDTFy8GNPsz5M= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.241.0/go.mod h1:HDxGArx3/bUnkoFsuvTNIxEj/cR3f+IgsVh1B7Pvay8= -github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0 h1:2SOhwFVwG8PxJVT8DM6nhGsX+JZ8bl9CVgeiueeL4gs= -github.com/aws/aws-sdk-go-v2/service/ecr v1.48.0/go.mod h1:j8i+iiBvaf+Em29qBiXuhw5r9tGWDbpFEvLDqLtnMh8= -github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0 h1:Jcgm/dOm/6M0882pZwLzlN3BZyKEl4Pxp1isTkHoems= -github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.35.0/go.mod h1:jpQxFtT7JO3idCuyrKsoEjPcCIrrJNpeGvZFl1986rA= -github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0 h1:E5/BzpoN6fc/xWtKiFPUJBW6nW3KFINCz6so7v/fQ8E= -github.com/aws/aws-sdk-go-v2/service/ecs v1.62.0/go.mod h1:UrdK8ip8HSwnESeuXhte4vlRVv0GIOpC92LR1+2m+zA= -github.com/aws/aws-sdk-go-v2/service/efs v1.38.0 h1:W8v+PwOUTeh3JE53yBW8nAaRkDvMq7mMO+/bvmYHAlI= -github.com/aws/aws-sdk-go-v2/service/efs v1.38.0/go.mod h1:ijPHatoNwxKTySdgDNoGUZw3toYwvRJKWwS/1dr3M/c= -github.com/aws/aws-sdk-go-v2/service/eks v1.69.0 h1:eiZOCsKGl0D7M3FSeSJwJbsikxowCMVz513WDFCe6HY= -github.com/aws/aws-sdk-go-v2/service/eks v1.69.0/go.mod h1:u3CDoNUAkSIGKNiA6LfQtApPmHPGRuAjikx3ObM5XBs= -github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0 h1:88Xh6SCyuge4BwPrbeJEDjDIUr/bMBZ6G7NrB785xCk= -github.com/aws/aws-sdk-go-v2/service/elasticache v1.48.0/go.mod h1:X6aJWShG65SH3DVd4LEyPzMmtJyCSIZvKfcGnYhOF7U= -github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0 h1:31GWaDmLEVzUW7UEnF7vbuESL8pAbeVsX3nOQbXxZQg= -github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.31.0/go.mod h1:oS1D1rubFhxS1keERM8hva16MsJ0RUa4llwwEGrtEow= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.31.0 h1:zyAlg5a3STXdaVI5ddiBSXKyQj/CSV4+FYAnUA6it0s= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.31.0/go.mod h1:k++MddMr1Lo5BlQf/uvXK7O+FbY8XKKHClnsfVxrzRo= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.48.0 h1:p1fXiEYfAVo7eF8MfPEMYIxNJHgZUhD9weB8s2y8d2o= -github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.48.0/go.mod h1:20UGYMqfkTlXKS1zCzZxNZa5nTNOwRbmUC4/z3AGRt8= -github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.35.0 h1:SNH+YetxZwCGYXYnt9bUdLo/uqk0VCKTNnLBpdBv+NE= -github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.35.0/go.mod h1:f4FCx6Swsy0d/uLcNwZj9U/LS6PZoTI4hu9Ukj/pwpE= -github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.30.0 h1:FPl40b9dfpGtG2hruC6eGhQAI8Ydma++eQcHL5qSd3U= -github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.30.0/go.mod h1:v10Bb6tl5+8Gw6G4HfdtNbMc6TilkLihp1bikKVwzjo= -github.com/aws/aws-sdk-go-v2/service/emr v1.52.0 h1:1LcyFr3wJWIWA7TH1GQl3d2cBkg0ZeMAowkLsMMkphU= -github.com/aws/aws-sdk-go-v2/service/emr v1.52.0/go.mod h1:9h1RQVgB3yZ45laVfX257QRx1/jrl3LR6VnaxAQ7HSo= -github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.37.0 h1:g36yievH3ecx+76/79+LIal5FqIXT+2J3Ztynayj9d4= -github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.37.0/go.mod h1:7J9Pidm1n/FvnKMcCUzi8eWNDzzqR6w3sbjhXrMXaxk= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.1 h1:/lA8mJujvKaA1S3foLIr0uHBdzRcUgbnkWH2BsAVeAc= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.34.1/go.mod h1:PHHbsCqpXEU5cGq2PogfV8qTlfobfSmLWeaPjJawwuc= -github.com/aws/aws-sdk-go-v2/service/eventbridge v1.43.0 h1:ZzdGUjZhtS6eDU+zyzjg5RwBc9UUk3dvRnwlKt1u5No= -github.com/aws/aws-sdk-go-v2/service/eventbridge v1.43.0/go.mod h1:oLGWKN3c58kslfI1Slifgjq0jGFgzFeDquv9WRlWTwo= -github.com/aws/aws-sdk-go-v2/service/evidently v1.26.0 h1:qfbkXGBL5NDZmQZpSW1fNATABgFdwj3mg5Qlcm9nYsE= -github.com/aws/aws-sdk-go-v2/service/evidently v1.26.0/go.mod h1:Mfeuqcqd81nUMjNpSA10fnsEbtxFipfwLYNA91w2xWI= -github.com/aws/aws-sdk-go-v2/service/evs v1.2.0 h1:LKz5V6E7Sddts6SmR0alPq8c/YTtJfvfW7JPfaqkIA8= -github.com/aws/aws-sdk-go-v2/service/evs v1.2.0/go.mod h1:vTp3tPWtAH4Q6wPQffJ3k8jQMUMGKOIJq/d1bKPtgTQ= -github.com/aws/aws-sdk-go-v2/service/finspace v1.31.0 h1:9fNPlSSV2NlEGG6CQssB1/CBE1XRWGTZceyvSORxh+M= -github.com/aws/aws-sdk-go-v2/service/finspace v1.31.0/go.mod h1:LlAKT9SZA/Xpy+4qkzYDZVLRbOtpOcc3xI750r34gxE= -github.com/aws/aws-sdk-go-v2/service/firehose v1.39.0 h1:1VPPV8hqaxunlD94jcn08kqXXuzUKiCm2BH7hB+ulHU= -github.com/aws/aws-sdk-go-v2/service/firehose v1.39.0/go.mod h1:VP1ztgkR7+8UA6n+uKY4wmuAegv0f+MRz+1TG/PEmZk= -github.com/aws/aws-sdk-go-v2/service/fis v1.35.0 h1:YHC0ZKx9zbavtqH8tft/KoAxGhxzEHMRus9SLS+i+6s= -github.com/aws/aws-sdk-go-v2/service/fis v1.35.0/go.mod h1:54I827xI6fu7SpDWIODZ+hKBC5+64TeqvHb6eeZCK+g= -github.com/aws/aws-sdk-go-v2/service/fms v1.42.0 h1:9BGiFztuYik0YMjSp8i2xcJOtg/FIR2tZi+qXdAhwi8= -github.com/aws/aws-sdk-go-v2/service/fms v1.42.0/go.mod h1:Ism46YVzDJXjFuIcUoLZW4a2kA8DM85aslmG3HQrB0k= -github.com/aws/aws-sdk-go-v2/service/fsx v1.57.0 h1:vkW/D8CfYTszVLqh6bfMerRVUMkDaTM/AJNb36nyfgs= -github.com/aws/aws-sdk-go-v2/service/fsx v1.57.0/go.mod h1:u1aeKi+yVpcQRVOq1VDqUhdvOaqQm9FJFf1MgJoXfn0= -github.com/aws/aws-sdk-go-v2/service/gamelift v1.44.0 h1:j6xThxTofUac0LEr6idGSmXGqZiDIVtQEBdCbqGmqSs= -github.com/aws/aws-sdk-go-v2/service/gamelift v1.44.0/go.mod h1:kHDlGPM/x/CmKP7konxLR99jMhfYCC3bdKUCrpSIUCs= -github.com/aws/aws-sdk-go-v2/service/glacier v1.29.0 h1:Fbm8Od3/crUN82KmW7GyX7yt06PYJCfL80CrXUtO6qc= -github.com/aws/aws-sdk-go-v2/service/glacier v1.29.0/go.mod h1:YtF4euf0dO4hPHj0qOM5ae8irG/qkCBJLlrf8cIh6X4= -github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.32.0 h1:5i6DYz0BE1x2o+2Ig++dmjohzlNjlA7nNA/cNTCU60U= -github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.32.0/go.mod h1:FCpLBbV4XEcc768mvlBb2Ovz66V+DwOjemPlBIWk6/E= -github.com/aws/aws-sdk-go-v2/service/glue v1.123.0 h1:oI5uX+NPxqkIP1Qy8XTlTiG3blhDDI0h1OtrOs14KZw= -github.com/aws/aws-sdk-go-v2/service/glue v1.123.0/go.mod h1:UnMg9irwCEC9F0qiaOGFwcXatZH+QNxj1hcXe0PPU0U= -github.com/aws/aws-sdk-go-v2/service/grafana v1.29.0 h1:RHaROqWEZduMgamzYhxQMJV+yU4c00DNpuFNNrLH4Tw= -github.com/aws/aws-sdk-go-v2/service/grafana v1.29.0/go.mod h1:rQ5s18ZiGCKhfSmAcEloiN7pvVRR1uPxFJv/gXBWMrA= -github.com/aws/aws-sdk-go-v2/service/greengrass v1.30.0 h1:ogCs+AbzCNSCUMcWq94Bi3mHde21qPpR1znwTO1bGeU= -github.com/aws/aws-sdk-go-v2/service/greengrass v1.30.0/go.mod h1:VWGNxq54dTkPMl1WMYI6t1l6fePKtzT5kOJ6KTtULjs= -github.com/aws/aws-sdk-go-v2/service/groundstation v1.35.0 h1:t7EmpuEsT1KryHEC+ZJhN9Hvg3jy8+wuUIOeauoSEyo= -github.com/aws/aws-sdk-go-v2/service/groundstation v1.35.0/go.mod h1:CJDWshApYf/go1kkHtplQ/dxM4tgceOyI/bcbQj5CGA= -github.com/aws/aws-sdk-go-v2/service/guardduty v1.60.0 h1:xWaBB5lU7dqKsfkMYC6E0yC53zz+8XjIRfd3sQ1xKSg= -github.com/aws/aws-sdk-go-v2/service/guardduty v1.60.0/go.mod h1:/0f7xSNgp1HvUOzvaUFsoVo24P6D/VPW2q4cBudw090= -github.com/aws/aws-sdk-go-v2/service/healthlake v1.32.0 h1:g9VEqxrBxNlrdt73yLrOJhe+AWQgu/ECRLO0FB9p4B8= -github.com/aws/aws-sdk-go-v2/service/healthlake v1.32.0/go.mod h1:/Zlk6NkxmzWRJfz86zgMK5SOGOX7HxfhfUmm5rcUvRI= -github.com/aws/aws-sdk-go-v2/service/iam v1.45.0 h1:H4iGrdJQREYDugHeFeknCZSIQKi2j9xqCFuK0VG1ldI= -github.com/aws/aws-sdk-go-v2/service/iam v1.45.0/go.mod h1:RLNjsuRZyUKWwC1Tj51dEpEKi3IgrxIvEbYdvD14WjU= -github.com/aws/aws-sdk-go-v2/service/identitystore v1.30.0 h1:/hjYtl0PyFG3X4AU4npfYHQa7JKHz1X5y4Qg7Br+a4I= -github.com/aws/aws-sdk-go-v2/service/identitystore v1.30.0/go.mod h1:qL3gyU/WyGQo1DscmhMiL8/oThY+PqEhKusqyONF5jU= -github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.44.0 h1:muZl56NGdKq46mKqOBQ8S4+tgBS8YvU9UQgbhw+4LVk= -github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.44.0/go.mod h1:Q9XC36P6xNG1612gw7M8vx4MglZuxt/EuFBnKkdKbgQ= -github.com/aws/aws-sdk-go-v2/service/inspector v1.28.0 h1:dwa4S72d+eotYy1MIncpvQZjQpb4aQsIdJkw6UNStDk= -github.com/aws/aws-sdk-go-v2/service/inspector v1.28.0/go.mod h1:C1sKaCeju2VcZ6NFiu0K6mXnAgROjnaqDhuLON2jmO0= -github.com/aws/aws-sdk-go-v2/service/inspector2 v1.42.0 h1:hCqhvKyJ3GZU7k5ivzrzLR4nXBiwNIyq6bA8FDdX/oE= -github.com/aws/aws-sdk-go-v2/service/inspector2 v1.42.0/go.mod h1:ClLIVjq4ypDXNZ/n8edCQyd2f/lVn2xZpsHgWGjtCUA= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.3 h1:ZV2XK2L3HBq9sCKQiQ/MdhZJppH/rH0vddEAamsHUIs= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.3/go.mod h1:b9F9tk2HdHpbf3xbN7rUZcfmJI26N6NcJu/8OsBFI/0= +github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.43.0 h1:GJpQPHoqFQadXt9zgU5y+8Jz242QOkjIZIw+FVsHSUA= +github.com/aws/aws-sdk-go-v2/service/accessanalyzer v1.43.0/go.mod h1:ubuqhQ5cwPPRnuqkDwW0BkA7s4CTsLdRhT/F0Jh5aPY= +github.com/aws/aws-sdk-go-v2/service/account v1.27.0 h1:AXdMJ3BikU0OcISX9Sn+d+G6Z5bWCMGBTi8CzRJc5/w= +github.com/aws/aws-sdk-go-v2/service/account v1.27.0/go.mod h1:yFx5lCxY8Inoi6DAnHA4zV99t9XK3Xm4jVTGJK834yg= +github.com/aws/aws-sdk-go-v2/service/acm v1.36.0 h1:U16SZFwZpyQGXUyrrmOqWqU9jMYhokCSpc+fYajYLy0= +github.com/aws/aws-sdk-go-v2/service/acm v1.36.0/go.mod h1:fdYDfiFuQij96Ryxl5uJK5xGAjyLhHGiBwquH7mpuAc= +github.com/aws/aws-sdk-go-v2/service/acmpca v1.43.0 h1:WukXneuq4cMqMAif9O6k9DJ8MYGChF3ADJu9Jp8gcOU= +github.com/aws/aws-sdk-go-v2/service/acmpca v1.43.0/go.mod h1:z6+6Jmnp4CXxXzJwydQhFVtPwYu9+6oTeEzx3oRcIL8= +github.com/aws/aws-sdk-go-v2/service/amp v1.37.0 h1:ENqKS9m7AL5HiNNTV4dwUQ5E2xARxbMPr2OeK97FHCc= +github.com/aws/aws-sdk-go-v2/service/amp v1.37.0/go.mod h1:LouVPFytdICLhyHVjIlFAO4nE5OJi3KXO+VmOhKwGWI= +github.com/aws/aws-sdk-go-v2/service/amplify v1.36.0 h1:hgh1hVUywvKGKE1SBOas15qK4tGf8tuOIdjMuMDZ5Yk= +github.com/aws/aws-sdk-go-v2/service/amplify v1.36.0/go.mod h1:UfCqtNa9PMpuD2KSJ8DELqJpgmG78U5CoUW2Vf2ZWKQ= +github.com/aws/aws-sdk-go-v2/service/apigateway v1.34.0 h1:IZAET61abhm3dZEMPwU6VLiXKVL2Qwvg0q7Bukpz/kA= +github.com/aws/aws-sdk-go-v2/service/apigateway v1.34.0/go.mod h1:WuGmD7SWYen7UZcDGptMvzl6bN5OZ1x+Io1eI5XN7kU= +github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.31.0 h1:bbHfZmF4H/PG5EEo0hXDyM/45XZDMbkscXolqardpB0= +github.com/aws/aws-sdk-go-v2/service/apigatewayv2 v1.31.0/go.mod h1:qlUNYJtHoTWiJQMJkgi93jwRNRt9uIOUSMZrwMODh7Y= +github.com/aws/aws-sdk-go-v2/service/appconfig v1.41.0 h1:1EQYqGI4Gwlk/dGj/F3IxdZEZPw5Nv26d1QGsSsVPUk= +github.com/aws/aws-sdk-go-v2/service/appconfig v1.41.0/go.mod h1:iC0QI9BkqzOa3bqZ3SI1GGobEOML7mV+tBTnh8hOoYI= +github.com/aws/aws-sdk-go-v2/service/appfabric v1.15.0 h1:lymNTWawpNNwwiJY7BCqBIJzLQ8p8O0kHE9/iQ5UIXc= +github.com/aws/aws-sdk-go-v2/service/appfabric v1.15.0/go.mod h1:qKKz05wkdIZ+tkR3rnV66+sxYKIsppwx2hJiT3fuFdk= +github.com/aws/aws-sdk-go-v2/service/appflow v1.49.0 h1:Na5N1Pb88dfNt9LbDj4VIWa9KGPAPqm6HjXWaan75p0= +github.com/aws/aws-sdk-go-v2/service/appflow v1.49.0/go.mod h1:1vwP4HwCMVBINGTry8iEgeWJG8T7BCMUbwGq6jv2fyU= +github.com/aws/aws-sdk-go-v2/service/appintegrations v1.35.0 h1:4mIoI/hf2GdN0gMQGRcle62J11D4gGJRMcAeYLJeEzk= +github.com/aws/aws-sdk-go-v2/service/appintegrations v1.35.0/go.mod h1:BE6N7P4vcnkAK/ThYR7d65SMt+zjxpo3JMI+ccryyvg= +github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.39.0 h1:WknzwSXavLeI6hBZSDIpytKGGGXA+6rNQFf/jA9NtJI= +github.com/aws/aws-sdk-go-v2/service/applicationautoscaling v1.39.0/go.mod h1:5KVddKIBcX5dqvw5NOxIW7/c5m2eP5OpdgOOtOmZV+k= +github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.33.0 h1:B4rFraSi6NFtwWg/QYr6Mug4ucibKlaDESd07gHTj40= +github.com/aws/aws-sdk-go-v2/service/applicationinsights v1.33.0/go.mod h1:g4GYCgL5sPZYHuq+20i4MbtbyzQVtdq46RNBsXtl8OA= +github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.15.0 h1:SqxybdZ6g/5bl0YaZXwzwO8nBZZVWYQEMTmrtIin2A4= +github.com/aws/aws-sdk-go-v2/service/applicationsignals v1.15.0/go.mod h1:uisXhUwAotYm2Fq/wZ/o2n41DjZJ6wOqOPKg3wg71vA= +github.com/aws/aws-sdk-go-v2/service/appmesh v1.33.0 h1:JBQbf6oX9kNpMj8ehtekQSd33S6BZWv577ddGUbFhQA= +github.com/aws/aws-sdk-go-v2/service/appmesh v1.33.0/go.mod h1:5d1YrmN3Md75Nu30REsNbXZuiFPZr/jFgB66VAP62v8= +github.com/aws/aws-sdk-go-v2/service/apprunner v1.37.0 h1:FD6ANh+B4eaJ5hxxHqgUXvyRLiuFGF+xnJR9vqsBVyA= +github.com/aws/aws-sdk-go-v2/service/apprunner v1.37.0/go.mod h1:V4jZDgQOKB2SQReBF+3/0isB/C2UnBV4A//4GhXZw+U= +github.com/aws/aws-sdk-go-v2/service/appstream v1.48.0 h1:vHXkPxz6DR28ISql1XUZX5yNee9IMyei3ybAUD4Hjqw= +github.com/aws/aws-sdk-go-v2/service/appstream v1.48.0/go.mod h1:i0zZFMnPUEbkFUjy5cgpbLONEpFQ/M1X+K1VxYG76l8= +github.com/aws/aws-sdk-go-v2/service/appsync v1.50.0 h1:V/aQVXHEgacW8l2lOnX9qgQh6SCkcKT3GDoMBdXHG4w= +github.com/aws/aws-sdk-go-v2/service/appsync v1.50.0/go.mod h1:wktq06C/DKgzBnfiAG91irzV6V/YZq3rjPfZn+Yxfp8= +github.com/aws/aws-sdk-go-v2/service/athena v1.54.0 h1:8QK47rrFawD8jtTmDKMKZr0lujNh23p1bJAZNyQJLYY= +github.com/aws/aws-sdk-go-v2/service/athena v1.54.0/go.mod h1:jph/XCzsyc69PoY1QOXFoGm/bk5VC5snc4uFYy6mrGU= +github.com/aws/aws-sdk-go-v2/service/auditmanager v1.44.0 h1:Sem8rU6yn64VNGn7OFB6XnMKUXTBprarXFeIhXHoZQc= +github.com/aws/aws-sdk-go-v2/service/auditmanager v1.44.0/go.mod h1:Q3FAo0fs6pq3Mgs0OU4kG73jfFFe8Q+n47ocWKdDUNc= +github.com/aws/aws-sdk-go-v2/service/autoscaling v1.57.0 h1:PwAha4djh1MsmRgtKQ6exCqX7pTTC7awEN+1zD+Lv0A= +github.com/aws/aws-sdk-go-v2/service/autoscaling v1.57.0/go.mod h1:MSY6dUZpI3obWYZlH77CXNR0gOsAX7bKVFv4fOIKODI= +github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.28.0 h1:K5VhfJPPyrToRq3JN0o2JKzIBKoZbBwHgVEecRpTNqI= +github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.28.0/go.mod h1:Oph1NMrQKGeygUJXWkxSub/ZaBHoXCGL0ikBWKqmwQ0= +github.com/aws/aws-sdk-go-v2/service/backup v1.46.0 h1:92R0oLf9R1kyC0LmH3rpH6R/TsmIXk5u8a7u0BqBC98= +github.com/aws/aws-sdk-go-v2/service/backup v1.46.0/go.mod h1:oZRnbfpP4suZxn9T13hpOy0JW1UAj+dY0cHuvQEzhl8= +github.com/aws/aws-sdk-go-v2/service/batch v1.57.0 h1:saon+alGICDcv5yIHE/O7eHNUCT6LgUMIAMHoY4kpg4= +github.com/aws/aws-sdk-go-v2/service/batch v1.57.0/go.mod h1:j1X5R4qrXpQlWH8JpQyTGHQ48KVTMyl4+W+bETY2x6k= +github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.11.0 h1:rqBqfB/V7SG7LNiUD2y5XzrJDlFFvParoT9HRGyx/1s= +github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.11.0/go.mod h1:u3oQZCGzxgN7coRlIY7WoU3xRDm9M6hXL1S+vDMwNHo= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.44.0 h1:cDCNcaDxbB7B6ABhUsi/IxK8cOwucqfKD/s3d5B8lj8= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.44.0/go.mod h1:jogJ8f7UaV3PgmblRtn1AJ+Xe8k+A6hjhHLUZlNI74s= +github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.48.0 h1:p7AHuhT9Xo23oS0B4Dlo3QTuR75wNxLdfXXvoXRRAMM= +github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.48.0/go.mod h1:Ff+BaL5h7/pTZxEVZfIFvqxD28GSDr05gjOErxsEvss= +github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.3.0 h1:8vdMsSGKMJ0KKm9xRG3lWupvlxAfoT1H2mNL48Fcmss= +github.com/aws/aws-sdk-go-v2/service/bedrockagentcorecontrol v1.3.0/go.mod h1:y63i77wmkgOiBLuDo+BhQIkOogCi4YGEfWw8FLziSyA= +github.com/aws/aws-sdk-go-v2/service/billing v1.6.0 h1:Qjw1OzZ/xWlhAE/05KO8WPAt43g+KM34jyatIVSihy8= +github.com/aws/aws-sdk-go-v2/service/billing v1.6.0/go.mod h1:NGrGJEAUifD+yk6yDu18vcwB0/onrE/2duTXyWtpQpA= +github.com/aws/aws-sdk-go-v2/service/budgets v1.36.0 h1:l9NAh1G4Dx6ygvXtI+q1LjJhIOjFfuglgzCgK4oz4To= +github.com/aws/aws-sdk-go-v2/service/budgets v1.36.0/go.mod h1:hN7Azd0je7dP3pNZX2zwUqQUe1FnwT/lBqXFZcyeF4M= +github.com/aws/aws-sdk-go-v2/service/chatbot v1.13.0 h1:YSr29la/2ZjvLzpPSTNZ+4UKUMVIB/By9RHbwsozZAU= +github.com/aws/aws-sdk-go-v2/service/chatbot v1.13.0/go.mod h1:Hy1FNUMiWlbH1j54n2JHARTWa2s9SuC1EDV8/5rWneo= +github.com/aws/aws-sdk-go-v2/service/chime v1.39.0 h1:OrR18jIg9a5RBxgMPbWksJT9tmTa/KOf6LmJOTiL/nM= +github.com/aws/aws-sdk-go-v2/service/chime v1.39.0/go.mod h1:gAVdkdTSn/Kp/2aj5bQWX6RAjBtk0mhtx9kulUz6IdY= +github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.25.0 h1:/a4GRYzQy/9T48CqAGlythaPj6Y5PWCRnMFCbqXp1iY= +github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.25.0/go.mod h1:hX5xwl8FzmIQMxfkaNxMbGVnTzDyCaNCe0qGApFDSHc= +github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.25.0 h1:BtwQUwyufH3WhisHCct+10JB3tbqYgnlcZkWQ8TrKrc= +github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.25.0/go.mod h1:TzNwrF98kIjcl1NOYUqZ9P0OsUsD1GN8fSJrt+gOUMU= +github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.29.0 h1:wpkgV+tKLNoHsRlaIWv5gswz4hZY1TbwIIuQX/atPmw= +github.com/aws/aws-sdk-go-v2/service/cleanrooms v1.29.0/go.mod h1:s1Uq5wrZPR4SHPux9chAZ0woE7zzpTBaeFDOxNWEfOw= +github.com/aws/aws-sdk-go-v2/service/cloud9 v1.32.0 h1:GL80iUAU3t3NG8hqI1YM/VTehaHcYzBBu8lv0I0YrR0= +github.com/aws/aws-sdk-go-v2/service/cloud9 v1.32.0/go.mod h1:ZuzNLZis3yt5/NyM5jn7SWQ3uhtq9I5c3JQLcQZcOEI= +github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.27.0 h1:iYhGDJl3qGz7ZwBxnO8KWP3HBXBEHQwQuCTLtnvl+/c= +github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.27.0/go.mod h1:3i2UYK7+Me+/0j/X5PWt8lXpbxeIEHFqt9Y0yuP3lBU= +github.com/aws/aws-sdk-go-v2/service/cloudformation v1.64.0 h1:zkywcvvuwJcdNUErYJ3JaujgTYy8iOqTZnMJtbt5GQo= +github.com/aws/aws-sdk-go-v2/service/cloudformation v1.64.0/go.mod h1:CSZ4pTMdDdwePgGxMo5KOfOw+I0r0cOwLsyULTjFuUc= +github.com/aws/aws-sdk-go-v2/service/cloudfront v1.52.0 h1:rJcbtmScByQ6NBIXV97m6e8Rasd0zgvt1z84pdddU/4= +github.com/aws/aws-sdk-go-v2/service/cloudfront v1.52.0/go.mod h1:qTc2+9g3YGM5d/u+c4tmHun6vmEKwBjJ7rEM6N3qGVI= +github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.12.0 h1:3H2613Pj9FkIkgPOd5Vi8oj7iLyV2qYMkhd8Qv6Q7qI= +github.com/aws/aws-sdk-go-v2/service/cloudfrontkeyvaluestore v1.12.0/go.mod h1:9FB5f838TtTLjmTrEkeZL1d75cbVNrTgQodokjUtwNU= +github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.33.0 h1:3JSAmJhQ2MgO8YFKv0CMab6NY3XUgK5SHemxqyCRdPY= +github.com/aws/aws-sdk-go-v2/service/cloudhsmv2 v1.33.0/go.mod h1:KcpoisoNJWn7kQf+b6fzdBDBtxzLfwc2UL+0stF8pVk= +github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.30.0 h1:32QN58w//10tYWkS+O+61EPBCKEM5FlLbM7n45wl0kM= +github.com/aws/aws-sdk-go-v2/service/cloudsearch v1.30.0/go.mod h1:Dw/juJ9555u2hj4dnUA8fP68B5IHzS0wnxaPdNJPWNs= +github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.52.0 h1:Wgjh6Igu7HS57d8AjRIG0bHjybt015dBTc+zh2L/P3E= +github.com/aws/aws-sdk-go-v2/service/cloudtrail v1.52.0/go.mod h1:TSIIBxkIwUawJ9JyiymBksYZYsvIv8GIF2DkrlcTc5o= +github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.48.0 h1:NmaelAJldom/+eWDlbYdurKrPL+TSvwKeHH/TnEYih8= +github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.48.0/go.mod h1:s+juX6Mf6RF+y14IK9Ed02U/q86Tqc3PKHIDtuzBMa4= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.56.0 h1:GiSL2mJ/gSJR4p2HHRrydkM/LVtP82gssI3CKeGCFAk= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.56.0/go.mod h1:0jzhov8WzD4VylEv83E+RkqA8W6k7DX37XyrwMavyvQ= +github.com/aws/aws-sdk-go-v2/service/codeartifact v1.37.0 h1:LVhbfPyUufKIjKVengJswggsFAbdRJe3LGNf6xVjgDg= +github.com/aws/aws-sdk-go-v2/service/codeartifact v1.37.0/go.mod h1:tNVsC5SHowfci8r2wS95tND/l5np9AyHs7P8+MHcqfU= +github.com/aws/aws-sdk-go-v2/service/codebuild v1.65.0 h1:nk002AVU7WXmiV9c2HFZWixS0JcHL8lW0WocnR6TKqY= +github.com/aws/aws-sdk-go-v2/service/codebuild v1.65.0/go.mod h1:HiaBb3/RkkKBXLfkHch1Wy8tdMkyxhAR75PDf2BZyd0= +github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.20.0 h1:1yOLOPPI/SP+z1z7v50r4i0yJEBe667Tg513qv34Mok= +github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.20.0/go.mod h1:/YU2KmYK0mw3Nwo/Odx3vFsqfR9GYeirr2trSazXGFc= +github.com/aws/aws-sdk-go-v2/service/codecommit v1.31.0 h1:Zen0PfPRG8lStgXUeuNxvdAJ3TlFYJfkJStGmG0RPMg= +github.com/aws/aws-sdk-go-v2/service/codecommit v1.31.0/go.mod h1:OsWM+ToUGgq2s3odxVhJazzPUvmC5PTc/dnaV3Lotow= +github.com/aws/aws-sdk-go-v2/service/codeconnections v1.9.0 h1:B0MOHup8sByXTFmHBa0Gtx31IUPypG1IIN/Fb/c3p7Y= +github.com/aws/aws-sdk-go-v2/service/codeconnections v1.9.0/go.mod h1:/LWsV6gbnhvGjoh8VYYoCPLvmJARA8YrZ6c4YBQnPK0= +github.com/aws/aws-sdk-go-v2/service/codedeploy v1.33.0 h1:3YI4ckLMF0x8IgZJaNz81aaUCnPSEvn9DqDZKkBBi2Q= +github.com/aws/aws-sdk-go-v2/service/codedeploy v1.33.0/go.mod h1:OGx3gxawc0hbWRDXdCjBvNge9lca3jVugD3B+4FzdFw= +github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.28.0 h1:ZY7lzj4WCPPMSU0PU3FV6Lnx0VzWe9mjlu60YBMkGGE= +github.com/aws/aws-sdk-go-v2/service/codeguruprofiler v1.28.0/go.mod h1:uiGz8IkroknF/60Jb4ORQmcMw8EXyDKzgOt4BWn6hJg= +github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.33.0 h1:GN7I0M4vUQcc7BdwKqv2ly17OBeSPGfqm39BB1qFNkY= +github.com/aws/aws-sdk-go-v2/service/codegurureviewer v1.33.0/go.mod h1:LN5B61rqDh0EmmqAjIq7n0DUILP21RsFy2FWs5W39VY= +github.com/aws/aws-sdk-go-v2/service/codepipeline v1.45.0 h1:UsHh9s5J3gW0WdAQ6bXekyEGZl2kCAMDPSsm7lzC6O4= +github.com/aws/aws-sdk-go-v2/service/codepipeline v1.45.0/go.mod h1:yQNvzfwnOPhssQgu5vPAI7HPOF4A13sdL8Q6fzu6Jss= +github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.33.0 h1:yT67LHPTvlQ4pWq21DQSd8Fv8ERRDmsZCB2HQ1UjOvY= +github.com/aws/aws-sdk-go-v2/service/codestarconnections v1.33.0/go.mod h1:cAIrqVfSEiixle0xrVTIFhI9PdJCmHPNGbhX2ZH+5Ho= +github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.30.0 h1:L35FZUTiamMITQUbVY2Y593ZE/z5NXu0Qf7AEhBOQng= +github.com/aws/aws-sdk-go-v2/service/codestarnotifications v1.30.0/go.mod h1:fqp3NJHc6O/LQMtoocsMxGGeAO9LKiLEv9cDXG2uHxw= +github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.32.0 h1:MybdZxWB1n6eljU2GuRXvrWXGW8YfFO3Iavml4qxnD4= +github.com/aws/aws-sdk-go-v2/service/cognitoidentity v1.32.0/go.mod h1:6Xk2rhL0WJmxuJUzMNeFafKcQVF5iQWsSouJDHJo7YE= +github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.56.0 h1:0WVvuvoDZnwF/KAVGQc/utCamQUNa+vctMH9iZqfg/0= +github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider v1.56.0/go.mod h1:DuMkTI7zRRP+kWbSt0+SnE2qXdQp9YUCZckt+rDDH7Q= +github.com/aws/aws-sdk-go-v2/service/comprehend v1.39.0 h1:1T63UDiImeXzq1itj5CAv0S2i89BnVqKyz9pVbQtC4c= +github.com/aws/aws-sdk-go-v2/service/comprehend v1.39.0/go.mod h1:GjEauPr57vlcBPWW1DyiqkNySZRnMZBf/SmRPwqIXOs= +github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.46.0 h1:Z5DPlFHw3vVGN8p0jKqVChgffqMXQkMe3vm4agmgvII= +github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.46.0/go.mod h1:eYtOdX3+8Uj0HjOytehszSvtuTpSCsCzlKEriU8xifk= +github.com/aws/aws-sdk-go-v2/service/configservice v1.56.0 h1:BFDPvTQk/+BM9T8I6uHhtmur8uaroCXoJ0AI2kpNO1U= +github.com/aws/aws-sdk-go-v2/service/configservice v1.56.0/go.mod h1:46dDCtKXik+9IWU9oEOKBWzfQnyqn7EsmPnFUT7zqQw= +github.com/aws/aws-sdk-go-v2/service/connect v1.135.0 h1:pbB8nhUG+FyR29DSfnodqTTD8iiihSP4+PffWceQTQI= +github.com/aws/aws-sdk-go-v2/service/connect v1.135.0/go.mod h1:UNYwIAeewfxeNd8AraZR/l1oj8sVfsz71JmSm0c+yhA= +github.com/aws/aws-sdk-go-v2/service/connectcases v1.29.0 h1:F0hhZPgGQ/JNbd1fgaoooW9Wpi/uMwipeKYjJpeeRfQ= +github.com/aws/aws-sdk-go-v2/service/connectcases v1.29.0/go.mod h1:jYSsyjaru199f/yo0FRn5Z9/BnQEq/XLAl89ksJBe9c= +github.com/aws/aws-sdk-go-v2/service/controltower v1.25.0 h1:oWlHOpu0G3VxhnBirGF/0Tn+euvARocShoTs2Wo2wgY= +github.com/aws/aws-sdk-go-v2/service/controltower v1.25.0/go.mod h1:lGLCOsEUl7bFyjKgcp4ka3GHia6C1hTasvWGGFlaQ6Y= +github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.32.0 h1:LiLWwq5mYglYoksyMXV/L0ZLw+dtnIGXvpoAMri2zEs= +github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.32.0/go.mod h1:es7bS0XlU7PJHV3VFHuwPgFXvHtFzkC+9i5omJt+5Ug= +github.com/aws/aws-sdk-go-v2/service/costexplorer v1.54.0 h1:5e/C1PaQywGtklpMotdHKon/8MfsDyzJ9WFh0ge8G38= +github.com/aws/aws-sdk-go-v2/service/costexplorer v1.54.0/go.mod h1:tR04F/rUvoQ/5YFp3XS+SDB6pWc/Ls0f19WKA8PauDI= +github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.19.0 h1:nRXBomiIJKLbn8tYbYp2hOmP6mejmzksC8SaekKBVD0= +github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.19.0/go.mod h1:6Zn4eLosXezMNnIpHy2YeOz7lPtoR5Bc69C5RCpeEd4= +github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.51.0 h1:04V9n8NhsYlUFkn7IXKUeR6MpDq0XJ3eTXEJCJtYkdY= +github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.51.0/go.mod h1:35+xMcyogL7u49YQ3TJjJadjJWg8+LuDBdDgxyepZic= +github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.56.0 h1:Ne8EdY5+nD81tsUgYwijc5Lbc1Dnn1ijCG8npw/yGhA= +github.com/aws/aws-sdk-go-v2/service/databasemigrationservice v1.56.0/go.mod h1:9M7lHwBQ/U86clroDhC9PKzHjXicJHn1kOcrMNjzfXo= +github.com/aws/aws-sdk-go-v2/service/databrew v1.37.0 h1:7vB0On4jaXFKzo71y89tWgv7LyrgXh4z5obihxV0IYg= +github.com/aws/aws-sdk-go-v2/service/databrew v1.37.0/go.mod h1:ukMQiiI+wmYPs3kMxbnUa/OqgDeJx+/euWAkoScrUtM= +github.com/aws/aws-sdk-go-v2/service/dataexchange v1.38.0 h1:cSSIBQiQhVVjDOTCKPqp0jsJvfY/zHjKc7VJkIeAQas= +github.com/aws/aws-sdk-go-v2/service/dataexchange v1.38.0/go.mod h1:z9BGYSQJFFReD7cHnDrScpSYsCDa/1T2enrQ9sKA7yM= +github.com/aws/aws-sdk-go-v2/service/datapipeline v1.29.0 h1:5a76AMaI1x9YHhL6qclsXWbV/vZEQN1r/cZK9T045pE= +github.com/aws/aws-sdk-go-v2/service/datapipeline v1.29.0/go.mod h1:iXVvFT/t6B96iXExuxVp4QMKfU2XUIGazYkptjmF+AQ= +github.com/aws/aws-sdk-go-v2/service/datasync v1.53.0 h1:6e3BS+A00UPLzkgtWj5Sakvom0G5qAn/dEk8U7QG/n4= +github.com/aws/aws-sdk-go-v2/service/datasync v1.53.0/go.mod h1:4gU+dv/Prdb8CB3TaRbrSFLO2tSqPNRnDqIX9IPuQHQ= +github.com/aws/aws-sdk-go-v2/service/datazone v1.36.0 h1:YEZFj4KUY0do1SEFytmxyrRXbB92blueDxRecGqqdTc= +github.com/aws/aws-sdk-go-v2/service/datazone v1.36.0/go.mod h1:TG25xNgljNX2+CjQ0gkXiOjJG6BTyM7gRJdfC6jGIBw= +github.com/aws/aws-sdk-go-v2/service/dax v1.27.0 h1:wDyL0EZw99zVGuzf4E/AZMiHVp/V6j9+Z8VkP2Xr55M= +github.com/aws/aws-sdk-go-v2/service/dax v1.27.0/go.mod h1:SG2yNQjCwUNkjUxW7YCsUiIKQgoWUZpblEHpmf6Az3E= +github.com/aws/aws-sdk-go-v2/service/detective v1.36.0 h1:0av6yvy0lYUtlgDnZoinqIsYbjM8D4JkEnXzh0WKWwM= +github.com/aws/aws-sdk-go-v2/service/detective v1.36.0/go.mod h1:mS/k1sKOFKsE7Jr34gvsnX52nLSjAWfnjvvoUJwhkTU= +github.com/aws/aws-sdk-go-v2/service/devicefarm v1.34.0 h1:zvhsIkUZOol3DwpcvFl/y14uSSs1JNcGsbu7cMdSxqU= +github.com/aws/aws-sdk-go-v2/service/devicefarm v1.34.0/go.mod h1:3QfEUV+KuDYX+oOpu86CUe1/m9yVBO8Z+72OLmPGsWA= +github.com/aws/aws-sdk-go-v2/service/devopsguru v1.38.0 h1:+yQPtAOwzsA/4eIT1oGcZu30dljvlCNec2pGOPUsw4A= +github.com/aws/aws-sdk-go-v2/service/devopsguru v1.38.0/go.mod h1:yfBgovuMZJiyeD7iv6LNn45JYSLLWoNjALM0OPPf23I= +github.com/aws/aws-sdk-go-v2/service/directconnect v1.35.0 h1:6FJwZjdnKtDCPb5oH0DY2NMIOiMlw/srC7H0P5TZWbE= +github.com/aws/aws-sdk-go-v2/service/directconnect v1.35.0/go.mod h1:nfTthF0vgdEKFt79wWB4mdX8YuLq2slQxG+mv3U+rmA= +github.com/aws/aws-sdk-go-v2/service/directoryservice v1.35.0 h1:raC54NZ3nBlLL8AJgcH4jcI6tM0bPm2gxVk5svtN1hw= +github.com/aws/aws-sdk-go-v2/service/directoryservice v1.35.0/go.mod h1:8ibkf4LivDOjEESETtUUWPVNKBGALuKQ8ApPNNJvQBU= +github.com/aws/aws-sdk-go-v2/service/dlm v1.33.0 h1:akYzmgxmrLRoKJ8USAoiCf8OANELsIkFAx66QFaq/gk= +github.com/aws/aws-sdk-go-v2/service/dlm v1.33.0/go.mod h1:9s516VTcyI6csh0GJxLpd0hGETtdHNVSVyq0R9cli04= +github.com/aws/aws-sdk-go-v2/service/docdb v1.45.0 h1:sFzfpQ9wg2aHBKLP/pphRDFuV2QXFlcWMU+ZVwN1UF8= +github.com/aws/aws-sdk-go-v2/service/docdb v1.45.0/go.mod h1:KHmHW5rJJ7bf8J56Rn2voXfsNTbUXS/TKdGNDurx7EQ= +github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.18.0 h1:afUxq/oBOeeCGxYBAq99U4lhHUL39BNUWnyA10VYtA0= +github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.18.0/go.mod h1:gGqhhqgs7rxjEYwH1T1cKaq3HL0yH6Ap/UvmLVCr2MQ= +github.com/aws/aws-sdk-go-v2/service/drs v1.34.0 h1:Vt2ZQQQEs+OS9bvrnHZiL9TnTXQr1bdZlagdltETc2s= +github.com/aws/aws-sdk-go-v2/service/drs v1.34.0/go.mod h1:E6H0jItb5XS0fk9Mb5OXU6tSoCoGnnWcXT3vaqTEB8o= +github.com/aws/aws-sdk-go-v2/service/dsql v1.9.0 h1:AWC9tLObLqxSeyolw7aug3PxEnU7S9oNqatToa+8XkI= +github.com/aws/aws-sdk-go-v2/service/dsql v1.9.0/go.mod h1:v4koXz6cYLm9p9kT2iYCcLCxxDkX8JFg3UBElyXB80I= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.47.0 h1:A5zeikrrAgz3YtNzhMat4K8hK/CFzOjFKLVk8pI7Cz8= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.47.0/go.mod h1:tMQ/Edfn5xLcBFSVd3JDreJPias8GqBq0dVbCbMz9vs= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.242.0 h1:xgbWik/QFlVCvoUbumUPPZI7+0RXiScb8eHSV06CELU= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.242.0/go.mod h1:EeWmteKqZjaMj45MUmPET1SisFI+HkqWIRQoyjMivcc= +github.com/aws/aws-sdk-go-v2/service/ecr v1.49.0 h1:NgkSYzgM3UhdSrXUKkl49FhbIPpNguZE4EXEGRhDcEU= +github.com/aws/aws-sdk-go-v2/service/ecr v1.49.0/go.mod h1:bi1dAg6vk8KC8nyf6DjQ3dkNJbzTirMSmZHbcRNa2vE= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.36.0 h1:8GcatvIKYx5WkwjwY4H+K7egBHOddC3wwS6fIbpOUlQ= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.36.0/go.mod h1:yz4NeCWotlbHoT41Vc9NofCbKEyiNlKYZFT4SiqVQCY= +github.com/aws/aws-sdk-go-v2/service/ecs v1.63.0 h1:ZeUDPcF93I5pE614AD8Le5a1e+383jjJ8lopM/WVfB8= +github.com/aws/aws-sdk-go-v2/service/ecs v1.63.0/go.mod h1:k5xD9wMxhUgcFU0Q1F1iB3YJkmBmW7+o4rrsBg8yhdc= +github.com/aws/aws-sdk-go-v2/service/efs v1.39.0 h1:nxn7P1nAd7ThB1B0WASAKvjddJQcvLzaOo9iN4tp3ZU= +github.com/aws/aws-sdk-go-v2/service/efs v1.39.0/go.mod h1:8Ij4/TIExqfWWjcyQy82/V/aec2kQruuyndljE+Vuo0= +github.com/aws/aws-sdk-go-v2/service/eks v1.70.0 h1:05FWDmYfXhHbsHxeFQIY73GagpjkcTgVe8VotlO62Fc= +github.com/aws/aws-sdk-go-v2/service/eks v1.70.0/go.mod h1:HKX0JNwYDW543nJozPRB0PS1bo8qAdR74Gava69dNg4= +github.com/aws/aws-sdk-go-v2/service/elasticache v1.49.0 h1:zJY3lR0AdRuigAub2GQkIMz/TP50Ia6R6VruPgWBIxk= +github.com/aws/aws-sdk-go-v2/service/elasticache v1.49.0/go.mod h1:CeEl4WwCPhtncasl9kdhSp1rigeO3HdVJ3hiPu6ZdZI= +github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.32.0 h1:x5N6Wy/2mP1fhS+xWzm+netHTbwMJy8zMFO786yVrHY= +github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.32.0/go.mod h1:L72prIIk4I4TMwyVXRtoOVkwA4PGaOzWHE8dkGSTgPE= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.32.0 h1:FO6LzHczDXByBf8+WJ5cswxaGy1EOjDVXA3NQa97Bh8= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing v1.32.0/go.mod h1:q2K5uszrJv1SBxKYp5M9KUf7XR/Xnu38vSCiQ/wwhfI= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.49.0 h1:2VJj7fSoDawAjQ91u/DtrrUDOGsuMaWxcbe9Ok/O27w= +github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.49.0/go.mod h1:vJgvNz01VmSuXKzoUwQxQCzYklI/f09wXCWoj6TBGJE= +github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.36.0 h1:1F8KThHdWVMySPUAzlFbr4dHZCPxnUh0xWhzroseuIM= +github.com/aws/aws-sdk-go-v2/service/elasticsearchservice v1.36.0/go.mod h1:tUWbqh4G+5bPwtn3noFemaiOphmiW2ZHs9+ETgAP2yw= +github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.31.0 h1:WUWDUubAtepFBqD/wWvejfep4pkFJeAMWqWHtEzKqFs= +github.com/aws/aws-sdk-go-v2/service/elastictranscoder v1.31.0/go.mod h1:tu9W2f8Uc606uWFnnJ31chJhFYzuBhnlAiwlhODst9c= +github.com/aws/aws-sdk-go-v2/service/emr v1.53.0 h1:rgBAS4KMAN6wNHtAuW2bOTyx6FyyXUu56ZajFC5LG6c= +github.com/aws/aws-sdk-go-v2/service/emr v1.53.0/go.mod h1:NEXNTLFLUFSXQ5VVZeVTthpxBR3l7VbjBrlnOAb/WvE= +github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.38.0 h1:N1i7XCvJKHgzndeebYdlNqc9LbOZs0LZIVgsxGuh7GE= +github.com/aws/aws-sdk-go-v2/service/emrcontainers v1.38.0/go.mod h1:IcV4x6tPgVZZiIFaZnv7VwasNR4m53Tlxr4/CNUxD34= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.35.0 h1:q9n5fiDdkpwpxEO5BatJs3j5Z+6hhN1++34kGHXDXqg= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.35.0/go.mod h1:3gM+RYyfJVwLiVmUnsNVWcLgQXDmrH1joddL7SWMgg4= +github.com/aws/aws-sdk-go-v2/service/eventbridge v1.44.0 h1:uV0/UBsNeT3NMmUwfQxxWZCglA1EDcAuXAuUti8u0Mk= +github.com/aws/aws-sdk-go-v2/service/eventbridge v1.44.0/go.mod h1:yX+96FURJgbIEv+9tAhlAayu551vVVZMD+yAro++VFA= +github.com/aws/aws-sdk-go-v2/service/evidently v1.27.0 h1:XWxvVnRKkG/a5r0A6P5oJyfxMsYBOsCAk2RJt3ebSR0= +github.com/aws/aws-sdk-go-v2/service/evidently v1.27.0/go.mod h1:k1YfbZV8p8ab9fjRvlUTjCgWrrvonTEFKCg7P2Idxhw= +github.com/aws/aws-sdk-go-v2/service/evs v1.3.0 h1:3ukR4hfyYEyuZkYQxXY9c7lTL/KEzRsbT6DHqryMTZc= +github.com/aws/aws-sdk-go-v2/service/evs v1.3.0/go.mod h1:7P6+h9cvKgq4qDOe58rsI//rxVXb0nb+bLwEkuLDxiE= +github.com/aws/aws-sdk-go-v2/service/finspace v1.32.0 h1:qt27hk3l7kDo0rUvRk5HfrYiyPiT4t8ne9NDD2U3V9s= +github.com/aws/aws-sdk-go-v2/service/finspace v1.32.0/go.mod h1:EpxiRnvkTpQfwgOxPdFEFGUxOT3heC375s5MFWHDX9c= +github.com/aws/aws-sdk-go-v2/service/firehose v1.40.0 h1:ojhEbQATCj/vrI5046jdKMktHDhTtzYF0Wp1VZelB40= +github.com/aws/aws-sdk-go-v2/service/firehose v1.40.0/go.mod h1:XklPdrzHJNpFs9Wpq6takjsBigK2VxxlpREcLSM8nnQ= +github.com/aws/aws-sdk-go-v2/service/fis v1.36.0 h1:zsDCgJ6lWocX4wArsCQre2A92JzBPKKW+2Mg6SOQVVE= +github.com/aws/aws-sdk-go-v2/service/fis v1.36.0/go.mod h1:OOOhb7pKoJhZKCVzheRRd+aPKv9Ep+zNUPQtfcoxP5M= +github.com/aws/aws-sdk-go-v2/service/fms v1.43.0 h1:tTeH6402fy5Z8JHuUO6aL2yn5WFzWSKF6epxYvIPAMs= +github.com/aws/aws-sdk-go-v2/service/fms v1.43.0/go.mod h1:YtgJpTqlpa7n71B9snaa05vHND7UbQyOHjU4zouPpUM= +github.com/aws/aws-sdk-go-v2/service/fsx v1.58.0 h1:PsSyOQi3cGH9SVAOIKKQzRN30eNP3ZwkMJal4SZBofk= +github.com/aws/aws-sdk-go-v2/service/fsx v1.58.0/go.mod h1:tUva+sOgmPwfMu02pXdg+zKO02Zcu812xG8doKd7ogA= +github.com/aws/aws-sdk-go-v2/service/gamelift v1.45.0 h1:JdlVzc51kIkdne4ilxnHAfKfXyhzkJ3eYrfZwk38j/k= +github.com/aws/aws-sdk-go-v2/service/gamelift v1.45.0/go.mod h1:j6XU2uooS9YUEfpviJM3f/TFtGlBh/yYHUMhO82XT3o= +github.com/aws/aws-sdk-go-v2/service/glacier v1.30.0 h1:GILchKM1cgGoIjYEYh3oV2o4Xy4v745NtPCo5WIhLFk= +github.com/aws/aws-sdk-go-v2/service/glacier v1.30.0/go.mod h1:yqs+luUVTNkd9iVIstDEnJ7j0XReWABgJmTDVIhxBGc= +github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.33.0 h1:iyNvCA8OSZDuSZktR0kPL2wZbuCM4X1g5R0TyMMmVLI= +github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.33.0/go.mod h1:u4X7GrZWh5nMBiGkJPJoNaDZQvjikjCoPTf7rg0vKpc= +github.com/aws/aws-sdk-go-v2/service/glue v1.124.0 h1:g879RjQHSsIDMeAZNLM/x7Iw4BfCShOmU/OPUc0JaPU= +github.com/aws/aws-sdk-go-v2/service/glue v1.124.0/go.mod h1:xDM3DkasatX1hkG/dHQjh5F/vAYL7fsvuas0SgofNc4= +github.com/aws/aws-sdk-go-v2/service/grafana v1.30.0 h1:q8igUjHYqbjskJxA5CT4uxCMEYD9i4uV2MMSd4PMR7I= +github.com/aws/aws-sdk-go-v2/service/grafana v1.30.0/go.mod h1:LYAjxQeHmDeDHajiAQofIQLFzUfioTLXNl79+9olIkU= +github.com/aws/aws-sdk-go-v2/service/greengrass v1.31.0 h1:3cELzkqYTy1EEn5kbr5jXfzVaW3ha+5HTuNe7053VFE= +github.com/aws/aws-sdk-go-v2/service/greengrass v1.31.0/go.mod h1:yHdROXdauuEdWsTTuOZ2MCkw1MC352BJvHbzhvHjOJY= +github.com/aws/aws-sdk-go-v2/service/groundstation v1.36.0 h1:aTtuwsQIMHjO9/FFeRvj5SQ7vbBlmFxHXhySY8TNavY= +github.com/aws/aws-sdk-go-v2/service/groundstation v1.36.0/go.mod h1:4t0gY0t3e/xdxDoCxIUEXZkhg+Mp503K64+cs/JE65A= +github.com/aws/aws-sdk-go-v2/service/guardduty v1.61.0 h1:cueeIOu1h4Htsw8PPdL/7lez7YG072TeBS2kdtvv4L4= +github.com/aws/aws-sdk-go-v2/service/guardduty v1.61.0/go.mod h1:0RpdeWC47aAKjRQhmFkWB7AU7acRQ7t3C3sox93F69Y= +github.com/aws/aws-sdk-go-v2/service/healthlake v1.33.0 h1:oVJU7GYNUPjlJN8kv8E1BI0MrI0Zif57BZvXUAOIWMw= +github.com/aws/aws-sdk-go-v2/service/healthlake v1.33.0/go.mod h1:nRqPmywyo+J7YWO/z4oq+qxn10C6IncV40ALIiQcMxY= +github.com/aws/aws-sdk-go-v2/service/iam v1.46.0 h1:bJgrqPT2vy+OrJpSeVfZ4e4zaD/EVdcq+5yxDtUOql0= +github.com/aws/aws-sdk-go-v2/service/iam v1.46.0/go.mod h1:WsQuuejKHNC3UWs+n4usF+nNy1DFGYgWRugqFf+gGD4= +github.com/aws/aws-sdk-go-v2/service/identitystore v1.31.0 h1:Ho/jmeFRCaRZM0hoTzaOFYbV74nWBefREYVPn75AqRA= +github.com/aws/aws-sdk-go-v2/service/identitystore v1.31.0/go.mod h1:K1K6uXkdxb7GDvUTVfvEkE75fDI2eY5ISyr77St091Y= +github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.45.0 h1:h1DzFDVG7/vPWsQVf8oQdgmWMleJU5gWt4OPZVnxxIU= +github.com/aws/aws-sdk-go-v2/service/imagebuilder v1.45.0/go.mod h1:hHqxHKHoCnne1DZS/GKsjYU8JoQUuWOCEIfFcuDzDLY= +github.com/aws/aws-sdk-go-v2/service/inspector v1.29.0 h1:rqaDVBRPXDmWIVu6RClCQiF2eoBCEjqCjf9YgRiFYH4= +github.com/aws/aws-sdk-go-v2/service/inspector v1.29.0/go.mod h1:9bew1fUtgB9LK1O+JGpkNxUcRO7Sj3O2GxlRd7G+UUU= +github.com/aws/aws-sdk-go-v2/service/inspector2 v1.43.0 h1:pwIs1giy/xJWUCT0dfAK7EHvAdOFohFHJDyOLvOiMfk= +github.com/aws/aws-sdk-go-v2/service/inspector2 v1.43.0/go.mod h1:yHwqyTje7gDZtLivPaXrk8fLAvT6LaM/XR1Fxxaf/hg= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 h1:6+lZi2JeGKtCraAj1rpoZfKqnQ9SptseRZioejfUOLM= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0/go.mod h1:eb3gfbVIxIoGgJsi9pGne19dhCBpK6opTYpQqAmdy44= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.2 h1:blV3dY6WbxIVOFggfYIo2E1Q2lZoy5imS7nKgu5m6Tc= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.2/go.mod h1:cBWNeLBjHJRSmXAxdS7mwiMUEgx6zup4wQ9J+/PcsRQ= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.2 h1:pOnBcmmHWBDbxawnpomSKFbDe8yn+t0OznR+Vo9Tj/Q= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.2/go.mod h1:iseakOEtbeRjQkEtKZQ149M/fLJIaMlF0lS0X3/gXdg= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2 h1:oxmDEO14NBZJbK/M8y3brhMFEIGN4j8a6Aq8eY0sqlo= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2/go.mod h1:4hH+8QCrk1uRWDPsVfsNDUup3taAjO8Dnx63au7smAU= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.2 h1:0hBNFAPwecERLzkhhBY+lQKUMpXSKVv4Sxovikrioms= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.2/go.mod h1:Vcnh4KyR4imrrjGN7A2kP2v9y6EPudqoPKXtnmBliPU= -github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.23.0 h1:/44qK3M/wwUHIh6fw8Z/pm362EqpfD+fZAGYfhWi0sM= -github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.23.0/go.mod h1:p3ntR2Ri7KsPgyP3KwxAULDZS2uvcyflGlCG7P12GPM= -github.com/aws/aws-sdk-go-v2/service/invoicing v1.5.0 h1:EkI/erJ76tuIC3jWDlbewNKTPNY6xfgUA7XNWv6N+js= -github.com/aws/aws-sdk-go-v2/service/invoicing v1.5.0/go.mod h1:ETBlZYI8+Z9TZrkgUaNwsPlszeWXKAKsMx3rf+o0uS8= -github.com/aws/aws-sdk-go-v2/service/iot v1.67.0 h1:0L3aLkPF/jPeNj72Ngq3IEUajjG/4NHImu3Cgp2ZxhI= -github.com/aws/aws-sdk-go-v2/service/iot v1.67.0/go.mod h1:BZC1OnoCZY2CrgV+eaIEA+4M9i7DSugWwEFiUavIZMI= -github.com/aws/aws-sdk-go-v2/service/ivs v1.45.0 h1:tbr4jDMvdK5cyF++EOKsBWzsHfNOOhWdRje/pt8yEck= -github.com/aws/aws-sdk-go-v2/service/ivs v1.45.0/go.mod h1:gVMCa/YIGkrmmXyQKFNMlJkhW+PKv7+divKAAgORJcg= -github.com/aws/aws-sdk-go-v2/service/ivschat v1.19.0 h1:SMsudfw7qNlaCzbU1j7K62MVLYkGHiRob0lSDEw5H8U= -github.com/aws/aws-sdk-go-v2/service/ivschat v1.19.0/go.mod h1:LwHzV162D41DHQuctLDHDl5+yME86LaxCyOt/e7dLUc= -github.com/aws/aws-sdk-go-v2/service/kafka v1.41.0 h1:Qvi3PzV7Rs8rZ98XghcC+UcrwOU4wiqOlyrtUdRzO8M= -github.com/aws/aws-sdk-go-v2/service/kafka v1.41.0/go.mod h1:8lU0PKySh1exBCLxYH7jj9vhsKdekf8OEgDh8WfoX2o= -github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.25.0 h1:8r0YE7x3VNiq1Jp0iywp/NhhsLEZOK/BKmPaOe0wOgQ= -github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.25.0/go.mod h1:HymqyW16ZuSQ+QeJwj//SMXR6stp/nebPEK3B+gMDHg= -github.com/aws/aws-sdk-go-v2/service/kendra v1.58.0 h1:LODkytjlgmORWiXBgIa10NhaCYDqnN42a8Jx++E4RCs= -github.com/aws/aws-sdk-go-v2/service/kendra v1.58.0/go.mod h1:paLQu0/ibDpSNSVWXCXOVE9MsqVfjd7fQwU1q9aiPVk= -github.com/aws/aws-sdk-go-v2/service/keyspaces v1.21.0 h1:PTWPRc0gTpz0394LRIANHEQMnQzzX18jVTOWUDSyP0Q= -github.com/aws/aws-sdk-go-v2/service/keyspaces v1.21.0/go.mod h1:byOVm/xWXux+M1sFM4UlnGiAe3ExDdNmQ+NbbBGYe3c= -github.com/aws/aws-sdk-go-v2/service/kinesis v1.37.0 h1:EcSM2x6s3zTIgauRgrgf5f7Q9/+LP/fdepNlBTUv1UA= -github.com/aws/aws-sdk-go-v2/service/kinesis v1.37.0/go.mod h1:ESOdPjy8Bu1IG/ipcWcGbvEkEH0DlP8Mp4MldKQ8JPI= -github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.28.0 h1:lVTz3x7HJBenVv4K+HlMzPFL9IZLa7bMH9qlqryiUXE= -github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.28.0/go.mod h1:KR9sZNn5H2ql1SSrLjouaqoOz1vPq2c6aX//TCcSriI= -github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.34.0 h1:BtQ7j7Y//2/recBi925s0LFAKlWpl5BG4C3uaZ322cI= -github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.34.0/go.mod h1:0AaL8NjpCLrYqdUr/kCI8u3rRMKQEshCIlM6SUrOYOE= -github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0 h1:tv3RAtA6Sy920l3QRvhjnve0hrBG3tDrpOyjVD6fz9s= -github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.30.0/go.mod h1:RogDtUwHccKseh8E8wGF7THiQFb+IIS170v/d4zBfJ8= -github.com/aws/aws-sdk-go-v2/service/kms v1.43.0 h1:mdbWU38ipmDapPcsD6F7ObjjxMLrWUK0jI2NcC7zAcI= -github.com/aws/aws-sdk-go-v2/service/kms v1.43.0/go.mod h1:6FWXdzVbnG8ExnBQLHGIo/ilb1K7Ek1u6dcllumBe1s= -github.com/aws/aws-sdk-go-v2/service/lakeformation v1.43.0 h1:4ZTxobrzObRa8hMvD5UNYlJ+kbUSdgYTLX4qshn48jI= -github.com/aws/aws-sdk-go-v2/service/lakeformation v1.43.0/go.mod h1:9ecAY8txZxHPO7IhrQCI0rpj4Dw+vbLOv1Rinr46OgU= -github.com/aws/aws-sdk-go-v2/service/lambda v1.75.0 h1:8hoKtn/EgZ0bA2dQ/meHFNsalY5fuA7M3QDqnrVxPLA= -github.com/aws/aws-sdk-go-v2/service/lambda v1.75.0/go.mod h1:YDWB9+Y6hLDGdI+S1TQIs8Fq3pu5ZF+7l2ZwF7dzhjg= -github.com/aws/aws-sdk-go-v2/service/launchwizard v1.11.0 h1:c2kqypd7Juq0l6Q9ozqTiffCxJRVZILGFmJvx1AM6us= -github.com/aws/aws-sdk-go-v2/service/launchwizard v1.11.0/go.mod h1:DcOHLG85sWbjxgWPosBUFjyZlXU1/UmZoqwx6U3ve1Y= -github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0 h1:DryMhIIU/p/fxOHl0TonOAeAEEn2loHAeWjpgkYwsx4= -github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.31.0/go.mod h1:/rstK38nPVP5Nl1QHVVZukDHfHGhU312byZZhRrpbO8= -github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0 h1:KuBBxr7w0WOh6/hhYcqnKQx7A/J7a/tuvH11VGkVTv0= -github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.54.0/go.mod h1:vAb5Jggb9ASoapJtOJU9CHd+11OBZWa7OHQPfgTwTFE= -github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.1 h1:lsYEh1q//eTBv9VUWbLlhEZrQ79+TYWRI+8Eyl04imE= -github.com/aws/aws-sdk-go-v2/service/licensemanager v1.34.1/go.mod h1:5rXpi6YHnL1oERjl0cFvH0ijwGfZqbKQBdpHc9Kdq6g= -github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0 h1:nQX2q3dUdqwyxNPEjAw5WgH0F0HuHlVS8iq7TW3xHi8= -github.com/aws/aws-sdk-go-v2/service/lightsail v1.46.0/go.mod h1:c0o7fqQS36cwXMizMSqpG4job2HsU1b8Wb2QoYSWyu0= -github.com/aws/aws-sdk-go-v2/service/location v1.47.0 h1:oo7GB7Mtr+OkyA9E2CvdwLW98QEMbM0CVAay0NceOUc= -github.com/aws/aws-sdk-go-v2/service/location v1.47.0/go.mod h1:hRYGyCf4DRFqL1cuNV2+QLi6FNsUIbuYFh673ajAaSA= -github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.34.0 h1:AeDQIQ96Ojw+Q5RYjRV0wUDut2GPfFrRZx3LSUkK/9k= -github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.34.0/go.mod h1:38He4+8qkSA4lPgtYstoMRMtBXQooHszWnrwZZIgB9E= -github.com/aws/aws-sdk-go-v2/service/m2 v1.23.0 h1:I5DRi/03gmvdTLlwoAILcZCWcoqaDljk75q7Fs+6F68= -github.com/aws/aws-sdk-go-v2/service/m2 v1.23.0/go.mod h1:HlXF381spH689iWpO3aUPsneI4ogQ9vEpc+7MW9qmTw= -github.com/aws/aws-sdk-go-v2/service/macie2 v1.47.0 h1:463pft8QLCiwYmOrKNO8xNnB5AH5yhQXfOOT6jqOy64= -github.com/aws/aws-sdk-go-v2/service/macie2 v1.47.0/go.mod h1:VNSXUIl8dkUtHG2XwMAK5DoxFgDK7+yo49qtmVYKC+k= -github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.42.0 h1:myMe1lFa6K1NgC1E60kB68mTZmSwFc3w5ofz1DzDBtI= -github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.42.0/go.mod h1:7dKRBvWiHdQmUZ66ZgiJuCVF9zyU/+9q9oC2j2zPunw= -github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.79.0 h1:YQEf1gKL1qAJFos4jrByaoe2KiAJs/6TiZIccOlKlyI= -github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.79.0/go.mod h1:WvDW+pJT3sadqMWbBF2eCJExryZPCAQE0M18kazuwCI= -github.com/aws/aws-sdk-go-v2/service/medialive v1.78.0 h1:oHnfXdnD+X8MTihLSzNPJ+wiVXYWUS+1+UnZVHsCUJ4= -github.com/aws/aws-sdk-go-v2/service/medialive v1.78.0/go.mod h1:GDIXX4xAoByJpI6ms6csOCCMjuZQxGbvMdbIkrpvty4= -github.com/aws/aws-sdk-go-v2/service/mediapackage v1.37.0 h1:hRHvIJ6LsYOOlO8VbrdG3BkotOXKAXFfApbuCQ+WbtE= -github.com/aws/aws-sdk-go-v2/service/mediapackage v1.37.0/go.mod h1:mdts8QkX+u23oMp0ZjlMzG4lP6u16B3BPb8SpX/oIP8= -github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.28.0 h1:advvzK2BMNQSWweRS88MHftRRTbAP1XhjoP0lp/P4BE= -github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.28.0/go.mod h1:51YIgiiLBi2XdQkO/iIOoNQhW5GBVKcefQ7K6N3EKHU= -github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.37.0 h1:7PKUjYcop2QCd/2u+209jx0x559L+LP2jd2ZErvobuw= -github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.37.0/go.mod h1:8qat4Jx8YtTiys0U6ByUnbP+FaXJuDab1xNNCb4Crp0= -github.com/aws/aws-sdk-go-v2/service/mediastore v1.27.0 h1:7K52IQd61BqDtuOS20/BgJSnjstuVRFmmEpjYmq1pAs= -github.com/aws/aws-sdk-go-v2/service/mediastore v1.27.0/go.mod h1:J9u5c8XP0bjouR1/nx9SDO6Dw0p2n5lUvumttLXaWpw= -github.com/aws/aws-sdk-go-v2/service/memorydb v1.29.0 h1:/nFectiONsdEdi5uRGqV2GvaekykxE/SXXKDysyb1HY= -github.com/aws/aws-sdk-go-v2/service/memorydb v1.29.0/go.mod h1:6w41UB9aJQhcsYOSQB3L1+ISGNZMrzX5Dvs9Dva/Mq8= -github.com/aws/aws-sdk-go-v2/service/mgn v1.35.0 h1:y7CunlI986quanuSNZYVqt5Ig2xL8ImFoe/RZBdeNUE= -github.com/aws/aws-sdk-go-v2/service/mgn v1.35.0/go.mod h1:E82DkPWlL9jQG839fM8JUw0mz8OAh/pJF2WrlQg5qg8= -github.com/aws/aws-sdk-go-v2/service/mq v1.31.0 h1:6Y9BsayI3em0Dcrac8VOODM66gDf6sqhMJReYNXWrGw= -github.com/aws/aws-sdk-go-v2/service/mq v1.31.0/go.mod h1:H19HQQ5aulO4iFeBQcE14Zo9EC0w3oToCdKMQLeYC3k= -github.com/aws/aws-sdk-go-v2/service/mwaa v1.37.0 h1:bGdw3+sTFFqd/VhHeb20i5ko7vfEoDiISobiLNc+MHY= -github.com/aws/aws-sdk-go-v2/service/mwaa v1.37.0/go.mod h1:GCKSqs00/Uhtx3JKsDhPWfQzstY73K0/O8AiQV8yZo4= -github.com/aws/aws-sdk-go-v2/service/neptune v1.39.0 h1:0iRrarRL6MheR0/VctAAubu2GPUPKHCFxtuNmS4Nf8o= -github.com/aws/aws-sdk-go-v2/service/neptune v1.39.0/go.mod h1:XT+KZcW1UpUpT1Tp+11BsMh7ypQONYJ9SXg1REJlxjw= -github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0 h1:3G+4uyOmh4qWkMVZoRt0ELDtlfpObFk13SrsD35cAsk= -github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.19.0/go.mod h1:kkG79+f09Fmee5bohISd+JaieXQRXlfixZLcOikkxXg= -github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0 h1:FHl1QPk+MTUjcbGtnNfcVnq5bPkP71Tbzt++qQ/dCnY= -github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.53.0/go.mod h1:EiHBjTVCeOUX045RTpHUuqrtexp4OtSbMLj+nXiaaHw= -github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.1 h1:/hWh9bCgGoSu/9gCbmFGmt/0NJteLCA2fiLFdzWbE1g= -github.com/aws/aws-sdk-go-v2/service/networkmanager v1.37.1/go.mod h1:DRGdwN5NLYVlzoGdtiL5MdMqU0BdFjdWoWhNzwKVm7Y= -github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0 h1:dM23haMPsRX6r06zzY7rKskzOnmcAf4u3gQe4/vKM5c= -github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.10.0/go.mod h1:Lh8S1WeO7D8Ns0h1idoyviPIKqgAQcFzZo3VvQ+AgI8= -github.com/aws/aws-sdk-go-v2/service/notifications v1.5.0 h1:YifmABeygW8RKZ5NRJlbRXsxWjYrAg7Nxm11htFZqks= -github.com/aws/aws-sdk-go-v2/service/notifications v1.5.0/go.mod h1:W2ABt0ansVFxchQAfWPN15TpYJ8j57V2l85IWCVLwYc= -github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.4.0 h1:5b6bDRKAl7lbowvywEqqxdeON4RzWOP3e93l9V5nTy0= -github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.4.0/go.mod h1:Z6RSoe6VNgsneyA8k2BHoCtPo4Hg6XUyQtxsSFCd7pc= -github.com/aws/aws-sdk-go-v2/service/oam v1.20.0 h1:AGZUcqcsU1QR4xi4A4foyeHY5XtmjQQd5+bIDoP3keQ= -github.com/aws/aws-sdk-go-v2/service/oam v1.20.0/go.mod h1:3D54bBPVQYqvjyX9mC5kGoPyW2vUvpmJoNzlTriumJQ= -github.com/aws/aws-sdk-go-v2/service/odb v1.2.0 h1:8EO3R+giEm/zs9KfQ4eBqa4W17bcpGvG7LEBjMjpdVQ= -github.com/aws/aws-sdk-go-v2/service/odb v1.2.0/go.mod h1:hBGfe5c+UNIxT5X1e7DG9ychYOeYoeGEsyEhHXybRjw= -github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0 h1:vWVR6vfZxY0i3IeTP0RSCDuXo+7wDoLpmyAAHMcgnFI= -github.com/aws/aws-sdk-go-v2/service/opensearch v1.50.0/go.mod h1:WO1sqmUu2AMSgpI07AqrL/9kdFTpVl+6BUy69gdQdWE= -github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.23.0 h1:6y1oe0p2NPluatYzSWFZ+ZZtlDic75Y71xWPyk99LAk= -github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.23.0/go.mod h1:HVCHnRUafo3sI/BIycRiTB1QMO/IfsbiMmE2STsW7kM= -github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0 h1:lsi8q6BbwvvmTZ2Oz839olZoSbBaupAJEppyOnsBTYQ= -github.com/aws/aws-sdk-go-v2/service/organizations v1.41.0/go.mod h1:FG8JIT+tCSCQGK04ac7mXLnP0FZUr3tLqoiiRIKRbiQ= -github.com/aws/aws-sdk-go-v2/service/osis v1.17.0 h1:nVl7YEWp58Yvr+xIhmB0Uv6gG819eYFIVrW7sSEXXag= -github.com/aws/aws-sdk-go-v2/service/osis v1.17.0/go.mod h1:XC+s07X9mHnIkFCbyUetdnnsXq5JAk3euhAkPQLP8No= -github.com/aws/aws-sdk-go-v2/service/outposts v1.54.0 h1:8ZaAYen5L9x5f39dUL0VTZqZxhPvSSgqVeAiJBxIhyI= -github.com/aws/aws-sdk-go-v2/service/outposts v1.54.0/go.mod h1:vY1UGGY5/OVqeJarn/SdEBpt1iG5bZwDSd9ZyKHpdkA= -github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.21.0 h1:SXwcY2aJHH94ml1IDB3nI5OEP354jRrE7l291J31Ysk= -github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.21.0/go.mod h1:t9pbgPWLNsys/dSf1FX/0dOFRzYZIM3kBpUpHhXPc3M= -github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.13.0 h1:Q1t6E3yautudrcIpwakAoKv26PAJyW6Ig/cIUQDDHNw= -github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.13.0/go.mod h1:SsEJc0U74aARkZh0N6LWwCMQ09fKS5an4zCA5vnWMAY= -github.com/aws/aws-sdk-go-v2/service/pcs v1.9.0 h1:p4b4SNco5g62xo/5MvMpDOflVRPW71QvNs2sr/fCNlM= -github.com/aws/aws-sdk-go-v2/service/pcs v1.9.0/go.mod h1:JDqZ9JPioPhoEHMzvqs7N6/YPP+lj3HfS5r3obaMP+Q= -github.com/aws/aws-sdk-go-v2/service/pinpoint v1.37.0 h1:iblCKYZgkaT8MOFkXE45PP2vpkt/owgF/NKDuFW5QSk= -github.com/aws/aws-sdk-go-v2/service/pinpoint v1.37.0/go.mod h1:vvYqVkfExLWmdIuCBSVVnyRpOtoNArWFeLAtdACABJU= -github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.22.0 h1:yzCebSsGUtm2b0ydoCV/P4pPgyPnGrZbREr4SqbMYI4= -github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.22.0/go.mod h1:kun/un0OGKu3X40RldUHcOVAZ1esJh+UQ2Ygfscvxfs= -github.com/aws/aws-sdk-go-v2/service/pipes v1.21.0 h1:5G5fh9qKLjEo28aBdSm8kXdHhILG8n4XmZINTJoz2UM= -github.com/aws/aws-sdk-go-v2/service/pipes v1.21.0/go.mod h1:x9qPwjCG2xU8z6NPhOof1lKCtftMLRI33kW+F4V41eA= -github.com/aws/aws-sdk-go-v2/service/polly v1.50.0 h1:/Ko6i/+k+0uCk4r+QWxNos2Ud5rdYfhhOa7H91YGP9c= -github.com/aws/aws-sdk-go-v2/service/polly v1.50.0/go.mod h1:M1YMwzU5ZvAvHSGYP0tehS+ZyugVNN/iOVs8qtkBDZc= -github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0 h1:zpM/q6rXnv8qt4DCnMmGY9sDQgzi8TDsIK6Px2pEYss= -github.com/aws/aws-sdk-go-v2/service/pricing v1.37.0/go.mod h1:i1FZ0Fod5/f8GgwlEJYKrniHDzKY+CTpKGZbkNNUv8s= -github.com/aws/aws-sdk-go-v2/service/qbusiness v1.31.0 h1:Htjnv26PAKw1GZ5DV3hMzKwtIjibF+zkguuO8318YI8= -github.com/aws/aws-sdk-go-v2/service/qbusiness v1.31.0/go.mod h1:QE7cNn5zN0YDL/6KkqzX19kbBRQhK02OwfFZeCL55n4= -github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0 h1:dDMYSGq/6QkySf70y+o7uFTI2jXrfGUVBJpip1n27XI= -github.com/aws/aws-sdk-go-v2/service/qldb v1.28.0/go.mod h1:cMl4sBdwqdM8xQal4Sm1IiA9gIgFO9ZhvxL0qd6TH24= -github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0 h1:UmX69w9sT2swoojDQY9VlUObHjUh27PyFUCK98b8RcY= -github.com/aws/aws-sdk-go-v2/service/quicksight v1.91.0/go.mod h1:giBYbL9xfVEcGSMmvnynNB8Em78y8UKpnrgUZ1ulV/U= -github.com/aws/aws-sdk-go-v2/service/ram v1.32.0 h1:G+68C4zK76iUFgJhkipUKRWh2HLLtRnDTZapiOfJdhA= -github.com/aws/aws-sdk-go-v2/service/ram v1.32.0/go.mod h1:nw5Xtgpjw7qpk2pLnnUFfM1OJR4mbgGyM/mW5Tq3uvM= -github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0 h1:lCSjmiJBPQ+YQpVv7HDuSQxzdMaOF6VHIpEAo6JuCgE= -github.com/aws/aws-sdk-go-v2/service/rbin v1.24.0/go.mod h1:qvr0xsDkBeaCaYZb0sWWItYyapmRxaJkOJ3H9c0nRu4= -github.com/aws/aws-sdk-go-v2/service/rds v1.102.0 h1:+gr+tHHyjEcDh6ow7FO8wSnyHIX6HjoMUS0FYmk1U3g= -github.com/aws/aws-sdk-go-v2/service/rds v1.102.0/go.mod h1:BSg3GYV7zYSk/vUsT77SlTZcYz7JmBprKslzqSuC9Nw= -github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0 h1:UzGm4pOaR1MQE8kQ0HzuzrIKZvjxfYWmHAhjmkFWrKY= -github.com/aws/aws-sdk-go-v2/service/redshift v1.56.0/go.mod h1:gPTBFJ7XZEk2thUl1+MS6/kEd0jLuJBIzLz5xuveRvY= -github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0 h1:2uGuWyvd7uCOEcEMN+SWkJsXlXOPrzfBtElITMnVAp4= -github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.35.0/go.mod h1:6Xy8SN1liN5+zoTMZ1C2UpeUdJURWSqr9u8wkOtSpdE= -github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.29.0 h1:U6WGIeSwoC0xrSi710RscXbEzLjEXpVWzVV4SsrZyRA= -github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.29.0/go.mod h1:HcZb7L9GmTq1C7RKGBb14VRSTPjnnP9aFJ0xL3KQPco= -github.com/aws/aws-sdk-go-v2/service/rekognition v1.49.0 h1:yJ4TZzihb5umIh54Zryxeh/LGAtNu3zs/V4J90sQR0o= -github.com/aws/aws-sdk-go-v2/service/rekognition v1.49.0/go.mod h1:2KdIwOeztIPoWhKxA3Jnn1PYzDB45NOYUWkSKfFsHIo= -github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.32.0 h1:W5cFv1nnrXWQIIcP9g0znL9GYrOs2OVxNvWIE+pJjqw= -github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.32.0/go.mod h1:Ya5/VbHcg63rRJ10MXtqA5i42LeOuP6edwuhISe6RNM= -github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.19.0 h1:3VIjZDJSYXEnVuWIRq0oXHISbO+tpya0qIHPPzpp2+A= -github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.19.0/go.mod h1:bf6/IS5mQoUM4XVKcEaNCF3ghEuOyan7agPlzSheMk4= -github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.31.0 h1:L9r0qWc6316M37Pb4ce2qAtxAXb2ZJHUIRfqS0yP9eY= -github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.31.0/go.mod h1:7xr8mm8k3g6gDnYYn3MtEtmSg84Ki/3+exNQe3aLx8Y= -github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0 h1:UtG7I7N+hYu6X4Yjz8XC7tgRCss5PiEgCW3KXMxz2R4= -github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.28.0/go.mod h1:HEr473Fg94eiVW0HnobYqlkfz5dxw771ZseM6DWJAwg= -github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.19.0 h1:gDWKqmGdCXpmgQivZtYRH3rBWrZdWytswr4eCQdKCF8= -github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.19.0/go.mod h1:F6Tg7adKZCu0E2B8Ti4+x3M6HS+Qlgl0C57KbDCgtJw= -github.com/aws/aws-sdk-go-v2/service/route53 v1.55.0 h1:uWgREKbrY/+EYuU9u4llSkbsIKLSEPriOSHmLCK3GAY= -github.com/aws/aws-sdk-go-v2/service/route53 v1.55.0/go.mod h1:6G0V3ndXAxeBFSDbUEZ3VTZgmL/9yoIuWM3s3AAV97E= -github.com/aws/aws-sdk-go-v2/service/route53domains v1.31.0 h1:1FNauE0fGAumFzEpmH+nx3OfvgnfUapdpBq9eCk/7II= -github.com/aws/aws-sdk-go-v2/service/route53domains v1.31.0/go.mod h1:s9AUhIpEw80em5ERrkUzrvQuDjSP9fKd9/+vi5jCr6w= -github.com/aws/aws-sdk-go-v2/service/route53profiles v1.7.0 h1:JhCFwPOmFja1kndJHeF2wPxGdvft9hqk9rmI+3VYBGg= -github.com/aws/aws-sdk-go-v2/service/route53profiles v1.7.0/go.mod h1:ZfLB7g4WQPzBcK37APvwX7u0cIz1dKL01MnxRTTkfQo= -github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.29.0 h1:BSC4rRnApDd4lH2U5dggYS81lyF9v5yG5atDYQlUG4o= -github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.29.0/go.mod h1:2rt7/1yfNqxIc1+IiwdM2xIA01+FeH+hkkIc6Ui6KYg= -github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.24.0 h1:he+LHA/6HCUuFxdM0lUdr+OOTefeEq1G2w/e6yRraQs= -github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.24.0/go.mod h1:LdJD7I50vTaWfAdn1FBydN6r8XpkF6humwUN25hAV+4= -github.com/aws/aws-sdk-go-v2/service/route53resolver v1.38.0 h1:HRDZKs73kNRsb+5MhAz4+ONvPgiXVmgTfsj4/PoJIWs= -github.com/aws/aws-sdk-go-v2/service/route53resolver v1.38.0/go.mod h1:b9+yk2umEzWK2xzbsBZDrAeG63ia8B1ess7IyZG+mX4= -github.com/aws/aws-sdk-go-v2/service/rum v1.26.0 h1:ZqNEWtitFjwaKGPqtPSK8cq0LaTUGKOBbvT/2+n7Zg4= -github.com/aws/aws-sdk-go-v2/service/rum v1.26.0/go.mod h1:PLpZddWg0SWhlNl442cRfa5zeWV7NCECrE/naqMhzl8= -github.com/aws/aws-sdk-go-v2/service/s3 v1.86.0 h1:utPhv4ECQzJIUbtx7vMN4A8uZxlQ5tSt1H1toPI41h8= -github.com/aws/aws-sdk-go-v2/service/s3 v1.86.0/go.mod h1:1/eZYtTWazDgVl96LmGdGktHFi7prAcGCrJ9JGvBITU= -github.com/aws/aws-sdk-go-v2/service/s3control v1.63.0 h1:Ke1mqUlAVTdAsd8MUOotJiYkmOIYPHsgsEvGw6GUUkE= -github.com/aws/aws-sdk-go-v2/service/s3control v1.63.0/go.mod h1:UjBvYLSsE98Zow7RHk2mfbw9QVlX5WNIqDPo1hxrjdY= -github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0 h1:M5nUP3UBHZEjw0QS1JfqQupAvUgjDyoHBzk+y0cFIJs= -github.com/aws/aws-sdk-go-v2/service/s3outposts v1.31.0/go.mod h1:jdBR10G+Lp9mVcEZkbFPVJdSAEq+HJVnQLOIkRylRt8= -github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0 h1:lLiy94CE3tRVKCFM6nsa0ERMBhDBC9EDC6Bx1shhack= -github.com/aws/aws-sdk-go-v2/service/s3tables v1.8.0/go.mod h1:4W2CAy/TSu6SJ8DlBv5LSz7x58DPN8aiRdlhjvg8WEA= -github.com/aws/aws-sdk-go-v2/service/s3vectors v1.3.0 h1:Edx+W8Px8zDrFnoyxwdOjFUzHPzuxy0IXxIV+T/Z3bI= -github.com/aws/aws-sdk-go-v2/service/s3vectors v1.3.0/go.mod h1:ionbPTnYOWe9G7OQi/yGz0fDefoTUiAWs2tFAxCQiss= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.206.0 h1:TW3sZpiVEqvSksoVXoniO+4hmJ97E+40pazr3m5EMv8= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.206.0/go.mod h1:QAk+j4WZ3VtD9yJDKqF/sVq0fQCcjjQ5gZLVvoVGmWA= -github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0 h1:peHVUtoH7i9QzmkCMyky/a+b2ysCMJ/M+KOtCVmkg7M= -github.com/aws/aws-sdk-go-v2/service/scheduler v1.15.0/go.mod h1:cQvpps9Xy75b4TIzRYRMnSYaUneTlECRD6p0Vn9hLew= -github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0 h1:gpBCY2ekUMIFVyczrg5RZlhfCSfPvq33oo+vAKuz5TI= -github.com/aws/aws-sdk-go-v2/service/schemas v1.31.0/go.mod h1:rkj4nPmey5KTmwApEwZ4zMBBCQMKam+ATjLvNLz3flQ= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.37.0 h1:fC0s79wxfsbz/4WCvosbHLk2mb9ICjPyB+lWs6a0TGM= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.37.0/go.mod h1:6HxvKCop1trgfFlQGQmlq+WbMM5yPazMN9ClWFWGtDM= -github.com/aws/aws-sdk-go-v2/service/securityhub v1.61.0 h1:aCI2GYfTx4TzzPf2WEzsCqvXee1BRqtgzOcNFf2dFmk= -github.com/aws/aws-sdk-go-v2/service/securityhub v1.61.0/go.mod h1:32eH94E8iekHQ/YdEyJw50SNUiStOjMOZ7l8cEw4pLY= -github.com/aws/aws-sdk-go-v2/service/securitylake v1.22.0 h1:gDD/r2shxWIUj+ewgBoKcESeME6uaTEZWrfp1eyq9Dg= -github.com/aws/aws-sdk-go-v2/service/securitylake v1.22.0/go.mod h1:8jHxtowB6qC1v2gsi4B7aWVynHuDTGvDGQdzftRZ+zA= -github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.27.0 h1:1r06l2UbLJGUOP1LeQ2ulXm2PtS18joFm9dasYo5NXY= -github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.27.0/go.mod h1:NUStYN0KZE1VG4UVvp7XjZZe1F57Wwyoecq1paMLoiQ= -github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.36.0 h1:zlCZr/65ADvLfmONcKzrbXoVnayipGvR1HyLzAenutA= -github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.36.0/go.mod h1:7KZX4tCstBrE2P1+VMJLpHOBm+QWOfEh40kcmuYmv4o= -github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.33.0 h1:O4l2ptRmGbSau3W9r71yazynDiCyLcdoegwbKJNzS68= -github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.33.0/go.mod h1:Aet4t+BW0xV1hm0lLvWoS+LF++1ahOZn7qdZsNE8tjI= -github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.37.0 h1:ANrVQ718sD62ltN18eVQq5bIwEzQuPKXmd/H4eMSfPk= -github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.37.0/go.mod h1:0Y5X94ePWp4I/S4/BQ8fqdJni6Ymbnnh0Gyc4lpyY5U= -github.com/aws/aws-sdk-go-v2/service/servicequotas v1.30.0 h1:DkMHQQ1yfoPT57erFe/SJXCZ5Weo5T0/AROuA6hg4VQ= -github.com/aws/aws-sdk-go-v2/service/servicequotas v1.30.0/go.mod h1:r9XW7P7bOhnjMycQWPVeIEPvmzmW8RqzW65vp4z+IjY= -github.com/aws/aws-sdk-go-v2/service/ses v1.32.0 h1:hsvll+Vlk63Wh38r5pWcZTGmA8oYAULQISXguLFc0IA= -github.com/aws/aws-sdk-go-v2/service/ses v1.32.0/go.mod h1:w6GEPvRXyzj34dGpgbo5MrRUEFTRoXEVNEvg56TpKhE= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.50.0 h1:ahFtnukBJ2pZmZ2lAHXozc0bH/Xid7ceScQXYM4nU6w= -github.com/aws/aws-sdk-go-v2/service/sesv2 v1.50.0/go.mod h1:BXVAeBjFCdDa+ah9DiaKj16DFXDPkFOYdUagssUsptI= -github.com/aws/aws-sdk-go-v2/service/sfn v1.37.0 h1:nmo7k4bHzYxK/iH/hdnYAWJ/tfV+ySV3rk029jVgP+c= -github.com/aws/aws-sdk-go-v2/service/sfn v1.37.0/go.mod h1:+yaDYK9QNsfC2Kp6UpboOqUVp3giQ7GTVBsWoNqtPHY= -github.com/aws/aws-sdk-go-v2/service/shield v1.32.0 h1:uekAZy4/sGCQxX+BxWsjMxmKWfavsQyc04NYb6JlIPM= -github.com/aws/aws-sdk-go-v2/service/shield v1.32.0/go.mod h1:uFSdevNXa2hQFSbvHTrd0/+N4llyjbegPt7T4ij5nIs= -github.com/aws/aws-sdk-go-v2/service/signer v1.29.0 h1:sF/j2NltXGKx6Tewc7RUwL7fQKxTgXib83qQI/rx5N0= -github.com/aws/aws-sdk-go-v2/service/signer v1.29.0/go.mod h1:kiL4+PJKl6UCNmJORt8IS/k/ydl31sI4WQJnqJQfQi8= -github.com/aws/aws-sdk-go-v2/service/sns v1.36.0 h1:Jal42fPojaJRvXps8yN7ZGyIJRAbgE8jBqxMIv10hEg= -github.com/aws/aws-sdk-go-v2/service/sns v1.36.0/go.mod h1:SyCtWzjWA5aLNfchfyuWTtwO0AXRg9rPwfCkOB7fUPA= -github.com/aws/aws-sdk-go-v2/service/sqs v1.40.0 h1:sgc/AOL84B6Uc+GYAY8oab8cg0m97JegJ+uVil3yiys= -github.com/aws/aws-sdk-go-v2/service/sqs v1.40.0/go.mod h1:ll5FUISR9gMMKlo+vgSFVkLCqFBnzHZDJ8IwlRQy0kU= -github.com/aws/aws-sdk-go-v2/service/ssm v1.62.0 h1:o/2RGV3LouWdbEFpODWRQTw1VSSNOJ8Bh2StX8BpcFs= -github.com/aws/aws-sdk-go-v2/service/ssm v1.62.0/go.mod h1:Q42zmnvaj33ibL1cPu7N2hvQx6D19Rf94ScnppcQIlU= -github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.29.0 h1:Ognxd7DYQTLnq6HzzMBEPfZUbCLfPK/fijUxI0c7oqY= -github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.29.0/go.mod h1:br4H1KoSMGLTG4PUzzhmp+7CnPqu4XFp1x+WhCsSsV4= -github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.37.0 h1:2I7MLpAwSuZvMQZ7scGuHn0wRqeFYSxFQVn11g8CBUA= -github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.37.0/go.mod h1:ykpAISEQaGRKPKn9HS/VwH89LQh1zu0qjZY+AMgyQCA= -github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.6.0 h1:ivkaBapgjmE9Put5MJ3Yg7zYw+Fud/ZyLMfmSBgCJTs= -github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.6.0/go.mod h1:HAdCTJPmPNeZD6mAmPDcU9eK1yVP88JVu0kwp6HmJR0= -github.com/aws/aws-sdk-go-v2/service/ssmsap v1.22.0 h1:5+fIKFIbA80sYjNf2vccPvmrdp4nb1EbkQdsO9HZA9g= -github.com/aws/aws-sdk-go-v2/service/ssmsap v1.22.0/go.mod h1:mlTUZlO4rjFmS6ZZ7hJD6Oko4Geto1EMzta8T3R61r4= -github.com/aws/aws-sdk-go-v2/service/sso v1.27.0 h1:j7/jTOjWeJDolPwZ/J4yZ7dUsxsWZEsxNwH5O7F8eEA= -github.com/aws/aws-sdk-go-v2/service/sso v1.27.0/go.mod h1:M0xdEPQtgpNT7kdAX4/vOAPkFj60hSQRb7TvW9B0iug= -github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.33.0 h1:61baAQJeQS9SdTXJ9MVUiT5hkMf65SUfjVV9j2/W45M= -github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.33.0/go.mod h1:nnlw3wIldhDvFLfpv/yH9j31xoz0EdczpuYu95M/Mm0= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.32.0 h1:ywQF2N4VjqX+Psw+jLjMmUL2g1RDHlvri3NxHA08MGI= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.32.0/go.mod h1:Z+qv5Q6b7sWiclvbJyPSOT1BRVU9wfSUPaqQzZ1Xg3E= -github.com/aws/aws-sdk-go-v2/service/storagegateway v1.40.0 h1:eywzm3eHsI6lkM7HpsLuoLUKuW87wINDWM/kpEahPbQ= -github.com/aws/aws-sdk-go-v2/service/storagegateway v1.40.0/go.mod h1:dpO8VuQCysRhgr+cTRKLjF27aJZ84dDR5mpC3YKSzvI= -github.com/aws/aws-sdk-go-v2/service/sts v1.36.0 h1:bRP/a9llXSSgDPk7Rqn5GD/DQCGo6uk95plBFKoXt2M= -github.com/aws/aws-sdk-go-v2/service/sts v1.36.0/go.mod h1:tgBsFzxwl65BWkuJ/x2EUs59bD4SfYKgikvFDJi1S58= -github.com/aws/aws-sdk-go-v2/service/swf v1.30.0 h1:isVHS2KcvvQF+K4xm1d8gwn7oblSNrvLGnkgnrklU98= -github.com/aws/aws-sdk-go-v2/service/swf v1.30.0/go.mod h1:ew3I70Cp5/fov/t/5KR5gnUJKh/oUFaRSXiLhGdNEBQ= -github.com/aws/aws-sdk-go-v2/service/synthetics v1.38.0 h1:bO03M5vd7lbwA2u+AJ5p5lNXDrX95irMpQGnTriIZCs= -github.com/aws/aws-sdk-go-v2/service/synthetics v1.38.0/go.mod h1:pNBlT8k2dNNduzB6k73U7zZ7yyHV2Kr0YlLfi84+c64= -github.com/aws/aws-sdk-go-v2/service/taxsettings v1.14.0 h1:1pAiXK1faOGJi8KL/bokC4sqxMBkJePnR56mneSbTN4= -github.com/aws/aws-sdk-go-v2/service/taxsettings v1.14.0/go.mod h1:RdzWkdzuoaM98wctumapBmD2r3WImPXw6g7rICPLvyY= -github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.13.0 h1:ik+FNIDBN16wpzb2kJExF1FJ7jmyyq77gJAiXmxjsyI= -github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.13.0/go.mod h1:OOSSPOW5gjnWQfNOtYOnvXqWotSk2TWXW6PqXiM8Dd4= -github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.33.0 h1:FpXclEjSpDkYeCvLpR6nmURQAZfXD235JFvFI6xkbak= -github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.33.0/go.mod h1:AOmT9Dn8c674nUD56pQAb9rCkhhrlK1K6ULaz3T6/EM= -github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.33.0 h1:Ien1hQnz4TwH27FV3BUZxOnp+OYoamqNG3DrHX7clJ0= -github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.33.0/go.mod h1:WquhdpcwQ2IToqTKc9GJSoA4Unm69MhLMXEO6qbhjKU= -github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.1 h1:/ToMjU95u9zM7d5DgePvhgGMfkDJFe9Y+WFbRl7Copw= -github.com/aws/aws-sdk-go-v2/service/transcribe v1.49.1/go.mod h1:C4HQjEMMSrwJQKQsFslNNOeP3dICpXktxWJ6MjRCyq8= -github.com/aws/aws-sdk-go-v2/service/transfer v1.63.0 h1:ccfREMOY7VoLlSuSEH/wvXr1Ex+AbmKSKf1iTYvsyYI= -github.com/aws/aws-sdk-go-v2/service/transfer v1.63.0/go.mod h1:zZCkAJeuF8Pfs9vOShUWoL7cXqANEbYaycWjiPeHzJo= -github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.26.0 h1:PpHbbpQ2q02tM40tzUGwRpuTDHc36TtujWkKgcUZhJs= -github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.26.0/go.mod h1:hmDaQDyTtzWXZ9dImqrLz33w5W1zwq5Vl+ek1ocUEiU= -github.com/aws/aws-sdk-go-v2/service/vpclattice v1.16.0 h1:yvmIhQivdW+lkqwWjROA6Ig40WRBlUt1jxzZ8qiiYlk= -github.com/aws/aws-sdk-go-v2/service/vpclattice v1.16.0/go.mod h1:R3HlHnPqocjz6KcFNEH5eIqzCc8bcI7DyWb2LZGFpxk= -github.com/aws/aws-sdk-go-v2/service/waf v1.28.0 h1:OYxdAPcJF5HtA5QtvCBIxCyA5KTNB/CjT0Lw5SsKcUk= -github.com/aws/aws-sdk-go-v2/service/waf v1.28.0/go.mod h1:sBkZNIMfKDvcVtaNmeNqaBlL+okCb/ZhsYMfpL8fKTI= -github.com/aws/aws-sdk-go-v2/service/wafregional v1.28.0 h1:ZF2SFoVktg4N3dZZgTayqmJNoSfsvieI/S9bxFnrau8= -github.com/aws/aws-sdk-go-v2/service/wafregional v1.28.0/go.mod h1:TWzB6PEp1fYN63oDeiYgl8UzON3M7ygUDPvQOZKnK4A= -github.com/aws/aws-sdk-go-v2/service/wafv2 v1.65.0 h1:uY3OJEiMQuO+RDo0ibtWlU5GTPoMZJoiAiaRPEEZUjQ= -github.com/aws/aws-sdk-go-v2/service/wafv2 v1.65.0/go.mod h1:2y/+a6X3qVfn8T1s3ZT7+OAdyFNVfnG6GRa6EMf69u0= -github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.37.0 h1:Ajd4pP2pftD3pnofQ1+7TEflSaNYevoII49UkI0xatA= -github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.37.0/go.mod h1:vhARHB5E9NBKpbcLcWo96asxlofoSEXItelnMf4L63Q= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.60.0 h1:l+YQbYWAiupSnKXZ/HOYNOI0XdRexhwnlGY6EYBwZ7g= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.60.0/go.mod h1:wBy3knc+aXjHkaLrHApzc7N8saQha6AaeThgdopPLA8= -github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.30.0 h1:Qw3jH5JOp1Yx63HNLd3m/4fuqOmwZoTskrpnoHD8GL0= -github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.30.0/go.mod h1:aOovVVoUFe9mVrtezfjeSHi/AKnZm2JKjI5uf1v6Lhw= -github.com/aws/aws-sdk-go-v2/service/xray v1.33.0 h1:iHeSWpMxk/qGq5op8qwHw4DGEP+hx7DLEsQbhlF4mW8= -github.com/aws/aws-sdk-go-v2/service/xray v1.33.0/go.mod h1:S8Ij3/mKF/976T6WrnozZw2QQBSLs1l2KQTL3SOCwPQ= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.3 h1:3ZKmesYBaFX33czDl6mbrcHb6jeheg6LqjJhQdefhsY= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.3/go.mod h1:7ryVb78GLCnjq7cw45N6oUb9REl7/vNUwjvIqC5UgdY= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.3 h1:xMmJPUT0G1q9+I0mzH4B6oN9fB5PkDoD+jvpVIcom1I= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.3/go.mod h1:U0JFMTY/gPxV07XTXXz152nX0Hg1eBenzyslKF2j4j4= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.3 h1:ieRzyHXypu5ByllM7Sp4hC5f/1Fy5wqxqY0yB85hC7s= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.3/go.mod h1:O5ROz8jHiOAKAwx179v+7sHMhfobFVi6nZt8DEyiYoM= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.3 h1:SE/e52dq9a05RuxzLcjT+S5ZpQobj3ie3UTaSf2NnZc= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.3/go.mod h1:zkpvBTsR020VVr8TOrwK2TrUW9pOir28sH5ECHpnAfo= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.24.0 h1:Pw+Ibvg2vG1gulfBO2FPjr5Y+SDyxzVA1EXw5nTCZiM= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.24.0/go.mod h1:q+A4de5nxY2w1IxXmxSz2ybaW71gjNr634rj8AaBeOs= +github.com/aws/aws-sdk-go-v2/service/invoicing v1.6.0 h1:DWBnflfGGvIj45VsuhUyg3K/0xYodsjHS7FQ73TZOGo= +github.com/aws/aws-sdk-go-v2/service/invoicing v1.6.0/go.mod h1:Unu+LGlKbxjDYhpgap35rN7vwxSalaiXzIlQIUH2n0I= +github.com/aws/aws-sdk-go-v2/service/iot v1.68.0 h1:eA05nWoMN0EF0rttyORxmB4mMLMhdS6PLpL/0GyTEm4= +github.com/aws/aws-sdk-go-v2/service/iot v1.68.0/go.mod h1:bJop9Eo7sy4kUxLfjXsgBUVzXMiEeVdnycU3AvyCG9Y= +github.com/aws/aws-sdk-go-v2/service/ivs v1.46.0 h1:7e91TZxrdMEe3HvHmFf+VS+VlLf/O9/HtQc6lMEP4Vs= +github.com/aws/aws-sdk-go-v2/service/ivs v1.46.0/go.mod h1:oZEFz9f6yBBPA1+CIKd5qDKX3+P0avnvsv4ZRbWefuE= +github.com/aws/aws-sdk-go-v2/service/ivschat v1.20.0 h1:FNFXj1Ydfrf12zcGNgqVuTNV/UfPMVWZ/iH7hkups/A= +github.com/aws/aws-sdk-go-v2/service/ivschat v1.20.0/go.mod h1:MsE+ZmmlW+UOhKhq8Ahp2CumqeVfwbpFxk0tFIZUtRQ= +github.com/aws/aws-sdk-go-v2/service/kafka v1.42.0 h1:/EB9p30Te0eClIIptu3g3meO38O87YVVdE/UVbyTvWA= +github.com/aws/aws-sdk-go-v2/service/kafka v1.42.0/go.mod h1:uvEnl4e5ie3zB+2qlQCqcv0CgOyI8ajOegLEKERjqfs= +github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.26.0 h1:PG2c7HZCVIBFhdIwqO5jg8xo1fHgalDdUwNsn8T1Esw= +github.com/aws/aws-sdk-go-v2/service/kafkaconnect v1.26.0/go.mod h1:p50f5u0jxoFWTV6l54BxrE+7zJ1/Iucap85GrSnpptY= +github.com/aws/aws-sdk-go-v2/service/kendra v1.59.0 h1:Np3pECOLZw4JZgx7d588fTuU2RtxkRRYlTqlCrLh/nk= +github.com/aws/aws-sdk-go-v2/service/kendra v1.59.0/go.mod h1:edFwG9l6+RJ9BjapAgxfnHY13/FsufZekEjw/T1Xp8I= +github.com/aws/aws-sdk-go-v2/service/keyspaces v1.22.0 h1:gFAqI4i3uvMo3Bk3ePdPwDEYgssnVCFF+p3p3KkRyQ4= +github.com/aws/aws-sdk-go-v2/service/keyspaces v1.22.0/go.mod h1:V6Iy+0hEq/ebivBZ7wBENH0cohMrhk77z1UW7Icp70E= +github.com/aws/aws-sdk-go-v2/service/kinesis v1.38.0 h1:8acX21qNMUs/QTHB3iNpixJViYsu7sSWSmZVzdriRcw= +github.com/aws/aws-sdk-go-v2/service/kinesis v1.38.0/go.mod h1:No5RhgJ+mKYZKCSrJQOdDtyz+8dAfNaeYwMnTJBJV/Q= +github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.29.0 h1:IJkGKIgX2ZCga4Ao4A8RcL1rty+s1Cc+N/JCtnmtm+c= +github.com/aws/aws-sdk-go-v2/service/kinesisanalytics v1.29.0/go.mod h1:jYH0HRqYnukQt14eBIgAfnIRjihLy5osnU0BN0G+Do8= +github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.35.0 h1:eoa+/AK+SVR5cTa/yPiDeupC0EZ8jA496jwjNMhrL+U= +github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2 v1.35.0/go.mod h1:E4piy+DkyYY+2sIOdlI91iLrygWzEfIuldAwgyQmWQs= +github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.31.0 h1:wOcpGR9keDoaWcFQOUEQqA9EhRcl2yv2yOWS24sQnpM= +github.com/aws/aws-sdk-go-v2/service/kinesisvideo v1.31.0/go.mod h1:h095RtNvHu1cWmPHWxEitFuK7AcAjO6sKbovcmF+7mw= +github.com/aws/aws-sdk-go-v2/service/kms v1.44.0 h1:Z95XCqqSnwXr0AY7PgsiOUBhUG2GoDM5getw6RfD1Lg= +github.com/aws/aws-sdk-go-v2/service/kms v1.44.0/go.mod h1:DqcSngL7jJeU1fOzh5Ll5rSvX/MlMV6OZlE4mVdFAQc= +github.com/aws/aws-sdk-go-v2/service/lakeformation v1.44.0 h1:L48j3iwTIZPNp1FEnZ3d1L1Fx+9ac3N0Oyca42yY3sQ= +github.com/aws/aws-sdk-go-v2/service/lakeformation v1.44.0/go.mod h1:pp21VYtkJxgEINbEvBNkovKr3C1GOzKNYxxUiMM3tsY= +github.com/aws/aws-sdk-go-v2/service/lambda v1.76.0 h1:BbZi6/1W69NHTyM8CeusL35y1L3YQDky7vW2wzUAtio= +github.com/aws/aws-sdk-go-v2/service/lambda v1.76.0/go.mod h1:Uy6Tm+/QiIz3zvTOySvpMHTTQShZ/jZ0rVLtG/a+BE8= +github.com/aws/aws-sdk-go-v2/service/launchwizard v1.12.0 h1:Ep6t5xK/IYMotfsNJ0cDEh9g5GrxwIlBYXyGucmm/nM= +github.com/aws/aws-sdk-go-v2/service/launchwizard v1.12.0/go.mod h1:o3afUpWusM84fxzwOswLeKjAutBrLH5WZxC5Bg2+Kag= +github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.32.0 h1:vCV2K/9Wb5ubkqLF6bkaHG1yET2NXFf7TXgsWwv6Y3U= +github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice v1.32.0/go.mod h1:EaraoM/hBrcTVf5ykRkMepUaJH7O5JJ+/D0uEz1k4Zk= +github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.55.0 h1:Pyf7XMt3ya+mV/0Zo5wRU0blp1kTZfvUBB/eP8SgvRM= +github.com/aws/aws-sdk-go-v2/service/lexmodelsv2 v1.55.0/go.mod h1:2E047X7x62z38tMw0lJ7smqSv1YeSiQTQFK+8/ONiok= +github.com/aws/aws-sdk-go-v2/service/licensemanager v1.35.0 h1:gdfSY6AmWavRp8Vl8jaBMbD5M0rmbiJZ2GjgyoBQw2I= +github.com/aws/aws-sdk-go-v2/service/licensemanager v1.35.0/go.mod h1:TBm4Zxk3cVPC/qu7CBBtxeDBRm+NxPumhD39np/9HZM= +github.com/aws/aws-sdk-go-v2/service/lightsail v1.47.0 h1:PGWe+dWCl7Iu+d6nnVS9mmeEWYtoHDu2D4GqyIgg7vo= +github.com/aws/aws-sdk-go-v2/service/lightsail v1.47.0/go.mod h1:k+O6WzXkLorOOArYPtOPtpVXtCJBAeUsV/7gQRR0wt4= +github.com/aws/aws-sdk-go-v2/service/location v1.48.0 h1:jOCYFO1GgCkG3bSeMsKzK/cqvBq65ocisfEkpduVGxo= +github.com/aws/aws-sdk-go-v2/service/location v1.48.0/go.mod h1:VL8j8BiySNuq5pDthDsyd4uqBXxtqjJlBb5WWbFbZmY= +github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.35.0 h1:33rj0RNRRxNHPGCCJ0lC9dOsrLWJXVsJteZQS6BHXdk= +github.com/aws/aws-sdk-go-v2/service/lookoutmetrics v1.35.0/go.mod h1:lfJ6B6p/KQY1W7a2qVwYtXgQvbYPIZi+BQPHMfs7pWA= +github.com/aws/aws-sdk-go-v2/service/m2 v1.24.0 h1:9Lo/MEr45V5AJ8mf3gb0g8lxPlbXNXbQ8MlHWPgsWh0= +github.com/aws/aws-sdk-go-v2/service/m2 v1.24.0/go.mod h1:AFrHabRFBc00+A3Jh65w2KrPPUbj11tXqBb2dW0+7UA= +github.com/aws/aws-sdk-go-v2/service/macie2 v1.48.0 h1:7Ic+DGhlNQb5UoUGB/1gV+ULY/sLCB6Oe6F9MvowUZc= +github.com/aws/aws-sdk-go-v2/service/macie2 v1.48.0/go.mod h1:TWKvkEe8yeOKDNCMW47xAQJiqln+pa4RWDXUE6PGHjA= +github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.43.0 h1:ek+HR+h5mzH8ZW9yBOarF4Xu4Asj9SceDyrUle8y1yw= +github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.43.0/go.mod h1:+h6ngXuktUq919fdzDtWspFrg4Y+C15VlIra9CGVw1w= +github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.80.0 h1:sZ1KON5k/tyf3xbZKDW/gl4nHEm/84zDpXGsA0/7LcI= +github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.80.0/go.mod h1:QOmlr6sjqSPtQXGhi7hhj+ihkU47qs3ZTIh3vTbqX7o= +github.com/aws/aws-sdk-go-v2/service/medialive v1.79.0 h1:9EmuTJkV2qQnD9/2qRsYTL9lh5pe8egpLf5JLd6GIFc= +github.com/aws/aws-sdk-go-v2/service/medialive v1.79.0/go.mod h1:ztAXVYzpWC8UtMzvZ5VPBmytv9exEv6BsAq7Z2oSJK8= +github.com/aws/aws-sdk-go-v2/service/mediapackage v1.38.0 h1:te/oZcPDK1WkmGy8tE0zoxTE5aEaEqZ/79jdTDxjyb4= +github.com/aws/aws-sdk-go-v2/service/mediapackage v1.38.0/go.mod h1:LizOnQyvCXr58pqNFq6Fijjzg6o38w5bnxxhnfBAQsI= +github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.29.0 h1:wBaXl/5Gxvc3dgiPFNFWw1QEL4ktn3bD+Tb/lU5zGIw= +github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.29.0/go.mod h1:JGsiQ3sKXi5OwUAJZfCppe4Cks0kN32eH6+oD2bq63Q= +github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.38.0 h1:zutK4lUa0WzbzA18TjqAcSCLFWYdtxh2adC9s9Jz2Lo= +github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.38.0/go.mod h1:EZC3Zxx4zA/VL5dHqUMBQZQh1GdN7ye1SgPSIpcB/Gg= +github.com/aws/aws-sdk-go-v2/service/mediastore v1.28.0 h1:dr8QYzAgIt7JTEN65ujaa3qB1HDKL1Gg34rVvWBzxn0= +github.com/aws/aws-sdk-go-v2/service/mediastore v1.28.0/go.mod h1:J9usg9CZaYqNdF9h0ggRA3oYbjp3YWwCaKNKD+VVVns= +github.com/aws/aws-sdk-go-v2/service/memorydb v1.30.0 h1:jmAOPEdLWcLdZjkmiDWb3rcKqPNbXKI0l7VgukYWZDw= +github.com/aws/aws-sdk-go-v2/service/memorydb v1.30.0/go.mod h1:NNlta0IS4G5ti97P4p0eDNYGBnv2uRLzSgVWpSARNdg= +github.com/aws/aws-sdk-go-v2/service/mgn v1.36.0 h1:hqeHoI8gefTz2qXgxG7B5PsVuJuyVnPfp7EveQtOeHg= +github.com/aws/aws-sdk-go-v2/service/mgn v1.36.0/go.mod h1:tDCA72Dhugy3hO10vTlROD3ahbJGuqnRvRrjvX4a/iE= +github.com/aws/aws-sdk-go-v2/service/mq v1.32.0 h1:h04Kq2u2B6bDeAmNoxlf9bqtKH3GUlkW3p/+e/mE7+o= +github.com/aws/aws-sdk-go-v2/service/mq v1.32.0/go.mod h1:tVSPpsQhalaf+DchZKFeDoohUeNE8dVSFGNRjZrDSQE= +github.com/aws/aws-sdk-go-v2/service/mwaa v1.38.0 h1:8ScMT/bvwaGzWE+5zVDxVPgSWaBrSaFZhEIhX7kCOhg= +github.com/aws/aws-sdk-go-v2/service/mwaa v1.38.0/go.mod h1:Mi/tghAzRmlNlqFwV/5D0NMLfhrkqSabMxA1wY6dCTw= +github.com/aws/aws-sdk-go-v2/service/neptune v1.40.0 h1:G8EHt/6UbzCG4ZvQZP/HHDHApq+zArzKEXMhpYlPhug= +github.com/aws/aws-sdk-go-v2/service/neptune v1.40.0/go.mod h1:lvD4yDK2ULNV+u6h3uVBlGNtcGj157l0e8rcRijqxhQ= +github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.20.0 h1:+zQYbnkNrMslzC+4RKJjoENheRA0oyRZWrr1GoaD6hc= +github.com/aws/aws-sdk-go-v2/service/neptunegraph v1.20.0/go.mod h1:uIZJKA3sBDgaXKxORwej5uNIXInMaTtjROVFbhCoGQ4= +github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.54.0 h1:5v9hJYt08sME6Pzt7zEn3q7prnBKjjuv6dUzpStvm3I= +github.com/aws/aws-sdk-go-v2/service/networkfirewall v1.54.0/go.mod h1:HKJfDUSWabuQ8Evx8mqmk/nNuL5JmZl5IRNlJ/iR6j4= +github.com/aws/aws-sdk-go-v2/service/networkmanager v1.38.0 h1:Rdh8HWrjiIn7lLugBf3uR9NQoUE0XvOyM8c3I7okBXk= +github.com/aws/aws-sdk-go-v2/service/networkmanager v1.38.0/go.mod h1:bXguklweVIXFjJ05yXJ1Jr5EoOofLT77UOrjYhmW/Qk= +github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.11.0 h1:4RstlGjxjPNGswiVCIPcwck+IH/HulpbaNY+1PA2Sg4= +github.com/aws/aws-sdk-go-v2/service/networkmonitor v1.11.0/go.mod h1:Z3pgjAIFoLaTC2GIBeE4wY31OeTAW7Yu59G+oJHUy+E= +github.com/aws/aws-sdk-go-v2/service/notifications v1.6.0 h1:oy/Wi6NFXYRg/1wtNNRn2gyEIJGmIon1osvj0E7s1tU= +github.com/aws/aws-sdk-go-v2/service/notifications v1.6.0/go.mod h1:2lcjRCU4jc7gouZFBGJw62bZDtDFy3DRCm9rho+BIVs= +github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.5.0 h1:cU81jdax5eqhZiEGRxRN5nfKj9Rp6jgHKnIDoRArU3A= +github.com/aws/aws-sdk-go-v2/service/notificationscontacts v1.5.0/go.mod h1:ZWRIBbneNn04ltFXrYN6r4j2GvC8KtilEWMRswSB8wQ= +github.com/aws/aws-sdk-go-v2/service/oam v1.21.0 h1:S0IoLaOU5NCanjuxRLmf+qjkz8cUnNvaAOOC/zb8c4Y= +github.com/aws/aws-sdk-go-v2/service/oam v1.21.0/go.mod h1:I9L7HVx7wBiIpnt8oV77si3ZqTA8BBCEB7RU3jk8F34= +github.com/aws/aws-sdk-go-v2/service/odb v1.3.0 h1:EDHfy8QUacuK48e3rA99EfrD7z4zSVYz99es2YicD2k= +github.com/aws/aws-sdk-go-v2/service/odb v1.3.0/go.mod h1:MLlHYMY+BRF9keX86rRA1zv4J7O2jIVeooJ3OpHTk/M= +github.com/aws/aws-sdk-go-v2/service/opensearch v1.51.0 h1:dxYQ9hDRI/yXFzO3sYT+x3Ss2d8JDf2eX5hyUPHG6fA= +github.com/aws/aws-sdk-go-v2/service/opensearch v1.51.0/go.mod h1:NQvq4ckAgpR9/QqqI5+eWnP6rNlpOVta9udBG9GVHcw= +github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.24.0 h1:usR9TyfGyoGq2SK2ksEc3qwpYeBe03rccTj63hUFWKk= +github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.24.0/go.mod h1:anGtuIsRziAehQRV6pPE6LbaGBQ2q1Gg20D3Ixtm4LU= +github.com/aws/aws-sdk-go-v2/service/organizations v1.42.0 h1:n2mB6r/G1HNg1XIX1db2YVTve2IkGNJc7FjTFsvEXfU= +github.com/aws/aws-sdk-go-v2/service/organizations v1.42.0/go.mod h1:DbK1D8dgPVhcX1eNASHk5Q9C+N58RFw5PvN+2osa+Ws= +github.com/aws/aws-sdk-go-v2/service/osis v1.18.0 h1:71GQ3yQ1sGjXsAOBso7nVLCLJrCoDQP1IhYbQciMpFk= +github.com/aws/aws-sdk-go-v2/service/osis v1.18.0/go.mod h1:O3bVtO289aQvaGA56/SPbLeoEBvkbr1BerS/A94Xeik= +github.com/aws/aws-sdk-go-v2/service/outposts v1.55.0 h1:PlpUSiYutFa6aEeRrQYUo8zomTuAx5oXxjwrZ/XZH+8= +github.com/aws/aws-sdk-go-v2/service/outposts v1.55.0/go.mod h1:3pSTlomz+DwHpKcE9mN+kOdPCMZyj1O2C/0tvPbSzKM= +github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.22.0 h1:VOGIH/MtfO0aIDRuCllgzlakSqzA66W5Yc2FHatgfuE= +github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.22.0/go.mod h1:sAThYxAnlQ/hkntlxj/KcD/8T0rShXIx0xA42eMiJe0= +github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.14.0 h1:IlYnE1ZfFKisSY2tOp6jgKBXZoNIfhHPYzBDPfwmY/0= +github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.14.0/go.mod h1:eVYoJ/sxF8Zc3DEo+O3CNpCuEYutm16FB0vAtFLaGgk= +github.com/aws/aws-sdk-go-v2/service/pcs v1.10.0 h1:SbogIySzcA7/kKxW1jyKq9w3xOlwIvPuNZArUqaDpbM= +github.com/aws/aws-sdk-go-v2/service/pcs v1.10.0/go.mod h1:B7H2wug0rXya8R4w8u2gw+NvbPjd/3W/28dCkpYUmaE= +github.com/aws/aws-sdk-go-v2/service/pinpoint v1.38.0 h1:2N2oZEWjjUWpqqOSNEgpd63ETgtp8UHFhMACk7ByM2I= +github.com/aws/aws-sdk-go-v2/service/pinpoint v1.38.0/go.mod h1:i3U6njVpG1uB9l9ueSttsU4+0NdH8V0U8QKjNdMvdUM= +github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.23.0 h1:BtpUqF+QdW6NYowWLd9LYYKO+cwxMpb1XpSYX6a8dMg= +github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.23.0/go.mod h1:SMXXR2N0zJmYAjJazRlfNSKCV4ei228xhFO+ZoqXH7w= +github.com/aws/aws-sdk-go-v2/service/pipes v1.22.0 h1:kjP4uojcr0zt3Xon5cuEWf95wDNZ2a3D9EWP1l2mYE4= +github.com/aws/aws-sdk-go-v2/service/pipes v1.22.0/go.mod h1:1AhqeD/xOF18b3v19C3p0gJigmQ52Kxe/Fifijwqtlo= +github.com/aws/aws-sdk-go-v2/service/polly v1.51.0 h1:/ArRJKD83NVXj+9OAfZEahwvHkSSqPfTYx0ThC/XsAI= +github.com/aws/aws-sdk-go-v2/service/polly v1.51.0/go.mod h1:S4iYoRxJQK+7h0jBi6fiUW9JyW8adhtoXW5mEc0qzhU= +github.com/aws/aws-sdk-go-v2/service/pricing v1.38.0 h1:WjynubA3yutEkbjZtzgNXAMhndGWraS2g5W9TXdtBhY= +github.com/aws/aws-sdk-go-v2/service/pricing v1.38.0/go.mod h1:6XKuQQSJAmFkNQ+6JxygxJw1rjbS4AMJ998ZvQAMGhI= +github.com/aws/aws-sdk-go-v2/service/qbusiness v1.32.0 h1:j2UihqELKZYVxUXtEJ/ANG+L4zyejh4B9K6Hc7ZzW/8= +github.com/aws/aws-sdk-go-v2/service/qbusiness v1.32.0/go.mod h1:Sjk/KzOJtKspO7hmHvT/oHZw5AtX1tsmbI0WAbrNu6E= +github.com/aws/aws-sdk-go-v2/service/qldb v1.29.0 h1:z8hxRH/lXSN0oWjvYyuxeAHIEOX2mP4m3QqbJgNZw2g= +github.com/aws/aws-sdk-go-v2/service/qldb v1.29.0/go.mod h1:eBVhzKjNK//VOPAetMab3jT/njEna4DKLvlK+dcJfLA= +github.com/aws/aws-sdk-go-v2/service/quicksight v1.92.0 h1:GzBorIQ93nyNDbC59odoBTRRSAx0Im9Z7xwJ5UbI81w= +github.com/aws/aws-sdk-go-v2/service/quicksight v1.92.0/go.mod h1:MKyuqaCqFV/T4cD00DDWbrBZbxDp6WLyHbSOBNxWHZI= +github.com/aws/aws-sdk-go-v2/service/ram v1.33.0 h1:S1OWl3a+IRR/GSqzjea0jflabLsHyDJXknxJk7pkYI0= +github.com/aws/aws-sdk-go-v2/service/ram v1.33.0/go.mod h1:ugO++LtUnJAM+y+SkHc/MnZdgIevyA2Eotn3J0UNluQ= +github.com/aws/aws-sdk-go-v2/service/rbin v1.25.0 h1:uxZwx9vobWg4IS1dyMoC/5Bqrkt9URYtUvj08SZPDRY= +github.com/aws/aws-sdk-go-v2/service/rbin v1.25.0/go.mod h1:V9wi+fIOqZV2lNpSeWGEs4FJBNF2ROkPWLhbweCl7NM= +github.com/aws/aws-sdk-go-v2/service/rds v1.103.0 h1:OWsmICx9jHtBVrgYwYb+2q0iVSPLIfDZOiKhoQA+gjc= +github.com/aws/aws-sdk-go-v2/service/rds v1.103.0/go.mod h1:tUKTkGAlJo0Gs4t0Z46vaSGD6H1Z6RvtuF03mZY+tPk= +github.com/aws/aws-sdk-go-v2/service/redshift v1.57.0 h1:gFNE53MstNSex5n2AeuqDeO9y6YrAEq5r9ohIo0Q1S4= +github.com/aws/aws-sdk-go-v2/service/redshift v1.57.0/go.mod h1:royODzFrVBRoek5vd76xF7WnwhMGjDj9ZdYcg7Hj8Es= +github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.36.0 h1:m900Kua81M38+2mViQR0WyXuVJHXfHhBMZE2KEOKCxg= +github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.36.0/go.mod h1:fKbyyPpRvNxxd3FC8IllvIVic0l4C/IGKIcU7lb5tfI= +github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.30.0 h1:jB/wGP9pe9pbXCFqZELx9MxLmkZetN0yK0kc7jFDlIY= +github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.30.0/go.mod h1:qPNYvgSCnM6m27k766S1vd+QquZYz5efWKbMGjB2cU8= +github.com/aws/aws-sdk-go-v2/service/rekognition v1.50.0 h1:bn5Y52YaLv5p7sa6TIH3Fr/V+gLpoQkcctNAvYT1YP8= +github.com/aws/aws-sdk-go-v2/service/rekognition v1.50.0/go.mod h1:5vEhAy+7ycQg3WVq7kp1YWTi43DxOqbUPkDLP8vB1Yk= +github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.33.0 h1:DUJziWLjN4tzfLFz+h2DRDItRtrD3NdGWs0xztSZlFU= +github.com/aws/aws-sdk-go-v2/service/resiliencehub v1.33.0/go.mod h1:SLrdEDIWvazT0GTFQ6ph3QW2EAYYeizvd7g9CMpoMs0= +github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.20.0 h1:26bUDFcdGzHxBax1oY+HL/YRmUVfqyvcbgdKHr0FDfE= +github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.20.0/go.mod h1:eFxDYEcdKWIT77Mrq/fT+6KL9bu3ACn5sDFk7Be8FKg= +github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.32.0 h1:ZzEJclXVP4woTKwsQChUKOZuekxc/DBjlHKmfFWpYrg= +github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.32.0/go.mod h1:uGcWLsjkPjZYRpw67cFbNND8jtLokfgLTvZSGpAT7cs= +github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.29.0 h1:jevrLpVG9sOEPsuipO3eGcdDzJyo36Dmme9iSu/8GVE= +github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.29.0/go.mod h1:t/zZb99l0WrcNYbDIF3tgj0rJNklhiVa6B1x/Rz4rHc= +github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.20.0 h1:KBw/bfF87jfAgm0ZcQOCgqJSY7tMLg9x+1f+EdUHQt0= +github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.20.0/go.mod h1:mWcjTY8epINHRpQmgBLjOTYM5TYUeBOysugdyG128io= +github.com/aws/aws-sdk-go-v2/service/route53 v1.56.0 h1:+8/JB7/ZIk86sDBtcy+md9qqHOjc6rR75NySpsrujDY= +github.com/aws/aws-sdk-go-v2/service/route53 v1.56.0/go.mod h1:aSIshIhq15I4lMlrkvvIoH7E4eLTAEW+isWbga9guNg= +github.com/aws/aws-sdk-go-v2/service/route53domains v1.32.0 h1:ZjfNS/AmmzzGbM9Au1219mq3rh7L3HhzgCV04Z5k24M= +github.com/aws/aws-sdk-go-v2/service/route53domains v1.32.0/go.mod h1:v6BvxeZNn9Ys2Fv/6IGmGCcrf5a10guA3YvlpQId/1o= +github.com/aws/aws-sdk-go-v2/service/route53profiles v1.8.0 h1:MuXKThC0Lv83LdIiFc5aMjmjYuG7hC49Da3H+dvt6xo= +github.com/aws/aws-sdk-go-v2/service/route53profiles v1.8.0/go.mod h1:3m2fCUiYfoCDxPMHZGP6u5w9oMOTJnmI8rEc0iKEba0= +github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.30.0 h1:mYSV8Ih3PRx9/uKuMMYRGWnUSDjOKDJAlPLqw/fhxB4= +github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig v1.30.0/go.mod h1:XTAEe+ed1/YhRZr7IwJOcd7LxwEhdHgXFyAbhW5/0GU= +github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.25.0 h1:M1lJ8nSB8pL5XPIq82UsizGi+t4ZXkmBkW2WpPWczpw= +github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness v1.25.0/go.mod h1:P9I8vfH8zNEoQNAqKYgpuWRce0tdKZQaCHHs1oF7SV8= +github.com/aws/aws-sdk-go-v2/service/route53resolver v1.39.0 h1:JCUZSQ0pCqqihKLmicNKzvKt0JpXzwyWr4izSjyKxbg= +github.com/aws/aws-sdk-go-v2/service/route53resolver v1.39.0/go.mod h1:gF2Hv8YowjskA+/IKprIj9QroaE0HdD7H0Ay39K4y2s= +github.com/aws/aws-sdk-go-v2/service/rum v1.27.0 h1:3r/u8MwfSuEu/PggD/JS+1/p2/g/a3mz+bjg1uTSyys= +github.com/aws/aws-sdk-go-v2/service/rum v1.27.0/go.mod h1:P7vki/W7C8Yufk6IMf8pZys8ZecwQ9AELEQf2KtRAXA= +github.com/aws/aws-sdk-go-v2/service/s3 v1.87.0 h1:egoDf+Geuuntmw79Mz6mk9gGmELCPzg5PFEABOHB+6Y= +github.com/aws/aws-sdk-go-v2/service/s3 v1.87.0/go.mod h1:t9MDi29H+HDbkolTSQtbI0HP9DemAWQzUjmWC7LGMnE= +github.com/aws/aws-sdk-go-v2/service/s3control v1.64.0 h1:vq66S6Ulu9VLBGCuOtENpbxBEdpUdn6sBopaoP9/SKY= +github.com/aws/aws-sdk-go-v2/service/s3control v1.64.0/go.mod h1:W2e0S97cCup2ME32T3fECFSELYcU71486wsnjMG5GwQ= +github.com/aws/aws-sdk-go-v2/service/s3outposts v1.32.0 h1:mT0D16ojwEPM0/XW1yVAeJYvX1F5B2yMhwf7CDpvIqw= +github.com/aws/aws-sdk-go-v2/service/s3outposts v1.32.0/go.mod h1:CiSms5HhJ3M2Q0sYi27TI7a11rVYW4J92nYKpwRm7qk= +github.com/aws/aws-sdk-go-v2/service/s3tables v1.9.0 h1:b+DS5OdH3yZCVMHLs/8aA9Nuw+g/WphnYqWj1lnrZbU= +github.com/aws/aws-sdk-go-v2/service/s3tables v1.9.0/go.mod h1:jVLVoLsG7vN8XEO7OQ7Bqw6qqHXMqWbSBMZ7tmY8R9Q= +github.com/aws/aws-sdk-go-v2/service/s3vectors v1.4.0 h1:9xIfi7XPNyqbrZBCVsAnxlajEsNLP4qZ/T+rw6NYtZ0= +github.com/aws/aws-sdk-go-v2/service/s3vectors v1.4.0/go.mod h1:1ByJ/xRNkPDVddSxcpou91CiBIose3JWIWwFw/QjzD8= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.207.0 h1:TCgHvPhW47af5m6EgGczGFAcY2JTGrjxifok50J+Hek= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.207.0/go.mod h1:sawKpnbUfWJb/Q/i2P3rXiM+vXUosAqJ1KOsuKxPRxU= +github.com/aws/aws-sdk-go-v2/service/scheduler v1.16.0 h1:vlmeLcOZ1PtqEpgRIZOOw49DABG9EWYkHHmC96IBgBM= +github.com/aws/aws-sdk-go-v2/service/scheduler v1.16.0/go.mod h1:2XG5FGAj7Ao8KR3scdaU76/YEsdUG304Qt1dIUfHIGM= +github.com/aws/aws-sdk-go-v2/service/schemas v1.32.0 h1:37TFUN36cFLnIj32FFanXqD+uuXwASxCEEckhdBjCnE= +github.com/aws/aws-sdk-go-v2/service/schemas v1.32.0/go.mod h1:kZyD0Nd+qn+NgT7Bc3wWwkgTs+J9ufgH46zvV/aC1x0= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.38.0 h1:r5HePq6z0BEXHOZ5/k6bLZVYMSAplzNbvBxHlb2R31A= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.38.0/go.mod h1:Vjg2dOkHDyjU1GFkMtly8DF0r2hKzddAnotNHN6qovY= +github.com/aws/aws-sdk-go-v2/service/securityhub v1.62.0 h1:sKzvE3fkQNa4iXbS2zhPsWhoYZUuPGeyCx29zWaUAyg= +github.com/aws/aws-sdk-go-v2/service/securityhub v1.62.0/go.mod h1:O3x2LxaDhY0QmJKHLaw2MGgKeYhDMWvi7zsJ+rcnWQU= +github.com/aws/aws-sdk-go-v2/service/securitylake v1.23.0 h1:bhfdvrLXqdIbe+XixpCiW5plHoozqTO7afs+26ovHAk= +github.com/aws/aws-sdk-go-v2/service/securitylake v1.23.0/go.mod h1:QV9oXwcwhXmG0epKJcTFu0mfZEwkowRVpkhIteltA5M= +github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.28.0 h1:zJ4sLmAK4W6tk1czlTcu0pPMyCEFsZvv/v0NC1CymuE= +github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.28.0/go.mod h1:HYxuleUSaHgXo2zG8LX1x//z561i55ilDsrVdLbxt78= +github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.37.0 h1:c9obaYL+TZzWwZf59bU+F18J89YWxciIiGYf+Sr1NU4= +github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.37.0/go.mod h1:r7nLneDqXu0JsahY3BLtRYyQhsIBloK9O2KLYbSvHU8= +github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.34.0 h1:kSiJ+KBflpGStdvVB8osVwzglb9QOcCGeaNeveHUAuo= +github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.34.0/go.mod h1:6QMbXmJiAJ/+xLTDMZJUq36LdNsMXKj9cH5MeG69a5c= +github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.38.0 h1:zQ78zrO5o29Sx+pPK2AYaf6WY2tvmZ2DQcYnX9NfhNE= +github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.38.0/go.mod h1:nnG6Pe7Qu1Bv/mE3eL/3gCiQYrAWyXFXDOtOKcC7eh0= +github.com/aws/aws-sdk-go-v2/service/servicequotas v1.31.0 h1:IqZZ0dHv/NhExc+8HI6CdgTZLz7Yjn9OaExTmFX4UX8= +github.com/aws/aws-sdk-go-v2/service/servicequotas v1.31.0/go.mod h1:q+dUus04tyoWH3qZxKzu68bfL4MFs5ahSTSkyFIqmFQ= +github.com/aws/aws-sdk-go-v2/service/ses v1.33.0 h1:3BEXxnGZpqGWVFL8lntsAtWjT19EtQp2uUmXS0+wWpA= +github.com/aws/aws-sdk-go-v2/service/ses v1.33.0/go.mod h1:WvsgG068tbYpznWb1e4z09bo7pdNfKyHK05muGk3JPA= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.51.0 h1:EGgXgQlHPLB4AQ2EitqhfkhRkyxHJ+Y1CTFbP6vfS60= +github.com/aws/aws-sdk-go-v2/service/sesv2 v1.51.0/go.mod h1:z/Ty4fCI3RR3vFh/z2kYmdv4KgXh6z/ydK5XN/hfCcY= +github.com/aws/aws-sdk-go-v2/service/sfn v1.38.0 h1:qDg+pW4hxuM1zlixvZy3EyRxGiy4FknvKwfYHsUGvYw= +github.com/aws/aws-sdk-go-v2/service/sfn v1.38.0/go.mod h1:UXg+xZNhGCuhG8tg8Qj9XBH3qRA5WgmJkelLEyOassI= +github.com/aws/aws-sdk-go-v2/service/shield v1.33.0 h1:vIp1dRkvVu4oKSl41ds/Y/rBRfw9tyUAOMS1E0FRdG8= +github.com/aws/aws-sdk-go-v2/service/shield v1.33.0/go.mod h1:oT7arIE6sZstDjgtKfXZtLqpnsJuX261eFPfp7+0LR8= +github.com/aws/aws-sdk-go-v2/service/signer v1.30.0 h1:iuz8rTwAAVIKp4BL2yafOsZDvuW5tkkPsOmxRcytPhw= +github.com/aws/aws-sdk-go-v2/service/signer v1.30.0/go.mod h1:9zSvP8LjLc7+ZKNU7wiKFYdtT103jk43rZ8VLh+SxOI= +github.com/aws/aws-sdk-go-v2/service/sns v1.37.0 h1:+GWmgZ6TeJ12tLw4l981+5nc9FDdzXtdZlnmp6KVHig= +github.com/aws/aws-sdk-go-v2/service/sns v1.37.0/go.mod h1:O4eFpSa/AodvDLJqarL+0vnRgDP9d/FEKHZmzLnA/1c= +github.com/aws/aws-sdk-go-v2/service/sqs v1.41.0 h1:xobvQ4NxlXFUNgVwE6cnMI/ww7K7jtQMWKor2Gi61Xg= +github.com/aws/aws-sdk-go-v2/service/sqs v1.41.0/go.mod h1:RExz4LhRKY5iogQ1dz7KVa3JyBY0PBotXovrDj850Sc= +github.com/aws/aws-sdk-go-v2/service/ssm v1.63.0 h1:1T8wFNEtOP4lgLC7v8Fzgbb4kFrMmnscG7kOqkbA26c= +github.com/aws/aws-sdk-go-v2/service/ssm v1.63.0/go.mod h1:CDVmu8K5JKdgdJakdZ9gC3K6OJ/+izv/kUncFeGRIj4= +github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.30.0 h1:kr0zUJ5+O+3XOO5k30ZFWw6BuW77y1wpYl8QbDxgyuo= +github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.30.0/go.mod h1:76T1ZqJLS3lBmShTO2230KTCoqjw7Lbxj6U7YwEQv+o= +github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.38.0 h1:6sjrNE9OXSuF3P2Y+++303mkGbQlmFweTLvZLUz4Ric= +github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.38.0/go.mod h1:vAUirHmPQmQF5LO19CMdt10p/9Nl4cqqdygIsdPjx4Y= +github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.7.0 h1:OHfg8SKR3X5AV6/LpinRDBPciw12F4qQjsvf6o0GiGE= +github.com/aws/aws-sdk-go-v2/service/ssmquicksetup v1.7.0/go.mod h1:/B5AIPHVKVfZSsofTSfqrvl5QH5r/XK8/qcdHW3jjV4= +github.com/aws/aws-sdk-go-v2/service/ssmsap v1.23.0 h1:21pRqoiIDamny/57BJYBrGumQKQEAcZ1+7X2xpMkOdc= +github.com/aws/aws-sdk-go-v2/service/ssmsap v1.23.0/go.mod h1:tLEEa+UsBhm/fZNrnA1O8Vf69/Y94pYuLFP/v1UpB3U= +github.com/aws/aws-sdk-go-v2/service/sso v1.28.0 h1:Mc/MKBf2m4VynyJkABoVEN+QzkfLqGj0aiJuEe7cMeM= +github.com/aws/aws-sdk-go-v2/service/sso v1.28.0/go.mod h1:iS5OmxEcN4QIPXARGhavH7S8kETNL11kym6jhoS7IUQ= +github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.34.0 h1:aiGJnlWqp3e81gDzbSX/+67LqbnW9ppW/Md2CqLVCrQ= +github.com/aws/aws-sdk-go-v2/service/ssoadmin v1.34.0/go.mod h1:0PiTFSuC4ripX730Y5aU/E6Nvge5JgVJUR36FAnCFCw= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.33.0 h1:6csaS/aJmqZQbKhi1EyEMM7yBW653Wy/B9hnBofW+sw= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.33.0/go.mod h1:59qHWaY5B+Rs7HGTuVGaC32m0rdpQ68N8QCN3khYiqs= +github.com/aws/aws-sdk-go-v2/service/storagegateway v1.41.0 h1:IZmMc03E2ay2j+4It6+XKpWLwdH9RNfLYr31ZjTmlpk= +github.com/aws/aws-sdk-go-v2/service/storagegateway v1.41.0/go.mod h1:WcJG/CyL+W/E19D8G5fV16EBWP/V1mxsZChP1i6HflA= +github.com/aws/aws-sdk-go-v2/service/sts v1.37.0 h1:MG9VFW43M4A8BYeAfaJJZWrroinxeTi2r3+SnmLQfSA= +github.com/aws/aws-sdk-go-v2/service/sts v1.37.0/go.mod h1:JdeBDPgpJfuS6rU/hNglmOigKhyEZtBmbraLE4GK1J8= +github.com/aws/aws-sdk-go-v2/service/swf v1.31.0 h1:rH21FB+YB32tQXRRqw5GOXLRlEY6sF0niNUnjIz2K4c= +github.com/aws/aws-sdk-go-v2/service/swf v1.31.0/go.mod h1:K53Z8VIehp17bkIdte5qQJGIg/TTAnSijG5M3SRVQvo= +github.com/aws/aws-sdk-go-v2/service/synthetics v1.39.0 h1:M7W7qo3OsHzH+zrmoU8gR4Or+WB2aV32kJ6H5qSYgEs= +github.com/aws/aws-sdk-go-v2/service/synthetics v1.39.0/go.mod h1:W+FGMMTt/jHWUUM5es5OTFA22E2Ofia4wT9sqs8RmQM= +github.com/aws/aws-sdk-go-v2/service/taxsettings v1.15.0 h1:+LdZx81sNrpT4v1+zr+5LJa8CBtKjWv9UFE+fLdzWRM= +github.com/aws/aws-sdk-go-v2/service/taxsettings v1.15.0/go.mod h1:VHRAf77eBVojkVkK/6Eh0YyqW474JYo2rkdo0ZSbT9U= +github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.14.0 h1:x/RJ5w+RJ7F6DXSqUdRd5oo/L2qq2ziciIep+5G+U7A= +github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.14.0/go.mod h1:k9gnnRDj9A3E71aGKvAT6cZTTDQCQ1hHT9mu6ayNjkg= +github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.34.0 h1:e2NwGYwvTV2yNa76PRkQ/gtjEmnvCw9h6kRTNCg/PUI= +github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.34.0/go.mod h1:DwajsOry3HW3LDuBdlkTA2YbZkOXl0lGqf/Tmh52RhU= +github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.34.0 h1:/Ec93n7oXPhZvalYxFphWMSNjaAy/A2dWkKhqCAePEg= +github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.34.0/go.mod h1:zR+5dzF2qJz6WneebK+JkFEheDRa8CbRKYs//5XycJU= +github.com/aws/aws-sdk-go-v2/service/transcribe v1.50.0 h1:otdXZIcJvXCaOpXvZnydfshPQJVtM3s6A5KozVtmkbc= +github.com/aws/aws-sdk-go-v2/service/transcribe v1.50.0/go.mod h1:zKZY1p5qYRYG/NMOMv8GVeUJLliaK+EpgD9Q2q4v7O4= +github.com/aws/aws-sdk-go-v2/service/transfer v1.64.0 h1:QsCjJRBHeDHhOc0J+GIPxhHesz5yTSYXR1jyMWzXcNQ= +github.com/aws/aws-sdk-go-v2/service/transfer v1.64.0/go.mod h1:LYJ3Lj45sKL6TmHqQQGGzOBTUWjPvo9rqjYmMzbpIlY= +github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.27.0 h1:eGVvpr1n1sMvSnvYAQVUKK+JUPNFjUTy2iSR8nutPMc= +github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.27.0/go.mod h1:XHTOqO6Iy5JS7BTOT5fg5HvmMTxUJRksaypat8yHexw= +github.com/aws/aws-sdk-go-v2/service/vpclattice v1.17.0 h1:l/hNjnFe+0P+0YjVaYghBZDooc5OFJOx4c+hG/YyX5Y= +github.com/aws/aws-sdk-go-v2/service/vpclattice v1.17.0/go.mod h1:lVuOOAjNmWYyLy+pHYu0QzZ07u8b+0rfPXrQNJ48N9o= +github.com/aws/aws-sdk-go-v2/service/waf v1.29.0 h1:KiJHde7jxo8ppD7jcYopFKZ73of3SSyTbXRPifyCSjc= +github.com/aws/aws-sdk-go-v2/service/waf v1.29.0/go.mod h1:DVC3u2m55AWSV5tUmODpmG4gojAwO94Osa7YDLw9BCg= +github.com/aws/aws-sdk-go-v2/service/wafregional v1.29.0 h1:gFCxExCqt4/HWMVKmzf+Mxt3i1gyovNNL8xlfVaN0a4= +github.com/aws/aws-sdk-go-v2/service/wafregional v1.29.0/go.mod h1:brjH7E2LWOtLNsAupQL1Lv803e2xm3v+3wzqlX4BAOk= +github.com/aws/aws-sdk-go-v2/service/wafv2 v1.66.0 h1:zEbaP92GXITM2TrYiw4mNer/ViT4z/Zq8hmrIzSF3Y0= +github.com/aws/aws-sdk-go-v2/service/wafv2 v1.66.0/go.mod h1:EPNcb1lt/lfWkpjINo7eP5AwfvlG8ioVT9frx5w5k9s= +github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.38.0 h1:5+II3BO8cotBo0VNs3Ix2EakRC+PP//loHRaEKDQUNE= +github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.38.0/go.mod h1:ObNr9KblAM/kLbDQAhRAqmi8sY5CPdEd9VqeyZxU79Y= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.61.0 h1:MzTVNx65GKhj9mLLbC7AIXCEBnucyiDB1jAnp4Vye2A= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.61.0/go.mod h1:AJ7eKGcsgQ07kXJ4YWAf7PTFOvkoHc0Voh7CkAj9Bqk= +github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.31.0 h1:n4HU/6mkGI9nTgt5Q80hvLMWv4HeXwfx51Ux5lVkRTY= +github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.31.0/go.mod h1:fCtcQlrmCiCA0BRxpkhrOCFPGDSi7YNw7IV+NS2bKyY= +github.com/aws/aws-sdk-go-v2/service/xray v1.34.0 h1:gFPqTmIg8UI0CcW0pk4LXT2BQK2osloIE6xf46p2144= +github.com/aws/aws-sdk-go-v2/service/xray v1.34.0/go.mod h1:zzWVXnnO820ouM6JAIv2dQa8p5rPTVOCRoEvkljwnnM= github.com/aws/smithy-go v1.22.5 h1:P9ATCXPMb2mPjYBgueqJNCA5S9UfktsW0tTxi+a7eqw= github.com/aws/smithy-go v1.22.5/go.mod h1:t1ufH5HMublsJYulve2RKmHDC15xu1f26kHCp/HgceI= github.com/beevik/etree v1.5.1 h1:TC3zyxYp+81wAmbsi8SWUpZCurbxa6S8RITYRSkNRwo= From ac5d8b1dedc0364046a82ceb29b20e2144ddd4a4 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:37:16 -0400 Subject: [PATCH 1078/1301] r/aws_appsync_api: Correct documentation. --- website/docs/r/appsync_api.html.markdown | 167 +++++++---------------- 1 file changed, 50 insertions(+), 117 deletions(-) diff --git a/website/docs/r/appsync_api.html.markdown b/website/docs/r/appsync_api.html.markdown index c8850f8ee881..097429a3d14a 100644 --- a/website/docs/r/appsync_api.html.markdown +++ b/website/docs/r/appsync_api.html.markdown @@ -1,31 +1,40 @@ --- subcategory: "AppSync" layout: "aws" -page_title: "AWS: aws_appsync_event_api" +page_title: "AWS: aws_appsync_api" description: |- Manages an AWS AppSync Event API. --- -# Resource: aws_appsync_event_api +# Resource: aws_appsync_api -Manages an AWS AppSync Event API. Event APIs enable real-time subscriptions and event-driven communication in AppSync applications. +Manages an [AWS AppSync Event API](https://docs.aws.amazon.com/appsync/latest/eventapi/event-api-concepts.html#API). Event APIs enable real-time subscriptions and event-driven communication in AppSync applications. ## Example Usage ### Basic Usage ```terraform -resource "aws_appsync_event_api" "example" { +resource "aws_appsync_api" "example" { name = "example-event-api" -} -``` -### With Owner Contact + event_config { + auth_provider { + auth_type = "API_KEY" + } + + connection_auth_mode { + auth_type = "API_KEY" + } -```terraform -resource "aws_appsync_event_api" "example" { - name = "example-event-api" - owner_contact = "admin@example.com" + default_publish_auth_mode { + auth_type = "API_KEY" + } + + default_subscribe_auth_mode { + auth_type = "API_KEY" + } + } } ``` @@ -36,7 +45,7 @@ resource "aws_cognito_user_pool" "example" { name = "example-user-pool" } -resource "aws_appsync_event_api" "example" { +resource "aws_appsync_api" "example" { name = "example-event-api" event_config { @@ -47,6 +56,18 @@ resource "aws_appsync_event_api" "example" { aws_region = data.aws_region.current.name } } + + connection_auth_mode { + auth_type = "AMAZON_COGNITO_USER_POOLS" + } + + default_publish_auth_mode { + auth_type = "AMAZON_COGNITO_USER_POOLS" + } + + default_subscribe_auth_mode { + auth_type = "AMAZON_COGNITO_USER_POOLS" + } } } @@ -56,32 +77,7 @@ data "aws_region" "current" {} ### With Lambda Authorizer ```terraform -resource "aws_iam_role" "lambda" { - name = "example-lambda-role" - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "lambda.amazonaws.com" - } - } - ] - }) -} - -resource "aws_lambda_function" "example" { - filename = "lambda_authorizer.zip" - function_name = "example-authorizer" - role = aws_iam_role.lambda.arn - handler = "index.handler" - runtime = "nodejs18.x" -} - -resource "aws_appsync_event_api" "example" { +resource "aws_appsync_api" "example" { name = "example-event-api" event_config { @@ -92,80 +88,17 @@ resource "aws_appsync_event_api" "example" { authorizer_result_ttl_in_seconds = 300 } } - } -} -``` - -### With OpenID Connect -```terraform -resource "aws_appsync_event_api" "example" { - name = "example-event-api" - - event_config { - auth_provider { - auth_type = "OPENID_CONNECT" - openid_connect_config { - issuer = "https://example.com" - client_id = "example-client-id" - } - } - } -} -``` - -### With Authentication Modes - -```terraform -resource "aws_appsync_event_api" "example" { - name = "example-event-api" - - event_config { connection_auth_mode { - auth_type = "API_KEY" + auth_type = "AWS_LAMBDA" } + default_publish_auth_mode { - auth_type = "API_KEY" - } - default_subscribe_auth_mode { - auth_type = "API_KEY" + auth_type = "AWS_LAMBDA" } - } -} -``` -### With CloudWatch Logging - -```terraform -resource "aws_iam_role" "cloudwatch" { - name = "example-cloudwatch-role" - - assume_role_policy = jsonencode({ - Version = "2012-10-17" - Statement = [ - { - Action = "sts:AssumeRole" - Effect = "Allow" - Principal = { - Service = "appsync.amazonaws.com" - } - } - ] - }) -} - -resource "aws_iam_role_policy_attachment" "cloudwatch" { - policy_arn = "arn:aws:iam::aws:policy/service-role/AppSyncPushToCloudWatchLogs" - role = aws_iam_role.cloudwatch.name -} - -resource "aws_appsync_event_api" "example" { - name = "example-event-api" - - event_config { - log_config { - cloudwatch_logs_role_arn = aws_iam_role.cloudwatch.arn - log_level = "ERROR" + default_subscribe_auth_mode { + auth_type = "AWS_LAMBDA" } } } @@ -188,10 +121,10 @@ The following arguments are optional: The `event_config` block supports the following: -* `auth_provider` - (Optional) List of authentication providers. See [Auth Providers](#auth-providers) below. -* `connection_auth_mode` - (Optional) List of authentication modes for connections. See [Auth Modes](#auth-modes) below. -* `default_publish_auth_mode` - (Optional) List of default authentication modes for publishing. See [Auth Modes](#auth-modes) below. -* `default_subscribe_auth_mode` - (Optional) List of default authentication modes for subscribing. See [Auth Modes](#auth-modes) below. +* `auth_provider` - (Required) List of authentication providers. See [Auth Providers](#auth-providers) below. +* `connection_auth_mode` - (Required) List of authentication modes for connections. See [Auth Modes](#auth-modes) below. +* `default_publish_auth_mode` - (Required) List of default authentication modes for publishing. See [Auth Modes](#auth-modes) below. +* `default_subscribe_auth_mode` - (Required) List of default authentication modes for subscribing. See [Auth Modes](#auth-modes) below. * `log_config` - (Optional) Logging configuration. See [Log Config](#log-config) below. ### Auth Providers @@ -207,26 +140,26 @@ The `auth_provider` block supports the following: The `cognito_config` block supports the following: -* `user_pool_id` - (Required) ID of the Cognito user pool. -* `aws_region` - (Required) AWS region where the user pool is located. * `app_id_client_regex` - (Optional) Regular expression for matching the client ID. +* `aws_region` - (Required) AWS region where the user pool is located. +* `user_pool_id` - (Required) ID of the Cognito user pool. ### Lambda Authorizer Config The `lambda_authorizer_config` block supports the following: -* `authorizer_uri` - (Required) URI of the Lambda function for authorization. * `authorizer_result_ttl_in_seconds` - (Optional) TTL in seconds for the authorization result cache. +* `authorizer_uri` - (Required) URI of the Lambda function for authorization. * `identity_validation_expression` - (Optional) Regular expression for identity validation. ### OpenID Connect Config The `openid_connect_config` block supports the following: -* `issuer` - (Required) Issuer URL for the OpenID Connect provider. -* `client_id` - (Optional) Client ID for the OpenID Connect provider. * `auth_ttl` - (Optional) TTL in seconds for the authentication token. +* `client_id` - (Optional) Client ID for the OpenID Connect provider. * `iat_ttl` - (Optional) TTL in seconds for the issued at time. +* `issuer` - (Required) Issuer URL for the OpenID Connect provider. ### Auth Modes @@ -257,7 +190,7 @@ In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashico ```terraform import { - to = aws_appsync_event_api.example + to = aws_appsync_api.example id = "example-api-id" } ``` @@ -265,5 +198,5 @@ import { Using `terraform import`, import AppSync Event API using the `api_id`. For example: ```console -% terraform import aws_appsync_event_api.example example-api-id +% terraform import aws_appsync_api.example example-api-id ``` From 0d3c2401f10c3339a91d9b915a3c59d15896b087 Mon Sep 17 00:00:00 2001 From: changelogbot Date: Tue, 12 Aug 2025 13:42:32 +0000 Subject: [PATCH 1079/1301] Update CHANGELOG.md for #43829 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bbc885f00cf6..92abdcf760f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ BUG FIXES: * data-source/aws_lambda_function: Fix missing value for `reserved_concurrent_executions` attribute when a published version exists. This functionality requires the `lambda:GetFunctionConcurrency` IAM permission ([#43753](https://github.com/hashicorp/terraform-provider-aws/issues/43753)) * resource/aws_cognito_risk_configuration: Make `account_takeover_risk_configuration.notify_configuration` optional ([#33624](https://github.com/hashicorp/terraform-provider-aws/issues/33624)) +* resource/aws_ecs_service: Fix tagging failure after upgrading to v6 provider ([#43816](https://github.com/hashicorp/terraform-provider-aws/issues/43816)) * resource/aws_lambda_function: Fix missing value for `reserved_concurrent_executions` attribute when a published version exists. This functionality requires the `lambda:GetFunctionConcurrency` IAM permission ([#43753](https://github.com/hashicorp/terraform-provider-aws/issues/43753)) * resource/aws_sagemaker_user_profile: Fix incomplete regex for `user_profile_name` ([#43807](https://github.com/hashicorp/terraform-provider-aws/issues/43807)) * resource/aws_servicequotas_service_quota: Add validation, during `create`, to check if new value is less than current value of quota ([#43545](https://github.com/hashicorp/terraform-provider-aws/issues/43545)) From ca5dedc659ef3d8ea7215b6f5d9b1e69509e5895 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Tue, 12 Aug 2025 09:43:17 -0400 Subject: [PATCH 1080/1301] chore: re-run sns service generators --- internal/service/sns/service_package_gen.go | 6 ------ 1 file changed, 6 deletions(-) diff --git a/internal/service/sns/service_package_gen.go b/internal/service/sns/service_package_gen.go index 90ff1e27bc3b..e8089f2d7697 100644 --- a/internal/service/sns/service_package_gen.go +++ b/internal/service/sns/service_package_gen.go @@ -47,12 +47,6 @@ func (p *servicePackage) SDKResources(ctx context.Context) []*inttypes.ServicePa TypeName: "aws_sns_platform_application", Name: "Platform Application", Region: unique.Make(inttypes.ResourceRegionDefault()), - Identity: inttypes.RegionalARNIdentity( - inttypes.WithIdentityDuplicateAttrs(names.AttrID), - ), - Import: inttypes.SDKv2Import{ - WrappedImport: true, - }, }, { Factory: resourceSMSPreferences, From 91572841648138ff1089834456ce135f228a78c3 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Tue, 12 Aug 2025 09:43:23 -0400 Subject: [PATCH 1081/1301] chore: changelog --- .changelog/43830.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .changelog/43830.txt diff --git a/.changelog/43830.txt b/.changelog/43830.txt new file mode 100644 index 000000000000..28fddca9bf88 --- /dev/null +++ b/.changelog/43830.txt @@ -0,0 +1,11 @@ +```release-note:enhancement +resource/aws_sns_topic_policy: Add resource identity +``` + +```release-note:enhancement +resource/aws_sns_topic_data_protection_policy: Add resource identity +``` + +```release-note:enhancement +resource/aws_sns_topic_subscription: Add resource identity +``` From 8a5ace6ac2b70ae5dd7174d15b59be4f33c15cdc Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:45:57 -0400 Subject: [PATCH 1082/1301] r/aws_appsync_api: 'event_config' is Required. --- internal/service/appsync/api.go | 2 ++ internal/service/appsync/api_test.go | 16 ---------------- website/docs/r/appsync_api.html.markdown | 2 +- 3 files changed, 3 insertions(+), 17 deletions(-) diff --git a/internal/service/appsync/api.go b/internal/service/appsync/api.go index c6c1b8d2f229..e28c2faf3bb8 100644 --- a/internal/service/appsync/api.go +++ b/internal/service/appsync/api.go @@ -93,6 +93,8 @@ func (r *apiResource) Schema(ctx context.Context, request resource.SchemaRequest "event_config": schema.ListNestedBlock{ CustomType: fwtypes.NewListNestedObjectTypeOf[eventConfigModel](ctx), Validators: []validator.List{ + listvalidator.IsRequired(), + listvalidator.SizeAtLeast(1), listvalidator.SizeAtMost(1), }, NestedObject: schema.NestedBlockObject{ diff --git a/internal/service/appsync/api_test.go b/internal/service/appsync/api_test.go index be5079c56713..cda2985858f9 100644 --- a/internal/service/appsync/api_test.go +++ b/internal/service/appsync/api_test.go @@ -21,10 +21,6 @@ import ( func TestAccAppSyncAPI_basic(t *testing.T) { ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - var api awstypes.Api rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_appsync_api.test" @@ -74,10 +70,6 @@ func TestAccAppSyncAPI_basic(t *testing.T) { func TestAccAppSyncAPI_comprehensive(t *testing.T) { ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - var api awstypes.Api rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_appsync_api.test" @@ -148,10 +140,6 @@ func TestAccAppSyncAPI_comprehensive(t *testing.T) { func TestAccAppSyncAPI_update(t *testing.T) { ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - var api awstypes.Api rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) rNameUpdated := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) @@ -199,10 +187,6 @@ func TestAccAppSyncAPI_update(t *testing.T) { } func TestAccAppSyncAPI_disappears(t *testing.T) { ctx := acctest.Context(t) - if testing.Short() { - t.Skip("skipping long-running test in short mode") - } - var api awstypes.Api rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_appsync_api.test" diff --git a/website/docs/r/appsync_api.html.markdown b/website/docs/r/appsync_api.html.markdown index 097429a3d14a..bdbd1e030c92 100644 --- a/website/docs/r/appsync_api.html.markdown +++ b/website/docs/r/appsync_api.html.markdown @@ -108,11 +108,11 @@ resource "aws_appsync_api" "example" { The following arguments are required: +* `event_config` - (Required) Configuration for the Event API. See [Event Config](#event-config) below. * `name` - (Required) Name of the Event API. The following arguments are optional: -* `event_config` - (Optional) Configuration for the Event API. See [Event Config](#event-config) below. * `owner_contact` - (Optional) Contact information for the owner of the Event API. * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `tags` - (Optional) Map of tags to assign to the resource. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. From b9534e385069eef2d6cdbea8407ed19ca72438f3 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:54:45 -0400 Subject: [PATCH 1083/1301] Build with go1.24.6. --- .ci/providerlint/go.mod | 2 +- .ci/providerlint/passes/AWSAT001/testdata/go.mod | 2 +- .ci/providerlint/passes/AWSAT002/testdata/go.mod | 2 +- .ci/providerlint/passes/AWSAT003/testdata/go.mod | 2 +- .ci/providerlint/passes/AWSAT004/testdata/go.mod | 2 +- .ci/providerlint/passes/AWSAT005/testdata/go.mod | 2 +- .ci/providerlint/passes/AWSAT006/testdata/go.mod | 2 +- .ci/providerlint/passes/AWSR001/testdata/go.mod | 2 +- .ci/providerlint/passes/AWSV001/testdata/go.mod | 2 +- .ci/tools/go.mod | 2 +- go.mod | 2 +- .../examplecompany-exampleservice-exampleresource/go.mod | 2 +- skaff/go.mod | 2 +- tools/literally/go.mod | 2 +- tools/tfsdk2fw/go.mod | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.ci/providerlint/go.mod b/.ci/providerlint/go.mod index 48f5cf993f13..4a3b91793ba5 100644 --- a/.ci/providerlint/go.mod +++ b/.ci/providerlint/go.mod @@ -1,6 +1,6 @@ module github.com/hashicorp/terraform-provider-aws/ci/providerlint -go 1.24.5 +go 1.24.6 require ( github.com/bflad/tfproviderlint v0.31.0 diff --git a/.ci/providerlint/passes/AWSAT001/testdata/go.mod b/.ci/providerlint/passes/AWSAT001/testdata/go.mod index cf8e25dbb556..7b6c5e842e0e 100644 --- a/.ci/providerlint/passes/AWSAT001/testdata/go.mod +++ b/.ci/providerlint/passes/AWSAT001/testdata/go.mod @@ -1,6 +1,6 @@ module testdata -go 1.24.5 +go 1.24.6 require ( github.com/YakDriver/regexache v0.24.0 diff --git a/.ci/providerlint/passes/AWSAT002/testdata/go.mod b/.ci/providerlint/passes/AWSAT002/testdata/go.mod index 0cec4e51d888..193682352e59 100644 --- a/.ci/providerlint/passes/AWSAT002/testdata/go.mod +++ b/.ci/providerlint/passes/AWSAT002/testdata/go.mod @@ -1,3 +1,3 @@ module testdata -go 1.24.5 +go 1.24.6 diff --git a/.ci/providerlint/passes/AWSAT003/testdata/go.mod b/.ci/providerlint/passes/AWSAT003/testdata/go.mod index 0cec4e51d888..193682352e59 100644 --- a/.ci/providerlint/passes/AWSAT003/testdata/go.mod +++ b/.ci/providerlint/passes/AWSAT003/testdata/go.mod @@ -1,3 +1,3 @@ module testdata -go 1.24.5 +go 1.24.6 diff --git a/.ci/providerlint/passes/AWSAT004/testdata/go.mod b/.ci/providerlint/passes/AWSAT004/testdata/go.mod index 9679c41edd58..8612d40d91c9 100644 --- a/.ci/providerlint/passes/AWSAT004/testdata/go.mod +++ b/.ci/providerlint/passes/AWSAT004/testdata/go.mod @@ -1,6 +1,6 @@ module testdata -go 1.24.5 +go 1.24.6 require github.com/hashicorp/terraform-plugin-sdk/v2 v2.36.1 diff --git a/.ci/providerlint/passes/AWSAT005/testdata/go.mod b/.ci/providerlint/passes/AWSAT005/testdata/go.mod index 0cec4e51d888..193682352e59 100644 --- a/.ci/providerlint/passes/AWSAT005/testdata/go.mod +++ b/.ci/providerlint/passes/AWSAT005/testdata/go.mod @@ -1,3 +1,3 @@ module testdata -go 1.24.5 +go 1.24.6 diff --git a/.ci/providerlint/passes/AWSAT006/testdata/go.mod b/.ci/providerlint/passes/AWSAT006/testdata/go.mod index 0cec4e51d888..193682352e59 100644 --- a/.ci/providerlint/passes/AWSAT006/testdata/go.mod +++ b/.ci/providerlint/passes/AWSAT006/testdata/go.mod @@ -1,3 +1,3 @@ module testdata -go 1.24.5 +go 1.24.6 diff --git a/.ci/providerlint/passes/AWSR001/testdata/go.mod b/.ci/providerlint/passes/AWSR001/testdata/go.mod index 0cec4e51d888..193682352e59 100644 --- a/.ci/providerlint/passes/AWSR001/testdata/go.mod +++ b/.ci/providerlint/passes/AWSR001/testdata/go.mod @@ -1,3 +1,3 @@ module testdata -go 1.24.5 +go 1.24.6 diff --git a/.ci/providerlint/passes/AWSV001/testdata/go.mod b/.ci/providerlint/passes/AWSV001/testdata/go.mod index 36c386c144fe..6d0182fd68a9 100644 --- a/.ci/providerlint/passes/AWSV001/testdata/go.mod +++ b/.ci/providerlint/passes/AWSV001/testdata/go.mod @@ -1,6 +1,6 @@ module testdata -go 1.24.5 +go 1.24.6 require github.com/hashicorp/terraform-plugin-sdk/v2 v2.36.1 diff --git a/.ci/tools/go.mod b/.ci/tools/go.mod index 86400b689788..6783bcdbe621 100644 --- a/.ci/tools/go.mod +++ b/.ci/tools/go.mod @@ -1,6 +1,6 @@ module github.com/hashicorp/terraform-provider-aws/tools -go 1.24.5 +go 1.24.6 require ( github.com/YakDriver/tfproviderdocs v0.22.0 diff --git a/go.mod b/go.mod index 85e66404ddbd..c8e4ef630f00 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/hashicorp/terraform-provider-aws -go 1.24.5 +go 1.24.6 // Disable post-quantum X25519MLKEM768 key exchange mechanism // This causes errors with AWS Network Firewall diff --git a/internal/service/cloudformation/test-fixtures/examplecompany-exampleservice-exampleresource/go.mod b/internal/service/cloudformation/test-fixtures/examplecompany-exampleservice-exampleresource/go.mod index 93ad14ea1faa..55babd612a8c 100644 --- a/internal/service/cloudformation/test-fixtures/examplecompany-exampleservice-exampleresource/go.mod +++ b/internal/service/cloudformation/test-fixtures/examplecompany-exampleservice-exampleresource/go.mod @@ -1,6 +1,6 @@ module exampleresource -go 1.24.5 +go 1.24.6 require github.com/aws-cloudformation/cloudformation-cli-go-plugin v1.2.0 diff --git a/skaff/go.mod b/skaff/go.mod index 72cdf0e8cc6d..d23e7f351766 100644 --- a/skaff/go.mod +++ b/skaff/go.mod @@ -1,6 +1,6 @@ module github.com/hashicorp/terraform-provider-aws/skaff -go 1.24.5 +go 1.24.6 require ( github.com/YakDriver/regexache v0.24.0 diff --git a/tools/literally/go.mod b/tools/literally/go.mod index 162cb77bfc69..579cff1f29e1 100644 --- a/tools/literally/go.mod +++ b/tools/literally/go.mod @@ -1,3 +1,3 @@ module github.com/hashicorp/terraform-provider-aws/tools/literally -go 1.24.5 +go 1.24.6 diff --git a/tools/tfsdk2fw/go.mod b/tools/tfsdk2fw/go.mod index ef9423d928b7..37bf538906dc 100644 --- a/tools/tfsdk2fw/go.mod +++ b/tools/tfsdk2fw/go.mod @@ -1,6 +1,6 @@ module github.com/hashicorp/terraform-provider-aws/tools/tfsdk2fw -go 1.24.5 +go 1.24.6 require ( github.com/hashicorp/terraform-plugin-sdk/v2 v2.37.0 From 3163535be432d6aae822ef14a2ad91ea86a9208b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 09:58:07 -0400 Subject: [PATCH 1084/1301] Update '.go-version'. --- .go-version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.go-version b/.go-version index 6521720b4145..7a429d68a36a 100644 --- a/.go-version +++ b/.go-version @@ -1 +1 @@ -1.24.5 +1.24.6 From 7c59fbb0c2bce22af676a46ee8064d159e9cb70e Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Tue, 12 Aug 2025 09:59:07 -0400 Subject: [PATCH 1085/1301] r/aws_sns_topic_subscription: fix auto-confirming endpoint test configurations --- .../service/sns/topic_subscription_test.go | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/internal/service/sns/topic_subscription_test.go b/internal/service/sns/topic_subscription_test.go index b59c4ca76c59..1b97b90dbcd9 100644 --- a/internal/service/sns/topic_subscription_test.go +++ b/internal/service/sns/topic_subscription_test.go @@ -1165,7 +1165,7 @@ resource "aws_lambda_permission" "apigw_lambda" { action = "lambda:InvokeFunction" function_name = aws_lambda_function.lambda.arn principal = "apigateway.${data.aws_partition.current.dns_suffix}" - source_arn = "${aws_api_gateway_deployment.test.execution_arn}/*" + source_arn = "${aws_api_gateway_stage.test.execution_arn}/*" } resource "aws_lambda_function" "lambda" { @@ -1180,14 +1180,19 @@ resource "aws_lambda_function" "lambda" { resource "aws_api_gateway_deployment" "test" { depends_on = [aws_api_gateway_integration_response.test] rest_api_id = aws_api_gateway_rest_api.test.id - stage_name = "acctest" +} + +resource "aws_api_gateway_stage" "test" { + stage_name = "acctest" + rest_api_id = aws_api_gateway_rest_api.test.id + deployment_id = aws_api_gateway_deployment.test.id } resource "aws_sns_topic_subscription" "test" { depends_on = [aws_lambda_permission.apigw_lambda] topic_arn = aws_sns_topic.test.arn protocol = "https" - endpoint = aws_api_gateway_deployment.test.invoke_url + endpoint = aws_api_gateway_stage.test.invoke_url endpoint_auto_confirms = true } `, rName) @@ -1291,7 +1296,7 @@ resource "aws_lambda_permission" "apigw_lambda" { action = "lambda:InvokeFunction" function_name = aws_lambda_function.lambda.arn principal = "apigateway.${data.aws_partition.current.dns_suffix}" - source_arn = "${aws_api_gateway_deployment.test.execution_arn}/*" + source_arn = "${aws_api_gateway_stage.test.execution_arn}/*" } resource "aws_lambda_function" "lambda" { @@ -1306,7 +1311,12 @@ resource "aws_lambda_function" "lambda" { resource "aws_api_gateway_deployment" "test" { depends_on = [aws_api_gateway_integration_response.test] rest_api_id = aws_api_gateway_rest_api.test.id - stage_name = "acctest" +} + +resource "aws_api_gateway_stage" "test" { + stage_name = "acctest" + rest_api_id = aws_api_gateway_rest_api.test.id + deployment_id = aws_api_gateway_deployment.test.id } resource "aws_iam_role" "invocation_role" { @@ -1389,7 +1399,7 @@ resource "aws_sns_topic_subscription" "test" { depends_on = [aws_lambda_permission.apigw_lambda] topic_arn = aws_sns_topic.test.arn protocol = "https" - endpoint = replace(aws_api_gateway_deployment.test.invoke_url, "https://", "https://davematthews:granny@") + endpoint = replace(aws_api_gateway_stage.test.invoke_url, "https://", "https://davematthews:granny@") endpoint_auto_confirms = true confirmation_timeout_in_minutes = 3 From ae45405cc2c9ad93829bd4eab071362efce7d8b6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 12 Aug 2025 10:11:40 -0400 Subject: [PATCH 1086/1301] Bump actions/create-github-app-token from 2.1.0 to 2.1.1 (#43831) Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 2.1.0 to 2.1.1. - [Release notes](https://github.com/actions/create-github-app-token/releases) - [Commits](https://github.com/actions/create-github-app-token/compare/0f859bf9e69e887678d5bbfbee594437cb440ffe...a8d616148505b5069dccd32f177bb87d7f39123b) --- updated-dependencies: - dependency-name: actions/create-github-app-token dependency-version: 2.1.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/generate_changelog.yml | 2 +- .github/workflows/maintainer_helpers.yml | 4 ++-- .github/workflows/triage.yml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/generate_changelog.yml b/.github/workflows/generate_changelog.yml index 341bd5f047a5..953a581fca2c 100644 --- a/.github/workflows/generate_changelog.yml +++ b/.github/workflows/generate_changelog.yml @@ -8,7 +8,7 @@ jobs: if: github.event.pull_request.merged || github.event_name == 'workflow_dispatch' runs-on: ubuntu-latest steps: - - uses: actions/create-github-app-token@0f859bf9e69e887678d5bbfbee594437cb440ffe # v2.1.0 + - uses: actions/create-github-app-token@a8d616148505b5069dccd32f177bb87d7f39123b # v2.1.1 id: app-token with: app-id: ${{ secrets.APP_ID }} diff --git a/.github/workflows/maintainer_helpers.yml b/.github/workflows/maintainer_helpers.yml index 5a50fc7a27f4..b1572abc0228 100644 --- a/.github/workflows/maintainer_helpers.yml +++ b/.github/workflows/maintainer_helpers.yml @@ -39,7 +39,7 @@ jobs: CURRENT_LABELS: ${{ github.event_name == 'issues' && toJSON(github.event.issue.labels.*.name) || toJSON(github.event.pull_request.labels.*.name) }} GH_CLI_SUBCOMMAND: ${{ github.event_name == 'pull_request_target' && 'pr' || 'issue' }} steps: - - uses: actions/create-github-app-token@0f859bf9e69e887678d5bbfbee594437cb440ffe # v2.1.0 + - uses: actions/create-github-app-token@a8d616148505b5069dccd32f177bb87d7f39123b # v2.1.1 id: token with: app-id: ${{ secrets.APP_ID }} @@ -220,7 +220,7 @@ jobs: ] } - - uses: actions/create-github-app-token@0f859bf9e69e887678d5bbfbee594437cb440ffe # v2.1.0 + - uses: actions/create-github-app-token@a8d616148505b5069dccd32f177bb87d7f39123b # v2.1.1 if: github.event_name == 'schedule' id: token with: diff --git a/.github/workflows/triage.yml b/.github/workflows/triage.yml index a607dd30e593..92409f313879 100644 --- a/.github/workflows/triage.yml +++ b/.github/workflows/triage.yml @@ -80,7 +80,7 @@ jobs: enable-versioned-regex: 0 include-title: 1 - - uses: actions/create-github-app-token@0f859bf9e69e887678d5bbfbee594437cb440ffe # v2.1.0 + - uses: actions/create-github-app-token@a8d616148505b5069dccd32f177bb87d7f39123b # v2.1.1 id: token if: github.event_name == 'issues' with: From 79ffb24bbff2e826bfac8071093d845a219ac1af Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 10:18:25 -0400 Subject: [PATCH 1087/1301] tfresource.RetryWhenAWSErrMessageContains: Use 'internal/retry'. --- internal/tfresource/retry.go | 4 ++-- internal/tfresource/retry_test.go | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/tfresource/retry.go b/internal/tfresource/retry.go index dee26fbb8593..1c15bbf408b3 100644 --- a/internal/tfresource/retry.go +++ b/internal/tfresource/retry.go @@ -118,8 +118,8 @@ func RetryWhenAWSErrCodeContains[T any](ctx context.Context, timeout time.Durati } // RetryWhenAWSErrMessageContains retries the specified function when it returns an AWS error containing the specified message. -func RetryWhenAWSErrMessageContains(ctx context.Context, timeout time.Duration, f func() (any, error), code, message string) (any, error) { // nosemgrep:ci.aws-in-func-name - return RetryWhen(ctx, timeout, f, func(err error) (bool, error) { +func RetryWhenAWSErrMessageContains[T any](ctx context.Context, timeout time.Duration, f func(context.Context) (T, error), code, message string) (T, error) { // nosemgrep:ci.aws-in-func-name + return retryWhen(ctx, timeout, f, func(err error) (bool, error) { if tfawserr.ErrMessageContains(err, code, message) { return true, err } diff --git a/internal/tfresource/retry_test.go b/internal/tfresource/retry_test.go index 05a88fc74b28..ffb504050db6 100644 --- a/internal/tfresource/retry_test.go +++ b/internal/tfresource/retry_test.go @@ -60,18 +60,18 @@ func TestRetryWhenAWSErrMessageContains(t *testing.T) { // nosemgrep:ci.aws-in-f ctx := t.Context() testCases := []struct { Name string - F func() (any, error) + F func(context.Context) (any, error) ExpectError bool }{ { Name: "no error", - F: func() (any, error) { + F: func(context.Context) (any, error) { return nil, nil }, }, { Name: "non-retryable other error", - F: func() (any, error) { + F: func(context.Context) (any, error) { return nil, errors.New("TestCode") }, ExpectError: true, From 45a87926bb1996cca4eb07aea8d57c4d25d2bb23 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 10:23:27 -0400 Subject: [PATCH 1088/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrMessageContains' - acmpca. --- internal/service/acmpca/certificate_authority.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/acmpca/certificate_authority.go b/internal/service/acmpca/certificate_authority.go index a1f279f3ebaa..310b8f68c448 100644 --- a/internal/service/acmpca/certificate_authority.go +++ b/internal/service/acmpca/certificate_authority.go @@ -367,7 +367,7 @@ func resourceCertificateAuthorityCreate(ctx context.Context, d *schema.ResourceD } // ValidationException: The ACM Private CA service account 'acm-pca-prod-pdx' requires getBucketAcl permissions for your S3 bucket 'tf-acc-test-5224996536060125340'. Check your S3 bucket permissions and try again. - outputRaw, err := tfresource.RetryWhenAWSErrMessageContains(ctx, 1*time.Minute, func() (any, error) { + outputRaw, err := tfresource.RetryWhenAWSErrMessageContains(ctx, 1*time.Minute, func(ctx context.Context) (any, error) { return conn.CreateCertificateAuthority(ctx, &input) }, "ValidationException", "Check your S3 bucket permissions and try again") From d604c29f53e23c0549ca6ee9559cea4f16f38062 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 10:23:29 -0400 Subject: [PATCH 1089/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrMessageContains' - autoscaling. --- internal/service/autoscaling/attachment.go | 8 ++++---- internal/service/autoscaling/group.go | 4 ++-- internal/service/autoscaling/lifecycle_hook.go | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/internal/service/autoscaling/attachment.go b/internal/service/autoscaling/attachment.go index 786c180f768d..2493c9e18cf5 100644 --- a/internal/service/autoscaling/attachment.go +++ b/internal/service/autoscaling/attachment.go @@ -63,7 +63,7 @@ func resourceAttachmentCreate(ctx context.Context, d *schema.ResourceData, meta } _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, d.Timeout(schema.TimeoutCreate), - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.AttachLoadBalancers(ctx, input) }, // ValidationError: Trying to update too many Load Balancers/Target Groups at once. The limit is 10 @@ -80,7 +80,7 @@ func resourceAttachmentCreate(ctx context.Context, d *schema.ResourceData, meta } _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, d.Timeout(schema.TimeoutCreate), - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.AttachLoadBalancerTargetGroups(ctx, input) }, errCodeValidationError, "update too many") @@ -135,7 +135,7 @@ func resourceAttachmentDelete(ctx context.Context, d *schema.ResourceData, meta } _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, d.Timeout(schema.TimeoutCreate), - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.DetachLoadBalancers(ctx, input) }, errCodeValidationError, "update too many") @@ -155,7 +155,7 @@ func resourceAttachmentDelete(ctx context.Context, d *schema.ResourceData, meta } _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, d.Timeout(schema.TimeoutCreate), - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.DetachLoadBalancerTargetGroups(ctx, input) }, errCodeValidationError, "update too many") diff --git a/internal/service/autoscaling/group.go b/internal/service/autoscaling/group.go index 084c10763cec..0ba41dc95d42 100644 --- a/internal/service/autoscaling/group.go +++ b/internal/service/autoscaling/group.go @@ -1217,7 +1217,7 @@ func resourceGroupCreate(ctx context.Context, d *schema.ResourceData, meta any) } _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.CreateAutoScalingGroup(ctx, &inputCASG) }, // ValidationError: You must use a valid fully-formed launch template. Value (tf-acc-test-6643732652421074386) for parameter iamInstanceProfile.name is invalid. Invalid IAM Instance Profile name @@ -1235,7 +1235,7 @@ func resourceGroupCreate(ctx context.Context, d *schema.ResourceData, meta any) timeout = 5 * time.Minute ) _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, timeout, - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.PutLifecycleHook(ctx, input) }, errCodeValidationError, "Unable to publish test message to notification target") diff --git a/internal/service/autoscaling/lifecycle_hook.go b/internal/service/autoscaling/lifecycle_hook.go index d8ec7f2c060a..7f8e9acd6f3f 100644 --- a/internal/service/autoscaling/lifecycle_hook.go +++ b/internal/service/autoscaling/lifecycle_hook.go @@ -123,7 +123,7 @@ func resourceLifecycleHookPut(ctx context.Context, d *schema.ResourceData, meta } _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, 5*time.Minute, - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.PutLifecycleHook(ctx, input) }, errCodeValidationError, "Unable to publish test message to notification target") From eb652457a5175ec286b087924b839ac507f9080a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 10:23:29 -0400 Subject: [PATCH 1090/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrMessageContains' - backup. --- internal/service/backup/vault_policy.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/backup/vault_policy.go b/internal/service/backup/vault_policy.go index 0b026154cd27..28e242434ec2 100644 --- a/internal/service/backup/vault_policy.go +++ b/internal/service/backup/vault_policy.go @@ -67,7 +67,7 @@ func resourceVaultPolicyPut(ctx context.Context, d *schema.ResourceData, meta an } _, err = tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.PutBackupVaultAccessPolicy(ctx, input) }, errCodeInvalidParameterValueException, "Provided principal is not valid", From c7f05c05869472b6b86720c0626d932478c2c10f Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 10:23:30 -0400 Subject: [PATCH 1091/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrMessageContains' - bedrock. --- internal/service/bedrock/custom_model.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/bedrock/custom_model.go b/internal/service/bedrock/custom_model.go index 5ea5d1f042f9..ba3c6eca9b85 100644 --- a/internal/service/bedrock/custom_model.go +++ b/internal/service/bedrock/custom_model.go @@ -285,7 +285,7 @@ func (r *customModelResource) Create(ctx context.Context, request resource.Creat input.CustomModelTags = getTagsIn(ctx) input.JobTags = getTagsIn(ctx) - outputRaw, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.CreateModelCustomizationJob(ctx, input) }, errCodeValidationException, "Could not assume provided IAM role") From 3345bfb179dc361bf4aee7835ce44536ef3f7538 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 10:23:30 -0400 Subject: [PATCH 1092/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrMessageContains' - bedrockagent. --- internal/service/bedrockagent/data_source.go | 4 ++-- internal/service/bedrockagent/knowledge_base.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/service/bedrockagent/data_source.go b/internal/service/bedrockagent/data_source.go index 80dde3639c8a..983f6994ae1a 100644 --- a/internal/service/bedrockagent/data_source.go +++ b/internal/service/bedrockagent/data_source.go @@ -810,7 +810,7 @@ func (r *dataSourceResource) Create(ctx context.Context, request resource.Create input.ClientToken = aws.String(id.UniqueId()) - outputRaw, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.CreateDataSource(ctx, input) }, errCodeValidationException, "cannot assume role") @@ -898,7 +898,7 @@ func (r *dataSourceResource) Update(ctx context.Context, request resource.Update return } - _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.UpdateDataSource(ctx, input) }, errCodeValidationException, "cannot assume role") diff --git a/internal/service/bedrockagent/knowledge_base.go b/internal/service/bedrockagent/knowledge_base.go index a721e6be47ac..8aeb2a7565f9 100644 --- a/internal/service/bedrockagent/knowledge_base.go +++ b/internal/service/bedrockagent/knowledge_base.go @@ -628,7 +628,7 @@ func (r *knowledgeBaseResource) Update(ctx context.Context, request resource.Upd return } - _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.UpdateKnowledgeBase(ctx, input) }, errCodeValidationException, "cannot assume role") From b763b3abe2de43fe9c0d1f5e5c18726ad48623a1 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 10:23:31 -0400 Subject: [PATCH 1093/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrMessageContains' - chimesdkmediapipelines. --- .../media_insights_pipeline_configuration.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/chimesdkmediapipelines/media_insights_pipeline_configuration.go b/internal/service/chimesdkmediapipelines/media_insights_pipeline_configuration.go index 8c11b5a78730..c5e56f760687 100644 --- a/internal/service/chimesdkmediapipelines/media_insights_pipeline_configuration.go +++ b/internal/service/chimesdkmediapipelines/media_insights_pipeline_configuration.go @@ -610,7 +610,7 @@ func resourceMediaInsightsPipelineConfigurationDelete(ctx context.Context, d *sc log.Printf("[INFO] Deleting ChimeSDKMediaPipelines MediaInsightsPipelineConfiguration %s", d.Id()) // eventual consistency may cause an initial failure - _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, 15*time.Second, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, 15*time.Second, func(ctx context.Context) (any, error) { return conn.DeleteMediaInsightsPipelineConfiguration(ctx, &chimesdkmediapipelines.DeleteMediaInsightsPipelineConfigurationInput{ Identifier: aws.String(d.Id()), }) From 1064e212c6f33db749e236676eada8fc13ecb122 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 10:23:31 -0400 Subject: [PATCH 1094/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrMessageContains' - cloudformation. --- internal/service/cloudformation/stack.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/cloudformation/stack.go b/internal/service/cloudformation/stack.go index 846b0214e59a..8841ca947d5e 100644 --- a/internal/service/cloudformation/stack.go +++ b/internal/service/cloudformation/stack.go @@ -194,7 +194,7 @@ func resourceStackCreate(ctx context.Context, d *schema.ResourceData, meta any) input.TimeoutInMinutes = aws.Int32(int32(v.(int))) } - outputRaw, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.CreateStack(ctx, input) }, errCodeValidationError, "is invalid or cannot be assumed") @@ -325,7 +325,7 @@ func resourceStackUpdate(ctx context.Context, d *schema.ResourceData, meta any) input.Tags = tags } - _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.UpdateStack(ctx, input) }, errCodeValidationError, "is invalid or cannot be assumed") From c86d6f8349a3010563f7210f5494b3348a6b5266 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 10:23:34 -0400 Subject: [PATCH 1095/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrMessageContains' - codestarnotifications. --- internal/service/codestarnotifications/notification_rule.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/codestarnotifications/notification_rule.go b/internal/service/codestarnotifications/notification_rule.go index d7adb4ef1ef2..f52424dcc1ad 100644 --- a/internal/service/codestarnotifications/notification_rule.go +++ b/internal/service/codestarnotifications/notification_rule.go @@ -273,7 +273,7 @@ func cleanupNotificationRuleTargets(ctx context.Context, conn *codestarnotificat TargetAddress: aws.String(target[names.AttrAddress].(string)), } - _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, targetSubscriptionTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, targetSubscriptionTimeout, func(ctx context.Context) (any, error) { return conn.DeleteTarget(ctx, input) }, "ValidationException", notificationRuleErrorSubscribed) From f63ac932540bc7ba3ec2676de2a527425e51fb1e Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 10:23:37 -0400 Subject: [PATCH 1096/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrMessageContains' - docdb. --- internal/service/docdb/cluster.go | 6 +++--- internal/service/docdb/cluster_instance.go | 4 ++-- internal/service/docdb/global_cluster.go | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/internal/service/docdb/cluster.go b/internal/service/docdb/cluster.go index 3b4ee690cdaa..a044fed304d4 100644 --- a/internal/service/docdb/cluster.go +++ b/internal/service/docdb/cluster.go @@ -512,7 +512,7 @@ func resourceClusterCreate(ctx context.Context, d *schema.ResourceData, meta any input.VpcSecurityGroupIds = flex.ExpandStringValueSet(v) } - _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.RestoreDBClusterFromSnapshot(ctx, &input) }, errCodeInvalidParameterValue, "IAM role ARN value is invalid or does not include the required permissions") @@ -573,7 +573,7 @@ func resourceClusterCreate(ctx context.Context, d *schema.ResourceData, meta any input.VpcSecurityGroupIds = flex.ExpandStringValueSet(v) } - _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.RestoreDBClusterToPointInTime(ctx, &input) }, errCodeInvalidParameterValue, "IAM role ARN value is invalid or does not include the required permissions") if err != nil { @@ -677,7 +677,7 @@ func resourceClusterCreate(ctx context.Context, d *schema.ResourceData, meta any input.VpcSecurityGroupIds = flex.ExpandStringValueSet(v) } - _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.CreateDBCluster(ctx, &input) }, errCodeInvalidParameterValue, "IAM role ARN value is invalid or does not include the required permissions") diff --git a/internal/service/docdb/cluster_instance.go b/internal/service/docdb/cluster_instance.go index 6b0cc56af960..e96772799fd2 100644 --- a/internal/service/docdb/cluster_instance.go +++ b/internal/service/docdb/cluster_instance.go @@ -219,7 +219,7 @@ func resourceClusterInstanceCreate(ctx context.Context, d *schema.ResourceData, input.PreferredMaintenanceWindow = aws.String(v.(string)) } - _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.CreateDBInstance(ctx, input) }, errCodeInvalidParameterValue, "IAM role ARN value is invalid or does not include the required permissions") @@ -341,7 +341,7 @@ func resourceClusterInstanceUpdate(ctx context.Context, d *schema.ResourceData, input.PromotionTier = aws.Int32(int32(d.Get("promotion_tier").(int))) } - _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.ModifyDBInstance(ctx, input) }, errCodeInvalidParameterValue, "IAM role ARN value is invalid or does not include the required permissions") diff --git a/internal/service/docdb/global_cluster.go b/internal/service/docdb/global_cluster.go index 9388b793d6b9..1efcb4b2c98a 100644 --- a/internal/service/docdb/global_cluster.go +++ b/internal/service/docdb/global_cluster.go @@ -251,7 +251,7 @@ func resourceGlobalClusterUpdate(ctx context.Context, d *schema.ResourceData, me EngineVersion: aws.String(engineVersion), } - _, err = tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func() (any, error) { + _, err = tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.ModifyDBCluster(ctx, input) }, "InvalidParameterValue", "IAM role ARN value is invalid or does not include the required permissions") From 716f8953b6faf6a59dcc8fb58a0290870a595d66 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 10:23:38 -0400 Subject: [PATCH 1097/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrMessageContains' - ec2. --- internal/service/ec2/ebs_snapshot.go | 2 +- internal/service/ec2/ebs_snapshot_import.go | 2 +- internal/service/ec2/ebs_volume.go | 2 +- internal/service/ec2/ec2_instance.go | 2 +- internal/service/ec2/ec2_spot_fleet_request.go | 2 +- internal/service/ec2/vpc_.go | 2 +- internal/service/ec2/vpc_flow_log.go | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/internal/service/ec2/ebs_snapshot.go b/internal/service/ec2/ebs_snapshot.go index 32d8fafe1ed0..09d6ae27148a 100644 --- a/internal/service/ec2/ebs_snapshot.go +++ b/internal/service/ec2/ebs_snapshot.go @@ -127,7 +127,7 @@ func resourceEBSSnapshotCreate(ctx context.Context, d *schema.ResourceData, meta } outputRaw, err := tfresource.RetryWhenAWSErrMessageContains(ctx, 1*time.Minute, - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.CreateSnapshot(ctx, &input) }, errCodeSnapshotCreationPerVolumeRateExceeded, "The maximum per volume CreateSnapshot request rate has been exceeded") diff --git a/internal/service/ec2/ebs_snapshot_import.go b/internal/service/ec2/ebs_snapshot_import.go index d9adc9b5fda8..ea5e63331d5e 100644 --- a/internal/service/ec2/ebs_snapshot_import.go +++ b/internal/service/ec2/ebs_snapshot_import.go @@ -223,7 +223,7 @@ func resourceEBSSnapshotImportCreate(ctx context.Context, d *schema.ResourceData } outputRaw, err := tfresource.RetryWhenAWSErrMessageContains(ctx, iamPropagationTimeout, - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.ImportSnapshot(ctx, &input) }, errCodeInvalidParameter, "provided does not exist or does not have sufficient permissions") diff --git a/internal/service/ec2/ebs_volume.go b/internal/service/ec2/ebs_volume.go index 45b194fab0e4..8faca39d2ee2 100644 --- a/internal/service/ec2/ebs_volume.go +++ b/internal/service/ec2/ebs_volume.go @@ -292,7 +292,7 @@ func resourceEBSVolumeDelete(ctx context.Context, d *schema.ResourceData, meta a } outputRaw, err := tfresource.RetryWhenAWSErrMessageContains(ctx, 1*time.Minute, - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.CreateSnapshot(ctx, &input) }, errCodeSnapshotCreationPerVolumeRateExceeded, "The maximum per volume CreateSnapshot request rate has been exceeded") diff --git a/internal/service/ec2/ec2_instance.go b/internal/service/ec2/ec2_instance.go index d6ba0fd030eb..4d97df236371 100644 --- a/internal/service/ec2/ec2_instance.go +++ b/internal/service/ec2/ec2_instance.go @@ -3241,7 +3241,7 @@ func startInstance(ctx context.Context, conn *ec2.Client, id string, retry bool, if retry { // Reference: https://github.com/hashicorp/terraform-provider-aws/issues/16433. _, err = tfresource.RetryWhenAWSErrMessageContains(ctx, ec2PropagationTimeout, - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.StartInstances(ctx, &ec2.StartInstancesInput{ InstanceIds: []string{id}, }) diff --git a/internal/service/ec2/ec2_spot_fleet_request.go b/internal/service/ec2/ec2_spot_fleet_request.go index 4e2faf245a83..b488e0b0f3b8 100644 --- a/internal/service/ec2/ec2_spot_fleet_request.go +++ b/internal/service/ec2/ec2_spot_fleet_request.go @@ -998,7 +998,7 @@ func resourceSpotFleetRequestCreate(ctx context.Context, d *schema.ResourceData, log.Printf("[DEBUG] Creating EC2 Spot Fleet Request: %s", d.Id()) outputRaw, err := tfresource.RetryWhenAWSErrMessageContains(ctx, iamPropagationTimeout, - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.RequestSpotFleet(ctx, &input) }, errCodeInvalidSpotFleetRequestConfig, "SpotFleetRequestConfig.IamFleetRole", diff --git a/internal/service/ec2/vpc_.go b/internal/service/ec2/vpc_.go index d23501aa8049..ce177ab42d1e 100644 --- a/internal/service/ec2/vpc_.go +++ b/internal/service/ec2/vpc_.go @@ -221,7 +221,7 @@ func resourceVPCCreate(ctx context.Context, d *schema.ResourceData, meta any) di } // "UnsupportedOperation: The operation AllocateIpamPoolCidr is not supported. Account 123456789012 is not monitored by IPAM ipam-07b079e3392782a55." - outputRaw, err := tfresource.RetryWhenAWSErrMessageContains(ctx, ec2PropagationTimeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenAWSErrMessageContains(ctx, ec2PropagationTimeout, func(ctx context.Context) (any, error) { return conn.CreateVpc(ctx, input) }, errCodeUnsupportedOperation, "is not monitored by IPAM") diff --git a/internal/service/ec2/vpc_flow_log.go b/internal/service/ec2/vpc_flow_log.go index 3b0920c623c9..734b2b576afd 100644 --- a/internal/service/ec2/vpc_flow_log.go +++ b/internal/service/ec2/vpc_flow_log.go @@ -231,7 +231,7 @@ func resourceLogFlowCreate(ctx context.Context, d *schema.ResourceData, meta any input.MaxAggregationInterval = aws.Int32(int32(v.(int))) } - outputRaw, err := tfresource.RetryWhenAWSErrMessageContains(ctx, iamPropagationTimeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenAWSErrMessageContains(ctx, iamPropagationTimeout, func(ctx context.Context) (any, error) { return conn.CreateFlowLogs(ctx, input) }, errCodeInvalidParameter, "Unable to assume given IAM role") From b7b00482d3c2f7562c18016cb739d213ca7401d0 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 10:23:40 -0400 Subject: [PATCH 1098/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrMessageContains' - events. --- internal/service/events/endpoint.go | 2 +- internal/service/events/rule.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/service/events/endpoint.go b/internal/service/events/endpoint.go index efeeabab37e2..61e256162675 100644 --- a/internal/service/events/endpoint.go +++ b/internal/service/events/endpoint.go @@ -167,7 +167,7 @@ func resourceEndpointCreate(ctx context.Context, d *schema.ResourceData, meta an input.RoleArn = aws.String(v.(string)) } - _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.CreateEndpoint(ctx, input) }, errCodeValidationException, "cannot be assumed by principal") diff --git a/internal/service/events/rule.go b/internal/service/events/rule.go index ad6d3668c8b1..efd98c596229 100644 --- a/internal/service/events/rule.go +++ b/internal/service/events/rule.go @@ -299,7 +299,7 @@ func resourceRuleDelete(ctx context.Context, d *schema.ResourceData, meta any) d timeout = 5 * time.Minute ) log.Printf("[DEBUG] Deleting EventBridge Rule: %s", d.Id()) - _, err = tfresource.RetryWhenAWSErrMessageContains(ctx, timeout, func() (any, error) { + _, err = tfresource.RetryWhenAWSErrMessageContains(ctx, timeout, func(ctx context.Context) (any, error) { return conn.DeleteRule(ctx, input) }, errCodeValidationException, "Rule can't be deleted since it has targets") @@ -315,7 +315,7 @@ func resourceRuleDelete(ctx context.Context, d *schema.ResourceData, meta any) d } func retryPutRule(ctx context.Context, conn *eventbridge.Client, input *eventbridge.PutRuleInput) (string, error) { - outputRaw, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.PutRule(ctx, input) }, errCodeValidationException, "cannot be assumed by principal") From 1810453353bc44f33b94b984e74e46099f8a81e0 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 10:23:42 -0400 Subject: [PATCH 1099/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrMessageContains' - imagebuilder. --- internal/service/imagebuilder/lifecycle_policy.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/imagebuilder/lifecycle_policy.go b/internal/service/imagebuilder/lifecycle_policy.go index ac549ed681f6..91ae121021e3 100644 --- a/internal/service/imagebuilder/lifecycle_policy.go +++ b/internal/service/imagebuilder/lifecycle_policy.go @@ -312,7 +312,7 @@ func (r *lifecyclePolicyResource) Create(ctx context.Context, request resource.C input.ClientToken = aws.String(sdkid.UniqueId()) input.Tags = getTagsIn(ctx) - outputRaw, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.CreateLifecyclePolicy(ctx, input) }, errCodeInvalidParameterValueException, "The provided role does not exist or does not have sufficient permissions") @@ -414,7 +414,7 @@ func (r *lifecyclePolicyResource) Update(ctx context.Context, request resource.U // Additional fields. input.ClientToken = aws.String(sdkid.UniqueId()) - _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.UpdateLifecyclePolicy(ctx, input) }, errCodeInvalidParameterValueException, "The provided role does not exist or does not have sufficient permissions") From f68b6a1cbe61d221e296adb20b3d9d42629c39e5 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 10:23:46 -0400 Subject: [PATCH 1100/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrMessageContains' - logs. --- internal/service/logs/group.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/logs/group.go b/internal/service/logs/group.go index 577373b89d4c..640658404788 100644 --- a/internal/service/logs/group.go +++ b/internal/service/logs/group.go @@ -130,7 +130,7 @@ func resourceGroupCreate(ctx context.Context, d *schema.ResourceData, meta any) RetentionInDays: aws.Int32(int32(v.(int))), } - _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.PutRetentionPolicy(ctx, &input) }, "AccessDeniedException", "no identity-based policy allows the logs:PutRetentionPolicy action") @@ -181,7 +181,7 @@ func resourceGroupUpdate(ctx context.Context, d *schema.ResourceData, meta any) RetentionInDays: aws.Int32(int32(v.(int))), } - _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.PutRetentionPolicy(ctx, &input) }, "AccessDeniedException", "no identity-based policy allows the logs:PutRetentionPolicy action") From 4577c58e8120d0d47a66f8cac48b3b91a8f89110 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 10:23:48 -0400 Subject: [PATCH 1101/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrMessageContains' - neptune. --- internal/service/neptune/cluster_instance.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/neptune/cluster_instance.go b/internal/service/neptune/cluster_instance.go index 9282eabb1db1..64fd2187551b 100644 --- a/internal/service/neptune/cluster_instance.go +++ b/internal/service/neptune/cluster_instance.go @@ -233,7 +233,7 @@ func resourceClusterInstanceCreate(ctx context.Context, d *schema.ResourceData, input.PreferredMaintenanceWindow = aws.String(v.(string)) } - outputRaw, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.CreateDBInstance(ctx, input) }, errCodeInvalidParameterValue, "IAM role ARN value is invalid or does not include the required permissions") @@ -345,7 +345,7 @@ func resourceClusterInstanceUpdate(ctx context.Context, d *schema.ResourceData, input.PromotionTier = aws.Int32(int32(d.Get("promotion_tier").(int))) } - _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.ModifyDBInstance(ctx, input) }, errCodeInvalidParameterValue, "IAM role ARN value is invalid or does not include the required permissions") From f39db9b0d157b0226799179e7391db9bb9c0a97e Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 10:23:52 -0400 Subject: [PATCH 1102/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrMessageContains' - rds. --- internal/service/rds/cluster.go | 4 ++-- internal/service/rds/cluster_instance.go | 4 ++-- internal/service/rds/cluster_role_association.go | 2 +- internal/service/rds/instance.go | 2 +- internal/service/rds/instance_role_association.go | 2 +- internal/service/rds/option_group.go | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/internal/service/rds/cluster.go b/internal/service/rds/cluster.go index d69681362bd6..36e804df8ba2 100644 --- a/internal/service/rds/cluster.go +++ b/internal/service/rds/cluster.go @@ -852,7 +852,7 @@ func resourceClusterCreate(ctx context.Context, d *schema.ResourceData, meta any } _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.RestoreDBClusterFromSnapshot(ctx, input) }, errCodeInvalidParameterValue, "IAM role ARN value is invalid or does not include the required permissions") @@ -1361,7 +1361,7 @@ func resourceClusterCreate(ctx context.Context, d *schema.ResourceData, meta any } _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.CreateDBCluster(ctx, input) }, errCodeInvalidParameterValue, "IAM role ARN value is invalid or does not include the required permissions") diff --git a/internal/service/rds/cluster_instance.go b/internal/service/rds/cluster_instance.go index 18e2e24db288..1431ea7674af 100644 --- a/internal/service/rds/cluster_instance.go +++ b/internal/service/rds/cluster_instance.go @@ -314,7 +314,7 @@ func resourceClusterInstanceCreate(ctx context.Context, d *schema.ResourceData, } outputRaw, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.CreateDBInstance(ctx, input) }, errCodeInvalidParameterValue, "IAM role ARN value is invalid or does not include the required permissions") @@ -508,7 +508,7 @@ func resourceClusterInstanceUpdate(ctx context.Context, d *schema.ResourceData, } _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.ModifyDBInstance(ctx, input) }, errCodeInvalidParameterValue, "IAM role ARN value is invalid or does not include the required permissions") diff --git a/internal/service/rds/cluster_role_association.go b/internal/service/rds/cluster_role_association.go index 0189b239c24f..4a63f35521ee 100644 --- a/internal/service/rds/cluster_role_association.go +++ b/internal/service/rds/cluster_role_association.go @@ -81,7 +81,7 @@ func resourceClusterRoleAssociationCreate(ctx context.Context, d *schema.Resourc }) if tfawserr.ErrMessageContains(err, errCodeInvalidParameterValue, errIAMRolePropagationMessage) { - _, err = tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func() (any, error) { + _, err = tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.AddRoleToDBCluster(ctx, &input) }, errCodeInvalidParameterValue, errIAMRolePropagationMessage) } diff --git a/internal/service/rds/instance.go b/internal/service/rds/instance.go index e33b92a744f6..dc5347e37a55 100644 --- a/internal/service/rds/instance.go +++ b/internal/service/rds/instance.go @@ -2430,7 +2430,7 @@ func resourceInstanceImport(_ context.Context, d *schema.ResourceData, meta any) func dbInstanceCreateReadReplica(ctx context.Context, conn *rds.Client, input *rds.CreateDBInstanceReadReplicaInput) (*rds.CreateDBInstanceReadReplicaOutput, error) { outputRaw, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, - func() (any, error) { + func(ctx context.Context) (any, error) { return conn.CreateDBInstanceReadReplica(ctx, input) }, errCodeInvalidParameterValue, "ENHANCED_MONITORING") diff --git a/internal/service/rds/instance_role_association.go b/internal/service/rds/instance_role_association.go index 769db0bc1f94..f5c699cb60cf 100644 --- a/internal/service/rds/instance_role_association.go +++ b/internal/service/rds/instance_role_association.go @@ -87,7 +87,7 @@ func resourceInstanceRoleAssociationCreate(ctx context.Context, d *schema.Resour }) if tfawserr.ErrMessageContains(err, errCodeInvalidParameterValue, errIAMRolePropagationMessage) { - _, err = tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func() (any, error) { + _, err = tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.AddRoleToDBInstance(ctx, &input) }, errCodeInvalidParameterValue, errIAMRolePropagationMessage) } diff --git a/internal/service/rds/option_group.go b/internal/service/rds/option_group.go index 754ee6f35e0c..a4d34b1c1d4e 100644 --- a/internal/service/rds/option_group.go +++ b/internal/service/rds/option_group.go @@ -229,7 +229,7 @@ func resourceOptionGroupUpdate(ctx context.Context, d *schema.ResourceData, meta input.OptionsToRemove = optionsToRemove } - _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.ModifyOptionGroup(ctx, input) }, errCodeInvalidParameterValue, "IAM role ARN value is invalid or does not include the required permissions") From f101a254ceebe20ca39f1898641cbf9fa5c40765 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 10:23:54 -0400 Subject: [PATCH 1103/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrMessageContains' - s3control. --- internal/service/s3control/access_grant.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/s3control/access_grant.go b/internal/service/s3control/access_grant.go index 2465dc2defdc..52c2db9ec177 100644 --- a/internal/service/s3control/access_grant.go +++ b/internal/service/s3control/access_grant.go @@ -173,7 +173,7 @@ func (r *accessGrantResource) Create(ctx context.Context, request resource.Creat input.Tags = getTagsIn(ctx) // "InvalidRequest: Invalid Grantee in the request". - outputRaw, err := tfresource.RetryWhenAWSErrMessageContains(ctx, s3PropagationTimeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenAWSErrMessageContains(ctx, s3PropagationTimeout, func(ctx context.Context) (any, error) { return conn.CreateAccessGrant(ctx, &input) }, errCodeInvalidRequest, "Invalid Grantee in the request") From 3481617b926a3517bddb9ba0ac05a391f1452dfe Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 10:23:55 -0400 Subject: [PATCH 1104/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrMessageContains' - securityhub. --- internal/service/securityhub/account.go | 2 +- internal/service/securityhub/organization_configuration.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/securityhub/account.go b/internal/service/securityhub/account.go index 7fa8ee2fd51c..eef020e2cb43 100644 --- a/internal/service/securityhub/account.go +++ b/internal/service/securityhub/account.go @@ -181,7 +181,7 @@ func resourceAccountDelete(ctx context.Context, d *schema.ResourceData, meta any conn := meta.(*conns.AWSClient).SecurityHubClient(ctx) log.Printf("[DEBUG] Deleting Security Hub Account: %s", d.Id()) - _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, adminAccountDeletedTimeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, adminAccountDeletedTimeout, func(ctx context.Context) (any, error) { return conn.DisableSecurityHub(ctx, &securityhub.DisableSecurityHubInput{}) }, errCodeInvalidInputException, "Cannot disable Security Hub on the Security Hub administrator") diff --git a/internal/service/securityhub/organization_configuration.go b/internal/service/securityhub/organization_configuration.go index a17b9def3be5..55ba2861bf43 100644 --- a/internal/service/securityhub/organization_configuration.go +++ b/internal/service/securityhub/organization_configuration.go @@ -93,7 +93,7 @@ func resourceOrganizationConfigurationUpdate(ctx context.Context, d *schema.Reso } // e.g. "DataUnavailableException: Central configuration couldn't be enabled because data from organization o-ira6i4k380 is still syncing. Retry later." - _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenAWSErrMessageContains(ctx, timeout, func(ctx context.Context) (any, error) { return conn.UpdateOrganizationConfiguration(ctx, input) }, errCodeDataUnavailableException, "Retry later") From 25bb612a57cbd494c32672d669e528e3d90dfb6d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 10:23:57 -0400 Subject: [PATCH 1105/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrMessageContains' - sqs. --- internal/service/sqs/attribute_funcs.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/sqs/attribute_funcs.go b/internal/service/sqs/attribute_funcs.go index e33f3c3e2a97..db799f2fd136 100644 --- a/internal/service/sqs/attribute_funcs.go +++ b/internal/service/sqs/attribute_funcs.go @@ -49,7 +49,7 @@ func (h *queueAttributeHandler) Upsert(ctx context.Context, d *schema.ResourceDa deadline := inttypes.NewDeadline(d.Timeout(schema.TimeoutCreate)) - _, err = tfresource.RetryWhenAWSErrMessageContains(ctx, d.Timeout(schema.TimeoutCreate)/2, func() (any, error) { + _, err = tfresource.RetryWhenAWSErrMessageContains(ctx, d.Timeout(schema.TimeoutCreate)/2, func(ctx context.Context) (any, error) { return conn.SetQueueAttributes(ctx, input) }, errCodeInvalidAttributeValue, "Invalid value for the parameter Policy") From 6479961caccf274b0195c2a1a8e92bd79a2143ee Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 10:23:57 -0400 Subject: [PATCH 1106/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenAWSErrMessageContains' - ssm. --- internal/service/ssm/activation.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/ssm/activation.go b/internal/service/ssm/activation.go index a74a921552a4..fa7492f576af 100644 --- a/internal/service/ssm/activation.go +++ b/internal/service/ssm/activation.go @@ -108,7 +108,7 @@ func resourceActivationCreate(ctx context.Context, d *schema.ResourceData, meta input.RegistrationLimit = aws.Int32(int32(v.(int))) } - outputRaw, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenAWSErrMessageContains(ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.CreateActivation(ctx, input) }, errCodeValidationException, "Nonexistent role") From 8675bf236f5de9a34f1d90aae1075486cf140253 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 11:24:02 -0400 Subject: [PATCH 1107/1301] r/aws_appsync_channel_namespace: New resource. --- .changelog/43787.txt | 4 + internal/service/appsync/api.go | 1 - internal/service/appsync/api_test.go | 6 + internal/service/appsync/channel_namespace.go | 289 ++ .../channel_namespace_tags_gen_test.go | 2341 +++++++++++++++++ .../service/appsync/channel_namespace_test.go | 101 + internal/service/appsync/exports_test.go | 2 + .../service/appsync/service_package_gen.go | 9 + .../ChannelNamespace/tags/main_gen.tf | 46 + .../tagsComputed1/main_gen.tf | 52 + .../tagsComputed2/main_gen.tf | 64 + .../tags_defaults/main_gen.tf | 57 + .../ChannelNamespace/tags_ignore/main_gen.tf | 66 + .../testdata/tmpl/channel_namespace_tags.gtpl | 31 + 14 files changed, 3068 insertions(+), 1 deletion(-) create mode 100644 internal/service/appsync/channel_namespace.go create mode 100644 internal/service/appsync/channel_namespace_tags_gen_test.go create mode 100644 internal/service/appsync/channel_namespace_test.go create mode 100644 internal/service/appsync/testdata/ChannelNamespace/tags/main_gen.tf create mode 100644 internal/service/appsync/testdata/ChannelNamespace/tagsComputed1/main_gen.tf create mode 100644 internal/service/appsync/testdata/ChannelNamespace/tagsComputed2/main_gen.tf create mode 100644 internal/service/appsync/testdata/ChannelNamespace/tags_defaults/main_gen.tf create mode 100644 internal/service/appsync/testdata/ChannelNamespace/tags_ignore/main_gen.tf create mode 100644 internal/service/appsync/testdata/tmpl/channel_namespace_tags.gtpl diff --git a/.changelog/43787.txt b/.changelog/43787.txt index b14d0598fc6e..164c750a17f2 100644 --- a/.changelog/43787.txt +++ b/.changelog/43787.txt @@ -1,3 +1,7 @@ ```release-note:new-resource aws_appsync_api +``` + +```release-note:new-resource +aws_appsync_channel_namespace ``` \ No newline at end of file diff --git a/internal/service/appsync/api.go b/internal/service/appsync/api.go index e28c2faf3bb8..5610f58be780 100644 --- a/internal/service/appsync/api.go +++ b/internal/service/appsync/api.go @@ -49,7 +49,6 @@ func newAPIResource(_ context.Context) (resource.ResourceWithConfigure, error) { type apiResource struct { framework.ResourceWithModel[apiResourceModel] - framework.WithTimeouts } func (r *apiResource) Schema(ctx context.Context, request resource.SchemaRequest, response *resource.SchemaResponse) { diff --git a/internal/service/appsync/api_test.go b/internal/service/appsync/api_test.go index cda2985858f9..a85bc4355973 100644 --- a/internal/service/appsync/api_test.go +++ b/internal/service/appsync/api_test.go @@ -11,6 +11,7 @@ import ( awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/plancheck" "github.com/hashicorp/terraform-plugin-testing/terraform" "github.com/hashicorp/terraform-provider-aws/internal/acctest" "github.com/hashicorp/terraform-provider-aws/internal/conns" @@ -208,6 +209,11 @@ func TestAccAppSyncAPI_disappears(t *testing.T) { acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfappsync.ResourceAPI, resourceName), ), ExpectNonEmptyPlan: true, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, }, }, }) diff --git a/internal/service/appsync/channel_namespace.go b/internal/service/appsync/channel_namespace.go new file mode 100644 index 000000000000..672383ccd8f6 --- /dev/null +++ b/internal/service/appsync/channel_namespace.go @@ -0,0 +1,289 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package appsync + +import ( + "context" + + "github.com/YakDriver/regexache" + "github.com/YakDriver/smarterr" + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/service/appsync" + awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" + "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator" + "github.com/hashicorp/terraform-plugin-framework/path" + "github.com/hashicorp/terraform-plugin-framework/resource" + "github.com/hashicorp/terraform-plugin-framework/resource/schema" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier" + "github.com/hashicorp/terraform-plugin-framework/resource/schema/stringplanmodifier" + "github.com/hashicorp/terraform-plugin-framework/schema/validator" + "github.com/hashicorp/terraform-plugin-framework/types" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" + "github.com/hashicorp/terraform-provider-aws/internal/errs" + "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" + intflex "github.com/hashicorp/terraform-provider-aws/internal/flex" + "github.com/hashicorp/terraform-provider-aws/internal/framework" + fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" + fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" + "github.com/hashicorp/terraform-provider-aws/internal/smerr" + tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" + "github.com/hashicorp/terraform-provider-aws/internal/tfresource" + "github.com/hashicorp/terraform-provider-aws/names" +) + +// @FrameworkResource("aws_appsync_channel_namespace", name="Channel Namespace") +// @Tags(identifierAttribute="channel_namespace_arn") +// @Testing(importStateIdAttribute="name") +// @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/appsync/types;awstypes;awstypes.ChannelNamespace") +// @Testing(hasNoPreExistingResource=true) +func newChannelNamespaceResource(_ context.Context) (resource.ResourceWithConfigure, error) { + r := &channelNamespaceResource{} + + return r, nil +} + +type channelNamespaceResource struct { + framework.ResourceWithModel[channelNamespaceResourceModel] +} + +func (r *channelNamespaceResource) Schema(ctx context.Context, request resource.SchemaRequest, response *resource.SchemaResponse) { + response.Schema = schema.Schema{ + Attributes: map[string]schema.Attribute{ + "api_id": schema.StringAttribute{ + Required: true, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplace(), + }, + }, + "channel_namespace_arn": framework.ARNAttributeComputedOnly(), + "code_handlers": schema.StringAttribute{ + Optional: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 32768), + }, + }, + names.AttrName: schema.StringAttribute{ + Required: true, + Validators: []validator.String{ + stringvalidator.LengthBetween(1, 50), + stringvalidator.RegexMatches(regexache.MustCompile(`^([A-Za-z0-9](?:[A-Za-z0-9\-]{0,48}[A-Za-z0-9])?)$`), ""), + }, + PlanModifiers: []planmodifier.String{ + stringplanmodifier.RequiresReplace(), + }, + }, + names.AttrTags: tftags.TagsAttribute(), + names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), + }, + Blocks: map[string]schema.Block{ + "publish_auth_mode": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[authModeModel](ctx), + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "auth_type": schema.StringAttribute{ + Required: true, + CustomType: fwtypes.StringEnumType[awstypes.AuthenticationType](), + }, + }, + }, + }, + "subscribe_auth_mode": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[authModeModel](ctx), + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "auth_type": schema.StringAttribute{ + Required: true, + CustomType: fwtypes.StringEnumType[awstypes.AuthenticationType](), + }, + }, + }, + }, + }, + } +} + +func (r *channelNamespaceResource) Create(ctx context.Context, request resource.CreateRequest, response *resource.CreateResponse) { + var data channelNamespaceResourceModel + smerr.EnrichAppend(ctx, &response.Diagnostics, request.Plan.Get(ctx, &data)) + if response.Diagnostics.HasError() { + return + } + + conn := r.Meta().AppSyncClient(ctx) + + name := fwflex.StringValueFromFramework(ctx, data.Name) + var input appsync.CreateChannelNamespaceInput + smerr.EnrichAppend(ctx, &response.Diagnostics, fwflex.Expand(ctx, data, &input)) + if response.Diagnostics.HasError() { + return + } + + // Additional fields. + input.Tags = getTagsIn(ctx) + + output, err := conn.CreateChannelNamespace(ctx, &input) + + if err != nil { + smerr.AddError(ctx, &response.Diagnostics, err, smerr.ID, name) + return + } + + // Set values for unknowns. + data.ChannelNamespaceARN = fwflex.StringToFramework(ctx, output.ChannelNamespace.ChannelNamespaceArn) + + smerr.EnrichAppend(ctx, &response.Diagnostics, response.State.Set(ctx, data), smerr.ID, name) +} + +func (r *channelNamespaceResource) Read(ctx context.Context, request resource.ReadRequest, response *resource.ReadResponse) { + var data channelNamespaceResourceModel + smerr.EnrichAppend(ctx, &response.Diagnostics, request.State.Get(ctx, &data)) + if response.Diagnostics.HasError() { + return + } + + conn := r.Meta().AppSyncClient(ctx) + + apiID, name := fwflex.StringValueFromFramework(ctx, data.ApiID), fwflex.StringValueFromFramework(ctx, data.Name) + output, err := findChannelNamespaceByTwoPartKey(ctx, conn, apiID, name) + + if tfresource.NotFound(err) { + response.Diagnostics.Append(fwdiag.NewResourceNotFoundWarningDiagnostic(err)) + response.State.RemoveResource(ctx) + return + } + + if err != nil { + smerr.AddError(ctx, &response.Diagnostics, err, smerr.ID, name) + return + } + + // Set attributes for import. + smerr.EnrichAppend(ctx, &response.Diagnostics, fwflex.Flatten(ctx, output, &data), smerr.ID, name) + if response.Diagnostics.HasError() { + return + } + + smerr.EnrichAppend(ctx, &response.Diagnostics, response.State.Set(ctx, &data), smerr.ID, name) +} + +func (r *channelNamespaceResource) Update(ctx context.Context, request resource.UpdateRequest, response *resource.UpdateResponse) { + var new, old channelNamespaceResourceModel + smerr.EnrichAppend(ctx, &response.Diagnostics, request.Plan.Get(ctx, &new)) + if response.Diagnostics.HasError() { + return + } + smerr.EnrichAppend(ctx, &response.Diagnostics, request.State.Get(ctx, &old)) + if response.Diagnostics.HasError() { + return + } + + conn := r.Meta().AppSyncClient(ctx) + + name := fwflex.StringValueFromFramework(ctx, new.Name) + diff, d := fwflex.Diff(ctx, new, old) + smerr.EnrichAppend(ctx, &response.Diagnostics, d, smerr.ID, name) + if response.Diagnostics.HasError() { + return + } + + if diff.HasChanges() { + var input appsync.UpdateChannelNamespaceInput + smerr.EnrichAppend(ctx, &response.Diagnostics, fwflex.Expand(ctx, new, &input), smerr.ID, name) + if response.Diagnostics.HasError() { + return + } + + _, err := conn.UpdateChannelNamespace(ctx, &input) + + if err != nil { + smerr.AddError(ctx, &response.Diagnostics, err, smerr.ID, name) + return + } + } + + smerr.EnrichAppend(ctx, &response.Diagnostics, response.State.Set(ctx, &new), smerr.ID, name) +} + +func (r *channelNamespaceResource) Delete(ctx context.Context, request resource.DeleteRequest, response *resource.DeleteResponse) { + var data channelNamespaceResourceModel + smerr.EnrichAppend(ctx, &response.Diagnostics, request.State.Get(ctx, &data)) + if response.Diagnostics.HasError() { + return + } + + conn := r.Meta().AppSyncClient(ctx) + + apiID, name := fwflex.StringValueFromFramework(ctx, data.ApiID), fwflex.StringValueFromFramework(ctx, data.Name) + input := appsync.DeleteChannelNamespaceInput{ + ApiId: aws.String(apiID), + Name: aws.String(name), + } + _, err := conn.DeleteChannelNamespace(ctx, &input) + + if errs.IsA[*awstypes.NotFoundException](err) { + return + } + + if err != nil { + smerr.AddError(ctx, &response.Diagnostics, err, smerr.ID, name) + return + } +} + +func (r *channelNamespaceResource) ImportState(ctx context.Context, request resource.ImportStateRequest, response *resource.ImportStateResponse) { + const ( + channelNamespaceIDParts = 2 + ) + parts, err := intflex.ExpandResourceId(request.ID, channelNamespaceIDParts, true) + + if err != nil { + response.Diagnostics.Append(fwdiag.NewParsingResourceIDErrorDiagnostic(err)) + + return + } + + response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root("api_id"), parts[0])...) + response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root(names.AttrName), parts[1])...) +} + +func findChannelNamespaceByTwoPartKey(ctx context.Context, conn *appsync.Client, apiID, name string) (*awstypes.ChannelNamespace, error) { + input := appsync.GetChannelNamespaceInput{ + ApiId: aws.String(apiID), + Name: aws.String(name), + } + + return findChannelNamespace(ctx, conn, &input) +} + +func findChannelNamespace(ctx context.Context, conn *appsync.Client, input *appsync.GetChannelNamespaceInput) (*awstypes.ChannelNamespace, error) { + output, err := conn.GetChannelNamespace(ctx, input) + + if errs.IsA[*awstypes.NotFoundException](err) { + return nil, smarterr.NewError(&retry.NotFoundError{ + LastError: err, + }) + } + + if err != nil { + return nil, smarterr.NewError(err) + } + + if output == nil || output.ChannelNamespace == nil { + return nil, smarterr.NewError(tfresource.NewEmptyResultError(input)) + } + + return output.ChannelNamespace, nil +} + +type channelNamespaceResourceModel struct { + framework.WithRegionModel + ApiID types.String `tfsdk:"api_id"` + ChannelNamespaceARN types.String `tfsdk:"channel_namespace_arn"` + CodeHandlers types.String `tfsdk:"code_handlers"` + Name types.String `tfsdk:"name"` + PublishAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"publish_auth_mode"` + SubscribeAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"subscribe_auth_mode"` + Tags tftags.Map `tfsdk:"tags"` + TagsAll tftags.Map `tfsdk:"tags_all"` +} diff --git a/internal/service/appsync/channel_namespace_tags_gen_test.go b/internal/service/appsync/channel_namespace_tags_gen_test.go new file mode 100644 index 000000000000..6165c49fc2d4 --- /dev/null +++ b/internal/service/appsync/channel_namespace_tags_gen_test.go @@ -0,0 +1,2341 @@ +// Code generated by internal/generate/tagstests/main.go; DO NOT EDIT. + +package appsync_test + +import ( + "testing" + + awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" + "github.com/hashicorp/terraform-plugin-testing/config" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccAppSyncChannelNamespace_tags(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.ChannelNamespace + resourceName := "aws_appsync_channel_namespace.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckChannelNamespaceDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1Updated), + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1Updated), + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + }, + }) +} + +func TestAccAppSyncChannelNamespace_tags_null(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.ChannelNamespace + resourceName := "aws_appsync_channel_namespace.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckChannelNamespaceDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: nil, + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.Null(), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.Null(), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: nil, + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + ImportStateVerifyIgnore: []string{ + acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" + }, + }, + }, + }) +} + +func TestAccAppSyncChannelNamespace_tags_EmptyMap(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.ChannelNamespace + resourceName := "aws_appsync_channel_namespace.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckChannelNamespaceDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{}), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{})), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{}), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + ImportStateVerifyIgnore: []string{ + acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" + }, + }, + }, + }) +} + +func TestAccAppSyncChannelNamespace_tags_AddOnUpdate(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.ChannelNamespace + resourceName := "aws_appsync_channel_namespace.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckChannelNamespaceDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + }, + }) +} + +func TestAccAppSyncChannelNamespace_tags_EmptyTag_OnCreate(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.ChannelNamespace + resourceName := "aws_appsync_channel_namespace.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckChannelNamespaceDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + }, + }) +} + +func TestAccAppSyncChannelNamespace_tags_EmptyTag_OnUpdate_Add(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.ChannelNamespace + resourceName := "aws_appsync_channel_namespace.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckChannelNamespaceDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + acctest.CtKey2: config.StringVariable(""), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + acctest.CtKey2: knownvalue.StringExact(""), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + acctest.CtKey2: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + acctest.CtKey2: knownvalue.StringExact(""), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + acctest.CtKey2: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + acctest.CtKey2: config.StringVariable(""), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + }, + }) +} + +func TestAccAppSyncChannelNamespace_tags_EmptyTag_OnUpdate_Replace(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.ChannelNamespace + resourceName := "aws_appsync_channel_namespace.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckChannelNamespaceDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + }, + }) +} + +func TestAccAppSyncChannelNamespace_tags_DefaultTags_providerOnly(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.ChannelNamespace + resourceName := "aws_appsync_channel_namespace.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckChannelNamespaceDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1Updated), + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1Updated), + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1Updated), + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey2: knownvalue.StringExact(acctest.CtValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey2: config.StringVariable(acctest.CtValue2), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + }, + }) +} + +func TestAccAppSyncChannelNamespace_tags_DefaultTags_nonOverlapping(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.ChannelNamespace + resourceName := "aws_appsync_channel_namespace.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckChannelNamespaceDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1Updated), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1Updated), + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1Updated), + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1Updated), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{})), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + }, + }) +} + +func TestAccAppSyncChannelNamespace_tags_DefaultTags_overlapping(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.ChannelNamespace + resourceName := "aws_appsync_channel_namespace.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckChannelNamespaceDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + acctest.CtOverlapKey2: config.StringVariable("providervalue2"), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), + acctest.CtOverlapKey2: config.StringVariable(acctest.CtResourceValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtOverlapKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtOverlapKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtOverlapKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtOverlapKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + acctest.CtOverlapKey2: config.StringVariable("providervalue2"), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue1), + acctest.CtOverlapKey2: config.StringVariable(acctest.CtResourceValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue2), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtOverlapKey1: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtOverlapKey1: config.StringVariable(acctest.CtResourceValue2), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + }, + }) +} + +func TestAccAppSyncChannelNamespace_tags_DefaultTags_updateToProviderOnly(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.ChannelNamespace + resourceName := "aws_appsync_channel_namespace.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckChannelNamespaceDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + }, + }) +} + +func TestAccAppSyncChannelNamespace_tags_DefaultTags_updateToResourceOnly(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.ChannelNamespace + resourceName := "aws_appsync_channel_namespace.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckChannelNamespaceDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + }, + }) +} + +func TestAccAppSyncChannelNamespace_tags_DefaultTags_emptyResourceTag(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.ChannelNamespace + resourceName := "aws_appsync_channel_namespace.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckChannelNamespaceDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + }, + }) +} + +func TestAccAppSyncChannelNamespace_tags_DefaultTags_emptyProviderOnlyTag(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.ChannelNamespace + resourceName := "aws_appsync_channel_namespace.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckChannelNamespaceDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + acctest.CtResourceTags: nil, + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(""), + }), + acctest.CtResourceTags: nil, + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + }, + }) +} + +func TestAccAppSyncChannelNamespace_tags_DefaultTags_nullOverlappingResourceTag(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.ChannelNamespace + resourceName := "aws_appsync_channel_namespace.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckChannelNamespaceDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: nil, + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.Null(), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.Null(), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(""), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: nil, + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + ImportStateVerifyIgnore: []string{ + acctest.CtTagsKey1, // The canonical value returned by the AWS API is "" + }, + }, + }, + }) +} + +func TestAccAppSyncChannelNamespace_tags_DefaultTags_nullNonOverlappingResourceTag(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.ChannelNamespace + resourceName := "aws_appsync_channel_namespace.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckChannelNamespaceDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: nil, + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.Null(), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(""), + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.Null(), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(""), + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_defaults/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: nil, + }), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + ImportStateVerifyIgnore: []string{ + "tags.resourcekey1", // The canonical value returned by the AWS API is "" + }, + }, + }, + }) +} + +func TestAccAppSyncChannelNamespace_tags_ComputedTag_OnCreate(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.ChannelNamespace + resourceName := "aws_appsync_channel_namespace.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckChannelNamespaceDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tagsComputed1/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable("computedkey1"), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + resource.TestCheckResourceAttrPair(resourceName, "tags.computedkey1", "null_resource.test", names.AttrID), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapSizeExact(1)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapSizeExact(1)), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTags).AtMapKey("computedkey1")), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tagsComputed1/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable("computedkey1"), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + }, + }) +} + +func TestAccAppSyncChannelNamespace_tags_ComputedTag_OnUpdate_Add(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.ChannelNamespace + resourceName := "aws_appsync_channel_namespace.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckChannelNamespaceDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tagsComputed2/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable("computedkey1"), + "knownTagKey": config.StringVariable(acctest.CtKey1), + "knownTagValue": config.StringVariable(acctest.CtValue1), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + resource.TestCheckResourceAttrPair(resourceName, "tags.computedkey1", "null_resource.test", names.AttrID), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapSizeExact(2)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapPartial(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapSizeExact(2)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapPartial(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTags).AtMapKey("computedkey1")), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tagsComputed2/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable("computedkey1"), + "knownTagKey": config.StringVariable(acctest.CtKey1), + "knownTagValue": config.StringVariable(acctest.CtValue1), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + }, + }) +} + +func TestAccAppSyncChannelNamespace_tags_ComputedTag_OnUpdate_Replace(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.ChannelNamespace + resourceName := "aws_appsync_channel_namespace.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckChannelNamespaceDestroy(ctx), + Steps: []resource.TestStep{ + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtKey1: config.StringVariable(acctest.CtValue1), + }), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtKey1: knownvalue.StringExact(acctest.CtValue1), + })), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tagsComputed1/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable(acctest.CtKey1), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + resource.TestCheckResourceAttrPair(resourceName, acctest.CtTagsKey1, "null_resource.test", names.AttrID), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapSizeExact(1)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapSizeExact(1)), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTags).AtMapKey(acctest.CtKey1)), + plancheck.ExpectUnknownValue(resourceName, tfjsonpath.New(names.AttrTagsAll)), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tagsComputed1/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "unknownTagKey": config.StringVariable(acctest.CtKey1), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateVerify: true, + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + }, + }) +} + +func TestAccAppSyncChannelNamespace_tags_IgnoreTags_Overlap_DefaultTag(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.ChannelNamespace + resourceName := "aws_appsync_channel_namespace.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckChannelNamespaceDestroy(ctx), + Steps: []resource.TestStep{ + // 1: Create + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtProviderKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), // TODO: Should not be set + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + }, + }, + // 2: Update ignored tag only + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1Updated), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtProviderKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), // TODO: Should not be set + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + }, + }, + // 3: Update both tags + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtProviderTags: config.MapVariable(map[string]config.Variable{ + acctest.CtProviderKey1: config.StringVariable(acctest.CtProviderValue1Again), + }), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Updated), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtProviderKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtProviderKey1: knownvalue.StringExact(acctest.CtProviderValue1), // TODO: Should not be set + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + }, + }, + }, + }) +} + +func TestAccAppSyncChannelNamespace_tags_IgnoreTags_Overlap_ResourceTag(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.ChannelNamespace + resourceName := "aws_appsync_channel_namespace.test" + rName := acctest.RandomWithPrefix(t, acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + CheckDestroy: testAccCheckChannelNamespaceDestroy(ctx), + Steps: []resource.TestStep{ + // 1: Create + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtResourceKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), // TODO: Should not be set + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), // TODO: Should be NoOp + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + ExpectNonEmptyPlan: true, + }, + // 2: Update ignored tag + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtResourceKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), // TODO: Should not be set + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), // TODO: Should be NoOp + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Updated), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2), + })), + }, + }, + ExpectNonEmptyPlan: true, + }, + // 3: Update both tags + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/ChannelNamespace/tags_ignore/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + acctest.CtResourceTags: config.MapVariable(map[string]config.Variable{ + acctest.CtResourceKey1: config.StringVariable(acctest.CtResourceValue1Again), + acctest.CtResourceKey2: config.StringVariable(acctest.CtResourceValue2Updated), + }), + "ignore_tag_keys": config.SetVariable( + config.StringVariable(acctest.CtResourceKey1), + ), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Again), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + expectFullResourceTags(ctx, resourceName, knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1), // TODO: Should not be set + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Again), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + }, + PostApplyPreRefresh: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), // TODO: Should be NoOp + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey1: knownvalue.StringExact(acctest.CtResourceValue1Again), + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTagsAll), knownvalue.MapExact(map[string]knownvalue.Check{ + acctest.CtResourceKey2: knownvalue.StringExact(acctest.CtResourceValue2Updated), + })), + }, + }, + ExpectNonEmptyPlan: true, + }, + }, + }) +} diff --git a/internal/service/appsync/channel_namespace_test.go b/internal/service/appsync/channel_namespace_test.go new file mode 100644 index 000000000000..a44911ce77c3 --- /dev/null +++ b/internal/service/appsync/channel_namespace_test.go @@ -0,0 +1,101 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package appsync_test + +import ( + "context" + "fmt" + "testing" + + awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" + sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/terraform" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + "github.com/hashicorp/terraform-provider-aws/internal/conns" + tfappsync "github.com/hashicorp/terraform-provider-aws/internal/service/appsync" + "github.com/hashicorp/terraform-provider-aws/internal/tfresource" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccAppSyncChannelNamespace_disappears(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.ChannelNamespace + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_appsync_channel_namespace.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) + testAccPreCheck(ctx, t) + }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckChannelNamespaceDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccAPIConfig_basic(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfappsync.ResourceChannelNamespace, resourceName), + ), + ExpectNonEmptyPlan: true, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, + }, + }, + }) +} + +func testAccCheckChannelNamespaceDestroy(ctx context.Context) resource.TestCheckFunc { + return func(s *terraform.State) error { + conn := acctest.Provider.Meta().(*conns.AWSClient).AppSyncClient(ctx) + + for _, rs := range s.RootModule().Resources { + if rs.Type != "aws_appsync_channel_namespace" { + continue + } + + _, err := tfappsync.FindChannelNamespaceByTwoPartKey(ctx, conn, rs.Primary.Attributes["api_id"], rs.Primary.Attributes[names.AttrName]) + + if tfresource.NotFound(err) { + continue + } + + if err != nil { + return err + } + + return fmt.Errorf("AppSync Channel Namespace %s still exists", rs.Primary.Attributes[names.AttrName]) + } + + return nil + } +} + +func testAccCheckChannelNamespaceExists(ctx context.Context, n string, v *awstypes.ChannelNamespace) resource.TestCheckFunc { + return func(s *terraform.State) error { + rs, ok := s.RootModule().Resources[n] + if !ok { + return fmt.Errorf("Not found: %s", n) + } + + conn := acctest.Provider.Meta().(*conns.AWSClient).AppSyncClient(ctx) + + output, err := tfappsync.FindChannelNamespaceByTwoPartKey(ctx, conn, rs.Primary.Attributes["api_id"], rs.Primary.Attributes[names.AttrName]) + + if err != nil { + return err + } + + *v = *output + + return nil + } +} diff --git a/internal/service/appsync/exports_test.go b/internal/service/appsync/exports_test.go index 13b05fc648df..9a552f075493 100644 --- a/internal/service/appsync/exports_test.go +++ b/internal/service/appsync/exports_test.go @@ -8,6 +8,7 @@ var ( ResourceAPI = newAPIResource ResourceAPICache = resourceAPICache ResourceAPIKey = resourceAPIKey + ResourceChannelNamespace = newChannelNamespaceResource ResourceDataSource = resourceDataSource ResourceDomainName = resourceDomainName ResourceDomainNameAPIAssociation = resourceDomainNameAPIAssociation @@ -21,6 +22,7 @@ var ( FindAPIByID = findAPIByID FindAPICacheByID = findAPICacheByID FindAPIKeyByTwoPartKey = findAPIKeyByTwoPartKey + FindChannelNamespaceByTwoPartKey = findChannelNamespaceByTwoPartKey FindDataSourceByTwoPartKey = findDataSourceByTwoPartKey FindDomainNameAPIAssociationByID = findDomainNameAPIAssociationByID FindDomainNameByID = findDomainNameByID diff --git a/internal/service/appsync/service_package_gen.go b/internal/service/appsync/service_package_gen.go index 1593e169e4cc..9f8bdab19657 100644 --- a/internal/service/appsync/service_package_gen.go +++ b/internal/service/appsync/service_package_gen.go @@ -33,6 +33,15 @@ func (p *servicePackage) FrameworkResources(ctx context.Context) []*inttypes.Ser }), Region: unique.Make(inttypes.ResourceRegionDefault()), }, + { + Factory: newChannelNamespaceResource, + TypeName: "aws_appsync_channel_namespace", + Name: "Channel Namespace", + Tags: unique.Make(inttypes.ServicePackageResourceTags{ + IdentifierAttribute: "channel_namespace_arn", + }), + Region: unique.Make(inttypes.ResourceRegionDefault()), + }, { Factory: newSourceAPIAssociationResource, TypeName: "aws_appsync_source_api_association", diff --git a/internal/service/appsync/testdata/ChannelNamespace/tags/main_gen.tf b/internal/service/appsync/testdata/ChannelNamespace/tags/main_gen.tf new file mode 100644 index 000000000000..71aecbfe5e23 --- /dev/null +++ b/internal/service/appsync/testdata/ChannelNamespace/tags/main_gen.tf @@ -0,0 +1,46 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_appsync_api" "test" { + name = var.rName + + event_config { + auth_provider { + auth_type = "API_KEY" + } + + connection_auth_mode { + auth_type = "API_KEY" + } + + default_publish_auth_mode { + auth_type = "API_KEY" + } + + default_subscribe_auth_mode { + auth_type = "API_KEY" + } + } + + tags = var.resource_tags +} + +resource "aws_appsync_channel_namespace" "test" { + api_id = aws_appsync_api.test.api_id + name = var.rName + + tags = var.resource_tags +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "resource_tags" { + description = "Tags to set on resource. To specify no tags, set to `null`" + # Not setting a default, so that this must explicitly be set to `null` to specify no tags + type = map(string) + nullable = true +} diff --git a/internal/service/appsync/testdata/ChannelNamespace/tagsComputed1/main_gen.tf b/internal/service/appsync/testdata/ChannelNamespace/tagsComputed1/main_gen.tf new file mode 100644 index 000000000000..e2c9a9c5fea6 --- /dev/null +++ b/internal/service/appsync/testdata/ChannelNamespace/tagsComputed1/main_gen.tf @@ -0,0 +1,52 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "null" {} + +resource "aws_appsync_api" "test" { + name = var.rName + + event_config { + auth_provider { + auth_type = "API_KEY" + } + + connection_auth_mode { + auth_type = "API_KEY" + } + + default_publish_auth_mode { + auth_type = "API_KEY" + } + + default_subscribe_auth_mode { + auth_type = "API_KEY" + } + } + + tags = { + (var.unknownTagKey) = null_resource.test.id + } +} + +resource "aws_appsync_channel_namespace" "test" { + api_id = aws_appsync_api.test.api_id + name = var.rName + + tags = { + (var.unknownTagKey) = null_resource.test.id + } +} + +resource "null_resource" "test" {} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "unknownTagKey" { + type = string + nullable = false +} diff --git a/internal/service/appsync/testdata/ChannelNamespace/tagsComputed2/main_gen.tf b/internal/service/appsync/testdata/ChannelNamespace/tagsComputed2/main_gen.tf new file mode 100644 index 000000000000..0b2559ee09ba --- /dev/null +++ b/internal/service/appsync/testdata/ChannelNamespace/tagsComputed2/main_gen.tf @@ -0,0 +1,64 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "null" {} + +resource "aws_appsync_api" "test" { + name = var.rName + + event_config { + auth_provider { + auth_type = "API_KEY" + } + + connection_auth_mode { + auth_type = "API_KEY" + } + + default_publish_auth_mode { + auth_type = "API_KEY" + } + + default_subscribe_auth_mode { + auth_type = "API_KEY" + } + } + + tags = { + (var.unknownTagKey) = null_resource.test.id + (var.knownTagKey) = var.knownTagValue + } +} + +resource "aws_appsync_channel_namespace" "test" { + api_id = aws_appsync_api.test.api_id + name = var.rName + + tags = { + (var.unknownTagKey) = null_resource.test.id + (var.knownTagKey) = var.knownTagValue + } +} + +resource "null_resource" "test" {} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "unknownTagKey" { + type = string + nullable = false +} + +variable "knownTagKey" { + type = string + nullable = false +} + +variable "knownTagValue" { + type = string + nullable = false +} diff --git a/internal/service/appsync/testdata/ChannelNamespace/tags_defaults/main_gen.tf b/internal/service/appsync/testdata/ChannelNamespace/tags_defaults/main_gen.tf new file mode 100644 index 000000000000..723bc2feb031 --- /dev/null +++ b/internal/service/appsync/testdata/ChannelNamespace/tags_defaults/main_gen.tf @@ -0,0 +1,57 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "aws" { + default_tags { + tags = var.provider_tags + } +} + +resource "aws_appsync_api" "test" { + name = var.rName + + event_config { + auth_provider { + auth_type = "API_KEY" + } + + connection_auth_mode { + auth_type = "API_KEY" + } + + default_publish_auth_mode { + auth_type = "API_KEY" + } + + default_subscribe_auth_mode { + auth_type = "API_KEY" + } + } + + tags = var.resource_tags +} + +resource "aws_appsync_channel_namespace" "test" { + api_id = aws_appsync_api.test.api_id + name = var.rName + + tags = var.resource_tags +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "resource_tags" { + description = "Tags to set on resource. To specify no tags, set to `null`" + # Not setting a default, so that this must explicitly be set to `null` to specify no tags + type = map(string) + nullable = true +} + +variable "provider_tags" { + type = map(string) + nullable = false +} diff --git a/internal/service/appsync/testdata/ChannelNamespace/tags_ignore/main_gen.tf b/internal/service/appsync/testdata/ChannelNamespace/tags_ignore/main_gen.tf new file mode 100644 index 000000000000..ae85d215cfd5 --- /dev/null +++ b/internal/service/appsync/testdata/ChannelNamespace/tags_ignore/main_gen.tf @@ -0,0 +1,66 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +provider "aws" { + default_tags { + tags = var.provider_tags + } + ignore_tags { + keys = var.ignore_tag_keys + } +} + +resource "aws_appsync_api" "test" { + name = var.rName + + event_config { + auth_provider { + auth_type = "API_KEY" + } + + connection_auth_mode { + auth_type = "API_KEY" + } + + default_publish_auth_mode { + auth_type = "API_KEY" + } + + default_subscribe_auth_mode { + auth_type = "API_KEY" + } + } + + tags = var.resource_tags +} + +resource "aws_appsync_channel_namespace" "test" { + api_id = aws_appsync_api.test.api_id + name = var.rName + + tags = var.resource_tags +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "resource_tags" { + description = "Tags to set on resource. To specify no tags, set to `null`" + # Not setting a default, so that this must explicitly be set to `null` to specify no tags + type = map(string) + nullable = true +} + +variable "provider_tags" { + type = map(string) + nullable = true + default = null +} + +variable "ignore_tag_keys" { + type = set(string) + nullable = false +} diff --git a/internal/service/appsync/testdata/tmpl/channel_namespace_tags.gtpl b/internal/service/appsync/testdata/tmpl/channel_namespace_tags.gtpl new file mode 100644 index 000000000000..d9ec77e8dd12 --- /dev/null +++ b/internal/service/appsync/testdata/tmpl/channel_namespace_tags.gtpl @@ -0,0 +1,31 @@ +resource "aws_appsync_api" "test" { + {{- template "region" }} + name = var.rName + + event_config { + auth_provider { + auth_type = "API_KEY" + } + + connection_auth_mode { + auth_type = "API_KEY" + } + + default_publish_auth_mode { + auth_type = "API_KEY" + } + + default_subscribe_auth_mode { + auth_type = "API_KEY" + } + } + {{- template "tags" . }} +} + +resource "aws_appsync_channel_namespace" "test" { + {{- template "region" }} + api_id = aws_appsync_api.test.api_id + name = var.rName + + {{- template "tags" . }} +} From 758d9208badfaddac6d7aea01843ffc920c98578 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Tue, 12 Aug 2025 11:28:42 -0400 Subject: [PATCH 1108/1301] r/aws_lambda_function: add resource identity (#43821) --- PASS: TestAccLambdaFunction_Identity_Basic (64.82s) --- PASS: TestAccLambdaFunction_Identity_ExistingResource (57.71s) --- PASS: TestAccLambdaFunction_Identity_RegionOverride (280.64s) --- PASS: TestAccLambdaFunction_basic (95.13s) --- PASS: TestAccLambdaFunction_disappears (45.10s) --- PASS: TestAccLambdaFunction_unpublishedCodeUpdate (522.83s) --- PASS: TestAccLambdaFunction_codeSigning (92.37s) --- PASS: TestAccLambdaFunction_concurrency (125.47s) --- PASS: TestAccLambdaFunction_concurrencyCycle (304.22s) --- PASS: TestAccLambdaFunction_expectFilenameAndS3Attributes (0.88s) --- PASS: TestAccLambdaFunction_envVariables (685.70s) --- PASS: TestAccLambdaFunction_EnvironmentVariables_noValue (636.14s) --- PASS: TestAccLambdaFunction_encryptedEnvVariables (676.14s) --- PASS: TestAccLambdaFunction_nameValidation (0.92s) --- PASS: TestAccLambdaFunction_versioned (626.45s) --- PASS: TestAccLambdaFunction_versionedUpdate (913.88s) --- PASS: TestAccLambdaFunction_enablePublish (105.47s) --- PASS: TestAccLambdaFunction_disablePublish (285.82s) --- PASS: TestAccLambdaFunction_deadLetter (298.83s) --- PASS: TestAccLambdaFunction_deadLetterUpdated (465.08s) --- PASS: TestAccLambdaFunction_nilDeadLetter (422.84s) --- PASS: TestAccLambdaFunction_fileSystem (1341.66s) --- SKIP: TestAccLambdaFunction_image (0.00s) --- PASS: TestAccLambdaFunction_architectures (683.02s) --- PASS: TestAccLambdaFunction_architecturesUpdate (778.74s) --- PASS: TestAccLambdaFunction_architecturesWithLayer (833.01s) --- PASS: TestAccLambdaFunction_ephemeralStorage (599.93s) --- PASS: TestAccLambdaFunction_loggingConfig (529.23s) --- PASS: TestAccLambdaFunction_loggingConfigWithPublish (740.02s) --- PASS: TestAccLambdaFunction_tracing (639.23s) --- PASS: TestAccLambdaFunction_KMSKeyARN_noEnvironmentVariables (633.25s) --- PASS: TestAccLambdaFunction_layers (805.32s) --- PASS: TestAccLambdaFunction_layersUpdate (638.90s) --- PASS: TestAccLambdaFunction_vpc (2293.18s) --- PASS: TestAccLambdaFunction_vpcRemoval (684.61s) --- PASS: TestAccLambdaFunction_vpcUpdate (1965.99s) --- PASS: TestAccLambdaFunction_VPC_withInvocation (666.52s) --- PASS: TestAccLambdaFunction_VPCPublishNo_changes (1711.60s) --- PASS: TestAccLambdaFunction_VPCPublishHas_changes (1682.76s) --- PASS: TestAccLambdaFunction_VPC_properIAMDependencies (1071.55s) --- PASS: TestAccLambdaFunction_VPC_replaceSGWithDefault (1077.15s) --- PASS: TestAccLambdaFunction_VPC_replaceSGWithCustom (952.61s) --- PASS: TestAccLambdaFunction_emptyVPC (477.07s) --- PASS: TestAccLambdaFunction_s3 (32.37s) --- PASS: TestAccLambdaFunction_localUpdate (705.35s) --- PASS: TestAccLambdaFunction_LocalUpdate_nameOnly (1357.88s) --- PASS: TestAccLambdaFunction_LocalUpdate_publish (1156.03s) --- PASS: TestAccLambdaFunction_S3Update_basic (63.02s) --- PASS: TestAccLambdaFunction_S3Update_unversioned (57.55s) --- PASS: TestAccLambdaFunction_snapStart (124.73s) --- PASS: TestAccLambdaFunction_runtimes (536.00s) --- PASS: TestAccLambdaFunction_Zip_validation (7.17s) --- PASS: TestAccLambdaFunction_ipv6AllowedForDualStack (1062.47s) --- PASS: TestAccLambdaFunction_skipDestroy (85.01s) --- PASS: TestAccLambdaFunction_tags (1112.89s) --- PASS: TestAccLambdaFunction_tags_null (1075.52s) --- PASS: TestAccLambdaFunction_tags_EmptyMap (1265.02s) --- PASS: TestAccLambdaFunction_tags_AddOnUpdate (1449.67s) --- PASS: TestAccLambdaFunction_tags_EmptyTag_OnCreate (1283.12s) --- PASS: TestAccLambdaFunction_tags_EmptyTag_OnUpdate_Add (1297.20s) --- PASS: TestAccLambdaFunction_tags_EmptyTag_OnUpdate_Replace (1272.44s) --- PASS: TestAccLambdaFunction_tags_DefaultTags_providerOnly (96.73s) --- PASS: TestAccLambdaFunction_tags_DefaultTags_nonOverlapping (310.64s) --- PASS: TestAccLambdaFunction_tags_DefaultTags_overlapping (652.15s) --- PASS: TestAccLambdaFunction_tags_DefaultTags_updateToProviderOnly (503.25s) --- PASS: TestAccLambdaFunction_tags_DefaultTags_updateToResourceOnly (508.40s) --- PASS: TestAccLambdaFunction_tags_DefaultTags_emptyResourceTag (935.71s) --- PASS: TestAccLambdaFunction_tags_DefaultTags_emptyProviderOnlyTag (556.97s) --- PASS: TestAccLambdaFunction_tags_DefaultTags_nullOverlappingResourceTag (616.83s) --- PASS: TestAccLambdaFunction_tags_DefaultTags_nullNonOverlappingResourceTag (902.82s) --- PASS: TestAccLambdaFunction_tags_ComputedTag_OnCreate (125.07s) --- PASS: TestAccLambdaFunction_tags_ComputedTag_OnUpdate_Add (634.44s) --- PASS: TestAccLambdaFunction_tags_ComputedTag_OnUpdate_Replace (1075.04s) --- PASS: TestAccLambdaFunction_tags_IgnoreTags_Overlap_DefaultTag (1464.65s) --- PASS: TestAccLambdaFunction_tags_IgnoreTags_Overlap_ResourceTag (1478.28s) --- .changelog/43821.txt | 3 + internal/service/lambda/function.go | 9 + .../lambda/function_identity_gen_test.go | 270 ++++++++++++++++++ internal/service/lambda/generate.go | 1 + .../service/lambda/service_package_gen.go | 6 +- .../testdata/Function/basic/main_gen.tf | 91 ++++++ .../Function/basic_v6.7.0/main_gen.tf | 101 +++++++ .../Function/basic_v6.8.0/main_gen.tf | 102 +++++++ .../Function/region_override/main_gen.tf | 99 +++++++ .../lambda/testdata/tmpl/function_tags.gtpl | 1 + 10 files changed, 682 insertions(+), 1 deletion(-) create mode 100644 .changelog/43821.txt create mode 100644 internal/service/lambda/function_identity_gen_test.go create mode 100644 internal/service/lambda/testdata/Function/basic/main_gen.tf create mode 100644 internal/service/lambda/testdata/Function/basic_v6.7.0/main_gen.tf create mode 100644 internal/service/lambda/testdata/Function/basic_v6.8.0/main_gen.tf create mode 100644 internal/service/lambda/testdata/Function/region_override/main_gen.tf diff --git a/.changelog/43821.txt b/.changelog/43821.txt new file mode 100644 index 000000000000..d7fd9cb0b265 --- /dev/null +++ b/.changelog/43821.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/aws_lambda_function: Add resource identity support +``` diff --git a/internal/service/lambda/function.go b/internal/service/lambda/function.go index 284bd0aa2b88..468c1a3fb89c 100644 --- a/internal/service/lambda/function.go +++ b/internal/service/lambda/function.go @@ -26,6 +26,7 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag" "github.com/hashicorp/terraform-provider-aws/internal/flex" tfio "github.com/hashicorp/terraform-provider-aws/internal/io" + "github.com/hashicorp/terraform-provider-aws/internal/provider/sdkv2/importer" "github.com/hashicorp/terraform-provider-aws/internal/sdkv2" tfec2 "github.com/hashicorp/terraform-provider-aws/internal/service/ec2" tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" @@ -44,6 +45,10 @@ const ( // @Tags(identifierAttribute="arn") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/lambda;lambda.GetFunctionOutput") // @Testing(importIgnore="filename;last_modified;publish") +// @IdentityAttribute("function_name") +// @Testing(idAttrDuplicates="function_name") +// @Testing(preIdentityVersion="v6.7.0") +// @CustomImport func resourceFunction() *schema.Resource { return &schema.Resource{ CreateWithoutTimeout: resourceFunctionCreate, @@ -59,6 +64,10 @@ func resourceFunction() *schema.Resource { Importer: &schema.ResourceImporter{ StateContext: func(ctx context.Context, d *schema.ResourceData, meta any) ([]*schema.ResourceData, error) { + identitySpec := importer.IdentitySpec(ctx) + if err := importer.RegionalSingleParameterized(ctx, d, identitySpec, meta.(importer.AWSClient)); err != nil { + return nil, err + } d.Set("function_name", d.Id()) return []*schema.ResourceData{d}, nil }, diff --git a/internal/service/lambda/function_identity_gen_test.go b/internal/service/lambda/function_identity_gen_test.go new file mode 100644 index 000000000000..cbc2beb18a8e --- /dev/null +++ b/internal/service/lambda/function_identity_gen_test.go @@ -0,0 +1,270 @@ +// Code generated by internal/generate/identitytests/main.go; DO NOT EDIT. + +package lambda_test + +import ( + "testing" + + "github.com/aws/aws-sdk-go-v2/service/lambda" + "github.com/hashicorp/terraform-plugin-testing/compare" + "github.com/hashicorp/terraform-plugin-testing/config" + sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-plugin-testing/tfversion" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfknownvalue "github.com/hashicorp/terraform-provider-aws/internal/acctest/knownvalue" + tfstatecheck "github.com/hashicorp/terraform-provider-aws/internal/acctest/statecheck" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccLambdaFunction_Identity_Basic(t *testing.T) { + ctx := acctest.Context(t) + + var v lambda.GetFunctionOutput + resourceName := "aws_lambda_function.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.LambdaServiceID), + CheckDestroy: testAccCheckFunctionDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/Function/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckFunctionExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.CompareValuePairs(resourceName, tfjsonpath.New(names.AttrID), resourceName, tfjsonpath.New("function_name"), compare.ValuesSame()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.Region()), + "function_name": knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New("function_name")), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/Function/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "filename", "last_modified", "publish", + }, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/Function/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New("function_name"), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + ExpectNonEmptyPlan: true, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/Function/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New("function_name"), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + ExpectNonEmptyPlan: true, + }, + }, + }) +} + +func TestAccLambdaFunction_Identity_RegionOverride(t *testing.T) { + ctx := acctest.Context(t) + + resourceName := "aws_lambda_function.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.LambdaServiceID), + CheckDestroy: acctest.CheckDestroyNoop, + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/Function/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.CompareValuePairs(resourceName, tfjsonpath.New(names.AttrID), resourceName, tfjsonpath.New("function_name"), compare.ValuesSame()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.AlternateRegion()), + "function_name": knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New("function_name")), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/Function/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "filename", "last_modified", "publish", + }, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/Function/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New("function_name"), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + ExpectNonEmptyPlan: true, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/Function/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New("function_name"), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + ExpectNonEmptyPlan: true, + }, + }, + }) +} + +// Resource Identity was added after v6.7.0 +func TestAccLambdaFunction_Identity_ExistingResource(t *testing.T) { + ctx := acctest.Context(t) + + var v lambda.GetFunctionOutput + resourceName := "aws_lambda_function.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.LambdaServiceID), + CheckDestroy: testAccCheckFunctionDestroy(ctx), + Steps: []resource.TestStep{ + // Step 1: Create pre-Identity + { + ConfigDirectory: config.StaticDirectory("testdata/Function/basic_v6.7.0/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckFunctionExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + tfstatecheck.ExpectNoIdentity(resourceName), + }, + }, + + // Step 2: Current version + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/Function/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.Region()), + "function_name": knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New("function_name")), + }, + }, + }, + }) +} diff --git a/internal/service/lambda/generate.go b/internal/service/lambda/generate.go index ac5d23a89d0a..27dc09d38292 100644 --- a/internal/service/lambda/generate.go +++ b/internal/service/lambda/generate.go @@ -4,6 +4,7 @@ //go:generate go run ../../generate/tags/main.go -ServiceTagsMap -TagInIDElem=Resource -UpdateTags -ListTags -ListTagsInIDElem=Resource -ListTagsOp=ListTags -KVTValues //go:generate go run ../../generate/servicepackage/main.go //go:generate go run ../../generate/tagstests/main.go +//go:generate go run ../../generate/identitytests/main.go // ONLY generate directives and package declaration! Do not add anything else to this file. package lambda diff --git a/internal/service/lambda/service_package_gen.go b/internal/service/lambda/service_package_gen.go index 7de9eef76ef6..3cdbabc99170 100644 --- a/internal/service/lambda/service_package_gen.go +++ b/internal/service/lambda/service_package_gen.go @@ -131,7 +131,11 @@ func (p *servicePackage) SDKResources(ctx context.Context) []*inttypes.ServicePa Tags: unique.Make(inttypes.ServicePackageResourceTags{ IdentifierAttribute: names.AttrARN, }), - Region: unique.Make(inttypes.ResourceRegionDefault()), + Region: unique.Make(inttypes.ResourceRegionDefault()), + Identity: inttypes.RegionalSingleParameterIdentity("function_name"), + Import: inttypes.SDKv2Import{ + CustomImport: true, + }, }, { Factory: resourceFunctionEventInvokeConfig, diff --git a/internal/service/lambda/testdata/Function/basic/main_gen.tf b/internal/service/lambda/testdata/Function/basic/main_gen.tf new file mode 100644 index 000000000000..4433e6b2e4f5 --- /dev/null +++ b/internal/service/lambda/testdata/Function/basic/main_gen.tf @@ -0,0 +1,91 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_lambda_function" "test" { + filename = "test-fixtures/lambdatest.zip" + function_name = var.rName + role = aws_iam_role.test.arn + handler = "exports.example" + runtime = "nodejs20.x" +} + +data "aws_partition" "current" {} + +resource "aws_iam_role" "test" { + name = var.rName + + assume_role_policy = < Date: Tue, 12 Aug 2025 15:33:38 +0000 Subject: [PATCH 1109/1301] Update CHANGELOG.md for #43821 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 92abdcf760f9..869759518f86 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ ENHANCEMENTS: * resource/aws_cloudwatch_event_rule: Add resource identity support ([#43758](https://github.com/hashicorp/terraform-provider-aws/issues/43758)) * resource/aws_cloudwatch_metric_alarm: Add resource identity support ([#43759](https://github.com/hashicorp/terraform-provider-aws/issues/43759)) * resource/aws_dynamodb_table: Add `replica.deletion_protection_enabled` argument ([#43240](https://github.com/hashicorp/terraform-provider-aws/issues/43240)) +* resource/aws_lambda_function: Add resource identity support ([#43821](https://github.com/hashicorp/terraform-provider-aws/issues/43821)) BUG FIXES: From a732bfeb575cb641f25c2a872f8fc0f749cd6128 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Tue, 12 Aug 2025 12:15:40 -0400 Subject: [PATCH 1110/1301] chore: tweak changelog --- .changelog/43830.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.changelog/43830.txt b/.changelog/43830.txt index 28fddca9bf88..558cf3fe21a1 100644 --- a/.changelog/43830.txt +++ b/.changelog/43830.txt @@ -1,11 +1,11 @@ ```release-note:enhancement -resource/aws_sns_topic_policy: Add resource identity +resource/aws_sns_topic_policy: Add resource identity support ``` ```release-note:enhancement -resource/aws_sns_topic_data_protection_policy: Add resource identity +resource/aws_sns_topic_data_protection_policy: Add resource identity support ``` ```release-note:enhancement -resource/aws_sns_topic_subscription: Add resource identity +resource/aws_sns_topic_subscription: Add resource identity support ``` From 48070810158adcbfef09268cf647ef921158379c Mon Sep 17 00:00:00 2001 From: changelogbot Date: Tue, 12 Aug 2025 17:08:37 +0000 Subject: [PATCH 1111/1301] Update CHANGELOG.md for #43830 --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 869759518f86..e0f1c2c7eebe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,9 @@ ENHANCEMENTS: * resource/aws_cloudwatch_metric_alarm: Add resource identity support ([#43759](https://github.com/hashicorp/terraform-provider-aws/issues/43759)) * resource/aws_dynamodb_table: Add `replica.deletion_protection_enabled` argument ([#43240](https://github.com/hashicorp/terraform-provider-aws/issues/43240)) * resource/aws_lambda_function: Add resource identity support ([#43821](https://github.com/hashicorp/terraform-provider-aws/issues/43821)) +* resource/aws_sns_topic_data_protection_policy: Add resource identity support ([#43830](https://github.com/hashicorp/terraform-provider-aws/issues/43830)) +* resource/aws_sns_topic_policy: Add resource identity support ([#43830](https://github.com/hashicorp/terraform-provider-aws/issues/43830)) +* resource/aws_sns_topic_subscription: Add resource identity support ([#43830](https://github.com/hashicorp/terraform-provider-aws/issues/43830)) BUG FIXES: From 6062821cba08e3d45b2435bf35ca62369cb82c7c Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Tue, 12 Aug 2025 13:08:55 -0400 Subject: [PATCH 1112/1301] Add parameterized resource identity to `aws_subnet` (#43833) * r/aws_subnet: add resource identity === RUN TestAccVPCSubnet_Identity_Basic --- PASS: TestAccVPCSubnet_Identity_Basic (37.23s) === RUN TestAccVPCSubnet_Identity_RegionOverride --- PASS: TestAccVPCSubnet_Identity_RegionOverride (29.57s) === RUN TestAccVPCSubnet_Identity_ExistingResource --- PASS: TestAccVPCSubnet_Identity_ExistingResource (51.64s) PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/ec2 58.280s * Remove unnecessary basic template file Since vpc_subnet_tags.gtpl already exists and has been updated with the region template, the separate basic template is not needed. The identity tests now properly use the tags template as the base configuration. * chore: fix changelog number --- .changelog/43833.txt | 3 + internal/service/ec2/service_package_gen.go | 6 +- .../ec2/testdata/Subnet/basic/main_gen.tf | 12 + .../testdata/Subnet/basic_v6.8.0/main_gen.tf | 22 ++ .../Subnet/region_override/main_gen.tf | 22 ++ .../ec2/testdata/tmpl/vpc_subnet_tags.gtpl | 2 + internal/service/ec2/vpc_subnet.go | 5 +- .../ec2/vpc_subnet_identity_gen_test.go | 231 ++++++++++++++++++ 8 files changed, 299 insertions(+), 4 deletions(-) create mode 100644 .changelog/43833.txt create mode 100644 internal/service/ec2/testdata/Subnet/basic/main_gen.tf create mode 100644 internal/service/ec2/testdata/Subnet/basic_v6.8.0/main_gen.tf create mode 100644 internal/service/ec2/testdata/Subnet/region_override/main_gen.tf create mode 100644 internal/service/ec2/vpc_subnet_identity_gen_test.go diff --git a/.changelog/43833.txt b/.changelog/43833.txt new file mode 100644 index 000000000000..cf105056899a --- /dev/null +++ b/.changelog/43833.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/aws_subnet: Add resource identity support +``` diff --git a/internal/service/ec2/service_package_gen.go b/internal/service/ec2/service_package_gen.go index 1cfc2918c8e4..a375e325575d 100644 --- a/internal/service/ec2/service_package_gen.go +++ b/internal/service/ec2/service_package_gen.go @@ -1476,7 +1476,11 @@ func (p *servicePackage) SDKResources(ctx context.Context) []*inttypes.ServicePa Tags: unique.Make(inttypes.ServicePackageResourceTags{ IdentifierAttribute: names.AttrID, }), - Region: unique.Make(inttypes.ResourceRegionDefault()), + Region: unique.Make(inttypes.ResourceRegionDefault()), + Identity: inttypes.RegionalSingleParameterIdentity(names.AttrID), + Import: inttypes.SDKv2Import{ + WrappedImport: true, + }, }, { Factory: resourceVerifiedAccessEndpoint, diff --git a/internal/service/ec2/testdata/Subnet/basic/main_gen.tf b/internal/service/ec2/testdata/Subnet/basic/main_gen.tf new file mode 100644 index 000000000000..dd708ec5350f --- /dev/null +++ b/internal/service/ec2/testdata/Subnet/basic/main_gen.tf @@ -0,0 +1,12 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_subnet" "test" { + cidr_block = "10.1.1.0/24" + vpc_id = aws_vpc.test.id +} + +resource "aws_vpc" "test" { + cidr_block = "10.1.0.0/16" +} + diff --git a/internal/service/ec2/testdata/Subnet/basic_v6.8.0/main_gen.tf b/internal/service/ec2/testdata/Subnet/basic_v6.8.0/main_gen.tf new file mode 100644 index 000000000000..0e1bcefbdaef --- /dev/null +++ b/internal/service/ec2/testdata/Subnet/basic_v6.8.0/main_gen.tf @@ -0,0 +1,22 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_subnet" "test" { + cidr_block = "10.1.1.0/24" + vpc_id = aws_vpc.test.id +} + +resource "aws_vpc" "test" { + cidr_block = "10.1.0.0/16" +} + +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "6.8.0" + } + } +} + +provider "aws" {} diff --git a/internal/service/ec2/testdata/Subnet/region_override/main_gen.tf b/internal/service/ec2/testdata/Subnet/region_override/main_gen.tf new file mode 100644 index 000000000000..9fb8bc73c9e2 --- /dev/null +++ b/internal/service/ec2/testdata/Subnet/region_override/main_gen.tf @@ -0,0 +1,22 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_subnet" "test" { + region = var.region + + cidr_block = "10.1.1.0/24" + vpc_id = aws_vpc.test.id +} + +resource "aws_vpc" "test" { + region = var.region + + cidr_block = "10.1.0.0/16" +} + + +variable "region" { + description = "Region to deploy resource in" + type = string + nullable = false +} diff --git a/internal/service/ec2/testdata/tmpl/vpc_subnet_tags.gtpl b/internal/service/ec2/testdata/tmpl/vpc_subnet_tags.gtpl index 4be3eb970274..9b919eaa41d1 100644 --- a/internal/service/ec2/testdata/tmpl/vpc_subnet_tags.gtpl +++ b/internal/service/ec2/testdata/tmpl/vpc_subnet_tags.gtpl @@ -1,4 +1,5 @@ resource "aws_subnet" "test" { +{{- template "region" }} cidr_block = "10.1.1.0/24" vpc_id = aws_vpc.test.id @@ -6,5 +7,6 @@ resource "aws_subnet" "test" { } resource "aws_vpc" "test" { +{{- template "region" }} cidr_block = "10.1.0.0/16" } diff --git a/internal/service/ec2/vpc_subnet.go b/internal/service/ec2/vpc_subnet.go index 03f23b0d5603..6069614d19fa 100644 --- a/internal/service/ec2/vpc_subnet.go +++ b/internal/service/ec2/vpc_subnet.go @@ -31,6 +31,8 @@ import ( // @Tags(identifierAttribute="id") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/ec2/types;awstypes;awstypes.Subnet") // @Testing(generator=false) +// @IdentityAttribute("id") +// @Testing(preIdentityVersion="v6.8.0") func resourceSubnet() *schema.Resource { //lintignore:R011 return &schema.Resource{ @@ -38,9 +40,6 @@ func resourceSubnet() *schema.Resource { ReadWithoutTimeout: resourceSubnetRead, UpdateWithoutTimeout: resourceSubnetUpdate, DeleteWithoutTimeout: resourceSubnetDelete, - Importer: &schema.ResourceImporter{ - StateContext: schema.ImportStatePassthroughContext, - }, Timeouts: &schema.ResourceTimeout{ Create: schema.DefaultTimeout(10 * time.Minute), diff --git a/internal/service/ec2/vpc_subnet_identity_gen_test.go b/internal/service/ec2/vpc_subnet_identity_gen_test.go new file mode 100644 index 000000000000..8e1d0e5d4344 --- /dev/null +++ b/internal/service/ec2/vpc_subnet_identity_gen_test.go @@ -0,0 +1,231 @@ +// Code generated by internal/generate/identitytests/main.go; DO NOT EDIT. + +package ec2_test + +import ( + "testing" + + awstypes "github.com/aws/aws-sdk-go-v2/service/ec2/types" + "github.com/hashicorp/terraform-plugin-testing/config" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-plugin-testing/tfversion" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfknownvalue "github.com/hashicorp/terraform-provider-aws/internal/acctest/knownvalue" + tfstatecheck "github.com/hashicorp/terraform-provider-aws/internal/acctest/statecheck" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccVPCSubnet_Identity_Basic(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.Subnet + resourceName := "aws_subnet.test" + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.EC2ServiceID), + CheckDestroy: testAccCheckSubnetDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/Subnet/basic/"), + ConfigVariables: config.Variables{}, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckSubnetExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.Region()), + names.AttrID: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/Subnet/basic/"), + ConfigVariables: config.Variables{}, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/Subnet/basic/"), + ConfigVariables: config.Variables{}, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/Subnet/basic/"), + ConfigVariables: config.Variables{}, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + }, + }) +} + +func TestAccVPCSubnet_Identity_RegionOverride(t *testing.T) { + ctx := acctest.Context(t) + + resourceName := "aws_subnet.test" + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.EC2ServiceID), + CheckDestroy: acctest.CheckDestroyNoop, + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/Subnet/region_override/"), + ConfigVariables: config.Variables{ + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.AlternateRegion()), + names.AttrID: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/Subnet/region_override/"), + ConfigVariables: config.Variables{ + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/Subnet/region_override/"), + ConfigVariables: config.Variables{ + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/Subnet/region_override/"), + ConfigVariables: config.Variables{ + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + }, + }) +} + +// Resource Identity was added after v6.8.0 +func TestAccVPCSubnet_Identity_ExistingResource(t *testing.T) { + ctx := acctest.Context(t) + + var v awstypes.Subnet + resourceName := "aws_subnet.test" + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.EC2ServiceID), + CheckDestroy: testAccCheckSubnetDestroy(ctx), + Steps: []resource.TestStep{ + // Step 1: Create pre-Identity + { + ConfigDirectory: config.StaticDirectory("testdata/Subnet/basic_v6.8.0/"), + ConfigVariables: config.Variables{}, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckSubnetExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + tfstatecheck.ExpectNoIdentity(resourceName), + }, + }, + + // Step 2: Current version + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/Subnet/basic/"), + ConfigVariables: config.Variables{}, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrAccountID: tfknownvalue.AccountID(), + names.AttrRegion: knownvalue.StringExact(acctest.Region()), + names.AttrID: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrID)), + }, + }, + }, + }) +} From 85fb85f5df6f9b5dd4833d67bf0ae2ccff5091d7 Mon Sep 17 00:00:00 2001 From: changelogbot Date: Tue, 12 Aug 2025 17:14:40 +0000 Subject: [PATCH 1113/1301] Update CHANGELOG.md for #43833 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e0f1c2c7eebe..842fbf1e5e2f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ ENHANCEMENTS: * resource/aws_sns_topic_data_protection_policy: Add resource identity support ([#43830](https://github.com/hashicorp/terraform-provider-aws/issues/43830)) * resource/aws_sns_topic_policy: Add resource identity support ([#43830](https://github.com/hashicorp/terraform-provider-aws/issues/43830)) * resource/aws_sns_topic_subscription: Add resource identity support ([#43830](https://github.com/hashicorp/terraform-provider-aws/issues/43830)) +* resource/aws_subnet: Add resource identity support ([#43833](https://github.com/hashicorp/terraform-provider-aws/issues/43833)) BUG FIXES: From 4a755dad8dd266ec3cd3b0fdd80a2ef9696e1f0f Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 13:20:42 -0400 Subject: [PATCH 1114/1301] Update internal/service/storagegateway/gateway.go Co-authored-by: Jared Baker --- internal/service/storagegateway/gateway.go | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/internal/service/storagegateway/gateway.go b/internal/service/storagegateway/gateway.go index ab9fd1a34983..12d1aa2499d6 100644 --- a/internal/service/storagegateway/gateway.go +++ b/internal/service/storagegateway/gateway.go @@ -497,10 +497,7 @@ func resourceGatewayRead(ctx context.Context, d *schema.ResourceData, meta any) } if isGatewayNotConnectedErr(err) { - var gatewayInfo *awstypes.GatewayInfo - gatewayInfo, err = findGatewayInfoByARN(ctx, conn, d.Id()) - - if err == nil { + if gatewayInfo, err := findGatewayInfoByARN(ctx, conn, d.Id()); err == nil { d.Set(names.AttrARN, gatewayInfo.GatewayARN) d.Set("ec2_instance_id", gatewayInfo.Ec2InstanceId) d.Set("gateway_name", gatewayInfo.GatewayName) From 20c36786f0de1408e7c1a696fbec28ee398952fb Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 14:04:33 -0400 Subject: [PATCH 1115/1301] r/aws_appsync_channel_namespace: Documentation. --- .../r/appsync_channel_namespace.html.markdown | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 website/docs/r/appsync_channel_namespace.html.markdown diff --git a/website/docs/r/appsync_channel_namespace.html.markdown b/website/docs/r/appsync_channel_namespace.html.markdown new file mode 100644 index 000000000000..6b8ad380738f --- /dev/null +++ b/website/docs/r/appsync_channel_namespace.html.markdown @@ -0,0 +1,95 @@ +--- +subcategory: "AppSync" +layout: "aws" +page_title: "AWS: aws_appsync_channel_namespace" +description: |- + Manages an AWS AppSync Channel Namespace. +--- + +# Resource: aws_appsync_channel_namespace + +Manages an [AWS AppSync Channel Namespace](https://docs.aws.amazon.com/appsync/latest/eventapi/event-api-concepts.html#namespace). + +## Example Usage + +### Basic Usage + +```terraform +resource "aws_appsync_channel_namespace" "example" { + name = "example-channel-namespace" + api_id = aws_appsync_api.example.api_id +} +``` + +## Argument Reference + +The following arguments are required: + +* `api_id` - (Required) Event API ID. +* `name` - (Required) Name of the channel namespace. + +The following arguments are optional: + +* `code_handlers` - (Optional) Event handler functions that run custom business logic to process published events and subscribe requests. +* `handler_configs` - (Optional) Configuration for the `on_publish` and `on_subscribe` handlers. See [Handler Configs](#handler-configs) below. +* `publish_auth_mode` - (Optional) Authorization modes to use for publishing messages on the channel namespace. This configuration overrides the default API authorization configuration. See [Auth Modes](#auth-modes) below. +* `subscribe_auth_mode` - (Optional) Authorization modes to use for subscribing to messages on the channel namespace. This configuration overrides the default API authorization configuration. See [Auth Modes](#auth-modes) below. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). +* `tags` - (Optional) Map of tags to assign to the resource. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. + +### Auth Modes + +The `publish_auth_mode`, and `subscribe_auth_mode` blocks support the following: + +* `auth_type` - (Required) Type of authentication. Valid values: `API_KEY`, `AWS_IAM`, `AMAZON_COGNITO_USER_POOLS`, `OPENID_CONNECT`, `AWS_LAMBDA`. + +### Handler Configs + +The `handler_configs` block support the following: + +* `on_publish` - (Optional) Handler configuration. See [Handler Config](#handler-config) below. +* `on_subscribe` - (Optional) Handler configuration. See [Handler Config](#handler-config) below. + +### Handler Config + +The `on_publish` and `on_subscribe` blocks support the following: + +* `behavior` - (Required) Behavior for the handler. Valid values: `CODE`, `DIRECT`. +* `integration` - (Required) Integration data source configuration for the handler. See [Integration](#integration) below. + +### Integration + +The `integration` block support the following: + +* `data_source_name` - (Required) Unique name of the data source that has been configured on the API. +* `lambda_config` - (Optional) Configuration for a Lambda data source. See [Lambda Config](#lambda-config) below. + +### Lambad Config + +The `lambda_config` block support the following: + +* `invoke_type` - (Optional) Invocation type for a Lambda data source. Valid values: `REQUEST_RESPONSE`, `EVENT`. + +## Attribute Reference + +This resource exports the following attributes in addition to the arguments above: + +* `channel_namespace_arn` - ARN of the channel namespace. +* `tags_all` - Map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). + +## Import + +In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import AppSync Channel Namespace using the `api_id` and `name` separated by a comma (`,`). For example: + +```terraform +import { + to = aws_appsync_channel_namespace.example + id = "example-api-id,example-channel-namespace" +} +``` + +Using `terraform import`, import AppSync Channel Namespace using the `api_id` and `name` separated by a comma (`,`). For example: + +```console +% terraform import aws_appsync_channel_namespace.example example-api-id,example-channel-namespace +``` From ea4917481393a30b2029f4763b414b3bfb4ff0cc Mon Sep 17 00:00:00 2001 From: changelogbot Date: Tue, 12 Aug 2025 18:12:16 +0000 Subject: [PATCH 1116/1301] Update CHANGELOG.md for #43819 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 842fbf1e5e2f..d90b1394d242 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ BUG FIXES: * resource/aws_lambda_function: Fix missing value for `reserved_concurrent_executions` attribute when a published version exists. This functionality requires the `lambda:GetFunctionConcurrency` IAM permission ([#43753](https://github.com/hashicorp/terraform-provider-aws/issues/43753)) * resource/aws_sagemaker_user_profile: Fix incomplete regex for `user_profile_name` ([#43807](https://github.com/hashicorp/terraform-provider-aws/issues/43807)) * resource/aws_servicequotas_service_quota: Add validation, during `create`, to check if new value is less than current value of quota ([#43545](https://github.com/hashicorp/terraform-provider-aws/issues/43545)) +* resource/aws_storagegateway_gateway: Handle `InvalidGatewayRequestException: The specified gateway is not connected` errors during Read by using the [`ListGateways` API](https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_ListGateways.html) to return minimal information about a disconnected gateway. This functionality requires the `storagegateway:ListGateways` IAM permission ([#43819](https://github.com/hashicorp/terraform-provider-aws/issues/43819)) ## 6.8.0 (August 7, 2025) From d4df15e008cb0bf5f93414424e2775519afd7a56 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 14:25:37 -0400 Subject: [PATCH 1117/1301] r/aws_appsync_channel_namespace: Initial acceptance tests. --- internal/service/appsync/channel_namespace.go | 105 ++++++++++++++++-- .../channel_namespace_tags_gen_test.go | 62 +++++------ .../service/appsync/channel_namespace_test.go | 70 +++++++++++- 3 files changed, 197 insertions(+), 40 deletions(-) diff --git a/internal/service/appsync/channel_namespace.go b/internal/service/appsync/channel_namespace.go index 672383ccd8f6..e282666d2d62 100644 --- a/internal/service/appsync/channel_namespace.go +++ b/internal/service/appsync/channel_namespace.go @@ -11,6 +11,7 @@ import ( "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/service/appsync" awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" + "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator" "github.com/hashicorp/terraform-plugin-framework/path" "github.com/hashicorp/terraform-plugin-framework/resource" @@ -29,12 +30,14 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/smerr" tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" + inttypes "github.com/hashicorp/terraform-provider-aws/internal/types" "github.com/hashicorp/terraform-provider-aws/names" ) // @FrameworkResource("aws_appsync_channel_namespace", name="Channel Namespace") // @Tags(identifierAttribute="channel_namespace_arn") // @Testing(importStateIdAttribute="name") +// @Testing(importStateIdFunc=testAccChannelNamespaceImportStateID) // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/appsync/types;awstypes;awstypes.ChannelNamespace") // @Testing(hasNoPreExistingResource=true) func newChannelNamespaceResource(_ context.Context) (resource.ResourceWithConfigure, error) { @@ -77,6 +80,18 @@ func (r *channelNamespaceResource) Schema(ctx context.Context, request resource. names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), }, Blocks: map[string]schema.Block{ + "handler_configs": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[handlerConfigsModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Blocks: map[string]schema.Block{ + "on_publish": handlerConfigBlock(ctx), + "on_subscribe": handlerConfigBlock(ctx), + }, + }, + }, "publish_auth_mode": schema.ListNestedBlock{ CustomType: fwtypes.NewListNestedObjectTypeOf[authModeModel](ctx), NestedObject: schema.NestedBlockObject{ @@ -103,6 +118,56 @@ func (r *channelNamespaceResource) Schema(ctx context.Context, request resource. } } +func handlerConfigBlock(ctx context.Context) schema.Block { + return schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[handlerConfigModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "behavior": schema.StringAttribute{ + Required: true, + CustomType: fwtypes.StringEnumType[awstypes.HandlerBehavior](), + }, + }, + Blocks: map[string]schema.Block{ + "integration": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[integrationModel](ctx), + Validators: []validator.List{ + listvalidator.IsRequired(), + listvalidator.SizeAtLeast(1), + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "data_source_name": schema.StringAttribute{ + Required: true, + }, + }, + Blocks: map[string]schema.Block{ + "lambda_config": schema.ListNestedBlock{ + CustomType: fwtypes.NewListNestedObjectTypeOf[lambdaConfigModel](ctx), + Validators: []validator.List{ + listvalidator.SizeAtMost(1), + }, + NestedObject: schema.NestedBlockObject{ + Attributes: map[string]schema.Attribute{ + "invoke_type": schema.StringAttribute{ + CustomType: fwtypes.StringEnumType[awstypes.InvokeType](), + Optional: true, + }, + }, + }, + }, + }, + }, + }, + }, + }, + } +} + func (r *channelNamespaceResource) Create(ctx context.Context, request resource.CreateRequest, response *resource.CreateResponse) { var data channelNamespaceResourceModel smerr.EnrichAppend(ctx, &response.Diagnostics, request.Plan.Get(ctx, &data)) @@ -158,6 +223,10 @@ func (r *channelNamespaceResource) Read(ctx context.Context, request resource.Re return } + if inttypes.IsZero(output.HandlerConfigs) { + output.HandlerConfigs = nil + } + // Set attributes for import. smerr.EnrichAppend(ctx, &response.Diagnostics, fwflex.Flatten(ctx, output, &data), smerr.ID, name) if response.Diagnostics.HasError() { @@ -278,12 +347,32 @@ func findChannelNamespace(ctx context.Context, conn *appsync.Client, input *apps type channelNamespaceResourceModel struct { framework.WithRegionModel - ApiID types.String `tfsdk:"api_id"` - ChannelNamespaceARN types.String `tfsdk:"channel_namespace_arn"` - CodeHandlers types.String `tfsdk:"code_handlers"` - Name types.String `tfsdk:"name"` - PublishAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"publish_auth_mode"` - SubscribeAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"subscribe_auth_mode"` - Tags tftags.Map `tfsdk:"tags"` - TagsAll tftags.Map `tfsdk:"tags_all"` + ApiID types.String `tfsdk:"api_id"` + ChannelNamespaceARN types.String `tfsdk:"channel_namespace_arn"` + CodeHandlers types.String `tfsdk:"code_handlers"` + HandlerConfigs fwtypes.ListNestedObjectValueOf[handlerConfigsModel] `tfsdk:"handler_configs"` + Name types.String `tfsdk:"name"` + PublishAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"publish_auth_mode"` + SubscribeAuthModes fwtypes.ListNestedObjectValueOf[authModeModel] `tfsdk:"subscribe_auth_mode"` + Tags tftags.Map `tfsdk:"tags"` + TagsAll tftags.Map `tfsdk:"tags_all"` +} + +type handlerConfigsModel struct { + OnPublish fwtypes.ListNestedObjectValueOf[handlerConfigModel] `tfsdk:"on_publish"` + OnSubscribe fwtypes.ListNestedObjectValueOf[handlerConfigModel] `tfsdk:"on_subscribe"` +} + +type handlerConfigModel struct { + Behavior fwtypes.StringEnum[awstypes.HandlerBehavior] `tfsdk:"behavior"` + Integration fwtypes.ListNestedObjectValueOf[integrationModel] `tfsdk:"integration"` +} + +type integrationModel struct { + DataSourceName types.String `tfsdk:"data_source_name"` + LambdaConfig fwtypes.ListNestedObjectValueOf[lambdaConfigModel] `tfsdk:"lambda_config"` +} + +type lambdaConfigModel struct { + InvokeType fwtypes.StringEnum[awstypes.InvokeType] `tfsdk:"invoke_type"` } diff --git a/internal/service/appsync/channel_namespace_tags_gen_test.go b/internal/service/appsync/channel_namespace_tags_gen_test.go index 6165c49fc2d4..90a26c1f8e8e 100644 --- a/internal/service/appsync/channel_namespace_tags_gen_test.go +++ b/internal/service/appsync/channel_namespace_tags_gen_test.go @@ -70,7 +70,7 @@ func TestAccAppSyncChannelNamespace_tags(t *testing.T) { }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, }, @@ -121,7 +121,7 @@ func TestAccAppSyncChannelNamespace_tags(t *testing.T) { }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, }, @@ -166,7 +166,7 @@ func TestAccAppSyncChannelNamespace_tags(t *testing.T) { }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, }, @@ -199,7 +199,7 @@ func TestAccAppSyncChannelNamespace_tags(t *testing.T) { }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, }, @@ -261,7 +261,7 @@ func TestAccAppSyncChannelNamespace_tags_null(t *testing.T) { }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, ImportStateVerifyIgnore: []string{ @@ -314,7 +314,7 @@ func TestAccAppSyncChannelNamespace_tags_EmptyMap(t *testing.T) { }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, ImportStateVerifyIgnore: []string{ @@ -400,7 +400,7 @@ func TestAccAppSyncChannelNamespace_tags_AddOnUpdate(t *testing.T) { }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, }, @@ -462,7 +462,7 @@ func TestAccAppSyncChannelNamespace_tags_EmptyTag_OnCreate(t *testing.T) { }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, }, @@ -495,7 +495,7 @@ func TestAccAppSyncChannelNamespace_tags_EmptyTag_OnCreate(t *testing.T) { }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, }, @@ -594,7 +594,7 @@ func TestAccAppSyncChannelNamespace_tags_EmptyTag_OnUpdate_Add(t *testing.T) { }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, }, @@ -639,7 +639,7 @@ func TestAccAppSyncChannelNamespace_tags_EmptyTag_OnUpdate_Add(t *testing.T) { }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, }, @@ -732,7 +732,7 @@ func TestAccAppSyncChannelNamespace_tags_EmptyTag_OnUpdate_Replace(t *testing.T) }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, }, @@ -793,7 +793,7 @@ func TestAccAppSyncChannelNamespace_tags_DefaultTags_providerOnly(t *testing.T) }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, }, @@ -842,7 +842,7 @@ func TestAccAppSyncChannelNamespace_tags_DefaultTags_providerOnly(t *testing.T) }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, }, @@ -887,7 +887,7 @@ func TestAccAppSyncChannelNamespace_tags_DefaultTags_providerOnly(t *testing.T) }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, }, @@ -922,7 +922,7 @@ func TestAccAppSyncChannelNamespace_tags_DefaultTags_providerOnly(t *testing.T) }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, }, @@ -993,7 +993,7 @@ func TestAccAppSyncChannelNamespace_tags_DefaultTags_nonOverlapping(t *testing.T }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, }, @@ -1054,7 +1054,7 @@ func TestAccAppSyncChannelNamespace_tags_DefaultTags_nonOverlapping(t *testing.T }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, }, @@ -1089,7 +1089,7 @@ func TestAccAppSyncChannelNamespace_tags_DefaultTags_nonOverlapping(t *testing.T }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, }, @@ -1158,7 +1158,7 @@ func TestAccAppSyncChannelNamespace_tags_DefaultTags_overlapping(t *testing.T) { }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, }, @@ -1219,7 +1219,7 @@ func TestAccAppSyncChannelNamespace_tags_DefaultTags_overlapping(t *testing.T) { }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, }, @@ -1272,7 +1272,7 @@ func TestAccAppSyncChannelNamespace_tags_DefaultTags_overlapping(t *testing.T) { }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, }, @@ -1365,7 +1365,7 @@ func TestAccAppSyncChannelNamespace_tags_DefaultTags_updateToProviderOnly(t *tes }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, }, @@ -1457,7 +1457,7 @@ func TestAccAppSyncChannelNamespace_tags_DefaultTags_updateToResourceOnly(t *tes }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, }, @@ -1526,7 +1526,7 @@ func TestAccAppSyncChannelNamespace_tags_DefaultTags_emptyResourceTag(t *testing }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, }, @@ -1587,7 +1587,7 @@ func TestAccAppSyncChannelNamespace_tags_DefaultTags_emptyProviderOnlyTag(t *tes }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, }, @@ -1656,7 +1656,7 @@ func TestAccAppSyncChannelNamespace_tags_DefaultTags_nullOverlappingResourceTag( }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, ImportStateVerifyIgnore: []string{ @@ -1730,7 +1730,7 @@ func TestAccAppSyncChannelNamespace_tags_DefaultTags_nullNonOverlappingResourceT }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, ImportStateVerifyIgnore: []string{ @@ -1791,7 +1791,7 @@ func TestAccAppSyncChannelNamespace_tags_ComputedTag_OnCreate(t *testing.T) { }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, }, @@ -1891,7 +1891,7 @@ func TestAccAppSyncChannelNamespace_tags_ComputedTag_OnUpdate_Add(t *testing.T) }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, }, @@ -1981,7 +1981,7 @@ func TestAccAppSyncChannelNamespace_tags_ComputedTag_OnUpdate_Replace(t *testing }, ResourceName: resourceName, ImportState: true, - ImportStateIdFunc: acctest.AttrImportStateIdFunc(resourceName, names.AttrName), + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), ImportStateVerify: true, ImportStateVerifyIdentifierAttribute: names.AttrName, }, diff --git a/internal/service/appsync/channel_namespace_test.go b/internal/service/appsync/channel_namespace_test.go index a44911ce77c3..06127678be8e 100644 --- a/internal/service/appsync/channel_namespace_test.go +++ b/internal/service/appsync/channel_namespace_test.go @@ -8,18 +8,71 @@ import ( "fmt" "testing" + "github.com/YakDriver/regexache" awstypes "github.com/aws/aws-sdk-go-v2/service/appsync/types" sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" "github.com/hashicorp/terraform-plugin-testing/terraform" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfknownvalue "github.com/hashicorp/terraform-provider-aws/internal/acctest/knownvalue" "github.com/hashicorp/terraform-provider-aws/internal/conns" tfappsync "github.com/hashicorp/terraform-provider-aws/internal/service/appsync" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" ) +func TestAccAppSyncChannelNamespace_basic(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.ChannelNamespace + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_appsync_channel_namespace.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) + testAccPreCheck(ctx, t) + }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckChannelNamespaceDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccChannelNamespaceConfig_basic(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("api_id"), knownvalue.NotNull()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("channel_namespace_arn"), tfknownvalue.RegionalARNRegexp("appsync", regexache.MustCompile(`apis/.+/channelNamespace/.+`))), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("code_handlers"), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("handler_configs"), knownvalue.ListSizeExact(0)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrName), knownvalue.StringExact(rName)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("publish_auth_mode"), knownvalue.ListSizeExact(0)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("subscribe_auth_mode"), knownvalue.ListSizeExact(0)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + }, + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + }, + }) +} + func TestAccAppSyncChannelNamespace_disappears(t *testing.T) { ctx := acctest.Context(t) var v awstypes.ChannelNamespace @@ -37,7 +90,7 @@ func TestAccAppSyncChannelNamespace_disappears(t *testing.T) { CheckDestroy: testAccCheckChannelNamespaceDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccAPIConfig_basic(rName), + Config: testAccChannelNamespaceConfig_basic(rName), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckChannelNamespaceExists(ctx, resourceName, &v), acctest.CheckFrameworkResourceDisappears(ctx, acctest.Provider, tfappsync.ResourceChannelNamespace, resourceName), @@ -99,3 +152,18 @@ func testAccCheckChannelNamespaceExists(ctx context.Context, n string, v *awstyp return nil } } + +func testAccChannelNamespaceImportStateID(n string) resource.ImportStateIdFunc { + return func(s *terraform.State) (string, error) { + return acctest.AttrsImportStateIdFunc(n, ",", "api_id", names.AttrName)(s) + } +} + +func testAccChannelNamespaceConfig_basic(rName string) string { + return acctest.ConfigCompose(testAccAPIConfig_basic(rName), fmt.Sprintf(` +resource "aws_appsync_channel_namespace" "test" { + name = %[1]q + api_id = aws_appsync_api.test.api_id +} +`, rName)) +} From 4539f4279cd8a1ce4a700ceb8c4174c73df1edda Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 1 Aug 2025 21:53:50 -0700 Subject: [PATCH 1118/1301] Renames `github.com/hashicorp/terraform-provider-aws/internal/iters` to `github.com/hashicorp/terraform-provider-aws/internal/iter` to correspond with standard library --- .teamcity/scripts/provider_tests/acceptance_tests.sh | 2 +- .teamcity/scripts/provider_tests/unit_tests.sh | 2 +- internal/{iters => iter}/README.md | 0 internal/{iters => iter}/concat.go | 2 +- internal/{iters => iter}/concat_test.go | 2 +- internal/service/rds/parameter_group.go | 4 ++-- 6 files changed, 6 insertions(+), 6 deletions(-) rename internal/{iters => iter}/README.md (100%) rename internal/{iters => iter}/concat.go (96%) rename internal/{iters => iter}/concat_test.go (98%) diff --git a/.teamcity/scripts/provider_tests/acceptance_tests.sh b/.teamcity/scripts/provider_tests/acceptance_tests.sh index ef7cfbdc05ec..e7734d0537ea 100644 --- a/.teamcity/scripts/provider_tests/acceptance_tests.sh +++ b/.teamcity/scripts/provider_tests/acceptance_tests.sh @@ -48,7 +48,7 @@ TF_ACC=1 go test \ ./internal/function/... \ ./internal/generate/... \ ./internal/io/... \ - ./internal/iters/... \ + ./internal/iter/... \ ./internal/json/... \ ./internal/logging/... \ ./internal/maps/... \ diff --git a/.teamcity/scripts/provider_tests/unit_tests.sh b/.teamcity/scripts/provider_tests/unit_tests.sh index b023b2790400..c954cb904d3d 100644 --- a/.teamcity/scripts/provider_tests/unit_tests.sh +++ b/.teamcity/scripts/provider_tests/unit_tests.sh @@ -20,7 +20,7 @@ go test \ ./internal/function/... \ ./internal/generate/... \ ./internal/io/... \ - ./internal/iters/... \ + ./internal/iter/... \ ./internal/json/... \ ./internal/logging/... \ ./internal/maps/... \ diff --git a/internal/iters/README.md b/internal/iter/README.md similarity index 100% rename from internal/iters/README.md rename to internal/iter/README.md diff --git a/internal/iters/concat.go b/internal/iter/concat.go similarity index 96% rename from internal/iters/concat.go rename to internal/iter/concat.go index 24d11d942d32..1329dad66869 100644 --- a/internal/iters/concat.go +++ b/internal/iter/concat.go @@ -1,7 +1,7 @@ // Copyright (c) HashiCorp, Inc. // SPDX-License-Identifier: MPL-2.0 -package iters +package iter import ( "iter" diff --git a/internal/iters/concat_test.go b/internal/iter/concat_test.go similarity index 98% rename from internal/iters/concat_test.go rename to internal/iter/concat_test.go index 43219e9ba84b..f68c68bda8e3 100644 --- a/internal/iters/concat_test.go +++ b/internal/iter/concat_test.go @@ -1,7 +1,7 @@ // Copyright (c) HashiCorp, Inc. // SPDX-License-Identifier: MPL-2.0 -package iters +package iter import ( "iter" diff --git a/internal/service/rds/parameter_group.go b/internal/service/rds/parameter_group.go index adc7878d255c..d9d563d9309a 100644 --- a/internal/service/rds/parameter_group.go +++ b/internal/service/rds/parameter_group.go @@ -22,7 +22,7 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/enum" "github.com/hashicorp/terraform-provider-aws/internal/errs" "github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag" - tfiters "github.com/hashicorp/terraform-provider-aws/internal/iters" + tfiter "github.com/hashicorp/terraform-provider-aws/internal/iter" tfmaps "github.com/hashicorp/terraform-provider-aws/internal/maps" tfslices "github.com/hashicorp/terraform-provider-aws/internal/slices" tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" @@ -466,5 +466,5 @@ parameterLoop: chunks = append(chunks, slices.Chunk(immediate, maxChunkSize)) chunks = append(chunks, slices.Chunk(pendingReboot, maxChunkSize)) - return tfiters.Concat(chunks...) + return tfiter.Concat(chunks...) } From ad6b96d8c2fd82034e754fa56260eb905d546d80 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 7 Jul 2025 14:29:22 -0700 Subject: [PATCH 1119/1301] Uses `sync.Once` instead of mutex and boolean --- internal/provider/framework/provider.go | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/internal/provider/framework/provider.go b/internal/provider/framework/provider.go index 6e1d2b6be902..d741035b53bf 100644 --- a/internal/provider/framework/provider.go +++ b/internal/provider/framework/provider.go @@ -10,6 +10,7 @@ import ( "iter" "log" "slices" + "sync" "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" "github.com/hashicorp/terraform-plugin-framework/datasource" @@ -35,7 +36,7 @@ import ( ) var ( - resourceSchemasValidated bool + resourceSchemasValidated sync.Once ) var ( @@ -65,22 +66,14 @@ func NewProvider(ctx context.Context, primary interface{ Meta() any }) (provider servicePackages: primary.Meta().(*conns.AWSClient).ServicePackages(ctx), } - // Acceptance tests call this function multiple times, potentially in parallel. - // To avoid "fatal error: concurrent map writes", take a lock. - const ( - mutexKVKey = "provider.New" - ) - conns.GlobalMutexKV.Lock(mutexKVKey) - defer conns.GlobalMutexKV.Unlock(mutexKVKey) - // Because we try and share resource schemas as much as possible, // we need to ensure that we only validate the resource schemas once. - if !resourceSchemasValidated { - if err := provider.validateResourceSchemas(ctx); err != nil { - return nil, err - } - - resourceSchemasValidated = true + var err error + resourceSchemasValidated.Do(func() { + err = provider.validateResourceSchemas(ctx) + }) + if err != nil { + return nil, err } if err := provider.initialize(ctx); err != nil { From 3573389b92b50962142586c41d3c5a1c0dc811fe Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 7 Jul 2025 14:32:08 -0700 Subject: [PATCH 1120/1301] Moves Framework Data Source `bootstrapContext` to method on `wrappedDataSource` --- internal/provider/framework/provider.go | 32 ++----------- internal/provider/framework/wrap.go | 64 +++++++++++++++++++------ 2 files changed, 53 insertions(+), 43 deletions(-) diff --git a/internal/provider/framework/provider.go b/internal/provider/framework/provider.go index d741035b53bf..7ead806022de 100644 --- a/internal/provider/framework/provider.go +++ b/internal/provider/framework/provider.go @@ -394,11 +394,10 @@ func (p *frameworkProvider) initialize(ctx context.Context) error { servicePackageName := sp.ServicePackageName() for _, v := range sp.FrameworkDataSources(ctx) { - typeName := v.TypeName inner, err := v.Factory(ctx) if err != nil { - errs = append(errs, fmt.Errorf("creating data source (%s): %w", typeName, err)) + errs = append(errs, fmt.Errorf("creating data source (%s): %w", v.TypeName, err)) continue } @@ -424,32 +423,9 @@ func (p *frameworkProvider) initialize(ctx context.Context) error { } opts := wrappedDataSourceOptions{ - // bootstrapContext is run on all wrapped methods before any interceptors. - bootstrapContext: func(ctx context.Context, getAttribute getAttributeFunc, c *conns.AWSClient) (context.Context, diag.Diagnostics) { - var diags diag.Diagnostics - var overrideRegion string - - if isRegionOverrideEnabled && getAttribute != nil { - var target types.String - diags.Append(getAttribute(ctx, path.Root(names.AttrRegion), &target)...) - if diags.HasError() { - return ctx, diags - } - - overrideRegion = target.ValueString() - } - - ctx = conns.NewResourceContext(ctx, servicePackageName, v.Name, overrideRegion) - if c != nil { - ctx = tftags.NewContext(ctx, c.DefaultTagsConfig(ctx), c.IgnoreTagsConfig(ctx)) - ctx = c.RegisterLogger(ctx) - ctx = fwflex.RegisterLogger(ctx) - } - - return ctx, diags - }, - interceptors: interceptors, - typeName: typeName, + interceptors: interceptors, + servicePackageName: servicePackageName, + spec: v, } p.dataSources = append(p.dataSources, func() datasource.DataSource { return newWrappedDataSource(inner, opts) diff --git a/internal/provider/framework/wrap.go b/internal/provider/framework/wrap.go index 821790cf80e6..74e63cc58679 100644 --- a/internal/provider/framework/wrap.go +++ b/internal/provider/framework/wrap.go @@ -11,13 +11,18 @@ import ( "github.com/hashicorp/terraform-plugin-framework/ephemeral" "github.com/hashicorp/terraform-plugin-framework/path" "github.com/hashicorp/terraform-plugin-framework/resource" + "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" "github.com/hashicorp/terraform-provider-aws/internal/conns" "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" "github.com/hashicorp/terraform-provider-aws/internal/framework" + fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" "github.com/hashicorp/terraform-provider-aws/internal/provider/framework/identity" "github.com/hashicorp/terraform-provider-aws/internal/provider/framework/importer" - "github.com/hashicorp/terraform-provider-aws/internal/types" + tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" + inttypes "github.com/hashicorp/terraform-provider-aws/internal/types" + tfunique "github.com/hashicorp/terraform-provider-aws/internal/unique" + "github.com/hashicorp/terraform-provider-aws/names" ) // Implemented by (Config|Plan|State).GetAttribute(). @@ -27,10 +32,9 @@ type getAttributeFunc func(context.Context, path.Path, any) diag.Diagnostics type contextFunc func(context.Context, getAttributeFunc, *conns.AWSClient) (context.Context, diag.Diagnostics) type wrappedDataSourceOptions struct { - // bootstrapContext is run on all wrapped methods before any interceptors. - bootstrapContext contextFunc - interceptors interceptorInvocations - typeName string + interceptors interceptorInvocations + servicePackageName string + spec *inttypes.ServicePackageFrameworkDataSource } // wrappedDataSource represents an interceptor dispatcher for a Plugin Framework data source. @@ -47,13 +51,43 @@ func newWrappedDataSource(inner datasource.DataSourceWithConfigure, opts wrapped } } +// bootstrapContext is run on all wrapped methods before any interceptors. +func (w *wrappedDataSource) bootstrapContext(ctx context.Context, getAttribute getAttributeFunc, c *conns.AWSClient) (context.Context, diag.Diagnostics) { + var diags diag.Diagnostics + var overrideRegion string + + var isRegionOverrideEnabled bool + if regionSpec := w.opts.spec.Region; !tfunique.IsHandleNil(regionSpec) && regionSpec.Value().IsOverrideEnabled { + isRegionOverrideEnabled = true + } + + if isRegionOverrideEnabled && getAttribute != nil { + var target types.String + diags.Append(getAttribute(ctx, path.Root(names.AttrRegion), &target)...) + if diags.HasError() { + return ctx, diags + } + + overrideRegion = target.ValueString() + } + + ctx = conns.NewResourceContext(ctx, w.opts.servicePackageName, w.opts.spec.Name, overrideRegion) + if c != nil { + ctx = tftags.NewContext(ctx, c.DefaultTagsConfig(ctx), c.IgnoreTagsConfig(ctx)) + ctx = c.RegisterLogger(ctx) + ctx = fwflex.RegisterLogger(ctx) + } + + return ctx, diags +} + func (w *wrappedDataSource) Metadata(ctx context.Context, request datasource.MetadataRequest, response *datasource.MetadataResponse) { // This method does not call down to the inner data source. - response.TypeName = w.opts.typeName + response.TypeName = w.opts.spec.TypeName } func (w *wrappedDataSource) Schema(ctx context.Context, request datasource.SchemaRequest, response *datasource.SchemaResponse) { - ctx, diags := w.opts.bootstrapContext(ctx, nil, w.meta) + ctx, diags := w.bootstrapContext(ctx, nil, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -68,16 +102,16 @@ func (w *wrappedDataSource) Schema(ctx context.Context, request datasource.Schem if v, ok := w.inner.(framework.DataSourceValidateModel); ok { response.Diagnostics.Append(v.ValidateModel(ctx, &response.Schema)...) if response.Diagnostics.HasError() { - response.Diagnostics.AddError("data source model validation error", w.opts.typeName) + response.Diagnostics.AddError("data source model validation error", w.opts.spec.TypeName) return } } else { - response.Diagnostics.AddError("missing framework.DataSourceValidateModel", w.opts.typeName) + response.Diagnostics.AddError("missing framework.DataSourceValidateModel", w.opts.spec.TypeName) } } func (w *wrappedDataSource) Read(ctx context.Context, request datasource.ReadRequest, response *datasource.ReadResponse) { - ctx, diags := w.opts.bootstrapContext(ctx, request.Config.GetAttribute, w.meta) + ctx, diags := w.bootstrapContext(ctx, request.Config.GetAttribute, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -91,7 +125,7 @@ func (w *wrappedDataSource) Configure(ctx context.Context, request datasource.Co w.meta = v } - ctx, diags := w.opts.bootstrapContext(ctx, nil, w.meta) + ctx, diags := w.bootstrapContext(ctx, nil, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -102,10 +136,10 @@ func (w *wrappedDataSource) Configure(ctx context.Context, request datasource.Co func (w *wrappedDataSource) ConfigValidators(ctx context.Context) []datasource.ConfigValidator { if v, ok := w.inner.(datasource.DataSourceWithConfigValidators); ok { - ctx, diags := w.opts.bootstrapContext(ctx, nil, w.meta) + ctx, diags := w.bootstrapContext(ctx, nil, w.meta) if diags.HasError() { tflog.Warn(ctx, "wrapping ConfigValidators", map[string]any{ - "data source": w.opts.typeName, + "data source": w.opts.spec.TypeName, "bootstrapContext error": fwdiag.DiagnosticsString(diags), }) @@ -120,7 +154,7 @@ func (w *wrappedDataSource) ConfigValidators(ctx context.Context) []datasource.C func (w *wrappedDataSource) ValidateConfig(ctx context.Context, request datasource.ValidateConfigRequest, response *datasource.ValidateConfigResponse) { if v, ok := w.inner.(datasource.DataSourceWithValidateConfig); ok { - ctx, diags := w.opts.bootstrapContext(ctx, request.Config.GetAttribute, w.meta) + ctx, diags := w.bootstrapContext(ctx, request.Config.GetAttribute, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -260,7 +294,7 @@ type wrappedResourceOptions struct { bootstrapContext contextFunc interceptors interceptorInvocations typeName string - identity types.Identity + identity inttypes.Identity } // wrappedResource represents an interceptor dispatcher for a Plugin Framework resource. From c8a91d7b194be2f3c5cace5d41d05f32762004c8 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 7 Jul 2025 15:02:30 -0700 Subject: [PATCH 1121/1301] Defers calling Framework Data Source `Factory` until wrapped function is called --- internal/provider/framework/provider.go | 20 ++++++-------------- internal/provider/framework/wrap.go | 18 ++++++++++-------- 2 files changed, 16 insertions(+), 22 deletions(-) diff --git a/internal/provider/framework/provider.go b/internal/provider/framework/provider.go index 7ead806022de..1caaba8b4db0 100644 --- a/internal/provider/framework/provider.go +++ b/internal/provider/framework/provider.go @@ -393,23 +393,16 @@ func (p *frameworkProvider) initialize(ctx context.Context) error { for sp := range p.servicePackages { servicePackageName := sp.ServicePackageName() - for _, v := range sp.FrameworkDataSources(ctx) { - inner, err := v.Factory(ctx) - - if err != nil { - errs = append(errs, fmt.Errorf("creating data source (%s): %w", v.TypeName, err)) - continue - } - + for _, dataSourceSpec := range sp.FrameworkDataSources(ctx) { var isRegionOverrideEnabled bool - if v := v.Region; !tfunique.IsHandleNil(v) && v.Value().IsOverrideEnabled { + if regionSpec := dataSourceSpec.Region; !tfunique.IsHandleNil(regionSpec) && regionSpec.Value().IsOverrideEnabled { isRegionOverrideEnabled = true } var interceptors interceptorInvocations if isRegionOverrideEnabled { - v := v.Region.Value() + v := dataSourceSpec.Region.Value() interceptors = append(interceptors, dataSourceInjectRegionAttribute()) if v.IsValidateOverrideInPartition { @@ -418,17 +411,16 @@ func (p *frameworkProvider) initialize(ctx context.Context) error { interceptors = append(interceptors, dataSourceSetRegionInState()) } - if !tfunique.IsHandleNil(v.Tags) { - interceptors = append(interceptors, dataSourceTransparentTagging(v.Tags)) + if !tfunique.IsHandleNil(dataSourceSpec.Tags) { + interceptors = append(interceptors, dataSourceTransparentTagging(dataSourceSpec.Tags)) } opts := wrappedDataSourceOptions{ interceptors: interceptors, servicePackageName: servicePackageName, - spec: v, } p.dataSources = append(p.dataSources, func() datasource.DataSource { - return newWrappedDataSource(inner, opts) + return newWrappedDataSource(dataSourceSpec, opts) }) } diff --git a/internal/provider/framework/wrap.go b/internal/provider/framework/wrap.go index 74e63cc58679..b9f475b39771 100644 --- a/internal/provider/framework/wrap.go +++ b/internal/provider/framework/wrap.go @@ -34,7 +34,6 @@ type contextFunc func(context.Context, getAttributeFunc, *conns.AWSClient) (cont type wrappedDataSourceOptions struct { interceptors interceptorInvocations servicePackageName string - spec *inttypes.ServicePackageFrameworkDataSource } // wrappedDataSource represents an interceptor dispatcher for a Plugin Framework data source. @@ -42,12 +41,15 @@ type wrappedDataSource struct { inner datasource.DataSourceWithConfigure meta *conns.AWSClient opts wrappedDataSourceOptions + spec *inttypes.ServicePackageFrameworkDataSource } -func newWrappedDataSource(inner datasource.DataSourceWithConfigure, opts wrappedDataSourceOptions) datasource.DataSourceWithConfigure { +func newWrappedDataSource(spec *inttypes.ServicePackageFrameworkDataSource, opts wrappedDataSourceOptions) datasource.DataSourceWithConfigure { + inner, _ := spec.Factory(context.TODO()) return &wrappedDataSource{ inner: inner, opts: opts, + spec: spec, } } @@ -57,7 +59,7 @@ func (w *wrappedDataSource) bootstrapContext(ctx context.Context, getAttribute g var overrideRegion string var isRegionOverrideEnabled bool - if regionSpec := w.opts.spec.Region; !tfunique.IsHandleNil(regionSpec) && regionSpec.Value().IsOverrideEnabled { + if regionSpec := w.spec.Region; !tfunique.IsHandleNil(regionSpec) && regionSpec.Value().IsOverrideEnabled { isRegionOverrideEnabled = true } @@ -71,7 +73,7 @@ func (w *wrappedDataSource) bootstrapContext(ctx context.Context, getAttribute g overrideRegion = target.ValueString() } - ctx = conns.NewResourceContext(ctx, w.opts.servicePackageName, w.opts.spec.Name, overrideRegion) + ctx = conns.NewResourceContext(ctx, w.opts.servicePackageName, w.spec.Name, overrideRegion) if c != nil { ctx = tftags.NewContext(ctx, c.DefaultTagsConfig(ctx), c.IgnoreTagsConfig(ctx)) ctx = c.RegisterLogger(ctx) @@ -83,7 +85,7 @@ func (w *wrappedDataSource) bootstrapContext(ctx context.Context, getAttribute g func (w *wrappedDataSource) Metadata(ctx context.Context, request datasource.MetadataRequest, response *datasource.MetadataResponse) { // This method does not call down to the inner data source. - response.TypeName = w.opts.spec.TypeName + response.TypeName = w.spec.TypeName } func (w *wrappedDataSource) Schema(ctx context.Context, request datasource.SchemaRequest, response *datasource.SchemaResponse) { @@ -102,11 +104,11 @@ func (w *wrappedDataSource) Schema(ctx context.Context, request datasource.Schem if v, ok := w.inner.(framework.DataSourceValidateModel); ok { response.Diagnostics.Append(v.ValidateModel(ctx, &response.Schema)...) if response.Diagnostics.HasError() { - response.Diagnostics.AddError("data source model validation error", w.opts.spec.TypeName) + response.Diagnostics.AddError("data source model validation error", w.spec.TypeName) return } } else { - response.Diagnostics.AddError("missing framework.DataSourceValidateModel", w.opts.spec.TypeName) + response.Diagnostics.AddError("missing framework.DataSourceValidateModel", w.spec.TypeName) } } @@ -139,7 +141,7 @@ func (w *wrappedDataSource) ConfigValidators(ctx context.Context) []datasource.C ctx, diags := w.bootstrapContext(ctx, nil, w.meta) if diags.HasError() { tflog.Warn(ctx, "wrapping ConfigValidators", map[string]any{ - "data source": w.opts.spec.TypeName, + "data source": w.spec.TypeName, "bootstrapContext error": fwdiag.DiagnosticsString(diags), }) From 5fc719fde328e6e21593a63155f4728734a4e956 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 7 Jul 2025 15:12:45 -0700 Subject: [PATCH 1122/1301] Moves `servicePackageName` out of `opts` --- internal/provider/framework/provider.go | 5 ++--- internal/provider/framework/wrap.go | 23 ++++++++++++----------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/internal/provider/framework/provider.go b/internal/provider/framework/provider.go index 1caaba8b4db0..4bad160c08d9 100644 --- a/internal/provider/framework/provider.go +++ b/internal/provider/framework/provider.go @@ -416,11 +416,10 @@ func (p *frameworkProvider) initialize(ctx context.Context) error { } opts := wrappedDataSourceOptions{ - interceptors: interceptors, - servicePackageName: servicePackageName, + interceptors: interceptors, } p.dataSources = append(p.dataSources, func() datasource.DataSource { - return newWrappedDataSource(dataSourceSpec, opts) + return newWrappedDataSource(dataSourceSpec, servicePackageName, opts) }) } diff --git a/internal/provider/framework/wrap.go b/internal/provider/framework/wrap.go index b9f475b39771..ec676bdef58a 100644 --- a/internal/provider/framework/wrap.go +++ b/internal/provider/framework/wrap.go @@ -32,24 +32,25 @@ type getAttributeFunc func(context.Context, path.Path, any) diag.Diagnostics type contextFunc func(context.Context, getAttributeFunc, *conns.AWSClient) (context.Context, diag.Diagnostics) type wrappedDataSourceOptions struct { - interceptors interceptorInvocations - servicePackageName string + interceptors interceptorInvocations } // wrappedDataSource represents an interceptor dispatcher for a Plugin Framework data source. type wrappedDataSource struct { - inner datasource.DataSourceWithConfigure - meta *conns.AWSClient - opts wrappedDataSourceOptions - spec *inttypes.ServicePackageFrameworkDataSource + inner datasource.DataSourceWithConfigure + meta *conns.AWSClient + opts wrappedDataSourceOptions + servicePackageName string + spec *inttypes.ServicePackageFrameworkDataSource } -func newWrappedDataSource(spec *inttypes.ServicePackageFrameworkDataSource, opts wrappedDataSourceOptions) datasource.DataSourceWithConfigure { +func newWrappedDataSource(spec *inttypes.ServicePackageFrameworkDataSource, servicePackageName string, opts wrappedDataSourceOptions) datasource.DataSourceWithConfigure { inner, _ := spec.Factory(context.TODO()) return &wrappedDataSource{ - inner: inner, - opts: opts, - spec: spec, + inner: inner, + opts: opts, + servicePackageName: servicePackageName, + spec: spec, } } @@ -73,7 +74,7 @@ func (w *wrappedDataSource) bootstrapContext(ctx context.Context, getAttribute g overrideRegion = target.ValueString() } - ctx = conns.NewResourceContext(ctx, w.opts.servicePackageName, w.spec.Name, overrideRegion) + ctx = conns.NewResourceContext(ctx, w.servicePackageName, w.spec.Name, overrideRegion) if c != nil { ctx = tftags.NewContext(ctx, c.DefaultTagsConfig(ctx), c.IgnoreTagsConfig(ctx)) ctx = c.RegisterLogger(ctx) From 9282adb753ec432e2baabc43877df48aa6a9ad39 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 7 Jul 2025 16:14:36 -0700 Subject: [PATCH 1123/1301] Moves Framework Data Source interceptor configuration to `newWrappedDataSource` --- internal/provider/framework/provider.go | 28 ++----------------------- internal/provider/framework/wrap.go | 27 +++++++++++++++++++++--- 2 files changed, 26 insertions(+), 29 deletions(-) diff --git a/internal/provider/framework/provider.go b/internal/provider/framework/provider.go index 4bad160c08d9..a341569bfdaa 100644 --- a/internal/provider/framework/provider.go +++ b/internal/provider/framework/provider.go @@ -394,32 +394,8 @@ func (p *frameworkProvider) initialize(ctx context.Context) error { servicePackageName := sp.ServicePackageName() for _, dataSourceSpec := range sp.FrameworkDataSources(ctx) { - var isRegionOverrideEnabled bool - if regionSpec := dataSourceSpec.Region; !tfunique.IsHandleNil(regionSpec) && regionSpec.Value().IsOverrideEnabled { - isRegionOverrideEnabled = true - } - - var interceptors interceptorInvocations - - if isRegionOverrideEnabled { - v := dataSourceSpec.Region.Value() - - interceptors = append(interceptors, dataSourceInjectRegionAttribute()) - if v.IsValidateOverrideInPartition { - interceptors = append(interceptors, dataSourceValidateRegion()) - } - interceptors = append(interceptors, dataSourceSetRegionInState()) - } - - if !tfunique.IsHandleNil(dataSourceSpec.Tags) { - interceptors = append(interceptors, dataSourceTransparentTagging(dataSourceSpec.Tags)) - } - - opts := wrappedDataSourceOptions{ - interceptors: interceptors, - } - p.dataSources = append(p.dataSources, func() datasource.DataSource { - return newWrappedDataSource(dataSourceSpec, servicePackageName, opts) + p.dataSources = append(p.dataSources, func() datasource.DataSource { //nolint:contextcheck // must be a func() + return newWrappedDataSource(dataSourceSpec, servicePackageName) }) } diff --git a/internal/provider/framework/wrap.go b/internal/provider/framework/wrap.go index ec676bdef58a..145e74c539f5 100644 --- a/internal/provider/framework/wrap.go +++ b/internal/provider/framework/wrap.go @@ -44,11 +44,32 @@ type wrappedDataSource struct { spec *inttypes.ServicePackageFrameworkDataSource } -func newWrappedDataSource(spec *inttypes.ServicePackageFrameworkDataSource, servicePackageName string, opts wrappedDataSourceOptions) datasource.DataSourceWithConfigure { - inner, _ := spec.Factory(context.TODO()) +func newWrappedDataSource(spec *inttypes.ServicePackageFrameworkDataSource, servicePackageName string) datasource.DataSourceWithConfigure { + var isRegionOverrideEnabled bool + if regionSpec := spec.Region; !tfunique.IsHandleNil(regionSpec) && regionSpec.Value().IsOverrideEnabled { + isRegionOverrideEnabled = true + } + + var interceptors interceptorInvocations + + if isRegionOverrideEnabled { + v := spec.Region.Value() + + interceptors = append(interceptors, dataSourceInjectRegionAttribute()) + if v.IsValidateOverrideInPartition { + interceptors = append(interceptors, dataSourceValidateRegion()) + } + interceptors = append(interceptors, dataSourceSetRegionInState()) + } + + if !tfunique.IsHandleNil(spec.Tags) { + interceptors = append(interceptors, dataSourceTransparentTagging(spec.Tags)) + } + + inner, _ := spec.Factory(nil) return &wrappedDataSource{ inner: inner, - opts: opts, + opts: wrappedDataSourceOptions{interceptors: interceptors}, servicePackageName: servicePackageName, spec: spec, } From eda48063188bdc5500a2ca88d72eae4216d23dbc Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 7 Jul 2025 16:32:07 -0700 Subject: [PATCH 1124/1301] Moves `interceptors` out of `opts` --- internal/provider/framework/wrap.go | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/internal/provider/framework/wrap.go b/internal/provider/framework/wrap.go index 145e74c539f5..b6e46ec93e65 100644 --- a/internal/provider/framework/wrap.go +++ b/internal/provider/framework/wrap.go @@ -31,17 +31,13 @@ type getAttributeFunc func(context.Context, path.Path, any) diag.Diagnostics // contextFunc augments Context. type contextFunc func(context.Context, getAttributeFunc, *conns.AWSClient) (context.Context, diag.Diagnostics) -type wrappedDataSourceOptions struct { - interceptors interceptorInvocations -} - // wrappedDataSource represents an interceptor dispatcher for a Plugin Framework data source. type wrappedDataSource struct { inner datasource.DataSourceWithConfigure meta *conns.AWSClient - opts wrappedDataSourceOptions servicePackageName string spec *inttypes.ServicePackageFrameworkDataSource + interceptors interceptorInvocations } func newWrappedDataSource(spec *inttypes.ServicePackageFrameworkDataSource, servicePackageName string) datasource.DataSourceWithConfigure { @@ -69,9 +65,9 @@ func newWrappedDataSource(spec *inttypes.ServicePackageFrameworkDataSource, serv inner, _ := spec.Factory(nil) return &wrappedDataSource{ inner: inner, - opts: wrappedDataSourceOptions{interceptors: interceptors}, servicePackageName: servicePackageName, spec: spec, + interceptors: interceptors, } } @@ -117,7 +113,7 @@ func (w *wrappedDataSource) Schema(ctx context.Context, request datasource.Schem return } - interceptedHandler(w.opts.interceptors.dataSourceSchema(), w.inner.Schema, dataSourceSchemaHasError, w.meta)(ctx, request, response) + interceptedHandler(w.interceptors.dataSourceSchema(), w.inner.Schema, dataSourceSchemaHasError, w.meta)(ctx, request, response) if response.Diagnostics.HasError() { return } @@ -141,7 +137,7 @@ func (w *wrappedDataSource) Read(ctx context.Context, request datasource.ReadReq return } - interceptedHandler(w.opts.interceptors.dataSourceRead(), w.inner.Read, dataSourceReadHasError, w.meta)(ctx, request, response) + interceptedHandler(w.interceptors.dataSourceRead(), w.inner.Read, dataSourceReadHasError, w.meta)(ctx, request, response) } func (w *wrappedDataSource) Configure(ctx context.Context, request datasource.ConfigureRequest, response *datasource.ConfigureResponse) { From bbc205e9895191cdf15c3fdcc3c1659ff1f8966e Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 7 Jul 2025 16:56:51 -0700 Subject: [PATCH 1125/1301] Moves Framework Resource `bootstrapContext` to method on `wrappedResource` --- internal/provider/framework/provider.go | 61 ++++++------------ internal/provider/framework/wrap.go | 82 +++++++++++++++++-------- 2 files changed, 74 insertions(+), 69 deletions(-) diff --git a/internal/provider/framework/provider.go b/internal/provider/framework/provider.go index a341569bfdaa..334fb7f5bbea 100644 --- a/internal/provider/framework/provider.go +++ b/internal/provider/framework/provider.go @@ -459,24 +459,24 @@ func (p *frameworkProvider) initialize(ctx context.Context) error { } } - for _, res := range sp.FrameworkResources(ctx) { - typeName := res.TypeName - inner, err := res.Factory(ctx) + for _, resourceSpec := range sp.FrameworkResources(ctx) { + typeName := resourceSpec.TypeName + inner, err := resourceSpec.Factory(ctx) if err != nil { - errs = append(errs, fmt.Errorf("creating resource (%s): %w", typeName, err)) + errs = append(errs, fmt.Errorf("creating resource (%s): %w", resourceSpec.TypeName, err)) continue } var isRegionOverrideEnabled bool - if v := res.Region; !tfunique.IsHandleNil(v) && v.Value().IsOverrideEnabled { + if v := resourceSpec.Region; !tfunique.IsHandleNil(v) && v.Value().IsOverrideEnabled { isRegionOverrideEnabled = true } var interceptors interceptorInvocations if isRegionOverrideEnabled { - v := res.Region.Value() + v := resourceSpec.Region.Value() interceptors = append(interceptors, resourceInjectRegionAttribute()) if v.IsValidateOverrideInPartition { @@ -485,27 +485,27 @@ func (p *frameworkProvider) initialize(ctx context.Context) error { interceptors = append(interceptors, resourceDefaultRegion()) interceptors = append(interceptors, resourceForceNewIfRegionChanges()) interceptors = append(interceptors, resourceSetRegionInState()) - if res.Identity.HasInherentRegion() { + if resourceSpec.Identity.HasInherentRegion() { interceptors = append(interceptors, resourceImportRegionNoDefault()) } else { interceptors = append(interceptors, resourceImportRegion()) } } - if !tfunique.IsHandleNil(res.Tags) { - interceptors = append(interceptors, resourceTransparentTagging(res.Tags)) + if !tfunique.IsHandleNil(resourceSpec.Tags) { + interceptors = append(interceptors, resourceTransparentTagging(resourceSpec.Tags)) } - if res.Import.WrappedImport { - if res.Import.SetIDAttr { - if _, ok := res.Import.ImportID.(inttypes.FrameworkImportIDCreator); !ok { + if resourceSpec.Import.WrappedImport { + if resourceSpec.Import.SetIDAttr { + if _, ok := resourceSpec.Import.ImportID.(inttypes.FrameworkImportIDCreator); !ok { errs = append(errs, fmt.Errorf("resource type %s: importer sets \"id\" attribute, but creator isn't configured", typeName)) continue } } switch v := inner.(type) { case framework.ImportByIdentityer: - v.SetIdentitySpec(res.Identity, res.Import) + v.SetIdentitySpec(resourceSpec.Identity, resourceSpec.Import) default: errs = append(errs, fmt.Errorf("resource type %s: cannot configure importer", typeName)) @@ -514,36 +514,13 @@ func (p *frameworkProvider) initialize(ctx context.Context) error { } opts := wrappedResourceOptions{ - // bootstrapContext is run on all wrapped methods before any interceptors. - bootstrapContext: func(ctx context.Context, getAttribute getAttributeFunc, c *conns.AWSClient) (context.Context, diag.Diagnostics) { - var diags diag.Diagnostics - var overrideRegion string - - if isRegionOverrideEnabled && getAttribute != nil { - var target types.String - diags.Append(getAttribute(ctx, path.Root(names.AttrRegion), &target)...) - if diags.HasError() { - return ctx, diags - } - - overrideRegion = target.ValueString() - } - - ctx = conns.NewResourceContext(ctx, servicePackageName, res.Name, overrideRegion) - if c != nil { - ctx = tftags.NewContext(ctx, c.DefaultTagsConfig(ctx), c.IgnoreTagsConfig(ctx)) - ctx = c.RegisterLogger(ctx) - ctx = fwflex.RegisterLogger(ctx) - } - - return ctx, diags - }, - interceptors: interceptors, - typeName: typeName, + interceptors: interceptors, + servicePackageName: servicePackageName, + spec: resourceSpec, } - if len(res.Identity.Attributes) > 0 { - opts.identity = res.Identity - opts.interceptors = append(opts.interceptors, newIdentityInterceptor(res.Identity.Attributes)) + if len(resourceSpec.Identity.Attributes) > 0 { + opts.interceptors = append(opts.interceptors, newIdentityInterceptor(resourceSpec.Identity.Attributes)) + opts.spec = resourceSpec } p.resources = append(p.resources, func() resource.Resource { diff --git a/internal/provider/framework/wrap.go b/internal/provider/framework/wrap.go index b6e46ec93e65..54fcfa3e7eae 100644 --- a/internal/provider/framework/wrap.go +++ b/internal/provider/framework/wrap.go @@ -310,11 +310,9 @@ func (w *wrappedEphemeralResource) ValidateConfig(ctx context.Context, request e } type wrappedResourceOptions struct { - // bootstrapContext is run on all wrapped methods before any interceptors. - bootstrapContext contextFunc - interceptors interceptorInvocations - typeName string - identity inttypes.Identity + interceptors interceptorInvocations + servicePackageName string + spec *inttypes.ServicePackageFrameworkResource } // wrappedResource represents an interceptor dispatcher for a Plugin Framework resource. @@ -331,17 +329,47 @@ func newWrappedResource(inner resource.ResourceWithConfigure, opts wrappedResour } } +// bootstrapContext is run on all wrapped methods before any interceptors. +func (w *wrappedResource) bootstrapContext(ctx context.Context, getAttribute getAttributeFunc, c *conns.AWSClient) (context.Context, diag.Diagnostics) { + var diags diag.Diagnostics + var overrideRegion string + + var isRegionOverrideEnabled bool + if regionSpec := w.opts.spec.Region; !tfunique.IsHandleNil(regionSpec) && regionSpec.Value().IsOverrideEnabled { + isRegionOverrideEnabled = true + } + + if isRegionOverrideEnabled && getAttribute != nil { + var target types.String + diags.Append(getAttribute(ctx, path.Root(names.AttrRegion), &target)...) + if diags.HasError() { + return ctx, diags + } + + overrideRegion = target.ValueString() + } + + ctx = conns.NewResourceContext(ctx, w.opts.servicePackageName, w.opts.spec.Name, overrideRegion) + if c != nil { + ctx = tftags.NewContext(ctx, c.DefaultTagsConfig(ctx), c.IgnoreTagsConfig(ctx)) + ctx = c.RegisterLogger(ctx) + ctx = fwflex.RegisterLogger(ctx) + } + + return ctx, diags +} + func (w *wrappedResource) Metadata(ctx context.Context, request resource.MetadataRequest, response *resource.MetadataResponse) { // This method does not call down to the inner resource. - response.TypeName = w.opts.typeName + response.TypeName = w.opts.spec.TypeName - if w.opts.identity.IsMutable { + if w.opts.spec.Identity.IsMutable { response.ResourceBehavior.MutableIdentity = true } } func (w *wrappedResource) Schema(ctx context.Context, request resource.SchemaRequest, response *resource.SchemaResponse) { - ctx, diags := w.opts.bootstrapContext(ctx, nil, w.meta) + ctx, diags := w.bootstrapContext(ctx, nil, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -353,16 +381,16 @@ func (w *wrappedResource) Schema(ctx context.Context, request resource.SchemaReq if v, ok := w.inner.(framework.ResourceValidateModel); ok { response.Diagnostics.Append(v.ValidateModel(ctx, &response.Schema)...) if response.Diagnostics.HasError() { - response.Diagnostics.AddError("resource model validation error", w.opts.typeName) + response.Diagnostics.AddError("resource model validation error", w.opts.spec.TypeName) return } - } else if w.opts.typeName != "aws_lexv2models_bot_version" { // Hacky yukkery caused by attribute of type map[string]Object. - response.Diagnostics.AddError("missing framework.ResourceValidateModel", w.opts.typeName) + } else if w.opts.spec.TypeName != "aws_lexv2models_bot_version" { // Hacky yukkery caused by attribute of type map[string]Object. + response.Diagnostics.AddError("missing framework.ResourceValidateModel", w.opts.spec.TypeName) } } func (w *wrappedResource) Create(ctx context.Context, request resource.CreateRequest, response *resource.CreateResponse) { - ctx, diags := w.opts.bootstrapContext(ctx, request.Plan.GetAttribute, w.meta) + ctx, diags := w.bootstrapContext(ctx, request.Plan.GetAttribute, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -372,7 +400,7 @@ func (w *wrappedResource) Create(ctx context.Context, request resource.CreateReq } func (w *wrappedResource) Read(ctx context.Context, request resource.ReadRequest, response *resource.ReadResponse) { - ctx, diags := w.opts.bootstrapContext(ctx, request.State.GetAttribute, w.meta) + ctx, diags := w.bootstrapContext(ctx, request.State.GetAttribute, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -382,7 +410,7 @@ func (w *wrappedResource) Read(ctx context.Context, request resource.ReadRequest } func (w *wrappedResource) Update(ctx context.Context, request resource.UpdateRequest, response *resource.UpdateResponse) { - ctx, diags := w.opts.bootstrapContext(ctx, request.Plan.GetAttribute, w.meta) + ctx, diags := w.bootstrapContext(ctx, request.Plan.GetAttribute, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -392,7 +420,7 @@ func (w *wrappedResource) Update(ctx context.Context, request resource.UpdateReq } func (w *wrappedResource) Delete(ctx context.Context, request resource.DeleteRequest, response *resource.DeleteResponse) { - ctx, diags := w.opts.bootstrapContext(ctx, request.State.GetAttribute, w.meta) + ctx, diags := w.bootstrapContext(ctx, request.State.GetAttribute, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -406,7 +434,7 @@ func (w *wrappedResource) Configure(ctx context.Context, request resource.Config w.meta = v } - ctx, diags := w.opts.bootstrapContext(ctx, nil, w.meta) + ctx, diags := w.bootstrapContext(ctx, nil, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -417,7 +445,7 @@ func (w *wrappedResource) Configure(ctx context.Context, request resource.Config func (w *wrappedResource) ImportState(ctx context.Context, request resource.ImportStateRequest, response *resource.ImportStateResponse) { if v, ok := w.inner.(resource.ResourceWithImportState); ok { - ctx, diags := w.opts.bootstrapContext(ctx, nil, w.meta) + ctx, diags := w.bootstrapContext(ctx, nil, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -436,7 +464,7 @@ func (w *wrappedResource) ImportState(ctx context.Context, request resource.Impo } func (w *wrappedResource) ModifyPlan(ctx context.Context, request resource.ModifyPlanRequest, response *resource.ModifyPlanResponse) { - ctx, diags := w.opts.bootstrapContext(ctx, request.Config.GetAttribute, w.meta) + ctx, diags := w.bootstrapContext(ctx, request.Config.GetAttribute, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -453,10 +481,10 @@ func (w *wrappedResource) ModifyPlan(ctx context.Context, request resource.Modif func (w *wrappedResource) ConfigValidators(ctx context.Context) []resource.ConfigValidator { if v, ok := w.inner.(resource.ResourceWithConfigValidators); ok { - ctx, diags := w.opts.bootstrapContext(ctx, nil, w.meta) + ctx, diags := w.bootstrapContext(ctx, nil, w.meta) if diags.HasError() { tflog.Warn(ctx, "wrapping ConfigValidators", map[string]any{ - "resource": w.opts.typeName, + "resource": w.opts.spec.TypeName, "bootstrapContext error": fwdiag.DiagnosticsString(diags), }) @@ -470,7 +498,7 @@ func (w *wrappedResource) ConfigValidators(ctx context.Context) []resource.Confi } func (w *wrappedResource) ValidateConfig(ctx context.Context, request resource.ValidateConfigRequest, response *resource.ValidateConfigResponse) { - ctx, diags := w.opts.bootstrapContext(ctx, request.Config.GetAttribute, w.meta) + ctx, diags := w.bootstrapContext(ctx, request.Config.GetAttribute, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -483,10 +511,10 @@ func (w *wrappedResource) ValidateConfig(ctx context.Context, request resource.V func (w *wrappedResource) UpgradeState(ctx context.Context) map[int64]resource.StateUpgrader { if v, ok := w.inner.(resource.ResourceWithUpgradeState); ok { - ctx, diags := w.opts.bootstrapContext(ctx, nil, w.meta) + ctx, diags := w.bootstrapContext(ctx, nil, w.meta) if diags.HasError() { tflog.Warn(ctx, "wrapping UpgradeState", map[string]any{ - "resource": w.opts.typeName, + "resource": w.opts.spec.TypeName, "bootstrapContext error": fwdiag.DiagnosticsString(diags), }) @@ -501,10 +529,10 @@ func (w *wrappedResource) UpgradeState(ctx context.Context) map[int64]resource.S func (w *wrappedResource) MoveState(ctx context.Context) []resource.StateMover { if v, ok := w.inner.(resource.ResourceWithMoveState); ok { - ctx, diags := w.opts.bootstrapContext(ctx, nil, w.meta) + ctx, diags := w.bootstrapContext(ctx, nil, w.meta) if diags.HasError() { tflog.Warn(ctx, "wrapping MoveState", map[string]any{ - "resource": w.opts.typeName, + "resource": w.opts.spec.TypeName, "bootstrapContext error": fwdiag.DiagnosticsString(diags), }) @@ -518,7 +546,7 @@ func (w *wrappedResource) MoveState(ctx context.Context) []resource.StateMover { } func (w *wrappedResource) IdentitySchema(ctx context.Context, req resource.IdentitySchemaRequest, resp *resource.IdentitySchemaResponse) { - if len(w.opts.identity.Attributes) > 0 { - resp.IdentitySchema = identity.NewIdentitySchema(w.opts.identity) + if len(w.opts.spec.Identity.Attributes) > 0 { + resp.IdentitySchema = identity.NewIdentitySchema(w.opts.spec.Identity) } } From 9418774fc23c3f4d89aa77349fe3f6e807faa6bc Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 7 Jul 2025 17:02:32 -0700 Subject: [PATCH 1126/1301] Calls `Factory` in `newWrappedResource` --- internal/provider/framework/provider.go | 4 +--- internal/provider/framework/wrap.go | 30 +++++++++++++------------ 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/internal/provider/framework/provider.go b/internal/provider/framework/provider.go index 334fb7f5bbea..975dce8ffd59 100644 --- a/internal/provider/framework/provider.go +++ b/internal/provider/framework/provider.go @@ -516,15 +516,13 @@ func (p *frameworkProvider) initialize(ctx context.Context) error { opts := wrappedResourceOptions{ interceptors: interceptors, servicePackageName: servicePackageName, - spec: resourceSpec, } if len(resourceSpec.Identity.Attributes) > 0 { opts.interceptors = append(opts.interceptors, newIdentityInterceptor(resourceSpec.Identity.Attributes)) - opts.spec = resourceSpec } p.resources = append(p.resources, func() resource.Resource { - return newWrappedResource(inner, opts) + return newWrappedResource(resourceSpec, opts) }) } } diff --git a/internal/provider/framework/wrap.go b/internal/provider/framework/wrap.go index 54fcfa3e7eae..c2223dbceccd 100644 --- a/internal/provider/framework/wrap.go +++ b/internal/provider/framework/wrap.go @@ -312,7 +312,6 @@ func (w *wrappedEphemeralResource) ValidateConfig(ctx context.Context, request e type wrappedResourceOptions struct { interceptors interceptorInvocations servicePackageName string - spec *inttypes.ServicePackageFrameworkResource } // wrappedResource represents an interceptor dispatcher for a Plugin Framework resource. @@ -320,12 +319,15 @@ type wrappedResource struct { inner resource.ResourceWithConfigure meta *conns.AWSClient opts wrappedResourceOptions + spec *inttypes.ServicePackageFrameworkResource } -func newWrappedResource(inner resource.ResourceWithConfigure, opts wrappedResourceOptions) resource.ResourceWithConfigure { +func newWrappedResource(spec *inttypes.ServicePackageFrameworkResource, opts wrappedResourceOptions) resource.ResourceWithConfigure { + inner, _ := spec.Factory(context.TODO()) return &wrappedResource{ inner: inner, opts: opts, + spec: spec, } } @@ -335,7 +337,7 @@ func (w *wrappedResource) bootstrapContext(ctx context.Context, getAttribute get var overrideRegion string var isRegionOverrideEnabled bool - if regionSpec := w.opts.spec.Region; !tfunique.IsHandleNil(regionSpec) && regionSpec.Value().IsOverrideEnabled { + if regionSpec := w.spec.Region; !tfunique.IsHandleNil(regionSpec) && regionSpec.Value().IsOverrideEnabled { isRegionOverrideEnabled = true } @@ -349,7 +351,7 @@ func (w *wrappedResource) bootstrapContext(ctx context.Context, getAttribute get overrideRegion = target.ValueString() } - ctx = conns.NewResourceContext(ctx, w.opts.servicePackageName, w.opts.spec.Name, overrideRegion) + ctx = conns.NewResourceContext(ctx, w.opts.servicePackageName, w.spec.Name, overrideRegion) if c != nil { ctx = tftags.NewContext(ctx, c.DefaultTagsConfig(ctx), c.IgnoreTagsConfig(ctx)) ctx = c.RegisterLogger(ctx) @@ -361,9 +363,9 @@ func (w *wrappedResource) bootstrapContext(ctx context.Context, getAttribute get func (w *wrappedResource) Metadata(ctx context.Context, request resource.MetadataRequest, response *resource.MetadataResponse) { // This method does not call down to the inner resource. - response.TypeName = w.opts.spec.TypeName + response.TypeName = w.spec.TypeName - if w.opts.spec.Identity.IsMutable { + if w.spec.Identity.IsMutable { response.ResourceBehavior.MutableIdentity = true } } @@ -381,11 +383,11 @@ func (w *wrappedResource) Schema(ctx context.Context, request resource.SchemaReq if v, ok := w.inner.(framework.ResourceValidateModel); ok { response.Diagnostics.Append(v.ValidateModel(ctx, &response.Schema)...) if response.Diagnostics.HasError() { - response.Diagnostics.AddError("resource model validation error", w.opts.spec.TypeName) + response.Diagnostics.AddError("resource model validation error", w.spec.TypeName) return } - } else if w.opts.spec.TypeName != "aws_lexv2models_bot_version" { // Hacky yukkery caused by attribute of type map[string]Object. - response.Diagnostics.AddError("missing framework.ResourceValidateModel", w.opts.spec.TypeName) + } else if w.spec.TypeName != "aws_lexv2models_bot_version" { // Hacky yukkery caused by attribute of type map[string]Object. + response.Diagnostics.AddError("missing framework.ResourceValidateModel", w.spec.TypeName) } } @@ -484,7 +486,7 @@ func (w *wrappedResource) ConfigValidators(ctx context.Context) []resource.Confi ctx, diags := w.bootstrapContext(ctx, nil, w.meta) if diags.HasError() { tflog.Warn(ctx, "wrapping ConfigValidators", map[string]any{ - "resource": w.opts.spec.TypeName, + "resource": w.spec.TypeName, "bootstrapContext error": fwdiag.DiagnosticsString(diags), }) @@ -514,7 +516,7 @@ func (w *wrappedResource) UpgradeState(ctx context.Context) map[int64]resource.S ctx, diags := w.bootstrapContext(ctx, nil, w.meta) if diags.HasError() { tflog.Warn(ctx, "wrapping UpgradeState", map[string]any{ - "resource": w.opts.spec.TypeName, + "resource": w.spec.TypeName, "bootstrapContext error": fwdiag.DiagnosticsString(diags), }) @@ -532,7 +534,7 @@ func (w *wrappedResource) MoveState(ctx context.Context) []resource.StateMover { ctx, diags := w.bootstrapContext(ctx, nil, w.meta) if diags.HasError() { tflog.Warn(ctx, "wrapping MoveState", map[string]any{ - "resource": w.opts.spec.TypeName, + "resource": w.spec.TypeName, "bootstrapContext error": fwdiag.DiagnosticsString(diags), }) @@ -546,7 +548,7 @@ func (w *wrappedResource) MoveState(ctx context.Context) []resource.StateMover { } func (w *wrappedResource) IdentitySchema(ctx context.Context, req resource.IdentitySchemaRequest, resp *resource.IdentitySchemaResponse) { - if len(w.opts.spec.Identity.Attributes) > 0 { - resp.IdentitySchema = identity.NewIdentitySchema(w.opts.spec.Identity) + if len(w.spec.Identity.Attributes) > 0 { + resp.IdentitySchema = identity.NewIdentitySchema(w.spec.Identity) } } From ecc4d2e46386aab29fcc86cafbad94cdc4bf001a Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 7 Jul 2025 17:26:27 -0700 Subject: [PATCH 1127/1301] Moves Framework Resource interceptor configuration to `newWrappedResource` --- internal/provider/framework/provider.go | 59 ------------------ internal/provider/framework/wrap.go | 79 ++++++++++++++++++++----- 2 files changed, 64 insertions(+), 74 deletions(-) diff --git a/internal/provider/framework/provider.go b/internal/provider/framework/provider.go index 975dce8ffd59..57e28ddda949 100644 --- a/internal/provider/framework/provider.go +++ b/internal/provider/framework/provider.go @@ -24,13 +24,11 @@ import ( "github.com/hashicorp/terraform-plugin-framework/schema/validator" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-provider-aws/internal/conns" - "github.com/hashicorp/terraform-provider-aws/internal/framework" fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" tffunction "github.com/hashicorp/terraform-provider-aws/internal/function" "github.com/hashicorp/terraform-provider-aws/internal/logging" tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" - inttypes "github.com/hashicorp/terraform-provider-aws/internal/types" tfunique "github.com/hashicorp/terraform-provider-aws/internal/unique" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -460,66 +458,9 @@ func (p *frameworkProvider) initialize(ctx context.Context) error { } for _, resourceSpec := range sp.FrameworkResources(ctx) { - typeName := resourceSpec.TypeName - inner, err := resourceSpec.Factory(ctx) - - if err != nil { - errs = append(errs, fmt.Errorf("creating resource (%s): %w", resourceSpec.TypeName, err)) - continue - } - - var isRegionOverrideEnabled bool - if v := resourceSpec.Region; !tfunique.IsHandleNil(v) && v.Value().IsOverrideEnabled { - isRegionOverrideEnabled = true - } - - var interceptors interceptorInvocations - - if isRegionOverrideEnabled { - v := resourceSpec.Region.Value() - - interceptors = append(interceptors, resourceInjectRegionAttribute()) - if v.IsValidateOverrideInPartition { - interceptors = append(interceptors, resourceValidateRegion()) - } - interceptors = append(interceptors, resourceDefaultRegion()) - interceptors = append(interceptors, resourceForceNewIfRegionChanges()) - interceptors = append(interceptors, resourceSetRegionInState()) - if resourceSpec.Identity.HasInherentRegion() { - interceptors = append(interceptors, resourceImportRegionNoDefault()) - } else { - interceptors = append(interceptors, resourceImportRegion()) - } - } - - if !tfunique.IsHandleNil(resourceSpec.Tags) { - interceptors = append(interceptors, resourceTransparentTagging(resourceSpec.Tags)) - } - - if resourceSpec.Import.WrappedImport { - if resourceSpec.Import.SetIDAttr { - if _, ok := resourceSpec.Import.ImportID.(inttypes.FrameworkImportIDCreator); !ok { - errs = append(errs, fmt.Errorf("resource type %s: importer sets \"id\" attribute, but creator isn't configured", typeName)) - continue - } - } - switch v := inner.(type) { - case framework.ImportByIdentityer: - v.SetIdentitySpec(resourceSpec.Identity, resourceSpec.Import) - - default: - errs = append(errs, fmt.Errorf("resource type %s: cannot configure importer", typeName)) - continue - } - } - opts := wrappedResourceOptions{ - interceptors: interceptors, servicePackageName: servicePackageName, } - if len(resourceSpec.Identity.Attributes) > 0 { - opts.interceptors = append(opts.interceptors, newIdentityInterceptor(resourceSpec.Identity.Attributes)) - } p.resources = append(p.resources, func() resource.Resource { return newWrappedResource(resourceSpec, opts) diff --git a/internal/provider/framework/wrap.go b/internal/provider/framework/wrap.go index c2223dbceccd..61a6c40bb824 100644 --- a/internal/provider/framework/wrap.go +++ b/internal/provider/framework/wrap.go @@ -5,6 +5,7 @@ package framework import ( "context" + "fmt" "github.com/hashicorp/terraform-plugin-framework/datasource" "github.com/hashicorp/terraform-plugin-framework/diag" @@ -310,24 +311,72 @@ func (w *wrappedEphemeralResource) ValidateConfig(ctx context.Context, request e } type wrappedResourceOptions struct { - interceptors interceptorInvocations servicePackageName string } // wrappedResource represents an interceptor dispatcher for a Plugin Framework resource. type wrappedResource struct { - inner resource.ResourceWithConfigure - meta *conns.AWSClient - opts wrappedResourceOptions - spec *inttypes.ServicePackageFrameworkResource + inner resource.ResourceWithConfigure + meta *conns.AWSClient + opts wrappedResourceOptions + spec *inttypes.ServicePackageFrameworkResource + interceptors interceptorInvocations } func newWrappedResource(spec *inttypes.ServicePackageFrameworkResource, opts wrappedResourceOptions) resource.ResourceWithConfigure { + var isRegionOverrideEnabled bool + if v := spec.Region; !tfunique.IsHandleNil(v) && v.Value().IsOverrideEnabled { + isRegionOverrideEnabled = true + } + + var interceptors interceptorInvocations + + if isRegionOverrideEnabled { + v := spec.Region.Value() + + interceptors = append(interceptors, resourceInjectRegionAttribute()) + if v.IsValidateOverrideInPartition { + interceptors = append(interceptors, resourceValidateRegion()) + } + interceptors = append(interceptors, resourceDefaultRegion()) + interceptors = append(interceptors, resourceForceNewIfRegionChanges()) + interceptors = append(interceptors, resourceSetRegionInState()) + if spec.Identity.HasInherentRegion() { + interceptors = append(interceptors, resourceImportRegionNoDefault()) + } else { + interceptors = append(interceptors, resourceImportRegion()) + } + } + + if !tfunique.IsHandleNil(spec.Tags) { + interceptors = append(interceptors, resourceTransparentTagging(spec.Tags)) + } + + if len(spec.Identity.Attributes) > 0 { + interceptors = append(interceptors, newIdentityInterceptor(spec.Identity.Attributes)) + } + inner, _ := spec.Factory(context.TODO()) + + if spec.Import.WrappedImport { + if spec.Import.SetIDAttr { + if _, ok := spec.Import.ImportID.(inttypes.FrameworkImportIDCreator); !ok { + panic(fmt.Sprintf("resource type %s: importer sets \"id\" attribute, but creator isn't configured", spec.TypeName)) + } + } + switch v := inner.(type) { + case framework.ImportByIdentityer: + v.SetIdentitySpec(spec.Identity, spec.Import) + + default: + panic(fmt.Sprintf("resource type %s: cannot configure importer", spec.TypeName)) + } + } return &wrappedResource{ - inner: inner, - opts: opts, - spec: spec, + inner: inner, + opts: opts, + spec: spec, + interceptors: interceptors, } } @@ -377,7 +426,7 @@ func (w *wrappedResource) Schema(ctx context.Context, request resource.SchemaReq return } - interceptedHandler(w.opts.interceptors.resourceSchema(), w.inner.Schema, resourceSchemaHasError, w.meta)(ctx, request, response) + interceptedHandler(w.interceptors.resourceSchema(), w.inner.Schema, resourceSchemaHasError, w.meta)(ctx, request, response) // Validate the resource's model against the schema. if v, ok := w.inner.(framework.ResourceValidateModel); ok { @@ -398,7 +447,7 @@ func (w *wrappedResource) Create(ctx context.Context, request resource.CreateReq return } - interceptedHandler(w.opts.interceptors.resourceCreate(), w.inner.Create, resourceCreateHasError, w.meta)(ctx, request, response) + interceptedHandler(w.interceptors.resourceCreate(), w.inner.Create, resourceCreateHasError, w.meta)(ctx, request, response) } func (w *wrappedResource) Read(ctx context.Context, request resource.ReadRequest, response *resource.ReadResponse) { @@ -408,7 +457,7 @@ func (w *wrappedResource) Read(ctx context.Context, request resource.ReadRequest return } - interceptedHandler(w.opts.interceptors.resourceRead(), w.inner.Read, resourceReadHasError, w.meta)(ctx, request, response) + interceptedHandler(w.interceptors.resourceRead(), w.inner.Read, resourceReadHasError, w.meta)(ctx, request, response) } func (w *wrappedResource) Update(ctx context.Context, request resource.UpdateRequest, response *resource.UpdateResponse) { @@ -418,7 +467,7 @@ func (w *wrappedResource) Update(ctx context.Context, request resource.UpdateReq return } - interceptedHandler(w.opts.interceptors.resourceUpdate(), w.inner.Update, resourceUpdateHasError, w.meta)(ctx, request, response) + interceptedHandler(w.interceptors.resourceUpdate(), w.inner.Update, resourceUpdateHasError, w.meta)(ctx, request, response) } func (w *wrappedResource) Delete(ctx context.Context, request resource.DeleteRequest, response *resource.DeleteResponse) { @@ -428,7 +477,7 @@ func (w *wrappedResource) Delete(ctx context.Context, request resource.DeleteReq return } - interceptedHandler(w.opts.interceptors.resourceDelete(), w.inner.Delete, resourceDeleteHasError, w.meta)(ctx, request, response) + interceptedHandler(w.interceptors.resourceDelete(), w.inner.Delete, resourceDeleteHasError, w.meta)(ctx, request, response) } func (w *wrappedResource) Configure(ctx context.Context, request resource.ConfigureRequest, response *resource.ConfigureResponse) { @@ -454,7 +503,7 @@ func (w *wrappedResource) ImportState(ctx context.Context, request resource.Impo } ctx = importer.Context(ctx, w.meta) - interceptedHandler(w.opts.interceptors.resourceImportState(), v.ImportState, resourceImportStateHasError, w.meta)(ctx, request, response) + interceptedHandler(w.interceptors.resourceImportState(), v.ImportState, resourceImportStateHasError, w.meta)(ctx, request, response) return } @@ -478,7 +527,7 @@ func (w *wrappedResource) ModifyPlan(ctx context.Context, request resource.Modif if v, ok := w.inner.(resource.ResourceWithModifyPlan); ok { f = v.ModifyPlan } - interceptedHandler(w.opts.interceptors.resourceModifyPlan(), f, resourceModifyPlanHasError, w.meta)(ctx, request, response) + interceptedHandler(w.interceptors.resourceModifyPlan(), f, resourceModifyPlanHasError, w.meta)(ctx, request, response) } func (w *wrappedResource) ConfigValidators(ctx context.Context) []resource.ConfigValidator { From f0f85cbad1de0c2894a3573557695bdb2c03b6ea Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 7 Jul 2025 17:30:48 -0700 Subject: [PATCH 1128/1301] Moves `servicePackageName` out of `opts` --- internal/provider/framework/provider.go | 6 +----- internal/provider/framework/wrap.go | 26 +++++++++++-------------- 2 files changed, 12 insertions(+), 20 deletions(-) diff --git a/internal/provider/framework/provider.go b/internal/provider/framework/provider.go index 57e28ddda949..3284dca17ef9 100644 --- a/internal/provider/framework/provider.go +++ b/internal/provider/framework/provider.go @@ -458,12 +458,8 @@ func (p *frameworkProvider) initialize(ctx context.Context) error { } for _, resourceSpec := range sp.FrameworkResources(ctx) { - opts := wrappedResourceOptions{ - servicePackageName: servicePackageName, - } - p.resources = append(p.resources, func() resource.Resource { - return newWrappedResource(resourceSpec, opts) + return newWrappedResource(resourceSpec, servicePackageName) }) } } diff --git a/internal/provider/framework/wrap.go b/internal/provider/framework/wrap.go index 61a6c40bb824..08243d0dbcd4 100644 --- a/internal/provider/framework/wrap.go +++ b/internal/provider/framework/wrap.go @@ -310,20 +310,16 @@ func (w *wrappedEphemeralResource) ValidateConfig(ctx context.Context, request e } } -type wrappedResourceOptions struct { - servicePackageName string -} - // wrappedResource represents an interceptor dispatcher for a Plugin Framework resource. type wrappedResource struct { - inner resource.ResourceWithConfigure - meta *conns.AWSClient - opts wrappedResourceOptions - spec *inttypes.ServicePackageFrameworkResource - interceptors interceptorInvocations + inner resource.ResourceWithConfigure + meta *conns.AWSClient + servicePackageName string + spec *inttypes.ServicePackageFrameworkResource + interceptors interceptorInvocations } -func newWrappedResource(spec *inttypes.ServicePackageFrameworkResource, opts wrappedResourceOptions) resource.ResourceWithConfigure { +func newWrappedResource(spec *inttypes.ServicePackageFrameworkResource, servicePackageName string) resource.ResourceWithConfigure { var isRegionOverrideEnabled bool if v := spec.Region; !tfunique.IsHandleNil(v) && v.Value().IsOverrideEnabled { isRegionOverrideEnabled = true @@ -373,10 +369,10 @@ func newWrappedResource(spec *inttypes.ServicePackageFrameworkResource, opts wra } } return &wrappedResource{ - inner: inner, - opts: opts, - spec: spec, - interceptors: interceptors, + inner: inner, + servicePackageName: servicePackageName, + spec: spec, + interceptors: interceptors, } } @@ -400,7 +396,7 @@ func (w *wrappedResource) bootstrapContext(ctx context.Context, getAttribute get overrideRegion = target.ValueString() } - ctx = conns.NewResourceContext(ctx, w.opts.servicePackageName, w.spec.Name, overrideRegion) + ctx = conns.NewResourceContext(ctx, w.servicePackageName, w.spec.Name, overrideRegion) if c != nil { ctx = tftags.NewContext(ctx, c.DefaultTagsConfig(ctx), c.IgnoreTagsConfig(ctx)) ctx = c.RegisterLogger(ctx) From a623a29e1414640fc88d047b9cf41fb2ef87e192 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Thu, 31 Jul 2025 13:14:08 -0700 Subject: [PATCH 1129/1301] Moves Ephemeral Resource `bootstrapContext` to method on `wrappedResource` --- internal/provider/framework/provider.go | 32 ++----------- internal/provider/framework/wrap.go | 60 ++++++++++++++++++------- 2 files changed, 48 insertions(+), 44 deletions(-) diff --git a/internal/provider/framework/provider.go b/internal/provider/framework/provider.go index 3284dca17ef9..ed52028a0f59 100644 --- a/internal/provider/framework/provider.go +++ b/internal/provider/framework/provider.go @@ -14,20 +14,16 @@ import ( "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" "github.com/hashicorp/terraform-plugin-framework/datasource" - "github.com/hashicorp/terraform-plugin-framework/diag" "github.com/hashicorp/terraform-plugin-framework/ephemeral" "github.com/hashicorp/terraform-plugin-framework/function" - "github.com/hashicorp/terraform-plugin-framework/path" "github.com/hashicorp/terraform-plugin-framework/provider" "github.com/hashicorp/terraform-plugin-framework/provider/schema" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/schema/validator" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-provider-aws/internal/conns" - fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" tffunction "github.com/hashicorp/terraform-provider-aws/internal/function" - "github.com/hashicorp/terraform-provider-aws/internal/logging" tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" tfunique "github.com/hashicorp/terraform-provider-aws/internal/unique" "github.com/hashicorp/terraform-provider-aws/names" @@ -425,31 +421,9 @@ func (p *frameworkProvider) initialize(ctx context.Context) error { } opts := wrappedEphemeralResourceOptions{ - // bootstrapContext is run on all wrapped methods before any interceptors. - bootstrapContext: func(ctx context.Context, getAttribute getAttributeFunc, c *conns.AWSClient) (context.Context, diag.Diagnostics) { - var diags diag.Diagnostics - var overrideRegion string - - if isRegionOverrideEnabled && getAttribute != nil { - var target types.String - diags.Append(getAttribute(ctx, path.Root(names.AttrRegion), &target)...) - if diags.HasError() { - return ctx, diags - } - - overrideRegion = target.ValueString() - } - - ctx = conns.NewResourceContext(ctx, servicePackageName, v.Name, overrideRegion) - if c != nil { - ctx = c.RegisterLogger(ctx) - ctx = fwflex.RegisterLogger(ctx) - ctx = logging.MaskSensitiveValuesByKey(ctx, logging.HTTPKeyRequestBody, logging.HTTPKeyResponseBody) - } - return ctx, diags - }, - interceptors: interceptors, - typeName: v.TypeName, + interceptors: interceptors, + servicePackageName: servicePackageName, + spec: v, } p.ephemeralResources = append(p.ephemeralResources, func() ephemeral.EphemeralResource { return newWrappedEphemeralResource(inner, opts) diff --git a/internal/provider/framework/wrap.go b/internal/provider/framework/wrap.go index 08243d0dbcd4..d663add15a6a 100644 --- a/internal/provider/framework/wrap.go +++ b/internal/provider/framework/wrap.go @@ -18,6 +18,7 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" "github.com/hashicorp/terraform-provider-aws/internal/framework" fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" + "github.com/hashicorp/terraform-provider-aws/internal/logging" "github.com/hashicorp/terraform-provider-aws/internal/provider/framework/identity" "github.com/hashicorp/terraform-provider-aws/internal/provider/framework/importer" tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" @@ -186,10 +187,9 @@ func (w *wrappedDataSource) ValidateConfig(ctx context.Context, request datasour } type wrappedEphemeralResourceOptions struct { - // bootstrapContext is run on all wrapped methods before any interceptors. - bootstrapContext contextFunc - interceptors interceptorInvocations - typeName string + interceptors interceptorInvocations + servicePackageName string + spec *inttypes.ServicePackageEphemeralResource } // wrappedEphemeralResource represents an interceptor dispatcher for a Plugin Framework ephemeral resource. @@ -206,13 +206,43 @@ func newWrappedEphemeralResource(inner ephemeral.EphemeralResourceWithConfigure, } } +// bootstrapContext is run on all wrapped methods before any interceptors. +func (w *wrappedEphemeralResource) bootstrapContext(ctx context.Context, getAttribute getAttributeFunc, c *conns.AWSClient) (context.Context, diag.Diagnostics) { + var diags diag.Diagnostics + var overrideRegion string + + var isRegionOverrideEnabled bool + if regionSpec := w.opts.spec.Region; !tfunique.IsHandleNil(regionSpec) && regionSpec.Value().IsOverrideEnabled { + isRegionOverrideEnabled = true + } + + if isRegionOverrideEnabled && getAttribute != nil { + var target types.String + diags.Append(getAttribute(ctx, path.Root(names.AttrRegion), &target)...) + if diags.HasError() { + return ctx, diags + } + + overrideRegion = target.ValueString() + } + + ctx = conns.NewResourceContext(ctx, w.opts.servicePackageName, w.opts.spec.Name, overrideRegion) + if c != nil { + ctx = c.RegisterLogger(ctx) + ctx = fwflex.RegisterLogger(ctx) + ctx = logging.MaskSensitiveValuesByKey(ctx, logging.HTTPKeyRequestBody, logging.HTTPKeyResponseBody) + } + + return ctx, diags +} + func (w *wrappedEphemeralResource) Metadata(ctx context.Context, request ephemeral.MetadataRequest, response *ephemeral.MetadataResponse) { // This method does not call down to the inner ephemeral resource. - response.TypeName = w.opts.typeName + response.TypeName = w.opts.spec.TypeName } func (w *wrappedEphemeralResource) Schema(ctx context.Context, request ephemeral.SchemaRequest, response *ephemeral.SchemaResponse) { - ctx, diags := w.opts.bootstrapContext(ctx, nil, w.meta) + ctx, diags := w.bootstrapContext(ctx, nil, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -224,16 +254,16 @@ func (w *wrappedEphemeralResource) Schema(ctx context.Context, request ephemeral if v, ok := w.inner.(framework.EphemeralResourceValidateModel); ok { response.Diagnostics.Append(v.ValidateModel(ctx, &response.Schema)...) if response.Diagnostics.HasError() { - response.Diagnostics.AddError("ephemeral resource model validation error", w.opts.typeName) + response.Diagnostics.AddError("ephemeral resource model validation error", w.opts.spec.TypeName) return } } else { - response.Diagnostics.AddError("missing framework.EphemeralResourceValidateModel", w.opts.typeName) + response.Diagnostics.AddError("missing framework.EphemeralResourceValidateModel", w.opts.spec.TypeName) } } func (w *wrappedEphemeralResource) Open(ctx context.Context, request ephemeral.OpenRequest, response *ephemeral.OpenResponse) { - ctx, diags := w.opts.bootstrapContext(ctx, request.Config.GetAttribute, w.meta) + ctx, diags := w.bootstrapContext(ctx, request.Config.GetAttribute, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -247,7 +277,7 @@ func (w *wrappedEphemeralResource) Configure(ctx context.Context, request epheme w.meta = v } - ctx, diags := w.opts.bootstrapContext(ctx, nil, w.meta) + ctx, diags := w.bootstrapContext(ctx, nil, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -258,7 +288,7 @@ func (w *wrappedEphemeralResource) Configure(ctx context.Context, request epheme func (w *wrappedEphemeralResource) Renew(ctx context.Context, request ephemeral.RenewRequest, response *ephemeral.RenewResponse) { if v, ok := w.inner.(ephemeral.EphemeralResourceWithRenew); ok { - ctx, diags := w.opts.bootstrapContext(ctx, nil, w.meta) + ctx, diags := w.bootstrapContext(ctx, nil, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -270,7 +300,7 @@ func (w *wrappedEphemeralResource) Renew(ctx context.Context, request ephemeral. func (w *wrappedEphemeralResource) Close(ctx context.Context, request ephemeral.CloseRequest, response *ephemeral.CloseResponse) { if v, ok := w.inner.(ephemeral.EphemeralResourceWithClose); ok { - ctx, diags := w.opts.bootstrapContext(ctx, nil, w.meta) + ctx, diags := w.bootstrapContext(ctx, nil, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -282,10 +312,10 @@ func (w *wrappedEphemeralResource) Close(ctx context.Context, request ephemeral. func (w *wrappedEphemeralResource) ConfigValidators(ctx context.Context) []ephemeral.ConfigValidator { if v, ok := w.inner.(ephemeral.EphemeralResourceWithConfigValidators); ok { - ctx, diags := w.opts.bootstrapContext(ctx, nil, w.meta) + ctx, diags := w.bootstrapContext(ctx, nil, w.meta) if diags.HasError() { tflog.Warn(ctx, "wrapping ConfigValidators", map[string]any{ - "ephemeral resource": w.opts.typeName, + "ephemeral resource": w.opts.spec.TypeName, "bootstrapContext error": fwdiag.DiagnosticsString(diags), }) @@ -300,7 +330,7 @@ func (w *wrappedEphemeralResource) ConfigValidators(ctx context.Context) []ephem func (w *wrappedEphemeralResource) ValidateConfig(ctx context.Context, request ephemeral.ValidateConfigRequest, response *ephemeral.ValidateConfigResponse) { if v, ok := w.inner.(ephemeral.EphemeralResourceWithValidateConfig); ok { - ctx, diags := w.opts.bootstrapContext(ctx, request.Config.GetAttribute, w.meta) + ctx, diags := w.bootstrapContext(ctx, request.Config.GetAttribute, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return From b0a18827743875c4b8cd5cb0d15ddb4a998bf2a3 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Thu, 31 Jul 2025 16:47:55 -0700 Subject: [PATCH 1130/1301] Updates Ephemeral Resource registration --- internal/provider/framework/provider.go | 36 ++------------ internal/provider/framework/wrap.go | 62 ++++++++++++++++--------- 2 files changed, 43 insertions(+), 55 deletions(-) diff --git a/internal/provider/framework/provider.go b/internal/provider/framework/provider.go index ed52028a0f59..40d7162598ba 100644 --- a/internal/provider/framework/provider.go +++ b/internal/provider/framework/provider.go @@ -388,45 +388,15 @@ func (p *frameworkProvider) initialize(ctx context.Context) error { servicePackageName := sp.ServicePackageName() for _, dataSourceSpec := range sp.FrameworkDataSources(ctx) { - p.dataSources = append(p.dataSources, func() datasource.DataSource { //nolint:contextcheck // must be a func() + p.dataSources = append(p.dataSources, func() datasource.DataSource { return newWrappedDataSource(dataSourceSpec, servicePackageName) }) } if v, ok := sp.(conns.ServicePackageWithEphemeralResources); ok { - for _, v := range v.EphemeralResources(ctx) { - typeName := v.TypeName - inner, err := v.Factory(ctx) - - if err != nil { - errs = append(errs, fmt.Errorf("creating ephemeral resource (%s): %w", typeName, err)) - continue - } - - var isRegionOverrideEnabled bool - if v := v.Region; !tfunique.IsHandleNil(v) && v.Value().IsOverrideEnabled { - isRegionOverrideEnabled = true - } - - var interceptors interceptorInvocations - - if isRegionOverrideEnabled { - v := v.Region.Value() - - interceptors = append(interceptors, ephemeralResourceInjectRegionAttribute()) - if v.IsValidateOverrideInPartition { - interceptors = append(interceptors, ephemeralResourceValidateRegion()) - } - interceptors = append(interceptors, ephemeralResourceSetRegionInResult()) - } - - opts := wrappedEphemeralResourceOptions{ - interceptors: interceptors, - servicePackageName: servicePackageName, - spec: v, - } + for _, ephemeralResourceSpec := range v.EphemeralResources(ctx) { p.ephemeralResources = append(p.ephemeralResources, func() ephemeral.EphemeralResource { - return newWrappedEphemeralResource(inner, opts) + return newWrappedEphemeralResource(ephemeralResourceSpec, servicePackageName) }) } } diff --git a/internal/provider/framework/wrap.go b/internal/provider/framework/wrap.go index d663add15a6a..63a44d070c13 100644 --- a/internal/provider/framework/wrap.go +++ b/internal/provider/framework/wrap.go @@ -64,7 +64,8 @@ func newWrappedDataSource(spec *inttypes.ServicePackageFrameworkDataSource, serv interceptors = append(interceptors, dataSourceTransparentTagging(spec.Tags)) } - inner, _ := spec.Factory(nil) + inner, _ := spec.Factory(context.TODO()) + return &wrappedDataSource{ inner: inner, servicePackageName: servicePackageName, @@ -186,23 +187,40 @@ func (w *wrappedDataSource) ValidateConfig(ctx context.Context, request datasour } } -type wrappedEphemeralResourceOptions struct { - interceptors interceptorInvocations +// wrappedEphemeralResource represents an interceptor dispatcher for a Plugin Framework ephemeral resource. +type wrappedEphemeralResource struct { + inner ephemeral.EphemeralResourceWithConfigure + meta *conns.AWSClient servicePackageName string spec *inttypes.ServicePackageEphemeralResource + interceptors interceptorInvocations } -// wrappedEphemeralResource represents an interceptor dispatcher for a Plugin Framework ephemeral resource. -type wrappedEphemeralResource struct { - inner ephemeral.EphemeralResourceWithConfigure - meta *conns.AWSClient - opts wrappedEphemeralResourceOptions -} +func newWrappedEphemeralResource(spec *inttypes.ServicePackageEphemeralResource, servicePackageName string) ephemeral.EphemeralResourceWithConfigure { + var isRegionOverrideEnabled bool + if regionSpec := spec.Region; !tfunique.IsHandleNil(regionSpec) && regionSpec.Value().IsOverrideEnabled { + isRegionOverrideEnabled = true + } + + var interceptors interceptorInvocations + + if isRegionOverrideEnabled { + v := spec.Region.Value() + + interceptors = append(interceptors, ephemeralResourceInjectRegionAttribute()) + if v.IsValidateOverrideInPartition { + interceptors = append(interceptors, ephemeralResourceValidateRegion()) + } + interceptors = append(interceptors, ephemeralResourceSetRegionInResult()) + } + + inner, _ := spec.Factory(context.TODO()) -func newWrappedEphemeralResource(inner ephemeral.EphemeralResourceWithConfigure, opts wrappedEphemeralResourceOptions) ephemeral.EphemeralResourceWithConfigure { return &wrappedEphemeralResource{ - inner: inner, - opts: opts, + inner: inner, + servicePackageName: servicePackageName, + spec: spec, + interceptors: interceptors, } } @@ -212,7 +230,7 @@ func (w *wrappedEphemeralResource) bootstrapContext(ctx context.Context, getAttr var overrideRegion string var isRegionOverrideEnabled bool - if regionSpec := w.opts.spec.Region; !tfunique.IsHandleNil(regionSpec) && regionSpec.Value().IsOverrideEnabled { + if regionSpec := w.spec.Region; !tfunique.IsHandleNil(regionSpec) && regionSpec.Value().IsOverrideEnabled { isRegionOverrideEnabled = true } @@ -226,7 +244,7 @@ func (w *wrappedEphemeralResource) bootstrapContext(ctx context.Context, getAttr overrideRegion = target.ValueString() } - ctx = conns.NewResourceContext(ctx, w.opts.servicePackageName, w.opts.spec.Name, overrideRegion) + ctx = conns.NewResourceContext(ctx, w.servicePackageName, w.spec.Name, overrideRegion) if c != nil { ctx = c.RegisterLogger(ctx) ctx = fwflex.RegisterLogger(ctx) @@ -238,7 +256,7 @@ func (w *wrappedEphemeralResource) bootstrapContext(ctx context.Context, getAttr func (w *wrappedEphemeralResource) Metadata(ctx context.Context, request ephemeral.MetadataRequest, response *ephemeral.MetadataResponse) { // This method does not call down to the inner ephemeral resource. - response.TypeName = w.opts.spec.TypeName + response.TypeName = w.spec.TypeName } func (w *wrappedEphemeralResource) Schema(ctx context.Context, request ephemeral.SchemaRequest, response *ephemeral.SchemaResponse) { @@ -248,17 +266,17 @@ func (w *wrappedEphemeralResource) Schema(ctx context.Context, request ephemeral return } - interceptedHandler(w.opts.interceptors.ephemeralResourceSchema(), w.inner.Schema, ephemeralSchemaHasError, w.meta)(ctx, request, response) + interceptedHandler(w.interceptors.ephemeralResourceSchema(), w.inner.Schema, ephemeralSchemaHasError, w.meta)(ctx, request, response) // Validate the ephemeral resource's model against the schema. if v, ok := w.inner.(framework.EphemeralResourceValidateModel); ok { response.Diagnostics.Append(v.ValidateModel(ctx, &response.Schema)...) if response.Diagnostics.HasError() { - response.Diagnostics.AddError("ephemeral resource model validation error", w.opts.spec.TypeName) + response.Diagnostics.AddError("ephemeral resource model validation error", w.spec.TypeName) return } } else { - response.Diagnostics.AddError("missing framework.EphemeralResourceValidateModel", w.opts.spec.TypeName) + response.Diagnostics.AddError("missing framework.EphemeralResourceValidateModel", w.spec.TypeName) } } @@ -269,7 +287,7 @@ func (w *wrappedEphemeralResource) Open(ctx context.Context, request ephemeral.O return } - interceptedHandler(w.opts.interceptors.ephemeralResourceOpen(), w.inner.Open, ephemeralOpenHasError, w.meta)(ctx, request, response) + interceptedHandler(w.interceptors.ephemeralResourceOpen(), w.inner.Open, ephemeralOpenHasError, w.meta)(ctx, request, response) } func (w *wrappedEphemeralResource) Configure(ctx context.Context, request ephemeral.ConfigureRequest, response *ephemeral.ConfigureResponse) { @@ -294,7 +312,7 @@ func (w *wrappedEphemeralResource) Renew(ctx context.Context, request ephemeral. return } - interceptedHandler(w.opts.interceptors.ephemeralResourceRenew(), v.Renew, ephemeralRenewHasError, w.meta)(ctx, request, response) + interceptedHandler(w.interceptors.ephemeralResourceRenew(), v.Renew, ephemeralRenewHasError, w.meta)(ctx, request, response) } } @@ -306,7 +324,7 @@ func (w *wrappedEphemeralResource) Close(ctx context.Context, request ephemeral. return } - interceptedHandler(w.opts.interceptors.ephemeralResourceClose(), v.Close, ephemeralCloseHasError, w.meta)(ctx, request, response) + interceptedHandler(w.interceptors.ephemeralResourceClose(), v.Close, ephemeralCloseHasError, w.meta)(ctx, request, response) } } @@ -315,7 +333,7 @@ func (w *wrappedEphemeralResource) ConfigValidators(ctx context.Context) []ephem ctx, diags := w.bootstrapContext(ctx, nil, w.meta) if diags.HasError() { tflog.Warn(ctx, "wrapping ConfigValidators", map[string]any{ - "ephemeral resource": w.opts.spec.TypeName, + "ephemeral resource": w.spec.TypeName, "bootstrapContext error": fwdiag.DiagnosticsString(diags), }) From fc29435d24879376315a5e99edacb0c18d60936b Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Thu, 31 Jul 2025 16:51:04 -0700 Subject: [PATCH 1131/1301] Renames `bootstrapContext` to `context` --- internal/provider/framework/wrap.go | 60 ++++++++++++++--------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/internal/provider/framework/wrap.go b/internal/provider/framework/wrap.go index 63a44d070c13..96224fd4f74a 100644 --- a/internal/provider/framework/wrap.go +++ b/internal/provider/framework/wrap.go @@ -74,8 +74,8 @@ func newWrappedDataSource(spec *inttypes.ServicePackageFrameworkDataSource, serv } } -// bootstrapContext is run on all wrapped methods before any interceptors. -func (w *wrappedDataSource) bootstrapContext(ctx context.Context, getAttribute getAttributeFunc, c *conns.AWSClient) (context.Context, diag.Diagnostics) { +// context is run on all wrapped methods before any interceptors. +func (w *wrappedDataSource) context(ctx context.Context, getAttribute getAttributeFunc, c *conns.AWSClient) (context.Context, diag.Diagnostics) { var diags diag.Diagnostics var overrideRegion string @@ -110,7 +110,7 @@ func (w *wrappedDataSource) Metadata(ctx context.Context, request datasource.Met } func (w *wrappedDataSource) Schema(ctx context.Context, request datasource.SchemaRequest, response *datasource.SchemaResponse) { - ctx, diags := w.bootstrapContext(ctx, nil, w.meta) + ctx, diags := w.context(ctx, nil, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -134,7 +134,7 @@ func (w *wrappedDataSource) Schema(ctx context.Context, request datasource.Schem } func (w *wrappedDataSource) Read(ctx context.Context, request datasource.ReadRequest, response *datasource.ReadResponse) { - ctx, diags := w.bootstrapContext(ctx, request.Config.GetAttribute, w.meta) + ctx, diags := w.context(ctx, request.Config.GetAttribute, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -148,7 +148,7 @@ func (w *wrappedDataSource) Configure(ctx context.Context, request datasource.Co w.meta = v } - ctx, diags := w.bootstrapContext(ctx, nil, w.meta) + ctx, diags := w.context(ctx, nil, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -159,7 +159,7 @@ func (w *wrappedDataSource) Configure(ctx context.Context, request datasource.Co func (w *wrappedDataSource) ConfigValidators(ctx context.Context) []datasource.ConfigValidator { if v, ok := w.inner.(datasource.DataSourceWithConfigValidators); ok { - ctx, diags := w.bootstrapContext(ctx, nil, w.meta) + ctx, diags := w.context(ctx, nil, w.meta) if diags.HasError() { tflog.Warn(ctx, "wrapping ConfigValidators", map[string]any{ "data source": w.spec.TypeName, @@ -177,7 +177,7 @@ func (w *wrappedDataSource) ConfigValidators(ctx context.Context) []datasource.C func (w *wrappedDataSource) ValidateConfig(ctx context.Context, request datasource.ValidateConfigRequest, response *datasource.ValidateConfigResponse) { if v, ok := w.inner.(datasource.DataSourceWithValidateConfig); ok { - ctx, diags := w.bootstrapContext(ctx, request.Config.GetAttribute, w.meta) + ctx, diags := w.context(ctx, request.Config.GetAttribute, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -224,8 +224,8 @@ func newWrappedEphemeralResource(spec *inttypes.ServicePackageEphemeralResource, } } -// bootstrapContext is run on all wrapped methods before any interceptors. -func (w *wrappedEphemeralResource) bootstrapContext(ctx context.Context, getAttribute getAttributeFunc, c *conns.AWSClient) (context.Context, diag.Diagnostics) { +// context is run on all wrapped methods before any interceptors. +func (w *wrappedEphemeralResource) context(ctx context.Context, getAttribute getAttributeFunc, c *conns.AWSClient) (context.Context, diag.Diagnostics) { var diags diag.Diagnostics var overrideRegion string @@ -260,7 +260,7 @@ func (w *wrappedEphemeralResource) Metadata(ctx context.Context, request ephemer } func (w *wrappedEphemeralResource) Schema(ctx context.Context, request ephemeral.SchemaRequest, response *ephemeral.SchemaResponse) { - ctx, diags := w.bootstrapContext(ctx, nil, w.meta) + ctx, diags := w.context(ctx, nil, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -281,7 +281,7 @@ func (w *wrappedEphemeralResource) Schema(ctx context.Context, request ephemeral } func (w *wrappedEphemeralResource) Open(ctx context.Context, request ephemeral.OpenRequest, response *ephemeral.OpenResponse) { - ctx, diags := w.bootstrapContext(ctx, request.Config.GetAttribute, w.meta) + ctx, diags := w.context(ctx, request.Config.GetAttribute, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -295,7 +295,7 @@ func (w *wrappedEphemeralResource) Configure(ctx context.Context, request epheme w.meta = v } - ctx, diags := w.bootstrapContext(ctx, nil, w.meta) + ctx, diags := w.context(ctx, nil, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -306,7 +306,7 @@ func (w *wrappedEphemeralResource) Configure(ctx context.Context, request epheme func (w *wrappedEphemeralResource) Renew(ctx context.Context, request ephemeral.RenewRequest, response *ephemeral.RenewResponse) { if v, ok := w.inner.(ephemeral.EphemeralResourceWithRenew); ok { - ctx, diags := w.bootstrapContext(ctx, nil, w.meta) + ctx, diags := w.context(ctx, nil, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -318,7 +318,7 @@ func (w *wrappedEphemeralResource) Renew(ctx context.Context, request ephemeral. func (w *wrappedEphemeralResource) Close(ctx context.Context, request ephemeral.CloseRequest, response *ephemeral.CloseResponse) { if v, ok := w.inner.(ephemeral.EphemeralResourceWithClose); ok { - ctx, diags := w.bootstrapContext(ctx, nil, w.meta) + ctx, diags := w.context(ctx, nil, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -330,7 +330,7 @@ func (w *wrappedEphemeralResource) Close(ctx context.Context, request ephemeral. func (w *wrappedEphemeralResource) ConfigValidators(ctx context.Context) []ephemeral.ConfigValidator { if v, ok := w.inner.(ephemeral.EphemeralResourceWithConfigValidators); ok { - ctx, diags := w.bootstrapContext(ctx, nil, w.meta) + ctx, diags := w.context(ctx, nil, w.meta) if diags.HasError() { tflog.Warn(ctx, "wrapping ConfigValidators", map[string]any{ "ephemeral resource": w.spec.TypeName, @@ -348,7 +348,7 @@ func (w *wrappedEphemeralResource) ConfigValidators(ctx context.Context) []ephem func (w *wrappedEphemeralResource) ValidateConfig(ctx context.Context, request ephemeral.ValidateConfigRequest, response *ephemeral.ValidateConfigResponse) { if v, ok := w.inner.(ephemeral.EphemeralResourceWithValidateConfig); ok { - ctx, diags := w.bootstrapContext(ctx, request.Config.GetAttribute, w.meta) + ctx, diags := w.context(ctx, request.Config.GetAttribute, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -424,8 +424,8 @@ func newWrappedResource(spec *inttypes.ServicePackageFrameworkResource, serviceP } } -// bootstrapContext is run on all wrapped methods before any interceptors. -func (w *wrappedResource) bootstrapContext(ctx context.Context, getAttribute getAttributeFunc, c *conns.AWSClient) (context.Context, diag.Diagnostics) { +// context is run on all wrapped methods before any interceptors. +func (w *wrappedResource) context(ctx context.Context, getAttribute getAttributeFunc, c *conns.AWSClient) (context.Context, diag.Diagnostics) { var diags diag.Diagnostics var overrideRegion string @@ -464,7 +464,7 @@ func (w *wrappedResource) Metadata(ctx context.Context, request resource.Metadat } func (w *wrappedResource) Schema(ctx context.Context, request resource.SchemaRequest, response *resource.SchemaResponse) { - ctx, diags := w.bootstrapContext(ctx, nil, w.meta) + ctx, diags := w.context(ctx, nil, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -485,7 +485,7 @@ func (w *wrappedResource) Schema(ctx context.Context, request resource.SchemaReq } func (w *wrappedResource) Create(ctx context.Context, request resource.CreateRequest, response *resource.CreateResponse) { - ctx, diags := w.bootstrapContext(ctx, request.Plan.GetAttribute, w.meta) + ctx, diags := w.context(ctx, request.Plan.GetAttribute, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -495,7 +495,7 @@ func (w *wrappedResource) Create(ctx context.Context, request resource.CreateReq } func (w *wrappedResource) Read(ctx context.Context, request resource.ReadRequest, response *resource.ReadResponse) { - ctx, diags := w.bootstrapContext(ctx, request.State.GetAttribute, w.meta) + ctx, diags := w.context(ctx, request.State.GetAttribute, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -505,7 +505,7 @@ func (w *wrappedResource) Read(ctx context.Context, request resource.ReadRequest } func (w *wrappedResource) Update(ctx context.Context, request resource.UpdateRequest, response *resource.UpdateResponse) { - ctx, diags := w.bootstrapContext(ctx, request.Plan.GetAttribute, w.meta) + ctx, diags := w.context(ctx, request.Plan.GetAttribute, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -515,7 +515,7 @@ func (w *wrappedResource) Update(ctx context.Context, request resource.UpdateReq } func (w *wrappedResource) Delete(ctx context.Context, request resource.DeleteRequest, response *resource.DeleteResponse) { - ctx, diags := w.bootstrapContext(ctx, request.State.GetAttribute, w.meta) + ctx, diags := w.context(ctx, request.State.GetAttribute, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -529,7 +529,7 @@ func (w *wrappedResource) Configure(ctx context.Context, request resource.Config w.meta = v } - ctx, diags := w.bootstrapContext(ctx, nil, w.meta) + ctx, diags := w.context(ctx, nil, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -540,7 +540,7 @@ func (w *wrappedResource) Configure(ctx context.Context, request resource.Config func (w *wrappedResource) ImportState(ctx context.Context, request resource.ImportStateRequest, response *resource.ImportStateResponse) { if v, ok := w.inner.(resource.ResourceWithImportState); ok { - ctx, diags := w.bootstrapContext(ctx, nil, w.meta) + ctx, diags := w.context(ctx, nil, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -559,7 +559,7 @@ func (w *wrappedResource) ImportState(ctx context.Context, request resource.Impo } func (w *wrappedResource) ModifyPlan(ctx context.Context, request resource.ModifyPlanRequest, response *resource.ModifyPlanResponse) { - ctx, diags := w.bootstrapContext(ctx, request.Config.GetAttribute, w.meta) + ctx, diags := w.context(ctx, request.Config.GetAttribute, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -576,7 +576,7 @@ func (w *wrappedResource) ModifyPlan(ctx context.Context, request resource.Modif func (w *wrappedResource) ConfigValidators(ctx context.Context) []resource.ConfigValidator { if v, ok := w.inner.(resource.ResourceWithConfigValidators); ok { - ctx, diags := w.bootstrapContext(ctx, nil, w.meta) + ctx, diags := w.context(ctx, nil, w.meta) if diags.HasError() { tflog.Warn(ctx, "wrapping ConfigValidators", map[string]any{ "resource": w.spec.TypeName, @@ -593,7 +593,7 @@ func (w *wrappedResource) ConfigValidators(ctx context.Context) []resource.Confi } func (w *wrappedResource) ValidateConfig(ctx context.Context, request resource.ValidateConfigRequest, response *resource.ValidateConfigResponse) { - ctx, diags := w.bootstrapContext(ctx, request.Config.GetAttribute, w.meta) + ctx, diags := w.context(ctx, request.Config.GetAttribute, w.meta) response.Diagnostics.Append(diags...) if response.Diagnostics.HasError() { return @@ -606,7 +606,7 @@ func (w *wrappedResource) ValidateConfig(ctx context.Context, request resource.V func (w *wrappedResource) UpgradeState(ctx context.Context) map[int64]resource.StateUpgrader { if v, ok := w.inner.(resource.ResourceWithUpgradeState); ok { - ctx, diags := w.bootstrapContext(ctx, nil, w.meta) + ctx, diags := w.context(ctx, nil, w.meta) if diags.HasError() { tflog.Warn(ctx, "wrapping UpgradeState", map[string]any{ "resource": w.spec.TypeName, @@ -624,7 +624,7 @@ func (w *wrappedResource) UpgradeState(ctx context.Context) map[int64]resource.S func (w *wrappedResource) MoveState(ctx context.Context) []resource.StateMover { if v, ok := w.inner.(resource.ResourceWithMoveState); ok { - ctx, diags := w.bootstrapContext(ctx, nil, w.meta) + ctx, diags := w.context(ctx, nil, w.meta) if diags.HasError() { tflog.Warn(ctx, "wrapping MoveState", map[string]any{ "resource": w.spec.TypeName, From a33139877d21788d84e20644bcafd2f84fae71c4 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Thu, 31 Jul 2025 17:05:51 -0700 Subject: [PATCH 1132/1301] Removes unused declaration --- internal/provider/framework/wrap.go | 3 --- 1 file changed, 3 deletions(-) diff --git a/internal/provider/framework/wrap.go b/internal/provider/framework/wrap.go index 96224fd4f74a..6167234b7ae3 100644 --- a/internal/provider/framework/wrap.go +++ b/internal/provider/framework/wrap.go @@ -30,9 +30,6 @@ import ( // Implemented by (Config|Plan|State).GetAttribute(). type getAttributeFunc func(context.Context, path.Path, any) diag.Diagnostics -// contextFunc augments Context. -type contextFunc func(context.Context, getAttributeFunc, *conns.AWSClient) (context.Context, diag.Diagnostics) - // wrappedDataSource represents an interceptor dispatcher for a Plugin Framework data source. type wrappedDataSource struct { inner datasource.DataSourceWithConfigure From 80a63dda62ddc1992b3ef8880bb2fd0ff2fa4aef Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Thu, 31 Jul 2025 17:17:15 -0700 Subject: [PATCH 1133/1301] Ignores linter message --- internal/provider/framework/provider.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/provider/framework/provider.go b/internal/provider/framework/provider.go index 40d7162598ba..7eae05a3029d 100644 --- a/internal/provider/framework/provider.go +++ b/internal/provider/framework/provider.go @@ -388,21 +388,21 @@ func (p *frameworkProvider) initialize(ctx context.Context) error { servicePackageName := sp.ServicePackageName() for _, dataSourceSpec := range sp.FrameworkDataSources(ctx) { - p.dataSources = append(p.dataSources, func() datasource.DataSource { + p.dataSources = append(p.dataSources, func() datasource.DataSource { //nolint:contextcheck // must be a func() return newWrappedDataSource(dataSourceSpec, servicePackageName) }) } if v, ok := sp.(conns.ServicePackageWithEphemeralResources); ok { for _, ephemeralResourceSpec := range v.EphemeralResources(ctx) { - p.ephemeralResources = append(p.ephemeralResources, func() ephemeral.EphemeralResource { + p.ephemeralResources = append(p.ephemeralResources, func() ephemeral.EphemeralResource { //nolint:contextcheck // must be a func() return newWrappedEphemeralResource(ephemeralResourceSpec, servicePackageName) }) } } for _, resourceSpec := range sp.FrameworkResources(ctx) { - p.resources = append(p.resources, func() resource.Resource { + p.resources = append(p.resources, func() resource.Resource { //nolint:contextcheck // must be a func() return newWrappedResource(resourceSpec, servicePackageName) }) } From ef5ddcdd392a90a8b39acadcf9891846a89d80ac Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Thu, 31 Jul 2025 17:18:52 -0700 Subject: [PATCH 1134/1301] `initialize` no longer returns an error --- internal/provider/framework/provider.go | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/internal/provider/framework/provider.go b/internal/provider/framework/provider.go index 7eae05a3029d..bfe2fb815743 100644 --- a/internal/provider/framework/provider.go +++ b/internal/provider/framework/provider.go @@ -70,9 +70,7 @@ func NewProvider(ctx context.Context, primary interface{ Meta() any }) (provider return nil, err } - if err := provider.initialize(ctx); err != nil { - return nil, err - } + provider.initialize(ctx) return provider, nil } @@ -379,11 +377,9 @@ func (p *frameworkProvider) Functions(_ context.Context) []func() function.Funct } // initialize is called from `New` to perform any Terraform Framework-style initialization. -func (p *frameworkProvider) initialize(ctx context.Context) error { +func (p *frameworkProvider) initialize(ctx context.Context) { log.Printf("Initializing Terraform AWS Provider (Framework-style)...") - var errs []error - for sp := range p.servicePackages { servicePackageName := sp.ServicePackageName() @@ -407,8 +403,6 @@ func (p *frameworkProvider) initialize(ctx context.Context) error { }) } } - - return errors.Join(errs...) } // validateResourceSchemas is called from `New` to validate Terraform Plugin Framework-style resource schemas. From a0ff570cea094de82fdfaa25a39b4daa4025886b Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Thu, 31 Jul 2025 17:19:32 -0700 Subject: [PATCH 1135/1301] Renames spec values --- internal/provider/framework/provider.go | 34 ++++++++++++------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/internal/provider/framework/provider.go b/internal/provider/framework/provider.go index bfe2fb815743..ac049e064dcc 100644 --- a/internal/provider/framework/provider.go +++ b/internal/provider/framework/provider.go @@ -410,9 +410,9 @@ func (p *frameworkProvider) validateResourceSchemas(ctx context.Context) error { var errs []error for sp := range p.servicePackages { - for _, v := range sp.FrameworkDataSources(ctx) { - typeName := v.TypeName - ds, err := v.Factory(ctx) + for _, dataSourceSpec := range sp.FrameworkDataSources(ctx) { + typeName := dataSourceSpec.TypeName + inner, err := dataSourceSpec.Factory(ctx) if err != nil { errs = append(errs, fmt.Errorf("creating data source (%s): %w", typeName, err)) @@ -420,16 +420,16 @@ func (p *frameworkProvider) validateResourceSchemas(ctx context.Context) error { } schemaResponse := datasource.SchemaResponse{} - ds.Schema(ctx, datasource.SchemaRequest{}, &schemaResponse) + inner.Schema(ctx, datasource.SchemaRequest{}, &schemaResponse) - if v := v.Region; !tfunique.IsHandleNil(v) && v.Value().IsOverrideEnabled { + if v := dataSourceSpec.Region; !tfunique.IsHandleNil(v) && v.Value().IsOverrideEnabled { if _, ok := schemaResponse.Schema.Attributes[names.AttrRegion]; ok { errs = append(errs, fmt.Errorf("`%s` attribute is defined: %s data source", names.AttrRegion, typeName)) continue } } - if !tfunique.IsHandleNil(v.Tags) { + if !tfunique.IsHandleNil(dataSourceSpec.Tags) { // The data source has opted in to transparent tagging. // Ensure that the schema look OK. if v, ok := schemaResponse.Schema.Attributes[names.AttrTags]; ok { @@ -445,9 +445,9 @@ func (p *frameworkProvider) validateResourceSchemas(ctx context.Context) error { } if v, ok := sp.(conns.ServicePackageWithEphemeralResources); ok { - for _, v := range v.EphemeralResources(ctx) { - typeName := v.TypeName - er, err := v.Factory(ctx) + for _, ephemeralResourceSpec := range v.EphemeralResources(ctx) { + typeName := ephemeralResourceSpec.TypeName + inner, err := ephemeralResourceSpec.Factory(ctx) if err != nil { errs = append(errs, fmt.Errorf("creating ephemeral resource (%s): %w", typeName, err)) @@ -455,9 +455,9 @@ func (p *frameworkProvider) validateResourceSchemas(ctx context.Context) error { } schemaResponse := ephemeral.SchemaResponse{} - er.Schema(ctx, ephemeral.SchemaRequest{}, &schemaResponse) + inner.Schema(ctx, ephemeral.SchemaRequest{}, &schemaResponse) - if v := v.Region; !tfunique.IsHandleNil(v) && v.Value().IsOverrideEnabled { + if v := ephemeralResourceSpec.Region; !tfunique.IsHandleNil(v) && v.Value().IsOverrideEnabled { if _, ok := schemaResponse.Schema.Attributes[names.AttrRegion]; ok { errs = append(errs, fmt.Errorf("`%s` attribute is defined: %s ephemeral resource", names.AttrRegion, typeName)) continue @@ -466,9 +466,9 @@ func (p *frameworkProvider) validateResourceSchemas(ctx context.Context) error { } } - for _, v := range sp.FrameworkResources(ctx) { - typeName := v.TypeName - r, err := v.Factory(ctx) + for _, resourceSpec := range sp.FrameworkResources(ctx) { + typeName := resourceSpec.TypeName + inner, err := resourceSpec.Factory(ctx) if err != nil { errs = append(errs, fmt.Errorf("creating resource (%s): %w", typeName, err)) @@ -476,16 +476,16 @@ func (p *frameworkProvider) validateResourceSchemas(ctx context.Context) error { } schemaResponse := resource.SchemaResponse{} - r.Schema(ctx, resource.SchemaRequest{}, &schemaResponse) + inner.Schema(ctx, resource.SchemaRequest{}, &schemaResponse) - if v := v.Region; !tfunique.IsHandleNil(v) && v.Value().IsOverrideEnabled { + if v := resourceSpec.Region; !tfunique.IsHandleNil(v) && v.Value().IsOverrideEnabled { if _, ok := schemaResponse.Schema.Attributes[names.AttrRegion]; ok { errs = append(errs, fmt.Errorf("`%s` attribute is defined: %s resource", names.AttrRegion, typeName)) continue } } - if !tfunique.IsHandleNil(v.Tags) { + if !tfunique.IsHandleNil(resourceSpec.Tags) { // The resource has opted in to transparent tagging. // Ensure that the schema look OK. if v, ok := schemaResponse.Schema.Attributes[names.AttrTags]; ok { From 10130cc6dfc833f44b6981edd5a23b2488dc9ac6 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Thu, 31 Jul 2025 17:34:56 -0700 Subject: [PATCH 1136/1301] Prevents `panic` in resource registration by moving checks to `validateResourceSchemas` --- internal/provider/framework/provider.go | 17 +++++++++++++++++ internal/provider/framework/wrap.go | 14 +++----------- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/internal/provider/framework/provider.go b/internal/provider/framework/provider.go index ac049e064dcc..efeb49284515 100644 --- a/internal/provider/framework/provider.go +++ b/internal/provider/framework/provider.go @@ -9,6 +9,7 @@ import ( "fmt" "iter" "log" + "reflect" "slices" "sync" @@ -22,9 +23,11 @@ import ( "github.com/hashicorp/terraform-plugin-framework/schema/validator" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-provider-aws/internal/conns" + "github.com/hashicorp/terraform-provider-aws/internal/framework" fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" tffunction "github.com/hashicorp/terraform-provider-aws/internal/function" tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" + inttypes "github.com/hashicorp/terraform-provider-aws/internal/types" tfunique "github.com/hashicorp/terraform-provider-aws/internal/unique" "github.com/hashicorp/terraform-provider-aws/names" ) @@ -507,6 +510,20 @@ func (p *frameworkProvider) validateResourceSchemas(ctx context.Context) error { continue } } + + if resourceSpec.Import.WrappedImport { + if resourceSpec.Import.SetIDAttr { + if _, ok := resourceSpec.Import.ImportID.(inttypes.FrameworkImportIDCreator); !ok { + errs = append(errs, fmt.Errorf("resource type %s: importer sets \"id\" attribute, but creator isn't configured", resourceSpec.TypeName)) + continue + } + } + + if _, ok := inner.(framework.ImportByIdentityer); !ok { + errs = append(errs, fmt.Errorf("resource type %s: cannot configure importer, does not implement %q", resourceSpec.TypeName, reflect.TypeFor[framework.ImportByIdentityer]())) + continue + } + } } } diff --git a/internal/provider/framework/wrap.go b/internal/provider/framework/wrap.go index 6167234b7ae3..19b5c10034ee 100644 --- a/internal/provider/framework/wrap.go +++ b/internal/provider/framework/wrap.go @@ -5,7 +5,6 @@ package framework import ( "context" - "fmt" "github.com/hashicorp/terraform-plugin-framework/datasource" "github.com/hashicorp/terraform-plugin-framework/diag" @@ -400,18 +399,11 @@ func newWrappedResource(spec *inttypes.ServicePackageFrameworkResource, serviceP inner, _ := spec.Factory(context.TODO()) if spec.Import.WrappedImport { - if spec.Import.SetIDAttr { - if _, ok := spec.Import.ImportID.(inttypes.FrameworkImportIDCreator); !ok { - panic(fmt.Sprintf("resource type %s: importer sets \"id\" attribute, but creator isn't configured", spec.TypeName)) - } - } - switch v := inner.(type) { - case framework.ImportByIdentityer: + if v, ok := inner.(framework.ImportByIdentityer); ok { v.SetIdentitySpec(spec.Identity, spec.Import) - - default: - panic(fmt.Sprintf("resource type %s: cannot configure importer", spec.TypeName)) } + // If the resource does not implement framework.ImportByIdentityer, + // it will be caught by `validateResourceSchemas`, so we can ignore it here. } return &wrappedResource{ inner: inner, From 9e2309850b0ecc1d70f82fb909c05d39c59735c7 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 1 Aug 2025 15:18:27 -0700 Subject: [PATCH 1137/1301] Factors out region schema validation --- internal/provider/framework/provider.go | 55 ++++++++++++++++++------- 1 file changed, 40 insertions(+), 15 deletions(-) diff --git a/internal/provider/framework/provider.go b/internal/provider/framework/provider.go index efeb49284515..0b011597f743 100644 --- a/internal/provider/framework/provider.go +++ b/internal/provider/framework/provider.go @@ -12,14 +12,18 @@ import ( "reflect" "slices" "sync" + "unique" "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" "github.com/hashicorp/terraform-plugin-framework/datasource" + datasourceschema "github.com/hashicorp/terraform-plugin-framework/datasource/schema" "github.com/hashicorp/terraform-plugin-framework/ephemeral" + empemeralschema "github.com/hashicorp/terraform-plugin-framework/ephemeral/schema" "github.com/hashicorp/terraform-plugin-framework/function" "github.com/hashicorp/terraform-plugin-framework/provider" "github.com/hashicorp/terraform-plugin-framework/provider/schema" "github.com/hashicorp/terraform-plugin-framework/resource" + resourceschema "github.com/hashicorp/terraform-plugin-framework/resource/schema" "github.com/hashicorp/terraform-plugin-framework/schema/validator" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-provider-aws/internal/conns" @@ -425,11 +429,9 @@ func (p *frameworkProvider) validateResourceSchemas(ctx context.Context) error { schemaResponse := datasource.SchemaResponse{} inner.Schema(ctx, datasource.SchemaRequest{}, &schemaResponse) - if v := dataSourceSpec.Region; !tfunique.IsHandleNil(v) && v.Value().IsOverrideEnabled { - if _, ok := schemaResponse.Schema.Attributes[names.AttrRegion]; ok { - errs = append(errs, fmt.Errorf("`%s` attribute is defined: %s data source", names.AttrRegion, typeName)) - continue - } + if err := validateSchemaRegionForDataSource(dataSourceSpec.Region, schemaResponse.Schema); err != nil { + errs = append(errs, fmt.Errorf("data source %q: %w", typeName, err)) + continue } if !tfunique.IsHandleNil(dataSourceSpec.Tags) { @@ -460,11 +462,9 @@ func (p *frameworkProvider) validateResourceSchemas(ctx context.Context) error { schemaResponse := ephemeral.SchemaResponse{} inner.Schema(ctx, ephemeral.SchemaRequest{}, &schemaResponse) - if v := ephemeralResourceSpec.Region; !tfunique.IsHandleNil(v) && v.Value().IsOverrideEnabled { - if _, ok := schemaResponse.Schema.Attributes[names.AttrRegion]; ok { - errs = append(errs, fmt.Errorf("`%s` attribute is defined: %s ephemeral resource", names.AttrRegion, typeName)) - continue - } + if err := validateSchemaRegionForEphemeralResource(ephemeralResourceSpec.Region, schemaResponse.Schema); err != nil { + errs = append(errs, fmt.Errorf("ephemeral resource %q: %w", typeName, err)) + continue } } } @@ -481,11 +481,9 @@ func (p *frameworkProvider) validateResourceSchemas(ctx context.Context) error { schemaResponse := resource.SchemaResponse{} inner.Schema(ctx, resource.SchemaRequest{}, &schemaResponse) - if v := resourceSpec.Region; !tfunique.IsHandleNil(v) && v.Value().IsOverrideEnabled { - if _, ok := schemaResponse.Schema.Attributes[names.AttrRegion]; ok { - errs = append(errs, fmt.Errorf("`%s` attribute is defined: %s resource", names.AttrRegion, typeName)) - continue - } + if err := validateSchemaRegionForResource(resourceSpec.Region, schemaResponse.Schema); err != nil { + errs = append(errs, fmt.Errorf("resource %q: %w", typeName, err)) + continue } if !tfunique.IsHandleNil(resourceSpec.Tags) { @@ -529,3 +527,30 @@ func (p *frameworkProvider) validateResourceSchemas(ctx context.Context) error { return errors.Join(errs...) } + +func validateSchemaRegionForDataSource(regionSpec unique.Handle[inttypes.ServicePackageResourceRegion], schema datasourceschema.Schema) error { + if !tfunique.IsHandleNil(regionSpec) && regionSpec.Value().IsOverrideEnabled { + if _, ok := schema.Attributes[names.AttrRegion]; ok { + return fmt.Errorf("configured for enhanced regions but defines `%s` attribute in schema", names.AttrRegion) + } + } + return nil +} + +func validateSchemaRegionForEphemeralResource(regionSpec unique.Handle[inttypes.ServicePackageResourceRegion], schema empemeralschema.Schema) error { + if !tfunique.IsHandleNil(regionSpec) && regionSpec.Value().IsOverrideEnabled { + if _, ok := schema.Attributes[names.AttrRegion]; ok { + return fmt.Errorf("configured for enhanced regions but defines `%s` attribute in schema", names.AttrRegion) + } + } + return nil +} + +func validateSchemaRegionForResource(regionSpec unique.Handle[inttypes.ServicePackageResourceRegion], schema resourceschema.Schema) error { + if !tfunique.IsHandleNil(regionSpec) && regionSpec.Value().IsOverrideEnabled { + if _, ok := schema.Attributes[names.AttrRegion]; ok { + return fmt.Errorf("configured for enhanced regions but defines `%s` attribute in schema", names.AttrRegion) + } + } + return nil +} From ba1b1d3116f799dfdbdd55c29fc36f72eb4cf0c6 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 1 Aug 2025 16:11:59 -0700 Subject: [PATCH 1138/1301] Factors out tags schema validation --- internal/provider/framework/provider.go | 72 +++++++++++++------------ 1 file changed, 39 insertions(+), 33 deletions(-) diff --git a/internal/provider/framework/provider.go b/internal/provider/framework/provider.go index 0b011597f743..390a1cc1fb49 100644 --- a/internal/provider/framework/provider.go +++ b/internal/provider/framework/provider.go @@ -434,18 +434,9 @@ func (p *frameworkProvider) validateResourceSchemas(ctx context.Context) error { continue } - if !tfunique.IsHandleNil(dataSourceSpec.Tags) { - // The data source has opted in to transparent tagging. - // Ensure that the schema look OK. - if v, ok := schemaResponse.Schema.Attributes[names.AttrTags]; ok { - if !v.IsComputed() { - errs = append(errs, fmt.Errorf("`%s` attribute must be Computed: %s data source", names.AttrTags, typeName)) - continue - } - } else { - errs = append(errs, fmt.Errorf("no `%s` attribute defined in schema: %s data source", names.AttrTags, typeName)) - continue - } + if err := validateSchemaTagsForDataSource(dataSourceSpec.Tags, schemaResponse.Schema); err != nil { + errs = append(errs, fmt.Errorf("data source type %q: %w", typeName, err)) + continue } } @@ -486,27 +477,9 @@ func (p *frameworkProvider) validateResourceSchemas(ctx context.Context) error { continue } - if !tfunique.IsHandleNil(resourceSpec.Tags) { - // The resource has opted in to transparent tagging. - // Ensure that the schema look OK. - if v, ok := schemaResponse.Schema.Attributes[names.AttrTags]; ok { - if v.IsComputed() { - errs = append(errs, fmt.Errorf("`%s` attribute cannot be Computed: %s resource", names.AttrTags, typeName)) - continue - } - } else { - errs = append(errs, fmt.Errorf("no `%s` attribute defined in schema: %s resource", names.AttrTags, typeName)) - continue - } - if v, ok := schemaResponse.Schema.Attributes[names.AttrTagsAll]; ok { - if !v.IsComputed() { - errs = append(errs, fmt.Errorf("`%s` attribute must be Computed: %s resource", names.AttrTagsAll, typeName)) - continue - } - } else { - errs = append(errs, fmt.Errorf("no `%s` attribute defined in schema: %s resource", names.AttrTagsAll, typeName)) - continue - } + if err := validateSchemaTagsForResource(resourceSpec.Tags, schemaResponse.Schema); err != nil { + errs = append(errs, fmt.Errorf("resource type %q: %w", typeName, err)) + continue } if resourceSpec.Import.WrappedImport { @@ -554,3 +527,36 @@ func validateSchemaRegionForResource(regionSpec unique.Handle[inttypes.ServicePa } return nil } + +func validateSchemaTagsForDataSource(tagsSpec unique.Handle[inttypes.ServicePackageResourceTags], schema datasourceschema.Schema) error { + if !tfunique.IsHandleNil(tagsSpec) { + if v, ok := schema.Attributes[names.AttrTags]; ok { + if !v.IsComputed() { + return fmt.Errorf("`%s` attribute must be Computed", names.AttrTags) + } + } else { + return fmt.Errorf("configured for tags but no `%s` attribute defined in schema", names.AttrTags) + } + } + return nil +} + +func validateSchemaTagsForResource(tagsSpec unique.Handle[inttypes.ServicePackageResourceTags], schema resourceschema.Schema) error { + if !tfunique.IsHandleNil(tagsSpec) { + if v, ok := schema.Attributes[names.AttrTags]; ok { + if v.IsComputed() { + return fmt.Errorf("`%s` attribute cannot be Computed", names.AttrTags) + } + } else { + return fmt.Errorf("configured for tags but no `%s` attribute defined in schema", names.AttrTags) + } + if v, ok := schema.Attributes[names.AttrTagsAll]; ok { + if !v.IsComputed() { + return fmt.Errorf("`%s` attribute must be Computed", names.AttrTagsAll) + } + } else { + return fmt.Errorf("configured for tags but no `%s` attribute defined in schema", names.AttrTagsAll) + } + } + return nil +} From c1564021bca93290ee02933a41cc4e3a1969123d Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Fri, 1 Aug 2025 16:12:17 -0700 Subject: [PATCH 1139/1301] Tweaks error messages --- internal/provider/framework/provider.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/internal/provider/framework/provider.go b/internal/provider/framework/provider.go index 390a1cc1fb49..0745fe4329a6 100644 --- a/internal/provider/framework/provider.go +++ b/internal/provider/framework/provider.go @@ -422,7 +422,7 @@ func (p *frameworkProvider) validateResourceSchemas(ctx context.Context) error { inner, err := dataSourceSpec.Factory(ctx) if err != nil { - errs = append(errs, fmt.Errorf("creating data source (%s): %w", typeName, err)) + errs = append(errs, fmt.Errorf("creating data source type (%s): %w", typeName, err)) continue } @@ -430,7 +430,7 @@ func (p *frameworkProvider) validateResourceSchemas(ctx context.Context) error { inner.Schema(ctx, datasource.SchemaRequest{}, &schemaResponse) if err := validateSchemaRegionForDataSource(dataSourceSpec.Region, schemaResponse.Schema); err != nil { - errs = append(errs, fmt.Errorf("data source %q: %w", typeName, err)) + errs = append(errs, fmt.Errorf("data source type %q: %w", typeName, err)) continue } @@ -446,7 +446,7 @@ func (p *frameworkProvider) validateResourceSchemas(ctx context.Context) error { inner, err := ephemeralResourceSpec.Factory(ctx) if err != nil { - errs = append(errs, fmt.Errorf("creating ephemeral resource (%s): %w", typeName, err)) + errs = append(errs, fmt.Errorf("creating ephemeral resource type (%s): %w", typeName, err)) continue } @@ -454,7 +454,7 @@ func (p *frameworkProvider) validateResourceSchemas(ctx context.Context) error { inner.Schema(ctx, ephemeral.SchemaRequest{}, &schemaResponse) if err := validateSchemaRegionForEphemeralResource(ephemeralResourceSpec.Region, schemaResponse.Schema); err != nil { - errs = append(errs, fmt.Errorf("ephemeral resource %q: %w", typeName, err)) + errs = append(errs, fmt.Errorf("ephemeral resource type %q: %w", typeName, err)) continue } } @@ -465,7 +465,7 @@ func (p *frameworkProvider) validateResourceSchemas(ctx context.Context) error { inner, err := resourceSpec.Factory(ctx) if err != nil { - errs = append(errs, fmt.Errorf("creating resource (%s): %w", typeName, err)) + errs = append(errs, fmt.Errorf("creating resource type (%s): %w", typeName, err)) continue } @@ -473,7 +473,7 @@ func (p *frameworkProvider) validateResourceSchemas(ctx context.Context) error { inner.Schema(ctx, resource.SchemaRequest{}, &schemaResponse) if err := validateSchemaRegionForResource(resourceSpec.Region, schemaResponse.Schema); err != nil { - errs = append(errs, fmt.Errorf("resource %q: %w", typeName, err)) + errs = append(errs, fmt.Errorf("resource type %q: %w", typeName, err)) continue } @@ -485,13 +485,13 @@ func (p *frameworkProvider) validateResourceSchemas(ctx context.Context) error { if resourceSpec.Import.WrappedImport { if resourceSpec.Import.SetIDAttr { if _, ok := resourceSpec.Import.ImportID.(inttypes.FrameworkImportIDCreator); !ok { - errs = append(errs, fmt.Errorf("resource type %s: importer sets \"id\" attribute, but creator isn't configured", resourceSpec.TypeName)) + errs = append(errs, fmt.Errorf("resource type %q: importer sets `%s` attribute, but creator isn't configured", resourceSpec.TypeName, names.AttrID)) continue } } if _, ok := inner.(framework.ImportByIdentityer); !ok { - errs = append(errs, fmt.Errorf("resource type %s: cannot configure importer, does not implement %q", resourceSpec.TypeName, reflect.TypeFor[framework.ImportByIdentityer]())) + errs = append(errs, fmt.Errorf("resource type %q: cannot configure importer, does not implement %q", resourceSpec.TypeName, reflect.TypeFor[framework.ImportByIdentityer]())) continue } } From 551df7407aff66db57c4b0d569328a8a534e55dc Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 11 Aug 2025 10:11:07 -0700 Subject: [PATCH 1140/1301] Adds `iter.Filtered` --- internal/iter/filter.go | 22 ++++++++++++++++ internal/iter/filter_test.go | 49 ++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 internal/iter/filter.go create mode 100644 internal/iter/filter_test.go diff --git a/internal/iter/filter.go b/internal/iter/filter.go new file mode 100644 index 000000000000..2f93f1445aa4 --- /dev/null +++ b/internal/iter/filter.go @@ -0,0 +1,22 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package iter + +import ( + "iter" +) + +// Predicate represents a predicate (boolean-valued function) of one argument. +type Predicate[T any] func(T) bool + +// Filtered returns an iterator over the filtered elements of the sequence. +func Filtered[T any](seq iter.Seq[T], pred Predicate[T]) iter.Seq[T] { + return func(yield func(T) bool) { + for e := range seq { + if pred(e) && !yield(e) { + return + } + } + } +} diff --git a/internal/iter/filter_test.go b/internal/iter/filter_test.go new file mode 100644 index 000000000000..77080ccc1f07 --- /dev/null +++ b/internal/iter/filter_test.go @@ -0,0 +1,49 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package iter + +import ( + "slices" + "strings" + "testing" + + "github.com/google/go-cmp/cmp" +) + +func TestFiltered(t *testing.T) { + t.Parallel() + + type testCase struct { + input []string + expected []string + } + tests := map[string]testCase{ + "three elements": { + input: []string{"one", "two", "3", "a0"}, + expected: []string{"a0"}, + }, + "one element": { + input: []string{"abcdEFGH"}, + expected: []string{"abcdEFGH"}, + }, + "zero elements": { + input: []string{}, + expected: nil, + }, + } + + for name, test := range tests { + t.Run(name, func(t *testing.T) { + t.Parallel() + + got := slices.Collect(Filtered(slices.Values(test.input), func(v string) bool { + return strings.HasPrefix(v, "a") + })) + + if diff := cmp.Diff(got, test.expected); diff != "" { + t.Errorf("unexpected diff (+wanted, -got): %s", diff) + } + }) + } +} From e36349350144650a534eeb2f65dc4491843fba99 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 11 Aug 2025 10:11:50 -0700 Subject: [PATCH 1141/1301] Returns `nil` instead of empty `[]T` to avoid unnecessary allocation --- internal/slices/slices.go | 4 ++++ internal/slices/slices_test.go | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/slices/slices.go b/internal/slices/slices.go index fb8880d9fb77..04e51a447128 100644 --- a/internal/slices/slices.go +++ b/internal/slices/slices.go @@ -69,6 +69,10 @@ type Predicate[T any] func(T) bool // Filter returns a new slice containing all values that return `true` for the filter function `f`. func Filter[S ~[]E, E any](s S, f Predicate[E]) S { + if len(s) == 0 { + return nil + } + v := S(make([]E, 0, len(s))) for _, e := range s { diff --git a/internal/slices/slices_test.go b/internal/slices/slices_test.go index 0537d29f2cfd..c53a3fbc9d13 100644 --- a/internal/slices/slices_test.go +++ b/internal/slices/slices_test.go @@ -171,7 +171,7 @@ func TestFilter(t *testing.T) { }, "zero elements": { input: []string{}, - expected: []string{}, + expected: nil, }, } From c392e5540175cf1dd09f636a1d540fbdf2abfc69 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 11 Aug 2025 10:20:15 -0700 Subject: [PATCH 1142/1301] Adds `iter.AppliedToEach` --- internal/iter/apply_to_each.go | 19 +++++++++++ internal/iter/apply_to_each_test.go | 49 +++++++++++++++++++++++++++++ internal/iter/filter_test.go | 6 ++-- 3 files changed, 72 insertions(+), 2 deletions(-) create mode 100644 internal/iter/apply_to_each.go create mode 100644 internal/iter/apply_to_each_test.go diff --git a/internal/iter/apply_to_each.go b/internal/iter/apply_to_each.go new file mode 100644 index 000000000000..f5eccffa5b46 --- /dev/null +++ b/internal/iter/apply_to_each.go @@ -0,0 +1,19 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package iter + +import ( + "iter" +) + +// Filtered returns an iterator over the filtered elements of the sequence. +func AppliedToEach[E, T any](seq iter.Seq[E], f func(E) T) iter.Seq[T] { + return func(yield func(T) bool) { + for v := range seq { + if !yield(f(v)) { + return + } + } + } +} diff --git a/internal/iter/apply_to_each_test.go b/internal/iter/apply_to_each_test.go new file mode 100644 index 000000000000..dde53efe05d6 --- /dev/null +++ b/internal/iter/apply_to_each_test.go @@ -0,0 +1,49 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package iter + +import ( + "slices" + "strings" + "testing" + + "github.com/google/go-cmp/cmp" +) + +func TestAppliedToEach(t *testing.T) { + t.Parallel() + + type testCase struct { + input []string + expected []string + } + tests := map[string]testCase{ + "three elements": { + input: []string{"one", "two", "3", "a0"}, + expected: []string{"ONE", "TWO", "3"}, + }, + "one element": { + input: []string{"abcdEFGH"}, + expected: []string{"ABCDEFGH"}, + }, + "zero elements": { + input: []string{}, + expected: nil, + }, + } + + for name, test := range tests { + t.Run(name, func(t *testing.T) { + t.Parallel() + + iter := AppliedToEach(slices.Values(test.input), strings.ToUpper) + + got := slices.Collect(iter) + + if diff := cmp.Diff(got, test.expected); diff != "" { + t.Errorf("unexpected diff (+wanted, -got): %s", diff) + } + }) + } +} diff --git a/internal/iter/filter_test.go b/internal/iter/filter_test.go index 77080ccc1f07..09f0f9e4ed5b 100644 --- a/internal/iter/filter_test.go +++ b/internal/iter/filter_test.go @@ -37,9 +37,11 @@ func TestFiltered(t *testing.T) { t.Run(name, func(t *testing.T) { t.Parallel() - got := slices.Collect(Filtered(slices.Values(test.input), func(v string) bool { + iter := Filtered(slices.Values(test.input), func(v string) bool { return strings.HasPrefix(v, "a") - })) + }) + + got := slices.Collect(iter) if diff := cmp.Diff(got, test.expected); diff != "" { t.Errorf("unexpected diff (+wanted, -got): %s", diff) From dbd87edc409e67dd59f3bf631c1f9093cf8d3a4d Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 11 Aug 2025 11:52:13 -0700 Subject: [PATCH 1143/1301] Skips empty allocation --- internal/provider/sdkv2/intercept.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/provider/sdkv2/intercept.go b/internal/provider/sdkv2/intercept.go index 7bd1bf537395..2b1578af5699 100644 --- a/internal/provider/sdkv2/intercept.go +++ b/internal/provider/sdkv2/intercept.go @@ -157,7 +157,7 @@ func interceptedCRUDHandler[F ~func(context.Context, *schema.ResourceData, any) } // Before interceptors are run first to last. - forward := make([]crudInterceptorInvocation, 0) + var forward []crudInterceptorInvocation for _, v := range interceptorInvocations.why(why) { if interceptor, ok := v.interceptor.(crudInterceptor); ok { forward = append(forward, crudInterceptorInvocation{ From 06651878327f993a8a65e60b6c6a3bdda8fb4018 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 11 Aug 2025 11:52:45 -0700 Subject: [PATCH 1144/1301] Accepts `awsClient` instead of `*conns.AWSClient` --- internal/provider/sdkv2/intercept.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/provider/sdkv2/intercept.go b/internal/provider/sdkv2/intercept.go index 2b1578af5699..230e9acbed6e 100644 --- a/internal/provider/sdkv2/intercept.go +++ b/internal/provider/sdkv2/intercept.go @@ -172,7 +172,7 @@ func interceptedCRUDHandler[F ~func(context.Context, *schema.ResourceData, any) for _, v := range forward { if v.when&when != 0 { opts := crudInterceptorOptions{ - c: meta.(*conns.AWSClient), + c: meta.(awsClient), d: d, when: when, why: why, @@ -198,7 +198,7 @@ func interceptedCRUDHandler[F ~func(context.Context, *schema.ResourceData, any) for _, v := range reverse { if v.when&when != 0 { opts := crudInterceptorOptions{ - c: meta.(*conns.AWSClient), + c: meta.(awsClient), d: d, when: when, why: why, @@ -211,7 +211,7 @@ func interceptedCRUDHandler[F ~func(context.Context, *schema.ResourceData, any) for _, v := range reverse { if v.when&when != 0 { opts := crudInterceptorOptions{ - c: meta.(*conns.AWSClient), + c: meta.(awsClient), d: d, when: when, why: why, From 8248e43af61c4c05ecd5f0943af43cd19d07eefa Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 11 Aug 2025 11:53:45 -0700 Subject: [PATCH 1145/1301] Adds tests for short circuiting when Before handler has error --- internal/provider/sdkv2/intercept_test.go | 207 ++++++++++++++++++---- 1 file changed, 176 insertions(+), 31 deletions(-) diff --git a/internal/provider/sdkv2/intercept_test.go b/internal/provider/sdkv2/intercept_test.go index e28139757e42..0af09cffbaa8 100644 --- a/internal/provider/sdkv2/intercept_test.go +++ b/internal/provider/sdkv2/intercept_test.go @@ -5,11 +5,13 @@ package sdkv2 import ( "context" + "slices" "testing" + "github.com/google/go-cmp/cmp" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" - "github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag" + "github.com/hashicorp/terraform-provider-aws/internal/errs" ) type ( @@ -59,46 +61,189 @@ func TestInterceptorsWhy(t *testing.T) { } } -func TestInterceptedHandler(t *testing.T) { +func TestInterceptedHandler_Diags_FirstHasBeforeError(t *testing.T) { t.Parallel() - var interceptors interceptorInvocations + expectedDiags := diag.Diagnostics{ + errs.NewErrorDiagnostic("First interceptor Before error", "An error occurred in the first interceptor Before handler"), + } - interceptors = append(interceptors, interceptorInvocation{ - when: Before, - why: Create, - interceptor: crudInterceptorFunc(func(ctx context.Context, opts crudInterceptorOptions) diag.Diagnostics { - var diags diag.Diagnostics - return diags - }), + first := newMockInterceptor(map[when]diag.Diagnostics{ + Before: { + errs.NewErrorDiagnostic("First interceptor Before error", "An error occurred in the first interceptor Before handler"), + }, }) - interceptors = append(interceptors, interceptorInvocation{ - when: After, - why: Delete, - interceptor: crudInterceptorFunc(func(ctx context.Context, opts crudInterceptorOptions) diag.Diagnostics { - var diags diag.Diagnostics - return diags - }), + second := newMockInterceptor(map[when]diag.Diagnostics{}) + interceptors := append( + first.Invocations(), + second.Invocations()..., + ) + + client := mockClient{ + accountID: "123456789012", + region: "us-west-2", //lintignore:AWSAT003 + } + + contextFunc := func(ctx context.Context, _ getAttributeFunc, meta any) (context.Context, error) { + return ctx, nil + } + + var f mockInnerFunc + handler := interceptedCRUDHandler(contextFunc, interceptors, f.Call, Create) + + ctx := t.Context() + diags := handler(ctx, nil, client) + + if diff := cmp.Diff(diags, expectedDiags); diff != "" { + t.Errorf("unexpected diagnostics difference: %s", diff) + } + + if !slices.Equal(first.called, []when{Before}) { + t.Errorf("expected first interceptor to be called once, got %v", first.called) + } + if !slices.Equal(second.called, []when{}) { + t.Errorf("expected second interceptor to not be called, got %v", second.called) + } + if f.count != 0 { + t.Errorf("expected inner function to not be called, got %d", f.count) + } +} + +func TestInterceptedHandler_Diags_SecondHasBeforeError(t *testing.T) { + t.Parallel() + + expectedDiags := diag.Diagnostics{ + errs.NewErrorDiagnostic("Second interceptor Before error", "An error occurred in the second interceptor Before handler"), + } + + first := newMockInterceptor(map[when]diag.Diagnostics{}) + second := newMockInterceptor(map[when]diag.Diagnostics{ + Before: { + errs.NewErrorDiagnostic("Second interceptor Before error", "An error occurred in the second interceptor Before handler"), + }, }) - interceptors = append(interceptors, interceptorInvocation{ - when: Before, - why: Create, - interceptor: crudInterceptorFunc(func(ctx context.Context, opts crudInterceptorOptions) diag.Diagnostics { - var diags diag.Diagnostics - return diags - }), + interceptors := append( + first.Invocations(), + second.Invocations()..., + ) + + client := mockClient{ + accountID: "123456789012", + region: "us-west-2", //lintignore:AWSAT003 + } + + contextFunc := func(ctx context.Context, _ getAttributeFunc, meta any) (context.Context, error) { + return ctx, nil + } + + var f mockInnerFunc + handler := interceptedCRUDHandler(contextFunc, interceptors, f.Call, Create) + + ctx := t.Context() + diags := handler(ctx, nil, client) + + if diff := cmp.Diff(diags, expectedDiags); diff != "" { + t.Errorf("unexpected diagnostics difference: %s", diff) + } + + if !slices.Equal(first.called, []when{Before}) { + t.Errorf("expected first interceptor to be called once, got %v", first.called) + } + if !slices.Equal(second.called, []when{Before}) { + t.Errorf("expected second interceptor to be called once, got %v", second.called) + } + if f.count != 0 { + t.Errorf("expected inner function to not be called, got %d", f.count) + } +} + +func TestInterceptedHandler_Diags_FirstHasBeforeWarning_SecondHasBeforeError(t *testing.T) { + t.Parallel() + + expectedDiags := diag.Diagnostics{ + errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + errs.NewErrorDiagnostic("Second interceptor Before error", "An error occurred in the second interceptor Before handler"), + } + + first := newMockInterceptor(map[when]diag.Diagnostics{ + Before: { + errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + }, }) + second := newMockInterceptor(map[when]diag.Diagnostics{ + Before: { + errs.NewErrorDiagnostic("Second interceptor Before error", "An error occurred in the second interceptor Before handler"), + }, + }) + interceptors := append( + first.Invocations(), + second.Invocations()..., + ) - var read schema.ReadContextFunc = func(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics { - var diags diag.Diagnostics - return sdkdiag.AppendErrorf(diags, "read error") + client := mockClient{ + accountID: "123456789012", + region: "us-west-2", //lintignore:AWSAT003 } - bootstrapContext := func(ctx context.Context, _ getAttributeFunc, meta any) (context.Context, error) { + + contextFunc := func(ctx context.Context, _ getAttributeFunc, meta any) (context.Context, error) { return ctx, nil } - diags := interceptedCRUDHandler(bootstrapContext, interceptors, read, Read)(context.Background(), nil, 42) - if got, want := len(diags), 1; got != want { - t.Errorf("length of diags = %v, want %v", got, want) + var f mockInnerFunc + handler := interceptedCRUDHandler(contextFunc, interceptors, f.Call, Create) + + ctx := t.Context() + diags := handler(ctx, nil, client) + + if diff := cmp.Diff(diags, expectedDiags); diff != "" { + t.Errorf("unexpected diagnostics difference: %s", diff) + } + + if !slices.Equal(first.called, []when{Before}) { + t.Errorf("expected first interceptor to be called once, got %v", first.called) + } + if !slices.Equal(second.called, []when{Before}) { + t.Errorf("expected second interceptor to be called once, got %v", second.called) + } + if f.count != 0 { + t.Errorf("expected inner function to not be called, got %d", f.count) + } +} + +type mockInterceptor struct { + diags map[when]diag.Diagnostics + called []when +} + +func newMockInterceptor(diags map[when]diag.Diagnostics) *mockInterceptor { + return &mockInterceptor{ + diags: diags, } } + +func (m *mockInterceptor) Invocations() interceptorInvocations { + return interceptorInvocations{ + { + why: AllCRUDOps, + when: Before | After | OnError | Finally, + interceptor: m.interceptor(), + }, + } +} + +func (m *mockInterceptor) interceptor() crudInterceptor { + return crudInterceptorFunc(func(ctx context.Context, opts crudInterceptorOptions) diag.Diagnostics { + m.called = append(m.called, opts.when) + return m.diags[opts.when] + }) +} + +type mockInnerFunc struct { + diags diag.Diagnostics + count int +} + +func (m *mockInnerFunc) Call(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics { + m.count++ + return m.diags +} From 921c4d866be2d56954dc560f8439363fece92ee5 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 11 Aug 2025 11:56:06 -0700 Subject: [PATCH 1146/1301] Adds tests for diagnostics on inner function --- internal/provider/sdkv2/intercept_test.go | 94 +++++++++++++++++++++++ 1 file changed, 94 insertions(+) diff --git a/internal/provider/sdkv2/intercept_test.go b/internal/provider/sdkv2/intercept_test.go index 0af09cffbaa8..6da65d11c2cc 100644 --- a/internal/provider/sdkv2/intercept_test.go +++ b/internal/provider/sdkv2/intercept_test.go @@ -210,6 +210,100 @@ func TestInterceptedHandler_Diags_FirstHasBeforeWarning_SecondHasBeforeError(t * } } +func TestInterceptedHandler_Diags_InnerHasError(t *testing.T) { + t.Parallel() + + expectedDiags := diag.Diagnostics{ + errs.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), + } + + first := mockInterceptor{} + second := mockInterceptor{} + interceptors := append( + first.Invocations(), + second.Invocations()..., + ) + + client := mockClient{ + accountID: "123456789012", + region: "us-west-2", //lintignore:AWSAT003 + } + + contextFunc := func(ctx context.Context, _ getAttributeFunc, meta any) (context.Context, error) { + return ctx, nil + } + + var f mockInnerFunc + f.diags = diag.Diagnostics{ + errs.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), + } + handler := interceptedCRUDHandler(contextFunc, interceptors, f.Call, Create) + + ctx := t.Context() + diags := handler(ctx, nil, client) + + if diff := cmp.Diff(diags, expectedDiags); diff != "" { + t.Errorf("unexpected diagnostics difference: %s", diff) + } + + if !slices.Equal(first.called, []when{Before, OnError, Finally}) { + t.Errorf("expected first interceptor to be called three times, got %v", first.called) + } + if !slices.Equal(second.called, []when{Before, OnError, Finally}) { + t.Errorf("expected second interceptor to be called three times, got %v", second.called) + } + if f.count != 1 { + t.Errorf("expected inner function to be called once, got %d", f.count) + } +} + +func TestInterceptedHandler_Diags_InnerHasWarning(t *testing.T) { + t.Parallel() + + expectedDiags := diag.Diagnostics{ + errs.NewWarningDiagnostic("Inner function warning", "A warning occurred in the inner function"), + } + + first := mockInterceptor{} + second := mockInterceptor{} + interceptors := append( + first.Invocations(), + second.Invocations()..., + ) + + client := mockClient{ + accountID: "123456789012", + region: "us-west-2", //lintignore:AWSAT003 + } + + contextFunc := func(ctx context.Context, _ getAttributeFunc, meta any) (context.Context, error) { + return ctx, nil + } + + var f mockInnerFunc + f.diags = diag.Diagnostics{ + errs.NewWarningDiagnostic("Inner function warning", "A warning occurred in the inner function"), + } + handler := interceptedCRUDHandler(contextFunc, interceptors, f.Call, Create) + + ctx := t.Context() + diags := handler(ctx, nil, client) + + if diff := cmp.Diff(diags, expectedDiags); diff != "" { + t.Errorf("unexpected diagnostics difference: %s", diff) + } + + if !slices.Equal(first.called, []when{Before, After, Finally}) { + t.Errorf("expected first interceptor to be called three times, got %v", first.called) + } + if !slices.Equal(second.called, []when{Before, After, Finally}) { + t.Errorf("expected second interceptor to be called three times, got %v", second.called) + } + if f.count != 1 { + t.Errorf("expected inner function to be called once, got %d", f.count) + } +} + type mockInterceptor struct { diags map[when]diag.Diagnostics called []when From 147090c5170091734d1e678b177326a63ad3408a Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 11 Aug 2025 11:59:53 -0700 Subject: [PATCH 1147/1301] Preserves warnings from Before handlers if inner function succeeds --- internal/provider/sdkv2/intercept.go | 15 +- internal/provider/sdkv2/intercept_test.go | 295 ++++++++++++++++++++++ 2 files changed, 303 insertions(+), 7 deletions(-) diff --git a/internal/provider/sdkv2/intercept.go b/internal/provider/sdkv2/intercept.go index 230e9acbed6e..eb8bb0d423f0 100644 --- a/internal/provider/sdkv2/intercept.go +++ b/internal/provider/sdkv2/intercept.go @@ -148,10 +148,10 @@ func interceptedCRUDHandler[F ~func(context.Context, *schema.ResourceData, any) return nil } - return func(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics { + return func(ctx context.Context, rd *schema.ResourceData, meta any) diag.Diagnostics { var diags diag.Diagnostics - ctx, err := bootstrapContext(ctx, d.GetOk, meta) + ctx, err := bootstrapContext(ctx, rd.GetOk, meta) if err != nil { return sdkdiag.AppendFromErr(diags, err) } @@ -173,7 +173,7 @@ func interceptedCRUDHandler[F ~func(context.Context, *schema.ResourceData, any) if v.when&when != 0 { opts := crudInterceptorOptions{ c: meta.(awsClient), - d: d, + d: rd, when: when, why: why, } @@ -188,9 +188,10 @@ func interceptedCRUDHandler[F ~func(context.Context, *schema.ResourceData, any) // All other interceptors are run last to first. reverse := tfslices.Reverse(forward) - diags = f(ctx, d, meta) + d := f(ctx, rd, meta) + diags = append(diags, d...) - if diags.HasError() { + if d.HasError() { when = OnError } else { when = After @@ -199,7 +200,7 @@ func interceptedCRUDHandler[F ~func(context.Context, *schema.ResourceData, any) if v.when&when != 0 { opts := crudInterceptorOptions{ c: meta.(awsClient), - d: d, + d: rd, when: when, why: why, } @@ -212,7 +213,7 @@ func interceptedCRUDHandler[F ~func(context.Context, *schema.ResourceData, any) if v.when&when != 0 { opts := crudInterceptorOptions{ c: meta.(awsClient), - d: d, + d: rd, when: when, why: why, } diff --git a/internal/provider/sdkv2/intercept_test.go b/internal/provider/sdkv2/intercept_test.go index 6da65d11c2cc..1badce6ac07c 100644 --- a/internal/provider/sdkv2/intercept_test.go +++ b/internal/provider/sdkv2/intercept_test.go @@ -157,6 +157,102 @@ func TestInterceptedHandler_Diags_SecondHasBeforeError(t *testing.T) { } } +func TestInterceptedHandler_Diags_FirstHasBeforeWarning(t *testing.T) { + t.Parallel() + + expectedDiags := diag.Diagnostics{ + errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + } + + first := newMockInterceptor(map[when]diag.Diagnostics{ + Before: { + errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + }, + }) + second := newMockInterceptor(map[when]diag.Diagnostics{}) + interceptors := append( + first.Invocations(), + second.Invocations()..., + ) + + client := mockClient{ + accountID: "123456789012", + region: "us-west-2", //lintignore:AWSAT003 + } + + contextFunc := func(ctx context.Context, _ getAttributeFunc, meta any) (context.Context, error) { + return ctx, nil + } + + var f mockInnerFunc + handler := interceptedCRUDHandler(contextFunc, interceptors, f.Call, Create) + + ctx := t.Context() + diags := handler(ctx, nil, client) + + if diff := cmp.Diff(diags, expectedDiags); diff != "" { + t.Errorf("unexpected diagnostics difference: %s", diff) + } + + if !slices.Equal(first.called, []when{Before, After, Finally}) { + t.Errorf("expected first interceptor to be called three times, got %v", first.called) + } + if !slices.Equal(second.called, []when{Before, After, Finally}) { + t.Errorf("expected second interceptor to be called three times, got %v", second.called) + } + if f.count != 1 { + t.Errorf("expected inner function to be called once, got %d", f.count) + } +} + +func TestInterceptedHandler_Diags_SecondHasBeforeWarning(t *testing.T) { + t.Parallel() + + expectedDiags := diag.Diagnostics{ + errs.NewWarningDiagnostic("Second interceptor Before warning", "A warning occurred in the second interceptor Before handler"), + } + + first := newMockInterceptor(map[when]diag.Diagnostics{}) + second := newMockInterceptor(map[when]diag.Diagnostics{ + Before: { + errs.NewWarningDiagnostic("Second interceptor Before warning", "A warning occurred in the second interceptor Before handler"), + }, + }) + interceptors := append( + first.Invocations(), + second.Invocations()..., + ) + + client := mockClient{ + accountID: "123456789012", + region: "us-west-2", //lintignore:AWSAT003 + } + + contextFunc := func(ctx context.Context, _ getAttributeFunc, meta any) (context.Context, error) { + return ctx, nil + } + + var f mockInnerFunc + handler := interceptedCRUDHandler(contextFunc, interceptors, f.Call, Create) + + ctx := t.Context() + diags := handler(ctx, nil, client) + + if diff := cmp.Diff(diags, expectedDiags); diff != "" { + t.Errorf("unexpected diagnostics difference: %s", diff) + } + + if !slices.Equal(first.called, []when{Before, After, Finally}) { + t.Errorf("expected first interceptor to be called three times, got %v", first.called) + } + if !slices.Equal(second.called, []when{Before, After, Finally}) { + t.Errorf("expected second interceptor to be called three times, got %v", second.called) + } + if f.count != 1 { + t.Errorf("expected inner function to be called once, got %d", f.count) + } +} + func TestInterceptedHandler_Diags_FirstHasBeforeWarning_SecondHasBeforeError(t *testing.T) { t.Parallel() @@ -304,6 +400,205 @@ func TestInterceptedHandler_Diags_InnerHasWarning(t *testing.T) { } } +func TestInterceptedHandler_Diags_InnerHasError_FirstHasBeforeWarning(t *testing.T) { + t.Parallel() + + expectedDiags := diag.Diagnostics{ + errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + errs.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), + } + + first := newMockInterceptor(map[when]diag.Diagnostics{ + Before: { + errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + }, + }) + second := newMockInterceptor(map[when]diag.Diagnostics{}) + + interceptors := append( + first.Invocations(), + second.Invocations()..., + ) + + client := mockClient{ + accountID: "123456789012", + region: "us-west-2", //lintignore:AWSAT003 + } + + contextFunc := func(ctx context.Context, _ getAttributeFunc, meta any) (context.Context, error) { + return ctx, nil + } + + var f mockInnerFunc + f.diags = diag.Diagnostics{ + errs.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), + } + handler := interceptedCRUDHandler(contextFunc, interceptors, f.Call, Create) + + ctx := t.Context() + diags := handler(ctx, nil, client) + + if diff := cmp.Diff(diags, expectedDiags); diff != "" { + t.Errorf("unexpected diagnostics difference: %s", diff) + } + + if !slices.Equal(first.called, []when{Before, OnError, Finally}) { + t.Errorf("expected first interceptor to be called three times, got %v", first.called) + } + if !slices.Equal(second.called, []when{Before, OnError, Finally}) { + t.Errorf("expected second interceptor to be called three times, got %v", second.called) + } + if f.count != 1 { + t.Errorf("expected inner function to be called once, got %d", f.count) + } +} + +func TestInterceptedHandler_Diags_AllHaveWarnings(t *testing.T) { + t.Parallel() + + expectedDiags := diag.Diagnostics{ + errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + errs.NewWarningDiagnostic("Second interceptor Before warning", "A warning occurred in the second interceptor Before handler"), + errs.NewWarningDiagnostic("Inner function warning", "A warning occurred in the inner function"), + errs.NewWarningDiagnostic("Second interceptor After warning", "A warning occurred in the second interceptor After handler"), + errs.NewWarningDiagnostic("First interceptor After warning", "A warning occurred in the first interceptor After handler"), + errs.NewWarningDiagnostic("Second interceptor Finally warning", "A warning occurred in the second interceptor Finally handler"), + errs.NewWarningDiagnostic("First interceptor Finally warning", "A warning occurred in the first interceptor Finally handler"), + } + + first := newMockInterceptor(map[when]diag.Diagnostics{ + Before: { + errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + }, + After: { + errs.NewWarningDiagnostic("First interceptor After warning", "A warning occurred in the first interceptor After handler"), + }, + Finally: { + errs.NewWarningDiagnostic("First interceptor Finally warning", "A warning occurred in the first interceptor Finally handler"), + }, + }) + second := newMockInterceptor(map[when]diag.Diagnostics{ + Before: { + errs.NewWarningDiagnostic("Second interceptor Before warning", "A warning occurred in the second interceptor Before handler"), + }, + After: { + errs.NewWarningDiagnostic("Second interceptor After warning", "A warning occurred in the second interceptor After handler"), + }, + Finally: { + errs.NewWarningDiagnostic("Second interceptor Finally warning", "A warning occurred in the second interceptor Finally handler"), + }, + }) + interceptors := append( + first.Invocations(), + second.Invocations()..., + ) + + client := mockClient{ + accountID: "123456789012", + region: "us-west-2", //lintignore:AWSAT003 + } + + contextFunc := func(ctx context.Context, _ getAttributeFunc, meta any) (context.Context, error) { + return ctx, nil + } + + var f mockInnerFunc + f.diags = diag.Diagnostics{ + errs.NewWarningDiagnostic("Inner function warning", "A warning occurred in the inner function"), + } + handler := interceptedCRUDHandler(contextFunc, interceptors, f.Call, Create) + + ctx := t.Context() + diags := handler(ctx, nil, client) + + if diff := cmp.Diff(diags, expectedDiags); diff != "" { + t.Errorf("unexpected diagnostics difference: %s", diff) + } + + if !slices.Equal(first.called, []when{Before, After, Finally}) { + t.Errorf("expected first interceptor to be called three times, got %v", first.called) + } + if !slices.Equal(second.called, []when{Before, After, Finally}) { + t.Errorf("expected second interceptor to be called three times, got %v", second.called) + } + if f.count != 1 { + t.Errorf("expected inner function to be called once, got %d", f.count) + } +} + +func TestInterceptedHandler_Diags_InnerHasError_HandlersHaveWarnings(t *testing.T) { + t.Parallel() + + expectedDiags := diag.Diagnostics{ + errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + errs.NewWarningDiagnostic("Second interceptor Before warning", "A warning occurred in the second interceptor Before handler"), + errs.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), + errs.NewWarningDiagnostic("Second interceptor OnError warning", "A warning occurred in the second interceptor OnError handler"), + errs.NewWarningDiagnostic("First interceptor OnError warning", "A warning occurred in the first interceptor OnError handler"), + errs.NewWarningDiagnostic("Second interceptor Finally warning", "A warning occurred in the second interceptor Finally handler"), + errs.NewWarningDiagnostic("First interceptor Finally warning", "A warning occurred in the first interceptor Finally handler"), + } + + first := newMockInterceptor(map[when]diag.Diagnostics{ + Before: { + errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + }, + OnError: { + errs.NewWarningDiagnostic("First interceptor OnError warning", "A warning occurred in the first interceptor OnError handler"), + }, + Finally: { + errs.NewWarningDiagnostic("First interceptor Finally warning", "A warning occurred in the first interceptor Finally handler"), + }, + }) + second := newMockInterceptor(map[when]diag.Diagnostics{ + Before: { + errs.NewWarningDiagnostic("Second interceptor Before warning", "A warning occurred in the second interceptor Before handler"), + }, + OnError: { + errs.NewWarningDiagnostic("Second interceptor OnError warning", "A warning occurred in the second interceptor OnError handler"), + }, + Finally: { + errs.NewWarningDiagnostic("Second interceptor Finally warning", "A warning occurred in the second interceptor Finally handler"), + }, + }) + interceptors := append( + first.Invocations(), + second.Invocations()..., + ) + + client := mockClient{ + accountID: "123456789012", + region: "us-west-2", //lintignore:AWSAT003 + } + + contextFunc := func(ctx context.Context, _ getAttributeFunc, meta any) (context.Context, error) { + return ctx, nil + } + + var f mockInnerFunc + f.diags = diag.Diagnostics{ + errs.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), + } + handler := interceptedCRUDHandler(contextFunc, interceptors, f.Call, Create) + + ctx := t.Context() + diags := handler(ctx, nil, client) + + if diff := cmp.Diff(diags, expectedDiags); diff != "" { + t.Errorf("unexpected diagnostics difference: %s", diff) + } + + if !slices.Equal(first.called, []when{Before, OnError, Finally}) { + t.Errorf("expected first interceptor to be called three times, got %v", first.called) + } + if !slices.Equal(second.called, []when{Before, OnError, Finally}) { + t.Errorf("expected second interceptor to be called three times, got %v", second.called) + } + if f.count != 1 { + t.Errorf("expected inner function to be called once, got %d", f.count) + } +} + type mockInterceptor struct { diags map[when]diag.Diagnostics called []when From 8948ac4eea8c61d27738ee826253914ef474c9bc Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 11 Aug 2025 12:06:25 -0700 Subject: [PATCH 1148/1301] Renames `forward` to `interceptors` for clarity --- internal/provider/sdkv2/intercept.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/provider/sdkv2/intercept.go b/internal/provider/sdkv2/intercept.go index eb8bb0d423f0..f6677eb599c0 100644 --- a/internal/provider/sdkv2/intercept.go +++ b/internal/provider/sdkv2/intercept.go @@ -156,11 +156,10 @@ func interceptedCRUDHandler[F ~func(context.Context, *schema.ResourceData, any) return sdkdiag.AppendFromErr(diags, err) } - // Before interceptors are run first to last. - var forward []crudInterceptorInvocation + var interceptors []crudInterceptorInvocation for _, v := range interceptorInvocations.why(why) { if interceptor, ok := v.interceptor.(crudInterceptor); ok { - forward = append(forward, crudInterceptorInvocation{ + interceptors = append(interceptors, crudInterceptorInvocation{ when: v.when, why: v.why, interceptor: interceptor, @@ -168,8 +167,9 @@ func interceptedCRUDHandler[F ~func(context.Context, *schema.ResourceData, any) } } + // Before interceptors are run first to last. when := Before - for _, v := range forward { + for _, v := range interceptors { if v.when&when != 0 { opts := crudInterceptorOptions{ c: meta.(awsClient), @@ -187,7 +187,7 @@ func interceptedCRUDHandler[F ~func(context.Context, *schema.ResourceData, any) } // All other interceptors are run last to first. - reverse := tfslices.Reverse(forward) + reverse := tfslices.Reverse(interceptors) d := f(ctx, rd, meta) diags = append(diags, d...) From 8480173aec9f4321cb3a95b6e852b89c4dc5f87c Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 11 Aug 2025 12:11:13 -0700 Subject: [PATCH 1149/1301] Iterates over `interceptors` --- internal/provider/sdkv2/intercept.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/provider/sdkv2/intercept.go b/internal/provider/sdkv2/intercept.go index f6677eb599c0..b72ab15589ae 100644 --- a/internal/provider/sdkv2/intercept.go +++ b/internal/provider/sdkv2/intercept.go @@ -6,6 +6,7 @@ package sdkv2 import ( "context" "errors" + "slices" "github.com/aws/aws-sdk-go-v2/aws" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" @@ -169,7 +170,7 @@ func interceptedCRUDHandler[F ~func(context.Context, *schema.ResourceData, any) // Before interceptors are run first to last. when := Before - for _, v := range interceptors { + for v := range slices.Values(interceptors) { if v.when&when != 0 { opts := crudInterceptorOptions{ c: meta.(awsClient), @@ -186,17 +187,16 @@ func interceptedCRUDHandler[F ~func(context.Context, *schema.ResourceData, any) } } - // All other interceptors are run last to first. - reverse := tfslices.Reverse(interceptors) d := f(ctx, rd, meta) diags = append(diags, d...) + // All other interceptors are run last to first. if d.HasError() { when = OnError } else { when = After } - for _, v := range reverse { + for v := range tfslices.BackwardValues(interceptors) { if v.when&when != 0 { opts := crudInterceptorOptions{ c: meta.(awsClient), @@ -209,7 +209,7 @@ func interceptedCRUDHandler[F ~func(context.Context, *schema.ResourceData, any) } when = Finally - for _, v := range reverse { + for v := range tfslices.BackwardValues(interceptors) { if v.when&when != 0 { opts := crudInterceptorOptions{ c: meta.(awsClient), From 014a581365fa6512a990f0c665b37ce2b06e8279 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 11 Aug 2025 12:14:57 -0700 Subject: [PATCH 1150/1301] Simplifies `opts` --- internal/provider/sdkv2/intercept.go | 38 ++++++++++------------------ 1 file changed, 13 insertions(+), 25 deletions(-) diff --git a/internal/provider/sdkv2/intercept.go b/internal/provider/sdkv2/intercept.go index b72ab15589ae..5a49530cd6bf 100644 --- a/internal/provider/sdkv2/intercept.go +++ b/internal/provider/sdkv2/intercept.go @@ -168,16 +168,16 @@ func interceptedCRUDHandler[F ~func(context.Context, *schema.ResourceData, any) } } + opts := crudInterceptorOptions{ + c: meta.(awsClient), + d: rd, + why: why, + } + // Before interceptors are run first to last. - when := Before + opts.when = Before for v := range slices.Values(interceptors) { - if v.when&when != 0 { - opts := crudInterceptorOptions{ - c: meta.(awsClient), - d: rd, - when: when, - why: why, - } + if v.when&opts.when != 0 { diags = append(diags, v.interceptor.run(ctx, opts)...) // Short circuit if any Before interceptor errors. @@ -192,31 +192,19 @@ func interceptedCRUDHandler[F ~func(context.Context, *schema.ResourceData, any) // All other interceptors are run last to first. if d.HasError() { - when = OnError + opts.when = OnError } else { - when = After + opts.when = After } for v := range tfslices.BackwardValues(interceptors) { - if v.when&when != 0 { - opts := crudInterceptorOptions{ - c: meta.(awsClient), - d: rd, - when: when, - why: why, - } + if v.when&opts.when != 0 { diags = append(diags, v.interceptor.run(ctx, opts)...) } } - when = Finally + opts.when = Finally for v := range tfslices.BackwardValues(interceptors) { - if v.when&when != 0 { - opts := crudInterceptorOptions{ - c: meta.(awsClient), - d: rd, - when: when, - why: why, - } + if v.when&opts.when != 0 { diags = append(diags, v.interceptor.run(ctx, opts)...) } } From 731a35d9e40ce097860486f262faf76474f6bb98 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 11 Aug 2025 13:11:45 -0700 Subject: [PATCH 1151/1301] Renames `interceptedCRUDHandler` tests --- internal/provider/sdkv2/intercept_test.go | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/internal/provider/sdkv2/intercept_test.go b/internal/provider/sdkv2/intercept_test.go index 1badce6ac07c..990a14326898 100644 --- a/internal/provider/sdkv2/intercept_test.go +++ b/internal/provider/sdkv2/intercept_test.go @@ -61,7 +61,7 @@ func TestInterceptorsWhy(t *testing.T) { } } -func TestInterceptedHandler_Diags_FirstHasBeforeError(t *testing.T) { +func TestInterceptedCRUDHandler_Diags_FirstHasBeforeError(t *testing.T) { t.Parallel() expectedDiags := diag.Diagnostics{ @@ -109,7 +109,7 @@ func TestInterceptedHandler_Diags_FirstHasBeforeError(t *testing.T) { } } -func TestInterceptedHandler_Diags_SecondHasBeforeError(t *testing.T) { +func TestInterceptedCRUDHandler_Diags_SecondHasBeforeError(t *testing.T) { t.Parallel() expectedDiags := diag.Diagnostics{ @@ -157,7 +157,7 @@ func TestInterceptedHandler_Diags_SecondHasBeforeError(t *testing.T) { } } -func TestInterceptedHandler_Diags_FirstHasBeforeWarning(t *testing.T) { +func TestInterceptedCRUDHandler_Diags_FirstHasBeforeWarning(t *testing.T) { t.Parallel() expectedDiags := diag.Diagnostics{ @@ -205,7 +205,7 @@ func TestInterceptedHandler_Diags_FirstHasBeforeWarning(t *testing.T) { } } -func TestInterceptedHandler_Diags_SecondHasBeforeWarning(t *testing.T) { +func TestInterceptedCRUDHandler_Diags_SecondHasBeforeWarning(t *testing.T) { t.Parallel() expectedDiags := diag.Diagnostics{ @@ -253,7 +253,7 @@ func TestInterceptedHandler_Diags_SecondHasBeforeWarning(t *testing.T) { } } -func TestInterceptedHandler_Diags_FirstHasBeforeWarning_SecondHasBeforeError(t *testing.T) { +func TestInterceptedCRUDHandler_Diags_FirstHasBeforeWarning_SecondHasBeforeError(t *testing.T) { t.Parallel() expectedDiags := diag.Diagnostics{ @@ -306,7 +306,7 @@ func TestInterceptedHandler_Diags_FirstHasBeforeWarning_SecondHasBeforeError(t * } } -func TestInterceptedHandler_Diags_InnerHasError(t *testing.T) { +func TestInterceptedCRUDHandler_Diags_InnerHasError(t *testing.T) { t.Parallel() expectedDiags := diag.Diagnostics{ @@ -353,7 +353,7 @@ func TestInterceptedHandler_Diags_InnerHasError(t *testing.T) { } } -func TestInterceptedHandler_Diags_InnerHasWarning(t *testing.T) { +func TestInterceptedCRUDHandler_Diags_InnerHasWarning(t *testing.T) { t.Parallel() expectedDiags := diag.Diagnostics{ @@ -400,7 +400,7 @@ func TestInterceptedHandler_Diags_InnerHasWarning(t *testing.T) { } } -func TestInterceptedHandler_Diags_InnerHasError_FirstHasBeforeWarning(t *testing.T) { +func TestInterceptedCRUDHandler_Diags_InnerHasError_FirstHasBeforeWarning(t *testing.T) { t.Parallel() expectedDiags := diag.Diagnostics{ @@ -453,7 +453,7 @@ func TestInterceptedHandler_Diags_InnerHasError_FirstHasBeforeWarning(t *testing } } -func TestInterceptedHandler_Diags_AllHaveWarnings(t *testing.T) { +func TestInterceptedCRUDHandler_Diags_AllHaveWarnings(t *testing.T) { t.Parallel() expectedDiags := diag.Diagnostics{ @@ -526,7 +526,7 @@ func TestInterceptedHandler_Diags_AllHaveWarnings(t *testing.T) { } } -func TestInterceptedHandler_Diags_InnerHasError_HandlersHaveWarnings(t *testing.T) { +func TestInterceptedCRUDHandler_Diags_InnerHasError_HandlersHaveWarnings(t *testing.T) { t.Parallel() expectedDiags := diag.Diagnostics{ From 6764380cb87d715bbd5db921e7d33339f3658b80 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 11 Aug 2025 14:30:20 -0700 Subject: [PATCH 1152/1301] Generates string values for `when` in tests --- internal/provider/sdkv2/intercept.go | 3 ++ internal/provider/sdkv2/when_string_test.go | 39 +++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 internal/provider/sdkv2/when_string_test.go diff --git a/internal/provider/sdkv2/intercept.go b/internal/provider/sdkv2/intercept.go index 5a49530cd6bf..8462b0c777ab 100644 --- a/internal/provider/sdkv2/intercept.go +++ b/internal/provider/sdkv2/intercept.go @@ -108,6 +108,9 @@ type ( importInterceptorInvocation = typedInterceptor2Invocation[*schema.ResourceData, []*schema.ResourceData, error] ) +// Only generate strings for use in tests +//go:generate stringer -type=when -output=when_string_test.go + // when represents the point in the request lifecycle that an interceptor is run. // Multiple values can be ORed together. type when uint16 diff --git a/internal/provider/sdkv2/when_string_test.go b/internal/provider/sdkv2/when_string_test.go new file mode 100644 index 000000000000..14224a38f3ac --- /dev/null +++ b/internal/provider/sdkv2/when_string_test.go @@ -0,0 +1,39 @@ +// Code generated by "stringer -type=when -output=when_string_test.go"; DO NOT EDIT. + +package sdkv2 + +import "strconv" + +func _() { + // An "invalid array index" compiler error signifies that the constant values have changed. + // Re-run the stringer command to generate them again. + var x [1]struct{} + _ = x[Before-1] + _ = x[After-2] + _ = x[OnError-4] + _ = x[Finally-8] +} + +const ( + _when_name_0 = "BeforeAfter" + _when_name_1 = "OnError" + _when_name_2 = "Finally" +) + +var ( + _when_index_0 = [...]uint8{0, 6, 11} +) + +func (i when) String() string { + switch { + case 1 <= i && i <= 2: + i -= 1 + return _when_name_0[_when_index_0[i]:_when_index_0[i+1]] + case i == 4: + return _when_name_1 + case i == 8: + return _when_name_2 + default: + return "when(" + strconv.FormatInt(int64(i), 10) + ")" + } +} From 3e85b05b28ed5f668dd2589d4e0291eaff23ec13 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 11 Aug 2025 14:31:06 -0700 Subject: [PATCH 1153/1301] Consolidates `TestInterceptedCRUDHandler` --- internal/provider/sdkv2/intercept_test.go | 744 +++++++--------------- 1 file changed, 237 insertions(+), 507 deletions(-) diff --git a/internal/provider/sdkv2/intercept_test.go b/internal/provider/sdkv2/intercept_test.go index 990a14326898..5dcd320a5eba 100644 --- a/internal/provider/sdkv2/intercept_test.go +++ b/internal/provider/sdkv2/intercept_test.go @@ -5,7 +5,6 @@ package sdkv2 import ( "context" - "slices" "testing" "github.com/google/go-cmp/cmp" @@ -61,24 +60,9 @@ func TestInterceptorsWhy(t *testing.T) { } } -func TestInterceptedCRUDHandler_Diags_FirstHasBeforeError(t *testing.T) { +func TestInterceptedCRUDHandler(t *testing.T) { t.Parallel() - expectedDiags := diag.Diagnostics{ - errs.NewErrorDiagnostic("First interceptor Before error", "An error occurred in the first interceptor Before handler"), - } - - first := newMockInterceptor(map[when]diag.Diagnostics{ - Before: { - errs.NewErrorDiagnostic("First interceptor Before error", "An error occurred in the first interceptor Before handler"), - }, - }) - second := newMockInterceptor(map[when]diag.Diagnostics{}) - interceptors := append( - first.Invocations(), - second.Invocations()..., - ) - client := mockClient{ accountID: "123456789012", region: "us-west-2", //lintignore:AWSAT003 @@ -88,514 +72,251 @@ func TestInterceptedCRUDHandler_Diags_FirstHasBeforeError(t *testing.T) { return ctx, nil } - var f mockInnerFunc - handler := interceptedCRUDHandler(contextFunc, interceptors, f.Call, Create) - - ctx := t.Context() - diags := handler(ctx, nil, client) - - if diff := cmp.Diff(diags, expectedDiags); diff != "" { - t.Errorf("unexpected diagnostics difference: %s", diff) - } - - if !slices.Equal(first.called, []when{Before}) { - t.Errorf("expected first interceptor to be called once, got %v", first.called) - } - if !slices.Equal(second.called, []when{}) { - t.Errorf("expected second interceptor to not be called, got %v", second.called) - } - if f.count != 0 { - t.Errorf("expected inner function to not be called, got %d", f.count) - } -} - -func TestInterceptedCRUDHandler_Diags_SecondHasBeforeError(t *testing.T) { - t.Parallel() - - expectedDiags := diag.Diagnostics{ - errs.NewErrorDiagnostic("Second interceptor Before error", "An error occurred in the second interceptor Before handler"), - } - - first := newMockInterceptor(map[when]diag.Diagnostics{}) - second := newMockInterceptor(map[when]diag.Diagnostics{ - Before: { - errs.NewErrorDiagnostic("Second interceptor Before error", "An error occurred in the second interceptor Before handler"), + testcases := map[string]struct { + firstInterceptorDiags map[when]diag.Diagnostics + secondInterceptorDiags map[when]diag.Diagnostics + innerFuncDiags diag.Diagnostics + expectedFirstCalls []when + expectedSecondCalls []when + expectedInnerCalls int + expectedDiags diag.Diagnostics + }{ + "First has Before error": { + firstInterceptorDiags: map[when]diag.Diagnostics{ + Before: { + errs.NewErrorDiagnostic("First interceptor Before error", "An error occurred in the first interceptor Before handler"), + }, + }, + expectedFirstCalls: []when{Before}, + expectedInnerCalls: 0, + expectedDiags: diag.Diagnostics{ + errs.NewErrorDiagnostic("First interceptor Before error", "An error occurred in the first interceptor Before handler"), + }, }, - }) - interceptors := append( - first.Invocations(), - second.Invocations()..., - ) - - client := mockClient{ - accountID: "123456789012", - region: "us-west-2", //lintignore:AWSAT003 - } - contextFunc := func(ctx context.Context, _ getAttributeFunc, meta any) (context.Context, error) { - return ctx, nil - } - - var f mockInnerFunc - handler := interceptedCRUDHandler(contextFunc, interceptors, f.Call, Create) - - ctx := t.Context() - diags := handler(ctx, nil, client) - - if diff := cmp.Diff(diags, expectedDiags); diff != "" { - t.Errorf("unexpected diagnostics difference: %s", diff) - } - - if !slices.Equal(first.called, []when{Before}) { - t.Errorf("expected first interceptor to be called once, got %v", first.called) - } - if !slices.Equal(second.called, []when{Before}) { - t.Errorf("expected second interceptor to be called once, got %v", second.called) - } - if f.count != 0 { - t.Errorf("expected inner function to not be called, got %d", f.count) - } -} - -func TestInterceptedCRUDHandler_Diags_FirstHasBeforeWarning(t *testing.T) { - t.Parallel() - - expectedDiags := diag.Diagnostics{ - errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), - } - - first := newMockInterceptor(map[when]diag.Diagnostics{ - Before: { - errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + "Second has Before error": { + secondInterceptorDiags: map[when]diag.Diagnostics{ + Before: { + errs.NewErrorDiagnostic("Second interceptor Before error", "An error occurred in the second interceptor Before handler"), + }, + }, + expectedFirstCalls: []when{Before}, + expectedSecondCalls: []when{Before}, + expectedInnerCalls: 0, + expectedDiags: diag.Diagnostics{ + errs.NewErrorDiagnostic("Second interceptor Before error", "An error occurred in the second interceptor Before handler"), + }, }, - }) - second := newMockInterceptor(map[when]diag.Diagnostics{}) - interceptors := append( - first.Invocations(), - second.Invocations()..., - ) - - client := mockClient{ - accountID: "123456789012", - region: "us-west-2", //lintignore:AWSAT003 - } - - contextFunc := func(ctx context.Context, _ getAttributeFunc, meta any) (context.Context, error) { - return ctx, nil - } - - var f mockInnerFunc - handler := interceptedCRUDHandler(contextFunc, interceptors, f.Call, Create) - ctx := t.Context() - diags := handler(ctx, nil, client) - - if diff := cmp.Diff(diags, expectedDiags); diff != "" { - t.Errorf("unexpected diagnostics difference: %s", diff) - } - - if !slices.Equal(first.called, []when{Before, After, Finally}) { - t.Errorf("expected first interceptor to be called three times, got %v", first.called) - } - if !slices.Equal(second.called, []when{Before, After, Finally}) { - t.Errorf("expected second interceptor to be called three times, got %v", second.called) - } - if f.count != 1 { - t.Errorf("expected inner function to be called once, got %d", f.count) - } -} - -func TestInterceptedCRUDHandler_Diags_SecondHasBeforeWarning(t *testing.T) { - t.Parallel() - - expectedDiags := diag.Diagnostics{ - errs.NewWarningDiagnostic("Second interceptor Before warning", "A warning occurred in the second interceptor Before handler"), - } - - first := newMockInterceptor(map[when]diag.Diagnostics{}) - second := newMockInterceptor(map[when]diag.Diagnostics{ - Before: { - errs.NewWarningDiagnostic("Second interceptor Before warning", "A warning occurred in the second interceptor Before handler"), + "First has Before warning": { + firstInterceptorDiags: map[when]diag.Diagnostics{ + Before: { + errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + }, + }, + expectedFirstCalls: []when{Before, After, Finally}, + expectedSecondCalls: []when{Before, After, Finally}, + expectedInnerCalls: 1, + expectedDiags: diag.Diagnostics{ + errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + }, }, - }) - interceptors := append( - first.Invocations(), - second.Invocations()..., - ) - - client := mockClient{ - accountID: "123456789012", - region: "us-west-2", //lintignore:AWSAT003 - } - - contextFunc := func(ctx context.Context, _ getAttributeFunc, meta any) (context.Context, error) { - return ctx, nil - } - - var f mockInnerFunc - handler := interceptedCRUDHandler(contextFunc, interceptors, f.Call, Create) - - ctx := t.Context() - diags := handler(ctx, nil, client) - if diff := cmp.Diff(diags, expectedDiags); diff != "" { - t.Errorf("unexpected diagnostics difference: %s", diff) - } - - if !slices.Equal(first.called, []when{Before, After, Finally}) { - t.Errorf("expected first interceptor to be called three times, got %v", first.called) - } - if !slices.Equal(second.called, []when{Before, After, Finally}) { - t.Errorf("expected second interceptor to be called three times, got %v", second.called) - } - if f.count != 1 { - t.Errorf("expected inner function to be called once, got %d", f.count) - } -} - -func TestInterceptedCRUDHandler_Diags_FirstHasBeforeWarning_SecondHasBeforeError(t *testing.T) { - t.Parallel() - - expectedDiags := diag.Diagnostics{ - errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), - errs.NewErrorDiagnostic("Second interceptor Before error", "An error occurred in the second interceptor Before handler"), - } - - first := newMockInterceptor(map[when]diag.Diagnostics{ - Before: { - errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + "Second has Before warning": { + secondInterceptorDiags: map[when]diag.Diagnostics{ + Before: { + errs.NewWarningDiagnostic("Second interceptor Before warning", "A warning occurred in the second interceptor Before handler"), + }, + }, + expectedFirstCalls: []when{Before, After, Finally}, + expectedSecondCalls: []when{Before, After, Finally}, + expectedInnerCalls: 1, + expectedDiags: diag.Diagnostics{ + errs.NewWarningDiagnostic("Second interceptor Before warning", "A warning occurred in the second interceptor Before handler"), + }, }, - }) - second := newMockInterceptor(map[when]diag.Diagnostics{ - Before: { - errs.NewErrorDiagnostic("Second interceptor Before error", "An error occurred in the second interceptor Before handler"), - }, - }) - interceptors := append( - first.Invocations(), - second.Invocations()..., - ) - - client := mockClient{ - accountID: "123456789012", - region: "us-west-2", //lintignore:AWSAT003 - } - - contextFunc := func(ctx context.Context, _ getAttributeFunc, meta any) (context.Context, error) { - return ctx, nil - } - - var f mockInnerFunc - handler := interceptedCRUDHandler(contextFunc, interceptors, f.Call, Create) - - ctx := t.Context() - diags := handler(ctx, nil, client) - - if diff := cmp.Diff(diags, expectedDiags); diff != "" { - t.Errorf("unexpected diagnostics difference: %s", diff) - } - - if !slices.Equal(first.called, []when{Before}) { - t.Errorf("expected first interceptor to be called once, got %v", first.called) - } - if !slices.Equal(second.called, []when{Before}) { - t.Errorf("expected second interceptor to be called once, got %v", second.called) - } - if f.count != 0 { - t.Errorf("expected inner function to not be called, got %d", f.count) - } -} - -func TestInterceptedCRUDHandler_Diags_InnerHasError(t *testing.T) { - t.Parallel() - - expectedDiags := diag.Diagnostics{ - errs.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), - } - - first := mockInterceptor{} - second := mockInterceptor{} - interceptors := append( - first.Invocations(), - second.Invocations()..., - ) - - client := mockClient{ - accountID: "123456789012", - region: "us-west-2", //lintignore:AWSAT003 - } - - contextFunc := func(ctx context.Context, _ getAttributeFunc, meta any) (context.Context, error) { - return ctx, nil - } - - var f mockInnerFunc - f.diags = diag.Diagnostics{ - errs.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), - } - handler := interceptedCRUDHandler(contextFunc, interceptors, f.Call, Create) - - ctx := t.Context() - diags := handler(ctx, nil, client) - - if diff := cmp.Diff(diags, expectedDiags); diff != "" { - t.Errorf("unexpected diagnostics difference: %s", diff) - } - - if !slices.Equal(first.called, []when{Before, OnError, Finally}) { - t.Errorf("expected first interceptor to be called three times, got %v", first.called) - } - if !slices.Equal(second.called, []when{Before, OnError, Finally}) { - t.Errorf("expected second interceptor to be called three times, got %v", second.called) - } - if f.count != 1 { - t.Errorf("expected inner function to be called once, got %d", f.count) - } -} - -func TestInterceptedCRUDHandler_Diags_InnerHasWarning(t *testing.T) { - t.Parallel() - - expectedDiags := diag.Diagnostics{ - errs.NewWarningDiagnostic("Inner function warning", "A warning occurred in the inner function"), - } - - first := mockInterceptor{} - second := mockInterceptor{} - interceptors := append( - first.Invocations(), - second.Invocations()..., - ) - client := mockClient{ - accountID: "123456789012", - region: "us-west-2", //lintignore:AWSAT003 - } - - contextFunc := func(ctx context.Context, _ getAttributeFunc, meta any) (context.Context, error) { - return ctx, nil - } - - var f mockInnerFunc - f.diags = diag.Diagnostics{ - errs.NewWarningDiagnostic("Inner function warning", "A warning occurred in the inner function"), - } - handler := interceptedCRUDHandler(contextFunc, interceptors, f.Call, Create) - - ctx := t.Context() - diags := handler(ctx, nil, client) - - if diff := cmp.Diff(diags, expectedDiags); diff != "" { - t.Errorf("unexpected diagnostics difference: %s", diff) - } - - if !slices.Equal(first.called, []when{Before, After, Finally}) { - t.Errorf("expected first interceptor to be called three times, got %v", first.called) - } - if !slices.Equal(second.called, []when{Before, After, Finally}) { - t.Errorf("expected second interceptor to be called three times, got %v", second.called) - } - if f.count != 1 { - t.Errorf("expected inner function to be called once, got %d", f.count) - } -} - -func TestInterceptedCRUDHandler_Diags_InnerHasError_FirstHasBeforeWarning(t *testing.T) { - t.Parallel() - - expectedDiags := diag.Diagnostics{ - errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), - errs.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), - } - - first := newMockInterceptor(map[when]diag.Diagnostics{ - Before: { - errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + "First has Before warning Second has Before error": { + firstInterceptorDiags: map[when]diag.Diagnostics{ + Before: { + errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + }, + }, + secondInterceptorDiags: map[when]diag.Diagnostics{ + Before: { + errs.NewErrorDiagnostic("Second interceptor Before error", "An error occurred in the second interceptor Before handler"), + }, + }, + expectedFirstCalls: []when{Before}, + expectedSecondCalls: []when{Before}, + expectedInnerCalls: 0, + expectedDiags: diag.Diagnostics{ + errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + errs.NewErrorDiagnostic("Second interceptor Before error", "An error occurred in the second interceptor Before handler"), + }, }, - }) - second := newMockInterceptor(map[when]diag.Diagnostics{}) - - interceptors := append( - first.Invocations(), - second.Invocations()..., - ) - - client := mockClient{ - accountID: "123456789012", - region: "us-west-2", //lintignore:AWSAT003 - } - contextFunc := func(ctx context.Context, _ getAttributeFunc, meta any) (context.Context, error) { - return ctx, nil - } - - var f mockInnerFunc - f.diags = diag.Diagnostics{ - errs.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), - } - handler := interceptedCRUDHandler(contextFunc, interceptors, f.Call, Create) - - ctx := t.Context() - diags := handler(ctx, nil, client) - - if diff := cmp.Diff(diags, expectedDiags); diff != "" { - t.Errorf("unexpected diagnostics difference: %s", diff) - } - - if !slices.Equal(first.called, []when{Before, OnError, Finally}) { - t.Errorf("expected first interceptor to be called three times, got %v", first.called) - } - if !slices.Equal(second.called, []when{Before, OnError, Finally}) { - t.Errorf("expected second interceptor to be called three times, got %v", second.called) - } - if f.count != 1 { - t.Errorf("expected inner function to be called once, got %d", f.count) - } -} - -func TestInterceptedCRUDHandler_Diags_AllHaveWarnings(t *testing.T) { - t.Parallel() - - expectedDiags := diag.Diagnostics{ - errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), - errs.NewWarningDiagnostic("Second interceptor Before warning", "A warning occurred in the second interceptor Before handler"), - errs.NewWarningDiagnostic("Inner function warning", "A warning occurred in the inner function"), - errs.NewWarningDiagnostic("Second interceptor After warning", "A warning occurred in the second interceptor After handler"), - errs.NewWarningDiagnostic("First interceptor After warning", "A warning occurred in the first interceptor After handler"), - errs.NewWarningDiagnostic("Second interceptor Finally warning", "A warning occurred in the second interceptor Finally handler"), - errs.NewWarningDiagnostic("First interceptor Finally warning", "A warning occurred in the first interceptor Finally handler"), - } - - first := newMockInterceptor(map[when]diag.Diagnostics{ - Before: { - errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), - }, - After: { - errs.NewWarningDiagnostic("First interceptor After warning", "A warning occurred in the first interceptor After handler"), - }, - Finally: { - errs.NewWarningDiagnostic("First interceptor Finally warning", "A warning occurred in the first interceptor Finally handler"), - }, - }) - second := newMockInterceptor(map[when]diag.Diagnostics{ - Before: { - errs.NewWarningDiagnostic("Second interceptor Before warning", "A warning occurred in the second interceptor Before handler"), - }, - After: { - errs.NewWarningDiagnostic("Second interceptor After warning", "A warning occurred in the second interceptor After handler"), + "Inner has error": { + innerFuncDiags: diag.Diagnostics{ + errs.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), + }, + expectedFirstCalls: []when{Before, OnError, Finally}, + expectedSecondCalls: []when{Before, OnError, Finally}, + expectedInnerCalls: 1, + expectedDiags: diag.Diagnostics{ + errs.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), + }, }, - Finally: { - errs.NewWarningDiagnostic("Second interceptor Finally warning", "A warning occurred in the second interceptor Finally handler"), - }, - }) - interceptors := append( - first.Invocations(), - second.Invocations()..., - ) - - client := mockClient{ - accountID: "123456789012", - region: "us-west-2", //lintignore:AWSAT003 - } - - contextFunc := func(ctx context.Context, _ getAttributeFunc, meta any) (context.Context, error) { - return ctx, nil - } - - var f mockInnerFunc - f.diags = diag.Diagnostics{ - errs.NewWarningDiagnostic("Inner function warning", "A warning occurred in the inner function"), - } - handler := interceptedCRUDHandler(contextFunc, interceptors, f.Call, Create) - - ctx := t.Context() - diags := handler(ctx, nil, client) - - if diff := cmp.Diff(diags, expectedDiags); diff != "" { - t.Errorf("unexpected diagnostics difference: %s", diff) - } - - if !slices.Equal(first.called, []when{Before, After, Finally}) { - t.Errorf("expected first interceptor to be called three times, got %v", first.called) - } - if !slices.Equal(second.called, []when{Before, After, Finally}) { - t.Errorf("expected second interceptor to be called three times, got %v", second.called) - } - if f.count != 1 { - t.Errorf("expected inner function to be called once, got %d", f.count) - } -} - -func TestInterceptedCRUDHandler_Diags_InnerHasError_HandlersHaveWarnings(t *testing.T) { - t.Parallel() - - expectedDiags := diag.Diagnostics{ - errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), - errs.NewWarningDiagnostic("Second interceptor Before warning", "A warning occurred in the second interceptor Before handler"), - errs.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), - errs.NewWarningDiagnostic("Second interceptor OnError warning", "A warning occurred in the second interceptor OnError handler"), - errs.NewWarningDiagnostic("First interceptor OnError warning", "A warning occurred in the first interceptor OnError handler"), - errs.NewWarningDiagnostic("Second interceptor Finally warning", "A warning occurred in the second interceptor Finally handler"), - errs.NewWarningDiagnostic("First interceptor Finally warning", "A warning occurred in the first interceptor Finally handler"), - } - first := newMockInterceptor(map[when]diag.Diagnostics{ - Before: { - errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), - }, - OnError: { - errs.NewWarningDiagnostic("First interceptor OnError warning", "A warning occurred in the first interceptor OnError handler"), - }, - Finally: { - errs.NewWarningDiagnostic("First interceptor Finally warning", "A warning occurred in the first interceptor Finally handler"), - }, - }) - second := newMockInterceptor(map[when]diag.Diagnostics{ - Before: { - errs.NewWarningDiagnostic("Second interceptor Before warning", "A warning occurred in the second interceptor Before handler"), - }, - OnError: { - errs.NewWarningDiagnostic("Second interceptor OnError warning", "A warning occurred in the second interceptor OnError handler"), + "Inner has warning": { + innerFuncDiags: diag.Diagnostics{ + errs.NewWarningDiagnostic("Inner function warning", "A warning occurred in the inner function"), + }, + expectedFirstCalls: []when{Before, After, Finally}, + expectedSecondCalls: []when{Before, After, Finally}, + expectedInnerCalls: 1, + expectedDiags: diag.Diagnostics{ + errs.NewWarningDiagnostic("Inner function warning", "A warning occurred in the inner function"), + }, }, - Finally: { - errs.NewWarningDiagnostic("Second interceptor Finally warning", "A warning occurred in the second interceptor Finally handler"), - }, - }) - interceptors := append( - first.Invocations(), - second.Invocations()..., - ) - - client := mockClient{ - accountID: "123456789012", - region: "us-west-2", //lintignore:AWSAT003 - } - contextFunc := func(ctx context.Context, _ getAttributeFunc, meta any) (context.Context, error) { - return ctx, nil - } - - var f mockInnerFunc - f.diags = diag.Diagnostics{ - errs.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), - } - handler := interceptedCRUDHandler(contextFunc, interceptors, f.Call, Create) + "Inner has error First has Before warning": { + firstInterceptorDiags: map[when]diag.Diagnostics{ + Before: { + errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + }, + }, + innerFuncDiags: diag.Diagnostics{ + errs.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), + }, + expectedFirstCalls: []when{Before, OnError, Finally}, + expectedSecondCalls: []when{Before, OnError, Finally}, + expectedInnerCalls: 1, + expectedDiags: diag.Diagnostics{ + errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + errs.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), + }, + }, - ctx := t.Context() - diags := handler(ctx, nil, client) + "All have warnings": { + firstInterceptorDiags: map[when]diag.Diagnostics{ + Before: { + errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + }, + After: { + errs.NewWarningDiagnostic("First interceptor After warning", "A warning occurred in the first interceptor After handler"), + }, + Finally: { + errs.NewWarningDiagnostic("First interceptor Finally warning", "A warning occurred in the first interceptor Finally handler"), + }, + }, + secondInterceptorDiags: map[when]diag.Diagnostics{ + Before: { + errs.NewWarningDiagnostic("Second interceptor Before warning", "A warning occurred in the second interceptor Before handler"), + }, + After: { + errs.NewWarningDiagnostic("Second interceptor After warning", "A warning occurred in the second interceptor After handler"), + }, + Finally: { + errs.NewWarningDiagnostic("Second interceptor Finally warning", "A warning occurred in the second interceptor Finally handler"), + }, + }, + innerFuncDiags: diag.Diagnostics{ + errs.NewWarningDiagnostic("Inner function warning", "A warning occurred in the inner function"), + }, + expectedFirstCalls: []when{Before, After, Finally}, + expectedSecondCalls: []when{Before, After, Finally}, + expectedInnerCalls: 1, + expectedDiags: diag.Diagnostics{ + errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + errs.NewWarningDiagnostic("Second interceptor Before warning", "A warning occurred in the second interceptor Before handler"), + errs.NewWarningDiagnostic("Inner function warning", "A warning occurred in the inner function"), + errs.NewWarningDiagnostic("Second interceptor After warning", "A warning occurred in the second interceptor After handler"), + errs.NewWarningDiagnostic("First interceptor After warning", "A warning occurred in the first interceptor After handler"), + errs.NewWarningDiagnostic("Second interceptor Finally warning", "A warning occurred in the second interceptor Finally handler"), + errs.NewWarningDiagnostic("First interceptor Finally warning", "A warning occurred in the first interceptor Finally handler"), + }, + }, - if diff := cmp.Diff(diags, expectedDiags); diff != "" { - t.Errorf("unexpected diagnostics difference: %s", diff) + "Inner has error Handlers have warnings": { + firstInterceptorDiags: map[when]diag.Diagnostics{ + Before: { + errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + }, + OnError: { + errs.NewWarningDiagnostic("First interceptor OnError warning", "A warning occurred in the first interceptor OnError handler"), + }, + Finally: { + errs.NewWarningDiagnostic("First interceptor Finally warning", "A warning occurred in the first interceptor Finally handler"), + }, + }, + secondInterceptorDiags: map[when]diag.Diagnostics{ + Before: { + errs.NewWarningDiagnostic("Second interceptor Before warning", "A warning occurred in the second interceptor Before handler"), + }, + OnError: { + errs.NewWarningDiagnostic("Second interceptor OnError warning", "A warning occurred in the second interceptor OnError handler"), + }, + Finally: { + errs.NewWarningDiagnostic("Second interceptor Finally warning", "A warning occurred in the second interceptor Finally handler"), + }, + }, + innerFuncDiags: diag.Diagnostics{ + errs.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), + }, + expectedFirstCalls: []when{Before, OnError, Finally}, + expectedSecondCalls: []when{Before, OnError, Finally}, + expectedInnerCalls: 1, + expectedDiags: diag.Diagnostics{ + errs.NewWarningDiagnostic("First interceptor Before warning", "A warning occurred in the first interceptor Before handler"), + errs.NewWarningDiagnostic("Second interceptor Before warning", "A warning occurred in the second interceptor Before handler"), + errs.NewErrorDiagnostic("Inner function error", "An error occurred in the inner function"), + errs.NewWarningDiagnostic("Second interceptor OnError warning", "A warning occurred in the second interceptor OnError handler"), + errs.NewWarningDiagnostic("First interceptor OnError warning", "A warning occurred in the first interceptor OnError handler"), + errs.NewWarningDiagnostic("Second interceptor Finally warning", "A warning occurred in the second interceptor Finally handler"), + errs.NewWarningDiagnostic("First interceptor Finally warning", "A warning occurred in the first interceptor Finally handler"), + }, + }, } - if !slices.Equal(first.called, []when{Before, OnError, Finally}) { - t.Errorf("expected first interceptor to be called three times, got %v", first.called) - } - if !slices.Equal(second.called, []when{Before, OnError, Finally}) { - t.Errorf("expected second interceptor to be called three times, got %v", second.called) - } - if f.count != 1 { - t.Errorf("expected inner function to be called once, got %d", f.count) + for name, tc := range testcases { + t.Run(name, func(t *testing.T) { + t.Parallel() + + first := newMockInterceptor(tc.firstInterceptorDiags) + second := newMockInterceptor(tc.secondInterceptorDiags) + interceptors := append( + first.Invocations(), + second.Invocations()..., + ) + + f := newMockInnerFunc(tc.innerFuncDiags) + + handler := interceptedCRUDHandler(contextFunc, interceptors, f.Call, Create) + + ctx := t.Context() + diags := handler(ctx, nil, client) + + if diff := cmp.Diff(diags, tc.expectedDiags); diff != "" { + t.Errorf("unexpected diagnostics difference: %s", diff) + } + + if diff := cmp.Diff(first.called, tc.expectedFirstCalls); diff != "" { + t.Errorf("unexpected first interceptor calls difference: %s", diff) + } + if diff := cmp.Diff(second.called, tc.expectedSecondCalls); diff != "" { + t.Errorf("unexpected second interceptor calls difference: %s", diff) + } + if tc.expectedInnerCalls == 0 { + if f.count != 0 { + t.Errorf("expected inner function to not be called, got %d", f.count) + } + } else { + if f.count != tc.expectedInnerCalls { + t.Errorf("expected inner function to be called %d times, got %d", tc.expectedInnerCalls, f.count) + } + } + }) } } @@ -605,6 +326,9 @@ type mockInterceptor struct { } func newMockInterceptor(diags map[when]diag.Diagnostics) *mockInterceptor { + if diags == nil { + diags = make(map[when]diag.Diagnostics) + } return &mockInterceptor{ diags: diags, } @@ -632,6 +356,12 @@ type mockInnerFunc struct { count int } +func newMockInnerFunc(diags diag.Diagnostics) mockInnerFunc { + return mockInnerFunc{ + diags: diags, + } +} + func (m *mockInnerFunc) Call(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics { m.count++ return m.diags From 9d65908f991f6960d687e58669e33a812450ac7b Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 11 Aug 2025 14:35:51 -0700 Subject: [PATCH 1154/1301] Renames `mockInnerFunc` to `mockInnerCRUDFunc` --- internal/provider/sdkv2/intercept_test.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/provider/sdkv2/intercept_test.go b/internal/provider/sdkv2/intercept_test.go index 5dcd320a5eba..08bc8bb1c915 100644 --- a/internal/provider/sdkv2/intercept_test.go +++ b/internal/provider/sdkv2/intercept_test.go @@ -290,7 +290,7 @@ func TestInterceptedCRUDHandler(t *testing.T) { second.Invocations()..., ) - f := newMockInnerFunc(tc.innerFuncDiags) + f := newMockInnerCRUDFunc(tc.innerFuncDiags) handler := interceptedCRUDHandler(contextFunc, interceptors, f.Call, Create) @@ -351,18 +351,18 @@ func (m *mockInterceptor) interceptor() crudInterceptor { }) } -type mockInnerFunc struct { +type mockInnerCRUDFunc struct { diags diag.Diagnostics count int } -func newMockInnerFunc(diags diag.Diagnostics) mockInnerFunc { - return mockInnerFunc{ +func newMockInnerCRUDFunc(diags diag.Diagnostics) mockInnerCRUDFunc { + return mockInnerCRUDFunc{ diags: diags, } } -func (m *mockInnerFunc) Call(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics { +func (m *mockInnerCRUDFunc) Call(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics { m.count++ return m.diags } From 1b3d2c2f23ccedd59e5145b3e9ce60b43ae23f5a Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 11 Aug 2025 15:16:31 -0700 Subject: [PATCH 1155/1301] Accepts `awsClient` instead of `*conns.AWSClient` in `customizeDiffInterceptorOptions` --- internal/provider/sdkv2/intercept.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/provider/sdkv2/intercept.go b/internal/provider/sdkv2/intercept.go index 8462b0c777ab..963dc1145f5f 100644 --- a/internal/provider/sdkv2/intercept.go +++ b/internal/provider/sdkv2/intercept.go @@ -243,7 +243,7 @@ func interceptedCustomizeDiffHandler(bootstrapContext contextFunc, interceptorIn for _, v := range forward { if v.when&when != 0 { opts := customizeDiffInterceptorOptions{ - c: meta.(*conns.AWSClient), + c: meta.(awsClient), d: d, when: when, why: why, @@ -270,7 +270,7 @@ func interceptedCustomizeDiffHandler(bootstrapContext contextFunc, interceptorIn for _, v := range reverse { if v.when&when != 0 { opts := customizeDiffInterceptorOptions{ - c: meta.(*conns.AWSClient), + c: meta.(awsClient), d: d, when: when, why: why, @@ -285,7 +285,7 @@ func interceptedCustomizeDiffHandler(bootstrapContext contextFunc, interceptorIn for _, v := range reverse { if v.when&when != 0 { opts := customizeDiffInterceptorOptions{ - c: meta.(*conns.AWSClient), + c: meta.(awsClient), d: d, when: when, why: why, From aec801964a192e0fbc1080b58d3aec4e9e622dad Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 11 Aug 2025 15:17:23 -0700 Subject: [PATCH 1156/1301] Renames `mockInterceptor` to `mockCRUDInterceptor` --- internal/provider/sdkv2/intercept_test.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/internal/provider/sdkv2/intercept_test.go b/internal/provider/sdkv2/intercept_test.go index 08bc8bb1c915..e6fdf9bfb92d 100644 --- a/internal/provider/sdkv2/intercept_test.go +++ b/internal/provider/sdkv2/intercept_test.go @@ -283,8 +283,8 @@ func TestInterceptedCRUDHandler(t *testing.T) { t.Run(name, func(t *testing.T) { t.Parallel() - first := newMockInterceptor(tc.firstInterceptorDiags) - second := newMockInterceptor(tc.secondInterceptorDiags) + first := newMockCRUDInterceptor(tc.firstInterceptorDiags) + second := newMockCRUDInterceptor(tc.secondInterceptorDiags) interceptors := append( first.Invocations(), second.Invocations()..., @@ -320,21 +320,21 @@ func TestInterceptedCRUDHandler(t *testing.T) { } } -type mockInterceptor struct { +type mockCRUDInterceptor struct { diags map[when]diag.Diagnostics called []when } -func newMockInterceptor(diags map[when]diag.Diagnostics) *mockInterceptor { +func newMockCRUDInterceptor(diags map[when]diag.Diagnostics) *mockCRUDInterceptor { if diags == nil { diags = make(map[when]diag.Diagnostics) } - return &mockInterceptor{ + return &mockCRUDInterceptor{ diags: diags, } } -func (m *mockInterceptor) Invocations() interceptorInvocations { +func (m *mockCRUDInterceptor) Invocations() interceptorInvocations { return interceptorInvocations{ { why: AllCRUDOps, @@ -344,7 +344,7 @@ func (m *mockInterceptor) Invocations() interceptorInvocations { } } -func (m *mockInterceptor) interceptor() crudInterceptor { +func (m *mockCRUDInterceptor) interceptor() crudInterceptor { return crudInterceptorFunc(func(ctx context.Context, opts crudInterceptorOptions) diag.Diagnostics { m.called = append(m.called, opts.when) return m.diags[opts.when] From b6808a232af05e2b63ebfb5a2c7bc225bacdbc5e Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 11 Aug 2025 17:00:04 -0700 Subject: [PATCH 1157/1301] Adds tests for `interceptedCustomizeDiffHandler` --- internal/provider/sdkv2/intercept_test.go | 187 +++++++++++++++++++++- 1 file changed, 186 insertions(+), 1 deletion(-) diff --git a/internal/provider/sdkv2/intercept_test.go b/internal/provider/sdkv2/intercept_test.go index e6fdf9bfb92d..b253b80ea5e2 100644 --- a/internal/provider/sdkv2/intercept_test.go +++ b/internal/provider/sdkv2/intercept_test.go @@ -5,6 +5,7 @@ package sdkv2 import ( "context" + "errors" "testing" "github.com/google/go-cmp/cmp" @@ -14,7 +15,8 @@ import ( ) type ( - crudInterceptorFunc = interceptorFunc1[schemaResourceData, diag.Diagnostics] + crudInterceptorFunc = interceptorFunc1[schemaResourceData, diag.Diagnostics] + customizeDiffInterceptorFunc = interceptorFunc1[*schema.ResourceDiff, error] ) func TestInterceptorsWhy(t *testing.T) { @@ -366,3 +368,186 @@ func (m *mockInnerCRUDFunc) Call(ctx context.Context, d *schema.ResourceData, me m.count++ return m.diags } + +func TestInterceptedCustomizeDiffHandler(t *testing.T) { + t.Parallel() + + client := mockClient{ + accountID: "123456789012", + region: "us-west-2", //lintignore:AWSAT003 + } + + contextFunc := func(ctx context.Context, _ getAttributeFunc, meta any) (context.Context, error) { + return ctx, nil + } + + testcases := map[string]struct { + firstInterceptorErrors map[when]error + secondInterceptorErrors map[when]error + innerFuncError error + expectedFirstCalls []when + expectedSecondCalls []when + expectedInnerCalls int + expectedError error + }{ + "First has Before error": { + firstInterceptorErrors: map[when]error{ + Before: errors.New("First interceptor Before error"), + }, + expectedFirstCalls: []when{Before}, + expectedInnerCalls: 0, + expectedError: errors.New("First interceptor Before error"), + }, + + "Second has Before error": { + secondInterceptorErrors: map[when]error{ + Before: errors.New("Second interceptor Before error"), + }, + expectedFirstCalls: []when{Before}, + expectedSecondCalls: []when{Before}, + expectedInnerCalls: 0, + expectedError: errors.New("Second interceptor Before error"), + }, + + "Inner has error": { + innerFuncError: errors.New("Inner function error"), + expectedFirstCalls: []when{Before, OnError, Finally}, + expectedSecondCalls: []when{Before, OnError, Finally}, + expectedInnerCalls: 1, + expectedError: errors.Join( + errors.New("Inner function error"), + ), + }, + + "All have errors": { + firstInterceptorErrors: map[when]error{ + OnError: errors.New("First interceptor OnError error"), + Finally: errors.New("First interceptor Finally error"), + }, + secondInterceptorErrors: map[when]error{ + OnError: errors.New("Second interceptor OnError error"), + Finally: errors.New("Second interceptor Finally error"), + }, + innerFuncError: errors.New("Inner function error"), + expectedFirstCalls: []when{Before, OnError, Finally}, + expectedSecondCalls: []when{Before, OnError, Finally}, + expectedInnerCalls: 1, + expectedError: errors.Join( + errors.New("Inner function error"), + errors.New("Second interceptor OnError error"), + errors.New("First interceptor OnError error"), + errors.New("Second interceptor Finally error"), + errors.New("First interceptor Finally error"), + ), + }, + + "Handlers have errors": { + firstInterceptorErrors: map[when]error{ + After: errors.New("First interceptor After error"), + Finally: errors.New("First interceptor Finally error"), + }, + secondInterceptorErrors: map[when]error{ + After: errors.New("Second interceptor After error"), + Finally: errors.New("Second interceptor Finally error"), + }, + expectedFirstCalls: []when{Before, After, Finally}, + expectedSecondCalls: []when{Before, After, Finally}, + expectedInnerCalls: 1, + expectedError: errors.Join( + errors.New("Second interceptor After error"), + errors.New("First interceptor After error"), + errors.New("Second interceptor Finally error"), + errors.New("First interceptor Finally error"), + ), + }, + } + + for name, tc := range testcases { + t.Run(name, func(t *testing.T) { + t.Parallel() + + first := newMockCustomizeDiffInterceptor(tc.firstInterceptorErrors) + second := newMockCustomizeDiffInterceptor(tc.secondInterceptorErrors) + interceptors := append( + first.Invocations(), + second.Invocations()..., + ) + + f := newMockInnerCustomizeDiffFunc(tc.innerFuncError) + + handler := interceptedCustomizeDiffHandler(contextFunc, interceptors, f.Call) + + ctx := t.Context() + err := handler(ctx, nil, client) + + if diff := cmp.Diff(err, tc.expectedError, cmp.Comparer(func(x, y error) bool { + return x.Error() == y.Error() + })); diff != "" { + t.Errorf("unexpected error difference: %s", diff) + } + + if diff := cmp.Diff(first.called, tc.expectedFirstCalls); diff != "" { + t.Errorf("unexpected first interceptor calls difference: %s", diff) + } + if diff := cmp.Diff(second.called, tc.expectedSecondCalls); diff != "" { + t.Errorf("unexpected second interceptor calls difference: %s", diff) + } + if tc.expectedInnerCalls == 0 { + if f.count != 0 { + t.Errorf("expected inner function to not be called, got %d", f.count) + } + } else { + if f.count != tc.expectedInnerCalls { + t.Errorf("expected inner function to be called %d times, got %d", tc.expectedInnerCalls, f.count) + } + } + }) + } +} + +type mockCustomizeDiffInterceptor struct { + errors map[when]error + called []when +} + +func newMockCustomizeDiffInterceptor(errors map[when]error) *mockCustomizeDiffInterceptor { + if errors == nil { + errors = make(map[when]error) + } + return &mockCustomizeDiffInterceptor{ + errors: errors, + } +} + +func (m *mockCustomizeDiffInterceptor) Invocations() interceptorInvocations { + return interceptorInvocations{ + { + why: CustomizeDiff, + when: Before | After | OnError | Finally, + interceptor: m.interceptor(), + }, + } +} + +func (m *mockCustomizeDiffInterceptor) interceptor() customizeDiffInterceptor { + return customizeDiffInterceptorFunc(func(ctx context.Context, opts customizeDiffInterceptorOptions) error { + m.called = append(m.called, opts.when) + return m.errors[opts.when] + }) +} + +type mockInnerCustomizeDiffFunc struct { + err error + count int +} + +func newMockInnerCustomizeDiffFunc(err error) mockInnerCustomizeDiffFunc { + return mockInnerCustomizeDiffFunc{ + err: err, + } +} + +func (m *mockInnerCustomizeDiffFunc) Call(ctx context.Context, d *schema.ResourceDiff, meta any) error { + m.count++ + return m.err +} From 2808ebff21bc962d400275f7aa066547b123c968 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 11 Aug 2025 17:05:10 -0700 Subject: [PATCH 1158/1301] Iterates over `interceptors` --- internal/provider/sdkv2/intercept.go | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/internal/provider/sdkv2/intercept.go b/internal/provider/sdkv2/intercept.go index 963dc1145f5f..06c971c7dc15 100644 --- a/internal/provider/sdkv2/intercept.go +++ b/internal/provider/sdkv2/intercept.go @@ -227,11 +227,10 @@ func interceptedCustomizeDiffHandler(bootstrapContext contextFunc, interceptorIn why := CustomizeDiff - // Before interceptors are run first to last. - forward := make([]customizeDiffInterceptorInvocation, 0) + var interceptors []customizeDiffInterceptorInvocation for _, v := range interceptorInvocations.why(why) { if interceptor, ok := v.interceptor.(customizeDiffInterceptor); ok { - forward = append(forward, customizeDiffInterceptorInvocation{ + interceptors = append(interceptors, customizeDiffInterceptorInvocation{ when: v.when, why: v.why, interceptor: interceptor, @@ -239,8 +238,9 @@ func interceptedCustomizeDiffHandler(bootstrapContext contextFunc, interceptorIn } } + // Before interceptors are run first to last. when := Before - for _, v := range forward { + for v := range slices.Values(interceptors) { if v.when&when != 0 { opts := customizeDiffInterceptorOptions{ c: meta.(awsClient), @@ -255,8 +255,6 @@ func interceptedCustomizeDiffHandler(bootstrapContext contextFunc, interceptorIn } } - // All other interceptors are run last to first. - reverse := tfslices.Reverse(forward) var errs []error when = After @@ -267,7 +265,8 @@ func interceptedCustomizeDiffHandler(bootstrapContext contextFunc, interceptorIn } } - for _, v := range reverse { + // All other interceptors are run last to first. + for v := range tfslices.BackwardValues(interceptors) { if v.when&when != 0 { opts := customizeDiffInterceptorOptions{ c: meta.(awsClient), @@ -282,7 +281,7 @@ func interceptedCustomizeDiffHandler(bootstrapContext contextFunc, interceptorIn } when = Finally - for _, v := range reverse { + for v := range tfslices.BackwardValues(interceptors) { if v.when&when != 0 { opts := customizeDiffInterceptorOptions{ c: meta.(awsClient), From 496114d5aed5dce67fca215026014305487a3482 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 11 Aug 2025 17:08:50 -0700 Subject: [PATCH 1159/1301] Simplifies `opts` --- internal/provider/sdkv2/intercept.go | 38 ++++++++++------------------ 1 file changed, 13 insertions(+), 25 deletions(-) diff --git a/internal/provider/sdkv2/intercept.go b/internal/provider/sdkv2/intercept.go index 06c971c7dc15..29f7ddd4824b 100644 --- a/internal/provider/sdkv2/intercept.go +++ b/internal/provider/sdkv2/intercept.go @@ -238,16 +238,16 @@ func interceptedCustomizeDiffHandler(bootstrapContext contextFunc, interceptorIn } } + opts := customizeDiffInterceptorOptions{ + c: meta.(awsClient), + d: d, + why: why, + } + // Before interceptors are run first to last. - when := Before + opts.when = Before for v := range slices.Values(interceptors) { - if v.when&when != 0 { - opts := customizeDiffInterceptorOptions{ - c: meta.(awsClient), - d: d, - when: when, - why: why, - } + if v.when&opts.when != 0 { // Short circuit if any Before interceptor errors. if err := v.interceptor.run(ctx, opts); err != nil { return err @@ -257,38 +257,26 @@ func interceptedCustomizeDiffHandler(bootstrapContext contextFunc, interceptorIn var errs []error - when = After + opts.when = After if f != nil { if err := f(ctx, d, meta); err != nil { - when = OnError + opts.when = OnError errs = append(errs, err) } } // All other interceptors are run last to first. for v := range tfslices.BackwardValues(interceptors) { - if v.when&when != 0 { - opts := customizeDiffInterceptorOptions{ - c: meta.(awsClient), - d: d, - when: when, - why: why, - } + if v.when&opts.when != 0 { if err := v.interceptor.run(ctx, opts); err != nil { errs = append(errs, err) } } } - when = Finally + opts.when = Finally for v := range tfslices.BackwardValues(interceptors) { - if v.when&when != 0 { - opts := customizeDiffInterceptorOptions{ - c: meta.(awsClient), - d: d, - when: when, - why: why, - } + if v.when&opts.when != 0 { if err := v.interceptor.run(ctx, opts); err != nil { errs = append(errs, err) } From 567a1a5bccf64e969ebd31b0e4e9b655f5f32f55 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 11 Aug 2025 17:24:25 -0700 Subject: [PATCH 1160/1301] Accepts `awsClient` instead of `*conns.AWSClient` in `importInterceptorOptions` --- internal/provider/sdkv2/intercept.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/provider/sdkv2/intercept.go b/internal/provider/sdkv2/intercept.go index 29f7ddd4824b..f59eeca0bc52 100644 --- a/internal/provider/sdkv2/intercept.go +++ b/internal/provider/sdkv2/intercept.go @@ -318,7 +318,7 @@ func interceptedImportHandler(bootstrapContext contextFunc, interceptorInvocatio for _, v := range forward { if v.when&when != 0 { opts := importInterceptorOptions{ - c: meta.(*conns.AWSClient), + c: meta.(awsClient), d: d, when: when, why: why, @@ -345,7 +345,7 @@ func interceptedImportHandler(bootstrapContext contextFunc, interceptorInvocatio for _, v := range reverse { if v.when&when != 0 { opts := importInterceptorOptions{ - c: meta.(*conns.AWSClient), + c: meta.(awsClient), d: d, when: when, why: why, @@ -360,7 +360,7 @@ func interceptedImportHandler(bootstrapContext contextFunc, interceptorInvocatio for _, v := range reverse { if v.when&when != 0 { opts := importInterceptorOptions{ - c: meta.(*conns.AWSClient), + c: meta.(awsClient), d: d, when: when, why: why, From c6ca629d2b7dbf53e2647c81b3730ac275a8351b Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 11 Aug 2025 17:24:57 -0700 Subject: [PATCH 1161/1301] Adds tests for `interceptedImportHandler` --- internal/provider/sdkv2/intercept_test.go | 184 ++++++++++++++++++++++ 1 file changed, 184 insertions(+) diff --git a/internal/provider/sdkv2/intercept_test.go b/internal/provider/sdkv2/intercept_test.go index b253b80ea5e2..2ffa821eb431 100644 --- a/internal/provider/sdkv2/intercept_test.go +++ b/internal/provider/sdkv2/intercept_test.go @@ -17,6 +17,7 @@ import ( type ( crudInterceptorFunc = interceptorFunc1[schemaResourceData, diag.Diagnostics] customizeDiffInterceptorFunc = interceptorFunc1[*schema.ResourceDiff, error] + importInterceptorFunc = interceptorFunc2[*schema.ResourceData, []*schema.ResourceData, error] ) func TestInterceptorsWhy(t *testing.T) { @@ -551,3 +552,186 @@ func (m *mockInnerCustomizeDiffFunc) Call(ctx context.Context, d *schema.Resourc m.count++ return m.err } + +func TestInterceptedImportHandler(t *testing.T) { + t.Parallel() + + client := mockClient{ + accountID: "123456789012", + region: "us-west-2", //lintignore:AWSAT003 + } + + contextFunc := func(ctx context.Context, _ getAttributeFunc, meta any) (context.Context, error) { + return ctx, nil + } + + testcases := map[string]struct { + firstInterceptorErrors map[when]error + secondInterceptorErrors map[when]error + innerFuncError error + expectedFirstCalls []when + expectedSecondCalls []when + expectedInnerCalls int + expectedError error + }{ + "First has Before error": { + firstInterceptorErrors: map[when]error{ + Before: errors.New("First interceptor Before error"), + }, + expectedFirstCalls: []when{Before}, + expectedInnerCalls: 0, + expectedError: errors.New("First interceptor Before error"), + }, + + "Second has Before error": { + secondInterceptorErrors: map[when]error{ + Before: errors.New("Second interceptor Before error"), + }, + expectedFirstCalls: []when{Before}, + expectedSecondCalls: []when{Before}, + expectedInnerCalls: 0, + expectedError: errors.New("Second interceptor Before error"), + }, + + "Inner has error": { + innerFuncError: errors.New("Inner function error"), + expectedFirstCalls: []when{Before, OnError, Finally}, + expectedSecondCalls: []when{Before, OnError, Finally}, + expectedInnerCalls: 1, + expectedError: errors.Join( + errors.New("Inner function error"), + ), + }, + + "All have errors": { + firstInterceptorErrors: map[when]error{ + OnError: errors.New("First interceptor OnError error"), + Finally: errors.New("First interceptor Finally error"), + }, + secondInterceptorErrors: map[when]error{ + OnError: errors.New("Second interceptor OnError error"), + Finally: errors.New("Second interceptor Finally error"), + }, + innerFuncError: errors.New("Inner function error"), + expectedFirstCalls: []when{Before, OnError, Finally}, + expectedSecondCalls: []when{Before, OnError, Finally}, + expectedInnerCalls: 1, + expectedError: errors.Join( + errors.New("Inner function error"), + errors.New("Second interceptor OnError error"), + errors.New("First interceptor OnError error"), + errors.New("Second interceptor Finally error"), + errors.New("First interceptor Finally error"), + ), + }, + + "Handlers have errors": { + firstInterceptorErrors: map[when]error{ + After: errors.New("First interceptor After error"), + Finally: errors.New("First interceptor Finally error"), + }, + secondInterceptorErrors: map[when]error{ + After: errors.New("Second interceptor After error"), + Finally: errors.New("Second interceptor Finally error"), + }, + expectedFirstCalls: []when{Before, After, Finally}, + expectedSecondCalls: []when{Before, After, Finally}, + expectedInnerCalls: 1, + expectedError: errors.Join( + errors.New("Second interceptor After error"), + errors.New("First interceptor After error"), + errors.New("Second interceptor Finally error"), + errors.New("First interceptor Finally error"), + ), + }, + } + + for name, tc := range testcases { + t.Run(name, func(t *testing.T) { + t.Parallel() + + first := newMockImportInterceptor(tc.firstInterceptorErrors) + second := newMockImportInterceptor(tc.secondInterceptorErrors) + interceptors := append( + first.Invocations(), + second.Invocations()..., + ) + + f := newMockInnerImportFunc(tc.innerFuncError) + + handler := interceptedImportHandler(contextFunc, interceptors, f.Call) + + ctx := t.Context() + _, err := handler(ctx, nil, client) + + if diff := cmp.Diff(err, tc.expectedError, cmp.Comparer(func(x, y error) bool { + return x.Error() == y.Error() + })); diff != "" { + t.Errorf("unexpected error difference: %s", diff) + } + + if diff := cmp.Diff(first.called, tc.expectedFirstCalls); diff != "" { + t.Errorf("unexpected first interceptor calls difference: %s", diff) + } + if diff := cmp.Diff(second.called, tc.expectedSecondCalls); diff != "" { + t.Errorf("unexpected second interceptor calls difference: %s", diff) + } + if tc.expectedInnerCalls == 0 { + if f.count != 0 { + t.Errorf("expected inner function to not be called, got %d", f.count) + } + } else { + if f.count != tc.expectedInnerCalls { + t.Errorf("expected inner function to be called %d times, got %d", tc.expectedInnerCalls, f.count) + } + } + }) + } +} + +type mockImportInterceptor struct { + errors map[when]error + called []when +} + +func newMockImportInterceptor(errors map[when]error) *mockImportInterceptor { + if errors == nil { + errors = make(map[when]error) + } + return &mockImportInterceptor{ + errors: errors, + } +} + +func (m *mockImportInterceptor) Invocations() interceptorInvocations { + return interceptorInvocations{ + { + why: Import, + when: Before | After | OnError | Finally, + interceptor: m.interceptor(), + }, + } +} + +func (m *mockImportInterceptor) interceptor() importInterceptor { + return importInterceptorFunc(func(ctx context.Context, opts importInterceptorOptions) ([]*schema.ResourceData, error) { + m.called = append(m.called, opts.when) + return nil, m.errors[opts.when] + }) +} + +type mockInnerImportFunc struct { + err error + count int +} + +func newMockInnerImportFunc(err error) mockInnerImportFunc { + return mockInnerImportFunc{ + err: err, + } +} + +func (m *mockInnerImportFunc) Call(ctx context.Context, d *schema.ResourceData, meta any) ([]*schema.ResourceData, error) { + m.count++ + return nil, m.err +} From a2292e5e36a411b5215cafb3f369adfd94205d15 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 15:07:38 -0400 Subject: [PATCH 1162/1301] Add 'TestAccAppSyncChannelNamespace_update'. --- .../service/appsync/channel_namespace_test.go | 193 ++++++++++++++++++ 1 file changed, 193 insertions(+) diff --git a/internal/service/appsync/channel_namespace_test.go b/internal/service/appsync/channel_namespace_test.go index 06127678be8e..37ae0c7fd1e4 100644 --- a/internal/service/appsync/channel_namespace_test.go +++ b/internal/service/appsync/channel_namespace_test.go @@ -106,6 +106,149 @@ func TestAccAppSyncChannelNamespace_disappears(t *testing.T) { }) } +func TestAccAppSyncChannelNamespace_update(t *testing.T) { + ctx := acctest.Context(t) + var v awstypes.ChannelNamespace + rName := fmt.Sprintf("tfacctest%d", sdkacctest.RandInt()) + resourceName := "aws_appsync_channel_namespace.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { + acctest.PreCheck(ctx, t) + acctest.PreCheckPartitionHasService(t, names.AppSyncEndpointID) + testAccPreCheck(ctx, t) + }, + ErrorCheck: acctest.ErrorCheck(t, names.AppSyncServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckChannelNamespaceDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccChannelNamespaceConfig_comprehensive(rName, awstypes.InvokeTypeEvent), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("api_id"), knownvalue.NotNull()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("channel_namespace_arn"), tfknownvalue.RegionalARNRegexp("appsync", regexache.MustCompile(`apis/.+/channelNamespace/.+`))), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("code_handlers"), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("handler_configs"), knownvalue.ListExact([]knownvalue.Check{ + knownvalue.MapExact(map[string]knownvalue.Check{ + "on_publish": knownvalue.ListExact([]knownvalue.Check{ + knownvalue.MapExact(map[string]knownvalue.Check{ + "behavior": tfknownvalue.StringExact(awstypes.HandlerBehaviorDirect), + "integration": knownvalue.ListExact([]knownvalue.Check{ + knownvalue.MapExact(map[string]knownvalue.Check{ + "data_source_name": knownvalue.StringExact(rName), + "lambda_config": knownvalue.ListSizeExact(0), + }), + }), + }), + }), + "on_subscribe": knownvalue.ListExact([]knownvalue.Check{ + knownvalue.MapExact(map[string]knownvalue.Check{ + "behavior": tfknownvalue.StringExact(awstypes.HandlerBehaviorDirect), + "integration": knownvalue.ListExact([]knownvalue.Check{ + knownvalue.MapExact(map[string]knownvalue.Check{ + "data_source_name": knownvalue.StringExact(rName), + "lambda_config": knownvalue.ListExact([]knownvalue.Check{ + knownvalue.MapExact(map[string]knownvalue.Check{ + "invoke_type": tfknownvalue.StringExact(awstypes.InvokeTypeEvent), + }), + }), + }), + }), + }), + }), + }), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrName), knownvalue.StringExact(rName)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("publish_auth_mode"), knownvalue.ListExact([]knownvalue.Check{ + knownvalue.MapExact(map[string]knownvalue.Check{ + "auth_type": tfknownvalue.StringExact(awstypes.AuthenticationTypeApiKey), + }), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("subscribe_auth_mode"), knownvalue.ListExact([]knownvalue.Check{ + knownvalue.MapExact(map[string]knownvalue.Check{ + "auth_type": tfknownvalue.StringExact(awstypes.AuthenticationTypeApiKey), + }), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + }, + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateIdFunc: testAccChannelNamespaceImportStateID(resourceName), + ImportStateVerifyIdentifierAttribute: names.AttrName, + }, + { + Config: testAccChannelNamespaceConfig_comprehensive(rName, awstypes.InvokeTypeRequestResponse), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckChannelNamespaceExists(ctx, resourceName, &v), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("api_id"), knownvalue.NotNull()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("channel_namespace_arn"), tfknownvalue.RegionalARNRegexp("appsync", regexache.MustCompile(`apis/.+/channelNamespace/.+`))), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("code_handlers"), knownvalue.Null()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("handler_configs"), knownvalue.ListExact([]knownvalue.Check{ + knownvalue.MapExact(map[string]knownvalue.Check{ + "on_publish": knownvalue.ListExact([]knownvalue.Check{ + knownvalue.MapExact(map[string]knownvalue.Check{ + "behavior": tfknownvalue.StringExact(awstypes.HandlerBehaviorDirect), + "integration": knownvalue.ListExact([]knownvalue.Check{ + knownvalue.MapExact(map[string]knownvalue.Check{ + "data_source_name": knownvalue.StringExact(rName), + "lambda_config": knownvalue.ListSizeExact(0), + }), + }), + }), + }), + "on_subscribe": knownvalue.ListExact([]knownvalue.Check{ + knownvalue.MapExact(map[string]knownvalue.Check{ + "behavior": tfknownvalue.StringExact(awstypes.HandlerBehaviorDirect), + "integration": knownvalue.ListExact([]knownvalue.Check{ + knownvalue.MapExact(map[string]knownvalue.Check{ + "data_source_name": knownvalue.StringExact(rName), + "lambda_config": knownvalue.ListExact([]knownvalue.Check{ + knownvalue.MapExact(map[string]knownvalue.Check{ + "invoke_type": tfknownvalue.StringExact(awstypes.InvokeTypeRequestResponse), + }), + }), + }), + }), + }), + }), + }), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrName), knownvalue.StringExact(rName)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("publish_auth_mode"), knownvalue.ListExact([]knownvalue.Check{ + knownvalue.MapExact(map[string]knownvalue.Check{ + "auth_type": tfknownvalue.StringExact(awstypes.AuthenticationTypeApiKey), + }), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("subscribe_auth_mode"), knownvalue.ListExact([]knownvalue.Check{ + knownvalue.MapExact(map[string]knownvalue.Check{ + "auth_type": tfknownvalue.StringExact(awstypes.AuthenticationTypeApiKey), + }), + })), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrTags), knownvalue.Null()), + }, + }, + }, + }) +} + func testAccCheckChannelNamespaceDestroy(ctx context.Context) resource.TestCheckFunc { return func(s *terraform.State) error { conn := acctest.Provider.Meta().(*conns.AWSClient).AppSyncClient(ctx) @@ -167,3 +310,53 @@ resource "aws_appsync_channel_namespace" "test" { } `, rName)) } + +func testAccChannelNamespaceConfig_comprehensive(rName string, invokeType awstypes.InvokeType) string { + return acctest.ConfigCompose(testAccAPIConfig_basic(rName), testAccDatasourceConfig_baseLambda(rName), fmt.Sprintf(` +resource "aws_appsync_datasource" "test" { + api_id = aws_appsync_api.test.api_id + name = %[1]q + service_role_arn = aws_iam_role.test.arn + type = "AWS_LAMBDA" + + lambda_config { + function_arn = aws_lambda_function.test.arn + } +} + +resource "aws_appsync_channel_namespace" "test" { + name = %[1]q + api_id = aws_appsync_api.test.api_id + + handler_configs { + on_publish { + behavior = "DIRECT" + + integration { + data_source_name = aws_appsync_datasource.test.name + } + } + + on_subscribe { + behavior = "DIRECT" + + integration { + data_source_name = aws_appsync_datasource.test.name + + lambda_config { + invoke_type = %[2]q + } + } + } + } + + publish_auth_mode { + auth_type = "API_KEY" + } + + subscribe_auth_mode { + auth_type = "API_KEY" + } +} +`, rName, invokeType)) +} From a89cafb2fc46a2d720e835eb6fab7f714d7e539c Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 11 Aug 2025 17:30:12 -0700 Subject: [PATCH 1163/1301] Iterates over `interceptors` --- internal/provider/sdkv2/intercept.go | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/internal/provider/sdkv2/intercept.go b/internal/provider/sdkv2/intercept.go index f59eeca0bc52..312eaad0f6fa 100644 --- a/internal/provider/sdkv2/intercept.go +++ b/internal/provider/sdkv2/intercept.go @@ -302,11 +302,10 @@ func interceptedImportHandler(bootstrapContext contextFunc, interceptorInvocatio why := Import - // Before interceptors are run first to last. - forward := make([]importInterceptorInvocation, 0) + var interceptors []importInterceptorInvocation for _, v := range interceptorInvocations.why(why) { if interceptor, ok := v.interceptor.(importInterceptor); ok { - forward = append(forward, importInterceptorInvocation{ + interceptors = append(interceptors, importInterceptorInvocation{ when: v.when, why: v.why, interceptor: interceptor, @@ -314,8 +313,9 @@ func interceptedImportHandler(bootstrapContext contextFunc, interceptorInvocatio } } + // Before interceptors are run first to last. when := Before - for _, v := range forward { + for v := range slices.Values(interceptors) { if v.when&when != 0 { opts := importInterceptorOptions{ c: meta.(awsClient), @@ -330,8 +330,6 @@ func interceptedImportHandler(bootstrapContext contextFunc, interceptorInvocatio } } - // All other interceptors are run last to first. - reverse := tfslices.Reverse(forward) var errs []error r, err := f(ctx, d, meta) @@ -342,7 +340,8 @@ func interceptedImportHandler(bootstrapContext contextFunc, interceptorInvocatio when = After } - for _, v := range reverse { + // All other interceptors are run last to first. + for v := range tfslices.BackwardValues(interceptors) { if v.when&when != 0 { opts := importInterceptorOptions{ c: meta.(awsClient), @@ -357,7 +356,7 @@ func interceptedImportHandler(bootstrapContext contextFunc, interceptorInvocatio } when = Finally - for _, v := range reverse { + for v := range tfslices.BackwardValues(interceptors) { if v.when&when != 0 { opts := importInterceptorOptions{ c: meta.(awsClient), From 45232494c6f606ff3af6f8a5c71f60eef1f6192f Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 11 Aug 2025 17:36:26 -0700 Subject: [PATCH 1164/1301] Simplifies `opts` --- internal/provider/sdkv2/intercept.go | 38 ++++++++++------------------ 1 file changed, 13 insertions(+), 25 deletions(-) diff --git a/internal/provider/sdkv2/intercept.go b/internal/provider/sdkv2/intercept.go index 312eaad0f6fa..09361c791b9f 100644 --- a/internal/provider/sdkv2/intercept.go +++ b/internal/provider/sdkv2/intercept.go @@ -313,16 +313,16 @@ func interceptedImportHandler(bootstrapContext contextFunc, interceptorInvocatio } } + opts := importInterceptorOptions{ + c: meta.(awsClient), + d: d, + why: why, + } + // Before interceptors are run first to last. - when := Before + opts.when = Before for v := range slices.Values(interceptors) { - if v.when&when != 0 { - opts := importInterceptorOptions{ - c: meta.(awsClient), - d: d, - when: when, - why: why, - } + if v.when&opts.when != 0 { // Short circuit if any Before interceptor errors. if _, err := v.interceptor.run(ctx, opts); err != nil { return nil, err @@ -334,36 +334,24 @@ func interceptedImportHandler(bootstrapContext contextFunc, interceptorInvocatio r, err := f(ctx, d, meta) if err != nil { - when = OnError + opts.when = OnError errs = append(errs, err) } else { - when = After + opts.when = After } // All other interceptors are run last to first. for v := range tfslices.BackwardValues(interceptors) { - if v.when&when != 0 { - opts := importInterceptorOptions{ - c: meta.(awsClient), - d: d, - when: when, - why: why, - } + if v.when&opts.when != 0 { if _, err := v.interceptor.run(ctx, opts); err != nil { errs = append(errs, err) } } } - when = Finally + opts.when = Finally for v := range tfslices.BackwardValues(interceptors) { - if v.when&when != 0 { - opts := importInterceptorOptions{ - c: meta.(awsClient), - d: d, - when: when, - why: why, - } + if v.when&opts.when != 0 { if _, err := v.interceptor.run(ctx, opts); err != nil { errs = append(errs, err) } From 071757e4a5554bb3a0e929ddcf34a3b3be5e8ec0 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 11 Aug 2025 17:42:59 -0700 Subject: [PATCH 1165/1301] `importInterceptor` returned resource data is always ignored --- internal/provider/sdkv2/intercept.go | 10 +++++----- internal/provider/sdkv2/intercept_test.go | 6 +++--- internal/provider/sdkv2/region.go | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/internal/provider/sdkv2/intercept.go b/internal/provider/sdkv2/intercept.go index 09361c791b9f..9b11b305ee1c 100644 --- a/internal/provider/sdkv2/intercept.go +++ b/internal/provider/sdkv2/intercept.go @@ -68,7 +68,7 @@ type ( // customizeDiffInterceptor is functionality invoked during a CustomizeDiff request lifecycle. customizeDiffInterceptor = interceptor1[*schema.ResourceDiff, error] // importInterceptor is functionality invoked during an Import request lifecycle. - importInterceptor = interceptor2[*schema.ResourceData, []*schema.ResourceData, error] + importInterceptor = interceptor1[*schema.ResourceData, error] ) type interceptorFunc1[D, E any] func(context.Context, interceptorOptions[D]) E @@ -105,7 +105,7 @@ type typedInterceptor2Invocation[D, R, E any] struct { type ( crudInterceptorInvocation = typedInterceptorInvocation[schemaResourceData, diag.Diagnostics] customizeDiffInterceptorInvocation = typedInterceptorInvocation[*schema.ResourceDiff, error] - importInterceptorInvocation = typedInterceptor2Invocation[*schema.ResourceData, []*schema.ResourceData, error] + importInterceptorInvocation = typedInterceptorInvocation[*schema.ResourceData, error] ) // Only generate strings for use in tests @@ -324,7 +324,7 @@ func interceptedImportHandler(bootstrapContext contextFunc, interceptorInvocatio for v := range slices.Values(interceptors) { if v.when&opts.when != 0 { // Short circuit if any Before interceptor errors. - if _, err := v.interceptor.run(ctx, opts); err != nil { + if err := v.interceptor.run(ctx, opts); err != nil { return nil, err } } @@ -343,7 +343,7 @@ func interceptedImportHandler(bootstrapContext contextFunc, interceptorInvocatio // All other interceptors are run last to first. for v := range tfslices.BackwardValues(interceptors) { if v.when&opts.when != 0 { - if _, err := v.interceptor.run(ctx, opts); err != nil { + if err := v.interceptor.run(ctx, opts); err != nil { errs = append(errs, err) } } @@ -352,7 +352,7 @@ func interceptedImportHandler(bootstrapContext contextFunc, interceptorInvocatio opts.when = Finally for v := range tfslices.BackwardValues(interceptors) { if v.when&opts.when != 0 { - if _, err := v.interceptor.run(ctx, opts); err != nil { + if err := v.interceptor.run(ctx, opts); err != nil { errs = append(errs, err) } } diff --git a/internal/provider/sdkv2/intercept_test.go b/internal/provider/sdkv2/intercept_test.go index 2ffa821eb431..4dae576d8dc1 100644 --- a/internal/provider/sdkv2/intercept_test.go +++ b/internal/provider/sdkv2/intercept_test.go @@ -17,7 +17,7 @@ import ( type ( crudInterceptorFunc = interceptorFunc1[schemaResourceData, diag.Diagnostics] customizeDiffInterceptorFunc = interceptorFunc1[*schema.ResourceDiff, error] - importInterceptorFunc = interceptorFunc2[*schema.ResourceData, []*schema.ResourceData, error] + importInterceptorFunc = interceptorFunc1[*schema.ResourceData, error] ) func TestInterceptorsWhy(t *testing.T) { @@ -714,9 +714,9 @@ func (m *mockImportInterceptor) Invocations() interceptorInvocations { } func (m *mockImportInterceptor) interceptor() importInterceptor { - return importInterceptorFunc(func(ctx context.Context, opts importInterceptorOptions) ([]*schema.ResourceData, error) { + return importInterceptorFunc(func(ctx context.Context, opts importInterceptorOptions) error { m.called = append(m.called, opts.when) - return nil, m.errors[opts.when] + return m.errors[opts.when] }) } diff --git a/internal/provider/sdkv2/region.go b/internal/provider/sdkv2/region.go index ddf0bff02712..9c92055ebaff 100644 --- a/internal/provider/sdkv2/region.go +++ b/internal/provider/sdkv2/region.go @@ -118,7 +118,7 @@ func forceNewIfRegionChanges() customizeDiffInterceptor { } func importRegion() importInterceptor { - return interceptorFunc2[*schema.ResourceData, []*schema.ResourceData, error](func(ctx context.Context, opts importInterceptorOptions) ([]*schema.ResourceData, error) { + return interceptorFunc1[*schema.ResourceData, error](func(ctx context.Context, opts importInterceptorOptions) error { c, d := opts.c, opts.d switch when, why := opts.when, opts.why; when { @@ -135,7 +135,7 @@ func importRegion() importInterceptor { } } - return []*schema.ResourceData{d}, nil + return nil }) } @@ -149,7 +149,7 @@ func resourceImportRegion() interceptorInvocation { // importRegionNoDefault does not provide a default value for `region`. This should be used when the import ID is or contains a region. func importRegionNoDefault() importInterceptor { - return interceptorFunc2[*schema.ResourceData, []*schema.ResourceData, error](func(ctx context.Context, opts importInterceptorOptions) ([]*schema.ResourceData, error) { + return interceptorFunc1[*schema.ResourceData, error](func(ctx context.Context, opts importInterceptorOptions) error { d := opts.d switch when, why := opts.when, opts.why; when { @@ -164,7 +164,7 @@ func importRegionNoDefault() importInterceptor { } } - return []*schema.ResourceData{d}, nil + return nil }) } From eb6a944eb2a6a5e81d4a7a85ba39ed62dc6f16ca Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Mon, 11 Aug 2025 21:52:23 -0700 Subject: [PATCH 1166/1301] `interceptor2`, `interceptorFunc2`, and `typedInterceptor2Invocation` are unused --- internal/provider/sdkv2/intercept.go | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/internal/provider/sdkv2/intercept.go b/internal/provider/sdkv2/intercept.go index 9b11b305ee1c..0dc5f957781d 100644 --- a/internal/provider/sdkv2/intercept.go +++ b/internal/provider/sdkv2/intercept.go @@ -58,10 +58,6 @@ type interceptor1[D, E any] interface { run(context.Context, interceptorOptions[D]) E } -type interceptor2[D, R, E any] interface { - run(context.Context, interceptorOptions[D]) (R, E) -} - type ( // crudInterceptor is functionality invoked during a CRUD request lifecycle. crudInterceptor = interceptor1[schemaResourceData, diag.Diagnostics] @@ -73,13 +69,7 @@ type ( type interceptorFunc1[D, E any] func(context.Context, interceptorOptions[D]) E -func (f interceptorFunc1[D, E]) run(ctx context.Context, opts interceptorOptions[D]) E { //nolint:unused // used via crudInterceptor/customizeDiffInterceptor - return f(ctx, opts) -} - -type interceptorFunc2[D, R, E any] func(context.Context, interceptorOptions[D]) (R, E) - -func (f interceptorFunc2[D, R, E]) run(ctx context.Context, opts interceptorOptions[D]) (R, E) { //nolint:unused // used via importInterceptor +func (f interceptorFunc1[D, E]) run(ctx context.Context, opts interceptorOptions[D]) E { //nolint:unused // used via crudInterceptor/customizeDiffInterceptor/importInterceptor return f(ctx, opts) } @@ -96,12 +86,6 @@ type typedInterceptorInvocation[D, E any] struct { interceptor interceptor1[D, E] } -type typedInterceptor2Invocation[D, R, E any] struct { - when when - why why - interceptor interceptor2[D, R, E] -} - type ( crudInterceptorInvocation = typedInterceptorInvocation[schemaResourceData, diag.Diagnostics] customizeDiffInterceptorInvocation = typedInterceptorInvocation[*schema.ResourceDiff, error] From 572ff7a4682249add737f776c1777a570761e526 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Tue, 12 Aug 2025 11:42:25 -0700 Subject: [PATCH 1167/1301] Mock interceptors now implement `interceptor1` --- internal/provider/sdkv2/intercept_test.go | 34 +++++++++-------------- 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/internal/provider/sdkv2/intercept_test.go b/internal/provider/sdkv2/intercept_test.go index 4dae576d8dc1..25f80fcee76c 100644 --- a/internal/provider/sdkv2/intercept_test.go +++ b/internal/provider/sdkv2/intercept_test.go @@ -15,9 +15,7 @@ import ( ) type ( - crudInterceptorFunc = interceptorFunc1[schemaResourceData, diag.Diagnostics] - customizeDiffInterceptorFunc = interceptorFunc1[*schema.ResourceDiff, error] - importInterceptorFunc = interceptorFunc1[*schema.ResourceData, error] + crudInterceptorFunc = interceptorFunc1[schemaResourceData, diag.Diagnostics] ) func TestInterceptorsWhy(t *testing.T) { @@ -342,16 +340,14 @@ func (m *mockCRUDInterceptor) Invocations() interceptorInvocations { { why: AllCRUDOps, when: Before | After | OnError | Finally, - interceptor: m.interceptor(), + interceptor: m, }, } } -func (m *mockCRUDInterceptor) interceptor() crudInterceptor { - return crudInterceptorFunc(func(ctx context.Context, opts crudInterceptorOptions) diag.Diagnostics { - m.called = append(m.called, opts.when) - return m.diags[opts.when] - }) +func (m *mockCRUDInterceptor) run(_ context.Context, opts crudInterceptorOptions) diag.Diagnostics { + m.called = append(m.called, opts.when) + return m.diags[opts.when] } type mockInnerCRUDFunc struct { @@ -525,16 +521,14 @@ func (m *mockCustomizeDiffInterceptor) Invocations() interceptorInvocations { { why: CustomizeDiff, when: Before | After | OnError | Finally, - interceptor: m.interceptor(), + interceptor: m, }, } } -func (m *mockCustomizeDiffInterceptor) interceptor() customizeDiffInterceptor { - return customizeDiffInterceptorFunc(func(ctx context.Context, opts customizeDiffInterceptorOptions) error { - m.called = append(m.called, opts.when) - return m.errors[opts.when] - }) +func (m *mockCustomizeDiffInterceptor) run(_ context.Context, opts customizeDiffInterceptorOptions) error { + m.called = append(m.called, opts.when) + return m.errors[opts.when] } type mockInnerCustomizeDiffFunc struct { @@ -708,16 +702,14 @@ func (m *mockImportInterceptor) Invocations() interceptorInvocations { { why: Import, when: Before | After | OnError | Finally, - interceptor: m.interceptor(), + interceptor: m, }, } } -func (m *mockImportInterceptor) interceptor() importInterceptor { - return importInterceptorFunc(func(ctx context.Context, opts importInterceptorOptions) error { - m.called = append(m.called, opts.when) - return m.errors[opts.when] - }) +func (m *mockImportInterceptor) run(_ context.Context, opts importInterceptorOptions) error { + m.called = append(m.called, opts.when) + return m.errors[opts.when] } type mockInnerImportFunc struct { From 01cd3148a8eaa9b4837db833f3da3d152c405810 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 15:20:14 -0400 Subject: [PATCH 1168/1301] appsync: New style sweepers. --- internal/service/appsync/sweep.go | 103 ++++++------------------------ 1 file changed, 20 insertions(+), 83 deletions(-) diff --git a/internal/service/appsync/sweep.go b/internal/service/appsync/sweep.go index 5986a8037666..348e1f143890 100644 --- a/internal/service/appsync/sweep.go +++ b/internal/service/appsync/sweep.go @@ -4,47 +4,27 @@ package appsync import ( - "fmt" - "log" + "context" "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/service/appsync" - "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-provider-aws/internal/conns" "github.com/hashicorp/terraform-provider-aws/internal/sweep" "github.com/hashicorp/terraform-provider-aws/internal/sweep/awsv2" ) func RegisterSweepers() { - resource.AddTestSweepers("aws_appsync_graphql_api", &resource.Sweeper{ - Name: "aws_appsync_graphql_api", - F: sweepGraphQLAPIs, - }) - - resource.AddTestSweepers("aws_appsync_domain_name", &resource.Sweeper{ - Name: "aws_appsync_domain_name", - F: sweepDomainNames, - Dependencies: []string{ - "aws_appsync_domain_name_api_association", - }, - }) - - resource.AddTestSweepers("aws_appsync_domain_name_api_association", &resource.Sweeper{ - Name: "aws_appsync_domain_name_api_association", - F: sweepDomainNameAssociations, - }) + awsv2.Register("aws_appsync_graphql_api", sweepGraphQLAPIs, "aws_appsync_domain_name_api_association") + awsv2.Register("aws_appsync_domain_name", sweepDomainNames, "aws_appsync_domain_name_api_association") + awsv2.Register("aws_appsync_domain_name_api_association", sweepDomainNameAssociations) } -func sweepGraphQLAPIs(region string) error { - ctx := sweep.Context(region) - client, err := sweep.SharedRegionalSweepClient(ctx, region) - if err != nil { - return fmt.Errorf("Error getting client: %s", err) - } - input := &appsync.ListGraphqlApisInput{} +func sweepGraphQLAPIs(ctx context.Context, client *conns.AWSClient) ([]sweep.Sweepable, error) { conn := client.AppSyncClient(ctx) + var input appsync.ListGraphqlApisInput sweepResources := make([]sweep.Sweepable, 0) - err = listGraphQLAPIsPages(ctx, conn, input, func(page *appsync.ListGraphqlApisOutput, lastPage bool) bool { + err := listGraphQLAPIsPages(ctx, conn, &input, func(page *appsync.ListGraphqlApisOutput, lastPage bool) bool { if page == nil { return !lastPage } @@ -60,35 +40,19 @@ func sweepGraphQLAPIs(region string) error { return !lastPage }) - if awsv2.SkipSweepError(err) { - log.Printf("[WARN] Skipping AppSync GraphQL API sweep for %s: %s", region, err) - return nil - } - if err != nil { - return fmt.Errorf("error listing AppSync GraphQL APIs (%s): %w", region, err) + return nil, err } - err = sweep.SweepOrchestrator(ctx, sweepResources) - - if err != nil { - return fmt.Errorf("error sweeping AppSync GraphQL APIs (%s): %w", region, err) - } - - return nil + return sweepResources, nil } -func sweepDomainNames(region string) error { - ctx := sweep.Context(region) - client, err := sweep.SharedRegionalSweepClient(ctx, region) - if err != nil { - return fmt.Errorf("Error getting client: %s", err) - } - input := &appsync.ListDomainNamesInput{} +func sweepDomainNames(ctx context.Context, client *conns.AWSClient) ([]sweep.Sweepable, error) { conn := client.AppSyncClient(ctx) + var input appsync.ListDomainNamesInput sweepResources := make([]sweep.Sweepable, 0) - err = listDomainNamesPages(ctx, conn, input, func(page *appsync.ListDomainNamesOutput, lastPage bool) bool { + err := listDomainNamesPages(ctx, conn, &input, func(page *appsync.ListDomainNamesOutput, lastPage bool) bool { if page == nil { return !lastPage } @@ -104,35 +68,19 @@ func sweepDomainNames(region string) error { return !lastPage }) - if awsv2.SkipSweepError(err) { - log.Printf("[WARN] Skipping AppSync Domain Name sweep for %s: %s", region, err) - return nil - } - if err != nil { - return fmt.Errorf("error listing AppSync Domain Names (%s): %w", region, err) + return nil, err } - err = sweep.SweepOrchestrator(ctx, sweepResources) - - if err != nil { - return fmt.Errorf("error sweeping AppSync Domain Names (%s): %w", region, err) - } - - return nil + return sweepResources, nil } -func sweepDomainNameAssociations(region string) error { - ctx := sweep.Context(region) - client, err := sweep.SharedRegionalSweepClient(ctx, region) - if err != nil { - return fmt.Errorf("Error getting client: %s", err) - } - input := &appsync.ListDomainNamesInput{} +func sweepDomainNameAssociations(ctx context.Context, client *conns.AWSClient) ([]sweep.Sweepable, error) { conn := client.AppSyncClient(ctx) + var input appsync.ListDomainNamesInput sweepResources := make([]sweep.Sweepable, 0) - err = listDomainNamesPages(ctx, conn, input, func(page *appsync.ListDomainNamesOutput, lastPage bool) bool { + err := listDomainNamesPages(ctx, conn, &input, func(page *appsync.ListDomainNamesOutput, lastPage bool) bool { if page == nil { return !lastPage } @@ -148,20 +96,9 @@ func sweepDomainNameAssociations(region string) error { return !lastPage }) - if awsv2.SkipSweepError(err) { - log.Printf("[WARN] Skipping AppSync Domain Name API Association sweep for %s: %s", region, err) - return nil - } - - if err != nil { - return fmt.Errorf("error listing AppSync Domain Names (%s): %w", region, err) - } - - err = sweep.SweepOrchestrator(ctx, sweepResources) - if err != nil { - return fmt.Errorf("error sweeping AppSync Domain Name API Associations (%s): %w", region, err) + return nil, err } - return nil + return sweepResources, nil } From 702e6f8180ad99bcbae52740d3f3c933ee8200bd Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 15:24:27 -0400 Subject: [PATCH 1169/1301] r/aws_appsync_api: Add sweeper. --- internal/service/appsync/generate.go | 2 +- internal/service/appsync/list_pages_gen.go | 18 ++++++++++++++- internal/service/appsync/sweep.go | 27 ++++++++++++++++++++++ 3 files changed, 45 insertions(+), 2 deletions(-) diff --git a/internal/service/appsync/generate.go b/internal/service/appsync/generate.go index d707f5833eda..3932f3859d5d 100644 --- a/internal/service/appsync/generate.go +++ b/internal/service/appsync/generate.go @@ -1,7 +1,7 @@ // Copyright (c) HashiCorp, Inc. // SPDX-License-Identifier: MPL-2.0 -//go:generate go run ../../generate/listpages/main.go -ListOps=ListApiKeys,ListDomainNames,ListGraphqlApis +//go:generate go run ../../generate/listpages/main.go -ListOps=ListApis,ListApiKeys,ListDomainNames,ListGraphqlApis //go:generate go run ../../generate/tags/main.go -ListTags -ServiceTagsMap -UpdateTags -KVTValues //go:generate go run ../../generate/servicepackage/main.go //go:generate go run ../../generate/tagstests/main.go diff --git a/internal/service/appsync/list_pages_gen.go b/internal/service/appsync/list_pages_gen.go index 145fd90fc797..96a6a4aae1c1 100644 --- a/internal/service/appsync/list_pages_gen.go +++ b/internal/service/appsync/list_pages_gen.go @@ -1,4 +1,4 @@ -// Code generated by "internal/generate/listpages/main.go -ListOps=ListApiKeys,ListDomainNames,ListGraphqlApis"; DO NOT EDIT. +// Code generated by "internal/generate/listpages/main.go -ListOps=ListApis,ListApiKeys,ListDomainNames,ListGraphqlApis"; DO NOT EDIT. package appsync @@ -25,6 +25,22 @@ func listAPIKeysPages(ctx context.Context, conn *appsync.Client, input *appsync. } return nil } +func listAPIsPages(ctx context.Context, conn *appsync.Client, input *appsync.ListApisInput, fn func(*appsync.ListApisOutput, bool) bool, optFns ...func(*appsync.Options)) error { + for { + output, err := conn.ListApis(ctx, input, optFns...) + if err != nil { + return err + } + + lastPage := aws.ToString(output.NextToken) == "" + if !fn(output, lastPage) || lastPage { + break + } + + input.NextToken = output.NextToken + } + return nil +} func listDomainNamesPages(ctx context.Context, conn *appsync.Client, input *appsync.ListDomainNamesInput, fn func(*appsync.ListDomainNamesOutput, bool) bool, optFns ...func(*appsync.Options)) error { for { output, err := conn.ListDomainNames(ctx, input, optFns...) diff --git a/internal/service/appsync/sweep.go b/internal/service/appsync/sweep.go index 348e1f143890..9c985c07eea0 100644 --- a/internal/service/appsync/sweep.go +++ b/internal/service/appsync/sweep.go @@ -11,14 +11,41 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/conns" "github.com/hashicorp/terraform-provider-aws/internal/sweep" "github.com/hashicorp/terraform-provider-aws/internal/sweep/awsv2" + "github.com/hashicorp/terraform-provider-aws/internal/sweep/framework" ) func RegisterSweepers() { + awsv2.Register("aws_appsync_api", sweepAPIs) awsv2.Register("aws_appsync_graphql_api", sweepGraphQLAPIs, "aws_appsync_domain_name_api_association") awsv2.Register("aws_appsync_domain_name", sweepDomainNames, "aws_appsync_domain_name_api_association") awsv2.Register("aws_appsync_domain_name_api_association", sweepDomainNameAssociations) } +func sweepAPIs(ctx context.Context, client *conns.AWSClient) ([]sweep.Sweepable, error) { + conn := client.AppSyncClient(ctx) + var input appsync.ListApisInput + sweepResources := make([]sweep.Sweepable, 0) + + err := listAPIsPages(ctx, conn, &input, func(page *appsync.ListApisOutput, lastPage bool) bool { + if page == nil { + return !lastPage + } + + for _, v := range page.Apis { + sweepResources = append(sweepResources, framework.NewSweepResource(newAPIResource, client, + framework.NewAttribute("api_id", aws.ToString(v.ApiId)))) + } + + return !lastPage + }) + + if err != nil { + return nil, err + } + + return sweepResources, nil +} + func sweepGraphQLAPIs(ctx context.Context, client *conns.AWSClient) ([]sweep.Sweepable, error) { conn := client.AppSyncClient(ctx) var input appsync.ListGraphqlApisInput From 88577aebf0461e1c4fd0d4378fa9e93eeba4f0a8 Mon Sep 17 00:00:00 2001 From: Stefan Freitag Date: Tue, 12 Aug 2025 21:27:06 +0200 Subject: [PATCH 1170/1301] docs: add detail on TagFilter usage --- website/docs/d/ram_resource_share.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/d/ram_resource_share.html.markdown b/website/docs/d/ram_resource_share.html.markdown index 8a310e31297c..b00590488668 100644 --- a/website/docs/d/ram_resource_share.html.markdown +++ b/website/docs/d/ram_resource_share.html.markdown @@ -39,7 +39,7 @@ This data source supports the following arguments: * `name` - (Optional) Name of the resource share to retrieve. * `resource_owner` (Required) Owner of the resource share. Valid values are `SELF` or `OTHER-ACCOUNTS`. * `resource_share_status` (Optional) Specifies that you want to retrieve details of only those resource shares that have this status. Valid values are `PENDING`, `ACTIVE`, `FAILED`, `DELETING`, and `DELETED`. -* `filter` - (Optional) Filter used to scope the list e.g., by tags. See [related docs] (https://docs.aws.amazon.com/ram/latest/APIReference/API_TagFilter.html). +* `filter` - (Optional) Filter used to scope the list of owned shares e.g., by tags. See [related docs] (https://docs.aws.amazon.com/ram/latest/APIReference/API_TagFilter.html). * `name` - (Required) Name of the tag key to filter on. * `values` - (Required) Value of the tag key. From 6e3d6319cd6ff3e276b132fc4da9b6eb711ae601 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 15:51:06 -0400 Subject: [PATCH 1171/1301] Tweak CHANGELOG entry. --- .changelog/43752.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changelog/43752.txt b/.changelog/43752.txt index 87509ee79ae0..64d61c2daa56 100644 --- a/.changelog/43752.txt +++ b/.changelog/43752.txt @@ -1,3 +1,3 @@ ```release-note:enhancement -resource/aws_eks_cluster: Add deletion_protection support +resource/aws_eks_cluster: Add `deletion_protection` argument ``` \ No newline at end of file From c5e87598dcbff3ba7f647fa6a32bf8c8644371b7 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 16:05:39 -0400 Subject: [PATCH 1172/1301] r/aws_eks_cluster: 'enable_deletion_protection' -> 'deletion_protection'. --- internal/service/eks/cluster.go | 146 ++++++++++++----------- internal/service/eks/cluster_test.go | 2 +- website/docs/r/eks_cluster.html.markdown | 3 +- 3 files changed, 79 insertions(+), 72 deletions(-) diff --git a/internal/service/eks/cluster.go b/internal/service/eks/cluster.go index 77ba79ac9440..c9bce8ae6e46 100644 --- a/internal/service/eks/cluster.go +++ b/internal/service/eks/cluster.go @@ -168,6 +168,11 @@ func resourceCluster() *schema.Resource { Type: schema.TypeString, Computed: true, }, + "deletion_protection": { + Type: schema.TypeBool, + Optional: true, + Computed: true, + }, "enabled_cluster_log_types": { Type: schema.TypeSet, Optional: true, @@ -176,11 +181,6 @@ func resourceCluster() *schema.Resource { ValidateDiagFunc: enum.Validate[types.LogType](), }, }, - "enable_deletion_protection": { - Type: schema.TypeBool, - Optional: true, - Default: false, - }, "encryption_config": { Type: schema.TypeList, MaxItems: 1, @@ -516,7 +516,7 @@ func resourceClusterCreate(ctx context.Context, d *schema.ResourceData, meta any conn := meta.(*conns.AWSClient).EKSClient(ctx) name := d.Get(names.AttrName).(string) - input := &eks.CreateClusterInput{ + input := eks.CreateClusterInput{ BootstrapSelfManagedAddons: aws.Bool(d.Get("bootstrap_self_managed_addons").(bool)), EncryptionConfig: expandEncryptionConfig(d.Get("encryption_config").([]any)), Logging: expandLogging(d.Get("enabled_cluster_log_types").(*schema.Set)), @@ -526,12 +526,16 @@ func resourceClusterCreate(ctx context.Context, d *schema.ResourceData, meta any Tags: getTagsIn(ctx), } + if v, ok := d.GetOk("access_config"); ok { + input.AccessConfig = expandCreateAccessConfigRequest(v.([]any)) + } + if v, ok := d.GetOk("compute_config"); ok { input.ComputeConfig = expandComputeConfigRequest(v.([]any)) } - if v, ok := d.GetOk("access_config"); ok { - input.AccessConfig = expandCreateAccessConfigRequest(v.([]any)) + if v, ok := d.GetOk("deletion_protection"); ok { + input.DeletionProtection = aws.Bool(v.(bool)) } if v, ok := d.GetOk("kubernetes_network_config"); ok { @@ -561,13 +565,10 @@ func resourceClusterCreate(ctx context.Context, d *schema.ResourceData, meta any if v, ok := d.GetOk("zonal_shift_config"); ok { input.ZonalShiftConfig = expandZonalShiftConfig(v.([]any)) } - if v, ok := d.GetOk("enable_deletion_protection"); ok { - input.DeletionProtection = aws.Bool(v.(bool)) - } outputRaw, err := tfresource.RetryWhen(ctx, propagationTimeout, func() (any, error) { - return conn.CreateCluster(ctx, input) + return conn.CreateCluster(ctx, &input) }, func(err error) (bool, error) { // InvalidParameterException: roleArn, arn:aws:iam::123456789012:role/XXX, does not exist @@ -651,6 +652,7 @@ func resourceClusterRead(ctx context.Context, d *schema.ResourceData, meta any) return sdkdiag.AppendErrorf(diags, "setting compute_config: %s", err) } d.Set(names.AttrCreatedAt, cluster.CreatedAt.Format(time.RFC3339)) + d.Set("deletion_protection", cluster.DeletionProtection) if err := d.Set("enabled_cluster_log_types", flattenLogging(cluster.Logging)); err != nil { return sdkdiag.AppendErrorf(diags, "setting enabled_cluster_log_types: %s", err) } @@ -700,7 +702,7 @@ func resourceClusterUpdate(ctx context.Context, d *schema.ResourceData, meta any // Do any version update first. if d.HasChange(names.AttrVersion) { - input := &eks.UpdateClusterVersionInput{ + input := eks.UpdateClusterVersionInput{ Name: aws.String(d.Id()), Version: aws.String(d.Get(names.AttrVersion).(string)), } @@ -709,7 +711,7 @@ func resourceClusterUpdate(ctx context.Context, d *schema.ResourceData, meta any input.Force = v.(bool) } - output, err := conn.UpdateClusterVersion(ctx, input) + output, err := conn.UpdateClusterVersion(ctx, &input) if err != nil { return sdkdiag.AppendErrorf(diags, "updating EKS Cluster (%s) version: %s", d.Id(), err) @@ -724,12 +726,12 @@ func resourceClusterUpdate(ctx context.Context, d *schema.ResourceData, meta any if d.HasChange("access_config") { if v, ok := d.GetOk("access_config"); ok { - input := &eks.UpdateClusterConfigInput{ + input := eks.UpdateClusterConfigInput{ AccessConfig: expandUpdateAccessConfigRequest(v.([]any)), Name: aws.String(d.Id()), } - output, err := conn.UpdateClusterConfig(ctx, input) + output, err := conn.UpdateClusterConfig(ctx, &input) if err != nil { return sdkdiag.AppendErrorf(diags, "updating EKS Cluster (%s) access configuration: %s", d.Id(), err) @@ -749,15 +751,14 @@ func resourceClusterUpdate(ctx context.Context, d *schema.ResourceData, meta any computeConfig := expandComputeConfigRequest(d.Get("compute_config").([]any)) kubernetesNetworkConfig := expandKubernetesNetworkConfigRequest(d.Get("kubernetes_network_config").([]any)) storageConfig := expandStorageConfigRequest(d.Get("storage_config").([]any)) - - input := &eks.UpdateClusterConfigInput{ - Name: aws.String(d.Id()), + input := eks.UpdateClusterConfigInput{ ComputeConfig: computeConfig, KubernetesNetworkConfig: kubernetesNetworkConfig, + Name: aws.String(d.Id()), StorageConfig: storageConfig, } - output, err := conn.UpdateClusterConfig(ctx, input) + output, err := conn.UpdateClusterConfig(ctx, &input) if err != nil { return sdkdiag.AppendErrorf(diags, "updating EKS Cluster (%s) compute config: %s", d.Id(), err) @@ -770,16 +771,33 @@ func resourceClusterUpdate(ctx context.Context, d *schema.ResourceData, meta any } } - if d.HasChange("encryption_config") { - o, n := d.GetChange("encryption_config") + if d.HasChange("deletion_protection") { + input := eks.UpdateClusterConfigInput{ + DeletionProtection: aws.Bool(d.Get("deletion_protection").(bool)), + Name: aws.String(d.Id()), + } + + output, err := conn.UpdateClusterConfig(ctx, &input) - if len(o.([]any)) == 0 && len(n.([]any)) == 1 { - input := &eks.AssociateEncryptionConfigInput{ + if err != nil { + return sdkdiag.AppendErrorf(diags, "updating EKS Cluster (%s) deletion protection: %s", d.Id(), err) + } + + updateID := aws.ToString(output.Update.Id) + + if _, err := waitClusterUpdateSuccessful(ctx, conn, d.Id(), updateID, d.Timeout(schema.TimeoutUpdate)); err != nil { + return sdkdiag.AppendErrorf(diags, "waiting for EKS Cluster (%s) deletion proctection update (%s): %s", d.Id(), updateID, err) + } + } + + if d.HasChange("encryption_config") { + if o, n := d.GetChange("encryption_config"); len(o.([]any)) == 0 && len(n.([]any)) == 1 { + input := eks.AssociateEncryptionConfigInput{ ClusterName: aws.String(d.Id()), EncryptionConfig: expandEncryptionConfig(d.Get("encryption_config").([]any)), } - output, err := conn.AssociateEncryptionConfig(ctx, input) + output, err := conn.AssociateEncryptionConfig(ctx, &input) if err != nil { return sdkdiag.AppendErrorf(diags, "associating EKS Cluster (%s) encryption config: %s", d.Id(), err) @@ -794,12 +812,12 @@ func resourceClusterUpdate(ctx context.Context, d *schema.ResourceData, meta any } if d.HasChange("enabled_cluster_log_types") { - input := &eks.UpdateClusterConfigInput{ + input := eks.UpdateClusterConfigInput{ Logging: expandLogging(d.Get("enabled_cluster_log_types").(*schema.Set)), Name: aws.String(d.Id()), } - output, err := conn.UpdateClusterConfig(ctx, input) + output, err := conn.UpdateClusterConfig(ctx, &input) if err != nil { return sdkdiag.AppendErrorf(diags, "updating EKS Cluster (%s) logging: %s", d.Id(), err) @@ -812,32 +830,13 @@ func resourceClusterUpdate(ctx context.Context, d *schema.ResourceData, meta any } } - if d.HasChange("enable_deletion_protection") { - input := &eks.UpdateClusterConfigInput{ - Name: aws.String(d.Id()), - DeletionProtection: aws.Bool(d.Get("enable_deletion_protection").(bool)), - } - - output, err := conn.UpdateClusterConfig(ctx, input) - - if err != nil { - return sdkdiag.AppendErrorf(diags, "updating EKS Cluster (%s) deletion protection: %s", d.Id(), err) - } - - updateID := aws.ToString(output.Update.Id) - - if _, err := waitClusterUpdateSuccessful(ctx, conn, d.Id(), updateID, d.Timeout(schema.TimeoutUpdate)); err != nil { - return sdkdiag.AppendErrorf(diags, "waiting for EKS Cluster (%s) deletion proctection update (%s): %s", d.Id(), updateID, err) - } - } - if d.HasChange("upgrade_policy") { - input := &eks.UpdateClusterConfigInput{ + input := eks.UpdateClusterConfigInput{ Name: aws.String(d.Id()), UpgradePolicy: expandUpgradePolicy(d.Get("upgrade_policy").([]any)), } - output, err := conn.UpdateClusterConfig(ctx, input) + output, err := conn.UpdateClusterConfig(ctx, &input) if err != nil { return sdkdiag.AppendErrorf(diags, "updating EKS Cluster (%s) upgrade policy: %s", d.Id(), err) @@ -851,7 +850,7 @@ func resourceClusterUpdate(ctx context.Context, d *schema.ResourceData, meta any } if d.HasChanges("vpc_config.0.endpoint_private_access", "vpc_config.0.endpoint_public_access", "vpc_config.0.public_access_cidrs") { - config := &types.VpcConfigRequest{ + config := types.VpcConfigRequest{ EndpointPrivateAccess: aws.Bool(d.Get("vpc_config.0.endpoint_private_access").(bool)), EndpointPublicAccess: aws.Bool(d.Get("vpc_config.0.endpoint_public_access").(bool)), } @@ -860,39 +859,39 @@ func resourceClusterUpdate(ctx context.Context, d *schema.ResourceData, meta any config.PublicAccessCidrs = flex.ExpandStringValueSet(v.(*schema.Set)) } - if err := updateVPCConfig(ctx, conn, d.Id(), config, d.Timeout(schema.TimeoutUpdate)); err != nil { + if err := updateVPCConfig(ctx, conn, d.Id(), &config, d.Timeout(schema.TimeoutUpdate)); err != nil { return sdkdiag.AppendFromErr(diags, err) } } // API only allows one type of update at at time. if d.HasChange("vpc_config.0.subnet_ids") { - config := &types.VpcConfigRequest{ + config := types.VpcConfigRequest{ SubnetIds: flex.ExpandStringValueSet(d.Get("vpc_config.0.subnet_ids").(*schema.Set)), } - if err := updateVPCConfig(ctx, conn, d.Id(), config, d.Timeout(schema.TimeoutUpdate)); err != nil { + if err := updateVPCConfig(ctx, conn, d.Id(), &config, d.Timeout(schema.TimeoutUpdate)); err != nil { return sdkdiag.AppendFromErr(diags, err) } } if d.HasChange("vpc_config.0.security_group_ids") { - config := &types.VpcConfigRequest{ + config := types.VpcConfigRequest{ SecurityGroupIds: flex.ExpandStringValueSet(d.Get("vpc_config.0.security_group_ids").(*schema.Set)), } - if err := updateVPCConfig(ctx, conn, d.Id(), config, d.Timeout(schema.TimeoutUpdate)); err != nil { + if err := updateVPCConfig(ctx, conn, d.Id(), &config, d.Timeout(schema.TimeoutUpdate)); err != nil { return sdkdiag.AppendFromErr(diags, err) } } if d.HasChange("zonal_shift_config") { - input := &eks.UpdateClusterConfigInput{ + input := eks.UpdateClusterConfigInput{ Name: aws.String(d.Id()), ZonalShiftConfig: expandZonalShiftConfig(d.Get("zonal_shift_config").([]any)), } - output, err := conn.UpdateClusterConfig(ctx, input) + output, err := conn.UpdateClusterConfig(ctx, &input) if err != nil { return sdkdiag.AppendErrorf(diags, "updating EKS Cluster (%s) zonal shift config: %s", d.Id(), err) @@ -913,20 +912,19 @@ func resourceClusterDelete(ctx context.Context, d *schema.ResourceData, meta any conn := meta.(*conns.AWSClient).EKSClient(ctx) - input := &eks.DeleteClusterInput{ - Name: aws.String(d.Id()), - } - // If a cluster is scaling up due to load a delete request will fail // This is a temporary workaround until EKS supports multiple parallel mutating operations const ( timeout = 60 * time.Minute ) log.Printf("[DEBUG] Deleting EKS Cluster: %s", d.Id()) + input := eks.DeleteClusterInput{ + Name: aws.String(d.Id()), + } err := tfresource.Retry(ctx, timeout, func() *retry.RetryError { var err error - _, err = conn.DeleteCluster(ctx, input) + _, err = conn.DeleteCluster(ctx, &input) if errs.IsAErrorMessageContains[*types.ResourceInUseException](err, "in progress") { return retry.RetryableError(err) @@ -940,7 +938,7 @@ func resourceClusterDelete(ctx context.Context, d *schema.ResourceData, meta any }, tfresource.WithDelayRand(1*time.Minute), tfresource.WithPollInterval(30*time.Second)) if tfresource.TimedOut(err) { - _, err = conn.DeleteCluster(ctx, input) + _, err = conn.DeleteCluster(ctx, &input) } if errs.IsA[*types.ResourceNotFoundException](err) { @@ -965,10 +963,14 @@ func resourceClusterDelete(ctx context.Context, d *schema.ResourceData, meta any } func findClusterByName(ctx context.Context, conn *eks.Client, name string) (*types.Cluster, error) { - input := &eks.DescribeClusterInput{ + input := eks.DescribeClusterInput{ Name: aws.String(name), } + return findCluster(ctx, conn, &input) +} + +func findCluster(ctx context.Context, conn *eks.Client, input *eks.DescribeClusterInput) (*types.Cluster, error) { output, err := conn.DescribeCluster(ctx, input) // Sometimes the EKS API returns the ResourceNotFound error in this form: @@ -992,12 +994,12 @@ func findClusterByName(ctx context.Context, conn *eks.Client, name string) (*typ } func updateVPCConfig(ctx context.Context, conn *eks.Client, name string, vpcConfig *types.VpcConfigRequest, timeout time.Duration) error { - input := &eks.UpdateClusterConfigInput{ + input := eks.UpdateClusterConfigInput{ Name: aws.String(name), ResourcesVpcConfig: vpcConfig, } - output, err := conn.UpdateClusterConfig(ctx, input) + output, err := conn.UpdateClusterConfig(ctx, &input) if err != nil { return fmt.Errorf("updating EKS Cluster (%s) VPC configuration: %s", name, err) @@ -1012,12 +1014,16 @@ func updateVPCConfig(ctx context.Context, conn *eks.Client, name string, vpcConf return nil } -func findClusterUpdateByTwoPartKey(ctx context.Context, conn *eks.Client, name, id string) (*types.Update, error) { - input := &eks.DescribeUpdateInput{ +func findUpdateByTwoPartKey(ctx context.Context, conn *eks.Client, name, id string) (*types.Update, error) { + input := eks.DescribeUpdateInput{ Name: aws.String(name), UpdateId: aws.String(id), } + return findUpdate(ctx, conn, &input) +} + +func findUpdate(ctx context.Context, conn *eks.Client, input *eks.DescribeUpdateInput) (*types.Update, error) { output, err := conn.DescribeUpdate(ctx, input) if errs.IsA[*types.ResourceNotFoundException](err) { @@ -1054,9 +1060,9 @@ func statusCluster(ctx context.Context, conn *eks.Client, name string) retry.Sta } } -func statusClusterUpdate(ctx context.Context, conn *eks.Client, name, id string) retry.StateRefreshFunc { +func statusUpdate(ctx context.Context, conn *eks.Client, name, id string) retry.StateRefreshFunc { return func() (any, string, error) { - output, err := findClusterUpdateByTwoPartKey(ctx, conn, name, id) + output, err := findUpdateByTwoPartKey(ctx, conn, name, id) if tfresource.NotFound(err) { return nil, "", nil @@ -1112,7 +1118,7 @@ func waitClusterUpdateSuccessful(ctx context.Context, conn *eks.Client, name, id stateConf := &retry.StateChangeConf{ Pending: enum.Slice(types.UpdateStatusInProgress), Target: enum.Slice(types.UpdateStatusSuccessful), - Refresh: statusClusterUpdate(ctx, conn, name, id), + Refresh: statusUpdate(ctx, conn, name, id), Timeout: timeout, } diff --git a/internal/service/eks/cluster_test.go b/internal/service/eks/cluster_test.go index edc2c080430d..386ee9e46184 100644 --- a/internal/service/eks/cluster_test.go +++ b/internal/service/eks/cluster_test.go @@ -59,8 +59,8 @@ func TestAccEKSCluster_basic(t *testing.T) { resource.TestCheckNoResourceAttr(resourceName, "cluster_id"), resource.TestCheckResourceAttr(resourceName, "compute_config.#", "0"), acctest.CheckResourceAttrRFC3339(resourceName, names.AttrCreatedAt), + resource.TestCheckResourceAttr(resourceName, "deletion_protection", acctest.CtFalse), resource.TestCheckResourceAttr(resourceName, "enabled_cluster_log_types.#", "0"), - resource.TestCheckResourceAttr(resourceName, "enable_deletion_protection", acctest.CtFalse), resource.TestCheckResourceAttr(resourceName, "encryption_config.#", "0"), resource.TestMatchResourceAttr(resourceName, names.AttrEndpoint, regexache.MustCompile(`^https://`)), resource.TestCheckResourceAttr(resourceName, "identity.#", "1"), diff --git a/website/docs/r/eks_cluster.html.markdown b/website/docs/r/eks_cluster.html.markdown index 9f31195c2cfa..389c2e193bd2 100644 --- a/website/docs/r/eks_cluster.html.markdown +++ b/website/docs/r/eks_cluster.html.markdown @@ -344,15 +344,16 @@ The following arguments are required: The following arguments are optional: -* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `access_config` - (Optional) Configuration block for the access config associated with your cluster, see [Amazon EKS Access Entries](https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html). [Detailed](#access_config) below. * `bootstrap_self_managed_addons` - (Optional) Install default unmanaged add-ons, such as `aws-cni`, `kube-proxy`, and CoreDNS during cluster creation. If `false`, you must manually install desired add-ons. Changing this value will force a new cluster to be created. Defaults to `true`. * `compute_config` - (Optional) Configuration block with compute configuration for EKS Auto Mode. [Detailed](#compute_config) below. +* `deletion_protection` - (Optional) Whether to enable deletion protection for the cluster. When enabled, the cluster cannot be deleted unless deletion protection is first disabled. Default: `false`. * `enabled_cluster_log_types` - (Optional) List of the desired control plane logging to enable. For more information, see [Amazon EKS Control Plane Logging](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html). * `encryption_config` - (Optional) Configuration block with encryption configuration for the cluster. [Detailed](#encryption_config) below. * `force_update_version` - (Optional) Force version update by overriding upgrade-blocking readiness checks when updating a cluster. * `kubernetes_network_config` - (Optional) Configuration block with kubernetes network configuration for the cluster. [Detailed](#kubernetes_network_config) below. If removed, Terraform will only perform drift detection if a configuration value is provided. * `outpost_config` - (Optional) Configuration block representing the configuration of your local Amazon EKS cluster on an AWS Outpost. This block isn't available for creating Amazon EKS clusters on the AWS cloud. +* `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). * `remote_network_config` - (Optional) Configuration block with remote network configuration for EKS Hybrid Nodes. [Detailed](#remote_network_config) below. * `storage_config` - (Optional) Configuration block with storage configuration for EKS Auto Mode. [Detailed](#storage_config) below. * `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. From 2f7788d0b7f3f8aafdcbeb5a498f2c3bbbd45033 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Tue, 12 Aug 2025 13:16:14 -0700 Subject: [PATCH 1173/1301] Copy-pasted too hard --- internal/iter/apply_to_each_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/iter/apply_to_each_test.go b/internal/iter/apply_to_each_test.go index dde53efe05d6..02932aa9a1ac 100644 --- a/internal/iter/apply_to_each_test.go +++ b/internal/iter/apply_to_each_test.go @@ -20,7 +20,7 @@ func TestAppliedToEach(t *testing.T) { } tests := map[string]testCase{ "three elements": { - input: []string{"one", "two", "3", "a0"}, + input: []string{"one", "two", "3"}, expected: []string{"ONE", "TWO", "3"}, }, "one element": { From b138fef08a02644488710c2de6f826ee0cf84d80 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 16:16:15 -0400 Subject: [PATCH 1174/1301] Add 'TestAccEKSCluster_deletionProtection'. --- internal/service/eks/cluster_test.go | 70 ++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/internal/service/eks/cluster_test.go b/internal/service/eks/cluster_test.go index 386ee9e46184..470714ba77a3 100644 --- a/internal/service/eks/cluster_test.go +++ b/internal/service/eks/cluster_test.go @@ -16,8 +16,11 @@ import ( "github.com/aws/aws-sdk-go-v2/service/eks/types" sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" "github.com/hashicorp/terraform-plugin-testing/terraform" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" "github.com/hashicorp/terraform-provider-aws/internal/acctest" "github.com/hashicorp/terraform-provider-aws/internal/conns" tfeks "github.com/hashicorp/terraform-provider-aws/internal/service/eks" @@ -1428,6 +1431,56 @@ func TestAccEKSCluster_zonalShiftConfig(t *testing.T) { }) } +func TestAccEKSCluster_deletionProtection(t *testing.T) { + ctx := acctest.Context(t) + var cluster types.Cluster + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_eks_cluster.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t); testAccPreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.EKSServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckClusterDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccClusterConfig_deletionProtection(rName, true), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckClusterExists(ctx, resourceName, &cluster), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("deletion_protection"), knownvalue.Bool(false)), + }, + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{"bootstrap_self_managed_addons"}, + }, + { + Config: testAccClusterConfig_deletionProtection(rName, false), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckClusterExists(ctx, resourceName, &cluster), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("deletion_protection"), knownvalue.Bool(true)), + }, + }, + }, + }) +} + func testAccCheckClusterExists(ctx context.Context, n string, v *types.Cluster) resource.TestCheckFunc { return func(s *terraform.State) error { rs, ok := s.RootModule().Resources[n] @@ -2367,3 +2420,20 @@ resource "aws_eks_cluster" "test" { } `, rName, enabled)) } + +func testAccClusterConfig_deletionProtection(rName string, deletionProtection bool) string { + return acctest.ConfigCompose(testAccClusterConfig_base(rName), fmt.Sprintf(` +resource "aws_eks_cluster" "test" { + name = %[1]q + role_arn = aws_iam_role.cluster.arn + + vpc_config { + subnet_ids = aws_subnet.test[*].id + } + + deletion_protection = %[2]t + + depends_on = [aws_iam_role_policy_attachment.cluster_AmazonEKSClusterPolicy] +} +`, rName, deletionProtection)) +} From 8bd6c5ba4c97746ba91eae4c89ff1900ed29341b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 16:21:53 -0400 Subject: [PATCH 1175/1301] d/aws_eks_cluster: Add `deletion_protection` attribute. --- .changelog/43752.txt | 4 ++++ internal/service/eks/cluster_data_source.go | 12 +++++++----- internal/service/eks/cluster_data_source_test.go | 1 + internal/service/eks/service_package_gen.go | 1 + website/docs/d/eks_cluster.html.markdown | 1 + 5 files changed, 14 insertions(+), 5 deletions(-) diff --git a/.changelog/43752.txt b/.changelog/43752.txt index 64d61c2daa56..3267860f0ee0 100644 --- a/.changelog/43752.txt +++ b/.changelog/43752.txt @@ -1,3 +1,7 @@ ```release-note:enhancement resource/aws_eks_cluster: Add `deletion_protection` argument +``` + +```release-note:enhancement +data-source/aws_eks_cluster: Add `deletion_protection` attribute ``` \ No newline at end of file diff --git a/internal/service/eks/cluster_data_source.go b/internal/service/eks/cluster_data_source.go index c5db44de1e73..e613cc6bd0eb 100644 --- a/internal/service/eks/cluster_data_source.go +++ b/internal/service/eks/cluster_data_source.go @@ -16,6 +16,7 @@ import ( ) // @SDKDataSource("aws_eks_cluster", name="Cluster") +// @Tags func dataSourceCluster() *schema.Resource { return &schema.Resource{ ReadWithoutTimeout: dataSourceClusterRead, @@ -84,6 +85,10 @@ func dataSourceCluster() *schema.Resource { Type: schema.TypeString, Computed: true, }, + "deletion_protection": { + Type: schema.TypeBool, + Computed: true, + }, "enabled_cluster_log_types": { Type: schema.TypeSet, Computed: true, @@ -321,9 +326,7 @@ func dataSourceCluster() *schema.Resource { func dataSourceClusterRead(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics { var diags diag.Diagnostics - conn := meta.(*conns.AWSClient).EKSClient(ctx) - ignoreTagsConfig := meta.(*conns.AWSClient).IgnoreTagsConfig(ctx) name := d.Get(names.AttrName).(string) cluster, err := findClusterByName(ctx, conn, name) @@ -348,6 +351,7 @@ func dataSourceClusterRead(ctx context.Context, d *schema.ResourceData, meta any return sdkdiag.AppendErrorf(diags, "setting compute_config: %s", err) } d.Set(names.AttrCreatedAt, cluster.CreatedAt.Format(time.RFC3339)) + d.Set("deletion_protection", cluster.DeletionProtection) if err := d.Set("enabled_cluster_log_types", flattenLogging(cluster.Logging)); err != nil { return sdkdiag.AppendErrorf(diags, "setting enabled_cluster_log_types: %s", err) } @@ -382,9 +386,7 @@ func dataSourceClusterRead(ctx context.Context, d *schema.ResourceData, meta any return sdkdiag.AppendErrorf(diags, "setting zonal_shift_config: %s", err) } - if err := d.Set(names.AttrTags, keyValueTags(ctx, cluster.Tags).IgnoreAWS().IgnoreConfig(ignoreTagsConfig).Map()); err != nil { - return sdkdiag.AppendErrorf(diags, "setting tags: %s", err) - } + setTagsOut(ctx, cluster.Tags) return diags } diff --git a/internal/service/eks/cluster_data_source_test.go b/internal/service/eks/cluster_data_source_test.go index 66aec92b5ddb..211d1446555c 100644 --- a/internal/service/eks/cluster_data_source_test.go +++ b/internal/service/eks/cluster_data_source_test.go @@ -35,6 +35,7 @@ func TestAccEKSClusterDataSource_basic(t *testing.T) { resource.TestCheckNoResourceAttr(dataSourceResourceName, "cluster_id"), resource.TestCheckResourceAttr(resourceName, "compute_config.#", "0"), resource.TestCheckResourceAttrPair(resourceName, names.AttrCreatedAt, dataSourceResourceName, names.AttrCreatedAt), + resource.TestCheckResourceAttrPair(resourceName, "deletion_protection", dataSourceResourceName, "deletion_protection"), resource.TestCheckResourceAttr(dataSourceResourceName, "enabled_cluster_log_types.#", "2"), resource.TestCheckTypeSetElemAttr(dataSourceResourceName, "enabled_cluster_log_types.*", "api"), resource.TestCheckTypeSetElemAttr(dataSourceResourceName, "enabled_cluster_log_types.*", "audit"), diff --git a/internal/service/eks/service_package_gen.go b/internal/service/eks/service_package_gen.go index d6cfeed8635c..c459528558aa 100644 --- a/internal/service/eks/service_package_gen.go +++ b/internal/service/eks/service_package_gen.go @@ -78,6 +78,7 @@ func (p *servicePackage) SDKDataSources(ctx context.Context) []*inttypes.Service Factory: dataSourceCluster, TypeName: "aws_eks_cluster", Name: "Cluster", + Tags: unique.Make(inttypes.ServicePackageResourceTags{}), Region: unique.Make(inttypes.ResourceRegionDefault()), }, { diff --git a/website/docs/d/eks_cluster.html.markdown b/website/docs/d/eks_cluster.html.markdown index f270a5e54d6a..57234661b176 100644 --- a/website/docs/d/eks_cluster.html.markdown +++ b/website/docs/d/eks_cluster.html.markdown @@ -50,6 +50,7 @@ This data source exports the following attributes in addition to the arguments a * `data` - The base64 encoded certificate data required to communicate with your cluster. Add this to the `certificate-authority-data` section of the `kubeconfig` file for your cluster. * `cluster_id` - The ID of your local Amazon EKS cluster on the AWS Outpost. This attribute isn't available for an AWS EKS cluster on AWS cloud. * `created_at` - Unix epoch time stamp in seconds for when the cluster was created. +* `deletion_protection` - Whether deletion protection for the cluster is enabled. * `enabled_cluster_log_types` - The enabled control plane logs. * `endpoint` - Endpoint for your Kubernetes API server. * `identity` - Nested attribute containing identity provider information for your cluster. Only available on Kubernetes version 1.13 and 1.14 clusters created or upgraded on or after September 3, 2019. For an example using this information to enable IAM Roles for Service Accounts, see the [`aws_eks_cluster` resource documentation](/docs/providers/aws/r/eks_cluster.html). From f86317b75d191b590f077d64889447b7f5713eb1 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 17:30:27 -0400 Subject: [PATCH 1176/1301] Fix 'TestAccEKSCluster_deletionProtection. --- internal/service/eks/cluster.go | 46 ++++++++++++++++------------ internal/service/eks/cluster_test.go | 4 +-- 2 files changed, 29 insertions(+), 21 deletions(-) diff --git a/internal/service/eks/cluster.go b/internal/service/eks/cluster.go index c9bce8ae6e46..757a9cb0293f 100644 --- a/internal/service/eks/cluster.go +++ b/internal/service/eks/cluster.go @@ -772,21 +772,8 @@ func resourceClusterUpdate(ctx context.Context, d *schema.ResourceData, meta any } if d.HasChange("deletion_protection") { - input := eks.UpdateClusterConfigInput{ - DeletionProtection: aws.Bool(d.Get("deletion_protection").(bool)), - Name: aws.String(d.Id()), - } - - output, err := conn.UpdateClusterConfig(ctx, &input) - - if err != nil { - return sdkdiag.AppendErrorf(diags, "updating EKS Cluster (%s) deletion protection: %s", d.Id(), err) - } - - updateID := aws.ToString(output.Update.Id) - - if _, err := waitClusterUpdateSuccessful(ctx, conn, d.Id(), updateID, d.Timeout(schema.TimeoutUpdate)); err != nil { - return sdkdiag.AppendErrorf(diags, "waiting for EKS Cluster (%s) deletion proctection update (%s): %s", d.Id(), updateID, err) + if err := updateClusterDeletionProtection(ctx, conn, d.Id(), d.Get("deletion_protection").(bool), d.Timeout(schema.TimeoutUpdate)); err != nil { + return sdkdiag.AppendFromErr(diags, err) } } @@ -859,7 +846,7 @@ func resourceClusterUpdate(ctx context.Context, d *schema.ResourceData, meta any config.PublicAccessCidrs = flex.ExpandStringValueSet(v.(*schema.Set)) } - if err := updateVPCConfig(ctx, conn, d.Id(), &config, d.Timeout(schema.TimeoutUpdate)); err != nil { + if err := updateClusterVPCConfig(ctx, conn, d.Id(), &config, d.Timeout(schema.TimeoutUpdate)); err != nil { return sdkdiag.AppendFromErr(diags, err) } } @@ -870,7 +857,7 @@ func resourceClusterUpdate(ctx context.Context, d *schema.ResourceData, meta any SubnetIds: flex.ExpandStringValueSet(d.Get("vpc_config.0.subnet_ids").(*schema.Set)), } - if err := updateVPCConfig(ctx, conn, d.Id(), &config, d.Timeout(schema.TimeoutUpdate)); err != nil { + if err := updateClusterVPCConfig(ctx, conn, d.Id(), &config, d.Timeout(schema.TimeoutUpdate)); err != nil { return sdkdiag.AppendFromErr(diags, err) } } @@ -880,7 +867,7 @@ func resourceClusterUpdate(ctx context.Context, d *schema.ResourceData, meta any SecurityGroupIds: flex.ExpandStringValueSet(d.Get("vpc_config.0.security_group_ids").(*schema.Set)), } - if err := updateVPCConfig(ctx, conn, d.Id(), &config, d.Timeout(schema.TimeoutUpdate)); err != nil { + if err := updateClusterVPCConfig(ctx, conn, d.Id(), &config, d.Timeout(schema.TimeoutUpdate)); err != nil { return sdkdiag.AppendFromErr(diags, err) } } @@ -993,7 +980,28 @@ func findCluster(ctx context.Context, conn *eks.Client, input *eks.DescribeClust return output.Cluster, nil } -func updateVPCConfig(ctx context.Context, conn *eks.Client, name string, vpcConfig *types.VpcConfigRequest, timeout time.Duration) error { +func updateClusterDeletionProtection(ctx context.Context, conn *eks.Client, name string, deletionProtection bool, timeout time.Duration) error { + input := eks.UpdateClusterConfigInput{ + DeletionProtection: aws.Bool(deletionProtection), + Name: aws.String(name), + } + + output, err := conn.UpdateClusterConfig(ctx, &input) + + if err != nil { + return fmt.Errorf("updating EKS Cluster (%s) deletion protection (%t): %s", name, deletionProtection, err) + } + + updateID := aws.ToString(output.Update.Id) + + if _, err := waitClusterUpdateSuccessful(ctx, conn, name, updateID, timeout); err != nil { + return fmt.Errorf("waiting for EKS Cluster (%s) deletion protection update (%s): %s", name, updateID, err) + } + + return nil +} + +func updateClusterVPCConfig(ctx context.Context, conn *eks.Client, name string, vpcConfig *types.VpcConfigRequest, timeout time.Duration) error { input := eks.UpdateClusterConfigInput{ Name: aws.String(name), ResourcesVpcConfig: vpcConfig, diff --git a/internal/service/eks/cluster_test.go b/internal/service/eks/cluster_test.go index 470714ba77a3..580a359b5b0a 100644 --- a/internal/service/eks/cluster_test.go +++ b/internal/service/eks/cluster_test.go @@ -1454,7 +1454,7 @@ func TestAccEKSCluster_deletionProtection(t *testing.T) { }, }, ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("deletion_protection"), knownvalue.Bool(false)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("deletion_protection"), knownvalue.Bool(true)), }, }, { @@ -1474,7 +1474,7 @@ func TestAccEKSCluster_deletionProtection(t *testing.T) { }, }, ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("deletion_protection"), knownvalue.Bool(true)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("deletion_protection"), knownvalue.Bool(false)), }, }, }, From f0f3cfdb03cb488e8d5e37021d68c8933dbd4e72 Mon Sep 17 00:00:00 2001 From: tabito Date: Wed, 13 Aug 2025 09:16:20 +0900 Subject: [PATCH 1177/1301] add `flow_timeouts` to the schema --- .../networkfirewall/firewall_policy_data_source.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/internal/service/networkfirewall/firewall_policy_data_source.go b/internal/service/networkfirewall/firewall_policy_data_source.go index 1c063029c678..6706afb58d19 100644 --- a/internal/service/networkfirewall/firewall_policy_data_source.go +++ b/internal/service/networkfirewall/firewall_policy_data_source.go @@ -87,6 +87,18 @@ func dataSourceFirewallPolicy() *schema.Resource { Computed: true, Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ + "flow_timeouts": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "tcp_idle_timeout_seconds": { + Type: schema.TypeInt, + Computed: true, + }, + }, + }, + }, "rule_order": { Type: schema.TypeString, Computed: true, From 6507082e2027dd0c0e364c698456b9eb6b8bfc9d Mon Sep 17 00:00:00 2001 From: tabito Date: Wed, 13 Aug 2025 09:16:56 +0900 Subject: [PATCH 1178/1301] add an acctest --- .../firewall_policy_data_source_test.go | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/internal/service/networkfirewall/firewall_policy_data_source_test.go b/internal/service/networkfirewall/firewall_policy_data_source_test.go index 5968a3211869..6692ce634eea 100644 --- a/internal/service/networkfirewall/firewall_policy_data_source_test.go +++ b/internal/service/networkfirewall/firewall_policy_data_source_test.go @@ -192,6 +192,37 @@ func TestAccNetworkFirewallFirewallPolicyDataSource_activeThreatDefense(t *testi }) } +func TestAccNetworkFirewallFirewallPolicyDataSource_statefulEngineOptions(t *testing.T) { + ctx := acctest.Context(t) + rName := sdkacctest.RandomWithPrefix("resource-test-terraform") + resourceName := "aws_networkfirewall_firewall_policy.test" + datasourceName := "data.aws_networkfirewall_firewall_policy.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t); testAccPreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.NetworkFirewallServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + Config: testAccFirewallPolicyDataSourceConfig_statefulEngineOptions(rName), + Check: resource.ComposeAggregateTestCheckFunc( + resource.TestCheckResourceAttrPair(datasourceName, names.AttrARN, resourceName, names.AttrARN), resource.TestCheckResourceAttrPair(datasourceName, names.AttrDescription, resourceName, names.AttrDescription), + resource.TestCheckResourceAttrPair(datasourceName, "firewall_policy.#", resourceName, "firewall_policy.#"), + resource.TestCheckResourceAttrPair(datasourceName, "firewall_policy.0.stateless_fragment_default_actions.#", resourceName, "firewall_policy.0.stateless_fragment_default_actions.#"), + resource.TestCheckResourceAttrPair(datasourceName, "firewall_policy.0.stateless_fragment_default_actions.0", resourceName, "firewall_policy.0.stateless_fragment_default_actions.0"), + resource.TestCheckResourceAttrPair(datasourceName, "firewall_policy.0.stateful_engine_options.#", resourceName, "firewall_policy.0.stateful_engine_options.#"), + resource.TestCheckResourceAttrPair(datasourceName, "firewall_policy.0.stateful_engine_options.0.flow_timeouts.#", resourceName, "firewall_policy.0.stateful_engine_options.0.flow_timeouts.#"), + resource.TestCheckResourceAttrPair(datasourceName, "firewall_policy.0.stateful_engine_options.0.flow_timeouts.0.tcp_idle_timeout_seconds", resourceName, "firewall_policy.0.stateful_engine_options.0.flow_timeouts.0.tcp_idle_timeout_seconds"), + resource.TestCheckResourceAttrPair(datasourceName, "firewall_policy.0.stateful_engine_options.0.rule_order", resourceName, "firewall_policy.0.stateful_engine_options.0.rule_order"), + resource.TestCheckResourceAttrPair(datasourceName, "firewall_policy.0.stateful_engine_options.0.stream_exception_policy", resourceName, "firewall_policy.0.stateful_engine_options.0.stream_exception_policy"), + resource.TestCheckResourceAttrPair(datasourceName, names.AttrName, resourceName, names.AttrName), + resource.TestCheckResourceAttrPair(datasourceName, acctest.CtTagsPercent, resourceName, acctest.CtTagsPercent), + ), + }, + }, + }) +} + func testAccFirewallPolicyDataSourceConfig_basic(rName string) string { return fmt.Sprintf(` resource "aws_networkfirewall_firewall_policy" "test" { @@ -306,3 +337,27 @@ data "aws_networkfirewall_firewall_policy" "test" { arn = aws_networkfirewall_firewall_policy.test.arn }`, rName) } + +func testAccFirewallPolicyDataSourceConfig_statefulEngineOptions(rName string) string { + return fmt.Sprintf(` +resource "aws_networkfirewall_firewall_policy" "test" { + name = %[1]q + + firewall_policy { + stateless_fragment_default_actions = ["aws:drop"] + stateless_default_actions = ["aws:pass"] + + stateful_engine_options { + flow_timeouts { + tcp_idle_timeout_seconds = 60 + } + rule_order = "STRICT_ORDER" + stream_exception_policy = "DROP" + } + } +} +data "aws_networkfirewall_firewall_policy" "test" { + arn = aws_networkfirewall_firewall_policy.test.arn +} +`, rName) +} From 029ff49f219559d96db0fb2c9f5618a248b583b7 Mon Sep 17 00:00:00 2001 From: tabito Date: Wed, 13 Aug 2025 09:17:13 +0900 Subject: [PATCH 1179/1301] fix typo --- .../networkfirewall/firewall_policy_data_source_test.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/service/networkfirewall/firewall_policy_data_source_test.go b/internal/service/networkfirewall/firewall_policy_data_source_test.go index 6692ce634eea..651aa9b0f1a0 100644 --- a/internal/service/networkfirewall/firewall_policy_data_source_test.go +++ b/internal/service/networkfirewall/firewall_policy_data_source_test.go @@ -34,7 +34,7 @@ func TestAccNetworkFirewallFirewallPolicyDataSource_arn(t *testing.T) { resource.TestCheckResourceAttrPair(datasourceName, "firewall_policy.0.stateless_fragment_default_actions.0", resourceName, "firewall_policy.0.stateless_fragment_default_actions.0"), resource.TestCheckResourceAttrPair(datasourceName, "firewall_policy.0.stateless_default_actions.#", resourceName, "firewall_policy.0.stateless_default_actions.#"), resource.TestCheckResourceAttrPair(datasourceName, "firewall_policy.0.stateless_default_actions.0", resourceName, "firewall_policy.0.stateless_default_actions.0"), - resource.TestCheckResourceAttrPair(datasourceName, "firewall_policy.0.tls_inspection_coniguration_arn", resourceName, "firewall_policy.0.tls_inspection_coniguration_arn"), + resource.TestCheckResourceAttrPair(datasourceName, "firewall_policy.0.tls_inspection_configuration_arn", resourceName, "firewall_policy.0.tls_inspection_configuration_arn"), resource.TestCheckResourceAttrPair(datasourceName, names.AttrName, resourceName, names.AttrName), resource.TestCheckResourceAttrPair(datasourceName, acctest.CtTagsPercent, resourceName, acctest.CtTagsPercent), ), @@ -64,7 +64,7 @@ func TestAccNetworkFirewallFirewallPolicyDataSource_name(t *testing.T) { resource.TestCheckResourceAttrPair(datasourceName, "firewall_policy.0.stateless_fragment_default_actions.0", resourceName, "firewall_policy.0.stateless_fragment_default_actions.0"), resource.TestCheckResourceAttrPair(datasourceName, "firewall_policy.0.stateless_default_actions.#", resourceName, "firewall_policy.0.stateless_default_actions.#"), resource.TestCheckResourceAttrPair(datasourceName, "firewall_policy.0.stateless_default_actions.0", resourceName, "firewall_policy.0.stateless_default_actions.0"), - resource.TestCheckResourceAttrPair(datasourceName, "firewall_policy.0.tls_inspection_coniguration_arn", resourceName, "firewall_policy.0.tls_inspection_coniguration_arn"), + resource.TestCheckResourceAttrPair(datasourceName, "firewall_policy.0.tls_inspection_configuration_arn", resourceName, "firewall_policy.0.tls_inspection_configuration_arn"), resource.TestCheckResourceAttrPair(datasourceName, names.AttrName, resourceName, names.AttrName), resource.TestCheckResourceAttrPair(datasourceName, acctest.CtTagsPercent, resourceName, acctest.CtTagsPercent), ), @@ -94,7 +94,7 @@ func TestAccNetworkFirewallFirewallPolicyDataSource_nameAndARN(t *testing.T) { resource.TestCheckResourceAttrPair(datasourceName, "firewall_policy.0.stateless_fragment_default_actions.0", resourceName, "firewall_policy.0.stateless_fragment_default_actions.0"), resource.TestCheckResourceAttrPair(datasourceName, "firewall_policy.0.stateless_default_actions.#", resourceName, "firewall_policy.0.stateless_default_actions.#"), resource.TestCheckResourceAttrPair(datasourceName, "firewall_policy.0.stateless_default_actions.0", resourceName, "firewall_policy.0.stateless_default_actions.0"), - resource.TestCheckResourceAttrPair(datasourceName, "firewall_policy.0.tls_inspection_coniguration_arn", resourceName, "firewall_policy.0.tls_inspection_coniguration_arn"), + resource.TestCheckResourceAttrPair(datasourceName, "firewall_policy.0.tls_inspection_configuration_arn", resourceName, "firewall_policy.0.tls_inspection_configuration_arn"), resource.TestCheckResourceAttrPair(datasourceName, names.AttrName, resourceName, names.AttrName), resource.TestCheckResourceAttrPair(datasourceName, acctest.CtTagsPercent, resourceName, acctest.CtTagsPercent), ), From 076d22cd1b6492f51dfb4d2ddc3076d8cd5b6669 Mon Sep 17 00:00:00 2001 From: tabito Date: Wed, 13 Aug 2025 09:30:09 +0900 Subject: [PATCH 1180/1301] add changelog --- .changelog/43852.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/43852.txt diff --git a/.changelog/43852.txt b/.changelog/43852.txt new file mode 100644 index 000000000000..79bd8e40b7a6 --- /dev/null +++ b/.changelog/43852.txt @@ -0,0 +1,3 @@ +```release-note:bug +data-source/aws_networkfirewall_firewall_policy: Add missing schema definition for `firewall_policy.stateful_engine_options.flow_timeouts` +``` From 1581264433b5d9528266f2eef91a40e06b4b0ad5 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 12 Aug 2025 20:38:46 -0400 Subject: [PATCH 1181/1301] Run 'make fix-constants PKG=eks'. --- internal/service/eks/cluster.go | 10 +++++----- internal/service/eks/cluster_data_source.go | 4 ++-- internal/service/eks/cluster_data_source_test.go | 2 +- internal/service/eks/cluster_test.go | 6 +++--- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/internal/service/eks/cluster.go b/internal/service/eks/cluster.go index 757a9cb0293f..0d2d6e19ed46 100644 --- a/internal/service/eks/cluster.go +++ b/internal/service/eks/cluster.go @@ -168,7 +168,7 @@ func resourceCluster() *schema.Resource { Type: schema.TypeString, Computed: true, }, - "deletion_protection": { + names.AttrDeletionProtection: { Type: schema.TypeBool, Optional: true, Computed: true, @@ -534,7 +534,7 @@ func resourceClusterCreate(ctx context.Context, d *schema.ResourceData, meta any input.ComputeConfig = expandComputeConfigRequest(v.([]any)) } - if v, ok := d.GetOk("deletion_protection"); ok { + if v, ok := d.GetOk(names.AttrDeletionProtection); ok { input.DeletionProtection = aws.Bool(v.(bool)) } @@ -652,7 +652,7 @@ func resourceClusterRead(ctx context.Context, d *schema.ResourceData, meta any) return sdkdiag.AppendErrorf(diags, "setting compute_config: %s", err) } d.Set(names.AttrCreatedAt, cluster.CreatedAt.Format(time.RFC3339)) - d.Set("deletion_protection", cluster.DeletionProtection) + d.Set(names.AttrDeletionProtection, cluster.DeletionProtection) if err := d.Set("enabled_cluster_log_types", flattenLogging(cluster.Logging)); err != nil { return sdkdiag.AppendErrorf(diags, "setting enabled_cluster_log_types: %s", err) } @@ -771,8 +771,8 @@ func resourceClusterUpdate(ctx context.Context, d *schema.ResourceData, meta any } } - if d.HasChange("deletion_protection") { - if err := updateClusterDeletionProtection(ctx, conn, d.Id(), d.Get("deletion_protection").(bool), d.Timeout(schema.TimeoutUpdate)); err != nil { + if d.HasChange(names.AttrDeletionProtection) { + if err := updateClusterDeletionProtection(ctx, conn, d.Id(), d.Get(names.AttrDeletionProtection).(bool), d.Timeout(schema.TimeoutUpdate)); err != nil { return sdkdiag.AppendFromErr(diags, err) } } diff --git a/internal/service/eks/cluster_data_source.go b/internal/service/eks/cluster_data_source.go index e613cc6bd0eb..d49aeb66e3c3 100644 --- a/internal/service/eks/cluster_data_source.go +++ b/internal/service/eks/cluster_data_source.go @@ -85,7 +85,7 @@ func dataSourceCluster() *schema.Resource { Type: schema.TypeString, Computed: true, }, - "deletion_protection": { + names.AttrDeletionProtection: { Type: schema.TypeBool, Computed: true, }, @@ -351,7 +351,7 @@ func dataSourceClusterRead(ctx context.Context, d *schema.ResourceData, meta any return sdkdiag.AppendErrorf(diags, "setting compute_config: %s", err) } d.Set(names.AttrCreatedAt, cluster.CreatedAt.Format(time.RFC3339)) - d.Set("deletion_protection", cluster.DeletionProtection) + d.Set(names.AttrDeletionProtection, cluster.DeletionProtection) if err := d.Set("enabled_cluster_log_types", flattenLogging(cluster.Logging)); err != nil { return sdkdiag.AppendErrorf(diags, "setting enabled_cluster_log_types: %s", err) } diff --git a/internal/service/eks/cluster_data_source_test.go b/internal/service/eks/cluster_data_source_test.go index 211d1446555c..0ae617b1b543 100644 --- a/internal/service/eks/cluster_data_source_test.go +++ b/internal/service/eks/cluster_data_source_test.go @@ -35,7 +35,7 @@ func TestAccEKSClusterDataSource_basic(t *testing.T) { resource.TestCheckNoResourceAttr(dataSourceResourceName, "cluster_id"), resource.TestCheckResourceAttr(resourceName, "compute_config.#", "0"), resource.TestCheckResourceAttrPair(resourceName, names.AttrCreatedAt, dataSourceResourceName, names.AttrCreatedAt), - resource.TestCheckResourceAttrPair(resourceName, "deletion_protection", dataSourceResourceName, "deletion_protection"), + resource.TestCheckResourceAttrPair(resourceName, names.AttrDeletionProtection, dataSourceResourceName, names.AttrDeletionProtection), resource.TestCheckResourceAttr(dataSourceResourceName, "enabled_cluster_log_types.#", "2"), resource.TestCheckTypeSetElemAttr(dataSourceResourceName, "enabled_cluster_log_types.*", "api"), resource.TestCheckTypeSetElemAttr(dataSourceResourceName, "enabled_cluster_log_types.*", "audit"), diff --git a/internal/service/eks/cluster_test.go b/internal/service/eks/cluster_test.go index 580a359b5b0a..8729b702cc7a 100644 --- a/internal/service/eks/cluster_test.go +++ b/internal/service/eks/cluster_test.go @@ -62,7 +62,7 @@ func TestAccEKSCluster_basic(t *testing.T) { resource.TestCheckNoResourceAttr(resourceName, "cluster_id"), resource.TestCheckResourceAttr(resourceName, "compute_config.#", "0"), acctest.CheckResourceAttrRFC3339(resourceName, names.AttrCreatedAt), - resource.TestCheckResourceAttr(resourceName, "deletion_protection", acctest.CtFalse), + resource.TestCheckResourceAttr(resourceName, names.AttrDeletionProtection, acctest.CtFalse), resource.TestCheckResourceAttr(resourceName, "enabled_cluster_log_types.#", "0"), resource.TestCheckResourceAttr(resourceName, "encryption_config.#", "0"), resource.TestMatchResourceAttr(resourceName, names.AttrEndpoint, regexache.MustCompile(`^https://`)), @@ -1454,7 +1454,7 @@ func TestAccEKSCluster_deletionProtection(t *testing.T) { }, }, ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("deletion_protection"), knownvalue.Bool(true)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrDeletionProtection), knownvalue.Bool(true)), }, }, { @@ -1474,7 +1474,7 @@ func TestAccEKSCluster_deletionProtection(t *testing.T) { }, }, ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("deletion_protection"), knownvalue.Bool(false)), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrDeletionProtection), knownvalue.Bool(false)), }, }, }, From 7cb69b1f10b9c0ad4d5990c1709f6258bc1a8b0e Mon Sep 17 00:00:00 2001 From: Anthony Wat Date: Wed, 13 Aug 2025 01:14:17 -0400 Subject: [PATCH 1182/1301] chore: Remove aws.StringSlice usage from r/aws_finspace_kx_volume --- internal/service/finspace/kx_volume.go | 2 +- website/docs/r/finspace_kx_volume.html.markdown | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/finspace/kx_volume.go b/internal/service/finspace/kx_volume.go index 64234ca88835..5b24a999a2ec 100644 --- a/internal/service/finspace/kx_volume.go +++ b/internal/service/finspace/kx_volume.go @@ -243,7 +243,7 @@ func resourceKxVolumeRead(ctx context.Context, d *schema.ResourceData, meta any) d.Set(names.AttrDescription, out.Description) d.Set("created_timestamp", out.CreatedTimestamp.String()) d.Set("last_modified_timestamp", out.LastModifiedTimestamp.String()) - d.Set(names.AttrAvailabilityZones, aws.StringSlice(out.AvailabilityZoneIds)) + d.Set(names.AttrAvailabilityZones, out.AvailabilityZoneIds) if err := d.Set("nas1_configuration", flattenNas1Configuration(out.Nas1Configuration)); err != nil { return create.AppendDiagError(diags, names.FinSpace, create.ErrActionSetting, ResNameKxVolume, d.Id(), err) diff --git a/website/docs/r/finspace_kx_volume.html.markdown b/website/docs/r/finspace_kx_volume.html.markdown index e96a0edb147d..50f5cc1665ff 100644 --- a/website/docs/r/finspace_kx_volume.html.markdown +++ b/website/docs/r/finspace_kx_volume.html.markdown @@ -18,7 +18,7 @@ Terraform resource for managing an AWS FinSpace Kx Volume. resource "aws_finspace_kx_volume" "example" { name = "my-tf-kx-volume" environment_id = aws_finspace_kx_environment.example.id - availability_zones = "use1-az2" + availability_zones = ["use1-az2"] az_mode = "SINGLE" type = "NAS_1" nas1_configuration { From aa260b420e12d00fb42b9ce81c14e9c41f4df2dc Mon Sep 17 00:00:00 2001 From: Anthony Wat Date: Wed, 13 Aug 2025 02:04:49 -0400 Subject: [PATCH 1183/1301] chore: Remove aws.StringSlice usages from r/aws_wafv2_web_acl --- internal/service/wafv2/flex.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/wafv2/flex.go b/internal/service/wafv2/flex.go index 518d1c7b8c8b..6f71b8715f56 100644 --- a/internal/service/wafv2/flex.go +++ b/internal/service/wafv2/flex.go @@ -2539,8 +2539,8 @@ func flattenCookiesMatchPattern(c *awstypes.CookieMatchPattern) any { } m := map[string]any{ - "included_cookies": aws.StringSlice(c.IncludedCookies), - "excluded_cookies": aws.StringSlice(c.ExcludedCookies), + "included_cookies": c.IncludedCookies, + "excluded_cookies": c.ExcludedCookies, } if c.All != nil { From 718d1774c593ac3fca03c55044b91989923ad568 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 06:59:13 +0000 Subject: [PATCH 1184/1301] Bump breathingdust/firewatch from 2.0.7 to 2.0.8 Bumps [breathingdust/firewatch](https://github.com/breathingdust/firewatch) from 2.0.7 to 2.0.8. - [Release notes](https://github.com/breathingdust/firewatch/releases) - [Commits](https://github.com/breathingdust/firewatch/compare/ee67583a20f6f6741ca2f499a146e0110e5095ea...9fd4a9c5d71091defabd7d931843b24341c19769) --- updated-dependencies: - dependency-name: breathingdust/firewatch dependency-version: 2.0.8 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/firewatch.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/firewatch.yml b/.github/workflows/firewatch.yml index 47c3e5e4e5b7..817b5fbfaec6 100644 --- a/.github/workflows/firewatch.yml +++ b/.github/workflows/firewatch.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Firewatch - uses: breathingdust/firewatch@ee67583a20f6f6741ca2f499a146e0110e5095ea # v2.0.7 + uses: breathingdust/firewatch@9fd4a9c5d71091defabd7d931843b24341c19769 # v2.0.8 with: github_token: ${{ secrets.GITHUB_TOKEN }} alert_threshold: 10 From ad5e5155d8d8b8718348f73de78023193b8796c5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 09:04:47 -0400 Subject: [PATCH 1185/1301] Bump breathingdust/github-jira-tidy from 0.11.0 to 0.12.0 (#43858) Bumps [breathingdust/github-jira-tidy](https://github.com/breathingdust/github-jira-tidy) from 0.11.0 to 0.12.0. - [Release notes](https://github.com/breathingdust/github-jira-tidy/releases) - [Commits](https://github.com/breathingdust/github-jira-tidy/compare/a64b76479e0021bf2ea7b2066b7496e0d365f929...b1d3ce0770e538f0a192911b9dc250ac11064923) --- updated-dependencies: - dependency-name: breathingdust/github-jira-tidy dependency-version: 0.12.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/post-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/post-publish.yml b/.github/workflows/post-publish.yml index 14bb2b026e20..c8f6544c7456 100644 --- a/.github/workflows/post-publish.yml +++ b/.github/workflows/post-publish.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Tidy Jira - uses: breathingdust/github-jira-tidy@a64b76479e0021bf2ea7b2066b7496e0d365f929 # v0.11.0 + uses: breathingdust/github-jira-tidy@b1d3ce0770e538f0a192911b9dc250ac11064923 # v0.12.0 with: jira_host: 'hashicorp.atlassian.net' jira_username: 'sdavis@hashicorp.com' From 7e16bb423c3dbdf41b07961ef734116c9ef593e7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 09:07:37 -0400 Subject: [PATCH 1186/1301] Bump breathingdust/github-team-slackbot from 18.5.3 to 18.5.4 (#43856) Bumps [breathingdust/github-team-slackbot](https://github.com/breathingdust/github-team-slackbot) from 18.5.3 to 18.5.4. - [Release notes](https://github.com/breathingdust/github-team-slackbot/releases) - [Commits](https://github.com/breathingdust/github-team-slackbot/compare/1993808d8d185c6786607cb97e8d8fac778eb3f2...86aab12fa9d04755f51c543c9211acf6caa7005a) --- updated-dependencies: - dependency-name: breathingdust/github-team-slackbot dependency-version: 18.5.4 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/maintainer_helpers.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/maintainer_helpers.yml b/.github/workflows/maintainer_helpers.yml index b1572abc0228..3dba8b4db589 100644 --- a/.github/workflows/maintainer_helpers.yml +++ b/.github/workflows/maintainer_helpers.yml @@ -229,7 +229,7 @@ jobs: - name: Open Maintainer Pull Request Stats if: steps.token.outcome != 'skipped' - uses: breathingdust/github-team-slackbot@1993808d8d185c6786607cb97e8d8fac778eb3f2 # v18.5.3 + uses: breathingdust/github-team-slackbot@86aab12fa9d04755f51c543c9211acf6caa7005a # v18.5.4 with: github_token: ${{ steps.token.outputs.token }} team_slug: terraform-aws From 5554477e458bb2cdecf07c8a83abb46aaaaf83d9 Mon Sep 17 00:00:00 2001 From: changelogbot Date: Wed, 13 Aug 2025 13:30:40 +0000 Subject: [PATCH 1187/1301] Update CHANGELOG.md for #43787 --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d90b1394d242..fd54bd2cad22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ ## 6.9.0 (Unreleased) +FEATURES: + +* **New Resource:** `aws_appsync_api` ([#43787](https://github.com/hashicorp/terraform-provider-aws/issues/43787)) +* **New Resource:** `aws_appsync_channel_namespace` ([#43787](https://github.com/hashicorp/terraform-provider-aws/issues/43787)) + ENHANCEMENTS: * resource/aws_cloudwatch_event_rule: Add resource identity support ([#43758](https://github.com/hashicorp/terraform-provider-aws/issues/43758)) @@ -14,6 +19,7 @@ ENHANCEMENTS: BUG FIXES: * data-source/aws_lambda_function: Fix missing value for `reserved_concurrent_executions` attribute when a published version exists. This functionality requires the `lambda:GetFunctionConcurrency` IAM permission ([#43753](https://github.com/hashicorp/terraform-provider-aws/issues/43753)) +* data-source/aws_networkfirewall_firewall_policy: Add missing schema definition for `firewall_policy.stateful_engine_options.flow_timeouts` ([#43852](https://github.com/hashicorp/terraform-provider-aws/issues/43852)) * resource/aws_cognito_risk_configuration: Make `account_takeover_risk_configuration.notify_configuration` optional ([#33624](https://github.com/hashicorp/terraform-provider-aws/issues/33624)) * resource/aws_ecs_service: Fix tagging failure after upgrading to v6 provider ([#43816](https://github.com/hashicorp/terraform-provider-aws/issues/43816)) * resource/aws_lambda_function: Fix missing value for `reserved_concurrent_executions` attribute when a published version exists. This functionality requires the `lambda:GetFunctionConcurrency` IAM permission ([#43753](https://github.com/hashicorp/terraform-provider-aws/issues/43753)) From b32c16e81a80466b5ab6f0c2ebbdd580614fd2b3 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 13 Aug 2025 09:31:52 -0400 Subject: [PATCH 1188/1301] r/aws_eks_cluster: Set DeletionProtection=false in sweeper. --- internal/service/eks/sweep.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/internal/service/eks/sweep.go b/internal/service/eks/sweep.go index f3730517dc37..f70d2b21f7f9 100644 --- a/internal/service/eks/sweep.go +++ b/internal/service/eks/sweep.go @@ -6,6 +6,7 @@ package eks import ( "fmt" "log" + "time" "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/service/eks" @@ -144,6 +145,13 @@ func sweepClusters(region string) error { } for _, v := range page.Clusters { + const ( + timeout = 15 * time.Minute + ) + if err := updateClusterDeletionProtection(ctx, conn, v, false, timeout); err != nil { + log.Printf("[WARN] Setting EKS Cluster %s DeletionProtection=false: %s", v, err) + } + r := resourceCluster() d := r.Data(nil) d.SetId(v) From b3014f23d251b75356d330a034664154caf664fe Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 13 Aug 2025 09:37:02 -0400 Subject: [PATCH 1189/1301] r/aws_eks_cluster: Handle 'ResourceNotFoundException' in sweeper. --- internal/service/eks/sweep.go | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/internal/service/eks/sweep.go b/internal/service/eks/sweep.go index f70d2b21f7f9..32d774f4b66f 100644 --- a/internal/service/eks/sweep.go +++ b/internal/service/eks/sweep.go @@ -10,7 +10,7 @@ import ( "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/service/eks" - "github.com/aws/aws-sdk-go-v2/service/eks/types" + awstypes "github.com/aws/aws-sdk-go-v2/service/eks/types" multierror "github.com/hashicorp/go-multierror" "github.com/hashicorp/terraform-plugin-testing/helper/resource" "github.com/hashicorp/terraform-provider-aws/internal/errs" @@ -92,7 +92,7 @@ func sweepAddons(region string) error { // There are EKS clusters that are listed (and are in the AWS Console) but can't be found. // ¯\_(ツ)_/¯ - if errs.IsA[*types.ResourceNotFoundException](err) { + if errs.IsA[*awstypes.ResourceNotFoundException](err) { break } @@ -148,7 +148,15 @@ func sweepClusters(region string) error { const ( timeout = 15 * time.Minute ) - if err := updateClusterDeletionProtection(ctx, conn, v, false, timeout); err != nil { + err := updateClusterDeletionProtection(ctx, conn, v, false, timeout) + + // There are EKS clusters that are listed (and are in the AWS Console) but can't be found. + // ¯\_(ツ)_/¯ + if errs.IsA[*awstypes.ResourceNotFoundException](err) { + break + } + + if err != nil { log.Printf("[WARN] Setting EKS Cluster %s DeletionProtection=false: %s", v, err) } @@ -209,7 +217,7 @@ func sweepFargateProfiles(region string) error { // There are EKS clusters that are listed (and are in the AWS Console) but can't be found. // ¯\_(ツ)_/¯ - if errs.IsA[*types.ResourceNotFoundException](err) { + if errs.IsA[*awstypes.ResourceNotFoundException](err) { break } @@ -278,7 +286,7 @@ func sweepIdentityProvidersConfig(region string) error { // There are EKS clusters that are listed (and are in the AWS Console) but can't be found. // ¯\_(ツ)_/¯ - if errs.IsA[*types.ResourceNotFoundException](err) { + if errs.IsA[*awstypes.ResourceNotFoundException](err) { break } @@ -347,7 +355,7 @@ func sweepNodeGroups(region string) error { // There are EKS clusters that are listed (and are in the AWS Console) but can't be found. // ¯\_(ツ)_/¯ - if errs.IsA[*types.ResourceNotFoundException](err) { + if errs.IsA[*awstypes.ResourceNotFoundException](err) { break } From 8225d92e5450ab6b21c077587538a5bd3090609c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 13 Aug 2025 09:45:41 -0400 Subject: [PATCH 1190/1301] r/aws_eks_cluster: Use '%w' in 'fmt.Errorf'. --- internal/service/eks/cluster.go | 8 ++++---- internal/service/eks/sweep.go | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/service/eks/cluster.go b/internal/service/eks/cluster.go index 0d2d6e19ed46..ebe7b37b9365 100644 --- a/internal/service/eks/cluster.go +++ b/internal/service/eks/cluster.go @@ -989,13 +989,13 @@ func updateClusterDeletionProtection(ctx context.Context, conn *eks.Client, name output, err := conn.UpdateClusterConfig(ctx, &input) if err != nil { - return fmt.Errorf("updating EKS Cluster (%s) deletion protection (%t): %s", name, deletionProtection, err) + return fmt.Errorf("updating EKS Cluster (%s) deletion protection (%t): %w", name, deletionProtection, err) } updateID := aws.ToString(output.Update.Id) if _, err := waitClusterUpdateSuccessful(ctx, conn, name, updateID, timeout); err != nil { - return fmt.Errorf("waiting for EKS Cluster (%s) deletion protection update (%s): %s", name, updateID, err) + return fmt.Errorf("waiting for EKS Cluster (%s) deletion protection update (%s): %w", name, updateID, err) } return nil @@ -1010,13 +1010,13 @@ func updateClusterVPCConfig(ctx context.Context, conn *eks.Client, name string, output, err := conn.UpdateClusterConfig(ctx, &input) if err != nil { - return fmt.Errorf("updating EKS Cluster (%s) VPC configuration: %s", name, err) + return fmt.Errorf("updating EKS Cluster (%s) VPC configuration: %w", name, err) } updateID := aws.ToString(output.Update.Id) if _, err := waitClusterUpdateSuccessful(ctx, conn, name, updateID, timeout); err != nil { - return fmt.Errorf("waiting for EKS Cluster (%s) VPC configuration update (%s): %s", name, updateID, err) + return fmt.Errorf("waiting for EKS Cluster (%s) VPC configuration update (%s): %w", name, updateID, err) } return nil diff --git a/internal/service/eks/sweep.go b/internal/service/eks/sweep.go index 32d774f4b66f..ee8e9f5cf260 100644 --- a/internal/service/eks/sweep.go +++ b/internal/service/eks/sweep.go @@ -153,7 +153,7 @@ func sweepClusters(region string) error { // There are EKS clusters that are listed (and are in the AWS Console) but can't be found. // ¯\_(ツ)_/¯ if errs.IsA[*awstypes.ResourceNotFoundException](err) { - break + continue } if err != nil { From 3d4588b201ec00e714143ece401c838033740270 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 13 Aug 2025 09:51:23 -0400 Subject: [PATCH 1191/1301] generate/servicepackage: Use '%w' in 'fmt.Errorf' format string. --- internal/generate/servicepackage/endpoint_resolver.go.gtpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/generate/servicepackage/endpoint_resolver.go.gtpl b/internal/generate/servicepackage/endpoint_resolver.go.gtpl index d4fbc9a19672..838d99aedccd 100644 --- a/internal/generate/servicepackage/endpoint_resolver.go.gtpl +++ b/internal/generate/servicepackage/endpoint_resolver.go.gtpl @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params {{ .GoV2Package }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up {{ .GoV2Package }} endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up {{ .GoV2Package }} endpoint %q: %w", hostname, err) return } } else { From 7c5856b300f1885c6900189b0d0b45bcea2ca0b2 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 13 Aug 2025 09:52:45 -0400 Subject: [PATCH 1192/1301] generate/serviceendpointtests: Prefer 'errors.New' over 'fmt.Errorf'. --- internal/generate/serviceendpointtests/file.gtpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/generate/serviceendpointtests/file.gtpl b/internal/generate/serviceendpointtests/file.gtpl index 301c7f3fb362..193985889d91 100644 --- a/internal/generate/serviceendpointtests/file.gtpl +++ b/internal/generate/serviceendpointtests/file.gtpl @@ -831,7 +831,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { From 14e2464c66ab73ed3a00a69f192447ffbcdbec48 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 13 Aug 2025 10:01:49 -0400 Subject: [PATCH 1193/1301] Build 'stringer'. --- .ci/tools/go.mod | 2 +- .ci/tools/main.go | 1 + GNUmakefile | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.ci/tools/go.mod b/.ci/tools/go.mod index 6783bcdbe621..797651d84873 100644 --- a/.ci/tools/go.mod +++ b/.ci/tools/go.mod @@ -12,6 +12,7 @@ require ( github.com/pavius/impi v0.0.3 github.com/rhysd/actionlint v1.7.7 github.com/terraform-linters/tflint v0.58.1 + golang.org/x/tools v0.35.0 mvdan.cc/gofumpt v0.8.0 ) @@ -381,7 +382,6 @@ require ( golang.org/x/term v0.33.0 // indirect golang.org/x/text v0.27.0 // indirect golang.org/x/time v0.12.0 // indirect - golang.org/x/tools v0.35.0 // indirect google.golang.org/api v0.242.0 // indirect google.golang.org/genproto v0.0.0-20250505200425-f936aa4a68b2 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 // indirect diff --git a/.ci/tools/main.go b/.ci/tools/main.go index f4e7bc1660a4..9028fa1a3d36 100644 --- a/.ci/tools/main.go +++ b/.ci/tools/main.go @@ -13,5 +13,6 @@ import ( _ "github.com/pavius/impi/cmd/impi" _ "github.com/rhysd/actionlint/cmd/actionlint" _ "github.com/terraform-linters/tflint" + _ "golang.org/x/tools/cmd/stringer" _ "mvdan.cc/gofumpt" ) diff --git a/GNUmakefile b/GNUmakefile index 666f885c79ef..bb3e9f3e64bf 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -730,6 +730,7 @@ tools: prereq-go ## Install tools cd .ci/tools && $(GO_VER) install github.com/pavius/impi/cmd/impi cd .ci/tools && $(GO_VER) install github.com/rhysd/actionlint/cmd/actionlint cd .ci/tools && $(GO_VER) install github.com/terraform-linters/tflint + cd .ci/tools && $(GO_VER) install golang.org/x/tools/cmd/stringer cd .ci/tools && $(GO_VER) install mvdan.cc/gofumpt ts: testacc-short ## Alias to testacc-short From 9b55c71dfa49e9eff83f6394bada5331e8f9996a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 10:04:18 -0400 Subject: [PATCH 1194/1301] Bump the aws-sdk-go-v2 group across 1 directory with 5 updates (#43860) * Bump the aws-sdk-go-v2 group across 1 directory with 5 updates Bumps the aws-sdk-go-v2 group with 5 updates in the / directory: | Package | From | To | | --- | --- | --- | | [github.com/aws/aws-sdk-go-v2/service/codebuild](https://github.com/aws/aws-sdk-go-v2) | `1.65.0` | `1.66.0` | | [github.com/aws/aws-sdk-go-v2/service/ec2](https://github.com/aws/aws-sdk-go-v2) | `1.242.0` | `1.243.0` | | [github.com/aws/aws-sdk-go-v2/service/organizations](https://github.com/aws/aws-sdk-go-v2) | `1.42.0` | `1.43.0` | | [github.com/aws/aws-sdk-go-v2/service/sagemaker](https://github.com/aws/aws-sdk-go-v2) | `1.207.0` | `1.208.0` | | [github.com/aws/aws-sdk-go-v2/service/transcribe](https://github.com/aws/aws-sdk-go-v2) | `1.50.0` | `1.51.0` | Updates `github.com/aws/aws-sdk-go-v2/service/codebuild` from 1.65.0 to 1.66.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.65.0...service/s3/v1.66.0) Updates `github.com/aws/aws-sdk-go-v2/service/ec2` from 1.242.0 to 1.243.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/ec2/v1.242.0...service/ec2/v1.243.0) Updates `github.com/aws/aws-sdk-go-v2/service/organizations` from 1.42.0 to 1.43.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.42.0...service/s3/v1.43.0) Updates `github.com/aws/aws-sdk-go-v2/service/sagemaker` from 1.207.0 to 1.208.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/ec2/v1.207.0...service/ec2/v1.208.0) Updates `github.com/aws/aws-sdk-go-v2/service/transcribe` from 1.50.0 to 1.51.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.50.0...service/s3/v1.51.0) --- updated-dependencies: - dependency-name: github.com/aws/aws-sdk-go-v2/service/codebuild dependency-version: 1.66.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/ec2 dependency-version: 1.243.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/organizations dependency-version: 1.43.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/sagemaker dependency-version: 1.208.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/transcribe dependency-version: 1.51.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 ... Signed-off-by: dependabot[bot] * chore: make clean-tidy --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jared Baker --- go.mod | 10 +++++----- go.sum | 20 ++++++++++---------- tools/tfsdk2fw/go.mod | 10 +++++----- tools/tfsdk2fw/go.sum | 20 ++++++++++---------- 4 files changed, 30 insertions(+), 30 deletions(-) diff --git a/go.mod b/go.mod index c8e4ef630f00..33f10ae8bdc4 100644 --- a/go.mod +++ b/go.mod @@ -63,7 +63,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.48.0 github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.56.0 github.com/aws/aws-sdk-go-v2/service/codeartifact v1.37.0 - github.com/aws/aws-sdk-go-v2/service/codebuild v1.65.0 + github.com/aws/aws-sdk-go-v2/service/codebuild v1.66.0 github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.20.0 github.com/aws/aws-sdk-go-v2/service/codecommit v1.31.0 github.com/aws/aws-sdk-go-v2/service/codeconnections v1.9.0 @@ -103,7 +103,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/drs v1.34.0 github.com/aws/aws-sdk-go-v2/service/dsql v1.9.0 github.com/aws/aws-sdk-go-v2/service/dynamodb v1.47.0 - github.com/aws/aws-sdk-go-v2/service/ec2 v1.242.0 + github.com/aws/aws-sdk-go-v2/service/ec2 v1.243.0 github.com/aws/aws-sdk-go-v2/service/ecr v1.49.0 github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.36.0 github.com/aws/aws-sdk-go-v2/service/ecs v1.63.0 @@ -187,7 +187,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/odb v1.3.0 github.com/aws/aws-sdk-go-v2/service/opensearch v1.51.0 github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.24.0 - github.com/aws/aws-sdk-go-v2/service/organizations v1.42.0 + github.com/aws/aws-sdk-go-v2/service/organizations v1.43.0 github.com/aws/aws-sdk-go-v2/service/osis v1.18.0 github.com/aws/aws-sdk-go-v2/service/outposts v1.55.0 github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.22.0 @@ -225,7 +225,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/s3outposts v1.32.0 github.com/aws/aws-sdk-go-v2/service/s3tables v1.9.0 github.com/aws/aws-sdk-go-v2/service/s3vectors v1.4.0 - github.com/aws/aws-sdk-go-v2/service/sagemaker v1.207.0 + github.com/aws/aws-sdk-go-v2/service/sagemaker v1.208.0 github.com/aws/aws-sdk-go-v2/service/scheduler v1.16.0 github.com/aws/aws-sdk-go-v2/service/schemas v1.32.0 github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.38.0 @@ -258,7 +258,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.14.0 github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.34.0 github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.34.0 - github.com/aws/aws-sdk-go-v2/service/transcribe v1.50.0 + github.com/aws/aws-sdk-go-v2/service/transcribe v1.51.0 github.com/aws/aws-sdk-go-v2/service/transfer v1.64.0 github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.27.0 github.com/aws/aws-sdk-go-v2/service/vpclattice v1.17.0 diff --git a/go.sum b/go.sum index ff8809c8533c..04813b8ef153 100644 --- a/go.sum +++ b/go.sum @@ -137,8 +137,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.56.0 h1:GiSL2mJ/gSJR4p2HH github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.56.0/go.mod h1:0jzhov8WzD4VylEv83E+RkqA8W6k7DX37XyrwMavyvQ= github.com/aws/aws-sdk-go-v2/service/codeartifact v1.37.0 h1:LVhbfPyUufKIjKVengJswggsFAbdRJe3LGNf6xVjgDg= github.com/aws/aws-sdk-go-v2/service/codeartifact v1.37.0/go.mod h1:tNVsC5SHowfci8r2wS95tND/l5np9AyHs7P8+MHcqfU= -github.com/aws/aws-sdk-go-v2/service/codebuild v1.65.0 h1:nk002AVU7WXmiV9c2HFZWixS0JcHL8lW0WocnR6TKqY= -github.com/aws/aws-sdk-go-v2/service/codebuild v1.65.0/go.mod h1:HiaBb3/RkkKBXLfkHch1Wy8tdMkyxhAR75PDf2BZyd0= +github.com/aws/aws-sdk-go-v2/service/codebuild v1.66.0 h1:Tm4WvXnZ+tAlYB0W+hKi53reoQpUKr7/IiG/8zPYfOE= +github.com/aws/aws-sdk-go-v2/service/codebuild v1.66.0/go.mod h1:HiaBb3/RkkKBXLfkHch1Wy8tdMkyxhAR75PDf2BZyd0= github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.20.0 h1:1yOLOPPI/SP+z1z7v50r4i0yJEBe667Tg513qv34Mok= github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.20.0/go.mod h1:/YU2KmYK0mw3Nwo/Odx3vFsqfR9GYeirr2trSazXGFc= github.com/aws/aws-sdk-go-v2/service/codecommit v1.31.0 h1:Zen0PfPRG8lStgXUeuNxvdAJ3TlFYJfkJStGmG0RPMg= @@ -217,8 +217,8 @@ github.com/aws/aws-sdk-go-v2/service/dsql v1.9.0 h1:AWC9tLObLqxSeyolw7aug3PxEnU7 github.com/aws/aws-sdk-go-v2/service/dsql v1.9.0/go.mod h1:v4koXz6cYLm9p9kT2iYCcLCxxDkX8JFg3UBElyXB80I= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.47.0 h1:A5zeikrrAgz3YtNzhMat4K8hK/CFzOjFKLVk8pI7Cz8= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.47.0/go.mod h1:tMQ/Edfn5xLcBFSVd3JDreJPias8GqBq0dVbCbMz9vs= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.242.0 h1:xgbWik/QFlVCvoUbumUPPZI7+0RXiScb8eHSV06CELU= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.242.0/go.mod h1:EeWmteKqZjaMj45MUmPET1SisFI+HkqWIRQoyjMivcc= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.243.0 h1:s7mU5Zfa1ksg86BGjYKU03Bs63m5MY1ps4jOZFayBwM= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.243.0/go.mod h1:EeWmteKqZjaMj45MUmPET1SisFI+HkqWIRQoyjMivcc= github.com/aws/aws-sdk-go-v2/service/ecr v1.49.0 h1:NgkSYzgM3UhdSrXUKkl49FhbIPpNguZE4EXEGRhDcEU= github.com/aws/aws-sdk-go-v2/service/ecr v1.49.0/go.mod h1:bi1dAg6vk8KC8nyf6DjQ3dkNJbzTirMSmZHbcRNa2vE= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.36.0 h1:8GcatvIKYx5WkwjwY4H+K7egBHOddC3wwS6fIbpOUlQ= @@ -395,8 +395,8 @@ github.com/aws/aws-sdk-go-v2/service/opensearch v1.51.0 h1:dxYQ9hDRI/yXFzO3sYT+x github.com/aws/aws-sdk-go-v2/service/opensearch v1.51.0/go.mod h1:NQvq4ckAgpR9/QqqI5+eWnP6rNlpOVta9udBG9GVHcw= github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.24.0 h1:usR9TyfGyoGq2SK2ksEc3qwpYeBe03rccTj63hUFWKk= github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.24.0/go.mod h1:anGtuIsRziAehQRV6pPE6LbaGBQ2q1Gg20D3Ixtm4LU= -github.com/aws/aws-sdk-go-v2/service/organizations v1.42.0 h1:n2mB6r/G1HNg1XIX1db2YVTve2IkGNJc7FjTFsvEXfU= -github.com/aws/aws-sdk-go-v2/service/organizations v1.42.0/go.mod h1:DbK1D8dgPVhcX1eNASHk5Q9C+N58RFw5PvN+2osa+Ws= +github.com/aws/aws-sdk-go-v2/service/organizations v1.43.0 h1:mkEqqGgdmOQ7DbfWVKL8TmAki9S3f+4YiMwgKN6TIyE= +github.com/aws/aws-sdk-go-v2/service/organizations v1.43.0/go.mod h1:DbK1D8dgPVhcX1eNASHk5Q9C+N58RFw5PvN+2osa+Ws= github.com/aws/aws-sdk-go-v2/service/osis v1.18.0 h1:71GQ3yQ1sGjXsAOBso7nVLCLJrCoDQP1IhYbQciMpFk= github.com/aws/aws-sdk-go-v2/service/osis v1.18.0/go.mod h1:O3bVtO289aQvaGA56/SPbLeoEBvkbr1BerS/A94Xeik= github.com/aws/aws-sdk-go-v2/service/outposts v1.55.0 h1:PlpUSiYutFa6aEeRrQYUo8zomTuAx5oXxjwrZ/XZH+8= @@ -471,8 +471,8 @@ github.com/aws/aws-sdk-go-v2/service/s3tables v1.9.0 h1:b+DS5OdH3yZCVMHLs/8aA9Nu github.com/aws/aws-sdk-go-v2/service/s3tables v1.9.0/go.mod h1:jVLVoLsG7vN8XEO7OQ7Bqw6qqHXMqWbSBMZ7tmY8R9Q= github.com/aws/aws-sdk-go-v2/service/s3vectors v1.4.0 h1:9xIfi7XPNyqbrZBCVsAnxlajEsNLP4qZ/T+rw6NYtZ0= github.com/aws/aws-sdk-go-v2/service/s3vectors v1.4.0/go.mod h1:1ByJ/xRNkPDVddSxcpou91CiBIose3JWIWwFw/QjzD8= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.207.0 h1:TCgHvPhW47af5m6EgGczGFAcY2JTGrjxifok50J+Hek= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.207.0/go.mod h1:sawKpnbUfWJb/Q/i2P3rXiM+vXUosAqJ1KOsuKxPRxU= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.208.0 h1:S0ilMJd8zK7/YGzRl4OZRnkYc7MocYwI1PYQFMn2MIs= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.208.0/go.mod h1:sawKpnbUfWJb/Q/i2P3rXiM+vXUosAqJ1KOsuKxPRxU= github.com/aws/aws-sdk-go-v2/service/scheduler v1.16.0 h1:vlmeLcOZ1PtqEpgRIZOOw49DABG9EWYkHHmC96IBgBM= github.com/aws/aws-sdk-go-v2/service/scheduler v1.16.0/go.mod h1:2XG5FGAj7Ao8KR3scdaU76/YEsdUG304Qt1dIUfHIGM= github.com/aws/aws-sdk-go-v2/service/schemas v1.32.0 h1:37TFUN36cFLnIj32FFanXqD+uuXwASxCEEckhdBjCnE= @@ -539,8 +539,8 @@ github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.34.0 h1:e2NwGYwvTV2yNa76 github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.34.0/go.mod h1:DwajsOry3HW3LDuBdlkTA2YbZkOXl0lGqf/Tmh52RhU= github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.34.0 h1:/Ec93n7oXPhZvalYxFphWMSNjaAy/A2dWkKhqCAePEg= github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.34.0/go.mod h1:zR+5dzF2qJz6WneebK+JkFEheDRa8CbRKYs//5XycJU= -github.com/aws/aws-sdk-go-v2/service/transcribe v1.50.0 h1:otdXZIcJvXCaOpXvZnydfshPQJVtM3s6A5KozVtmkbc= -github.com/aws/aws-sdk-go-v2/service/transcribe v1.50.0/go.mod h1:zKZY1p5qYRYG/NMOMv8GVeUJLliaK+EpgD9Q2q4v7O4= +github.com/aws/aws-sdk-go-v2/service/transcribe v1.51.0 h1:UMgzltOpkvNdZK15iptmssjAEWqKIffMTZRroY76MnA= +github.com/aws/aws-sdk-go-v2/service/transcribe v1.51.0/go.mod h1:zKZY1p5qYRYG/NMOMv8GVeUJLliaK+EpgD9Q2q4v7O4= github.com/aws/aws-sdk-go-v2/service/transfer v1.64.0 h1:QsCjJRBHeDHhOc0J+GIPxhHesz5yTSYXR1jyMWzXcNQ= github.com/aws/aws-sdk-go-v2/service/transfer v1.64.0/go.mod h1:LYJ3Lj45sKL6TmHqQQGGzOBTUWjPvo9rqjYmMzbpIlY= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.27.0 h1:eGVvpr1n1sMvSnvYAQVUKK+JUPNFjUTy2iSR8nutPMc= diff --git a/tools/tfsdk2fw/go.mod b/tools/tfsdk2fw/go.mod index 37bf538906dc..d749554e0f8d 100644 --- a/tools/tfsdk2fw/go.mod +++ b/tools/tfsdk2fw/go.mod @@ -75,7 +75,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.48.0 // indirect github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.56.0 // indirect github.com/aws/aws-sdk-go-v2/service/codeartifact v1.37.0 // indirect - github.com/aws/aws-sdk-go-v2/service/codebuild v1.65.0 // indirect + github.com/aws/aws-sdk-go-v2/service/codebuild v1.66.0 // indirect github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.20.0 // indirect github.com/aws/aws-sdk-go-v2/service/codecommit v1.31.0 // indirect github.com/aws/aws-sdk-go-v2/service/codeconnections v1.9.0 // indirect @@ -115,7 +115,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/drs v1.34.0 // indirect github.com/aws/aws-sdk-go-v2/service/dsql v1.9.0 // indirect github.com/aws/aws-sdk-go-v2/service/dynamodb v1.47.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ec2 v1.242.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ec2 v1.243.0 // indirect github.com/aws/aws-sdk-go-v2/service/ecr v1.49.0 // indirect github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.36.0 // indirect github.com/aws/aws-sdk-go-v2/service/ecs v1.63.0 // indirect @@ -204,7 +204,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/odb v1.3.0 // indirect github.com/aws/aws-sdk-go-v2/service/opensearch v1.51.0 // indirect github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.24.0 // indirect - github.com/aws/aws-sdk-go-v2/service/organizations v1.42.0 // indirect + github.com/aws/aws-sdk-go-v2/service/organizations v1.43.0 // indirect github.com/aws/aws-sdk-go-v2/service/osis v1.18.0 // indirect github.com/aws/aws-sdk-go-v2/service/outposts v1.55.0 // indirect github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.22.0 // indirect @@ -242,7 +242,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/s3outposts v1.32.0 // indirect github.com/aws/aws-sdk-go-v2/service/s3tables v1.9.0 // indirect github.com/aws/aws-sdk-go-v2/service/s3vectors v1.4.0 // indirect - github.com/aws/aws-sdk-go-v2/service/sagemaker v1.207.0 // indirect + github.com/aws/aws-sdk-go-v2/service/sagemaker v1.208.0 // indirect github.com/aws/aws-sdk-go-v2/service/scheduler v1.16.0 // indirect github.com/aws/aws-sdk-go-v2/service/schemas v1.32.0 // indirect github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.38.0 // indirect @@ -276,7 +276,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/timestreaminfluxdb v1.14.0 // indirect github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.34.0 // indirect github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.34.0 // indirect - github.com/aws/aws-sdk-go-v2/service/transcribe v1.50.0 // indirect + github.com/aws/aws-sdk-go-v2/service/transcribe v1.51.0 // indirect github.com/aws/aws-sdk-go-v2/service/transfer v1.64.0 // indirect github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.27.0 // indirect github.com/aws/aws-sdk-go-v2/service/vpclattice v1.17.0 // indirect diff --git a/tools/tfsdk2fw/go.sum b/tools/tfsdk2fw/go.sum index b9397aa84dab..bc3b0fdc061d 100644 --- a/tools/tfsdk2fw/go.sum +++ b/tools/tfsdk2fw/go.sum @@ -137,8 +137,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.56.0 h1:GiSL2mJ/gSJR4p2HH github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.56.0/go.mod h1:0jzhov8WzD4VylEv83E+RkqA8W6k7DX37XyrwMavyvQ= github.com/aws/aws-sdk-go-v2/service/codeartifact v1.37.0 h1:LVhbfPyUufKIjKVengJswggsFAbdRJe3LGNf6xVjgDg= github.com/aws/aws-sdk-go-v2/service/codeartifact v1.37.0/go.mod h1:tNVsC5SHowfci8r2wS95tND/l5np9AyHs7P8+MHcqfU= -github.com/aws/aws-sdk-go-v2/service/codebuild v1.65.0 h1:nk002AVU7WXmiV9c2HFZWixS0JcHL8lW0WocnR6TKqY= -github.com/aws/aws-sdk-go-v2/service/codebuild v1.65.0/go.mod h1:HiaBb3/RkkKBXLfkHch1Wy8tdMkyxhAR75PDf2BZyd0= +github.com/aws/aws-sdk-go-v2/service/codebuild v1.66.0 h1:Tm4WvXnZ+tAlYB0W+hKi53reoQpUKr7/IiG/8zPYfOE= +github.com/aws/aws-sdk-go-v2/service/codebuild v1.66.0/go.mod h1:HiaBb3/RkkKBXLfkHch1Wy8tdMkyxhAR75PDf2BZyd0= github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.20.0 h1:1yOLOPPI/SP+z1z7v50r4i0yJEBe667Tg513qv34Mok= github.com/aws/aws-sdk-go-v2/service/codecatalyst v1.20.0/go.mod h1:/YU2KmYK0mw3Nwo/Odx3vFsqfR9GYeirr2trSazXGFc= github.com/aws/aws-sdk-go-v2/service/codecommit v1.31.0 h1:Zen0PfPRG8lStgXUeuNxvdAJ3TlFYJfkJStGmG0RPMg= @@ -217,8 +217,8 @@ github.com/aws/aws-sdk-go-v2/service/dsql v1.9.0 h1:AWC9tLObLqxSeyolw7aug3PxEnU7 github.com/aws/aws-sdk-go-v2/service/dsql v1.9.0/go.mod h1:v4koXz6cYLm9p9kT2iYCcLCxxDkX8JFg3UBElyXB80I= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.47.0 h1:A5zeikrrAgz3YtNzhMat4K8hK/CFzOjFKLVk8pI7Cz8= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.47.0/go.mod h1:tMQ/Edfn5xLcBFSVd3JDreJPias8GqBq0dVbCbMz9vs= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.242.0 h1:xgbWik/QFlVCvoUbumUPPZI7+0RXiScb8eHSV06CELU= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.242.0/go.mod h1:EeWmteKqZjaMj45MUmPET1SisFI+HkqWIRQoyjMivcc= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.243.0 h1:s7mU5Zfa1ksg86BGjYKU03Bs63m5MY1ps4jOZFayBwM= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.243.0/go.mod h1:EeWmteKqZjaMj45MUmPET1SisFI+HkqWIRQoyjMivcc= github.com/aws/aws-sdk-go-v2/service/ecr v1.49.0 h1:NgkSYzgM3UhdSrXUKkl49FhbIPpNguZE4EXEGRhDcEU= github.com/aws/aws-sdk-go-v2/service/ecr v1.49.0/go.mod h1:bi1dAg6vk8KC8nyf6DjQ3dkNJbzTirMSmZHbcRNa2vE= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.36.0 h1:8GcatvIKYx5WkwjwY4H+K7egBHOddC3wwS6fIbpOUlQ= @@ -395,8 +395,8 @@ github.com/aws/aws-sdk-go-v2/service/opensearch v1.51.0 h1:dxYQ9hDRI/yXFzO3sYT+x github.com/aws/aws-sdk-go-v2/service/opensearch v1.51.0/go.mod h1:NQvq4ckAgpR9/QqqI5+eWnP6rNlpOVta9udBG9GVHcw= github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.24.0 h1:usR9TyfGyoGq2SK2ksEc3qwpYeBe03rccTj63hUFWKk= github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.24.0/go.mod h1:anGtuIsRziAehQRV6pPE6LbaGBQ2q1Gg20D3Ixtm4LU= -github.com/aws/aws-sdk-go-v2/service/organizations v1.42.0 h1:n2mB6r/G1HNg1XIX1db2YVTve2IkGNJc7FjTFsvEXfU= -github.com/aws/aws-sdk-go-v2/service/organizations v1.42.0/go.mod h1:DbK1D8dgPVhcX1eNASHk5Q9C+N58RFw5PvN+2osa+Ws= +github.com/aws/aws-sdk-go-v2/service/organizations v1.43.0 h1:mkEqqGgdmOQ7DbfWVKL8TmAki9S3f+4YiMwgKN6TIyE= +github.com/aws/aws-sdk-go-v2/service/organizations v1.43.0/go.mod h1:DbK1D8dgPVhcX1eNASHk5Q9C+N58RFw5PvN+2osa+Ws= github.com/aws/aws-sdk-go-v2/service/osis v1.18.0 h1:71GQ3yQ1sGjXsAOBso7nVLCLJrCoDQP1IhYbQciMpFk= github.com/aws/aws-sdk-go-v2/service/osis v1.18.0/go.mod h1:O3bVtO289aQvaGA56/SPbLeoEBvkbr1BerS/A94Xeik= github.com/aws/aws-sdk-go-v2/service/outposts v1.55.0 h1:PlpUSiYutFa6aEeRrQYUo8zomTuAx5oXxjwrZ/XZH+8= @@ -471,8 +471,8 @@ github.com/aws/aws-sdk-go-v2/service/s3tables v1.9.0 h1:b+DS5OdH3yZCVMHLs/8aA9Nu github.com/aws/aws-sdk-go-v2/service/s3tables v1.9.0/go.mod h1:jVLVoLsG7vN8XEO7OQ7Bqw6qqHXMqWbSBMZ7tmY8R9Q= github.com/aws/aws-sdk-go-v2/service/s3vectors v1.4.0 h1:9xIfi7XPNyqbrZBCVsAnxlajEsNLP4qZ/T+rw6NYtZ0= github.com/aws/aws-sdk-go-v2/service/s3vectors v1.4.0/go.mod h1:1ByJ/xRNkPDVddSxcpou91CiBIose3JWIWwFw/QjzD8= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.207.0 h1:TCgHvPhW47af5m6EgGczGFAcY2JTGrjxifok50J+Hek= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.207.0/go.mod h1:sawKpnbUfWJb/Q/i2P3rXiM+vXUosAqJ1KOsuKxPRxU= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.208.0 h1:S0ilMJd8zK7/YGzRl4OZRnkYc7MocYwI1PYQFMn2MIs= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.208.0/go.mod h1:sawKpnbUfWJb/Q/i2P3rXiM+vXUosAqJ1KOsuKxPRxU= github.com/aws/aws-sdk-go-v2/service/scheduler v1.16.0 h1:vlmeLcOZ1PtqEpgRIZOOw49DABG9EWYkHHmC96IBgBM= github.com/aws/aws-sdk-go-v2/service/scheduler v1.16.0/go.mod h1:2XG5FGAj7Ao8KR3scdaU76/YEsdUG304Qt1dIUfHIGM= github.com/aws/aws-sdk-go-v2/service/schemas v1.32.0 h1:37TFUN36cFLnIj32FFanXqD+uuXwASxCEEckhdBjCnE= @@ -539,8 +539,8 @@ github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.34.0 h1:e2NwGYwvTV2yNa76 github.com/aws/aws-sdk-go-v2/service/timestreamquery v1.34.0/go.mod h1:DwajsOry3HW3LDuBdlkTA2YbZkOXl0lGqf/Tmh52RhU= github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.34.0 h1:/Ec93n7oXPhZvalYxFphWMSNjaAy/A2dWkKhqCAePEg= github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.34.0/go.mod h1:zR+5dzF2qJz6WneebK+JkFEheDRa8CbRKYs//5XycJU= -github.com/aws/aws-sdk-go-v2/service/transcribe v1.50.0 h1:otdXZIcJvXCaOpXvZnydfshPQJVtM3s6A5KozVtmkbc= -github.com/aws/aws-sdk-go-v2/service/transcribe v1.50.0/go.mod h1:zKZY1p5qYRYG/NMOMv8GVeUJLliaK+EpgD9Q2q4v7O4= +github.com/aws/aws-sdk-go-v2/service/transcribe v1.51.0 h1:UMgzltOpkvNdZK15iptmssjAEWqKIffMTZRroY76MnA= +github.com/aws/aws-sdk-go-v2/service/transcribe v1.51.0/go.mod h1:zKZY1p5qYRYG/NMOMv8GVeUJLliaK+EpgD9Q2q4v7O4= github.com/aws/aws-sdk-go-v2/service/transfer v1.64.0 h1:QsCjJRBHeDHhOc0J+GIPxhHesz5yTSYXR1jyMWzXcNQ= github.com/aws/aws-sdk-go-v2/service/transfer v1.64.0/go.mod h1:LYJ3Lj45sKL6TmHqQQGGzOBTUWjPvo9rqjYmMzbpIlY= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.27.0 h1:eGVvpr1n1sMvSnvYAQVUKK+JUPNFjUTy2iSR8nutPMc= From fd2ab1c01dfb838223e04de54ca203c0e789aa60 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 10:06:38 -0400 Subject: [PATCH 1195/1301] Bump github.com/hashicorp/terraform-json from 0.25.0 to 0.26.0 (#43859) Bumps [github.com/hashicorp/terraform-json](https://github.com/hashicorp/terraform-json) from 0.25.0 to 0.26.0. - [Release notes](https://github.com/hashicorp/terraform-json/releases) - [Commits](https://github.com/hashicorp/terraform-json/compare/v0.25.0...v0.26.0) --- updated-dependencies: - dependency-name: github.com/hashicorp/terraform-json dependency-version: 0.26.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 33f10ae8bdc4..71c4d39cae54 100644 --- a/go.mod +++ b/go.mod @@ -287,7 +287,7 @@ require ( github.com/hashicorp/go-uuid v1.0.3 github.com/hashicorp/go-version v1.7.0 github.com/hashicorp/hcl/v2 v2.23.0 - github.com/hashicorp/terraform-json v0.25.0 + github.com/hashicorp/terraform-json v0.26.0 github.com/hashicorp/terraform-plugin-framework v1.15.1 github.com/hashicorp/terraform-plugin-framework-jsontypes v0.2.0 github.com/hashicorp/terraform-plugin-framework-timeouts v0.5.0 diff --git a/go.sum b/go.sum index 04813b8ef153..7673709a9db5 100644 --- a/go.sum +++ b/go.sum @@ -660,8 +660,8 @@ github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/terraform-exec v0.23.0 h1:MUiBM1s0CNlRFsCLJuM5wXZrzA3MnPYEsiXmzATMW/I= github.com/hashicorp/terraform-exec v0.23.0/go.mod h1:mA+qnx1R8eePycfwKkCRk3Wy65mwInvlpAeOwmA7vlY= -github.com/hashicorp/terraform-json v0.25.0 h1:rmNqc/CIfcWawGiwXmRuiXJKEiJu1ntGoxseG1hLhoQ= -github.com/hashicorp/terraform-json v0.25.0/go.mod h1:sMKS8fiRDX4rVlR6EJUMudg1WcanxCMoWwTLkgZP/vc= +github.com/hashicorp/terraform-json v0.26.0 h1:+BnJavhRH+oyNWPnfzrfQwVWCZBFMvjdiH2Vi38Udz4= +github.com/hashicorp/terraform-json v0.26.0/go.mod h1:eyWCeC3nrZamyrKLFnrvwpc3LQPIJsx8hWHQ/nu2/v4= github.com/hashicorp/terraform-plugin-framework v1.15.1 h1:2mKDkwb8rlx/tvJTlIcpw0ykcmvdWv+4gY3SIgk8Pq8= github.com/hashicorp/terraform-plugin-framework v1.15.1/go.mod h1:hxrNI/GY32KPISpWqlCoTLM9JZsGH3CyYlir09bD/fI= github.com/hashicorp/terraform-plugin-framework-jsontypes v0.2.0 h1:SJXL5FfJJm17554Kpt9jFXngdM6fXbnUnZ6iT2IeiYA= From 63eff0dfb4f582a39ae1ac000645314f8bf2b155 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 13 Aug 2025 10:10:31 -0400 Subject: [PATCH 1196/1301] Run 'make gen'. --- .../service/accessanalyzer/service_endpoint_resolver_gen.go | 2 +- internal/service/accessanalyzer/service_endpoints_gen_test.go | 2 +- internal/service/account/service_endpoint_resolver_gen.go | 2 +- internal/service/account/service_endpoints_gen_test.go | 2 +- internal/service/acm/service_endpoint_resolver_gen.go | 2 +- internal/service/acm/service_endpoints_gen_test.go | 2 +- internal/service/acmpca/service_endpoint_resolver_gen.go | 2 +- internal/service/acmpca/service_endpoints_gen_test.go | 2 +- internal/service/amp/service_endpoint_resolver_gen.go | 2 +- internal/service/amp/service_endpoints_gen_test.go | 2 +- internal/service/amplify/service_endpoint_resolver_gen.go | 2 +- internal/service/amplify/service_endpoints_gen_test.go | 2 +- internal/service/apigateway/service_endpoint_resolver_gen.go | 2 +- internal/service/apigateway/service_endpoints_gen_test.go | 2 +- internal/service/apigatewayv2/service_endpoint_resolver_gen.go | 2 +- internal/service/apigatewayv2/service_endpoints_gen_test.go | 2 +- .../service/appautoscaling/service_endpoint_resolver_gen.go | 2 +- internal/service/appautoscaling/service_endpoints_gen_test.go | 2 +- internal/service/appconfig/service_endpoint_resolver_gen.go | 2 +- internal/service/appconfig/service_endpoints_gen_test.go | 2 +- internal/service/appfabric/service_endpoint_resolver_gen.go | 2 +- internal/service/appfabric/service_endpoints_gen_test.go | 2 +- internal/service/appflow/service_endpoint_resolver_gen.go | 2 +- internal/service/appflow/service_endpoints_gen_test.go | 2 +- .../service/appintegrations/service_endpoint_resolver_gen.go | 2 +- internal/service/appintegrations/service_endpoints_gen_test.go | 2 +- .../applicationinsights/service_endpoint_resolver_gen.go | 2 +- .../service/applicationinsights/service_endpoints_gen_test.go | 2 +- .../service/applicationsignals/service_endpoint_resolver_gen.go | 2 +- .../service/applicationsignals/service_endpoints_gen_test.go | 2 +- internal/service/appmesh/service_endpoint_resolver_gen.go | 2 +- internal/service/appmesh/service_endpoints_gen_test.go | 2 +- internal/service/apprunner/service_endpoint_resolver_gen.go | 2 +- internal/service/apprunner/service_endpoints_gen_test.go | 2 +- internal/service/appstream/service_endpoint_resolver_gen.go | 2 +- internal/service/appstream/service_endpoints_gen_test.go | 2 +- internal/service/appsync/service_endpoint_resolver_gen.go | 2 +- internal/service/appsync/service_endpoints_gen_test.go | 2 +- internal/service/athena/service_endpoint_resolver_gen.go | 2 +- internal/service/athena/service_endpoints_gen_test.go | 2 +- internal/service/auditmanager/service_endpoint_resolver_gen.go | 2 +- internal/service/auditmanager/service_endpoints_gen_test.go | 2 +- internal/service/autoscaling/service_endpoint_resolver_gen.go | 2 +- internal/service/autoscaling/service_endpoints_gen_test.go | 2 +- .../service/autoscalingplans/service_endpoint_resolver_gen.go | 2 +- internal/service/autoscalingplans/service_endpoints_gen_test.go | 2 +- internal/service/backup/service_endpoint_resolver_gen.go | 2 +- internal/service/backup/service_endpoints_gen_test.go | 2 +- internal/service/batch/service_endpoint_resolver_gen.go | 2 +- internal/service/batch/service_endpoints_gen_test.go | 2 +- .../service/bcmdataexports/service_endpoint_resolver_gen.go | 2 +- internal/service/bcmdataexports/service_endpoints_gen_test.go | 2 +- internal/service/bedrock/service_endpoint_resolver_gen.go | 2 +- internal/service/bedrock/service_endpoints_gen_test.go | 2 +- internal/service/bedrockagent/service_endpoint_resolver_gen.go | 2 +- internal/service/bedrockagent/service_endpoints_gen_test.go | 2 +- .../service/bedrockagentcore/service_endpoint_resolver_gen.go | 2 +- internal/service/bedrockagentcore/service_endpoints_gen_test.go | 2 +- internal/service/billing/service_endpoint_resolver_gen.go | 2 +- internal/service/billing/service_endpoints_gen_test.go | 2 +- internal/service/budgets/service_endpoint_resolver_gen.go | 2 +- internal/service/budgets/service_endpoints_gen_test.go | 2 +- internal/service/ce/service_endpoint_resolver_gen.go | 2 +- internal/service/ce/service_endpoints_gen_test.go | 2 +- internal/service/chatbot/service_endpoint_resolver_gen.go | 2 +- internal/service/chatbot/service_endpoints_gen_test.go | 2 +- internal/service/chime/service_endpoint_resolver_gen.go | 2 +- internal/service/chime/service_endpoints_gen_test.go | 2 +- .../chimesdkmediapipelines/service_endpoint_resolver_gen.go | 2 +- .../chimesdkmediapipelines/service_endpoints_gen_test.go | 2 +- internal/service/chimesdkvoice/service_endpoint_resolver_gen.go | 2 +- internal/service/chimesdkvoice/service_endpoints_gen_test.go | 2 +- internal/service/cleanrooms/service_endpoint_resolver_gen.go | 2 +- internal/service/cleanrooms/service_endpoints_gen_test.go | 2 +- internal/service/cloud9/service_endpoint_resolver_gen.go | 2 +- internal/service/cloud9/service_endpoints_gen_test.go | 2 +- internal/service/cloudcontrol/service_endpoint_resolver_gen.go | 2 +- internal/service/cloudcontrol/service_endpoints_gen_test.go | 2 +- .../service/cloudformation/service_endpoint_resolver_gen.go | 2 +- internal/service/cloudformation/service_endpoints_gen_test.go | 2 +- internal/service/cloudfront/service_endpoint_resolver_gen.go | 2 +- internal/service/cloudfront/service_endpoints_gen_test.go | 2 +- .../cloudfrontkeyvaluestore/service_endpoint_resolver_gen.go | 2 +- internal/service/cloudhsmv2/service_endpoint_resolver_gen.go | 2 +- internal/service/cloudhsmv2/service_endpoints_gen_test.go | 2 +- internal/service/cloudsearch/service_endpoint_resolver_gen.go | 2 +- internal/service/cloudsearch/service_endpoints_gen_test.go | 2 +- internal/service/cloudtrail/service_endpoint_resolver_gen.go | 2 +- internal/service/cloudtrail/service_endpoints_gen_test.go | 2 +- internal/service/cloudwatch/service_endpoint_resolver_gen.go | 2 +- internal/service/cloudwatch/service_endpoints_gen_test.go | 2 +- internal/service/codeartifact/service_endpoint_resolver_gen.go | 2 +- internal/service/codeartifact/service_endpoints_gen_test.go | 2 +- internal/service/codebuild/service_endpoint_resolver_gen.go | 2 +- internal/service/codebuild/service_endpoints_gen_test.go | 2 +- internal/service/codecatalyst/service_endpoint_resolver_gen.go | 2 +- internal/service/codecommit/service_endpoint_resolver_gen.go | 2 +- internal/service/codecommit/service_endpoints_gen_test.go | 2 +- .../service/codeconnections/service_endpoint_resolver_gen.go | 2 +- internal/service/codeconnections/service_endpoints_gen_test.go | 2 +- .../service/codeguruprofiler/service_endpoint_resolver_gen.go | 2 +- internal/service/codeguruprofiler/service_endpoints_gen_test.go | 2 +- .../service/codegurureviewer/service_endpoint_resolver_gen.go | 2 +- internal/service/codegurureviewer/service_endpoints_gen_test.go | 2 +- internal/service/codepipeline/service_endpoint_resolver_gen.go | 2 +- internal/service/codepipeline/service_endpoints_gen_test.go | 2 +- .../codestarconnections/service_endpoint_resolver_gen.go | 2 +- .../service/codestarconnections/service_endpoints_gen_test.go | 2 +- .../codestarnotifications/service_endpoint_resolver_gen.go | 2 +- .../service/codestarnotifications/service_endpoints_gen_test.go | 2 +- .../service/cognitoidentity/service_endpoint_resolver_gen.go | 2 +- internal/service/cognitoidentity/service_endpoints_gen_test.go | 2 +- internal/service/cognitoidp/service_endpoint_resolver_gen.go | 2 +- internal/service/cognitoidp/service_endpoints_gen_test.go | 2 +- internal/service/comprehend/service_endpoint_resolver_gen.go | 2 +- internal/service/comprehend/service_endpoints_gen_test.go | 2 +- .../service/computeoptimizer/service_endpoint_resolver_gen.go | 2 +- internal/service/computeoptimizer/service_endpoints_gen_test.go | 2 +- internal/service/configservice/service_endpoint_resolver_gen.go | 2 +- internal/service/configservice/service_endpoints_gen_test.go | 2 +- internal/service/connect/service_endpoint_resolver_gen.go | 2 +- internal/service/connect/service_endpoints_gen_test.go | 2 +- internal/service/connectcases/service_endpoint_resolver_gen.go | 2 +- internal/service/connectcases/service_endpoints_gen_test.go | 2 +- internal/service/controltower/service_endpoint_resolver_gen.go | 2 +- internal/service/controltower/service_endpoints_gen_test.go | 2 +- .../costoptimizationhub/service_endpoint_resolver_gen.go | 2 +- .../service/costoptimizationhub/service_endpoints_gen_test.go | 2 +- internal/service/cur/service_endpoint_resolver_gen.go | 2 +- internal/service/cur/service_endpoints_gen_test.go | 2 +- .../service/customerprofiles/service_endpoint_resolver_gen.go | 2 +- internal/service/customerprofiles/service_endpoints_gen_test.go | 2 +- internal/service/databrew/service_endpoint_resolver_gen.go | 2 +- internal/service/databrew/service_endpoints_gen_test.go | 2 +- internal/service/dataexchange/service_endpoint_resolver_gen.go | 2 +- internal/service/dataexchange/service_endpoints_gen_test.go | 2 +- internal/service/datapipeline/service_endpoint_resolver_gen.go | 2 +- internal/service/datapipeline/service_endpoints_gen_test.go | 2 +- internal/service/datasync/service_endpoint_resolver_gen.go | 2 +- internal/service/datasync/service_endpoints_gen_test.go | 2 +- internal/service/datazone/service_endpoint_resolver_gen.go | 2 +- internal/service/datazone/service_endpoints_gen_test.go | 2 +- internal/service/dax/service_endpoint_resolver_gen.go | 2 +- internal/service/dax/service_endpoints_gen_test.go | 2 +- internal/service/deploy/service_endpoint_resolver_gen.go | 2 +- internal/service/deploy/service_endpoints_gen_test.go | 2 +- internal/service/detective/service_endpoint_resolver_gen.go | 2 +- internal/service/detective/service_endpoints_gen_test.go | 2 +- internal/service/devicefarm/service_endpoint_resolver_gen.go | 2 +- internal/service/devicefarm/service_endpoints_gen_test.go | 2 +- internal/service/devopsguru/service_endpoint_resolver_gen.go | 2 +- internal/service/devopsguru/service_endpoints_gen_test.go | 2 +- internal/service/directconnect/service_endpoint_resolver_gen.go | 2 +- internal/service/directconnect/service_endpoints_gen_test.go | 2 +- internal/service/dlm/service_endpoint_resolver_gen.go | 2 +- internal/service/dlm/service_endpoints_gen_test.go | 2 +- internal/service/dms/service_endpoint_resolver_gen.go | 2 +- internal/service/dms/service_endpoints_gen_test.go | 2 +- internal/service/docdb/service_endpoint_resolver_gen.go | 2 +- internal/service/docdb/service_endpoints_gen_test.go | 2 +- internal/service/docdbelastic/service_endpoint_resolver_gen.go | 2 +- internal/service/docdbelastic/service_endpoints_gen_test.go | 2 +- internal/service/drs/service_endpoint_resolver_gen.go | 2 +- internal/service/drs/service_endpoints_gen_test.go | 2 +- internal/service/ds/service_endpoint_resolver_gen.go | 2 +- internal/service/ds/service_endpoints_gen_test.go | 2 +- internal/service/dsql/service_endpoint_resolver_gen.go | 2 +- internal/service/dsql/service_endpoints_gen_test.go | 2 +- internal/service/dynamodb/service_endpoint_resolver_gen.go | 2 +- internal/service/dynamodb/service_endpoints_gen_test.go | 2 +- internal/service/ec2/service_endpoint_resolver_gen.go | 2 +- internal/service/ec2/service_endpoints_gen_test.go | 2 +- internal/service/ecr/service_endpoint_resolver_gen.go | 2 +- internal/service/ecr/service_endpoints_gen_test.go | 2 +- internal/service/ecrpublic/service_endpoint_resolver_gen.go | 2 +- internal/service/ecrpublic/service_endpoints_gen_test.go | 2 +- internal/service/ecs/service_endpoint_resolver_gen.go | 2 +- internal/service/ecs/service_endpoints_gen_test.go | 2 +- internal/service/efs/service_endpoint_resolver_gen.go | 2 +- internal/service/efs/service_endpoints_gen_test.go | 2 +- internal/service/eks/service_endpoint_resolver_gen.go | 2 +- internal/service/eks/service_endpoints_gen_test.go | 2 +- internal/service/elasticache/service_endpoint_resolver_gen.go | 2 +- internal/service/elasticache/service_endpoints_gen_test.go | 2 +- .../service/elasticbeanstalk/service_endpoint_resolver_gen.go | 2 +- internal/service/elasticbeanstalk/service_endpoints_gen_test.go | 2 +- internal/service/elasticsearch/service_endpoint_resolver_gen.go | 2 +- internal/service/elasticsearch/service_endpoints_gen_test.go | 2 +- .../service/elastictranscoder/service_endpoint_resolver_gen.go | 2 +- .../service/elastictranscoder/service_endpoints_gen_test.go | 2 +- internal/service/elb/service_endpoint_resolver_gen.go | 2 +- internal/service/elb/service_endpoints_gen_test.go | 2 +- internal/service/elbv2/service_endpoint_resolver_gen.go | 2 +- internal/service/elbv2/service_endpoints_gen_test.go | 2 +- internal/service/emr/service_endpoint_resolver_gen.go | 2 +- internal/service/emr/service_endpoints_gen_test.go | 2 +- internal/service/emrcontainers/service_endpoint_resolver_gen.go | 2 +- internal/service/emrcontainers/service_endpoints_gen_test.go | 2 +- internal/service/emrserverless/service_endpoint_resolver_gen.go | 2 +- internal/service/emrserverless/service_endpoints_gen_test.go | 2 +- internal/service/events/service_endpoint_resolver_gen.go | 2 +- internal/service/events/service_endpoints_gen_test.go | 2 +- internal/service/evidently/service_endpoint_resolver_gen.go | 2 +- internal/service/evidently/service_endpoints_gen_test.go | 2 +- internal/service/evs/service_endpoint_resolver_gen.go | 2 +- internal/service/evs/service_endpoints_gen_test.go | 2 +- internal/service/finspace/service_endpoint_resolver_gen.go | 2 +- internal/service/finspace/service_endpoints_gen_test.go | 2 +- internal/service/firehose/service_endpoint_resolver_gen.go | 2 +- internal/service/firehose/service_endpoints_gen_test.go | 2 +- internal/service/fis/service_endpoint_resolver_gen.go | 2 +- internal/service/fis/service_endpoints_gen_test.go | 2 +- internal/service/fms/service_endpoint_resolver_gen.go | 2 +- internal/service/fms/service_endpoints_gen_test.go | 2 +- internal/service/fsx/service_endpoint_resolver_gen.go | 2 +- internal/service/fsx/service_endpoints_gen_test.go | 2 +- internal/service/gamelift/service_endpoint_resolver_gen.go | 2 +- internal/service/gamelift/service_endpoints_gen_test.go | 2 +- internal/service/glacier/service_endpoint_resolver_gen.go | 2 +- internal/service/glacier/service_endpoints_gen_test.go | 2 +- .../service/globalaccelerator/service_endpoint_resolver_gen.go | 2 +- .../service/globalaccelerator/service_endpoints_gen_test.go | 2 +- internal/service/glue/service_endpoint_resolver_gen.go | 2 +- internal/service/glue/service_endpoints_gen_test.go | 2 +- internal/service/grafana/service_endpoint_resolver_gen.go | 2 +- internal/service/grafana/service_endpoints_gen_test.go | 2 +- internal/service/greengrass/service_endpoint_resolver_gen.go | 2 +- internal/service/greengrass/service_endpoints_gen_test.go | 2 +- internal/service/groundstation/service_endpoint_resolver_gen.go | 2 +- internal/service/groundstation/service_endpoints_gen_test.go | 2 +- internal/service/guardduty/service_endpoint_resolver_gen.go | 2 +- internal/service/guardduty/service_endpoints_gen_test.go | 2 +- internal/service/healthlake/service_endpoint_resolver_gen.go | 2 +- internal/service/healthlake/service_endpoints_gen_test.go | 2 +- internal/service/iam/service_endpoint_resolver_gen.go | 2 +- internal/service/iam/service_endpoints_gen_test.go | 2 +- internal/service/identitystore/service_endpoint_resolver_gen.go | 2 +- internal/service/identitystore/service_endpoints_gen_test.go | 2 +- internal/service/imagebuilder/service_endpoint_resolver_gen.go | 2 +- internal/service/imagebuilder/service_endpoints_gen_test.go | 2 +- internal/service/inspector/service_endpoint_resolver_gen.go | 2 +- internal/service/inspector/service_endpoints_gen_test.go | 2 +- internal/service/inspector2/service_endpoint_resolver_gen.go | 2 +- internal/service/inspector2/service_endpoints_gen_test.go | 2 +- .../service/internetmonitor/service_endpoint_resolver_gen.go | 2 +- internal/service/internetmonitor/service_endpoints_gen_test.go | 2 +- internal/service/invoicing/service_endpoint_resolver_gen.go | 2 +- internal/service/invoicing/service_endpoints_gen_test.go | 2 +- internal/service/iot/service_endpoint_resolver_gen.go | 2 +- internal/service/iot/service_endpoints_gen_test.go | 2 +- internal/service/ivs/service_endpoint_resolver_gen.go | 2 +- internal/service/ivs/service_endpoints_gen_test.go | 2 +- internal/service/ivschat/service_endpoint_resolver_gen.go | 2 +- internal/service/ivschat/service_endpoints_gen_test.go | 2 +- internal/service/kafka/service_endpoint_resolver_gen.go | 2 +- internal/service/kafka/service_endpoints_gen_test.go | 2 +- internal/service/kafkaconnect/service_endpoint_resolver_gen.go | 2 +- internal/service/kafkaconnect/service_endpoints_gen_test.go | 2 +- internal/service/kendra/service_endpoint_resolver_gen.go | 2 +- internal/service/kendra/service_endpoints_gen_test.go | 2 +- internal/service/keyspaces/service_endpoint_resolver_gen.go | 2 +- internal/service/keyspaces/service_endpoints_gen_test.go | 2 +- internal/service/kinesis/service_endpoint_resolver_gen.go | 2 +- internal/service/kinesis/service_endpoints_gen_test.go | 2 +- .../service/kinesisanalytics/service_endpoint_resolver_gen.go | 2 +- internal/service/kinesisanalytics/service_endpoints_gen_test.go | 2 +- .../service/kinesisanalyticsv2/service_endpoint_resolver_gen.go | 2 +- .../service/kinesisanalyticsv2/service_endpoints_gen_test.go | 2 +- internal/service/kinesisvideo/service_endpoint_resolver_gen.go | 2 +- internal/service/kinesisvideo/service_endpoints_gen_test.go | 2 +- internal/service/kms/service_endpoint_resolver_gen.go | 2 +- internal/service/kms/service_endpoints_gen_test.go | 2 +- internal/service/lakeformation/service_endpoint_resolver_gen.go | 2 +- internal/service/lakeformation/service_endpoints_gen_test.go | 2 +- internal/service/lambda/service_endpoint_resolver_gen.go | 2 +- internal/service/lambda/service_endpoints_gen_test.go | 2 +- internal/service/launchwizard/service_endpoint_resolver_gen.go | 2 +- internal/service/launchwizard/service_endpoints_gen_test.go | 2 +- internal/service/lexmodels/service_endpoint_resolver_gen.go | 2 +- internal/service/lexmodels/service_endpoints_gen_test.go | 2 +- internal/service/lexv2models/service_endpoint_resolver_gen.go | 2 +- internal/service/lexv2models/service_endpoints_gen_test.go | 2 +- .../service/licensemanager/service_endpoint_resolver_gen.go | 2 +- internal/service/licensemanager/service_endpoints_gen_test.go | 2 +- internal/service/lightsail/service_endpoint_resolver_gen.go | 2 +- internal/service/lightsail/service_endpoints_gen_test.go | 2 +- internal/service/location/service_endpoint_resolver_gen.go | 2 +- internal/service/logs/service_endpoint_resolver_gen.go | 2 +- internal/service/logs/service_endpoints_gen_test.go | 2 +- .../service/lookoutmetrics/service_endpoint_resolver_gen.go | 2 +- internal/service/lookoutmetrics/service_endpoints_gen_test.go | 2 +- internal/service/m2/service_endpoint_resolver_gen.go | 2 +- internal/service/m2/service_endpoints_gen_test.go | 2 +- internal/service/macie2/service_endpoint_resolver_gen.go | 2 +- internal/service/macie2/service_endpoints_gen_test.go | 2 +- internal/service/mediaconnect/service_endpoint_resolver_gen.go | 2 +- internal/service/mediaconnect/service_endpoints_gen_test.go | 2 +- internal/service/mediaconvert/service_endpoint_resolver_gen.go | 2 +- internal/service/mediaconvert/service_endpoints_gen_test.go | 2 +- internal/service/medialive/service_endpoint_resolver_gen.go | 2 +- internal/service/medialive/service_endpoints_gen_test.go | 2 +- internal/service/mediapackage/service_endpoint_resolver_gen.go | 2 +- internal/service/mediapackage/service_endpoints_gen_test.go | 2 +- .../service/mediapackagev2/service_endpoint_resolver_gen.go | 2 +- internal/service/mediapackagev2/service_endpoints_gen_test.go | 2 +- .../service/mediapackagevod/service_endpoint_resolver_gen.go | 2 +- internal/service/mediapackagevod/service_endpoints_gen_test.go | 2 +- internal/service/mediastore/service_endpoint_resolver_gen.go | 2 +- internal/service/mediastore/service_endpoints_gen_test.go | 2 +- internal/service/memorydb/service_endpoint_resolver_gen.go | 2 +- internal/service/memorydb/service_endpoints_gen_test.go | 2 +- internal/service/mgn/service_endpoint_resolver_gen.go | 2 +- internal/service/mgn/service_endpoints_gen_test.go | 2 +- internal/service/mq/service_endpoint_resolver_gen.go | 2 +- internal/service/mq/service_endpoints_gen_test.go | 2 +- internal/service/mwaa/service_endpoint_resolver_gen.go | 2 +- internal/service/neptune/service_endpoint_resolver_gen.go | 2 +- internal/service/neptune/service_endpoints_gen_test.go | 2 +- internal/service/neptunegraph/service_endpoint_resolver_gen.go | 2 +- .../service/networkfirewall/service_endpoint_resolver_gen.go | 2 +- internal/service/networkfirewall/service_endpoints_gen_test.go | 2 +- .../service/networkmanager/service_endpoint_resolver_gen.go | 2 +- internal/service/networkmanager/service_endpoints_gen_test.go | 2 +- .../service/networkmonitor/service_endpoint_resolver_gen.go | 2 +- internal/service/networkmonitor/service_endpoints_gen_test.go | 2 +- internal/service/notifications/service_endpoint_resolver_gen.go | 2 +- internal/service/notifications/service_endpoints_gen_test.go | 2 +- .../notificationscontacts/service_endpoint_resolver_gen.go | 2 +- .../service/notificationscontacts/service_endpoints_gen_test.go | 2 +- internal/service/oam/service_endpoint_resolver_gen.go | 2 +- internal/service/oam/service_endpoints_gen_test.go | 2 +- internal/service/odb/service_endpoint_resolver_gen.go | 2 +- internal/service/odb/service_endpoints_gen_test.go | 2 +- internal/service/opensearch/service_endpoint_resolver_gen.go | 2 +- internal/service/opensearch/service_endpoints_gen_test.go | 2 +- .../opensearchserverless/service_endpoint_resolver_gen.go | 2 +- .../service/opensearchserverless/service_endpoints_gen_test.go | 2 +- internal/service/organizations/service_endpoint_resolver_gen.go | 2 +- internal/service/organizations/service_endpoints_gen_test.go | 2 +- internal/service/osis/service_endpoint_resolver_gen.go | 2 +- internal/service/osis/service_endpoints_gen_test.go | 2 +- internal/service/outposts/service_endpoint_resolver_gen.go | 2 +- internal/service/outposts/service_endpoints_gen_test.go | 2 +- .../paymentcryptography/service_endpoint_resolver_gen.go | 2 +- .../service/pcaconnectorad/service_endpoint_resolver_gen.go | 2 +- internal/service/pcaconnectorad/service_endpoints_gen_test.go | 2 +- internal/service/pcs/service_endpoint_resolver_gen.go | 2 +- internal/service/pcs/service_endpoints_gen_test.go | 2 +- internal/service/pinpoint/service_endpoint_resolver_gen.go | 2 +- internal/service/pinpoint/service_endpoints_gen_test.go | 2 +- .../service/pinpointsmsvoicev2/service_endpoint_resolver_gen.go | 2 +- .../service/pinpointsmsvoicev2/service_endpoints_gen_test.go | 2 +- internal/service/pipes/service_endpoint_resolver_gen.go | 2 +- internal/service/pipes/service_endpoints_gen_test.go | 2 +- internal/service/polly/service_endpoint_resolver_gen.go | 2 +- internal/service/polly/service_endpoints_gen_test.go | 2 +- internal/service/pricing/service_endpoint_resolver_gen.go | 2 +- internal/service/pricing/service_endpoints_gen_test.go | 2 +- internal/service/qbusiness/service_endpoint_resolver_gen.go | 2 +- internal/service/qbusiness/service_endpoints_gen_test.go | 2 +- internal/service/qldb/service_endpoint_resolver_gen.go | 2 +- internal/service/qldb/service_endpoints_gen_test.go | 2 +- internal/service/quicksight/service_endpoint_resolver_gen.go | 2 +- internal/service/quicksight/service_endpoints_gen_test.go | 2 +- internal/service/ram/service_endpoint_resolver_gen.go | 2 +- internal/service/ram/service_endpoints_gen_test.go | 2 +- internal/service/rbin/service_endpoint_resolver_gen.go | 2 +- internal/service/rbin/service_endpoints_gen_test.go | 2 +- internal/service/rds/service_endpoint_resolver_gen.go | 2 +- internal/service/rds/service_endpoints_gen_test.go | 2 +- internal/service/redshift/service_endpoint_resolver_gen.go | 2 +- internal/service/redshift/service_endpoints_gen_test.go | 2 +- internal/service/redshiftdata/service_endpoint_resolver_gen.go | 2 +- internal/service/redshiftdata/service_endpoints_gen_test.go | 2 +- .../service/redshiftserverless/service_endpoint_resolver_gen.go | 2 +- .../service/redshiftserverless/service_endpoints_gen_test.go | 2 +- internal/service/rekognition/service_endpoint_resolver_gen.go | 2 +- internal/service/rekognition/service_endpoints_gen_test.go | 2 +- internal/service/resiliencehub/service_endpoint_resolver_gen.go | 2 +- internal/service/resiliencehub/service_endpoints_gen_test.go | 2 +- .../service/resourceexplorer2/service_endpoint_resolver_gen.go | 2 +- .../service/resourceexplorer2/service_endpoints_gen_test.go | 2 +- .../service/resourcegroups/service_endpoint_resolver_gen.go | 2 +- internal/service/resourcegroups/service_endpoints_gen_test.go | 2 +- .../resourcegroupstaggingapi/service_endpoint_resolver_gen.go | 2 +- .../resourcegroupstaggingapi/service_endpoints_gen_test.go | 2 +- internal/service/rolesanywhere/service_endpoint_resolver_gen.go | 2 +- internal/service/rolesanywhere/service_endpoints_gen_test.go | 2 +- internal/service/route53/service_endpoint_resolver_gen.go | 2 +- internal/service/route53/service_endpoints_gen_test.go | 2 +- .../service/route53domains/service_endpoint_resolver_gen.go | 2 +- internal/service/route53domains/service_endpoints_gen_test.go | 2 +- .../service/route53profiles/service_endpoint_resolver_gen.go | 2 +- .../service_endpoint_resolver_gen.go | 2 +- .../route53recoverycontrolconfig/service_endpoints_gen_test.go | 2 +- .../route53recoveryreadiness/service_endpoint_resolver_gen.go | 2 +- .../route53recoveryreadiness/service_endpoints_gen_test.go | 2 +- .../service/route53resolver/service_endpoint_resolver_gen.go | 2 +- internal/service/route53resolver/service_endpoints_gen_test.go | 2 +- internal/service/rum/service_endpoint_resolver_gen.go | 2 +- internal/service/rum/service_endpoints_gen_test.go | 2 +- internal/service/s3/service_endpoint_resolver_gen.go | 2 +- internal/service/s3/service_endpoints_gen_test.go | 2 +- internal/service/s3control/service_endpoint_resolver_gen.go | 2 +- internal/service/s3outposts/service_endpoint_resolver_gen.go | 2 +- internal/service/s3outposts/service_endpoints_gen_test.go | 2 +- internal/service/s3tables/service_endpoint_resolver_gen.go | 2 +- internal/service/s3tables/service_endpoints_gen_test.go | 2 +- internal/service/s3vectors/service_endpoint_resolver_gen.go | 2 +- internal/service/s3vectors/service_endpoints_gen_test.go | 2 +- internal/service/sagemaker/service_endpoint_resolver_gen.go | 2 +- internal/service/sagemaker/service_endpoints_gen_test.go | 2 +- internal/service/scheduler/service_endpoint_resolver_gen.go | 2 +- internal/service/scheduler/service_endpoints_gen_test.go | 2 +- internal/service/schemas/service_endpoint_resolver_gen.go | 2 +- internal/service/schemas/service_endpoints_gen_test.go | 2 +- .../service/secretsmanager/service_endpoint_resolver_gen.go | 2 +- internal/service/secretsmanager/service_endpoints_gen_test.go | 2 +- internal/service/securityhub/service_endpoint_resolver_gen.go | 2 +- internal/service/securityhub/service_endpoints_gen_test.go | 2 +- internal/service/securitylake/service_endpoint_resolver_gen.go | 2 +- internal/service/securitylake/service_endpoints_gen_test.go | 2 +- .../service/serverlessrepo/service_endpoint_resolver_gen.go | 2 +- internal/service/serverlessrepo/service_endpoints_gen_test.go | 2 +- .../service/servicecatalog/service_endpoint_resolver_gen.go | 2 +- internal/service/servicecatalog/service_endpoints_gen_test.go | 2 +- .../servicecatalogappregistry/service_endpoint_resolver_gen.go | 2 +- .../servicecatalogappregistry/service_endpoints_gen_test.go | 2 +- .../service/servicediscovery/service_endpoint_resolver_gen.go | 2 +- internal/service/servicediscovery/service_endpoints_gen_test.go | 2 +- internal/service/servicequotas/service_endpoint_resolver_gen.go | 2 +- internal/service/servicequotas/service_endpoints_gen_test.go | 2 +- internal/service/ses/service_endpoint_resolver_gen.go | 2 +- internal/service/ses/service_endpoints_gen_test.go | 2 +- internal/service/sesv2/service_endpoint_resolver_gen.go | 2 +- internal/service/sesv2/service_endpoints_gen_test.go | 2 +- internal/service/sfn/service_endpoint_resolver_gen.go | 2 +- internal/service/sfn/service_endpoints_gen_test.go | 2 +- internal/service/shield/service_endpoint_resolver_gen.go | 2 +- internal/service/shield/service_endpoints_gen_test.go | 2 +- internal/service/signer/service_endpoint_resolver_gen.go | 2 +- internal/service/signer/service_endpoints_gen_test.go | 2 +- internal/service/sns/service_endpoint_resolver_gen.go | 2 +- internal/service/sns/service_endpoints_gen_test.go | 2 +- internal/service/sqs/service_endpoint_resolver_gen.go | 2 +- internal/service/sqs/service_endpoints_gen_test.go | 2 +- internal/service/ssm/service_endpoint_resolver_gen.go | 2 +- internal/service/ssm/service_endpoints_gen_test.go | 2 +- internal/service/ssmcontacts/service_endpoint_resolver_gen.go | 2 +- internal/service/ssmcontacts/service_endpoints_gen_test.go | 2 +- internal/service/ssmincidents/service_endpoint_resolver_gen.go | 2 +- internal/service/ssmincidents/service_endpoints_gen_test.go | 2 +- internal/service/ssmquicksetup/service_endpoint_resolver_gen.go | 2 +- internal/service/ssmquicksetup/service_endpoints_gen_test.go | 2 +- internal/service/ssmsap/service_endpoint_resolver_gen.go | 2 +- internal/service/ssmsap/service_endpoints_gen_test.go | 2 +- internal/service/sso/service_endpoint_resolver_gen.go | 2 +- internal/service/sso/service_endpoints_gen_test.go | 2 +- internal/service/ssoadmin/service_endpoint_resolver_gen.go | 2 +- internal/service/ssoadmin/service_endpoints_gen_test.go | 2 +- .../service/storagegateway/service_endpoint_resolver_gen.go | 2 +- internal/service/storagegateway/service_endpoints_gen_test.go | 2 +- internal/service/sts/service_endpoint_resolver_gen.go | 2 +- internal/service/sts/service_endpoints_gen_test.go | 2 +- internal/service/swf/service_endpoint_resolver_gen.go | 2 +- internal/service/swf/service_endpoints_gen_test.go | 2 +- internal/service/synthetics/service_endpoint_resolver_gen.go | 2 +- internal/service/synthetics/service_endpoints_gen_test.go | 2 +- internal/service/taxsettings/service_endpoint_resolver_gen.go | 2 +- internal/service/taxsettings/service_endpoints_gen_test.go | 2 +- .../service/timestreaminfluxdb/service_endpoint_resolver_gen.go | 2 +- .../service/timestreaminfluxdb/service_endpoints_gen_test.go | 2 +- .../service/timestreamquery/service_endpoint_resolver_gen.go | 2 +- internal/service/timestreamquery/service_endpoints_gen_test.go | 2 +- .../service/timestreamwrite/service_endpoint_resolver_gen.go | 2 +- internal/service/transcribe/service_endpoint_resolver_gen.go | 2 +- internal/service/transcribe/service_endpoints_gen_test.go | 2 +- internal/service/transfer/service_endpoint_resolver_gen.go | 2 +- internal/service/transfer/service_endpoints_gen_test.go | 2 +- .../verifiedpermissions/service_endpoint_resolver_gen.go | 2 +- .../service/verifiedpermissions/service_endpoints_gen_test.go | 2 +- internal/service/vpclattice/service_endpoint_resolver_gen.go | 2 +- internal/service/vpclattice/service_endpoints_gen_test.go | 2 +- internal/service/waf/service_endpoint_resolver_gen.go | 2 +- internal/service/waf/service_endpoints_gen_test.go | 2 +- internal/service/wafregional/service_endpoint_resolver_gen.go | 2 +- internal/service/wafregional/service_endpoints_gen_test.go | 2 +- internal/service/wafv2/service_endpoint_resolver_gen.go | 2 +- internal/service/wafv2/service_endpoints_gen_test.go | 2 +- .../service/wellarchitected/service_endpoint_resolver_gen.go | 2 +- internal/service/wellarchitected/service_endpoints_gen_test.go | 2 +- internal/service/workspaces/service_endpoint_resolver_gen.go | 2 +- internal/service/workspaces/service_endpoints_gen_test.go | 2 +- internal/service/workspacesweb/service_endpoint_resolver_gen.go | 2 +- internal/service/workspacesweb/service_endpoints_gen_test.go | 2 +- internal/service/xray/service_endpoint_resolver_gen.go | 2 +- internal/service/xray/service_endpoints_gen_test.go | 2 +- 497 files changed, 497 insertions(+), 497 deletions(-) diff --git a/internal/service/accessanalyzer/service_endpoint_resolver_gen.go b/internal/service/accessanalyzer/service_endpoint_resolver_gen.go index 4faed4295d83..a795eca60589 100644 --- a/internal/service/accessanalyzer/service_endpoint_resolver_gen.go +++ b/internal/service/accessanalyzer/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params accessanalyzer.E }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up accessanalyzer endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up accessanalyzer endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/accessanalyzer/service_endpoints_gen_test.go b/internal/service/accessanalyzer/service_endpoints_gen_test.go index c5499d67f5c5..d1726139b2d1 100644 --- a/internal/service/accessanalyzer/service_endpoints_gen_test.go +++ b/internal/service/accessanalyzer/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/account/service_endpoint_resolver_gen.go b/internal/service/account/service_endpoint_resolver_gen.go index 55e9cb6c98ff..9e7dca937084 100644 --- a/internal/service/account/service_endpoint_resolver_gen.go +++ b/internal/service/account/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params account.Endpoint }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up account endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up account endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/account/service_endpoints_gen_test.go b/internal/service/account/service_endpoints_gen_test.go index f4eaeb3275f9..b3fa7f270174 100644 --- a/internal/service/account/service_endpoints_gen_test.go +++ b/internal/service/account/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/acm/service_endpoint_resolver_gen.go b/internal/service/acm/service_endpoint_resolver_gen.go index 464025a8ed42..f47514408511 100644 --- a/internal/service/acm/service_endpoint_resolver_gen.go +++ b/internal/service/acm/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params acm.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up acm endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up acm endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/acm/service_endpoints_gen_test.go b/internal/service/acm/service_endpoints_gen_test.go index eb943e3f58da..715b96c17d86 100644 --- a/internal/service/acm/service_endpoints_gen_test.go +++ b/internal/service/acm/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/acmpca/service_endpoint_resolver_gen.go b/internal/service/acmpca/service_endpoint_resolver_gen.go index cb328c16cd26..5183a0808ec3 100644 --- a/internal/service/acmpca/service_endpoint_resolver_gen.go +++ b/internal/service/acmpca/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params acmpca.EndpointP }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up acmpca endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up acmpca endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/acmpca/service_endpoints_gen_test.go b/internal/service/acmpca/service_endpoints_gen_test.go index a1d946a92b23..352ce487eda9 100644 --- a/internal/service/acmpca/service_endpoints_gen_test.go +++ b/internal/service/acmpca/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/amp/service_endpoint_resolver_gen.go b/internal/service/amp/service_endpoint_resolver_gen.go index 3d710609ed7e..8fce799463d1 100644 --- a/internal/service/amp/service_endpoint_resolver_gen.go +++ b/internal/service/amp/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params amp.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up amp endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up amp endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/amp/service_endpoints_gen_test.go b/internal/service/amp/service_endpoints_gen_test.go index 3b41c5b0283b..6970f97b1602 100644 --- a/internal/service/amp/service_endpoints_gen_test.go +++ b/internal/service/amp/service_endpoints_gen_test.go @@ -678,7 +678,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/amplify/service_endpoint_resolver_gen.go b/internal/service/amplify/service_endpoint_resolver_gen.go index 3c59ee3b2f43..eb39b170cc02 100644 --- a/internal/service/amplify/service_endpoint_resolver_gen.go +++ b/internal/service/amplify/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params amplify.Endpoint }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up amplify endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up amplify endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/amplify/service_endpoints_gen_test.go b/internal/service/amplify/service_endpoints_gen_test.go index 888f8dd097cf..874e6d69db37 100644 --- a/internal/service/amplify/service_endpoints_gen_test.go +++ b/internal/service/amplify/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/apigateway/service_endpoint_resolver_gen.go b/internal/service/apigateway/service_endpoint_resolver_gen.go index d936de2594e0..c37b44f4b89b 100644 --- a/internal/service/apigateway/service_endpoint_resolver_gen.go +++ b/internal/service/apigateway/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params apigateway.Endpo }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up apigateway endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up apigateway endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/apigateway/service_endpoints_gen_test.go b/internal/service/apigateway/service_endpoints_gen_test.go index ff9305e4d5eb..edcf6331ea0a 100644 --- a/internal/service/apigateway/service_endpoints_gen_test.go +++ b/internal/service/apigateway/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/apigatewayv2/service_endpoint_resolver_gen.go b/internal/service/apigatewayv2/service_endpoint_resolver_gen.go index b82d77e3be6f..86581684cc5c 100644 --- a/internal/service/apigatewayv2/service_endpoint_resolver_gen.go +++ b/internal/service/apigatewayv2/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params apigatewayv2.End }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up apigatewayv2 endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up apigatewayv2 endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/apigatewayv2/service_endpoints_gen_test.go b/internal/service/apigatewayv2/service_endpoints_gen_test.go index 3d6c2b23dde5..f1708471afd4 100644 --- a/internal/service/apigatewayv2/service_endpoints_gen_test.go +++ b/internal/service/apigatewayv2/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/appautoscaling/service_endpoint_resolver_gen.go b/internal/service/appautoscaling/service_endpoint_resolver_gen.go index c5ef078ea28f..07485e8ec738 100644 --- a/internal/service/appautoscaling/service_endpoint_resolver_gen.go +++ b/internal/service/appautoscaling/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params applicationautos }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up applicationautoscaling endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up applicationautoscaling endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/appautoscaling/service_endpoints_gen_test.go b/internal/service/appautoscaling/service_endpoints_gen_test.go index 6c3db34869e1..bfefcc1e8f82 100644 --- a/internal/service/appautoscaling/service_endpoints_gen_test.go +++ b/internal/service/appautoscaling/service_endpoints_gen_test.go @@ -604,7 +604,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/appconfig/service_endpoint_resolver_gen.go b/internal/service/appconfig/service_endpoint_resolver_gen.go index 8c47518f9d81..53bb0aa1927e 100644 --- a/internal/service/appconfig/service_endpoint_resolver_gen.go +++ b/internal/service/appconfig/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params appconfig.Endpoi }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up appconfig endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up appconfig endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/appconfig/service_endpoints_gen_test.go b/internal/service/appconfig/service_endpoints_gen_test.go index 3ee9c93ea195..e88eab687cc5 100644 --- a/internal/service/appconfig/service_endpoints_gen_test.go +++ b/internal/service/appconfig/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/appfabric/service_endpoint_resolver_gen.go b/internal/service/appfabric/service_endpoint_resolver_gen.go index 6d8411d2afd2..3697752beabe 100644 --- a/internal/service/appfabric/service_endpoint_resolver_gen.go +++ b/internal/service/appfabric/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params appfabric.Endpoi }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up appfabric endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up appfabric endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/appfabric/service_endpoints_gen_test.go b/internal/service/appfabric/service_endpoints_gen_test.go index e95540d370d7..f3bc612145aa 100644 --- a/internal/service/appfabric/service_endpoints_gen_test.go +++ b/internal/service/appfabric/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/appflow/service_endpoint_resolver_gen.go b/internal/service/appflow/service_endpoint_resolver_gen.go index 166b2bbf49cc..31148df443d9 100644 --- a/internal/service/appflow/service_endpoint_resolver_gen.go +++ b/internal/service/appflow/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params appflow.Endpoint }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up appflow endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up appflow endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/appflow/service_endpoints_gen_test.go b/internal/service/appflow/service_endpoints_gen_test.go index 26ebfd8bc06e..f9a250cb7265 100644 --- a/internal/service/appflow/service_endpoints_gen_test.go +++ b/internal/service/appflow/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/appintegrations/service_endpoint_resolver_gen.go b/internal/service/appintegrations/service_endpoint_resolver_gen.go index d715dce688a4..21ef14b2c327 100644 --- a/internal/service/appintegrations/service_endpoint_resolver_gen.go +++ b/internal/service/appintegrations/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params appintegrations. }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up appintegrations endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up appintegrations endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/appintegrations/service_endpoints_gen_test.go b/internal/service/appintegrations/service_endpoints_gen_test.go index 82dc31318578..82490c484286 100644 --- a/internal/service/appintegrations/service_endpoints_gen_test.go +++ b/internal/service/appintegrations/service_endpoints_gen_test.go @@ -601,7 +601,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/applicationinsights/service_endpoint_resolver_gen.go b/internal/service/applicationinsights/service_endpoint_resolver_gen.go index 36f65e3254b5..7f93ab244d6a 100644 --- a/internal/service/applicationinsights/service_endpoint_resolver_gen.go +++ b/internal/service/applicationinsights/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params applicationinsig }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up applicationinsights endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up applicationinsights endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/applicationinsights/service_endpoints_gen_test.go b/internal/service/applicationinsights/service_endpoints_gen_test.go index b2255ab35258..1a299f99a50c 100644 --- a/internal/service/applicationinsights/service_endpoints_gen_test.go +++ b/internal/service/applicationinsights/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/applicationsignals/service_endpoint_resolver_gen.go b/internal/service/applicationsignals/service_endpoint_resolver_gen.go index 07ec75d8062f..0ed834e9e194 100644 --- a/internal/service/applicationsignals/service_endpoint_resolver_gen.go +++ b/internal/service/applicationsignals/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params applicationsigna }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up applicationsignals endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up applicationsignals endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/applicationsignals/service_endpoints_gen_test.go b/internal/service/applicationsignals/service_endpoints_gen_test.go index 2570b5c288f2..75ebc6f92d5b 100644 --- a/internal/service/applicationsignals/service_endpoints_gen_test.go +++ b/internal/service/applicationsignals/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/appmesh/service_endpoint_resolver_gen.go b/internal/service/appmesh/service_endpoint_resolver_gen.go index 78f11cbea779..9a59d13b28b1 100644 --- a/internal/service/appmesh/service_endpoint_resolver_gen.go +++ b/internal/service/appmesh/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params appmesh.Endpoint }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up appmesh endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up appmesh endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/appmesh/service_endpoints_gen_test.go b/internal/service/appmesh/service_endpoints_gen_test.go index e4caa2be256d..a1565eb8e3dd 100644 --- a/internal/service/appmesh/service_endpoints_gen_test.go +++ b/internal/service/appmesh/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/apprunner/service_endpoint_resolver_gen.go b/internal/service/apprunner/service_endpoint_resolver_gen.go index cb153b853ab2..b1949a588200 100644 --- a/internal/service/apprunner/service_endpoint_resolver_gen.go +++ b/internal/service/apprunner/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params apprunner.Endpoi }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up apprunner endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up apprunner endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/apprunner/service_endpoints_gen_test.go b/internal/service/apprunner/service_endpoints_gen_test.go index 78c1ae32dba0..8d2d37e42690 100644 --- a/internal/service/apprunner/service_endpoints_gen_test.go +++ b/internal/service/apprunner/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/appstream/service_endpoint_resolver_gen.go b/internal/service/appstream/service_endpoint_resolver_gen.go index 4937a6a51bc4..082fc0497f38 100644 --- a/internal/service/appstream/service_endpoint_resolver_gen.go +++ b/internal/service/appstream/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params appstream.Endpoi }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up appstream endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up appstream endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/appstream/service_endpoints_gen_test.go b/internal/service/appstream/service_endpoints_gen_test.go index de45d3e3a658..040820cfc9ad 100644 --- a/internal/service/appstream/service_endpoints_gen_test.go +++ b/internal/service/appstream/service_endpoints_gen_test.go @@ -523,7 +523,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/appsync/service_endpoint_resolver_gen.go b/internal/service/appsync/service_endpoint_resolver_gen.go index e079e6f8177e..1c015c6c9a08 100644 --- a/internal/service/appsync/service_endpoint_resolver_gen.go +++ b/internal/service/appsync/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params appsync.Endpoint }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up appsync endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up appsync endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/appsync/service_endpoints_gen_test.go b/internal/service/appsync/service_endpoints_gen_test.go index 4aa71c6682e0..38b8f9f62292 100644 --- a/internal/service/appsync/service_endpoints_gen_test.go +++ b/internal/service/appsync/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/athena/service_endpoint_resolver_gen.go b/internal/service/athena/service_endpoint_resolver_gen.go index 6b32c8f767f8..c7d769384c00 100644 --- a/internal/service/athena/service_endpoint_resolver_gen.go +++ b/internal/service/athena/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params athena.EndpointP }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up athena endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up athena endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/athena/service_endpoints_gen_test.go b/internal/service/athena/service_endpoints_gen_test.go index e7e22a8d9c21..7b4d6e58a38a 100644 --- a/internal/service/athena/service_endpoints_gen_test.go +++ b/internal/service/athena/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/auditmanager/service_endpoint_resolver_gen.go b/internal/service/auditmanager/service_endpoint_resolver_gen.go index 69264740bc5f..cd5983ab800b 100644 --- a/internal/service/auditmanager/service_endpoint_resolver_gen.go +++ b/internal/service/auditmanager/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params auditmanager.End }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up auditmanager endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up auditmanager endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/auditmanager/service_endpoints_gen_test.go b/internal/service/auditmanager/service_endpoints_gen_test.go index 9d6baf303631..ac0dc9a09320 100644 --- a/internal/service/auditmanager/service_endpoints_gen_test.go +++ b/internal/service/auditmanager/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/autoscaling/service_endpoint_resolver_gen.go b/internal/service/autoscaling/service_endpoint_resolver_gen.go index 2bc2ceb136e7..2886cc077671 100644 --- a/internal/service/autoscaling/service_endpoint_resolver_gen.go +++ b/internal/service/autoscaling/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params autoscaling.Endp }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up autoscaling endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up autoscaling endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/autoscaling/service_endpoints_gen_test.go b/internal/service/autoscaling/service_endpoints_gen_test.go index 055f00149020..3deb88771d06 100644 --- a/internal/service/autoscaling/service_endpoints_gen_test.go +++ b/internal/service/autoscaling/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/autoscalingplans/service_endpoint_resolver_gen.go b/internal/service/autoscalingplans/service_endpoint_resolver_gen.go index 321a5ef54002..11a3c107c151 100644 --- a/internal/service/autoscalingplans/service_endpoint_resolver_gen.go +++ b/internal/service/autoscalingplans/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params autoscalingplans }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up autoscalingplans endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up autoscalingplans endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/autoscalingplans/service_endpoints_gen_test.go b/internal/service/autoscalingplans/service_endpoints_gen_test.go index 50c583ae9764..0cd9335e2639 100644 --- a/internal/service/autoscalingplans/service_endpoints_gen_test.go +++ b/internal/service/autoscalingplans/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/backup/service_endpoint_resolver_gen.go b/internal/service/backup/service_endpoint_resolver_gen.go index 3c3173a9d902..421d439a68aa 100644 --- a/internal/service/backup/service_endpoint_resolver_gen.go +++ b/internal/service/backup/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params backup.EndpointP }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up backup endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up backup endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/backup/service_endpoints_gen_test.go b/internal/service/backup/service_endpoints_gen_test.go index 263bb7de1e82..c559e8cfc27a 100644 --- a/internal/service/backup/service_endpoints_gen_test.go +++ b/internal/service/backup/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/batch/service_endpoint_resolver_gen.go b/internal/service/batch/service_endpoint_resolver_gen.go index 7120a8c0d058..a356eff91ab4 100644 --- a/internal/service/batch/service_endpoint_resolver_gen.go +++ b/internal/service/batch/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params batch.EndpointPa }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up batch endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up batch endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/batch/service_endpoints_gen_test.go b/internal/service/batch/service_endpoints_gen_test.go index 7ff7200fe0ec..40ed6fe6fbae 100644 --- a/internal/service/batch/service_endpoints_gen_test.go +++ b/internal/service/batch/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/bcmdataexports/service_endpoint_resolver_gen.go b/internal/service/bcmdataexports/service_endpoint_resolver_gen.go index ff004f03d34e..167881fbec39 100644 --- a/internal/service/bcmdataexports/service_endpoint_resolver_gen.go +++ b/internal/service/bcmdataexports/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params bcmdataexports.E }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up bcmdataexports endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up bcmdataexports endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/bcmdataexports/service_endpoints_gen_test.go b/internal/service/bcmdataexports/service_endpoints_gen_test.go index 9a41a33056c0..7f8eaf2115ba 100644 --- a/internal/service/bcmdataexports/service_endpoints_gen_test.go +++ b/internal/service/bcmdataexports/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/bedrock/service_endpoint_resolver_gen.go b/internal/service/bedrock/service_endpoint_resolver_gen.go index bb9ed4377162..55dbc3586777 100644 --- a/internal/service/bedrock/service_endpoint_resolver_gen.go +++ b/internal/service/bedrock/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params bedrock.Endpoint }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up bedrock endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up bedrock endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/bedrock/service_endpoints_gen_test.go b/internal/service/bedrock/service_endpoints_gen_test.go index 417ce4c84806..ff172655c599 100644 --- a/internal/service/bedrock/service_endpoints_gen_test.go +++ b/internal/service/bedrock/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/bedrockagent/service_endpoint_resolver_gen.go b/internal/service/bedrockagent/service_endpoint_resolver_gen.go index 850cef4a6aab..6ef7e4ef163a 100644 --- a/internal/service/bedrockagent/service_endpoint_resolver_gen.go +++ b/internal/service/bedrockagent/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params bedrockagent.End }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up bedrockagent endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up bedrockagent endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/bedrockagent/service_endpoints_gen_test.go b/internal/service/bedrockagent/service_endpoints_gen_test.go index 6f765f2f6e40..6afaf5ef818b 100644 --- a/internal/service/bedrockagent/service_endpoints_gen_test.go +++ b/internal/service/bedrockagent/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/bedrockagentcore/service_endpoint_resolver_gen.go b/internal/service/bedrockagentcore/service_endpoint_resolver_gen.go index 4b0961e4834f..a09b8d72e4bd 100644 --- a/internal/service/bedrockagentcore/service_endpoint_resolver_gen.go +++ b/internal/service/bedrockagentcore/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params bedrockagentcore }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up bedrockagentcorecontrol endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up bedrockagentcorecontrol endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/bedrockagentcore/service_endpoints_gen_test.go b/internal/service/bedrockagentcore/service_endpoints_gen_test.go index e551cd696b45..e6e0024aae8b 100644 --- a/internal/service/bedrockagentcore/service_endpoints_gen_test.go +++ b/internal/service/bedrockagentcore/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/billing/service_endpoint_resolver_gen.go b/internal/service/billing/service_endpoint_resolver_gen.go index 8e5d21e47348..0a1961b7dfb5 100644 --- a/internal/service/billing/service_endpoint_resolver_gen.go +++ b/internal/service/billing/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params billing.Endpoint }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up billing endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up billing endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/billing/service_endpoints_gen_test.go b/internal/service/billing/service_endpoints_gen_test.go index f230fa2a9ba7..25ba1263329a 100644 --- a/internal/service/billing/service_endpoints_gen_test.go +++ b/internal/service/billing/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/budgets/service_endpoint_resolver_gen.go b/internal/service/budgets/service_endpoint_resolver_gen.go index 6bf3f2bc6a3a..1a029b1b13ff 100644 --- a/internal/service/budgets/service_endpoint_resolver_gen.go +++ b/internal/service/budgets/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params budgets.Endpoint }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up budgets endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up budgets endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/budgets/service_endpoints_gen_test.go b/internal/service/budgets/service_endpoints_gen_test.go index 61341de5f3a5..3cdfc5e744e5 100644 --- a/internal/service/budgets/service_endpoints_gen_test.go +++ b/internal/service/budgets/service_endpoints_gen_test.go @@ -524,7 +524,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/ce/service_endpoint_resolver_gen.go b/internal/service/ce/service_endpoint_resolver_gen.go index 0dfbcce2992d..fe06b852221a 100644 --- a/internal/service/ce/service_endpoint_resolver_gen.go +++ b/internal/service/ce/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params costexplorer.End }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up costexplorer endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up costexplorer endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/ce/service_endpoints_gen_test.go b/internal/service/ce/service_endpoints_gen_test.go index da0139339846..6333c6fc729f 100644 --- a/internal/service/ce/service_endpoints_gen_test.go +++ b/internal/service/ce/service_endpoints_gen_test.go @@ -601,7 +601,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/chatbot/service_endpoint_resolver_gen.go b/internal/service/chatbot/service_endpoint_resolver_gen.go index b6a7aaa0bc5b..d6877cb01baa 100644 --- a/internal/service/chatbot/service_endpoint_resolver_gen.go +++ b/internal/service/chatbot/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params chatbot.Endpoint }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up chatbot endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up chatbot endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/chatbot/service_endpoints_gen_test.go b/internal/service/chatbot/service_endpoints_gen_test.go index 5c1dc2a36564..e804c3d42204 100644 --- a/internal/service/chatbot/service_endpoints_gen_test.go +++ b/internal/service/chatbot/service_endpoints_gen_test.go @@ -523,7 +523,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/chime/service_endpoint_resolver_gen.go b/internal/service/chime/service_endpoint_resolver_gen.go index c1547bf192df..315d175a39e9 100644 --- a/internal/service/chime/service_endpoint_resolver_gen.go +++ b/internal/service/chime/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params chime.EndpointPa }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up chime endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up chime endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/chime/service_endpoints_gen_test.go b/internal/service/chime/service_endpoints_gen_test.go index 85f7cd00aef1..e1340109c5f6 100644 --- a/internal/service/chime/service_endpoints_gen_test.go +++ b/internal/service/chime/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/chimesdkmediapipelines/service_endpoint_resolver_gen.go b/internal/service/chimesdkmediapipelines/service_endpoint_resolver_gen.go index ff3d66a2a6db..b9a43c7b85b2 100644 --- a/internal/service/chimesdkmediapipelines/service_endpoint_resolver_gen.go +++ b/internal/service/chimesdkmediapipelines/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params chimesdkmediapip }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up chimesdkmediapipelines endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up chimesdkmediapipelines endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/chimesdkmediapipelines/service_endpoints_gen_test.go b/internal/service/chimesdkmediapipelines/service_endpoints_gen_test.go index 09348d616453..3e3b2b802bd7 100644 --- a/internal/service/chimesdkmediapipelines/service_endpoints_gen_test.go +++ b/internal/service/chimesdkmediapipelines/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/chimesdkvoice/service_endpoint_resolver_gen.go b/internal/service/chimesdkvoice/service_endpoint_resolver_gen.go index bfa91a8bc123..74852d40eb12 100644 --- a/internal/service/chimesdkvoice/service_endpoint_resolver_gen.go +++ b/internal/service/chimesdkvoice/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params chimesdkvoice.En }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up chimesdkvoice endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up chimesdkvoice endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/chimesdkvoice/service_endpoints_gen_test.go b/internal/service/chimesdkvoice/service_endpoints_gen_test.go index e44fc71d6ea5..e3255e69e35d 100644 --- a/internal/service/chimesdkvoice/service_endpoints_gen_test.go +++ b/internal/service/chimesdkvoice/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/cleanrooms/service_endpoint_resolver_gen.go b/internal/service/cleanrooms/service_endpoint_resolver_gen.go index 4e95202f9486..227e14af6fc2 100644 --- a/internal/service/cleanrooms/service_endpoint_resolver_gen.go +++ b/internal/service/cleanrooms/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params cleanrooms.Endpo }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up cleanrooms endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up cleanrooms endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/cleanrooms/service_endpoints_gen_test.go b/internal/service/cleanrooms/service_endpoints_gen_test.go index 7633ccb00cc2..1f1810c3dfd0 100644 --- a/internal/service/cleanrooms/service_endpoints_gen_test.go +++ b/internal/service/cleanrooms/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/cloud9/service_endpoint_resolver_gen.go b/internal/service/cloud9/service_endpoint_resolver_gen.go index cd6e259f2884..ce3f420434dc 100644 --- a/internal/service/cloud9/service_endpoint_resolver_gen.go +++ b/internal/service/cloud9/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params cloud9.EndpointP }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up cloud9 endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up cloud9 endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/cloud9/service_endpoints_gen_test.go b/internal/service/cloud9/service_endpoints_gen_test.go index 2fbb9b66efa8..f2f61231a415 100644 --- a/internal/service/cloud9/service_endpoints_gen_test.go +++ b/internal/service/cloud9/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/cloudcontrol/service_endpoint_resolver_gen.go b/internal/service/cloudcontrol/service_endpoint_resolver_gen.go index d1bec3b0eacf..b1356dc596e7 100644 --- a/internal/service/cloudcontrol/service_endpoint_resolver_gen.go +++ b/internal/service/cloudcontrol/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params cloudcontrol.End }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up cloudcontrol endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up cloudcontrol endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/cloudcontrol/service_endpoints_gen_test.go b/internal/service/cloudcontrol/service_endpoints_gen_test.go index c0f1331cdafc..7cb2c46cb997 100644 --- a/internal/service/cloudcontrol/service_endpoints_gen_test.go +++ b/internal/service/cloudcontrol/service_endpoints_gen_test.go @@ -601,7 +601,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/cloudformation/service_endpoint_resolver_gen.go b/internal/service/cloudformation/service_endpoint_resolver_gen.go index dc5167c44bbd..d9f7fbe559cc 100644 --- a/internal/service/cloudformation/service_endpoint_resolver_gen.go +++ b/internal/service/cloudformation/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params cloudformation.E }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up cloudformation endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up cloudformation endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/cloudformation/service_endpoints_gen_test.go b/internal/service/cloudformation/service_endpoints_gen_test.go index a898abb391a2..83b3f645c0d4 100644 --- a/internal/service/cloudformation/service_endpoints_gen_test.go +++ b/internal/service/cloudformation/service_endpoints_gen_test.go @@ -523,7 +523,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/cloudfront/service_endpoint_resolver_gen.go b/internal/service/cloudfront/service_endpoint_resolver_gen.go index 6aecb5c28572..fce5acd47768 100644 --- a/internal/service/cloudfront/service_endpoint_resolver_gen.go +++ b/internal/service/cloudfront/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params cloudfront.Endpo }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up cloudfront endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up cloudfront endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/cloudfront/service_endpoints_gen_test.go b/internal/service/cloudfront/service_endpoints_gen_test.go index 550a7a6f50f6..14cd5ac1b539 100644 --- a/internal/service/cloudfront/service_endpoints_gen_test.go +++ b/internal/service/cloudfront/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/cloudfrontkeyvaluestore/service_endpoint_resolver_gen.go b/internal/service/cloudfrontkeyvaluestore/service_endpoint_resolver_gen.go index 6081c3ff4f57..e745c1473bd6 100644 --- a/internal/service/cloudfrontkeyvaluestore/service_endpoint_resolver_gen.go +++ b/internal/service/cloudfrontkeyvaluestore/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params cloudfrontkeyval }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up cloudfrontkeyvaluestore endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up cloudfrontkeyvaluestore endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/cloudhsmv2/service_endpoint_resolver_gen.go b/internal/service/cloudhsmv2/service_endpoint_resolver_gen.go index 9e96cdb3d5ac..2828da44735e 100644 --- a/internal/service/cloudhsmv2/service_endpoint_resolver_gen.go +++ b/internal/service/cloudhsmv2/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params cloudhsmv2.Endpo }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up cloudhsmv2 endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up cloudhsmv2 endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/cloudhsmv2/service_endpoints_gen_test.go b/internal/service/cloudhsmv2/service_endpoints_gen_test.go index 39c3a8d02c99..499307c8b700 100644 --- a/internal/service/cloudhsmv2/service_endpoints_gen_test.go +++ b/internal/service/cloudhsmv2/service_endpoints_gen_test.go @@ -601,7 +601,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/cloudsearch/service_endpoint_resolver_gen.go b/internal/service/cloudsearch/service_endpoint_resolver_gen.go index 9b46d750eb09..a817f2ed3b4d 100644 --- a/internal/service/cloudsearch/service_endpoint_resolver_gen.go +++ b/internal/service/cloudsearch/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params cloudsearch.Endp }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up cloudsearch endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up cloudsearch endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/cloudsearch/service_endpoints_gen_test.go b/internal/service/cloudsearch/service_endpoints_gen_test.go index eee335062b1e..7ec461e94168 100644 --- a/internal/service/cloudsearch/service_endpoints_gen_test.go +++ b/internal/service/cloudsearch/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/cloudtrail/service_endpoint_resolver_gen.go b/internal/service/cloudtrail/service_endpoint_resolver_gen.go index 9658d09eb2d3..84e70a9e07ab 100644 --- a/internal/service/cloudtrail/service_endpoint_resolver_gen.go +++ b/internal/service/cloudtrail/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params cloudtrail.Endpo }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up cloudtrail endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up cloudtrail endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/cloudtrail/service_endpoints_gen_test.go b/internal/service/cloudtrail/service_endpoints_gen_test.go index 2487e7391bfe..3b8873939407 100644 --- a/internal/service/cloudtrail/service_endpoints_gen_test.go +++ b/internal/service/cloudtrail/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/cloudwatch/service_endpoint_resolver_gen.go b/internal/service/cloudwatch/service_endpoint_resolver_gen.go index 2430cfac6f3e..f1746e3451af 100644 --- a/internal/service/cloudwatch/service_endpoint_resolver_gen.go +++ b/internal/service/cloudwatch/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params cloudwatch.Endpo }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up cloudwatch endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up cloudwatch endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/cloudwatch/service_endpoints_gen_test.go b/internal/service/cloudwatch/service_endpoints_gen_test.go index f6322d39f042..a49abada8d97 100644 --- a/internal/service/cloudwatch/service_endpoints_gen_test.go +++ b/internal/service/cloudwatch/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/codeartifact/service_endpoint_resolver_gen.go b/internal/service/codeartifact/service_endpoint_resolver_gen.go index 0dbf8a6633e5..61629b968d61 100644 --- a/internal/service/codeartifact/service_endpoint_resolver_gen.go +++ b/internal/service/codeartifact/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params codeartifact.End }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up codeartifact endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up codeartifact endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/codeartifact/service_endpoints_gen_test.go b/internal/service/codeartifact/service_endpoints_gen_test.go index b437ffbecc4e..47c7ecdd8409 100644 --- a/internal/service/codeartifact/service_endpoints_gen_test.go +++ b/internal/service/codeartifact/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/codebuild/service_endpoint_resolver_gen.go b/internal/service/codebuild/service_endpoint_resolver_gen.go index 6d53d631f818..30d0a25780ab 100644 --- a/internal/service/codebuild/service_endpoint_resolver_gen.go +++ b/internal/service/codebuild/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params codebuild.Endpoi }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up codebuild endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up codebuild endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/codebuild/service_endpoints_gen_test.go b/internal/service/codebuild/service_endpoints_gen_test.go index 1dd22158f65a..37297f24583c 100644 --- a/internal/service/codebuild/service_endpoints_gen_test.go +++ b/internal/service/codebuild/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/codecatalyst/service_endpoint_resolver_gen.go b/internal/service/codecatalyst/service_endpoint_resolver_gen.go index b872e775e929..b4e731da0eb5 100644 --- a/internal/service/codecatalyst/service_endpoint_resolver_gen.go +++ b/internal/service/codecatalyst/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params codecatalyst.End }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up codecatalyst endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up codecatalyst endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/codecommit/service_endpoint_resolver_gen.go b/internal/service/codecommit/service_endpoint_resolver_gen.go index cebee387ec6d..2a24886b8c51 100644 --- a/internal/service/codecommit/service_endpoint_resolver_gen.go +++ b/internal/service/codecommit/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params codecommit.Endpo }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up codecommit endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up codecommit endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/codecommit/service_endpoints_gen_test.go b/internal/service/codecommit/service_endpoints_gen_test.go index f14c14dfdb62..40410f0c1b67 100644 --- a/internal/service/codecommit/service_endpoints_gen_test.go +++ b/internal/service/codecommit/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/codeconnections/service_endpoint_resolver_gen.go b/internal/service/codeconnections/service_endpoint_resolver_gen.go index 9ee7a27a43aa..fd577895d98d 100644 --- a/internal/service/codeconnections/service_endpoint_resolver_gen.go +++ b/internal/service/codeconnections/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params codeconnections. }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up codeconnections endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up codeconnections endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/codeconnections/service_endpoints_gen_test.go b/internal/service/codeconnections/service_endpoints_gen_test.go index 99c39cd14209..690a98ff83db 100644 --- a/internal/service/codeconnections/service_endpoints_gen_test.go +++ b/internal/service/codeconnections/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/codeguruprofiler/service_endpoint_resolver_gen.go b/internal/service/codeguruprofiler/service_endpoint_resolver_gen.go index 6f115a1df583..43a4ce62979a 100644 --- a/internal/service/codeguruprofiler/service_endpoint_resolver_gen.go +++ b/internal/service/codeguruprofiler/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params codeguruprofiler }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up codeguruprofiler endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up codeguruprofiler endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/codeguruprofiler/service_endpoints_gen_test.go b/internal/service/codeguruprofiler/service_endpoints_gen_test.go index 286f64d4c0b0..a6eb0c2acb3a 100644 --- a/internal/service/codeguruprofiler/service_endpoints_gen_test.go +++ b/internal/service/codeguruprofiler/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/codegurureviewer/service_endpoint_resolver_gen.go b/internal/service/codegurureviewer/service_endpoint_resolver_gen.go index 0d7e0ab38a23..6ca55099ed2f 100644 --- a/internal/service/codegurureviewer/service_endpoint_resolver_gen.go +++ b/internal/service/codegurureviewer/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params codegurureviewer }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up codegurureviewer endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up codegurureviewer endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/codegurureviewer/service_endpoints_gen_test.go b/internal/service/codegurureviewer/service_endpoints_gen_test.go index bf89631af936..cab6491f6600 100644 --- a/internal/service/codegurureviewer/service_endpoints_gen_test.go +++ b/internal/service/codegurureviewer/service_endpoints_gen_test.go @@ -524,7 +524,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/codepipeline/service_endpoint_resolver_gen.go b/internal/service/codepipeline/service_endpoint_resolver_gen.go index c0b3834345d7..d7b579b09757 100644 --- a/internal/service/codepipeline/service_endpoint_resolver_gen.go +++ b/internal/service/codepipeline/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params codepipeline.End }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up codepipeline endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up codepipeline endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/codepipeline/service_endpoints_gen_test.go b/internal/service/codepipeline/service_endpoints_gen_test.go index 1d7fa4fed182..543c7203b9d6 100644 --- a/internal/service/codepipeline/service_endpoints_gen_test.go +++ b/internal/service/codepipeline/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/codestarconnections/service_endpoint_resolver_gen.go b/internal/service/codestarconnections/service_endpoint_resolver_gen.go index 0309b4aabb71..451c75d2a63d 100644 --- a/internal/service/codestarconnections/service_endpoint_resolver_gen.go +++ b/internal/service/codestarconnections/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params codestarconnecti }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up codestarconnections endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up codestarconnections endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/codestarconnections/service_endpoints_gen_test.go b/internal/service/codestarconnections/service_endpoints_gen_test.go index 6105907f9700..4981f221e057 100644 --- a/internal/service/codestarconnections/service_endpoints_gen_test.go +++ b/internal/service/codestarconnections/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/codestarnotifications/service_endpoint_resolver_gen.go b/internal/service/codestarnotifications/service_endpoint_resolver_gen.go index 61b664d96438..6008a1692062 100644 --- a/internal/service/codestarnotifications/service_endpoint_resolver_gen.go +++ b/internal/service/codestarnotifications/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params codestarnotifica }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up codestarnotifications endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up codestarnotifications endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/codestarnotifications/service_endpoints_gen_test.go b/internal/service/codestarnotifications/service_endpoints_gen_test.go index c56f4c48c06e..bad8f3da2b2e 100644 --- a/internal/service/codestarnotifications/service_endpoints_gen_test.go +++ b/internal/service/codestarnotifications/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/cognitoidentity/service_endpoint_resolver_gen.go b/internal/service/cognitoidentity/service_endpoint_resolver_gen.go index c14463b14c56..615a86f4c443 100644 --- a/internal/service/cognitoidentity/service_endpoint_resolver_gen.go +++ b/internal/service/cognitoidentity/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params cognitoidentity. }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up cognitoidentity endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up cognitoidentity endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/cognitoidentity/service_endpoints_gen_test.go b/internal/service/cognitoidentity/service_endpoints_gen_test.go index 97d1c5286400..425d4095f71a 100644 --- a/internal/service/cognitoidentity/service_endpoints_gen_test.go +++ b/internal/service/cognitoidentity/service_endpoints_gen_test.go @@ -523,7 +523,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/cognitoidp/service_endpoint_resolver_gen.go b/internal/service/cognitoidp/service_endpoint_resolver_gen.go index 703a68b75e7d..16da1d321ff5 100644 --- a/internal/service/cognitoidp/service_endpoint_resolver_gen.go +++ b/internal/service/cognitoidp/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params cognitoidentityp }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up cognitoidentityprovider endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up cognitoidentityprovider endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/cognitoidp/service_endpoints_gen_test.go b/internal/service/cognitoidp/service_endpoints_gen_test.go index 08f7d88fda4e..843d3d3c83d5 100644 --- a/internal/service/cognitoidp/service_endpoints_gen_test.go +++ b/internal/service/cognitoidp/service_endpoints_gen_test.go @@ -603,7 +603,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/comprehend/service_endpoint_resolver_gen.go b/internal/service/comprehend/service_endpoint_resolver_gen.go index b0affcf92068..56a15e2fcf38 100644 --- a/internal/service/comprehend/service_endpoint_resolver_gen.go +++ b/internal/service/comprehend/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params comprehend.Endpo }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up comprehend endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up comprehend endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/comprehend/service_endpoints_gen_test.go b/internal/service/comprehend/service_endpoints_gen_test.go index 9b81f6139ff8..57e82777efca 100644 --- a/internal/service/comprehend/service_endpoints_gen_test.go +++ b/internal/service/comprehend/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/computeoptimizer/service_endpoint_resolver_gen.go b/internal/service/computeoptimizer/service_endpoint_resolver_gen.go index 973c7333a387..bdf5e4f66c7d 100644 --- a/internal/service/computeoptimizer/service_endpoint_resolver_gen.go +++ b/internal/service/computeoptimizer/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params computeoptimizer }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up computeoptimizer endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up computeoptimizer endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/computeoptimizer/service_endpoints_gen_test.go b/internal/service/computeoptimizer/service_endpoints_gen_test.go index 6d726c0ac9c8..b688e2c3dbe8 100644 --- a/internal/service/computeoptimizer/service_endpoints_gen_test.go +++ b/internal/service/computeoptimizer/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/configservice/service_endpoint_resolver_gen.go b/internal/service/configservice/service_endpoint_resolver_gen.go index e01df6060787..618d51fddd7e 100644 --- a/internal/service/configservice/service_endpoint_resolver_gen.go +++ b/internal/service/configservice/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params configservice.En }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up configservice endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up configservice endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/configservice/service_endpoints_gen_test.go b/internal/service/configservice/service_endpoints_gen_test.go index 61f1a150fa33..eeabd8b458aa 100644 --- a/internal/service/configservice/service_endpoints_gen_test.go +++ b/internal/service/configservice/service_endpoints_gen_test.go @@ -601,7 +601,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/connect/service_endpoint_resolver_gen.go b/internal/service/connect/service_endpoint_resolver_gen.go index b4680b90f281..d998436b6131 100644 --- a/internal/service/connect/service_endpoint_resolver_gen.go +++ b/internal/service/connect/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params connect.Endpoint }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up connect endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up connect endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/connect/service_endpoints_gen_test.go b/internal/service/connect/service_endpoints_gen_test.go index b6e2bd8d8b4e..0f54d080cc93 100644 --- a/internal/service/connect/service_endpoints_gen_test.go +++ b/internal/service/connect/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/connectcases/service_endpoint_resolver_gen.go b/internal/service/connectcases/service_endpoint_resolver_gen.go index 8cfc2cd3ab06..8d6d7609bd2d 100644 --- a/internal/service/connectcases/service_endpoint_resolver_gen.go +++ b/internal/service/connectcases/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params connectcases.End }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up connectcases endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up connectcases endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/connectcases/service_endpoints_gen_test.go b/internal/service/connectcases/service_endpoints_gen_test.go index b0ce20a0658f..df065337cc01 100644 --- a/internal/service/connectcases/service_endpoints_gen_test.go +++ b/internal/service/connectcases/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/controltower/service_endpoint_resolver_gen.go b/internal/service/controltower/service_endpoint_resolver_gen.go index f5c63b95e4ad..a97c5e978fe4 100644 --- a/internal/service/controltower/service_endpoint_resolver_gen.go +++ b/internal/service/controltower/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params controltower.End }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up controltower endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up controltower endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/controltower/service_endpoints_gen_test.go b/internal/service/controltower/service_endpoints_gen_test.go index 7caf3813d2ea..0c20d1c0ce41 100644 --- a/internal/service/controltower/service_endpoints_gen_test.go +++ b/internal/service/controltower/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/costoptimizationhub/service_endpoint_resolver_gen.go b/internal/service/costoptimizationhub/service_endpoint_resolver_gen.go index 3a9ff94db756..e965f938a097 100644 --- a/internal/service/costoptimizationhub/service_endpoint_resolver_gen.go +++ b/internal/service/costoptimizationhub/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params costoptimization }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up costoptimizationhub endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up costoptimizationhub endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/costoptimizationhub/service_endpoints_gen_test.go b/internal/service/costoptimizationhub/service_endpoints_gen_test.go index 3e72578d664b..c4404287e8bf 100644 --- a/internal/service/costoptimizationhub/service_endpoints_gen_test.go +++ b/internal/service/costoptimizationhub/service_endpoints_gen_test.go @@ -523,7 +523,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/cur/service_endpoint_resolver_gen.go b/internal/service/cur/service_endpoint_resolver_gen.go index c61e30369f0e..8a97e6d8f093 100644 --- a/internal/service/cur/service_endpoint_resolver_gen.go +++ b/internal/service/cur/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params costandusagerepo }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up costandusagereportservice endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up costandusagereportservice endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/cur/service_endpoints_gen_test.go b/internal/service/cur/service_endpoints_gen_test.go index 5f1192f0d18b..7c1e0c93e706 100644 --- a/internal/service/cur/service_endpoints_gen_test.go +++ b/internal/service/cur/service_endpoints_gen_test.go @@ -603,7 +603,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/customerprofiles/service_endpoint_resolver_gen.go b/internal/service/customerprofiles/service_endpoint_resolver_gen.go index e07d29c3a981..dff8d538c74d 100644 --- a/internal/service/customerprofiles/service_endpoint_resolver_gen.go +++ b/internal/service/customerprofiles/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params customerprofiles }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up customerprofiles endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up customerprofiles endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/customerprofiles/service_endpoints_gen_test.go b/internal/service/customerprofiles/service_endpoints_gen_test.go index fe9ed1345d78..95334a75587a 100644 --- a/internal/service/customerprofiles/service_endpoints_gen_test.go +++ b/internal/service/customerprofiles/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/databrew/service_endpoint_resolver_gen.go b/internal/service/databrew/service_endpoint_resolver_gen.go index 1a5af3d567d3..64352236710b 100644 --- a/internal/service/databrew/service_endpoint_resolver_gen.go +++ b/internal/service/databrew/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params databrew.Endpoin }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up databrew endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up databrew endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/databrew/service_endpoints_gen_test.go b/internal/service/databrew/service_endpoints_gen_test.go index 003d69a63753..a4403e28604f 100644 --- a/internal/service/databrew/service_endpoints_gen_test.go +++ b/internal/service/databrew/service_endpoints_gen_test.go @@ -601,7 +601,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/dataexchange/service_endpoint_resolver_gen.go b/internal/service/dataexchange/service_endpoint_resolver_gen.go index 0ebda75769a3..b4a45c44c67d 100644 --- a/internal/service/dataexchange/service_endpoint_resolver_gen.go +++ b/internal/service/dataexchange/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params dataexchange.End }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up dataexchange endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up dataexchange endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/dataexchange/service_endpoints_gen_test.go b/internal/service/dataexchange/service_endpoints_gen_test.go index e6390776a1ca..beba2b4ab918 100644 --- a/internal/service/dataexchange/service_endpoints_gen_test.go +++ b/internal/service/dataexchange/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/datapipeline/service_endpoint_resolver_gen.go b/internal/service/datapipeline/service_endpoint_resolver_gen.go index 9ce33bd4e962..a5e0fdaa07d7 100644 --- a/internal/service/datapipeline/service_endpoint_resolver_gen.go +++ b/internal/service/datapipeline/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params datapipeline.End }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up datapipeline endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up datapipeline endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/datapipeline/service_endpoints_gen_test.go b/internal/service/datapipeline/service_endpoints_gen_test.go index c9a3669605d3..093dd73c9c78 100644 --- a/internal/service/datapipeline/service_endpoints_gen_test.go +++ b/internal/service/datapipeline/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/datasync/service_endpoint_resolver_gen.go b/internal/service/datasync/service_endpoint_resolver_gen.go index 307d27b963ca..489daeed63fd 100644 --- a/internal/service/datasync/service_endpoint_resolver_gen.go +++ b/internal/service/datasync/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params datasync.Endpoin }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up datasync endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up datasync endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/datasync/service_endpoints_gen_test.go b/internal/service/datasync/service_endpoints_gen_test.go index 4ee1b4cdba1a..d162ff9feb83 100644 --- a/internal/service/datasync/service_endpoints_gen_test.go +++ b/internal/service/datasync/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/datazone/service_endpoint_resolver_gen.go b/internal/service/datazone/service_endpoint_resolver_gen.go index 31347a04968f..2d647b8a4ed5 100644 --- a/internal/service/datazone/service_endpoint_resolver_gen.go +++ b/internal/service/datazone/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params datazone.Endpoin }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up datazone endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up datazone endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/datazone/service_endpoints_gen_test.go b/internal/service/datazone/service_endpoints_gen_test.go index 6ac731bdffcd..8099a9034461 100644 --- a/internal/service/datazone/service_endpoints_gen_test.go +++ b/internal/service/datazone/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/dax/service_endpoint_resolver_gen.go b/internal/service/dax/service_endpoint_resolver_gen.go index 9f70e0fc6755..e27ec13ec62b 100644 --- a/internal/service/dax/service_endpoint_resolver_gen.go +++ b/internal/service/dax/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params dax.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up dax endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up dax endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/dax/service_endpoints_gen_test.go b/internal/service/dax/service_endpoints_gen_test.go index e25932b2bbc3..e44e00c920c1 100644 --- a/internal/service/dax/service_endpoints_gen_test.go +++ b/internal/service/dax/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/deploy/service_endpoint_resolver_gen.go b/internal/service/deploy/service_endpoint_resolver_gen.go index 3561dea007c7..ccf469ae04f8 100644 --- a/internal/service/deploy/service_endpoint_resolver_gen.go +++ b/internal/service/deploy/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params codedeploy.Endpo }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up codedeploy endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up codedeploy endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/deploy/service_endpoints_gen_test.go b/internal/service/deploy/service_endpoints_gen_test.go index 82dc5d10b2e4..8cebc7411b4f 100644 --- a/internal/service/deploy/service_endpoints_gen_test.go +++ b/internal/service/deploy/service_endpoints_gen_test.go @@ -601,7 +601,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/detective/service_endpoint_resolver_gen.go b/internal/service/detective/service_endpoint_resolver_gen.go index 5bf3fbefadd8..3e027360b864 100644 --- a/internal/service/detective/service_endpoint_resolver_gen.go +++ b/internal/service/detective/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params detective.Endpoi }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up detective endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up detective endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/detective/service_endpoints_gen_test.go b/internal/service/detective/service_endpoints_gen_test.go index ab7c87c07746..4e8478979437 100644 --- a/internal/service/detective/service_endpoints_gen_test.go +++ b/internal/service/detective/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/devicefarm/service_endpoint_resolver_gen.go b/internal/service/devicefarm/service_endpoint_resolver_gen.go index 093e86cec0f8..62da88fb5167 100644 --- a/internal/service/devicefarm/service_endpoint_resolver_gen.go +++ b/internal/service/devicefarm/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params devicefarm.Endpo }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up devicefarm endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up devicefarm endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/devicefarm/service_endpoints_gen_test.go b/internal/service/devicefarm/service_endpoints_gen_test.go index f0728b88cc31..ce9a225b5821 100644 --- a/internal/service/devicefarm/service_endpoints_gen_test.go +++ b/internal/service/devicefarm/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/devopsguru/service_endpoint_resolver_gen.go b/internal/service/devopsguru/service_endpoint_resolver_gen.go index 2e3c105cb463..e99c3a70e8d3 100644 --- a/internal/service/devopsguru/service_endpoint_resolver_gen.go +++ b/internal/service/devopsguru/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params devopsguru.Endpo }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up devopsguru endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up devopsguru endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/devopsguru/service_endpoints_gen_test.go b/internal/service/devopsguru/service_endpoints_gen_test.go index c6b3fc724e48..f22dfa54bced 100644 --- a/internal/service/devopsguru/service_endpoints_gen_test.go +++ b/internal/service/devopsguru/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/directconnect/service_endpoint_resolver_gen.go b/internal/service/directconnect/service_endpoint_resolver_gen.go index 01356443ed8e..354800f12385 100644 --- a/internal/service/directconnect/service_endpoint_resolver_gen.go +++ b/internal/service/directconnect/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params directconnect.En }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up directconnect endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up directconnect endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/directconnect/service_endpoints_gen_test.go b/internal/service/directconnect/service_endpoints_gen_test.go index d6f8c9a1ae4c..1fabf4e792e3 100644 --- a/internal/service/directconnect/service_endpoints_gen_test.go +++ b/internal/service/directconnect/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/dlm/service_endpoint_resolver_gen.go b/internal/service/dlm/service_endpoint_resolver_gen.go index 750643613dac..dd4c75a0bca5 100644 --- a/internal/service/dlm/service_endpoint_resolver_gen.go +++ b/internal/service/dlm/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params dlm.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up dlm endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up dlm endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/dlm/service_endpoints_gen_test.go b/internal/service/dlm/service_endpoints_gen_test.go index 92c4be65c478..12b6b281301b 100644 --- a/internal/service/dlm/service_endpoints_gen_test.go +++ b/internal/service/dlm/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/dms/service_endpoint_resolver_gen.go b/internal/service/dms/service_endpoint_resolver_gen.go index 1a3d37461269..d6ad98682d99 100644 --- a/internal/service/dms/service_endpoint_resolver_gen.go +++ b/internal/service/dms/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params databasemigratio }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up databasemigrationservice endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up databasemigrationservice endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/dms/service_endpoints_gen_test.go b/internal/service/dms/service_endpoints_gen_test.go index 8e875deb340e..3f4f810c7b12 100644 --- a/internal/service/dms/service_endpoints_gen_test.go +++ b/internal/service/dms/service_endpoints_gen_test.go @@ -678,7 +678,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/docdb/service_endpoint_resolver_gen.go b/internal/service/docdb/service_endpoint_resolver_gen.go index e8255189f574..97b2de0568bb 100644 --- a/internal/service/docdb/service_endpoint_resolver_gen.go +++ b/internal/service/docdb/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params docdb.EndpointPa }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up docdb endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up docdb endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/docdb/service_endpoints_gen_test.go b/internal/service/docdb/service_endpoints_gen_test.go index 28aae8ce3af0..619475bbc410 100644 --- a/internal/service/docdb/service_endpoints_gen_test.go +++ b/internal/service/docdb/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/docdbelastic/service_endpoint_resolver_gen.go b/internal/service/docdbelastic/service_endpoint_resolver_gen.go index 38a7dfa18d41..5364316f949c 100644 --- a/internal/service/docdbelastic/service_endpoint_resolver_gen.go +++ b/internal/service/docdbelastic/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params docdbelastic.End }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up docdbelastic endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up docdbelastic endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/docdbelastic/service_endpoints_gen_test.go b/internal/service/docdbelastic/service_endpoints_gen_test.go index 2c7f79764337..396aa628447a 100644 --- a/internal/service/docdbelastic/service_endpoints_gen_test.go +++ b/internal/service/docdbelastic/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/drs/service_endpoint_resolver_gen.go b/internal/service/drs/service_endpoint_resolver_gen.go index 894ecaf255eb..fcc7e41a57a4 100644 --- a/internal/service/drs/service_endpoint_resolver_gen.go +++ b/internal/service/drs/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params drs.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up drs endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up drs endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/drs/service_endpoints_gen_test.go b/internal/service/drs/service_endpoints_gen_test.go index b121a2113d2f..1a26ad92abdd 100644 --- a/internal/service/drs/service_endpoints_gen_test.go +++ b/internal/service/drs/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/ds/service_endpoint_resolver_gen.go b/internal/service/ds/service_endpoint_resolver_gen.go index 0c2d51f5a96f..d014b5183672 100644 --- a/internal/service/ds/service_endpoint_resolver_gen.go +++ b/internal/service/ds/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params directoryservice }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up directoryservice endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up directoryservice endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/ds/service_endpoints_gen_test.go b/internal/service/ds/service_endpoints_gen_test.go index e92ca4b341a7..2eb0b2c699c7 100644 --- a/internal/service/ds/service_endpoints_gen_test.go +++ b/internal/service/ds/service_endpoints_gen_test.go @@ -601,7 +601,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/dsql/service_endpoint_resolver_gen.go b/internal/service/dsql/service_endpoint_resolver_gen.go index 19eb64cd78ed..cc2cf618add3 100644 --- a/internal/service/dsql/service_endpoint_resolver_gen.go +++ b/internal/service/dsql/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params dsql.EndpointPar }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up dsql endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up dsql endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/dsql/service_endpoints_gen_test.go b/internal/service/dsql/service_endpoints_gen_test.go index 2df8610491c4..1f8b10de72dc 100644 --- a/internal/service/dsql/service_endpoints_gen_test.go +++ b/internal/service/dsql/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/dynamodb/service_endpoint_resolver_gen.go b/internal/service/dynamodb/service_endpoint_resolver_gen.go index 191011ed05b2..c95db3d33fb1 100644 --- a/internal/service/dynamodb/service_endpoint_resolver_gen.go +++ b/internal/service/dynamodb/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params dynamodb.Endpoin }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up dynamodb endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up dynamodb endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/dynamodb/service_endpoints_gen_test.go b/internal/service/dynamodb/service_endpoints_gen_test.go index 3003c5ddb7c1..e4d677fa50ba 100644 --- a/internal/service/dynamodb/service_endpoints_gen_test.go +++ b/internal/service/dynamodb/service_endpoints_gen_test.go @@ -659,7 +659,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/ec2/service_endpoint_resolver_gen.go b/internal/service/ec2/service_endpoint_resolver_gen.go index f4b2a033bd36..ec0d57e483af 100644 --- a/internal/service/ec2/service_endpoint_resolver_gen.go +++ b/internal/service/ec2/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params ec2.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up ec2 endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up ec2 endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/ec2/service_endpoints_gen_test.go b/internal/service/ec2/service_endpoints_gen_test.go index 0503434eae4a..f31b15df767a 100644 --- a/internal/service/ec2/service_endpoints_gen_test.go +++ b/internal/service/ec2/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/ecr/service_endpoint_resolver_gen.go b/internal/service/ecr/service_endpoint_resolver_gen.go index 6972fecf3f7c..86e077b7736c 100644 --- a/internal/service/ecr/service_endpoint_resolver_gen.go +++ b/internal/service/ecr/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params ecr.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up ecr endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up ecr endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/ecr/service_endpoints_gen_test.go b/internal/service/ecr/service_endpoints_gen_test.go index f875c789ca76..2e7bdf8d8edb 100644 --- a/internal/service/ecr/service_endpoints_gen_test.go +++ b/internal/service/ecr/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/ecrpublic/service_endpoint_resolver_gen.go b/internal/service/ecrpublic/service_endpoint_resolver_gen.go index cd4451fc6e12..df5d5da5ce95 100644 --- a/internal/service/ecrpublic/service_endpoint_resolver_gen.go +++ b/internal/service/ecrpublic/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params ecrpublic.Endpoi }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up ecrpublic endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up ecrpublic endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/ecrpublic/service_endpoints_gen_test.go b/internal/service/ecrpublic/service_endpoints_gen_test.go index 44dd1050270a..66c80a6e716c 100644 --- a/internal/service/ecrpublic/service_endpoints_gen_test.go +++ b/internal/service/ecrpublic/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/ecs/service_endpoint_resolver_gen.go b/internal/service/ecs/service_endpoint_resolver_gen.go index f880ad4df381..2830773ef1df 100644 --- a/internal/service/ecs/service_endpoint_resolver_gen.go +++ b/internal/service/ecs/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params ecs.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up ecs endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up ecs endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/ecs/service_endpoints_gen_test.go b/internal/service/ecs/service_endpoints_gen_test.go index 376b9d531759..e44938277abc 100644 --- a/internal/service/ecs/service_endpoints_gen_test.go +++ b/internal/service/ecs/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/efs/service_endpoint_resolver_gen.go b/internal/service/efs/service_endpoint_resolver_gen.go index b93f94c9ed2f..737f31c3a4ed 100644 --- a/internal/service/efs/service_endpoint_resolver_gen.go +++ b/internal/service/efs/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params efs.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up efs endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up efs endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/efs/service_endpoints_gen_test.go b/internal/service/efs/service_endpoints_gen_test.go index ecd652f495bb..596aae6d49c3 100644 --- a/internal/service/efs/service_endpoints_gen_test.go +++ b/internal/service/efs/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/eks/service_endpoint_resolver_gen.go b/internal/service/eks/service_endpoint_resolver_gen.go index d215dccbe68a..372cebcfaa0f 100644 --- a/internal/service/eks/service_endpoint_resolver_gen.go +++ b/internal/service/eks/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params eks.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up eks endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up eks endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/eks/service_endpoints_gen_test.go b/internal/service/eks/service_endpoints_gen_test.go index 5d220a622583..4d125b13c040 100644 --- a/internal/service/eks/service_endpoints_gen_test.go +++ b/internal/service/eks/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/elasticache/service_endpoint_resolver_gen.go b/internal/service/elasticache/service_endpoint_resolver_gen.go index 0107c53b19f2..771c7affed1b 100644 --- a/internal/service/elasticache/service_endpoint_resolver_gen.go +++ b/internal/service/elasticache/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params elasticache.Endp }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up elasticache endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up elasticache endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/elasticache/service_endpoints_gen_test.go b/internal/service/elasticache/service_endpoints_gen_test.go index 423d00fa9f7b..e0d2e0ed9ea0 100644 --- a/internal/service/elasticache/service_endpoints_gen_test.go +++ b/internal/service/elasticache/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/elasticbeanstalk/service_endpoint_resolver_gen.go b/internal/service/elasticbeanstalk/service_endpoint_resolver_gen.go index 5d2f46016fab..72ff1e92221e 100644 --- a/internal/service/elasticbeanstalk/service_endpoint_resolver_gen.go +++ b/internal/service/elasticbeanstalk/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params elasticbeanstalk }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up elasticbeanstalk endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up elasticbeanstalk endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/elasticbeanstalk/service_endpoints_gen_test.go b/internal/service/elasticbeanstalk/service_endpoints_gen_test.go index 48386baf9f63..dff0e84a0d46 100644 --- a/internal/service/elasticbeanstalk/service_endpoints_gen_test.go +++ b/internal/service/elasticbeanstalk/service_endpoints_gen_test.go @@ -601,7 +601,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/elasticsearch/service_endpoint_resolver_gen.go b/internal/service/elasticsearch/service_endpoint_resolver_gen.go index 91b9cc230e39..05ab3e9da32e 100644 --- a/internal/service/elasticsearch/service_endpoint_resolver_gen.go +++ b/internal/service/elasticsearch/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params elasticsearchser }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up elasticsearchservice endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up elasticsearchservice endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/elasticsearch/service_endpoints_gen_test.go b/internal/service/elasticsearch/service_endpoints_gen_test.go index bc1e2e5ee445..7d0cc7fab10f 100644 --- a/internal/service/elasticsearch/service_endpoints_gen_test.go +++ b/internal/service/elasticsearch/service_endpoints_gen_test.go @@ -678,7 +678,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/elastictranscoder/service_endpoint_resolver_gen.go b/internal/service/elastictranscoder/service_endpoint_resolver_gen.go index 71db42be00dd..419f022a9b1e 100644 --- a/internal/service/elastictranscoder/service_endpoint_resolver_gen.go +++ b/internal/service/elastictranscoder/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params elastictranscode }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up elastictranscoder endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up elastictranscoder endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/elastictranscoder/service_endpoints_gen_test.go b/internal/service/elastictranscoder/service_endpoints_gen_test.go index 54e8886d3bc9..8cff00b6b376 100644 --- a/internal/service/elastictranscoder/service_endpoints_gen_test.go +++ b/internal/service/elastictranscoder/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/elb/service_endpoint_resolver_gen.go b/internal/service/elb/service_endpoint_resolver_gen.go index 4e13fe085f51..c11861da52d5 100644 --- a/internal/service/elb/service_endpoint_resolver_gen.go +++ b/internal/service/elb/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params elasticloadbalan }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up elasticloadbalancing endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up elasticloadbalancing endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/elb/service_endpoints_gen_test.go b/internal/service/elb/service_endpoints_gen_test.go index 75ac36554e0b..d47362aaa972 100644 --- a/internal/service/elb/service_endpoints_gen_test.go +++ b/internal/service/elb/service_endpoints_gen_test.go @@ -601,7 +601,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/elbv2/service_endpoint_resolver_gen.go b/internal/service/elbv2/service_endpoint_resolver_gen.go index aef72ee0d25e..c59a5bea6b83 100644 --- a/internal/service/elbv2/service_endpoint_resolver_gen.go +++ b/internal/service/elbv2/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params elasticloadbalan }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up elasticloadbalancingv2 endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up elasticloadbalancingv2 endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/elbv2/service_endpoints_gen_test.go b/internal/service/elbv2/service_endpoints_gen_test.go index 63199ce5fba4..ea274b8452b1 100644 --- a/internal/service/elbv2/service_endpoints_gen_test.go +++ b/internal/service/elbv2/service_endpoints_gen_test.go @@ -601,7 +601,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/emr/service_endpoint_resolver_gen.go b/internal/service/emr/service_endpoint_resolver_gen.go index 843bfa64b188..4544e986be8f 100644 --- a/internal/service/emr/service_endpoint_resolver_gen.go +++ b/internal/service/emr/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params emr.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up emr endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up emr endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/emr/service_endpoints_gen_test.go b/internal/service/emr/service_endpoints_gen_test.go index fde41e3a8e04..639fef8506ae 100644 --- a/internal/service/emr/service_endpoints_gen_test.go +++ b/internal/service/emr/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/emrcontainers/service_endpoint_resolver_gen.go b/internal/service/emrcontainers/service_endpoint_resolver_gen.go index 3e8dbe529d8e..884d6f9a3b51 100644 --- a/internal/service/emrcontainers/service_endpoint_resolver_gen.go +++ b/internal/service/emrcontainers/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params emrcontainers.En }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up emrcontainers endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up emrcontainers endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/emrcontainers/service_endpoints_gen_test.go b/internal/service/emrcontainers/service_endpoints_gen_test.go index c70ff2c7c17a..50892d8759df 100644 --- a/internal/service/emrcontainers/service_endpoints_gen_test.go +++ b/internal/service/emrcontainers/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/emrserverless/service_endpoint_resolver_gen.go b/internal/service/emrserverless/service_endpoint_resolver_gen.go index b0171333e239..46b49e0af8b3 100644 --- a/internal/service/emrserverless/service_endpoint_resolver_gen.go +++ b/internal/service/emrserverless/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params emrserverless.En }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up emrserverless endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up emrserverless endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/emrserverless/service_endpoints_gen_test.go b/internal/service/emrserverless/service_endpoints_gen_test.go index 76f584825dc6..239e483080b8 100644 --- a/internal/service/emrserverless/service_endpoints_gen_test.go +++ b/internal/service/emrserverless/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/events/service_endpoint_resolver_gen.go b/internal/service/events/service_endpoint_resolver_gen.go index cc56d8d1edd2..40bb04a36242 100644 --- a/internal/service/events/service_endpoint_resolver_gen.go +++ b/internal/service/events/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params eventbridge.Endp }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up eventbridge endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up eventbridge endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/events/service_endpoints_gen_test.go b/internal/service/events/service_endpoints_gen_test.go index e59fed1a4d41..23cadc5a298b 100644 --- a/internal/service/events/service_endpoints_gen_test.go +++ b/internal/service/events/service_endpoints_gen_test.go @@ -678,7 +678,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/evidently/service_endpoint_resolver_gen.go b/internal/service/evidently/service_endpoint_resolver_gen.go index efe21cf9bf57..8d6e1ea99011 100644 --- a/internal/service/evidently/service_endpoint_resolver_gen.go +++ b/internal/service/evidently/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params evidently.Endpoi }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up evidently endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up evidently endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/evidently/service_endpoints_gen_test.go b/internal/service/evidently/service_endpoints_gen_test.go index 6e07735dcaa2..8627774293b1 100644 --- a/internal/service/evidently/service_endpoints_gen_test.go +++ b/internal/service/evidently/service_endpoints_gen_test.go @@ -601,7 +601,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/evs/service_endpoint_resolver_gen.go b/internal/service/evs/service_endpoint_resolver_gen.go index 76c972cc60a5..e8b90109066b 100644 --- a/internal/service/evs/service_endpoint_resolver_gen.go +++ b/internal/service/evs/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params evs.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up evs endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up evs endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/evs/service_endpoints_gen_test.go b/internal/service/evs/service_endpoints_gen_test.go index a91c5455a20c..742da57609e6 100644 --- a/internal/service/evs/service_endpoints_gen_test.go +++ b/internal/service/evs/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/finspace/service_endpoint_resolver_gen.go b/internal/service/finspace/service_endpoint_resolver_gen.go index 1080bd32b970..a190cd2a7fdd 100644 --- a/internal/service/finspace/service_endpoint_resolver_gen.go +++ b/internal/service/finspace/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params finspace.Endpoin }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up finspace endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up finspace endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/finspace/service_endpoints_gen_test.go b/internal/service/finspace/service_endpoints_gen_test.go index 9ddc47c151e4..dba751ffd761 100644 --- a/internal/service/finspace/service_endpoints_gen_test.go +++ b/internal/service/finspace/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/firehose/service_endpoint_resolver_gen.go b/internal/service/firehose/service_endpoint_resolver_gen.go index 87ec0ff2b925..1ec4e83c7dc0 100644 --- a/internal/service/firehose/service_endpoint_resolver_gen.go +++ b/internal/service/firehose/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params firehose.Endpoin }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up firehose endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up firehose endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/firehose/service_endpoints_gen_test.go b/internal/service/firehose/service_endpoints_gen_test.go index 59f9b0eca523..a5e5a5925cd0 100644 --- a/internal/service/firehose/service_endpoints_gen_test.go +++ b/internal/service/firehose/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/fis/service_endpoint_resolver_gen.go b/internal/service/fis/service_endpoint_resolver_gen.go index c989684206d9..4fd579bf8bae 100644 --- a/internal/service/fis/service_endpoint_resolver_gen.go +++ b/internal/service/fis/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params fis.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up fis endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up fis endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/fis/service_endpoints_gen_test.go b/internal/service/fis/service_endpoints_gen_test.go index 0f8d323b12be..988e8557ed24 100644 --- a/internal/service/fis/service_endpoints_gen_test.go +++ b/internal/service/fis/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/fms/service_endpoint_resolver_gen.go b/internal/service/fms/service_endpoint_resolver_gen.go index 39ff48b9224b..3d4467814e4c 100644 --- a/internal/service/fms/service_endpoint_resolver_gen.go +++ b/internal/service/fms/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params fms.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up fms endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up fms endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/fms/service_endpoints_gen_test.go b/internal/service/fms/service_endpoints_gen_test.go index 3b461b6f7488..fd1bfff38dad 100644 --- a/internal/service/fms/service_endpoints_gen_test.go +++ b/internal/service/fms/service_endpoints_gen_test.go @@ -523,7 +523,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/fsx/service_endpoint_resolver_gen.go b/internal/service/fsx/service_endpoint_resolver_gen.go index 338435f922e3..3c762a598d6b 100644 --- a/internal/service/fsx/service_endpoint_resolver_gen.go +++ b/internal/service/fsx/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params fsx.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up fsx endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up fsx endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/fsx/service_endpoints_gen_test.go b/internal/service/fsx/service_endpoints_gen_test.go index e0848affd4d4..984bfd75ef0d 100644 --- a/internal/service/fsx/service_endpoints_gen_test.go +++ b/internal/service/fsx/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/gamelift/service_endpoint_resolver_gen.go b/internal/service/gamelift/service_endpoint_resolver_gen.go index 010d1fb56e91..f2c61ef65454 100644 --- a/internal/service/gamelift/service_endpoint_resolver_gen.go +++ b/internal/service/gamelift/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params gamelift.Endpoin }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up gamelift endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up gamelift endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/gamelift/service_endpoints_gen_test.go b/internal/service/gamelift/service_endpoints_gen_test.go index f1b926358be2..7d152940070a 100644 --- a/internal/service/gamelift/service_endpoints_gen_test.go +++ b/internal/service/gamelift/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/glacier/service_endpoint_resolver_gen.go b/internal/service/glacier/service_endpoint_resolver_gen.go index 6021ec97f2b9..42ac4a5ed347 100644 --- a/internal/service/glacier/service_endpoint_resolver_gen.go +++ b/internal/service/glacier/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params glacier.Endpoint }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up glacier endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up glacier endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/glacier/service_endpoints_gen_test.go b/internal/service/glacier/service_endpoints_gen_test.go index 782c005f78f4..616d9e1430fa 100644 --- a/internal/service/glacier/service_endpoints_gen_test.go +++ b/internal/service/glacier/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/globalaccelerator/service_endpoint_resolver_gen.go b/internal/service/globalaccelerator/service_endpoint_resolver_gen.go index 78b19acb29d9..e5c5d5b3377d 100644 --- a/internal/service/globalaccelerator/service_endpoint_resolver_gen.go +++ b/internal/service/globalaccelerator/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params globalaccelerato }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up globalaccelerator endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up globalaccelerator endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/globalaccelerator/service_endpoints_gen_test.go b/internal/service/globalaccelerator/service_endpoints_gen_test.go index 932e5933d87a..d487be2c1e43 100644 --- a/internal/service/globalaccelerator/service_endpoints_gen_test.go +++ b/internal/service/globalaccelerator/service_endpoints_gen_test.go @@ -523,7 +523,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/glue/service_endpoint_resolver_gen.go b/internal/service/glue/service_endpoint_resolver_gen.go index 20203f46d1e7..e65a4a1260fd 100644 --- a/internal/service/glue/service_endpoint_resolver_gen.go +++ b/internal/service/glue/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params glue.EndpointPar }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up glue endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up glue endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/glue/service_endpoints_gen_test.go b/internal/service/glue/service_endpoints_gen_test.go index c5feed9188fd..3746205cf590 100644 --- a/internal/service/glue/service_endpoints_gen_test.go +++ b/internal/service/glue/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/grafana/service_endpoint_resolver_gen.go b/internal/service/grafana/service_endpoint_resolver_gen.go index 60eb52badad1..3db2db1ea369 100644 --- a/internal/service/grafana/service_endpoint_resolver_gen.go +++ b/internal/service/grafana/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params grafana.Endpoint }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up grafana endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up grafana endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/grafana/service_endpoints_gen_test.go b/internal/service/grafana/service_endpoints_gen_test.go index f37d5d933383..6e84f7ad1018 100644 --- a/internal/service/grafana/service_endpoints_gen_test.go +++ b/internal/service/grafana/service_endpoints_gen_test.go @@ -678,7 +678,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/greengrass/service_endpoint_resolver_gen.go b/internal/service/greengrass/service_endpoint_resolver_gen.go index 0f2ecaba4598..e4bae3fdd2c9 100644 --- a/internal/service/greengrass/service_endpoint_resolver_gen.go +++ b/internal/service/greengrass/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params greengrass.Endpo }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up greengrass endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up greengrass endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/greengrass/service_endpoints_gen_test.go b/internal/service/greengrass/service_endpoints_gen_test.go index ea1e708c0f24..0b62ac2adb1c 100644 --- a/internal/service/greengrass/service_endpoints_gen_test.go +++ b/internal/service/greengrass/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/groundstation/service_endpoint_resolver_gen.go b/internal/service/groundstation/service_endpoint_resolver_gen.go index c4f9330cf6ad..0d697f5e6977 100644 --- a/internal/service/groundstation/service_endpoint_resolver_gen.go +++ b/internal/service/groundstation/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params groundstation.En }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up groundstation endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up groundstation endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/groundstation/service_endpoints_gen_test.go b/internal/service/groundstation/service_endpoints_gen_test.go index 148c561a797c..8d00b9c05164 100644 --- a/internal/service/groundstation/service_endpoints_gen_test.go +++ b/internal/service/groundstation/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/guardduty/service_endpoint_resolver_gen.go b/internal/service/guardduty/service_endpoint_resolver_gen.go index bdd75b5dcfd3..a0f5ea99c799 100644 --- a/internal/service/guardduty/service_endpoint_resolver_gen.go +++ b/internal/service/guardduty/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params guardduty.Endpoi }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up guardduty endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up guardduty endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/guardduty/service_endpoints_gen_test.go b/internal/service/guardduty/service_endpoints_gen_test.go index 81cf36dd2974..abe1bf0b68cd 100644 --- a/internal/service/guardduty/service_endpoints_gen_test.go +++ b/internal/service/guardduty/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/healthlake/service_endpoint_resolver_gen.go b/internal/service/healthlake/service_endpoint_resolver_gen.go index a7335e5de93b..c85b026a24f3 100644 --- a/internal/service/healthlake/service_endpoint_resolver_gen.go +++ b/internal/service/healthlake/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params healthlake.Endpo }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up healthlake endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up healthlake endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/healthlake/service_endpoints_gen_test.go b/internal/service/healthlake/service_endpoints_gen_test.go index 267700a43dec..54311bac8d27 100644 --- a/internal/service/healthlake/service_endpoints_gen_test.go +++ b/internal/service/healthlake/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/iam/service_endpoint_resolver_gen.go b/internal/service/iam/service_endpoint_resolver_gen.go index 6f76401c5fd4..cbfdc9cc73f2 100644 --- a/internal/service/iam/service_endpoint_resolver_gen.go +++ b/internal/service/iam/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params iam.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up iam endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up iam endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/iam/service_endpoints_gen_test.go b/internal/service/iam/service_endpoints_gen_test.go index 43f67b7d01d8..c9bc65a934f8 100644 --- a/internal/service/iam/service_endpoints_gen_test.go +++ b/internal/service/iam/service_endpoints_gen_test.go @@ -659,7 +659,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/identitystore/service_endpoint_resolver_gen.go b/internal/service/identitystore/service_endpoint_resolver_gen.go index 6571c9d8f6e6..9ba29fa5d83c 100644 --- a/internal/service/identitystore/service_endpoint_resolver_gen.go +++ b/internal/service/identitystore/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params identitystore.En }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up identitystore endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up identitystore endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/identitystore/service_endpoints_gen_test.go b/internal/service/identitystore/service_endpoints_gen_test.go index b06c2894a73e..0dd1b774d2d2 100644 --- a/internal/service/identitystore/service_endpoints_gen_test.go +++ b/internal/service/identitystore/service_endpoints_gen_test.go @@ -523,7 +523,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/imagebuilder/service_endpoint_resolver_gen.go b/internal/service/imagebuilder/service_endpoint_resolver_gen.go index cbc53be0e4d6..36ac8e6603b1 100644 --- a/internal/service/imagebuilder/service_endpoint_resolver_gen.go +++ b/internal/service/imagebuilder/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params imagebuilder.End }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up imagebuilder endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up imagebuilder endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/imagebuilder/service_endpoints_gen_test.go b/internal/service/imagebuilder/service_endpoints_gen_test.go index 79e8b654872c..e292d7a86f9f 100644 --- a/internal/service/imagebuilder/service_endpoints_gen_test.go +++ b/internal/service/imagebuilder/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/inspector/service_endpoint_resolver_gen.go b/internal/service/inspector/service_endpoint_resolver_gen.go index b896bf2eb743..6147438161a8 100644 --- a/internal/service/inspector/service_endpoint_resolver_gen.go +++ b/internal/service/inspector/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params inspector.Endpoi }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up inspector endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up inspector endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/inspector/service_endpoints_gen_test.go b/internal/service/inspector/service_endpoints_gen_test.go index 0cbbdfff0601..2a3bf8bd941f 100644 --- a/internal/service/inspector/service_endpoints_gen_test.go +++ b/internal/service/inspector/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/inspector2/service_endpoint_resolver_gen.go b/internal/service/inspector2/service_endpoint_resolver_gen.go index 1a00552e67e7..674a6333d1b5 100644 --- a/internal/service/inspector2/service_endpoint_resolver_gen.go +++ b/internal/service/inspector2/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params inspector2.Endpo }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up inspector2 endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up inspector2 endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/inspector2/service_endpoints_gen_test.go b/internal/service/inspector2/service_endpoints_gen_test.go index 4b5b454c6e84..9f3eba0adbf0 100644 --- a/internal/service/inspector2/service_endpoints_gen_test.go +++ b/internal/service/inspector2/service_endpoints_gen_test.go @@ -601,7 +601,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/internetmonitor/service_endpoint_resolver_gen.go b/internal/service/internetmonitor/service_endpoint_resolver_gen.go index e31c6e0a78ef..6686ee041234 100644 --- a/internal/service/internetmonitor/service_endpoint_resolver_gen.go +++ b/internal/service/internetmonitor/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params internetmonitor. }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up internetmonitor endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up internetmonitor endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/internetmonitor/service_endpoints_gen_test.go b/internal/service/internetmonitor/service_endpoints_gen_test.go index c43b670ed336..9b650258d553 100644 --- a/internal/service/internetmonitor/service_endpoints_gen_test.go +++ b/internal/service/internetmonitor/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/invoicing/service_endpoint_resolver_gen.go b/internal/service/invoicing/service_endpoint_resolver_gen.go index 506bd7d41312..261586c0da88 100644 --- a/internal/service/invoicing/service_endpoint_resolver_gen.go +++ b/internal/service/invoicing/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params invoicing.Endpoi }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up invoicing endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up invoicing endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/invoicing/service_endpoints_gen_test.go b/internal/service/invoicing/service_endpoints_gen_test.go index 4afc0e43aa6e..f3ba3bcf2bdf 100644 --- a/internal/service/invoicing/service_endpoints_gen_test.go +++ b/internal/service/invoicing/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/iot/service_endpoint_resolver_gen.go b/internal/service/iot/service_endpoint_resolver_gen.go index 040cd2f3d948..a2021edbbcfc 100644 --- a/internal/service/iot/service_endpoint_resolver_gen.go +++ b/internal/service/iot/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params iot.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up iot endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up iot endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/iot/service_endpoints_gen_test.go b/internal/service/iot/service_endpoints_gen_test.go index 33d649b3a705..1a01af4bd0c0 100644 --- a/internal/service/iot/service_endpoints_gen_test.go +++ b/internal/service/iot/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/ivs/service_endpoint_resolver_gen.go b/internal/service/ivs/service_endpoint_resolver_gen.go index c6ee0852761c..a628c3127703 100644 --- a/internal/service/ivs/service_endpoint_resolver_gen.go +++ b/internal/service/ivs/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params ivs.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up ivs endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up ivs endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/ivs/service_endpoints_gen_test.go b/internal/service/ivs/service_endpoints_gen_test.go index 0b6a36c62087..77a84c606fdf 100644 --- a/internal/service/ivs/service_endpoints_gen_test.go +++ b/internal/service/ivs/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/ivschat/service_endpoint_resolver_gen.go b/internal/service/ivschat/service_endpoint_resolver_gen.go index 8717de5d415a..b1be53e68398 100644 --- a/internal/service/ivschat/service_endpoint_resolver_gen.go +++ b/internal/service/ivschat/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params ivschat.Endpoint }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up ivschat endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up ivschat endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/ivschat/service_endpoints_gen_test.go b/internal/service/ivschat/service_endpoints_gen_test.go index 56b283058817..fdf9d3c2d6ab 100644 --- a/internal/service/ivschat/service_endpoints_gen_test.go +++ b/internal/service/ivschat/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/kafka/service_endpoint_resolver_gen.go b/internal/service/kafka/service_endpoint_resolver_gen.go index f630adba87d7..5c6d825a7a90 100644 --- a/internal/service/kafka/service_endpoint_resolver_gen.go +++ b/internal/service/kafka/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params kafka.EndpointPa }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up kafka endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up kafka endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/kafka/service_endpoints_gen_test.go b/internal/service/kafka/service_endpoints_gen_test.go index 55ab24355e59..5b4648485749 100644 --- a/internal/service/kafka/service_endpoints_gen_test.go +++ b/internal/service/kafka/service_endpoints_gen_test.go @@ -601,7 +601,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/kafkaconnect/service_endpoint_resolver_gen.go b/internal/service/kafkaconnect/service_endpoint_resolver_gen.go index 14ac41d0f2a6..916f5faafc75 100644 --- a/internal/service/kafkaconnect/service_endpoint_resolver_gen.go +++ b/internal/service/kafkaconnect/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params kafkaconnect.End }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up kafkaconnect endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up kafkaconnect endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/kafkaconnect/service_endpoints_gen_test.go b/internal/service/kafkaconnect/service_endpoints_gen_test.go index 92efbec1d4d7..cf6d789df172 100644 --- a/internal/service/kafkaconnect/service_endpoints_gen_test.go +++ b/internal/service/kafkaconnect/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/kendra/service_endpoint_resolver_gen.go b/internal/service/kendra/service_endpoint_resolver_gen.go index 2afb9523ce70..8455b39b66be 100644 --- a/internal/service/kendra/service_endpoint_resolver_gen.go +++ b/internal/service/kendra/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params kendra.EndpointP }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up kendra endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up kendra endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/kendra/service_endpoints_gen_test.go b/internal/service/kendra/service_endpoints_gen_test.go index b2a707e5c93b..a3fe0267dd76 100644 --- a/internal/service/kendra/service_endpoints_gen_test.go +++ b/internal/service/kendra/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/keyspaces/service_endpoint_resolver_gen.go b/internal/service/keyspaces/service_endpoint_resolver_gen.go index f577c6391862..bdf6ee7a3666 100644 --- a/internal/service/keyspaces/service_endpoint_resolver_gen.go +++ b/internal/service/keyspaces/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params keyspaces.Endpoi }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up keyspaces endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up keyspaces endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/keyspaces/service_endpoints_gen_test.go b/internal/service/keyspaces/service_endpoints_gen_test.go index c39ffd975b9e..10c9b12d2d23 100644 --- a/internal/service/keyspaces/service_endpoints_gen_test.go +++ b/internal/service/keyspaces/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/kinesis/service_endpoint_resolver_gen.go b/internal/service/kinesis/service_endpoint_resolver_gen.go index 3edcc3caae73..167fa695398d 100644 --- a/internal/service/kinesis/service_endpoint_resolver_gen.go +++ b/internal/service/kinesis/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params kinesis.Endpoint }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up kinesis endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up kinesis endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/kinesis/service_endpoints_gen_test.go b/internal/service/kinesis/service_endpoints_gen_test.go index 734406afa2ec..a37dde067565 100644 --- a/internal/service/kinesis/service_endpoints_gen_test.go +++ b/internal/service/kinesis/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/kinesisanalytics/service_endpoint_resolver_gen.go b/internal/service/kinesisanalytics/service_endpoint_resolver_gen.go index 3c7aab734f5c..d9e9a2a8b185 100644 --- a/internal/service/kinesisanalytics/service_endpoint_resolver_gen.go +++ b/internal/service/kinesisanalytics/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params kinesisanalytics }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up kinesisanalytics endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up kinesisanalytics endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/kinesisanalytics/service_endpoints_gen_test.go b/internal/service/kinesisanalytics/service_endpoints_gen_test.go index 9aa9596d3490..0bc29660d7a4 100644 --- a/internal/service/kinesisanalytics/service_endpoints_gen_test.go +++ b/internal/service/kinesisanalytics/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/kinesisanalyticsv2/service_endpoint_resolver_gen.go b/internal/service/kinesisanalyticsv2/service_endpoint_resolver_gen.go index 0aa1230e6c2e..1f636c3211a1 100644 --- a/internal/service/kinesisanalyticsv2/service_endpoint_resolver_gen.go +++ b/internal/service/kinesisanalyticsv2/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params kinesisanalytics }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up kinesisanalyticsv2 endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up kinesisanalyticsv2 endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/kinesisanalyticsv2/service_endpoints_gen_test.go b/internal/service/kinesisanalyticsv2/service_endpoints_gen_test.go index 37b09c9136a9..90c73901aef5 100644 --- a/internal/service/kinesisanalyticsv2/service_endpoints_gen_test.go +++ b/internal/service/kinesisanalyticsv2/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/kinesisvideo/service_endpoint_resolver_gen.go b/internal/service/kinesisvideo/service_endpoint_resolver_gen.go index 4f75f7349b10..d644d3f303c6 100644 --- a/internal/service/kinesisvideo/service_endpoint_resolver_gen.go +++ b/internal/service/kinesisvideo/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params kinesisvideo.End }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up kinesisvideo endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up kinesisvideo endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/kinesisvideo/service_endpoints_gen_test.go b/internal/service/kinesisvideo/service_endpoints_gen_test.go index d7c799d9c2e9..733ad25109e2 100644 --- a/internal/service/kinesisvideo/service_endpoints_gen_test.go +++ b/internal/service/kinesisvideo/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/kms/service_endpoint_resolver_gen.go b/internal/service/kms/service_endpoint_resolver_gen.go index 08c41e961bf9..c1e957586204 100644 --- a/internal/service/kms/service_endpoint_resolver_gen.go +++ b/internal/service/kms/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params kms.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up kms endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up kms endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/kms/service_endpoints_gen_test.go b/internal/service/kms/service_endpoints_gen_test.go index 2a0b90ee98eb..e8bc3eb9955b 100644 --- a/internal/service/kms/service_endpoints_gen_test.go +++ b/internal/service/kms/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/lakeformation/service_endpoint_resolver_gen.go b/internal/service/lakeformation/service_endpoint_resolver_gen.go index 2aa2369a6f2a..cf6e51e08a0d 100644 --- a/internal/service/lakeformation/service_endpoint_resolver_gen.go +++ b/internal/service/lakeformation/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params lakeformation.En }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up lakeformation endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up lakeformation endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/lakeformation/service_endpoints_gen_test.go b/internal/service/lakeformation/service_endpoints_gen_test.go index 8dea8993a7b6..6ed645eadb17 100644 --- a/internal/service/lakeformation/service_endpoints_gen_test.go +++ b/internal/service/lakeformation/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/lambda/service_endpoint_resolver_gen.go b/internal/service/lambda/service_endpoint_resolver_gen.go index 352d37b7029a..99ef0cb316f8 100644 --- a/internal/service/lambda/service_endpoint_resolver_gen.go +++ b/internal/service/lambda/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params lambda.EndpointP }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up lambda endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up lambda endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/lambda/service_endpoints_gen_test.go b/internal/service/lambda/service_endpoints_gen_test.go index 09ebd5889fd8..099487f9f93f 100644 --- a/internal/service/lambda/service_endpoints_gen_test.go +++ b/internal/service/lambda/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/launchwizard/service_endpoint_resolver_gen.go b/internal/service/launchwizard/service_endpoint_resolver_gen.go index 7433df508a43..bae0e1f1a0ec 100644 --- a/internal/service/launchwizard/service_endpoint_resolver_gen.go +++ b/internal/service/launchwizard/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params launchwizard.End }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up launchwizard endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up launchwizard endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/launchwizard/service_endpoints_gen_test.go b/internal/service/launchwizard/service_endpoints_gen_test.go index 3af6d730d9ee..4d6b0214675e 100644 --- a/internal/service/launchwizard/service_endpoints_gen_test.go +++ b/internal/service/launchwizard/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/lexmodels/service_endpoint_resolver_gen.go b/internal/service/lexmodels/service_endpoint_resolver_gen.go index 8dcff3f27bfa..213eba21b5d2 100644 --- a/internal/service/lexmodels/service_endpoint_resolver_gen.go +++ b/internal/service/lexmodels/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params lexmodelbuilding }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up lexmodelbuildingservice endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up lexmodelbuildingservice endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/lexmodels/service_endpoints_gen_test.go b/internal/service/lexmodels/service_endpoints_gen_test.go index 92cbb8a508e2..386ef1363c7f 100644 --- a/internal/service/lexmodels/service_endpoints_gen_test.go +++ b/internal/service/lexmodels/service_endpoints_gen_test.go @@ -763,7 +763,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/lexv2models/service_endpoint_resolver_gen.go b/internal/service/lexv2models/service_endpoint_resolver_gen.go index eea952506e26..68b0b575934e 100644 --- a/internal/service/lexv2models/service_endpoint_resolver_gen.go +++ b/internal/service/lexv2models/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params lexmodelsv2.Endp }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up lexmodelsv2 endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up lexmodelsv2 endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/lexv2models/service_endpoints_gen_test.go b/internal/service/lexv2models/service_endpoints_gen_test.go index 7d43864aeaf1..d84e3f603897 100644 --- a/internal/service/lexv2models/service_endpoints_gen_test.go +++ b/internal/service/lexv2models/service_endpoints_gen_test.go @@ -601,7 +601,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/licensemanager/service_endpoint_resolver_gen.go b/internal/service/licensemanager/service_endpoint_resolver_gen.go index c13288d804be..146123032ec9 100644 --- a/internal/service/licensemanager/service_endpoint_resolver_gen.go +++ b/internal/service/licensemanager/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params licensemanager.E }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up licensemanager endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up licensemanager endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/licensemanager/service_endpoints_gen_test.go b/internal/service/licensemanager/service_endpoints_gen_test.go index a2926cf9d181..19f759f5b7ba 100644 --- a/internal/service/licensemanager/service_endpoints_gen_test.go +++ b/internal/service/licensemanager/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/lightsail/service_endpoint_resolver_gen.go b/internal/service/lightsail/service_endpoint_resolver_gen.go index 5833c03017c1..5da7a1cc8ef4 100644 --- a/internal/service/lightsail/service_endpoint_resolver_gen.go +++ b/internal/service/lightsail/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params lightsail.Endpoi }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up lightsail endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up lightsail endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/lightsail/service_endpoints_gen_test.go b/internal/service/lightsail/service_endpoints_gen_test.go index ed3f177909a5..1f17a704da34 100644 --- a/internal/service/lightsail/service_endpoints_gen_test.go +++ b/internal/service/lightsail/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/location/service_endpoint_resolver_gen.go b/internal/service/location/service_endpoint_resolver_gen.go index 31d7dcde0a27..85f9e3b80cd4 100644 --- a/internal/service/location/service_endpoint_resolver_gen.go +++ b/internal/service/location/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params location.Endpoin }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up location endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up location endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/logs/service_endpoint_resolver_gen.go b/internal/service/logs/service_endpoint_resolver_gen.go index b43e3fd31a17..981b09c43853 100644 --- a/internal/service/logs/service_endpoint_resolver_gen.go +++ b/internal/service/logs/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params cloudwatchlogs.E }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up cloudwatchlogs endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up cloudwatchlogs endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/logs/service_endpoints_gen_test.go b/internal/service/logs/service_endpoints_gen_test.go index c8e66dc9838b..aefe004c9627 100644 --- a/internal/service/logs/service_endpoints_gen_test.go +++ b/internal/service/logs/service_endpoints_gen_test.go @@ -678,7 +678,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/lookoutmetrics/service_endpoint_resolver_gen.go b/internal/service/lookoutmetrics/service_endpoint_resolver_gen.go index 319cc604738e..7b38ff5b5e20 100644 --- a/internal/service/lookoutmetrics/service_endpoint_resolver_gen.go +++ b/internal/service/lookoutmetrics/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params lookoutmetrics.E }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up lookoutmetrics endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up lookoutmetrics endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/lookoutmetrics/service_endpoints_gen_test.go b/internal/service/lookoutmetrics/service_endpoints_gen_test.go index a7a0bddcc032..c82e173e7d84 100644 --- a/internal/service/lookoutmetrics/service_endpoints_gen_test.go +++ b/internal/service/lookoutmetrics/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/m2/service_endpoint_resolver_gen.go b/internal/service/m2/service_endpoint_resolver_gen.go index 3a44bcf74eb4..26ba4ec30e5e 100644 --- a/internal/service/m2/service_endpoint_resolver_gen.go +++ b/internal/service/m2/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params m2.EndpointParam }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up m2 endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up m2 endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/m2/service_endpoints_gen_test.go b/internal/service/m2/service_endpoints_gen_test.go index bb6e15f2d35a..9951b02e6d99 100644 --- a/internal/service/m2/service_endpoints_gen_test.go +++ b/internal/service/m2/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/macie2/service_endpoint_resolver_gen.go b/internal/service/macie2/service_endpoint_resolver_gen.go index 97d6b81b0ae0..02668ef8da91 100644 --- a/internal/service/macie2/service_endpoint_resolver_gen.go +++ b/internal/service/macie2/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params macie2.EndpointP }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up macie2 endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up macie2 endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/macie2/service_endpoints_gen_test.go b/internal/service/macie2/service_endpoints_gen_test.go index ee8ae9257024..298b47bf78e2 100644 --- a/internal/service/macie2/service_endpoints_gen_test.go +++ b/internal/service/macie2/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/mediaconnect/service_endpoint_resolver_gen.go b/internal/service/mediaconnect/service_endpoint_resolver_gen.go index f508a9fc988e..0d96268a15a4 100644 --- a/internal/service/mediaconnect/service_endpoint_resolver_gen.go +++ b/internal/service/mediaconnect/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params mediaconnect.End }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up mediaconnect endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up mediaconnect endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/mediaconnect/service_endpoints_gen_test.go b/internal/service/mediaconnect/service_endpoints_gen_test.go index 4f2222a663e7..9912ce556e74 100644 --- a/internal/service/mediaconnect/service_endpoints_gen_test.go +++ b/internal/service/mediaconnect/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/mediaconvert/service_endpoint_resolver_gen.go b/internal/service/mediaconvert/service_endpoint_resolver_gen.go index b01467a80c79..2a226bf4663c 100644 --- a/internal/service/mediaconvert/service_endpoint_resolver_gen.go +++ b/internal/service/mediaconvert/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params mediaconvert.End }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up mediaconvert endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up mediaconvert endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/mediaconvert/service_endpoints_gen_test.go b/internal/service/mediaconvert/service_endpoints_gen_test.go index 2d35351eb0a8..f54088f718f7 100644 --- a/internal/service/mediaconvert/service_endpoints_gen_test.go +++ b/internal/service/mediaconvert/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/medialive/service_endpoint_resolver_gen.go b/internal/service/medialive/service_endpoint_resolver_gen.go index 1f726ce79b15..085688afdf00 100644 --- a/internal/service/medialive/service_endpoint_resolver_gen.go +++ b/internal/service/medialive/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params medialive.Endpoi }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up medialive endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up medialive endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/medialive/service_endpoints_gen_test.go b/internal/service/medialive/service_endpoints_gen_test.go index 890f7949704f..8baa0ab5e37f 100644 --- a/internal/service/medialive/service_endpoints_gen_test.go +++ b/internal/service/medialive/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/mediapackage/service_endpoint_resolver_gen.go b/internal/service/mediapackage/service_endpoint_resolver_gen.go index 83b86be37248..2ad24f0ad1c2 100644 --- a/internal/service/mediapackage/service_endpoint_resolver_gen.go +++ b/internal/service/mediapackage/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params mediapackage.End }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up mediapackage endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up mediapackage endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/mediapackage/service_endpoints_gen_test.go b/internal/service/mediapackage/service_endpoints_gen_test.go index 336a4e95d071..93aa0e85d127 100644 --- a/internal/service/mediapackage/service_endpoints_gen_test.go +++ b/internal/service/mediapackage/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/mediapackagev2/service_endpoint_resolver_gen.go b/internal/service/mediapackagev2/service_endpoint_resolver_gen.go index 86fcda578f62..a7403ec34ba4 100644 --- a/internal/service/mediapackagev2/service_endpoint_resolver_gen.go +++ b/internal/service/mediapackagev2/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params mediapackagev2.E }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up mediapackagev2 endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up mediapackagev2 endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/mediapackagev2/service_endpoints_gen_test.go b/internal/service/mediapackagev2/service_endpoints_gen_test.go index 53f850d58eb1..ad98c393cda0 100644 --- a/internal/service/mediapackagev2/service_endpoints_gen_test.go +++ b/internal/service/mediapackagev2/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/mediapackagevod/service_endpoint_resolver_gen.go b/internal/service/mediapackagevod/service_endpoint_resolver_gen.go index 513db43f1026..56ecaa7d4a0d 100644 --- a/internal/service/mediapackagevod/service_endpoint_resolver_gen.go +++ b/internal/service/mediapackagevod/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params mediapackagevod. }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up mediapackagevod endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up mediapackagevod endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/mediapackagevod/service_endpoints_gen_test.go b/internal/service/mediapackagevod/service_endpoints_gen_test.go index f05fc2f6fd41..d28461dff13c 100644 --- a/internal/service/mediapackagevod/service_endpoints_gen_test.go +++ b/internal/service/mediapackagevod/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/mediastore/service_endpoint_resolver_gen.go b/internal/service/mediastore/service_endpoint_resolver_gen.go index c7da8fbbf1a8..bfc65dfaedcc 100644 --- a/internal/service/mediastore/service_endpoint_resolver_gen.go +++ b/internal/service/mediastore/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params mediastore.Endpo }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up mediastore endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up mediastore endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/mediastore/service_endpoints_gen_test.go b/internal/service/mediastore/service_endpoints_gen_test.go index 4536406d3ce0..d2aee3c3d06c 100644 --- a/internal/service/mediastore/service_endpoints_gen_test.go +++ b/internal/service/mediastore/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/memorydb/service_endpoint_resolver_gen.go b/internal/service/memorydb/service_endpoint_resolver_gen.go index e8965ab66a75..218895ca7658 100644 --- a/internal/service/memorydb/service_endpoint_resolver_gen.go +++ b/internal/service/memorydb/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params memorydb.Endpoin }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up memorydb endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up memorydb endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/memorydb/service_endpoints_gen_test.go b/internal/service/memorydb/service_endpoints_gen_test.go index 2c1aa2793844..ad21cb93a239 100644 --- a/internal/service/memorydb/service_endpoints_gen_test.go +++ b/internal/service/memorydb/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/mgn/service_endpoint_resolver_gen.go b/internal/service/mgn/service_endpoint_resolver_gen.go index df30ece699ca..3fb17cd13aea 100644 --- a/internal/service/mgn/service_endpoint_resolver_gen.go +++ b/internal/service/mgn/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params mgn.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up mgn endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up mgn endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/mgn/service_endpoints_gen_test.go b/internal/service/mgn/service_endpoints_gen_test.go index 35cda7979661..4eca88d00aa0 100644 --- a/internal/service/mgn/service_endpoints_gen_test.go +++ b/internal/service/mgn/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/mq/service_endpoint_resolver_gen.go b/internal/service/mq/service_endpoint_resolver_gen.go index 6eae088697bd..975821f40b39 100644 --- a/internal/service/mq/service_endpoint_resolver_gen.go +++ b/internal/service/mq/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params mq.EndpointParam }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up mq endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up mq endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/mq/service_endpoints_gen_test.go b/internal/service/mq/service_endpoints_gen_test.go index 81e42bd870be..0b7e1fb78986 100644 --- a/internal/service/mq/service_endpoints_gen_test.go +++ b/internal/service/mq/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/mwaa/service_endpoint_resolver_gen.go b/internal/service/mwaa/service_endpoint_resolver_gen.go index 9887fbba8a9b..834d3f0d1c1e 100644 --- a/internal/service/mwaa/service_endpoint_resolver_gen.go +++ b/internal/service/mwaa/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params mwaa.EndpointPar }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up mwaa endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up mwaa endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/neptune/service_endpoint_resolver_gen.go b/internal/service/neptune/service_endpoint_resolver_gen.go index 90cd111da221..8f7e26e5b633 100644 --- a/internal/service/neptune/service_endpoint_resolver_gen.go +++ b/internal/service/neptune/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params neptune.Endpoint }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up neptune endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up neptune endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/neptune/service_endpoints_gen_test.go b/internal/service/neptune/service_endpoints_gen_test.go index 5c6ef25f7884..e0ce375b1ed7 100644 --- a/internal/service/neptune/service_endpoints_gen_test.go +++ b/internal/service/neptune/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/neptunegraph/service_endpoint_resolver_gen.go b/internal/service/neptunegraph/service_endpoint_resolver_gen.go index 40f969b1d452..0bd42f503361 100644 --- a/internal/service/neptunegraph/service_endpoint_resolver_gen.go +++ b/internal/service/neptunegraph/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params neptunegraph.End }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up neptunegraph endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up neptunegraph endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/networkfirewall/service_endpoint_resolver_gen.go b/internal/service/networkfirewall/service_endpoint_resolver_gen.go index 5d762fe871fc..83ab7bcfafa8 100644 --- a/internal/service/networkfirewall/service_endpoint_resolver_gen.go +++ b/internal/service/networkfirewall/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params networkfirewall. }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up networkfirewall endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up networkfirewall endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/networkfirewall/service_endpoints_gen_test.go b/internal/service/networkfirewall/service_endpoints_gen_test.go index 584e4f2df683..96590264c5fd 100644 --- a/internal/service/networkfirewall/service_endpoints_gen_test.go +++ b/internal/service/networkfirewall/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/networkmanager/service_endpoint_resolver_gen.go b/internal/service/networkmanager/service_endpoint_resolver_gen.go index 38e56133f666..effbe1a13a4e 100644 --- a/internal/service/networkmanager/service_endpoint_resolver_gen.go +++ b/internal/service/networkmanager/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params networkmanager.E }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up networkmanager endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up networkmanager endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/networkmanager/service_endpoints_gen_test.go b/internal/service/networkmanager/service_endpoints_gen_test.go index 3e4f6ad3e3a2..5eefd7a35dba 100644 --- a/internal/service/networkmanager/service_endpoints_gen_test.go +++ b/internal/service/networkmanager/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/networkmonitor/service_endpoint_resolver_gen.go b/internal/service/networkmonitor/service_endpoint_resolver_gen.go index a77f41113b62..783426de8c34 100644 --- a/internal/service/networkmonitor/service_endpoint_resolver_gen.go +++ b/internal/service/networkmonitor/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params networkmonitor.E }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up networkmonitor endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up networkmonitor endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/networkmonitor/service_endpoints_gen_test.go b/internal/service/networkmonitor/service_endpoints_gen_test.go index 8892c21a3b8e..c40216ac2731 100644 --- a/internal/service/networkmonitor/service_endpoints_gen_test.go +++ b/internal/service/networkmonitor/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/notifications/service_endpoint_resolver_gen.go b/internal/service/notifications/service_endpoint_resolver_gen.go index b1ff2c981e41..69ab4c0349fc 100644 --- a/internal/service/notifications/service_endpoint_resolver_gen.go +++ b/internal/service/notifications/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params notifications.En }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up notifications endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up notifications endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/notifications/service_endpoints_gen_test.go b/internal/service/notifications/service_endpoints_gen_test.go index 2d0cad8190f4..35e260b1ef4f 100644 --- a/internal/service/notifications/service_endpoints_gen_test.go +++ b/internal/service/notifications/service_endpoints_gen_test.go @@ -523,7 +523,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/notificationscontacts/service_endpoint_resolver_gen.go b/internal/service/notificationscontacts/service_endpoint_resolver_gen.go index dbe4a5021df3..dc4fc2815f14 100644 --- a/internal/service/notificationscontacts/service_endpoint_resolver_gen.go +++ b/internal/service/notificationscontacts/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params notificationscon }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up notificationscontacts endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up notificationscontacts endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/notificationscontacts/service_endpoints_gen_test.go b/internal/service/notificationscontacts/service_endpoints_gen_test.go index 3d0582d412fa..5c96e439d013 100644 --- a/internal/service/notificationscontacts/service_endpoints_gen_test.go +++ b/internal/service/notificationscontacts/service_endpoints_gen_test.go @@ -523,7 +523,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/oam/service_endpoint_resolver_gen.go b/internal/service/oam/service_endpoint_resolver_gen.go index 52e81cc9d0e6..ff4f1b1ae605 100644 --- a/internal/service/oam/service_endpoint_resolver_gen.go +++ b/internal/service/oam/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params oam.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up oam endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up oam endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/oam/service_endpoints_gen_test.go b/internal/service/oam/service_endpoints_gen_test.go index 1fe84a6e0e7e..afc8af0d1514 100644 --- a/internal/service/oam/service_endpoints_gen_test.go +++ b/internal/service/oam/service_endpoints_gen_test.go @@ -601,7 +601,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/odb/service_endpoint_resolver_gen.go b/internal/service/odb/service_endpoint_resolver_gen.go index 103f29abab6b..1199c5d13c49 100644 --- a/internal/service/odb/service_endpoint_resolver_gen.go +++ b/internal/service/odb/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params odb.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up odb endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up odb endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/odb/service_endpoints_gen_test.go b/internal/service/odb/service_endpoints_gen_test.go index 92da8964f019..2a4e674af595 100644 --- a/internal/service/odb/service_endpoints_gen_test.go +++ b/internal/service/odb/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/opensearch/service_endpoint_resolver_gen.go b/internal/service/opensearch/service_endpoint_resolver_gen.go index 7c7b779105f0..c3659fc7a0cd 100644 --- a/internal/service/opensearch/service_endpoint_resolver_gen.go +++ b/internal/service/opensearch/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params opensearch.Endpo }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up opensearch endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up opensearch endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/opensearch/service_endpoints_gen_test.go b/internal/service/opensearch/service_endpoints_gen_test.go index b9e35d5ce5f7..a51ffcd77acd 100644 --- a/internal/service/opensearch/service_endpoints_gen_test.go +++ b/internal/service/opensearch/service_endpoints_gen_test.go @@ -601,7 +601,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/opensearchserverless/service_endpoint_resolver_gen.go b/internal/service/opensearchserverless/service_endpoint_resolver_gen.go index 51a4ec07e87e..0779dc1fb5c7 100644 --- a/internal/service/opensearchserverless/service_endpoint_resolver_gen.go +++ b/internal/service/opensearchserverless/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params opensearchserver }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up opensearchserverless endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up opensearchserverless endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/opensearchserverless/service_endpoints_gen_test.go b/internal/service/opensearchserverless/service_endpoints_gen_test.go index 14d81ea391e2..97b0f49dd2da 100644 --- a/internal/service/opensearchserverless/service_endpoints_gen_test.go +++ b/internal/service/opensearchserverless/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/organizations/service_endpoint_resolver_gen.go b/internal/service/organizations/service_endpoint_resolver_gen.go index 6878ed62c178..7185d6eac297 100644 --- a/internal/service/organizations/service_endpoint_resolver_gen.go +++ b/internal/service/organizations/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params organizations.En }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up organizations endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up organizations endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/organizations/service_endpoints_gen_test.go b/internal/service/organizations/service_endpoints_gen_test.go index 492ee31f5183..3f9f189aa8f9 100644 --- a/internal/service/organizations/service_endpoints_gen_test.go +++ b/internal/service/organizations/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/osis/service_endpoint_resolver_gen.go b/internal/service/osis/service_endpoint_resolver_gen.go index 6d27b8a1905d..e23b37145f4b 100644 --- a/internal/service/osis/service_endpoint_resolver_gen.go +++ b/internal/service/osis/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params osis.EndpointPar }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up osis endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up osis endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/osis/service_endpoints_gen_test.go b/internal/service/osis/service_endpoints_gen_test.go index 6497798a1507..a07090d935bb 100644 --- a/internal/service/osis/service_endpoints_gen_test.go +++ b/internal/service/osis/service_endpoints_gen_test.go @@ -601,7 +601,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/outposts/service_endpoint_resolver_gen.go b/internal/service/outposts/service_endpoint_resolver_gen.go index 0279c09937a5..8eb5fe1663a7 100644 --- a/internal/service/outposts/service_endpoint_resolver_gen.go +++ b/internal/service/outposts/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params outposts.Endpoin }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up outposts endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up outposts endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/outposts/service_endpoints_gen_test.go b/internal/service/outposts/service_endpoints_gen_test.go index eed5d91908c6..167ecf4cd572 100644 --- a/internal/service/outposts/service_endpoints_gen_test.go +++ b/internal/service/outposts/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/paymentcryptography/service_endpoint_resolver_gen.go b/internal/service/paymentcryptography/service_endpoint_resolver_gen.go index b1c0d1946841..f62de3587841 100644 --- a/internal/service/paymentcryptography/service_endpoint_resolver_gen.go +++ b/internal/service/paymentcryptography/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params paymentcryptogra }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up paymentcryptography endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up paymentcryptography endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/pcaconnectorad/service_endpoint_resolver_gen.go b/internal/service/pcaconnectorad/service_endpoint_resolver_gen.go index 8b4aed19b52b..396d076f845c 100644 --- a/internal/service/pcaconnectorad/service_endpoint_resolver_gen.go +++ b/internal/service/pcaconnectorad/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params pcaconnectorad.E }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up pcaconnectorad endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up pcaconnectorad endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/pcaconnectorad/service_endpoints_gen_test.go b/internal/service/pcaconnectorad/service_endpoints_gen_test.go index 5babfc9b3314..87936378e4ab 100644 --- a/internal/service/pcaconnectorad/service_endpoints_gen_test.go +++ b/internal/service/pcaconnectorad/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/pcs/service_endpoint_resolver_gen.go b/internal/service/pcs/service_endpoint_resolver_gen.go index b217a4cd1ddc..05ae03021d28 100644 --- a/internal/service/pcs/service_endpoint_resolver_gen.go +++ b/internal/service/pcs/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params pcs.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up pcs endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up pcs endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/pcs/service_endpoints_gen_test.go b/internal/service/pcs/service_endpoints_gen_test.go index 38031c44c99c..53beee1d5308 100644 --- a/internal/service/pcs/service_endpoints_gen_test.go +++ b/internal/service/pcs/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/pinpoint/service_endpoint_resolver_gen.go b/internal/service/pinpoint/service_endpoint_resolver_gen.go index 9c9b5833adf4..3c2a9a5823e4 100644 --- a/internal/service/pinpoint/service_endpoint_resolver_gen.go +++ b/internal/service/pinpoint/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params pinpoint.Endpoin }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up pinpoint endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up pinpoint endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/pinpoint/service_endpoints_gen_test.go b/internal/service/pinpoint/service_endpoints_gen_test.go index 2e624a8d937e..9dfba64e19e2 100644 --- a/internal/service/pinpoint/service_endpoints_gen_test.go +++ b/internal/service/pinpoint/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/pinpointsmsvoicev2/service_endpoint_resolver_gen.go b/internal/service/pinpointsmsvoicev2/service_endpoint_resolver_gen.go index 09ba3a9f1908..8b4b9e1b0ed9 100644 --- a/internal/service/pinpointsmsvoicev2/service_endpoint_resolver_gen.go +++ b/internal/service/pinpointsmsvoicev2/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params pinpointsmsvoice }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up pinpointsmsvoicev2 endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up pinpointsmsvoicev2 endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/pinpointsmsvoicev2/service_endpoints_gen_test.go b/internal/service/pinpointsmsvoicev2/service_endpoints_gen_test.go index d87dc54dcbb0..50e84597a504 100644 --- a/internal/service/pinpointsmsvoicev2/service_endpoints_gen_test.go +++ b/internal/service/pinpointsmsvoicev2/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/pipes/service_endpoint_resolver_gen.go b/internal/service/pipes/service_endpoint_resolver_gen.go index 647f1c821077..a7aeaf7c08f2 100644 --- a/internal/service/pipes/service_endpoint_resolver_gen.go +++ b/internal/service/pipes/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params pipes.EndpointPa }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up pipes endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up pipes endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/pipes/service_endpoints_gen_test.go b/internal/service/pipes/service_endpoints_gen_test.go index 0386578de5c4..065b14e01bf0 100644 --- a/internal/service/pipes/service_endpoints_gen_test.go +++ b/internal/service/pipes/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/polly/service_endpoint_resolver_gen.go b/internal/service/polly/service_endpoint_resolver_gen.go index 7f8d50ac4e6a..819677987fd4 100644 --- a/internal/service/polly/service_endpoint_resolver_gen.go +++ b/internal/service/polly/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params polly.EndpointPa }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up polly endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up polly endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/polly/service_endpoints_gen_test.go b/internal/service/polly/service_endpoints_gen_test.go index 375827a00fb6..7613d7f68bc8 100644 --- a/internal/service/polly/service_endpoints_gen_test.go +++ b/internal/service/polly/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/pricing/service_endpoint_resolver_gen.go b/internal/service/pricing/service_endpoint_resolver_gen.go index 7d927d33cfd2..fc6c74b2de64 100644 --- a/internal/service/pricing/service_endpoint_resolver_gen.go +++ b/internal/service/pricing/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params pricing.Endpoint }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up pricing endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up pricing endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/pricing/service_endpoints_gen_test.go b/internal/service/pricing/service_endpoints_gen_test.go index 3dac5ea189c8..4053ca6b0c8a 100644 --- a/internal/service/pricing/service_endpoints_gen_test.go +++ b/internal/service/pricing/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/qbusiness/service_endpoint_resolver_gen.go b/internal/service/qbusiness/service_endpoint_resolver_gen.go index e3a9fd19d321..3e4b49ab74c4 100644 --- a/internal/service/qbusiness/service_endpoint_resolver_gen.go +++ b/internal/service/qbusiness/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params qbusiness.Endpoi }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up qbusiness endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up qbusiness endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/qbusiness/service_endpoints_gen_test.go b/internal/service/qbusiness/service_endpoints_gen_test.go index 19c54bb9f424..62cacbe40c59 100644 --- a/internal/service/qbusiness/service_endpoints_gen_test.go +++ b/internal/service/qbusiness/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/qldb/service_endpoint_resolver_gen.go b/internal/service/qldb/service_endpoint_resolver_gen.go index 9d59080dfff8..8b1fef031ad0 100644 --- a/internal/service/qldb/service_endpoint_resolver_gen.go +++ b/internal/service/qldb/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params qldb.EndpointPar }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up qldb endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up qldb endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/qldb/service_endpoints_gen_test.go b/internal/service/qldb/service_endpoints_gen_test.go index 2ead4b373906..e93d4bf6b5e0 100644 --- a/internal/service/qldb/service_endpoints_gen_test.go +++ b/internal/service/qldb/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/quicksight/service_endpoint_resolver_gen.go b/internal/service/quicksight/service_endpoint_resolver_gen.go index 3c6a46e09805..402978520340 100644 --- a/internal/service/quicksight/service_endpoint_resolver_gen.go +++ b/internal/service/quicksight/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params quicksight.Endpo }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up quicksight endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up quicksight endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/quicksight/service_endpoints_gen_test.go b/internal/service/quicksight/service_endpoints_gen_test.go index 891d31327945..ea7698f34e90 100644 --- a/internal/service/quicksight/service_endpoints_gen_test.go +++ b/internal/service/quicksight/service_endpoints_gen_test.go @@ -524,7 +524,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/ram/service_endpoint_resolver_gen.go b/internal/service/ram/service_endpoint_resolver_gen.go index 959f8113a33e..56fe3c78e527 100644 --- a/internal/service/ram/service_endpoint_resolver_gen.go +++ b/internal/service/ram/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params ram.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up ram endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up ram endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/ram/service_endpoints_gen_test.go b/internal/service/ram/service_endpoints_gen_test.go index e8b3eb7bd383..bd45bfd197b3 100644 --- a/internal/service/ram/service_endpoints_gen_test.go +++ b/internal/service/ram/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/rbin/service_endpoint_resolver_gen.go b/internal/service/rbin/service_endpoint_resolver_gen.go index 813297889ba5..cf2aee5e7f23 100644 --- a/internal/service/rbin/service_endpoint_resolver_gen.go +++ b/internal/service/rbin/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params rbin.EndpointPar }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up rbin endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up rbin endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/rbin/service_endpoints_gen_test.go b/internal/service/rbin/service_endpoints_gen_test.go index 032e7db77dd7..6060e2b61db9 100644 --- a/internal/service/rbin/service_endpoints_gen_test.go +++ b/internal/service/rbin/service_endpoints_gen_test.go @@ -604,7 +604,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/rds/service_endpoint_resolver_gen.go b/internal/service/rds/service_endpoint_resolver_gen.go index 486582c554c8..99451257bcad 100644 --- a/internal/service/rds/service_endpoint_resolver_gen.go +++ b/internal/service/rds/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params rds.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up rds endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up rds endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/rds/service_endpoints_gen_test.go b/internal/service/rds/service_endpoints_gen_test.go index 9cd63a012820..e6eaf5d924dd 100644 --- a/internal/service/rds/service_endpoints_gen_test.go +++ b/internal/service/rds/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/redshift/service_endpoint_resolver_gen.go b/internal/service/redshift/service_endpoint_resolver_gen.go index e58256a51949..897e9ee5cc44 100644 --- a/internal/service/redshift/service_endpoint_resolver_gen.go +++ b/internal/service/redshift/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params redshift.Endpoin }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up redshift endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up redshift endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/redshift/service_endpoints_gen_test.go b/internal/service/redshift/service_endpoints_gen_test.go index aebf72d90c98..13aeb1d8c9ad 100644 --- a/internal/service/redshift/service_endpoints_gen_test.go +++ b/internal/service/redshift/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/redshiftdata/service_endpoint_resolver_gen.go b/internal/service/redshiftdata/service_endpoint_resolver_gen.go index aa9ae936fc35..39c2fda38639 100644 --- a/internal/service/redshiftdata/service_endpoint_resolver_gen.go +++ b/internal/service/redshiftdata/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params redshiftdata.End }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up redshiftdata endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up redshiftdata endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/redshiftdata/service_endpoints_gen_test.go b/internal/service/redshiftdata/service_endpoints_gen_test.go index a9d436b731b5..c27671c121eb 100644 --- a/internal/service/redshiftdata/service_endpoints_gen_test.go +++ b/internal/service/redshiftdata/service_endpoints_gen_test.go @@ -603,7 +603,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/redshiftserverless/service_endpoint_resolver_gen.go b/internal/service/redshiftserverless/service_endpoint_resolver_gen.go index cf7bfb53201d..208813d32a42 100644 --- a/internal/service/redshiftserverless/service_endpoint_resolver_gen.go +++ b/internal/service/redshiftserverless/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params redshiftserverle }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up redshiftserverless endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up redshiftserverless endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/redshiftserverless/service_endpoints_gen_test.go b/internal/service/redshiftserverless/service_endpoints_gen_test.go index 5f40d9b7bb80..8e1186bd137e 100644 --- a/internal/service/redshiftserverless/service_endpoints_gen_test.go +++ b/internal/service/redshiftserverless/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/rekognition/service_endpoint_resolver_gen.go b/internal/service/rekognition/service_endpoint_resolver_gen.go index aaaef06461e4..f63a3d0b9563 100644 --- a/internal/service/rekognition/service_endpoint_resolver_gen.go +++ b/internal/service/rekognition/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params rekognition.Endp }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up rekognition endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up rekognition endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/rekognition/service_endpoints_gen_test.go b/internal/service/rekognition/service_endpoints_gen_test.go index e771e2319732..db55fd4f2e02 100644 --- a/internal/service/rekognition/service_endpoints_gen_test.go +++ b/internal/service/rekognition/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/resiliencehub/service_endpoint_resolver_gen.go b/internal/service/resiliencehub/service_endpoint_resolver_gen.go index 65ff86dc7655..eb6a31e9e5e4 100644 --- a/internal/service/resiliencehub/service_endpoint_resolver_gen.go +++ b/internal/service/resiliencehub/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params resiliencehub.En }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up resiliencehub endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up resiliencehub endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/resiliencehub/service_endpoints_gen_test.go b/internal/service/resiliencehub/service_endpoints_gen_test.go index 02287ed7a959..727894287629 100644 --- a/internal/service/resiliencehub/service_endpoints_gen_test.go +++ b/internal/service/resiliencehub/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/resourceexplorer2/service_endpoint_resolver_gen.go b/internal/service/resourceexplorer2/service_endpoint_resolver_gen.go index ef6e34136798..1a217daa9c7e 100644 --- a/internal/service/resourceexplorer2/service_endpoint_resolver_gen.go +++ b/internal/service/resourceexplorer2/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params resourceexplorer }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up resourceexplorer2 endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up resourceexplorer2 endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/resourceexplorer2/service_endpoints_gen_test.go b/internal/service/resourceexplorer2/service_endpoints_gen_test.go index 91ddb46d1b1a..9f6ea618e48e 100644 --- a/internal/service/resourceexplorer2/service_endpoints_gen_test.go +++ b/internal/service/resourceexplorer2/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/resourcegroups/service_endpoint_resolver_gen.go b/internal/service/resourcegroups/service_endpoint_resolver_gen.go index f9caa3d54001..072467d822df 100644 --- a/internal/service/resourcegroups/service_endpoint_resolver_gen.go +++ b/internal/service/resourcegroups/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params resourcegroups.E }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up resourcegroups endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up resourcegroups endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/resourcegroups/service_endpoints_gen_test.go b/internal/service/resourcegroups/service_endpoints_gen_test.go index 7c778f417e8a..cb703d531f36 100644 --- a/internal/service/resourcegroups/service_endpoints_gen_test.go +++ b/internal/service/resourcegroups/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/resourcegroupstaggingapi/service_endpoint_resolver_gen.go b/internal/service/resourcegroupstaggingapi/service_endpoint_resolver_gen.go index 9cdfcb5d725f..3a9dcfc902a2 100644 --- a/internal/service/resourcegroupstaggingapi/service_endpoint_resolver_gen.go +++ b/internal/service/resourcegroupstaggingapi/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params resourcegroupsta }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up resourcegroupstaggingapi endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up resourcegroupstaggingapi endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/resourcegroupstaggingapi/service_endpoints_gen_test.go b/internal/service/resourcegroupstaggingapi/service_endpoints_gen_test.go index 55642655f8c9..1abb942868b9 100644 --- a/internal/service/resourcegroupstaggingapi/service_endpoints_gen_test.go +++ b/internal/service/resourcegroupstaggingapi/service_endpoints_gen_test.go @@ -601,7 +601,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/rolesanywhere/service_endpoint_resolver_gen.go b/internal/service/rolesanywhere/service_endpoint_resolver_gen.go index d9a4c06680a6..a1af15e5a5f6 100644 --- a/internal/service/rolesanywhere/service_endpoint_resolver_gen.go +++ b/internal/service/rolesanywhere/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params rolesanywhere.En }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up rolesanywhere endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up rolesanywhere endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/rolesanywhere/service_endpoints_gen_test.go b/internal/service/rolesanywhere/service_endpoints_gen_test.go index 8b56319933c9..a3ef2bfe0852 100644 --- a/internal/service/rolesanywhere/service_endpoints_gen_test.go +++ b/internal/service/rolesanywhere/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/route53/service_endpoint_resolver_gen.go b/internal/service/route53/service_endpoint_resolver_gen.go index b0f533b789df..769b9f127c51 100644 --- a/internal/service/route53/service_endpoint_resolver_gen.go +++ b/internal/service/route53/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params route53.Endpoint }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up route53 endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up route53 endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/route53/service_endpoints_gen_test.go b/internal/service/route53/service_endpoints_gen_test.go index fc5cbaf4589e..183aba217aea 100644 --- a/internal/service/route53/service_endpoints_gen_test.go +++ b/internal/service/route53/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/route53domains/service_endpoint_resolver_gen.go b/internal/service/route53domains/service_endpoint_resolver_gen.go index ab8175410911..ae435ddaf9e4 100644 --- a/internal/service/route53domains/service_endpoint_resolver_gen.go +++ b/internal/service/route53domains/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params route53domains.E }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up route53domains endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up route53domains endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/route53domains/service_endpoints_gen_test.go b/internal/service/route53domains/service_endpoints_gen_test.go index 252cb7d94189..bd00d191ff12 100644 --- a/internal/service/route53domains/service_endpoints_gen_test.go +++ b/internal/service/route53domains/service_endpoints_gen_test.go @@ -523,7 +523,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/route53profiles/service_endpoint_resolver_gen.go b/internal/service/route53profiles/service_endpoint_resolver_gen.go index 47b741a48264..760bbe696fed 100644 --- a/internal/service/route53profiles/service_endpoint_resolver_gen.go +++ b/internal/service/route53profiles/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params route53profiles. }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up route53profiles endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up route53profiles endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/route53recoverycontrolconfig/service_endpoint_resolver_gen.go b/internal/service/route53recoverycontrolconfig/service_endpoint_resolver_gen.go index e2ba03523c01..0be4875ac319 100644 --- a/internal/service/route53recoverycontrolconfig/service_endpoint_resolver_gen.go +++ b/internal/service/route53recoverycontrolconfig/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params route53recoveryc }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up route53recoverycontrolconfig endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up route53recoverycontrolconfig endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/route53recoverycontrolconfig/service_endpoints_gen_test.go b/internal/service/route53recoverycontrolconfig/service_endpoints_gen_test.go index e612ca2b8535..b6c25ffc7307 100644 --- a/internal/service/route53recoverycontrolconfig/service_endpoints_gen_test.go +++ b/internal/service/route53recoverycontrolconfig/service_endpoints_gen_test.go @@ -523,7 +523,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/route53recoveryreadiness/service_endpoint_resolver_gen.go b/internal/service/route53recoveryreadiness/service_endpoint_resolver_gen.go index 81057239e997..2e7bfb205352 100644 --- a/internal/service/route53recoveryreadiness/service_endpoint_resolver_gen.go +++ b/internal/service/route53recoveryreadiness/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params route53recoveryr }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up route53recoveryreadiness endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up route53recoveryreadiness endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/route53recoveryreadiness/service_endpoints_gen_test.go b/internal/service/route53recoveryreadiness/service_endpoints_gen_test.go index a6b2bb817ecf..7736ce3cf01f 100644 --- a/internal/service/route53recoveryreadiness/service_endpoints_gen_test.go +++ b/internal/service/route53recoveryreadiness/service_endpoints_gen_test.go @@ -523,7 +523,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/route53resolver/service_endpoint_resolver_gen.go b/internal/service/route53resolver/service_endpoint_resolver_gen.go index 7164590704ac..9f6ffdc09394 100644 --- a/internal/service/route53resolver/service_endpoint_resolver_gen.go +++ b/internal/service/route53resolver/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params route53resolver. }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up route53resolver endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up route53resolver endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/route53resolver/service_endpoints_gen_test.go b/internal/service/route53resolver/service_endpoints_gen_test.go index 26d4771475cd..6db715396314 100644 --- a/internal/service/route53resolver/service_endpoints_gen_test.go +++ b/internal/service/route53resolver/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/rum/service_endpoint_resolver_gen.go b/internal/service/rum/service_endpoint_resolver_gen.go index 6c385f7c4a3a..791f1501d1c7 100644 --- a/internal/service/rum/service_endpoint_resolver_gen.go +++ b/internal/service/rum/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params rum.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up rum endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up rum endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/rum/service_endpoints_gen_test.go b/internal/service/rum/service_endpoints_gen_test.go index 33885afc50e0..11b99f63f9bc 100644 --- a/internal/service/rum/service_endpoints_gen_test.go +++ b/internal/service/rum/service_endpoints_gen_test.go @@ -601,7 +601,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/s3/service_endpoint_resolver_gen.go b/internal/service/s3/service_endpoint_resolver_gen.go index 09052d858cf7..18e5b0555bf3 100644 --- a/internal/service/s3/service_endpoint_resolver_gen.go +++ b/internal/service/s3/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params s3.EndpointParam }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up s3 endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up s3 endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/s3/service_endpoints_gen_test.go b/internal/service/s3/service_endpoints_gen_test.go index 6b9189d4ec56..5f8289c28b08 100644 --- a/internal/service/s3/service_endpoints_gen_test.go +++ b/internal/service/s3/service_endpoints_gen_test.go @@ -753,7 +753,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/s3control/service_endpoint_resolver_gen.go b/internal/service/s3control/service_endpoint_resolver_gen.go index 29593cd2fde3..f8cabada3ce8 100644 --- a/internal/service/s3control/service_endpoint_resolver_gen.go +++ b/internal/service/s3control/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params s3control.Endpoi }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up s3control endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up s3control endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/s3outposts/service_endpoint_resolver_gen.go b/internal/service/s3outposts/service_endpoint_resolver_gen.go index f457b581e30a..346ca329bd22 100644 --- a/internal/service/s3outposts/service_endpoint_resolver_gen.go +++ b/internal/service/s3outposts/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params s3outposts.Endpo }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up s3outposts endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up s3outposts endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/s3outposts/service_endpoints_gen_test.go b/internal/service/s3outposts/service_endpoints_gen_test.go index 7bf7c0cd9a2a..2ba1a8a5cb95 100644 --- a/internal/service/s3outposts/service_endpoints_gen_test.go +++ b/internal/service/s3outposts/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/s3tables/service_endpoint_resolver_gen.go b/internal/service/s3tables/service_endpoint_resolver_gen.go index 5e03ccf49e00..69db7bbf695c 100644 --- a/internal/service/s3tables/service_endpoint_resolver_gen.go +++ b/internal/service/s3tables/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params s3tables.Endpoin }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up s3tables endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up s3tables endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/s3tables/service_endpoints_gen_test.go b/internal/service/s3tables/service_endpoints_gen_test.go index c7f3191876ba..357a3ddbdc14 100644 --- a/internal/service/s3tables/service_endpoints_gen_test.go +++ b/internal/service/s3tables/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/s3vectors/service_endpoint_resolver_gen.go b/internal/service/s3vectors/service_endpoint_resolver_gen.go index 7e3c561112d2..1db1fb115fb0 100644 --- a/internal/service/s3vectors/service_endpoint_resolver_gen.go +++ b/internal/service/s3vectors/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params s3vectors.Endpoi }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up s3vectors endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up s3vectors endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/s3vectors/service_endpoints_gen_test.go b/internal/service/s3vectors/service_endpoints_gen_test.go index 37725272d1e7..8bf60804b3f3 100644 --- a/internal/service/s3vectors/service_endpoints_gen_test.go +++ b/internal/service/s3vectors/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/sagemaker/service_endpoint_resolver_gen.go b/internal/service/sagemaker/service_endpoint_resolver_gen.go index 59805710c056..bc7779c6046a 100644 --- a/internal/service/sagemaker/service_endpoint_resolver_gen.go +++ b/internal/service/sagemaker/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params sagemaker.Endpoi }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up sagemaker endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up sagemaker endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/sagemaker/service_endpoints_gen_test.go b/internal/service/sagemaker/service_endpoints_gen_test.go index ad85533825ce..12646ba4423f 100644 --- a/internal/service/sagemaker/service_endpoints_gen_test.go +++ b/internal/service/sagemaker/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/scheduler/service_endpoint_resolver_gen.go b/internal/service/scheduler/service_endpoint_resolver_gen.go index 17dae0750335..b2e5d62a0525 100644 --- a/internal/service/scheduler/service_endpoint_resolver_gen.go +++ b/internal/service/scheduler/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params scheduler.Endpoi }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up scheduler endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up scheduler endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/scheduler/service_endpoints_gen_test.go b/internal/service/scheduler/service_endpoints_gen_test.go index f07d545e26bf..d4a4b4dfe8b0 100644 --- a/internal/service/scheduler/service_endpoints_gen_test.go +++ b/internal/service/scheduler/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/schemas/service_endpoint_resolver_gen.go b/internal/service/schemas/service_endpoint_resolver_gen.go index 7168432f8af8..f8a8f3fe733d 100644 --- a/internal/service/schemas/service_endpoint_resolver_gen.go +++ b/internal/service/schemas/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params schemas.Endpoint }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up schemas endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up schemas endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/schemas/service_endpoints_gen_test.go b/internal/service/schemas/service_endpoints_gen_test.go index 81b8c5187c0f..fde853fd8979 100644 --- a/internal/service/schemas/service_endpoints_gen_test.go +++ b/internal/service/schemas/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/secretsmanager/service_endpoint_resolver_gen.go b/internal/service/secretsmanager/service_endpoint_resolver_gen.go index 41ea6fde8b01..2ef0c39780ca 100644 --- a/internal/service/secretsmanager/service_endpoint_resolver_gen.go +++ b/internal/service/secretsmanager/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params secretsmanager.E }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up secretsmanager endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up secretsmanager endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/secretsmanager/service_endpoints_gen_test.go b/internal/service/secretsmanager/service_endpoints_gen_test.go index 223699aef5d5..46e5ebee758e 100644 --- a/internal/service/secretsmanager/service_endpoints_gen_test.go +++ b/internal/service/secretsmanager/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/securityhub/service_endpoint_resolver_gen.go b/internal/service/securityhub/service_endpoint_resolver_gen.go index 0df275daeb97..fc23da696d12 100644 --- a/internal/service/securityhub/service_endpoint_resolver_gen.go +++ b/internal/service/securityhub/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params securityhub.Endp }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up securityhub endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up securityhub endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/securityhub/service_endpoints_gen_test.go b/internal/service/securityhub/service_endpoints_gen_test.go index db311162d392..380b6941b96a 100644 --- a/internal/service/securityhub/service_endpoints_gen_test.go +++ b/internal/service/securityhub/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/securitylake/service_endpoint_resolver_gen.go b/internal/service/securitylake/service_endpoint_resolver_gen.go index 778dbe064603..d094f2b3d973 100644 --- a/internal/service/securitylake/service_endpoint_resolver_gen.go +++ b/internal/service/securitylake/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params securitylake.End }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up securitylake endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up securitylake endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/securitylake/service_endpoints_gen_test.go b/internal/service/securitylake/service_endpoints_gen_test.go index c26cf6747109..6ce173c3c796 100644 --- a/internal/service/securitylake/service_endpoints_gen_test.go +++ b/internal/service/securitylake/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/serverlessrepo/service_endpoint_resolver_gen.go b/internal/service/serverlessrepo/service_endpoint_resolver_gen.go index 1425a6a4ad4d..2b372654ed1a 100644 --- a/internal/service/serverlessrepo/service_endpoint_resolver_gen.go +++ b/internal/service/serverlessrepo/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params serverlessapplic }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up serverlessapplicationrepository endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up serverlessapplicationrepository endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/serverlessrepo/service_endpoints_gen_test.go b/internal/service/serverlessrepo/service_endpoints_gen_test.go index 19ee8ee7ac4c..3d31b0e9df9e 100644 --- a/internal/service/serverlessrepo/service_endpoints_gen_test.go +++ b/internal/service/serverlessrepo/service_endpoints_gen_test.go @@ -678,7 +678,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/servicecatalog/service_endpoint_resolver_gen.go b/internal/service/servicecatalog/service_endpoint_resolver_gen.go index 2bb71adfe74a..0d54ece32b50 100644 --- a/internal/service/servicecatalog/service_endpoint_resolver_gen.go +++ b/internal/service/servicecatalog/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params servicecatalog.E }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up servicecatalog endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up servicecatalog endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/servicecatalog/service_endpoints_gen_test.go b/internal/service/servicecatalog/service_endpoints_gen_test.go index 5558bede9de2..eae203f9cff8 100644 --- a/internal/service/servicecatalog/service_endpoints_gen_test.go +++ b/internal/service/servicecatalog/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/servicecatalogappregistry/service_endpoint_resolver_gen.go b/internal/service/servicecatalogappregistry/service_endpoint_resolver_gen.go index f83021f4124b..f5b5ee8b8eaa 100644 --- a/internal/service/servicecatalogappregistry/service_endpoint_resolver_gen.go +++ b/internal/service/servicecatalogappregistry/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params servicecatalogap }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up servicecatalogappregistry endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up servicecatalogappregistry endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/servicecatalogappregistry/service_endpoints_gen_test.go b/internal/service/servicecatalogappregistry/service_endpoints_gen_test.go index b6dd634bc4e6..19bd9d786181 100644 --- a/internal/service/servicecatalogappregistry/service_endpoints_gen_test.go +++ b/internal/service/servicecatalogappregistry/service_endpoints_gen_test.go @@ -601,7 +601,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/servicediscovery/service_endpoint_resolver_gen.go b/internal/service/servicediscovery/service_endpoint_resolver_gen.go index fd594064d493..082187efb41b 100644 --- a/internal/service/servicediscovery/service_endpoint_resolver_gen.go +++ b/internal/service/servicediscovery/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params servicediscovery }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up servicediscovery endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up servicediscovery endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/servicediscovery/service_endpoints_gen_test.go b/internal/service/servicediscovery/service_endpoints_gen_test.go index 871fc92f3cb1..533625ee1ec3 100644 --- a/internal/service/servicediscovery/service_endpoints_gen_test.go +++ b/internal/service/servicediscovery/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/servicequotas/service_endpoint_resolver_gen.go b/internal/service/servicequotas/service_endpoint_resolver_gen.go index c8782ad4935f..0ffafbd04b51 100644 --- a/internal/service/servicequotas/service_endpoint_resolver_gen.go +++ b/internal/service/servicequotas/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params servicequotas.En }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up servicequotas endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up servicequotas endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/servicequotas/service_endpoints_gen_test.go b/internal/service/servicequotas/service_endpoints_gen_test.go index 4fbad913abd8..cdf98b309055 100644 --- a/internal/service/servicequotas/service_endpoints_gen_test.go +++ b/internal/service/servicequotas/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/ses/service_endpoint_resolver_gen.go b/internal/service/ses/service_endpoint_resolver_gen.go index 18d0abf603bb..4f87d10155a2 100644 --- a/internal/service/ses/service_endpoint_resolver_gen.go +++ b/internal/service/ses/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params ses.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up ses endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up ses endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/ses/service_endpoints_gen_test.go b/internal/service/ses/service_endpoints_gen_test.go index 213f54471fda..c5667e17313d 100644 --- a/internal/service/ses/service_endpoints_gen_test.go +++ b/internal/service/ses/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/sesv2/service_endpoint_resolver_gen.go b/internal/service/sesv2/service_endpoint_resolver_gen.go index 7bb572de1434..4d55cfe2378e 100644 --- a/internal/service/sesv2/service_endpoint_resolver_gen.go +++ b/internal/service/sesv2/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params sesv2.EndpointPa }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up sesv2 endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up sesv2 endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/sesv2/service_endpoints_gen_test.go b/internal/service/sesv2/service_endpoints_gen_test.go index 96705e14b9e6..eef108538fc2 100644 --- a/internal/service/sesv2/service_endpoints_gen_test.go +++ b/internal/service/sesv2/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/sfn/service_endpoint_resolver_gen.go b/internal/service/sfn/service_endpoint_resolver_gen.go index 8a46a815fabf..81f5a58b9bb0 100644 --- a/internal/service/sfn/service_endpoint_resolver_gen.go +++ b/internal/service/sfn/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params sfn.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up sfn endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up sfn endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/sfn/service_endpoints_gen_test.go b/internal/service/sfn/service_endpoints_gen_test.go index 573a1e97cd72..1db7d442bbda 100644 --- a/internal/service/sfn/service_endpoints_gen_test.go +++ b/internal/service/sfn/service_endpoints_gen_test.go @@ -601,7 +601,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/shield/service_endpoint_resolver_gen.go b/internal/service/shield/service_endpoint_resolver_gen.go index 23d84b65d324..3f20d681605a 100644 --- a/internal/service/shield/service_endpoint_resolver_gen.go +++ b/internal/service/shield/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params shield.EndpointP }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up shield endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up shield endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/shield/service_endpoints_gen_test.go b/internal/service/shield/service_endpoints_gen_test.go index 20997eed94f2..7169fcb666fb 100644 --- a/internal/service/shield/service_endpoints_gen_test.go +++ b/internal/service/shield/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/signer/service_endpoint_resolver_gen.go b/internal/service/signer/service_endpoint_resolver_gen.go index 4456d20a21bb..00170e781b7d 100644 --- a/internal/service/signer/service_endpoint_resolver_gen.go +++ b/internal/service/signer/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params signer.EndpointP }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up signer endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up signer endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/signer/service_endpoints_gen_test.go b/internal/service/signer/service_endpoints_gen_test.go index 854434d689a6..04f9002298bc 100644 --- a/internal/service/signer/service_endpoints_gen_test.go +++ b/internal/service/signer/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/sns/service_endpoint_resolver_gen.go b/internal/service/sns/service_endpoint_resolver_gen.go index 6fb32a73767c..f6104976a8a8 100644 --- a/internal/service/sns/service_endpoint_resolver_gen.go +++ b/internal/service/sns/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params sns.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up sns endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up sns endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/sns/service_endpoints_gen_test.go b/internal/service/sns/service_endpoints_gen_test.go index 2deb34002e64..c1c5eb590bf2 100644 --- a/internal/service/sns/service_endpoints_gen_test.go +++ b/internal/service/sns/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/sqs/service_endpoint_resolver_gen.go b/internal/service/sqs/service_endpoint_resolver_gen.go index 7f2413f026c3..71bfc54d879f 100644 --- a/internal/service/sqs/service_endpoint_resolver_gen.go +++ b/internal/service/sqs/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params sqs.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up sqs endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up sqs endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/sqs/service_endpoints_gen_test.go b/internal/service/sqs/service_endpoints_gen_test.go index 61aaae0baafe..076779b7829a 100644 --- a/internal/service/sqs/service_endpoints_gen_test.go +++ b/internal/service/sqs/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/ssm/service_endpoint_resolver_gen.go b/internal/service/ssm/service_endpoint_resolver_gen.go index 3c998074a290..137dfb9b2542 100644 --- a/internal/service/ssm/service_endpoint_resolver_gen.go +++ b/internal/service/ssm/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params ssm.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up ssm endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up ssm endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/ssm/service_endpoints_gen_test.go b/internal/service/ssm/service_endpoints_gen_test.go index 81db15a0519c..65cdfb7411e7 100644 --- a/internal/service/ssm/service_endpoints_gen_test.go +++ b/internal/service/ssm/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/ssmcontacts/service_endpoint_resolver_gen.go b/internal/service/ssmcontacts/service_endpoint_resolver_gen.go index 42d4dd095200..2da43637a287 100644 --- a/internal/service/ssmcontacts/service_endpoint_resolver_gen.go +++ b/internal/service/ssmcontacts/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params ssmcontacts.Endp }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up ssmcontacts endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up ssmcontacts endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/ssmcontacts/service_endpoints_gen_test.go b/internal/service/ssmcontacts/service_endpoints_gen_test.go index 7ea4669a6901..2db5511b8b43 100644 --- a/internal/service/ssmcontacts/service_endpoints_gen_test.go +++ b/internal/service/ssmcontacts/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/ssmincidents/service_endpoint_resolver_gen.go b/internal/service/ssmincidents/service_endpoint_resolver_gen.go index 7569f5b26b3b..a9ec0d6fc96c 100644 --- a/internal/service/ssmincidents/service_endpoint_resolver_gen.go +++ b/internal/service/ssmincidents/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params ssmincidents.End }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up ssmincidents endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up ssmincidents endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/ssmincidents/service_endpoints_gen_test.go b/internal/service/ssmincidents/service_endpoints_gen_test.go index 1104077d20f6..837f0d21cf79 100644 --- a/internal/service/ssmincidents/service_endpoints_gen_test.go +++ b/internal/service/ssmincidents/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/ssmquicksetup/service_endpoint_resolver_gen.go b/internal/service/ssmquicksetup/service_endpoint_resolver_gen.go index c2830fd2dff0..5f7987b53eac 100644 --- a/internal/service/ssmquicksetup/service_endpoint_resolver_gen.go +++ b/internal/service/ssmquicksetup/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params ssmquicksetup.En }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up ssmquicksetup endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up ssmquicksetup endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/ssmquicksetup/service_endpoints_gen_test.go b/internal/service/ssmquicksetup/service_endpoints_gen_test.go index 7db17efaa322..33cec17ed130 100644 --- a/internal/service/ssmquicksetup/service_endpoints_gen_test.go +++ b/internal/service/ssmquicksetup/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/ssmsap/service_endpoint_resolver_gen.go b/internal/service/ssmsap/service_endpoint_resolver_gen.go index bb2cb6c76f46..10e408a653c3 100644 --- a/internal/service/ssmsap/service_endpoint_resolver_gen.go +++ b/internal/service/ssmsap/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params ssmsap.EndpointP }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up ssmsap endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up ssmsap endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/ssmsap/service_endpoints_gen_test.go b/internal/service/ssmsap/service_endpoints_gen_test.go index d810d7b96549..6f7ace60fed2 100644 --- a/internal/service/ssmsap/service_endpoints_gen_test.go +++ b/internal/service/ssmsap/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/sso/service_endpoint_resolver_gen.go b/internal/service/sso/service_endpoint_resolver_gen.go index 95ed5d597c30..554798a11407 100644 --- a/internal/service/sso/service_endpoint_resolver_gen.go +++ b/internal/service/sso/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params sso.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up sso endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up sso endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/sso/service_endpoints_gen_test.go b/internal/service/sso/service_endpoints_gen_test.go index 3384ce400090..5a8842f2eee8 100644 --- a/internal/service/sso/service_endpoints_gen_test.go +++ b/internal/service/sso/service_endpoints_gen_test.go @@ -523,7 +523,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/ssoadmin/service_endpoint_resolver_gen.go b/internal/service/ssoadmin/service_endpoint_resolver_gen.go index b05be0b05206..21af504a6558 100644 --- a/internal/service/ssoadmin/service_endpoint_resolver_gen.go +++ b/internal/service/ssoadmin/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params ssoadmin.Endpoin }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up ssoadmin endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up ssoadmin endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/ssoadmin/service_endpoints_gen_test.go b/internal/service/ssoadmin/service_endpoints_gen_test.go index 3bf09b559832..30aaea57a856 100644 --- a/internal/service/ssoadmin/service_endpoints_gen_test.go +++ b/internal/service/ssoadmin/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/storagegateway/service_endpoint_resolver_gen.go b/internal/service/storagegateway/service_endpoint_resolver_gen.go index 53a0721391a2..46fb7e873ce3 100644 --- a/internal/service/storagegateway/service_endpoint_resolver_gen.go +++ b/internal/service/storagegateway/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params storagegateway.E }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up storagegateway endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up storagegateway endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/storagegateway/service_endpoints_gen_test.go b/internal/service/storagegateway/service_endpoints_gen_test.go index 03c531a5ecae..3c3b1783424d 100644 --- a/internal/service/storagegateway/service_endpoints_gen_test.go +++ b/internal/service/storagegateway/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/sts/service_endpoint_resolver_gen.go b/internal/service/sts/service_endpoint_resolver_gen.go index a004a0d5457b..6e2c9c3ea911 100644 --- a/internal/service/sts/service_endpoint_resolver_gen.go +++ b/internal/service/sts/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params sts.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up sts endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up sts endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/sts/service_endpoints_gen_test.go b/internal/service/sts/service_endpoints_gen_test.go index 93831e69cd49..c134e51647b2 100644 --- a/internal/service/sts/service_endpoints_gen_test.go +++ b/internal/service/sts/service_endpoints_gen_test.go @@ -659,7 +659,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/swf/service_endpoint_resolver_gen.go b/internal/service/swf/service_endpoint_resolver_gen.go index 42f649d27d2b..537b2bb7e386 100644 --- a/internal/service/swf/service_endpoint_resolver_gen.go +++ b/internal/service/swf/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params swf.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up swf endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up swf endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/swf/service_endpoints_gen_test.go b/internal/service/swf/service_endpoints_gen_test.go index 72b2922f62a1..f517e5999474 100644 --- a/internal/service/swf/service_endpoints_gen_test.go +++ b/internal/service/swf/service_endpoints_gen_test.go @@ -523,7 +523,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/synthetics/service_endpoint_resolver_gen.go b/internal/service/synthetics/service_endpoint_resolver_gen.go index c9f76544d5c2..c2c5bb5924ea 100644 --- a/internal/service/synthetics/service_endpoint_resolver_gen.go +++ b/internal/service/synthetics/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params synthetics.Endpo }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up synthetics endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up synthetics endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/synthetics/service_endpoints_gen_test.go b/internal/service/synthetics/service_endpoints_gen_test.go index 646cf8a7fe16..a0e57a9d0e04 100644 --- a/internal/service/synthetics/service_endpoints_gen_test.go +++ b/internal/service/synthetics/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/taxsettings/service_endpoint_resolver_gen.go b/internal/service/taxsettings/service_endpoint_resolver_gen.go index ec3e69fc5394..5fd9a8163ea4 100644 --- a/internal/service/taxsettings/service_endpoint_resolver_gen.go +++ b/internal/service/taxsettings/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params taxsettings.Endp }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up taxsettings endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up taxsettings endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/taxsettings/service_endpoints_gen_test.go b/internal/service/taxsettings/service_endpoints_gen_test.go index 08c2bb5380fa..6d858cc22aa7 100644 --- a/internal/service/taxsettings/service_endpoints_gen_test.go +++ b/internal/service/taxsettings/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/timestreaminfluxdb/service_endpoint_resolver_gen.go b/internal/service/timestreaminfluxdb/service_endpoint_resolver_gen.go index 6e6d8616c872..1327183e38bd 100644 --- a/internal/service/timestreaminfluxdb/service_endpoint_resolver_gen.go +++ b/internal/service/timestreaminfluxdb/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params timestreaminflux }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up timestreaminfluxdb endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up timestreaminfluxdb endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/timestreaminfluxdb/service_endpoints_gen_test.go b/internal/service/timestreaminfluxdb/service_endpoints_gen_test.go index a0c0877814a0..c46716b1bb4a 100644 --- a/internal/service/timestreaminfluxdb/service_endpoints_gen_test.go +++ b/internal/service/timestreaminfluxdb/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/timestreamquery/service_endpoint_resolver_gen.go b/internal/service/timestreamquery/service_endpoint_resolver_gen.go index d4a8f7fb7911..0f32b9ea726e 100644 --- a/internal/service/timestreamquery/service_endpoint_resolver_gen.go +++ b/internal/service/timestreamquery/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params timestreamquery. }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up timestreamquery endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up timestreamquery endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/timestreamquery/service_endpoints_gen_test.go b/internal/service/timestreamquery/service_endpoints_gen_test.go index 738c9604a73c..576fffe499a0 100644 --- a/internal/service/timestreamquery/service_endpoints_gen_test.go +++ b/internal/service/timestreamquery/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/timestreamwrite/service_endpoint_resolver_gen.go b/internal/service/timestreamwrite/service_endpoint_resolver_gen.go index 60605316f15d..d84bc7dec4d9 100644 --- a/internal/service/timestreamwrite/service_endpoint_resolver_gen.go +++ b/internal/service/timestreamwrite/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params timestreamwrite. }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up timestreamwrite endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up timestreamwrite endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/transcribe/service_endpoint_resolver_gen.go b/internal/service/transcribe/service_endpoint_resolver_gen.go index 408d39860981..85896a85b311 100644 --- a/internal/service/transcribe/service_endpoint_resolver_gen.go +++ b/internal/service/transcribe/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params transcribe.Endpo }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up transcribe endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up transcribe endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/transcribe/service_endpoints_gen_test.go b/internal/service/transcribe/service_endpoints_gen_test.go index 0458e43a62da..7a267da5b392 100644 --- a/internal/service/transcribe/service_endpoints_gen_test.go +++ b/internal/service/transcribe/service_endpoints_gen_test.go @@ -601,7 +601,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/transfer/service_endpoint_resolver_gen.go b/internal/service/transfer/service_endpoint_resolver_gen.go index 751de739bf94..1c62d9e9b635 100644 --- a/internal/service/transfer/service_endpoint_resolver_gen.go +++ b/internal/service/transfer/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params transfer.Endpoin }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up transfer endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up transfer endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/transfer/service_endpoints_gen_test.go b/internal/service/transfer/service_endpoints_gen_test.go index e703b1c66e00..3e1e214a78e2 100644 --- a/internal/service/transfer/service_endpoints_gen_test.go +++ b/internal/service/transfer/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/verifiedpermissions/service_endpoint_resolver_gen.go b/internal/service/verifiedpermissions/service_endpoint_resolver_gen.go index db962ad42bf1..1c91ab63da98 100644 --- a/internal/service/verifiedpermissions/service_endpoint_resolver_gen.go +++ b/internal/service/verifiedpermissions/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params verifiedpermissi }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up verifiedpermissions endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up verifiedpermissions endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/verifiedpermissions/service_endpoints_gen_test.go b/internal/service/verifiedpermissions/service_endpoints_gen_test.go index 253d24ec3c71..a85465607c9f 100644 --- a/internal/service/verifiedpermissions/service_endpoints_gen_test.go +++ b/internal/service/verifiedpermissions/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/vpclattice/service_endpoint_resolver_gen.go b/internal/service/vpclattice/service_endpoint_resolver_gen.go index 72d43fd38087..74ec0b088651 100644 --- a/internal/service/vpclattice/service_endpoint_resolver_gen.go +++ b/internal/service/vpclattice/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params vpclattice.Endpo }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up vpclattice endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up vpclattice endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/vpclattice/service_endpoints_gen_test.go b/internal/service/vpclattice/service_endpoints_gen_test.go index 43657905d5ef..d0beb9adebbc 100644 --- a/internal/service/vpclattice/service_endpoints_gen_test.go +++ b/internal/service/vpclattice/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/waf/service_endpoint_resolver_gen.go b/internal/service/waf/service_endpoint_resolver_gen.go index 7250bd6d46eb..22327bd30ddf 100644 --- a/internal/service/waf/service_endpoint_resolver_gen.go +++ b/internal/service/waf/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params waf.EndpointPara }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up waf endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up waf endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/waf/service_endpoints_gen_test.go b/internal/service/waf/service_endpoints_gen_test.go index df3f447c06dc..c4e894895926 100644 --- a/internal/service/waf/service_endpoints_gen_test.go +++ b/internal/service/waf/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/wafregional/service_endpoint_resolver_gen.go b/internal/service/wafregional/service_endpoint_resolver_gen.go index 1baaa5ef61c1..e03de5759dc0 100644 --- a/internal/service/wafregional/service_endpoint_resolver_gen.go +++ b/internal/service/wafregional/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params wafregional.Endp }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up wafregional endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up wafregional endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/wafregional/service_endpoints_gen_test.go b/internal/service/wafregional/service_endpoints_gen_test.go index 4d64f5677ae5..c89fa4a35c11 100644 --- a/internal/service/wafregional/service_endpoints_gen_test.go +++ b/internal/service/wafregional/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/wafv2/service_endpoint_resolver_gen.go b/internal/service/wafv2/service_endpoint_resolver_gen.go index bfaf551e2ca8..6228c2e10bf4 100644 --- a/internal/service/wafv2/service_endpoint_resolver_gen.go +++ b/internal/service/wafv2/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params wafv2.EndpointPa }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up wafv2 endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up wafv2 endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/wafv2/service_endpoints_gen_test.go b/internal/service/wafv2/service_endpoints_gen_test.go index ac0a4f95fc9c..7a91683f4fc5 100644 --- a/internal/service/wafv2/service_endpoints_gen_test.go +++ b/internal/service/wafv2/service_endpoints_gen_test.go @@ -524,7 +524,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/wellarchitected/service_endpoint_resolver_gen.go b/internal/service/wellarchitected/service_endpoint_resolver_gen.go index 37d1771b72af..ccce2685f172 100644 --- a/internal/service/wellarchitected/service_endpoint_resolver_gen.go +++ b/internal/service/wellarchitected/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params wellarchitected. }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up wellarchitected endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up wellarchitected endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/wellarchitected/service_endpoints_gen_test.go b/internal/service/wellarchitected/service_endpoints_gen_test.go index b6bd0d8a32a2..7043a627348a 100644 --- a/internal/service/wellarchitected/service_endpoints_gen_test.go +++ b/internal/service/wellarchitected/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/workspaces/service_endpoint_resolver_gen.go b/internal/service/workspaces/service_endpoint_resolver_gen.go index f490c10c28e2..c15acea60cff 100644 --- a/internal/service/workspaces/service_endpoint_resolver_gen.go +++ b/internal/service/workspaces/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params workspaces.Endpo }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up workspaces endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up workspaces endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/workspaces/service_endpoints_gen_test.go b/internal/service/workspaces/service_endpoints_gen_test.go index 09554602d634..75ff50a05311 100644 --- a/internal/service/workspaces/service_endpoints_gen_test.go +++ b/internal/service/workspaces/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/workspacesweb/service_endpoint_resolver_gen.go b/internal/service/workspacesweb/service_endpoint_resolver_gen.go index cdb424937fcc..814afc3d7e90 100644 --- a/internal/service/workspacesweb/service_endpoint_resolver_gen.go +++ b/internal/service/workspacesweb/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params workspacesweb.En }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up workspacesweb endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up workspacesweb endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/workspacesweb/service_endpoints_gen_test.go b/internal/service/workspacesweb/service_endpoints_gen_test.go index 389e3634c1b3..6ffb9506201d 100644 --- a/internal/service/workspacesweb/service_endpoints_gen_test.go +++ b/internal/service/workspacesweb/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { diff --git a/internal/service/xray/service_endpoint_resolver_gen.go b/internal/service/xray/service_endpoint_resolver_gen.go index 5af164b38b69..d4a8fa69db91 100644 --- a/internal/service/xray/service_endpoint_resolver_gen.go +++ b/internal/service/xray/service_endpoint_resolver_gen.go @@ -62,7 +62,7 @@ func (r resolverV2) ResolveEndpoint(ctx context.Context, params xray.EndpointPar }) params.UseFIPS = aws.Bool(false) } else { - err = fmt.Errorf("looking up xray endpoint %q: %s", hostname, err) + err = fmt.Errorf("looking up xray endpoint %q: %w", hostname, err) return } } else { diff --git a/internal/service/xray/service_endpoints_gen_test.go b/internal/service/xray/service_endpoints_gen_test.go index 59ba212a4d31..a2cb72fc6955 100644 --- a/internal/service/xray/service_endpoints_gen_test.go +++ b/internal/service/xray/service_endpoints_gen_test.go @@ -521,7 +521,7 @@ func retrieveRegionMiddleware(region *string) middleware.SerializeMiddleware { ) } -var errCancelOperation = fmt.Errorf("Test: Canceling request") +var errCancelOperation = errors.New("Test: Canceling request") func addCancelRequestMiddleware() func(*middleware.Stack) error { return func(stack *middleware.Stack) error { From 42883f47fb26f5c9e929ceabf0fbd3798412dccb Mon Sep 17 00:00:00 2001 From: changelogbot Date: Wed, 13 Aug 2025 15:50:40 +0000 Subject: [PATCH 1197/1301] Update CHANGELOG.md for #43864 --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fd54bd2cad22..4596a9767a1c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,9 +7,11 @@ FEATURES: ENHANCEMENTS: +* data-source/aws_eks_cluster: Add `deletion_protection` attribute ([#43752](https://github.com/hashicorp/terraform-provider-aws/issues/43752)) * resource/aws_cloudwatch_event_rule: Add resource identity support ([#43758](https://github.com/hashicorp/terraform-provider-aws/issues/43758)) * resource/aws_cloudwatch_metric_alarm: Add resource identity support ([#43759](https://github.com/hashicorp/terraform-provider-aws/issues/43759)) * resource/aws_dynamodb_table: Add `replica.deletion_protection_enabled` argument ([#43240](https://github.com/hashicorp/terraform-provider-aws/issues/43240)) +* resource/aws_eks_cluster: Add `deletion_protection` argument ([#43752](https://github.com/hashicorp/terraform-provider-aws/issues/43752)) * resource/aws_lambda_function: Add resource identity support ([#43821](https://github.com/hashicorp/terraform-provider-aws/issues/43821)) * resource/aws_sns_topic_data_protection_policy: Add resource identity support ([#43830](https://github.com/hashicorp/terraform-provider-aws/issues/43830)) * resource/aws_sns_topic_policy: Add resource identity support ([#43830](https://github.com/hashicorp/terraform-provider-aws/issues/43830)) From 39879f9d83321ec08c59552a747e7115a8108f2a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 13 Aug 2025 11:57:49 -0400 Subject: [PATCH 1198/1301] Consolidate 'testAccServiceConfig_availabilityZoneRebalancing_nullUpdate' into 'testAccServiceConfig_availabilityZoneRebalancing'. --- internal/service/ecs/service_test.go | 105 +++++++++++++++------------ 1 file changed, 60 insertions(+), 45 deletions(-) diff --git a/internal/service/ecs/service_test.go b/internal/service/ecs/service_test.go index 1ab0e83b1f2b..30f3284cddb3 100644 --- a/internal/service/ecs/service_test.go +++ b/internal/service/ecs/service_test.go @@ -7,6 +7,7 @@ import ( "context" "fmt" "math" + "strconv" "testing" "time" @@ -155,11 +156,11 @@ func TestAccECSService_basic(t *testing.T) { testAccCheckServiceExists(ctx, resourceName, &service), resource.TestCheckResourceAttr(resourceName, "alarms.#", "0"), acctest.CheckResourceAttrRegionalARN(ctx, resourceName, names.AttrARN, "ecs", fmt.Sprintf("service/%s/%s", clusterName, rName)), + resource.TestCheckResourceAttr(resourceName, "availability_zone_rebalancing", "ENABLED"), resource.TestCheckResourceAttrPair(resourceName, "cluster", "aws_ecs_cluster.test", names.AttrARN), resource.TestCheckResourceAttr(resourceName, "service_registries.#", "0"), resource.TestCheckResourceAttr(resourceName, "scheduling_strategy", "REPLICA"), resource.TestCheckResourceAttrPair(resourceName, "task_definition", "aws_ecs_task_definition.test", names.AttrARN), - resource.TestCheckResourceAttr(resourceName, "availability_zone_rebalancing", "ENABLED"), resource.TestCheckResourceAttr(resourceName, "vpc_lattice_configuration.#", "0"), ), ConfigPlanChecks: resource.ConfigPlanChecks{ @@ -184,9 +185,9 @@ func TestAccECSService_basic(t *testing.T) { testAccCheckServiceExists(ctx, resourceName, &service), resource.TestCheckResourceAttr(resourceName, "alarms.#", "0"), acctest.CheckResourceAttrRegionalARN(ctx, resourceName, names.AttrARN, "ecs", fmt.Sprintf("service/%s/%s", clusterName, rName)), + resource.TestCheckResourceAttr(resourceName, "availability_zone_rebalancing", "ENABLED"), resource.TestCheckResourceAttr(resourceName, "service_registries.#", "0"), resource.TestCheckResourceAttr(resourceName, "scheduling_strategy", "REPLICA"), - resource.TestCheckResourceAttr(resourceName, "availability_zone_rebalancing", "ENABLED"), resource.TestCheckResourceAttr(resourceName, "vpc_lattice_configuration.#", "0"), ), ConfigPlanChecks: resource.ConfigPlanChecks{ @@ -2545,39 +2546,74 @@ func TestAccECSService_AvailabilityZoneRebalancing(t *testing.T) { CheckDestroy: testAccCheckServiceDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccServiceConfig_availabilityZoneRebalancing(rName, "ENABLED"), + Config: testAccServiceConfig_availabilityZoneRebalancing(rName, awstypes.AvailabilityZoneRebalancingEnabled), Check: resource.ComposeTestCheckFunc( testAccCheckServiceExists(ctx, resourceName, &service), - resource.TestCheckResourceAttr(resourceName, "availability_zone_rebalancing", string(awstypes.AvailabilityZoneRebalancingEnabled)), ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("availability_zone_rebalancing"), tfknownvalue.StringExact(awstypes.AvailabilityZoneRebalancingEnabled)), + }, }, { - Config: testAccServiceConfig_availabilityZoneRebalancing_nullUpdate(rName), + Config: testAccServiceConfig_availabilityZoneRebalancing(rName, "null"), Check: resource.ComposeTestCheckFunc( testAccCheckServiceExists(ctx, resourceName, &service), - resource.TestCheckResourceAttr(resourceName, "availability_zone_rebalancing", string(awstypes.AvailabilityZoneRebalancingEnabled)), ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("availability_zone_rebalancing"), tfknownvalue.StringExact(awstypes.AvailabilityZoneRebalancingEnabled)), + }, }, { - Config: testAccServiceConfig_availabilityZoneRebalancing(rName, "DISABLED"), + Config: testAccServiceConfig_availabilityZoneRebalancing(rName, awstypes.AvailabilityZoneRebalancingDisabled), Check: resource.ComposeTestCheckFunc( testAccCheckServiceExists(ctx, resourceName, &service), - resource.TestCheckResourceAttr(resourceName, "availability_zone_rebalancing", string(awstypes.AvailabilityZoneRebalancingDisabled)), ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("availability_zone_rebalancing"), tfknownvalue.StringExact(awstypes.AvailabilityZoneRebalancingDisabled)), + }, }, { - Config: testAccServiceConfig_availabilityZoneRebalancing_nullUpdate(rName), + Config: testAccServiceConfig_availabilityZoneRebalancing(rName, "null"), Check: resource.ComposeTestCheckFunc( testAccCheckServiceExists(ctx, resourceName, &service), - resource.TestCheckResourceAttr(resourceName, "availability_zone_rebalancing", string(awstypes.AvailabilityZoneRebalancingDisabled)), ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("availability_zone_rebalancing"), tfknownvalue.StringExact(awstypes.AvailabilityZoneRebalancingDisabled)), + }, }, { - Config: testAccServiceConfig_availabilityZoneRebalancing(rName, "ENABLED"), + Config: testAccServiceConfig_availabilityZoneRebalancing(rName, awstypes.AvailabilityZoneRebalancingEnabled), Check: resource.ComposeTestCheckFunc( testAccCheckServiceExists(ctx, resourceName, &service), - resource.TestCheckResourceAttr(resourceName, "availability_zone_rebalancing", string(awstypes.AvailabilityZoneRebalancingEnabled)), ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("availability_zone_rebalancing"), tfknownvalue.StringExact(awstypes.AvailabilityZoneRebalancingEnabled)), + }, }, }, }) @@ -4231,6 +4267,7 @@ resource "aws_ecs_service" "test" { force_new_deployment = true name = %[1]q task_definition = aws_ecs_task_definition.test.arn + availability_zone_rebalancing = "DISABLED" ordered_placement_strategy { @@ -4309,6 +4346,7 @@ resource "aws_ecs_service" "test" { cluster = aws_ecs_cluster.test.id task_definition = aws_ecs_task_definition.test.arn desired_count = 1 + availability_zone_rebalancing = "DISABLED" ordered_placement_strategy { @@ -4381,6 +4419,7 @@ resource "aws_ecs_service" "test" { cluster = aws_ecs_cluster.test.id task_definition = aws_ecs_task_definition.test.arn desired_count = 1 + availability_zone_rebalancing = "DISABLED" ordered_placement_strategy { @@ -4417,6 +4456,7 @@ resource "aws_ecs_service" "test" { cluster = aws_ecs_cluster.test.id task_definition = aws_ecs_task_definition.test.arn desired_count = 1 + availability_zone_rebalancing = "DISABLED" ordered_placement_strategy { @@ -7253,7 +7293,12 @@ resource "aws_ecs_service" "test" { `, rName) } -func testAccServiceConfig_availabilityZoneRebalancing(rName string, serviceRebalancing string) string { +func testAccServiceConfig_availabilityZoneRebalancing(rName string, azRebalancing awstypes.AvailabilityZoneRebalancing) string { + val := string(azRebalancing) + if val != "null" { + val = strconv.Quote(val) + } + return fmt.Sprintf(` resource "aws_ecs_cluster" "test" { name = %[1]q @@ -7279,37 +7324,7 @@ resource "aws_ecs_service" "test" { name = %[1]q cluster = aws_ecs_cluster.test.id task_definition = aws_ecs_task_definition.test.arn - availability_zone_rebalancing = %[2]q -} - `, rName, serviceRebalancing) -} - -func testAccServiceConfig_availabilityZoneRebalancing_nullUpdate(rName string) string { - return fmt.Sprintf(` -resource "aws_ecs_cluster" "test" { - name = %[1]q -} - -resource "aws_ecs_task_definition" "test" { - family = %[1]q - - container_definitions = < Date: Wed, 13 Aug 2025 12:02:49 -0400 Subject: [PATCH 1199/1301] Acceptance test output: % make testacc TESTARGS='-run=TestAccECSService_AvailabilityZoneRebalancing' PKG=ecs make: Verifying source code with gofmt... ==> Checking that code complies with gofmt requirements... TF_ACC=1 go1.24.6 test ./internal/service/ecs/... -v -count 1 -parallel 20 -run=TestAccECSService_AvailabilityZoneRebalancing -timeout 360m -vet=off 2025/08/13 11:58:09 Creating Terraform AWS Provider (SDKv2-style)... 2025/08/13 11:58:09 Initializing Terraform AWS Provider (SDKv2-style)... === RUN TestAccECSService_AvailabilityZoneRebalancing === PAUSE TestAccECSService_AvailabilityZoneRebalancing === CONT TestAccECSService_AvailabilityZoneRebalancing --- PASS: TestAccECSService_AvailabilityZoneRebalancing (88.08s) PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/ecs 93.412s From 608268da5af974433b28bd64eb07b0e2eaa641b7 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 13 Aug 2025 12:09:40 -0400 Subject: [PATCH 1200/1301] Add 'TestAccECSService_AvailabilityZoneRebalancing_UpgradeV6_8_0_configured'. --- internal/service/ecs/service_test.go | 53 ++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/internal/service/ecs/service_test.go b/internal/service/ecs/service_test.go index 30f3284cddb3..19f3993616d9 100644 --- a/internal/service/ecs/service_test.go +++ b/internal/service/ecs/service_test.go @@ -2619,6 +2619,59 @@ func TestAccECSService_AvailabilityZoneRebalancing(t *testing.T) { }) } +func TestAccECSService_AvailabilityZoneRebalancing_UpgradeV6_8_0_configured(t *testing.T) { + ctx := acctest.Context(t) + var service awstypes.Service + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_ecs_service.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.ECSServiceID), + CheckDestroy: testAccCheckServiceDestroy(ctx), + Steps: []resource.TestStep{ + { + ExternalProviders: map[string]resource.ExternalProvider{ + "aws": { + Source: "hashicorp/aws", + VersionConstraint: "6.8.0", + }, + }, + Config: testAccServiceConfig_availabilityZoneRebalancing(rName, awstypes.AvailabilityZoneRebalancingEnabled), + Check: resource.ComposeTestCheckFunc( + testAccCheckServiceExists(ctx, resourceName, &service), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("availability_zone_rebalancing"), tfknownvalue.StringExact(awstypes.AvailabilityZoneRebalancingEnabled)), + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Config: testAccServiceConfig_availabilityZoneRebalancing(rName, awstypes.AvailabilityZoneRebalancingEnabled), + Check: resource.ComposeTestCheckFunc( + testAccCheckServiceExists(ctx, resourceName, &service), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("availability_zone_rebalancing"), tfknownvalue.StringExact(awstypes.AvailabilityZoneRebalancingEnabled)), + }, + }, + }, + }) +} + func testAccCheckServiceDestroy(ctx context.Context) resource.TestCheckFunc { return func(s *terraform.State) error { conn := acctest.Provider.Meta().(*conns.AWSClient).ECSClient(ctx) From e2c4f834be911566a1c59f606fbe0fa436cbc50b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 13 Aug 2025 12:10:24 -0400 Subject: [PATCH 1201/1301] Acceptance test output: % make testacc TESTARGS='-run=TestAccECSService_AvailabilityZoneRebalancing_UpgradeV6_8_0_configured' PKG=ecs make: Verifying source code with gofmt... ==> Checking that code complies with gofmt requirements... TF_ACC=1 go1.24.6 test ./internal/service/ecs/... -v -count 1 -parallel 20 -run=TestAccECSService_AvailabilityZoneRebalancing_UpgradeV6_8_0_configured -timeout 360m -vet=off 2025/08/13 12:07:48 Creating Terraform AWS Provider (SDKv2-style)... 2025/08/13 12:07:48 Initializing Terraform AWS Provider (SDKv2-style)... === RUN TestAccECSService_AvailabilityZoneRebalancing_UpgradeV6_8_0_configured === PAUSE TestAccECSService_AvailabilityZoneRebalancing_UpgradeV6_8_0_configured === CONT TestAccECSService_AvailabilityZoneRebalancing_UpgradeV6_8_0_configured --- PASS: TestAccECSService_AvailabilityZoneRebalancing_UpgradeV6_8_0_configured (79.68s) PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/ecs 84.983s From e02ce987cc1f1976faa158df1b3166912da8a79a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 13 Aug 2025 12:16:04 -0400 Subject: [PATCH 1202/1301] Add 'TestAccECSService_AvailabilityZoneRebalancing_UpgradeV6_8_0_unconfigured'. --- internal/service/ecs/service_test.go | 53 ++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/internal/service/ecs/service_test.go b/internal/service/ecs/service_test.go index 19f3993616d9..354b3c00f6b2 100644 --- a/internal/service/ecs/service_test.go +++ b/internal/service/ecs/service_test.go @@ -2672,6 +2672,59 @@ func TestAccECSService_AvailabilityZoneRebalancing_UpgradeV6_8_0_configured(t *t }) } +func TestAccECSService_AvailabilityZoneRebalancing_UpgradeV6_8_0_unconfigured(t *testing.T) { + ctx := acctest.Context(t) + var service awstypes.Service + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_ecs_service.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.ECSServiceID), + CheckDestroy: testAccCheckServiceDestroy(ctx), + Steps: []resource.TestStep{ + { + ExternalProviders: map[string]resource.ExternalProvider{ + "aws": { + Source: "hashicorp/aws", + VersionConstraint: "6.8.0", + }, + }, + Config: testAccServiceConfig_availabilityZoneRebalancing(rName, "null"), + Check: resource.ComposeTestCheckFunc( + testAccCheckServiceExists(ctx, resourceName, &service), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("availability_zone_rebalancing"), tfknownvalue.StringExact(awstypes.AvailabilityZoneRebalancingDisabled)), + }, + }, + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Config: testAccServiceConfig_availabilityZoneRebalancing(rName, "null"), + Check: resource.ComposeTestCheckFunc( + testAccCheckServiceExists(ctx, resourceName, &service), + ), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("availability_zone_rebalancing"), tfknownvalue.StringExact(awstypes.AvailabilityZoneRebalancingDisabled)), + }, + }, + }, + }) +} + func testAccCheckServiceDestroy(ctx context.Context) resource.TestCheckFunc { return func(s *terraform.State) error { conn := acctest.Provider.Meta().(*conns.AWSClient).ECSClient(ctx) From 43518f68c9730e5365d5ff2bbe19c0bed439dfef Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 13 Aug 2025 12:16:17 -0400 Subject: [PATCH 1203/1301] Acceptance test output: % make testacc TESTARGS='-run=TestAccECSService_AvailabilityZoneRebalancing_UpgradeV6_8_0_unconfigured' PKG=ecs make: Verifying source code with gofmt... ==> Checking that code complies with gofmt requirements... TF_ACC=1 go1.24.6 test ./internal/service/ecs/... -v -count 1 -parallel 20 -run=TestAccECSService_AvailabilityZoneRebalancing_UpgradeV6_8_0_unconfigured -timeout 360m -vet=off 2025/08/13 12:12:58 Creating Terraform AWS Provider (SDKv2-style)... 2025/08/13 12:12:58 Initializing Terraform AWS Provider (SDKv2-style)... === RUN TestAccECSService_AvailabilityZoneRebalancing_UpgradeV6_8_0_unconfigured === PAUSE TestAccECSService_AvailabilityZoneRebalancing_UpgradeV6_8_0_unconfigured === CONT TestAccECSService_AvailabilityZoneRebalancing_UpgradeV6_8_0_unconfigured --- PASS: TestAccECSService_AvailabilityZoneRebalancing_UpgradeV6_8_0_unconfigured (78.29s) PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/ecs 83.542s From 8bde6a2af6760bc948d51af91944217e525f9f2f Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 13 Aug 2025 12:23:29 -0400 Subject: [PATCH 1204/1301] r/aws_ecs_service: Change `availability_zone_rebalancing` to Optional and Computed. --- internal/service/ecs/service.go | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/internal/service/ecs/service.go b/internal/service/ecs/service.go index c7a96d606f19..ee1ee7648bd8 100644 --- a/internal/service/ecs/service.go +++ b/internal/service/ecs/service.go @@ -560,15 +560,9 @@ func resourceService() *schema.Resource { Computed: true, }, "availability_zone_rebalancing": { - Type: schema.TypeString, - Optional: true, - DiffSuppressFunc: func(k, old, new string, d *schema.ResourceData) bool { - // Suppress diff if resource already exists (update) and the new value is empty - if d.Id() != "" && new == "" { - return true - } - return false - }, + Type: schema.TypeString, + Optional: true, + Computed: true, ValidateDiagFunc: enum.Validate[awstypes.AvailabilityZoneRebalancing](), }, names.AttrCapacityProviderStrategy: { From 7aa482bacb126e9560de29d9a1111f32737a491d Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 13 Aug 2025 12:29:26 -0400 Subject: [PATCH 1205/1301] Tweak CHANGELOG entry. --- .changelog/43241.txt | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.changelog/43241.txt b/.changelog/43241.txt index 49e823935748..1ba6a967d21e 100644 --- a/.changelog/43241.txt +++ b/.changelog/43241.txt @@ -1,6 +1,3 @@ ```release-note:enhancement -resource/aws_ecs_service: Remove Terraform default for `availability_zone_rebalancing` to allow ECS to default to `ENABLED` -for new resources compatible with AvailabilityZoneRebalancing and maintain existing service's AvailabilityZoneRebalancing value -during updates when not specified. If an existing service never had an AvailabilityZoneRebalancing value set and is updated, ECS -will treat this as `DISABLED`. +resource/aws_ecs_service: Remove Terraform default for `availability_zone_rebalancing` and change the attribute to Optional and Computed. This allow ECS to default to `ENABLED` for new resources compatible with *AvailabilityZoneRebalancing* and maintain an existing service's `availability_zone_rebalancing` value during update when not configured. If an existing service never had an `availability_zone_rebalancing` value configured and is updated, ECS will treat this as `DISABLED` ``` \ No newline at end of file From f4d18b0968a1f8ddceba77b4cc0fdf58bdd22c4d Mon Sep 17 00:00:00 2001 From: Daniel Flores Date: Wed, 13 Aug 2025 17:34:28 +0000 Subject: [PATCH 1206/1301] Fix Out-of-Band changes to service_connect_configuration dont cause drift --- internal/service/ecs/service.go | 2 + internal/service/ecs/service_test.go | 58 +++++++++++++++++++++++++++- 2 files changed, 59 insertions(+), 1 deletion(-) diff --git a/internal/service/ecs/service.go b/internal/service/ecs/service.go index ed3c97dae318..c06af102cb8c 100644 --- a/internal/service/ecs/service.go +++ b/internal/service/ecs/service.go @@ -1556,6 +1556,8 @@ func resourceServiceRead(ctx context.Context, d *schema.ResourceData, meta any) if err := d.Set("service_connect_configuration", flattenServiceConnectConfiguration(v)); err != nil { return sdkdiag.AppendErrorf(diags, "setting service_connect_configuration: %s", err) } + } else { + d.Set("service_connect_configuration", nil) } if v := deployment.VolumeConfigurations; len(v) > 0 { if err := d.Set("volume_configuration", flattenServiceVolumeConfigurations(ctx, v)); err != nil { diff --git a/internal/service/ecs/service_test.go b/internal/service/ecs/service_test.go index 4105c8d7c3a8..98f643708188 100644 --- a/internal/service/ecs/service_test.go +++ b/internal/service/ecs/service_test.go @@ -12,6 +12,7 @@ import ( "github.com/YakDriver/regexache" "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/service/ecs" awstypes "github.com/aws/aws-sdk-go-v2/service/ecs/types" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" "github.com/hashicorp/terraform-plugin-testing/compare" @@ -2260,6 +2261,37 @@ func TestAccECSService_ServiceConnect_remove(t *testing.T) { }) } +// Regression for https://github.com/hashicorp/terraform-provider-aws/issues/42818 +func TestAccECSService_ServiceConnect_outOfBandRemoval(t *testing.T) { + ctx := acctest.Context(t) + var service awstypes.Service + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_ecs_service.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.ECSServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + Config: testAccServiceConfig_serviceConnectBasic(rName), + Check: resource.ComposeTestCheckFunc( + testAccCheckServiceExists(ctx, resourceName, &service), + testAccCheckServiceDisableServiceConnect(ctx, &service), + ), + ExpectNonEmptyPlan: true, + }, + { + Config: testAccServiceConfig_serviceConnectBasic(rName), + Check: resource.ComposeTestCheckFunc( + testAccCheckServiceExists(ctx, resourceName, &service), + resource.TestCheckResourceAttr(resourceName, "service_connect_configuration.0.enabled", acctest.CtTrue), + ), + }, + }, + }) +} + func TestAccECSService_Tags_basic(t *testing.T) { ctx := acctest.Context(t) var service awstypes.Service @@ -2485,9 +2517,10 @@ func testAccCheckServiceExists(ctx context.Context, name string, service *awstyp conn := acctest.Provider.Meta().(*conns.AWSClient).ECSClient(ctx) + var output *awstypes.Service err := retry.RetryContext(ctx, 1*time.Minute, func() *retry.RetryError { var err error - service, err = tfecs.FindServiceNoTagsByTwoPartKey(ctx, conn, rs.Primary.ID, rs.Primary.Attributes["cluster"]) + output, err = tfecs.FindServiceNoTagsByTwoPartKey(ctx, conn, rs.Primary.ID, rs.Primary.Attributes["cluster"]) if tfresource.NotFound(err) { return retry.RetryableError(err) @@ -2500,6 +2533,29 @@ func testAccCheckServiceExists(ctx context.Context, name string, service *awstyp return nil }) + if err != nil { + return err + } + + *service = *output + + return nil + } +} + +func testAccCheckServiceDisableServiceConnect(ctx context.Context, service *awstypes.Service) resource.TestCheckFunc { + return func(s *terraform.State) error { + conn := acctest.Provider.Meta().(*conns.AWSClient).ECSClient(ctx) + + input := &ecs.UpdateServiceInput{ + Cluster: service.ClusterArn, + Service: service.ServiceName, + ServiceConnectConfiguration: &awstypes.ServiceConnectConfiguration{ + Enabled: false, + }, + } + + _, err := conn.UpdateService(ctx, input) return err } } From 79bba2d25987e33a89d8533feb7a830091d5c6b8 Mon Sep 17 00:00:00 2001 From: Daniel Flores Date: Wed, 13 Aug 2025 17:57:46 +0000 Subject: [PATCH 1207/1301] Add changelog --- .changelog/43871.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/43871.txt diff --git a/.changelog/43871.txt b/.changelog/43871.txt new file mode 100644 index 000000000000..b88144567b24 --- /dev/null +++ b/.changelog/43871.txt @@ -0,0 +1,3 @@ +```release-note:bug +resource/aws_ecs_service: Out-of-Band changes to `service_connect_configuration` are now detected in `terraform plan` +``` \ No newline at end of file From 216376707094c523320c875c820319e592b789cf Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 13 Aug 2025 14:50:19 -0400 Subject: [PATCH 1208/1301] Add 'findTableEncryptionByThreePartKey'. --- .changelog/43764.txt | 2 +- internal/service/s3tables/exports_test.go | 10 +- internal/service/s3tables/table.go | 545 ++++++++++++---------- internal/service/s3tables/table_test.go | 29 +- 4 files changed, 308 insertions(+), 278 deletions(-) diff --git a/.changelog/43764.txt b/.changelog/43764.txt index 0ecddc5db22d..e0627ad4ecf7 100644 --- a/.changelog/43764.txt +++ b/.changelog/43764.txt @@ -1,3 +1,3 @@ ```release-note:bug -resource/aws_s3tables_table: Fix crash on `maintenance_configuration` read failure +resource/aws_s3tables_table: Fix `runtime error: invalid memory address or nil pointer dereference` panics when `GetTableMaintenanceConfiguration` returns an error ``` \ No newline at end of file diff --git a/internal/service/s3tables/exports_test.go b/internal/service/s3tables/exports_test.go index d50b5c17dc29..44ea3e7acf15 100644 --- a/internal/service/s3tables/exports_test.go +++ b/internal/service/s3tables/exports_test.go @@ -10,11 +10,11 @@ var ( NewResourceTableBucketPolicy = newTableBucketPolicyResource ResourceTablePolicy = newTablePolicyResource - FindNamespace = findNamespace - FindTable = findTable - FindTableBucket = findTableBucket - FindTableBucketPolicy = findTableBucketPolicy - FindTablePolicy = findTablePolicy + FindNamespace = findNamespace + FindTableByThreePartKey = findTableByThreePartKey + FindTableBucket = findTableBucket + FindTableBucketPolicy = findTableBucketPolicy + FindTablePolicy = findTablePolicy TableIDFromTableARN = tableIDFromTableARN ) diff --git a/internal/service/s3tables/table.go b/internal/service/s3tables/table.go index b8b1cb7af580..a48b29cbe760 100644 --- a/internal/service/s3tables/table.go +++ b/internal/service/s3tables/table.go @@ -31,10 +31,10 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-plugin-log/tflog" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/retry" - "github.com/hashicorp/terraform-provider-aws/internal/create" "github.com/hashicorp/terraform-provider-aws/internal/errs" + "github.com/hashicorp/terraform-provider-aws/internal/errs/fwdiag" "github.com/hashicorp/terraform-provider-aws/internal/framework" - "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" + fwflex "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" fwtypes "github.com/hashicorp/terraform-provider-aws/internal/framework/types" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/names" @@ -45,16 +45,12 @@ func newTableResource(_ context.Context) (resource.ResourceWithConfigure, error) return &tableResource{}, nil } -const ( - ResNameTable = "Table" -) - type tableResource struct { framework.ResourceWithModel[tableResourceModel] } -func (r *tableResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) { - resp.Schema = schema.Schema{ +func (r *tableResource) Schema(ctx context.Context, request resource.SchemaRequest, response *resource.SchemaResponse) { + response.Schema = schema.Schema{ Attributes: map[string]schema.Attribute{ names.AttrARN: framework.ARNAttributeComputedOnly(), names.AttrCreatedAt: schema.StringAttribute{ @@ -235,398 +231,393 @@ func (r *tableResource) Schema(ctx context.Context, req resource.SchemaRequest, } } -func (r *tableResource) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse) { - conn := r.Meta().S3TablesClient(ctx) - - var plan tableResourceModel - resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) - if resp.Diagnostics.HasError() { +func (r *tableResource) Create(ctx context.Context, request resource.CreateRequest, response *resource.CreateResponse) { + var data tableResourceModel + response.Diagnostics.Append(request.Plan.Get(ctx, &data)...) + if response.Diagnostics.HasError() { return } + conn := r.Meta().S3TablesClient(ctx) + + name, namespace, tableBucketARN := fwflex.StringValueFromFramework(ctx, data.Name), fwflex.StringValueFromFramework(ctx, data.Namespace), fwflex.StringValueFromFramework(ctx, data.TableBucketARN) var input s3tables.CreateTableInput - resp.Diagnostics.Append(flex.Expand(ctx, plan, &input)...) - if resp.Diagnostics.HasError() { + response.Diagnostics.Append(fwflex.Expand(ctx, data, &input)...) + if response.Diagnostics.HasError() { return } - // Handle metadata separately since it's an interface type - if !plan.Metadata.IsNull() && !plan.Metadata.IsUnknown() { - metadataModel, d := plan.Metadata.ToPtr(ctx) - resp.Diagnostics.Append(d...) - if resp.Diagnostics.HasError() { + // Handle metadata separately since it's an interface type. + if !data.Metadata.IsNull() && !data.Metadata.IsUnknown() { + metadataModel, diags := data.Metadata.ToPtr(ctx) + response.Diagnostics.Append(diags...) + if response.Diagnostics.HasError() { return } - resp.Diagnostics.Append(flex.Expand(ctx, metadataModel, &input.Metadata)...) - if resp.Diagnostics.HasError() { + response.Diagnostics.Append(fwflex.Expand(ctx, metadataModel, &input.Metadata)...) + if response.Diagnostics.HasError() { return } } _, err := conn.CreateTable(ctx, &input) + if err != nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.S3Tables, create.ErrActionCreating, ResNameTable, plan.Name.String(), err), - err.Error(), - ) + response.Diagnostics.AddError(fmt.Sprintf("creating S3 Tables Table (%s)", name), err.Error()) + return } - if !plan.MaintenanceConfiguration.IsUnknown() && !plan.MaintenanceConfiguration.IsNull() { - mc, d := plan.MaintenanceConfiguration.ToPtr(ctx) - resp.Diagnostics.Append(d...) - if resp.Diagnostics.HasError() { + if !data.MaintenanceConfiguration.IsUnknown() && !data.MaintenanceConfiguration.IsNull() { + mc, diags := data.MaintenanceConfiguration.ToPtr(ctx) + response.Diagnostics.Append(diags...) + if response.Diagnostics.HasError() { return } if !mc.IcebergCompaction.IsNull() { + typ := awstypes.TableMaintenanceTypeIcebergCompaction input := s3tables.PutTableMaintenanceConfigurationInput{ - Name: plan.Name.ValueStringPointer(), - Namespace: plan.Namespace.ValueStringPointer(), - TableBucketARN: plan.TableBucketARN.ValueStringPointer(), - Type: awstypes.TableMaintenanceTypeIcebergCompaction, + Name: aws.String(name), + Namespace: aws.String(namespace), + TableBucketARN: aws.String(tableBucketARN), + Type: typ, } - value, d := expandTableMaintenanceIcebergCompaction(ctx, mc.IcebergCompaction) - resp.Diagnostics.Append(d...) - if resp.Diagnostics.HasError() { + value, diags := expandTableMaintenanceIcebergCompaction(ctx, mc.IcebergCompaction) + response.Diagnostics.Append(diags...) + if response.Diagnostics.HasError() { return } input.Value = &value _, err := conn.PutTableMaintenanceConfiguration(ctx, &input) + if err != nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.S3Tables, create.ErrActionCreating, resNameTableBucket, plan.Name.String(), err), - err.Error(), - ) + response.Diagnostics.AddError(fmt.Sprintf("putting S3 Tables Table (%s) maintenance configuration (%s)", name, typ), err.Error()) + return } } if !mc.IcebergSnapshotManagement.IsNull() { + typ := awstypes.TableMaintenanceTypeIcebergSnapshotManagement input := s3tables.PutTableMaintenanceConfigurationInput{ - Name: plan.Name.ValueStringPointer(), - Namespace: plan.Namespace.ValueStringPointer(), - TableBucketARN: plan.TableBucketARN.ValueStringPointer(), - Type: awstypes.TableMaintenanceTypeIcebergSnapshotManagement, + Name: aws.String(name), + Namespace: aws.String(namespace), + TableBucketARN: aws.String(tableBucketARN), + Type: typ, } - value, d := expandTableMaintenanceIcebergSnapshotManagement(ctx, mc.IcebergSnapshotManagement) - resp.Diagnostics.Append(d...) - if resp.Diagnostics.HasError() { + value, diags := expandTableMaintenanceIcebergSnapshotManagement(ctx, mc.IcebergSnapshotManagement) + response.Diagnostics.Append(diags...) + if response.Diagnostics.HasError() { return } input.Value = &value _, err := conn.PutTableMaintenanceConfiguration(ctx, &input) + if err != nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.S3Tables, create.ErrActionCreating, resNameTableBucket, plan.Name.String(), err), - err.Error(), - ) + response.Diagnostics.AddError(fmt.Sprintf("putting S3 Tables Table (%s) maintenance configuration (%s)", name, typ), err.Error()) + return } } } - table, err := findTable(ctx, conn, plan.TableBucketARN.ValueString(), plan.Namespace.ValueString(), plan.Name.ValueString()) + outputGT, err := findTableByThreePartKey(ctx, conn, tableBucketARN, namespace, name) + if err != nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.S3Tables, create.ErrActionCreating, ResNameTable, plan.Name.String(), err), - err.Error(), - ) + response.Diagnostics.AddError(fmt.Sprintf("reading S3 Tables Table (%s)", name), err.Error()) + return } - resp.Diagnostics.Append(flex.Flatten(ctx, table, &plan, flex.WithFieldNamePrefix("Table"))...) - if resp.Diagnostics.HasError() { + response.Diagnostics.Append(fwflex.Flatten(ctx, outputGT, &data, fwflex.WithFieldNamePrefix("Table"))...) + if response.Diagnostics.HasError() { return } - plan.Namespace = types.StringValue(table.Namespace[0]) + data.Namespace = types.StringValue(outputGT.Namespace[0]) + + outputGTMC, err := findTableMaintenanceConfigurationByThreePartKey(ctx, conn, tableBucketARN, namespace, name) - awsMaintenanceConfig, err := findTableMaintenanceConfiguration(ctx, conn, plan.Name.ValueString(), plan.Namespace.ValueString(), plan.TableBucketARN.ValueString()) switch { case tfresource.NotFound(err): case err != nil: - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.S3Tables, create.ErrActionCreating, resNameTableBucket, plan.Name.String(), err), - err.Error(), - ) + response.Diagnostics.AddError(fmt.Sprintf("reading S3 Tables Table (%s) maintenance configuration", name), err.Error()) + return default: - maintenanceConfiguration, d := flattenTableMaintenanceConfiguration(ctx, awsMaintenanceConfig) - resp.Diagnostics.Append(d...) - if resp.Diagnostics.HasError() { + value, diags := flattenTableMaintenanceConfiguration(ctx, outputGTMC) + response.Diagnostics.Append(diags...) + if response.Diagnostics.HasError() { return } - plan.MaintenanceConfiguration = maintenanceConfiguration + data.MaintenanceConfiguration = value } - awsEncryptionConfig, err := conn.GetTableEncryption(ctx, &s3tables.GetTableEncryptionInput{ - Name: plan.Name.ValueStringPointer(), - Namespace: plan.Namespace.ValueStringPointer(), - TableBucketARN: plan.TableBucketARN.ValueStringPointer(), - }) + outputGTE, err := findTableEncryptionByThreePartKey(ctx, conn, tableBucketARN, namespace, name) + switch { - case errs.IsA[*awstypes.NotFoundException](err): + case tfresource.NotFound(err): case err != nil: - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.S3Tables, create.ErrActionReading, resNameTableBucket, plan.Name.String(), err), - err.Error(), - ) + response.Diagnostics.AddError(fmt.Sprintf("reading S3 Tables Table (%s) encryption", name), err.Error()) + + return default: var encryptionConfiguration encryptionConfigurationModel - resp.Diagnostics.Append(flex.Flatten(ctx, awsEncryptionConfig.EncryptionConfiguration, &encryptionConfiguration)...) - if resp.Diagnostics.HasError() { + response.Diagnostics.Append(fwflex.Flatten(ctx, outputGTE.EncryptionConfiguration, &encryptionConfiguration)...) + if response.Diagnostics.HasError() { return } - var d diag.Diagnostics - plan.EncryptionConfiguration, d = fwtypes.NewObjectValueOf(ctx, &encryptionConfiguration) - resp.Diagnostics.Append(d...) - if resp.Diagnostics.HasError() { + var diags diag.Diagnostics + data.EncryptionConfiguration, diags = fwtypes.NewObjectValueOf(ctx, &encryptionConfiguration) + response.Diagnostics.Append(diags...) + if response.Diagnostics.HasError() { return } } - resp.Diagnostics.Append(resp.State.Set(ctx, plan)...) + response.Diagnostics.Append(response.State.Set(ctx, data)...) } -func (r *tableResource) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) { - conn := r.Meta().S3TablesClient(ctx) - - var state tableResourceModel - resp.Diagnostics.Append(req.State.Get(ctx, &state)...) - if resp.Diagnostics.HasError() { +func (r *tableResource) Read(ctx context.Context, request resource.ReadRequest, response *resource.ReadResponse) { + var data tableResourceModel + response.Diagnostics.Append(request.State.Get(ctx, &data)...) + if response.Diagnostics.HasError() { return } - out, err := findTable(ctx, conn, state.TableBucketARN.ValueString(), state.Namespace.ValueString(), state.Name.ValueString()) + conn := r.Meta().S3TablesClient(ctx) + + name, namespace, tableBucketARN := fwflex.StringValueFromFramework(ctx, data.Name), fwflex.StringValueFromFramework(ctx, data.Namespace), fwflex.StringValueFromFramework(ctx, data.TableBucketARN) + outputGT, err := findTableByThreePartKey(ctx, conn, tableBucketARN, namespace, name) + if tfresource.NotFound(err) { - resp.State.RemoveResource(ctx) + response.Diagnostics.Append(fwdiag.NewResourceNotFoundWarningDiagnostic(err)) + response.State.RemoveResource(ctx) + return } + if err != nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.S3Tables, create.ErrActionReading, ResNameTable, state.Name.String(), err), - err.Error(), - ) + response.Diagnostics.AddError(fmt.Sprintf("reading S3 Tables Table (%s)", name), err.Error()) + return } - resp.Diagnostics.Append(flex.Flatten(ctx, out, &state, flex.WithFieldNamePrefix("Table"))...) - if resp.Diagnostics.HasError() { + response.Diagnostics.Append(fwflex.Flatten(ctx, outputGT, &data, fwflex.WithFieldNamePrefix("Table"))...) + if response.Diagnostics.HasError() { return } - state.Namespace = types.StringValue(out.Namespace[0]) + data.Namespace = types.StringValue(outputGT.Namespace[0]) + + outputGTMC, err := findTableMaintenanceConfigurationByThreePartKey(ctx, conn, tableBucketARN, namespace, name) - awsMaintenanceConfig, err := findTableMaintenanceConfiguration(ctx, conn, state.Name.ValueString(), state.Namespace.ValueString(), state.TableBucketARN.ValueString()) switch { case tfresource.NotFound(err): case err != nil: - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.S3Tables, create.ErrActionReading, resNameTableBucket, state.Name.String(), err), - err.Error(), - ) + response.Diagnostics.AddError(fmt.Sprintf("reading S3 Tables Table (%s) maintenance configuration", name), err.Error()) + return default: - maintenanceConfiguration, d := flattenTableMaintenanceConfiguration(ctx, awsMaintenanceConfig) - resp.Diagnostics.Append(d...) - if resp.Diagnostics.HasError() { + value, diags := flattenTableMaintenanceConfiguration(ctx, outputGTMC) + response.Diagnostics.Append(diags...) + if response.Diagnostics.HasError() { return } - state.MaintenanceConfiguration = maintenanceConfiguration + data.MaintenanceConfiguration = value } - awsEncryptionConfig, err := conn.GetTableEncryption(ctx, &s3tables.GetTableEncryptionInput{ - Name: state.Name.ValueStringPointer(), - Namespace: state.Namespace.ValueStringPointer(), - TableBucketARN: state.TableBucketARN.ValueStringPointer(), - }) - if err != nil { - if !errs.IsA[*awstypes.NotFoundException](err) { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.S3Tables, create.ErrActionReading, resNameTableBucket, state.Name.String(), err), - err.Error(), - ) - } - } else { + outputGTE, err := findTableEncryptionByThreePartKey(ctx, conn, tableBucketARN, namespace, name) + + switch { + case tfresource.NotFound(err): + case err != nil: + response.Diagnostics.AddError(fmt.Sprintf("reading S3 Tables Table (%s) encryption", name), err.Error()) + + return + default: var encryptionConfiguration encryptionConfigurationModel - resp.Diagnostics.Append(flex.Flatten(ctx, awsEncryptionConfig.EncryptionConfiguration, &encryptionConfiguration)...) - if resp.Diagnostics.HasError() { + response.Diagnostics.Append(fwflex.Flatten(ctx, outputGTE.EncryptionConfiguration, &encryptionConfiguration)...) + if response.Diagnostics.HasError() { return } - var d diag.Diagnostics - state.EncryptionConfiguration, d = fwtypes.NewObjectValueOf(ctx, &encryptionConfiguration) - resp.Diagnostics.Append(d...) - if resp.Diagnostics.HasError() { + var diags diag.Diagnostics + data.EncryptionConfiguration, diags = fwtypes.NewObjectValueOf(ctx, &encryptionConfiguration) + response.Diagnostics.Append(diags...) + if response.Diagnostics.HasError() { return } } - resp.Diagnostics.Append(resp.State.Set(ctx, &state)...) + response.Diagnostics.Append(response.State.Set(ctx, &data)...) } -func (r *tableResource) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse) { - conn := r.Meta().S3TablesClient(ctx) - - var plan, state tableResourceModel - resp.Diagnostics.Append(req.Plan.Get(ctx, &plan)...) - resp.Diagnostics.Append(req.State.Get(ctx, &state)...) - if resp.Diagnostics.HasError() { +func (r *tableResource) Update(ctx context.Context, request resource.UpdateRequest, response *resource.UpdateResponse) { + var new, old tableResourceModel + response.Diagnostics.Append(request.Plan.Get(ctx, &new)...) + if response.Diagnostics.HasError() { + return + } + response.Diagnostics.Append(request.State.Get(ctx, &old)...) + if response.Diagnostics.HasError() { return } - if !plan.Name.Equal(state.Name) || !plan.Namespace.Equal(state.Namespace) { + conn := r.Meta().S3TablesClient(ctx) + + // New name and namespace. + name, namespace, tableBucketARN := fwflex.StringValueFromFramework(ctx, new.Name), fwflex.StringValueFromFramework(ctx, new.Namespace), fwflex.StringValueFromFramework(ctx, new.TableBucketARN) + + if !new.Name.Equal(old.Name) || !new.Namespace.Equal(old.Namespace) { input := s3tables.RenameTableInput{ - TableBucketARN: state.TableBucketARN.ValueStringPointer(), - Namespace: state.Namespace.ValueStringPointer(), - Name: state.Name.ValueStringPointer(), + Name: old.Name.ValueStringPointer(), + Namespace: old.Namespace.ValueStringPointer(), + TableBucketARN: aws.String(tableBucketARN), } - if !plan.Name.Equal(state.Name) { - input.NewName = plan.Name.ValueStringPointer() + if !new.Name.Equal(old.Name) { + input.NewName = aws.String(name) } - if !plan.Namespace.Equal(state.Namespace) { - input.NewNamespaceName = plan.Namespace.ValueStringPointer() + if !new.Namespace.Equal(old.Namespace) { + input.NewNamespaceName = aws.String(namespace) } _, err := conn.RenameTable(ctx, &input) + if err != nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.S3Tables, create.ErrActionUpdating, ResNameTable, state.Name.String(), err), - err.Error(), - ) + response.Diagnostics.AddError(fmt.Sprintf("renaming S3 Tables Table (%s)", name), err.Error()) + + return } } - if !plan.MaintenanceConfiguration.Equal(state.MaintenanceConfiguration) { - planMC, d := plan.MaintenanceConfiguration.ToPtr(ctx) - resp.Diagnostics.Append(d...) - if resp.Diagnostics.HasError() { + if !new.MaintenanceConfiguration.Equal(old.MaintenanceConfiguration) { + newMC, d := new.MaintenanceConfiguration.ToPtr(ctx) + response.Diagnostics.Append(d...) + if response.Diagnostics.HasError() { return } - stateMC, d := state.MaintenanceConfiguration.ToPtr(ctx) - resp.Diagnostics.Append(d...) - if resp.Diagnostics.HasError() { + oldMC, d := old.MaintenanceConfiguration.ToPtr(ctx) + response.Diagnostics.Append(d...) + if response.Diagnostics.HasError() { return } - if !planMC.IcebergCompaction.Equal(stateMC.IcebergCompaction) { + if !newMC.IcebergCompaction.Equal(oldMC.IcebergCompaction) { + typ := awstypes.TableMaintenanceTypeIcebergCompaction input := s3tables.PutTableMaintenanceConfigurationInput{ - Name: plan.Name.ValueStringPointer(), - Namespace: plan.Namespace.ValueStringPointer(), - TableBucketARN: plan.TableBucketARN.ValueStringPointer(), - Type: awstypes.TableMaintenanceTypeIcebergCompaction, + Name: aws.String(name), + Namespace: aws.String(namespace), + TableBucketARN: aws.String(tableBucketARN), + Type: typ, } - value, d := expandTableMaintenanceIcebergCompaction(ctx, planMC.IcebergCompaction) - resp.Diagnostics.Append(d...) - if resp.Diagnostics.HasError() { + value, diags := expandTableMaintenanceIcebergCompaction(ctx, newMC.IcebergCompaction) + response.Diagnostics.Append(diags...) + if response.Diagnostics.HasError() { return } input.Value = &value _, err := conn.PutTableMaintenanceConfiguration(ctx, &input) + if err != nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.S3Tables, create.ErrActionUpdating, resNameTableBucket, plan.Name.String(), err), - err.Error(), - ) + response.Diagnostics.AddError(fmt.Sprintf("putting S3 Tables Table (%s) maintenance configuration (%s)", name, typ), err.Error()) + return } } - if !planMC.IcebergSnapshotManagement.Equal(stateMC.IcebergSnapshotManagement) { + if !newMC.IcebergSnapshotManagement.Equal(oldMC.IcebergSnapshotManagement) { + typ := awstypes.TableMaintenanceTypeIcebergSnapshotManagement input := s3tables.PutTableMaintenanceConfigurationInput{ - Name: plan.Name.ValueStringPointer(), - Namespace: plan.Namespace.ValueStringPointer(), - TableBucketARN: plan.TableBucketARN.ValueStringPointer(), - Type: awstypes.TableMaintenanceTypeIcebergSnapshotManagement, + Name: aws.String(name), + Namespace: aws.String(namespace), + TableBucketARN: aws.String(tableBucketARN), + Type: typ, } - value, d := expandTableMaintenanceIcebergSnapshotManagement(ctx, planMC.IcebergSnapshotManagement) - resp.Diagnostics.Append(d...) - if resp.Diagnostics.HasError() { + value, d := expandTableMaintenanceIcebergSnapshotManagement(ctx, newMC.IcebergSnapshotManagement) + response.Diagnostics.Append(d...) + if response.Diagnostics.HasError() { return } input.Value = &value _, err := conn.PutTableMaintenanceConfiguration(ctx, &input) + if err != nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.S3Tables, create.ErrActionUpdating, resNameTableBucket, plan.Name.String(), err), - err.Error(), - ) + response.Diagnostics.AddError(fmt.Sprintf("putting S3 Tables Table (%s) maintenance configuration (%s)", name, typ), err.Error()) + return } } } - table, err := findTable(ctx, conn, plan.TableBucketARN.ValueString(), plan.Namespace.ValueString(), plan.Name.ValueString()) + outputGT, err := findTableByThreePartKey(ctx, conn, tableBucketARN, namespace, name) + if err != nil { - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.S3Tables, create.ErrActionUpdating, ResNameTable, plan.Name.String(), err), - err.Error(), - ) + response.Diagnostics.AddError(fmt.Sprintf("reading S3 Tables Table (%s)", name), err.Error()) + return } - resp.Diagnostics.Append(flex.Flatten(ctx, table, &plan, flex.WithFieldNamePrefix("Table"))...) - if resp.Diagnostics.HasError() { + response.Diagnostics.Append(fwflex.Flatten(ctx, outputGT, &new, fwflex.WithFieldNamePrefix("Table"))...) + if response.Diagnostics.HasError() { return } - plan.Namespace = types.StringValue(table.Namespace[0]) + new.Namespace = types.StringValue(outputGT.Namespace[0]) + + outputGTMC, err := findTableMaintenanceConfigurationByThreePartKey(ctx, conn, tableBucketARN, namespace, name) - awsMaintenanceConfig, err := findTableMaintenanceConfiguration(ctx, conn, plan.Name.ValueString(), plan.Namespace.ValueString(), plan.TableBucketARN.ValueString()) switch { case tfresource.NotFound(err): case err != nil: - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.S3Tables, create.ErrActionUpdating, resNameTableBucket, plan.Name.String(), err), - err.Error(), - ) + response.Diagnostics.AddError(fmt.Sprintf("reading S3 Tables Table (%s) maintenance configuration", name), err.Error()) + return default: - maintenanceConfiguration, d := flattenTableMaintenanceConfiguration(ctx, awsMaintenanceConfig) - resp.Diagnostics.Append(d...) - if resp.Diagnostics.HasError() { + value, diags := flattenTableMaintenanceConfiguration(ctx, outputGTMC) + response.Diagnostics.Append(diags...) + if response.Diagnostics.HasError() { return } - plan.MaintenanceConfiguration = maintenanceConfiguration + new.MaintenanceConfiguration = value } - resp.Diagnostics.Append(resp.State.Set(ctx, &plan)...) + response.Diagnostics.Append(response.State.Set(ctx, &new)...) } -func (r *tableResource) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse) { - conn := r.Meta().S3TablesClient(ctx) - - var state tableResourceModel - resp.Diagnostics.Append(req.State.Get(ctx, &state)...) - if resp.Diagnostics.HasError() { +func (r *tableResource) Delete(ctx context.Context, request resource.DeleteRequest, response *resource.DeleteResponse) { + var data tableResourceModel + response.Diagnostics.Append(request.State.Get(ctx, &data)...) + if response.Diagnostics.HasError() { return } + conn := r.Meta().S3TablesClient(ctx) + + name, namespace, tableBucketARN := fwflex.StringValueFromFramework(ctx, data.Name), fwflex.StringValueFromFramework(ctx, data.Namespace), fwflex.StringValueFromFramework(ctx, data.TableBucketARN) input := s3tables.DeleteTableInput{ - Name: state.Name.ValueStringPointer(), - Namespace: state.Namespace.ValueStringPointer(), - TableBucketARN: state.TableBucketARN.ValueStringPointer(), + Name: aws.String(name), + Namespace: aws.String(namespace), + TableBucketARN: aws.String(tableBucketARN), } - _, err := conn.DeleteTable(ctx, &input) + + if errs.IsA[*awstypes.NotFoundException](err) { + return + } + if err != nil { - if errs.IsA[*awstypes.NotFoundException](err) { - return - } + response.Diagnostics.AddError(fmt.Sprintf("deleting S3 Tables Table (%s)", name), err.Error()) - resp.Diagnostics.AddError( - create.ProblemStandardMessage(names.S3Tables, create.ErrActionDeleting, ResNameTable, state.Name.String(), err), - err.Error(), - ) return } } @@ -645,30 +636,94 @@ func (r *tableResource) ImportState(ctx context.Context, req resource.ImportStat identifier.PopulateState(ctx, &resp.State, &resp.Diagnostics) } -func findTable(ctx context.Context, conn *s3tables.Client, bucketARN, namespace, name string) (*s3tables.GetTableOutput, error) { - in := s3tables.GetTableInput{ +func findTableByThreePartKey(ctx context.Context, conn *s3tables.Client, tableBucketARN, namespace, name string) (*s3tables.GetTableOutput, error) { + input := s3tables.GetTableInput{ Name: aws.String(name), Namespace: aws.String(namespace), - TableBucketARN: aws.String(bucketARN), + TableBucketARN: aws.String(tableBucketARN), + } + + return findTable(ctx, conn, &input) +} + +func findTable(ctx context.Context, conn *s3tables.Client, input *s3tables.GetTableInput) (*s3tables.GetTableOutput, error) { + output, err := conn.GetTable(ctx, input) + + if errs.IsA[*awstypes.NotFoundException](err) { + return nil, &retry.NotFoundError{ + LastError: err, + } } - out, err := conn.GetTable(ctx, &in) if err != nil { - if errs.IsA[*awstypes.NotFoundException](err) { - return nil, &retry.NotFoundError{ - LastError: err, - LastRequest: in, - } + return nil, err + } + + if output == nil { + return nil, tfresource.NewEmptyResultError(input) + } + + return output, nil +} + +func findTableEncryptionByThreePartKey(ctx context.Context, conn *s3tables.Client, tableBucketARN, namespace, name string) (*s3tables.GetTableEncryptionOutput, error) { + input := s3tables.GetTableEncryptionInput{ + Name: aws.String(name), + Namespace: aws.String(namespace), + TableBucketARN: aws.String(tableBucketARN), + } + + return findTableEncryption(ctx, conn, &input) +} + +func findTableEncryption(ctx context.Context, conn *s3tables.Client, input *s3tables.GetTableEncryptionInput) (*s3tables.GetTableEncryptionOutput, error) { + output, err := conn.GetTableEncryption(ctx, input) + + if errs.IsA[*awstypes.NotFoundException](err) { + return nil, &retry.NotFoundError{ + LastError: err, } + } + if err != nil { return nil, err } - if out == nil { - return nil, tfresource.NewEmptyResultError(in) + if output == nil { + return nil, tfresource.NewEmptyResultError(input) } - return out, nil + return output, nil +} + +func findTableMaintenanceConfigurationByThreePartKey(ctx context.Context, conn *s3tables.Client, tableBucketARN, namespace, name string) (*s3tables.GetTableMaintenanceConfigurationOutput, error) { + input := s3tables.GetTableMaintenanceConfigurationInput{ + Name: aws.String(name), + Namespace: aws.String(namespace), + TableBucketARN: aws.String(tableBucketARN), + } + + return findTableMaintenanceConfiguration(ctx, conn, &input) +} + +func findTableMaintenanceConfiguration(ctx context.Context, conn *s3tables.Client, input *s3tables.GetTableMaintenanceConfigurationInput) (*s3tables.GetTableMaintenanceConfigurationOutput, error) { + output, err := conn.GetTableMaintenanceConfiguration(ctx, input) + + if errs.IsA[*awstypes.NotFoundException](err) { + return nil, &retry.NotFoundError{ + LastError: err, + } + } + + if err != nil { + return nil, err + } + + if output == nil { + return nil, tfresource.NewEmptyResultError(input) + } + + return output, nil } type tableResourceModel struct { @@ -781,7 +836,7 @@ func expandIcebergCompactionSettings(ctx context.Context, in fwtypes.ObjectValue var value awstypes.IcebergCompactionSettings - diags.Append(flex.Expand(ctx, model, &value)...) + diags.Append(fwflex.Expand(ctx, model, &value)...) return &awstypes.TableMaintenanceSettingsMemberIcebergCompaction{ Value: value, @@ -792,7 +847,7 @@ func flattenIcebergCompactionSettings(ctx context.Context, in awstypes.TableMain switch t := in.(type) { case *awstypes.TableMaintenanceSettingsMemberIcebergCompaction: var model icebergCompactionSettingsModel - diags.Append(flex.Flatten(ctx, t.Value, &model)...) + diags.Append(fwflex.Flatten(ctx, t.Value, &model)...) result = fwtypes.NewObjectValueOfMust(ctx, &model) case *awstypes.UnknownUnionMember: @@ -851,7 +906,7 @@ func expandIcebergSnapshotManagementSettings(ctx context.Context, in fwtypes.Obj var value awstypes.IcebergSnapshotManagementSettings - diags.Append(flex.Expand(ctx, model, &value)...) + diags.Append(fwflex.Expand(ctx, model, &value)...) return &awstypes.TableMaintenanceSettingsMemberIcebergSnapshotManagement{ Value: value, @@ -862,7 +917,7 @@ func flattenIcebergSnapshotManagementSettings(ctx context.Context, in awstypes.T switch t := in.(type) { case *awstypes.TableMaintenanceSettingsMemberIcebergSnapshotManagement: var model icebergSnapshotManagementSettingsModel - diags.Append(flex.Flatten(ctx, t.Value, &model)...) + diags.Append(fwflex.Flatten(ctx, t.Value, &model)...) result = fwtypes.NewObjectValueOfMust(ctx, &model) case *awstypes.UnknownUnionMember: @@ -957,7 +1012,7 @@ type icebergSchemaFieldModel struct { } var ( - _ flex.Expander = tableMetadataModel{} + _ fwflex.Expander = tableMetadataModel{} ) func (m tableMetadataModel) Expand(ctx context.Context) (out any, diags diag.Diagnostics) { @@ -972,7 +1027,7 @@ func (m tableMetadataModel) Expand(ctx context.Context) (out any, diags diag.Dia // Create Iceberg schema var schema awstypes.IcebergMetadata - diags.Append(flex.Expand(ctx, icebergModel, &schema)...) + diags.Append(fwflex.Expand(ctx, icebergModel, &schema)...) if diags.HasError() { return nil, diags } @@ -984,25 +1039,3 @@ func (m tableMetadataModel) Expand(ctx context.Context) (out any, diags diag.Dia return out, diags } - -func findTableMaintenanceConfiguration(ctx context.Context, conn *s3tables.Client, name, namespace, tableBucketARN string) (*s3tables.GetTableMaintenanceConfigurationOutput, error) { - in := s3tables.GetTableMaintenanceConfigurationInput{ - Name: aws.String(name), - Namespace: aws.String(namespace), - TableBucketARN: aws.String(tableBucketARN), - } - - out, err := conn.GetTableMaintenanceConfiguration(ctx, &in) - if err != nil { - if errs.IsA[*awstypes.NotFoundException](err) { - return nil, &retry.NotFoundError{ - LastError: err, - LastRequest: in, - } - } - - return nil, err - } - - return out, nil -} diff --git a/internal/service/s3tables/table_test.go b/internal/service/s3tables/table_test.go index 6536091d83ef..77484d277ffa 100644 --- a/internal/service/s3tables/table_test.go +++ b/internal/service/s3tables/table_test.go @@ -5,7 +5,6 @@ package s3tables_test import ( "context" - "errors" "fmt" "strings" "testing" @@ -25,7 +24,6 @@ import ( "github.com/hashicorp/terraform-provider-aws/internal/acctest" tfknownvalue "github.com/hashicorp/terraform-provider-aws/internal/acctest/knownvalue" "github.com/hashicorp/terraform-provider-aws/internal/conns" - "github.com/hashicorp/terraform-provider-aws/internal/create" tfs3tables "github.com/hashicorp/terraform-provider-aws/internal/service/s3tables" "github.com/hashicorp/terraform-provider-aws/internal/tfresource" "github.com/hashicorp/terraform-provider-aws/internal/verify" @@ -597,48 +595,47 @@ func testAccCheckTableDestroy(ctx context.Context) resource.TestCheckFunc { continue } - _, err := tfs3tables.FindTable(ctx, conn, + _, err := tfs3tables.FindTableByThreePartKey(ctx, conn, rs.Primary.Attributes["table_bucket_arn"], rs.Primary.Attributes[names.AttrNamespace], rs.Primary.Attributes[names.AttrName], ) + if tfresource.NotFound(err) { - return nil + continue } + if err != nil { - return create.Error(names.S3Tables, create.ErrActionCheckingDestroyed, tfs3tables.ResNameTable, rs.Primary.ID, err) + return err } - return create.Error(names.S3Tables, create.ErrActionCheckingDestroyed, tfs3tables.ResNameTable, rs.Primary.ID, errors.New("not destroyed")) + return fmt.Errorf("S3 Tables Table %s still exists", rs.Primary.Attributes[names.AttrName]) } return nil } } -func testAccCheckTableExists(ctx context.Context, name string, table *s3tables.GetTableOutput) resource.TestCheckFunc { +func testAccCheckTableExists(ctx context.Context, n string, v *s3tables.GetTableOutput) resource.TestCheckFunc { return func(s *terraform.State) error { - rs, ok := s.RootModule().Resources[name] + rs, ok := s.RootModule().Resources[n] if !ok { - return create.Error(names.S3Tables, create.ErrActionCheckingExistence, tfs3tables.ResNameTable, name, errors.New("not found")) - } - - if rs.Primary.Attributes["table_bucket_arn"] == "" || rs.Primary.Attributes[names.AttrNamespace] == "" || rs.Primary.Attributes[names.AttrName] == "" { - return create.Error(names.S3Tables, create.ErrActionCheckingExistence, tfs3tables.ResNameTable, name, errors.New("not set")) + return fmt.Errorf("Not found: %s", n) } conn := acctest.Provider.Meta().(*conns.AWSClient).S3TablesClient(ctx) - resp, err := tfs3tables.FindTable(ctx, conn, + output, err := tfs3tables.FindTableByThreePartKey(ctx, conn, rs.Primary.Attributes["table_bucket_arn"], rs.Primary.Attributes[names.AttrNamespace], rs.Primary.Attributes[names.AttrName], ) + if err != nil { - return create.Error(names.S3Tables, create.ErrActionCheckingExistence, tfs3tables.ResNameTable, rs.Primary.ID, err) + return err } - *table = *resp + *v = *output return nil } From c7bfaa802a1c107fe942718d1f9a96c6aeb34a39 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 13 Aug 2025 15:52:18 -0400 Subject: [PATCH 1209/1301] Nudge CI. From a34ea2e99bedbbf601c18c6ba7e6dd0d2560013b Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Wed, 13 Aug 2025 17:37:39 -0400 Subject: [PATCH 1210/1301] Revert "Merge pull request #43577 from djglaser/f-az-rebalancing" This reverts commit 84319d764bd9d53a540791dee3492cc42dc3cb16, reversing changes made to 42883f47fb26f5c9e929ceabf0fbd3798412dccb. --- .changelog/43241.txt | 3 - internal/service/ecs/service.go | 2 +- internal/service/ecs/service_test.go | 218 +++++------------------ website/docs/r/ecs_service.html.markdown | 2 +- 4 files changed, 45 insertions(+), 180 deletions(-) delete mode 100644 .changelog/43241.txt diff --git a/.changelog/43241.txt b/.changelog/43241.txt deleted file mode 100644 index 1ba6a967d21e..000000000000 --- a/.changelog/43241.txt +++ /dev/null @@ -1,3 +0,0 @@ -```release-note:enhancement -resource/aws_ecs_service: Remove Terraform default for `availability_zone_rebalancing` and change the attribute to Optional and Computed. This allow ECS to default to `ENABLED` for new resources compatible with *AvailabilityZoneRebalancing* and maintain an existing service's `availability_zone_rebalancing` value during update when not configured. If an existing service never had an `availability_zone_rebalancing` value configured and is updated, ECS will treat this as `DISABLED` -``` \ No newline at end of file diff --git a/internal/service/ecs/service.go b/internal/service/ecs/service.go index ee1ee7648bd8..9e34fa411cb5 100644 --- a/internal/service/ecs/service.go +++ b/internal/service/ecs/service.go @@ -562,7 +562,7 @@ func resourceService() *schema.Resource { "availability_zone_rebalancing": { Type: schema.TypeString, Optional: true, - Computed: true, + Default: awstypes.AvailabilityZoneRebalancingDisabled, ValidateDiagFunc: enum.Validate[awstypes.AvailabilityZoneRebalancing](), }, names.AttrCapacityProviderStrategy: { diff --git a/internal/service/ecs/service_test.go b/internal/service/ecs/service_test.go index 354b3c00f6b2..7bc76413225a 100644 --- a/internal/service/ecs/service_test.go +++ b/internal/service/ecs/service_test.go @@ -7,7 +7,6 @@ import ( "context" "fmt" "math" - "strconv" "testing" "time" @@ -156,11 +155,11 @@ func TestAccECSService_basic(t *testing.T) { testAccCheckServiceExists(ctx, resourceName, &service), resource.TestCheckResourceAttr(resourceName, "alarms.#", "0"), acctest.CheckResourceAttrRegionalARN(ctx, resourceName, names.AttrARN, "ecs", fmt.Sprintf("service/%s/%s", clusterName, rName)), - resource.TestCheckResourceAttr(resourceName, "availability_zone_rebalancing", "ENABLED"), resource.TestCheckResourceAttrPair(resourceName, "cluster", "aws_ecs_cluster.test", names.AttrARN), resource.TestCheckResourceAttr(resourceName, "service_registries.#", "0"), resource.TestCheckResourceAttr(resourceName, "scheduling_strategy", "REPLICA"), resource.TestCheckResourceAttrPair(resourceName, "task_definition", "aws_ecs_task_definition.test", names.AttrARN), + resource.TestCheckResourceAttr(resourceName, "availability_zone_rebalancing", "DISABLED"), resource.TestCheckResourceAttr(resourceName, "vpc_lattice_configuration.#", "0"), ), ConfigPlanChecks: resource.ConfigPlanChecks{ @@ -185,9 +184,9 @@ func TestAccECSService_basic(t *testing.T) { testAccCheckServiceExists(ctx, resourceName, &service), resource.TestCheckResourceAttr(resourceName, "alarms.#", "0"), acctest.CheckResourceAttrRegionalARN(ctx, resourceName, names.AttrARN, "ecs", fmt.Sprintf("service/%s/%s", clusterName, rName)), - resource.TestCheckResourceAttr(resourceName, "availability_zone_rebalancing", "ENABLED"), resource.TestCheckResourceAttr(resourceName, "service_registries.#", "0"), resource.TestCheckResourceAttr(resourceName, "scheduling_strategy", "REPLICA"), + resource.TestCheckResourceAttr(resourceName, "availability_zone_rebalancing", "DISABLED"), resource.TestCheckResourceAttr(resourceName, "vpc_lattice_configuration.#", "0"), ), ConfigPlanChecks: resource.ConfigPlanChecks{ @@ -2546,180 +2545,32 @@ func TestAccECSService_AvailabilityZoneRebalancing(t *testing.T) { CheckDestroy: testAccCheckServiceDestroy(ctx), Steps: []resource.TestStep{ { - Config: testAccServiceConfig_availabilityZoneRebalancing(rName, awstypes.AvailabilityZoneRebalancingEnabled), + Config: testAccServiceConfig_availabilityZoneRebalancing(rName, "ENABLED"), Check: resource.ComposeTestCheckFunc( testAccCheckServiceExists(ctx, resourceName, &service), + resource.TestCheckResourceAttr(resourceName, "availability_zone_rebalancing", string(awstypes.AvailabilityZoneRebalancingEnabled)), ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), - }, - }, - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("availability_zone_rebalancing"), tfknownvalue.StringExact(awstypes.AvailabilityZoneRebalancingEnabled)), - }, - }, - { - Config: testAccServiceConfig_availabilityZoneRebalancing(rName, "null"), - Check: resource.ComposeTestCheckFunc( - testAccCheckServiceExists(ctx, resourceName, &service), - ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - }, - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("availability_zone_rebalancing"), tfknownvalue.StringExact(awstypes.AvailabilityZoneRebalancingEnabled)), - }, - }, - { - Config: testAccServiceConfig_availabilityZoneRebalancing(rName, awstypes.AvailabilityZoneRebalancingDisabled), - Check: resource.ComposeTestCheckFunc( - testAccCheckServiceExists(ctx, resourceName, &service), - ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), - }, - }, - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("availability_zone_rebalancing"), tfknownvalue.StringExact(awstypes.AvailabilityZoneRebalancingDisabled)), - }, - }, - { - Config: testAccServiceConfig_availabilityZoneRebalancing(rName, "null"), - Check: resource.ComposeTestCheckFunc( - testAccCheckServiceExists(ctx, resourceName, &service), - ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - }, - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("availability_zone_rebalancing"), tfknownvalue.StringExact(awstypes.AvailabilityZoneRebalancingDisabled)), - }, - }, - { - Config: testAccServiceConfig_availabilityZoneRebalancing(rName, awstypes.AvailabilityZoneRebalancingEnabled), - Check: resource.ComposeTestCheckFunc( - testAccCheckServiceExists(ctx, resourceName, &service), - ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), - }, - }, - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("availability_zone_rebalancing"), tfknownvalue.StringExact(awstypes.AvailabilityZoneRebalancingEnabled)), - }, - }, - }, - }) -} - -func TestAccECSService_AvailabilityZoneRebalancing_UpgradeV6_8_0_configured(t *testing.T) { - ctx := acctest.Context(t) - var service awstypes.Service - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resourceName := "aws_ecs_service.test" - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { acctest.PreCheck(ctx, t) }, - ErrorCheck: acctest.ErrorCheck(t, names.ECSServiceID), - CheckDestroy: testAccCheckServiceDestroy(ctx), - Steps: []resource.TestStep{ - { - ExternalProviders: map[string]resource.ExternalProvider{ - "aws": { - Source: "hashicorp/aws", - VersionConstraint: "6.8.0", - }, - }, - Config: testAccServiceConfig_availabilityZoneRebalancing(rName, awstypes.AvailabilityZoneRebalancingEnabled), - Check: resource.ComposeTestCheckFunc( - testAccCheckServiceExists(ctx, resourceName, &service), - ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), - }, - }, - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("availability_zone_rebalancing"), tfknownvalue.StringExact(awstypes.AvailabilityZoneRebalancingEnabled)), - }, }, { - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - Config: testAccServiceConfig_availabilityZoneRebalancing(rName, awstypes.AvailabilityZoneRebalancingEnabled), + Config: testAccServiceConfig_availabilityZoneRebalancing_nullUpdate(rName), Check: resource.ComposeTestCheckFunc( testAccCheckServiceExists(ctx, resourceName, &service), + resource.TestCheckResourceAttr(resourceName, "availability_zone_rebalancing", string(awstypes.AvailabilityZoneRebalancingDisabled)), ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - PostApplyPostRefresh: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - }, - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("availability_zone_rebalancing"), tfknownvalue.StringExact(awstypes.AvailabilityZoneRebalancingEnabled)), - }, }, - }, - }) -} - -func TestAccECSService_AvailabilityZoneRebalancing_UpgradeV6_8_0_unconfigured(t *testing.T) { - ctx := acctest.Context(t) - var service awstypes.Service - rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) - resourceName := "aws_ecs_service.test" - - resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { acctest.PreCheck(ctx, t) }, - ErrorCheck: acctest.ErrorCheck(t, names.ECSServiceID), - CheckDestroy: testAccCheckServiceDestroy(ctx), - Steps: []resource.TestStep{ { - ExternalProviders: map[string]resource.ExternalProvider{ - "aws": { - Source: "hashicorp/aws", - VersionConstraint: "6.8.0", - }, - }, - Config: testAccServiceConfig_availabilityZoneRebalancing(rName, "null"), + Config: testAccServiceConfig_availabilityZoneRebalancing(rName, "DISABLED"), Check: resource.ComposeTestCheckFunc( testAccCheckServiceExists(ctx, resourceName, &service), + resource.TestCheckResourceAttr(resourceName, "availability_zone_rebalancing", string(awstypes.AvailabilityZoneRebalancingDisabled)), ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionCreate), - }, - }, - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("availability_zone_rebalancing"), tfknownvalue.StringExact(awstypes.AvailabilityZoneRebalancingDisabled)), - }, }, { - ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - Config: testAccServiceConfig_availabilityZoneRebalancing(rName, "null"), + Config: testAccServiceConfig_availabilityZoneRebalancing(rName, "ENABLED"), Check: resource.ComposeTestCheckFunc( testAccCheckServiceExists(ctx, resourceName, &service), + resource.TestCheckResourceAttr(resourceName, "availability_zone_rebalancing", string(awstypes.AvailabilityZoneRebalancingEnabled)), ), - ConfigPlanChecks: resource.ConfigPlanChecks{ - PreApply: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - PostApplyPostRefresh: []plancheck.PlanCheck{ - plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), - }, - }, - ConfigStateChecks: []statecheck.StateCheck{ - statecheck.ExpectKnownValue(resourceName, tfjsonpath.New("availability_zone_rebalancing"), tfknownvalue.StringExact(awstypes.AvailabilityZoneRebalancingDisabled)), - }, }, }, }) @@ -4374,8 +4225,6 @@ resource "aws_ecs_service" "test" { name = %[1]q task_definition = aws_ecs_task_definition.test.arn - availability_zone_rebalancing = "DISABLED" - ordered_placement_strategy { type = "binpack" field = "memory" @@ -4453,8 +4302,6 @@ resource "aws_ecs_service" "test" { task_definition = aws_ecs_task_definition.test.arn desired_count = 1 - availability_zone_rebalancing = "DISABLED" - ordered_placement_strategy { type = "binpack" field = "memory" @@ -4526,8 +4373,6 @@ resource "aws_ecs_service" "test" { task_definition = aws_ecs_task_definition.test.arn desired_count = 1 - availability_zone_rebalancing = "DISABLED" - ordered_placement_strategy { type = "random" } @@ -4563,8 +4408,6 @@ resource "aws_ecs_service" "test" { task_definition = aws_ecs_task_definition.test.arn desired_count = 1 - availability_zone_rebalancing = "DISABLED" - ordered_placement_strategy { type = "binpack" field = "memory" @@ -7399,12 +7242,7 @@ resource "aws_ecs_service" "test" { `, rName) } -func testAccServiceConfig_availabilityZoneRebalancing(rName string, azRebalancing awstypes.AvailabilityZoneRebalancing) string { - val := string(azRebalancing) - if val != "null" { - val = strconv.Quote(val) - } - +func testAccServiceConfig_availabilityZoneRebalancing(rName string, serviceRebalancing string) string { return fmt.Sprintf(` resource "aws_ecs_cluster" "test" { name = %[1]q @@ -7430,7 +7268,37 @@ resource "aws_ecs_service" "test" { name = %[1]q cluster = aws_ecs_cluster.test.id task_definition = aws_ecs_task_definition.test.arn - availability_zone_rebalancing = %[2]s + availability_zone_rebalancing = %[2]q +} + `, rName, serviceRebalancing) +} + +func testAccServiceConfig_availabilityZoneRebalancing_nullUpdate(rName string) string { + return fmt.Sprintf(` +resource "aws_ecs_cluster" "test" { + name = %[1]q +} + +resource "aws_ecs_task_definition" "test" { + family = %[1]q + + container_definitions = < Date: Thu, 14 Aug 2025 08:22:10 +0900 Subject: [PATCH 1211/1301] Fix to support import --- internal/service/lightsail/static_ip_attachment.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/internal/service/lightsail/static_ip_attachment.go b/internal/service/lightsail/static_ip_attachment.go index d085c9fa2931..b212b18b3aa4 100644 --- a/internal/service/lightsail/static_ip_attachment.go +++ b/internal/service/lightsail/static_ip_attachment.go @@ -23,6 +23,10 @@ func ResourceStaticIPAttachment() *schema.Resource { ReadWithoutTimeout: resourceStaticIPAttachmentRead, DeleteWithoutTimeout: resourceStaticIPAttachmentDelete, + Importer: &schema.ResourceImporter{ + StateContext: schema.ImportStatePassthroughContext, + }, + Schema: map[string]*schema.Schema{ "static_ip_name": { Type: schema.TypeString, @@ -65,7 +69,7 @@ func resourceStaticIPAttachmentRead(ctx context.Context, d *schema.ResourceData, var diags diag.Diagnostics conn := meta.(*conns.AWSClient).LightsailClient(ctx) - staticIpName := d.Get("static_ip_name").(string) + staticIpName := d.Id() log.Printf("[INFO] Reading Lightsail Static IP Attachment: %q", staticIpName) out, err := conn.GetStaticIp(ctx, &lightsail.GetStaticIpInput{ StaticIpName: aws.String(staticIpName), @@ -86,6 +90,7 @@ func resourceStaticIPAttachmentRead(ctx context.Context, d *schema.ResourceData, d.Set("instance_name", out.StaticIp.AttachedTo) d.Set(names.AttrIPAddress, out.StaticIp.IpAddress) + d.Set("static_ip_name", out.StaticIp.Name) return diags } From aa0f9b101a8b873c64383e3eeb4b964421db8b89 Mon Sep 17 00:00:00 2001 From: tabito Date: Thu, 14 Aug 2025 08:22:38 +0900 Subject: [PATCH 1212/1301] add a test case to check import functionality --- .../service/lightsail/static_ip_attachment_test.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/internal/service/lightsail/static_ip_attachment_test.go b/internal/service/lightsail/static_ip_attachment_test.go index f3f7bcb46d5c..bedd87a96f26 100644 --- a/internal/service/lightsail/static_ip_attachment_test.go +++ b/internal/service/lightsail/static_ip_attachment_test.go @@ -26,6 +26,7 @@ func TestAccLightsailStaticIPAttachment_basic(t *testing.T) { staticIpName := fmt.Sprintf("tf-test-lightsail-%s", sdkacctest.RandString(5)) instanceName := fmt.Sprintf("tf-test-lightsail-%s", sdkacctest.RandString(5)) keypairName := fmt.Sprintf("tf-test-lightsail-%s", sdkacctest.RandString(5)) + resourceName := "aws_lightsail_static_ip_attachment.test" resource.ParallelTest(t, resource.TestCase{ PreCheck: func() { acctest.PreCheck(ctx, t); testAccPreCheck(ctx, t) }, @@ -36,10 +37,15 @@ func TestAccLightsailStaticIPAttachment_basic(t *testing.T) { { Config: testAccStaticIPAttachmentConfig_basic(staticIpName, instanceName, keypairName), Check: resource.ComposeAggregateTestCheckFunc( - testAccCheckStaticIPAttachmentExists(ctx, "aws_lightsail_static_ip_attachment.test"), - resource.TestCheckResourceAttrSet("aws_lightsail_static_ip_attachment.test", names.AttrIPAddress), + testAccCheckStaticIPAttachmentExists(ctx, resourceName), + resource.TestCheckResourceAttrSet(resourceName, names.AttrIPAddress), ), }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, }, }) } From f1afd8251be9782054f3ca07fa9a75f3c49d2629 Mon Sep 17 00:00:00 2001 From: tabito Date: Thu, 14 Aug 2025 08:29:08 +0900 Subject: [PATCH 1213/1301] add changelog --- .changelog/43874.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/43874.txt diff --git a/.changelog/43874.txt b/.changelog/43874.txt new file mode 100644 index 000000000000..c29524de50f7 --- /dev/null +++ b/.changelog/43874.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +resource/aws_lightsail_static_ip_attachment: Support resource import +``` From f8c9ad06af521e24c730c9acf46d0c45d346c868 Mon Sep 17 00:00:00 2001 From: tabito Date: Thu, 14 Aug 2025 09:27:48 +0900 Subject: [PATCH 1214/1301] add links to "See below" instances --- website/docs/r/msk_cluster.html.markdown | 42 ++++++++++++------------ 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/website/docs/r/msk_cluster.html.markdown b/website/docs/r/msk_cluster.html.markdown index 3580ab60c116..8f12930d7c0b 100644 --- a/website/docs/r/msk_cluster.html.markdown +++ b/website/docs/r/msk_cluster.html.markdown @@ -204,16 +204,16 @@ resource "aws_msk_cluster" "example" { This resource supports the following arguments: * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `broker_node_group_info` - (Required) Configuration block for the broker nodes of the Kafka cluster. +* `broker_node_group_info` - (Required) Configuration block for the broker nodes of the Kafka cluster. See [broker_node_group_info Argument Reference](#broker_node_group_info-argument-reference) below. * `cluster_name` - (Required) Name of the MSK cluster. * `kafka_version` - (Required) Specify the desired Kafka software version. * `number_of_broker_nodes` - (Required) The desired total number of broker nodes in the kafka cluster. It must be a multiple of the number of specified client subnets. -* `client_authentication` - (Optional) Configuration block for specifying a client authentication. See below. -* `configuration_info` - (Optional) Configuration block for specifying a MSK Configuration to attach to Kafka brokers. See below. -* `encryption_info` - (Optional) Configuration block for specifying encryption. See below. +* `client_authentication` - (Optional) Configuration block for specifying a client authentication. See [client_authentication Argument Reference](#client_authentication-argument-reference) below. +* `configuration_info` - (Optional) Configuration block for specifying an MSK Configuration to attach to Kafka brokers. See [configuration_info Argument Reference](#configuration_info-argument-reference) below. +* `encryption_info` - (Optional) Configuration block for specifying encryption. See [encryption_info Argument Reference](#encryption_info-argument-reference) below. * `enhanced_monitoring` - (Optional) Specify the desired enhanced MSK CloudWatch monitoring level. See [Monitoring Amazon MSK with Amazon CloudWatch](https://docs.aws.amazon.com/msk/latest/developerguide/monitoring.html) -* `open_monitoring` - (Optional) Configuration block for JMX and Node monitoring for the MSK cluster. See below. -* `logging_info` - (Optional) Configuration block for streaming broker logs to Cloudwatch/S3/Kinesis Firehose. See below. +* `open_monitoring` - (Optional) Configuration block for JMX and Node monitoring for the MSK cluster. See [open_monitoring Argument Reference](#open_monitoring-argument-reference) below. +* `logging_info` - (Optional) Configuration block for streaming broker logs to Cloudwatch/S3/Kinesis Firehose. See [logging_info Argument Reference](#logging_info-argument-reference) below. * `storage_mode` - (Optional) Controls storage mode for supported storage tiers. Valid values are: `LOCAL` or `TIERED`. * `tags` - (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. @@ -222,14 +222,14 @@ This resource supports the following arguments: * `client_subnets` - (Required) A list of subnets to connect to in client VPC ([documentation](https://docs.aws.amazon.com/msk/1.0/apireference/clusters.html#clusters-prop-brokernodegroupinfo-clientsubnets)). * `instance_type` - (Required) Specify the instance type to use for the kafka brokersE.g., kafka.m5.large. ([Pricing info](https://aws.amazon.com/msk/pricing/)) * `security_groups` - (Required) A list of the security groups to associate with the elastic network interfaces to control who can communicate with the cluster. -* `az_distribution` - (Optional) The distribution of broker nodes across availability zones ([documentation](https://docs.aws.amazon.com/msk/1.0/apireference/clusters.html#clusters-model-brokerazdistribution)). Currently the only valid value is `DEFAULT`. -* `connectivity_info` - (Optional) Information about the cluster access configuration. See below. For security reasons, you can't turn on public access while creating an MSK cluster. However, you can update an existing cluster to make it publicly accessible. You can also create a new cluster and then update it to make it publicly accessible ([documentation](https://docs.aws.amazon.com/msk/latest/developerguide/public-access.html)). -* `storage_info` - (Optional) A block that contains information about storage volumes attached to MSK broker nodes. See below. +* `az_distribution` - (Optional) The distribution of broker nodes across availability zones ([documentation](https://docs.aws.amazon.com/msk/1.0/apireference/clusters.html#clusters-model-brokerazdistribution)). Currently, the only valid value is `DEFAULT`. +* `connectivity_info` - (Optional) Information about the cluster access configuration. See [broker_node_group_info connectivity_info Argument Reference](#broker_node_group_info-connectivity_info-argument-reference) below. For security reasons, you can't turn on public access while creating an MSK cluster. However, you can update an existing cluster to make it publicly accessible. You can also create a new cluster and then update it to make it publicly accessible ([documentation](https://docs.aws.amazon.com/msk/latest/developerguide/public-access.html)). +* `storage_info` - (Optional) A block that contains information about storage volumes attached to MSK broker nodes. See [broker_node_group_info storage_info Argument Reference](#broker_node_group_info-storage_info-argument-reference) below. ### broker_node_group_info connectivity_info Argument Reference -* `public_access` - (Optional) Access control settings for brokers. See below. -* `vpc_connectivity` - (Optional) VPC connectivity access control for brokers. See below. +* `public_access` - (Optional) Access control settings for brokers. See [connectivity_info public_access Argument Reference](#connectivity_info-public_access-argument-reference) below. +* `vpc_connectivity` - (Optional) VPC connectivity access control for brokers. See [connectivity_info vpc_connectivity Argument Reference](#connectivity_info-vpc_connectivity-argument-reference) below. ### connectivity_info public_access Argument Reference @@ -237,11 +237,11 @@ This resource supports the following arguments: ### connectivity_info vpc_connectivity Argument Reference -* `client_authentication` - (Optional) Includes all client authentication information for VPC connectivity. See below. +* `client_authentication` - (Optional) Includes all client authentication information for VPC connectivity. See [vpc_connectivity client_authentication Argument Reference](#vpc_connectivity-client_authentication-argument-reference) below. ### vpc_connectivity client_authentication Argument Reference -* `sasl` - (Optional) SASL authentication type details for VPC connectivity. See below. +* `sasl` - (Optional) SASL authentication type details for VPC connectivity. See [vpc_connectivity client_authentication sasl Argument Reference](#vpc_connectivity-client_authentication-sasl-argument-reference) below. * `tls` - (Optional) Enables TLS authentication for VPC connectivity. ### vpc_connectivity client_authentication sasl Argument Reference @@ -251,11 +251,11 @@ This resource supports the following arguments: ### broker_node_group_info storage_info Argument Reference -* `ebs_storage_info` - (Optional) A block that contains EBS volume information. See below. +* `ebs_storage_info` - (Optional) A block that contains EBS volume information. See [storage_info ebs_storage_info Argument Reference](#storage_info-ebs_storage_info-argument-reference) below. ### storage_info ebs_storage_info Argument Reference -* `provisioned_throughput` - (Optional) A block that contains EBS volume provisioned throughput information. To provision storage throughput, you must choose broker type kafka.m5.4xlarge or larger. See below. +* `provisioned_throughput` - (Optional) A block that contains EBS volume provisioned throughput information. To provision storage throughput, you must choose broker type kafka.m5.4xlarge or larger. See [ebs_storage_info provisioned_throughput Argument Reference](#ebs_storage_info-provisioned_throughput-argument-reference) below. * `volume_size` - (Optional) The size in GiB of the EBS volume for the data drive on each broker node. Minimum value of `1` and maximum value of `16384`. ### ebs_storage_info provisioned_throughput Argument Reference @@ -265,8 +265,8 @@ This resource supports the following arguments: ### client_authentication Argument Reference -* `sasl` - (Optional) Configuration block for specifying SASL client authentication. See below. -* `tls` - (Optional) Configuration block for specifying TLS client authentication. See below. +* `sasl` - (Optional) Configuration block for specifying SASL client authentication. See [client_authentication sasl Argument Reference](#client_authentication-sasl-argument-reference) below. +* `tls` - (Optional) Configuration block for specifying TLS client authentication. See [client_authentication tls Argument Reference](#client_authentication-tls-argument-reference) below. * `unauthenticated` - (Optional) Enables unauthenticated access. #### client_authentication sasl Argument Reference @@ -285,7 +285,7 @@ This resource supports the following arguments: ### encryption_info Argument Reference -* `encryption_in_transit` - (Optional) Configuration block to specify encryption in transit. See below. +* `encryption_in_transit` - (Optional) Configuration block to specify encryption in transit. See [encryption_info encryption_in_transit Argument Reference](#encryption_info-encryption_in_transit-argument-reference) below. * `encryption_at_rest_kms_key_arn` - (Optional) You may specify a KMS key short ID or ARN (it will always output an ARN) to use for encrypting your data at rest. If no key is specified, an AWS managed KMS ('aws/msk' managed service) key will be used for encrypting the data at rest. #### encryption_info encryption_in_transit Argument Reference @@ -295,12 +295,12 @@ This resource supports the following arguments: #### open_monitoring Argument Reference -* `prometheus` - (Required) Configuration block for Prometheus settings for open monitoring. See below. +* `prometheus` - (Required) Configuration block for Prometheus settings for open monitoring. See [open_monitoring prometheus Argument Reference](#open_monitoring-prometheus-argument-reference) below. #### open_monitoring prometheus Argument Reference -* `jmx_exporter` - (Optional) Configuration block for JMX Exporter. See below. -* `node_exporter` - (Optional) Configuration block for Node Exporter. See below. +* `jmx_exporter` - (Optional) Configuration block for JMX Exporter. See [open_monitoring prometheus jmx_exporter Argument Reference](#open_monitoring-prometheus-jmx_exporter-argument-reference) below. +* `node_exporter` - (Optional) Configuration block for Node Exporter. See [open_monitoring prometheus node_exporter Argument Reference](#open_monitoring-prometheus-node_exporter-argument-reference) below. #### open_monitoring prometheus jmx_exporter Argument Reference From 8c31b2f973df76859d7cd2fd5bf6c9e0b862200d Mon Sep 17 00:00:00 2001 From: tabito Date: Thu, 14 Aug 2025 09:30:30 +0900 Subject: [PATCH 1215/1301] add broker_logs Argument Reference --- website/docs/r/msk_cluster.html.markdown | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/website/docs/r/msk_cluster.html.markdown b/website/docs/r/msk_cluster.html.markdown index 8f12930d7c0b..35ad4c1ae792 100644 --- a/website/docs/r/msk_cluster.html.markdown +++ b/website/docs/r/msk_cluster.html.markdown @@ -312,7 +312,13 @@ This resource supports the following arguments: #### logging_info Argument Reference -* `broker_logs` - (Required) Configuration block for Broker Logs settings for logging info. See below. +* `broker_logs` - (Required) Configuration block for Broker Logs settings for logging info. See [logging_info broker_logs Argument Reference](#logging_info-broker_logs-argument-reference) below. + +#### logging_info broker_logs Argument Reference + +* `cloudwatch_logs` - (Optional) Configuration block for Cloudwatch Logs settings. See [logging_info broker_logs cloudwatch_logs Argument Reference](#logging_info-broker_logs-cloudwatch_logs-argument-reference) below. +* `firehose` - (Optional) Configuration block for Kinesis Data Firehose settings. See [logging_info broker_logs firehose Argument Reference](#logging_info-broker_logs-firehose-argument-reference) below. +* `s3` - (Optional) Configuration block for S3 settings. See [logging_info broker_logs s3 Argument Reference](#logging_info-broker_logs-s3-argument-reference) below. #### logging_info broker_logs cloudwatch_logs Argument Reference From be55959ae39276812731e0c65f3181c011e3e716 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Aug 2025 06:22:40 +0000 Subject: [PATCH 1216/1301] build(deps): bump golang.org/x/tools from 0.35.0 to 0.36.0 in /.ci/tools Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.35.0 to 0.36.0. - [Release notes](https://github.com/golang/tools/releases) - [Commits](https://github.com/golang/tools/compare/v0.35.0...v0.36.0) --- updated-dependencies: - dependency-name: golang.org/x/tools dependency-version: 0.36.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .ci/tools/go.mod | 14 +++++++------- .ci/tools/go.sum | 28 ++++++++++++++-------------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.ci/tools/go.mod b/.ci/tools/go.mod index 797651d84873..36818f622ce9 100644 --- a/.ci/tools/go.mod +++ b/.ci/tools/go.mod @@ -12,7 +12,7 @@ require ( github.com/pavius/impi v0.0.3 github.com/rhysd/actionlint v1.7.7 github.com/terraform-linters/tflint v0.58.1 - golang.org/x/tools v0.35.0 + golang.org/x/tools v0.36.0 mvdan.cc/gofumpt v0.8.0 ) @@ -371,16 +371,16 @@ require ( go.uber.org/automaxprocs v1.6.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/crypto v0.40.0 // indirect + golang.org/x/crypto v0.41.0 // indirect golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 // indirect golang.org/x/exp/typeparams v0.0.0-20250620022241-b7579e27df2b // indirect - golang.org/x/mod v0.26.0 // indirect - golang.org/x/net v0.42.0 // indirect + golang.org/x/mod v0.27.0 // indirect + golang.org/x/net v0.43.0 // indirect golang.org/x/oauth2 v0.30.0 // indirect golang.org/x/sync v0.16.0 // indirect - golang.org/x/sys v0.34.0 // indirect - golang.org/x/term v0.33.0 // indirect - golang.org/x/text v0.27.0 // indirect + golang.org/x/sys v0.35.0 // indirect + golang.org/x/term v0.34.0 // indirect + golang.org/x/text v0.28.0 // indirect golang.org/x/time v0.12.0 // indirect google.golang.org/api v0.242.0 // indirect google.golang.org/genproto v0.0.0-20250505200425-f936aa4a68b2 // indirect diff --git a/.ci/tools/go.sum b/.ci/tools/go.sum index 7fbdcac04c8b..9608022d1451 100644 --- a/.ci/tools/go.sum +++ b/.ci/tools/go.sum @@ -2049,8 +2049,8 @@ golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= -golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM= -golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY= +golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4= +golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -2119,8 +2119,8 @@ golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.26.0 h1:EGMPT//Ezu+ylkCijjPc+f4Aih7sZvaAr+O3EHBxvZg= -golang.org/x/mod v0.26.0/go.mod h1:/j6NAhSk8iQ723BGAUyoAcn7SlD7s15Dp9Nd/SfeaFQ= +golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ= +golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -2190,8 +2190,8 @@ golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= -golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs= -golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8= +golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= +golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -2358,8 +2358,8 @@ golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA= -golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= +golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -2375,8 +2375,8 @@ golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek= -golang.org/x/term v0.33.0 h1:NuFncQrRcaRvVmgRkvM3j/F00gWIAlcmlB8ACEKmGIg= -golang.org/x/term v0.33.0/go.mod h1:s18+ql9tYWp1IfpV9DmCtQDDSRBUjKaw9M1eAv5UeF0= +golang.org/x/term v0.34.0 h1:O/2T7POpk0ZZ7MAzMeWFSg6S5IpWd/RXDlM9hgM3DR4= +golang.org/x/term v0.34.0/go.mod h1:5jC53AEywhIVebHgPVeg0mj8OD3VO9OzclacVrqpaAw= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -2398,8 +2398,8 @@ golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= -golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4= -golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU= +golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng= +golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -2483,8 +2483,8 @@ golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= -golang.org/x/tools v0.35.0 h1:mBffYraMEf7aa0sB+NuKnuCy8qI/9Bughn8dC2Gu5r0= -golang.org/x/tools v0.35.0/go.mod h1:NKdj5HkL/73byiZSJjqJgKn3ep7KjFkBOkR/Hps3VPw= +golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg= +golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s= golang.org/x/tools/go/expect v0.1.1-deprecated h1:jpBZDwmgPhXsKZC6WhL20P4b/wmnpsEAGHaNy0n/rJM= golang.org/x/tools/go/expect v0.1.1-deprecated/go.mod h1:eihoPOH+FgIqa3FpoTwguz/bVUSGBlGQU67vpBeOrBY= golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated h1:1h2MnaIAIXISqTFKdENegdpAgUXz6NrPEsbIeWaBRvM= From 8a30c5bde9efc7bdb4ddeee55a4543a567095800 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Aug 2025 06:22:49 +0000 Subject: [PATCH 1217/1301] build(deps): bump github.com/golangci/golangci-lint/v2 in /.ci/tools Bumps [github.com/golangci/golangci-lint/v2](https://github.com/golangci/golangci-lint) from 2.3.1 to 2.4.0. - [Release notes](https://github.com/golangci/golangci-lint/releases) - [Changelog](https://github.com/golangci/golangci-lint/blob/main/CHANGELOG.md) - [Commits](https://github.com/golangci/golangci-lint/compare/v2.3.1...v2.4.0) --- updated-dependencies: - dependency-name: github.com/golangci/golangci-lint/v2 dependency-version: 2.4.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .ci/tools/go.mod | 24 ++++++++++++---------- .ci/tools/go.sum | 52 ++++++++++++++++++++++++++---------------------- 2 files changed, 41 insertions(+), 35 deletions(-) diff --git a/.ci/tools/go.mod b/.ci/tools/go.mod index 797651d84873..65c2cb34e105 100644 --- a/.ci/tools/go.mod +++ b/.ci/tools/go.mod @@ -5,14 +5,14 @@ go 1.24.6 require ( github.com/YakDriver/tfproviderdocs v0.22.0 github.com/client9/misspell v0.3.4 - github.com/golangci/golangci-lint/v2 v2.3.1 + github.com/golangci/golangci-lint/v2 v2.4.0 github.com/hashicorp/copywrite v0.22.0 github.com/hashicorp/go-changelog v0.0.0-20250127101332-effe3832fb0b github.com/katbyte/terrafmt v0.5.5 github.com/pavius/impi v0.0.3 github.com/rhysd/actionlint v1.7.7 github.com/terraform-linters/tflint v0.58.1 - golang.org/x/tools v0.35.0 + golang.org/x/tools v0.36.0 mvdan.cc/gofumpt v0.8.0 ) @@ -29,7 +29,9 @@ require ( cloud.google.com/go/storage v1.53.0 // indirect codeberg.org/chavacava/garif v0.2.0 // indirect dario.cat/mergo v1.0.1 // indirect - github.com/4meepo/tagalign v1.4.2 // indirect + dev.gaijin.team/go/exhaustruct/v4 v4.0.0 // indirect + dev.gaijin.team/go/golib v0.6.0 // indirect + github.com/4meepo/tagalign v1.4.3 // indirect github.com/Abirdcfly/dupword v0.1.6 // indirect github.com/AlecAivazis/survey/v2 v2.3.7 // indirect github.com/AlwxSin/noinlineerr v1.0.5 // indirect @@ -38,7 +40,6 @@ require ( github.com/Antonboom/testifylint v1.6.1 // indirect github.com/BurntSushi/toml v1.5.0 // indirect github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 // indirect - github.com/GaijinEntertainment/go-exhaustruct/v3 v3.3.1 // indirect github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.27.0 // indirect github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.51.0 // indirect github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.51.0 // indirect @@ -49,10 +50,11 @@ require ( github.com/OpenPeeDeeP/depguard/v2 v2.2.1 // indirect github.com/ProtonMail/go-crypto v1.1.3 // indirect github.com/agext/levenshtein v1.2.3 // indirect - github.com/alecthomas/chroma/v2 v2.19.0 // indirect + github.com/alecthomas/chroma/v2 v2.20.0 // indirect github.com/alecthomas/go-check-sumtype v0.3.1 // indirect github.com/alexkohler/nakedret/v2 v2.0.6 // indirect github.com/alexkohler/prealloc v1.0.0 // indirect + github.com/alfatraining/structtag v1.0.0 // indirect github.com/alingse/asasalint v0.0.11 // indirect github.com/alingse/nilnesserr v0.2.0 // indirect github.com/apparentlymart/go-cidr v1.1.0 // indirect @@ -371,16 +373,16 @@ require ( go.uber.org/automaxprocs v1.6.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - golang.org/x/crypto v0.40.0 // indirect + golang.org/x/crypto v0.41.0 // indirect golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 // indirect golang.org/x/exp/typeparams v0.0.0-20250620022241-b7579e27df2b // indirect - golang.org/x/mod v0.26.0 // indirect - golang.org/x/net v0.42.0 // indirect + golang.org/x/mod v0.27.0 // indirect + golang.org/x/net v0.43.0 // indirect golang.org/x/oauth2 v0.30.0 // indirect golang.org/x/sync v0.16.0 // indirect - golang.org/x/sys v0.34.0 // indirect - golang.org/x/term v0.33.0 // indirect - golang.org/x/text v0.27.0 // indirect + golang.org/x/sys v0.35.0 // indirect + golang.org/x/term v0.34.0 // indirect + golang.org/x/text v0.28.0 // indirect golang.org/x/time v0.12.0 // indirect google.golang.org/api v0.242.0 // indirect google.golang.org/genproto v0.0.0-20250505200425-f936aa4a68b2 // indirect diff --git a/.ci/tools/go.sum b/.ci/tools/go.sum index 7fbdcac04c8b..bb546c2e2f9f 100644 --- a/.ci/tools/go.sum +++ b/.ci/tools/go.sum @@ -624,13 +624,17 @@ codeberg.org/chavacava/garif v0.2.0 h1:F0tVjhYbuOCnvNcU3YSpO6b3Waw6Bimy4K0mM8y6M codeberg.org/chavacava/garif v0.2.0/go.mod h1:P2BPbVbT4QcvLZrORc2T29szK3xEOlnl0GiPTJmEqBQ= dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s= dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= +dev.gaijin.team/go/exhaustruct/v4 v4.0.0 h1:873r7aNneqoBB3IaFIzhvt2RFYTuHgmMjoKfwODoI1Y= +dev.gaijin.team/go/exhaustruct/v4 v4.0.0/go.mod h1:aZ/k2o4Y05aMJtiux15x8iXaumE88YdiB0Ai4fXOzPI= +dev.gaijin.team/go/golib v0.6.0 h1:v6nnznFTs4bppib/NyU1PQxobwDHwCXXl15P7DV5Zgo= +dev.gaijin.team/go/golib v0.6.0/go.mod h1:uY1mShx8Z/aNHWDyAkZTkX+uCi5PdX7KsG1eDQa2AVE= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc= -github.com/4meepo/tagalign v1.4.2 h1:0hcLHPGMjDyM1gHG58cS73aQF8J4TdVR96TZViorO9E= -github.com/4meepo/tagalign v1.4.2/go.mod h1:+p4aMyFM+ra7nb41CnFG6aSDXqRxU/w1VQqScKqDARI= +github.com/4meepo/tagalign v1.4.3 h1:Bnu7jGWwbfpAie2vyl63Zup5KuRv21olsPIha53BJr8= +github.com/4meepo/tagalign v1.4.3/go.mod h1:00WwRjiuSbrRJnSVeGWPLp2epS5Q/l4UEy0apLLS37c= github.com/Abirdcfly/dupword v0.1.6 h1:qeL6u0442RPRe3mcaLcbaCi2/Y/hOcdtw6DE9odjz9c= github.com/Abirdcfly/dupword v0.1.6/go.mod h1:s+BFMuL/I4YSiFv29snqyjwzDp4b65W2Kvy+PKzZ6cw= github.com/AdamKorcz/go-fuzz-headers-1 v0.0.0-20230919221257-8b5d3ce2d11d h1:zjqpY4C7H15HjRPEenkS4SAn3Jy2eRRjkjZbGR30TOg= @@ -663,8 +667,6 @@ github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 h1:sHglBQTwgx+rWPdisA5ynNEsoARbiCBOyGcJM4/OzsM= github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= -github.com/GaijinEntertainment/go-exhaustruct/v3 v3.3.1 h1:Sz1JIXEcSfhz7fUi7xHnhpIE0thVASYjvosApmHuD2k= -github.com/GaijinEntertainment/go-exhaustruct/v3 v3.3.1/go.mod h1:n/LSCXNuIYqVfBlVXyHfMQkZDdp1/mmxfSjADd3z1Zg= github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.27.0 h1:ErKg/3iS1AKcTkf3yixlZ54f9U1rljCkQyEXWUnIUxc= github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.27.0/go.mod h1:yAZHSGnqScoU556rBOVkwLze6WP5N+U11RHuWaGVxwY= github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.51.0 h1:fYE9p3esPxA/C0rQ0AHhP0drtPXDRhaWiwg1DPqO7IU= @@ -710,12 +712,12 @@ github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGW github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs= github.com/alecthomas/assert/v2 v2.11.0 h1:2Q9r3ki8+JYXvGsDyBXwH3LcJ+WK5D0gc5E8vS6K3D0= github.com/alecthomas/assert/v2 v2.11.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k= -github.com/alecthomas/chroma/v2 v2.19.0 h1:Im+SLRgT8maArxv81mULDWN8oKxkzboH07CHesxElq4= -github.com/alecthomas/chroma/v2 v2.19.0/go.mod h1:RVX6AvYm4VfYe/zsk7mjHueLDZor3aWCNE14TFlepBk= +github.com/alecthomas/chroma/v2 v2.20.0 h1:sfIHpxPyR07/Oylvmcai3X/exDlE8+FA820NTz+9sGw= +github.com/alecthomas/chroma/v2 v2.20.0/go.mod h1:e7tViK0xh/Nf4BYHl00ycY6rV7b8iXBksI9E359yNmA= github.com/alecthomas/go-check-sumtype v0.3.1 h1:u9aUvbGINJxLVXiFvHUlPEaD7VDULsrxJb4Aq31NLkU= github.com/alecthomas/go-check-sumtype v0.3.1/go.mod h1:A8TSiN3UPRw3laIgWEUOHHLPa6/r9MtoigdlP5h3K/E= -github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= -github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= +github.com/alecthomas/repr v0.5.1 h1:E3G4t2QbHTSNpPKBgMTln5KLkZHLOcU7r37J4pXBuIg= +github.com/alecthomas/repr v0.5.1/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= @@ -727,6 +729,8 @@ github.com/alexkohler/nakedret/v2 v2.0.6 h1:ME3Qef1/KIKr3kWX3nti3hhgNxw6aqN5pZmQ github.com/alexkohler/nakedret/v2 v2.0.6/go.mod h1:l3RKju/IzOMQHmsEvXwkqMDzHHvurNQfAgE1eVmT40Q= github.com/alexkohler/prealloc v1.0.0 h1:Hbq0/3fJPQhNkN0dR95AVrr6R7tou91y0uHG5pOcUuw= github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cvfHR56wJVlKE= +github.com/alfatraining/structtag v1.0.0 h1:2qmcUqNcCoyVJ0up879K614L9PazjBSFruTB0GOFjCc= +github.com/alfatraining/structtag v1.0.0/go.mod h1:p3Xi5SwzTi+Ryj64DqjLWz7XurHxbGsq6y3ubePJPus= github.com/alingse/asasalint v0.0.11 h1:SFwnQXJ49Kx/1GghOFz1XGqHYKp21Kq1nHad/0WQRnw= github.com/alingse/asasalint v0.0.11/go.mod h1:nCaoMhw7a9kSJObvQyVzNTPBDbNpdocqrSP7t/cW5+I= github.com/alingse/nilnesserr v0.2.0 h1:raLem5KG7EFVb4UIDAXgrv3N2JIaffeKNtcEXkEWd/w= @@ -1156,8 +1160,8 @@ github.com/golangci/go-printf-func-name v0.1.0 h1:dVokQP+NMTO7jwO4bwsRwLWeudOVUP github.com/golangci/go-printf-func-name v0.1.0/go.mod h1:wqhWFH5mUdJQhweRnldEywnR5021wTdZSNgwYceV14s= github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d h1:viFft9sS/dxoYY0aiOTsLKO2aZQAPT4nlQCsimGcSGE= github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d/go.mod h1:ivJ9QDg0XucIkmwhzCDsqcnxxlDStoTl89jDMIoNxKY= -github.com/golangci/golangci-lint/v2 v2.3.1 h1:kregGxX/IsDeHCmBbHo0LKJ5wNLKMGosMBTrxKyIweM= -github.com/golangci/golangci-lint/v2 v2.3.1/go.mod h1:JEcfo5MEAzo6nY7SLzLzhHoYBJudAd55rgB5ZYOHrXE= +github.com/golangci/golangci-lint/v2 v2.4.0 h1:qz6O6vr7kVzXJqyvHjHSz5fA3D+PM8v96QU5gxZCNWM= +github.com/golangci/golangci-lint/v2 v2.4.0/go.mod h1:Oq7vuAf6L1iNL34uHDcsIF6Mnc0amOPdsT3/GlpHD+I= github.com/golangci/golines v0.0.0-20250217134842-442fd0091d95 h1:AkK+w9FZBXlU/xUmBtSJN1+tAI4FIvy5WtnUnY8e4p8= github.com/golangci/golines v0.0.0-20250217134842-442fd0091d95/go.mod h1:k9mmcyWKSTMcPPvQUCfRWWQ9VHJ1U9Dc0R7kaXAgtnQ= github.com/golangci/misspell v0.7.0 h1:4GOHr/T1lTW0hhR4tgaaV1WS/lJ+ncvYCoFKmqJsj0c= @@ -2049,8 +2053,8 @@ golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= -golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM= -golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY= +golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4= +golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -2119,8 +2123,8 @@ golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.26.0 h1:EGMPT//Ezu+ylkCijjPc+f4Aih7sZvaAr+O3EHBxvZg= -golang.org/x/mod v0.26.0/go.mod h1:/j6NAhSk8iQ723BGAUyoAcn7SlD7s15Dp9Nd/SfeaFQ= +golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ= +golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -2190,8 +2194,8 @@ golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= -golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs= -golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8= +golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= +golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -2358,8 +2362,8 @@ golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA= -golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= +golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -2375,8 +2379,8 @@ golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek= -golang.org/x/term v0.33.0 h1:NuFncQrRcaRvVmgRkvM3j/F00gWIAlcmlB8ACEKmGIg= -golang.org/x/term v0.33.0/go.mod h1:s18+ql9tYWp1IfpV9DmCtQDDSRBUjKaw9M1eAv5UeF0= +golang.org/x/term v0.34.0 h1:O/2T7POpk0ZZ7MAzMeWFSg6S5IpWd/RXDlM9hgM3DR4= +golang.org/x/term v0.34.0/go.mod h1:5jC53AEywhIVebHgPVeg0mj8OD3VO9OzclacVrqpaAw= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -2398,8 +2402,8 @@ golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= -golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4= -golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU= +golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng= +golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -2483,8 +2487,8 @@ golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= -golang.org/x/tools v0.35.0 h1:mBffYraMEf7aa0sB+NuKnuCy8qI/9Bughn8dC2Gu5r0= -golang.org/x/tools v0.35.0/go.mod h1:NKdj5HkL/73byiZSJjqJgKn3ep7KjFkBOkR/Hps3VPw= +golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg= +golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s= golang.org/x/tools/go/expect v0.1.1-deprecated h1:jpBZDwmgPhXsKZC6WhL20P4b/wmnpsEAGHaNy0n/rJM= golang.org/x/tools/go/expect v0.1.1-deprecated/go.mod h1:eihoPOH+FgIqa3FpoTwguz/bVUSGBlGQU67vpBeOrBY= golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated h1:1h2MnaIAIXISqTFKdENegdpAgUXz6NrPEsbIeWaBRvM= From e2c87f1a8dababd35508dd4f0520d3effa50eec2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Aug 2025 06:31:18 +0000 Subject: [PATCH 1218/1301] build(deps): bump the aws-sdk-go-v2 group across 1 directory with 3 updates Bumps the aws-sdk-go-v2 group with 3 updates in the / directory: [github.com/aws/aws-sdk-go-v2/service/datazone](https://github.com/aws/aws-sdk-go-v2), [github.com/aws/aws-sdk-go-v2/service/fsx](https://github.com/aws/aws-sdk-go-v2) and [github.com/aws/aws-sdk-go-v2/service/sagemaker](https://github.com/aws/aws-sdk-go-v2). Updates `github.com/aws/aws-sdk-go-v2/service/datazone` from 1.36.0 to 1.37.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.36.0...v1.37.0) Updates `github.com/aws/aws-sdk-go-v2/service/fsx` from 1.58.0 to 1.59.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.58.0...service/s3/v1.59.0) Updates `github.com/aws/aws-sdk-go-v2/service/sagemaker` from 1.208.0 to 1.209.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/ec2/v1.208.0...service/ec2/v1.209.0) --- updated-dependencies: - dependency-name: github.com/aws/aws-sdk-go-v2/service/datazone dependency-version: 1.37.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/fsx dependency-version: 1.59.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/sagemaker dependency-version: 1.209.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 ... Signed-off-by: dependabot[bot] --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index 71c4d39cae54..0ed65fa0e03f 100644 --- a/go.mod +++ b/go.mod @@ -90,7 +90,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/dataexchange v1.38.0 github.com/aws/aws-sdk-go-v2/service/datapipeline v1.29.0 github.com/aws/aws-sdk-go-v2/service/datasync v1.53.0 - github.com/aws/aws-sdk-go-v2/service/datazone v1.36.0 + github.com/aws/aws-sdk-go-v2/service/datazone v1.37.0 github.com/aws/aws-sdk-go-v2/service/dax v1.27.0 github.com/aws/aws-sdk-go-v2/service/detective v1.36.0 github.com/aws/aws-sdk-go-v2/service/devicefarm v1.34.0 @@ -125,7 +125,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/firehose v1.40.0 github.com/aws/aws-sdk-go-v2/service/fis v1.36.0 github.com/aws/aws-sdk-go-v2/service/fms v1.43.0 - github.com/aws/aws-sdk-go-v2/service/fsx v1.58.0 + github.com/aws/aws-sdk-go-v2/service/fsx v1.59.0 github.com/aws/aws-sdk-go-v2/service/gamelift v1.45.0 github.com/aws/aws-sdk-go-v2/service/glacier v1.30.0 github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.33.0 @@ -225,7 +225,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/s3outposts v1.32.0 github.com/aws/aws-sdk-go-v2/service/s3tables v1.9.0 github.com/aws/aws-sdk-go-v2/service/s3vectors v1.4.0 - github.com/aws/aws-sdk-go-v2/service/sagemaker v1.208.0 + github.com/aws/aws-sdk-go-v2/service/sagemaker v1.209.0 github.com/aws/aws-sdk-go-v2/service/scheduler v1.16.0 github.com/aws/aws-sdk-go-v2/service/schemas v1.32.0 github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.38.0 diff --git a/go.sum b/go.sum index 7673709a9db5..1dd77f122e01 100644 --- a/go.sum +++ b/go.sum @@ -191,8 +191,8 @@ github.com/aws/aws-sdk-go-v2/service/datapipeline v1.29.0 h1:5a76AMaI1x9YHhL6qcl github.com/aws/aws-sdk-go-v2/service/datapipeline v1.29.0/go.mod h1:iXVvFT/t6B96iXExuxVp4QMKfU2XUIGazYkptjmF+AQ= github.com/aws/aws-sdk-go-v2/service/datasync v1.53.0 h1:6e3BS+A00UPLzkgtWj5Sakvom0G5qAn/dEk8U7QG/n4= github.com/aws/aws-sdk-go-v2/service/datasync v1.53.0/go.mod h1:4gU+dv/Prdb8CB3TaRbrSFLO2tSqPNRnDqIX9IPuQHQ= -github.com/aws/aws-sdk-go-v2/service/datazone v1.36.0 h1:YEZFj4KUY0do1SEFytmxyrRXbB92blueDxRecGqqdTc= -github.com/aws/aws-sdk-go-v2/service/datazone v1.36.0/go.mod h1:TG25xNgljNX2+CjQ0gkXiOjJG6BTyM7gRJdfC6jGIBw= +github.com/aws/aws-sdk-go-v2/service/datazone v1.37.0 h1:2gorOSV7BNgRqmV6z9u+dhZ1kkPcaaAF8XMnK3ZUfKw= +github.com/aws/aws-sdk-go-v2/service/datazone v1.37.0/go.mod h1:TG25xNgljNX2+CjQ0gkXiOjJG6BTyM7gRJdfC6jGIBw= github.com/aws/aws-sdk-go-v2/service/dax v1.27.0 h1:wDyL0EZw99zVGuzf4E/AZMiHVp/V6j9+Z8VkP2Xr55M= github.com/aws/aws-sdk-go-v2/service/dax v1.27.0/go.mod h1:SG2yNQjCwUNkjUxW7YCsUiIKQgoWUZpblEHpmf6Az3E= github.com/aws/aws-sdk-go-v2/service/detective v1.36.0 h1:0av6yvy0lYUtlgDnZoinqIsYbjM8D4JkEnXzh0WKWwM= @@ -261,8 +261,8 @@ github.com/aws/aws-sdk-go-v2/service/fis v1.36.0 h1:zsDCgJ6lWocX4wArsCQre2A92JzB github.com/aws/aws-sdk-go-v2/service/fis v1.36.0/go.mod h1:OOOhb7pKoJhZKCVzheRRd+aPKv9Ep+zNUPQtfcoxP5M= github.com/aws/aws-sdk-go-v2/service/fms v1.43.0 h1:tTeH6402fy5Z8JHuUO6aL2yn5WFzWSKF6epxYvIPAMs= github.com/aws/aws-sdk-go-v2/service/fms v1.43.0/go.mod h1:YtgJpTqlpa7n71B9snaa05vHND7UbQyOHjU4zouPpUM= -github.com/aws/aws-sdk-go-v2/service/fsx v1.58.0 h1:PsSyOQi3cGH9SVAOIKKQzRN30eNP3ZwkMJal4SZBofk= -github.com/aws/aws-sdk-go-v2/service/fsx v1.58.0/go.mod h1:tUva+sOgmPwfMu02pXdg+zKO02Zcu812xG8doKd7ogA= +github.com/aws/aws-sdk-go-v2/service/fsx v1.59.0 h1:+EESGw/7+Sxr1ISwKdbwlEBDY+w9TZSkpe+jhZnGDTk= +github.com/aws/aws-sdk-go-v2/service/fsx v1.59.0/go.mod h1:tUva+sOgmPwfMu02pXdg+zKO02Zcu812xG8doKd7ogA= github.com/aws/aws-sdk-go-v2/service/gamelift v1.45.0 h1:JdlVzc51kIkdne4ilxnHAfKfXyhzkJ3eYrfZwk38j/k= github.com/aws/aws-sdk-go-v2/service/gamelift v1.45.0/go.mod h1:j6XU2uooS9YUEfpviJM3f/TFtGlBh/yYHUMhO82XT3o= github.com/aws/aws-sdk-go-v2/service/glacier v1.30.0 h1:GILchKM1cgGoIjYEYh3oV2o4Xy4v745NtPCo5WIhLFk= @@ -471,8 +471,8 @@ github.com/aws/aws-sdk-go-v2/service/s3tables v1.9.0 h1:b+DS5OdH3yZCVMHLs/8aA9Nu github.com/aws/aws-sdk-go-v2/service/s3tables v1.9.0/go.mod h1:jVLVoLsG7vN8XEO7OQ7Bqw6qqHXMqWbSBMZ7tmY8R9Q= github.com/aws/aws-sdk-go-v2/service/s3vectors v1.4.0 h1:9xIfi7XPNyqbrZBCVsAnxlajEsNLP4qZ/T+rw6NYtZ0= github.com/aws/aws-sdk-go-v2/service/s3vectors v1.4.0/go.mod h1:1ByJ/xRNkPDVddSxcpou91CiBIose3JWIWwFw/QjzD8= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.208.0 h1:S0ilMJd8zK7/YGzRl4OZRnkYc7MocYwI1PYQFMn2MIs= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.208.0/go.mod h1:sawKpnbUfWJb/Q/i2P3rXiM+vXUosAqJ1KOsuKxPRxU= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.209.0 h1:d4f7/eKImxS52878zZOgRsi3mg7LAQNl9uyIN6hfuQ8= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.209.0/go.mod h1:sawKpnbUfWJb/Q/i2P3rXiM+vXUosAqJ1KOsuKxPRxU= github.com/aws/aws-sdk-go-v2/service/scheduler v1.16.0 h1:vlmeLcOZ1PtqEpgRIZOOw49DABG9EWYkHHmC96IBgBM= github.com/aws/aws-sdk-go-v2/service/scheduler v1.16.0/go.mod h1:2XG5FGAj7Ao8KR3scdaU76/YEsdUG304Qt1dIUfHIGM= github.com/aws/aws-sdk-go-v2/service/schemas v1.32.0 h1:37TFUN36cFLnIj32FFanXqD+uuXwASxCEEckhdBjCnE= From 93c65c5c2280b891acb23559eb74287102443da8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Aug 2025 06:58:14 +0000 Subject: [PATCH 1219/1301] build(deps): bump breathingdust/github-jira-tidy from 0.12.0 to 0.13.0 Bumps [breathingdust/github-jira-tidy](https://github.com/breathingdust/github-jira-tidy) from 0.12.0 to 0.13.0. - [Release notes](https://github.com/breathingdust/github-jira-tidy/releases) - [Commits](https://github.com/breathingdust/github-jira-tidy/compare/b1d3ce0770e538f0a192911b9dc250ac11064923...df7fb457b63e8dfd99f81167755ddc83d7ac93bb) --- updated-dependencies: - dependency-name: breathingdust/github-jira-tidy dependency-version: 0.13.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/post-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/post-publish.yml b/.github/workflows/post-publish.yml index c8f6544c7456..e0ff7d658d64 100644 --- a/.github/workflows/post-publish.yml +++ b/.github/workflows/post-publish.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Tidy Jira - uses: breathingdust/github-jira-tidy@b1d3ce0770e538f0a192911b9dc250ac11064923 # v0.12.0 + uses: breathingdust/github-jira-tidy@df7fb457b63e8dfd99f81167755ddc83d7ac93bb # v0.13.0 with: jira_host: 'hashicorp.atlassian.net' jira_username: 'sdavis@hashicorp.com' From de96f54477bc2c9df1478bc39e4f4dd29de909ef Mon Sep 17 00:00:00 2001 From: Ismayil Mirzali Date: Thu, 3 Jul 2025 16:48:26 +0300 Subject: [PATCH 1220/1301] fix: aws_vpc_ipam_pool_cidr netmask length diff This fixes the problem where importing an existing IPAM Pool CIDR can cause recreation despite the netmask lengths being identical. Signed-off-by: Ismayil Mirzali --- internal/service/ec2/vpc_ipam_pool_cidr.go | 9 ++------- internal/service/ec2/vpc_ipam_pool_cidr_test.go | 6 ------ 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/internal/service/ec2/vpc_ipam_pool_cidr.go b/internal/service/ec2/vpc_ipam_pool_cidr.go index f158abf2db67..1883fa77000d 100644 --- a/internal/service/ec2/vpc_ipam_pool_cidr.go +++ b/internal/service/ec2/vpc_ipam_pool_cidr.go @@ -88,16 +88,10 @@ func resourceIPAMPoolCIDR() *schema.Resource { "netmask_length": { Type: schema.TypeInt, Optional: true, + Computed: true, ForceNew: true, ValidateFunc: validation.IntBetween(0, 128), ConflictsWith: []string{"cidr"}, - // NetmaskLength is not outputted by GetIpamPoolCidrsOutput - DiffSuppressFunc: func(k, o, n string, d *schema.ResourceData) bool { - if o != "0" && n == "0" { - return true - } - return false - }, }, }, } @@ -171,6 +165,7 @@ func resourceIPAMPoolCIDRRead(ctx context.Context, d *schema.ResourceData, meta d.Set("cidr", output.Cidr) d.Set("ipam_pool_cidr_id", output.IpamPoolCidrId) d.Set("ipam_pool_id", poolID) + d.Set("netmask_length", output.NetmaskLength) return diags } diff --git a/internal/service/ec2/vpc_ipam_pool_cidr_test.go b/internal/service/ec2/vpc_ipam_pool_cidr_test.go index 0d84f35fed7d..a77e71734658 100644 --- a/internal/service/ec2/vpc_ipam_pool_cidr_test.go +++ b/internal/service/ec2/vpc_ipam_pool_cidr_test.go @@ -44,9 +44,6 @@ func TestAccIPAMPoolCIDR_basic(t *testing.T) { // nosemgrep:ci.vpc-in-test-name ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{ - "netmask_length", - }, }, }, }) @@ -77,9 +74,6 @@ func TestAccIPAMPoolCIDR_basicNetmaskLength(t *testing.T) { // nosemgrep:ci.vpc- ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateVerifyIgnore: []string{ - "netmask_length", - }, }, }, }) From 359a727b43c679dae0a2907327e7cdbe65fd2071 Mon Sep 17 00:00:00 2001 From: Ismayil Mirzali Date: Fri, 4 Jul 2025 14:11:17 +0300 Subject: [PATCH 1221/1301] docs: add changelog for #43262 Signed-off-by: Ismayil Mirzali --- .changelog/43262.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/43262.txt diff --git a/.changelog/43262.txt b/.changelog/43262.txt new file mode 100644 index 000000000000..102842ebc7cd --- /dev/null +++ b/.changelog/43262.txt @@ -0,0 +1,3 @@ +```release-note:bug +resource/aws_vpc_ipam_pool_cidr: Fix netmask_length not being saved and diffed correctly +``` From a3b1bc0817ed4f5849b23320eb941f82f0e2ab2a Mon Sep 17 00:00:00 2001 From: changelogbot Date: Thu, 14 Aug 2025 13:25:47 +0000 Subject: [PATCH 1222/1301] Update CHANGELOG.md for #43878 --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4596a9767a1c..02a6d0100fd2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ ENHANCEMENTS: * resource/aws_cloudwatch_event_rule: Add resource identity support ([#43758](https://github.com/hashicorp/terraform-provider-aws/issues/43758)) * resource/aws_cloudwatch_metric_alarm: Add resource identity support ([#43759](https://github.com/hashicorp/terraform-provider-aws/issues/43759)) * resource/aws_dynamodb_table: Add `replica.deletion_protection_enabled` argument ([#43240](https://github.com/hashicorp/terraform-provider-aws/issues/43240)) +* resource/aws_ecs_service: Remove Terraform default for `availability_zone_rebalancing` and change the attribute to Optional and Computed. This allow ECS to default to `ENABLED` for new resources compatible with *AvailabilityZoneRebalancing* and maintain an existing service's `availability_zone_rebalancing` value during update when not configured. If an existing service never had an `availability_zone_rebalancing` value configured and is updated, ECS will treat this as `DISABLED` ([#43241](https://github.com/hashicorp/terraform-provider-aws/issues/43241)) * resource/aws_eks_cluster: Add `deletion_protection` argument ([#43752](https://github.com/hashicorp/terraform-provider-aws/issues/43752)) * resource/aws_lambda_function: Add resource identity support ([#43821](https://github.com/hashicorp/terraform-provider-aws/issues/43821)) * resource/aws_sns_topic_data_protection_policy: Add resource identity support ([#43830](https://github.com/hashicorp/terraform-provider-aws/issues/43830)) @@ -25,6 +26,7 @@ BUG FIXES: * resource/aws_cognito_risk_configuration: Make `account_takeover_risk_configuration.notify_configuration` optional ([#33624](https://github.com/hashicorp/terraform-provider-aws/issues/33624)) * resource/aws_ecs_service: Fix tagging failure after upgrading to v6 provider ([#43816](https://github.com/hashicorp/terraform-provider-aws/issues/43816)) * resource/aws_lambda_function: Fix missing value for `reserved_concurrent_executions` attribute when a published version exists. This functionality requires the `lambda:GetFunctionConcurrency` IAM permission ([#43753](https://github.com/hashicorp/terraform-provider-aws/issues/43753)) +* resource/aws_s3tables_table: Fix `runtime error: invalid memory address or nil pointer dereference` panics when `GetTableMaintenanceConfiguration` returns an error ([#43764](https://github.com/hashicorp/terraform-provider-aws/issues/43764)) * resource/aws_sagemaker_user_profile: Fix incomplete regex for `user_profile_name` ([#43807](https://github.com/hashicorp/terraform-provider-aws/issues/43807)) * resource/aws_servicequotas_service_quota: Add validation, during `create`, to check if new value is less than current value of quota ([#43545](https://github.com/hashicorp/terraform-provider-aws/issues/43545)) * resource/aws_storagegateway_gateway: Handle `InvalidGatewayRequestException: The specified gateway is not connected` errors during Read by using the [`ListGateways` API](https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_ListGateways.html) to return minimal information about a disconnected gateway. This functionality requires the `storagegateway:ListGateways` IAM permission ([#43819](https://github.com/hashicorp/terraform-provider-aws/issues/43819)) From b74715ac9f944d6218f46db0d8cbc90543e1a8f1 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 14 Aug 2025 09:39:25 -0400 Subject: [PATCH 1223/1301] Tweak CHANGELOG entry. --- .changelog/43871.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.changelog/43871.txt b/.changelog/43871.txt index b88144567b24..f3af9a55e871 100644 --- a/.changelog/43871.txt +++ b/.changelog/43871.txt @@ -1,3 +1,2 @@ ```release-note:bug -resource/aws_ecs_service: Out-of-Band changes to `service_connect_configuration` are now detected in `terraform plan` -``` \ No newline at end of file +resource/aws_ecs_service: Fix refreshing `service_connect_configuration` when deleted outside of Terraform \ No newline at end of file From 0c667ad26b1a7238be51d839c8b9f61663bbc97b Mon Sep 17 00:00:00 2001 From: tabito Date: Fri, 15 Aug 2025 00:19:42 +0900 Subject: [PATCH 1224/1301] implement `image_tag_mutability_exclusion_filter` --- .../ecr/repository_creation_template.go | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/internal/service/ecr/repository_creation_template.go b/internal/service/ecr/repository_creation_template.go index e720b08bd987..6f206b0753f7 100644 --- a/internal/service/ecr/repository_creation_template.go +++ b/internal/service/ecr/repository_creation_template.go @@ -86,6 +86,32 @@ func resourceRepositoryCreationTemplate() *schema.Resource { Default: types.ImageTagMutabilityMutable, ValidateDiagFunc: enum.Validate[types.ImageTagMutability](), }, + "image_tag_mutability_exclusion_filter": { + Type: schema.TypeList, + Optional: true, + MaxItems: 5, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + names.AttrFilter: { + Type: schema.TypeString, + Required: true, + ValidateDiagFunc: validation.AllDiag( + validation.ToDiagFunc(validation.StringLenBetween(1, 128)), + validation.ToDiagFunc(validation.StringMatch( + regexache.MustCompile(`^[a-zA-Z0-9._*-]+$`), + "must contain only letters, numbers, and special characters (._*-)", + )), + validateImageTagMutabilityExclusionFilter(), + ), + }, + "filter_type": { + Type: schema.TypeString, + Required: true, + ValidateDiagFunc: enum.Validate[types.ImageTagMutabilityExclusionFilterType](), + }, + }, + }, + }, "lifecycle_policy": { Type: schema.TypeString, Optional: true, @@ -141,6 +167,10 @@ func resourceRepositoryCreationTemplateCreate(ctx context.Context, d *schema.Res input.Description = aws.String(v.(string)) } + if v, ok := d.GetOk("image_tag_mutability_exclusion_filter"); ok && len(v.([]any)) > 0 && v.([]any)[0] != nil { + input.ImageTagMutabilityExclusionFilters = expandImageTagMutabilityExclusionFilters(v.([]any)) + } + if v, ok := d.GetOk("lifecycle_policy"); ok { policy, err := structure.NormalizeJsonString(v.(string)) if err != nil { @@ -198,6 +228,10 @@ func resourceRepositoryCreationTemplateRead(ctx context.Context, d *schema.Resou } d.Set("image_tag_mutability", rct.ImageTagMutability) + if err := d.Set("image_tag_mutability_exclusion_filter", flattenImageTagMutabilityExclusionFilters(rct.ImageTagMutabilityExclusionFilters)); err != nil { + return sdkdiag.AppendErrorf(diags, "setting image_tag_mutability_exclusion_filter: %s", err) + } + if _, err := equivalentLifecyclePolicyJSON(d.Get("lifecycle_policy").(string), aws.ToString(rct.LifecyclePolicy)); err != nil { return sdkdiag.AppendFromErr(diags, err) } @@ -258,6 +292,12 @@ func resourceRepositoryCreationTemplateUpdate(ctx context.Context, d *schema.Res input.ImageTagMutability = types.ImageTagMutability((d.Get("image_tag_mutability").(string))) } + if d.HasChange("image_tag_mutability_exclusion_filter") { + // To use image_tag_mutability_exclusion_filter, image_tag_mutability must be set + input.ImageTagMutability = types.ImageTagMutability((d.Get("image_tag_mutability").(string))) + input.ImageTagMutabilityExclusionFilters = expandImageTagMutabilityExclusionFilters(d.Get("image_tag_mutability_exclusion_filter").([]any)) + } + if d.HasChange("lifecycle_policy") { policy, err := structure.NormalizeJsonString(d.Get("lifecycle_policy").(string)) if err != nil { From aa9a7374b88723bad6246d8aff135b331c94c25b Mon Sep 17 00:00:00 2001 From: tabito Date: Fri, 15 Aug 2025 00:20:27 +0900 Subject: [PATCH 1225/1301] add an acctest for the resource --- .../ecr/repository_creation_template_test.go | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/internal/service/ecr/repository_creation_template_test.go b/internal/service/ecr/repository_creation_template_test.go index e9480a258e5b..bfb633d49edf 100644 --- a/internal/service/ecr/repository_creation_template_test.go +++ b/internal/service/ecr/repository_creation_template_test.go @@ -197,6 +197,50 @@ func TestAccECRRepositoryCreationTemplate_root(t *testing.T) { }) } +func TestAccECRRepositoryCreationTemplate_mutabilityWithExclusion(t *testing.T) { + ctx := acctest.Context(t) + repositoryPrefix := "tf-test-" + sdkacctest.RandString(8) + resourceName := "aws_ecr_repository_creation_template.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.ECRServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckRepositoryCreationTemplateDestroy(ctx), + Steps: []resource.TestStep{ + { + Config: testAccRepositoryCreationTemplateConfig_mutabilityWithExclusion(repositoryPrefix, "latest*", "prod-*"), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckRepositoryCreationTemplateExists(ctx, resourceName), + resource.TestCheckResourceAttr(resourceName, "image_tag_mutability", string(types.ImageTagMutabilityMutableWithExclusion)), + resource.TestCheckResourceAttr(resourceName, "image_tag_mutability_exclusion_filter.#", "2"), + resource.TestCheckResourceAttr(resourceName, "image_tag_mutability_exclusion_filter.0.filter", "latest*"), + resource.TestCheckResourceAttr(resourceName, "image_tag_mutability_exclusion_filter.0.filter_type", string(types.ImageTagMutabilityExclusionFilterTypeWildcard)), + resource.TestCheckResourceAttr(resourceName, "image_tag_mutability_exclusion_filter.1.filter", "prod-*"), + resource.TestCheckResourceAttr(resourceName, "image_tag_mutability_exclusion_filter.1.filter_type", string(types.ImageTagMutabilityExclusionFilterTypeWildcard)), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + { + Config: testAccRepositoryCreationTemplateConfig_mutabilityWithExclusion(repositoryPrefix, "prod-*", "latest*"), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckRepositoryCreationTemplateExists(ctx, resourceName), + resource.TestCheckResourceAttr(resourceName, "image_tag_mutability", string(types.ImageTagMutabilityMutableWithExclusion)), + resource.TestCheckResourceAttr(resourceName, "image_tag_mutability_exclusion_filter.#", "2"), + resource.TestCheckResourceAttr(resourceName, "image_tag_mutability_exclusion_filter.0.filter", "prod-*"), + resource.TestCheckResourceAttr(resourceName, "image_tag_mutability_exclusion_filter.0.filter_type", string(types.ImageTagMutabilityExclusionFilterTypeWildcard)), + resource.TestCheckResourceAttr(resourceName, "image_tag_mutability_exclusion_filter.1.filter", "latest*"), + resource.TestCheckResourceAttr(resourceName, "image_tag_mutability_exclusion_filter.1.filter_type", string(types.ImageTagMutabilityExclusionFilterTypeWildcard)), + ), + }, + }, + }) +} + func testAccCheckRepositoryCreationTemplateDestroy(ctx context.Context) resource.TestCheckFunc { return func(s *terraform.State) error { conn := acctest.Provider.Meta().(*conns.AWSClient).ECRClient(ctx) @@ -435,3 +479,32 @@ resource "aws_ecr_repository_creation_template" "root" { } ` } + +func testAccRepositoryCreationTemplateConfig_mutabilityWithExclusion(repositoryPrefix, filter1, filter2 string) string { + return fmt.Sprintf(` +resource "aws_ecr_repository_creation_template" "test" { + prefix = %[1]q + + applied_for = [ + "PULL_THROUGH_CACHE", + "REPLICATION", + ] + + resource_tags = { + Foo = "Bar" + } + + image_tag_mutability = "MUTABLE_WITH_EXCLUSION" + + image_tag_mutability_exclusion_filter { + filter = %[2]q + filter_type = "WILDCARD" + } + + image_tag_mutability_exclusion_filter { + filter = %[3]q + filter_type = "WILDCARD" + } +} +`, repositoryPrefix, filter1, filter2) +} From 3a7a0953c83bbd742673cd6f32c631c6f2f6e7fb Mon Sep 17 00:00:00 2001 From: tabito Date: Fri, 15 Aug 2025 00:21:04 +0900 Subject: [PATCH 1226/1301] implement image_tag_mutability_exclusion_filter for the data source --- ...epository_creation_template_data_source.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/internal/service/ecr/repository_creation_template_data_source.go b/internal/service/ecr/repository_creation_template_data_source.go index c7abfc1124c4..efd933252529 100644 --- a/internal/service/ecr/repository_creation_template_data_source.go +++ b/internal/service/ecr/repository_creation_template_data_source.go @@ -59,6 +59,22 @@ func dataSourceRepositoryCreationTemplate() *schema.Resource { Type: schema.TypeString, Computed: true, }, + "image_tag_mutability_exclusion_filter": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + names.AttrFilter: { + Type: schema.TypeString, + Computed: true, + }, + "filter_type": { + Type: schema.TypeString, + Computed: true, + }, + }, + }, + }, "lifecycle_policy": { Type: schema.TypeString, Computed: true, @@ -106,6 +122,9 @@ func dataSourceRepositoryCreationTemplateRead(ctx context.Context, d *schema.Res return sdkdiag.AppendErrorf(diags, "setting encryption_configuration: %s", err) } d.Set("image_tag_mutability", rct.ImageTagMutability) + if err := d.Set("image_tag_mutability_exclusion_filter", flattenImageTagMutabilityExclusionFilters(rct.ImageTagMutabilityExclusionFilters)); err != nil { + return sdkdiag.AppendErrorf(diags, "setting image_tag_mutability_exclusion_filter: %s", err) + } policy, err := structure.NormalizeJsonString(aws.ToString(rct.LifecyclePolicy)) if err != nil { From 2373871de1824c66ebaf57a3d2b0e4b5d7acd5cd Mon Sep 17 00:00:00 2001 From: tabito Date: Fri, 15 Aug 2025 00:21:45 +0900 Subject: [PATCH 1227/1301] add an acctest for the data source --- ...tory_creation_template_data_source_test.go | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/internal/service/ecr/repository_creation_template_data_source_test.go b/internal/service/ecr/repository_creation_template_data_source_test.go index c404088f4a0f..e95c5678aa3e 100644 --- a/internal/service/ecr/repository_creation_template_data_source_test.go +++ b/internal/service/ecr/repository_creation_template_data_source_test.go @@ -66,6 +66,31 @@ func TestAccECRRepositoryCreationTemplateDataSource_root(t *testing.T) { }) } +func TestAccECRRepositoryCreationTemplateDataSource_mutabilityWithExclusion(t *testing.T) { + ctx := acctest.Context(t) + repositoryPrefix := "tf-test-" + sdkacctest.RandString(8) + dataSource := "data.aws_ecr_repository_creation_template.root" + + resource.Test(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.ECRServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + Config: testAccRepositoryCreationTemplateDataSourceConfig_mutabilityWithExclusion(repositoryPrefix, "latest*", "prod-*"), + Check: resource.ComposeAggregateTestCheckFunc( + resource.TestCheckResourceAttr(dataSource, "image_tag_mutability", string(types.ImageTagMutabilityMutableWithExclusion)), + resource.TestCheckResourceAttr(dataSource, "image_tag_mutability_exclusion_filter.#", "2"), + resource.TestCheckResourceAttr(dataSource, "image_tag_mutability_exclusion_filter.0.filter", "latest*"), + resource.TestCheckResourceAttr(dataSource, "image_tag_mutability_exclusion_filter.0.filter_type", string(types.ImageTagMutabilityExclusionFilterTypeWildcard)), + resource.TestCheckResourceAttr(dataSource, "image_tag_mutability_exclusion_filter.1.filter", "prod-*"), + resource.TestCheckResourceAttr(dataSource, "image_tag_mutability_exclusion_filter.1.filter_type", string(types.ImageTagMutabilityExclusionFilterTypeWildcard)), + ), + }, + }, + }) +} + func testAccRepositoryCreationTemplateDataSourceConfig_basic(repositoryPrefix string) string { return fmt.Sprintf(` resource "aws_ecr_repository_creation_template" "test" { @@ -101,3 +126,35 @@ data "aws_ecr_repository_creation_template" "root" { } ` } + +func testAccRepositoryCreationTemplateDataSourceConfig_mutabilityWithExclusion(repositoryPrefix, filter1, filter2 string) string { + return fmt.Sprintf(` +resource "aws_ecr_repository_creation_template" "test" { + prefix = %[1]q + + applied_for = [ + "PULL_THROUGH_CACHE", + "REPLICATION", + ] + + resource_tags = { + Foo = "Bar" + } + + image_tag_mutability = "MUTABLE_WITH_EXCLUSION" + + image_tag_mutability_exclusion_filter { + filter = %[2]q + filter_type = "WILDCARD" + } + + image_tag_mutability_exclusion_filter { + filter = %[3]q + filter_type = "WILDCARD" + } +} +data "aws_ecr_repository_creation_template" "root" { + prefix = aws_ecr_repository_creation_template.test.prefix +} +`, repositoryPrefix, filter1, filter2) +} From 762326ac82b0eefb4252e0e00076489c5c9c1a41 Mon Sep 17 00:00:00 2001 From: tabito Date: Fri, 15 Aug 2025 00:22:05 +0900 Subject: [PATCH 1228/1301] also implemented for aws_ecr_repository data source --- .../service/ecr/repository_data_source.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/internal/service/ecr/repository_data_source.go b/internal/service/ecr/repository_data_source.go index 542890418099..e18ebf7ee708 100644 --- a/internal/service/ecr/repository_data_source.go +++ b/internal/service/ecr/repository_data_source.go @@ -61,6 +61,22 @@ func dataSourceRepository() *schema.Resource { Type: schema.TypeString, Computed: true, }, + "image_tag_mutability_exclusion_filter": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + names.AttrFilter: { + Type: schema.TypeString, + Computed: true, + }, + "filter_type": { + Type: schema.TypeString, + Computed: true, + }, + }, + }, + }, "most_recent_image_tags": { Type: schema.TypeList, Computed: true, @@ -113,6 +129,9 @@ func dataSourceRepositoryRead(ctx context.Context, d *schema.ResourceData, meta return sdkdiag.AppendErrorf(diags, "setting image_scanning_configuration: %s", err) } d.Set("image_tag_mutability", repository.ImageTagMutability) + if err := d.Set("image_tag_mutability_exclusion_filter", flattenImageTagMutabilityExclusionFilters(repository.ImageTagMutabilityExclusionFilters)); err != nil { + return sdkdiag.AppendErrorf(diags, "setting image_tag_mutability_exclusion_filter: %s", err) + } d.Set(names.AttrName, repository.RepositoryName) d.Set("registry_id", repository.RegistryId) d.Set("repository_url", repository.RepositoryUri) From 8f2c604ee4abc7561510f23fbf020bf8a47aea56 Mon Sep 17 00:00:00 2001 From: tabito Date: Fri, 15 Aug 2025 00:22:58 +0900 Subject: [PATCH 1229/1301] add an acctest for aws_ecr_repository data source --- .../ecr/repository_data_source_test.go | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/internal/service/ecr/repository_data_source_test.go b/internal/service/ecr/repository_data_source_test.go index 6dc0690aac60..636130f3122c 100644 --- a/internal/service/ecr/repository_data_source_test.go +++ b/internal/service/ecr/repository_data_source_test.go @@ -71,6 +71,29 @@ func TestAccECRRepositoryDataSource_encryption(t *testing.T) { }) } +func TestAccECRRepositoryDataSource_mutabilityWithExclusion(t *testing.T) { + ctx := acctest.Context(t) + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_ecr_repository.test" + dataSourceName := "data.aws_ecr_repository.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.ECRServiceID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + { + Config: testAccRepositoryDataSourceConfig_mutabilityWithExclusion(rName, "test*"), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttr(dataSourceName, "image_tag_mutability_exclusion_filter.#", "1"), + resource.TestCheckResourceAttrPair(resourceName, "image_tag_mutability_exclusion_filter.0.filter", dataSourceName, "image_tag_mutability_exclusion_filter.0.filter"), + resource.TestCheckResourceAttrPair(resourceName, "image_tag_mutability_exclusion_filter.0.filter_type", dataSourceName, "image_tag_mutability_exclusion_filter.0.filter_type"), + ), + }, + }, + }) +} + func TestAccECRRepositoryDataSource_nonExistent(t *testing.T) { ctx := acctest.Context(t) resource.ParallelTest(t, resource.TestCase{ @@ -130,3 +153,20 @@ data "aws_ecr_repository" "test" { } `, rName) } + +func testAccRepositoryDataSourceConfig_mutabilityWithExclusion(rName, filter string) string { + return fmt.Sprintf(` +resource "aws_ecr_repository" "test" { + name = %[1]q + image_tag_mutability = "MUTABLE_WITH_EXCLUSION" + + image_tag_mutability_exclusion_filter { + filter = %[2]q + filter_type = "WILDCARD" + } +} +data "aws_ecr_repository" "test" { + name = aws_ecr_repository.test.name +} +`, rName, filter) +} From 86326afa64a2ce4219838c118d16e06d24156246 Mon Sep 17 00:00:00 2001 From: tabito Date: Fri, 15 Aug 2025 00:30:17 +0900 Subject: [PATCH 1230/1301] Update the documentation --- website/docs/d/ecr_repository.html.markdown | 6 ++++++ .../docs/d/ecr_repository_creation_template.html.markdown | 6 ++++++ .../docs/r/ecr_repository_creation_template.html.markdown | 6 ++++++ 3 files changed, 18 insertions(+) diff --git a/website/docs/d/ecr_repository.html.markdown b/website/docs/d/ecr_repository.html.markdown index 8b42b6122ca6..e6bcc7efce5e 100644 --- a/website/docs/d/ecr_repository.html.markdown +++ b/website/docs/d/ecr_repository.html.markdown @@ -34,6 +34,7 @@ This data source exports the following attributes in addition to the arguments a * `encryption_configuration` - Encryption configuration for the repository. See [Encryption Configuration](#encryption-configuration) below. * `image_scanning_configuration` - Configuration block that defines image scanning configuration for the repository. See [Image Scanning Configuration](#image-scanning-configuration) below. * `image_tag_mutability` - The tag mutability setting for the repository. +* `image_tag_mutability_exclusion_filter` - Block that defines filters to specify which image tags can override the default tag mutability setting. * `most_recent_image_tags` - List of image tags associated with the most recently pushed image in the repository. * `repository_url` - URL of the repository (in the form `aws_account_id.dkr.ecr.region.amazonaws.com/repositoryName`). * `tags` - Map of tags assigned to the resource. @@ -43,6 +44,11 @@ This data source exports the following attributes in addition to the arguments a * `encryption_type` - Encryption type to use for the repository, either `AES256` or `KMS`. * `kms_key` - If `encryption_type` is `KMS`, the ARN of the KMS key used. +### Image Tag Mutability Exclusion Filter + +* `filter` - The filter pattern to use for excluding image tags from the mutability setting. +* `filter_type` - The type of filter to use. + ### Image Scanning Configuration * `scan_on_push` - Whether images are scanned after being pushed to the repository. diff --git a/website/docs/d/ecr_repository_creation_template.html.markdown b/website/docs/d/ecr_repository_creation_template.html.markdown index 7a66b35c3346..9a984d8653aa 100644 --- a/website/docs/d/ecr_repository_creation_template.html.markdown +++ b/website/docs/d/ecr_repository_creation_template.html.markdown @@ -34,6 +34,7 @@ This data source exports the following attributes in addition to the arguments a * `description` - The description for this template. * `encryption_configuration` - Encryption configuration for any created repositories. See [Encryption Configuration](#encryption-configuration) below. * `image_tag_mutability` - The tag mutability setting for any created repositories. +* `image_tag_mutability_exclusion_filter` - Block that defines filters to specify which image tags can override the default tag mutability setting. * `lifecycle_policy` - The lifecycle policy document to apply to any created repositories. * `registry_id` - The registry ID the repository creation template applies to. * `repository_policy` - The registry policy document to apply to any created repositories. @@ -43,3 +44,8 @@ This data source exports the following attributes in addition to the arguments a * `encryption_type` - Encryption type to use for any created repositories, either `AES256` or `KMS`. * `kms_key` - If `encryption_type` is `KMS`, the ARN of the KMS key used. + +### Image Tag Mutability Exclusion Filter + +* `filter` - The filter pattern to use for excluding image tags from the mutability setting. +* `filter_type` - The type of filter to use. diff --git a/website/docs/r/ecr_repository_creation_template.html.markdown b/website/docs/r/ecr_repository_creation_template.html.markdown index 5f7508c004bb..21b059546106 100644 --- a/website/docs/r/ecr_repository_creation_template.html.markdown +++ b/website/docs/r/ecr_repository_creation_template.html.markdown @@ -95,6 +95,7 @@ This resource supports the following arguments: * `description` - (Optional) The description for this template. * `encryption_configuration` - (Optional) Encryption configuration for any created repositories. See [below for schema](#encryption_configuration). * `image_tag_mutability` - (Optional) The tag mutability setting for any created repositories. Must be one of: `MUTABLE` or `IMMUTABLE`. Defaults to `MUTABLE`. +* `image_tag_mutability_exclusion_filter` - (Optional) Configuration block that defines filters to specify which image tags can override the default tag mutability setting. Only applicable when `image_tag_mutability` is set to `IMMUTABLE_WITH_EXCLUSION` or `MUTABLE_WITH_EXCLUSION`. See [below for schema](#image_tag_mutability_exclusion_filter). * `lifecycle_policy` - (Optional) The lifecycle policy document to apply to any created repositories. See more details about [Policy Parameters](http://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html#lifecycle_policy_parameters) in the official AWS docs. Consider using the [`aws_ecr_lifecycle_policy_document` data_source](/docs/providers/aws/d/ecr_lifecycle_policy_document.html) to generate/manage the JSON document used for the `lifecycle_policy` argument. * `repository_policy` - (Optional) The registry policy document to apply to any created repositories. This is a JSON formatted string. For more information about building IAM policy documents with Terraform, see the [AWS IAM Policy Document Guide](https://learn.hashicorp.com/terraform/aws/iam-policy). * `resource_tags` - (Optional) A map of tags to assign to any created repositories. @@ -104,6 +105,11 @@ This resource supports the following arguments: * `encryption_type` - (Optional) The encryption type to use for any created repositories. Valid values are `AES256` or `KMS`. Defaults to `AES256`. * `kms_key` - (Optional) The ARN of the KMS key to use when `encryption_type` is `KMS`. If not specified, uses the default AWS managed key for ECR. +### image_tag_mutability_exclusion_filter + +* `filter` - (Required) The filter pattern to use for excluding image tags from the mutability setting. Must contain only letters, numbers, and special characters (._*-). Each filter can be up to 128 characters long and can contain a maximum of 2 wildcards (*). +* `filter_type` - (Required) The type of filter to use. Must be `WILDCARD`. + ## Attribute Reference This resource exports the following attributes in addition to the arguments above: From a2ee08b5f017cb2784e3f0ac1cb1486426256e60 Mon Sep 17 00:00:00 2001 From: tabito Date: Fri, 15 Aug 2025 00:49:48 +0900 Subject: [PATCH 1231/1301] add changelog --- .changelog/43886.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .changelog/43886.txt diff --git a/.changelog/43886.txt b/.changelog/43886.txt new file mode 100644 index 000000000000..dd6f0e341598 --- /dev/null +++ b/.changelog/43886.txt @@ -0,0 +1,11 @@ +```release-note:enhancement +resource/aws_ecr_repository_creation_template: Add `image_tag_mutability_exclusion_filter` configuration block +``` + +```release-note:enhancement +data-source/aws_ecr_repository_creation_template: Add `image_tag_mutability_exclusion_filter` block +``` + +```release-note:enhancement +data-source/aws_ecr_repository: Add `image_tag_mutability_exclusion_filter` block +``` From 4c0d0a24521edb3be8e6c1e161e3e857b52c3ec4 Mon Sep 17 00:00:00 2001 From: changelogbot Date: Thu, 14 Aug 2025 16:03:11 +0000 Subject: [PATCH 1232/1301] Update CHANGELOG.md for #43880 --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 02a6d0100fd2..413de61c1177 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,6 @@ ENHANCEMENTS: * resource/aws_cloudwatch_event_rule: Add resource identity support ([#43758](https://github.com/hashicorp/terraform-provider-aws/issues/43758)) * resource/aws_cloudwatch_metric_alarm: Add resource identity support ([#43759](https://github.com/hashicorp/terraform-provider-aws/issues/43759)) * resource/aws_dynamodb_table: Add `replica.deletion_protection_enabled` argument ([#43240](https://github.com/hashicorp/terraform-provider-aws/issues/43240)) -* resource/aws_ecs_service: Remove Terraform default for `availability_zone_rebalancing` and change the attribute to Optional and Computed. This allow ECS to default to `ENABLED` for new resources compatible with *AvailabilityZoneRebalancing* and maintain an existing service's `availability_zone_rebalancing` value during update when not configured. If an existing service never had an `availability_zone_rebalancing` value configured and is updated, ECS will treat this as `DISABLED` ([#43241](https://github.com/hashicorp/terraform-provider-aws/issues/43241)) * resource/aws_eks_cluster: Add `deletion_protection` argument ([#43752](https://github.com/hashicorp/terraform-provider-aws/issues/43752)) * resource/aws_lambda_function: Add resource identity support ([#43821](https://github.com/hashicorp/terraform-provider-aws/issues/43821)) * resource/aws_sns_topic_data_protection_policy: Add resource identity support ([#43830](https://github.com/hashicorp/terraform-provider-aws/issues/43830)) @@ -30,6 +29,7 @@ BUG FIXES: * resource/aws_sagemaker_user_profile: Fix incomplete regex for `user_profile_name` ([#43807](https://github.com/hashicorp/terraform-provider-aws/issues/43807)) * resource/aws_servicequotas_service_quota: Add validation, during `create`, to check if new value is less than current value of quota ([#43545](https://github.com/hashicorp/terraform-provider-aws/issues/43545)) * resource/aws_storagegateway_gateway: Handle `InvalidGatewayRequestException: The specified gateway is not connected` errors during Read by using the [`ListGateways` API](https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_ListGateways.html) to return minimal information about a disconnected gateway. This functionality requires the `storagegateway:ListGateways` IAM permission ([#43819](https://github.com/hashicorp/terraform-provider-aws/issues/43819)) +* resource/aws_vpc_ipam_pool_cidr: Fix netmask_length not being saved and diffed correctly ([#43262](https://github.com/hashicorp/terraform-provider-aws/issues/43262)) ## 6.8.0 (August 7, 2025) From 40c24b0637ce4d84f9f490edd9cd798b2ade2037 Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Thu, 14 Aug 2025 12:36:07 -0400 Subject: [PATCH 1233/1301] Release: Update changelog and version/version --- CHANGELOG.md | 4 +++- version/VERSION | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 413de61c1177..c9473aa25f32 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,6 @@ -## 6.9.0 (Unreleased) +## 6.10.0 (Unreleased) + +## 6.9.0 (August 14, 2025) FEATURES: diff --git a/version/VERSION b/version/VERSION index 23863d3def7f..6a1fccf93033 100644 --- a/version/VERSION +++ b/version/VERSION @@ -1 +1 @@ -6.8.1 \ No newline at end of file +6.9.0 \ No newline at end of file From cfa08f3f2444d1eb23454a1bb7dbda3e0b0ea14b Mon Sep 17 00:00:00 2001 From: Dirk Avery Date: Thu, 14 Aug 2025 12:45:09 -0400 Subject: [PATCH 1234/1301] Remove upcoming --- CHANGELOG.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c9473aa25f32..0ed7613d292b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,3 @@ -## 6.10.0 (Unreleased) - ## 6.9.0 (August 14, 2025) FEATURES: From 38969a73e12c935352e59d50d65564047c45cc5c Mon Sep 17 00:00:00 2001 From: tabito Date: Fri, 15 Aug 2025 01:42:03 +0900 Subject: [PATCH 1235/1301] Add condition for using capacity_reservation_target --- website/docs/r/launch_template.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/r/launch_template.html.markdown b/website/docs/r/launch_template.html.markdown index e904ec8a1234..a74728124e37 100644 --- a/website/docs/r/launch_template.html.markdown +++ b/website/docs/r/launch_template.html.markdown @@ -186,7 +186,7 @@ The `ebs` block supports the following: The `capacity_reservation_specification` block supports the following: -* `capacity_reservation_preference` - Indicates the instance's Capacity Reservation preferences. Can be `open` or `none`. (Default `none`). +* `capacity_reservation_preference` - Indicates the instance's Capacity Reservation preferences. Can be `capacity-reservations-only`, `open` or `none`. (Default `none`). If `capacity_reservation_id` or `capacity_reservation_resource_group_arn` is specified in `capacity_reservation_target` block, either omit `capacity_reservation_preference` or set it to `capacity-reservations-only`. * `capacity_reservation_target` - Used to target a specific Capacity Reservation: The `capacity_reservation_target` block supports the following: From 4e33ca8be9618fac9c07eca70b0f99319bc196d1 Mon Sep 17 00:00:00 2001 From: tabito Date: Fri, 15 Aug 2025 01:53:29 +0900 Subject: [PATCH 1236/1301] delete description of default --- website/docs/r/launch_template.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/r/launch_template.html.markdown b/website/docs/r/launch_template.html.markdown index a74728124e37..31454dc1ec2e 100644 --- a/website/docs/r/launch_template.html.markdown +++ b/website/docs/r/launch_template.html.markdown @@ -186,7 +186,7 @@ The `ebs` block supports the following: The `capacity_reservation_specification` block supports the following: -* `capacity_reservation_preference` - Indicates the instance's Capacity Reservation preferences. Can be `capacity-reservations-only`, `open` or `none`. (Default `none`). If `capacity_reservation_id` or `capacity_reservation_resource_group_arn` is specified in `capacity_reservation_target` block, either omit `capacity_reservation_preference` or set it to `capacity-reservations-only`. +* `capacity_reservation_preference` - Indicates the instance's Capacity Reservation preferences. Can be `capacity-reservations-only`, `open` or `none`. If `capacity_reservation_id` or `capacity_reservation_resource_group_arn` is specified in `capacity_reservation_target` block, either omit `capacity_reservation_preference` or set it to `capacity-reservations-only`. * `capacity_reservation_target` - Used to target a specific Capacity Reservation: The `capacity_reservation_target` block supports the following: From 088e833e33cb71191ed2e90aa9b3a24fe75af400 Mon Sep 17 00:00:00 2001 From: hc-github-team-es-release-engineering <82989873+hc-github-team-es-release-engineering@users.noreply.github.com> Date: Thu, 14 Aug 2025 11:22:04 -0700 Subject: [PATCH 1237/1301] Bumped product version to 6.9.1. --- version/VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version/VERSION b/version/VERSION index 6a1fccf93033..b81ba511f6db 100644 --- a/version/VERSION +++ b/version/VERSION @@ -1 +1 @@ -6.9.0 \ No newline at end of file +6.9.1 \ No newline at end of file From 1696637570e73a3974a01ce5ec4ec3b4c7e1c41b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 14 Aug 2025 14:32:28 -0400 Subject: [PATCH 1238/1301] Add changelog entry for v6.10.0 (#43892) Co-authored-by: changelogbot --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0ed7613d292b..c9473aa25f32 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,5 @@ +## 6.10.0 (Unreleased) + ## 6.9.0 (August 14, 2025) FEATURES: From faf37f718d927b36147dae6997df0d619fb4dfc1 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Thu, 14 Aug 2025 14:35:37 -0400 Subject: [PATCH 1239/1301] chore: make clean-tidy --- tools/tfsdk2fw/go.mod | 8 ++++---- tools/tfsdk2fw/go.sum | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/tools/tfsdk2fw/go.mod b/tools/tfsdk2fw/go.mod index d749554e0f8d..bd0a86fefb82 100644 --- a/tools/tfsdk2fw/go.mod +++ b/tools/tfsdk2fw/go.mod @@ -102,7 +102,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/dataexchange v1.38.0 // indirect github.com/aws/aws-sdk-go-v2/service/datapipeline v1.29.0 // indirect github.com/aws/aws-sdk-go-v2/service/datasync v1.53.0 // indirect - github.com/aws/aws-sdk-go-v2/service/datazone v1.36.0 // indirect + github.com/aws/aws-sdk-go-v2/service/datazone v1.37.0 // indirect github.com/aws/aws-sdk-go-v2/service/dax v1.27.0 // indirect github.com/aws/aws-sdk-go-v2/service/detective v1.36.0 // indirect github.com/aws/aws-sdk-go-v2/service/devicefarm v1.34.0 // indirect @@ -137,7 +137,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/firehose v1.40.0 // indirect github.com/aws/aws-sdk-go-v2/service/fis v1.36.0 // indirect github.com/aws/aws-sdk-go-v2/service/fms v1.43.0 // indirect - github.com/aws/aws-sdk-go-v2/service/fsx v1.58.0 // indirect + github.com/aws/aws-sdk-go-v2/service/fsx v1.59.0 // indirect github.com/aws/aws-sdk-go-v2/service/gamelift v1.45.0 // indirect github.com/aws/aws-sdk-go-v2/service/glacier v1.30.0 // indirect github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.33.0 // indirect @@ -242,7 +242,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/s3outposts v1.32.0 // indirect github.com/aws/aws-sdk-go-v2/service/s3tables v1.9.0 // indirect github.com/aws/aws-sdk-go-v2/service/s3vectors v1.4.0 // indirect - github.com/aws/aws-sdk-go-v2/service/sagemaker v1.208.0 // indirect + github.com/aws/aws-sdk-go-v2/service/sagemaker v1.209.0 // indirect github.com/aws/aws-sdk-go-v2/service/scheduler v1.16.0 // indirect github.com/aws/aws-sdk-go-v2/service/schemas v1.32.0 // indirect github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.38.0 // indirect @@ -318,7 +318,7 @@ require ( github.com/hashicorp/hcl/v2 v2.23.0 // indirect github.com/hashicorp/logutils v1.0.0 // indirect github.com/hashicorp/terraform-exec v0.23.0 // indirect - github.com/hashicorp/terraform-json v0.25.0 // indirect + github.com/hashicorp/terraform-json v0.26.0 // indirect github.com/hashicorp/terraform-plugin-framework v1.15.1 // indirect github.com/hashicorp/terraform-plugin-framework-jsontypes v0.2.0 // indirect github.com/hashicorp/terraform-plugin-framework-timeouts v0.5.0 // indirect diff --git a/tools/tfsdk2fw/go.sum b/tools/tfsdk2fw/go.sum index bc3b0fdc061d..5fc09ac2b61b 100644 --- a/tools/tfsdk2fw/go.sum +++ b/tools/tfsdk2fw/go.sum @@ -191,8 +191,8 @@ github.com/aws/aws-sdk-go-v2/service/datapipeline v1.29.0 h1:5a76AMaI1x9YHhL6qcl github.com/aws/aws-sdk-go-v2/service/datapipeline v1.29.0/go.mod h1:iXVvFT/t6B96iXExuxVp4QMKfU2XUIGazYkptjmF+AQ= github.com/aws/aws-sdk-go-v2/service/datasync v1.53.0 h1:6e3BS+A00UPLzkgtWj5Sakvom0G5qAn/dEk8U7QG/n4= github.com/aws/aws-sdk-go-v2/service/datasync v1.53.0/go.mod h1:4gU+dv/Prdb8CB3TaRbrSFLO2tSqPNRnDqIX9IPuQHQ= -github.com/aws/aws-sdk-go-v2/service/datazone v1.36.0 h1:YEZFj4KUY0do1SEFytmxyrRXbB92blueDxRecGqqdTc= -github.com/aws/aws-sdk-go-v2/service/datazone v1.36.0/go.mod h1:TG25xNgljNX2+CjQ0gkXiOjJG6BTyM7gRJdfC6jGIBw= +github.com/aws/aws-sdk-go-v2/service/datazone v1.37.0 h1:2gorOSV7BNgRqmV6z9u+dhZ1kkPcaaAF8XMnK3ZUfKw= +github.com/aws/aws-sdk-go-v2/service/datazone v1.37.0/go.mod h1:TG25xNgljNX2+CjQ0gkXiOjJG6BTyM7gRJdfC6jGIBw= github.com/aws/aws-sdk-go-v2/service/dax v1.27.0 h1:wDyL0EZw99zVGuzf4E/AZMiHVp/V6j9+Z8VkP2Xr55M= github.com/aws/aws-sdk-go-v2/service/dax v1.27.0/go.mod h1:SG2yNQjCwUNkjUxW7YCsUiIKQgoWUZpblEHpmf6Az3E= github.com/aws/aws-sdk-go-v2/service/detective v1.36.0 h1:0av6yvy0lYUtlgDnZoinqIsYbjM8D4JkEnXzh0WKWwM= @@ -261,8 +261,8 @@ github.com/aws/aws-sdk-go-v2/service/fis v1.36.0 h1:zsDCgJ6lWocX4wArsCQre2A92JzB github.com/aws/aws-sdk-go-v2/service/fis v1.36.0/go.mod h1:OOOhb7pKoJhZKCVzheRRd+aPKv9Ep+zNUPQtfcoxP5M= github.com/aws/aws-sdk-go-v2/service/fms v1.43.0 h1:tTeH6402fy5Z8JHuUO6aL2yn5WFzWSKF6epxYvIPAMs= github.com/aws/aws-sdk-go-v2/service/fms v1.43.0/go.mod h1:YtgJpTqlpa7n71B9snaa05vHND7UbQyOHjU4zouPpUM= -github.com/aws/aws-sdk-go-v2/service/fsx v1.58.0 h1:PsSyOQi3cGH9SVAOIKKQzRN30eNP3ZwkMJal4SZBofk= -github.com/aws/aws-sdk-go-v2/service/fsx v1.58.0/go.mod h1:tUva+sOgmPwfMu02pXdg+zKO02Zcu812xG8doKd7ogA= +github.com/aws/aws-sdk-go-v2/service/fsx v1.59.0 h1:+EESGw/7+Sxr1ISwKdbwlEBDY+w9TZSkpe+jhZnGDTk= +github.com/aws/aws-sdk-go-v2/service/fsx v1.59.0/go.mod h1:tUva+sOgmPwfMu02pXdg+zKO02Zcu812xG8doKd7ogA= github.com/aws/aws-sdk-go-v2/service/gamelift v1.45.0 h1:JdlVzc51kIkdne4ilxnHAfKfXyhzkJ3eYrfZwk38j/k= github.com/aws/aws-sdk-go-v2/service/gamelift v1.45.0/go.mod h1:j6XU2uooS9YUEfpviJM3f/TFtGlBh/yYHUMhO82XT3o= github.com/aws/aws-sdk-go-v2/service/glacier v1.30.0 h1:GILchKM1cgGoIjYEYh3oV2o4Xy4v745NtPCo5WIhLFk= @@ -471,8 +471,8 @@ github.com/aws/aws-sdk-go-v2/service/s3tables v1.9.0 h1:b+DS5OdH3yZCVMHLs/8aA9Nu github.com/aws/aws-sdk-go-v2/service/s3tables v1.9.0/go.mod h1:jVLVoLsG7vN8XEO7OQ7Bqw6qqHXMqWbSBMZ7tmY8R9Q= github.com/aws/aws-sdk-go-v2/service/s3vectors v1.4.0 h1:9xIfi7XPNyqbrZBCVsAnxlajEsNLP4qZ/T+rw6NYtZ0= github.com/aws/aws-sdk-go-v2/service/s3vectors v1.4.0/go.mod h1:1ByJ/xRNkPDVddSxcpou91CiBIose3JWIWwFw/QjzD8= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.208.0 h1:S0ilMJd8zK7/YGzRl4OZRnkYc7MocYwI1PYQFMn2MIs= -github.com/aws/aws-sdk-go-v2/service/sagemaker v1.208.0/go.mod h1:sawKpnbUfWJb/Q/i2P3rXiM+vXUosAqJ1KOsuKxPRxU= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.209.0 h1:d4f7/eKImxS52878zZOgRsi3mg7LAQNl9uyIN6hfuQ8= +github.com/aws/aws-sdk-go-v2/service/sagemaker v1.209.0/go.mod h1:sawKpnbUfWJb/Q/i2P3rXiM+vXUosAqJ1KOsuKxPRxU= github.com/aws/aws-sdk-go-v2/service/scheduler v1.16.0 h1:vlmeLcOZ1PtqEpgRIZOOw49DABG9EWYkHHmC96IBgBM= github.com/aws/aws-sdk-go-v2/service/scheduler v1.16.0/go.mod h1:2XG5FGAj7Ao8KR3scdaU76/YEsdUG304Qt1dIUfHIGM= github.com/aws/aws-sdk-go-v2/service/schemas v1.32.0 h1:37TFUN36cFLnIj32FFanXqD+uuXwASxCEEckhdBjCnE= @@ -658,8 +658,8 @@ github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/terraform-exec v0.23.0 h1:MUiBM1s0CNlRFsCLJuM5wXZrzA3MnPYEsiXmzATMW/I= github.com/hashicorp/terraform-exec v0.23.0/go.mod h1:mA+qnx1R8eePycfwKkCRk3Wy65mwInvlpAeOwmA7vlY= -github.com/hashicorp/terraform-json v0.25.0 h1:rmNqc/CIfcWawGiwXmRuiXJKEiJu1ntGoxseG1hLhoQ= -github.com/hashicorp/terraform-json v0.25.0/go.mod h1:sMKS8fiRDX4rVlR6EJUMudg1WcanxCMoWwTLkgZP/vc= +github.com/hashicorp/terraform-json v0.26.0 h1:+BnJavhRH+oyNWPnfzrfQwVWCZBFMvjdiH2Vi38Udz4= +github.com/hashicorp/terraform-json v0.26.0/go.mod h1:eyWCeC3nrZamyrKLFnrvwpc3LQPIJsx8hWHQ/nu2/v4= github.com/hashicorp/terraform-plugin-framework v1.15.1 h1:2mKDkwb8rlx/tvJTlIcpw0ykcmvdWv+4gY3SIgk8Pq8= github.com/hashicorp/terraform-plugin-framework v1.15.1/go.mod h1:hxrNI/GY32KPISpWqlCoTLM9JZsGH3CyYlir09bD/fI= github.com/hashicorp/terraform-plugin-framework-jsontypes v0.2.0 h1:SJXL5FfJJm17554Kpt9jFXngdM6fXbnUnZ6iT2IeiYA= From 4a4bf5a627452be792668ec645f0316605be582e Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Thu, 14 Aug 2025 14:51:21 -0400 Subject: [PATCH 1240/1301] Add ARN-based resource identity to `secretsmanager` (#43872) This includes support for the following resources: - `aws_secretsmanager_secret` - `aws_secretsmanager_secret_policy` - `aws_secretsmanager_secret_rotation` ```console % make testacc PKG=secretsmanager TESTS="TestAccSecretsManagerSecretRotation_|TestAccSecretsManagerSecretPolicy_|TestAccSecretsManagerSecret_" make: Verifying source code with gofmt... ==> Checking that code complies with gofmt requirements... TF_ACC=1 go1.24.6 test ./internal/service/secretsmanager/... -v -count 1 -parallel 20 -run='TestAccSecretsManagerSecretRotation_|TestAccSecretsManagerSecretPolicy_|TestAccSecretsManagerSecret_' -timeout 360m -vet=off 2025/08/13 15:48:44 Creating Terraform AWS Provider (SDKv2-style)... 2025/08/13 15:48:44 Initializing Terraform AWS Provider (SDKv2-style)... --- PASS: TestAccSecretsManagerSecretPolicy_Disappears_secret (39.11s) === CONT TestAccSecretsManagerSecret_tags_EmptyMap --- PASS: TestAccSecretsManagerSecretPolicy_disappears (41.12s) === CONT TestAccSecretsManagerSecret_Identity_ExistingResource --- PASS: TestAccSecretsManagerSecret_tags_null (47.73s) === CONT TestAccSecretsManagerSecretPolicy_Identity_Basic --- PASS: TestAccSecretsManagerSecret_Identity_Basic (50.44s) === CONT TestAccSecretsManagerSecretRotation_rotateImmediately --- PASS: TestAccSecretsManagerSecret_tags_AddOnUpdate (56.73s) === CONT TestAccSecretsManagerSecretRotation_disappears --- PASS: TestAccSecretsManagerSecret_tags_EmptyTag_OnCreate (62.34s) === CONT TestAccSecretsManagerSecret_tags_ComputedTag_OnUpdate_Add --- PASS: TestAccSecretsManagerSecretPolicy_basic (65.25s) === CONT TestAccSecretsManagerSecret_policy --- PASS: TestAccSecretsManagerSecretPolicy_Identity_RegionOverride (65.67s) === CONT TestAccSecretsManagerSecret_RecoveryWindowInDays_recreate --- PASS: TestAccSecretsManagerSecretRotation_Disappears_secret (70.76s) === CONT TestAccSecretsManagerSecret_kmsKeyID --- PASS: TestAccSecretsManagerSecretRotation_Identity_Basic (80.53s) === CONT TestAccSecretsManagerSecret_overwriteReplica --- PASS: TestAccSecretsManagerSecretPolicy_blockPublicPolicy (82.45s) === CONT TestAccSecretsManagerSecret_basicReplica --- PASS: TestAccSecretsManagerSecretRotation_Identity_RegionOverride (85.09s) === CONT TestAccSecretsManagerSecret_description --- PASS: TestAccSecretsManagerSecretRotation_duration (89.51s) === CONT TestAccSecretsManagerSecret_Identity_RegionOverride --- PASS: TestAccSecretsManagerSecretPolicy_Identity_ExistingResource (89.80s) === CONT TestAccSecretsManagerSecret_tags_DefaultTags_updateToResourceOnly --- PASS: TestAccSecretsManagerSecretRotation_basic (96.60s) === CONT TestAccSecretsManagerSecret_tags_ComputedTag_OnCreate --- PASS: TestAccSecretsManagerSecret_tags_EmptyMap (61.69s) === CONT TestAccSecretsManagerSecret_disappears --- PASS: TestAccSecretsManagerSecretRotation_Identity_ExistingResource (105.70s) === CONT TestAccSecretsManagerSecret_tags_DefaultTags_nullNonOverlappingResourceTag --- PASS: TestAccSecretsManagerSecretPolicy_Identity_Basic (60.80s) === CONT TestAccSecretsManagerSecret_withNamePrefix --- PASS: TestAccSecretsManagerSecretRotation_scheduleExpressionBasic (115.88s) === CONT TestAccSecretsManagerSecret_tags_DefaultTags_nullOverlappingResourceTag --- PASS: TestAccSecretsManagerSecretRotation_rotateImmediately (72.11s) === CONT TestAccSecretsManagerSecret_basic --- PASS: TestAccSecretsManagerSecretRotation_disappears (70.80s) === CONT TestAccSecretsManagerSecret_tags_DefaultTags_emptyProviderOnlyTag --- PASS: TestAccSecretsManagerSecretRotation_scheduleExpressionToDays (130.07s) === CONT TestAccSecretsManagerSecret_tags_IgnoreTags_Overlap_ResourceTag --- PASS: TestAccSecretsManagerSecret_RecoveryWindowInDays_recreate (64.71s) === CONT TestAccSecretsManagerSecret_tags_DefaultTags_emptyResourceTag --- PASS: TestAccSecretsManagerSecret_Identity_ExistingResource (92.96s) === CONT TestAccSecretsManagerSecret_tags_IgnoreTags_Overlap_DefaultTag --- PASS: TestAccSecretsManagerSecretRotation_scheduleExpressionHours (137.07s) === CONT TestAccSecretsManagerSecretRotation_upgradePreRotateImmediately --- PASS: TestAccSecretsManagerSecret_tags (137.69s) === CONT TestAccSecretsManagerSecret_tags_DefaultTags_nonOverlapping --- PASS: TestAccSecretsManagerSecret_disappears (39.03s) === CONT TestAccSecretsManagerSecret_tags_DefaultTags_updateToProviderOnly --- PASS: TestAccSecretsManagerSecret_tags_ComputedTag_OnUpdate_Add (77.66s) === CONT TestAccSecretsManagerSecret_tags_DefaultTags_overlapping --- PASS: TestAccSecretsManagerSecret_tags_ComputedTag_OnCreate (54.21s) === CONT TestAccSecretsManagerSecret_tags_EmptyTag_OnUpdate_Add --- PASS: TestAccSecretsManagerSecret_basicReplica (69.53s) === CONT TestAccSecretsManagerSecret_tags_DefaultTags_providerOnly --- PASS: TestAccSecretsManagerSecret_withNamePrefix (45.08s) === CONT TestAccSecretsManagerSecret_tags_ComputedTag_OnUpdate_Replace --- PASS: TestAccSecretsManagerSecret_kmsKeyID (83.17s) === CONT TestAccSecretsManagerSecret_tags_EmptyTag_OnUpdate_Replace --- PASS: TestAccSecretsManagerSecret_description (75.06s) --- PASS: TestAccSecretsManagerSecret_tags_DefaultTags_nullNonOverlappingResourceTag (57.84s) --- PASS: TestAccSecretsManagerSecret_policy (100.86s) --- PASS: TestAccSecretsManagerSecret_basic (45.31s) --- PASS: TestAccSecretsManagerSecret_tags_DefaultTags_nullOverlappingResourceTag (52.68s) --- PASS: TestAccSecretsManagerSecret_tags_DefaultTags_updateToResourceOnly (84.28s) --- PASS: TestAccSecretsManagerSecret_tags_DefaultTags_emptyResourceTag (45.82s) --- PASS: TestAccSecretsManagerSecret_tags_DefaultTags_emptyProviderOnlyTag (48.99s) --- PASS: TestAccSecretsManagerSecret_Identity_RegionOverride (89.65s) --- PASS: TestAccSecretsManagerSecret_tags_DefaultTags_updateToProviderOnly (61.23s) --- PASS: TestAccSecretsManagerSecret_tags_EmptyTag_OnUpdate_Replace (50.52s) --- PASS: TestAccSecretsManagerSecret_tags_IgnoreTags_Overlap_DefaultTag (73.06s) --- PASS: TestAccSecretsManagerSecret_tags_ComputedTag_OnUpdate_Replace (53.75s) --- PASS: TestAccSecretsManagerSecretRotation_upgradePreRotateImmediately (72.18s) --- PASS: TestAccSecretsManagerSecret_tags_IgnoreTags_Overlap_ResourceTag (80.72s) --- PASS: TestAccSecretsManagerSecret_tags_EmptyTag_OnUpdate_Add (67.61s) --- PASS: TestAccSecretsManagerSecret_tags_DefaultTags_nonOverlapping (83.38s) --- PASS: TestAccSecretsManagerSecret_tags_DefaultTags_overlapping (82.03s) --- PASS: TestAccSecretsManagerSecret_overwriteReplica (147.84s) --- PASS: TestAccSecretsManagerSecret_tags_DefaultTags_providerOnly (85.27s) PASS ok github.com/hashicorp/terraform-provider-aws/internal/service/secretsmanager 243.573s ``` --- .changelog/43872.txt | 9 + internal/service/secretsmanager/generate.go | 1 + internal/service/secretsmanager/secret.go | 6 +- .../secret_identity_gen_test.go | 302 ++++++++++++++++++ .../service/secretsmanager/secret_policy.go | 7 +- .../secret_policy_identity_gen_test.go | 283 ++++++++++++++++ .../service/secretsmanager/secret_rotation.go | 8 +- .../secret_rotation_identity_gen_test.go | 302 ++++++++++++++++++ .../secretsmanager/service_package_gen.go | 18 ++ .../testdata/Secret/basic/main_gen.tf | 12 + .../testdata/Secret/basic_v6.8.0/main_gen.tf | 22 ++ .../Secret/region_override/main_gen.tf | 20 ++ .../testdata/SecretPolicy/basic/main_gen.tf | 30 ++ .../SecretPolicy/basic_v6.8.0/main_gen.tf | 40 +++ .../SecretPolicy/region_override/main_gen.tf | 40 +++ .../testdata/SecretRotation/basic/main_gen.tf | 85 +++++ .../SecretRotation/basic_v6.8.0/main_gen.tf | 95 ++++++ .../region_override/main_gen.tf | 101 ++++++ .../testdata/tmpl/secret_policy_tags.gtpl | 23 ++ .../testdata/tmpl/secret_rotation_tags.gtpl | 81 +++++ .../testdata/tmpl/secret_tags.gtpl | 1 + 21 files changed, 1474 insertions(+), 12 deletions(-) create mode 100644 .changelog/43872.txt create mode 100644 internal/service/secretsmanager/secret_identity_gen_test.go create mode 100644 internal/service/secretsmanager/secret_policy_identity_gen_test.go create mode 100644 internal/service/secretsmanager/secret_rotation_identity_gen_test.go create mode 100644 internal/service/secretsmanager/testdata/Secret/basic/main_gen.tf create mode 100644 internal/service/secretsmanager/testdata/Secret/basic_v6.8.0/main_gen.tf create mode 100644 internal/service/secretsmanager/testdata/Secret/region_override/main_gen.tf create mode 100644 internal/service/secretsmanager/testdata/SecretPolicy/basic/main_gen.tf create mode 100644 internal/service/secretsmanager/testdata/SecretPolicy/basic_v6.8.0/main_gen.tf create mode 100644 internal/service/secretsmanager/testdata/SecretPolicy/region_override/main_gen.tf create mode 100644 internal/service/secretsmanager/testdata/SecretRotation/basic/main_gen.tf create mode 100644 internal/service/secretsmanager/testdata/SecretRotation/basic_v6.8.0/main_gen.tf create mode 100644 internal/service/secretsmanager/testdata/SecretRotation/region_override/main_gen.tf create mode 100644 internal/service/secretsmanager/testdata/tmpl/secret_policy_tags.gtpl create mode 100644 internal/service/secretsmanager/testdata/tmpl/secret_rotation_tags.gtpl diff --git a/.changelog/43872.txt b/.changelog/43872.txt new file mode 100644 index 000000000000..a586f8658f19 --- /dev/null +++ b/.changelog/43872.txt @@ -0,0 +1,9 @@ +```release-note:enhancement +resource/aws_secretsmanager_secret: Add resource identity support +``` +```release-note:enhancement +resource/aws_secretsmanager_secret_policy: Add resource identity support +``` +```release-note:enhancement +resource/aws_secretsmanager_secret_rotation: Add resource identity support +``` diff --git a/internal/service/secretsmanager/generate.go b/internal/service/secretsmanager/generate.go index a90febca32cf..1eed653fc132 100644 --- a/internal/service/secretsmanager/generate.go +++ b/internal/service/secretsmanager/generate.go @@ -4,6 +4,7 @@ //go:generate go run ../../generate/tags/main.go -ListTagsInIDElem=SecretId -ServiceTagsSlice -TagInIDElem=SecretId -UpdateTags //go:generate go run ../../generate/servicepackage/main.go //go:generate go run ../../generate/tagstests/main.go +//go:generate go run ../../generate/identitytests/main.go // ONLY generate directives and package declaration! Do not add anything else to this file. package secretsmanager diff --git a/internal/service/secretsmanager/secret.go b/internal/service/secretsmanager/secret.go index 99437232e8bf..70e53cbf1709 100644 --- a/internal/service/secretsmanager/secret.go +++ b/internal/service/secretsmanager/secret.go @@ -35,7 +35,9 @@ import ( // @SDKResource("aws_secretsmanager_secret", name="Secret") // @Tags(identifierAttribute="arn") // @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/secretsmanager;secretsmanager.DescribeSecretOutput") +// @Testing(preIdentityVersion="v6.8.0") // @Testing(importIgnore="force_overwrite_replica_secret;recovery_window_in_days") +// @ArnIdentity func resourceSecret() *schema.Resource { return &schema.Resource{ CreateWithoutTimeout: resourceSecretCreate, @@ -43,10 +45,6 @@ func resourceSecret() *schema.Resource { UpdateWithoutTimeout: resourceSecretUpdate, DeleteWithoutTimeout: resourceSecretDelete, - Importer: &schema.ResourceImporter{ - StateContext: schema.ImportStatePassthroughContext, - }, - Schema: map[string]*schema.Schema{ names.AttrARN: { Type: schema.TypeString, diff --git a/internal/service/secretsmanager/secret_identity_gen_test.go b/internal/service/secretsmanager/secret_identity_gen_test.go new file mode 100644 index 000000000000..a8a2b5cead5c --- /dev/null +++ b/internal/service/secretsmanager/secret_identity_gen_test.go @@ -0,0 +1,302 @@ +// Code generated by internal/generate/identitytests/main.go; DO NOT EDIT. + +package secretsmanager_test + +import ( + "testing" + + "github.com/aws/aws-sdk-go-v2/service/secretsmanager" + "github.com/hashicorp/terraform-plugin-testing/compare" + "github.com/hashicorp/terraform-plugin-testing/config" + sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-plugin-testing/tfversion" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfstatecheck "github.com/hashicorp/terraform-provider-aws/internal/acctest/statecheck" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccSecretsManagerSecret_Identity_Basic(t *testing.T) { + ctx := acctest.Context(t) + + var v secretsmanager.DescribeSecretOutput + resourceName := "aws_secretsmanager_secret.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.SecretsManagerServiceID), + CheckDestroy: testAccCheckSecretDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/Secret/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckSecretExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.CompareValuePairs(resourceName, tfjsonpath.New(names.AttrID), resourceName, tfjsonpath.New(names.AttrARN), compare.ValuesSame()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrARN: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrARN)), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/Secret/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "force_overwrite_replica_secret", "recovery_window_in_days", + }, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/Secret/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + ExpectNonEmptyPlan: true, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/Secret/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + ExpectNonEmptyPlan: true, + }, + }, + }) +} + +func TestAccSecretsManagerSecret_Identity_RegionOverride(t *testing.T) { + ctx := acctest.Context(t) + + resourceName := "aws_secretsmanager_secret.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.SecretsManagerServiceID), + CheckDestroy: acctest.CheckDestroyNoop, + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/Secret/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.CompareValuePairs(resourceName, tfjsonpath.New(names.AttrID), resourceName, tfjsonpath.New(names.AttrARN), compare.ValuesSame()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrARN: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrARN)), + }, + }, + + // Step 2: Import command with appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/Secret/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "force_overwrite_replica_secret", "recovery_window_in_days", + }, + }, + + // Step 3: Import command without appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/Secret/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "force_overwrite_replica_secret", "recovery_window_in_days", + }, + }, + + // Step 4: Import block with Import ID and appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/Secret/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + ExpectNonEmptyPlan: true, + }, + + // Step 5: Import block with Import ID and no appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/Secret/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + ExpectNonEmptyPlan: true, + }, + + // Step 6: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/Secret/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrARN), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + ExpectNonEmptyPlan: true, + }, + }, + }) +} + +// Resource Identity was added after v6.8.0 +func TestAccSecretsManagerSecret_Identity_ExistingResource(t *testing.T) { + ctx := acctest.Context(t) + + var v secretsmanager.DescribeSecretOutput + resourceName := "aws_secretsmanager_secret.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.SecretsManagerServiceID), + CheckDestroy: testAccCheckSecretDestroy(ctx), + Steps: []resource.TestStep{ + // Step 1: Create pre-Identity + { + ConfigDirectory: config.StaticDirectory("testdata/Secret/basic_v6.8.0/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckSecretExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + tfstatecheck.ExpectNoIdentity(resourceName), + }, + }, + + // Step 2: Current version + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/Secret/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + names.AttrARN: knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New(names.AttrARN)), + }, + }, + }, + }) +} diff --git a/internal/service/secretsmanager/secret_policy.go b/internal/service/secretsmanager/secret_policy.go index b12dcdec346f..e4071f7f9aad 100644 --- a/internal/service/secretsmanager/secret_policy.go +++ b/internal/service/secretsmanager/secret_policy.go @@ -24,6 +24,9 @@ import ( ) // @SDKResource("aws_secretsmanager_secret_policy", name="Secret Policy") +// @ArnIdentity("secret_arn") +// @Testing(preIdentityVersion="v6.8.0") +// @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/secretsmanager;secretsmanager.GetResourcePolicyOutput") func resourceSecretPolicy() *schema.Resource { return &schema.Resource{ CreateWithoutTimeout: resourceSecretPolicyCreate, @@ -31,10 +34,6 @@ func resourceSecretPolicy() *schema.Resource { UpdateWithoutTimeout: resourceSecretPolicyUpdate, DeleteWithoutTimeout: resourceSecretPolicyDelete, - Importer: &schema.ResourceImporter{ - StateContext: schema.ImportStatePassthroughContext, - }, - Schema: map[string]*schema.Schema{ "block_public_policy": { Type: schema.TypeBool, diff --git a/internal/service/secretsmanager/secret_policy_identity_gen_test.go b/internal/service/secretsmanager/secret_policy_identity_gen_test.go new file mode 100644 index 000000000000..4ec75f6f75bf --- /dev/null +++ b/internal/service/secretsmanager/secret_policy_identity_gen_test.go @@ -0,0 +1,283 @@ +// Code generated by internal/generate/identitytests/main.go; DO NOT EDIT. + +package secretsmanager_test + +import ( + "testing" + + "github.com/aws/aws-sdk-go-v2/service/secretsmanager" + "github.com/hashicorp/terraform-plugin-testing/compare" + "github.com/hashicorp/terraform-plugin-testing/config" + sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-plugin-testing/tfversion" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfstatecheck "github.com/hashicorp/terraform-provider-aws/internal/acctest/statecheck" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccSecretsManagerSecretPolicy_Identity_Basic(t *testing.T) { + ctx := acctest.Context(t) + + var v secretsmanager.GetResourcePolicyOutput + resourceName := "aws_secretsmanager_secret_policy.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.SecretsManagerServiceID), + CheckDestroy: testAccCheckSecretPolicyDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/SecretPolicy/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckSecretPolicyExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.CompareValuePairs(resourceName, tfjsonpath.New(names.AttrID), resourceName, tfjsonpath.New("secret_arn"), compare.ValuesSame()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + "secret_arn": knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New("secret_arn")), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/SecretPolicy/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/SecretPolicy/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New("secret_arn"), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/SecretPolicy/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New("secret_arn"), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + }, + }, + }) +} + +func TestAccSecretsManagerSecretPolicy_Identity_RegionOverride(t *testing.T) { + ctx := acctest.Context(t) + + resourceName := "aws_secretsmanager_secret_policy.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.SecretsManagerServiceID), + CheckDestroy: acctest.CheckDestroyNoop, + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/SecretPolicy/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.CompareValuePairs(resourceName, tfjsonpath.New(names.AttrID), resourceName, tfjsonpath.New("secret_arn"), compare.ValuesSame()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + "secret_arn": knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New("secret_arn")), + }, + }, + + // Step 2: Import command with appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/SecretPolicy/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + + // Step 3: Import command without appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/SecretPolicy/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + + // Step 4: Import block with Import ID and appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/SecretPolicy/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New("secret_arn"), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + + // Step 5: Import block with Import ID and no appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/SecretPolicy/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New("secret_arn"), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + + // Step 6: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/SecretPolicy/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New("secret_arn"), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + }, + }, + }) +} + +// Resource Identity was added after v6.8.0 +func TestAccSecretsManagerSecretPolicy_Identity_ExistingResource(t *testing.T) { + ctx := acctest.Context(t) + + var v secretsmanager.GetResourcePolicyOutput + resourceName := "aws_secretsmanager_secret_policy.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.SecretsManagerServiceID), + CheckDestroy: testAccCheckSecretPolicyDestroy(ctx), + Steps: []resource.TestStep{ + // Step 1: Create pre-Identity + { + ConfigDirectory: config.StaticDirectory("testdata/SecretPolicy/basic_v6.8.0/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckSecretPolicyExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + tfstatecheck.ExpectNoIdentity(resourceName), + }, + }, + + // Step 2: Current version + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/SecretPolicy/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + "secret_arn": knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New("secret_arn")), + }, + }, + }, + }) +} diff --git a/internal/service/secretsmanager/secret_rotation.go b/internal/service/secretsmanager/secret_rotation.go index 690aa08a7c53..46c88406455a 100644 --- a/internal/service/secretsmanager/secret_rotation.go +++ b/internal/service/secretsmanager/secret_rotation.go @@ -24,6 +24,10 @@ import ( ) // @SDKResource("aws_secretsmanager_secret_rotation", name="Secret Rotation") +// @ArnIdentity("secret_id") +// @Testing(preIdentityVersion="v6.8.0") +// @Testing(existsType="github.com/aws/aws-sdk-go-v2/service/secretsmanager;secretsmanager.DescribeSecretOutput") +// @Testing(importIgnore="rotate_immediately") func resourceSecretRotation() *schema.Resource { return &schema.Resource{ CreateWithoutTimeout: resourceSecretRotationCreate, @@ -31,10 +35,6 @@ func resourceSecretRotation() *schema.Resource { UpdateWithoutTimeout: resourceSecretRotationUpdate, DeleteWithoutTimeout: resourceSecretRotationDelete, - Importer: &schema.ResourceImporter{ - StateContext: schema.ImportStatePassthroughContext, - }, - SchemaVersion: 1, StateUpgraders: []schema.StateUpgrader{ { diff --git a/internal/service/secretsmanager/secret_rotation_identity_gen_test.go b/internal/service/secretsmanager/secret_rotation_identity_gen_test.go new file mode 100644 index 000000000000..21adc550dcb9 --- /dev/null +++ b/internal/service/secretsmanager/secret_rotation_identity_gen_test.go @@ -0,0 +1,302 @@ +// Code generated by internal/generate/identitytests/main.go; DO NOT EDIT. + +package secretsmanager_test + +import ( + "testing" + + "github.com/aws/aws-sdk-go-v2/service/secretsmanager" + "github.com/hashicorp/terraform-plugin-testing/compare" + "github.com/hashicorp/terraform-plugin-testing/config" + sdkacctest "github.com/hashicorp/terraform-plugin-testing/helper/acctest" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/knownvalue" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/statecheck" + "github.com/hashicorp/terraform-plugin-testing/tfjsonpath" + "github.com/hashicorp/terraform-plugin-testing/tfversion" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" + tfstatecheck "github.com/hashicorp/terraform-provider-aws/internal/acctest/statecheck" + "github.com/hashicorp/terraform-provider-aws/names" +) + +func TestAccSecretsManagerSecretRotation_Identity_Basic(t *testing.T) { + ctx := acctest.Context(t) + + var v secretsmanager.DescribeSecretOutput + resourceName := "aws_secretsmanager_secret_rotation.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.SecretsManagerServiceID), + CheckDestroy: testAccCheckSecretRotationDestroy(ctx), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/SecretRotation/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckSecretRotationExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.CompareValuePairs(resourceName, tfjsonpath.New(names.AttrID), resourceName, tfjsonpath.New("secret_id"), compare.ValuesSame()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + "secret_id": knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New("secret_id")), + }, + }, + + // Step 2: Import command + { + ConfigDirectory: config.StaticDirectory("testdata/SecretRotation/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "rotate_immediately", + }, + }, + + // Step 3: Import block with Import ID + { + ConfigDirectory: config.StaticDirectory("testdata/SecretRotation/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New("secret_id"), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + ExpectNonEmptyPlan: true, + }, + + // Step 4: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/SecretRotation/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New("secret_id"), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.Region())), + }, + }, + ExpectNonEmptyPlan: true, + }, + }, + }) +} + +func TestAccSecretsManagerSecretRotation_Identity_RegionOverride(t *testing.T) { + ctx := acctest.Context(t) + + resourceName := "aws_secretsmanager_secret_rotation.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.SecretsManagerServiceID), + CheckDestroy: acctest.CheckDestroyNoop, + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + Steps: []resource.TestStep{ + // Step 1: Setup + { + ConfigDirectory: config.StaticDirectory("testdata/SecretRotation/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.CompareValuePairs(resourceName, tfjsonpath.New(names.AttrID), resourceName, tfjsonpath.New("secret_id"), compare.ValuesSame()), + statecheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + "secret_id": knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New("secret_id")), + }, + }, + + // Step 2: Import command with appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/SecretRotation/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "rotate_immediately", + }, + }, + + // Step 3: Import command without appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/SecretRotation/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ImportStateKind: resource.ImportCommandWithID, + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "rotate_immediately", + }, + }, + + // Step 4: Import block with Import ID and appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/SecretRotation/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportStateIdFunc: acctest.CrossRegionImportStateIdFunc(resourceName), + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New("secret_id"), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + ExpectNonEmptyPlan: true, + }, + + // Step 5: Import block with Import ID and no appended "@" + { + ConfigDirectory: config.StaticDirectory("testdata/SecretRotation/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithID, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New("secret_id"), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + ExpectNonEmptyPlan: true, + }, + + // Step 6: Import block with Resource Identity + { + ConfigDirectory: config.StaticDirectory("testdata/SecretRotation/region_override/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + "region": config.StringVariable(acctest.AlternateRegion()), + }, + ResourceName: resourceName, + ImportState: true, + ImportStateKind: resource.ImportBlockWithResourceIdentity, + ImportPlanChecks: resource.ImportPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionUpdate), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New("secret_id"), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrID), knownvalue.NotNull()), + plancheck.ExpectKnownValue(resourceName, tfjsonpath.New(names.AttrRegion), knownvalue.StringExact(acctest.AlternateRegion())), + }, + }, + ExpectNonEmptyPlan: true, + }, + }, + }) +} + +// Resource Identity was added after v6.8.0 +func TestAccSecretsManagerSecretRotation_Identity_ExistingResource(t *testing.T) { + ctx := acctest.Context(t) + + var v secretsmanager.DescribeSecretOutput + resourceName := "aws_secretsmanager_secret_rotation.test" + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + + acctest.ParallelTest(ctx, t, resource.TestCase{ + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.SkipBelow(tfversion.Version1_12_0), + }, + PreCheck: func() { acctest.PreCheck(ctx, t) }, + ErrorCheck: acctest.ErrorCheck(t, names.SecretsManagerServiceID), + CheckDestroy: testAccCheckSecretRotationDestroy(ctx), + Steps: []resource.TestStep{ + // Step 1: Create pre-Identity + { + ConfigDirectory: config.StaticDirectory("testdata/SecretRotation/basic_v6.8.0/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckSecretRotationExists(ctx, resourceName, &v), + ), + ConfigStateChecks: []statecheck.StateCheck{ + tfstatecheck.ExpectNoIdentity(resourceName), + }, + }, + + // Step 2: Current version + { + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + ConfigDirectory: config.StaticDirectory("testdata/SecretRotation/basic/"), + ConfigVariables: config.Variables{ + acctest.CtRName: config.StringVariable(rName), + }, + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + PostApplyPostRefresh: []plancheck.PlanCheck{ + plancheck.ExpectResourceAction(resourceName, plancheck.ResourceActionNoop), + }, + }, + ConfigStateChecks: []statecheck.StateCheck{ + statecheck.ExpectIdentity(resourceName, map[string]knownvalue.Check{ + "secret_id": knownvalue.NotNull(), + }), + statecheck.ExpectIdentityValueMatchesState(resourceName, tfjsonpath.New("secret_id")), + }, + }, + }, + }) +} diff --git a/internal/service/secretsmanager/service_package_gen.go b/internal/service/secretsmanager/service_package_gen.go index 683f9b9c3d2f..c96633c4a540 100644 --- a/internal/service/secretsmanager/service_package_gen.go +++ b/internal/service/secretsmanager/service_package_gen.go @@ -98,18 +98,36 @@ func (p *servicePackage) SDKResources(ctx context.Context) []*inttypes.ServicePa IdentifierAttribute: names.AttrARN, }), Region: unique.Make(inttypes.ResourceRegionDefault()), + Identity: inttypes.RegionalARNIdentity( + inttypes.WithIdentityDuplicateAttrs(names.AttrID), + ), + Import: inttypes.SDKv2Import{ + WrappedImport: true, + }, }, { Factory: resourceSecretPolicy, TypeName: "aws_secretsmanager_secret_policy", Name: "Secret Policy", Region: unique.Make(inttypes.ResourceRegionDefault()), + Identity: inttypes.RegionalARNIdentityNamed("secret_arn", + inttypes.WithIdentityDuplicateAttrs(names.AttrID), + ), + Import: inttypes.SDKv2Import{ + WrappedImport: true, + }, }, { Factory: resourceSecretRotation, TypeName: "aws_secretsmanager_secret_rotation", Name: "Secret Rotation", Region: unique.Make(inttypes.ResourceRegionDefault()), + Identity: inttypes.RegionalARNIdentityNamed("secret_id", + inttypes.WithIdentityDuplicateAttrs(names.AttrID), + ), + Import: inttypes.SDKv2Import{ + WrappedImport: true, + }, }, { Factory: resourceSecretVersion, diff --git a/internal/service/secretsmanager/testdata/Secret/basic/main_gen.tf b/internal/service/secretsmanager/testdata/Secret/basic/main_gen.tf new file mode 100644 index 000000000000..054c39ce7a93 --- /dev/null +++ b/internal/service/secretsmanager/testdata/Secret/basic/main_gen.tf @@ -0,0 +1,12 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_secretsmanager_secret" "test" { + name = var.rName +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} diff --git a/internal/service/secretsmanager/testdata/Secret/basic_v6.8.0/main_gen.tf b/internal/service/secretsmanager/testdata/Secret/basic_v6.8.0/main_gen.tf new file mode 100644 index 000000000000..4c3fd98e435e --- /dev/null +++ b/internal/service/secretsmanager/testdata/Secret/basic_v6.8.0/main_gen.tf @@ -0,0 +1,22 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_secretsmanager_secret" "test" { + name = var.rName +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "6.8.0" + } + } +} + +provider "aws" {} diff --git a/internal/service/secretsmanager/testdata/Secret/region_override/main_gen.tf b/internal/service/secretsmanager/testdata/Secret/region_override/main_gen.tf new file mode 100644 index 000000000000..cd074c4983aa --- /dev/null +++ b/internal/service/secretsmanager/testdata/Secret/region_override/main_gen.tf @@ -0,0 +1,20 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_secretsmanager_secret" "test" { + region = var.region + + name = var.rName +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "region" { + description = "Region to deploy resource in" + type = string + nullable = false +} diff --git a/internal/service/secretsmanager/testdata/SecretPolicy/basic/main_gen.tf b/internal/service/secretsmanager/testdata/SecretPolicy/basic/main_gen.tf new file mode 100644 index 000000000000..a2198c371dcf --- /dev/null +++ b/internal/service/secretsmanager/testdata/SecretPolicy/basic/main_gen.tf @@ -0,0 +1,30 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_secretsmanager_secret_policy" "test" { + secret_arn = aws_secretsmanager_secret.test.arn + + policy = jsonencode({ + Version = "2012-10-17" + Statement = [{ + Sid = "EnableAllPermissions" + Effect = "Allow" + Principal = { + AWS = "*" + } + Action = "secretsmanager:GetSecretValue" + Resource = "*" + }] + }) +} + +resource "aws_secretsmanager_secret" "test" { + name = var.rName +} + + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} diff --git a/internal/service/secretsmanager/testdata/SecretPolicy/basic_v6.8.0/main_gen.tf b/internal/service/secretsmanager/testdata/SecretPolicy/basic_v6.8.0/main_gen.tf new file mode 100644 index 000000000000..ce90b4b87248 --- /dev/null +++ b/internal/service/secretsmanager/testdata/SecretPolicy/basic_v6.8.0/main_gen.tf @@ -0,0 +1,40 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_secretsmanager_secret_policy" "test" { + secret_arn = aws_secretsmanager_secret.test.arn + + policy = jsonencode({ + Version = "2012-10-17" + Statement = [{ + Sid = "EnableAllPermissions" + Effect = "Allow" + Principal = { + AWS = "*" + } + Action = "secretsmanager:GetSecretValue" + Resource = "*" + }] + }) +} + +resource "aws_secretsmanager_secret" "test" { + name = var.rName +} + + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "6.8.0" + } + } +} + +provider "aws" {} diff --git a/internal/service/secretsmanager/testdata/SecretPolicy/region_override/main_gen.tf b/internal/service/secretsmanager/testdata/SecretPolicy/region_override/main_gen.tf new file mode 100644 index 000000000000..64e35d2db90a --- /dev/null +++ b/internal/service/secretsmanager/testdata/SecretPolicy/region_override/main_gen.tf @@ -0,0 +1,40 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_secretsmanager_secret_policy" "test" { + region = var.region + + secret_arn = aws_secretsmanager_secret.test.arn + + policy = jsonencode({ + Version = "2012-10-17" + Statement = [{ + Sid = "EnableAllPermissions" + Effect = "Allow" + Principal = { + AWS = "*" + } + Action = "secretsmanager:GetSecretValue" + Resource = "*" + }] + }) +} + +resource "aws_secretsmanager_secret" "test" { + region = var.region + + name = var.rName +} + + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "region" { + description = "Region to deploy resource in" + type = string + nullable = false +} diff --git a/internal/service/secretsmanager/testdata/SecretRotation/basic/main_gen.tf b/internal/service/secretsmanager/testdata/SecretRotation/basic/main_gen.tf new file mode 100644 index 000000000000..0e19bc1763c5 --- /dev/null +++ b/internal/service/secretsmanager/testdata/SecretRotation/basic/main_gen.tf @@ -0,0 +1,85 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_secretsmanager_secret_rotation" "test" { + secret_id = aws_secretsmanager_secret.test.id + rotation_lambda_arn = aws_lambda_function.test.arn + + rotation_rules { + automatically_after_days = 7 + } + + depends_on = [aws_lambda_permission.test] +} + +data "aws_partition" "current" { +} + +resource "aws_iam_role" "test" { + name = var.rName + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [{ + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" + } + }] + }) +} + +resource "aws_iam_role_policy" "test" { + name = var.rName + role = aws_iam_role.test.id + + policy = jsonencode({ + Version = "2012-10-17" + Statement = [{ + Action = [ + "secretsmanager:DescribeSecret", + "secretsmanager:GetSecretValue", + "secretsmanager:PutSecretValue", + "secretsmanager:UpdateSecretVersionStage", + ] + Effect = "Allow" + Resource = aws_secretsmanager_secret.test.arn + }] + }) +} + +resource "aws_iam_role_policy_attachment" "test" { + policy_arn = "arn:${data.aws_partition.current.partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + role = aws_iam_role.test.name +} + +resource "aws_lambda_function" "test" { + filename = "test-fixtures/lambdatest.zip" + function_name = var.rName + handler = "exports.example" + role = aws_iam_role.test.arn + runtime = "nodejs20.x" +} + +resource "aws_lambda_permission" "test" { + action = "lambda:InvokeFunction" + function_name = aws_lambda_function.test.function_name + principal = "secretsmanager.amazonaws.com" + statement_id = "AllowExecutionFromSecretsManager1" +} + +resource "aws_secretsmanager_secret" "test" { + name = var.rName +} + +resource "aws_secretsmanager_secret_version" "test" { + secret_id = aws_secretsmanager_secret.test.id + secret_string = "test-string" +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} diff --git a/internal/service/secretsmanager/testdata/SecretRotation/basic_v6.8.0/main_gen.tf b/internal/service/secretsmanager/testdata/SecretRotation/basic_v6.8.0/main_gen.tf new file mode 100644 index 000000000000..06c70e9db689 --- /dev/null +++ b/internal/service/secretsmanager/testdata/SecretRotation/basic_v6.8.0/main_gen.tf @@ -0,0 +1,95 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_secretsmanager_secret_rotation" "test" { + secret_id = aws_secretsmanager_secret.test.id + rotation_lambda_arn = aws_lambda_function.test.arn + + rotation_rules { + automatically_after_days = 7 + } + + depends_on = [aws_lambda_permission.test] +} + +data "aws_partition" "current" { +} + +resource "aws_iam_role" "test" { + name = var.rName + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [{ + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" + } + }] + }) +} + +resource "aws_iam_role_policy" "test" { + name = var.rName + role = aws_iam_role.test.id + + policy = jsonencode({ + Version = "2012-10-17" + Statement = [{ + Action = [ + "secretsmanager:DescribeSecret", + "secretsmanager:GetSecretValue", + "secretsmanager:PutSecretValue", + "secretsmanager:UpdateSecretVersionStage", + ] + Effect = "Allow" + Resource = aws_secretsmanager_secret.test.arn + }] + }) +} + +resource "aws_iam_role_policy_attachment" "test" { + policy_arn = "arn:${data.aws_partition.current.partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + role = aws_iam_role.test.name +} + +resource "aws_lambda_function" "test" { + filename = "test-fixtures/lambdatest.zip" + function_name = var.rName + handler = "exports.example" + role = aws_iam_role.test.arn + runtime = "nodejs20.x" +} + +resource "aws_lambda_permission" "test" { + action = "lambda:InvokeFunction" + function_name = aws_lambda_function.test.function_name + principal = "secretsmanager.amazonaws.com" + statement_id = "AllowExecutionFromSecretsManager1" +} + +resource "aws_secretsmanager_secret" "test" { + name = var.rName +} + +resource "aws_secretsmanager_secret_version" "test" { + secret_id = aws_secretsmanager_secret.test.id + secret_string = "test-string" +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = "6.8.0" + } + } +} + +provider "aws" {} diff --git a/internal/service/secretsmanager/testdata/SecretRotation/region_override/main_gen.tf b/internal/service/secretsmanager/testdata/SecretRotation/region_override/main_gen.tf new file mode 100644 index 000000000000..3e9df6d639bb --- /dev/null +++ b/internal/service/secretsmanager/testdata/SecretRotation/region_override/main_gen.tf @@ -0,0 +1,101 @@ +# Copyright (c) HashiCorp, Inc. +# SPDX-License-Identifier: MPL-2.0 + +resource "aws_secretsmanager_secret_rotation" "test" { + region = var.region + + secret_id = aws_secretsmanager_secret.test.id + rotation_lambda_arn = aws_lambda_function.test.arn + + rotation_rules { + automatically_after_days = 7 + } + + depends_on = [aws_lambda_permission.test] +} + +data "aws_partition" "current" { +} + +resource "aws_iam_role" "test" { + name = var.rName + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [{ + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" + } + }] + }) +} + +resource "aws_iam_role_policy" "test" { + name = var.rName + role = aws_iam_role.test.id + + policy = jsonencode({ + Version = "2012-10-17" + Statement = [{ + Action = [ + "secretsmanager:DescribeSecret", + "secretsmanager:GetSecretValue", + "secretsmanager:PutSecretValue", + "secretsmanager:UpdateSecretVersionStage", + ] + Effect = "Allow" + Resource = aws_secretsmanager_secret.test.arn + }] + }) +} + +resource "aws_iam_role_policy_attachment" "test" { + policy_arn = "arn:${data.aws_partition.current.partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + role = aws_iam_role.test.name +} + +resource "aws_lambda_function" "test" { + region = var.region + + filename = "test-fixtures/lambdatest.zip" + function_name = var.rName + handler = "exports.example" + role = aws_iam_role.test.arn + runtime = "nodejs20.x" +} + +resource "aws_lambda_permission" "test" { + region = var.region + + action = "lambda:InvokeFunction" + function_name = aws_lambda_function.test.function_name + principal = "secretsmanager.amazonaws.com" + statement_id = "AllowExecutionFromSecretsManager1" +} + +resource "aws_secretsmanager_secret" "test" { + region = var.region + + name = var.rName +} + +resource "aws_secretsmanager_secret_version" "test" { + region = var.region + + secret_id = aws_secretsmanager_secret.test.id + secret_string = "test-string" +} + +variable "rName" { + description = "Name for resource" + type = string + nullable = false +} + +variable "region" { + description = "Region to deploy resource in" + type = string + nullable = false +} diff --git a/internal/service/secretsmanager/testdata/tmpl/secret_policy_tags.gtpl b/internal/service/secretsmanager/testdata/tmpl/secret_policy_tags.gtpl new file mode 100644 index 000000000000..e564687934d8 --- /dev/null +++ b/internal/service/secretsmanager/testdata/tmpl/secret_policy_tags.gtpl @@ -0,0 +1,23 @@ +resource "aws_secretsmanager_secret_policy" "test" { +{{- template "region" }} + secret_arn = aws_secretsmanager_secret.test.arn + + policy = jsonencode({ + Version = "2012-10-17" + Statement = [{ + Sid = "EnableAllPermissions" + Effect = "Allow" + Principal = { + AWS = "*" + } + Action = "secretsmanager:GetSecretValue" + Resource = "*" + }] + }) +} + +resource "aws_secretsmanager_secret" "test" { +{{- template "region" }} + name = var.rName +} + diff --git a/internal/service/secretsmanager/testdata/tmpl/secret_rotation_tags.gtpl b/internal/service/secretsmanager/testdata/tmpl/secret_rotation_tags.gtpl new file mode 100644 index 000000000000..371c71adbbd9 --- /dev/null +++ b/internal/service/secretsmanager/testdata/tmpl/secret_rotation_tags.gtpl @@ -0,0 +1,81 @@ +resource "aws_secretsmanager_secret_rotation" "test" { +{{- template "region" }} + secret_id = aws_secretsmanager_secret.test.id + rotation_lambda_arn = aws_lambda_function.test.arn + + rotation_rules { + automatically_after_days = 7 + } + + depends_on = [aws_lambda_permission.test] +} + +data "aws_partition" "current" { +} + +resource "aws_iam_role" "test" { + name = var.rName + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [{ + Action = "sts:AssumeRole" + Effect = "Allow" + Principal = { + Service = "lambda.amazonaws.com" + } + }] + }) +} + +resource "aws_iam_role_policy" "test" { + name = var.rName + role = aws_iam_role.test.id + + policy = jsonencode({ + Version = "2012-10-17" + Statement = [{ + Action = [ + "secretsmanager:DescribeSecret", + "secretsmanager:GetSecretValue", + "secretsmanager:PutSecretValue", + "secretsmanager:UpdateSecretVersionStage", + ] + Effect = "Allow" + Resource = aws_secretsmanager_secret.test.arn + }] + }) +} + +resource "aws_iam_role_policy_attachment" "test" { + policy_arn = "arn:${data.aws_partition.current.partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" + role = aws_iam_role.test.name +} + +resource "aws_lambda_function" "test" { +{{- template "region" }} + filename = "test-fixtures/lambdatest.zip" + function_name = var.rName + handler = "exports.example" + role = aws_iam_role.test.arn + runtime = "nodejs20.x" +} + +resource "aws_lambda_permission" "test" { +{{- template "region" }} + action = "lambda:InvokeFunction" + function_name = aws_lambda_function.test.function_name + principal = "secretsmanager.amazonaws.com" + statement_id = "AllowExecutionFromSecretsManager1" +} + +resource "aws_secretsmanager_secret" "test" { +{{- template "region" }} + name = var.rName +} + +resource "aws_secretsmanager_secret_version" "test" { +{{- template "region" }} + secret_id = aws_secretsmanager_secret.test.id + secret_string = "test-string" +} diff --git a/internal/service/secretsmanager/testdata/tmpl/secret_tags.gtpl b/internal/service/secretsmanager/testdata/tmpl/secret_tags.gtpl index 44f92d6ad62e..3e1e7624d0dd 100644 --- a/internal/service/secretsmanager/testdata/tmpl/secret_tags.gtpl +++ b/internal/service/secretsmanager/testdata/tmpl/secret_tags.gtpl @@ -1,4 +1,5 @@ resource "aws_secretsmanager_secret" "test" { +{{- template "region" }} name = var.rName {{- template "tags" . }} From b01c46f858dd729a44a9d2739ce0932095c8495d Mon Sep 17 00:00:00 2001 From: changelogbot Date: Thu, 14 Aug 2025 18:56:16 +0000 Subject: [PATCH 1241/1301] Update CHANGELOG.md for #43872 --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c9473aa25f32..982a640dc4a8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ ## 6.10.0 (Unreleased) +ENHANCEMENTS: + +* resource/aws_secretsmanager_secret: Add resource identity support ([#43872](https://github.com/hashicorp/terraform-provider-aws/issues/43872)) +* resource/aws_secretsmanager_secret_policy: Add resource identity support ([#43872](https://github.com/hashicorp/terraform-provider-aws/issues/43872)) +* resource/aws_secretsmanager_secret_rotation: Add resource identity support ([#43872](https://github.com/hashicorp/terraform-provider-aws/issues/43872)) + ## 6.9.0 (August 14, 2025) FEATURES: From 430f61fce31b1bf545a104c7495e46fd3570ee40 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 14 Aug 2025 15:38:09 -0400 Subject: [PATCH 1242/1301] Add missing v6.9.0 CHANGELOG entry. --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 982a640dc4a8..754794e73a20 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,12 +32,13 @@ BUG FIXES: * data-source/aws_networkfirewall_firewall_policy: Add missing schema definition for `firewall_policy.stateful_engine_options.flow_timeouts` ([#43852](https://github.com/hashicorp/terraform-provider-aws/issues/43852)) * resource/aws_cognito_risk_configuration: Make `account_takeover_risk_configuration.notify_configuration` optional ([#33624](https://github.com/hashicorp/terraform-provider-aws/issues/33624)) * resource/aws_ecs_service: Fix tagging failure after upgrading to v6 provider ([#43816](https://github.com/hashicorp/terraform-provider-aws/issues/43816)) +resource/aws_ecs_service: Fix refreshing `service_connect_configuration` when deleted outside of Terraform ([#43871](https://github.com/hashicorp/terraform-provider-aws/issues/43871)) * resource/aws_lambda_function: Fix missing value for `reserved_concurrent_executions` attribute when a published version exists. This functionality requires the `lambda:GetFunctionConcurrency` IAM permission ([#43753](https://github.com/hashicorp/terraform-provider-aws/issues/43753)) * resource/aws_s3tables_table: Fix `runtime error: invalid memory address or nil pointer dereference` panics when `GetTableMaintenanceConfiguration` returns an error ([#43764](https://github.com/hashicorp/terraform-provider-aws/issues/43764)) * resource/aws_sagemaker_user_profile: Fix incomplete regex for `user_profile_name` ([#43807](https://github.com/hashicorp/terraform-provider-aws/issues/43807)) * resource/aws_servicequotas_service_quota: Add validation, during `create`, to check if new value is less than current value of quota ([#43545](https://github.com/hashicorp/terraform-provider-aws/issues/43545)) * resource/aws_storagegateway_gateway: Handle `InvalidGatewayRequestException: The specified gateway is not connected` errors during Read by using the [`ListGateways` API](https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_ListGateways.html) to return minimal information about a disconnected gateway. This functionality requires the `storagegateway:ListGateways` IAM permission ([#43819](https://github.com/hashicorp/terraform-provider-aws/issues/43819)) -* resource/aws_vpc_ipam_pool_cidr: Fix netmask_length not being saved and diffed correctly ([#43262](https://github.com/hashicorp/terraform-provider-aws/issues/43262)) +* resource/aws_vpc_ipam_pool_cidr: Fix `netmask_length` not being saved and diffed correctly ([#43262](https://github.com/hashicorp/terraform-provider-aws/issues/43262)) ## 6.8.0 (August 7, 2025) From 1c187cebcafb9d7ea1cccba79844d57d58671c52 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Thu, 14 Aug 2025 15:41:30 -0400 Subject: [PATCH 1243/1301] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 754794e73a20..51fbe07656ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,7 +32,7 @@ BUG FIXES: * data-source/aws_networkfirewall_firewall_policy: Add missing schema definition for `firewall_policy.stateful_engine_options.flow_timeouts` ([#43852](https://github.com/hashicorp/terraform-provider-aws/issues/43852)) * resource/aws_cognito_risk_configuration: Make `account_takeover_risk_configuration.notify_configuration` optional ([#33624](https://github.com/hashicorp/terraform-provider-aws/issues/33624)) * resource/aws_ecs_service: Fix tagging failure after upgrading to v6 provider ([#43816](https://github.com/hashicorp/terraform-provider-aws/issues/43816)) -resource/aws_ecs_service: Fix refreshing `service_connect_configuration` when deleted outside of Terraform ([#43871](https://github.com/hashicorp/terraform-provider-aws/issues/43871)) +* resource/aws_ecs_service: Fix refreshing `service_connect_configuration` when deleted outside of Terraform ([#43871](https://github.com/hashicorp/terraform-provider-aws/issues/43871)) * resource/aws_lambda_function: Fix missing value for `reserved_concurrent_executions` attribute when a published version exists. This functionality requires the `lambda:GetFunctionConcurrency` IAM permission ([#43753](https://github.com/hashicorp/terraform-provider-aws/issues/43753)) * resource/aws_s3tables_table: Fix `runtime error: invalid memory address or nil pointer dereference` panics when `GetTableMaintenanceConfiguration` returns an error ([#43764](https://github.com/hashicorp/terraform-provider-aws/issues/43764)) * resource/aws_sagemaker_user_profile: Fix incomplete regex for `user_profile_name` ([#43807](https://github.com/hashicorp/terraform-provider-aws/issues/43807)) From 34107011b40228dbe9f75fb67fc5cfcd250bfe91 Mon Sep 17 00:00:00 2001 From: Graham Davison Date: Thu, 14 Aug 2025 11:53:34 -0700 Subject: [PATCH 1244/1301] Decouples `tags.ResolveDuplicatesFramework` from `resource.ReadResponse` --- internal/provider/framework/tags_interceptor.go | 2 +- internal/tags/key_value_tags.go | 7 +------ 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/internal/provider/framework/tags_interceptor.go b/internal/provider/framework/tags_interceptor.go index f8c385fc02bf..93330f785de1 100644 --- a/internal/provider/framework/tags_interceptor.go +++ b/internal/provider/framework/tags_interceptor.go @@ -155,7 +155,7 @@ func (r tagsResourceInterceptor) read(ctx context.Context, opts interceptorOptio response.State.GetAttribute(ctx, path.Root(names.AttrTags), &stateTags) // Remove any provider configured ignore_tags and system tags from those returned from the service API. // The resource's configured tags do not include any provider configured default_tags. - if v := apiTags.IgnoreSystem(sp.ServicePackageName()).IgnoreConfig(c.IgnoreTagsConfig(ctx)).ResolveDuplicatesFramework(ctx, c.DefaultTagsConfig(ctx), c.IgnoreTagsConfig(ctx), response, &opts.response.Diagnostics).Map(); len(v) > 0 { + if v := apiTags.IgnoreSystem(sp.ServicePackageName()).IgnoreConfig(c.IgnoreTagsConfig(ctx)).ResolveDuplicatesFramework(ctx, c.DefaultTagsConfig(ctx), c.IgnoreTagsConfig(ctx), stateTags, &opts.response.Diagnostics).Map(); len(v) > 0 { stateTags = tftags.NewMapFromMapValue(fwflex.FlattenFrameworkStringValueMapLegacy(ctx, v)) } opts.response.Diagnostics.Append(response.State.SetAttribute(ctx, path.Root(names.AttrTags), &stateTags)...) diff --git a/internal/tags/key_value_tags.go b/internal/tags/key_value_tags.go index 566b4ab6e82e..9c92be4db62d 100644 --- a/internal/tags/key_value_tags.go +++ b/internal/tags/key_value_tags.go @@ -15,8 +15,6 @@ import ( "github.com/hashicorp/go-cty/cty" fwdiag "github.com/hashicorp/terraform-plugin-framework/diag" - "github.com/hashicorp/terraform-plugin-framework/path" - "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/types" "github.com/hashicorp/terraform-provider-aws/internal/create" "github.com/hashicorp/terraform-provider-aws/internal/framework/flex" @@ -887,13 +885,10 @@ func (tags KeyValueTags) ResolveDuplicates(ctx context.Context, defaultConfig *D } // ResolveDuplicatesFramework resolves differences between incoming tags, defaultTags, and ignoreConfig -func (tags KeyValueTags) ResolveDuplicatesFramework(ctx context.Context, defaultConfig *DefaultConfig, ignoreConfig *IgnoreConfig, resp *resource.ReadResponse, diags *fwdiag.Diagnostics) KeyValueTags { +func (tags KeyValueTags) ResolveDuplicatesFramework(ctx context.Context, defaultConfig *DefaultConfig, ignoreConfig *IgnoreConfig, tagsAll Map, diags *fwdiag.Diagnostics) KeyValueTags { // remove default config. t := tags.RemoveDefaultConfig(defaultConfig) - var tagsAll Map - diags.Append(resp.State.GetAttribute(ctx, path.Root("tags"), &tagsAll)...) - if diags.HasError() { return KeyValueTags{} } From 1138897f839f3901573a77100bdc0ff5997c14fd Mon Sep 17 00:00:00 2001 From: tabito Date: Fri, 15 Aug 2025 08:17:56 +0900 Subject: [PATCH 1245/1301] Update doc: add conflicts between build_id and script_id --- website/docs/r/gamelift_fleet.html.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/r/gamelift_fleet.html.markdown b/website/docs/r/gamelift_fleet.html.markdown index 9caa1e1326ca..48c4cb65ddc7 100644 --- a/website/docs/r/gamelift_fleet.html.markdown +++ b/website/docs/r/gamelift_fleet.html.markdown @@ -33,7 +33,7 @@ resource "aws_gamelift_fleet" "example" { This resource supports the following arguments: * `region` - (Optional) Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the [provider configuration](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#aws-configuration-reference). -* `build_id` - (Optional) ID of the GameLift Build to be deployed on the fleet. +* `build_id` - (Optional) ID of the GameLift Build to be deployed on the fleet. Conflicts with `script_id`. * `certificate_configuration` - (Optional) Prompts GameLift to generate a TLS/SSL certificate for the fleet. See [certificate_configuration](#certificate_configuration). * `description` - (Optional) Human-readable description of the fleet. * `ec2_inbound_permission` - (Optional) Range of IP addresses and port settings that permit inbound traffic to access server processes running on the fleet. See below. @@ -45,7 +45,7 @@ This resource supports the following arguments: * `new_game_session_protection_policy` - (Optional) Game session protection policy to apply to all instances in this fleetE.g., `FullProtection`. Defaults to `NoProtection`. * `resource_creation_limit_policy` - (Optional) Policy that limits the number of game sessions an individual player can create over a span of time for this fleet. See below. * `runtime_configuration` - (Optional) Instructions for launching server processes on each instance in the fleet. See below. -* `script_id` - (Optional) ID of the GameLift Script to be deployed on the fleet. +* `script_id` - (Optional) ID of the GameLift Script to be deployed on the fleet. Conflicts with `build_id`. * `tags` - (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block) present, tags with matching keys will overwrite those defined at the provider-level. ### Nested Fields From e1a0cf92b3e64994fe6fe1309bfb734c247b63c5 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:09:42 -0400 Subject: [PATCH 1246/1301] tfresource.RetryWhenIsA: Use 'internal/retry'. --- internal/tfresource/retry.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/tfresource/retry.go b/internal/tfresource/retry.go index 1c15bbf408b3..fc564baad2b9 100644 --- a/internal/tfresource/retry.go +++ b/internal/tfresource/retry.go @@ -128,9 +128,9 @@ func RetryWhenAWSErrMessageContains[T any](ctx context.Context, timeout time.Dur }) } -func RetryWhenIsA[T error](ctx context.Context, timeout time.Duration, f func() (any, error)) (any, error) { - return RetryWhen(ctx, timeout, f, func(err error) (bool, error) { - if errs.IsA[T](err) { +func RetryWhenIsA[T any, E error](ctx context.Context, timeout time.Duration, f func(context.Context) (T, error)) (T, error) { + return retryWhen(ctx, timeout, f, func(err error) (bool, error) { + if errs.IsA[E](err) { return true, err } From 556f677afcf6df8eaa6529673b3512d4496030ce Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:13:38 -0400 Subject: [PATCH 1247/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - acctest. --- internal/acctest/acctest.go | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/internal/acctest/acctest.go b/internal/acctest/acctest.go index 5f72f76f24cc..9d59bb43c11d 100644 --- a/internal/acctest/acctest.go +++ b/internal/acctest/acctest.go @@ -1925,7 +1925,7 @@ func CheckACMPCACertificateAuthorityActivateRootCA(ctx context.Context, certific } // Wait for certificate status to become ISSUED. - outputRaw, err := tfresource.RetryWhenIsA[*acmpcatypes.RequestInProgressException](ctx, CertificateIssueTimeout, func() (any, error) { + getCertOutput, err := tfresource.RetryWhenIsA[*acmpca.GetCertificateOutput, *acmpcatypes.RequestInProgressException](ctx, CertificateIssueTimeout, func(ctx context.Context) (*acmpca.GetCertificateOutput, error) { return tfacmpca.FindCertificateByTwoPartKey(ctx, conn, arn, aws.ToString(issueCertOutput.CertificateArn)) }) @@ -1933,7 +1933,6 @@ func CheckACMPCACertificateAuthorityActivateRootCA(ctx context.Context, certific return fmt.Errorf("waiting for ACM PCA Certificate Authority (%s) Root CA certificate to become ISSUED: %w", arn, err) } - getCertOutput := outputRaw.(*acmpca.GetCertificateOutput) importCACertificateInput := acmpca.ImportCertificateAuthorityCertificateInput{ CertificateAuthorityArn: aws.String(arn), Certificate: []byte(aws.ToString(getCertOutput.Certificate)), @@ -1986,7 +1985,7 @@ func CheckACMPCACertificateAuthorityActivateSubordinateCA(ctx context.Context, r } // Wait for certificate status to become ISSUED. - outputRaw, err := tfresource.RetryWhenIsA[*acmpcatypes.RequestInProgressException](ctx, CertificateIssueTimeout, func() (any, error) { + getCertOutput, err := tfresource.RetryWhenIsA[*acmpca.GetCertificateOutput, *acmpcatypes.RequestInProgressException](ctx, CertificateIssueTimeout, func(ctx context.Context) (*acmpca.GetCertificateOutput, error) { return tfacmpca.FindCertificateByTwoPartKey(ctx, conn, rootCertificateAuthorityArn, aws.ToString(issueCertOutput.CertificateArn)) }) @@ -1994,7 +1993,6 @@ func CheckACMPCACertificateAuthorityActivateSubordinateCA(ctx context.Context, r return fmt.Errorf("waiting for ACM PCA Certificate Authority (%s) Subordinate CA certificate (%s) to become ISSUED: %w", arn, aws.ToString(issueCertOutput.CertificateArn), err) } - getCertOutput := outputRaw.(*acmpca.GetCertificateOutput) importCACertificateInput := acmpca.ImportCertificateAuthorityCertificateInput{ CertificateAuthorityArn: aws.String(arn), Certificate: []byte(aws.ToString(getCertOutput.Certificate)), From 28127a80f4545b69fee73062945465bea800ec9d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 15 Aug 2025 10:18:55 -0400 Subject: [PATCH 1248/1301] build(deps): bump breathingdust/github-jira-tidy from 0.13.0 to 0.14.0 (#43902) Bumps [breathingdust/github-jira-tidy](https://github.com/breathingdust/github-jira-tidy) from 0.13.0 to 0.14.0. - [Release notes](https://github.com/breathingdust/github-jira-tidy/releases) - [Commits](https://github.com/breathingdust/github-jira-tidy/compare/df7fb457b63e8dfd99f81167755ddc83d7ac93bb...90353323866d42ef3686f589d834ba5f30ce6534) --- updated-dependencies: - dependency-name: breathingdust/github-jira-tidy dependency-version: 0.14.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/post-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/post-publish.yml b/.github/workflows/post-publish.yml index e0ff7d658d64..df724360263f 100644 --- a/.github/workflows/post-publish.yml +++ b/.github/workflows/post-publish.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Tidy Jira - uses: breathingdust/github-jira-tidy@df7fb457b63e8dfd99f81167755ddc83d7ac93bb # v0.13.0 + uses: breathingdust/github-jira-tidy@90353323866d42ef3686f589d834ba5f30ce6534 # v0.14.0 with: jira_host: 'hashicorp.atlassian.net' jira_username: 'sdavis@hashicorp.com' From 5829603fca70c6dc46d83b23c3e8bade99a26839 Mon Sep 17 00:00:00 2001 From: changelogbot Date: Fri, 15 Aug 2025 14:24:16 +0000 Subject: [PATCH 1249/1301] Update CHANGELOG.md for #43902 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 51fbe07656ed..a727b90c1f80 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ENHANCEMENTS: +* resource/aws_lightsail_static_ip_attachment: Support resource import ([#43874](https://github.com/hashicorp/terraform-provider-aws/issues/43874)) * resource/aws_secretsmanager_secret: Add resource identity support ([#43872](https://github.com/hashicorp/terraform-provider-aws/issues/43872)) * resource/aws_secretsmanager_secret_policy: Add resource identity support ([#43872](https://github.com/hashicorp/terraform-provider-aws/issues/43872)) * resource/aws_secretsmanager_secret_rotation: Add resource identity support ([#43872](https://github.com/hashicorp/terraform-provider-aws/issues/43872)) From d49a989174791182a6480ea4d24826afeee1c9fe Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:26 -0400 Subject: [PATCH 1250/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - acm. --- internal/service/acm/certificate.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/acm/certificate.go b/internal/service/acm/certificate.go index d0382d932abd..f70bbee6e212 100644 --- a/internal/service/acm/certificate.go +++ b/internal/service/acm/certificate.go @@ -552,8 +552,8 @@ func resourceCertificateDelete(ctx context.Context, d *schema.ResourceData, meta input := acm.DeleteCertificateInput{ CertificateArn: aws.String(d.Id()), } - _, err := tfresource.RetryWhenIsA[*types.ResourceInUseException](ctx, certificateCrossServicePropagationTimeout, - func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *types.ResourceInUseException](ctx, certificateCrossServicePropagationTimeout, + func(ctx context.Context) (any, error) { return conn.DeleteCertificate(ctx, &input) }) From 573311e2f5824abf48f286d3a0c704a22990a861 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:26 -0400 Subject: [PATCH 1251/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - acmpca. --- internal/service/acmpca/certificate.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/acmpca/certificate.go b/internal/service/acmpca/certificate.go index 78861d527c84..4516844fa904 100644 --- a/internal/service/acmpca/certificate.go +++ b/internal/service/acmpca/certificate.go @@ -177,7 +177,7 @@ func resourceCertificateCreate(ctx context.Context, d *schema.ResourceData, meta d.SetId(aws.ToString(outputRaw.(*acmpca.IssueCertificateOutput).CertificateArn)) // Wait for certificate status to become ISSUED. - _, err = tfresource.RetryWhenIsA[*types.RequestInProgressException](ctx, certificateIssueTimeout, func() (any, error) { + _, err = tfresource.RetryWhenIsA[any, *types.RequestInProgressException](ctx, certificateIssueTimeout, func(ctx context.Context) (any, error) { return findCertificateByTwoPartKey(ctx, conn, d.Id(), certificateAuthorityARN) }) From 7249a3e2b6230e27a83527fe973c30c119813a84 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:26 -0400 Subject: [PATCH 1252/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - apigateway. --- internal/service/apigateway/base_path_mapping.go | 2 +- internal/service/apigateway/method_response.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/apigateway/base_path_mapping.go b/internal/service/apigateway/base_path_mapping.go index ed3c654db7e9..20571c9e5b60 100644 --- a/internal/service/apigateway/base_path_mapping.go +++ b/internal/service/apigateway/base_path_mapping.go @@ -87,7 +87,7 @@ func resourceBasePathMappingCreate(ctx context.Context, d *schema.ResourceData, const ( timeout = 30 * time.Second ) - _, err := tfresource.RetryWhenIsA[*types.BadRequestException](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *types.BadRequestException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.CreateBasePathMapping(ctx, &input) }) diff --git a/internal/service/apigateway/method_response.go b/internal/service/apigateway/method_response.go index 055e91dcfd1d..41269db66bb7 100644 --- a/internal/service/apigateway/method_response.go +++ b/internal/service/apigateway/method_response.go @@ -112,7 +112,7 @@ func resourceMethodResponseCreate(ctx context.Context, d *schema.ResourceData, m const ( timeout = 2 * time.Minute ) - _, err := tfresource.RetryWhenIsA[*types.ConflictException](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *types.ConflictException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.PutMethodResponse(ctx, &input) }) From 9ddad6ee2c928c3563a101a50b96b795e6817525 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:26 -0400 Subject: [PATCH 1253/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - apigatewayv2. --- internal/service/apigatewayv2/authorizer.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/apigatewayv2/authorizer.go b/internal/service/apigatewayv2/authorizer.go index e32ebe15f54d..b78e17486aac 100644 --- a/internal/service/apigatewayv2/authorizer.go +++ b/internal/service/apigatewayv2/authorizer.go @@ -263,7 +263,7 @@ func resourceAuthorizerDelete(ctx context.Context, d *schema.ResourceData, meta conn := meta.(*conns.AWSClient).APIGatewayV2Client(ctx) log.Printf("[DEBUG] Deleting API Gateway v2 Authorizer: %s", d.Id()) - _, err := tfresource.RetryWhenIsA[*awstypes.ConflictException](ctx, d.Timeout(schema.TimeoutDelete), func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.ConflictException](ctx, d.Timeout(schema.TimeoutDelete), func(ctx context.Context) (any, error) { return conn.DeleteAuthorizer(ctx, &apigatewayv2.DeleteAuthorizerInput{ ApiId: aws.String(d.Get("api_id").(string)), AuthorizerId: aws.String(d.Id()), From 0f0a859240e0bcce31def122bd7a7358c26add98 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:26 -0400 Subject: [PATCH 1254/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - appautoscaling. --- internal/service/appautoscaling/policy.go | 6 +++--- internal/service/appautoscaling/scheduled_action.go | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/service/appautoscaling/policy.go b/internal/service/appautoscaling/policy.go index 9d7a29aec38a..e80359dc1ccc 100644 --- a/internal/service/appautoscaling/policy.go +++ b/internal/service/appautoscaling/policy.go @@ -307,7 +307,7 @@ func resourcePolicyPut(ctx context.Context, d *schema.ResourceData, meta any) di id := d.Get(names.AttrName).(string) input := expandPutScalingPolicyInput(d) - _, err := tfresource.RetryWhenIsA[*awstypes.FailedResourceAccessException](ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.FailedResourceAccessException](ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.PutScalingPolicy(ctx, &input) }) @@ -326,7 +326,7 @@ func resourcePolicyRead(ctx context.Context, d *schema.ResourceData, meta any) d var diags diag.Diagnostics conn := meta.(*conns.AWSClient).AppAutoScalingClient(ctx) - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.FailedResourceAccessException](ctx, propagationTimeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.FailedResourceAccessException](ctx, propagationTimeout, func(ctx context.Context) (any, error) { return findScalingPolicyByFourPartKey(ctx, conn, d.Get(names.AttrName).(string), d.Get("service_namespace").(string), d.Get(names.AttrResourceID).(string), d.Get("scalable_dimension").(string)) }) @@ -371,7 +371,7 @@ func resourcePolicyDelete(ctx context.Context, d *schema.ResourceData, meta any) ServiceNamespace: awstypes.ServiceNamespace(d.Get("service_namespace").(string)), } - _, err := tfresource.RetryWhenIsA[*awstypes.FailedResourceAccessException](ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.FailedResourceAccessException](ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.DeleteScalingPolicy(ctx, &input) }) diff --git a/internal/service/appautoscaling/scheduled_action.go b/internal/service/appautoscaling/scheduled_action.go index 2d09b820297a..a67fe916745d 100644 --- a/internal/service/appautoscaling/scheduled_action.go +++ b/internal/service/appautoscaling/scheduled_action.go @@ -160,7 +160,7 @@ func resourceScheduledActionPut(ctx context.Context, d *schema.ResourceData, met const ( timeout = 5 * time.Minute ) - _, err := tfresource.RetryWhenIsA[*awstypes.ObjectNotFoundException](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.ObjectNotFoundException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.PutScheduledAction(ctx, &input) }) From c3ea01e5ddffb968c53b876ee72ab0bed55113dd Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:27 -0400 Subject: [PATCH 1255/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - appconfig. --- internal/service/appconfig/deployment.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/appconfig/deployment.go b/internal/service/appconfig/deployment.go index 9225b86b4d6e..df536fc1a4df 100644 --- a/internal/service/appconfig/deployment.go +++ b/internal/service/appconfig/deployment.go @@ -131,7 +131,7 @@ func resourceDeploymentCreate(ctx context.Context, d *schema.ResourceData, meta const ( timeout = 30 * time.Minute // AWS SDK for Go v1 compatibility. ) - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.ConflictException](ctx, timeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.ConflictException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.StartDeployment(ctx, &input) }) From fe1934e5a89c19aea75a8285dabd7aa0e38fd7d7 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:28 -0400 Subject: [PATCH 1256/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - appstream. --- internal/service/appstream/fleet_stack_association.go | 2 +- internal/service/appstream/stack.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/appstream/fleet_stack_association.go b/internal/service/appstream/fleet_stack_association.go index 9059a42ce863..f1f3a65b9f34 100644 --- a/internal/service/appstream/fleet_stack_association.go +++ b/internal/service/appstream/fleet_stack_association.go @@ -63,7 +63,7 @@ func resourceFleetStackAssociationCreate(ctx context.Context, d *schema.Resource const ( timeout = 15 * time.Minute ) - _, err := tfresource.RetryWhenIsA[*awstypes.ResourceNotFoundException](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.ResourceNotFoundException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.AssociateFleet(ctx, &input) }) diff --git a/internal/service/appstream/stack.go b/internal/service/appstream/stack.go index ef59cec4d40a..9c1966185cd4 100644 --- a/internal/service/appstream/stack.go +++ b/internal/service/appstream/stack.go @@ -301,7 +301,7 @@ func resourceStackCreate(ctx context.Context, d *schema.ResourceData, meta any) input.UserSettings = expandUserSettings(v.(*schema.Set).List()) } - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.ResourceNotFoundException](ctx, stackOperationTimeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.ResourceNotFoundException](ctx, stackOperationTimeout, func(ctx context.Context) (any, error) { return conn.CreateStack(ctx, &input) }) From a229d890138b468beec5549a7545abeba008aa95 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:28 -0400 Subject: [PATCH 1257/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - appsync. --- internal/service/appsync/domain_name.go | 2 +- internal/service/appsync/resolver.go | 21 +++++++++++---------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/internal/service/appsync/domain_name.go b/internal/service/appsync/domain_name.go index 0b743cc332de..42b627114310 100644 --- a/internal/service/appsync/domain_name.go +++ b/internal/service/appsync/domain_name.go @@ -138,7 +138,7 @@ func resourceDomainNameDelete(ctx context.Context, d *schema.ResourceData, meta const ( timeout = 5 * time.Minute ) - _, err := tfresource.RetryWhenIsA[*awstypes.ConcurrentModificationException](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.ConcurrentModificationException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.DeleteDomainName(ctx, &appsync.DeleteDomainNameInput{ DomainName: aws.String(d.Id()), }) diff --git a/internal/service/appsync/resolver.go b/internal/service/appsync/resolver.go index d95496ddbe0d..2b1deba8e782 100644 --- a/internal/service/appsync/resolver.go +++ b/internal/service/appsync/resolver.go @@ -232,7 +232,7 @@ func resourceResolverCreate(ctx context.Context, d *schema.ResourceData, meta an input.SyncConfig = expandSyncConfig(v.([]any)) } - _, err := retryResolverOp(ctx, apiID, func() (any, error) { + _, err := retryResolverOp(ctx, apiID, func(ctx context.Context) (any, error) { return conn.CreateResolver(ctx, input) }) @@ -347,7 +347,7 @@ func resourceResolverUpdate(ctx context.Context, d *schema.ResourceData, meta an input.SyncConfig = expandSyncConfig(v.([]any)) } - _, err = retryResolverOp(ctx, apiID, func() (any, error) { + _, err = retryResolverOp(ctx, apiID, func(ctx context.Context) (any, error) { return conn.UpdateResolver(ctx, input) }) @@ -368,12 +368,13 @@ func resourceResolverDelete(ctx context.Context, d *schema.ResourceData, meta an } log.Printf("[INFO] Deleting Appsync Resolver: %s", d.Id()) - _, err = retryResolverOp(ctx, apiID, func() (any, error) { - return conn.DeleteResolver(ctx, &appsync.DeleteResolverInput{ - ApiId: aws.String(apiID), - FieldName: aws.String(fieldName), - TypeName: aws.String(typeName), - }) + input := appsync.DeleteResolverInput{ + ApiId: aws.String(apiID), + FieldName: aws.String(fieldName), + TypeName: aws.String(typeName), + } + _, err = retryResolverOp(ctx, apiID, func(ctx context.Context) (any, error) { + return conn.DeleteResolver(ctx, &input) }) if errs.IsA[*awstypes.NotFoundException](err) { @@ -406,7 +407,7 @@ func resolverParseResourceID(id string) (string, string, string, error) { return parts[0], parts[1], parts[2], nil } -func retryResolverOp(ctx context.Context, apiID string, f func() (any, error)) (any, error) { //nolint:unparam +func retryResolverOp(ctx context.Context, apiID string, f func(context.Context) (any, error)) (any, error) { //nolint:unparam mutexKey := "appsync-schema-" + apiID conns.GlobalMutexKV.Lock(mutexKey) defer conns.GlobalMutexKV.Unlock(mutexKey) @@ -414,7 +415,7 @@ func retryResolverOp(ctx context.Context, apiID string, f func() (any, error)) ( const ( timeout = 2 * time.Minute ) - return tfresource.RetryWhenIsA[*awstypes.ConcurrentModificationException](ctx, timeout, f) + return tfresource.RetryWhenIsA[any, *awstypes.ConcurrentModificationException](ctx, timeout, f) } func findResolverByThreePartKey(ctx context.Context, conn *appsync.Client, apiID, typeName, fieldName string) (*awstypes.Resolver, error) { From 621e4b5402df6765016712b0f20211e1601630cb Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:28 -0400 Subject: [PATCH 1258/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - auditmanager. --- internal/service/auditmanager/assessment.go | 2 +- internal/service/auditmanager/assessment_delegation.go | 2 +- internal/service/auditmanager/assessment_report.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/service/auditmanager/assessment.go b/internal/service/auditmanager/assessment.go index 4c025df4f851..29e317c28866 100644 --- a/internal/service/auditmanager/assessment.go +++ b/internal/service/auditmanager/assessment.go @@ -178,7 +178,7 @@ func (r *assessmentResource) Create(ctx context.Context, request resource.Create // Example: // ResourceNotFoundException: The operation tried to access a nonexistent resource. The resource // might not be specified correctly, or its status might not be active. Check and try again. - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.ResourceNotFoundException](ctx, iamPropagationTimeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.ResourceNotFoundException](ctx, iamPropagationTimeout, func(ctx context.Context) (any, error) { return conn.CreateAssessment(ctx, &input) }) diff --git a/internal/service/auditmanager/assessment_delegation.go b/internal/service/auditmanager/assessment_delegation.go index dfd3c0cf16c2..5a36a29bb6fa 100644 --- a/internal/service/auditmanager/assessment_delegation.go +++ b/internal/service/auditmanager/assessment_delegation.go @@ -130,7 +130,7 @@ func (r *assessmentDelegationResource) Create(ctx context.Context, request resou // Example: // ResourceNotFoundException: The operation tried to access a nonexistent resource. The resource // might not be specified correctly, or its status might not be active. Check and try again. - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.ResourceNotFoundException](ctx, iamPropagationTimeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.ResourceNotFoundException](ctx, iamPropagationTimeout, func(ctx context.Context) (any, error) { return conn.BatchCreateDelegationByAssessment(ctx, &input) }) diff --git a/internal/service/auditmanager/assessment_report.go b/internal/service/auditmanager/assessment_report.go index 899b943e1391..a7950ab3e4ff 100644 --- a/internal/service/auditmanager/assessment_report.go +++ b/internal/service/auditmanager/assessment_report.go @@ -154,7 +154,7 @@ func (r *assessmentReportResource) Delete(ctx context.Context, request resource. const ( timeout = 5 * time.Minute ) - _, err := tfresource.RetryWhenIsA[*awstypes.ValidationException](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.ValidationException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.DeleteAssessmentReport(ctx, &input) }) From 3436df0022a672e020ac16a539de4d26d1acd51f Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:28 -0400 Subject: [PATCH 1259/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - autoscaling. --- internal/service/autoscaling/launch_configuration.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/autoscaling/launch_configuration.go b/internal/service/autoscaling/launch_configuration.go index ff807fcd1a1e..e3d66c4e7e53 100644 --- a/internal/service/autoscaling/launch_configuration.go +++ b/internal/service/autoscaling/launch_configuration.go @@ -516,8 +516,8 @@ func resourceLaunchConfigurationDelete(ctx context.Context, d *schema.ResourceDa conn := meta.(*conns.AWSClient).AutoScalingClient(ctx) log.Printf("[DEBUG] Deleting Auto Scaling Launch Configuration: %s", d.Id()) - _, err := tfresource.RetryWhenIsA[*awstypes.ResourceInUseFault](ctx, propagationTimeout, - func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.ResourceInUseFault](ctx, propagationTimeout, + func(ctx context.Context) (any, error) { return conn.DeleteLaunchConfiguration(ctx, &autoscaling.DeleteLaunchConfigurationInput{ LaunchConfigurationName: aws.String(d.Id()), }) From 6113d1ffc2b75d94dc0ba138928e85d726d1b4fb Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:28 -0400 Subject: [PATCH 1260/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - backup. --- internal/service/backup/framework.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/backup/framework.go b/internal/service/backup/framework.go index b98749dce680..8c92ba27c81d 100644 --- a/internal/service/backup/framework.go +++ b/internal/service/backup/framework.go @@ -217,7 +217,7 @@ func resourceFrameworkUpdate(ctx context.Context, d *schema.ResourceData, meta a IdempotencyToken: aws.String(sdkid.UniqueId()), } - _, err := tfresource.RetryWhenIsA[*awstypes.ConflictException](ctx, d.Timeout(schema.TimeoutUpdate), func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.ConflictException](ctx, d.Timeout(schema.TimeoutUpdate), func(ctx context.Context) (any, error) { return conn.UpdateFramework(ctx, input) }) @@ -238,7 +238,7 @@ func resourceFrameworkDelete(ctx context.Context, d *schema.ResourceData, meta a conn := meta.(*conns.AWSClient).BackupClient(ctx) log.Printf("[DEBUG] Deleting Backup Framework: %s", d.Id()) - _, err := tfresource.RetryWhenIsA[*awstypes.ConflictException](ctx, d.Timeout(schema.TimeoutDelete), func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.ConflictException](ctx, d.Timeout(schema.TimeoutDelete), func(ctx context.Context) (any, error) { return conn.DeleteFramework(ctx, &backup.DeleteFrameworkInput{ FrameworkName: aws.String(d.Id()), }) From 01897a87258e4ce0f811a34aa9b638adc593efb1 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:29 -0400 Subject: [PATCH 1261/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - budgets. --- internal/service/budgets/budget_action.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/budgets/budget_action.go b/internal/service/budgets/budget_action.go index 9e0993942c61..53548e5abe1b 100644 --- a/internal/service/budgets/budget_action.go +++ b/internal/service/budgets/budget_action.go @@ -251,7 +251,7 @@ func resourceBudgetActionCreate(ctx context.Context, d *schema.ResourceData, met ResourceTags: getTagsIn(ctx), } - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.AccessDeniedException](ctx, propagationTimeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.AccessDeniedException](ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.CreateBudgetAction(ctx, input) }) @@ -382,7 +382,7 @@ func resourceBudgetActionDelete(ctx context.Context, d *schema.ResourceData, met } log.Printf("[DEBUG] Deleting Budget Action: %s", d.Id()) - _, err = tfresource.RetryWhenIsA[*awstypes.ResourceLockedException](ctx, d.Timeout(schema.TimeoutDelete), func() (any, error) { + _, err = tfresource.RetryWhenIsA[any, *awstypes.ResourceLockedException](ctx, d.Timeout(schema.TimeoutDelete), func(ctx context.Context) (any, error) { return conn.DeleteBudgetAction(ctx, &budgets.DeleteBudgetActionInput{ AccountId: aws.String(accountID), ActionId: aws.String(actionID), From 3f56b07c7d3d32a8e0de54d4a01038c7aa5736ce Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:29 -0400 Subject: [PATCH 1262/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - ce. --- internal/service/ce/cost_category.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/ce/cost_category.go b/internal/service/ce/cost_category.go index e34e65525fc1..4522454d03ea 100644 --- a/internal/service/ce/cost_category.go +++ b/internal/service/ce/cost_category.go @@ -316,8 +316,8 @@ func resourceCostCategoryCreate(ctx context.Context, d *schema.ResourceData, met input.SplitChargeRules = expandCostCategorySplitChargeRules(v.(*schema.Set).List()) } - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.ResourceNotFoundException](ctx, d.Timeout(schema.TimeoutCreate), - func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.ResourceNotFoundException](ctx, d.Timeout(schema.TimeoutCreate), + func(ctx context.Context) (any, error) { return conn.CreateCostCategoryDefinition(ctx, input) }) From e011010cc9ba1fe4c0c6f45e6346a982c5d1316e Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:30 -0400 Subject: [PATCH 1263/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - cloudformation. --- internal/service/cloudformation/stack_instances.go | 2 +- internal/service/cloudformation/stack_set_instance.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/cloudformation/stack_instances.go b/internal/service/cloudformation/stack_instances.go index 644f9ce6ce24..e23004895088 100644 --- a/internal/service/cloudformation/stack_instances.go +++ b/internal/service/cloudformation/stack_instances.go @@ -549,7 +549,7 @@ func deleteStackInstances(ctx context.Context, d *schema.ResourceData, meta any, } log.Printf("[DEBUG] Deleting CloudFormation Stack Instances: %s", d.Id()) - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.OperationInProgressException](ctx, d.Timeout(schema.TimeoutDelete), func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.OperationInProgressException](ctx, d.Timeout(schema.TimeoutDelete), func(ctx context.Context) (any, error) { return conn.DeleteStackInstances(ctx, input) }) diff --git a/internal/service/cloudformation/stack_set_instance.go b/internal/service/cloudformation/stack_set_instance.go index f50202253789..c6b8be872dd8 100644 --- a/internal/service/cloudformation/stack_set_instance.go +++ b/internal/service/cloudformation/stack_set_instance.go @@ -455,7 +455,7 @@ func resourceStackSetInstanceDelete(ctx context.Context, d *schema.ResourceData, } log.Printf("[DEBUG] Deleting CloudFormation StackSet Instance: %s", d.Id()) - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.OperationInProgressException](ctx, d.Timeout(schema.TimeoutDelete), func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.OperationInProgressException](ctx, d.Timeout(schema.TimeoutDelete), func(ctx context.Context) (any, error) { return conn.DeleteStackInstances(ctx, input) }) From bf6f7fc9927a9f55fdc918995ec9e82331b9cb9a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:30 -0400 Subject: [PATCH 1264/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - cloudfront. --- internal/service/cloudfront/distribution.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/service/cloudfront/distribution.go b/internal/service/cloudfront/distribution.go index 61c35882468a..7a1b732ba0cc 100644 --- a/internal/service/cloudfront/distribution.go +++ b/internal/service/cloudfront/distribution.go @@ -917,7 +917,7 @@ func resourceDistributionCreate(ctx context.Context, d *schema.ResourceData, met const ( timeout = 1 * time.Minute ) - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.InvalidViewerCertificate](ctx, timeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.InvalidViewerCertificate](ctx, timeout, func(ctx context.Context) (any, error) { return conn.CreateDistributionWithTags(ctx, &input) }) @@ -1045,7 +1045,7 @@ func resourceDistributionUpdate(ctx context.Context, d *schema.ResourceData, met const ( timeout = 1 * time.Minute ) - _, err := tfresource.RetryWhenIsA[*awstypes.InvalidViewerCertificate](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.InvalidViewerCertificate](ctx, timeout, func(ctx context.Context) (any, error) { return conn.UpdateDistribution(ctx, &input) }) @@ -1133,7 +1133,7 @@ func resourceDistributionDelete(ctx context.Context, d *schema.ResourceData, met const ( timeout = 3 * time.Minute ) - _, err = tfresource.RetryWhenIsA[*awstypes.DistributionNotDisabled](ctx, timeout, func() (any, error) { + _, err = tfresource.RetryWhenIsA[any, *awstypes.DistributionNotDisabled](ctx, timeout, func(ctx context.Context) (any, error) { return nil, deleteDistribution(ctx, conn, d.Id()) }) } From 9200dde458dfda9e02694fd828706e009628da99 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:33 -0400 Subject: [PATCH 1265/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - cognitoidp. --- internal/service/cognitoidp/managed_user_pool_client.go | 4 ++-- internal/service/cognitoidp/user_pool_client.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/service/cognitoidp/managed_user_pool_client.go b/internal/service/cognitoidp/managed_user_pool_client.go index 129d9a0b3e8a..62e082bcb496 100644 --- a/internal/service/cognitoidp/managed_user_pool_client.go +++ b/internal/service/cognitoidp/managed_user_pool_client.go @@ -493,7 +493,7 @@ func (r *managedUserPoolClientResource) Create(ctx context.Context, request reso const ( timeout = 2 * time.Minute ) - output, err := tfresource.RetryWhenIsA[*awstypes.ConcurrentModificationException](ctx, timeout, func() (any, error) { + output, err := tfresource.RetryWhenIsA[any, *awstypes.ConcurrentModificationException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.UpdateUserPoolClient(ctx, &input) }) if err != nil { @@ -605,7 +605,7 @@ func (r *managedUserPoolClientResource) Update(ctx context.Context, request reso const ( timeout = 2 * time.Minute ) - output, err := tfresource.RetryWhenIsA[*awstypes.ConcurrentModificationException](ctx, timeout, func() (any, error) { + output, err := tfresource.RetryWhenIsA[any, *awstypes.ConcurrentModificationException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.UpdateUserPoolClient(ctx, &input) }) diff --git a/internal/service/cognitoidp/user_pool_client.go b/internal/service/cognitoidp/user_pool_client.go index c1da9de2fe57..ebc38a887c5f 100644 --- a/internal/service/cognitoidp/user_pool_client.go +++ b/internal/service/cognitoidp/user_pool_client.go @@ -472,7 +472,7 @@ func (r *userPoolClientResource) Update(ctx context.Context, request resource.Up const ( timeout = 2 * time.Minute ) - output, err := tfresource.RetryWhenIsA[*awstypes.ConcurrentModificationException](ctx, timeout, func() (any, error) { + output, err := tfresource.RetryWhenIsA[any, *awstypes.ConcurrentModificationException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.UpdateUserPoolClient(ctx, &input) }) From d7ccaf1e6ec6b39c686637947bf53b636e6c893f Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:33 -0400 Subject: [PATCH 1266/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - configservice. --- internal/service/configservice/config_rule.go | 4 ++-- internal/service/configservice/conformance_pack.go | 2 +- internal/service/configservice/delivery_channel.go | 2 +- .../service/configservice/organization_conformance_pack.go | 6 +++--- .../configservice/organization_custom_policy_rule.go | 4 ++-- internal/service/configservice/organization_custom_rule.go | 4 ++-- internal/service/configservice/organization_managed_rule.go | 6 +++--- internal/service/configservice/remediation_configuration.go | 2 +- 8 files changed, 15 insertions(+), 15 deletions(-) diff --git a/internal/service/configservice/config_rule.go b/internal/service/configservice/config_rule.go index 9163564532c4..d0b5dbe3a066 100644 --- a/internal/service/configservice/config_rule.go +++ b/internal/service/configservice/config_rule.go @@ -236,7 +236,7 @@ func resourceConfigRulePut(ctx context.Context, d *schema.ResourceData, meta any Tags: getTagsIn(ctx), } - _, err := tfresource.RetryWhenIsA[*types.InsufficientPermissionsException](ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *types.InsufficientPermissionsException](ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.PutConfigRule(ctx, input) }) @@ -303,7 +303,7 @@ func resourceConfigRuleDelete(ctx context.Context, d *schema.ResourceData, meta timeout = 2 * time.Minute ) log.Printf("[DEBUG] Deleting ConfigService Config Rule: %s", d.Id()) - _, err := tfresource.RetryWhenIsA[*types.ResourceInUseException](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *types.ResourceInUseException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.DeleteConfigRule(ctx, &configservice.DeleteConfigRuleInput{ ConfigRuleName: aws.String(d.Id()), }) diff --git a/internal/service/configservice/conformance_pack.go b/internal/service/configservice/conformance_pack.go index 2dad2c4da9d5..c896b0b4ecc8 100644 --- a/internal/service/configservice/conformance_pack.go +++ b/internal/service/configservice/conformance_pack.go @@ -187,7 +187,7 @@ func resourceConformancePackDelete(ctx context.Context, d *schema.ResourceData, timeout = 5 * time.Minute ) log.Printf("[DEBUG] Deleting ConfigService Conformance Pack: %s", d.Id()) - _, err := tfresource.RetryWhenIsA[*types.ResourceInUseException](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *types.ResourceInUseException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.DeleteConformancePack(ctx, &configservice.DeleteConformancePackInput{ ConformancePackName: aws.String(d.Id()), }) diff --git a/internal/service/configservice/delivery_channel.go b/internal/service/configservice/delivery_channel.go index 219c472e9483..134dee716e7a 100644 --- a/internal/service/configservice/delivery_channel.go +++ b/internal/service/configservice/delivery_channel.go @@ -114,7 +114,7 @@ func resourceDeliveryChannelPut(ctx context.Context, d *schema.ResourceData, met input.DeliveryChannel.SnsTopicARN = aws.String(v.(string)) } - _, err := tfresource.RetryWhenIsA[*types.InsufficientDeliveryPolicyException](ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *types.InsufficientDeliveryPolicyException](ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.PutDeliveryChannel(ctx, input) }) diff --git a/internal/service/configservice/organization_conformance_pack.go b/internal/service/configservice/organization_conformance_pack.go index 10653f975579..6cfe5b198cd8 100644 --- a/internal/service/configservice/organization_conformance_pack.go +++ b/internal/service/configservice/organization_conformance_pack.go @@ -157,7 +157,7 @@ func resourceOrganizationConformancePackCreate(ctx context.Context, d *schema.Re input.TemplateS3Uri = aws.String(v.(string)) } - _, err := tfresource.RetryWhenIsA[*types.OrganizationAccessDeniedException](ctx, organizationsPropagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *types.OrganizationAccessDeniedException](ctx, organizationsPropagationTimeout, func(ctx context.Context) (any, error) { return conn.PutOrganizationConformancePack(ctx, input) }) @@ -255,7 +255,7 @@ func resourceOrganizationConformancePackDelete(ctx context.Context, d *schema.Re timeout = 5 * time.Minute ) log.Printf("[DEBUG] Deleting ConfigService Organization Conformance Pack: %s", d.Id()) - _, err := tfresource.RetryWhenIsA[*types.ResourceInUseException](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *types.ResourceInUseException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.DeleteOrganizationConformancePack(ctx, &configservice.DeleteOrganizationConformancePackInput{ OrganizationConformancePackName: aws.String(d.Id()), }) @@ -364,7 +364,7 @@ func findOrganizationConformancePackStatuses(ctx context.Context, conn *configse const ( timeout = 15 * time.Second ) - outputRaw, err := tfresource.RetryWhenIsA[*types.OrganizationAccessDeniedException](ctx, timeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *types.OrganizationAccessDeniedException](ctx, timeout, func(ctx context.Context) (any, error) { return pages.NextPage(ctx) }) diff --git a/internal/service/configservice/organization_custom_policy_rule.go b/internal/service/configservice/organization_custom_policy_rule.go index a5f8fbf6d7c6..ceec5a2d60f6 100644 --- a/internal/service/configservice/organization_custom_policy_rule.go +++ b/internal/service/configservice/organization_custom_policy_rule.go @@ -190,7 +190,7 @@ func resourceOrganizationCustomPolicyRuleCreate(ctx context.Context, d *schema.R input.OrganizationCustomPolicyRuleMetadata.TagValueScope = aws.String(v.(string)) } - _, err := tfresource.RetryWhenIsA[*types.OrganizationAccessDeniedException](ctx, organizationsPropagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *types.OrganizationAccessDeniedException](ctx, organizationsPropagationTimeout, func(ctx context.Context) (any, error) { return conn.PutOrganizationConfigRule(ctx, input) }) @@ -319,7 +319,7 @@ func resourceOrganizationCustomPolicyRuleDelete(ctx context.Context, d *schema.R timeout = 2 * time.Minute ) log.Printf("[DEBUG] Deleting ConfigService Organization Custom Policy Rule: %s", d.Id()) - _, err := tfresource.RetryWhenIsA[*types.ResourceInUseException](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *types.ResourceInUseException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.DeleteOrganizationConfigRule(ctx, &configservice.DeleteOrganizationConfigRuleInput{ OrganizationConfigRuleName: aws.String(d.Id()), }) diff --git a/internal/service/configservice/organization_custom_rule.go b/internal/service/configservice/organization_custom_rule.go index eaa2312a45d1..c224bc88a303 100644 --- a/internal/service/configservice/organization_custom_rule.go +++ b/internal/service/configservice/organization_custom_rule.go @@ -170,7 +170,7 @@ func resourceOrganizationCustomRuleCreate(ctx context.Context, d *schema.Resourc input.OrganizationCustomRuleMetadata.TagValueScope = aws.String(v.(string)) } - _, err := tfresource.RetryWhenIsA[*types.OrganizationAccessDeniedException](ctx, organizationsPropagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *types.OrganizationAccessDeniedException](ctx, organizationsPropagationTimeout, func(ctx context.Context) (any, error) { return conn.PutOrganizationConfigRule(ctx, input) }) @@ -285,7 +285,7 @@ func resourceOrganizationCustomRuleDelete(ctx context.Context, d *schema.Resourc timeout = 2 * time.Minute ) log.Printf("[DEBUG] Deleting ConfigService Organization Custom Rule: %s", d.Id()) - _, err := tfresource.RetryWhenIsA[*types.ResourceInUseException](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *types.ResourceInUseException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.DeleteOrganizationConfigRule(ctx, &configservice.DeleteOrganizationConfigRuleInput{ OrganizationConfigRuleName: aws.String(d.Id()), }) diff --git a/internal/service/configservice/organization_managed_rule.go b/internal/service/configservice/organization_managed_rule.go index adf84fe8fbba..c4fb5ef8db9c 100644 --- a/internal/service/configservice/organization_managed_rule.go +++ b/internal/service/configservice/organization_managed_rule.go @@ -162,7 +162,7 @@ func resourceOrganizationManagedRuleCreate(ctx context.Context, d *schema.Resour input.OrganizationManagedRuleMetadata.TagValueScope = aws.String(v.(string)) } - _, err := tfresource.RetryWhenIsA[*types.OrganizationAccessDeniedException](ctx, organizationsPropagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *types.OrganizationAccessDeniedException](ctx, organizationsPropagationTimeout, func(ctx context.Context) (any, error) { return conn.PutOrganizationConfigRule(ctx, input) }) @@ -275,7 +275,7 @@ func resourceOrganizationManagedRuleDelete(ctx context.Context, d *schema.Resour timeout = 2 * time.Minute ) log.Printf("[DEBUG] Deleting ConfigService Organization Managed Rule: %s", d.Id()) - _, err := tfresource.RetryWhenIsA[*types.ResourceInUseException](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *types.ResourceInUseException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.DeleteOrganizationConfigRule(ctx, &configservice.DeleteOrganizationConfigRuleInput{ OrganizationConfigRuleName: aws.String(d.Id()), }) @@ -398,7 +398,7 @@ func findOrganizationConfigRuleStatuses(ctx context.Context, conn *configservice const ( timeout = 15 * time.Second ) - outputRaw, err := tfresource.RetryWhenIsA[*types.OrganizationAccessDeniedException](ctx, timeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *types.OrganizationAccessDeniedException](ctx, timeout, func(ctx context.Context) (any, error) { return pages.NextPage(ctx) }) diff --git a/internal/service/configservice/remediation_configuration.go b/internal/service/configservice/remediation_configuration.go index 0038db087640..d7ef316eb36b 100644 --- a/internal/service/configservice/remediation_configuration.go +++ b/internal/service/configservice/remediation_configuration.go @@ -252,7 +252,7 @@ func resourceRemediationConfigurationDelete(ctx context.Context, d *schema.Resou timeout = 2 * time.Minute ) log.Printf("[DEBUG] Deleting ConfigService Remediation Configuration: %s", d.Id()) - _, err := tfresource.RetryWhenIsA[*types.ResourceInUseException](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *types.ResourceInUseException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.DeleteRemediationConfiguration(ctx, input) }) From 5b1f5018ae7951e3f4992d305e5110d2c48f365e Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:33 -0400 Subject: [PATCH 1267/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - connect. --- internal/service/connect/bot_association.go | 2 +- internal/service/connect/queue.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/connect/bot_association.go b/internal/service/connect/bot_association.go index 22427967e5c8..77e9fa47ee48 100644 --- a/internal/service/connect/bot_association.go +++ b/internal/service/connect/bot_association.go @@ -89,7 +89,7 @@ func resourceBotAssociationCreate(ctx context.Context, d *schema.ResourceData, m const ( timeout = 5 * time.Minute ) - _, err := tfresource.RetryWhenIsA[*awstypes.InvalidRequestException](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.InvalidRequestException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.AssociateBot(ctx, input) }) diff --git a/internal/service/connect/queue.go b/internal/service/connect/queue.go index 3308c7e0315a..2833742be89a 100644 --- a/internal/service/connect/queue.go +++ b/internal/service/connect/queue.go @@ -360,7 +360,7 @@ func resourceQueueDelete(ctx context.Context, d *schema.ResourceData, meta any) const ( timeout = 1 * time.Minute ) - _, err = tfresource.RetryWhenIsA[*awstypes.ResourceInUseException](ctx, timeout, func() (any, error) { + _, err = tfresource.RetryWhenIsA[any, *awstypes.ResourceInUseException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.DeleteQueue(ctx, &connect.DeleteQueueInput{ InstanceId: aws.String(instanceID), QueueId: aws.String(queueID), From 7e8f48ee7df76d92b63df27984ad97f348aebc41 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:35 -0400 Subject: [PATCH 1268/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - detective. --- internal/service/detective/graph.go | 2 +- internal/service/detective/member.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/detective/graph.go b/internal/service/detective/graph.go index 0865a601cdff..33cfb29343e1 100644 --- a/internal/service/detective/graph.go +++ b/internal/service/detective/graph.go @@ -62,7 +62,7 @@ func resourceGraphCreate(ctx context.Context, d *schema.ResourceData, meta any) Tags: getTagsIn(ctx), } - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.InternalServerException](ctx, timeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.InternalServerException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.CreateGraph(ctx, input) }) diff --git a/internal/service/detective/member.go b/internal/service/detective/member.go index e750fe41dbb7..59d309711263 100644 --- a/internal/service/detective/member.go +++ b/internal/service/detective/member.go @@ -117,7 +117,7 @@ func resourceMemberCreate(ctx context.Context, d *schema.ResourceData, meta any) input.Message = aws.String(v.(string)) } - _, err := tfresource.RetryWhenIsA[*awstypes.InternalServerException](ctx, d.Timeout(schema.TimeoutCreate), func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.InternalServerException](ctx, d.Timeout(schema.TimeoutCreate), func(ctx context.Context) (any, error) { return conn.CreateMembers(ctx, input) }) From ccff243b22df573f85fd1b9e00b398d7a3ff98de Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:36 -0400 Subject: [PATCH 1269/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - dlm. --- internal/service/dlm/lifecycle_policy.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/dlm/lifecycle_policy.go b/internal/service/dlm/lifecycle_policy.go index 02f1a82aedbd..81c8213459ab 100644 --- a/internal/service/dlm/lifecycle_policy.go +++ b/internal/service/dlm/lifecycle_policy.go @@ -498,7 +498,7 @@ func resourceLifecyclePolicyCreate(ctx context.Context, d *schema.ResourceData, Tags: getTagsIn(ctx), } - out, err := tfresource.RetryWhenIsA[*awstypes.InvalidRequestException](ctx, createRetryTimeout, func() (any, error) { + out, err := tfresource.RetryWhenIsA[any, *awstypes.InvalidRequestException](ctx, createRetryTimeout, func(ctx context.Context) (any, error) { return conn.CreateLifecyclePolicy(ctx, &input) }) From de65ceb73991c3df376b9a24bb0362d763abae52 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:36 -0400 Subject: [PATCH 1270/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - dms. --- internal/service/dms/endpoint.go | 4 ++-- internal/service/dms/replication_subnet_group.go | 2 +- internal/service/dms/s3_endpoint.go | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/service/dms/endpoint.go b/internal/service/dms/endpoint.go index f69c31587647..e109733122de 100644 --- a/internal/service/dms/endpoint.go +++ b/internal/service/dms/endpoint.go @@ -831,8 +831,8 @@ func resourceEndpointCreate(ctx context.Context, d *schema.ResourceData, meta an expandTopLevelConnectionInfo(d, &input) } - _, err := tfresource.RetryWhenIsA[*awstypes.AccessDeniedFault](ctx, d.Timeout(schema.TimeoutCreate), - func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.AccessDeniedFault](ctx, d.Timeout(schema.TimeoutCreate), + func(ctx context.Context) (any, error) { return conn.CreateEndpoint(ctx, &input) }) diff --git a/internal/service/dms/replication_subnet_group.go b/internal/service/dms/replication_subnet_group.go index eacfa2754d58..4b44cb9d4069 100644 --- a/internal/service/dms/replication_subnet_group.go +++ b/internal/service/dms/replication_subnet_group.go @@ -81,7 +81,7 @@ func resourceReplicationSubnetGroupCreate(ctx context.Context, d *schema.Resourc Tags: getTagsIn(ctx), } - _, err := tfresource.RetryWhenIsA[*awstypes.AccessDeniedFault](ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.AccessDeniedFault](ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.CreateReplicationSubnetGroup(ctx, input) }) if err != nil { diff --git a/internal/service/dms/s3_endpoint.go b/internal/service/dms/s3_endpoint.go index 75a197fe3a08..97b430cf4b68 100644 --- a/internal/service/dms/s3_endpoint.go +++ b/internal/service/dms/s3_endpoint.go @@ -351,7 +351,7 @@ func resourceS3EndpointCreate(ctx context.Context, d *schema.ResourceData, meta input.ExtraConnectionAttributes = extraConnectionAnomalies(d) - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.AccessDeniedFault](ctx, d.Timeout(schema.TimeoutCreate), func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.AccessDeniedFault](ctx, d.Timeout(schema.TimeoutCreate), func(ctx context.Context) (any, error) { return conn.CreateEndpoint(ctx, input) }) @@ -493,7 +493,7 @@ func resourceS3EndpointUpdate(ctx context.Context, d *schema.ResourceData, meta input.ExtraConnectionAttributes = extraConnectionAnomalies(d) } - _, err := tfresource.RetryWhenIsA[*awstypes.AccessDeniedFault](ctx, d.Timeout(schema.TimeoutUpdate), func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.AccessDeniedFault](ctx, d.Timeout(schema.TimeoutUpdate), func(ctx context.Context) (any, error) { return conn.ModifyEndpoint(ctx, input) }) From 611200baf59286c0ab7e8236c7b2e63ed6cc4ae3 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:37 -0400 Subject: [PATCH 1271/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - ecs. --- internal/service/ecs/capacity_provider.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/ecs/capacity_provider.go b/internal/service/ecs/capacity_provider.go index dd7b0cce8635..dbb9fcd05eb8 100644 --- a/internal/service/ecs/capacity_provider.go +++ b/internal/service/ecs/capacity_provider.go @@ -206,7 +206,7 @@ func resourceCapacityProviderUpdate(ctx context.Context, d *schema.ResourceData, const ( timeout = 10 * time.Minute ) - _, err := tfresource.RetryWhenIsA[*awstypes.UpdateInProgressException](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.UpdateInProgressException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.UpdateCapacityProvider(ctx, input) }) From 9738a5bd4966ba0aaad31af741fc821c5d4e43ee Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:37 -0400 Subject: [PATCH 1272/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - elasticache. --- internal/service/elasticache/global_replication_group.go | 2 +- internal/service/elasticache/parameter_group.go | 2 +- internal/service/elasticache/replication_group.go | 4 ++-- internal/service/elasticache/user_group_association.go | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/internal/service/elasticache/global_replication_group.go b/internal/service/elasticache/global_replication_group.go index b2e805f88134..24b50aca3be4 100644 --- a/internal/service/elasticache/global_replication_group.go +++ b/internal/service/elasticache/global_replication_group.go @@ -610,7 +610,7 @@ func deleteGlobalReplicationGroup(ctx context.Context, conn *elasticache.Client, RetainPrimaryReplicationGroup: aws.Bool(true), } - _, err := tfresource.RetryWhenIsA[*awstypes.InvalidGlobalReplicationGroupStateFault](ctx, readyTimeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.InvalidGlobalReplicationGroupStateFault](ctx, readyTimeout, func(ctx context.Context) (any, error) { return conn.DeleteGlobalReplicationGroup(ctx, input) }) diff --git a/internal/service/elasticache/parameter_group.go b/internal/service/elasticache/parameter_group.go index 6111d7314859..a13e4addce92 100644 --- a/internal/service/elasticache/parameter_group.go +++ b/internal/service/elasticache/parameter_group.go @@ -293,7 +293,7 @@ func deleteParameterGroup(ctx context.Context, conn *elasticache.Client, name st const ( timeout = 3 * time.Minute ) - _, err := tfresource.RetryWhenIsA[*awstypes.InvalidCacheParameterGroupStateFault](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.InvalidCacheParameterGroupStateFault](ctx, timeout, func(ctx context.Context) (any, error) { return conn.DeleteCacheParameterGroup(ctx, &elasticache.DeleteCacheParameterGroupInput{ CacheParameterGroupName: aws.String(name), }) diff --git a/internal/service/elasticache/replication_group.go b/internal/service/elasticache/replication_group.go index ae9ab41ca949..65658025e898 100644 --- a/internal/service/elasticache/replication_group.go +++ b/internal/service/elasticache/replication_group.go @@ -1082,7 +1082,7 @@ func resourceReplicationGroupDelete(ctx context.Context, d *schema.ResourceData, timeout = 10 * time.Minute // 10 minutes should give any creating/deleting cache clusters or snapshots time to complete. ) log.Printf("[INFO] Deleting ElastiCache Replication Group: %s", d.Id()) - _, err := tfresource.RetryWhenIsA[*awstypes.InvalidReplicationGroupStateFault](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.InvalidReplicationGroupStateFault](ctx, timeout, func(ctx context.Context) (any, error) { return conn.DeleteReplicationGroup(ctx, input) }) @@ -1114,7 +1114,7 @@ func disassociateReplicationGroup(ctx context.Context, conn *elasticache.Client, ReplicationGroupRegion: aws.String(region), } - _, err := tfresource.RetryWhenIsA[*awstypes.InvalidGlobalReplicationGroupStateFault](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.InvalidGlobalReplicationGroupStateFault](ctx, timeout, func(ctx context.Context) (any, error) { return conn.DisassociateGlobalReplicationGroup(ctx, input) }) diff --git a/internal/service/elasticache/user_group_association.go b/internal/service/elasticache/user_group_association.go index bf322c7807e2..3c2244ce3431 100644 --- a/internal/service/elasticache/user_group_association.go +++ b/internal/service/elasticache/user_group_association.go @@ -72,7 +72,7 @@ func resourceUserGroupAssociationCreate(ctx context.Context, d *schema.ResourceD UserIdsToAdd: []string{userID}, } - if _, err := tfresource.RetryWhenIsA[*awstypes.InvalidUserGroupStateFault](ctx, d.Timeout(schema.TimeoutCreate), func() (any, error) { + if _, err := tfresource.RetryWhenIsA[any, *awstypes.InvalidUserGroupStateFault](ctx, d.Timeout(schema.TimeoutCreate), func(ctx context.Context) (any, error) { return conn.ModifyUserGroup(ctx, input) }); err != nil { return sdkdiag.AppendErrorf(diags, "creating ElastiCache User Group Association (%s): %s", id, err) @@ -126,7 +126,7 @@ func resourceUserGroupAssociationDelete(ctx context.Context, d *schema.ResourceD userGroupID, userID := parts[0], parts[1] log.Printf("[INFO] Deleting ElastiCache User Group Association: %s", d.Id()) - _, err = tfresource.RetryWhenIsA[*awstypes.InvalidUserGroupStateFault](ctx, d.Timeout(schema.TimeoutDelete), func() (any, error) { + _, err = tfresource.RetryWhenIsA[any, *awstypes.InvalidUserGroupStateFault](ctx, d.Timeout(schema.TimeoutDelete), func(ctx context.Context) (any, error) { return conn.ModifyUserGroup(ctx, &elasticache.ModifyUserGroupInput{ UserGroupId: aws.String(userGroupID), UserIdsToRemove: []string{userID}, From 0252642e0abaa7fa264225fac77a668549042b67 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:38 -0400 Subject: [PATCH 1273/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - elb. --- internal/service/elb/load_balancer.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/elb/load_balancer.go b/internal/service/elb/load_balancer.go index ba6ce5ceeab9..ccbe81e8b8c4 100644 --- a/internal/service/elb/load_balancer.go +++ b/internal/service/elb/load_balancer.go @@ -304,7 +304,7 @@ func resourceLoadBalancerCreate(ctx context.Context, d *schema.ResourceData, met input.Subnets = flex.ExpandStringValueSet(v.(*schema.Set)) } - _, err = tfresource.RetryWhenIsA[*awstypes.CertificateNotFoundException](ctx, d.Timeout(schema.TimeoutCreate), func() (any, error) { + _, err = tfresource.RetryWhenIsA[any, *awstypes.CertificateNotFoundException](ctx, d.Timeout(schema.TimeoutCreate), func(ctx context.Context) (any, error) { return conn.CreateLoadBalancer(ctx, input) }) From 9c7280ee13362689117e4f647c1185cf561bdd79 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:38 -0400 Subject: [PATCH 1274/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - elbv2. --- internal/service/elbv2/listener.go | 4 ++-- internal/service/elbv2/listener_certificate.go | 2 +- internal/service/elbv2/listener_rule.go | 2 +- internal/service/elbv2/target_group_attachment.go | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/service/elbv2/listener.go b/internal/service/elbv2/listener.go index b63d24f615ff..d8e20f9233a3 100644 --- a/internal/service/elbv2/listener.go +++ b/internal/service/elbv2/listener.go @@ -765,7 +765,7 @@ func resourceListenerUpdate(ctx context.Context, d *schema.ResourceData, meta an input.SslPolicy = aws.String(v.(string)) } - _, err := tfresource.RetryWhenIsA[*awstypes.CertificateNotFoundException](ctx, d.Timeout(schema.TimeoutUpdate), func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.CertificateNotFoundException](ctx, d.Timeout(schema.TimeoutUpdate), func(ctx context.Context) (any, error) { return conn.ModifyListener(ctx, input) }) @@ -1036,7 +1036,7 @@ func (m listenerAttributeMap) flatten(d *schema.ResourceData, apiObjects []awsty } func retryListenerCreate(ctx context.Context, conn *elasticloadbalancingv2.Client, input *elasticloadbalancingv2.CreateListenerInput, timeout time.Duration) (*elasticloadbalancingv2.CreateListenerOutput, error) { - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.CertificateNotFoundException](ctx, timeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.CertificateNotFoundException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.CreateListener(ctx, input) }) diff --git a/internal/service/elbv2/listener_certificate.go b/internal/service/elbv2/listener_certificate.go index e93fb57c16cb..4f64bee58ac8 100644 --- a/internal/service/elbv2/listener_certificate.go +++ b/internal/service/elbv2/listener_certificate.go @@ -67,7 +67,7 @@ func resourceListenerCertificateCreate(ctx context.Context, d *schema.ResourceDa ListenerArn: aws.String(listenerARN), } - _, err := tfresource.RetryWhenIsA[*awstypes.CertificateNotFoundException](ctx, iamPropagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.CertificateNotFoundException](ctx, iamPropagationTimeout, func(ctx context.Context) (any, error) { return conn.AddListenerCertificates(ctx, input) }) diff --git a/internal/service/elbv2/listener_rule.go b/internal/service/elbv2/listener_rule.go index e83bdf22627b..9f26aca54656 100644 --- a/internal/service/elbv2/listener_rule.go +++ b/internal/service/elbv2/listener_rule.go @@ -729,7 +729,7 @@ func retryListenerRuleCreate(ctx context.Context, conn *elasticloadbalancingv2.C const ( timeout = 5 * time.Minute ) - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.PriorityInUseException](ctx, timeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.PriorityInUseException](ctx, timeout, func(ctx context.Context) (any, error) { priority, err := highestListenerRulePriority(ctx, conn, listenerARN) if err != nil { return nil, err diff --git a/internal/service/elbv2/target_group_attachment.go b/internal/service/elbv2/target_group_attachment.go index ff95ecf365fd..2cb45a2ad2e9 100644 --- a/internal/service/elbv2/target_group_attachment.go +++ b/internal/service/elbv2/target_group_attachment.go @@ -79,7 +79,7 @@ func resourceAttachmentCreate(ctx context.Context, d *schema.ResourceData, meta const ( timeout = 10 * time.Minute ) - _, err := tfresource.RetryWhenIsA[*awstypes.InvalidTargetException](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.InvalidTargetException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.RegisterTargets(ctx, input) }) From c303c7400684cf715aeb2d68382686505c85a8ad Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:39 -0400 Subject: [PATCH 1275/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - fms. --- internal/service/fms/policy.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/fms/policy.go b/internal/service/fms/policy.go index 30738fd23bff..bb7d9abeb619 100644 --- a/internal/service/fms/policy.go +++ b/internal/service/fms/policy.go @@ -334,7 +334,7 @@ func resourcePolicyCreate(ctx context.Context, d *schema.ResourceData, meta any) const ( timeout = 1 * time.Minute ) - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.InternalErrorException](ctx, timeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.InternalErrorException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.PutPolicy(ctx, input) }) @@ -412,7 +412,7 @@ func resourcePolicyUpdate(ctx context.Context, d *schema.ResourceData, meta any) const ( timeout = 1 * time.Minute ) - _, err := tfresource.RetryWhenIsA[*awstypes.InternalErrorException](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.InternalErrorException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.PutPolicy(ctx, input) }) From 371bf8578410ea56bf535b4ef3e050976d337ca3 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:41 -0400 Subject: [PATCH 1276/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - iam. --- internal/service/iam/role.go | 2 +- internal/service/iam/user_policy_attachment.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/service/iam/role.go b/internal/service/iam/role.go index c00d5b6bf593..6dc2e073ffb7 100644 --- a/internal/service/iam/role.go +++ b/internal/service/iam/role.go @@ -562,7 +562,7 @@ func deleteRole(ctx context.Context, conn *iam.Client, roleName string, forceDet RoleName: aws.String(roleName), } - _, err := tfresource.RetryWhenIsA[*awstypes.DeleteConflictException](ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.DeleteConflictException](ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.DeleteRole(ctx, input) }) diff --git a/internal/service/iam/user_policy_attachment.go b/internal/service/iam/user_policy_attachment.go index cbd3d02e3e8f..7ac83c6d4a43 100644 --- a/internal/service/iam/user_policy_attachment.go +++ b/internal/service/iam/user_policy_attachment.go @@ -122,7 +122,7 @@ func resourceUserPolicyAttachmentImport(ctx context.Context, d *schema.ResourceD } func attachPolicyToUser(ctx context.Context, conn *iam.Client, user, policyARN string) error { - _, err := tfresource.RetryWhenIsA[*awstypes.ConcurrentModificationException](ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.ConcurrentModificationException](ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.AttachUserPolicy(ctx, &iam.AttachUserPolicyInput{ PolicyArn: aws.String(policyARN), UserName: aws.String(user), @@ -137,7 +137,7 @@ func attachPolicyToUser(ctx context.Context, conn *iam.Client, user, policyARN s } func detachPolicyFromUser(ctx context.Context, conn *iam.Client, user, policyARN string) error { - _, err := tfresource.RetryWhenIsA[*awstypes.ConcurrentModificationException](ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.ConcurrentModificationException](ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.DetachUserPolicy(ctx, &iam.DetachUserPolicyInput{ PolicyArn: aws.String(policyARN), UserName: aws.String(user), From fe9b07a0920d206686b7098fe7af34810c5888c6 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:42 -0400 Subject: [PATCH 1277/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - iot. --- internal/service/iot/ca_certificate.go | 4 ++-- internal/service/iot/logging_options.go | 2 +- internal/service/iot/policy.go | 8 ++++---- internal/service/iot/provisioning_template.go | 8 ++++---- internal/service/iot/thing_group.go | 4 ++-- internal/service/iot/thing_type.go | 4 ++-- internal/service/iot/topic_rule.go | 8 ++++---- internal/service/iot/topic_rule_destination.go | 4 ++-- 8 files changed, 21 insertions(+), 21 deletions(-) diff --git a/internal/service/iot/ca_certificate.go b/internal/service/iot/ca_certificate.go index 15161a428b60..7ce457d35b3e 100644 --- a/internal/service/iot/ca_certificate.go +++ b/internal/service/iot/ca_certificate.go @@ -160,7 +160,7 @@ func resourceCACertificateCreate(ctx context.Context, d *schema.ResourceData, me input.VerificationCertificate = aws.String(v.(string)) } - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.InvalidRequestException](ctx, propagationTimeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.InvalidRequestException](ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.RegisterCACertificate(ctx, input) }) @@ -242,7 +242,7 @@ func resourceCACertificateUpdate(ctx context.Context, d *schema.ResourceData, me } } - _, err := tfresource.RetryWhenIsA[*awstypes.InvalidRequestException](ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.InvalidRequestException](ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.UpdateCACertificate(ctx, input) }) diff --git a/internal/service/iot/logging_options.go b/internal/service/iot/logging_options.go index e0e3ca462dde..f77fbd0940d2 100644 --- a/internal/service/iot/logging_options.go +++ b/internal/service/iot/logging_options.go @@ -70,7 +70,7 @@ func resourceLoggingOptionsPut(ctx context.Context, d *schema.ResourceData, meta input.RoleArn = aws.String(v.(string)) } - _, err := tfresource.RetryWhenIsA[*awstypes.InvalidRequestException](ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.InvalidRequestException](ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.SetV2LoggingOptions(ctx, input) }) diff --git a/internal/service/iot/policy.go b/internal/service/iot/policy.go index b67040acd649..0f1e3cf4c73b 100644 --- a/internal/service/iot/policy.go +++ b/internal/service/iot/policy.go @@ -286,8 +286,8 @@ func deletePolicy(ctx context.Context, conn *iot.Client, name string) error { PolicyName: aws.String(name), } - _, err := tfresource.RetryWhenIsA[*awstypes.DeleteConflictException](ctx, propagationTimeout, - func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.DeleteConflictException](ctx, propagationTimeout, + func(ctx context.Context) (any, error) { return conn.DeletePolicy(ctx, input) }) @@ -308,8 +308,8 @@ func deletePolicyVersion(ctx context.Context, conn *iot.Client, name, versionID PolicyVersionId: aws.String(versionID), } - _, err := tfresource.RetryWhenIsA[*awstypes.DeleteConflictException](ctx, propagationTimeout, - func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.DeleteConflictException](ctx, propagationTimeout, + func(ctx context.Context) (any, error) { return conn.DeletePolicyVersion(ctx, input) }) diff --git a/internal/service/iot/provisioning_template.go b/internal/service/iot/provisioning_template.go index c9edb55e0ddd..df59168a8cbc 100644 --- a/internal/service/iot/provisioning_template.go +++ b/internal/service/iot/provisioning_template.go @@ -155,8 +155,8 @@ func resourceProvisioningTemplateCreate(ctx context.Context, d *schema.ResourceD input.Type = awstypes.TemplateType(v) } - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.InvalidRequestException](ctx, propagationTimeout, - func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.InvalidRequestException](ctx, propagationTimeout, + func(ctx context.Context) (any, error) { return conn.CreateProvisioningTemplate(ctx, input) }) @@ -234,8 +234,8 @@ func resourceProvisioningTemplateUpdate(ctx context.Context, d *schema.ResourceD input.PreProvisioningHook = expandProvisioningHook(v.([]any)[0].(map[string]any)) } - _, err := tfresource.RetryWhenIsA[*awstypes.InvalidRequestException](ctx, propagationTimeout, - func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.InvalidRequestException](ctx, propagationTimeout, + func(ctx context.Context) (any, error) { return conn.UpdateProvisioningTemplate(ctx, input) }) diff --git a/internal/service/iot/thing_group.go b/internal/service/iot/thing_group.go index 11114d9542a7..13ba9f80b662 100644 --- a/internal/service/iot/thing_group.go +++ b/internal/service/iot/thing_group.go @@ -238,8 +238,8 @@ func resourceThingGroupDelete(ctx context.Context, d *schema.ResourceData, meta const ( timeout = 1 * time.Minute ) - _, err := tfresource.RetryWhenIsA[*awstypes.InvalidRequestException](ctx, timeout, - func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.InvalidRequestException](ctx, timeout, + func(ctx context.Context) (any, error) { return conn.DeleteThingGroup(ctx, &iot.DeleteThingGroupInput{ ThingGroupName: aws.String(d.Id()), }) diff --git a/internal/service/iot/thing_type.go b/internal/service/iot/thing_type.go index 9f8f2bcd4c38..d43d44840129 100644 --- a/internal/service/iot/thing_type.go +++ b/internal/service/iot/thing_type.go @@ -194,8 +194,8 @@ func resourceThingTypeDelete(ctx context.Context, d *schema.ResourceData, meta a } log.Printf("[DEBUG] Deleting IoT Thing Type: %s", d.Id()) - _, err = tfresource.RetryWhenIsA[*awstypes.InvalidRequestException](ctx, deprecatePropagationTimeout, - func() (any, error) { + _, err = tfresource.RetryWhenIsA[any, *awstypes.InvalidRequestException](ctx, deprecatePropagationTimeout, + func(ctx context.Context) (any, error) { return conn.DeleteThingType(ctx, &iot.DeleteThingTypeInput{ ThingTypeName: aws.String(d.Id()), }) diff --git a/internal/service/iot/topic_rule.go b/internal/service/iot/topic_rule.go index 1e1cc54e6ff4..a3e74eb6389d 100644 --- a/internal/service/iot/topic_rule.go +++ b/internal/service/iot/topic_rule.go @@ -1257,8 +1257,8 @@ func resourceTopicRuleCreate(ctx context.Context, d *schema.ResourceData, meta a TopicRulePayload: expandTopicRulePayload(d), } - _, err := tfresource.RetryWhenIsA[*awstypes.InvalidRequestException](ctx, propagationTimeout, - func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.InvalidRequestException](ctx, propagationTimeout, + func(ctx context.Context) (any, error) { return conn.CreateTopicRule(ctx, input) }) @@ -1387,8 +1387,8 @@ func resourceTopicRuleUpdate(ctx context.Context, d *schema.ResourceData, meta a TopicRulePayload: expandTopicRulePayload(d), } - _, err := tfresource.RetryWhenIsA[*awstypes.InvalidRequestException](ctx, propagationTimeout, - func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.InvalidRequestException](ctx, propagationTimeout, + func(ctx context.Context) (any, error) { return conn.ReplaceTopicRule(ctx, input) }) diff --git a/internal/service/iot/topic_rule_destination.go b/internal/service/iot/topic_rule_destination.go index 91b2f17a5792..c356dee7d284 100644 --- a/internal/service/iot/topic_rule_destination.go +++ b/internal/service/iot/topic_rule_destination.go @@ -102,8 +102,8 @@ func resourceTopicRuleDestinationCreate(ctx context.Context, d *schema.ResourceD input.DestinationConfiguration.VpcConfiguration = expandVPCDestinationConfiguration(v.([]any)[0].(map[string]any)) } - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.InvalidRequestException](ctx, propagationTimeout, - func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.InvalidRequestException](ctx, propagationTimeout, + func(ctx context.Context) (any, error) { return conn.CreateTopicRuleDestination(ctx, input) }) From 7627daef2c84f55fcb91ba0a17b366cd2bf844db Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:43 -0400 Subject: [PATCH 1278/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - kms. --- internal/service/kms/alias.go | 2 +- internal/service/kms/external_key.go | 4 ++-- internal/service/kms/key.go | 4 ++-- internal/service/kms/wait.go | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/internal/service/kms/alias.go b/internal/service/kms/alias.go index 84f9e6ada5ed..cad38e222d69 100644 --- a/internal/service/kms/alias.go +++ b/internal/service/kms/alias.go @@ -81,7 +81,7 @@ func resourceAliasCreate(ctx context.Context, d *schema.ResourceData, meta any) TargetKeyId: aws.String(d.Get("target_key_id").(string)), } - _, err := tfresource.RetryWhenIsA[*awstypes.NotFoundException](ctx, keyRotationUpdatedTimeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.NotFoundException](ctx, keyRotationUpdatedTimeout, func(ctx context.Context) (any, error) { return conn.CreateAlias(ctx, input) }) diff --git a/internal/service/kms/external_key.go b/internal/service/kms/external_key.go index c56188d1fe03..c2ef4a101460 100644 --- a/internal/service/kms/external_key.go +++ b/internal/service/kms/external_key.go @@ -344,7 +344,7 @@ func importExternalKeyMaterial(ctx context.Context, conn *kms.Client, resourceTy } // Wait for propagation since KMS is eventually consistent. - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.NotFoundException](ctx, propagationTimeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.NotFoundException](ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.GetParametersForImport(ctx, &inputGPFI) }) @@ -387,7 +387,7 @@ func importExternalKeyMaterial(ctx context.Context, conn *kms.Client, resourceTy } // Wait for propagation since KMS is eventually consistent. - _, err = tfresource.RetryWhenIsA[*awstypes.NotFoundException](ctx, propagationTimeout, func() (any, error) { + _, err = tfresource.RetryWhenIsA[any, *awstypes.NotFoundException](ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.ImportKeyMaterial(ctx, &inputIKM) }) diff --git a/internal/service/kms/key.go b/internal/service/kms/key.go index 83df9c4a511f..fcbd44af6f37 100644 --- a/internal/service/kms/key.go +++ b/internal/service/kms/key.go @@ -526,7 +526,7 @@ func updateKeyDescription(ctx context.Context, conn *kms.Client, resourceTypeNam func updateKeyEnabled(ctx context.Context, conn *kms.Client, resourceTypeName, keyID string, enabled bool) error { var action string - updateFunc := func() (any, error) { + updateFunc := func(ctx context.Context) (any, error) { var err error if enabled { @@ -548,7 +548,7 @@ func updateKeyEnabled(ctx context.Context, conn *kms.Client, resourceTypeName, k return nil, err } - if _, err := tfresource.RetryWhenIsA[*awstypes.NotFoundException](ctx, propagationTimeout, updateFunc); err != nil { + if _, err := tfresource.RetryWhenIsA[any, *awstypes.NotFoundException](ctx, propagationTimeout, updateFunc); err != nil { return fmt.Errorf("%s %s (%s): %w", action, resourceTypeName, keyID, err) } diff --git a/internal/service/kms/wait.go b/internal/service/kms/wait.go index 2df46fae0bdd..e78439ada58f 100644 --- a/internal/service/kms/wait.go +++ b/internal/service/kms/wait.go @@ -26,7 +26,7 @@ const ( // waitIAMPropagation retries the specified function if the returned error indicates an IAM eventual consistency issue. func waitIAMPropagation[T any](ctx context.Context, timeout time.Duration, f func() (T, error)) (T, error) { - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.MalformedPolicyDocumentException](ctx, timeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.MalformedPolicyDocumentException](ctx, timeout, func(ctx context.Context) (any, error) { return f() }) From b4c5c5e947f6d32c82e96be38a88dcf99407211c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:44 -0400 Subject: [PATCH 1279/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - lambda. --- internal/service/lambda/event_source_mapping.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/lambda/event_source_mapping.go b/internal/service/lambda/event_source_mapping.go index deaf755b6a79..a95491e38856 100644 --- a/internal/service/lambda/event_source_mapping.go +++ b/internal/service/lambda/event_source_mapping.go @@ -821,7 +821,7 @@ func resourceEventSourceMappingDelete(ctx context.Context, d *schema.ResourceDat const ( timeout = 5 * time.Minute ) - _, err := tfresource.RetryWhenIsA[*awstypes.ResourceInUseException](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.ResourceInUseException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.DeleteEventSourceMapping(ctx, &lambda.DeleteEventSourceMappingInput{ UUID: aws.String(d.Id()), }) From a363e74528452974f3c3e9f183ea60db6a5fdae2 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:44 -0400 Subject: [PATCH 1280/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - lexmodels. --- internal/service/lexmodels/bot.go | 6 +++--- internal/service/lexmodels/bot_alias.go | 2 +- internal/service/lexmodels/intent.go | 4 ++-- internal/service/lexmodels/slot_type.go | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/internal/service/lexmodels/bot.go b/internal/service/lexmodels/bot.go index 80cf90c34b3f..591333cc33d4 100644 --- a/internal/service/lexmodels/bot.go +++ b/internal/service/lexmodels/bot.go @@ -254,7 +254,7 @@ func resourceBotCreate(ctx context.Context, d *schema.ResourceData, meta any) di } var output *lexmodelbuildingservice.PutBotOutput - _, err := tfresource.RetryWhenIsA[*awstypes.ConflictException](ctx, d.Timeout(schema.TimeoutCreate), func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.ConflictException](ctx, d.Timeout(schema.TimeoutCreate), func(ctx context.Context) (any, error) { var err error if output != nil { @@ -377,7 +377,7 @@ func resourceBotUpdate(ctx context.Context, d *schema.ResourceData, meta any) di input.VoiceId = aws.String(v.(string)) } - _, err := tfresource.RetryWhenIsA[*awstypes.ConflictException](ctx, d.Timeout(schema.TimeoutUpdate), func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.ConflictException](ctx, d.Timeout(schema.TimeoutUpdate), func(ctx context.Context) (any, error) { return conn.PutBot(ctx, input) }) @@ -401,7 +401,7 @@ func resourceBotDelete(ctx context.Context, d *schema.ResourceData, meta any) di } log.Printf("[DEBUG] Deleting Lex Bot: (%s)", d.Id()) - _, err := tfresource.RetryWhenIsA[*awstypes.ConflictException](ctx, d.Timeout(schema.TimeoutDelete), func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.ConflictException](ctx, d.Timeout(schema.TimeoutDelete), func(ctx context.Context) (any, error) { return conn.DeleteBot(ctx, input) }) diff --git a/internal/service/lexmodels/bot_alias.go b/internal/service/lexmodels/bot_alias.go index ad74062864ae..d46257056bcc 100644 --- a/internal/service/lexmodels/bot_alias.go +++ b/internal/service/lexmodels/bot_alias.go @@ -280,7 +280,7 @@ func resourceBotAliasDelete(ctx context.Context, d *schema.ResourceData, meta an botAliasName, botName := d.Get(names.AttrName).(string), d.Get("bot_name").(string) log.Printf("[DEBUG] Deleting Lex Model Bot Alias: %s", d.Id()) - _, err := tfresource.RetryWhenIsA[*awstypes.ConflictException](ctx, d.Timeout(schema.TimeoutDelete), func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.ConflictException](ctx, d.Timeout(schema.TimeoutDelete), func(ctx context.Context) (any, error) { return conn.DeleteBotAlias(ctx, &lexmodelbuildingservice.DeleteBotAliasInput{ BotName: aws.String(botName), Name: aws.String(botAliasName), diff --git a/internal/service/lexmodels/intent.go b/internal/service/lexmodels/intent.go index 18e8101a12a6..4e498d4758d8 100644 --- a/internal/service/lexmodels/intent.go +++ b/internal/service/lexmodels/intent.go @@ -334,7 +334,7 @@ func resourceIntentCreate(ctx context.Context, d *schema.ResourceData, meta any) input.Slots = expandSlots(v.(*schema.Set).List()) } - _, err := tfresource.RetryWhenIsA[*awstypes.ConflictException](ctx, d.Timeout(schema.TimeoutCreate), func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.ConflictException](ctx, d.Timeout(schema.TimeoutCreate), func(ctx context.Context) (any, error) { return conn.PutIntent(ctx, input) }) @@ -498,7 +498,7 @@ func resourceIntentDelete(ctx context.Context, d *schema.ResourceData, meta any) conn := meta.(*conns.AWSClient).LexModelsClient(ctx) log.Printf("[DEBUG] Deleting Lex Model Intent: %s", d.Id()) - _, err := tfresource.RetryWhenIsA[*awstypes.ConflictException](ctx, d.Timeout(schema.TimeoutDelete), func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.ConflictException](ctx, d.Timeout(schema.TimeoutDelete), func(ctx context.Context) (any, error) { return conn.DeleteIntent(ctx, &lexmodelbuildingservice.DeleteIntentInput{ Name: aws.String(d.Id()), }) diff --git a/internal/service/lexmodels/slot_type.go b/internal/service/lexmodels/slot_type.go index 31c76307e9b8..2b018c8876a8 100644 --- a/internal/service/lexmodels/slot_type.go +++ b/internal/service/lexmodels/slot_type.go @@ -154,7 +154,7 @@ func resourceSlotTypeCreate(ctx context.Context, d *schema.ResourceData, meta an } var output *lexmodelbuildingservice.PutSlotTypeOutput - _, err := tfresource.RetryWhenIsA[*awstypes.ConflictException](ctx, d.Timeout(schema.TimeoutCreate), func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.ConflictException](ctx, d.Timeout(schema.TimeoutCreate), func(ctx context.Context) (any, error) { var err error if output != nil { @@ -228,7 +228,7 @@ func resourceSlotTypeUpdate(ctx context.Context, d *schema.ResourceData, meta an input.EnumerationValues = expandEnumerationValues(v.(*schema.Set).List()) } - _, err := tfresource.RetryWhenIsA[*awstypes.ConflictException](ctx, d.Timeout(schema.TimeoutUpdate), func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.ConflictException](ctx, d.Timeout(schema.TimeoutUpdate), func(ctx context.Context) (any, error) { return conn.PutSlotType(ctx, input) }) @@ -248,7 +248,7 @@ func resourceSlotTypeDelete(ctx context.Context, d *schema.ResourceData, meta an } log.Printf("[DEBUG] Deleting Lex Slot Type: (%s)", d.Id()) - _, err := tfresource.RetryWhenIsA[*awstypes.ConflictException](ctx, d.Timeout(schema.TimeoutDelete), func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.ConflictException](ctx, d.Timeout(schema.TimeoutDelete), func(ctx context.Context) (any, error) { return conn.DeleteSlotType(ctx, input) }) From cb3313808522f5b1c1e44f21fb47979d82c15b1c Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:44 -0400 Subject: [PATCH 1281/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - logs. --- internal/service/logs/destination.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/logs/destination.go b/internal/service/logs/destination.go index 1b0321df0de5..efc03ca32e05 100644 --- a/internal/service/logs/destination.go +++ b/internal/service/logs/destination.go @@ -87,7 +87,7 @@ func resourceDestinationCreate(ctx context.Context, d *schema.ResourceData, meta TargetArn: aws.String(d.Get(names.AttrTargetARN).(string)), } - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.InvalidParameterException](ctx, propagationTimeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.InvalidParameterException](ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.PutDestination(ctx, input) }) @@ -142,7 +142,7 @@ func resourceDestinationUpdate(ctx context.Context, d *schema.ResourceData, meta TargetArn: aws.String(d.Get(names.AttrTargetARN).(string)), } - _, err := tfresource.RetryWhenIsA[*awstypes.InvalidParameterException](ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.InvalidParameterException](ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.PutDestination(ctx, input) }) From 7df48d7d8bc821edad359b74be150b44ef8c30a1 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:47 -0400 Subject: [PATCH 1282/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - neptune. --- internal/service/neptune/parameter_group.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/neptune/parameter_group.go b/internal/service/neptune/parameter_group.go index 5ff105eec1dc..7fa8c36e6888 100644 --- a/internal/service/neptune/parameter_group.go +++ b/internal/service/neptune/parameter_group.go @@ -205,7 +205,7 @@ func resourceParameterGroupDelete(ctx context.Context, d *schema.ResourceData, m conn := meta.(*conns.AWSClient).NeptuneClient(ctx) log.Printf("[DEBUG] Deleting Neptune Parameter Group: %s", d.Id()) - _, err := tfresource.RetryWhenIsA[*awstypes.InvalidDBParameterGroupStateFault](ctx, dbParameterGroupDeleteRetryTimeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.InvalidDBParameterGroupStateFault](ctx, dbParameterGroupDeleteRetryTimeout, func(ctx context.Context) (any, error) { return conn.DeleteDBParameterGroup(ctx, &neptune.DeleteDBParameterGroupInput{ DBParameterGroupName: aws.String(d.Id()), }) From 7d3bb86612cccbcfcb69b9d35dd6cc30abe3e5f1 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:48 -0400 Subject: [PATCH 1283/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - organizations. --- internal/service/organizations/account.go | 8 ++++---- internal/service/organizations/organizational_unit.go | 2 +- internal/service/organizations/policy.go | 2 +- internal/service/organizations/policy_attachment.go | 2 +- internal/service/organizations/resource_policy.go | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/internal/service/organizations/account.go b/internal/service/organizations/account.go index a2dd4d1a051a..f699f447fa6c 100644 --- a/internal/service/organizations/account.go +++ b/internal/service/organizations/account.go @@ -146,8 +146,8 @@ func resourceAccountCreate(ctx context.Context, d *schema.ResourceData, meta any input.RoleName = aws.String(v.(string)) } - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.FinalizingOrganizationException](ctx, organizationFinalizationTimeout, - func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.FinalizingOrganizationException](ctx, organizationFinalizationTimeout, + func(ctx context.Context) (any, error) { return conn.CreateGovCloudAccount(ctx, input) }) @@ -171,8 +171,8 @@ func resourceAccountCreate(ctx context.Context, d *schema.ResourceData, meta any input.RoleName = aws.String(v.(string)) } - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.FinalizingOrganizationException](ctx, organizationFinalizationTimeout, - func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.FinalizingOrganizationException](ctx, organizationFinalizationTimeout, + func(ctx context.Context) (any, error) { return conn.CreateAccount(ctx, input) }) diff --git a/internal/service/organizations/organizational_unit.go b/internal/service/organizations/organizational_unit.go index 3d4cae4c5b46..08476f44b8ad 100644 --- a/internal/service/organizations/organizational_unit.go +++ b/internal/service/organizations/organizational_unit.go @@ -94,7 +94,7 @@ func resourceOrganizationalUnitCreate(ctx context.Context, d *schema.ResourceDat Tags: getTagsIn(ctx), } - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.FinalizingOrganizationException](ctx, organizationFinalizationTimeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.FinalizingOrganizationException](ctx, organizationFinalizationTimeout, func(ctx context.Context) (any, error) { return conn.CreateOrganizationalUnit(ctx, input) }) diff --git a/internal/service/organizations/policy.go b/internal/service/organizations/policy.go index 8e9a9afdf115..715cdcdc8133 100644 --- a/internal/service/organizations/policy.go +++ b/internal/service/organizations/policy.go @@ -95,7 +95,7 @@ func resourcePolicyCreate(ctx context.Context, d *schema.ResourceData, meta any) Tags: getTagsIn(ctx), } - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.FinalizingOrganizationException](ctx, organizationFinalizationTimeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.FinalizingOrganizationException](ctx, organizationFinalizationTimeout, func(ctx context.Context) (any, error) { return conn.CreatePolicy(ctx, input) }) diff --git a/internal/service/organizations/policy_attachment.go b/internal/service/organizations/policy_attachment.go index 7eedfccd8002..2fa97bc7a06d 100644 --- a/internal/service/organizations/policy_attachment.go +++ b/internal/service/organizations/policy_attachment.go @@ -68,7 +68,7 @@ func resourcePolicyAttachmentCreate(ctx context.Context, d *schema.ResourceData, TargetId: aws.String(targetID), } - _, err := tfresource.RetryWhenIsA[*awstypes.FinalizingOrganizationException](ctx, organizationFinalizationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.FinalizingOrganizationException](ctx, organizationFinalizationTimeout, func(ctx context.Context) (any, error) { return conn.AttachPolicy(ctx, &input) }) diff --git a/internal/service/organizations/resource_policy.go b/internal/service/organizations/resource_policy.go index a7682d99248b..cab4c09a1a22 100644 --- a/internal/service/organizations/resource_policy.go +++ b/internal/service/organizations/resource_policy.go @@ -76,7 +76,7 @@ func resourceResourcePolicyCreate(ctx context.Context, d *schema.ResourceData, m Tags: getTagsIn(ctx), } - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.FinalizingOrganizationException](ctx, organizationFinalizationTimeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.FinalizingOrganizationException](ctx, organizationFinalizationTimeout, func(ctx context.Context) (any, error) { return conn.PutResourcePolicy(ctx, input) }) From 71774f2cea41015b539e5deffec31010654442d5 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:48 -0400 Subject: [PATCH 1284/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - osis. --- internal/service/osis/pipeline.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/osis/pipeline.go b/internal/service/osis/pipeline.go index aae31a051e57..515af9c1ff5e 100644 --- a/internal/service/osis/pipeline.go +++ b/internal/service/osis/pipeline.go @@ -226,7 +226,7 @@ func (r *pipelineResource) Create(ctx context.Context, request resource.CreateRe input.Tags = getTagsIn(ctx) // Retry for IAM eventual consistency. - _, err := tfresource.RetryWhenIsA[*awstypes.ValidationException](ctx, propagationTimeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.ValidationException](ctx, propagationTimeout, func(ctx context.Context) (any, error) { return conn.CreatePipeline(ctx, &input) }) From 0d11f207aa13f5e6b3b3554088ce51d08d280a66 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:50 -0400 Subject: [PATCH 1285/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - qldb. --- internal/service/qldb/ledger.go | 2 +- internal/service/qldb/stream.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/qldb/ledger.go b/internal/service/qldb/ledger.go index e03a53933fd8..58382e84659d 100644 --- a/internal/service/qldb/ledger.go +++ b/internal/service/qldb/ledger.go @@ -187,7 +187,7 @@ func resourceLedgerDelete(ctx context.Context, d *schema.ResourceData, meta any) } log.Printf("[INFO] Deleting QLDB Ledger: %s", d.Id()) - _, err := tfresource.RetryWhenIsA[*types.ResourceInUseException](ctx, d.Timeout(schema.TimeoutDelete), func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *types.ResourceInUseException](ctx, d.Timeout(schema.TimeoutDelete), func(ctx context.Context) (any, error) { return conn.DeleteLedger(ctx, input) }) diff --git a/internal/service/qldb/stream.go b/internal/service/qldb/stream.go index 18eaf9772d91..6c2187bd1655 100644 --- a/internal/service/qldb/stream.go +++ b/internal/service/qldb/stream.go @@ -207,7 +207,7 @@ func resourceStreamDelete(ctx context.Context, d *schema.ResourceData, meta any) } log.Printf("[INFO] Deleting QLDB Stream: %s", d.Id()) - _, err := tfresource.RetryWhenIsA[*types.ResourceInUseException](ctx, d.Timeout(schema.TimeoutDelete), func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *types.ResourceInUseException](ctx, d.Timeout(schema.TimeoutDelete), func(ctx context.Context) (any, error) { return conn.CancelJournalKinesisStream(ctx, input) }) From f53d4f9d4a00531a688d196d795a68fcfad80b79 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:50 -0400 Subject: [PATCH 1286/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - rds. --- internal/service/rds/cluster_parameter_group.go | 2 +- internal/service/rds/cluster_role_association.go | 4 ++-- internal/service/rds/cluster_snapshot.go | 2 +- internal/service/rds/instance_role_association.go | 4 ++-- internal/service/rds/option_group.go | 2 +- internal/service/rds/parameter_group.go | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/internal/service/rds/cluster_parameter_group.go b/internal/service/rds/cluster_parameter_group.go index 956c92fe3c17..4c55067d0872 100644 --- a/internal/service/rds/cluster_parameter_group.go +++ b/internal/service/rds/cluster_parameter_group.go @@ -267,7 +267,7 @@ func resourceClusterParameterGroupDelete(ctx context.Context, d *schema.Resource input := rds.DeleteDBClusterParameterGroupInput{ DBClusterParameterGroupName: aws.String(d.Id()), } - _, err := tfresource.RetryWhenIsA[*types.InvalidDBParameterGroupStateFault](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *types.InvalidDBParameterGroupStateFault](ctx, timeout, func(ctx context.Context) (any, error) { return conn.DeleteDBClusterParameterGroup(ctx, &input) }) diff --git a/internal/service/rds/cluster_role_association.go b/internal/service/rds/cluster_role_association.go index 4a63f35521ee..858909645f1b 100644 --- a/internal/service/rds/cluster_role_association.go +++ b/internal/service/rds/cluster_role_association.go @@ -76,7 +76,7 @@ func resourceClusterRoleAssociationCreate(ctx context.Context, d *schema.Resourc RoleArn: aws.String(roleARN), } - _, err := tfresource.RetryWhenIsA[*types.InvalidDBClusterStateFault](ctx, d.Timeout(schema.TimeoutCreate), func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *types.InvalidDBClusterStateFault](ctx, d.Timeout(schema.TimeoutCreate), func(ctx context.Context) (any, error) { return conn.AddRoleToDBCluster(ctx, &input) }) @@ -142,7 +142,7 @@ func resourceClusterRoleAssociationDelete(ctx context.Context, d *schema.Resourc FeatureName: aws.String(d.Get("feature_name").(string)), RoleArn: aws.String(roleARN), } - _, err = tfresource.RetryWhenIsA[*types.InvalidDBClusterStateFault](ctx, d.Timeout(schema.TimeoutDelete), func() (any, error) { + _, err = tfresource.RetryWhenIsA[any, *types.InvalidDBClusterStateFault](ctx, d.Timeout(schema.TimeoutDelete), func(ctx context.Context) (any, error) { return conn.RemoveRoleFromDBCluster(ctx, &input) }) diff --git a/internal/service/rds/cluster_snapshot.go b/internal/service/rds/cluster_snapshot.go index 4c9f4eb228e9..c24cd73a6075 100644 --- a/internal/service/rds/cluster_snapshot.go +++ b/internal/service/rds/cluster_snapshot.go @@ -140,7 +140,7 @@ func resourceClusterSnapshotCreate(ctx context.Context, d *schema.ResourceData, const ( timeout = 2 * time.Minute ) - _, err := tfresource.RetryWhenIsA[*types.InvalidDBClusterStateFault](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *types.InvalidDBClusterStateFault](ctx, timeout, func(ctx context.Context) (any, error) { return conn.CreateDBClusterSnapshot(ctx, input) }) diff --git a/internal/service/rds/instance_role_association.go b/internal/service/rds/instance_role_association.go index f5c699cb60cf..c020d8d993da 100644 --- a/internal/service/rds/instance_role_association.go +++ b/internal/service/rds/instance_role_association.go @@ -82,7 +82,7 @@ func resourceInstanceRoleAssociationCreate(ctx context.Context, d *schema.Resour RoleArn: aws.String(roleARN), } - _, err := tfresource.RetryWhenIsA[*types.InvalidDBInstanceStateFault](ctx, d.Timeout(schema.TimeoutCreate), func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *types.InvalidDBInstanceStateFault](ctx, d.Timeout(schema.TimeoutCreate), func(ctx context.Context) (any, error) { return conn.AddRoleToDBInstance(ctx, &input) }) @@ -148,7 +148,7 @@ func resourceInstanceRoleAssociationDelete(ctx context.Context, d *schema.Resour FeatureName: aws.String(d.Get("feature_name").(string)), RoleArn: aws.String(roleARN), } - _, err = tfresource.RetryWhenIsA[*types.InvalidDBInstanceStateFault](ctx, d.Timeout(schema.TimeoutDelete), func() (any, error) { + _, err = tfresource.RetryWhenIsA[any, *types.InvalidDBInstanceStateFault](ctx, d.Timeout(schema.TimeoutDelete), func(ctx context.Context) (any, error) { return conn.RemoveRoleFromDBInstance(ctx, &input) }) diff --git a/internal/service/rds/option_group.go b/internal/service/rds/option_group.go index a4d34b1c1d4e..821c3163eb9f 100644 --- a/internal/service/rds/option_group.go +++ b/internal/service/rds/option_group.go @@ -252,7 +252,7 @@ func resourceOptionGroupDelete(ctx context.Context, d *schema.ResourceData, meta } log.Printf("[DEBUG] Deleting RDS DB Option Group: %s", d.Id()) - _, err := tfresource.RetryWhenIsA[*types.InvalidOptionGroupStateFault](ctx, d.Timeout(schema.TimeoutDelete), func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *types.InvalidOptionGroupStateFault](ctx, d.Timeout(schema.TimeoutDelete), func(ctx context.Context) (any, error) { return conn.DeleteOptionGroup(ctx, &rds.DeleteOptionGroupInput{ OptionGroupName: aws.String(d.Id()), }) diff --git a/internal/service/rds/parameter_group.go b/internal/service/rds/parameter_group.go index d9d563d9309a..100bd3bae4af 100644 --- a/internal/service/rds/parameter_group.go +++ b/internal/service/rds/parameter_group.go @@ -308,7 +308,7 @@ func resourceParameterGroupDelete(ctx context.Context, d *schema.ResourceData, m input := rds.DeleteDBParameterGroupInput{ DBParameterGroupName: aws.String(d.Id()), } - _, err := tfresource.RetryWhenIsA[*types.InvalidDBParameterGroupStateFault](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *types.InvalidDBParameterGroupStateFault](ctx, timeout, func(ctx context.Context) (any, error) { return conn.DeleteDBParameterGroup(ctx, &input) }) From f991713f4dbd60692c3edc93e920470e3d9450ea Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:50 -0400 Subject: [PATCH 1287/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - redshift. --- internal/service/redshift/cluster.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/service/redshift/cluster.go b/internal/service/redshift/cluster.go index 9231f874f120..091b59400ab7 100644 --- a/internal/service/redshift/cluster.go +++ b/internal/service/redshift/cluster.go @@ -858,8 +858,8 @@ func resourceClusterUpdate(ctx context.Context, d *schema.ResourceData, meta any ClusterIdentifier: aws.String(d.Id()), } - _, err := tfresource.RetryWhenIsA[*awstypes.InvalidClusterStateFault](ctx, clusterInvalidClusterStateFaultTimeout, - func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.InvalidClusterStateFault](ctx, clusterInvalidClusterStateFaultTimeout, + func(ctx context.Context) (any, error) { return conn.RebootCluster(ctx, input) }) @@ -954,8 +954,8 @@ func resourceClusterDelete(ctx context.Context, d *schema.ResourceData, meta any } log.Printf("[DEBUG] Deleting Redshift Cluster: %s", d.Id()) - _, err := tfresource.RetryWhenIsA[*awstypes.InvalidClusterStateFault](ctx, clusterInvalidClusterStateFaultTimeout, - func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.InvalidClusterStateFault](ctx, clusterInvalidClusterStateFaultTimeout, + func(ctx context.Context) (any, error) { return conn.DeleteCluster(ctx, input) }) From d735134dd6e3a0f527692b202e25d646bb6fb4e6 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:52 -0400 Subject: [PATCH 1288/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - route53. --- internal/service/route53/cidr_collection.go | 2 +- internal/service/route53/hosted_zone_dnssec.go | 2 +- internal/service/route53/record.go | 2 +- internal/service/route53/traffic_policy.go | 2 +- internal/service/route53/traffic_policy_instance.go | 2 +- internal/service/route53/vpc_association_authorization.go | 6 +++--- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/internal/service/route53/cidr_collection.go b/internal/service/route53/cidr_collection.go index 346018b730ef..97dc90b5d00d 100644 --- a/internal/service/route53/cidr_collection.go +++ b/internal/service/route53/cidr_collection.go @@ -83,7 +83,7 @@ func (r *cidrCollectionResource) Create(ctx context.Context, request resource.Cr const ( timeout = 2 * time.Minute ) - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.ConcurrentModification](ctx, timeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.ConcurrentModification](ctx, timeout, func(ctx context.Context) (any, error) { return conn.CreateCidrCollection(ctx, input) }) diff --git a/internal/service/route53/hosted_zone_dnssec.go b/internal/service/route53/hosted_zone_dnssec.go index 04260a722d6a..7cdd2ab3c1bf 100644 --- a/internal/service/route53/hosted_zone_dnssec.go +++ b/internal/service/route53/hosted_zone_dnssec.go @@ -178,7 +178,7 @@ func hostedZoneDNSSECDisable(ctx context.Context, conn *route53.Client, hostedZo const ( timeout = 5 * time.Minute ) - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.KeySigningKeyInParentDSRecord](ctx, timeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.KeySigningKeyInParentDSRecord](ctx, timeout, func(ctx context.Context) (any, error) { return conn.DisableHostedZoneDNSSEC(ctx, input) }) diff --git a/internal/service/route53/record.go b/internal/service/route53/record.go index 720fa883f35a..10b95ec0c7fd 100644 --- a/internal/service/route53/record.go +++ b/internal/service/route53/record.go @@ -365,7 +365,7 @@ func resourceRecordCreate(ctx context.Context, d *schema.ResourceData, meta any) HostedZoneId: aws.String(cleanZoneID(aws.ToString(zoneRecord.HostedZone.Id))), } - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.NoSuchHostedZone](ctx, 1*time.Minute, func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.NoSuchHostedZone](ctx, 1*time.Minute, func(ctx context.Context) (any, error) { return conn.ChangeResourceRecordSets(ctx, input) }) diff --git a/internal/service/route53/traffic_policy.go b/internal/service/route53/traffic_policy.go index 02510340155d..73e79ef3f250 100644 --- a/internal/service/route53/traffic_policy.go +++ b/internal/service/route53/traffic_policy.go @@ -102,7 +102,7 @@ func resourceTrafficPolicyCreate(ctx context.Context, d *schema.ResourceData, me input.Comment = aws.String(v.(string)) } - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.NoSuchTrafficPolicy](ctx, d.Timeout(schema.TimeoutCreate), func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.NoSuchTrafficPolicy](ctx, d.Timeout(schema.TimeoutCreate), func(ctx context.Context) (any, error) { return conn.CreateTrafficPolicy(ctx, input) }) diff --git a/internal/service/route53/traffic_policy_instance.go b/internal/service/route53/traffic_policy_instance.go index beae6f62bbfa..6763bd241b11 100644 --- a/internal/service/route53/traffic_policy_instance.go +++ b/internal/service/route53/traffic_policy_instance.go @@ -89,7 +89,7 @@ func resourceTrafficPolicyInstanceCreate(ctx context.Context, d *schema.Resource TTL: aws.Int64(int64(d.Get("ttl").(int))), } - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.NoSuchTrafficPolicy](ctx, d.Timeout(schema.TimeoutCreate), func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.NoSuchTrafficPolicy](ctx, d.Timeout(schema.TimeoutCreate), func(ctx context.Context) (any, error) { return conn.CreateTrafficPolicyInstance(ctx, input) }) diff --git a/internal/service/route53/vpc_association_authorization.go b/internal/service/route53/vpc_association_authorization.go index 592b17a2492c..bdede6a17020 100644 --- a/internal/service/route53/vpc_association_authorization.go +++ b/internal/service/route53/vpc_association_authorization.go @@ -80,7 +80,7 @@ func resourceVPCAssociationAuthorizationCreate(ctx context.Context, d *schema.Re input.VPC.VPCRegion = awstypes.VPCRegion(v.(string)) } - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.ConcurrentModification](ctx, d.Timeout(schema.TimeoutCreate), func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.ConcurrentModification](ctx, d.Timeout(schema.TimeoutCreate), func(ctx context.Context) (any, error) { return conn.CreateVPCAssociationAuthorization(ctx, input) }) @@ -106,7 +106,7 @@ func resourceVPCAssociationAuthorizationRead(ctx context.Context, d *schema.Reso // InvalidPaginationToken errors can manifest when many authorization resources are // managed concurrently. Retry these errors for a short duration. - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.InvalidPaginationToken](ctx, d.Timeout(schema.TimeoutRead), func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.InvalidPaginationToken](ctx, d.Timeout(schema.TimeoutRead), func(ctx context.Context) (any, error) { return findVPCAssociationAuthorizationByTwoPartKey(ctx, conn, zoneID, vpcID) }) @@ -138,7 +138,7 @@ func resourceVPCAssociationAuthorizationDelete(ctx context.Context, d *schema.Re } log.Printf("[INFO] Deleting Route53 VPC Association Authorization: %s", d.Id()) - _, err = tfresource.RetryWhenIsA[*awstypes.ConcurrentModification](ctx, d.Timeout(schema.TimeoutCreate), func() (any, error) { + _, err = tfresource.RetryWhenIsA[any, *awstypes.ConcurrentModification](ctx, d.Timeout(schema.TimeoutCreate), func(ctx context.Context) (any, error) { return conn.DeleteVPCAssociationAuthorization(ctx, &route53.DeleteVPCAssociationAuthorizationInput{ HostedZoneId: aws.String(zoneID), VPC: &awstypes.VPC{ From cb0076c829629be0ab49ed3e92105a4db7c6579f Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:54 -0400 Subject: [PATCH 1289/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - securitylake. --- internal/service/securitylake/data_lake.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/securitylake/data_lake.go b/internal/service/securitylake/data_lake.go index 25efbad5677b..fdaf200cbd7b 100644 --- a/internal/service/securitylake/data_lake.go +++ b/internal/service/securitylake/data_lake.go @@ -585,7 +585,7 @@ func retryDataLakeConflictWithMutex[T any](ctx context.Context, f func() (T, err const dataLakeTimeout = 2 * time.Minute - raw, err := tfresource.RetryWhenIsA[*awstypes.ConflictException](ctx, dataLakeTimeout, func() (any, error) { + raw, err := tfresource.RetryWhenIsA[any, *awstypes.ConflictException](ctx, dataLakeTimeout, func(ctx context.Context) (any, error) { return f() }) if err != nil { From 7c296523df1f70650fb2ab94bbb9f4ef08f951d9 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:54 -0400 Subject: [PATCH 1290/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - servicediscovery. --- internal/service/servicediscovery/http_namespace.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/servicediscovery/http_namespace.go b/internal/service/servicediscovery/http_namespace.go index 71c4dd1b7a14..7f608f4a9964 100644 --- a/internal/service/servicediscovery/http_namespace.go +++ b/internal/service/servicediscovery/http_namespace.go @@ -138,7 +138,7 @@ func resourceHTTPNamespaceDelete(ctx context.Context, d *schema.ResourceData, me const ( timeout = 2 * time.Minute ) - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.ResourceInUse](ctx, timeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.ResourceInUse](ctx, timeout, func(ctx context.Context) (any, error) { return conn.DeleteNamespace(ctx, &servicediscovery.DeleteNamespaceInput{ Id: aws.String(d.Id()), }) From 753c7dfbd798fb7214ef6f1e48f9e4c4057cfd9a Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:56 -0400 Subject: [PATCH 1291/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - sns. --- internal/service/sns/topic.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/sns/topic.go b/internal/service/sns/topic.go index 7f39305a82c0..67b01a1c90e1 100644 --- a/internal/service/sns/topic.go +++ b/internal/service/sns/topic.go @@ -473,7 +473,7 @@ func putTopicAttribute(ctx context.Context, conn *sns.Client, arn string, name, TopicArn: aws.String(arn), } - _, err := tfresource.RetryWhenIsA[*types.InvalidParameterException](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *types.InvalidParameterException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.SetTopicAttributes(ctx, input) }) From e249d91caebeced6f1e5ff34abb15315de1cd613 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:58 -0400 Subject: [PATCH 1292/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - vpclattice. --- internal/service/vpclattice/target_group.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/service/vpclattice/target_group.go b/internal/service/vpclattice/target_group.go index 98e2a0ebf6e3..0e2fe4fcf3db 100644 --- a/internal/service/vpclattice/target_group.go +++ b/internal/service/vpclattice/target_group.go @@ -309,7 +309,7 @@ func resourceTargetGroupDelete(ctx context.Context, d *schema.ResourceData, meta } // Draining the targets can take a moment, so we need to retry on conflict. - _, err := tfresource.RetryWhenIsA[*types.ConflictException](ctx, d.Timeout(schema.TimeoutDelete), func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *types.ConflictException](ctx, d.Timeout(schema.TimeoutDelete), func(ctx context.Context) (any, error) { return conn.DeleteTargetGroup(ctx, &input) }) From 046393825e6eeec0c188510f957c3c1cce7ea4ad Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:58 -0400 Subject: [PATCH 1293/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - waf. --- internal/service/waf/rule.go | 2 +- internal/service/waf/token_handlers.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/waf/rule.go b/internal/service/waf/rule.go index 917a5a8bdce9..efb70f6d6058 100644 --- a/internal/service/waf/rule.go +++ b/internal/service/waf/rule.go @@ -182,7 +182,7 @@ func resourceRuleDelete(ctx context.Context, d *schema.ResourceData, meta any) d const ( timeout = 1 * time.Minute ) - _, err := tfresource.RetryWhenIsA[*awstypes.WAFReferencedItemException](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.WAFReferencedItemException](ctx, timeout, func(ctx context.Context) (any, error) { return newRetryer(conn).RetryWithToken(ctx, func(token *string) (any, error) { input := &waf.DeleteRuleInput{ ChangeToken: token, diff --git a/internal/service/waf/token_handlers.go b/internal/service/waf/token_handlers.go index d3cc0174f397..392d30cfd12b 100644 --- a/internal/service/waf/token_handlers.go +++ b/internal/service/waf/token_handlers.go @@ -30,7 +30,7 @@ func (t *retryer) RetryWithToken(ctx context.Context, f withTokenFunc) (any, err const ( timeout = 15 * time.Minute ) - return tfresource.RetryWhenIsA[*awstypes.WAFStaleDataException](ctx, timeout, func() (any, error) { + return tfresource.RetryWhenIsA[any, *awstypes.WAFStaleDataException](ctx, timeout, func(ctx context.Context) (any, error) { input := &waf.GetChangeTokenInput{} output, err := t.connection.GetChangeToken(ctx, input) From 58a763b6b2b082c6b98612ead8c680c443946e40 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:58 -0400 Subject: [PATCH 1294/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - wafregional. --- internal/service/wafregional/token_handlers.go | 2 +- internal/service/wafregional/web_acl_association.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/wafregional/token_handlers.go b/internal/service/wafregional/token_handlers.go index 9160175e8372..ad1fcce5d652 100644 --- a/internal/service/wafregional/token_handlers.go +++ b/internal/service/wafregional/token_handlers.go @@ -29,7 +29,7 @@ func (t *retryer) RetryWithToken(ctx context.Context, f withTokenFunc) (any, err const ( timeout = 15 * time.Minute ) - return tfresource.RetryWhenIsA[*awstypes.WAFStaleDataException](ctx, timeout, func() (any, error) { + return tfresource.RetryWhenIsA[any, *awstypes.WAFStaleDataException](ctx, timeout, func(ctx context.Context) (any, error) { input := &wafregional.GetChangeTokenInput{} output, err := t.connection.GetChangeToken(ctx, input) diff --git a/internal/service/wafregional/web_acl_association.go b/internal/service/wafregional/web_acl_association.go index 4173ea2e069c..b7150fc0f2c0 100644 --- a/internal/service/wafregional/web_acl_association.go +++ b/internal/service/wafregional/web_acl_association.go @@ -67,7 +67,7 @@ func resourceWebACLAssociationCreate(ctx context.Context, d *schema.ResourceData WebACLId: aws.String(webACLID), } - _, err := tfresource.RetryWhenIsA[*awstypes.WAFUnavailableEntityException](ctx, d.Timeout(schema.TimeoutCreate), func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.WAFUnavailableEntityException](ctx, d.Timeout(schema.TimeoutCreate), func(ctx context.Context) (any, error) { return conn.AssociateWebACL(ctx, input) }) From f23227a92bd9c415e68870f13c370127c3ff5b53 Mon Sep 17 00:00:00 2001 From: Tabito Hara <105637744+tabito-hara@users.noreply.github.com> Date: Fri, 15 Aug 2025 23:33:58 +0900 Subject: [PATCH 1295/1301] Apply suggestions from code review Co-authored-by: Kit Ewbank --- .changelog/43886.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.changelog/43886.txt b/.changelog/43886.txt index dd6f0e341598..36421993ebbf 100644 --- a/.changelog/43886.txt +++ b/.changelog/43886.txt @@ -3,9 +3,9 @@ resource/aws_ecr_repository_creation_template: Add `image_tag_mutability_exclusi ``` ```release-note:enhancement -data-source/aws_ecr_repository_creation_template: Add `image_tag_mutability_exclusion_filter` block +data-source/aws_ecr_repository_creation_template: Add `image_tag_mutability_exclusion_filter` attribute ``` ```release-note:enhancement -data-source/aws_ecr_repository: Add `image_tag_mutability_exclusion_filter` block +data-source/aws_ecr_repository: Add `image_tag_mutability_exclusion_filter` attribute ``` From cf467e8cef5164d9920c690e757012d967a9de41 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:59 -0400 Subject: [PATCH 1296/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - wafv2. --- internal/service/wafv2/ip_set.go | 2 +- internal/service/wafv2/regex_pattern_set.go | 2 +- internal/service/wafv2/rule_group.go | 4 ++-- internal/service/wafv2/web_acl.go | 4 ++-- internal/service/wafv2/web_acl_association.go | 2 +- internal/service/wafv2/web_acl_rule_group_association.go | 6 +++--- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/internal/service/wafv2/ip_set.go b/internal/service/wafv2/ip_set.go index 6bc74a860e86..3e01e46c9191 100644 --- a/internal/service/wafv2/ip_set.go +++ b/internal/service/wafv2/ip_set.go @@ -249,7 +249,7 @@ func resourceIPSetDelete(ctx context.Context, d *schema.ResourceData, meta any) const ( timeout = 5 * time.Minute ) - _, err := tfresource.RetryWhenIsA[*awstypes.WAFAssociatedItemException](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.WAFAssociatedItemException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.DeleteIPSet(ctx, input) }) diff --git a/internal/service/wafv2/regex_pattern_set.go b/internal/service/wafv2/regex_pattern_set.go index ebbdf94a7cc5..9119a0d8b538 100644 --- a/internal/service/wafv2/regex_pattern_set.go +++ b/internal/service/wafv2/regex_pattern_set.go @@ -228,7 +228,7 @@ func resourceRegexPatternSetDelete(ctx context.Context, d *schema.ResourceData, const ( timeout = 5 * time.Minute ) - _, err := tfresource.RetryWhenIsA[*awstypes.WAFAssociatedItemException](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.WAFAssociatedItemException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.DeleteRegexPatternSet(ctx, input) }) diff --git a/internal/service/wafv2/rule_group.go b/internal/service/wafv2/rule_group.go index 81d4314f28bf..89cc54d2c0e7 100644 --- a/internal/service/wafv2/rule_group.go +++ b/internal/service/wafv2/rule_group.go @@ -197,7 +197,7 @@ func resourceRuleGroupCreate(ctx context.Context, d *schema.ResourceData, meta a const ( timeout = 5 * time.Minute ) - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.WAFUnavailableEntityException](ctx, timeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.WAFUnavailableEntityException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.CreateRuleGroup(ctx, input) }) @@ -288,7 +288,7 @@ func resourceRuleGroupUpdate(ctx context.Context, d *schema.ResourceData, meta a const ( timeout = 5 * time.Minute ) - _, err := tfresource.RetryWhenIsA[*awstypes.WAFUnavailableEntityException](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.WAFUnavailableEntityException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.UpdateRuleGroup(ctx, input) }) diff --git a/internal/service/wafv2/web_acl.go b/internal/service/wafv2/web_acl.go index 0a96394156b3..a4a3a9222015 100644 --- a/internal/service/wafv2/web_acl.go +++ b/internal/service/wafv2/web_acl.go @@ -305,7 +305,7 @@ func resourceWebACLCreate(ctx context.Context, d *schema.ResourceData, meta any) const ( timeout = 5 * time.Minute ) - outputRaw, err := tfresource.RetryWhenIsA[*awstypes.WAFUnavailableEntityException](ctx, timeout, func() (any, error) { + outputRaw, err := tfresource.RetryWhenIsA[any, *awstypes.WAFUnavailableEntityException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.CreateWebACL(ctx, input) }) @@ -449,7 +449,7 @@ func resourceWebACLUpdate(ctx context.Context, d *schema.ResourceData, meta any) const ( timeout = 5 * time.Minute ) - _, err := tfresource.RetryWhenIsA[*awstypes.WAFUnavailableEntityException](ctx, timeout, func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *awstypes.WAFUnavailableEntityException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.UpdateWebACL(ctx, input) }) diff --git a/internal/service/wafv2/web_acl_association.go b/internal/service/wafv2/web_acl_association.go index 88aae4c21385..a677893798df 100644 --- a/internal/service/wafv2/web_acl_association.go +++ b/internal/service/wafv2/web_acl_association.go @@ -78,7 +78,7 @@ func resourceWebACLAssociationCreate(ctx context.Context, d *schema.ResourceData } log.Printf("[INFO] Creating WAFv2 WebACL Association: %s", d.Id()) - if _, err = tfresource.RetryWhenIsA[*awstypes.WAFUnavailableEntityException](ctx, d.Timeout(schema.TimeoutCreate), func() (any, error) { + if _, err = tfresource.RetryWhenIsA[any, *awstypes.WAFUnavailableEntityException](ctx, d.Timeout(schema.TimeoutCreate), func(ctx context.Context) (any, error) { return conn.AssociateWebACL(ctx, input) }); err != nil { return sdkdiag.AppendErrorf(diags, "creating WAFv2 WebACL Association (%s): %s", id, err) diff --git a/internal/service/wafv2/web_acl_rule_group_association.go b/internal/service/wafv2/web_acl_rule_group_association.go index 94ec5d8a771e..a21361204a9c 100644 --- a/internal/service/wafv2/web_acl_rule_group_association.go +++ b/internal/service/wafv2/web_acl_rule_group_association.go @@ -629,7 +629,7 @@ func (r *resourceWebACLRuleGroupAssociation) Create(ctx context.Context, req res } const timeout = 5 * time.Minute - _, err = tfresource.RetryWhenIsA[*awstypes.WAFUnavailableEntityException](ctx, timeout, func() (any, error) { + _, err = tfresource.RetryWhenIsA[any, *awstypes.WAFUnavailableEntityException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.UpdateWebACL(ctx, updateInput) }) @@ -952,7 +952,7 @@ func (r *resourceWebACLRuleGroupAssociation) Update(ctx context.Context, req res } updateTimeout := r.UpdateTimeout(ctx, plan.Timeouts) - _, err = tfresource.RetryWhenIsA[*awstypes.WAFUnavailableEntityException](ctx, updateTimeout, func() (any, error) { + _, err = tfresource.RetryWhenIsA[any, *awstypes.WAFUnavailableEntityException](ctx, updateTimeout, func(ctx context.Context) (any, error) { return conn.UpdateWebACL(ctx, updateInput) }) @@ -1043,7 +1043,7 @@ func (r *resourceWebACLRuleGroupAssociation) Delete(ctx context.Context, req res } const timeout = 5 * time.Minute - _, err = tfresource.RetryWhenIsA[*awstypes.WAFUnavailableEntityException](ctx, timeout, func() (any, error) { + _, err = tfresource.RetryWhenIsA[any, *awstypes.WAFUnavailableEntityException](ctx, timeout, func(ctx context.Context) (any, error) { return conn.UpdateWebACL(ctx, updateInput) }) From 16d89116f856eace88e95a9a16093e726ed19596 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Fri, 15 Aug 2025 10:33:59 -0400 Subject: [PATCH 1297/1301] Add 'context.Context' arg to function called by 'tfresource.RetryWhenIsA' - workspaces. --- internal/service/workspaces/directory.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/service/workspaces/directory.go b/internal/service/workspaces/directory.go index 4323ba6a2ef0..7e481847bea2 100644 --- a/internal/service/workspaces/directory.go +++ b/internal/service/workspaces/directory.go @@ -384,8 +384,8 @@ func resourceDirectoryCreate(ctx context.Context, d *schema.ResourceData, meta a const ( timeout = 2 * time.Minute ) - output, err := tfresource.RetryWhenIsA[*types.InvalidResourceStateException](ctx, timeout, - func() (any, error) { + output, err := tfresource.RetryWhenIsA[any, *types.InvalidResourceStateException](ctx, timeout, + func(ctx context.Context) (any, error) { return conn.RegisterWorkspaceDirectory(ctx, &input) }) @@ -675,8 +675,8 @@ func resourceDirectoryDelete(ctx context.Context, d *schema.ResourceData, meta a const ( timeout = 2 * time.Minute ) - _, err := tfresource.RetryWhenIsA[*types.InvalidResourceStateException](ctx, timeout, - func() (any, error) { + _, err := tfresource.RetryWhenIsA[any, *types.InvalidResourceStateException](ctx, timeout, + func(ctx context.Context) (any, error) { return conn.DeregisterWorkspaceDirectory(ctx, &input) }) From 4fba75280d895544a083c34c364f598c648e09c7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 15 Aug 2025 10:42:19 -0400 Subject: [PATCH 1298/1301] build(deps): bump the aws-sdk-go-v2 group across 1 directory with 10 updates (#43904) * build(deps): bump the aws-sdk-go-v2 group across 1 directory with 10 updates Bumps the aws-sdk-go-v2 group with 10 updates in the / directory: | Package | From | To | | --- | --- | --- | | [github.com/aws/aws-sdk-go-v2/service/directconnect](https://github.com/aws/aws-sdk-go-v2) | `1.35.0` | `1.36.0` | | [github.com/aws/aws-sdk-go-v2/service/dynamodb](https://github.com/aws/aws-sdk-go-v2) | `1.47.0` | `1.48.0` | | [github.com/aws/aws-sdk-go-v2/service/ec2](https://github.com/aws/aws-sdk-go-v2) | `1.243.0` | `1.244.0` | | [github.com/aws/aws-sdk-go-v2/service/fsx](https://github.com/aws/aws-sdk-go-v2) | `1.59.0` | `1.60.0` | | [github.com/aws/aws-sdk-go-v2/service/glue](https://github.com/aws/aws-sdk-go-v2) | `1.124.0` | `1.125.0` | | [github.com/aws/aws-sdk-go-v2/service/guardduty](https://github.com/aws/aws-sdk-go-v2) | `1.61.0` | `1.62.0` | | [github.com/aws/aws-sdk-go-v2/service/medialive](https://github.com/aws/aws-sdk-go-v2) | `1.79.0` | `1.80.0` | | [github.com/aws/aws-sdk-go-v2/service/pcs](https://github.com/aws/aws-sdk-go-v2) | `1.10.0` | `1.11.0` | | [github.com/aws/aws-sdk-go-v2/service/servicediscovery](https://github.com/aws/aws-sdk-go-v2) | `1.38.0` | `1.39.0` | | [github.com/aws/aws-sdk-go-v2/service/workspaces](https://github.com/aws/aws-sdk-go-v2) | `1.61.0` | `1.62.0` | Updates `github.com/aws/aws-sdk-go-v2/service/directconnect` from 1.35.0 to 1.36.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.35.0...v1.36.0) Updates `github.com/aws/aws-sdk-go-v2/service/dynamodb` from 1.47.0 to 1.48.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.47.0...service/s3/v1.48.0) Updates `github.com/aws/aws-sdk-go-v2/service/ec2` from 1.243.0 to 1.244.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/ec2/v1.243.0...service/ec2/v1.244.0) Updates `github.com/aws/aws-sdk-go-v2/service/fsx` from 1.59.0 to 1.60.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.59.0...service/s3/v1.60.0) Updates `github.com/aws/aws-sdk-go-v2/service/glue` from 1.124.0 to 1.125.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/ec2/v1.124.0...service/ec2/v1.125.0) Updates `github.com/aws/aws-sdk-go-v2/service/guardduty` from 1.61.0 to 1.62.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.61.0...service/s3/v1.62.0) Updates `github.com/aws/aws-sdk-go-v2/service/medialive` from 1.79.0 to 1.80.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.79.0...service/s3/v1.80.0) Updates `github.com/aws/aws-sdk-go-v2/service/pcs` from 1.10.0 to 1.11.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/v1.11.0/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.10.0...v1.11.0) Updates `github.com/aws/aws-sdk-go-v2/service/servicediscovery` from 1.38.0 to 1.39.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.38.0...service/s3/v1.39.0) Updates `github.com/aws/aws-sdk-go-v2/service/workspaces` from 1.61.0 to 1.62.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.61.0...service/s3/v1.62.0) --- updated-dependencies: - dependency-name: github.com/aws/aws-sdk-go-v2/service/directconnect dependency-version: 1.36.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/dynamodb dependency-version: 1.48.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/ec2 dependency-version: 1.244.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/fsx dependency-version: 1.60.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/glue dependency-version: 1.125.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/guardduty dependency-version: 1.62.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/medialive dependency-version: 1.80.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/pcs dependency-version: 1.11.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/servicediscovery dependency-version: 1.39.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 - dependency-name: github.com/aws/aws-sdk-go-v2/service/workspaces dependency-version: 1.62.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: aws-sdk-go-v2 ... Signed-off-by: dependabot[bot] * chore: make clean-tidy --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jared Baker --- go.mod | 20 ++++++++++---------- go.sum | 40 ++++++++++++++++++++-------------------- tools/tfsdk2fw/go.mod | 20 ++++++++++---------- tools/tfsdk2fw/go.sum | 40 ++++++++++++++++++++-------------------- 4 files changed, 60 insertions(+), 60 deletions(-) diff --git a/go.mod b/go.mod index 0ed65fa0e03f..1716d28e64b5 100644 --- a/go.mod +++ b/go.mod @@ -95,15 +95,15 @@ require ( github.com/aws/aws-sdk-go-v2/service/detective v1.36.0 github.com/aws/aws-sdk-go-v2/service/devicefarm v1.34.0 github.com/aws/aws-sdk-go-v2/service/devopsguru v1.38.0 - github.com/aws/aws-sdk-go-v2/service/directconnect v1.35.0 + github.com/aws/aws-sdk-go-v2/service/directconnect v1.36.0 github.com/aws/aws-sdk-go-v2/service/directoryservice v1.35.0 github.com/aws/aws-sdk-go-v2/service/dlm v1.33.0 github.com/aws/aws-sdk-go-v2/service/docdb v1.45.0 github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.18.0 github.com/aws/aws-sdk-go-v2/service/drs v1.34.0 github.com/aws/aws-sdk-go-v2/service/dsql v1.9.0 - github.com/aws/aws-sdk-go-v2/service/dynamodb v1.47.0 - github.com/aws/aws-sdk-go-v2/service/ec2 v1.243.0 + github.com/aws/aws-sdk-go-v2/service/dynamodb v1.48.0 + github.com/aws/aws-sdk-go-v2/service/ec2 v1.244.0 github.com/aws/aws-sdk-go-v2/service/ecr v1.49.0 github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.36.0 github.com/aws/aws-sdk-go-v2/service/ecs v1.63.0 @@ -125,15 +125,15 @@ require ( github.com/aws/aws-sdk-go-v2/service/firehose v1.40.0 github.com/aws/aws-sdk-go-v2/service/fis v1.36.0 github.com/aws/aws-sdk-go-v2/service/fms v1.43.0 - github.com/aws/aws-sdk-go-v2/service/fsx v1.59.0 + github.com/aws/aws-sdk-go-v2/service/fsx v1.60.0 github.com/aws/aws-sdk-go-v2/service/gamelift v1.45.0 github.com/aws/aws-sdk-go-v2/service/glacier v1.30.0 github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.33.0 - github.com/aws/aws-sdk-go-v2/service/glue v1.124.0 + github.com/aws/aws-sdk-go-v2/service/glue v1.125.0 github.com/aws/aws-sdk-go-v2/service/grafana v1.30.0 github.com/aws/aws-sdk-go-v2/service/greengrass v1.31.0 github.com/aws/aws-sdk-go-v2/service/groundstation v1.36.0 - github.com/aws/aws-sdk-go-v2/service/guardduty v1.61.0 + github.com/aws/aws-sdk-go-v2/service/guardduty v1.62.0 github.com/aws/aws-sdk-go-v2/service/healthlake v1.33.0 github.com/aws/aws-sdk-go-v2/service/iam v1.46.0 github.com/aws/aws-sdk-go-v2/service/identitystore v1.31.0 @@ -167,7 +167,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/macie2 v1.48.0 github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.43.0 github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.80.0 - github.com/aws/aws-sdk-go-v2/service/medialive v1.79.0 + github.com/aws/aws-sdk-go-v2/service/medialive v1.80.0 github.com/aws/aws-sdk-go-v2/service/mediapackage v1.38.0 github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.29.0 github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.38.0 @@ -192,7 +192,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/outposts v1.55.0 github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.22.0 github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.14.0 - github.com/aws/aws-sdk-go-v2/service/pcs v1.10.0 + github.com/aws/aws-sdk-go-v2/service/pcs v1.11.0 github.com/aws/aws-sdk-go-v2/service/pinpoint v1.38.0 github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.23.0 github.com/aws/aws-sdk-go-v2/service/pipes v1.22.0 @@ -234,7 +234,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.28.0 github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.37.0 github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.34.0 - github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.38.0 + github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.39.0 github.com/aws/aws-sdk-go-v2/service/servicequotas v1.31.0 github.com/aws/aws-sdk-go-v2/service/ses v1.33.0 github.com/aws/aws-sdk-go-v2/service/sesv2 v1.51.0 @@ -266,7 +266,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/wafregional v1.29.0 github.com/aws/aws-sdk-go-v2/service/wafv2 v1.66.0 github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.38.0 - github.com/aws/aws-sdk-go-v2/service/workspaces v1.61.0 + github.com/aws/aws-sdk-go-v2/service/workspaces v1.62.0 github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.31.0 github.com/aws/aws-sdk-go-v2/service/xray v1.34.0 github.com/aws/smithy-go v1.22.5 diff --git a/go.sum b/go.sum index 1dd77f122e01..59c9e607fc31 100644 --- a/go.sum +++ b/go.sum @@ -201,8 +201,8 @@ github.com/aws/aws-sdk-go-v2/service/devicefarm v1.34.0 h1:zvhsIkUZOol3DwpcvFl/y github.com/aws/aws-sdk-go-v2/service/devicefarm v1.34.0/go.mod h1:3QfEUV+KuDYX+oOpu86CUe1/m9yVBO8Z+72OLmPGsWA= github.com/aws/aws-sdk-go-v2/service/devopsguru v1.38.0 h1:+yQPtAOwzsA/4eIT1oGcZu30dljvlCNec2pGOPUsw4A= github.com/aws/aws-sdk-go-v2/service/devopsguru v1.38.0/go.mod h1:yfBgovuMZJiyeD7iv6LNn45JYSLLWoNjALM0OPPf23I= -github.com/aws/aws-sdk-go-v2/service/directconnect v1.35.0 h1:6FJwZjdnKtDCPb5oH0DY2NMIOiMlw/srC7H0P5TZWbE= -github.com/aws/aws-sdk-go-v2/service/directconnect v1.35.0/go.mod h1:nfTthF0vgdEKFt79wWB4mdX8YuLq2slQxG+mv3U+rmA= +github.com/aws/aws-sdk-go-v2/service/directconnect v1.36.0 h1:2ol44vp1EY9Y4IyhWCpwcjZ2KOEl84r29q0bpyvykfo= +github.com/aws/aws-sdk-go-v2/service/directconnect v1.36.0/go.mod h1:nfTthF0vgdEKFt79wWB4mdX8YuLq2slQxG+mv3U+rmA= github.com/aws/aws-sdk-go-v2/service/directoryservice v1.35.0 h1:raC54NZ3nBlLL8AJgcH4jcI6tM0bPm2gxVk5svtN1hw= github.com/aws/aws-sdk-go-v2/service/directoryservice v1.35.0/go.mod h1:8ibkf4LivDOjEESETtUUWPVNKBGALuKQ8ApPNNJvQBU= github.com/aws/aws-sdk-go-v2/service/dlm v1.33.0 h1:akYzmgxmrLRoKJ8USAoiCf8OANELsIkFAx66QFaq/gk= @@ -215,10 +215,10 @@ github.com/aws/aws-sdk-go-v2/service/drs v1.34.0 h1:Vt2ZQQQEs+OS9bvrnHZiL9TnTXQr github.com/aws/aws-sdk-go-v2/service/drs v1.34.0/go.mod h1:E6H0jItb5XS0fk9Mb5OXU6tSoCoGnnWcXT3vaqTEB8o= github.com/aws/aws-sdk-go-v2/service/dsql v1.9.0 h1:AWC9tLObLqxSeyolw7aug3PxEnU7S9oNqatToa+8XkI= github.com/aws/aws-sdk-go-v2/service/dsql v1.9.0/go.mod h1:v4koXz6cYLm9p9kT2iYCcLCxxDkX8JFg3UBElyXB80I= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.47.0 h1:A5zeikrrAgz3YtNzhMat4K8hK/CFzOjFKLVk8pI7Cz8= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.47.0/go.mod h1:tMQ/Edfn5xLcBFSVd3JDreJPias8GqBq0dVbCbMz9vs= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.243.0 h1:s7mU5Zfa1ksg86BGjYKU03Bs63m5MY1ps4jOZFayBwM= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.243.0/go.mod h1:EeWmteKqZjaMj45MUmPET1SisFI+HkqWIRQoyjMivcc= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.48.0 h1:6QbNrD5/LaVqsbvw+XZkUwRfJuPh11Y6cmUT/Umva2o= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.48.0/go.mod h1:tMQ/Edfn5xLcBFSVd3JDreJPias8GqBq0dVbCbMz9vs= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.244.0 h1:KfETrpt7yv2nkSrjOltgmKyAl8scbzYc4TFtZeoV6uc= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.244.0/go.mod h1:EeWmteKqZjaMj45MUmPET1SisFI+HkqWIRQoyjMivcc= github.com/aws/aws-sdk-go-v2/service/ecr v1.49.0 h1:NgkSYzgM3UhdSrXUKkl49FhbIPpNguZE4EXEGRhDcEU= github.com/aws/aws-sdk-go-v2/service/ecr v1.49.0/go.mod h1:bi1dAg6vk8KC8nyf6DjQ3dkNJbzTirMSmZHbcRNa2vE= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.36.0 h1:8GcatvIKYx5WkwjwY4H+K7egBHOddC3wwS6fIbpOUlQ= @@ -261,24 +261,24 @@ github.com/aws/aws-sdk-go-v2/service/fis v1.36.0 h1:zsDCgJ6lWocX4wArsCQre2A92JzB github.com/aws/aws-sdk-go-v2/service/fis v1.36.0/go.mod h1:OOOhb7pKoJhZKCVzheRRd+aPKv9Ep+zNUPQtfcoxP5M= github.com/aws/aws-sdk-go-v2/service/fms v1.43.0 h1:tTeH6402fy5Z8JHuUO6aL2yn5WFzWSKF6epxYvIPAMs= github.com/aws/aws-sdk-go-v2/service/fms v1.43.0/go.mod h1:YtgJpTqlpa7n71B9snaa05vHND7UbQyOHjU4zouPpUM= -github.com/aws/aws-sdk-go-v2/service/fsx v1.59.0 h1:+EESGw/7+Sxr1ISwKdbwlEBDY+w9TZSkpe+jhZnGDTk= -github.com/aws/aws-sdk-go-v2/service/fsx v1.59.0/go.mod h1:tUva+sOgmPwfMu02pXdg+zKO02Zcu812xG8doKd7ogA= +github.com/aws/aws-sdk-go-v2/service/fsx v1.60.0 h1:whgqtOX1XdLhHidRX5EYA1VrY1qtb+/+eV7GrUSA1QY= +github.com/aws/aws-sdk-go-v2/service/fsx v1.60.0/go.mod h1:tUva+sOgmPwfMu02pXdg+zKO02Zcu812xG8doKd7ogA= github.com/aws/aws-sdk-go-v2/service/gamelift v1.45.0 h1:JdlVzc51kIkdne4ilxnHAfKfXyhzkJ3eYrfZwk38j/k= github.com/aws/aws-sdk-go-v2/service/gamelift v1.45.0/go.mod h1:j6XU2uooS9YUEfpviJM3f/TFtGlBh/yYHUMhO82XT3o= github.com/aws/aws-sdk-go-v2/service/glacier v1.30.0 h1:GILchKM1cgGoIjYEYh3oV2o4Xy4v745NtPCo5WIhLFk= github.com/aws/aws-sdk-go-v2/service/glacier v1.30.0/go.mod h1:yqs+luUVTNkd9iVIstDEnJ7j0XReWABgJmTDVIhxBGc= github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.33.0 h1:iyNvCA8OSZDuSZktR0kPL2wZbuCM4X1g5R0TyMMmVLI= github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.33.0/go.mod h1:u4X7GrZWh5nMBiGkJPJoNaDZQvjikjCoPTf7rg0vKpc= -github.com/aws/aws-sdk-go-v2/service/glue v1.124.0 h1:g879RjQHSsIDMeAZNLM/x7Iw4BfCShOmU/OPUc0JaPU= -github.com/aws/aws-sdk-go-v2/service/glue v1.124.0/go.mod h1:xDM3DkasatX1hkG/dHQjh5F/vAYL7fsvuas0SgofNc4= +github.com/aws/aws-sdk-go-v2/service/glue v1.125.0 h1:yhqWto0e2E7V+XtYOsHryl2/GH/ugQRecoap3Ddeom0= +github.com/aws/aws-sdk-go-v2/service/glue v1.125.0/go.mod h1:xDM3DkasatX1hkG/dHQjh5F/vAYL7fsvuas0SgofNc4= github.com/aws/aws-sdk-go-v2/service/grafana v1.30.0 h1:q8igUjHYqbjskJxA5CT4uxCMEYD9i4uV2MMSd4PMR7I= github.com/aws/aws-sdk-go-v2/service/grafana v1.30.0/go.mod h1:LYAjxQeHmDeDHajiAQofIQLFzUfioTLXNl79+9olIkU= github.com/aws/aws-sdk-go-v2/service/greengrass v1.31.0 h1:3cELzkqYTy1EEn5kbr5jXfzVaW3ha+5HTuNe7053VFE= github.com/aws/aws-sdk-go-v2/service/greengrass v1.31.0/go.mod h1:yHdROXdauuEdWsTTuOZ2MCkw1MC352BJvHbzhvHjOJY= github.com/aws/aws-sdk-go-v2/service/groundstation v1.36.0 h1:aTtuwsQIMHjO9/FFeRvj5SQ7vbBlmFxHXhySY8TNavY= github.com/aws/aws-sdk-go-v2/service/groundstation v1.36.0/go.mod h1:4t0gY0t3e/xdxDoCxIUEXZkhg+Mp503K64+cs/JE65A= -github.com/aws/aws-sdk-go-v2/service/guardduty v1.61.0 h1:cueeIOu1h4Htsw8PPdL/7lez7YG072TeBS2kdtvv4L4= -github.com/aws/aws-sdk-go-v2/service/guardduty v1.61.0/go.mod h1:0RpdeWC47aAKjRQhmFkWB7AU7acRQ7t3C3sox93F69Y= +github.com/aws/aws-sdk-go-v2/service/guardduty v1.62.0 h1:y+d7el0K+Vy5/YcxYst6uIHHFurCw0jc0jN3eHEMWxI= +github.com/aws/aws-sdk-go-v2/service/guardduty v1.62.0/go.mod h1:0RpdeWC47aAKjRQhmFkWB7AU7acRQ7t3C3sox93F69Y= github.com/aws/aws-sdk-go-v2/service/healthlake v1.33.0 h1:oVJU7GYNUPjlJN8kv8E1BI0MrI0Zif57BZvXUAOIWMw= github.com/aws/aws-sdk-go-v2/service/healthlake v1.33.0/go.mod h1:nRqPmywyo+J7YWO/z4oq+qxn10C6IncV40ALIiQcMxY= github.com/aws/aws-sdk-go-v2/service/iam v1.46.0 h1:bJgrqPT2vy+OrJpSeVfZ4e4zaD/EVdcq+5yxDtUOql0= @@ -355,8 +355,8 @@ github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.43.0 h1:ek+HR+h5mzH8ZW9yBOa github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.43.0/go.mod h1:+h6ngXuktUq919fdzDtWspFrg4Y+C15VlIra9CGVw1w= github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.80.0 h1:sZ1KON5k/tyf3xbZKDW/gl4nHEm/84zDpXGsA0/7LcI= github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.80.0/go.mod h1:QOmlr6sjqSPtQXGhi7hhj+ihkU47qs3ZTIh3vTbqX7o= -github.com/aws/aws-sdk-go-v2/service/medialive v1.79.0 h1:9EmuTJkV2qQnD9/2qRsYTL9lh5pe8egpLf5JLd6GIFc= -github.com/aws/aws-sdk-go-v2/service/medialive v1.79.0/go.mod h1:ztAXVYzpWC8UtMzvZ5VPBmytv9exEv6BsAq7Z2oSJK8= +github.com/aws/aws-sdk-go-v2/service/medialive v1.80.0 h1:7zjskfsMrJGBs6y65V2TZG1xSUxWvZYnFiwBjiRN9F4= +github.com/aws/aws-sdk-go-v2/service/medialive v1.80.0/go.mod h1:ztAXVYzpWC8UtMzvZ5VPBmytv9exEv6BsAq7Z2oSJK8= github.com/aws/aws-sdk-go-v2/service/mediapackage v1.38.0 h1:te/oZcPDK1WkmGy8tE0zoxTE5aEaEqZ/79jdTDxjyb4= github.com/aws/aws-sdk-go-v2/service/mediapackage v1.38.0/go.mod h1:LizOnQyvCXr58pqNFq6Fijjzg6o38w5bnxxhnfBAQsI= github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.29.0 h1:wBaXl/5Gxvc3dgiPFNFWw1QEL4ktn3bD+Tb/lU5zGIw= @@ -405,8 +405,8 @@ github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.22.0 h1:VOGIH/MtfO0a github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.22.0/go.mod h1:sAThYxAnlQ/hkntlxj/KcD/8T0rShXIx0xA42eMiJe0= github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.14.0 h1:IlYnE1ZfFKisSY2tOp6jgKBXZoNIfhHPYzBDPfwmY/0= github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.14.0/go.mod h1:eVYoJ/sxF8Zc3DEo+O3CNpCuEYutm16FB0vAtFLaGgk= -github.com/aws/aws-sdk-go-v2/service/pcs v1.10.0 h1:SbogIySzcA7/kKxW1jyKq9w3xOlwIvPuNZArUqaDpbM= -github.com/aws/aws-sdk-go-v2/service/pcs v1.10.0/go.mod h1:B7H2wug0rXya8R4w8u2gw+NvbPjd/3W/28dCkpYUmaE= +github.com/aws/aws-sdk-go-v2/service/pcs v1.11.0 h1:KXl52JHAz09QVa9tymsKhofwoNRqmtdz8SkKLZa79HY= +github.com/aws/aws-sdk-go-v2/service/pcs v1.11.0/go.mod h1:B7H2wug0rXya8R4w8u2gw+NvbPjd/3W/28dCkpYUmaE= github.com/aws/aws-sdk-go-v2/service/pinpoint v1.38.0 h1:2N2oZEWjjUWpqqOSNEgpd63ETgtp8UHFhMACk7ByM2I= github.com/aws/aws-sdk-go-v2/service/pinpoint v1.38.0/go.mod h1:i3U6njVpG1uB9l9ueSttsU4+0NdH8V0U8QKjNdMvdUM= github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.23.0 h1:BtpUqF+QdW6NYowWLd9LYYKO+cwxMpb1XpSYX6a8dMg= @@ -489,8 +489,8 @@ github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.37.0 h1:c9obaYL+TZzWwZf59 github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.37.0/go.mod h1:r7nLneDqXu0JsahY3BLtRYyQhsIBloK9O2KLYbSvHU8= github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.34.0 h1:kSiJ+KBflpGStdvVB8osVwzglb9QOcCGeaNeveHUAuo= github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.34.0/go.mod h1:6QMbXmJiAJ/+xLTDMZJUq36LdNsMXKj9cH5MeG69a5c= -github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.38.0 h1:zQ78zrO5o29Sx+pPK2AYaf6WY2tvmZ2DQcYnX9NfhNE= -github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.38.0/go.mod h1:nnG6Pe7Qu1Bv/mE3eL/3gCiQYrAWyXFXDOtOKcC7eh0= +github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.39.0 h1:UjC4316d1/eUrPGYZxs1nDdA2yD7VgsB6Ep7HQmX1xE= +github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.39.0/go.mod h1:nnG6Pe7Qu1Bv/mE3eL/3gCiQYrAWyXFXDOtOKcC7eh0= github.com/aws/aws-sdk-go-v2/service/servicequotas v1.31.0 h1:IqZZ0dHv/NhExc+8HI6CdgTZLz7Yjn9OaExTmFX4UX8= github.com/aws/aws-sdk-go-v2/service/servicequotas v1.31.0/go.mod h1:q+dUus04tyoWH3qZxKzu68bfL4MFs5ahSTSkyFIqmFQ= github.com/aws/aws-sdk-go-v2/service/ses v1.33.0 h1:3BEXxnGZpqGWVFL8lntsAtWjT19EtQp2uUmXS0+wWpA= @@ -555,8 +555,8 @@ github.com/aws/aws-sdk-go-v2/service/wafv2 v1.66.0 h1:zEbaP92GXITM2TrYiw4mNer/Vi github.com/aws/aws-sdk-go-v2/service/wafv2 v1.66.0/go.mod h1:EPNcb1lt/lfWkpjINo7eP5AwfvlG8ioVT9frx5w5k9s= github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.38.0 h1:5+II3BO8cotBo0VNs3Ix2EakRC+PP//loHRaEKDQUNE= github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.38.0/go.mod h1:ObNr9KblAM/kLbDQAhRAqmi8sY5CPdEd9VqeyZxU79Y= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.61.0 h1:MzTVNx65GKhj9mLLbC7AIXCEBnucyiDB1jAnp4Vye2A= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.61.0/go.mod h1:AJ7eKGcsgQ07kXJ4YWAf7PTFOvkoHc0Voh7CkAj9Bqk= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.62.0 h1:RLGywWWnKeGJkWlg1Su2jH7DCC7y7QD1zbgGU0IVmZY= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.62.0/go.mod h1:AJ7eKGcsgQ07kXJ4YWAf7PTFOvkoHc0Voh7CkAj9Bqk= github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.31.0 h1:n4HU/6mkGI9nTgt5Q80hvLMWv4HeXwfx51Ux5lVkRTY= github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.31.0/go.mod h1:fCtcQlrmCiCA0BRxpkhrOCFPGDSi7YNw7IV+NS2bKyY= github.com/aws/aws-sdk-go-v2/service/xray v1.34.0 h1:gFPqTmIg8UI0CcW0pk4LXT2BQK2osloIE6xf46p2144= diff --git a/tools/tfsdk2fw/go.mod b/tools/tfsdk2fw/go.mod index bd0a86fefb82..7ac0c0862dc7 100644 --- a/tools/tfsdk2fw/go.mod +++ b/tools/tfsdk2fw/go.mod @@ -107,15 +107,15 @@ require ( github.com/aws/aws-sdk-go-v2/service/detective v1.36.0 // indirect github.com/aws/aws-sdk-go-v2/service/devicefarm v1.34.0 // indirect github.com/aws/aws-sdk-go-v2/service/devopsguru v1.38.0 // indirect - github.com/aws/aws-sdk-go-v2/service/directconnect v1.35.0 // indirect + github.com/aws/aws-sdk-go-v2/service/directconnect v1.36.0 // indirect github.com/aws/aws-sdk-go-v2/service/directoryservice v1.35.0 // indirect github.com/aws/aws-sdk-go-v2/service/dlm v1.33.0 // indirect github.com/aws/aws-sdk-go-v2/service/docdb v1.45.0 // indirect github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.18.0 // indirect github.com/aws/aws-sdk-go-v2/service/drs v1.34.0 // indirect github.com/aws/aws-sdk-go-v2/service/dsql v1.9.0 // indirect - github.com/aws/aws-sdk-go-v2/service/dynamodb v1.47.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ec2 v1.243.0 // indirect + github.com/aws/aws-sdk-go-v2/service/dynamodb v1.48.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ec2 v1.244.0 // indirect github.com/aws/aws-sdk-go-v2/service/ecr v1.49.0 // indirect github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.36.0 // indirect github.com/aws/aws-sdk-go-v2/service/ecs v1.63.0 // indirect @@ -137,15 +137,15 @@ require ( github.com/aws/aws-sdk-go-v2/service/firehose v1.40.0 // indirect github.com/aws/aws-sdk-go-v2/service/fis v1.36.0 // indirect github.com/aws/aws-sdk-go-v2/service/fms v1.43.0 // indirect - github.com/aws/aws-sdk-go-v2/service/fsx v1.59.0 // indirect + github.com/aws/aws-sdk-go-v2/service/fsx v1.60.0 // indirect github.com/aws/aws-sdk-go-v2/service/gamelift v1.45.0 // indirect github.com/aws/aws-sdk-go-v2/service/glacier v1.30.0 // indirect github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.33.0 // indirect - github.com/aws/aws-sdk-go-v2/service/glue v1.124.0 // indirect + github.com/aws/aws-sdk-go-v2/service/glue v1.125.0 // indirect github.com/aws/aws-sdk-go-v2/service/grafana v1.30.0 // indirect github.com/aws/aws-sdk-go-v2/service/greengrass v1.31.0 // indirect github.com/aws/aws-sdk-go-v2/service/groundstation v1.36.0 // indirect - github.com/aws/aws-sdk-go-v2/service/guardduty v1.61.0 // indirect + github.com/aws/aws-sdk-go-v2/service/guardduty v1.62.0 // indirect github.com/aws/aws-sdk-go-v2/service/healthlake v1.33.0 // indirect github.com/aws/aws-sdk-go-v2/service/iam v1.46.0 // indirect github.com/aws/aws-sdk-go-v2/service/identitystore v1.31.0 // indirect @@ -184,7 +184,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/macie2 v1.48.0 // indirect github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.43.0 // indirect github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.80.0 // indirect - github.com/aws/aws-sdk-go-v2/service/medialive v1.79.0 // indirect + github.com/aws/aws-sdk-go-v2/service/medialive v1.80.0 // indirect github.com/aws/aws-sdk-go-v2/service/mediapackage v1.38.0 // indirect github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.29.0 // indirect github.com/aws/aws-sdk-go-v2/service/mediapackagevod v1.38.0 // indirect @@ -209,7 +209,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/outposts v1.55.0 // indirect github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.22.0 // indirect github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.14.0 // indirect - github.com/aws/aws-sdk-go-v2/service/pcs v1.10.0 // indirect + github.com/aws/aws-sdk-go-v2/service/pcs v1.11.0 // indirect github.com/aws/aws-sdk-go-v2/service/pinpoint v1.38.0 // indirect github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.23.0 // indirect github.com/aws/aws-sdk-go-v2/service/pipes v1.22.0 // indirect @@ -251,7 +251,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository v1.28.0 // indirect github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.37.0 // indirect github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.34.0 // indirect - github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.38.0 // indirect + github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.39.0 // indirect github.com/aws/aws-sdk-go-v2/service/servicequotas v1.31.0 // indirect github.com/aws/aws-sdk-go-v2/service/ses v1.33.0 // indirect github.com/aws/aws-sdk-go-v2/service/sesv2 v1.51.0 // indirect @@ -284,7 +284,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/wafregional v1.29.0 // indirect github.com/aws/aws-sdk-go-v2/service/wafv2 v1.66.0 // indirect github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.38.0 // indirect - github.com/aws/aws-sdk-go-v2/service/workspaces v1.61.0 // indirect + github.com/aws/aws-sdk-go-v2/service/workspaces v1.62.0 // indirect github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.31.0 // indirect github.com/aws/aws-sdk-go-v2/service/xray v1.34.0 // indirect github.com/aws/smithy-go v1.22.5 // indirect diff --git a/tools/tfsdk2fw/go.sum b/tools/tfsdk2fw/go.sum index 5fc09ac2b61b..7841f0f595a3 100644 --- a/tools/tfsdk2fw/go.sum +++ b/tools/tfsdk2fw/go.sum @@ -201,8 +201,8 @@ github.com/aws/aws-sdk-go-v2/service/devicefarm v1.34.0 h1:zvhsIkUZOol3DwpcvFl/y github.com/aws/aws-sdk-go-v2/service/devicefarm v1.34.0/go.mod h1:3QfEUV+KuDYX+oOpu86CUe1/m9yVBO8Z+72OLmPGsWA= github.com/aws/aws-sdk-go-v2/service/devopsguru v1.38.0 h1:+yQPtAOwzsA/4eIT1oGcZu30dljvlCNec2pGOPUsw4A= github.com/aws/aws-sdk-go-v2/service/devopsguru v1.38.0/go.mod h1:yfBgovuMZJiyeD7iv6LNn45JYSLLWoNjALM0OPPf23I= -github.com/aws/aws-sdk-go-v2/service/directconnect v1.35.0 h1:6FJwZjdnKtDCPb5oH0DY2NMIOiMlw/srC7H0P5TZWbE= -github.com/aws/aws-sdk-go-v2/service/directconnect v1.35.0/go.mod h1:nfTthF0vgdEKFt79wWB4mdX8YuLq2slQxG+mv3U+rmA= +github.com/aws/aws-sdk-go-v2/service/directconnect v1.36.0 h1:2ol44vp1EY9Y4IyhWCpwcjZ2KOEl84r29q0bpyvykfo= +github.com/aws/aws-sdk-go-v2/service/directconnect v1.36.0/go.mod h1:nfTthF0vgdEKFt79wWB4mdX8YuLq2slQxG+mv3U+rmA= github.com/aws/aws-sdk-go-v2/service/directoryservice v1.35.0 h1:raC54NZ3nBlLL8AJgcH4jcI6tM0bPm2gxVk5svtN1hw= github.com/aws/aws-sdk-go-v2/service/directoryservice v1.35.0/go.mod h1:8ibkf4LivDOjEESETtUUWPVNKBGALuKQ8ApPNNJvQBU= github.com/aws/aws-sdk-go-v2/service/dlm v1.33.0 h1:akYzmgxmrLRoKJ8USAoiCf8OANELsIkFAx66QFaq/gk= @@ -215,10 +215,10 @@ github.com/aws/aws-sdk-go-v2/service/drs v1.34.0 h1:Vt2ZQQQEs+OS9bvrnHZiL9TnTXQr github.com/aws/aws-sdk-go-v2/service/drs v1.34.0/go.mod h1:E6H0jItb5XS0fk9Mb5OXU6tSoCoGnnWcXT3vaqTEB8o= github.com/aws/aws-sdk-go-v2/service/dsql v1.9.0 h1:AWC9tLObLqxSeyolw7aug3PxEnU7S9oNqatToa+8XkI= github.com/aws/aws-sdk-go-v2/service/dsql v1.9.0/go.mod h1:v4koXz6cYLm9p9kT2iYCcLCxxDkX8JFg3UBElyXB80I= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.47.0 h1:A5zeikrrAgz3YtNzhMat4K8hK/CFzOjFKLVk8pI7Cz8= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.47.0/go.mod h1:tMQ/Edfn5xLcBFSVd3JDreJPias8GqBq0dVbCbMz9vs= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.243.0 h1:s7mU5Zfa1ksg86BGjYKU03Bs63m5MY1ps4jOZFayBwM= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.243.0/go.mod h1:EeWmteKqZjaMj45MUmPET1SisFI+HkqWIRQoyjMivcc= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.48.0 h1:6QbNrD5/LaVqsbvw+XZkUwRfJuPh11Y6cmUT/Umva2o= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.48.0/go.mod h1:tMQ/Edfn5xLcBFSVd3JDreJPias8GqBq0dVbCbMz9vs= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.244.0 h1:KfETrpt7yv2nkSrjOltgmKyAl8scbzYc4TFtZeoV6uc= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.244.0/go.mod h1:EeWmteKqZjaMj45MUmPET1SisFI+HkqWIRQoyjMivcc= github.com/aws/aws-sdk-go-v2/service/ecr v1.49.0 h1:NgkSYzgM3UhdSrXUKkl49FhbIPpNguZE4EXEGRhDcEU= github.com/aws/aws-sdk-go-v2/service/ecr v1.49.0/go.mod h1:bi1dAg6vk8KC8nyf6DjQ3dkNJbzTirMSmZHbcRNa2vE= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.36.0 h1:8GcatvIKYx5WkwjwY4H+K7egBHOddC3wwS6fIbpOUlQ= @@ -261,24 +261,24 @@ github.com/aws/aws-sdk-go-v2/service/fis v1.36.0 h1:zsDCgJ6lWocX4wArsCQre2A92JzB github.com/aws/aws-sdk-go-v2/service/fis v1.36.0/go.mod h1:OOOhb7pKoJhZKCVzheRRd+aPKv9Ep+zNUPQtfcoxP5M= github.com/aws/aws-sdk-go-v2/service/fms v1.43.0 h1:tTeH6402fy5Z8JHuUO6aL2yn5WFzWSKF6epxYvIPAMs= github.com/aws/aws-sdk-go-v2/service/fms v1.43.0/go.mod h1:YtgJpTqlpa7n71B9snaa05vHND7UbQyOHjU4zouPpUM= -github.com/aws/aws-sdk-go-v2/service/fsx v1.59.0 h1:+EESGw/7+Sxr1ISwKdbwlEBDY+w9TZSkpe+jhZnGDTk= -github.com/aws/aws-sdk-go-v2/service/fsx v1.59.0/go.mod h1:tUva+sOgmPwfMu02pXdg+zKO02Zcu812xG8doKd7ogA= +github.com/aws/aws-sdk-go-v2/service/fsx v1.60.0 h1:whgqtOX1XdLhHidRX5EYA1VrY1qtb+/+eV7GrUSA1QY= +github.com/aws/aws-sdk-go-v2/service/fsx v1.60.0/go.mod h1:tUva+sOgmPwfMu02pXdg+zKO02Zcu812xG8doKd7ogA= github.com/aws/aws-sdk-go-v2/service/gamelift v1.45.0 h1:JdlVzc51kIkdne4ilxnHAfKfXyhzkJ3eYrfZwk38j/k= github.com/aws/aws-sdk-go-v2/service/gamelift v1.45.0/go.mod h1:j6XU2uooS9YUEfpviJM3f/TFtGlBh/yYHUMhO82XT3o= github.com/aws/aws-sdk-go-v2/service/glacier v1.30.0 h1:GILchKM1cgGoIjYEYh3oV2o4Xy4v745NtPCo5WIhLFk= github.com/aws/aws-sdk-go-v2/service/glacier v1.30.0/go.mod h1:yqs+luUVTNkd9iVIstDEnJ7j0XReWABgJmTDVIhxBGc= github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.33.0 h1:iyNvCA8OSZDuSZktR0kPL2wZbuCM4X1g5R0TyMMmVLI= github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.33.0/go.mod h1:u4X7GrZWh5nMBiGkJPJoNaDZQvjikjCoPTf7rg0vKpc= -github.com/aws/aws-sdk-go-v2/service/glue v1.124.0 h1:g879RjQHSsIDMeAZNLM/x7Iw4BfCShOmU/OPUc0JaPU= -github.com/aws/aws-sdk-go-v2/service/glue v1.124.0/go.mod h1:xDM3DkasatX1hkG/dHQjh5F/vAYL7fsvuas0SgofNc4= +github.com/aws/aws-sdk-go-v2/service/glue v1.125.0 h1:yhqWto0e2E7V+XtYOsHryl2/GH/ugQRecoap3Ddeom0= +github.com/aws/aws-sdk-go-v2/service/glue v1.125.0/go.mod h1:xDM3DkasatX1hkG/dHQjh5F/vAYL7fsvuas0SgofNc4= github.com/aws/aws-sdk-go-v2/service/grafana v1.30.0 h1:q8igUjHYqbjskJxA5CT4uxCMEYD9i4uV2MMSd4PMR7I= github.com/aws/aws-sdk-go-v2/service/grafana v1.30.0/go.mod h1:LYAjxQeHmDeDHajiAQofIQLFzUfioTLXNl79+9olIkU= github.com/aws/aws-sdk-go-v2/service/greengrass v1.31.0 h1:3cELzkqYTy1EEn5kbr5jXfzVaW3ha+5HTuNe7053VFE= github.com/aws/aws-sdk-go-v2/service/greengrass v1.31.0/go.mod h1:yHdROXdauuEdWsTTuOZ2MCkw1MC352BJvHbzhvHjOJY= github.com/aws/aws-sdk-go-v2/service/groundstation v1.36.0 h1:aTtuwsQIMHjO9/FFeRvj5SQ7vbBlmFxHXhySY8TNavY= github.com/aws/aws-sdk-go-v2/service/groundstation v1.36.0/go.mod h1:4t0gY0t3e/xdxDoCxIUEXZkhg+Mp503K64+cs/JE65A= -github.com/aws/aws-sdk-go-v2/service/guardduty v1.61.0 h1:cueeIOu1h4Htsw8PPdL/7lez7YG072TeBS2kdtvv4L4= -github.com/aws/aws-sdk-go-v2/service/guardduty v1.61.0/go.mod h1:0RpdeWC47aAKjRQhmFkWB7AU7acRQ7t3C3sox93F69Y= +github.com/aws/aws-sdk-go-v2/service/guardduty v1.62.0 h1:y+d7el0K+Vy5/YcxYst6uIHHFurCw0jc0jN3eHEMWxI= +github.com/aws/aws-sdk-go-v2/service/guardduty v1.62.0/go.mod h1:0RpdeWC47aAKjRQhmFkWB7AU7acRQ7t3C3sox93F69Y= github.com/aws/aws-sdk-go-v2/service/healthlake v1.33.0 h1:oVJU7GYNUPjlJN8kv8E1BI0MrI0Zif57BZvXUAOIWMw= github.com/aws/aws-sdk-go-v2/service/healthlake v1.33.0/go.mod h1:nRqPmywyo+J7YWO/z4oq+qxn10C6IncV40ALIiQcMxY= github.com/aws/aws-sdk-go-v2/service/iam v1.46.0 h1:bJgrqPT2vy+OrJpSeVfZ4e4zaD/EVdcq+5yxDtUOql0= @@ -355,8 +355,8 @@ github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.43.0 h1:ek+HR+h5mzH8ZW9yBOa github.com/aws/aws-sdk-go-v2/service/mediaconnect v1.43.0/go.mod h1:+h6ngXuktUq919fdzDtWspFrg4Y+C15VlIra9CGVw1w= github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.80.0 h1:sZ1KON5k/tyf3xbZKDW/gl4nHEm/84zDpXGsA0/7LcI= github.com/aws/aws-sdk-go-v2/service/mediaconvert v1.80.0/go.mod h1:QOmlr6sjqSPtQXGhi7hhj+ihkU47qs3ZTIh3vTbqX7o= -github.com/aws/aws-sdk-go-v2/service/medialive v1.79.0 h1:9EmuTJkV2qQnD9/2qRsYTL9lh5pe8egpLf5JLd6GIFc= -github.com/aws/aws-sdk-go-v2/service/medialive v1.79.0/go.mod h1:ztAXVYzpWC8UtMzvZ5VPBmytv9exEv6BsAq7Z2oSJK8= +github.com/aws/aws-sdk-go-v2/service/medialive v1.80.0 h1:7zjskfsMrJGBs6y65V2TZG1xSUxWvZYnFiwBjiRN9F4= +github.com/aws/aws-sdk-go-v2/service/medialive v1.80.0/go.mod h1:ztAXVYzpWC8UtMzvZ5VPBmytv9exEv6BsAq7Z2oSJK8= github.com/aws/aws-sdk-go-v2/service/mediapackage v1.38.0 h1:te/oZcPDK1WkmGy8tE0zoxTE5aEaEqZ/79jdTDxjyb4= github.com/aws/aws-sdk-go-v2/service/mediapackage v1.38.0/go.mod h1:LizOnQyvCXr58pqNFq6Fijjzg6o38w5bnxxhnfBAQsI= github.com/aws/aws-sdk-go-v2/service/mediapackagev2 v1.29.0 h1:wBaXl/5Gxvc3dgiPFNFWw1QEL4ktn3bD+Tb/lU5zGIw= @@ -405,8 +405,8 @@ github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.22.0 h1:VOGIH/MtfO0a github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.22.0/go.mod h1:sAThYxAnlQ/hkntlxj/KcD/8T0rShXIx0xA42eMiJe0= github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.14.0 h1:IlYnE1ZfFKisSY2tOp6jgKBXZoNIfhHPYzBDPfwmY/0= github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.14.0/go.mod h1:eVYoJ/sxF8Zc3DEo+O3CNpCuEYutm16FB0vAtFLaGgk= -github.com/aws/aws-sdk-go-v2/service/pcs v1.10.0 h1:SbogIySzcA7/kKxW1jyKq9w3xOlwIvPuNZArUqaDpbM= -github.com/aws/aws-sdk-go-v2/service/pcs v1.10.0/go.mod h1:B7H2wug0rXya8R4w8u2gw+NvbPjd/3W/28dCkpYUmaE= +github.com/aws/aws-sdk-go-v2/service/pcs v1.11.0 h1:KXl52JHAz09QVa9tymsKhofwoNRqmtdz8SkKLZa79HY= +github.com/aws/aws-sdk-go-v2/service/pcs v1.11.0/go.mod h1:B7H2wug0rXya8R4w8u2gw+NvbPjd/3W/28dCkpYUmaE= github.com/aws/aws-sdk-go-v2/service/pinpoint v1.38.0 h1:2N2oZEWjjUWpqqOSNEgpd63ETgtp8UHFhMACk7ByM2I= github.com/aws/aws-sdk-go-v2/service/pinpoint v1.38.0/go.mod h1:i3U6njVpG1uB9l9ueSttsU4+0NdH8V0U8QKjNdMvdUM= github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2 v1.23.0 h1:BtpUqF+QdW6NYowWLd9LYYKO+cwxMpb1XpSYX6a8dMg= @@ -489,8 +489,8 @@ github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.37.0 h1:c9obaYL+TZzWwZf59 github.com/aws/aws-sdk-go-v2/service/servicecatalog v1.37.0/go.mod h1:r7nLneDqXu0JsahY3BLtRYyQhsIBloK9O2KLYbSvHU8= github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.34.0 h1:kSiJ+KBflpGStdvVB8osVwzglb9QOcCGeaNeveHUAuo= github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry v1.34.0/go.mod h1:6QMbXmJiAJ/+xLTDMZJUq36LdNsMXKj9cH5MeG69a5c= -github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.38.0 h1:zQ78zrO5o29Sx+pPK2AYaf6WY2tvmZ2DQcYnX9NfhNE= -github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.38.0/go.mod h1:nnG6Pe7Qu1Bv/mE3eL/3gCiQYrAWyXFXDOtOKcC7eh0= +github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.39.0 h1:UjC4316d1/eUrPGYZxs1nDdA2yD7VgsB6Ep7HQmX1xE= +github.com/aws/aws-sdk-go-v2/service/servicediscovery v1.39.0/go.mod h1:nnG6Pe7Qu1Bv/mE3eL/3gCiQYrAWyXFXDOtOKcC7eh0= github.com/aws/aws-sdk-go-v2/service/servicequotas v1.31.0 h1:IqZZ0dHv/NhExc+8HI6CdgTZLz7Yjn9OaExTmFX4UX8= github.com/aws/aws-sdk-go-v2/service/servicequotas v1.31.0/go.mod h1:q+dUus04tyoWH3qZxKzu68bfL4MFs5ahSTSkyFIqmFQ= github.com/aws/aws-sdk-go-v2/service/ses v1.33.0 h1:3BEXxnGZpqGWVFL8lntsAtWjT19EtQp2uUmXS0+wWpA= @@ -555,8 +555,8 @@ github.com/aws/aws-sdk-go-v2/service/wafv2 v1.66.0 h1:zEbaP92GXITM2TrYiw4mNer/Vi github.com/aws/aws-sdk-go-v2/service/wafv2 v1.66.0/go.mod h1:EPNcb1lt/lfWkpjINo7eP5AwfvlG8ioVT9frx5w5k9s= github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.38.0 h1:5+II3BO8cotBo0VNs3Ix2EakRC+PP//loHRaEKDQUNE= github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.38.0/go.mod h1:ObNr9KblAM/kLbDQAhRAqmi8sY5CPdEd9VqeyZxU79Y= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.61.0 h1:MzTVNx65GKhj9mLLbC7AIXCEBnucyiDB1jAnp4Vye2A= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.61.0/go.mod h1:AJ7eKGcsgQ07kXJ4YWAf7PTFOvkoHc0Voh7CkAj9Bqk= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.62.0 h1:RLGywWWnKeGJkWlg1Su2jH7DCC7y7QD1zbgGU0IVmZY= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.62.0/go.mod h1:AJ7eKGcsgQ07kXJ4YWAf7PTFOvkoHc0Voh7CkAj9Bqk= github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.31.0 h1:n4HU/6mkGI9nTgt5Q80hvLMWv4HeXwfx51Ux5lVkRTY= github.com/aws/aws-sdk-go-v2/service/workspacesweb v1.31.0/go.mod h1:fCtcQlrmCiCA0BRxpkhrOCFPGDSi7YNw7IV+NS2bKyY= github.com/aws/aws-sdk-go-v2/service/xray v1.34.0 h1:gFPqTmIg8UI0CcW0pk4LXT2BQK2osloIE6xf46p2144= From 0fff3e0d0869c076e1888d761755ca8e5650f972 Mon Sep 17 00:00:00 2001 From: changelogbot Date: Fri, 15 Aug 2025 15:51:48 +0000 Subject: [PATCH 1299/1301] Update CHANGELOG.md for #43909 --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a727b90c1f80..42b2fdc0cc44 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,9 @@ ENHANCEMENTS: +* data-source/aws_ecr_repository: Add `image_tag_mutability_exclusion_filter` attribute ([#43886](https://github.com/hashicorp/terraform-provider-aws/issues/43886)) +* data-source/aws_ecr_repository_creation_template: Add `image_tag_mutability_exclusion_filter` attribute ([#43886](https://github.com/hashicorp/terraform-provider-aws/issues/43886)) +* resource/aws_ecr_repository_creation_template: Add `image_tag_mutability_exclusion_filter` configuration block ([#43886](https://github.com/hashicorp/terraform-provider-aws/issues/43886)) * resource/aws_lightsail_static_ip_attachment: Support resource import ([#43874](https://github.com/hashicorp/terraform-provider-aws/issues/43874)) * resource/aws_secretsmanager_secret: Add resource identity support ([#43872](https://github.com/hashicorp/terraform-provider-aws/issues/43872)) * resource/aws_secretsmanager_secret_policy: Add resource identity support ([#43872](https://github.com/hashicorp/terraform-provider-aws/issues/43872)) From 51e2d56e113d1aee6395c8d43ea095dbe837409c Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Fri, 15 Aug 2025 12:27:05 -0400 Subject: [PATCH 1300/1301] docs: document skipping name generator when unused (#43911) --- docs/ai-agent-guides/arn-based-resource-identity.md | 1 + docs/ai-agent-guides/parameterized-resource-identity.md | 1 + 2 files changed, 2 insertions(+) diff --git a/docs/ai-agent-guides/arn-based-resource-identity.md b/docs/ai-agent-guides/arn-based-resource-identity.md index 906004d27110..ae379316880a 100644 --- a/docs/ai-agent-guides/arn-based-resource-identity.md +++ b/docs/ai-agent-guides/arn-based-resource-identity.md @@ -97,6 +97,7 @@ Relates #42984 - Ensure template files are in the correct location (`testdata/tmpl`) - Verify template file names match the resource name - If identity tests are not generated, verify that the `identitytests` generator is being called within the service's `generate.go` file. If it isn't, add the following line to `generate.go` next to the existing `go:generate` directives. +- If a generated test does not reference the `var.rName` variable, add an `// @Testing(generator=false)` annotation to remove it from the generated configuration. ```go //go:generate go run ../../generate/identitytests/main.go diff --git a/docs/ai-agent-guides/parameterized-resource-identity.md b/docs/ai-agent-guides/parameterized-resource-identity.md index b4e4a391ed68..9fde2beb8779 100644 --- a/docs/ai-agent-guides/parameterized-resource-identity.md +++ b/docs/ai-agent-guides/parameterized-resource-identity.md @@ -110,6 +110,7 @@ Relates #42988 - Ensure template files are in the correct location (`testdata/tmpl`) - Verify template file names match the resource name - If identity tests are not generated, verify that the `identitytests` generator is being called within the service's `generate.go` file. If it isn't, add the following line to `generate.go` next to the existing `go:generate` directives. +- If a generated test does not reference the `var.rName` variable, add an `// @Testing(generator=false)` annotation to remove it from the generated configuration. ```go //go:generate go run ../../generate/identitytests/main.go From 8aa7301d5dee2ae4c9f84af59e3c208ac7edef69 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Fri, 15 Aug 2025 13:15:04 -0400 Subject: [PATCH 1301/1301] chore: remove leftover `goreleaser` references (#43915) The AWS provider release process has been migrated to CRT (common release tooling) and therefore no longer requires these workflows or references. --- .github/workflows/copyright.yml | 1 - .github/workflows/snapshot.yml | 43 --------------------------------- docs/dependency-updates.md | 1 - 3 files changed, 45 deletions(-) delete mode 100644 .github/workflows/snapshot.yml diff --git a/.github/workflows/copyright.yml b/.github/workflows/copyright.yml index 09cbd7d3ae0a..a25d413ed778 100644 --- a/.github/workflows/copyright.yml +++ b/.github/workflows/copyright.yml @@ -12,7 +12,6 @@ on: - .teamcity/** - .release/** - infrastructure/repository/labels-service.tf - - .goreleaser.yml ## NOTE: !!! ## When changing these workflows, ensure that the following is updated: diff --git a/.github/workflows/snapshot.yml b/.github/workflows/snapshot.yml deleted file mode 100644 index 0cbfe2f3513a..000000000000 --- a/.github/workflows/snapshot.yml +++ /dev/null @@ -1,43 +0,0 @@ -name: Snapshot - -on: - schedule: - - cron: '15 5 * * *' - workflow_dispatch: - -jobs: - goreleaser: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 - with: - go-version-file: go.mod - - uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 - continue-on-error: true - timeout-minutes: 2 - with: - path: ~/go/pkg/mod - key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }} - - name: goreleaser release - uses: goreleaser/goreleaser-action@9c156ee8a17a598857849441385a2041ef570552 # v6.3.0 - with: - args: release --clean --skip=sign --snapshot --timeout 2h - version: "~> v2" - - name: artifact naming - id: naming - run: | - case $GITHUB_REF in - refs/heads/*) - ARTIFACT="${GITHUB_REF#refs/heads/}";; - refs/pull/*) - ARTIFACT="pr-${GITHUB_REF#refs/pull/}" - ARTIFACT="${ARTIFACT%/merge}";; - *) - ARTIFACT="${GITHUB_REF}";; - esac - echo "artifact=$ARTIFACT-$(date -u +'%Y-%m-%dT%H-%M')" >> "$GITHUB_OUTPUT" - - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 - with: - name: ${{steps.naming.outputs.artifact}} - path: dist/*.zip diff --git a/docs/dependency-updates.md b/docs/dependency-updates.md index 744f2986f0cf..aea1d8e8eb70 100644 --- a/docs/dependency-updates.md +++ b/docs/dependency-updates.md @@ -12,7 +12,6 @@ Ensure that the following steps are tracked within the issue and completed withi - Update go version in `go.mod` - Verify `make test lint` works as expected -- Verify `goreleaser build --snapshot` succeeds for all currently supported architectures - Verify `goenv` support for the new version - Update `docs/development-environment.md` - Update `.go-version`